-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.js
More file actions
86 lines (79 loc) · 2.21 KB
/
Copy patheslint.config.js
File metadata and controls
86 lines (79 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import js from '@eslint/js';
import globals from 'globals';
import prettier from 'eslint-config-prettier';
// Flat config. Vendored/generated/build artifacts are not linted. Rules are
// tuned so the existing codebase passes clean; correctness-risk patterns are
// errors, stylistic noise is downgraded to warnings.
export default [
{
ignores: [
'node_modules/**',
'dist/**',
'coverage/**',
'src/lib/**', // vendored third-party bundles
'src/gll.bundle.js', // generated esbuild bundle
'src/gll.bundle.js.map',
'src/**/*_prompt.js', // generated prompt strings
'manuscript/**',
'scripts/fixtures/**',
],
},
js.configs.recommended,
// Browser-side application source (ES modules).
{
files: ['src/**/*.{js,mjs}'],
ignores: ['src/package/**'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: { ...globals.browser, ...globals.worker },
},
rules: {
'no-unused-vars': ['warn', { args: 'none', ignoreRestSiblings: true }],
'no-empty': ['warn', { allowEmptyCatch: true }],
'no-console': 'off',
},
},
// Node-side code: Electron main, build/packaging scripts, dev server, tooling.
{
files: [
'src/package/**/*.{js,mjs}',
'server/**/*.{js,mjs}',
'scripts/**/*.{js,mjs}',
'*.config.js',
'*.mjs',
],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: { ...globals.node },
},
rules: {
'no-unused-vars': ['warn', { args: 'none', ignoreRestSiblings: true }],
'no-console': 'off',
},
},
// CommonJS files in src/package use require()/module.exports.
{
files: ['src/package/**/*.js'],
languageOptions: {
sourceType: 'commonjs',
globals: { ...globals.node },
},
},
// Vitest test suites (jsdom or node per-file).
{
files: ['tests/**/*.{js,mjs}'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: { ...globals.browser, ...globals.node, ...globals.vitest },
},
rules: {
'no-unused-vars': 'off',
'no-console': 'off',
},
},
// Turn off rules that conflict with Prettier formatting.
prettier,
];