Skip to content

Commit c7cd03a

Browse files
committed
migrate eslint
1 parent 1d7f755 commit c7cd03a

File tree

4 files changed

+124
-2
lines changed

4 files changed

+124
-2
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
"rules": {
1515
"no-unused-vars": ["warn", { "destructuredArrayIgnorePattern": ".", "ignoreRestSiblings": false }],
1616
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}]
17-
}
17+
},
18+
"files": ["**/*.mjs", "**/*.js"]
1819
}

eslint.config.mjs

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import _import from 'eslint-plugin-import';
2+
import { fixupPluginRules } from '@eslint/compat';
3+
import globals from 'globals';
4+
import path from 'node:path';
5+
import { fileURLToPath } from 'node:url';
6+
import js from '@eslint/js';
7+
import { FlatCompat } from '@eslint/eslintrc';
8+
9+
const __filename = fileURLToPath(import.meta.url);
10+
const __dirname = path.dirname(__filename);
11+
const compat = new FlatCompat({
12+
baseDirectory: __dirname,
13+
recommendedConfig: js.configs.recommended,
14+
allConfig: js.configs.all,
15+
});
16+
17+
export default [
18+
{
19+
ignores: [
20+
'**/krill-parser.js',
21+
'**/krill.pegjs',
22+
'**/.eslintrc.json',
23+
'**/server.js',
24+
'**/tidal-sniffer.js',
25+
'**/*.jsx',
26+
'**/tunejs.js',
27+
'out/**/*',
28+
'**/postcss.config.js',
29+
'**/postcss.config.cjs',
30+
'**/tailwind.config.js',
31+
'**/tailwind.config.cjs',
32+
'**/vite.config.js',
33+
'**/dist/**/*',
34+
'!**/*.mjs',
35+
'**/*.tsx',
36+
'**/*.ts',
37+
'**/*.json',
38+
'**/dev-dist',
39+
'**/dist',
40+
'src-tauri/target/**/*',
41+
'**/reverbGen.mjs',
42+
'**/hydra.mjs',
43+
'**/jsdoc-synonyms.js',
44+
'packages/hs2js/src/hs2js.mjs',
45+
'**/samples',
46+
],
47+
},
48+
...compat.extends('eslint:recommended').map((config) => ({
49+
...config,
50+
files: ['**/*.mjs', '**/*.js'],
51+
})),
52+
{
53+
files: ['**/*.mjs', '**/*.js'],
54+
55+
plugins: {
56+
import: fixupPluginRules(_import),
57+
},
58+
59+
languageOptions: {
60+
globals: {
61+
...globals.node,
62+
...globals.browser,
63+
},
64+
65+
ecmaVersion: 'latest',
66+
sourceType: 'module',
67+
},
68+
69+
rules: {
70+
'no-unused-vars': [
71+
'warn',
72+
{
73+
destructuredArrayIgnorePattern: '.',
74+
ignoreRestSiblings: false,
75+
},
76+
],
77+
78+
'import/no-extraneous-dependencies': [
79+
'error',
80+
{
81+
devDependencies: true,
82+
},
83+
],
84+
},
85+
},
86+
];

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"osc": "cd packages/osc && npm run server",
2222
"jsdoc": "jsdoc packages/ -c jsdoc/jsdoc.config.json",
2323
"jsdoc-json": "jsdoc packages/ --template ./node_modules/jsdoc-json --destination doc.json -c jsdoc/jsdoc.config.json",
24-
"lint": "eslint . --ext mjs,js --quiet",
24+
"lint": "eslint . --quiet",
2525
"codeformat": "prettier --write .",
2626
"format-check": "prettier --check .",
2727
"report-undocumented": "npm run jsdoc-json && node jsdoc/undocumented.mjs > undocumented.json",
@@ -55,13 +55,17 @@
5555
"@strudel/xen": "workspace:*"
5656
},
5757
"devDependencies": {
58+
"@eslint/compat": "^1.2.5",
59+
"@eslint/eslintrc": "^3.2.0",
60+
"@eslint/js": "^9.19.0",
5861
"@tauri-apps/cli": "^2.2.5",
5962
"@vitest/ui": "^3.0.4",
6063
"acorn": "^8.14.0",
6164
"dependency-tree": "^11.0.1",
6265
"eslint": "^9.18.0",
6366
"eslint-plugin-import": "^2.31.0",
6467
"events": "^3.3.0",
68+
"globals": "^15.14.0",
6569
"jsdoc": "^4.0.4",
6670
"jsdoc-json": "^2.0.2",
6771
"lerna": "^8.1.9",

pnpm-lock.yaml

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)