@indigo-reemploi/eslint-config-client 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "@indigo-reemploi/eslint-config-client",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Shared eslint config for Client",
5
- "main": "index.mjs",
6
- "files": ["eslint.mjs", "prettier.mjs", "./rules"],
5
+ "main": "./src/index.mjs",
6
+ "files": [
7
+ "./src"
8
+ ],
7
9
  "author": "Antoine Torrini",
8
10
  "license": "MIT",
9
11
  "packageManager": "yarn@1.22.22",
@@ -29,6 +31,7 @@
29
31
  "typescript-eslint": "^7.13.0"
30
32
  },
31
33
  "peerDependencies": {
32
- "jest": "^29.7.0"
34
+ "jest": "^29.7.0",
35
+ "typescript": "^5.5.4"
33
36
  }
34
37
  }
@@ -1,13 +1,15 @@
1
+ import { fixupPluginRules } from "@eslint/compat";
1
2
  import eslint from "@eslint/js";
3
+ import jest from "eslint-plugin-jest";
4
+ import jsxA11y from "eslint-plugin-jsx-a11y";
5
+ import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
6
+ import react from "eslint-plugin-react";
2
7
  import simpleImportSort from "eslint-plugin-simple-import-sort";
3
- import tseslint from "typescript-eslint";
4
8
  import tailwind from "eslint-plugin-tailwindcss";
5
- import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
6
- import unusedImports from 'eslint-plugin-unused-imports';
7
- import jest from 'eslint-plugin-jest';
8
- import jsxA11y from 'eslint-plugin-jsx-a11y';
9
- import react from 'eslint-plugin-react';
10
- import importRules from './rules/import.mjs';
9
+ import unusedImports from "eslint-plugin-unused-imports";
10
+ import tseslint from "typescript-eslint";
11
+
12
+ import importRules from "./rules/import.mjs";
11
13
 
12
14
  export default tseslint.config(
13
15
  eslint.configs.recommended,
@@ -19,15 +21,15 @@ export default tseslint.config(
19
21
  {
20
22
  rules: {
21
23
  // from eslint-config-airbnb
22
- 'react/display-name': ['off', { ignoreTranspilerName: false }],
23
- }
24
+ "react/display-name": ["off", { ignoreTranspilerName: false }],
25
+ },
24
26
  },
25
27
  {
26
28
  settings: {
27
29
  react: {
28
- version: "detect"
29
- }
30
- }
30
+ version: "detect",
31
+ },
32
+ },
31
33
  },
32
34
  {
33
35
  languageOptions: {
@@ -48,37 +50,32 @@ export default tseslint.config(
48
50
  },
49
51
  {
50
52
  plugins: {
51
- 'unused-imports': unusedImports
53
+ "unused-imports": fixupPluginRules(unusedImports),
52
54
  },
53
55
  rules: {
54
- 'unused-imports/no-unused-imports': 'error',
55
- 'unused-imports/no-unused-vars': [
56
- 'warn',
57
- { 'vars': 'all', 'varsIgnorePattern': '^_', 'args': 'after-used', 'argsIgnorePattern': '^_' }
58
- ],
59
- "@typescript-eslint/no-unused-vars": [
60
- "error",
56
+ "no-unused-vars": "off",
57
+ "@typescript-eslint/no-unused-vars": "off",
58
+ "unused-imports/no-unused-imports": "error",
59
+ "unused-imports/no-unused-vars": [
60
+ "warn",
61
61
  {
62
- "args": "all",
63
- "argsIgnorePattern": "^_",
64
- "caughtErrors": "all",
65
- "caughtErrorsIgnorePattern": "^_",
66
- "destructuredArrayIgnorePattern": "^_",
67
- "varsIgnorePattern": "^_",
68
- "ignoreRestSiblings": true
69
- }
70
- ]
71
- }
62
+ vars: "all",
63
+ varsIgnorePattern: "^_",
64
+ args: "after-used",
65
+ argsIgnorePattern: "^_",
66
+ },
67
+ ],
68
+ },
72
69
  },
73
70
  {
74
71
  rules: {
75
- '@typescript-eslint/no-explicit-any': [
76
- 'error',
72
+ "@typescript-eslint/no-explicit-any": [
73
+ "error",
77
74
  {
78
75
  ignoreRestArgs: true,
79
76
  },
80
77
  ],
81
- }
78
+ },
82
79
  },
83
80
  importRules,
84
81
  // {
@@ -87,7 +84,7 @@ export default tseslint.config(
87
84
  // },
88
85
  // rules: {
89
86
  // // ...
90
- // ...reactHooks.configs.recommended.rules,
87
+ // ...reactHooks.configs.recommended.rules,
91
88
  // // maybe to change but something from our old config disabled it
92
89
  // 'react-hooks/exhaustive-deps': 'off'
93
90
  // },
@@ -95,13 +92,13 @@ export default tseslint.config(
95
92
  {
96
93
  rules: {
97
94
  // our custom rules
98
- 'jest/expect-expect': 'off',
99
- 'tailwindcss/no-custom-classname': 'off',
100
- 'react/prop-types': 'off',
101
- }
95
+ "jest/expect-expect": "off",
96
+ "tailwindcss/no-custom-classname": "off",
97
+ "react/prop-types": "off",
98
+ },
102
99
  },
103
100
  eslintPluginPrettierRecommended,
104
101
  {
105
- ignores: ['**/*.stories.*']
106
- }
102
+ ignores: ["**/*.stories.*"],
103
+ },
107
104
  );
package/src/index.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import eslint from "./eslint.mjs";
2
+ import prettier from "./prettier.mjs";
3
+
4
+ export { eslint, prettier };
@@ -0,0 +1,9 @@
1
+ export default {
2
+ semi: true,
3
+ trailingComma: "all",
4
+ singleQuote: true,
5
+ printWidth: 200,
6
+ tabWidth: 2,
7
+ arrowParens: "avoid",
8
+ plugins: ["prettier-plugin-tailwindcss"],
9
+ };
@@ -0,0 +1,190 @@
1
+ import { fixupPluginRules } from "@eslint/compat";
2
+ import importPlugin from "eslint-plugin-import";
3
+
4
+ export default {
5
+ plugins: {
6
+ import: fixupPluginRules(importPlugin),
7
+ },
8
+ settings: {
9
+ "import/resolver": {
10
+ node: {
11
+ extensions: [".mjs", ".js", ".jsx", ".json", ".ts", ".tsx", ".d.ts"],
12
+ },
13
+ },
14
+ "import/parsers": {
15
+ "@typescript-eslint/parser": [".ts", ".tsx", ".d.ts"],
16
+ },
17
+ "import/extensions": [".js", ".mjs", ".jsx", ".ts", ".tsx", ".d.ts"],
18
+ "import/external-module-folders": ["node_modules", "node_modules/@types"],
19
+ "import/core-modules": [],
20
+ "import/ignore": [
21
+ "node_modules",
22
+ "\\.(coffee|scss|css|less|hbs|svg|json)$",
23
+ ],
24
+ },
25
+ rules: {
26
+ "import/extensions": [
27
+ "off",
28
+ "ignorePackages",
29
+ {
30
+ js: "never",
31
+ mjs: "never",
32
+ jsx: "never",
33
+ ts: "never",
34
+ tsx: "never",
35
+ },
36
+ ],
37
+ "import/prefer-default-export": ["off"],
38
+ "import/named": ["off"],
39
+ "import/no-named-as-default-member": ["off"],
40
+ "import/no-unresolved": [
41
+ "off",
42
+ {
43
+ commonjs: true,
44
+ caseSensitive: true,
45
+ caseSensitiveStrict: false,
46
+ },
47
+ ],
48
+ "import/no-extraneous-dependencies": [
49
+ "error",
50
+ {
51
+ devDependencies: [
52
+ "test/**",
53
+ "tests/**",
54
+ "spec/**",
55
+ "**/__tests__/**",
56
+ "**/__mocks__/**",
57
+ "test.{js,jsx}",
58
+ "test.{ts,tsx}",
59
+ "test-*.{js,jsx}",
60
+ "test-*.{ts,tsx}",
61
+ "**/*{.,_}{test,spec}.{js,jsx}",
62
+ "**/*{.,_}{test,spec}.{ts,tsx}",
63
+ "**/jest.config.js",
64
+ "**/jest.config.ts",
65
+ "**/jest.setup.js",
66
+ "**/jest.setup.ts",
67
+ "**/vue.config.js",
68
+ "**/vue.config.ts",
69
+ "**/webpack.config.js",
70
+ "**/webpack.config.ts",
71
+ "**/webpack.config.*.js",
72
+ "**/webpack.config.*.ts",
73
+ "**/rollup.config.js",
74
+ "**/rollup.config.ts",
75
+ "**/rollup.config.*.js",
76
+ "**/rollup.config.*.ts",
77
+ "**/gulpfile.js",
78
+ "**/gulpfile.ts",
79
+ "**/gulpfile.*.js",
80
+ "**/gulpfile.*.ts",
81
+ "**/Gruntfile{,.js}",
82
+ "**/Gruntfile{,.ts}",
83
+ "**/protractor.conf.js",
84
+ "**/protractor.conf.ts",
85
+ "**/protractor.conf.*.js",
86
+ "**/protractor.conf.*.ts",
87
+ "**/karma.conf.js",
88
+ "**/karma.conf.ts",
89
+ "**/.eslintrc.js",
90
+ "**/.eslintrc.ts",
91
+ ],
92
+ optionalDependencies: false,
93
+ },
94
+ ],
95
+ "import/default": ["off"],
96
+ "import/namespace": ["off"],
97
+ "import/export": ["error"],
98
+ "import/no-named-as-default": ["error"],
99
+ "import/no-deprecated": ["off"],
100
+ "import/no-mutable-exports": ["error"],
101
+ "import/no-commonjs": ["off"],
102
+ "import/no-amd": ["error"],
103
+ "import/no-nodejs-modules": ["off"],
104
+ "import/first": ["error"],
105
+ "import/imports-first": ["off"],
106
+ "import/no-duplicates": ["error"],
107
+ "import/no-namespace": ["off"],
108
+ "import/order": [
109
+ "error",
110
+ {
111
+ groups: [["builtin", "external", "internal"]],
112
+ distinctGroup: true,
113
+ warnOnUnassignedImports: false,
114
+ },
115
+ ],
116
+ "import/newline-after-import": ["error"],
117
+ "import/no-restricted-paths": ["off"],
118
+ "import/max-dependencies": [
119
+ "off",
120
+ {
121
+ max: 10,
122
+ },
123
+ ],
124
+ "import/no-absolute-path": ["error"],
125
+ "import/no-dynamic-require": ["error"],
126
+ "import/no-internal-modules": [
127
+ "off",
128
+ {
129
+ allow: [],
130
+ },
131
+ ],
132
+ "import/unambiguous": ["off"],
133
+ "import/no-webpack-loader-syntax": ["error"],
134
+ "import/no-unassigned-import": ["off"],
135
+ "import/no-named-default": ["error"],
136
+ "import/no-anonymous-default-export": [
137
+ "off",
138
+ {
139
+ allowArray: false,
140
+ allowArrowFunction: false,
141
+ allowAnonymousClass: false,
142
+ allowAnonymousFunction: false,
143
+ allowLiteral: false,
144
+ allowObject: false,
145
+ },
146
+ ],
147
+ "import/exports-last": ["off"],
148
+ "import/group-exports": ["off"],
149
+ "import/no-default-export": ["off"],
150
+ "import/no-named-export": ["off"],
151
+ "import/no-self-import": ["error"],
152
+ "import/no-cycle": [
153
+ "error",
154
+ {
155
+ maxDepth: "∞",
156
+ ignoreExternal: false,
157
+ allowUnsafeDynamicCyclicDependency: false,
158
+ },
159
+ ],
160
+ "import/no-useless-path-segments": [
161
+ "error",
162
+ {
163
+ commonjs: true,
164
+ },
165
+ ],
166
+ "import/dynamic-import-chunkname": [
167
+ "off",
168
+ {
169
+ importFunctions: [],
170
+ webpackChunknameFormat: "[0-9a-zA-Z-_/.]+",
171
+ },
172
+ ],
173
+ "import/no-relative-parent-imports": ["off"],
174
+ "import/no-unused-modules": [
175
+ "off",
176
+ {
177
+ ignoreExports: [],
178
+ missingExports: true,
179
+ unusedExports: true,
180
+ },
181
+ ],
182
+ "import/no-import-module-exports": [
183
+ "error",
184
+ {
185
+ exceptions: [],
186
+ },
187
+ ],
188
+ "import/no-relative-packages": ["error"],
189
+ },
190
+ };
package/index.mjs DELETED
@@ -1,4 +0,0 @@
1
- import eslint from './eslint.mjs';
2
- import prettier from './prettier.mjs';
3
-
4
- export { eslint, prettier };
package/prettier.mjs DELETED
@@ -1,11 +0,0 @@
1
- export default {
2
- semi: true,
3
- trailingComma: 'all',
4
- singleQuote: true,
5
- printWidth: 200,
6
- tabWidth: 2,
7
- arrowParens: 'avoid',
8
- plugins: [
9
- "prettier-plugin-tailwindcss"
10
- ]
11
- };
package/rules/import.mjs DELETED
@@ -1,280 +0,0 @@
1
- import { fixupPluginRules } from '@eslint/compat';
2
- import importPlugin from 'eslint-plugin-import';
3
-
4
- export default {
5
- plugins: {
6
- 'import': fixupPluginRules(importPlugin),
7
- },
8
- settings: {
9
- "import/resolver": {
10
- "node": {
11
- "extensions": [
12
- ".mjs",
13
- ".js",
14
- ".jsx",
15
- ".json",
16
- ".ts",
17
- ".tsx",
18
- ".d.ts"
19
- ]
20
- }
21
- },
22
- "import/parsers": {
23
- "@typescript-eslint/parser": [
24
- ".ts",
25
- ".tsx",
26
- ".d.ts"
27
- ]
28
- },
29
- "import/extensions": [
30
- ".js",
31
- ".mjs",
32
- ".jsx",
33
- ".ts",
34
- ".tsx",
35
- ".d.ts"
36
- ],
37
- "import/external-module-folders": [
38
- "node_modules",
39
- "node_modules/@types"
40
- ],
41
- "import/core-modules": [],
42
- "import/ignore": [
43
- "node_modules",
44
- "\\.(coffee|scss|css|less|hbs|svg|json)$"
45
- ]
46
- },
47
- rules: {
48
- "import/extensions": [
49
- "off",
50
- "ignorePackages",
51
- {
52
- "js": "never",
53
- "mjs": "never",
54
- "jsx": "never",
55
- "ts": "never",
56
- "tsx": "never"
57
- }
58
- ],
59
- "import/prefer-default-export": [
60
- "off"
61
- ],
62
- "import/named": [
63
- "off"
64
- ],
65
- "import/no-named-as-default-member": [
66
- "off"
67
- ],
68
- "import/no-unresolved": [
69
- "off",
70
- {
71
- "commonjs": true,
72
- "caseSensitive": true,
73
- "caseSensitiveStrict": false
74
- }
75
- ],
76
- "import/no-extraneous-dependencies": [
77
- "error",
78
- {
79
- "devDependencies": [
80
- "test/**",
81
- "tests/**",
82
- "spec/**",
83
- "**/__tests__/**",
84
- "**/__mocks__/**",
85
- "test.{js,jsx}",
86
- "test.{ts,tsx}",
87
- "test-*.{js,jsx}",
88
- "test-*.{ts,tsx}",
89
- "**/*{.,_}{test,spec}.{js,jsx}",
90
- "**/*{.,_}{test,spec}.{ts,tsx}",
91
- "**/jest.config.js",
92
- "**/jest.config.ts",
93
- "**/jest.setup.js",
94
- "**/jest.setup.ts",
95
- "**/vue.config.js",
96
- "**/vue.config.ts",
97
- "**/webpack.config.js",
98
- "**/webpack.config.ts",
99
- "**/webpack.config.*.js",
100
- "**/webpack.config.*.ts",
101
- "**/rollup.config.js",
102
- "**/rollup.config.ts",
103
- "**/rollup.config.*.js",
104
- "**/rollup.config.*.ts",
105
- "**/gulpfile.js",
106
- "**/gulpfile.ts",
107
- "**/gulpfile.*.js",
108
- "**/gulpfile.*.ts",
109
- "**/Gruntfile{,.js}",
110
- "**/Gruntfile{,.ts}",
111
- "**/protractor.conf.js",
112
- "**/protractor.conf.ts",
113
- "**/protractor.conf.*.js",
114
- "**/protractor.conf.*.ts",
115
- "**/karma.conf.js",
116
- "**/karma.conf.ts",
117
- "**/.eslintrc.js",
118
- "**/.eslintrc.ts"
119
- ],
120
- "optionalDependencies": false
121
- }
122
- ],
123
- "import/default": [
124
- "off"
125
- ],
126
- "import/namespace": [
127
- "off"
128
- ],
129
- "import/export": [
130
- "error"
131
- ],
132
- "import/no-named-as-default": [
133
- "error"
134
- ],
135
- "import/no-deprecated": [
136
- "off"
137
- ],
138
- "import/no-mutable-exports": [
139
- "error"
140
- ],
141
- "import/no-commonjs": [
142
- "off"
143
- ],
144
- "import/no-amd": [
145
- "error"
146
- ],
147
- "import/no-nodejs-modules": [
148
- "off"
149
- ],
150
- "import/first": [
151
- "error"
152
- ],
153
- "import/imports-first": [
154
- "off"
155
- ],
156
- "import/no-duplicates": [
157
- "error"
158
- ],
159
- "import/no-namespace": [
160
- "off"
161
- ],
162
- "import/order": [
163
- "error",
164
- {
165
- "groups": [
166
- [
167
- "builtin",
168
- "external",
169
- "internal"
170
- ]
171
- ],
172
- "distinctGroup": true,
173
- "warnOnUnassignedImports": false
174
- }
175
- ],
176
- "import/newline-after-import": [
177
- "error"
178
- ],
179
- "import/no-restricted-paths": [
180
- "off"
181
- ],
182
- "import/max-dependencies": [
183
- "off",
184
- {
185
- "max": 10
186
- }
187
- ],
188
- "import/no-absolute-path": [
189
- "error"
190
- ],
191
- "import/no-dynamic-require": [
192
- "error"
193
- ],
194
- "import/no-internal-modules": [
195
- "off",
196
- {
197
- "allow": []
198
- }
199
- ],
200
- "import/unambiguous": [
201
- "off"
202
- ],
203
- "import/no-webpack-loader-syntax": [
204
- "error"
205
- ],
206
- "import/no-unassigned-import": [
207
- "off"
208
- ],
209
- "import/no-named-default": [
210
- "error"
211
- ],
212
- "import/no-anonymous-default-export": [
213
- "off",
214
- {
215
- "allowArray": false,
216
- "allowArrowFunction": false,
217
- "allowAnonymousClass": false,
218
- "allowAnonymousFunction": false,
219
- "allowLiteral": false,
220
- "allowObject": false
221
- }
222
- ],
223
- "import/exports-last": [
224
- "off"
225
- ],
226
- "import/group-exports": [
227
- "off"
228
- ],
229
- "import/no-default-export": [
230
- "off"
231
- ],
232
- "import/no-named-export": [
233
- "off"
234
- ],
235
- "import/no-self-import": [
236
- "error"
237
- ],
238
- "import/no-cycle": [
239
- "error",
240
- {
241
- "maxDepth": "∞",
242
- "ignoreExternal": false,
243
- "allowUnsafeDynamicCyclicDependency": false
244
- }
245
- ],
246
- "import/no-useless-path-segments": [
247
- "error",
248
- {
249
- "commonjs": true
250
- }
251
- ],
252
- "import/dynamic-import-chunkname": [
253
- "off",
254
- {
255
- "importFunctions": [],
256
- "webpackChunknameFormat": "[0-9a-zA-Z-_/.]+"
257
- }
258
- ],
259
- "import/no-relative-parent-imports": [
260
- "off"
261
- ],
262
- "import/no-unused-modules": [
263
- "off",
264
- {
265
- "ignoreExports": [],
266
- "missingExports": true,
267
- "unusedExports": true
268
- }
269
- ],
270
- "import/no-import-module-exports": [
271
- "error",
272
- {
273
- "exceptions": []
274
- }
275
- ],
276
- "import/no-relative-packages": [
277
- "error"
278
- ]
279
- }
280
- }