Files
wehub-resource-sync 6db8fca185
docmd CI verification / verify (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:31:55 +08:00

63 lines
1.9 KiB
JavaScript

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import docmdRules from './eslint-rules/index.js';
export default [
eslint.configs.recommended,
...tseslint.configs.recommended,
{
languageOptions: {
globals: {
process: 'readonly',
console: 'readonly',
require: 'readonly',
module: 'readonly',
__dirname: 'readonly',
__filename: 'readonly',
setTimeout: 'readonly',
clearTimeout: 'readonly',
requestAnimationFrame: 'readonly',
cancelAnimationFrame: 'readonly',
Buffer: 'readonly',
exports: 'writable',
document: 'readonly',
window: 'readonly',
localStorage: 'readonly',
IntersectionObserver: 'readonly',
fetch: 'readonly',
DOMParser: 'readonly',
history: 'readonly',
CustomEvent: 'readonly',
Event: 'readonly',
MouseEvent: 'readonly',
KeyboardEvent: 'readonly',
getComputedStyle: 'readonly',
navigator: 'readonly',
location: 'readonly',
URL: 'readonly'
}
},
rules: {
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-unused-vars': 'warn',
'@typescript-eslint/no-explicit-any': 'warn',
'preserve-caught-error': 'off',
'@typescript-eslint/ban-ts-comment': 'warn',
'no-useless-escape': 'off',
'no-useless-assignment': 'off',
'@typescript-eslint/no-unused-expressions': 'off'
}
},
{
ignores: ['**/dist/**', '**/node_modules/**', '**/site/**', 'temp-*/**', '**/public/**']
},
{
// docmd internal security rules — Phase 0 failsafe for DEVELOPMENT-BENCHMARK.md S1 and S3.
// Promoted to 'error' after Phase 1 cleans up the surface area.
plugins: { docmd: docmdRules },
rules: {
'docmd/no-unsafe-fs-read': 'warn',
'docmd/require-verify-client': 'error'
}
}
];