@useinsider/eslint-config 4.0.0-beta.3 → 4.0.0-beta.4

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 (48) hide show
  1. package/dist/cli.cjs +27 -8
  2. package/dist/cli.cjs.map +1 -1
  3. package/dist/{javascript-dom-CvtQ6_9W.cjs → javascript-dom-bySaQErv.cjs} +4 -4
  4. package/dist/{javascript-dom-CvtQ6_9W.cjs.map → javascript-dom-bySaQErv.cjs.map} +1 -1
  5. package/dist/{javascript-node-BNsy3loY.cjs → javascript-node-DZxexKer.cjs} +4 -4
  6. package/dist/{javascript-node-BNsy3loY.cjs.map → javascript-node-DZxexKer.cjs.map} +1 -1
  7. package/dist/{javascript-DH8-N38w.cjs → javascript-ycJ4W-e9.cjs} +5 -5
  8. package/dist/{javascript-DH8-N38w.cjs.map → javascript-ycJ4W-e9.cjs.map} +1 -1
  9. package/dist/{jest-4Es9Ggaa.cjs → jest-B2fpQmUB.cjs} +3 -3
  10. package/dist/{jest-4Es9Ggaa.cjs.map → jest-B2fpQmUB.cjs.map} +1 -1
  11. package/dist/main.cjs +30 -32
  12. package/dist/main.cjs.map +1 -1
  13. package/dist/main.js +4 -6
  14. package/dist/main.js.map +1 -1
  15. package/dist/{oxlintOwnership-7hpdB3d1.cjs → removedOptions-BYMW8w__.cjs} +29 -1
  16. package/dist/removedOptions-BYMW8w__.cjs.map +1 -0
  17. package/dist/{oxlintOwnership-Cx0hgA_J.js → removedOptions-Cb8SG8SI.js} +18 -2
  18. package/dist/removedOptions-Cb8SG8SI.js.map +1 -0
  19. package/dist/{stylistic-CoP3MT1Y.cjs → stylistic-B2hCwBRu.cjs} +4 -4
  20. package/dist/{stylistic-CoP3MT1Y.cjs.map → stylistic-B2hCwBRu.cjs.map} +1 -1
  21. package/dist/{typescript-D3VeLnpn.cjs → typescript-DdgbCNKI.cjs} +7 -7
  22. package/dist/{typescript-D3VeLnpn.cjs.map → typescript-DdgbCNKI.cjs.map} +1 -1
  23. package/dist/{typescript-dom-iB_xBTAD.cjs → typescript-dom-C0NNSGLd.cjs} +4 -4
  24. package/dist/{typescript-dom-iB_xBTAD.cjs.map → typescript-dom-C0NNSGLd.cjs.map} +1 -1
  25. package/dist/{typescript-node-Cq6qhj53.cjs → typescript-node-CjG8N83q.cjs} +4 -4
  26. package/dist/{typescript-node-Cq6qhj53.cjs.map → typescript-node-CjG8N83q.cjs.map} +1 -1
  27. package/dist/utils/removedOptions.d.ts +10 -0
  28. package/dist/{vitest-BlGQswK2.cjs → vitest-B3kOWOzo.cjs} +3 -3
  29. package/dist/{vitest-BlGQswK2.cjs.map → vitest-B3kOWOzo.cjs.map} +1 -1
  30. package/dist/{vue2-Da1i_oVn.cjs → vue2-DfL5FqeZ.cjs} +8 -8
  31. package/dist/{vue2-Da1i_oVn.cjs.map → vue2-DfL5FqeZ.cjs.map} +1 -1
  32. package/dist/{vue2-options-api-BSdrUm8H.cjs → vue2-options-api-sSrBV5Si.cjs} +8 -8
  33. package/dist/{vue2-options-api-BSdrUm8H.cjs.map → vue2-options-api-sSrBV5Si.cjs.map} +1 -1
  34. package/dist/{vue2-typescript-options-api-LM7U5dWq.cjs → vue2-typescript-options-api-CbRC2wf-.cjs} +10 -10
  35. package/dist/{vue2-typescript-options-api-LM7U5dWq.cjs.map → vue2-typescript-options-api-CbRC2wf-.cjs.map} +1 -1
  36. package/dist/{vue2-typescript-dXLRSGNP.cjs → vue2-typescript-rJIMzNUI.cjs} +10 -10
  37. package/dist/{vue2-typescript-dXLRSGNP.cjs.map → vue2-typescript-rJIMzNUI.cjs.map} +1 -1
  38. package/dist/{vue3-621EM2Ii.cjs → vue3-DmrGRHbo.cjs} +8 -8
  39. package/dist/{vue3-621EM2Ii.cjs.map → vue3-DmrGRHbo.cjs.map} +1 -1
  40. package/dist/{vue3-options-api-CC9_fAiq.cjs → vue3-options-api-DPEk8rBk.cjs} +8 -8
  41. package/dist/{vue3-options-api-CC9_fAiq.cjs.map → vue3-options-api-DPEk8rBk.cjs.map} +1 -1
  42. package/dist/{vue3-typescript-DONe-IKz.cjs → vue3-typescript-Dz5BM0LJ.cjs} +10 -10
  43. package/dist/{vue3-typescript-DONe-IKz.cjs.map → vue3-typescript-Dz5BM0LJ.cjs.map} +1 -1
  44. package/dist/{vue3-typescript-options-api-D4pqpDFs.cjs → vue3-typescript-options-api-DiYz_vVd.cjs} +10 -10
  45. package/dist/{vue3-typescript-options-api-D4pqpDFs.cjs.map → vue3-typescript-options-api-DiYz_vVd.cjs.map} +1 -1
  46. package/package.json +1 -1
  47. package/dist/oxlintOwnership-7hpdB3d1.cjs.map +0 -1
  48. package/dist/oxlintOwnership-Cx0hgA_J.js.map +0 -1
@@ -147,6 +147,22 @@ function isRuleDisabled(entry) {
147
147
  return severity === "off" || severity === 0;
148
148
  }
149
149
  //#endregion
150
+ //#region src/utils/removedOptions.ts
151
+ var removedOptions = /* @__PURE__ */ new Map([["config", "use `configFiles: string[]` instead. Its block is emitted after every scope block, so the overrides actually win; the `config` scope was emitted before them and was silently overridden for any file a language scope also matched."]]);
152
+ /**
153
+ * Renders the bullet list naming every removed option among `keys`, or `null` when none of them was
154
+ * removed. Both the runtime rejection and the migration's refusal read this registry, so a consumer
155
+ * who hits one after the other is given the same replacement rather than two wordings of it.
156
+ * @example
157
+ * describeRemovedOptions(['config']); // ' - `config`: use `configFiles: string[]` instead. …'
158
+ * describeRemovedOptions(['strict']); // null
159
+ */
160
+ function describeRemovedOptions(keys) {
161
+ const used = keys.filter((key) => removedOptions.has(key));
162
+ if (used.length === 0) return null;
163
+ return used.map((key) => ` - \`${key}\`: ${removedOptions.get(key)}`).join("\n");
164
+ }
165
+ //#endregion
150
166
  Object.defineProperty(exports, "OXLINT_CATEGORIES", {
151
167
  enumerable: true,
152
168
  get: function() {
@@ -165,6 +181,12 @@ Object.defineProperty(exports, "__toESM", {
165
181
  return __toESM;
166
182
  }
167
183
  });
184
+ Object.defineProperty(exports, "describeRemovedOptions", {
185
+ enumerable: true,
186
+ get: function() {
187
+ return describeRemovedOptions;
188
+ }
189
+ });
168
190
  Object.defineProperty(exports, "isOxlintOwned", {
169
191
  enumerable: true,
170
192
  get: function() {
@@ -183,6 +205,12 @@ Object.defineProperty(exports, "isVueUnsafeRule", {
183
205
  return isVueUnsafeRule;
184
206
  }
185
207
  });
208
+ Object.defineProperty(exports, "removedOptions", {
209
+ enumerable: true,
210
+ get: function() {
211
+ return removedOptions;
212
+ }
213
+ });
186
214
  Object.defineProperty(exports, "toOxlintPluginName", {
187
215
  enumerable: true,
188
216
  get: function() {
@@ -196,4 +224,4 @@ Object.defineProperty(exports, "toOxlintRuleName", {
196
224
  }
197
225
  });
198
226
 
199
- //# sourceMappingURL=oxlintOwnership-7hpdB3d1.cjs.map
227
+ //# sourceMappingURL=removedOptions-BYMW8w__.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removedOptions-BYMW8w__.cjs","names":[],"sources":["../src/builders/oxlintOwnership.ts","../src/utils/removedOptions.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport oxlintPlugin from 'eslint-plugin-oxlint';\nimport * as rulesByCategory from 'eslint-plugin-oxlint/rules-by-category';\nimport * as rulesByScope from 'eslint-plugin-oxlint/rules-by-scope';\n\nconst ESLINT_IMPORT_PREFIX = 'import-x/';\nconst OXLINT_IMPORT_PREFIX = 'import/';\nconst ESLINT_TYPESCRIPT_PREFIX = '@typescript-eslint/';\nconst OXLINT_TYPESCRIPT_PREFIX = 'typescript/';\n\nexport const VUE_LIKE_GLOBS: readonly string[] = ['**/*.vue', '**/*.svelte', '**/*.astro'];\n\nexport const OXLINT_CATEGORIES: readonly string[] = [\n 'correctness',\n 'suspicious',\n 'pedantic',\n 'perf',\n 'style',\n 'restriction',\n 'nursery',\n];\n\n// oxlint has no equivalent of flat-config `settings`, so any rule whose ESLint behavior is driven\n// by a settings key stays on the ESLint side. `jsdoc/check-tag-names` reads\n// `settings.jsdoc.tagNamePreference`, which the TypeScript presets use to remap `@desc`/`@callback`\n// onto `@use`/`@watch`; oxlint rejects both of those tags outright.\nexport const SETTINGS_DEPENDENT_RULES: readonly string[] = ['jsdoc/check-tag-names'];\n\n// Rules both linters implement, but whose omitted options resolve to different defaults — a bare\n// `'error'` therefore means something stricter under oxlint. `no-inner-declarations` defaults\n// `blockScopedFunctions` to `'allow'` in ESLint 9 and to `'disallow'` in oxlint, so handing oxlint\n// the preset's `'error'` would reject every block-scoped function declaration ESLint accepts.\nexport const DEFAULT_DIVERGENT_RULES: readonly string[] = ['no-inner-declarations'];\n\n// `eslint-plugin-oxlint` re-enables these for SFC-like files because oxlint cannot parse their\n// templates. Kept as a floor under the value derived from the plugin at runtime so a shape change\n// upstream can never silently drop the exception.\nconst VUE_UNSAFE_FALLBACK: readonly string[] = [\n 'no-unused-vars',\n '@typescript-eslint/no-unused-vars',\n '@typescript-eslint/consistent-type-imports',\n 'react-hooks/rules-of-hooks',\n];\n\nconst eslintPrefixToOxlintPlugin: Readonly<Record<string, string>> = {\n 'import-x': 'import',\n import: 'import',\n '@typescript-eslint': 'typescript',\n n: 'node',\n '@next/next': 'nextjs',\n 'react-hooks': 'react',\n 'react-perf': 'react-perf',\n 'jsx-a11y': 'jsx-a11y',\n};\n\nfunction collectRuleNames (namespace: Record<string, unknown>): string[] {\n return Object.values(namespace).flatMap(value => {\n if (typeof value !== 'object' || value === null) {\n return [];\n }\n\n const entries = Object.entries(value as Record<string, unknown>);\n const isRuleRecord = entries.length > 0 && entries.every(([, severity]) => severity === 'off');\n\n return isRuleRecord ? entries.map(([rule]) => rule) : [];\n });\n}\n\nfunction pickNamespace (\n namespace: Record<string, unknown>,\n matches: (key: string) => boolean\n): Record<string, unknown> {\n return Object.fromEntries(Object.entries(namespace).filter(([key]) => matches(key)));\n}\n\nconst categoryNamespace = rulesByCategory as Record<string, unknown>;\nconst scopeNamespace = rulesByScope as Record<string, unknown>;\nconst implementedRules = new Set(collectRuleNames(scopeNamespace));\n\n// Type-aware rules need `oxlint-tsgolint`, which this stage does not wire up, and nursery rules are\n// exempt from oxlint's semver guarantees. Both stay with ESLint.\nconst excludedRules = new Set([\n ...collectRuleNames(pickNamespace(categoryNamespace, key => key.endsWith('TypeAwareRules'))),\n ...collectRuleNames(pickNamespace(scopeNamespace, key => key.endsWith('TypeAwareRules'))),\n ...collectRuleNames(pickNamespace(categoryNamespace, key => key.startsWith('nursery'))),\n ...SETTINGS_DEPENDENT_RULES,\n ...DEFAULT_DIVERGENT_RULES,\n]);\n\n/**\n * The rules `eslint-plugin-oxlint` re-enables for `.vue`/`.svelte`/`.astro`, read from the plugin's\n * own `flat/all` split so the list tracks upstream instead of being hand-maintained.\n * @example\n * readVueUnsafeRules().includes('@typescript-eslint/no-unused-vars'); // true\n */\nexport function readVueUnsafeRules (): string[] {\n const [, exceptions] = oxlintPlugin.configs['flat/all'];\n const derived = exceptions?.rules ? Object.keys(exceptions.rules) : [];\n\n return [...new Set([...derived, ...VUE_UNSAFE_FALLBACK])];\n}\n\nconst vueUnsafeRules = new Set(readVueUnsafeRules());\n\nfunction normalizeToOxlintNamespace (eslintRuleName: string): string {\n return eslintRuleName.startsWith(ESLINT_IMPORT_PREFIX)\n ? `${OXLINT_IMPORT_PREFIX}${eslintRuleName.slice(ESLINT_IMPORT_PREFIX.length)}`\n : eslintRuleName;\n}\n\n/**\n * Whether oxlint owns this ESLint rule in the current split — implemented natively, not type-aware,\n * not nursery, and not driven by a flat-config `settings` key oxlint cannot read.\n * @example\n * isOxlintOwned('import-x/no-duplicates'); // true — oxlint implements it as `import/no-duplicates`\n * isOxlintOwned('sonarjs/no-identical-functions'); // false\n */\nexport function isOxlintOwned (eslintRuleName: string): boolean {\n const normalized = normalizeToOxlintNamespace(eslintRuleName);\n\n return implementedRules.has(normalized) && !excludedRules.has(normalized);\n}\n\n/**\n * Whether ESLint must keep running this rule on SFC-like files because oxlint cannot parse their\n * templates. Callers must exclude `**\\/*.vue`, `**\\/*.svelte` and `**\\/*.astro` from its suppression.\n * @example\n * isVueUnsafeRule('@typescript-eslint/no-unused-vars'); // true\n */\nexport function isVueUnsafeRule (eslintRuleName: string): boolean {\n return vueUnsafeRules.has(normalizeToOxlintNamespace(eslintRuleName));\n}\n\n/**\n * Translates an ESLint rule name into the name oxlint accepts in its config.\n * @example\n * toOxlintRuleName('no-var'); // 'eslint/no-var'\n * toOxlintRuleName('import-x/first'); // 'import/first'\n * toOxlintRuleName('@typescript-eslint/array-type'); // 'typescript/array-type'\n */\nexport function toOxlintRuleName (eslintRuleName: string): string {\n if (!eslintRuleName.includes('/')) {\n return `eslint/${eslintRuleName}`;\n }\n\n if (eslintRuleName.startsWith(ESLINT_TYPESCRIPT_PREFIX)) {\n return `${OXLINT_TYPESCRIPT_PREFIX}${eslintRuleName.slice(ESLINT_TYPESCRIPT_PREFIX.length)}`;\n }\n\n return normalizeToOxlintNamespace(eslintRuleName);\n}\n\n/**\n * The oxlint plugin id that must appear in the config's `plugins` array for a rule to be loaded.\n * @example\n * toOxlintPluginName('import-x/first'); // 'import'\n * toOxlintPluginName('no-var'); // 'eslint'\n */\nexport function toOxlintPluginName (eslintRuleName: string): string {\n if (!eslintRuleName.includes('/')) {\n return 'eslint';\n }\n\n const prefix = eslintRuleName.slice(0, eslintRuleName.lastIndexOf('/'));\n\n return eslintPrefixToOxlintPlugin[prefix] ?? prefix;\n}\n\nexport function isRuleDisabled (entry: Linter.RuleEntry | undefined): boolean {\n if (entry === undefined) {\n return true;\n }\n\n const [severity] = Array.isArray(entry) ? entry : [entry];\n\n return severity === 'off' || severity === 0;\n}\n\n/* v8 ignore start */\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest;\n\n describe('isOxlintOwned', () => {\n test('claims a natively implemented core rule', () => {\n expect(isOxlintOwned('no-var')).toBe(true);\n });\n\n test('claims an import-x rule through the import-x → import alias', () => {\n expect(isOxlintOwned('import-x/no-duplicates')).toBe(true);\n });\n\n test('leaves type-aware typescript rules with ESLint', () => {\n expect(isOxlintOwned('@typescript-eslint/no-floating-promises')).toBe(false);\n });\n\n test('leaves rules oxlint does not implement with ESLint', () => {\n expect(isOxlintOwned('sonarjs/no-identical-functions')).toBe(false);\n expect(isOxlintOwned('@stylistic/indent')).toBe(false);\n expect(isOxlintOwned('@cspell/spellchecker')).toBe(false);\n });\n\n test('leaves settings-dependent rules with ESLint', () => {\n expect(isOxlintOwned('jsdoc/check-tag-names')).toBe(false);\n });\n\n test('leaves rules whose omitted options resolve to different defaults with ESLint', () => {\n expect(DEFAULT_DIVERGENT_RULES.every(rule => !isOxlintOwned(rule))).toBe(true);\n expect(isOxlintOwned('no-inner-declarations')).toBe(false);\n });\n\n const nurseryRules = collectRuleNames(pickNamespace(categoryNamespace, key => key.startsWith('nursery')));\n\n test('reads a non-empty nursery namespace, so the exclusion below is not vacuous', () => {\n expect(nurseryRules.length).toBeGreaterThan(0);\n });\n\n test('leaves every nursery rule with ESLint, since nursery is exempt from oxlint semver', () => {\n expect(nurseryRules.filter(rule => isOxlintOwned(rule))).toStrictEqual([]);\n });\n });\n\n describe('isVueUnsafeRule', () => {\n test.each([...VUE_UNSAFE_FALLBACK])('keeps %s with ESLint inside single-file components', ruleName => {\n expect(isVueUnsafeRule(ruleName)).toBe(true);\n });\n\n test.each([\n 'no-var',\n 'no-console',\n 'sonarjs/no-identical-functions',\n ])('lets oxlint keep %s inside single-file components', ruleName => {\n expect(isVueUnsafeRule(ruleName)).toBe(false);\n });\n\n test('does not read an import-x rule as the bare ESLint rule of the same suffix', () => {\n expect(isVueUnsafeRule('import-x/no-unused-vars')).toBe(false);\n });\n });\n\n describe('toOxlintRuleName', () => {\n test.each([\n ['no-var', 'eslint/no-var'],\n ['import-x/first', 'import/first'],\n ['@typescript-eslint/array-type', 'typescript/array-type'],\n ['jsdoc/empty-tags', 'jsdoc/empty-tags'],\n ['vue/no-dupe-keys', 'vue/no-dupe-keys'],\n ])('%s → %s', (eslintName, expected) => {\n expect(toOxlintRuleName(eslintName)).toBe(expected);\n });\n });\n\n describe('toOxlintPluginName', () => {\n const expectedPluginByPrefix: Readonly<Record<string, string>> = {\n 'import-x': 'import',\n import: 'import',\n '@typescript-eslint': 'typescript',\n n: 'node',\n '@next/next': 'nextjs',\n 'react-hooks': 'react',\n 'react-perf': 'react-perf',\n 'jsx-a11y': 'jsx-a11y',\n };\n\n const byName = (left: string, right: string): number => left.localeCompare(right);\n\n test('names every prefix the remap table carries, so no entry goes unexercised', () => {\n expect(Object.keys(expectedPluginByPrefix).sort(byName))\n .toStrictEqual(Object.keys(eslintPrefixToOxlintPlugin).sort(byName));\n });\n\n test.each(Object.entries(expectedPluginByPrefix))(\n 'a %s rule loads the %s plugin',\n (prefix, plugin) => {\n expect(toOxlintPluginName(`${prefix}/some-rule`)).toBe(plugin);\n }\n );\n\n test.each([\n ['no-var', 'eslint'],\n ['jsdoc/empty-tags', 'jsdoc'],\n ['vitest/no-focused-tests', 'vitest'],\n ['vue/no-dupe-keys', 'vue'],\n ])('%s → %s', (eslintName, expected) => {\n expect(toOxlintPluginName(eslintName)).toBe(expected);\n });\n });\n\n describe('readVueUnsafeRules', () => {\n test('derives the upstream exception list rather than only the pinned fallback', () => {\n const [, exceptions] = oxlintPlugin.configs['flat/all'];\n\n expect(exceptions?.rules).toBeDefined();\n expect(Object.keys(exceptions?.rules ?? {}).length).toBeGreaterThan(0);\n });\n\n test('covers every rule oxlint cannot check inside an SFC', () => {\n expect(readVueUnsafeRules()).toEqual(expect.arrayContaining([...VUE_UNSAFE_FALLBACK]));\n });\n });\n\n describe('isRuleDisabled', () => {\n test.each([\n [undefined, true],\n ['off' as Linter.RuleEntry, true],\n [0 as Linter.RuleEntry, true],\n [['off'] as Linter.RuleEntry, true],\n ['error' as Linter.RuleEntry, false],\n [['error', { allow: [] }] as Linter.RuleEntry, false],\n [2 as Linter.RuleEntry, false],\n ])('%s → %s', (entry, expected) => {\n expect(isRuleDisabled(entry)).toBe(expected);\n });\n });\n}\n","export const removedOptions: ReadonlyMap<string, string> = new Map([\n [\n 'config',\n 'use `configFiles: string[]` instead. Its block is emitted after every scope block, so'\n + ' the overrides actually win; the `config` scope was emitted before them and was silently'\n + ' overridden for any file a language scope also matched.',\n ],\n]);\n\n/**\n * Renders the bullet list naming every removed option among `keys`, or `null` when none of them was\n * removed. Both the runtime rejection and the migration's refusal read this registry, so a consumer\n * who hits one after the other is given the same replacement rather than two wordings of it.\n * @example\n * describeRemovedOptions(['config']); // ' - `config`: use `configFiles: string[]` instead. …'\n * describeRemovedOptions(['strict']); // null\n */\nexport function describeRemovedOptions (keys: readonly string[]): string | null {\n const used = keys.filter(key => removedOptions.has(key));\n\n if (used.length === 0) {\n return null;\n }\n\n return used.map(key => ` - \\`${key}\\`: ${removedOptions.get(key)}`).join('\\n');\n}\n\n/* v8 ignore start */\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest;\n\n describe('describeRemovedOptions', () => {\n test('returns null when no key was removed', () => {\n expect(describeRemovedOptions(['ignores', 'strict', 'typescriptNode'])).toBeNull();\n });\n\n test('names the replacement for every registered removal', () => {\n [...removedOptions.keys()].forEach(key => {\n const described = describeRemovedOptions([key]);\n\n expect(described).toContain(`\\`${key}\\``);\n expect(described).toBe(` - \\`${key}\\`: ${removedOptions.get(key)}`);\n });\n });\n\n test('points `config` at configFiles', () => {\n expect(describeRemovedOptions(['config'])).toContain('`configFiles: string[]`');\n });\n\n test('lists one bullet per line, in the order the keys were given', () => {\n const described = describeRemovedOptions(['strict', ...removedOptions.keys()]);\n\n expect(described?.split('\\n')).toHaveLength(removedOptions.size);\n });\n });\n}\n"],"mappings":"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"}
@@ -122,6 +122,22 @@ function isRuleDisabled(entry) {
122
122
  return severity === "off" || severity === 0;
123
123
  }
124
124
  //#endregion
125
- export { isVueUnsafeRule as a, isRuleDisabled as i, VUE_LIKE_GLOBS as n, toOxlintPluginName as o, isOxlintOwned as r, toOxlintRuleName as s, OXLINT_CATEGORIES as t };
125
+ //#region src/utils/removedOptions.ts
126
+ var removedOptions = /* @__PURE__ */ new Map([["config", "use `configFiles: string[]` instead. Its block is emitted after every scope block, so the overrides actually win; the `config` scope was emitted before them and was silently overridden for any file a language scope also matched."]]);
127
+ /**
128
+ * Renders the bullet list naming every removed option among `keys`, or `null` when none of them was
129
+ * removed. Both the runtime rejection and the migration's refusal read this registry, so a consumer
130
+ * who hits one after the other is given the same replacement rather than two wordings of it.
131
+ * @example
132
+ * describeRemovedOptions(['config']); // ' - `config`: use `configFiles: string[]` instead. …'
133
+ * describeRemovedOptions(['strict']); // null
134
+ */
135
+ function describeRemovedOptions(keys) {
136
+ const used = keys.filter((key) => removedOptions.has(key));
137
+ if (used.length === 0) return null;
138
+ return used.map((key) => ` - \`${key}\`: ${removedOptions.get(key)}`).join("\n");
139
+ }
140
+ //#endregion
141
+ export { isOxlintOwned as a, toOxlintPluginName as c, VUE_LIKE_GLOBS as i, toOxlintRuleName as l, removedOptions as n, isRuleDisabled as o, OXLINT_CATEGORIES as r, isVueUnsafeRule as s, describeRemovedOptions as t };
126
142
 
127
- //# sourceMappingURL=oxlintOwnership-Cx0hgA_J.js.map
143
+ //# sourceMappingURL=removedOptions-Cb8SG8SI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removedOptions-Cb8SG8SI.js","names":[],"sources":["../src/builders/oxlintOwnership.ts","../src/utils/removedOptions.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport oxlintPlugin from 'eslint-plugin-oxlint';\nimport * as rulesByCategory from 'eslint-plugin-oxlint/rules-by-category';\nimport * as rulesByScope from 'eslint-plugin-oxlint/rules-by-scope';\n\nconst ESLINT_IMPORT_PREFIX = 'import-x/';\nconst OXLINT_IMPORT_PREFIX = 'import/';\nconst ESLINT_TYPESCRIPT_PREFIX = '@typescript-eslint/';\nconst OXLINT_TYPESCRIPT_PREFIX = 'typescript/';\n\nexport const VUE_LIKE_GLOBS: readonly string[] = ['**/*.vue', '**/*.svelte', '**/*.astro'];\n\nexport const OXLINT_CATEGORIES: readonly string[] = [\n 'correctness',\n 'suspicious',\n 'pedantic',\n 'perf',\n 'style',\n 'restriction',\n 'nursery',\n];\n\n// oxlint has no equivalent of flat-config `settings`, so any rule whose ESLint behavior is driven\n// by a settings key stays on the ESLint side. `jsdoc/check-tag-names` reads\n// `settings.jsdoc.tagNamePreference`, which the TypeScript presets use to remap `@desc`/`@callback`\n// onto `@use`/`@watch`; oxlint rejects both of those tags outright.\nexport const SETTINGS_DEPENDENT_RULES: readonly string[] = ['jsdoc/check-tag-names'];\n\n// Rules both linters implement, but whose omitted options resolve to different defaults — a bare\n// `'error'` therefore means something stricter under oxlint. `no-inner-declarations` defaults\n// `blockScopedFunctions` to `'allow'` in ESLint 9 and to `'disallow'` in oxlint, so handing oxlint\n// the preset's `'error'` would reject every block-scoped function declaration ESLint accepts.\nexport const DEFAULT_DIVERGENT_RULES: readonly string[] = ['no-inner-declarations'];\n\n// `eslint-plugin-oxlint` re-enables these for SFC-like files because oxlint cannot parse their\n// templates. Kept as a floor under the value derived from the plugin at runtime so a shape change\n// upstream can never silently drop the exception.\nconst VUE_UNSAFE_FALLBACK: readonly string[] = [\n 'no-unused-vars',\n '@typescript-eslint/no-unused-vars',\n '@typescript-eslint/consistent-type-imports',\n 'react-hooks/rules-of-hooks',\n];\n\nconst eslintPrefixToOxlintPlugin: Readonly<Record<string, string>> = {\n 'import-x': 'import',\n import: 'import',\n '@typescript-eslint': 'typescript',\n n: 'node',\n '@next/next': 'nextjs',\n 'react-hooks': 'react',\n 'react-perf': 'react-perf',\n 'jsx-a11y': 'jsx-a11y',\n};\n\nfunction collectRuleNames (namespace: Record<string, unknown>): string[] {\n return Object.values(namespace).flatMap(value => {\n if (typeof value !== 'object' || value === null) {\n return [];\n }\n\n const entries = Object.entries(value as Record<string, unknown>);\n const isRuleRecord = entries.length > 0 && entries.every(([, severity]) => severity === 'off');\n\n return isRuleRecord ? entries.map(([rule]) => rule) : [];\n });\n}\n\nfunction pickNamespace (\n namespace: Record<string, unknown>,\n matches: (key: string) => boolean\n): Record<string, unknown> {\n return Object.fromEntries(Object.entries(namespace).filter(([key]) => matches(key)));\n}\n\nconst categoryNamespace = rulesByCategory as Record<string, unknown>;\nconst scopeNamespace = rulesByScope as Record<string, unknown>;\nconst implementedRules = new Set(collectRuleNames(scopeNamespace));\n\n// Type-aware rules need `oxlint-tsgolint`, which this stage does not wire up, and nursery rules are\n// exempt from oxlint's semver guarantees. Both stay with ESLint.\nconst excludedRules = new Set([\n ...collectRuleNames(pickNamespace(categoryNamespace, key => key.endsWith('TypeAwareRules'))),\n ...collectRuleNames(pickNamespace(scopeNamespace, key => key.endsWith('TypeAwareRules'))),\n ...collectRuleNames(pickNamespace(categoryNamespace, key => key.startsWith('nursery'))),\n ...SETTINGS_DEPENDENT_RULES,\n ...DEFAULT_DIVERGENT_RULES,\n]);\n\n/**\n * The rules `eslint-plugin-oxlint` re-enables for `.vue`/`.svelte`/`.astro`, read from the plugin's\n * own `flat/all` split so the list tracks upstream instead of being hand-maintained.\n * @example\n * readVueUnsafeRules().includes('@typescript-eslint/no-unused-vars'); // true\n */\nexport function readVueUnsafeRules (): string[] {\n const [, exceptions] = oxlintPlugin.configs['flat/all'];\n const derived = exceptions?.rules ? Object.keys(exceptions.rules) : [];\n\n return [...new Set([...derived, ...VUE_UNSAFE_FALLBACK])];\n}\n\nconst vueUnsafeRules = new Set(readVueUnsafeRules());\n\nfunction normalizeToOxlintNamespace (eslintRuleName: string): string {\n return eslintRuleName.startsWith(ESLINT_IMPORT_PREFIX)\n ? `${OXLINT_IMPORT_PREFIX}${eslintRuleName.slice(ESLINT_IMPORT_PREFIX.length)}`\n : eslintRuleName;\n}\n\n/**\n * Whether oxlint owns this ESLint rule in the current split — implemented natively, not type-aware,\n * not nursery, and not driven by a flat-config `settings` key oxlint cannot read.\n * @example\n * isOxlintOwned('import-x/no-duplicates'); // true — oxlint implements it as `import/no-duplicates`\n * isOxlintOwned('sonarjs/no-identical-functions'); // false\n */\nexport function isOxlintOwned (eslintRuleName: string): boolean {\n const normalized = normalizeToOxlintNamespace(eslintRuleName);\n\n return implementedRules.has(normalized) && !excludedRules.has(normalized);\n}\n\n/**\n * Whether ESLint must keep running this rule on SFC-like files because oxlint cannot parse their\n * templates. Callers must exclude `**\\/*.vue`, `**\\/*.svelte` and `**\\/*.astro` from its suppression.\n * @example\n * isVueUnsafeRule('@typescript-eslint/no-unused-vars'); // true\n */\nexport function isVueUnsafeRule (eslintRuleName: string): boolean {\n return vueUnsafeRules.has(normalizeToOxlintNamespace(eslintRuleName));\n}\n\n/**\n * Translates an ESLint rule name into the name oxlint accepts in its config.\n * @example\n * toOxlintRuleName('no-var'); // 'eslint/no-var'\n * toOxlintRuleName('import-x/first'); // 'import/first'\n * toOxlintRuleName('@typescript-eslint/array-type'); // 'typescript/array-type'\n */\nexport function toOxlintRuleName (eslintRuleName: string): string {\n if (!eslintRuleName.includes('/')) {\n return `eslint/${eslintRuleName}`;\n }\n\n if (eslintRuleName.startsWith(ESLINT_TYPESCRIPT_PREFIX)) {\n return `${OXLINT_TYPESCRIPT_PREFIX}${eslintRuleName.slice(ESLINT_TYPESCRIPT_PREFIX.length)}`;\n }\n\n return normalizeToOxlintNamespace(eslintRuleName);\n}\n\n/**\n * The oxlint plugin id that must appear in the config's `plugins` array for a rule to be loaded.\n * @example\n * toOxlintPluginName('import-x/first'); // 'import'\n * toOxlintPluginName('no-var'); // 'eslint'\n */\nexport function toOxlintPluginName (eslintRuleName: string): string {\n if (!eslintRuleName.includes('/')) {\n return 'eslint';\n }\n\n const prefix = eslintRuleName.slice(0, eslintRuleName.lastIndexOf('/'));\n\n return eslintPrefixToOxlintPlugin[prefix] ?? prefix;\n}\n\nexport function isRuleDisabled (entry: Linter.RuleEntry | undefined): boolean {\n if (entry === undefined) {\n return true;\n }\n\n const [severity] = Array.isArray(entry) ? entry : [entry];\n\n return severity === 'off' || severity === 0;\n}\n\n/* v8 ignore start */\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest;\n\n describe('isOxlintOwned', () => {\n test('claims a natively implemented core rule', () => {\n expect(isOxlintOwned('no-var')).toBe(true);\n });\n\n test('claims an import-x rule through the import-x → import alias', () => {\n expect(isOxlintOwned('import-x/no-duplicates')).toBe(true);\n });\n\n test('leaves type-aware typescript rules with ESLint', () => {\n expect(isOxlintOwned('@typescript-eslint/no-floating-promises')).toBe(false);\n });\n\n test('leaves rules oxlint does not implement with ESLint', () => {\n expect(isOxlintOwned('sonarjs/no-identical-functions')).toBe(false);\n expect(isOxlintOwned('@stylistic/indent')).toBe(false);\n expect(isOxlintOwned('@cspell/spellchecker')).toBe(false);\n });\n\n test('leaves settings-dependent rules with ESLint', () => {\n expect(isOxlintOwned('jsdoc/check-tag-names')).toBe(false);\n });\n\n test('leaves rules whose omitted options resolve to different defaults with ESLint', () => {\n expect(DEFAULT_DIVERGENT_RULES.every(rule => !isOxlintOwned(rule))).toBe(true);\n expect(isOxlintOwned('no-inner-declarations')).toBe(false);\n });\n\n const nurseryRules = collectRuleNames(pickNamespace(categoryNamespace, key => key.startsWith('nursery')));\n\n test('reads a non-empty nursery namespace, so the exclusion below is not vacuous', () => {\n expect(nurseryRules.length).toBeGreaterThan(0);\n });\n\n test('leaves every nursery rule with ESLint, since nursery is exempt from oxlint semver', () => {\n expect(nurseryRules.filter(rule => isOxlintOwned(rule))).toStrictEqual([]);\n });\n });\n\n describe('isVueUnsafeRule', () => {\n test.each([...VUE_UNSAFE_FALLBACK])('keeps %s with ESLint inside single-file components', ruleName => {\n expect(isVueUnsafeRule(ruleName)).toBe(true);\n });\n\n test.each([\n 'no-var',\n 'no-console',\n 'sonarjs/no-identical-functions',\n ])('lets oxlint keep %s inside single-file components', ruleName => {\n expect(isVueUnsafeRule(ruleName)).toBe(false);\n });\n\n test('does not read an import-x rule as the bare ESLint rule of the same suffix', () => {\n expect(isVueUnsafeRule('import-x/no-unused-vars')).toBe(false);\n });\n });\n\n describe('toOxlintRuleName', () => {\n test.each([\n ['no-var', 'eslint/no-var'],\n ['import-x/first', 'import/first'],\n ['@typescript-eslint/array-type', 'typescript/array-type'],\n ['jsdoc/empty-tags', 'jsdoc/empty-tags'],\n ['vue/no-dupe-keys', 'vue/no-dupe-keys'],\n ])('%s → %s', (eslintName, expected) => {\n expect(toOxlintRuleName(eslintName)).toBe(expected);\n });\n });\n\n describe('toOxlintPluginName', () => {\n const expectedPluginByPrefix: Readonly<Record<string, string>> = {\n 'import-x': 'import',\n import: 'import',\n '@typescript-eslint': 'typescript',\n n: 'node',\n '@next/next': 'nextjs',\n 'react-hooks': 'react',\n 'react-perf': 'react-perf',\n 'jsx-a11y': 'jsx-a11y',\n };\n\n const byName = (left: string, right: string): number => left.localeCompare(right);\n\n test('names every prefix the remap table carries, so no entry goes unexercised', () => {\n expect(Object.keys(expectedPluginByPrefix).sort(byName))\n .toStrictEqual(Object.keys(eslintPrefixToOxlintPlugin).sort(byName));\n });\n\n test.each(Object.entries(expectedPluginByPrefix))(\n 'a %s rule loads the %s plugin',\n (prefix, plugin) => {\n expect(toOxlintPluginName(`${prefix}/some-rule`)).toBe(plugin);\n }\n );\n\n test.each([\n ['no-var', 'eslint'],\n ['jsdoc/empty-tags', 'jsdoc'],\n ['vitest/no-focused-tests', 'vitest'],\n ['vue/no-dupe-keys', 'vue'],\n ])('%s → %s', (eslintName, expected) => {\n expect(toOxlintPluginName(eslintName)).toBe(expected);\n });\n });\n\n describe('readVueUnsafeRules', () => {\n test('derives the upstream exception list rather than only the pinned fallback', () => {\n const [, exceptions] = oxlintPlugin.configs['flat/all'];\n\n expect(exceptions?.rules).toBeDefined();\n expect(Object.keys(exceptions?.rules ?? {}).length).toBeGreaterThan(0);\n });\n\n test('covers every rule oxlint cannot check inside an SFC', () => {\n expect(readVueUnsafeRules()).toEqual(expect.arrayContaining([...VUE_UNSAFE_FALLBACK]));\n });\n });\n\n describe('isRuleDisabled', () => {\n test.each([\n [undefined, true],\n ['off' as Linter.RuleEntry, true],\n [0 as Linter.RuleEntry, true],\n [['off'] as Linter.RuleEntry, true],\n ['error' as Linter.RuleEntry, false],\n [['error', { allow: [] }] as Linter.RuleEntry, false],\n [2 as Linter.RuleEntry, false],\n ])('%s → %s', (entry, expected) => {\n expect(isRuleDisabled(entry)).toBe(expected);\n });\n });\n}\n","export const removedOptions: ReadonlyMap<string, string> = new Map([\n [\n 'config',\n 'use `configFiles: string[]` instead. Its block is emitted after every scope block, so'\n + ' the overrides actually win; the `config` scope was emitted before them and was silently'\n + ' overridden for any file a language scope also matched.',\n ],\n]);\n\n/**\n * Renders the bullet list naming every removed option among `keys`, or `null` when none of them was\n * removed. Both the runtime rejection and the migration's refusal read this registry, so a consumer\n * who hits one after the other is given the same replacement rather than two wordings of it.\n * @example\n * describeRemovedOptions(['config']); // ' - `config`: use `configFiles: string[]` instead. …'\n * describeRemovedOptions(['strict']); // null\n */\nexport function describeRemovedOptions (keys: readonly string[]): string | null {\n const used = keys.filter(key => removedOptions.has(key));\n\n if (used.length === 0) {\n return null;\n }\n\n return used.map(key => ` - \\`${key}\\`: ${removedOptions.get(key)}`).join('\\n');\n}\n\n/* v8 ignore start */\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest;\n\n describe('describeRemovedOptions', () => {\n test('returns null when no key was removed', () => {\n expect(describeRemovedOptions(['ignores', 'strict', 'typescriptNode'])).toBeNull();\n });\n\n test('names the replacement for every registered removal', () => {\n [...removedOptions.keys()].forEach(key => {\n const described = describeRemovedOptions([key]);\n\n expect(described).toContain(`\\`${key}\\``);\n expect(described).toBe(` - \\`${key}\\`: ${removedOptions.get(key)}`);\n });\n });\n\n test('points `config` at configFiles', () => {\n expect(describeRemovedOptions(['config'])).toContain('`configFiles: string[]`');\n });\n\n test('lists one bullet per line, in the order the keys were given', () => {\n const described = describeRemovedOptions(['strict', ...removedOptions.keys()]);\n\n expect(described?.split('\\n')).toHaveLength(removedOptions.size);\n });\n });\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
3
  let _cspell_eslint_plugin_recommended = require("@cspell/eslint-plugin/recommended");
4
- _cspell_eslint_plugin_recommended = require_oxlintOwnership.__toESM(_cspell_eslint_plugin_recommended, 1);
4
+ _cspell_eslint_plugin_recommended = require_removedOptions.__toESM(_cspell_eslint_plugin_recommended, 1);
5
5
  let _eslint_js = require("@eslint/js");
6
- _eslint_js = require_oxlintOwnership.__toESM(_eslint_js, 1);
6
+ _eslint_js = require_removedOptions.__toESM(_eslint_js, 1);
7
7
  //#region src/rules/jsdoc.ts
8
8
  var jsdoc_default = { rules: {
9
9
  "jsdoc/check-param-names": ["error"],
@@ -517,4 +517,4 @@ Object.defineProperty(exports, "stylistic_default", {
517
517
  }
518
518
  });
519
519
 
520
- //# sourceMappingURL=stylistic-CoP3MT1Y.cjs.map
520
+ //# sourceMappingURL=stylistic-B2hCwBRu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"stylistic-CoP3MT1Y.cjs","names":[],"sources":["../src/rules/jsdoc.ts","../src/base.ts","../src/rules/core.ts","../src/rules/cspell.ts","../src/rules/importRules.ts","../src/rules/stylistic.ts"],"sourcesContent":["import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n 'jsdoc/check-param-names': ['error'],\n 'jsdoc/check-tag-names': ['error'],\n 'jsdoc/no-undefined-types': 'off',\n 'jsdoc/require-param': ['error', {\n enableRestElementFixer: false,\n enableRootFixer: false,\n }],\n 'jsdoc/require-jsdoc': ['off'],\n 'jsdoc/require-param-description': 'off',\n 'jsdoc/require-param-type': ['error'],\n 'jsdoc/require-property-description': 'off',\n 'jsdoc/require-returns': ['error', {\n contexts: ['TSInterfaceDeclaration', 'TSMethodSignature'],\n forceRequireReturn: true,\n exemptedBy: ['inheritdoc', 'watch'],\n }],\n 'jsdoc/require-returns-check': ['error'],\n 'jsdoc/require-returns-description': 'off',\n 'jsdoc/tag-lines': ['error'],\n 'jsdoc/valid-types': 'off',\n 'jsdoc/check-types': ['error'],\n 'jsdoc/no-multi-asterisks': ['error'],\n 'jsdoc/check-alignment': ['error'],\n 'jsdoc/sort-tags': ['error', {\n linesBetween: 1,\n tagSequence: [{\n tags: [\n 'todo',\n 'description',\n 'deprecated',\n 'namespace',\n 'private',\n 'protected',\n 'public',\n 'static',\n 'readonly',\n 'since',\n 'access',\n 'template',\n 'typedef',\n 'class',\n 'augments',\n 'mixes',\n 'extends',\n 'interface',\n 'this',\n 'constructor',\n 'alias',\n 'memberof',\n 'example',\n 'use',\n 'see',\n 'link',\n 'global',\n 'fires',\n 'listens',\n 'type',\n 'param',\n 'property',\n 'yields',\n 'returns',\n 'lends',\n 'override',\n 'todo',\n ],\n }],\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\nimport cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended';\nimport js from '@eslint/js';\nimport jsdoc from './rules/jsdoc';\nimport { merge } from './utils/merge';\n\nexport function preConfig () {\n return merge(\n js.configs.recommended as Linter.Config,\n cspellESLintPluginRecommended as Linter.Config\n );\n}\n\nexport function postConfig (): Linter.Config {\n return merge(\n jsdoc,\n {\n languageOptions: {\n ecmaVersion: 2022,\n parserOptions: {\n ecmaVersion: 2022,\n },\n },\n rules: {\n 'jsdoc/require-param': 'off',\n 'jsdoc/require-jsdoc': 'off',\n 'jsdoc/require-returns': 'off',\n 'jsdoc/require-param-type': 'off',\n 'jsdoc/check-param-names': 'off',\n },\n } satisfies Linter.Config\n );\n}\n","import type { Linter } from 'eslint';\nimport type { Entries } from 'type-fest';\n\n// InToasts is intentionally absent from DS_V1_TO_V2 — ToastV2 replacement not yet exported from DS v1.2.0.\nconst DS_V1_TO_V2_MAP = {\n InBox: 'InContainer',\n InButton: 'InButtonV2',\n InCheckBox: 'InCheckBoxV2',\n InCustomDropDown: 'InDropdownMenu',\n InDataTable: 'InDataTableV2',\n InDatePicker: 'InDatePickerV2',\n InDropDown: 'InSelect',\n InModals: 'InModalV2',\n InMultiDropDown: 'InMultiSelect',\n InSidebar: 'InSidebarV2',\n InSuperInput: 'InRichTextInput',\n InTagsText: 'InChips',\n InTextInput: 'InBasicTextInput',\n InTooltip: 'InTooltipV2',\n} as const;\n\nconst DS_V1_TO_V2 = (Object.entries(DS_V1_TO_V2_MAP) as Entries<typeof DS_V1_TO_V2_MAP>).map(([v1, v2]) => ({\n name: '@useinsider/design-system-vue',\n importNames: [v1],\n message: `It is marked as deprecated. Use '${v2}' instead.` as const,\n} as const));\n\nconst overriddenRules: Linter.RulesRecord = {\n // https://eslint.style/rules/js/function-call-spacing\n 'no-spaced-func': 'off',\n};\n\nexport default {\n rules: {\n ...overriddenRules,\n 'arrow-parens': 'off',\n camelcase: ['error', {\n allow: ['^\\\\$_'],\n properties: 'never',\n }],\n 'comma-dangle': 'off',\n 'consistent-return': ['error'],\n 'class-methods-use-this': 'off',\n curly: ['error', 'all'],\n 'dot-notation': ['error'],\n 'function-paren-newline': 'off',\n 'guard-for-in': 'error',\n 'handle-callback-err': ['error'],\n indent: 'off',\n 'max-len': 'off',\n 'new-cap': ['error'],\n 'no-alert': ['error'],\n 'no-bitwise': ['error', {\n allow: ['~'],\n }],\n 'no-caller': ['error'],\n 'no-case-declarations': ['error'],\n 'no-confusing-arrow': ['error', {\n allowParens: true,\n }],\n 'no-console': ['error'],\n 'no-debugger': ['error'],\n 'no-div-regex': ['error'],\n 'no-dupe-args': ['error'],\n 'no-dupe-keys': ['error'],\n 'no-duplicate-case': ['error'],\n 'no-else-return': ['error'],\n 'no-empty': ['error'],\n 'no-extra-bind': ['error'],\n 'no-extra-boolean-cast': 'error',\n 'no-fallthrough': ['error'],\n 'no-implicit-coercion': ['error', {\n boolean: true,\n number: true,\n string: true,\n }],\n 'implicit-arrow-linebreak': 'off',\n 'no-invalid-regexp': ['error'],\n 'no-iterator': ['error'],\n 'no-mixed-operators': 'off',\n 'no-multi-spaces': 'off',\n 'no-multi-str': ['error'],\n 'no-multiple-empty-lines': 'off',\n 'no-native-reassign': 'error',\n 'no-nested-ternary': ['error'],\n 'no-new': 'off',\n 'no-new-object': ['error'],\n 'no-new-require': ['error'],\n 'no-param-reassign': ['error', {\n props: false,\n }],\n 'no-plusplus': 'off',\n 'no-process-exit': ['error'],\n 'no-promise-executor-return': ['error', {\n allowVoid: true,\n }],\n 'no-return-assign': ['error', 'except-parens'],\n 'no-self-compare': ['error'],\n 'no-sequences': ['error'],\n 'no-shadow': ['error', {\n allow: ['state'],\n }],\n 'no-undef': ['error'],\n 'no-underscore-dangle': 'off',\n 'no-unexpected-multiline': ['error'],\n 'no-unreachable': ['error'],\n 'no-unused-vars': ['error'],\n 'no-use-before-define': 'error',\n 'no-useless-call': ['error'],\n 'no-void': 'off',\n 'no-with': ['error'],\n 'object-curly-newline': 'off',\n 'object-shorthand': ['error', 'always'],\n 'padded-blocks': 'off',\n 'prefer-const': ['error', {\n destructuring: 'all',\n }],\n 'prefer-destructuring': ['error'],\n radix: ['error', 'as-needed'],\n semi: 'off',\n 'space-before-function-paren': 'off',\n 'space-in-parens': 'off',\n strict: ['error', 'never'],\n 'use-isnan': ['error'],\n 'valid-typeof': ['error'],\n 'no-trailing-spaces': 'off',\n 'no-restricted-imports': ['error', {\n paths: DS_V1_TO_V2,\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n '@cspell/spellchecker': ['error', {\n customWordListFile: './cspell.json',\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n 'import-x/extensions': ['error', {\n css: 'always',\n js: 'never',\n json: 'always',\n jsx: 'never',\n sass: 'always',\n scss: 'always',\n svg: 'always',\n ts: 'never',\n tsx: 'never',\n vue: 'always',\n }],\n 'import-x/no-cycle': 'off',\n 'import-x/no-unresolved': 'off',\n 'import-x/order': ['error', {\n alphabetize: {\n caseInsensitive: true,\n order: 'asc',\n },\n groups: ['index', 'builtin', 'object', 'type', 'external', 'parent', 'internal', 'sibling'],\n pathGroups: [{\n group: 'internal',\n pattern: '@/**',\n }],\n }],\n 'import-x/prefer-default-export': 'off',\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n '@stylistic/array-bracket-newline': ['error', 'consistent'],\n '@stylistic/array-bracket-spacing': ['error', 'never'],\n '@stylistic/array-element-newline': ['error', 'consistent'],\n '@stylistic/arrow-parens': ['error', 'as-needed'],\n '@stylistic/arrow-spacing': ['error'],\n '@stylistic/brace-style': ['error', '1tbs'],\n '@stylistic/comma-dangle': ['error', {\n arrays: 'always-multiline',\n exports: 'always-multiline',\n functions: 'never',\n imports: 'always-multiline',\n objects: 'always-multiline',\n enums: 'always-multiline',\n generics: 'always-multiline',\n tuples: 'always-multiline',\n }],\n '@stylistic/comma-spacing': ['error'],\n '@stylistic/computed-property-spacing': ['error'],\n '@stylistic/dot-location': ['error', 'property'],\n '@stylistic/eol-last': ['error', 'always'],\n '@stylistic/function-call-argument-newline': ['error', 'consistent'],\n '@stylistic/function-call-spacing': ['error', 'never'],\n '@stylistic/function-paren-newline': ['error', 'consistent'],\n '@stylistic/implicit-arrow-linebreak': ['error', 'beside'],\n '@stylistic/indent': ['error', 4, {\n SwitchCase: 1,\n ignoredNodes: [\n 'PropertyDefinition[decorators]',\n 'TSUnionType',\n ],\n }],\n '@stylistic/key-spacing': ['error'],\n '@stylistic/keyword-spacing': ['error'],\n '@stylistic/linebreak-style': ['error', 'unix'],\n '@stylistic/lines-between-class-members': ['error', 'always', {\n exceptAfterSingleLine: true,\n }],\n '@stylistic/max-len': ['error', 120, {\n ignoreComments: true,\n ignoreRegExpLiterals: true,\n ignoreTrailingComments: true,\n ignoreUrls: true,\n }],\n '@stylistic/max-statements-per-line': ['error', {\n max: 2,\n }],\n '@stylistic/member-delimiter-style': ['error', {\n multiline: {\n requireLast: true,\n },\n singleline: {\n requireLast: false,\n },\n }],\n '@stylistic/multiline-ternary': ['error', 'always-multiline'],\n '@stylistic/new-parens': ['error', 'always'],\n '@stylistic/no-extra-parens': ['error', 'all', {\n allowParensAfterCommentPattern: '@type|@satisfies',\n ignoredNodes: [\n \"ArrowFunctionExpression[body.type='ConditionalExpression']\",\n 'TSUnionType',\n 'TSTypeAnnotation:has(> TSUnionType)',\n 'TSTypeAliasDeclaration:has(> TSUnionType)',\n 'TSIntersectionType',\n 'TSTypeAnnotation:has(> TSIntersectionType)',\n 'TSTypeAliasDeclaration:has(> TSIntersectionType)',\n ],\n nestedBinaryExpressions: false,\n returnAssign: false,\n }],\n '@stylistic/no-extra-semi': ['error'],\n '@stylistic/no-floating-decimal': 'error',\n '@stylistic/no-mixed-operators': ['error', {\n allowSamePrecedence: true,\n groups: [\n ['&', '|', '^', '~', '<<', '>>', '>>>'],\n ['==', '!=', '===', '!==', '>', '>=', '<', '<='],\n ['&&', '||'],\n ['in', 'instanceof'],\n ],\n }],\n '@stylistic/no-mixed-spaces-and-tabs': ['error'],\n '@stylistic/no-multi-spaces': ['error'],\n '@stylistic/no-multiple-empty-lines': ['error', {\n max: 1,\n maxEOF: 0,\n maxBOF: 0,\n }],\n '@stylistic/no-trailing-spaces': ['error'],\n '@stylistic/no-whitespace-before-property': ['error'],\n '@stylistic/object-curly-newline': ['error', {\n multiline: true,\n consistent: true,\n }],\n '@stylistic/object-curly-spacing': ['error', 'always'],\n '@stylistic/padded-blocks': ['error', 'never'],\n '@stylistic/quote-props': ['error', 'as-needed'],\n '@stylistic/quotes': ['error', 'single', {\n avoidEscape: true,\n }],\n '@stylistic/rest-spread-spacing': ['error', 'never'],\n '@stylistic/semi': ['error'],\n '@stylistic/semi-spacing': ['error', {\n after: true,\n before: false,\n }],\n '@stylistic/semi-style': ['error', 'last'],\n '@stylistic/space-before-blocks': ['error'],\n '@stylistic/space-before-function-paren': ['error', {\n anonymous: 'always',\n named: 'always',\n }],\n '@stylistic/space-in-parens': ['error', 'never'],\n '@stylistic/space-infix-ops': ['error'],\n '@stylistic/spaced-comment': ['error', 'always', {\n markers: ['/'],\n }],\n '@stylistic/template-curly-spacing': ['error', 'never'],\n '@stylistic/template-tag-spacing': ['error', 'never'],\n '@stylistic/type-annotation-spacing': ['error'],\n '@stylistic/type-generic-spacing': ['error'],\n '@stylistic/padding-line-between-statements': [\n 'error',\n {\n blankLine: 'always',\n next: '*',\n prev: ['const', 'let', 'var', 'if', 'block-like', 'directive'],\n },\n {\n blankLine: 'always',\n next: [\n 'const',\n 'let',\n 'var',\n 'if',\n 'while',\n 'directive',\n 'throw',\n 'return',\n 'break',\n 'default',\n 'cjs-export',\n 'export',\n 'continue',\n 'iife',\n ],\n prev: '*',\n },\n {\n blankLine: 'always',\n prev: ['*'],\n next: ['cjs-export', 'export'],\n },\n {\n blankLine: 'any',\n next: ['const', 'let', 'var', 'directive'],\n prev: ['const', 'let', 'var', 'directive'],\n },\n {\n blankLine: 'never',\n next: ['singleline-const', 'singleline-let', 'singleline-var'],\n prev: ['singleline-const', 'singleline-let', 'singleline-var'],\n },\n {\n blankLine: 'always',\n next: ['multiline-block-like'],\n prev: ['*'],\n },\n {\n blankLine: 'always',\n next: ['*'],\n prev: ['multiline-block-like'],\n },\n {\n blankLine: 'any',\n next: ['case'],\n prev: ['case'],\n },\n {\n blankLine: 'any',\n next: ['singleline-const', 'singleline-let', 'singleline-var'],\n prev: ['cjs-import'],\n },\n ],\n },\n} as Linter.Config;\n"],"mappings":"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"}
1
+ {"version":3,"file":"stylistic-B2hCwBRu.cjs","names":[],"sources":["../src/rules/jsdoc.ts","../src/base.ts","../src/rules/core.ts","../src/rules/cspell.ts","../src/rules/importRules.ts","../src/rules/stylistic.ts"],"sourcesContent":["import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n 'jsdoc/check-param-names': ['error'],\n 'jsdoc/check-tag-names': ['error'],\n 'jsdoc/no-undefined-types': 'off',\n 'jsdoc/require-param': ['error', {\n enableRestElementFixer: false,\n enableRootFixer: false,\n }],\n 'jsdoc/require-jsdoc': ['off'],\n 'jsdoc/require-param-description': 'off',\n 'jsdoc/require-param-type': ['error'],\n 'jsdoc/require-property-description': 'off',\n 'jsdoc/require-returns': ['error', {\n contexts: ['TSInterfaceDeclaration', 'TSMethodSignature'],\n forceRequireReturn: true,\n exemptedBy: ['inheritdoc', 'watch'],\n }],\n 'jsdoc/require-returns-check': ['error'],\n 'jsdoc/require-returns-description': 'off',\n 'jsdoc/tag-lines': ['error'],\n 'jsdoc/valid-types': 'off',\n 'jsdoc/check-types': ['error'],\n 'jsdoc/no-multi-asterisks': ['error'],\n 'jsdoc/check-alignment': ['error'],\n 'jsdoc/sort-tags': ['error', {\n linesBetween: 1,\n tagSequence: [{\n tags: [\n 'todo',\n 'description',\n 'deprecated',\n 'namespace',\n 'private',\n 'protected',\n 'public',\n 'static',\n 'readonly',\n 'since',\n 'access',\n 'template',\n 'typedef',\n 'class',\n 'augments',\n 'mixes',\n 'extends',\n 'interface',\n 'this',\n 'constructor',\n 'alias',\n 'memberof',\n 'example',\n 'use',\n 'see',\n 'link',\n 'global',\n 'fires',\n 'listens',\n 'type',\n 'param',\n 'property',\n 'yields',\n 'returns',\n 'lends',\n 'override',\n 'todo',\n ],\n }],\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\nimport cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended';\nimport js from '@eslint/js';\nimport jsdoc from './rules/jsdoc';\nimport { merge } from './utils/merge';\n\nexport function preConfig () {\n return merge(\n js.configs.recommended as Linter.Config,\n cspellESLintPluginRecommended as Linter.Config\n );\n}\n\nexport function postConfig (): Linter.Config {\n return merge(\n jsdoc,\n {\n languageOptions: {\n ecmaVersion: 2022,\n parserOptions: {\n ecmaVersion: 2022,\n },\n },\n rules: {\n 'jsdoc/require-param': 'off',\n 'jsdoc/require-jsdoc': 'off',\n 'jsdoc/require-returns': 'off',\n 'jsdoc/require-param-type': 'off',\n 'jsdoc/check-param-names': 'off',\n },\n } satisfies Linter.Config\n );\n}\n","import type { Linter } from 'eslint';\nimport type { Entries } from 'type-fest';\n\n// InToasts is intentionally absent from DS_V1_TO_V2 — ToastV2 replacement not yet exported from DS v1.2.0.\nconst DS_V1_TO_V2_MAP = {\n InBox: 'InContainer',\n InButton: 'InButtonV2',\n InCheckBox: 'InCheckBoxV2',\n InCustomDropDown: 'InDropdownMenu',\n InDataTable: 'InDataTableV2',\n InDatePicker: 'InDatePickerV2',\n InDropDown: 'InSelect',\n InModals: 'InModalV2',\n InMultiDropDown: 'InMultiSelect',\n InSidebar: 'InSidebarV2',\n InSuperInput: 'InRichTextInput',\n InTagsText: 'InChips',\n InTextInput: 'InBasicTextInput',\n InTooltip: 'InTooltipV2',\n} as const;\n\nconst DS_V1_TO_V2 = (Object.entries(DS_V1_TO_V2_MAP) as Entries<typeof DS_V1_TO_V2_MAP>).map(([v1, v2]) => ({\n name: '@useinsider/design-system-vue',\n importNames: [v1],\n message: `It is marked as deprecated. Use '${v2}' instead.` as const,\n} as const));\n\nconst overriddenRules: Linter.RulesRecord = {\n // https://eslint.style/rules/js/function-call-spacing\n 'no-spaced-func': 'off',\n};\n\nexport default {\n rules: {\n ...overriddenRules,\n 'arrow-parens': 'off',\n camelcase: ['error', {\n allow: ['^\\\\$_'],\n properties: 'never',\n }],\n 'comma-dangle': 'off',\n 'consistent-return': ['error'],\n 'class-methods-use-this': 'off',\n curly: ['error', 'all'],\n 'dot-notation': ['error'],\n 'function-paren-newline': 'off',\n 'guard-for-in': 'error',\n 'handle-callback-err': ['error'],\n indent: 'off',\n 'max-len': 'off',\n 'new-cap': ['error'],\n 'no-alert': ['error'],\n 'no-bitwise': ['error', {\n allow: ['~'],\n }],\n 'no-caller': ['error'],\n 'no-case-declarations': ['error'],\n 'no-confusing-arrow': ['error', {\n allowParens: true,\n }],\n 'no-console': ['error'],\n 'no-debugger': ['error'],\n 'no-div-regex': ['error'],\n 'no-dupe-args': ['error'],\n 'no-dupe-keys': ['error'],\n 'no-duplicate-case': ['error'],\n 'no-else-return': ['error'],\n 'no-empty': ['error'],\n 'no-extra-bind': ['error'],\n 'no-extra-boolean-cast': 'error',\n 'no-fallthrough': ['error'],\n 'no-implicit-coercion': ['error', {\n boolean: true,\n number: true,\n string: true,\n }],\n 'implicit-arrow-linebreak': 'off',\n 'no-invalid-regexp': ['error'],\n 'no-iterator': ['error'],\n 'no-mixed-operators': 'off',\n 'no-multi-spaces': 'off',\n 'no-multi-str': ['error'],\n 'no-multiple-empty-lines': 'off',\n 'no-native-reassign': 'error',\n 'no-nested-ternary': ['error'],\n 'no-new': 'off',\n 'no-new-object': ['error'],\n 'no-new-require': ['error'],\n 'no-param-reassign': ['error', {\n props: false,\n }],\n 'no-plusplus': 'off',\n 'no-process-exit': ['error'],\n 'no-promise-executor-return': ['error', {\n allowVoid: true,\n }],\n 'no-return-assign': ['error', 'except-parens'],\n 'no-self-compare': ['error'],\n 'no-sequences': ['error'],\n 'no-shadow': ['error', {\n allow: ['state'],\n }],\n 'no-undef': ['error'],\n 'no-underscore-dangle': 'off',\n 'no-unexpected-multiline': ['error'],\n 'no-unreachable': ['error'],\n 'no-unused-vars': ['error'],\n 'no-use-before-define': 'error',\n 'no-useless-call': ['error'],\n 'no-void': 'off',\n 'no-with': ['error'],\n 'object-curly-newline': 'off',\n 'object-shorthand': ['error', 'always'],\n 'padded-blocks': 'off',\n 'prefer-const': ['error', {\n destructuring: 'all',\n }],\n 'prefer-destructuring': ['error'],\n radix: ['error', 'as-needed'],\n semi: 'off',\n 'space-before-function-paren': 'off',\n 'space-in-parens': 'off',\n strict: ['error', 'never'],\n 'use-isnan': ['error'],\n 'valid-typeof': ['error'],\n 'no-trailing-spaces': 'off',\n 'no-restricted-imports': ['error', {\n paths: DS_V1_TO_V2,\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n '@cspell/spellchecker': ['error', {\n customWordListFile: './cspell.json',\n }],\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n 'import-x/extensions': ['error', {\n css: 'always',\n js: 'never',\n json: 'always',\n jsx: 'never',\n sass: 'always',\n scss: 'always',\n svg: 'always',\n ts: 'never',\n tsx: 'never',\n vue: 'always',\n }],\n 'import-x/no-cycle': 'off',\n 'import-x/no-unresolved': 'off',\n 'import-x/order': ['error', {\n alphabetize: {\n caseInsensitive: true,\n order: 'asc',\n },\n groups: ['index', 'builtin', 'object', 'type', 'external', 'parent', 'internal', 'sibling'],\n pathGroups: [{\n group: 'internal',\n pattern: '@/**',\n }],\n }],\n 'import-x/prefer-default-export': 'off',\n },\n} as Linter.Config;\n","import type { Linter } from 'eslint';\n\nexport default {\n rules: {\n '@stylistic/array-bracket-newline': ['error', 'consistent'],\n '@stylistic/array-bracket-spacing': ['error', 'never'],\n '@stylistic/array-element-newline': ['error', 'consistent'],\n '@stylistic/arrow-parens': ['error', 'as-needed'],\n '@stylistic/arrow-spacing': ['error'],\n '@stylistic/brace-style': ['error', '1tbs'],\n '@stylistic/comma-dangle': ['error', {\n arrays: 'always-multiline',\n exports: 'always-multiline',\n functions: 'never',\n imports: 'always-multiline',\n objects: 'always-multiline',\n enums: 'always-multiline',\n generics: 'always-multiline',\n tuples: 'always-multiline',\n }],\n '@stylistic/comma-spacing': ['error'],\n '@stylistic/computed-property-spacing': ['error'],\n '@stylistic/dot-location': ['error', 'property'],\n '@stylistic/eol-last': ['error', 'always'],\n '@stylistic/function-call-argument-newline': ['error', 'consistent'],\n '@stylistic/function-call-spacing': ['error', 'never'],\n '@stylistic/function-paren-newline': ['error', 'consistent'],\n '@stylistic/implicit-arrow-linebreak': ['error', 'beside'],\n '@stylistic/indent': ['error', 4, {\n SwitchCase: 1,\n ignoredNodes: [\n 'PropertyDefinition[decorators]',\n 'TSUnionType',\n ],\n }],\n '@stylistic/key-spacing': ['error'],\n '@stylistic/keyword-spacing': ['error'],\n '@stylistic/linebreak-style': ['error', 'unix'],\n '@stylistic/lines-between-class-members': ['error', 'always', {\n exceptAfterSingleLine: true,\n }],\n '@stylistic/max-len': ['error', 120, {\n ignoreComments: true,\n ignoreRegExpLiterals: true,\n ignoreTrailingComments: true,\n ignoreUrls: true,\n }],\n '@stylistic/max-statements-per-line': ['error', {\n max: 2,\n }],\n '@stylistic/member-delimiter-style': ['error', {\n multiline: {\n requireLast: true,\n },\n singleline: {\n requireLast: false,\n },\n }],\n '@stylistic/multiline-ternary': ['error', 'always-multiline'],\n '@stylistic/new-parens': ['error', 'always'],\n '@stylistic/no-extra-parens': ['error', 'all', {\n allowParensAfterCommentPattern: '@type|@satisfies',\n ignoredNodes: [\n \"ArrowFunctionExpression[body.type='ConditionalExpression']\",\n 'TSUnionType',\n 'TSTypeAnnotation:has(> TSUnionType)',\n 'TSTypeAliasDeclaration:has(> TSUnionType)',\n 'TSIntersectionType',\n 'TSTypeAnnotation:has(> TSIntersectionType)',\n 'TSTypeAliasDeclaration:has(> TSIntersectionType)',\n ],\n nestedBinaryExpressions: false,\n returnAssign: false,\n }],\n '@stylistic/no-extra-semi': ['error'],\n '@stylistic/no-floating-decimal': 'error',\n '@stylistic/no-mixed-operators': ['error', {\n allowSamePrecedence: true,\n groups: [\n ['&', '|', '^', '~', '<<', '>>', '>>>'],\n ['==', '!=', '===', '!==', '>', '>=', '<', '<='],\n ['&&', '||'],\n ['in', 'instanceof'],\n ],\n }],\n '@stylistic/no-mixed-spaces-and-tabs': ['error'],\n '@stylistic/no-multi-spaces': ['error'],\n '@stylistic/no-multiple-empty-lines': ['error', {\n max: 1,\n maxEOF: 0,\n maxBOF: 0,\n }],\n '@stylistic/no-trailing-spaces': ['error'],\n '@stylistic/no-whitespace-before-property': ['error'],\n '@stylistic/object-curly-newline': ['error', {\n multiline: true,\n consistent: true,\n }],\n '@stylistic/object-curly-spacing': ['error', 'always'],\n '@stylistic/padded-blocks': ['error', 'never'],\n '@stylistic/quote-props': ['error', 'as-needed'],\n '@stylistic/quotes': ['error', 'single', {\n avoidEscape: true,\n }],\n '@stylistic/rest-spread-spacing': ['error', 'never'],\n '@stylistic/semi': ['error'],\n '@stylistic/semi-spacing': ['error', {\n after: true,\n before: false,\n }],\n '@stylistic/semi-style': ['error', 'last'],\n '@stylistic/space-before-blocks': ['error'],\n '@stylistic/space-before-function-paren': ['error', {\n anonymous: 'always',\n named: 'always',\n }],\n '@stylistic/space-in-parens': ['error', 'never'],\n '@stylistic/space-infix-ops': ['error'],\n '@stylistic/spaced-comment': ['error', 'always', {\n markers: ['/'],\n }],\n '@stylistic/template-curly-spacing': ['error', 'never'],\n '@stylistic/template-tag-spacing': ['error', 'never'],\n '@stylistic/type-annotation-spacing': ['error'],\n '@stylistic/type-generic-spacing': ['error'],\n '@stylistic/padding-line-between-statements': [\n 'error',\n {\n blankLine: 'always',\n next: '*',\n prev: ['const', 'let', 'var', 'if', 'block-like', 'directive'],\n },\n {\n blankLine: 'always',\n next: [\n 'const',\n 'let',\n 'var',\n 'if',\n 'while',\n 'directive',\n 'throw',\n 'return',\n 'break',\n 'default',\n 'cjs-export',\n 'export',\n 'continue',\n 'iife',\n ],\n prev: '*',\n },\n {\n blankLine: 'always',\n prev: ['*'],\n next: ['cjs-export', 'export'],\n },\n {\n blankLine: 'any',\n next: ['const', 'let', 'var', 'directive'],\n prev: ['const', 'let', 'var', 'directive'],\n },\n {\n blankLine: 'never',\n next: ['singleline-const', 'singleline-let', 'singleline-var'],\n prev: ['singleline-const', 'singleline-let', 'singleline-var'],\n },\n {\n blankLine: 'always',\n next: ['multiline-block-like'],\n prev: ['*'],\n },\n {\n blankLine: 'always',\n next: ['*'],\n prev: ['multiline-block-like'],\n },\n {\n blankLine: 'any',\n next: ['case'],\n prev: ['case'],\n },\n {\n blankLine: 'any',\n next: ['singleline-const', 'singleline-let', 'singleline-var'],\n prev: ['cjs-import'],\n },\n ],\n },\n} as Linter.Config;\n"],"mappings":";;;;;;;AAEA,IAAA,gBAAe,EACX,OAAO;CACH,2BAA2B,CAAC,OAAO;CACnC,yBAAyB,CAAC,OAAO;CACjC,4BAA4B;CAC5B,uBAAuB,CAAC,SAAS;EAC7B,wBAAwB;EACxB,iBAAiB;CACpB,CAAA;CACD,uBAAuB,CAAC,KAAK;CAC7B,mCAAmC;CACnC,4BAA4B,CAAC,OAAO;CACpC,sCAAsC;CACtC,yBAAyB,CAAC,SAAS;EAC/B,UAAU,CAAC,0BAA0B,mBAAmB;EACxD,oBAAoB;EACpB,YAAY,CAAC,cAAc,OAAO;CACrC,CAAA;CACD,+BAA+B,CAAC,OAAO;CACvC,qCAAqC;CACrC,mBAAmB,CAAC,OAAO;CAC3B,qBAAqB;CACrB,qBAAqB,CAAC,OAAO;CAC7B,4BAA4B,CAAC,OAAO;CACpC,yBAAyB,CAAC,OAAO;CACjC,mBAAmB,CAAC,SAAS;EACzB,cAAc;EACd,aAAa,CAAC,EACV,MAAM;GACF;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACH,EACJ,CAAA;CACJ,CAAA;AACJ,EACa;;;AClElB,SAAgB,YAAS;CACrB,OAAO,cAAA,MACH,WAAA,QAAG,QAAQ,aACX,kCAAA,OAA8C;AAEtD;AAEA,SAAgB,aAAU;CACtB,OAAO,cAAA,MACH,eACA;EACI,iBAAiB;GACb,aAAa;GACb,eAAe,EACX,aAAa,KAChB;EACJ;EACD,OAAO;GACH,uBAAuB;GACvB,uBAAuB;GACvB,yBAAyB;GACzB,4BAA4B;GAC5B,2BAA2B;EAC9B;CACoB,CAAA;AAEjC;ACAA,IAAA,eAAe,EACX,OAAO;CAJP,kBAAkB;CAMd,gBAAgB;CAChB,WAAW,CAAC,SAAS;EACjB,OAAO,CAAC,OAAO;EACf,YAAY;CACf,CAAA;CACD,gBAAgB;CAChB,qBAAqB,CAAC,OAAO;CAC7B,0BAA0B;CAC1B,OAAO,CAAC,SAAS,KAAK;CACtB,gBAAgB,CAAC,OAAO;CACxB,0BAA0B;CAC1B,gBAAgB;CAChB,uBAAuB,CAAC,OAAO;CAC/B,QAAQ;CACR,WAAW;CACX,WAAW,CAAC,OAAO;CACnB,YAAY,CAAC,OAAO;CACpB,cAAc,CAAC,SAAS,EACpB,OAAO,CAAC,GAAG,EACd,CAAA;CACD,aAAa,CAAC,OAAO;CACrB,wBAAwB,CAAC,OAAO;CAChC,sBAAsB,CAAC,SAAS,EAC5B,aAAa,KAChB,CAAA;CACD,cAAc,CAAC,OAAO;CACtB,eAAe,CAAC,OAAO;CACvB,gBAAgB,CAAC,OAAO;CACxB,gBAAgB,CAAC,OAAO;CACxB,gBAAgB,CAAC,OAAO;CACxB,qBAAqB,CAAC,OAAO;CAC7B,kBAAkB,CAAC,OAAO;CAC1B,YAAY,CAAC,OAAO;CACpB,iBAAiB,CAAC,OAAO;CACzB,yBAAyB;CACzB,kBAAkB,CAAC,OAAO;CAC1B,wBAAwB,CAAC,SAAS;EAC9B,SAAS;EACT,QAAQ;EACR,QAAQ;CACX,CAAA;CACD,4BAA4B;CAC5B,qBAAqB,CAAC,OAAO;CAC7B,eAAe,CAAC,OAAO;CACvB,sBAAsB;CACtB,mBAAmB;CACnB,gBAAgB,CAAC,OAAO;CACxB,2BAA2B;CAC3B,sBAAsB;CACtB,qBAAqB,CAAC,OAAO;CAC7B,UAAU;CACV,iBAAiB,CAAC,OAAO;CACzB,kBAAkB,CAAC,OAAO;CAC1B,qBAAqB,CAAC,SAAS,EAC3B,OAAO,MACV,CAAA;CACD,eAAe;CACf,mBAAmB,CAAC,OAAO;CAC3B,8BAA8B,CAAC,SAAS,EACpC,WAAW,KACd,CAAA;CACD,oBAAoB,CAAC,SAAS,eAAe;CAC7C,mBAAmB,CAAC,OAAO;CAC3B,gBAAgB,CAAC,OAAO;CACxB,aAAa,CAAC,SAAS,EACnB,OAAO,CAAC,OAAO,EAClB,CAAA;CACD,YAAY,CAAC,OAAO;CACpB,wBAAwB;CACxB,2BAA2B,CAAC,OAAO;CACnC,kBAAkB,CAAC,OAAO;CAC1B,kBAAkB,CAAC,OAAO;CAC1B,wBAAwB;CACxB,mBAAmB,CAAC,OAAO;CAC3B,WAAW;CACX,WAAW,CAAC,OAAO;CACnB,wBAAwB;CACxB,oBAAoB,CAAC,SAAS,QAAQ;CACtC,iBAAiB;CACjB,gBAAgB,CAAC,SAAS,EACtB,eAAe,MAClB,CAAA;CACD,wBAAwB,CAAC,OAAO;CAChC,OAAO,CAAC,SAAS,WAAW;CAC5B,MAAM;CACN,+BAA+B;CAC/B,mBAAmB;CACnB,QAAQ,CAAC,SAAS,OAAO;CACzB,aAAa,CAAC,OAAO;CACrB,gBAAgB,CAAC,OAAO;CACxB,sBAAsB;CACtB,yBAAyB,CAAC,SAAS,EAC/B,OA1GS,OAAO,QAAQ;EAhBhC,OAAO;EACP,UAAU;EACV,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,YAAY;EACZ,UAAU;EACV,iBAAiB;EACjB,WAAW;EACX,cAAc;EACd,YAAY;EACZ,aAAa;EACb,WAAW;CAGqB,CAAe,CAAqC,CAAC,KAAK,CAAC,IAAI,SAAS;EACxG,MAAM;EACN,aAAa,CAAC,EAAE;EAChB,SAAS,oCAAoC,GAAE;CACxC,EAsGQ,EACV,CAAA;AACJ,EACa;;;AChIlB,IAAA,iBAAe,EACX,OAAO,EACH,wBAAwB,CAAC,SAAS,EAC9B,oBAAoB,gBACvB,CAAA,EACJ,EACa;;;ACNlB,IAAA,sBAAe,EACX,OAAO;CACH,uBAAuB,CAAC,SAAS;EAC7B,KAAK;EACL,IAAI;EACJ,MAAM;EACN,KAAK;EACL,MAAM;EACN,MAAM;EACN,KAAK;EACL,IAAI;EACJ,KAAK;EACL,KAAK;CACR,CAAA;CACD,qBAAqB;CACrB,0BAA0B;CAC1B,kBAAkB,CAAC,SAAS;EACxB,aAAa;GACT,iBAAiB;GACjB,OAAO;EACV;EACD,QAAQ;GAAC;GAAS;GAAW;GAAU;GAAQ;GAAY;GAAU;GAAY;EAAS;EAC1F,YAAY,CAAC;GACT,OAAO;GACP,SAAS;EACZ,CAAA;CACJ,CAAA;CACD,kCAAkC;AACrC,EACa;;;AC7BlB,IAAA,oBAAe,EACX,OAAO;CACH,oCAAoC,CAAC,SAAS,YAAY;CAC1D,oCAAoC,CAAC,SAAS,OAAO;CACrD,oCAAoC,CAAC,SAAS,YAAY;CAC1D,2BAA2B,CAAC,SAAS,WAAW;CAChD,4BAA4B,CAAC,OAAO;CACpC,0BAA0B,CAAC,SAAS,MAAM;CAC1C,2BAA2B,CAAC,SAAS;EACjC,QAAQ;EACR,SAAS;EACT,WAAW;EACX,SAAS;EACT,SAAS;EACT,OAAO;EACP,UAAU;EACV,QAAQ;CACX,CAAA;CACD,4BAA4B,CAAC,OAAO;CACpC,wCAAwC,CAAC,OAAO;CAChD,2BAA2B,CAAC,SAAS,UAAU;CAC/C,uBAAuB,CAAC,SAAS,QAAQ;CACzC,6CAA6C,CAAC,SAAS,YAAY;CACnE,oCAAoC,CAAC,SAAS,OAAO;CACrD,qCAAqC,CAAC,SAAS,YAAY;CAC3D,uCAAuC,CAAC,SAAS,QAAQ;CACzD,qBAAqB;EAAC;EAAS;EAAG;GAC9B,YAAY;GACZ,cAAc,CACV,kCACA,aACH;EACJ;CAAA;CACD,0BAA0B,CAAC,OAAO;CAClC,8BAA8B,CAAC,OAAO;CACtC,8BAA8B,CAAC,SAAS,MAAM;CAC9C,0CAA0C;EAAC;EAAS;EAAU,EAC1D,uBAAuB,KAC1B;CAAA;CACD,sBAAsB;EAAC;EAAS;EAAK;GACjC,gBAAgB;GAChB,sBAAsB;GACtB,wBAAwB;GACxB,YAAY;EACf;CAAA;CACD,sCAAsC,CAAC,SAAS,EAC5C,KAAK,EACR,CAAA;CACD,qCAAqC,CAAC,SAAS;EAC3C,WAAW,EACP,aAAa,KAChB;EACD,YAAY,EACR,aAAa,MAChB;CACJ,CAAA;CACD,gCAAgC,CAAC,SAAS,kBAAkB;CAC5D,yBAAyB,CAAC,SAAS,QAAQ;CAC3C,8BAA8B;EAAC;EAAS;EAAO;GAC3C,gCAAgC;GAChC,cAAc;IACV;IACA;IACA;IACA;IACA;IACA;IACA;GACH;GACD,yBAAyB;GACzB,cAAc;EACjB;CAAA;CACD,4BAA4B,CAAC,OAAO;CACpC,kCAAkC;CAClC,iCAAiC,CAAC,SAAS;EACvC,qBAAqB;EACrB,QAAQ;GACJ;IAAC;IAAK;IAAK;IAAK;IAAK;IAAM;IAAM;GAAK;GACtC;IAAC;IAAM;IAAM;IAAO;IAAO;IAAK;IAAM;IAAK;GAAI;GAC/C,CAAC,MAAM,IAAI;GACX,CAAC,MAAM,YAAY;EACtB;CACJ,CAAA;CACD,uCAAuC,CAAC,OAAO;CAC/C,8BAA8B,CAAC,OAAO;CACtC,sCAAsC,CAAC,SAAS;EAC5C,KAAK;EACL,QAAQ;EACR,QAAQ;CACX,CAAA;CACD,iCAAiC,CAAC,OAAO;CACzC,4CAA4C,CAAC,OAAO;CACpD,mCAAmC,CAAC,SAAS;EACzC,WAAW;EACX,YAAY;CACf,CAAA;CACD,mCAAmC,CAAC,SAAS,QAAQ;CACrD,4BAA4B,CAAC,SAAS,OAAO;CAC7C,0BAA0B,CAAC,SAAS,WAAW;CAC/C,qBAAqB;EAAC;EAAS;EAAU,EACrC,aAAa,KAChB;CAAA;CACD,kCAAkC,CAAC,SAAS,OAAO;CACnD,mBAAmB,CAAC,OAAO;CAC3B,2BAA2B,CAAC,SAAS;EACjC,OAAO;EACP,QAAQ;CACX,CAAA;CACD,yBAAyB,CAAC,SAAS,MAAM;CACzC,kCAAkC,CAAC,OAAO;CAC1C,0CAA0C,CAAC,SAAS;EAChD,WAAW;EACX,OAAO;CACV,CAAA;CACD,8BAA8B,CAAC,SAAS,OAAO;CAC/C,8BAA8B,CAAC,OAAO;CACtC,6BAA6B;EAAC;EAAS;EAAU,EAC7C,SAAS,CAAC,GAAG,EAChB;CAAA;CACD,qCAAqC,CAAC,SAAS,OAAO;CACtD,mCAAmC,CAAC,SAAS,OAAO;CACpD,sCAAsC,CAAC,OAAO;CAC9C,mCAAmC,CAAC,OAAO;CAC3C,8CAA8C;EAC1C;EACA;GACI,WAAW;GACX,MAAM;GACN,MAAM;IAAC;IAAS;IAAO;IAAO;IAAM;IAAc;GAAW;EAChE;EACD;GACI,WAAW;GACX,MAAM;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACH;GACD,MAAM;EACT;EACD;GACI,WAAW;GACX,MAAM,CAAC,GAAG;GACV,MAAM,CAAC,cAAc,QAAQ;EAChC;EACD;GACI,WAAW;GACX,MAAM;IAAC;IAAS;IAAO;IAAO;GAAW;GACzC,MAAM;IAAC;IAAS;IAAO;IAAO;GAAW;EAC5C;EACD;GACI,WAAW;GACX,MAAM;IAAC;IAAoB;IAAkB;GAAgB;GAC7D,MAAM;IAAC;IAAoB;IAAkB;GAAgB;EAChE;EACD;GACI,WAAW;GACX,MAAM,CAAC,sBAAsB;GAC7B,MAAM,CAAC,GAAG;EACb;EACD;GACI,WAAW;GACX,MAAM,CAAC,GAAG;GACV,MAAM,CAAC,sBAAsB;EAChC;EACD;GACI,WAAW;GACX,MAAM,CAAC,MAAM;GACb,MAAM,CAAC,MAAM;EAChB;EACD;GACI,WAAW;GACX,MAAM;IAAC;IAAoB;IAAkB;GAAgB;GAC7D,MAAM,CAAC,YAAY;EACtB;CACJ;AACJ,EACa"}
@@ -1,19 +1,19 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
3
  const require_mergeAllConfig = require("./mergeAllConfig-DjMWjBNg.cjs");
4
- const require_stylistic = require("./stylistic-CoP3MT1Y.cjs");
4
+ const require_stylistic = require("./stylistic-B2hCwBRu.cjs");
5
5
  const require_removePluginsFromConfigs = require("./removePluginsFromConfigs-D0oSUj2C.cjs");
6
6
  let eslint_config = require("eslint/config");
7
7
  let _stylistic_eslint_plugin = require("@stylistic/eslint-plugin");
8
- _stylistic_eslint_plugin = require_oxlintOwnership.__toESM(_stylistic_eslint_plugin, 1);
8
+ _stylistic_eslint_plugin = require_removedOptions.__toESM(_stylistic_eslint_plugin, 1);
9
9
  let eslint_config_airbnb_extended = require("eslint-config-airbnb-extended");
10
10
  let eslint_plugin_import_x = require("eslint-plugin-import-x");
11
11
  let eslint_plugin_jsdoc = require("eslint-plugin-jsdoc");
12
- eslint_plugin_jsdoc = require_oxlintOwnership.__toESM(eslint_plugin_jsdoc, 1);
12
+ eslint_plugin_jsdoc = require_removedOptions.__toESM(eslint_plugin_jsdoc, 1);
13
13
  let _eslint_js = require("@eslint/js");
14
- _eslint_js = require_oxlintOwnership.__toESM(_eslint_js, 1);
14
+ _eslint_js = require_removedOptions.__toESM(_eslint_js, 1);
15
15
  let typescript_eslint = require("typescript-eslint");
16
- typescript_eslint = require_oxlintOwnership.__toESM(typescript_eslint, 1);
16
+ typescript_eslint = require_removedOptions.__toESM(typescript_eslint, 1);
17
17
  //#region src/configs/typescript/index.ts
18
18
  var typescript_default = require_mergeAllConfig.mergeAll((0, eslint_config.defineConfig)(_eslint_js.default.configs.recommended, eslint_plugin_import_x.importX.flatConfigs.recommended, ...eslint_config_airbnb_extended.configs.base.all, ...typescript_eslint.default.configs.recommended, ...require_removePluginsFromConfigs.removePluginsFromConfigs(typescript_eslint.default.configs.recommendedTypeChecked), eslint_plugin_jsdoc.default.configs["flat/recommended-typescript-error"], require_merge.merge(require_stylistic.preConfig(), require_stylistic.core_default, require_stylistic.importRules_default, require_stylistic.cspell_default, { plugins: { "@stylistic": _stylistic_eslint_plugin.default } }, require_stylistic.stylistic_default, require_removePluginsFromConfigs.typescript_default, require_stylistic.postConfig(), { settings: {
19
19
  jsdoc: {
@@ -31,4 +31,4 @@ var typescript_default = require_mergeAllConfig.mergeAll((0, eslint_config.defin
31
31
  //#endregion
32
32
  exports.default = typescript_default;
33
33
 
34
- //# sourceMappingURL=typescript-D3VeLnpn.cjs.map
34
+ //# sourceMappingURL=typescript-DdgbCNKI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-D3VeLnpn.cjs","names":[],"sources":["../src/configs/typescript/index.ts"],"sourcesContent":["import js from '@eslint/js';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { defineConfig } from 'eslint/config';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport ts from 'typescript-eslint';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport typescript from '~/rules/typescript';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\nimport { removePluginsFromConfigs } from '~/utils/removePluginsFromConfigs';\n\nexport default mergeAll(defineConfig(\n js.configs.recommended,\n importX.flatConfigs.recommended,\n ...airbnbConfigs.base.all,\n ...ts.configs.recommended,\n ...removePluginsFromConfigs(ts.configs.recommendedTypeChecked),\n jsdocPlugin.configs['flat/recommended-typescript-error'],\n merge(\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } },\n stylisticRules,\n typescript,\n postConfig(),\n {\n settings: {\n jsdoc: {\n mode: 'typescript',\n tagNamePreference: {\n callback: 'watch',\n desc: 'use',\n },\n },\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n }\n )\n));\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAA,qBAAe,uBAAA,UAAA,GAAS,cAAA,aAAA,CACpB,WAAA,QAAG,QAAQ,aACX,uBAAA,QAAQ,YAAY,aACpB,GAAG,8BAAA,QAAc,KAAK,KACtB,GAAG,kBAAA,QAAG,QAAQ,aACd,GAAG,iCAAA,yBAAyB,kBAAA,QAAG,QAAQ,sBAAsB,GAC7D,oBAAA,QAAY,QAAQ,sCACpB,cAAA,MACI,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,iCAAA,oBACA,kBAAA,WAAU,GACV,EACI,UAAU;CACN,OAAO;EACH,MAAM;EACN,mBAAmB;GACf,UAAU;GACV,MAAM;EACT;CACJ;CACD,mBAAmB;EACf,YAAY;EACZ,MAAM;CACT;AACJ,EACJ,CAAA,CACJ,CACJ"}
1
+ {"version":3,"file":"typescript-DdgbCNKI.cjs","names":[],"sources":["../src/configs/typescript/index.ts"],"sourcesContent":["import js from '@eslint/js';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { defineConfig } from 'eslint/config';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport ts from 'typescript-eslint';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport typescript from '~/rules/typescript';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\nimport { removePluginsFromConfigs } from '~/utils/removePluginsFromConfigs';\n\nexport default mergeAll(defineConfig(\n js.configs.recommended,\n importX.flatConfigs.recommended,\n ...airbnbConfigs.base.all,\n ...ts.configs.recommended,\n ...removePluginsFromConfigs(ts.configs.recommendedTypeChecked),\n jsdocPlugin.configs['flat/recommended-typescript-error'],\n merge(\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } },\n stylisticRules,\n typescript,\n postConfig(),\n {\n settings: {\n jsdoc: {\n mode: 'typescript',\n tagNamePreference: {\n callback: 'watch',\n desc: 'use',\n },\n },\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n }\n )\n));\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAA,qBAAe,uBAAA,UAAA,GAAS,cAAA,aAAA,CACpB,WAAA,QAAG,QAAQ,aACX,uBAAA,QAAQ,YAAY,aACpB,GAAG,8BAAA,QAAc,KAAK,KACtB,GAAG,kBAAA,QAAG,QAAQ,aACd,GAAG,iCAAA,yBAAyB,kBAAA,QAAG,QAAQ,sBAAsB,GAC7D,oBAAA,QAAY,QAAQ,sCACpB,cAAA,MACI,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,iCAAA,oBACA,kBAAA,WAAU,GACV,EACI,UAAU;CACN,OAAO;EACH,MAAM;EACN,mBAAmB;GACf,UAAU;GACV,MAAM;EACT;CACJ;CACD,mBAAmB;EACf,YAAY;EACZ,MAAM;CACT;AACJ,EACJ,CAAA,CACJ,CACJ"}
@@ -1,8 +1,8 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
- const require_typescript = require("./typescript-D3VeLnpn.cjs");
3
+ const require_typescript = require("./typescript-DdgbCNKI.cjs");
4
4
  let globals = require("globals");
5
- globals = require_oxlintOwnership.__toESM(globals, 1);
5
+ globals = require_removedOptions.__toESM(globals, 1);
6
6
  //#region src/configs/typescript-dom/index.ts
7
7
  var typescript_dom_default = require_merge.merge(require_typescript.default, { languageOptions: {
8
8
  parserOptions: { extraFileExtensions: [".vue"] },
@@ -11,4 +11,4 @@ var typescript_dom_default = require_merge.merge(require_typescript.default, { l
11
11
  //#endregion
12
12
  exports.default = typescript_dom_default;
13
13
 
14
- //# sourceMappingURL=typescript-dom-iB_xBTAD.cjs.map
14
+ //# sourceMappingURL=typescript-dom-C0NNSGLd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-dom-iB_xBTAD.cjs","names":[],"sources":["../src/configs/typescript-dom/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport globals from 'globals';\nimport typescript from '../typescript';\nimport { merge } from '~/utils/merge';\n\nexport default merge(\n typescript,\n {\n languageOptions: {\n parserOptions: {\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;AAKA,IAAA,yBAAe,cAAA,MACX,mBAAA,SACA,EACI,iBAAiB;CACb,eAAe,EACX,qBAAqB,CAAC,MAAM,EAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}
1
+ {"version":3,"file":"typescript-dom-C0NNSGLd.cjs","names":[],"sources":["../src/configs/typescript-dom/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport globals from 'globals';\nimport typescript from '../typescript';\nimport { merge } from '~/utils/merge';\n\nexport default merge(\n typescript,\n {\n languageOptions: {\n parserOptions: {\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;AAKA,IAAA,yBAAe,cAAA,MACX,mBAAA,SACA,EACI,iBAAiB;CACb,eAAe,EACX,qBAAqB,CAAC,MAAM,EAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}
@@ -1,11 +1,11 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
- const require_typescript = require("./typescript-D3VeLnpn.cjs");
3
+ const require_typescript = require("./typescript-DdgbCNKI.cjs");
4
4
  let globals = require("globals");
5
- globals = require_oxlintOwnership.__toESM(globals, 1);
5
+ globals = require_removedOptions.__toESM(globals, 1);
6
6
  //#region src/configs/typescript-node/index.ts
7
7
  var scope = require_merge.merge(require_typescript.default, { languageOptions: { globals: { ...globals.default.node } } });
8
8
  //#endregion
9
9
  exports.default = scope;
10
10
 
11
- //# sourceMappingURL=typescript-node-Cq6qhj53.cjs.map
11
+ //# sourceMappingURL=typescript-node-CjG8N83q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-node-Cq6qhj53.cjs","names":[],"sources":["../src/configs/typescript-node/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport globals from 'globals';\nimport typescript from '../typescript';\nimport { merge } from '~/utils/merge';\n\nconst scope = merge(\n typescript,\n {\n languageOptions: {\n globals: {\n ...globals.node,\n },\n },\n }\n) as Linter.Config;\n\nexport default scope;\n"],"mappings":";;;;;;AAKA,IAAM,QAAQ,cAAA,MACV,mBAAA,SACA,EACI,iBAAiB,EACb,SAAS,EACL,GAAG,QAAA,QAAQ,KACd,EACJ,EACJ,CAAA"}
1
+ {"version":3,"file":"typescript-node-CjG8N83q.cjs","names":[],"sources":["../src/configs/typescript-node/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport globals from 'globals';\nimport typescript from '../typescript';\nimport { merge } from '~/utils/merge';\n\nconst scope = merge(\n typescript,\n {\n languageOptions: {\n globals: {\n ...globals.node,\n },\n },\n }\n) as Linter.Config;\n\nexport default scope;\n"],"mappings":";;;;;;AAKA,IAAM,QAAQ,cAAA,MACV,mBAAA,SACA,EACI,iBAAiB,EACb,SAAS,EACL,GAAG,QAAA,QAAQ,KACd,EACJ,EACJ,CAAA"}
@@ -0,0 +1,10 @@
1
+ export declare const removedOptions: ReadonlyMap<string, string>;
2
+ /**
3
+ * Renders the bullet list naming every removed option among `keys`, or `null` when none of them was
4
+ * removed. Both the runtime rejection and the migration's refusal read this registry, so a consumer
5
+ * who hits one after the other is given the same replacement rather than two wordings of it.
6
+ * @example
7
+ * describeRemovedOptions(['config']); // ' - `config`: use `configFiles: string[]` instead. …'
8
+ * describeRemovedOptions(['strict']); // null
9
+ */
10
+ export declare function describeRemovedOptions(keys: readonly string[]): string | null;
@@ -1,6 +1,6 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  let _vitest_eslint_plugin = require("@vitest/eslint-plugin");
3
- _vitest_eslint_plugin = require_oxlintOwnership.__toESM(_vitest_eslint_plugin, 1);
3
+ _vitest_eslint_plugin = require_removedOptions.__toESM(_vitest_eslint_plugin, 1);
4
4
  //#region src/configs/vitest/index.ts
5
5
  var vitest_default = {
6
6
  plugins: { vitest: _vitest_eslint_plugin.default },
@@ -14,4 +14,4 @@ var vitest_default = {
14
14
  //#endregion
15
15
  exports.default = vitest_default;
16
16
 
17
- //# sourceMappingURL=vitest-BlGQswK2.cjs.map
17
+ //# sourceMappingURL=vitest-B3kOWOzo.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-BlGQswK2.cjs","names":[],"sources":["../src/configs/vitest/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport vitest from '@vitest/eslint-plugin';\n\nexport default {\n plugins: { vitest },\n rules: {\n ...vitest.configs.recommended.rules,\n 'vitest/no-disabled-tests': ['error'],\n 'vitest/prefer-expect-resolves': ['error'],\n 'vitest/prefer-hooks-in-order': ['error'],\n },\n} as Linter.Config;\n"],"mappings":";;;;AAGA,IAAA,iBAAe;CACX,SAAS,EAAE,QAAA,sBAAA,QAAM;CACjB,OAAO;EACH,GAAG,sBAAA,QAAO,QAAQ,YAAY;EAC9B,4BAA4B,CAAC,OAAO;EACpC,iCAAiC,CAAC,OAAO;EACzC,gCAAgC,CAAC,OAAO;CAC3C;AACa"}
1
+ {"version":3,"file":"vitest-B3kOWOzo.cjs","names":[],"sources":["../src/configs/vitest/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport vitest from '@vitest/eslint-plugin';\n\nexport default {\n plugins: { vitest },\n rules: {\n ...vitest.configs.recommended.rules,\n 'vitest/no-disabled-tests': ['error'],\n 'vitest/prefer-expect-resolves': ['error'],\n 'vitest/prefer-hooks-in-order': ['error'],\n },\n} as Linter.Config;\n"],"mappings":";;;;AAGA,IAAA,iBAAe;CACX,SAAS,EAAE,QAAA,sBAAA,QAAM;CACjB,OAAO;EACH,GAAG,sBAAA,QAAO,QAAQ,YAAY;EAC9B,4BAA4B,CAAC,OAAO;EACpC,iCAAiC,CAAC,OAAO;EACzC,gCAAgC,CAAC,OAAO;CAC3C;AACa"}
@@ -1,20 +1,20 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
3
  const require_mergeAllConfig = require("./mergeAllConfig-DjMWjBNg.cjs");
4
- const require_stylistic = require("./stylistic-CoP3MT1Y.cjs");
4
+ const require_stylistic = require("./stylistic-B2hCwBRu.cjs");
5
5
  const require_vue2 = require("./vue2-CwpD2fD-.cjs");
6
6
  let globals = require("globals");
7
- globals = require_oxlintOwnership.__toESM(globals, 1);
7
+ globals = require_removedOptions.__toESM(globals, 1);
8
8
  let _stylistic_eslint_plugin = require("@stylistic/eslint-plugin");
9
- _stylistic_eslint_plugin = require_oxlintOwnership.__toESM(_stylistic_eslint_plugin, 1);
9
+ _stylistic_eslint_plugin = require_removedOptions.__toESM(_stylistic_eslint_plugin, 1);
10
10
  let eslint_config_airbnb_extended = require("eslint-config-airbnb-extended");
11
11
  let eslint_plugin_import_x = require("eslint-plugin-import-x");
12
12
  let eslint_plugin_jsdoc = require("eslint-plugin-jsdoc");
13
- eslint_plugin_jsdoc = require_oxlintOwnership.__toESM(eslint_plugin_jsdoc, 1);
13
+ eslint_plugin_jsdoc = require_removedOptions.__toESM(eslint_plugin_jsdoc, 1);
14
14
  let eslint_plugin_vue = require("eslint-plugin-vue");
15
- eslint_plugin_vue = require_oxlintOwnership.__toESM(eslint_plugin_vue, 1);
15
+ eslint_plugin_vue = require_removedOptions.__toESM(eslint_plugin_vue, 1);
16
16
  let eslint_plugin_vue_scoped_css = require("eslint-plugin-vue-scoped-css");
17
- eslint_plugin_vue_scoped_css = require_oxlintOwnership.__toESM(eslint_plugin_vue_scoped_css, 1);
17
+ eslint_plugin_vue_scoped_css = require_removedOptions.__toESM(eslint_plugin_vue_scoped_css, 1);
18
18
  //#region src/configs/vue2/index.ts
19
19
  var vue2_default = require_merge.merge(require_mergeAllConfig.mergeAll(eslint_plugin_vue.default.configs["flat/vue2-recommended"], eslint_plugin_vue_scoped_css.default.configs["flat/vue2-recommended"]), eslint_plugin_import_x.importX.flatConfigs.recommended, require_mergeAllConfig.mergeAll(eslint_config_airbnb_extended.configs.base.recommended), eslint_plugin_jsdoc.default.configs["flat/recommended"], require_stylistic.preConfig(), require_stylistic.core_default, require_stylistic.importRules_default, require_stylistic.cspell_default, { plugins: { "@stylistic": _stylistic_eslint_plugin.default } }, require_stylistic.stylistic_default, require_vue2.vue2Options, require_stylistic.postConfig(), { languageOptions: {
20
20
  parserOptions: {
@@ -27,4 +27,4 @@ var vue2_default = require_merge.merge(require_mergeAllConfig.mergeAll(eslint_pl
27
27
  //#endregion
28
28
  exports.default = vue2_default;
29
29
 
30
- //# sourceMappingURL=vue2-Da1i_oVn.cjs.map
30
+ //# sourceMappingURL=vue2-DfL5FqeZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vue2-Da1i_oVn.cjs","names":[],"sources":["../src/configs/vue2/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport pluginVue from 'eslint-plugin-vue';\nimport eslintPluginVueScopedCSS from 'eslint-plugin-vue-scoped-css';\nimport globals from 'globals';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport { vue2Options } from '~/rules/vue2';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\n\nexport default merge(\n mergeAll(\n pluginVue.configs['flat/vue2-recommended'],\n eslintPluginVueScopedCSS.configs['flat/vue2-recommended'] as Linter.Config[]\n ),\n importX.flatConfigs.recommended as Linter.Config,\n mergeAll(airbnbConfigs.base.recommended),\n jsdocPlugin.configs['flat/recommended'],\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } } satisfies Linter.Config,\n stylisticRules,\n vue2Options,\n postConfig(),\n {\n languageOptions: {\n parserOptions: {\n sourceType: 'module',\n ecmaFeatures: {\n jsx: true,\n },\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAA,eAAe,cAAA,MACX,uBAAA,SACI,kBAAA,QAAU,QAAQ,0BAClB,6BAAA,QAAyB,QAAQ,wBAA2C,GAEhF,uBAAA,QAAQ,YAAY,aACpB,uBAAA,SAAS,8BAAA,QAAc,KAAK,WAAW,GACvC,oBAAA,QAAY,QAAQ,qBACpB,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,aAAA,aACA,kBAAA,WAAU,GACV,EACI,iBAAiB;CACb,eAAe;EACX,YAAY;EACZ,cAAc,EACV,KAAK,KACR;EACD,qBAAqB,CAAC,MAAM;CAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}
1
+ {"version":3,"file":"vue2-DfL5FqeZ.cjs","names":[],"sources":["../src/configs/vue2/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport pluginVue from 'eslint-plugin-vue';\nimport eslintPluginVueScopedCSS from 'eslint-plugin-vue-scoped-css';\nimport globals from 'globals';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport { vue2Options } from '~/rules/vue2';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\n\nexport default merge(\n mergeAll(\n pluginVue.configs['flat/vue2-recommended'],\n eslintPluginVueScopedCSS.configs['flat/vue2-recommended'] as Linter.Config[]\n ),\n importX.flatConfigs.recommended as Linter.Config,\n mergeAll(airbnbConfigs.base.recommended),\n jsdocPlugin.configs['flat/recommended'],\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } } satisfies Linter.Config,\n stylisticRules,\n vue2Options,\n postConfig(),\n {\n languageOptions: {\n parserOptions: {\n sourceType: 'module',\n ecmaFeatures: {\n jsx: true,\n },\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAA,eAAe,cAAA,MACX,uBAAA,SACI,kBAAA,QAAU,QAAQ,0BAClB,6BAAA,QAAyB,QAAQ,wBAA2C,GAEhF,uBAAA,QAAQ,YAAY,aACpB,uBAAA,SAAS,8BAAA,QAAc,KAAK,WAAW,GACvC,oBAAA,QAAY,QAAQ,qBACpB,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,aAAA,aACA,kBAAA,WAAU,GACV,EACI,iBAAiB;CACb,eAAe;EACX,YAAY;EACZ,cAAc,EACV,KAAK,KACR;EACD,qBAAqB,CAAC,MAAM;CAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}
@@ -1,21 +1,21 @@
1
- const require_oxlintOwnership = require("./oxlintOwnership-7hpdB3d1.cjs");
1
+ const require_removedOptions = require("./removedOptions-BYMW8w__.cjs");
2
2
  const require_merge = require("./merge-DJQU2y2U.cjs");
3
3
  const require_mergeAllConfig = require("./mergeAllConfig-DjMWjBNg.cjs");
4
- const require_stylistic = require("./stylistic-CoP3MT1Y.cjs");
4
+ const require_stylistic = require("./stylistic-B2hCwBRu.cjs");
5
5
  const require_vue_options_api = require("./vue-options-api-9KoVvBkF.cjs");
6
6
  const require_vue2 = require("./vue2-CwpD2fD-.cjs");
7
7
  let globals = require("globals");
8
- globals = require_oxlintOwnership.__toESM(globals, 1);
8
+ globals = require_removedOptions.__toESM(globals, 1);
9
9
  let _stylistic_eslint_plugin = require("@stylistic/eslint-plugin");
10
- _stylistic_eslint_plugin = require_oxlintOwnership.__toESM(_stylistic_eslint_plugin, 1);
10
+ _stylistic_eslint_plugin = require_removedOptions.__toESM(_stylistic_eslint_plugin, 1);
11
11
  let eslint_config_airbnb_extended = require("eslint-config-airbnb-extended");
12
12
  let eslint_plugin_import_x = require("eslint-plugin-import-x");
13
13
  let eslint_plugin_jsdoc = require("eslint-plugin-jsdoc");
14
- eslint_plugin_jsdoc = require_oxlintOwnership.__toESM(eslint_plugin_jsdoc, 1);
14
+ eslint_plugin_jsdoc = require_removedOptions.__toESM(eslint_plugin_jsdoc, 1);
15
15
  let eslint_plugin_vue = require("eslint-plugin-vue");
16
- eslint_plugin_vue = require_oxlintOwnership.__toESM(eslint_plugin_vue, 1);
16
+ eslint_plugin_vue = require_removedOptions.__toESM(eslint_plugin_vue, 1);
17
17
  let eslint_plugin_vue_scoped_css = require("eslint-plugin-vue-scoped-css");
18
- eslint_plugin_vue_scoped_css = require_oxlintOwnership.__toESM(eslint_plugin_vue_scoped_css, 1);
18
+ eslint_plugin_vue_scoped_css = require_removedOptions.__toESM(eslint_plugin_vue_scoped_css, 1);
19
19
  //#region src/configs/vue2-options-api/index.ts
20
20
  var vue2_options_api_default = require_merge.merge(require_mergeAllConfig.mergeAll(eslint_plugin_vue.default.configs["flat/vue2-recommended"], eslint_plugin_vue_scoped_css.default.configs["flat/vue2-recommended"]), eslint_plugin_import_x.importX.flatConfigs.recommended, require_mergeAllConfig.mergeAll(eslint_config_airbnb_extended.configs.base.recommended), eslint_plugin_jsdoc.default.configs["flat/recommended"], require_stylistic.preConfig(), require_stylistic.core_default, require_stylistic.importRules_default, require_stylistic.cspell_default, { plugins: { "@stylistic": _stylistic_eslint_plugin.default } }, require_stylistic.stylistic_default, require_vue2.vue2Options, require_vue_options_api.vueOptionsApi, require_stylistic.postConfig(), { languageOptions: {
21
21
  parserOptions: {
@@ -28,4 +28,4 @@ var vue2_options_api_default = require_merge.merge(require_mergeAllConfig.mergeA
28
28
  //#endregion
29
29
  exports.default = vue2_options_api_default;
30
30
 
31
- //# sourceMappingURL=vue2-options-api-BSdrUm8H.cjs.map
31
+ //# sourceMappingURL=vue2-options-api-sSrBV5Si.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vue2-options-api-BSdrUm8H.cjs","names":[],"sources":["../src/configs/vue2-options-api/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport pluginVue from 'eslint-plugin-vue';\nimport eslintPluginVueScopedCSS from 'eslint-plugin-vue-scoped-css';\nimport globals from 'globals';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport { vueOptionsApi } from '~/rules/vue-options-api';\nimport { vue2Options } from '~/rules/vue2';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\n\nexport default merge(\n mergeAll(\n pluginVue.configs['flat/vue2-recommended'],\n eslintPluginVueScopedCSS.configs['flat/vue2-recommended'] as Linter.Config[]\n ),\n importX.flatConfigs.recommended as Linter.Config,\n mergeAll(airbnbConfigs.base.recommended),\n jsdocPlugin.configs['flat/recommended'],\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } } satisfies Linter.Config,\n stylisticRules,\n vue2Options,\n vueOptionsApi,\n postConfig(),\n {\n languageOptions: {\n parserOptions: {\n sourceType: 'module',\n ecmaFeatures: {\n jsx: true,\n },\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAA,2BAAe,cAAA,MACX,uBAAA,SACI,kBAAA,QAAU,QAAQ,0BAClB,6BAAA,QAAyB,QAAQ,wBAA2C,GAEhF,uBAAA,QAAQ,YAAY,aACpB,uBAAA,SAAS,8BAAA,QAAc,KAAK,WAAW,GACvC,oBAAA,QAAY,QAAQ,qBACpB,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,aAAA,aACA,wBAAA,eACA,kBAAA,WAAU,GACV,EACI,iBAAiB;CACb,eAAe;EACX,YAAY;EACZ,cAAc,EACV,KAAK,KACR;EACD,qBAAqB,CAAC,MAAM;CAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}
1
+ {"version":3,"file":"vue2-options-api-sSrBV5Si.cjs","names":[],"sources":["../src/configs/vue2-options-api/index.ts"],"sourcesContent":["import type { Linter } from 'eslint';\nimport stylistic from '@stylistic/eslint-plugin';\nimport { configs as airbnbConfigs } from 'eslint-config-airbnb-extended';\nimport { importX } from 'eslint-plugin-import-x';\nimport jsdocPlugin from 'eslint-plugin-jsdoc';\nimport pluginVue from 'eslint-plugin-vue';\nimport eslintPluginVueScopedCSS from 'eslint-plugin-vue-scoped-css';\nimport globals from 'globals';\nimport { postConfig, preConfig } from '~/base';\nimport core from '~/rules/core';\nimport cspell from '~/rules/cspell';\nimport importRules from '~/rules/importRules';\nimport stylisticRules from '~/rules/stylistic';\nimport { vueOptionsApi } from '~/rules/vue-options-api';\nimport { vue2Options } from '~/rules/vue2';\nimport { merge } from '~/utils/merge';\nimport { mergeAll } from '~/utils/mergeAllConfig';\n\nexport default merge(\n mergeAll(\n pluginVue.configs['flat/vue2-recommended'],\n eslintPluginVueScopedCSS.configs['flat/vue2-recommended'] as Linter.Config[]\n ),\n importX.flatConfigs.recommended as Linter.Config,\n mergeAll(airbnbConfigs.base.recommended),\n jsdocPlugin.configs['flat/recommended'],\n preConfig(),\n core,\n importRules,\n cspell,\n { plugins: { '@stylistic': stylistic } } satisfies Linter.Config,\n stylisticRules,\n vue2Options,\n vueOptionsApi,\n postConfig(),\n {\n languageOptions: {\n parserOptions: {\n sourceType: 'module',\n ecmaFeatures: {\n jsx: true,\n },\n extraFileExtensions: ['.vue'],\n },\n globals: {\n ...globals.browser,\n },\n },\n } satisfies Linter.Config\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAA,2BAAe,cAAA,MACX,uBAAA,SACI,kBAAA,QAAU,QAAQ,0BAClB,6BAAA,QAAyB,QAAQ,wBAA2C,GAEhF,uBAAA,QAAQ,YAAY,aACpB,uBAAA,SAAS,8BAAA,QAAc,KAAK,WAAW,GACvC,oBAAA,QAAY,QAAQ,qBACpB,kBAAA,UAAS,GACT,kBAAA,cACA,kBAAA,qBACA,kBAAA,gBACA,EAAE,SAAS,EAAE,cAAc,yBAAA,QAAS,EAAE,GACtC,kBAAA,mBACA,aAAA,aACA,wBAAA,eACA,kBAAA,WAAU,GACV,EACI,iBAAiB;CACb,eAAe;EACX,YAAY;EACZ,cAAc,EACV,KAAK,KACR;EACD,qBAAqB,CAAC,MAAM;CAC/B;CACD,SAAS,EACL,GAAG,QAAA,QAAQ,QACd;AACJ,EACoB,CAAA"}