@xylabs/eslint-config-flat 4.2.6 → 5.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.
@@ -6,16 +6,16 @@ declare const jsonConfig: Linter.Config;
6
6
  declare const jsoncConfig: Linter.Config;
7
7
  declare const json5Config: Linter.Config;
8
8
 
9
- declare const rulesConfig: Linter.FlatConfig;
9
+ declare const rulesConfig: Linter.Config;
10
10
 
11
11
  declare const sonarConfig: Linter.Config;
12
12
 
13
13
  declare const ignores: string[];
14
14
  declare const typescriptConfig: Linter.Config;
15
15
 
16
- declare const unicornConfig: Linter.FlatConfig;
16
+ declare const unicornConfig: Linter.Config;
17
17
 
18
- declare const workspacesConfig: Linter.FlatConfig;
18
+ declare const workspacesConfig: Linter.Config;
19
19
 
20
20
  declare const config: Linter.Config[];
21
21
 
@@ -175,6 +175,51 @@ var rulesConfig = {
175
175
  }
176
176
  };
177
177
 
178
+ // src/sonar/index.ts
179
+ import sonarjsPlugin from "eslint-plugin-sonarjs";
180
+ var { rules, ...recommended } = sonarjsPlugin.configs.recommended;
181
+ var sonarConfig = {
182
+ ignores: [
183
+ ".yarn/**",
184
+ "jest.config.cjs",
185
+ "**/dist/**",
186
+ "dist",
187
+ "build/**",
188
+ "node_modules/**"
189
+ ],
190
+ ...recommended,
191
+ rules: {
192
+ ...rules,
193
+ "sonarjs/no-small-switch": [
194
+ "off"
195
+ ],
196
+ "sonarjs/os-command": [
197
+ "off"
198
+ ],
199
+ "sonarjs/no-os-command-from-path": [
200
+ "off"
201
+ ],
202
+ "sonarjs/no-nested-conditional": [
203
+ "off"
204
+ ],
205
+ "sonarjs/todo-tag": [
206
+ "warn"
207
+ ],
208
+ "sonarjs/deprecation": [
209
+ "warn"
210
+ ],
211
+ "sonarjs/cognitive-complexity": [
212
+ "warn"
213
+ ],
214
+ "sonarjs/no-nested-functions": [
215
+ "off"
216
+ ],
217
+ "sonarjs/function-return-type": [
218
+ "warn"
219
+ ]
220
+ }
221
+ };
222
+
178
223
  // src/typescript/index.ts
179
224
  import esStylistic from "@stylistic/eslint-plugin";
180
225
  import tsPlugin from "@typescript-eslint/eslint-plugin";
@@ -600,26 +645,6 @@ var json5Config = {
600
645
  }
601
646
  };
602
647
 
603
- // src/sonar/index.ts
604
- import sonarjsPlugin from "eslint-plugin-sonarjs";
605
- var sonarConfig = {
606
- ignores: [
607
- ".yarn/**",
608
- "jest.config.cjs",
609
- "**/dist/**",
610
- "dist",
611
- "build/**",
612
- "node_modules/**"
613
- ],
614
- ...sonarjsPlugin.configs,
615
- rules: {
616
- ...sonarjsPlugin.configs.recommended.rules,
617
- "sonarjs/no-small-switch": [
618
- "off"
619
- ]
620
- }
621
- };
622
-
623
648
  // src/index.ts
624
649
  var config = [
625
650
  // markdownConfig,
@@ -628,7 +653,8 @@ var config = [
628
653
  workspacesConfig,
629
654
  rulesConfig,
630
655
  // prettierConfig,
631
- importConfig
656
+ importConfig,
657
+ sonarConfig
632
658
  ];
633
659
  export {
634
660
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/sonar/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...sonarjsPlugin.configs,\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n 'sonarjs/no-small-switch': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n // sonarConfig\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","sonarjsPlugin","sonarConfig","ignores","configs","rules","recommended","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig"]}
1
+ {"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/sonar/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nconst { rules, ...recommended } = sonarjsPlugin.configs.recommended\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...recommended,\n rules: {\n ...rules,\n 'sonarjs/no-small-switch': ['off'],\n 'sonarjs/os-command': ['off'],\n 'sonarjs/no-os-command-from-path': ['off'],\n 'sonarjs/no-nested-conditional': ['off'],\n 'sonarjs/todo-tag': ['warn'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/cognitive-complexity': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['warn'],\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { sonarConfig } from './sonar/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n sonarConfig,\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","sonarjsPlugin","rules","recommended","configs","sonarConfig","ignores","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig","sonarConfig"]}
@@ -6,16 +6,16 @@ declare const jsonConfig: Linter.Config;
6
6
  declare const jsoncConfig: Linter.Config;
7
7
  declare const json5Config: Linter.Config;
8
8
 
9
- declare const rulesConfig: Linter.FlatConfig;
9
+ declare const rulesConfig: Linter.Config;
10
10
 
11
11
  declare const sonarConfig: Linter.Config;
12
12
 
13
13
  declare const ignores: string[];
14
14
  declare const typescriptConfig: Linter.Config;
15
15
 
16
- declare const unicornConfig: Linter.FlatConfig;
16
+ declare const unicornConfig: Linter.Config;
17
17
 
18
- declare const workspacesConfig: Linter.FlatConfig;
18
+ declare const workspacesConfig: Linter.Config;
19
19
 
20
20
  declare const config: Linter.Config[];
21
21
 
@@ -175,6 +175,51 @@ var rulesConfig = {
175
175
  }
176
176
  };
177
177
 
178
+ // src/sonar/index.ts
179
+ import sonarjsPlugin from "eslint-plugin-sonarjs";
180
+ var { rules, ...recommended } = sonarjsPlugin.configs.recommended;
181
+ var sonarConfig = {
182
+ ignores: [
183
+ ".yarn/**",
184
+ "jest.config.cjs",
185
+ "**/dist/**",
186
+ "dist",
187
+ "build/**",
188
+ "node_modules/**"
189
+ ],
190
+ ...recommended,
191
+ rules: {
192
+ ...rules,
193
+ "sonarjs/no-small-switch": [
194
+ "off"
195
+ ],
196
+ "sonarjs/os-command": [
197
+ "off"
198
+ ],
199
+ "sonarjs/no-os-command-from-path": [
200
+ "off"
201
+ ],
202
+ "sonarjs/no-nested-conditional": [
203
+ "off"
204
+ ],
205
+ "sonarjs/todo-tag": [
206
+ "warn"
207
+ ],
208
+ "sonarjs/deprecation": [
209
+ "warn"
210
+ ],
211
+ "sonarjs/cognitive-complexity": [
212
+ "warn"
213
+ ],
214
+ "sonarjs/no-nested-functions": [
215
+ "off"
216
+ ],
217
+ "sonarjs/function-return-type": [
218
+ "warn"
219
+ ]
220
+ }
221
+ };
222
+
178
223
  // src/typescript/index.ts
179
224
  import esStylistic from "@stylistic/eslint-plugin";
180
225
  import tsPlugin from "@typescript-eslint/eslint-plugin";
@@ -600,26 +645,6 @@ var json5Config = {
600
645
  }
601
646
  };
602
647
 
603
- // src/sonar/index.ts
604
- import sonarjsPlugin from "eslint-plugin-sonarjs";
605
- var sonarConfig = {
606
- ignores: [
607
- ".yarn/**",
608
- "jest.config.cjs",
609
- "**/dist/**",
610
- "dist",
611
- "build/**",
612
- "node_modules/**"
613
- ],
614
- ...sonarjsPlugin.configs,
615
- rules: {
616
- ...sonarjsPlugin.configs.recommended.rules,
617
- "sonarjs/no-small-switch": [
618
- "off"
619
- ]
620
- }
621
- };
622
-
623
648
  // src/index.ts
624
649
  var config = [
625
650
  // markdownConfig,
@@ -628,7 +653,8 @@ var config = [
628
653
  workspacesConfig,
629
654
  rulesConfig,
630
655
  // prettierConfig,
631
- importConfig
656
+ importConfig,
657
+ sonarConfig
632
658
  ];
633
659
  export {
634
660
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/sonar/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...sonarjsPlugin.configs,\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n 'sonarjs/no-small-switch': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n // sonarConfig\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","sonarjsPlugin","sonarConfig","ignores","configs","rules","recommended","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig"]}
1
+ {"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/sonar/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nconst { rules, ...recommended } = sonarjsPlugin.configs.recommended\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...recommended,\n rules: {\n ...rules,\n 'sonarjs/no-small-switch': ['off'],\n 'sonarjs/os-command': ['off'],\n 'sonarjs/no-os-command-from-path': ['off'],\n 'sonarjs/no-nested-conditional': ['off'],\n 'sonarjs/todo-tag': ['warn'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/cognitive-complexity': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['warn'],\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { sonarConfig } from './sonar/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n sonarConfig,\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","sonarjsPlugin","rules","recommended","configs","sonarConfig","ignores","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig","sonarConfig"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xylabs/eslint-config-flat",
4
- "version": "4.2.6",
4
+ "version": "5.0.0",
5
5
  "description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
6
6
  "keywords": [
7
7
  "xylabs",
@@ -36,15 +36,15 @@
36
36
  "package-compile2": "yarn tsc -p tsconfig.json --module es2022 --outDir dist --rootDir src"
37
37
  },
38
38
  "dependencies": {
39
- "@eslint/json": "^0.9.0",
40
- "@stylistic/eslint-plugin": "^2.12.1",
41
- "@typescript-eslint/eslint-plugin": "^8.18.1",
42
- "@typescript-eslint/parser": "^8.18.1",
43
- "eslint": "^9.17.0",
39
+ "@eslint/json": "^0.10.0",
40
+ "@stylistic/eslint-plugin": "^3.0.1",
41
+ "@typescript-eslint/eslint-plugin": "^8.22.0",
42
+ "@typescript-eslint/parser": "^8.22.0",
43
+ "eslint": "^9.19.0",
44
44
  "eslint-plugin-depend": "^0.12.0",
45
- "eslint-plugin-import-x": "^4.5.1",
45
+ "eslint-plugin-import-x": "^4.6.1",
46
46
  "eslint-plugin-md": "^1.0.19",
47
- "eslint-plugin-package-json": "^0.18.0",
47
+ "eslint-plugin-package-json": "^0.21.1",
48
48
  "eslint-plugin-simple-import-sort": "^12.1.1",
49
49
  "eslint-plugin-sonarjs": "^3.0.1",
50
50
  "eslint-plugin-unicorn": "^56.0.1",
@@ -52,10 +52,10 @@
52
52
  "jsonc-eslint-parser": "^2.4.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@xylabs/ts-scripts-yarn3": "^4.2.6",
56
- "@xylabs/tsconfig": "^4.2.6",
57
- "eslint": "^9.17.0",
58
- "typescript": "^5.7.2"
55
+ "@xylabs/ts-scripts-yarn3": "^5.0.0",
56
+ "@xylabs/tsconfig": "^5.0.0",
57
+ "eslint": "^9.19.0",
58
+ "typescript": "^5.7.3"
59
59
  },
60
60
  "publishConfig": {
61
61
  "access": "public"
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ import { importConfig } from './import/index.ts'
4
4
  // import { markdownConfig } from './markdown/index.ts'
5
5
  // import { prettierConfig } from './prettier/index.ts'
6
6
  import { rulesConfig } from './rules/index.ts'
7
+ import { sonarConfig } from './sonar/index.ts'
7
8
  // import { sonarConfig } from './sonar/index.ts'
8
9
  import { typescriptConfig } from './typescript/index.ts'
9
10
  import { unicornConfig } from './unicorn/index.ts'
@@ -17,7 +18,7 @@ export const config: Linter.Config[] = [
17
18
  rulesConfig,
18
19
  // prettierConfig,
19
20
  importConfig,
20
- // sonarConfig
21
+ sonarConfig,
21
22
  ]
22
23
 
23
24
  export { importConfig } from './import/index.ts'
@@ -1,7 +1,7 @@
1
1
  import type { ESLint, Linter } from 'eslint'
2
2
  import mdPlugin from 'eslint-plugin-md'
3
3
 
4
- export const markdownConfig: Linter.FlatConfig = {
4
+ export const markdownConfig: Linter.Config = {
5
5
  ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
6
6
  files: ['*.md'],
7
7
  processor: 'md/markdown',
@@ -1,6 +1,6 @@
1
1
  import type { Linter } from 'eslint'
2
2
 
3
- export const rulesConfig: Linter.FlatConfig = {
3
+ export const rulesConfig: Linter.Config = {
4
4
  ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
5
5
  rules: {
6
6
  'complexity': ['error', 18],
@@ -1,11 +1,21 @@
1
1
  import type { Linter } from 'eslint'
2
2
  import sonarjsPlugin from 'eslint-plugin-sonarjs'
3
3
 
4
+ const { rules, ...recommended } = sonarjsPlugin.configs.recommended
5
+
4
6
  export const sonarConfig: Linter.Config = {
5
7
  ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
6
- ...sonarjsPlugin.configs,
8
+ ...recommended,
7
9
  rules: {
8
- ...sonarjsPlugin.configs.recommended.rules,
10
+ ...rules,
9
11
  'sonarjs/no-small-switch': ['off'],
12
+ 'sonarjs/os-command': ['off'],
13
+ 'sonarjs/no-os-command-from-path': ['off'],
14
+ 'sonarjs/no-nested-conditional': ['off'],
15
+ 'sonarjs/todo-tag': ['warn'],
16
+ 'sonarjs/deprecation': ['warn'],
17
+ 'sonarjs/cognitive-complexity': ['warn'],
18
+ 'sonarjs/no-nested-functions': ['off'],
19
+ 'sonarjs/function-return-type': ['warn'],
10
20
  },
11
21
  }
@@ -1,7 +1,7 @@
1
1
  import type { ESLint, Linter } from 'eslint'
2
2
  import unicornPlugin from 'eslint-plugin-unicorn'
3
3
 
4
- export const unicornConfig: Linter.FlatConfig = {
4
+ export const unicornConfig: Linter.Config = {
5
5
  ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
6
6
  plugins: { unicorn: unicornPlugin as ESLint.Plugin },
7
7
  rules: {
@@ -1,7 +1,7 @@
1
1
  import type { ESLint, Linter } from 'eslint'
2
2
  import workspacesPlugin from 'eslint-plugin-workspaces'
3
3
 
4
- export const workspacesConfig: Linter.FlatConfig = {
4
+ export const workspacesConfig: Linter.Config = {
5
5
  ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
6
6
  plugins: { workspaces: workspacesPlugin as ESLint.Plugin },
7
7
  rules: {