@xylabs/eslint-config-flat 7.3.1 → 7.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAUpC,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAQjC,CAAA;AAED,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,UAAU,GACrC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AASpC,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAOjC,CAAA;AAED,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,UAAU,GACrC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -136,46 +136,12 @@ var rulesConfig = {
136
136
  }
137
137
  };
138
138
 
139
- // src/sonar/index.ts
140
- import sonarjs from "eslint-plugin-sonarjs";
141
- var sonarConfig = {
142
- plugins: { sonarjs },
143
- ignores,
144
- rules: {
145
- // ...sonarjs.configs.recommended.rules,
146
- "sonarjs/no-small-switch": ["off"],
147
- "sonarjs/os-command": ["off"],
148
- "sonarjs/no-os-command-from-path": ["off"],
149
- "sonarjs/no-nested-conditional": ["off"],
150
- "sonarjs/todo-tag": ["off"],
151
- "sonarjs/deprecation": ["warn"],
152
- "sonarjs/no-nested-functions": ["off"],
153
- "sonarjs/function-return-type": ["off"],
154
- "sonarjs/pseudo-random": ["off"],
155
- "sonarjs/public-static-readonly": ["warn"],
156
- "sonarjs/post-message": ["off"],
157
- "sonarjs/different-types-comparison": ["off"],
158
- "sonarjs/no-alphabetical-sort": ["warn"],
159
- "sonarjs/no-identical-functions": ["warn"],
160
- "sonarjs/no-empty-test-file": ["off"],
161
- "sonarjs/no-dead-store": ["warn"],
162
- "sonarjs/no-redundant-jump": ["warn"],
163
- "sonarjs/void-use": ["off"],
164
- // handled by eslint
165
- "sonarjs/cognitive-complexity": ["off"],
166
- "sonarjs/unused-import": ["off"],
167
- // handled by typescript-eslint
168
- "sonarjs/no-unused-vars": ["off"],
169
- "sonarjs/no-commented-code": ["off"]
170
- }
171
- };
172
-
173
139
  // src/typescript/index.ts
174
140
  import esStylistic from "@stylistic/eslint-plugin";
175
141
  import tsPlugin from "@typescript-eslint/eslint-plugin";
176
142
  import tsParser2 from "@typescript-eslint/parser";
177
143
  var typescriptConfig = {
178
- ignores,
144
+ ignores: [...ignores, "**/*.md/**"],
179
145
  files: [
180
146
  "**/*.ts",
181
147
  "**/*.d.ts",
@@ -204,6 +170,7 @@ var typescriptConfig = {
204
170
  rules: {
205
171
  ...tsPlugin.configs.recommended.rules,
206
172
  ...esStylistic.configs["recommended"].rules,
173
+ "@typescript-eslint/no-deprecated": "warn",
207
174
  "@typescript-eslint/no-empty-object-type": ["off"],
208
175
  "@typescript-eslint/explicit-member-accessibility": ["warn", { accessibility: "no-public" }],
209
176
  "@typescript-eslint/explicit-module-boundary-types": "off",
@@ -249,7 +216,7 @@ var typescriptConfig = {
249
216
  consistent: false
250
217
  }
251
218
  }],
252
- "@stylistic/max-len": ["warn", { code: 160 }],
219
+ "@stylistic/max-len": ["warn", { code: 200 }],
253
220
  "no-restricted-syntax": [
254
221
  "warn",
255
222
  {
@@ -411,6 +378,40 @@ var json5Config = {
411
378
  rules: { "json/no-duplicate-keys": ["error"] }
412
379
  };
413
380
 
381
+ // src/sonar/index.ts
382
+ import sonarjs from "eslint-plugin-sonarjs";
383
+ var sonarConfig = {
384
+ plugins: { sonarjs },
385
+ ignores,
386
+ rules: {
387
+ // ...sonarjs.configs.recommended.rules,
388
+ "sonarjs/no-small-switch": ["off"],
389
+ "sonarjs/os-command": ["off"],
390
+ "sonarjs/no-os-command-from-path": ["off"],
391
+ "sonarjs/no-nested-conditional": ["off"],
392
+ "sonarjs/todo-tag": ["off"],
393
+ "sonarjs/deprecation": ["warn"],
394
+ "sonarjs/no-nested-functions": ["off"],
395
+ "sonarjs/function-return-type": ["off"],
396
+ "sonarjs/pseudo-random": ["off"],
397
+ "sonarjs/public-static-readonly": ["warn"],
398
+ "sonarjs/post-message": ["off"],
399
+ "sonarjs/different-types-comparison": ["off"],
400
+ "sonarjs/no-alphabetical-sort": ["warn"],
401
+ "sonarjs/no-identical-functions": ["warn"],
402
+ "sonarjs/no-empty-test-file": ["off"],
403
+ "sonarjs/no-dead-store": ["warn"],
404
+ "sonarjs/no-redundant-jump": ["warn"],
405
+ "sonarjs/void-use": ["off"],
406
+ // handled by eslint
407
+ "sonarjs/cognitive-complexity": ["off"],
408
+ "sonarjs/unused-import": ["off"],
409
+ // handled by typescript-eslint
410
+ "sonarjs/no-unused-vars": ["off"],
411
+ "sonarjs/no-commented-code": ["off"]
412
+ }
413
+ };
414
+
414
415
  // src/index.ts
415
416
  var config = [
416
417
  markdownConfig,
@@ -418,8 +419,7 @@ var config = [
418
419
  unicornConfig,
419
420
  workspacesConfig,
420
421
  rulesConfig,
421
- importConfig,
422
- sonarConfig
422
+ importConfig
423
423
  ];
424
424
  export {
425
425
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/import/index.ts","../../src/ignores.ts","../../src/markdown/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\nimport { ignores } from '../ignores.ts'\n\nexport const importConfig: Linter.Config = {\n ignores,\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.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.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","export 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","import type { Linter } from 'eslint'\nimport markdown from 'eslint-plugin-markdown'\n\nimport { ignores } from '../ignores.ts'\n\nexport const markdownConfig: Linter.Config = {\n ignores,\n plugins: { markdown },\n files: ['**/*.md'],\n processor: 'markdown/markdown',\n}\n","import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nexport const rulesConfig: Linter.Config = {\n ignores,\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 'error',\n {\n paths: [\n './index.ts',\n '../index.ts',\n '../../index.ts',\n '../../../index.ts',\n '../../../../index.ts',\n '../../../../../index.ts',\n '../../../../../../index.ts',\n '../../../../../../../index.ts',\n ],\n },\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 sonarjs from 'eslint-plugin-sonarjs'\n\nimport { ignores } from '../ignores.ts'\n\nexport const sonarConfig: Linter.Config = {\n plugins: { sonarjs },\n ignores,\n rules: {\n // ...sonarjs.configs.recommended.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': ['off'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['off'],\n 'sonarjs/pseudo-random': ['off'],\n 'sonarjs/public-static-readonly': ['warn'],\n 'sonarjs/post-message': ['off'],\n 'sonarjs/different-types-comparison': ['off'],\n 'sonarjs/no-alphabetical-sort': ['warn'],\n 'sonarjs/no-identical-functions': ['warn'],\n 'sonarjs/no-empty-test-file': ['off'],\n 'sonarjs/no-dead-store': ['warn'],\n 'sonarjs/no-redundant-jump': ['warn'],\n 'sonarjs/void-use': ['off'],\n\n // handled by eslint\n 'sonarjs/cognitive-complexity': ['off'],\n 'sonarjs/unused-import': ['off'],\n\n // handled by typescript-eslint\n 'sonarjs/no-unused-vars': ['off'],\n\n 'sonarjs/no-commented-code': ['off'],\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'\n\nimport { ignores } from '../ignores.ts'\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.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['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', { fixStyle: 'separate-type-imports', prefer: 'type-imports' }],\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 '@typescript-eslint/triple-slash-reference': ['off'],\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 'semi': ['warn', 'never'],\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/strict-boolean-expressions': ['warn', {\n allowAny: true,\n allowNullableBoolean: true,\n allowNullableEnum: false,\n allowNullableNumber: false,\n allowNullableObject: true,\n allowNullableString: false,\n allowNumber: false,\n allowString: false,\n }],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\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 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\nimport { ignores } from '../ignores.ts'\n\nexport const jsonConfig: Linter.Config = {\n ignores,\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 ignores,\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 ignores,\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'\nimport { markdownConfig } from './markdown/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { 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 importConfig,\n sonarConfig,\n]\n\nexport * from './ignores.ts'\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 { 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","tsParser"]}
1
+ {"version":3,"sources":["../../src/import/index.ts","../../src/ignores.ts","../../src/markdown/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\nimport { ignores } from '../ignores.ts'\n\nexport const importConfig: Linter.Config = {\n ignores,\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.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.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","export 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","import type { Linter } from 'eslint'\nimport markdown from 'eslint-plugin-markdown'\n\nimport { ignores } from '../ignores.ts'\n\nexport const markdownConfig: Linter.Config = {\n ignores,\n plugins: { markdown },\n files: ['**/*.md'],\n processor: 'markdown/markdown',\n}\n","import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nexport const rulesConfig: Linter.Config = {\n ignores,\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 'error',\n {\n paths: [\n './index.ts',\n '../index.ts',\n '../../index.ts',\n '../../../index.ts',\n '../../../../index.ts',\n '../../../../../index.ts',\n '../../../../../../index.ts',\n '../../../../../../../index.ts',\n ],\n },\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'\n\nimport { ignores } from '../ignores.ts'\n\nexport const typescriptConfig: Linter.Config = {\n ignores: [...ignores, '**/*.md/**'],\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.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended'].rules,\n '@typescript-eslint/no-deprecated': 'warn',\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', { fixStyle: 'separate-type-imports', prefer: 'type-imports' }],\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 '@typescript-eslint/triple-slash-reference': ['off'],\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: 200 }],\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 'semi': ['warn', 'never'],\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/strict-boolean-expressions': ['warn', {\n allowAny: true,\n allowNullableBoolean: true,\n allowNullableEnum: false,\n allowNullableNumber: false,\n allowNullableObject: true,\n allowNullableString: false,\n allowNumber: false,\n allowString: false,\n }],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\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 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\nimport { ignores } from '../ignores.ts'\n\nexport const jsonConfig: Linter.Config = {\n ignores,\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 ignores,\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 ignores,\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 sonarjs from 'eslint-plugin-sonarjs'\n\nimport { ignores } from '../ignores.ts'\n\nexport const sonarConfig: Linter.Config = {\n plugins: { sonarjs },\n ignores,\n rules: {\n // ...sonarjs.configs.recommended.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': ['off'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['off'],\n 'sonarjs/pseudo-random': ['off'],\n 'sonarjs/public-static-readonly': ['warn'],\n 'sonarjs/post-message': ['off'],\n 'sonarjs/different-types-comparison': ['off'],\n 'sonarjs/no-alphabetical-sort': ['warn'],\n 'sonarjs/no-identical-functions': ['warn'],\n 'sonarjs/no-empty-test-file': ['off'],\n 'sonarjs/no-dead-store': ['warn'],\n 'sonarjs/no-redundant-jump': ['warn'],\n 'sonarjs/void-use': ['off'],\n\n // handled by eslint\n 'sonarjs/cognitive-complexity': ['off'],\n 'sonarjs/unused-import': ['off'],\n\n // handled by typescript-eslint\n 'sonarjs/no-unused-vars': ['off'],\n\n 'sonarjs/no-commented-code': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\nimport { markdownConfig } from './markdown/index.ts'\nimport { rulesConfig } from './rules/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 importConfig,\n]\n\nexport * from './ignores.ts'\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 { 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","tsParser"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAuKrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAwKrC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAUpC,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAQjC,CAAA;AAED,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,UAAU,GACrC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AASpC,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAOjC,CAAA;AAED,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,UAAU,GACrC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -136,46 +136,12 @@ var rulesConfig = {
136
136
  }
137
137
  };
138
138
 
139
- // src/sonar/index.ts
140
- import sonarjs from "eslint-plugin-sonarjs";
141
- var sonarConfig = {
142
- plugins: { sonarjs },
143
- ignores,
144
- rules: {
145
- // ...sonarjs.configs.recommended.rules,
146
- "sonarjs/no-small-switch": ["off"],
147
- "sonarjs/os-command": ["off"],
148
- "sonarjs/no-os-command-from-path": ["off"],
149
- "sonarjs/no-nested-conditional": ["off"],
150
- "sonarjs/todo-tag": ["off"],
151
- "sonarjs/deprecation": ["warn"],
152
- "sonarjs/no-nested-functions": ["off"],
153
- "sonarjs/function-return-type": ["off"],
154
- "sonarjs/pseudo-random": ["off"],
155
- "sonarjs/public-static-readonly": ["warn"],
156
- "sonarjs/post-message": ["off"],
157
- "sonarjs/different-types-comparison": ["off"],
158
- "sonarjs/no-alphabetical-sort": ["warn"],
159
- "sonarjs/no-identical-functions": ["warn"],
160
- "sonarjs/no-empty-test-file": ["off"],
161
- "sonarjs/no-dead-store": ["warn"],
162
- "sonarjs/no-redundant-jump": ["warn"],
163
- "sonarjs/void-use": ["off"],
164
- // handled by eslint
165
- "sonarjs/cognitive-complexity": ["off"],
166
- "sonarjs/unused-import": ["off"],
167
- // handled by typescript-eslint
168
- "sonarjs/no-unused-vars": ["off"],
169
- "sonarjs/no-commented-code": ["off"]
170
- }
171
- };
172
-
173
139
  // src/typescript/index.ts
174
140
  import esStylistic from "@stylistic/eslint-plugin";
175
141
  import tsPlugin from "@typescript-eslint/eslint-plugin";
176
142
  import tsParser2 from "@typescript-eslint/parser";
177
143
  var typescriptConfig = {
178
- ignores,
144
+ ignores: [...ignores, "**/*.md/**"],
179
145
  files: [
180
146
  "**/*.ts",
181
147
  "**/*.d.ts",
@@ -204,6 +170,7 @@ var typescriptConfig = {
204
170
  rules: {
205
171
  ...tsPlugin.configs.recommended.rules,
206
172
  ...esStylistic.configs["recommended"].rules,
173
+ "@typescript-eslint/no-deprecated": "warn",
207
174
  "@typescript-eslint/no-empty-object-type": ["off"],
208
175
  "@typescript-eslint/explicit-member-accessibility": ["warn", { accessibility: "no-public" }],
209
176
  "@typescript-eslint/explicit-module-boundary-types": "off",
@@ -249,7 +216,7 @@ var typescriptConfig = {
249
216
  consistent: false
250
217
  }
251
218
  }],
252
- "@stylistic/max-len": ["warn", { code: 160 }],
219
+ "@stylistic/max-len": ["warn", { code: 200 }],
253
220
  "no-restricted-syntax": [
254
221
  "warn",
255
222
  {
@@ -411,6 +378,40 @@ var json5Config = {
411
378
  rules: { "json/no-duplicate-keys": ["error"] }
412
379
  };
413
380
 
381
+ // src/sonar/index.ts
382
+ import sonarjs from "eslint-plugin-sonarjs";
383
+ var sonarConfig = {
384
+ plugins: { sonarjs },
385
+ ignores,
386
+ rules: {
387
+ // ...sonarjs.configs.recommended.rules,
388
+ "sonarjs/no-small-switch": ["off"],
389
+ "sonarjs/os-command": ["off"],
390
+ "sonarjs/no-os-command-from-path": ["off"],
391
+ "sonarjs/no-nested-conditional": ["off"],
392
+ "sonarjs/todo-tag": ["off"],
393
+ "sonarjs/deprecation": ["warn"],
394
+ "sonarjs/no-nested-functions": ["off"],
395
+ "sonarjs/function-return-type": ["off"],
396
+ "sonarjs/pseudo-random": ["off"],
397
+ "sonarjs/public-static-readonly": ["warn"],
398
+ "sonarjs/post-message": ["off"],
399
+ "sonarjs/different-types-comparison": ["off"],
400
+ "sonarjs/no-alphabetical-sort": ["warn"],
401
+ "sonarjs/no-identical-functions": ["warn"],
402
+ "sonarjs/no-empty-test-file": ["off"],
403
+ "sonarjs/no-dead-store": ["warn"],
404
+ "sonarjs/no-redundant-jump": ["warn"],
405
+ "sonarjs/void-use": ["off"],
406
+ // handled by eslint
407
+ "sonarjs/cognitive-complexity": ["off"],
408
+ "sonarjs/unused-import": ["off"],
409
+ // handled by typescript-eslint
410
+ "sonarjs/no-unused-vars": ["off"],
411
+ "sonarjs/no-commented-code": ["off"]
412
+ }
413
+ };
414
+
414
415
  // src/index.ts
415
416
  var config = [
416
417
  markdownConfig,
@@ -418,8 +419,7 @@ var config = [
418
419
  unicornConfig,
419
420
  workspacesConfig,
420
421
  rulesConfig,
421
- importConfig,
422
- sonarConfig
422
+ importConfig
423
423
  ];
424
424
  export {
425
425
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/import/index.ts","../../src/ignores.ts","../../src/markdown/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\nimport { ignores } from '../ignores.ts'\n\nexport const importConfig: Linter.Config = {\n ignores,\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.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.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","export 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","import type { Linter } from 'eslint'\nimport markdown from 'eslint-plugin-markdown'\n\nimport { ignores } from '../ignores.ts'\n\nexport const markdownConfig: Linter.Config = {\n ignores,\n plugins: { markdown },\n files: ['**/*.md'],\n processor: 'markdown/markdown',\n}\n","import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nexport const rulesConfig: Linter.Config = {\n ignores,\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 'error',\n {\n paths: [\n './index.ts',\n '../index.ts',\n '../../index.ts',\n '../../../index.ts',\n '../../../../index.ts',\n '../../../../../index.ts',\n '../../../../../../index.ts',\n '../../../../../../../index.ts',\n ],\n },\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 sonarjs from 'eslint-plugin-sonarjs'\n\nimport { ignores } from '../ignores.ts'\n\nexport const sonarConfig: Linter.Config = {\n plugins: { sonarjs },\n ignores,\n rules: {\n // ...sonarjs.configs.recommended.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': ['off'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['off'],\n 'sonarjs/pseudo-random': ['off'],\n 'sonarjs/public-static-readonly': ['warn'],\n 'sonarjs/post-message': ['off'],\n 'sonarjs/different-types-comparison': ['off'],\n 'sonarjs/no-alphabetical-sort': ['warn'],\n 'sonarjs/no-identical-functions': ['warn'],\n 'sonarjs/no-empty-test-file': ['off'],\n 'sonarjs/no-dead-store': ['warn'],\n 'sonarjs/no-redundant-jump': ['warn'],\n 'sonarjs/void-use': ['off'],\n\n // handled by eslint\n 'sonarjs/cognitive-complexity': ['off'],\n 'sonarjs/unused-import': ['off'],\n\n // handled by typescript-eslint\n 'sonarjs/no-unused-vars': ['off'],\n\n 'sonarjs/no-commented-code': ['off'],\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'\n\nimport { ignores } from '../ignores.ts'\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.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['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', { fixStyle: 'separate-type-imports', prefer: 'type-imports' }],\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 '@typescript-eslint/triple-slash-reference': ['off'],\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 'semi': ['warn', 'never'],\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/strict-boolean-expressions': ['warn', {\n allowAny: true,\n allowNullableBoolean: true,\n allowNullableEnum: false,\n allowNullableNumber: false,\n allowNullableObject: true,\n allowNullableString: false,\n allowNumber: false,\n allowString: false,\n }],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\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 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\nimport { ignores } from '../ignores.ts'\n\nexport const jsonConfig: Linter.Config = {\n ignores,\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 ignores,\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 ignores,\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'\nimport { markdownConfig } from './markdown/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { 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 importConfig,\n sonarConfig,\n]\n\nexport * from './ignores.ts'\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 { 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","tsParser"]}
1
+ {"version":3,"sources":["../../src/import/index.ts","../../src/ignores.ts","../../src/markdown/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\nimport { ignores } from '../ignores.ts'\n\nexport const importConfig: Linter.Config = {\n ignores,\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.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.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","export 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","import type { Linter } from 'eslint'\nimport markdown from 'eslint-plugin-markdown'\n\nimport { ignores } from '../ignores.ts'\n\nexport const markdownConfig: Linter.Config = {\n ignores,\n plugins: { markdown },\n files: ['**/*.md'],\n processor: 'markdown/markdown',\n}\n","import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nexport const rulesConfig: Linter.Config = {\n ignores,\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 'error',\n {\n paths: [\n './index.ts',\n '../index.ts',\n '../../index.ts',\n '../../../index.ts',\n '../../../../index.ts',\n '../../../../../index.ts',\n '../../../../../../index.ts',\n '../../../../../../../index.ts',\n ],\n },\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'\n\nimport { ignores } from '../ignores.ts'\n\nexport const typescriptConfig: Linter.Config = {\n ignores: [...ignores, '**/*.md/**'],\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.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended'].rules,\n '@typescript-eslint/no-deprecated': 'warn',\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', { fixStyle: 'separate-type-imports', prefer: 'type-imports' }],\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 '@typescript-eslint/triple-slash-reference': ['off'],\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: 200 }],\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 'semi': ['warn', 'never'],\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/strict-boolean-expressions': ['warn', {\n allowAny: true,\n allowNullableBoolean: true,\n allowNullableEnum: false,\n allowNullableNumber: false,\n allowNullableObject: true,\n allowNullableString: false,\n allowNumber: false,\n allowString: false,\n }],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\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 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\nimport { ignores } from '../ignores.ts'\n\nexport const jsonConfig: Linter.Config = {\n ignores,\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 ignores,\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 ignores,\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 sonarjs from 'eslint-plugin-sonarjs'\n\nimport { ignores } from '../ignores.ts'\n\nexport const sonarConfig: Linter.Config = {\n plugins: { sonarjs },\n ignores,\n rules: {\n // ...sonarjs.configs.recommended.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': ['off'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['off'],\n 'sonarjs/pseudo-random': ['off'],\n 'sonarjs/public-static-readonly': ['warn'],\n 'sonarjs/post-message': ['off'],\n 'sonarjs/different-types-comparison': ['off'],\n 'sonarjs/no-alphabetical-sort': ['warn'],\n 'sonarjs/no-identical-functions': ['warn'],\n 'sonarjs/no-empty-test-file': ['off'],\n 'sonarjs/no-dead-store': ['warn'],\n 'sonarjs/no-redundant-jump': ['warn'],\n 'sonarjs/void-use': ['off'],\n\n // handled by eslint\n 'sonarjs/cognitive-complexity': ['off'],\n 'sonarjs/unused-import': ['off'],\n\n // handled by typescript-eslint\n 'sonarjs/no-unused-vars': ['off'],\n\n 'sonarjs/no-commented-code': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\nimport { markdownConfig } from './markdown/index.ts'\nimport { rulesConfig } from './rules/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 importConfig,\n]\n\nexport * from './ignores.ts'\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 { 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","tsParser"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAuKrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAwKrC,CAAA"}
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": "7.3.1",
4
+ "version": "7.4.0",
5
5
  "description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
6
6
  "keywords": [
7
7
  "xylabs",
@@ -41,22 +41,22 @@
41
41
  "package-compile2": "yarn tsc -p tsconfig.json --module es2022 --outDir dist --rootDir src"
42
42
  },
43
43
  "dependencies": {
44
- "@eslint/json": "~0.14.0",
45
- "@stylistic/eslint-plugin": "~5.7.0",
46
- "@typescript-eslint/eslint-plugin": "~8.53.1",
47
- "@typescript-eslint/parser": "~8.53.1",
44
+ "@eslint/json": "~1.0.1",
45
+ "@stylistic/eslint-plugin": "~5.9.0",
46
+ "@typescript-eslint/eslint-plugin": "~8.56.1",
47
+ "@typescript-eslint/parser": "~8.56.1",
48
48
  "eslint-plugin-import-x": "~4.16.1",
49
49
  "eslint-plugin-markdown": "~5.1.0",
50
50
  "eslint-plugin-simple-import-sort": "~12.1.1",
51
- "eslint-plugin-sonarjs": "~3.0.5",
52
- "eslint-plugin-unicorn": "~62.0.0",
53
- "eslint-plugin-workspaces": "~0.11.1"
51
+ "eslint-plugin-sonarjs": "~4.0.0",
52
+ "eslint-plugin-unicorn": "~63.0.0",
53
+ "eslint-plugin-workspaces": "~0.12.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/eslint-plugin-markdown": "~2.0.2",
57
- "@xylabs/ts-scripts-yarn3": "~7.3.1",
58
- "@xylabs/tsconfig": "~7.3.1",
59
- "eslint": "~9.39.2",
57
+ "@xylabs/ts-scripts-yarn3": "~7.4.0",
58
+ "@xylabs/tsconfig": "~7.4.0",
59
+ "eslint": "~10.0.2",
60
60
  "typescript": "~5.9.3"
61
61
  },
62
62
  "peerDependencies": {