Files
when/apps/worker/eslint.config.js
eleith c5feeb83a4
ci/woodpecker/pr/calendar Pipeline was successful
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/jobs Pipeline was successful
ci/woodpecker/pr/video-chat Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/calendar Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/jobs Pipeline was successful
ci/woodpecker/push/video-chat Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
refactor(metrics): adopt official client and explicit instrumentation
Replace prom-client with @prometheus-io/client 0.16.1 and retain the private authenticated web-to-worker bridge with native JSON aggregation and explicit collection health.

Keep Prometheus recording in dedicated metrics modules, use explicit HTTP outcome recorders and operation observers, and document appointment outcomes, bounded provider failures and handler activity. Remove Node collectors and background sampling.

Closes #100
2026-10-31 15:40:01 -07:00

39 lines
885 B
JavaScript

import js from '@eslint/js';
import ts from 'typescript-eslint';
import prettier from 'eslint-config-prettier';
import globals from 'globals';
export default ts.config(
{ ignores: ['build/', 'dist/', 'coverage/'] },
js.configs.recommended,
...ts.configs.recommended,
prettier,
{
files: ['src/**/*.ts'],
ignores: ['src/metrics/**', 'src/**/*.test.ts'],
rules: {
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@prometheus-io/client', '@prometheus-io/client/*', '**/metrics/registry*'],
message:
'Keep Prometheus details inside metrics; wire an operation observer at the service boundary.'
}
]
}
]
}
},
{
languageOptions: { globals: { ...globals.node } },
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', varsIgnorePattern: '^_' }
]
}
}
);