Skip to content

Commit 3854a40

Browse files
committed
Feat(eslint): Add yarn.lock
1 parent 613d733 commit 3854a40

File tree

25 files changed

+3999
-4198
lines changed

25 files changed

+3999
-4198
lines changed

.github/workflows/test.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,9 @@ jobs:
3333

3434
- name: Test packages
3535
run: yarn packages:test
36+
37+
- name: Upload yarn.lock
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: yarn-lock
41+
path: yarn.lock

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.20.7
1+
20.11.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"is-ci": "4.1.0",
4444
"lerna": "8.2.0",
4545
"npm-run-all2": "7.0.2",
46-
"prettier": "2.8.8",
46+
"prettier": "3.6.2",
4747
"pretty-quick": "3.3.1",
4848
"remark-cli": "12.0.1",
4949
"remark-preset-lint-consistent": "6.0.1",

packages/eslint-config-base/flat.mjs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import path from 'node:path';
2+
import { fileURLToPath } from 'node:url';
3+
import js from '@eslint/js';
4+
import { FlatCompat } from '@eslint/eslintrc';
5+
import bestPractices from './rules/best-practices.js';
6+
import errors from './rules/errors.js';
7+
import node from './rules/node.js';
8+
import style from './rules/style.js';
9+
import variables from './rules/variables.js';
10+
import es6 from './rules/es6.js';
11+
import importsRules from './rules/imports.js';
12+
import strict from './rules/strict.js';
13+
import base from './index.js';
14+
15+
const filename = fileURLToPath(import.meta.url);
16+
const dirname = path.dirname(filename);
17+
18+
const compat = new FlatCompat({
19+
baseDirectory: dirname,
20+
recommendedConfig: js.configs.recommended,
21+
allConfig: js.configs.all,
22+
});
23+
24+
export default [
25+
{
26+
extends: compat.extends('eslint-config-airbnb-base'),
27+
28+
settings: base.settings,
29+
30+
rules: base.rules,
31+
},
32+
bestPractices,
33+
errors,
34+
node,
35+
style,
36+
variables,
37+
es6,
38+
importsRules,
39+
strict,
40+
...base.overrides,
41+
];
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import importsPlugin from 'eslint-plugin-import';
2+
import jsdoc from 'eslint-plugin-jsdoc';
3+
import optional from './optional.js';
4+
5+
export default [
6+
jsdoc.configs['flat/recommended'],
7+
{
8+
plugins: {
9+
jsdoc,
10+
import: importsPlugin,
11+
},
12+
13+
rules: optional.rules,
14+
},
15+
...optional.overrides,
16+
];

packages/eslint-config-base/package.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"access": "public"
1616
},
1717
"engines": {
18-
"node": "^16 || ^18 || >=20"
18+
"node": ">=20"
1919
},
2020
"repository": {
2121
"type": "git",
@@ -25,11 +25,15 @@
2525
"url": "https://github.com/lmc-eu/code-quality-tools/issues"
2626
},
2727
"dependencies": {
28+
"@eslint/eslintrc": "^3.3.1",
29+
"@eslint/js": "^9.31.0",
2830
"eslint-config-airbnb-base": "^15.0.0",
29-
"eslint-plugin-import": "^2.25.2",
30-
"eslint-plugin-jsdoc": "^46.0.0"
31+
"eslint-plugin-import": "^2.32.0"
32+
},
33+
"devDependencies": {
34+
"eslint-plugin-jsdoc": "^51.4.1"
3135
},
3236
"peerDependencies": {
33-
"eslint": "^8.1.0"
37+
"eslint": "^8.0.0 || ^9.0.0"
3438
}
3539
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import baseFlat from '@lmc-eu/eslint-config-base/flat.mjs';
2+
3+
export default baseFlat;

packages/eslint-config-react/flat.mjs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import base from '@lmc-eu/eslint-config-base/flat.mjs';
2+
import reactFlat from './rules/react-flat.mjs';
3+
import reactA11yFlat from './rules/react-a11y-flat.mjs';
4+
import reactHooksFlat from './rules/react-hooks-flat.mjs';
5+
import babelParser from '@babel/eslint-parser';
6+
import reactConfig from './index.js';
7+
8+
export const config = {
9+
languageOptions: {
10+
parser: babelParser,
11+
parserOptions: reactConfig.parserOptions,
12+
globals: reactConfig.env,
13+
},
14+
15+
rules: {},
16+
17+
settings: reactConfig.settings,
18+
};
19+
20+
export default [...base, reactFlat, reactA11yFlat, reactHooksFlat, config];
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import baseOptionalFlat from '@lmc-eu/eslint-config-base/optional-flat.mjs';
2+
3+
export default baseOptionalFlat;

packages/eslint-config-react/package.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,18 @@
2828
"dependencies": {
2929
"@babel/core": "^7.16.5",
3030
"@babel/eslint-parser": "^7.16.5",
31+
"@eslint/eslintrc": "^3.3.1",
32+
"@eslint/js": "^9.31.0",
3133
"@lmc-eu/eslint-config-base": "^3.1.3",
32-
"eslint-config-airbnb": "^19.0.2"
34+
"eslint-config-airbnb": "^19.0.4"
3335
},
3436
"peerDependencies": {
3537
"@babel/preset-react": "^7.16.5",
36-
"eslint": "^8.1.0",
37-
"eslint-plugin-jsx-a11y": "^6.5.1",
38-
"eslint-plugin-react": "^7.27.0",
39-
"eslint-plugin-react-hooks": "^4.3.0"
38+
"eslint": "^8.0.0 || ^9.0.0"
39+
},
40+
"devDependencies": {
41+
"eslint-plugin-jsx-a11y": "^6.10.2",
42+
"eslint-plugin-react": "^7.37.5",
43+
"eslint-plugin-react-hooks": "^5.2.0"
4044
}
4145
}

0 commit comments

Comments
 (0)