@xylabs/eslint-config-flat 8.2.0 → 8.2.2

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.
Files changed (56) hide show
  1. package/README.md +30 -2
  2. package/dist/neutral/core/index.d.ts +2 -0
  3. package/dist/neutral/core/index.d.ts.map +1 -1
  4. package/dist/neutral/import/index.d.ts.map +1 -1
  5. package/dist/neutral/index.d.ts +9 -8
  6. package/dist/neutral/index.d.ts.map +1 -1
  7. package/dist/neutral/index.mjs +648 -195
  8. package/dist/neutral/index.mjs.map +4 -4
  9. package/dist/neutral/rules/consistency.d.ts +3 -0
  10. package/dist/neutral/rules/consistency.d.ts.map +1 -0
  11. package/dist/neutral/rules/correctness.d.ts +3 -0
  12. package/dist/neutral/rules/correctness.d.ts.map +1 -0
  13. package/dist/neutral/rules/index.d.ts +2 -0
  14. package/dist/neutral/rules/index.d.ts.map +1 -1
  15. package/dist/neutral/sonar/index.d.ts.map +1 -1
  16. package/dist/neutral/tiers/conflicts.d.ts +20 -0
  17. package/dist/neutral/tiers/conflicts.d.ts.map +1 -0
  18. package/dist/neutral/tiers/index.d.ts +35 -0
  19. package/dist/neutral/tiers/index.d.ts.map +1 -0
  20. package/dist/neutral/tiers/opinionated.d.ts +5 -0
  21. package/dist/neutral/tiers/opinionated.d.ts.map +1 -0
  22. package/dist/neutral/tiers/plugin-rules.d.ts +8 -0
  23. package/dist/neutral/tiers/plugin-rules.d.ts.map +1 -0
  24. package/dist/neutral/typescript/index.d.ts +5 -0
  25. package/dist/neutral/typescript/index.d.ts.map +1 -1
  26. package/dist/neutral/unicorn/index.d.ts +3 -1
  27. package/dist/neutral/unicorn/index.d.ts.map +1 -1
  28. package/dist/neutral/workspaces/index.d.ts.map +1 -1
  29. package/dist/node/core/index.d.ts +2 -0
  30. package/dist/node/core/index.d.ts.map +1 -1
  31. package/dist/node/import/index.d.ts.map +1 -1
  32. package/dist/node/index.d.ts +9 -8
  33. package/dist/node/index.d.ts.map +1 -1
  34. package/dist/node/index.mjs +648 -195
  35. package/dist/node/index.mjs.map +4 -4
  36. package/dist/node/rules/consistency.d.ts +3 -0
  37. package/dist/node/rules/consistency.d.ts.map +1 -0
  38. package/dist/node/rules/correctness.d.ts +3 -0
  39. package/dist/node/rules/correctness.d.ts.map +1 -0
  40. package/dist/node/rules/index.d.ts +2 -0
  41. package/dist/node/rules/index.d.ts.map +1 -1
  42. package/dist/node/sonar/index.d.ts.map +1 -1
  43. package/dist/node/tiers/conflicts.d.ts +20 -0
  44. package/dist/node/tiers/conflicts.d.ts.map +1 -0
  45. package/dist/node/tiers/index.d.ts +35 -0
  46. package/dist/node/tiers/index.d.ts.map +1 -0
  47. package/dist/node/tiers/opinionated.d.ts +5 -0
  48. package/dist/node/tiers/opinionated.d.ts.map +1 -0
  49. package/dist/node/tiers/plugin-rules.d.ts +8 -0
  50. package/dist/node/tiers/plugin-rules.d.ts.map +1 -0
  51. package/dist/node/typescript/index.d.ts +5 -0
  52. package/dist/node/typescript/index.d.ts.map +1 -1
  53. package/dist/node/unicorn/index.d.ts +3 -1
  54. package/dist/node/unicorn/index.d.ts.map +1 -1
  55. package/dist/node/workspaces/index.d.ts.map +1 -1
  56. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/core/index.ts", "../../src/ignores.ts", "../../src/shared.ts", "../../src/rules/index.ts", "../../src/unicorn/index.ts", "../../src/workspaces/index.ts", "../../src/import/index.ts", "../../src/json/index.ts", "../../src/markdown/index.ts", "../../src/typescript/index.ts", "../../src/sonar/index.ts", "../../src/index.ts"],
4
- "sourcesContent": ["import js from '@eslint/js'\nimport type { Linter } from 'eslint'\n\nimport { rulesConfig, srcImportsConfig } from '../rules/index.ts'\nimport {\n scopeConfig, scriptFiles, scriptLanguageOptions,\n} from '../shared.ts'\nimport { unicornConfig } from '../unicorn/index.ts'\nimport { workspacesConfig } from '../workspaces/index.ts'\n\nexport const coreConfig: Linter.Config[] = [\n scopeConfig(js.configs.recommended, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n rulesConfig,\n srcImportsConfig,\n scopeConfig(unicornConfig, { files: scriptFiles }),\n workspacesConfig,\n]\n", "export const ignores = [\n '.eslintcache',\n '.github',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n '.yarn',\n '**/dist',\n '**/docs',\n '**/node_modules',\n 'coverage',\n 'cypress',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n", "import tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n\nimport { ignores } from './ignores.ts'\n\nexport const scriptFiles = [\n '**/*.ts',\n '**/*.tsx',\n '**/*.mts',\n '**/*.cts',\n '**/*.js',\n '**/*.jsx',\n '**/*.cjs',\n '**/*.mjs',\n '**/*.d.ts',\n '**/*.d.tsx',\n '**/*.d.jsx',\n '**/*.d.mts',\n '**/*.d.cts',\n]\n\nexport const scriptLanguageOptions: Linter.LanguageOptions = {\n ecmaVersion: 'latest',\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n sourceType: 'module',\n}\n\nexport const typeCheckedLanguageOptions: Linter.LanguageOptions = {\n ...scriptLanguageOptions,\n parserOptions: {\n ...scriptLanguageOptions.parserOptions,\n projectService: true,\n tsconfigRootDir: process.cwd(),\n },\n}\n\nfunction unique(values: (string | undefined)[]): string[] {\n return [...new Set(values.filter((value): value is string => value !== undefined))]\n}\n\nfunction mergeLanguageOptions(\n base: Linter.LanguageOptions | undefined,\n next: Linter.LanguageOptions | undefined,\n): Linter.LanguageOptions | undefined {\n if (!base) return next\n if (!next) return base\n\n return {\n ...base,\n ...next,\n globals: {\n ...base.globals,\n ...next.globals,\n },\n parserOptions: {\n ...base.parserOptions,\n ...next.parserOptions,\n },\n }\n}\n\nexport function scopeConfig(\n config: Linter.Config,\n {\n files,\n languageOptions,\n }: {\n files?: string[]\n languageOptions?: Linter.LanguageOptions\n } = {},\n): Linter.Config {\n const merged = mergeLanguageOptions(languageOptions, config.languageOptions)\n const result: Linter.Config = {\n ...config,\n files: files ?? config.files,\n ignores: unique([...(config.ignores ?? []), ...ignores]),\n }\n if (merged) {\n result.languageOptions = merged\n }\n return result\n}\n\nexport function scopeConfigs(\n configs: Linter.Config | Linter.Config[],\n options: {\n files?: string[]\n languageOptions?: Linter.LanguageOptions\n } = {},\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => scopeConfig(config, options))\n}\n", "import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\nimport { scriptFiles } from '../shared.ts'\n\nconst restrictedImportPaths = [\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\nconst restrictedSrcImportPatterns = [\n {\n group: [\n '**/src/**',\n '**/src',\n 'src/**',\n ],\n message: 'Do not import from another package\\'s src folder. Import the package by its public entry point instead.',\n },\n]\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 { paths: restrictedImportPaths },\n ],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n },\n}\n\n// Source files (under src/) should never reference a src/ path \u2014 own-package files\n// are reached via ./ or ../, and other packages via their published name. Scoped to\n// src/ so test specs (which legitimately import their own ../../src/...) are unaffected.\nexport const srcImportsConfig: Linter.Config = {\n files: scriptFiles.map(pattern => `**/src/${pattern}`),\n ignores,\n rules: {\n 'no-restricted-imports': [\n 'error',\n {\n paths: restrictedImportPaths,\n patterns: restrictedSrcImportPatterns,\n },\n ],\n },\n}\n", "import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\n// New recommended rules in eslint-plugin-unicorn v66 \u2014 warnings during adoption.\nexport const unicornV66NewRules = [\n 'unicorn/class-reference-in-static-methods',\n 'unicorn/comment-content',\n 'unicorn/consistent-class-member-order',\n 'unicorn/consistent-export-decorator-position',\n 'unicorn/consistent-optional-chaining',\n 'unicorn/explicit-timer-delay',\n 'unicorn/max-nested-calls',\n 'unicorn/no-array-reverse',\n 'unicorn/no-array-sort',\n 'unicorn/no-break-in-nested-loop',\n 'unicorn/no-computed-property-existence-check',\n 'unicorn/no-confusing-array-with',\n 'unicorn/no-declarations-before-early-exit',\n 'unicorn/no-duplicate-loops',\n 'unicorn/no-error-property-assignment',\n 'unicorn/no-for-each',\n 'unicorn/no-global-object-property-assignment',\n 'unicorn/no-incorrect-template-string-interpolation',\n 'unicorn/no-invalid-argument-count',\n 'unicorn/no-mismatched-map-key',\n 'unicorn/no-negated-array-predicate',\n 'unicorn/no-negated-comparison',\n 'unicorn/no-object-methods-with-collections',\n 'unicorn/no-optional-chaining-on-undeclared-variable',\n 'unicorn/no-redundant-comparison',\n 'unicorn/no-return-array-push',\n 'unicorn/no-subtraction-comparison',\n 'unicorn/no-top-level-side-effects',\n 'unicorn/no-undeclared-class-members',\n 'unicorn/no-unnecessary-global-this',\n 'unicorn/no-unnecessary-splice',\n 'unicorn/no-unreadable-new-expression',\n 'unicorn/no-unreadable-object-destructuring',\n 'unicorn/no-unsafe-buffer-conversion',\n 'unicorn/no-unsafe-property-key',\n 'unicorn/no-unsafe-string-replacement',\n 'unicorn/no-useless-boolean-cast',\n 'unicorn/no-useless-concat',\n 'unicorn/no-useless-else',\n 'unicorn/no-useless-recursion',\n 'unicorn/no-useless-template-literals',\n 'unicorn/prefer-add-event-listener-options',\n 'unicorn/prefer-array-from-map',\n 'unicorn/prefer-await',\n 'unicorn/prefer-direct-iteration',\n 'unicorn/prefer-early-return',\n 'unicorn/prefer-global-number-constants',\n 'unicorn/prefer-identifier-import-export-specifiers',\n 'unicorn/prefer-iterable-in-constructor',\n 'unicorn/prefer-iterator-to-array',\n 'unicorn/prefer-location-assign',\n 'unicorn/prefer-minimal-ternary',\n 'unicorn/prefer-number-coercion',\n 'unicorn/prefer-number-is-safe-integer',\n 'unicorn/prefer-object-define-properties',\n 'unicorn/prefer-object-destructuring-defaults',\n 'unicorn/prefer-object-iterable-methods',\n 'unicorn/prefer-path2d',\n 'unicorn/prefer-private-class-fields',\n 'unicorn/prefer-scoped-selector',\n 'unicorn/prefer-short-arrow-method',\n 'unicorn/prefer-simple-sort-comparator',\n 'unicorn/prefer-single-array-predicate',\n 'unicorn/prefer-single-object-destructuring',\n 'unicorn/prefer-smaller-scope',\n 'unicorn/prefer-type-literal-last',\n 'unicorn/prefer-uint8array-base64',\n 'unicorn/prefer-unicode-code-point-escapes',\n 'unicorn/prefer-url-href',\n 'unicorn/require-array-sort-compare',\n 'unicorn/require-proxy-trap-boolean-return',\n] as const\n\nexport const unicornConfig: Linter.Config = {\n ...(unicornPlugin.configs.recommended as Linter.Config),\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs.recommended as ESLint.ConfigData).rules,\n ...Object.fromEntries(unicornV66NewRules.map(rule => [rule, 'warn'])),\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 'unicorn/prefer-https': ['off'],\n 'unicorn/no-useless-undefined': 'warn',\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 },\n rules: {\n ...((workspacesPlugin as unknown as { configs: { recommended: ESLint.ConfigData } }).configs.recommended).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n", "import type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nimport {\n scopeConfig, scriptFiles, scriptLanguageOptions,\n} from '../shared.ts'\n\nconst importFlatConfigs = importPlugin.flatConfigs as {\n recommended: Linter.Config\n typescript: Linter.Config\n}\n\nexport const importConfig: Linter.Config[] = [\n scopeConfig(importFlatConfigs.recommended, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n scopeConfig(importFlatConfigs.typescript, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n {\n files: scriptFiles,\n languageOptions: scriptLanguageOptions,\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { alwaysTryTypes: true, project: './tsconfig.json' } } },\n 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-unresolved': ['off'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 5 },\n ],\n 'import-x/no-deprecated': ['off'],\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]\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 markdown from '@eslint/markdown'\nimport type { Linter } from 'eslint'\n\nimport { scopeConfigs } from '../shared.ts'\n\nexport const markdownConfig: Linter.Config[] = scopeConfigs(markdown.configs.recommended)\n", "import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport type { ESLint, Linter } from 'eslint'\n\nimport {\n scopeConfigs,\n scriptFiles,\n scriptLanguageOptions,\n typeCheckedLanguageOptions,\n} from '../shared.ts'\n\nconst flatConfigs = tsPlugin.configs as Record<string, Linter.Config[]>\n\nfunction createTypeScriptOverride(languageOptions: Linter.LanguageOptions): Linter.Config {\n return {\n files: scriptFiles,\n languageOptions,\n plugins: { '@stylistic': esStylistic as unknown as ESLint.Plugin },\n rules: {\n ...esStylistic.configs.recommended.rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/no-empty-function': 'warn',\n '@stylistic/eol-last': 'warn',\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-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/require-await': 'off',\n '@typescript-eslint/strict-boolean-expressions': ['off'],\n 'quotes': ['off'],\n 'require-await': 'off',\n 'semi': ['warn', 'never'],\n },\n }\n}\n\nexport const typescriptConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/recommended'], { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n ...scopeConfigs(flatConfigs['flat/stylistic'], { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n createTypeScriptOverride(scriptLanguageOptions),\n]\n\nexport const typescriptTypeCheckedConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/recommended-type-checked'], { files: scriptFiles, languageOptions: typeCheckedLanguageOptions }),\n ...scopeConfigs(flatConfigs['flat/stylistic-type-checked'], { files: scriptFiles, languageOptions: typeCheckedLanguageOptions }),\n createTypeScriptOverride(typeCheckedLanguageOptions),\n {\n files: scriptFiles,\n languageOptions: typeCheckedLanguageOptions,\n rules: { '@typescript-eslint/no-deprecated': '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/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 'sonarjs/prefer-single-boolean-return': ['off'],\n 'sonarjs/redundant-type-aliases': ['off'],\n },\n}\n", "import type { Linter } from 'eslint'\n\nimport { coreConfig } from './core/index.ts'\nimport { importConfig } from './import/index.ts'\nimport {\n json5Config, jsoncConfig,\n jsonConfig,\n} from './json/index.ts'\nimport { markdownConfig } from './markdown/index.ts'\nimport { typescriptConfig, typescriptTypeCheckedConfig } from './typescript/index.ts'\n\nexport const recommendedConfig: Linter.Config[] = [\n ...markdownConfig,\n ...coreConfig,\n ...typescriptConfig,\n ...importConfig,\n]\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = [\n ...markdownConfig,\n ...coreConfig,\n ...typescriptTypeCheckedConfig,\n ...importConfig,\n]\n\nexport const docsConfig: Linter.Config[] = [\n ...markdownConfig,\n jsonConfig,\n jsoncConfig,\n json5Config,\n]\n\nexport const config: Linter.Config[] = recommendedTypeCheckedConfig\n\nexport { coreConfig } from './core/index.ts'\nexport * from './ignores.ts'\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { markdownConfig } from './markdown/index.ts'\nexport { rulesConfig, srcImportsConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { typescriptConfig, typescriptTypeCheckedConfig } from './typescript/index.ts'\nexport { unicornConfig, unicornV66NewRules } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],
5
- "mappings": "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",
6
- "names": ["config"]
3
+ "sources": ["../../src/json/index.ts", "../../src/ignores.ts", "../../src/markdown/index.ts", "../../src/shared.ts", "../../src/core/index.ts", "../../src/rules/consistency.ts", "../../src/rules/correctness.ts", "../../src/rules/index.ts", "../../src/unicorn/index.ts", "../../src/workspaces/index.ts", "../../src/import/index.ts", "../../src/sonar/index.ts", "../../src/tiers/conflicts.ts", "../../src/typescript/index.ts", "../../src/tiers/opinionated.ts", "../../src/tiers/index.ts", "../../src/tiers/plugin-rules.ts", "../../src/index.ts"],
4
+ "sourcesContent": ["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", "export const ignores = [\n '.eslintcache',\n '.github',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n '.yarn',\n '**/dist',\n '**/docs',\n '**/node_modules',\n 'coverage',\n 'cypress',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n", "import markdown from '@eslint/markdown'\nimport type { Linter } from 'eslint'\n\nimport { scopeConfigs } from '../shared.ts'\n\nexport const markdownConfig: Linter.Config[] = scopeConfigs(markdown.configs.recommended)\n", "import tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n\nimport { ignores } from './ignores.ts'\n\nexport const scriptFiles = [\n '**/*.ts',\n '**/*.tsx',\n '**/*.mts',\n '**/*.cts',\n '**/*.js',\n '**/*.jsx',\n '**/*.cjs',\n '**/*.mjs',\n '**/*.d.ts',\n '**/*.d.tsx',\n '**/*.d.jsx',\n '**/*.d.mts',\n '**/*.d.cts',\n]\n\nexport const scriptLanguageOptions: Linter.LanguageOptions = {\n ecmaVersion: 'latest',\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n sourceType: 'module',\n}\n\nexport const typeCheckedLanguageOptions: Linter.LanguageOptions = {\n ...scriptLanguageOptions,\n parserOptions: {\n ...scriptLanguageOptions.parserOptions,\n projectService: true,\n tsconfigRootDir: process.cwd(),\n },\n}\n\nfunction unique(values: (string | undefined)[]): string[] {\n return [...new Set(values.filter((value): value is string => value !== undefined))]\n}\n\nfunction mergeLanguageOptions(\n base: Linter.LanguageOptions | undefined,\n next: Linter.LanguageOptions | undefined,\n): Linter.LanguageOptions | undefined {\n if (!base) return next\n if (!next) return base\n\n return {\n ...base,\n ...next,\n globals: {\n ...base.globals,\n ...next.globals,\n },\n parserOptions: {\n ...base.parserOptions,\n ...next.parserOptions,\n },\n }\n}\n\nexport function scopeConfig(\n config: Linter.Config,\n {\n files,\n languageOptions,\n }: {\n files?: string[]\n languageOptions?: Linter.LanguageOptions\n } = {},\n): Linter.Config {\n const merged = mergeLanguageOptions(languageOptions, config.languageOptions)\n const result: Linter.Config = {\n ...config,\n files: files ?? config.files,\n ignores: unique([...(config.ignores ?? []), ...ignores]),\n }\n if (merged) {\n result.languageOptions = merged\n }\n return result\n}\n\nexport function scopeConfigs(\n configs: Linter.Config | Linter.Config[],\n options: {\n files?: string[]\n languageOptions?: Linter.LanguageOptions\n } = {},\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => scopeConfig(config, options))\n}\n", "import js from '@eslint/js'\nimport type { Linter } from 'eslint'\n\nimport {\n consistencyRulesConfig,\n correctnessRulesConfig,\n srcImportsConfig,\n} from '../rules/index.ts'\nimport {\n scopeConfig, scriptFiles, scriptLanguageOptions,\n} from '../shared.ts'\nimport { unicornConfig } from '../unicorn/index.ts'\nimport { workspacesConfig } from '../workspaces/index.ts'\n\nexport const correctnessCoreConfig: Linter.Config[] = [\n scopeConfig(js.configs.recommended, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n correctnessRulesConfig,\n srcImportsConfig,\n workspacesConfig,\n]\n\nexport const bestPracticesCoreConfig: Linter.Config[] = [\n scopeConfig(unicornConfig, { files: scriptFiles }),\n]\n\nexport const coreConfig: Linter.Config[] = [\n ...correctnessCoreConfig,\n consistencyRulesConfig,\n ...bestPracticesCoreConfig,\n]\n", "import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nexport const consistencyRulesConfig: 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 // Owned by max-nested-callbacks \u2014 measures callback nesting, not call depth\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-tabs': ['error'],\n },\n}\n", "import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\n\nconst restrictedImportPaths = [\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\nexport const correctnessRulesConfig: Linter.Config = {\n ignores,\n rules: {\n // Owned by @typescript-eslint/no-unused-vars\n 'no-unused-vars': 'off',\n // Owned by unicorn/escape-case\n 'no-useless-escape': 'off',\n // Owned by unicorn/prefer-spread\n 'prefer-spread': 'off',\n 'no-restricted-imports': [\n 'error',\n { paths: restrictedImportPaths },\n ],\n },\n}\n", "import type { Linter } from 'eslint'\n\nimport { ignores } from '../ignores.ts'\nimport { scriptFiles } from '../shared.ts'\nimport { consistencyRulesConfig } from './consistency.ts'\nimport { correctnessRulesConfig } from './correctness.ts'\n\nconst restrictedImportPaths = [\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\nconst restrictedSrcImportPatterns = [\n {\n group: [\n '**/src/**',\n '**/src',\n 'src/**',\n ],\n message: 'Do not import from another package\\'s src folder. Import the package by its public entry point instead.',\n },\n]\n\nexport { consistencyRulesConfig } from './consistency.ts'\nexport { correctnessRulesConfig } from './correctness.ts'\n\nexport const rulesConfig: Linter.Config = {\n ignores,\n rules: {\n ...correctnessRulesConfig.rules,\n ...consistencyRulesConfig.rules,\n },\n}\n\n// Source files (under src/) should never reference a src/ path \u2014 own-package files\n// are reached via ./ or ../, and other packages via their published name. Scoped to\n// src/ so test specs (which legitimately import their own ../../src/...) are unaffected.\nexport const srcImportsConfig: Linter.Config = {\n files: scriptFiles.map(pattern => `**/src/${pattern}`),\n ignores,\n rules: {\n 'no-restricted-imports': [\n 'error',\n {\n paths: restrictedImportPaths,\n patterns: restrictedSrcImportPatterns,\n },\n ],\n },\n}\n", "import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\n// New recommended rules in eslint-plugin-unicorn v66 \u2014 warnings during adoption.\n// Promote individual rules to 'error' once the org has cleared existing violations.\n// Rules permanently disabled for ownership conflicts are listed separately below.\nexport const unicornV66MigrationQueue = [\n 'unicorn/class-reference-in-static-methods',\n 'unicorn/comment-content',\n 'unicorn/consistent-export-decorator-position',\n 'unicorn/consistent-optional-chaining',\n 'unicorn/explicit-timer-delay',\n 'unicorn/no-array-reverse',\n 'unicorn/no-array-sort',\n 'unicorn/no-break-in-nested-loop',\n 'unicorn/no-computed-property-existence-check',\n 'unicorn/no-confusing-array-with',\n 'unicorn/no-declarations-before-early-exit',\n 'unicorn/no-duplicate-loops',\n 'unicorn/no-error-property-assignment',\n 'unicorn/no-for-each',\n 'unicorn/no-global-object-property-assignment',\n 'unicorn/no-incorrect-template-string-interpolation',\n 'unicorn/no-invalid-argument-count',\n 'unicorn/no-mismatched-map-key',\n 'unicorn/no-negated-array-predicate',\n 'unicorn/no-negated-comparison',\n 'unicorn/no-object-methods-with-collections',\n 'unicorn/no-optional-chaining-on-undeclared-variable',\n 'unicorn/no-redundant-comparison',\n 'unicorn/no-return-array-push',\n 'unicorn/no-subtraction-comparison',\n 'unicorn/no-top-level-side-effects',\n 'unicorn/no-undeclared-class-members',\n 'unicorn/no-unnecessary-global-this',\n 'unicorn/no-unnecessary-splice',\n 'unicorn/no-unreadable-new-expression',\n 'unicorn/no-unreadable-object-destructuring',\n 'unicorn/no-unsafe-buffer-conversion',\n 'unicorn/no-unsafe-property-key',\n 'unicorn/no-unsafe-string-replacement',\n 'unicorn/no-useless-boolean-cast',\n 'unicorn/no-useless-concat',\n 'unicorn/no-useless-else',\n 'unicorn/no-useless-recursion',\n 'unicorn/no-useless-template-literals',\n 'unicorn/prefer-add-event-listener-options',\n 'unicorn/prefer-array-from-map',\n 'unicorn/prefer-await',\n 'unicorn/prefer-direct-iteration',\n 'unicorn/prefer-early-return',\n 'unicorn/prefer-global-number-constants',\n 'unicorn/prefer-identifier-import-export-specifiers',\n 'unicorn/prefer-iterable-in-constructor',\n 'unicorn/prefer-iterator-to-array',\n 'unicorn/prefer-location-assign',\n 'unicorn/prefer-minimal-ternary',\n 'unicorn/prefer-number-coercion',\n 'unicorn/prefer-number-is-safe-integer',\n 'unicorn/prefer-object-define-properties',\n 'unicorn/prefer-object-destructuring-defaults',\n 'unicorn/prefer-object-iterable-methods',\n 'unicorn/prefer-path2d',\n 'unicorn/prefer-private-class-fields',\n 'unicorn/prefer-scoped-selector',\n 'unicorn/prefer-short-arrow-method',\n 'unicorn/prefer-simple-sort-comparator',\n 'unicorn/prefer-single-array-predicate',\n 'unicorn/prefer-single-object-destructuring',\n 'unicorn/prefer-smaller-scope',\n 'unicorn/prefer-type-literal-last',\n 'unicorn/prefer-uint8array-base64',\n 'unicorn/prefer-unicode-code-point-escapes',\n 'unicorn/prefer-url-href',\n 'unicorn/require-array-sort-compare',\n 'unicorn/require-proxy-trap-boolean-return',\n] as const\n\n/** @deprecated Use `unicornV66MigrationQueue` instead. */\nexport const unicornV66NewRules = unicornV66MigrationQueue\n\nexport const unicornConfig: Linter.Config = {\n ...(unicornPlugin.configs.recommended as Linter.Config),\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs.recommended as ESLint.ConfigData).rules,\n ...Object.fromEntries(unicornV66MigrationQueue.map(rule => [rule, 'warn'])),\n // Owned by @typescript-eslint/member-ordering\n 'unicorn/consistent-class-member-order': ['off'],\n // Owned by max-nested-callbacks\n 'unicorn/max-nested-calls': ['off'],\n // Naming preference \u2014 too disruptive for org-wide enforcement\n 'unicorn/catch-error-name': ['off'],\n // Closure patterns are valid in our codebase\n 'unicorn/consistent-function-scoping': ['off'],\n // Tier 3 opinionated \u2014 enabled in opinionatedConfig\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n // Tier 3 opinionated \u2014 enabled in opinionatedConfig\n 'unicorn/no-await-expression-member': ['off'],\n // Owned by unicorn/no-unnecessary-nested-ternary\n 'unicorn/no-nested-ternary': ['off'],\n // Org uses null alongside undefined\n 'unicorn/no-null': ['off'],\n // Formatting \u2014 candidate for stylistic tier; overlaps @stylistic formatting\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n 'unicorn/prefer-https': ['off'],\n 'unicorn/no-useless-undefined': 'warn',\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 },\n rules: {\n ...((workspacesPlugin as unknown as { configs: { recommended: ESLint.ConfigData } }).configs.recommended).rules,\n // Tier 3 opinionated \u2014 enabled in opinionatedConfig\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n", "import type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nimport {\n scopeConfig, scriptFiles, scriptLanguageOptions,\n} from '../shared.ts'\n\nconst importFlatConfigs = importPlugin.flatConfigs as {\n recommended: Linter.Config\n typescript: Linter.Config\n}\n\nexport const importConfig: Linter.Config[] = [\n scopeConfig(importFlatConfigs.recommended, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n scopeConfig(importFlatConfigs.typescript, { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n {\n files: scriptFiles,\n languageOptions: scriptLanguageOptions,\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { alwaysTryTypes: true, project: './tsconfig.json' } } },\n rules: {\n // Owned by simple-import-sort/imports\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n // Type-aware resolution is slow and requires per-repo resolver setup\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-unresolved': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 5 },\n ],\n 'import-x/no-deprecated': ['off'],\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]\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/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 // Owned by simple-import-sort/imports\n 'sonarjs/no-alphabetical-sort': ['off'],\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 // Owned by complexity\n 'sonarjs/cognitive-complexity': ['off'],\n\n // Owned by @typescript-eslint/no-unused-vars\n 'sonarjs/unused-import': ['off'],\n 'sonarjs/no-unused-vars': ['off'],\n\n 'sonarjs/no-commented-code': ['off'],\n 'sonarjs/prefer-single-boolean-return': ['off'],\n 'sonarjs/redundant-type-aliases': ['off'],\n },\n}\n", "import type { Linter } from 'eslint'\n\nexport interface RuleOwnershipGroup {\n readonly description: string\n readonly disabled: readonly string[]\n readonly owner: string\n}\n\nexport const RULE_OWNERSHIP_GROUPS: readonly RuleOwnershipGroup[] = [\n {\n description: 'Class member ordering with alphabetical within-group sorting',\n owner: '@typescript-eslint/member-ordering',\n disabled: ['unicorn/consistent-class-member-order'],\n },\n {\n description: 'Callback nesting depth limit',\n owner: 'max-nested-callbacks',\n disabled: ['unicorn/max-nested-calls'],\n },\n {\n description: 'Spread over Function.prototype.apply',\n owner: 'unicorn/prefer-spread',\n disabled: ['prefer-spread'],\n },\n {\n description: 'Semicolon style',\n owner: '@stylistic/semi',\n disabled: ['semi'],\n },\n {\n description: 'Quote style',\n owner: '@stylistic/quotes',\n disabled: ['quotes'],\n },\n {\n description: 'Unused variable detection with TypeScript support',\n owner: '@typescript-eslint/no-unused-vars',\n disabled: ['no-unused-vars', 'sonarjs/no-unused-vars'],\n },\n {\n description: 'Escape sequence casing in strings and regexes',\n owner: 'unicorn/escape-case',\n disabled: ['no-useless-escape'],\n },\n {\n description: 'Negated condition style',\n owner: 'unicorn/no-negated-condition',\n disabled: ['no-negated-condition'],\n },\n {\n description: 'Nested ternary restrictions',\n owner: 'unicorn/no-unnecessary-nested-ternary',\n disabled: ['no-nested-ternary', 'unicorn/no-nested-ternary'],\n },\n {\n description: 'Cyclomatic complexity per function',\n owner: 'complexity',\n disabled: ['sonarjs/cognitive-complexity'],\n },\n {\n description: 'Unused import detection',\n owner: '@typescript-eslint/no-unused-vars',\n disabled: ['sonarjs/unused-import'],\n },\n {\n description: 'Import statement ordering',\n owner: 'simple-import-sort/imports',\n disabled: ['import-x/order', 'sonarjs/no-alphabetical-sort'],\n },\n] as const\n\ntype RuleSetting = Linter.RuleEntry<unknown[]> | undefined\n\nfunction isRuleEnabled(setting: RuleSetting): boolean {\n if (setting === undefined) {\n return false\n }\n\n if (setting === 'off' || setting === 0) {\n return false\n }\n\n if (Array.isArray(setting) && setting[0] === 'off') {\n return false\n }\n\n return true\n}\n\nexport function mergeConfigRules(configs: readonly Linter.Config[]): Record<string, RuleSetting> {\n const merged: Record<string, RuleSetting> = {}\n\n for (const entry of configs) {\n if (!entry.rules) {\n continue\n }\n\n Object.assign(merged, entry.rules)\n }\n\n return merged\n}\n\nexport interface RuleOwnershipConflict {\n readonly conflictingRule: string\n readonly conflictingSetting: RuleSetting\n readonly description: string\n readonly owner: string\n readonly ownerSetting: RuleSetting\n}\n\nexport function findRuleOwnershipConflicts(\n rules: Record<string, RuleSetting>,\n): RuleOwnershipConflict[] {\n const conflicts: RuleOwnershipConflict[] = []\n\n for (const group of RULE_OWNERSHIP_GROUPS) {\n const ownerSetting = rules[group.owner]\n if (!isRuleEnabled(ownerSetting)) {\n continue\n }\n\n for (const conflictingRule of group.disabled) {\n if (isRuleEnabled(rules[conflictingRule])) {\n conflicts.push({\n description: group.description,\n owner: group.owner,\n conflictingRule,\n ownerSetting,\n conflictingSetting: rules[conflictingRule],\n })\n }\n }\n }\n\n return conflicts\n}\n\nexport function assertNoRuleOwnershipConflicts(configs: readonly Linter.Config[]): void {\n const conflicts = findRuleOwnershipConflicts(mergeConfigRules(configs))\n\n if (conflicts.length === 0) {\n return\n }\n\n const details = conflicts.map(conflict => (\n `${conflict.owner} conflicts with ${conflict.conflictingRule} (${conflict.description})`\n )).join('\\n')\n\n throw new Error(`ESLint rule ownership conflicts detected:\\n${details}`)\n}\n", "import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport type { ESLint, Linter } from 'eslint'\n\nimport {\n scopeConfigs,\n scriptFiles,\n scriptLanguageOptions,\n typeCheckedLanguageOptions,\n} from '../shared.ts'\n\nconst flatConfigs = tsPlugin.configs as Record<string, Linter.Config[]>\n\nconst memberOrderingRule: Linter.RuleEntry = [\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\nfunction createCorrectnessOverride(languageOptions: Linter.LanguageOptions): Linter.Config {\n return {\n files: scriptFiles,\n languageOptions,\n rules: {\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n {\n argsIgnorePattern: '^_', varsIgnorePattern: '^_', ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/require-await': 'off',\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/triple-slash-reference': ['off'],\n // Tier 3 opinionated \u2014 enabled in opinionatedConfig\n '@typescript-eslint/strict-boolean-expressions': ['off'],\n // Owned by @stylistic/quotes\n 'quotes': ['off'],\n // Owned by @stylistic/semi\n 'semi': ['off'],\n // Owned by unicorn/prefer-spread\n 'prefer-spread': ['off'],\n 'require-await': 'off',\n },\n }\n}\n\nfunction createConsistencyOverride(languageOptions: Linter.LanguageOptions): Linter.Config {\n return {\n files: scriptFiles,\n languageOptions,\n plugins: { '@stylistic': esStylistic as unknown as ESLint.Plugin },\n rules: {\n ...esStylistic.configs.recommended.rules,\n '@typescript-eslint/no-empty-function': 'warn',\n '@stylistic/eol-last': 'warn',\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\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 '@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': memberOrderingRule,\n },\n }\n}\n\nexport const typescriptDelegationConfig: Linter.Config = {\n files: scriptFiles,\n rules: {\n // Owned by unicorn/prefer-spread \u2014 stylistic presets may re-enable the core rule\n 'prefer-spread': 'off',\n // Owned by @stylistic/semi\n 'semi': 'off',\n // Owned by @stylistic/quotes\n 'quotes': 'off',\n },\n}\n\nexport const typescriptCorrectnessConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/recommended'], { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n createCorrectnessOverride(scriptLanguageOptions),\n]\n\nexport const typescriptConsistencyConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/stylistic'], { files: scriptFiles, languageOptions: scriptLanguageOptions }),\n createConsistencyOverride(scriptLanguageOptions),\n]\n\nexport const typescriptTypeCheckedCorrectnessConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/recommended-type-checked'], { files: scriptFiles, languageOptions: typeCheckedLanguageOptions }),\n createCorrectnessOverride(typeCheckedLanguageOptions),\n {\n files: scriptFiles,\n languageOptions: typeCheckedLanguageOptions,\n rules: { '@typescript-eslint/no-deprecated': 'warn' },\n },\n]\n\nexport const typescriptTypeCheckedConsistencyConfig: Linter.Config[] = [\n ...scopeConfigs(flatConfigs['flat/stylistic-type-checked'], { files: scriptFiles, languageOptions: typeCheckedLanguageOptions }),\n createConsistencyOverride(typeCheckedLanguageOptions),\n]\n\nexport const typescriptConfig: Linter.Config[] = [\n ...typescriptCorrectnessConfig,\n ...typescriptConsistencyConfig,\n typescriptDelegationConfig,\n]\n\nexport const typescriptTypeCheckedConfig: Linter.Config[] = [\n ...typescriptTypeCheckedCorrectnessConfig,\n ...typescriptTypeCheckedConsistencyConfig,\n typescriptDelegationConfig,\n]\n", "import type { Linter } from 'eslint'\n\nimport { scriptFiles } from '../shared.ts'\nimport { unicornV66MigrationQueue } from '../unicorn/index.ts'\n\nexport const opinionatedLayerConfig: Linter.Config = {\n files: scriptFiles,\n rules: {\n '@typescript-eslint/strict-boolean-expressions': 'warn',\n 'unicorn/filename-case': ['warn', { case: 'kebabCase' }],\n 'unicorn/no-await-expression-member': 'warn',\n 'unicorn/number-literal-case': 'warn',\n 'workspaces/no-relative-imports': 'warn',\n 'workspaces/require-dependency': 'warn',\n },\n}\n\nexport const strictPromotionRules: Linter.Config['rules'] = {\n '@stylistic/eol-last': 'error',\n '@typescript-eslint/no-empty-function': 'error',\n '@typescript-eslint/no-deprecated': 'error',\n 'array-element-newline': 'error',\n 'import-x/no-absolute-path': 'error',\n 'import-x/no-cycle': 'error',\n 'import-x/no-restricted-paths': 'error',\n 'import-x/no-self-import': 'error',\n 'import-x/no-useless-path-segments': 'error',\n 'no-restricted-syntax': 'error',\n 'simple-import-sort/exports': 'error',\n 'simple-import-sort/imports': 'error',\n 'sonarjs/deprecation': 'error',\n\n 'sonarjs/no-dead-store': 'error',\n 'sonarjs/no-identical-functions': 'error',\n 'sonarjs/no-redundant-jump': 'error',\n 'sonarjs/public-static-readonly': 'error',\n 'unicorn/no-useless-undefined': 'error',\n ...Object.fromEntries(unicornV66MigrationQueue.map(rule => [rule, 'error'])),\n ...Object.fromEntries([\n '@typescript-eslint/consistent-type-imports',\n '@typescript-eslint/explicit-member-accessibility',\n '@typescript-eslint/member-ordering',\n '@stylistic/brace-style',\n '@stylistic/function-call-argument-newline',\n '@stylistic/function-paren-newline',\n '@stylistic/object-curly-newline',\n '@stylistic/object-property-newline',\n '@stylistic/quotes',\n '@stylistic/max-len',\n 'unicorn/filename-case',\n 'unicorn/no-await-expression-member',\n 'unicorn/number-literal-case',\n 'workspaces/no-relative-imports',\n 'workspaces/require-dependency',\n '@typescript-eslint/strict-boolean-expressions',\n ].map(rule => [rule, 'error'])),\n}\n\nexport const strictLayerConfig: Linter.Config = {\n files: scriptFiles,\n rules: strictPromotionRules,\n}\n", "import type { Linter } from 'eslint'\n\nimport {\n bestPracticesCoreConfig,\n correctnessCoreConfig,\n} from '../core/index.ts'\nimport { importConfig } from '../import/index.ts'\nimport { markdownConfig } from '../markdown/index.ts'\nimport { consistencyRulesConfig } from '../rules/index.ts'\nimport { sonarConfig } from '../sonar/index.ts'\nimport {\n typescriptConsistencyConfig,\n typescriptCorrectnessConfig,\n typescriptDelegationConfig,\n typescriptTypeCheckedConsistencyConfig,\n typescriptTypeCheckedCorrectnessConfig,\n} from '../typescript/index.ts'\nimport { opinionatedLayerConfig, strictLayerConfig } from './opinionated.ts'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\n/**\n * Tier 0 \u2014 correctness: type safety, bug prevention, import restrictions.\n * Each subsequent tier is a superset of the previous tier.\n */\nexport const configTier0Correctness: Linter.Config[] = mergeTierConfigs(\n markdownConfig,\n correctnessCoreConfig,\n typescriptCorrectnessConfig,\n)\n\nexport const configTier0CorrectnessTypeChecked: Linter.Config[] = mergeTierConfigs(\n markdownConfig,\n correctnessCoreConfig,\n typescriptTypeCheckedCorrectnessConfig,\n)\n\n/**\n * Tier 1 \u2014 consistency: Tier 0 plus formatting, member ordering, and complexity limits.\n */\nexport const configTier1Consistency: Linter.Config[] = mergeTierConfigs(\n configTier0Correctness,\n [consistencyRulesConfig],\n typescriptConsistencyConfig,\n [typescriptDelegationConfig],\n)\n\nexport const configTier1ConsistencyTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier0CorrectnessTypeChecked,\n [consistencyRulesConfig],\n typescriptTypeCheckedConsistencyConfig,\n [typescriptDelegationConfig],\n)\n\n/**\n * Tier 2 \u2014 best practices: Tier 1 plus unicorn and import validation.\n * This is the recommended default for XY Labs repositories.\n */\nexport const configTier2BestPractices: Linter.Config[] = mergeTierConfigs(\n configTier1Consistency,\n bestPracticesCoreConfig,\n importConfig,\n)\n\nexport const configTier2BestPracticesTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier1ConsistencyTypeChecked,\n bestPracticesCoreConfig,\n importConfig,\n)\n\n/**\n * Tier 3 \u2014 opinionated: Tier 2 plus stricter optional rules (still mostly warnings).\n */\nexport const configTier3Opinionated: Linter.Config[] = mergeTierConfigs(\n configTier2BestPractices,\n [opinionatedLayerConfig],\n)\n\nexport const configTier3OpinionatedTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier2BestPracticesTypeChecked,\n [opinionatedLayerConfig],\n)\n\n/**\n * Tier 4 \u2014 strict: Tier 3 plus SonarJS and promotion of warnings to errors.\n */\nexport const configTier4Strict: Linter.Config[] = mergeTierConfigs(\n configTier3Opinionated,\n [sonarConfig, strictLayerConfig],\n)\n\nexport const configTier4StrictTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier3OpinionatedTypeChecked,\n [sonarConfig, strictLayerConfig],\n)\n\n/** @deprecated Use `configTier2BestPractices` instead. */\nexport const recommendedConfig: Linter.Config[] = configTier2BestPractices\n\n/** @deprecated Use `configTier2BestPracticesTypeChecked` instead. */\nexport const recommendedTypeCheckedConfig: Linter.Config[] = configTier2BestPracticesTypeChecked\n\n/** Compatibility alias \u2014 identical to `configTier2BestPracticesTypeChecked`. */\nexport const config: Linter.Config[] = configTier2BestPracticesTypeChecked\n", "import js from '@eslint/js'\nimport json from '@eslint/json'\nimport markdown from '@eslint/markdown'\nimport esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport type { ESLint } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\nimport sonarjs from 'eslint-plugin-sonarjs'\nimport unicornPlugin from 'eslint-plugin-unicorn'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nconst compareStrings = (left: string, right: string): number => left.localeCompare(right)\n\nexport interface PluginRuleSnapshot {\n readonly plugin: string\n readonly rules: readonly string[]\n readonly source: string\n}\n\nfunction sortedRuleNames(rules: Record<string, unknown> | undefined): string[] {\n if (!rules) {\n return []\n }\n\n return Object.keys(rules).toSorted(compareStrings)\n}\n\nfunction sortedRuleNamesFromConfigs(\n configs: { rules?: Record<string, unknown> }[] | undefined,\n): string[] {\n if (!configs) {\n return []\n }\n\n const merged: Record<string, unknown> = {}\n for (const entry of configs) {\n if (entry.rules) {\n Object.assign(merged, entry.rules)\n }\n }\n\n return sortedRuleNames(merged)\n}\n\nfunction pluginRuleNames(plugin: ESLint.Plugin): string[] {\n if (!plugin.rules) {\n return []\n }\n\n const prefix = typeof plugin.meta?.name === 'string'\n ? plugin.meta.name.replace(/^eslint-plugin-/, '').replace(/^@eslint\\//, '')\n : 'unknown'\n\n return Object.keys(plugin.rules)\n .toSorted(compareStrings)\n .map(ruleName => `${prefix}/${ruleName}`)\n}\n\nexport function collectPluginRuleSnapshots(): PluginRuleSnapshot[] {\n const unicornRecommended = unicornPlugin.configs['flat/recommended'] as undefined | { rules?: Record<string, unknown> }\n const importRecommended = importPlugin.flatConfigs.recommended as { rules?: Record<string, unknown> }\n const flatConfigs = tsPlugin.configs as Record<string, { rules?: Record<string, unknown> }[]>\n const workspacesRecommended = (\n workspacesPlugin as { configs: { recommended: { rules?: Record<string, unknown> } } }\n ).configs.recommended\n\n return [\n {\n plugin: '@eslint/js',\n rules: sortedRuleNames(js.configs.recommended.rules),\n source: 'configs.recommended',\n },\n {\n plugin: '@eslint/json',\n rules: pluginRuleNames(json),\n source: 'plugin.rules',\n },\n {\n plugin: '@eslint/markdown',\n rules: sortedRuleNames(\n (markdown.configs.recommended as { rules?: Record<string, unknown> }[])[0]?.rules,\n ),\n source: 'configs.recommended',\n },\n {\n plugin: '@stylistic/eslint-plugin',\n rules: sortedRuleNames(esStylistic.configs.recommended.rules),\n source: 'configs.recommended',\n },\n {\n plugin: '@typescript-eslint/eslint-plugin',\n rules: sortedRuleNamesFromConfigs(flatConfigs['flat/recommended-type-checked']),\n source: 'configs.flat/recommended-type-checked',\n },\n {\n plugin: '@typescript-eslint/eslint-plugin',\n rules: sortedRuleNamesFromConfigs(flatConfigs['flat/stylistic-type-checked']),\n source: 'configs.flat/stylistic-type-checked',\n },\n {\n plugin: 'eslint-plugin-import-x',\n rules: sortedRuleNames(importRecommended.rules),\n source: 'flatConfigs.recommended',\n },\n {\n plugin: 'eslint-plugin-import-x',\n rules: sortedRuleNames(importPlugin.flatConfigs.typescript.rules),\n source: 'flatConfigs.typescript',\n },\n {\n plugin: 'eslint-plugin-simple-import-sort',\n rules: pluginRuleNames(simpleImportSort),\n source: 'plugin.rules',\n },\n {\n plugin: 'eslint-plugin-sonarjs',\n rules: pluginRuleNames(sonarjs),\n source: 'plugin.rules',\n },\n {\n plugin: 'eslint-plugin-unicorn',\n rules: sortedRuleNames(unicornRecommended?.rules),\n source: 'configs.flat/recommended',\n },\n {\n plugin: 'eslint-plugin-workspaces',\n rules: sortedRuleNames(workspacesRecommended.rules),\n source: 'configs.recommended',\n },\n ]\n}\n\nexport function serializePluginRuleSnapshots(snapshots: readonly PluginRuleSnapshot[]): string {\n return `${JSON.stringify(snapshots, null, 2)}\\n`\n}\n", "import type { Linter } from 'eslint'\n\nimport {\n json5Config, jsoncConfig,\n jsonConfig,\n} from './json/index.ts'\nimport { markdownConfig } from './markdown/index.ts'\n\nexport const docsConfig: Linter.Config[] = [\n ...markdownConfig,\n jsonConfig,\n jsoncConfig,\n json5Config,\n]\n\nexport {\n bestPracticesCoreConfig,\n coreConfig,\n correctnessCoreConfig,\n} from './core/index.ts'\nexport { ignores } from './ignores.ts'\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig,\n jsonConfig,\n} from './json/index.ts'\nexport { markdownConfig } from './markdown/index.ts'\nexport {\n consistencyRulesConfig,\n correctnessRulesConfig,\n rulesConfig,\n srcImportsConfig,\n} from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport {\n assertNoRuleOwnershipConflicts,\n findRuleOwnershipConflicts,\n mergeConfigRules,\n RULE_OWNERSHIP_GROUPS,\n} from './tiers/conflicts.ts'\nexport * from './tiers/index.ts'\nexport {\n opinionatedLayerConfig,\n strictLayerConfig,\n strictPromotionRules,\n} from './tiers/opinionated.ts'\nexport {\n collectPluginRuleSnapshots,\n serializePluginRuleSnapshots,\n} from './tiers/plugin-rules.ts'\nexport {\n typescriptConfig,\n typescriptConsistencyConfig,\n typescriptCorrectnessConfig,\n typescriptDelegationConfig,\n typescriptTypeCheckedConfig,\n typescriptTypeCheckedConsistencyConfig,\n typescriptTypeCheckedCorrectnessConfig,\n} from './typescript/index.ts'\nexport {\n unicornConfig,\n unicornV66MigrationQueue,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n unicornV66NewRules,\n} from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],
5
+ "mappings": "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",
6
+ "names": ["config", "restrictedImportPaths", "js", "json", "markdown", "esStylistic", "tsPlugin", "importPlugin", "simpleImportSort", "sonarjs", "unicornPlugin", "workspacesPlugin", "flatConfigs"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const consistencyRulesConfig: Linter.Config;
3
+ //# sourceMappingURL=consistency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consistency.d.ts","sourceRoot":"","sources":["../../../src/rules/consistency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAkB3C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const correctnessRulesConfig: Linter.Config;
3
+ //# sourceMappingURL=correctness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correctness.d.ts","sourceRoot":"","sources":["../../../src/rules/correctness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAepC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAc3C,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import type { Linter } from 'eslint';
2
+ export { consistencyRulesConfig } from './consistency.ts';
3
+ export { correctnessRulesConfig } from './correctness.ts';
2
4
  export declare const rulesConfig: Linter.Config;
3
5
  export declare const srcImportsConfig: Linter.Config;
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA2BpC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAuBhC,CAAA;AAKD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAYrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA6BpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAMhC,CAAA;AAKD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAYrC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sonar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKpC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAkChC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sonar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKpC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAmChC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { Linter } from 'eslint';
2
+ export interface RuleOwnershipGroup {
3
+ readonly description: string;
4
+ readonly disabled: readonly string[];
5
+ readonly owner: string;
6
+ }
7
+ export declare const RULE_OWNERSHIP_GROUPS: readonly RuleOwnershipGroup[];
8
+ type RuleSetting = Linter.RuleEntry<unknown[]> | undefined;
9
+ export declare function mergeConfigRules(configs: readonly Linter.Config[]): Record<string, RuleSetting>;
10
+ export interface RuleOwnershipConflict {
11
+ readonly conflictingRule: string;
12
+ readonly conflictingSetting: RuleSetting;
13
+ readonly description: string;
14
+ readonly owner: string;
15
+ readonly ownerSetting: RuleSetting;
16
+ }
17
+ export declare function findRuleOwnershipConflicts(rules: Record<string, RuleSetting>): RuleOwnershipConflict[];
18
+ export declare function assertNoRuleOwnershipConflicts(configs: readonly Linter.Config[]): void;
19
+ export {};
20
+ //# sourceMappingURL=conflicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/tiers/conflicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EA6DrD,CAAA;AAEV,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;AAkB1D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAY/F;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAA;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;CACnC;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,qBAAqB,EAAE,CAuBzB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAYtF"}
@@ -0,0 +1,35 @@
1
+ import type { Linter } from 'eslint';
2
+ /**
3
+ * Tier 0 — correctness: type safety, bug prevention, import restrictions.
4
+ * Each subsequent tier is a superset of the previous tier.
5
+ */
6
+ export declare const configTier0Correctness: Linter.Config[];
7
+ export declare const configTier0CorrectnessTypeChecked: Linter.Config[];
8
+ /**
9
+ * Tier 1 — consistency: Tier 0 plus formatting, member ordering, and complexity limits.
10
+ */
11
+ export declare const configTier1Consistency: Linter.Config[];
12
+ export declare const configTier1ConsistencyTypeChecked: Linter.Config[];
13
+ /**
14
+ * Tier 2 — best practices: Tier 1 plus unicorn and import validation.
15
+ * This is the recommended default for XY Labs repositories.
16
+ */
17
+ export declare const configTier2BestPractices: Linter.Config[];
18
+ export declare const configTier2BestPracticesTypeChecked: Linter.Config[];
19
+ /**
20
+ * Tier 3 — opinionated: Tier 2 plus stricter optional rules (still mostly warnings).
21
+ */
22
+ export declare const configTier3Opinionated: Linter.Config[];
23
+ export declare const configTier3OpinionatedTypeChecked: Linter.Config[];
24
+ /**
25
+ * Tier 4 — strict: Tier 3 plus SonarJS and promotion of warnings to errors.
26
+ */
27
+ export declare const configTier4Strict: Linter.Config[];
28
+ export declare const configTier4StrictTypeChecked: Linter.Config[];
29
+ /** @deprecated Use `configTier2BestPractices` instead. */
30
+ export declare const recommendedConfig: Linter.Config[];
31
+ /** @deprecated Use `configTier2BestPracticesTypeChecked` instead. */
32
+ export declare const recommendedTypeCheckedConfig: Linter.Config[];
33
+ /** Compatibility alias — identical to `configTier2BestPracticesTypeChecked`. */
34
+ export declare const config: Linter.Config[];
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAuBpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAIjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAI5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAKjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAK5D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAInD,CAAA;AAED,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAI9D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAG5C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE1E,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAEhG,gFAAgF;AAChF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const opinionatedLayerConfig: Linter.Config;
3
+ export declare const strictPromotionRules: Linter.Config['rules'];
4
+ export declare const strictLayerConfig: Linter.Config;
5
+ //# sourceMappingURL=opinionated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opinionated.d.ts","sourceRoot":"","sources":["../../../src/tiers/opinionated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKpC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAU3C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAuCvD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAGtC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export interface PluginRuleSnapshot {
2
+ readonly plugin: string;
3
+ readonly rules: readonly string[];
4
+ readonly source: string;
5
+ }
6
+ export declare function collectPluginRuleSnapshots(): PluginRuleSnapshot[];
7
+ export declare function serializePluginRuleSnapshots(snapshots: readonly PluginRuleSnapshot[]): string;
8
+ //# sourceMappingURL=plugin-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-rules.d.ts","sourceRoot":"","sources":["../../../src/tiers/plugin-rules.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAyCD,wBAAgB,0BAA0B,IAAI,kBAAkB,EAAE,CAwEjE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAE7F"}
@@ -1,4 +1,9 @@
1
1
  import type { Linter } from 'eslint';
2
+ export declare const typescriptDelegationConfig: Linter.Config;
3
+ export declare const typescriptCorrectnessConfig: Linter.Config[];
4
+ export declare const typescriptConsistencyConfig: Linter.Config[];
5
+ export declare const typescriptTypeCheckedCorrectnessConfig: Linter.Config[];
6
+ export declare const typescriptTypeCheckedConsistencyConfig: Linter.Config[];
2
7
  export declare const typescriptConfig: Linter.Config[];
3
8
  export declare const typescriptTypeCheckedConfig: Linter.Config[];
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0J5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAI3C,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAStD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0K5C,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAU/C,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAGtD,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAGtD,CAAA;AAED,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAQjE,CAAA;AAED,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAGjE,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAI3C,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAItD,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const unicornV66NewRules: readonly ["unicorn/class-reference-in-static-methods", "unicorn/comment-content", "unicorn/consistent-class-member-order", "unicorn/consistent-export-decorator-position", "unicorn/consistent-optional-chaining", "unicorn/explicit-timer-delay", "unicorn/max-nested-calls", "unicorn/no-array-reverse", "unicorn/no-array-sort", "unicorn/no-break-in-nested-loop", "unicorn/no-computed-property-existence-check", "unicorn/no-confusing-array-with", "unicorn/no-declarations-before-early-exit", "unicorn/no-duplicate-loops", "unicorn/no-error-property-assignment", "unicorn/no-for-each", "unicorn/no-global-object-property-assignment", "unicorn/no-incorrect-template-string-interpolation", "unicorn/no-invalid-argument-count", "unicorn/no-mismatched-map-key", "unicorn/no-negated-array-predicate", "unicorn/no-negated-comparison", "unicorn/no-object-methods-with-collections", "unicorn/no-optional-chaining-on-undeclared-variable", "unicorn/no-redundant-comparison", "unicorn/no-return-array-push", "unicorn/no-subtraction-comparison", "unicorn/no-top-level-side-effects", "unicorn/no-undeclared-class-members", "unicorn/no-unnecessary-global-this", "unicorn/no-unnecessary-splice", "unicorn/no-unreadable-new-expression", "unicorn/no-unreadable-object-destructuring", "unicorn/no-unsafe-buffer-conversion", "unicorn/no-unsafe-property-key", "unicorn/no-unsafe-string-replacement", "unicorn/no-useless-boolean-cast", "unicorn/no-useless-concat", "unicorn/no-useless-else", "unicorn/no-useless-recursion", "unicorn/no-useless-template-literals", "unicorn/prefer-add-event-listener-options", "unicorn/prefer-array-from-map", "unicorn/prefer-await", "unicorn/prefer-direct-iteration", "unicorn/prefer-early-return", "unicorn/prefer-global-number-constants", "unicorn/prefer-identifier-import-export-specifiers", "unicorn/prefer-iterable-in-constructor", "unicorn/prefer-iterator-to-array", "unicorn/prefer-location-assign", "unicorn/prefer-minimal-ternary", "unicorn/prefer-number-coercion", "unicorn/prefer-number-is-safe-integer", "unicorn/prefer-object-define-properties", "unicorn/prefer-object-destructuring-defaults", "unicorn/prefer-object-iterable-methods", "unicorn/prefer-path2d", "unicorn/prefer-private-class-fields", "unicorn/prefer-scoped-selector", "unicorn/prefer-short-arrow-method", "unicorn/prefer-simple-sort-comparator", "unicorn/prefer-single-array-predicate", "unicorn/prefer-single-object-destructuring", "unicorn/prefer-smaller-scope", "unicorn/prefer-type-literal-last", "unicorn/prefer-uint8array-base64", "unicorn/prefer-unicode-code-point-escapes", "unicorn/prefer-url-href", "unicorn/require-array-sort-compare", "unicorn/require-proxy-trap-boolean-return"];
2
+ export declare const unicornV66MigrationQueue: readonly ["unicorn/class-reference-in-static-methods", "unicorn/comment-content", "unicorn/consistent-export-decorator-position", "unicorn/consistent-optional-chaining", "unicorn/explicit-timer-delay", "unicorn/no-array-reverse", "unicorn/no-array-sort", "unicorn/no-break-in-nested-loop", "unicorn/no-computed-property-existence-check", "unicorn/no-confusing-array-with", "unicorn/no-declarations-before-early-exit", "unicorn/no-duplicate-loops", "unicorn/no-error-property-assignment", "unicorn/no-for-each", "unicorn/no-global-object-property-assignment", "unicorn/no-incorrect-template-string-interpolation", "unicorn/no-invalid-argument-count", "unicorn/no-mismatched-map-key", "unicorn/no-negated-array-predicate", "unicorn/no-negated-comparison", "unicorn/no-object-methods-with-collections", "unicorn/no-optional-chaining-on-undeclared-variable", "unicorn/no-redundant-comparison", "unicorn/no-return-array-push", "unicorn/no-subtraction-comparison", "unicorn/no-top-level-side-effects", "unicorn/no-undeclared-class-members", "unicorn/no-unnecessary-global-this", "unicorn/no-unnecessary-splice", "unicorn/no-unreadable-new-expression", "unicorn/no-unreadable-object-destructuring", "unicorn/no-unsafe-buffer-conversion", "unicorn/no-unsafe-property-key", "unicorn/no-unsafe-string-replacement", "unicorn/no-useless-boolean-cast", "unicorn/no-useless-concat", "unicorn/no-useless-else", "unicorn/no-useless-recursion", "unicorn/no-useless-template-literals", "unicorn/prefer-add-event-listener-options", "unicorn/prefer-array-from-map", "unicorn/prefer-await", "unicorn/prefer-direct-iteration", "unicorn/prefer-early-return", "unicorn/prefer-global-number-constants", "unicorn/prefer-identifier-import-export-specifiers", "unicorn/prefer-iterable-in-constructor", "unicorn/prefer-iterator-to-array", "unicorn/prefer-location-assign", "unicorn/prefer-minimal-ternary", "unicorn/prefer-number-coercion", "unicorn/prefer-number-is-safe-integer", "unicorn/prefer-object-define-properties", "unicorn/prefer-object-destructuring-defaults", "unicorn/prefer-object-iterable-methods", "unicorn/prefer-path2d", "unicorn/prefer-private-class-fields", "unicorn/prefer-scoped-selector", "unicorn/prefer-short-arrow-method", "unicorn/prefer-simple-sort-comparator", "unicorn/prefer-single-array-predicate", "unicorn/prefer-single-object-destructuring", "unicorn/prefer-smaller-scope", "unicorn/prefer-type-literal-last", "unicorn/prefer-uint8array-base64", "unicorn/prefer-unicode-code-point-escapes", "unicorn/prefer-url-href", "unicorn/require-array-sort-compare", "unicorn/require-proxy-trap-boolean-return"];
3
+ /** @deprecated Use `unicornV66MigrationQueue` instead. */
4
+ export declare const unicornV66NewRules: readonly ["unicorn/class-reference-in-static-methods", "unicorn/comment-content", "unicorn/consistent-export-decorator-position", "unicorn/consistent-optional-chaining", "unicorn/explicit-timer-delay", "unicorn/no-array-reverse", "unicorn/no-array-sort", "unicorn/no-break-in-nested-loop", "unicorn/no-computed-property-existence-check", "unicorn/no-confusing-array-with", "unicorn/no-declarations-before-early-exit", "unicorn/no-duplicate-loops", "unicorn/no-error-property-assignment", "unicorn/no-for-each", "unicorn/no-global-object-property-assignment", "unicorn/no-incorrect-template-string-interpolation", "unicorn/no-invalid-argument-count", "unicorn/no-mismatched-map-key", "unicorn/no-negated-array-predicate", "unicorn/no-negated-comparison", "unicorn/no-object-methods-with-collections", "unicorn/no-optional-chaining-on-undeclared-variable", "unicorn/no-redundant-comparison", "unicorn/no-return-array-push", "unicorn/no-subtraction-comparison", "unicorn/no-top-level-side-effects", "unicorn/no-undeclared-class-members", "unicorn/no-unnecessary-global-this", "unicorn/no-unnecessary-splice", "unicorn/no-unreadable-new-expression", "unicorn/no-unreadable-object-destructuring", "unicorn/no-unsafe-buffer-conversion", "unicorn/no-unsafe-property-key", "unicorn/no-unsafe-string-replacement", "unicorn/no-useless-boolean-cast", "unicorn/no-useless-concat", "unicorn/no-useless-else", "unicorn/no-useless-recursion", "unicorn/no-useless-template-literals", "unicorn/prefer-add-event-listener-options", "unicorn/prefer-array-from-map", "unicorn/prefer-await", "unicorn/prefer-direct-iteration", "unicorn/prefer-early-return", "unicorn/prefer-global-number-constants", "unicorn/prefer-identifier-import-export-specifiers", "unicorn/prefer-iterable-in-constructor", "unicorn/prefer-iterator-to-array", "unicorn/prefer-location-assign", "unicorn/prefer-minimal-ternary", "unicorn/prefer-number-coercion", "unicorn/prefer-number-is-safe-integer", "unicorn/prefer-object-define-properties", "unicorn/prefer-object-destructuring-defaults", "unicorn/prefer-object-iterable-methods", "unicorn/prefer-path2d", "unicorn/prefer-private-class-fields", "unicorn/prefer-scoped-selector", "unicorn/prefer-short-arrow-method", "unicorn/prefer-simple-sort-comparator", "unicorn/prefer-single-array-predicate", "unicorn/prefer-single-object-destructuring", "unicorn/prefer-smaller-scope", "unicorn/prefer-type-literal-last", "unicorn/prefer-uint8array-base64", "unicorn/prefer-unicode-code-point-escapes", "unicorn/prefer-url-href", "unicorn/require-array-sort-compare", "unicorn/require-proxy-trap-boolean-return"];
3
5
  export declare const unicornConfig: Linter.Config;
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unicorn/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI5C,eAAO,MAAM,kBAAkB,snFAwErB,CAAA;AAEV,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAqBlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unicorn/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAM5C,eAAO,MAAM,wBAAwB,ijFAsE3B,CAAA;AAEV,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,ijFAA2B,CAAA;AAE1D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAgClC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAOrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAQrC,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": "8.2.0",
4
+ "version": "8.2.2",
5
5
  "description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
6
6
  "keywords": [
7
7
  "xylabs",
@@ -59,8 +59,8 @@
59
59
  "typescript": "^6.0.3",
60
60
  "vite": "^8.0.16",
61
61
  "vitest": "~4.1.8",
62
- "@xylabs/toolchain": "~8.2.0",
63
- "@xylabs/tsconfig": "~8.2.0"
62
+ "@xylabs/tsconfig": "~8.2.2",
63
+ "@xylabs/toolchain": "~8.2.2"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "browserslist": ">= 4.21.0",