@map-colonies/eslint-config 8.0.0 → 9.0.0

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/README.md CHANGED
@@ -12,21 +12,23 @@ The package only supports eslint 9 and above using the flat configuration.
12
12
  ## Installation
13
13
 
14
14
  ### base
15
+
15
16
  ```bash
16
17
  $ npm install --save-dev eslint @map-colonies/eslint-config
17
18
  ```
18
19
 
19
20
  ### react
21
+
20
22
  ```
21
23
  $ npm install --save-dev @map-colonies/eslint-config eslint-plugin-react eslint-plugin-react-hooks
22
24
  ```
23
25
 
24
26
  ### jest
27
+
25
28
  ```
26
29
  $ npm install --save-dev @map-colonies/eslint-config eslint-plugin-jest
27
30
  ```
28
31
 
29
-
30
32
  ## Usage
31
33
 
32
34
  Add the configs you want to the eslint configuration file of your choice. In this example we are using the file `eslint.config.mjs`
@@ -40,10 +42,10 @@ import tsBaseConfig from '@map-colonies/eslint-config/ts-base';
40
42
  import { config } from '@map-colonies/eslint-config/helpers';
41
43
 
42
44
  export default config(tsBaseConfig);
43
-
44
45
  ```
45
46
 
46
47
  ## Debug
48
+
47
49
  If you want to check the ESLint configuration, debug problems or just see the final configuration, you can the following command that will open the eslint configuration UI in your browser.
48
50
 
49
51
  ```bash
@@ -52,7 +54,6 @@ npx eslint --inspect-config .
52
54
 
53
55
  For more information check the following link [debug](https://eslint.org/docs/latest/use/configure/debug).
54
56
 
55
-
56
57
  ## Adding new Configs
57
58
 
58
59
  Add a new file and name it as you would like. Inside export the ESLint configuration.
@@ -76,4 +77,5 @@ $ npx eslint --print-config index.ts
76
77
  Don't forget adding the config to this readme :blush:
77
78
 
78
79
  ## Issues
80
+
79
81
  If any linting error is appearing twice, or you have any other problem, please open an issue with all the details you have.
@@ -1,4 +1,4 @@
1
- declare const jestConfig: import("typescript-eslint").FlatConfig.ConfigArray;
1
+ declare const jestConfig: import("eslint/config").Config[];
2
2
  /**
3
3
  * The default export for the Jest configuration.
4
4
  * This configuration is used to set up and customize the behavior of Jest,
@@ -1 +1 @@
1
- {"version":3,"file":"jest.d.mts","sourceRoot":"","sources":["../../src/configs/jest.mts"],"names":[],"mappings":"AAMA,QAAA,MAAM,UAAU,oDAWd,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"jest.d.mts","sourceRoot":"","sources":["../../src/configs/jest.mts"],"names":[],"mappings":"AAMA,QAAA,MAAM,UAAU,kCAad,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAe,UAAU,CAAC"}
@@ -1,18 +1,20 @@
1
- import { config } from '../helpers.mjs';
1
+ import { defineConfig } from 'eslint/config';
2
2
  import { importOrThrow } from '../internal/helpers.js';
3
3
  const jestPlugin = await importOrThrow('eslint-plugin-jest');
4
- const jestConfig = config({
5
- name: 'map-colonies/jest/rules',
6
- files: ['**/*.test.ts', '**/*.test.tsx', '**/*.spec.ts', '**/*.spec.tsx'],
7
- plugins: { jest: jestPlugin },
8
- languageOptions: {
9
- globals: jestPlugin.environments.globals.globals,
4
+ const jestConfig = defineConfig([
5
+ {
6
+ name: 'map-colonies/jest/rules',
7
+ files: ['**/*.test.ts', '**/*.test.tsx', '**/*.spec.ts', '**/*.spec.tsx'],
8
+ plugins: { jest: jestPlugin },
9
+ languageOptions: {
10
+ globals: jestPlugin.environments.globals.globals,
11
+ },
12
+ rules: {
13
+ ...jestPlugin.configs.recommended.rules,
14
+ ...jestPlugin.configs.style.rules,
15
+ },
10
16
  },
11
- rules: {
12
- ...jestPlugin.configs.recommended.rules,
13
- ...jestPlugin.configs.style.rules,
14
- },
15
- });
17
+ ]);
16
18
  /**
17
19
  * The default export for the Jest configuration.
18
20
  * This configuration is used to set up and customize the behavior of Jest,
@@ -1 +1 @@
1
- {"version":3,"file":"jest.mjs","sourceRoot":"","sources":["../../src/configs/jest.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAwB,oBAAoB,CAAC,CAAC;AAEpF,MAAM,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;IACzE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;IAC7B,eAAe,EAAE;QACf,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO;KACjD;IACD,KAAK,EAAE;QACL,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;QACvC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;KAClC;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"jest.mjs","sourceRoot":"","sources":["../../src/configs/jest.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAwB,oBAAoB,CAAC,CAAC;AAEpF,MAAM,UAAU,GAAG,YAAY,CAAC;IAC9B;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;QACzE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7B,eAAe,EAAE;YACf,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO;SACjD;QACD,KAAK,EAAE;YACL,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;YACvC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;SAClC;KACF;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAe,UAAU,CAAC"}
@@ -1,4 +1,3 @@
1
- import type tseslint from 'typescript-eslint';
2
1
  /**
3
2
  * Combined React and React Hooks ESLint configuration
4
3
  *
@@ -17,6 +16,6 @@ import type tseslint from 'typescript-eslint';
17
16
  *
18
17
  * export default config(reactConfig);
19
18
  */
20
- declare const _default: tseslint.FlatConfig.ConfigArray;
19
+ declare const _default: import("eslint/config").Config[];
21
20
  export default _default;
22
21
  //# sourceMappingURL=react.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.mts","sourceRoot":"","sources":["../../src/configs/react.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAmC9C;;;;;;;;;;;;;;;;;GAiBG;;AACH,wBAAmD"}
1
+ {"version":3,"file":"react.d.mts","sourceRoot":"","sources":["../../src/configs/react.mts"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;;;GAiBG;;AACH,wBAA2D"}
@@ -1,31 +1,40 @@
1
- import { config } from '../helpers.mjs';
1
+ import { fixupPluginRules } from '@eslint/compat';
2
+ import { defineConfig } from 'eslint/config';
2
3
  import { importOrThrow } from '../internal/helpers.js';
3
4
  const reactPlugin = await importOrThrow('eslint-plugin-react');
4
5
  const pluginReactHooks = await importOrThrow('eslint-plugin-react-hooks');
5
6
  const importedGlobals = await importOrThrow('globals');
6
- const reactRules = config(reactPlugin.configs.flat.recommended ?? {}, reactPlugin.configs.flat['jsx-runtime'] ?? {}, {
7
- name: 'map-colonies/react/rules',
8
- files: ['**/*.tsx'],
9
- languageOptions: {
10
- globals: importedGlobals.browser,
11
- },
12
- settings: {
13
- react: {
14
- version: 'detect',
7
+ const fixedReactPlugin = fixupPluginRules(reactPlugin);
8
+ const fixedPlugins = { react: fixedReactPlugin };
9
+ const reactRules = defineConfig([
10
+ { ...reactPlugin.configs.flat.recommended, plugins: fixedPlugins },
11
+ { ...reactPlugin.configs.flat['jsx-runtime'], plugins: fixedPlugins },
12
+ {
13
+ name: 'map-colonies/react/rules',
14
+ files: ['**/*.tsx'],
15
+ languageOptions: {
16
+ globals: importedGlobals.browser,
17
+ },
18
+ settings: {
19
+ react: {
20
+ version: 'detect',
21
+ },
22
+ },
23
+ rules: {
24
+ 'react/boolean-prop-naming': 'error',
25
+ 'react/hook-use-state': 'error',
26
+ 'react/prop-types': 'off',
15
27
  },
16
28
  },
17
- rules: {
18
- 'react/boolean-prop-naming': 'error',
19
- 'react/hook-use-state': 'error',
20
- 'react/prop-types': 'off',
29
+ ]);
30
+ const reactHooksRules = defineConfig([
31
+ {
32
+ name: 'map-colonies/react-hooks/rules',
33
+ files: ['**/*.tsx'],
34
+ plugins: { 'react-hooks': pluginReactHooks },
35
+ rules: pluginReactHooks.configs.recommended.rules,
21
36
  },
22
- });
23
- const reactHooksRules = config({
24
- name: 'map-colonies/react-hooks/rules',
25
- files: ['**/*.tsx'],
26
- plugins: { 'react-hooks': pluginReactHooks },
27
- rules: pluginReactHooks.configs.recommended.rules,
28
- });
37
+ ]);
29
38
  /**
30
39
  * Combined React and React Hooks ESLint configuration
31
40
  *
@@ -44,5 +53,5 @@ const reactHooksRules = config({
44
53
  *
45
54
  * export default config(reactConfig);
46
55
  */
47
- export default config(reactRules, reactHooksRules);
56
+ export default defineConfig([reactRules, reactHooksRules]);
48
57
  //# sourceMappingURL=react.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","sourceRoot":"","sources":["../../src/configs/react.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAyB,qBAAqB,CAAC,CAAC;AACvF,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAmB,2BAA2B,CAAC,CAAC;AAC5F,MAAM,eAAe,GAAG,MAAM,aAAa,CAAyF,SAAS,CAAC,CAAC;AAE/I,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;IACnH,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,eAAe,EAAE;QACf,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ;SAClB;KACF;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,OAAO;QACpC,sBAAsB,EAAE,OAAO;QAC/B,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;IAC5C,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;CAClD,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAe,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"react.mjs","sourceRoot":"","sources":["../../src/configs/react.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAyB,qBAAqB,CAAC,CAAC;AACvF,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAmB,2BAA2B,CAAC,CAAC;AAC5F,MAAM,eAAe,GAAG,MAAM,aAAa,CAAyF,SAAS,CAAC,CAAC;AAE/I,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;AAEjD,MAAM,UAAU,GAAG,YAAY,CAAC;IAC9B,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;IAClE,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE;IACrE;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,eAAe,EAAE;YACf,OAAO,EAAE,eAAe,CAAC,OAAO;SACjC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE;gBACL,OAAO,EAAE,QAAQ;aAClB;SACF;QACD,KAAK,EAAE;YACL,2BAA2B,EAAE,OAAO;YACpC,sBAAsB,EAAE,OAAO;YAC/B,kBAAkB,EAAE,KAAK;SAC1B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,YAAY,CAAC;IACnC;QACE,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,OAAO,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;QAC5C,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;KAClD;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAe,YAAY,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-base.d.mts","sourceRoot":"","sources":["../../src/configs/ts-base.mts"],"names":[],"mappings":"AAUA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDO,CAAC;AA+ItC,QAAA,MAAM,cAAc,kCAenB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ts-base.d.mts","sourceRoot":"","sources":["../../src/configs/ts-base.mts"],"names":[],"mappings":"AAUA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDO,CAAC;AAgJtC,QAAA,MAAM,cAAc,kCAcnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAe,cAAc,CAAC"}
@@ -18,6 +18,7 @@ import eslintPluginUnicorn from 'eslint-plugin-unicorn';
18
18
  * - Types (PascalCase)
19
19
  * - Quoted properties (any format)
20
20
  */
21
+ // eslint-disable-next-line import-x/exports-last
21
22
  export const namingConventions = [
22
23
  'error',
23
24
  {
@@ -121,7 +122,7 @@ const typescriptEslintRules = defineConfig({
121
122
  // This is not in the jest config as it only turns rules off, and needs to be applied after the other rules
122
123
  const jestTurnedOffRules = defineConfig({
123
124
  name: 'map-colonies/jest/disabled-rules',
124
- files: ['**/*.spec.ts?(x)', '**/*.test.ts?(x)'],
125
+ files: ['**/*.spec.{ts,mts,cts,tsx}', '**/*.test.{ts,mts,cts,tsx}'],
125
126
  rules: {
126
127
  '@typescript-eslint/no-magic-numbers': 'off',
127
128
  '@typescript-eslint/explicit-function-return-type': 'off',
@@ -144,7 +145,7 @@ const reactNamingConventions = defineConfig({
144
145
  });
145
146
  const importRulesAndConfig = defineConfig({
146
147
  name: 'map-colonies/import-x/rules',
147
- files: ['**/*.ts?(x)'],
148
+ files: ['**/*.{ts,mts,cts,tsx}'],
148
149
  ignores: ['eslint.config.*'],
149
150
  languageOptions: {
150
151
  parser: tsParser,
@@ -172,6 +173,7 @@ const importRulesAndConfig = defineConfig({
172
173
  'import-x/first': 'error',
173
174
  'import-x/exports-last': 'error',
174
175
  'import-x/newline-after-import': 'error',
176
+ 'import-x/no-extraneous-dependencies': 'error',
175
177
  },
176
178
  });
177
179
  const unicornRules = defineConfig({
@@ -203,9 +205,7 @@ const parserOptions = defineConfig({
203
205
  },
204
206
  },
205
207
  });
206
- const combinedConfig = defineConfig(eslint.configs.recommended, tsEslintConfigs.recommendedTypeChecked, typescriptEslintRules, jestTurnedOffRules, reactNamingConventions, unicornRules,
207
- //@ts-expect-error it works and a known issue https://github.com/un-ts/eslint-plugin-import-x/issues/421
208
- importFlatConfigs.recommended, { name: 'import-x/typescript', ...importFlatConfigs.typescript }, importRulesAndConfig, mapColoniesPlugin.configs['pino-safety'], globalIgnoreConfig, parserOptions, { name: 'eslint-prettier/disabled-rules', ...eslintConfigPrettier });
208
+ const combinedConfig = defineConfig(eslint.configs.recommended, tsEslintConfigs.recommendedTypeChecked, typescriptEslintRules, jestTurnedOffRules, reactNamingConventions, unicornRules, importFlatConfigs.recommended, { name: 'import-x/typescript', ...importFlatConfigs.typescript }, importRulesAndConfig, mapColoniesPlugin.configs['pino-safety'], globalIgnoreConfig, parserOptions, { name: 'eslint-prettier/disabled-rules', ...eslintConfigPrettier });
209
209
  /**
210
210
  * Combined ESLint configuration for TypeScript projects
211
211
  * Includes:
@@ -1 +1 @@
1
- {"version":3,"file":"ts-base.mjs","sourceRoot":"","sources":["../../src/configs/ts-base.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-base.mjs","sourceRoot":"","sources":["../../src/configs/ts-base.mts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP;QACE,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,WAAW,CAAC;KACtB;IACD;QACE,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;KACpC;IACD;QACE,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC,YAAY,CAAC;QACtB,MAAM,EAAE;YACN,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,IAAI;SACZ;KACF;IACD;QACE,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,WAAW,CAAC;QACrB,iBAAiB,EAAE,OAAO;KAC3B;IACD;QACE,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,MAAM,EAAE,CAAC,WAAW,CAAC;QACrB,gCAAgC;KACjC;IACD;QACE,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB;IACD;QACE,QAAQ,EAAE;YACR,eAAe;YACf,uBAAuB;YACvB,cAAc;YACd,aAAa;YACb,qBAAqB;YACrB,YAAY;YACZ,UAAU;YACV,YAAY;SACb;QACD,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B;IACD;QACE,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB;CACkC,CAAC;AAEtC,MAAM,qBAAqB,GAAG,YAAY,CAAC;IACzC,IAAI,EAAE,sCAAsC;IAE5C,KAAK,EAAE;QACL,+BAA+B,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAChE,mCAAmC,EAAE,MAAM;QAC3C,uCAAuC,EAAE,OAAO;QAChD,gDAAgD,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;QACxE,kDAAkD,EAAE,MAAM;QAC1D,kDAAkD,EAAE,OAAO;QAC3D,oCAAoC,EAAE,MAAM;QAC5C,2CAA2C,EAAE,OAAO;QACpD,uCAAuC,EAAE,KAAK;QAC9C,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,OAAO;QACvB,sCAAsC,EAAE,iBAAiB;QACzD,sCAAsC,EAAE,MAAM;QAC9C,oDAAoD,EAAE,OAAO;QAC7D,wCAAwC,EAAE,MAAM;QAChD,kDAAkD;QAClD,2DAA2D,EAAE,OAAO;QACpE,6CAA6C,EAAE,OAAO;QACtD,kDAAkD,EAAE,MAAM;QAC1D,+CAA+C,EAAE,OAAO;QACxD,8CAA8C,EAAE,MAAM;QACtD,0CAA0C,EAAE,MAAM;QAClD,oCAAoC,EAAE,OAAO;QAC7C,mDAAmD,EAAE,OAAO;QAC5D,2CAA2C,EAAE,OAAO;QACpD,+CAA+C,EAAE,MAAM;QACvD,+CAA+C,EAAE,MAAM;QACvD,gDAAgD,EAAE,OAAO;QACzD,qCAAqC,EAAE;YACrC,OAAO;YACP;gBACE,kBAAkB,EAAE,IAAI;gBACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACd,yBAAyB,EAAE,IAAI;aAChC;SACF;QACD,uCAAuC,EAAE,OAAO;QAChD,0CAA0C,EAAE,OAAO;QACnD,0CAA0C,EAAE,OAAO;QACnD,mCAAmC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC3E,iCAAiC,EAAE,OAAO;QAC1C,4CAA4C,EAAE,OAAO;KACtD;CACF,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,kBAAkB,GAAG,YAAY,CAAC;IACtC,IAAI,EAAE,kCAAkC;IACxC,KAAK,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;IACnE,KAAK,EAAE;QACL,qCAAqC,EAAE,KAAK;QAC5C,kDAAkD,EAAE,KAAK;KAC1D;CACF,CAAC,CAAC;AAEH,+GAA+G;AAC/G,MAAM,sBAAsB,GAAG,YAAY,CAAC;IAC1C,IAAI,EAAE,uCAAuC;IAC7C,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,KAAK,EAAE;QACL,sCAAsC,EAAE;YACtC,GAAG,iBAAiB;YACpB;gBACE,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACnC,KAAK,EAAE,CAAC,UAAU,CAAC;aACpB;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,YAAY,CAAC;IACxC,IAAI,EAAE,6BAA6B;IACnC,KAAK,EAAE,CAAC,uBAAuB,CAAC;IAChC,OAAO,EAAE,CAAC,iBAAiB,CAAC;IAC5B,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,gBAAgB,EAAE;YAChB,OAAO;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,UAAU;wBACjB,QAAQ,EAAE,OAAO;qBAClB;oBACD;wBACE,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,UAAU;wBACjB,QAAQ,EAAE,OAAO;qBAClB;iBACF;aACF;SACF;QACD,gBAAgB,EAAE,OAAO;QACzB,uBAAuB,EAAE,OAAO;QAChC,+BAA+B,EAAE,OAAO;QACxC,qCAAqC,EAAE,OAAO;KAC/C;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,YAAY,CAAC;IAChC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACP,OAAO,EAAE,mBAAmB;KAC7B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,OAAO;QACvB,sBAAsB,EAAE,OAAO;QAC/B,uCAAuC,EAAE,OAAO;QAChD,uBAAuB,EAAE,OAAO;QAChC,6BAA6B,EAAE,OAAO;QACtC,8BAA8B,EAAE,OAAO;QACvC,8BAA8B,EAAE,OAAO;QACvC,iCAAiC,EAAE,OAAO;KAC3C;CACF,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,YAAY,CAAC;IACtC,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,CAAC;CAChG,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,YAAY,CAAC;IACjC,IAAI,EAAE,6BAA6B;IACnC,eAAe,EAAE;QACf,aAAa,EAAE;YACb,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE;SAC/B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,YAAY,CACjC,MAAM,CAAC,OAAO,CAAC,WAAW,EAC1B,eAAe,CAAC,sBAAsB,EACtC,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,CAAC,WAAW,EAC7B,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAChE,oBAAoB,EACpB,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EACxC,kBAAkB,EAClB,aAAa,EACb,EAAE,IAAI,EAAE,gCAAgC,EAAE,GAAG,oBAAoB,EAAE,CACpE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAe,cAAc,CAAC"}
@@ -1,24 +1,17 @@
1
- import { config as importedConfig } from 'typescript-eslint';
1
+ import { defineConfig } from 'eslint/config';
2
2
  /**
3
3
  * Utility function to make it easy to strictly type your "Flat" config file
4
4
  * @example
5
5
  * ```js
6
6
  * // @ts-check
7
7
  *
8
- * import eslint from '@eslint/js';
9
- * import tseslint from 'typescript-eslint';
8
+ * import { defineConfig } from '@map-colonies/eslint-config/helpers';
9
+ * import tsBaseConfig from '@map-colonies/eslint-config/ts-base';
10
10
  *
11
- * export default tseslint.config(
12
- * eslint.configs.recommended,
13
- * tseslint.configs.recommended,
14
- * {
15
- * rules: {
16
- * '@typescript-eslint/array-type': 'error',
17
- * },
18
- * },
19
- * );
11
+ * export default defineConfig([tsBaseConfig]);
20
12
  * ```
21
13
  */
22
- declare const config: typeof importedConfig;
23
- export { config };
14
+ export { defineConfig };
15
+ /** @deprecated Use `defineConfig` from 'eslint/config' instead */
16
+ export { defineConfig as config };
24
17
  //# sourceMappingURL=helpers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.mts","sourceRoot":"","sources":["../src/helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,MAAM,uBAAiB,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.d.mts","sourceRoot":"","sources":["../src/helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,kEAAkE;AAClE,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAC"}
package/dist/helpers.mjs CHANGED
@@ -1,24 +1,17 @@
1
- import { config as importedConfig } from 'typescript-eslint';
1
+ import { defineConfig } from 'eslint/config';
2
2
  /**
3
3
  * Utility function to make it easy to strictly type your "Flat" config file
4
4
  * @example
5
5
  * ```js
6
6
  * // @ts-check
7
7
  *
8
- * import eslint from '@eslint/js';
9
- * import tseslint from 'typescript-eslint';
8
+ * import { defineConfig } from '@map-colonies/eslint-config/helpers';
9
+ * import tsBaseConfig from '@map-colonies/eslint-config/ts-base';
10
10
  *
11
- * export default tseslint.config(
12
- * eslint.configs.recommended,
13
- * tseslint.configs.recommended,
14
- * {
15
- * rules: {
16
- * '@typescript-eslint/array-type': 'error',
17
- * },
18
- * },
19
- * );
11
+ * export default defineConfig([tsBaseConfig]);
20
12
  * ```
21
13
  */
22
- const config = importedConfig;
23
- export { config };
14
+ export { defineConfig };
15
+ /** @deprecated Use `defineConfig` from 'eslint/config' instead */
16
+ export { defineConfig as config };
24
17
  //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","sourceRoot":"","sources":["../src/helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,GAAG,cAAc,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.mjs","sourceRoot":"","sources":["../src/helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,kEAAkE;AAClE,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@map-colonies/eslint-config",
3
- "version": "8.0.0",
3
+ "version": "9.0.0",
4
4
  "description": "eslint configs for map colonies organization",
5
5
  "type": "module",
6
6
  "exports": {
@@ -33,11 +33,11 @@
33
33
  },
34
34
  "repository": "github:MapColonies/infra-packages",
35
35
  "peerDependencies": {
36
- "eslint": "^9.19.0",
37
- "eslint-plugin-jest": "^28.11.0 || ^29.0.0",
36
+ "@vitest/eslint-plugin": "^1.6.7",
37
+ "eslint": "^10.0.0",
38
+ "eslint-plugin-jest": "^29.13.0",
38
39
  "eslint-plugin-react": "^7.37.4",
39
40
  "eslint-plugin-react-hooks": "^5.1.0 || ^7.0.0",
40
- "@vitest/eslint-plugin": "^1.6.7",
41
41
  "globals": "^15.14.0 || ^17.0.0"
42
42
  },
43
43
  "peerDependenciesMeta": {
@@ -58,23 +58,25 @@
58
58
  }
59
59
  },
60
60
  "dependencies": {
61
- "@eslint/js": "^9.19.0",
62
- "eslint-config-prettier": "^10.0.1",
63
61
  "eslint-import-resolver-typescript": "^4.0.0",
64
- "eslint-plugin-import-x": "^4.16.1",
65
- "@typescript-eslint/parser": "^8.23.0",
66
- "typescript-eslint": "^8.23.0",
62
+ "@eslint/compat": "^2.1.0",
63
+ "@eslint/js": "^10.0.1",
64
+ "@typescript-eslint/parser": "^8.60.1",
65
+ "eslint-config-prettier": "^10.0.1",
66
+ "eslint-plugin-import-x": "^4.16.2",
67
67
  "eslint-plugin-unicorn": "^63.0.0",
68
+ "typescript-eslint": "^8.60.1",
68
69
  "@map-colonies/eslint-plugin": "^0.1.0"
69
70
  },
70
71
  "devDependencies": {
71
72
  "@types/node": "24.10.9",
72
- "eslint": "^9.39.1",
73
- "typescript": "5.9.3",
74
- "eslint-plugin-react-hooks": "7.0.1",
75
- "eslint-plugin-jest": "29.12.1",
73
+ "@vitest/eslint-plugin": "1.6.19",
74
+ "eslint": "^10.4.1",
75
+ "eslint-import-resolver-typescript": "^4.0.0",
76
+ "eslint-plugin-jest": "29.15.2",
76
77
  "eslint-plugin-react": "7.37.5",
77
- "@vitest/eslint-plugin": "1.6.7",
78
+ "eslint-plugin-react-hooks": "7.1.1",
79
+ "typescript": "5.9.3",
78
80
  "vitest": "^4.0.15",
79
81
  "@map-colonies/tsconfig": "^2.0.0",
80
82
  "vitest-config": "^0.0.0"