render() is pure and gives every file the header (bodies arrive per task). apply() runs one at a time, debounces requestApply, writes changed files atomically (mode 0640), keeps .prev, sends each needed reload once, skips pjsip reload and sets restartRequired when transports change, and records generator_runs. AMI connects on startup and every reconnect forces a full apply. Admin routes: config apply/rollback and a masked generated-files view. Task: M2-T2
21 lines
660 B
JavaScript
21 lines
660 B
JavaScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
import js from '@eslint/js';
|
|
import tseslint from 'typescript-eslint';
|
|
import reactHooks from 'eslint-plugin-react-hooks';
|
|
import globals from 'globals';
|
|
|
|
export default tseslint.config(
|
|
{ ignores: ['**/dist/', 'data/', '**/node_modules/', '.pnpm-store/'] },
|
|
js.configs.recommended,
|
|
tseslint.configs.recommended,
|
|
{
|
|
languageOptions: { globals: globals.node },
|
|
rules: { '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }] },
|
|
},
|
|
{
|
|
files: ['apps/web/**/*.{ts,tsx}'],
|
|
languageOptions: { globals: globals.browser },
|
|
...reactHooks.configs.flat.recommended,
|
|
},
|
|
);
|