@d3lm/lint-preset 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -316,6 +316,7 @@ function jsRulesOxlint(options = {}) {
316
316
  allowList = [],
317
317
  replacements = {}
318
318
  } = preventAbbreviationsOptions ?? {};
319
+ const effectiveAllowList = inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList;
319
320
  return {
320
321
  "consistent-return": "error",
321
322
  curly: ["error", "all"],
@@ -381,12 +382,7 @@ function jsRulesOxlint(options = {}) {
381
382
  "error",
382
383
  {
383
384
  replacements: inheritReplacements ? { ...ABBREVIATION_REPLACEMENTS, ...replacements } : replacements,
384
- allowList: Object.fromEntries(
385
- (inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList).map((name) => [
386
- name,
387
- true
388
- ])
389
- )
385
+ allowList: Object.fromEntries(effectiveAllowList.map((name) => [name, true]))
390
386
  }
391
387
  ],
392
388
  "jsdocx/tag-lines": ["error", ...jsdocTagLineOptions]
@@ -674,4 +670,4 @@ export {
674
670
  tsRulesOxlint,
675
671
  tsRulesEslint
676
672
  };
677
- //# sourceMappingURL=chunk-HWFKYVTU.js.map
673
+ //# sourceMappingURL=chunk-SD5SCU2L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/configs/unicorn.ts","../src/configs/abbreviations.ts","../src/configs/javascript.ts","../src/configs/react.ts","../src/configs/typescript.ts"],"sourcesContent":["import type { Linter } from 'eslint';\n\n/**\n * Mirror of `eslint-plugin-unicorn`'s recommended config, split by runtime.\n *\n * Oxlint natively implements most unicorn rules, so we enable those under the\n * canonical `unicorn/` prefix (fast, Rust). Rules oxlint hasn't ported run\n * through the original JS plugin, aliased as `unicornx` in `jsPlugins` (see\n * `src/oxlint.ts`), because oxlint's built-in plugin owns the `unicorn/`\n * namespace.\n *\n * `unicorn/name-replacements` is also not ported. It lives in `javascript.ts`\n * because it takes user-configurable options.\n */\n\n/**\n * Unicorn recommended rules natively implemented by Oxlint, grouped by the\n * oxlint category they belong to. Only the correctness group is enabled by\n * oxlint's defaults (as `warn`); everything is set explicitly to `error` to\n * match the recommended config.\n */\nexport const unicornRulesOxlint: Linter.RulesRecord = {\n // correctness\n 'unicorn/no-await-in-promise-methods': 'error',\n 'unicorn/no-empty-file': 'warn',\n 'unicorn/no-invalid-fetch-options': 'error',\n 'unicorn/no-invalid-remove-event-listener': 'error',\n 'unicorn/no-new-array': 'error',\n 'unicorn/no-single-promise-in-promise-methods': 'error',\n 'unicorn/no-thenable': 'error',\n 'unicorn/no-unnecessary-await': 'error',\n 'unicorn/no-useless-fallback-in-spread': 'error',\n 'unicorn/no-useless-length-check': 'error',\n 'unicorn/no-useless-spread': 'error',\n 'unicorn/prefer-set-size': 'error',\n 'unicorn/prefer-string-starts-ends-with': 'error',\n\n // perf\n 'unicorn/prefer-array-find': 'error',\n 'unicorn/prefer-array-flat-map': 'error',\n 'unicorn/prefer-set-has': 'error',\n\n // restriction\n 'unicorn/no-abusive-eslint-disable': 'error',\n 'unicorn/no-anonymous-default-export': 'error',\n 'unicorn/no-array-for-each': 'error',\n 'unicorn/no-array-reduce': 'error',\n 'unicorn/no-document-cookie': 'error',\n 'unicorn/no-magic-array-flat-depth': 'error',\n 'unicorn/no-process-exit': 'error',\n 'unicorn/no-useless-error-capture-stack-trace': 'error',\n 'unicorn/prefer-modern-math-apis': 'error',\n 'unicorn/prefer-module': 'error',\n 'unicorn/prefer-node-protocol': 'error',\n 'unicorn/prefer-number-properties': 'error',\n\n // suspicious\n 'unicorn/consistent-function-scoping': 'error',\n 'unicorn/no-accessor-recursion': 'error',\n 'unicorn/no-array-reverse': 'error',\n 'unicorn/no-array-sort': 'error',\n 'unicorn/no-instanceof-builtins': 'error',\n 'unicorn/prefer-add-event-listener': 'error',\n 'unicorn/require-module-specifiers': 'error',\n\n // pedantic\n 'unicorn/consistent-assert': 'error',\n 'unicorn/consistent-empty-array-spread': 'error',\n 'unicorn/escape-case': 'error',\n 'unicorn/explicit-length-check': 'error',\n 'unicorn/new-for-builtins': 'error',\n 'unicorn/no-array-callback-reference': 'error',\n 'unicorn/no-hex-escape': 'error',\n 'unicorn/no-immediate-mutation': 'error',\n 'unicorn/no-lonely-if': 'error',\n 'unicorn/no-negation-in-equality-check': 'error',\n 'unicorn/no-new-buffer': 'error',\n 'unicorn/no-object-as-default-parameter': 'error',\n 'unicorn/no-static-only-class': 'error',\n 'unicorn/no-this-assignment': 'error',\n 'unicorn/no-typeof-undefined': 'error',\n 'unicorn/no-unnecessary-array-flat-depth': 'error',\n 'unicorn/no-unnecessary-array-splice-count': 'error',\n 'unicorn/no-unnecessary-slice-end': 'error',\n 'unicorn/no-unreadable-iife': 'error',\n 'unicorn/no-useless-promise-resolve-reject': 'error',\n 'unicorn/no-useless-switch-case': 'error',\n 'unicorn/prefer-array-flat': 'error',\n 'unicorn/prefer-array-some': 'error',\n 'unicorn/prefer-at': 'error',\n 'unicorn/prefer-blob-reading-methods': 'error',\n 'unicorn/prefer-code-point': 'error',\n 'unicorn/prefer-date-now': 'error',\n 'unicorn/prefer-dom-node-append': 'error',\n 'unicorn/prefer-dom-node-dataset': 'error',\n 'unicorn/prefer-dom-node-remove': 'error',\n 'unicorn/prefer-event-target': 'error',\n 'unicorn/prefer-math-min-max': 'error',\n 'unicorn/prefer-math-trunc': 'error',\n 'unicorn/prefer-native-coercion-functions': 'error',\n 'unicorn/prefer-prototype-methods': 'error',\n 'unicorn/prefer-query-selector': 'error',\n 'unicorn/prefer-regexp-test': 'error',\n 'unicorn/prefer-string-replace-all': 'error',\n 'unicorn/prefer-string-slice': 'error',\n 'unicorn/prefer-top-level-await': 'error',\n 'unicorn/prefer-type-error': 'error',\n 'unicorn/require-number-to-fixed-digits-argument': 'error',\n\n // style\n 'unicorn/catch-error-name': ['error', { name: 'error' }],\n 'unicorn/consistent-date-clone': 'error',\n 'unicorn/consistent-existence-index-check': 'error',\n 'unicorn/consistent-template-literal-escape': 'error',\n 'unicorn/empty-brace-spaces': 'error',\n 'unicorn/error-message': 'error',\n 'unicorn/no-array-method-this-argument': 'error',\n 'unicorn/no-await-expression-member': 'error',\n 'unicorn/no-console-spaces': 'error',\n 'unicorn/no-unreadable-array-destructuring': 'error',\n 'unicorn/no-useless-collection-argument': 'error',\n 'unicorn/no-zero-fractions': 'error',\n 'unicorn/numeric-separators-style': 'error',\n 'unicorn/prefer-array-index-of': 'error',\n 'unicorn/prefer-bigint-literals': 'error',\n 'unicorn/prefer-class-fields': 'error',\n 'unicorn/prefer-classlist-toggle': 'error',\n 'unicorn/prefer-default-parameters': 'error',\n 'unicorn/prefer-dom-node-text-content': 'error',\n 'unicorn/prefer-global-this': 'error',\n 'unicorn/prefer-includes': 'error',\n 'unicorn/prefer-keyboard-event-key': 'error',\n 'unicorn/prefer-logical-operator-over-ternary': 'error',\n 'unicorn/prefer-modern-dom-apis': 'error',\n 'unicorn/prefer-negative-index': 'error',\n 'unicorn/prefer-object-from-entries': 'error',\n 'unicorn/prefer-optional-catch-binding': 'error',\n 'unicorn/prefer-reflect-apply': 'error',\n 'unicorn/prefer-response-static-json': 'error',\n 'unicorn/prefer-spread': 'error',\n 'unicorn/prefer-string-raw': 'error',\n 'unicorn/prefer-string-trim-start-end': 'error',\n 'unicorn/prefer-structured-clone': 'error',\n 'unicorn/relative-url-style': 'error',\n 'unicorn/require-array-join-separator': 'error',\n 'unicorn/require-module-attributes': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/switch-case-break-position': 'error',\n 'unicorn/text-encoding-identifier-case': 'error',\n 'unicorn/throw-new-error': 'error',\n};\n\n/**\n * Unicorn recommended rules that Oxlint hasn't ported. They run inside Oxlint\n * through the original JS plugin under the `unicornx` alias.\n */\nexport const unicornRulesJsPlugin: Linter.RulesRecord = {\n 'unicornx/isolated-functions': 'error',\n 'unicornx/no-for-loop': 'error',\n 'unicornx/no-named-default': 'error',\n 'unicornx/no-unnecessary-polyfills': 'error',\n 'unicornx/no-unreadable-for-of-expression': 'error',\n 'unicornx/prefer-export-from': 'error',\n 'unicornx/prefer-simple-condition-first': 'error',\n 'unicornx/prefer-single-call': 'error',\n 'unicornx/prefer-switch': 'error',\n 'unicornx/template-indent': 'error',\n\n /**\n * Native port exists but only in oxlint's nursery category, which can't be\n * enabled from config, so we run the JS original instead.\n */\n 'unicornx/no-useless-iterator-to-array': 'error',\n\n /**\n * Oxlint's port hardcodes uppercase hexadecimal digits, which fights\n * Prettier's lowercase formatting, so we run the JS original with the\n * lowercase option instead.\n */\n 'unicornx/number-literal-case': ['error', { hexadecimalValue: 'lowercase' }],\n};\n\n/**\n * Unicorn recommended rules that can't run inside Oxlint's JS-plugin host yet\n * because the compat layer is missing ESLint APIs (e.g.\n * `sourceCode.getDisableDirectives`). ESLint picks them up after Oxlint runs.\n */\nexport const unicornRulesEslint: Linter.RulesRecord = {\n 'unicorn/expiring-todo-comments': 'error',\n};\n","export const DEFAULT_ABBREVIATION_ALLOW_LIST = ['fn', 'cb', 'err', 'prev', 'dev', 'i'];\n\nexport const ABBREVIATION_REPLACEMENTS: Record<string, Record<string, boolean> | false> = {\n ref: false,\n refs: false,\n dev: false,\n dir: false,\n env: false,\n prop: false,\n props: false,\n util: false,\n utils: false,\n param: false,\n params: false,\n arg: false,\n args: false,\n db: false,\n ev: { event: true },\n val: { value: true },\n msg: { message: true },\n el: { element: true },\n elem: { element: true },\n btn: { button: true },\n cb: { callback: true },\n fn: { function: true },\n err: { error: true },\n opts: { options: true },\n cfg: { config: true },\n obj: { object: true },\n arr: { array: true },\n str: { string: true },\n num: { number: true },\n curr: { current: true },\n len: { length: true },\n e: { event: true, error: true },\n};\n","import type { Linter } from 'eslint';\nimport { ABBREVIATION_REPLACEMENTS, DEFAULT_ABBREVIATION_ALLOW_LIST } from './abbreviations.js';\nimport { unicornRulesJsPlugin, unicornRulesOxlint } from './unicorn.js';\n\nexport const jsFileExtensions = ['**/*.js', '**/*.jsx', '**/*.mjs', '**/*.cjs'];\n\nexport const paddingLineEntries = [\n {\n blankLine: 'always',\n prev: '*',\n next: ['block', 'block-like', 'class', 'const', 'let'],\n },\n {\n blankLine: 'always',\n prev: 'block',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: '*',\n },\n {\n blankLine: 'any',\n prev: ['const'],\n next: ['const'],\n },\n {\n blankLine: 'any',\n prev: ['let'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: ['const'],\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-const'],\n next: ['multiline-const'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-const'],\n next: ['singleline-const'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-let'],\n next: ['multiline-let'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-let'],\n next: ['singleline-let'],\n },\n {\n blankLine: 'any',\n prev: ['case', 'block', 'block-like'],\n next: ['case', 'default'],\n },\n {\n blankLine: 'any',\n prev: '*',\n next: 'break',\n },\n {\n blankLine: 'always',\n prev: 'if',\n next: '*',\n },\n /**\n * Imports form a block: padded from anything that isn't an import, but\n * consecutive imports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'import',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'import',\n },\n {\n blankLine: 'any',\n prev: 'import',\n next: 'import',\n },\n /**\n * Exports form a block: padded from anything that isn't an export, but\n * consecutive exports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'export',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'export',\n },\n {\n blankLine: 'any',\n prev: 'export',\n next: 'export',\n },\n];\n\nexport const jsdocTagLineOptions = ['always', { count: 1, startLines: 1, applyToEndTag: false }];\n\nexport interface JavaScriptRuleOptions {\n preventAbbreviations?: {\n allowList?: string[];\n inheritAllowList?: boolean;\n replacements?: Record<string, Record<string, boolean> | false>;\n inheritReplacements?: boolean;\n };\n}\n\n/**\n * Non type-aware rules that run under Oxlint.\n */\nexport function jsRulesOxlint(options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n const { preventAbbreviations: preventAbbreviationsOptions } = options;\n\n const {\n inheritAllowList = true,\n inheritReplacements = true,\n allowList = [],\n replacements = {},\n } = preventAbbreviationsOptions ?? {};\n\n const effectiveAllowList = inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList;\n\n return {\n 'consistent-return': 'error',\n curly: ['error', 'all'],\n 'arrow-body-style': 'off',\n 'dot-notation': 'error',\n 'no-debugger': 'warn',\n 'no-unused-vars': 'off',\n 'no-async-promise-executor': 'error',\n 'no-case-declarations': 'error',\n 'default-case-last': 'error',\n 'no-cond-assign': 'error',\n 'no-dynamic-delete': 'off',\n 'no-unneeded-ternary': 'error',\n 'object-shorthand': 'error',\n 'no-constant-condition': ['error', { checkLoops: false }],\n\n '@stylistic/padding-line-between-statements': ['error', ...paddingLineEntries],\n '@stylistic/no-trailing-spaces': 'error',\n\n /**\n * Indentation is owned by Prettier. Oxlint's @stylistic/indent port\n * diverges from eslint-stylistic on edge cases (e.g., multiline object\n * args inside ternaries), so we leave the rule off.\n */\n '@stylistic/indent': 'off',\n '@stylistic/no-multiple-empty-lines': ['error', { max: 1 }],\n '@stylistic/multiline-comment-style': ['error', 'starred-block'],\n '@stylistic/spaced-comment': [\n 'error',\n 'always',\n {\n block: { balanced: true },\n },\n ],\n '@stylistic/brace-style': ['error', '1tbs'],\n '@stylistic/lines-around-comment': [\n 'error',\n {\n beforeBlockComment: true,\n beforeLineComment: true,\n allowBlockStart: true,\n allowBlockEnd: false,\n allowObjectStart: true,\n allowObjectEnd: false,\n allowArrayStart: true,\n allowArrayEnd: true,\n allowClassStart: true,\n allowInterfaceStart: true,\n allowInterfaceEnd: true,\n allowEnumStart: true,\n allowEnumEnd: true,\n allowTypeStart: true,\n allowTypeEnd: false,\n },\n ],\n\n // unicorn recommended, split between native oxlint ports and JS originals\n ...unicornRulesOxlint,\n ...unicornRulesJsPlugin,\n\n /**\n * Oxlint's built-in `unicorn` / `jsdoc` plugins don't implement these,\n * so we wire the original JS plugins under aliased names (see jsPlugins\n * in `src/oxlint.ts`). Rule IDs use the alias, not the canonical prefix.\n */\n 'unicornx/name-replacements': [\n 'error',\n {\n replacements: inheritReplacements ? { ...ABBREVIATION_REPLACEMENTS, ...replacements } : replacements,\n allowList: Object.fromEntries(effectiveAllowList.map((name) => [name, true])),\n },\n ],\n\n 'jsdocx/tag-lines': ['error', ...jsdocTagLineOptions],\n };\n}\n\n/**\n * Rules that can't run under Oxlint. ESLint-core rules that Oxlint hasn't\n * implemented (`prefer-arrow-callback`) or only ships in its nursery category\n * (`no-useless-assignment`), and that aren't exposed by any plugin we can\n * alias into oxlint's `jsPlugins` (the `@eslint/js` package only ships configs,\n * not a raw `rules` object). ESLint picks them up after Oxlint runs.\n */\nexport function jsRulesEslint(_options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n 'prefer-arrow-callback': 'error',\n 'no-useless-assignment': 'error',\n };\n}\n","import type { Linter } from 'eslint';\n\nexport interface ReactRuleOptions {\n fastRefresh?: boolean;\n performance?: boolean;\n}\n\nexport type ReactConfigOptions = boolean | ReactRuleOptions;\n\ninterface ResolvedReactRuleOptions {\n fastRefresh: boolean;\n performance: boolean;\n}\n\nexport const reactFileExtensions = ['**/*.jsx', '**/*.tsx'];\n\nexport function resolveReactRuleOptions(options: ReactConfigOptions = false): ResolvedReactRuleOptions {\n if (options === false) {\n return {\n fastRefresh: false,\n performance: false,\n };\n }\n\n if (options === true) {\n return {\n fastRefresh: true,\n performance: true,\n };\n }\n\n return {\n fastRefresh: options.fastRefresh ?? true,\n performance: options.performance ?? true,\n };\n}\n\nexport function reactRulesOxlint(options: ReactConfigOptions = false): Linter.RulesRecord {\n const resolvedOptions = resolveReactRuleOptions(options);\n\n return {\n 'react/jsx-key': 'error',\n 'react/jsx-no-duplicate-props': 'error',\n 'react/no-children-prop': 'error',\n 'react/no-danger-with-children': 'error',\n 'react/void-dom-elements-no-children': 'error',\n 'react/no-unknown-property': 'error',\n 'react/style-prop-object': 'error',\n 'react/button-has-type': 'error',\n 'react/checked-requires-onchange-or-readonly': 'error',\n 'react/forward-ref-uses-ref': 'error',\n 'react/jsx-props-no-spread-multi': 'error',\n 'react/jsx-no-script-url': 'error',\n 'react/jsx-no-target-blank': 'error',\n 'react/jsx-no-constructed-context-values': 'error',\n 'react/no-unstable-nested-components': 'error',\n 'react/no-array-index-key': 'warn',\n 'react/no-object-type-as-default-prop': 'warn',\n 'react/iframe-missing-sandbox': 'error',\n 'react/no-danger': 'warn',\n\n ...(resolvedOptions.fastRefresh && {\n 'react/only-export-components': ['warn', { allowConstantExport: true }],\n }),\n\n ...(resolvedOptions.performance && {\n 'react-perf/jsx-no-new-object-as-prop': 'warn',\n 'react-perf/jsx-no-new-array-as-prop': 'warn',\n 'react-perf/jsx-no-new-function-as-prop': 'warn',\n 'react-perf/jsx-no-jsx-as-prop': 'warn',\n }),\n };\n}\n","import type { Linter } from 'eslint';\nimport { jsRulesOxlint, type JavaScriptRuleOptions } from './javascript.js';\n\nexport const tsFileExtensions = ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'];\n\nconst tsIgnoreDescriptionFormat = String.raw`^: TS\\d+ because .+$`;\n\nexport interface TypeScriptRuleOptions extends JavaScriptRuleOptions {\n namingConvention?: {\n variable?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n parameter?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n typeLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n memberLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n function?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n };\n}\n\ninterface NamingConventionFormatOptions {\n inheritFormat?: boolean;\n format?: string[];\n}\n\n/**\n * Type-aware typescript-eslint rules that Oxlint executes natively through\n * tsgolint (`options.typeAware`). They mirror what typescript-eslint's\n * `strictTypeChecked` + `stylisticTypeChecked` presets enabled when these\n * rules still ran under ESLint — same severities, same options — so moving\n * them here changed which engine serves them, not the behavior.\n *\n * Type-aware rules in oxlint's `correctness` category (e.g. `await-thenable`,\n * `unbound-method`) are not listed: they already run via the default\n * category, as `warn`, matching the pre-migration state.\n *\n * `typescript/naming-convention` is one of the two typescript-eslint\n * type-aware rules tsgolint doesn't implement; it stays in ESLint\n * (see {@link tsRulesEslint}).\n */\nexport const tsTypeAwareRulesOxlint: Linter.RulesRecord = {\n 'typescript/no-confusing-void-expression': 'error',\n 'typescript/no-deprecated': 'error',\n 'typescript/no-floating-promises': 'error',\n 'typescript/no-misused-promises': 'error',\n 'typescript/no-mixed-enums': 'error',\n 'typescript/no-unnecessary-boolean-literal-compare': 'error',\n 'typescript/no-unnecessary-condition': 'error',\n 'typescript/no-unnecessary-template-expression': 'error',\n 'typescript/no-unnecessary-type-arguments': 'error',\n 'typescript/no-unnecessary-type-assertion': 'error',\n 'typescript/no-unnecessary-type-conversion': 'error',\n 'typescript/no-unnecessary-type-parameters': 'error',\n 'typescript/no-unsafe-argument': 'error',\n 'typescript/no-unsafe-assignment': 'error',\n 'typescript/no-unsafe-call': 'error',\n 'typescript/no-unsafe-enum-comparison': 'error',\n 'typescript/no-unsafe-member-access': 'error',\n 'typescript/no-unsafe-return': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': 'error',\n 'typescript/prefer-find': 'error',\n 'typescript/prefer-includes': 'error',\n 'typescript/prefer-nullish-coalescing': ['error', { ignorePrimitives: true }],\n 'typescript/prefer-optional-chain': 'error',\n 'typescript/prefer-promise-reject-errors': 'error',\n 'typescript/prefer-reduce-type-parameter': 'error',\n 'typescript/prefer-regexp-exec': 'error',\n 'typescript/prefer-return-this-type': 'error',\n 'typescript/prefer-string-starts-ends-with': 'error',\n 'typescript/related-getter-setter-pairs': 'error',\n 'typescript/restrict-plus-operands': [\n 'error',\n {\n allowAny: false,\n allowBoolean: false,\n allowNullish: false,\n allowNumberAndString: false,\n allowRegExp: false,\n },\n ],\n 'typescript/return-await': ['error', 'error-handling-correctness-only'],\n 'typescript/use-unknown-in-catch-callback-variable': 'error',\n};\n\n/**\n * Syntax-only rules that Oxlint ports natively and that used to reach ESLint\n * through typescript-eslint's presets: the `strictTypeChecked` /\n * `stylisticTypeChecked` rules that don't need type information, plus the\n * ESLint-core rules typescript-eslint's `eslintRecommended` config raises for\n * TypeScript files (hence the `eslint/` prefix and the TS-files-only scope).\n */\nexport const tsSyntaxRulesOxlint: Linter.RulesRecord = {\n 'typescript/adjacent-overload-signatures': 'error',\n 'typescript/ban-tslint-comment': 'error',\n 'typescript/class-literal-property-style': 'error',\n 'typescript/consistent-generic-constructors': 'error',\n 'typescript/consistent-indexed-object-style': 'error',\n 'typescript/consistent-type-assertions': 'error',\n 'typescript/consistent-type-definitions': 'error',\n 'typescript/no-array-constructor': 'error',\n 'typescript/no-confusing-non-null-assertion': 'error',\n 'typescript/no-empty-object-type': 'error',\n 'typescript/no-extraneous-class': 'error',\n 'typescript/no-inferrable-types': 'error',\n 'typescript/no-invalid-void-type': 'error',\n 'typescript/no-namespace': 'error',\n 'typescript/no-non-null-asserted-nullish-coalescing': 'error',\n 'typescript/no-require-imports': 'error',\n 'typescript/no-unnecessary-type-constraint': 'error',\n 'typescript/no-unsafe-function-type': 'error',\n 'typescript/no-useless-constructor': 'error',\n 'typescript/prefer-for-of': 'error',\n 'typescript/prefer-function-type': 'error',\n 'typescript/prefer-literal-enum-member': 'error',\n 'typescript/unified-signatures': 'error',\n\n 'eslint/no-var': 'error',\n 'eslint/prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }],\n 'eslint/prefer-rest-params': 'error',\n 'eslint/prefer-spread': 'error',\n};\n\n/**\n * TypeScript rules that run under Oxlint, including the type-aware set\n * executed through tsgolint.\n */\nexport function tsRulesOxlint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...jsRulesOxlint(options),\n\n ...tsTypeAwareRulesOxlint,\n ...tsSyntaxRulesOxlint,\n\n /**\n * Oxlint exposes typescript-eslint rules under its own `typescript/`\n * namespace, so rule ids are prefixed `typescript/` rather than\n * `@typescript-eslint/`.\n */\n 'typescript/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n 'typescript/no-non-null-assertion': 'error',\n 'typescript/no-empty-function': 'off',\n 'typescript/no-explicit-any': 'off',\n 'typescript/no-base-to-string': 'off',\n 'typescript/no-dynamic-delete': 'off',\n 'typescript/no-extra-non-null-assertion': 'error',\n 'typescript/no-non-null-asserted-optional-chain': 'error',\n 'typescript/explicit-module-boundary-types': 'off',\n 'typescript/ban-ts-comment': [\n 'error',\n {\n 'ts-expect-error': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-ignore': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-nocheck': true,\n 'ts-check': false,\n },\n ],\n\n '@stylistic/type-annotation-spacing': 'error',\n\n // comment handling conflicts with the padding-line heuristics\n '@stylistic/lines-around-comment': 'off',\n };\n}\n\n/**\n * TypeScript rules served by ESLint.\n *\n * Only rules Oxlint can't run remain here: `naming-convention` is one of the\n * two typescript-eslint type-aware rules tsgolint doesn't implement, and\n * `explicit-member-accessibility` has no Oxlint port at all.\n */\nexport function tsRulesEslint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...getESLintNamingConventionRule(options.namingConvention),\n '@typescript-eslint/explicit-member-accessibility': ['error', { accessibility: 'no-public' }],\n '@typescript-eslint/no-dynamic-delete': 'off',\n '@typescript-eslint/array-type': 'off',\n '@typescript-eslint/require-await': 'off',\n '@typescript-eslint/no-explicit-any': 'off',\n '@typescript-eslint/no-empty-function': 'off',\n '@typescript-eslint/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n varsIgnorePattern: '^_',\n caughtErrorsIgnorePattern: '^_',\n destructuredArrayIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n };\n}\n\n/**\n * ESLint-namespaced variant of the naming-convention rule. Keeps the same\n * filter / selector shape as {@link getNamingConventionRule}, only swapping\n * the rule id so it lines up with `@typescript-eslint/eslint-plugin`.\n */\nexport function getESLintNamingConventionRule(\n extensions?: TypeScriptRuleOptions['namingConvention'],\n): Linter.RulesRecord {\n const oxlintRules = getNamingConventionRule(extensions);\n\n return {\n '@typescript-eslint/naming-convention': oxlintRules['typescript/naming-convention'],\n };\n}\n\nexport function getNamingConventionRule(extensions?: TypeScriptRuleOptions['namingConvention']): Linter.RulesRecord {\n return {\n 'typescript/naming-convention': [\n 'error',\n {\n selector: ['variable'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.variable),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.variable?.exceptions),\n match: false,\n },\n },\n {\n selector: ['function'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.function),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.function?.exceptions),\n match: false,\n },\n },\n {\n selector: 'parameter',\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.parameter),\n leadingUnderscore: 'allow',\n ...(extensions?.parameter?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.parameter.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'typeLike',\n format: mergeFormat(['PascalCase'], extensions?.typeLike),\n ...(extensions?.typeLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.typeLike.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'memberLike',\n modifiers: ['private'],\n format: mergeFormat(['camelCase', 'PascalCase'], extensions?.memberLike),\n leadingUnderscore: 'require',\n ...(extensions?.memberLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.memberLike.exceptions),\n match: false,\n },\n }),\n },\n ],\n };\n}\n\nfunction mergeFormat(defaults: string[], extensions?: NamingConventionFormatOptions) {\n return [...new Set([...((extensions?.inheritFormat ?? true) ? defaults : []), ...(extensions?.format ?? [])])];\n}\n\nfunction generateFilterRegex(defaults: string[], extensions: string[] = []) {\n return `^(${[...defaults, ...extensions].join('|')})$`;\n}\n"],"mappings":"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","names":[]}
@@ -316,6 +316,7 @@ function jsRulesOxlint(options = {}) {
316
316
  allowList = [],
317
317
  replacements = {}
318
318
  } = _nullishCoalesce(preventAbbreviationsOptions, () => ( {}));
319
+ const effectiveAllowList = inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList;
319
320
  return {
320
321
  "consistent-return": "error",
321
322
  curly: ["error", "all"],
@@ -381,12 +382,7 @@ function jsRulesOxlint(options = {}) {
381
382
  "error",
382
383
  {
383
384
  replacements: inheritReplacements ? { ...ABBREVIATION_REPLACEMENTS, ...replacements } : replacements,
384
- allowList: Object.fromEntries(
385
- (inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList).map((name) => [
386
- name,
387
- true
388
- ])
389
- )
385
+ allowList: Object.fromEntries(effectiveAllowList.map((name) => [name, true]))
390
386
  }
391
387
  ],
392
388
  "jsdocx/tag-lines": ["error", ...jsdocTagLineOptions]
@@ -674,4 +670,4 @@ function generateFilterRegex(defaults, extensions = []) {
674
670
 
675
671
 
676
672
  exports.unicornRulesEslint = unicornRulesEslint; exports.jsFileExtensions = jsFileExtensions; exports.jsRulesOxlint = jsRulesOxlint; exports.jsRulesEslint = jsRulesEslint; exports.reactFileExtensions = reactFileExtensions; exports.resolveReactRuleOptions = resolveReactRuleOptions; exports.reactRulesOxlint = reactRulesOxlint; exports.tsFileExtensions = tsFileExtensions; exports.tsRulesOxlint = tsRulesOxlint; exports.tsRulesEslint = tsRulesEslint;
677
- //# sourceMappingURL=chunk-WNKIVER4.cjs.map
673
+ //# sourceMappingURL=chunk-XLDSYFLW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/lint-preset/lint-preset/dist/chunk-WNKIVER4.cjs","../src/configs/unicorn.ts","../src/configs/abbreviations.ts","../src/configs/javascript.ts","../src/configs/react.ts","../src/configs/typescript.ts"],"names":[],"mappings":"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","file":"/home/runner/work/lint-preset/lint-preset/dist/chunk-WNKIVER4.cjs","sourcesContent":[null,"import type { Linter } from 'eslint';\n\n/**\n * Mirror of `eslint-plugin-unicorn`'s recommended config, split by runtime.\n *\n * Oxlint natively implements most unicorn rules, so we enable those under the\n * canonical `unicorn/` prefix (fast, Rust). Rules oxlint hasn't ported run\n * through the original JS plugin, aliased as `unicornx` in `jsPlugins` (see\n * `src/oxlint.ts`), because oxlint's built-in plugin owns the `unicorn/`\n * namespace.\n *\n * `unicorn/name-replacements` is also not ported. It lives in `javascript.ts`\n * because it takes user-configurable options.\n */\n\n/**\n * Unicorn recommended rules natively implemented by Oxlint, grouped by the\n * oxlint category they belong to. Only the correctness group is enabled by\n * oxlint's defaults (as `warn`); everything is set explicitly to `error` to\n * match the recommended config.\n */\nexport const unicornRulesOxlint: Linter.RulesRecord = {\n // correctness\n 'unicorn/no-await-in-promise-methods': 'error',\n 'unicorn/no-empty-file': 'warn',\n 'unicorn/no-invalid-fetch-options': 'error',\n 'unicorn/no-invalid-remove-event-listener': 'error',\n 'unicorn/no-new-array': 'error',\n 'unicorn/no-single-promise-in-promise-methods': 'error',\n 'unicorn/no-thenable': 'error',\n 'unicorn/no-unnecessary-await': 'error',\n 'unicorn/no-useless-fallback-in-spread': 'error',\n 'unicorn/no-useless-length-check': 'error',\n 'unicorn/no-useless-spread': 'error',\n 'unicorn/prefer-set-size': 'error',\n 'unicorn/prefer-string-starts-ends-with': 'error',\n\n // perf\n 'unicorn/prefer-array-find': 'error',\n 'unicorn/prefer-array-flat-map': 'error',\n 'unicorn/prefer-set-has': 'error',\n\n // restriction\n 'unicorn/no-abusive-eslint-disable': 'error',\n 'unicorn/no-anonymous-default-export': 'error',\n 'unicorn/no-array-for-each': 'error',\n 'unicorn/no-array-reduce': 'error',\n 'unicorn/no-document-cookie': 'error',\n 'unicorn/no-magic-array-flat-depth': 'error',\n 'unicorn/no-process-exit': 'error',\n 'unicorn/no-useless-error-capture-stack-trace': 'error',\n 'unicorn/prefer-modern-math-apis': 'error',\n 'unicorn/prefer-module': 'error',\n 'unicorn/prefer-node-protocol': 'error',\n 'unicorn/prefer-number-properties': 'error',\n\n // suspicious\n 'unicorn/consistent-function-scoping': 'error',\n 'unicorn/no-accessor-recursion': 'error',\n 'unicorn/no-array-reverse': 'error',\n 'unicorn/no-array-sort': 'error',\n 'unicorn/no-instanceof-builtins': 'error',\n 'unicorn/prefer-add-event-listener': 'error',\n 'unicorn/require-module-specifiers': 'error',\n\n // pedantic\n 'unicorn/consistent-assert': 'error',\n 'unicorn/consistent-empty-array-spread': 'error',\n 'unicorn/escape-case': 'error',\n 'unicorn/explicit-length-check': 'error',\n 'unicorn/new-for-builtins': 'error',\n 'unicorn/no-array-callback-reference': 'error',\n 'unicorn/no-hex-escape': 'error',\n 'unicorn/no-immediate-mutation': 'error',\n 'unicorn/no-lonely-if': 'error',\n 'unicorn/no-negation-in-equality-check': 'error',\n 'unicorn/no-new-buffer': 'error',\n 'unicorn/no-object-as-default-parameter': 'error',\n 'unicorn/no-static-only-class': 'error',\n 'unicorn/no-this-assignment': 'error',\n 'unicorn/no-typeof-undefined': 'error',\n 'unicorn/no-unnecessary-array-flat-depth': 'error',\n 'unicorn/no-unnecessary-array-splice-count': 'error',\n 'unicorn/no-unnecessary-slice-end': 'error',\n 'unicorn/no-unreadable-iife': 'error',\n 'unicorn/no-useless-promise-resolve-reject': 'error',\n 'unicorn/no-useless-switch-case': 'error',\n 'unicorn/prefer-array-flat': 'error',\n 'unicorn/prefer-array-some': 'error',\n 'unicorn/prefer-at': 'error',\n 'unicorn/prefer-blob-reading-methods': 'error',\n 'unicorn/prefer-code-point': 'error',\n 'unicorn/prefer-date-now': 'error',\n 'unicorn/prefer-dom-node-append': 'error',\n 'unicorn/prefer-dom-node-dataset': 'error',\n 'unicorn/prefer-dom-node-remove': 'error',\n 'unicorn/prefer-event-target': 'error',\n 'unicorn/prefer-math-min-max': 'error',\n 'unicorn/prefer-math-trunc': 'error',\n 'unicorn/prefer-native-coercion-functions': 'error',\n 'unicorn/prefer-prototype-methods': 'error',\n 'unicorn/prefer-query-selector': 'error',\n 'unicorn/prefer-regexp-test': 'error',\n 'unicorn/prefer-string-replace-all': 'error',\n 'unicorn/prefer-string-slice': 'error',\n 'unicorn/prefer-top-level-await': 'error',\n 'unicorn/prefer-type-error': 'error',\n 'unicorn/require-number-to-fixed-digits-argument': 'error',\n\n // style\n 'unicorn/catch-error-name': ['error', { name: 'error' }],\n 'unicorn/consistent-date-clone': 'error',\n 'unicorn/consistent-existence-index-check': 'error',\n 'unicorn/consistent-template-literal-escape': 'error',\n 'unicorn/empty-brace-spaces': 'error',\n 'unicorn/error-message': 'error',\n 'unicorn/no-array-method-this-argument': 'error',\n 'unicorn/no-await-expression-member': 'error',\n 'unicorn/no-console-spaces': 'error',\n 'unicorn/no-unreadable-array-destructuring': 'error',\n 'unicorn/no-useless-collection-argument': 'error',\n 'unicorn/no-zero-fractions': 'error',\n 'unicorn/numeric-separators-style': 'error',\n 'unicorn/prefer-array-index-of': 'error',\n 'unicorn/prefer-bigint-literals': 'error',\n 'unicorn/prefer-class-fields': 'error',\n 'unicorn/prefer-classlist-toggle': 'error',\n 'unicorn/prefer-default-parameters': 'error',\n 'unicorn/prefer-dom-node-text-content': 'error',\n 'unicorn/prefer-global-this': 'error',\n 'unicorn/prefer-includes': 'error',\n 'unicorn/prefer-keyboard-event-key': 'error',\n 'unicorn/prefer-logical-operator-over-ternary': 'error',\n 'unicorn/prefer-modern-dom-apis': 'error',\n 'unicorn/prefer-negative-index': 'error',\n 'unicorn/prefer-object-from-entries': 'error',\n 'unicorn/prefer-optional-catch-binding': 'error',\n 'unicorn/prefer-reflect-apply': 'error',\n 'unicorn/prefer-response-static-json': 'error',\n 'unicorn/prefer-spread': 'error',\n 'unicorn/prefer-string-raw': 'error',\n 'unicorn/prefer-string-trim-start-end': 'error',\n 'unicorn/prefer-structured-clone': 'error',\n 'unicorn/relative-url-style': 'error',\n 'unicorn/require-array-join-separator': 'error',\n 'unicorn/require-module-attributes': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/switch-case-break-position': 'error',\n 'unicorn/text-encoding-identifier-case': 'error',\n 'unicorn/throw-new-error': 'error',\n};\n\n/**\n * Unicorn recommended rules that Oxlint hasn't ported. They run inside Oxlint\n * through the original JS plugin under the `unicornx` alias.\n */\nexport const unicornRulesJsPlugin: Linter.RulesRecord = {\n 'unicornx/isolated-functions': 'error',\n 'unicornx/no-for-loop': 'error',\n 'unicornx/no-named-default': 'error',\n 'unicornx/no-unnecessary-polyfills': 'error',\n 'unicornx/no-unreadable-for-of-expression': 'error',\n 'unicornx/prefer-export-from': 'error',\n 'unicornx/prefer-simple-condition-first': 'error',\n 'unicornx/prefer-single-call': 'error',\n 'unicornx/prefer-switch': 'error',\n 'unicornx/template-indent': 'error',\n\n /**\n * Native port exists but only in oxlint's nursery category, which can't be\n * enabled from config, so we run the JS original instead.\n */\n 'unicornx/no-useless-iterator-to-array': 'error',\n\n /**\n * Oxlint's port hardcodes uppercase hexadecimal digits, which fights\n * Prettier's lowercase formatting, so we run the JS original with the\n * lowercase option instead.\n */\n 'unicornx/number-literal-case': ['error', { hexadecimalValue: 'lowercase' }],\n};\n\n/**\n * Unicorn recommended rules that can't run inside Oxlint's JS-plugin host yet\n * because the compat layer is missing ESLint APIs (e.g.\n * `sourceCode.getDisableDirectives`). ESLint picks them up after Oxlint runs.\n */\nexport const unicornRulesEslint: Linter.RulesRecord = {\n 'unicorn/expiring-todo-comments': 'error',\n};\n","export const DEFAULT_ABBREVIATION_ALLOW_LIST = ['fn', 'cb', 'err', 'prev', 'dev', 'i'];\n\nexport const ABBREVIATION_REPLACEMENTS: Record<string, Record<string, boolean> | false> = {\n ref: false,\n refs: false,\n dev: false,\n dir: false,\n env: false,\n prop: false,\n props: false,\n util: false,\n utils: false,\n param: false,\n params: false,\n arg: false,\n args: false,\n db: false,\n ev: { event: true },\n val: { value: true },\n msg: { message: true },\n el: { element: true },\n elem: { element: true },\n btn: { button: true },\n cb: { callback: true },\n fn: { function: true },\n err: { error: true },\n opts: { options: true },\n cfg: { config: true },\n obj: { object: true },\n arr: { array: true },\n str: { string: true },\n num: { number: true },\n curr: { current: true },\n len: { length: true },\n e: { event: true, error: true },\n};\n","import type { Linter } from 'eslint';\nimport { ABBREVIATION_REPLACEMENTS, DEFAULT_ABBREVIATION_ALLOW_LIST } from './abbreviations.js';\nimport { unicornRulesJsPlugin, unicornRulesOxlint } from './unicorn.js';\n\nexport const jsFileExtensions = ['**/*.js', '**/*.jsx', '**/*.mjs', '**/*.cjs'];\n\nexport const paddingLineEntries = [\n {\n blankLine: 'always',\n prev: '*',\n next: ['block', 'block-like', 'class', 'const', 'let'],\n },\n {\n blankLine: 'always',\n prev: 'block',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: '*',\n },\n {\n blankLine: 'any',\n prev: ['const'],\n next: ['const'],\n },\n {\n blankLine: 'any',\n prev: ['let'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: ['const'],\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-const'],\n next: ['multiline-const'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-const'],\n next: ['singleline-const'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-let'],\n next: ['multiline-let'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-let'],\n next: ['singleline-let'],\n },\n {\n blankLine: 'any',\n prev: ['case', 'block', 'block-like'],\n next: ['case', 'default'],\n },\n {\n blankLine: 'any',\n prev: '*',\n next: 'break',\n },\n {\n blankLine: 'always',\n prev: 'if',\n next: '*',\n },\n /**\n * Imports form a block: padded from anything that isn't an import, but\n * consecutive imports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'import',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'import',\n },\n {\n blankLine: 'any',\n prev: 'import',\n next: 'import',\n },\n /**\n * Exports form a block: padded from anything that isn't an export, but\n * consecutive exports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'export',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'export',\n },\n {\n blankLine: 'any',\n prev: 'export',\n next: 'export',\n },\n];\n\nexport const jsdocTagLineOptions = ['always', { count: 1, startLines: 1, applyToEndTag: false }];\n\nexport interface JavaScriptRuleOptions {\n preventAbbreviations?: {\n allowList?: string[];\n inheritAllowList?: boolean;\n replacements?: Record<string, Record<string, boolean> | false>;\n inheritReplacements?: boolean;\n };\n}\n\n/**\n * Non type-aware rules that run under Oxlint.\n */\nexport function jsRulesOxlint(options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n const { preventAbbreviations: preventAbbreviationsOptions } = options;\n\n const {\n inheritAllowList = true,\n inheritReplacements = true,\n allowList = [],\n replacements = {},\n } = preventAbbreviationsOptions ?? {};\n\n return {\n 'consistent-return': 'error',\n curly: ['error', 'all'],\n 'arrow-body-style': 'off',\n 'dot-notation': 'error',\n 'no-debugger': 'warn',\n 'no-unused-vars': 'off',\n 'no-async-promise-executor': 'error',\n 'no-case-declarations': 'error',\n 'default-case-last': 'error',\n 'no-cond-assign': 'error',\n 'no-dynamic-delete': 'off',\n 'no-unneeded-ternary': 'error',\n 'object-shorthand': 'error',\n 'no-constant-condition': ['error', { checkLoops: false }],\n\n '@stylistic/padding-line-between-statements': ['error', ...paddingLineEntries],\n '@stylistic/no-trailing-spaces': 'error',\n\n /**\n * Indentation is owned by Prettier. Oxlint's @stylistic/indent port\n * diverges from eslint-stylistic on edge cases (e.g., multiline object\n * args inside ternaries), so we leave the rule off.\n */\n '@stylistic/indent': 'off',\n '@stylistic/no-multiple-empty-lines': ['error', { max: 1 }],\n '@stylistic/multiline-comment-style': ['error', 'starred-block'],\n '@stylistic/spaced-comment': [\n 'error',\n 'always',\n {\n block: { balanced: true },\n },\n ],\n '@stylistic/brace-style': ['error', '1tbs'],\n '@stylistic/lines-around-comment': [\n 'error',\n {\n beforeBlockComment: true,\n beforeLineComment: true,\n allowBlockStart: true,\n allowBlockEnd: false,\n allowObjectStart: true,\n allowObjectEnd: false,\n allowArrayStart: true,\n allowArrayEnd: true,\n allowClassStart: true,\n allowInterfaceStart: true,\n allowInterfaceEnd: true,\n allowEnumStart: true,\n allowEnumEnd: true,\n allowTypeStart: true,\n allowTypeEnd: false,\n },\n ],\n\n // unicorn recommended, split between native oxlint ports and JS originals\n ...unicornRulesOxlint,\n ...unicornRulesJsPlugin,\n\n /**\n * Oxlint's built-in `unicorn` / `jsdoc` plugins don't implement these,\n * so we wire the original JS plugins under aliased names (see jsPlugins\n * in `src/oxlint.ts`). Rule IDs use the alias, not the canonical prefix.\n */\n 'unicornx/name-replacements': [\n 'error',\n {\n replacements: inheritReplacements ? { ...ABBREVIATION_REPLACEMENTS, ...replacements } : replacements,\n allowList: Object.fromEntries(\n (inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList).map((name) => [\n name,\n true,\n ]),\n ),\n },\n ],\n\n 'jsdocx/tag-lines': ['error', ...jsdocTagLineOptions],\n };\n}\n\n/**\n * Rules that can't run under Oxlint. ESLint-core rules that Oxlint hasn't\n * implemented (`prefer-arrow-callback`) or only ships in its nursery category\n * (`no-useless-assignment`), and that aren't exposed by any plugin we can\n * alias into oxlint's `jsPlugins` (the `@eslint/js` package only ships configs,\n * not a raw `rules` object). ESLint picks them up after Oxlint runs.\n */\nexport function jsRulesEslint(_options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n 'prefer-arrow-callback': 'error',\n 'no-useless-assignment': 'error',\n };\n}\n","import type { Linter } from 'eslint';\n\nexport interface ReactRuleOptions {\n fastRefresh?: boolean;\n performance?: boolean;\n}\n\nexport type ReactConfigOptions = boolean | ReactRuleOptions;\n\ninterface ResolvedReactRuleOptions {\n fastRefresh: boolean;\n performance: boolean;\n}\n\nexport const reactFileExtensions = ['**/*.jsx', '**/*.tsx'];\n\nexport function resolveReactRuleOptions(options: ReactConfigOptions = false): ResolvedReactRuleOptions {\n if (options === false) {\n return {\n fastRefresh: false,\n performance: false,\n };\n }\n\n if (options === true) {\n return {\n fastRefresh: true,\n performance: true,\n };\n }\n\n return {\n fastRefresh: options.fastRefresh ?? true,\n performance: options.performance ?? true,\n };\n}\n\nexport function reactRulesOxlint(options: ReactConfigOptions = false): Linter.RulesRecord {\n const resolvedOptions = resolveReactRuleOptions(options);\n\n return {\n 'react/jsx-key': 'error',\n 'react/jsx-no-duplicate-props': 'error',\n 'react/no-children-prop': 'error',\n 'react/no-danger-with-children': 'error',\n 'react/void-dom-elements-no-children': 'error',\n 'react/no-unknown-property': 'error',\n 'react/style-prop-object': 'error',\n 'react/button-has-type': 'error',\n 'react/checked-requires-onchange-or-readonly': 'error',\n 'react/forward-ref-uses-ref': 'error',\n 'react/jsx-props-no-spread-multi': 'error',\n 'react/jsx-no-script-url': 'error',\n 'react/jsx-no-target-blank': 'error',\n 'react/jsx-no-constructed-context-values': 'error',\n 'react/no-unstable-nested-components': 'error',\n 'react/no-array-index-key': 'warn',\n 'react/no-object-type-as-default-prop': 'warn',\n 'react/iframe-missing-sandbox': 'error',\n 'react/no-danger': 'warn',\n\n ...(resolvedOptions.fastRefresh && {\n 'react/only-export-components': ['warn', { allowConstantExport: true }],\n }),\n\n ...(resolvedOptions.performance && {\n 'react-perf/jsx-no-new-object-as-prop': 'warn',\n 'react-perf/jsx-no-new-array-as-prop': 'warn',\n 'react-perf/jsx-no-new-function-as-prop': 'warn',\n 'react-perf/jsx-no-jsx-as-prop': 'warn',\n }),\n };\n}\n","import type { Linter } from 'eslint';\nimport { jsRulesOxlint, type JavaScriptRuleOptions } from './javascript.js';\n\nexport const tsFileExtensions = ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'];\n\nconst tsIgnoreDescriptionFormat = String.raw`^: TS\\d+ because .+$`;\n\nexport interface TypeScriptRuleOptions extends JavaScriptRuleOptions {\n namingConvention?: {\n variable?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n parameter?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n typeLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n memberLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n function?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n };\n}\n\ninterface NamingConventionFormatOptions {\n inheritFormat?: boolean;\n format?: string[];\n}\n\n/**\n * Type-aware typescript-eslint rules that Oxlint executes natively through\n * tsgolint (`options.typeAware`). They mirror what typescript-eslint's\n * `strictTypeChecked` + `stylisticTypeChecked` presets enabled when these\n * rules still ran under ESLint — same severities, same options — so moving\n * them here changed which engine serves them, not the behavior.\n *\n * Type-aware rules in oxlint's `correctness` category (e.g. `await-thenable`,\n * `unbound-method`) are not listed: they already run via the default\n * category, as `warn`, matching the pre-migration state.\n *\n * `typescript/naming-convention` is one of the two typescript-eslint\n * type-aware rules tsgolint doesn't implement; it stays in ESLint\n * (see {@link tsRulesEslint}).\n */\nexport const tsTypeAwareRulesOxlint: Linter.RulesRecord = {\n 'typescript/no-confusing-void-expression': 'error',\n 'typescript/no-deprecated': 'error',\n 'typescript/no-floating-promises': 'error',\n 'typescript/no-misused-promises': 'error',\n 'typescript/no-mixed-enums': 'error',\n 'typescript/no-unnecessary-boolean-literal-compare': 'error',\n 'typescript/no-unnecessary-condition': 'error',\n 'typescript/no-unnecessary-template-expression': 'error',\n 'typescript/no-unnecessary-type-arguments': 'error',\n 'typescript/no-unnecessary-type-assertion': 'error',\n 'typescript/no-unnecessary-type-conversion': 'error',\n 'typescript/no-unnecessary-type-parameters': 'error',\n 'typescript/no-unsafe-argument': 'error',\n 'typescript/no-unsafe-assignment': 'error',\n 'typescript/no-unsafe-call': 'error',\n 'typescript/no-unsafe-enum-comparison': 'error',\n 'typescript/no-unsafe-member-access': 'error',\n 'typescript/no-unsafe-return': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': 'error',\n 'typescript/prefer-find': 'error',\n 'typescript/prefer-includes': 'error',\n 'typescript/prefer-nullish-coalescing': ['error', { ignorePrimitives: true }],\n 'typescript/prefer-optional-chain': 'error',\n 'typescript/prefer-promise-reject-errors': 'error',\n 'typescript/prefer-reduce-type-parameter': 'error',\n 'typescript/prefer-regexp-exec': 'error',\n 'typescript/prefer-return-this-type': 'error',\n 'typescript/prefer-string-starts-ends-with': 'error',\n 'typescript/related-getter-setter-pairs': 'error',\n 'typescript/restrict-plus-operands': [\n 'error',\n {\n allowAny: false,\n allowBoolean: false,\n allowNullish: false,\n allowNumberAndString: false,\n allowRegExp: false,\n },\n ],\n 'typescript/return-await': ['error', 'error-handling-correctness-only'],\n 'typescript/use-unknown-in-catch-callback-variable': 'error',\n};\n\n/**\n * Syntax-only rules that Oxlint ports natively and that used to reach ESLint\n * through typescript-eslint's presets: the `strictTypeChecked` /\n * `stylisticTypeChecked` rules that don't need type information, plus the\n * ESLint-core rules typescript-eslint's `eslintRecommended` config raises for\n * TypeScript files (hence the `eslint/` prefix and the TS-files-only scope).\n */\nexport const tsSyntaxRulesOxlint: Linter.RulesRecord = {\n 'typescript/adjacent-overload-signatures': 'error',\n 'typescript/ban-tslint-comment': 'error',\n 'typescript/class-literal-property-style': 'error',\n 'typescript/consistent-generic-constructors': 'error',\n 'typescript/consistent-indexed-object-style': 'error',\n 'typescript/consistent-type-assertions': 'error',\n 'typescript/consistent-type-definitions': 'error',\n 'typescript/no-array-constructor': 'error',\n 'typescript/no-confusing-non-null-assertion': 'error',\n 'typescript/no-empty-object-type': 'error',\n 'typescript/no-extraneous-class': 'error',\n 'typescript/no-inferrable-types': 'error',\n 'typescript/no-invalid-void-type': 'error',\n 'typescript/no-namespace': 'error',\n 'typescript/no-non-null-asserted-nullish-coalescing': 'error',\n 'typescript/no-require-imports': 'error',\n 'typescript/no-unnecessary-type-constraint': 'error',\n 'typescript/no-unsafe-function-type': 'error',\n 'typescript/no-useless-constructor': 'error',\n 'typescript/prefer-for-of': 'error',\n 'typescript/prefer-function-type': 'error',\n 'typescript/prefer-literal-enum-member': 'error',\n 'typescript/unified-signatures': 'error',\n\n 'eslint/no-var': 'error',\n 'eslint/prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }],\n 'eslint/prefer-rest-params': 'error',\n 'eslint/prefer-spread': 'error',\n};\n\n/**\n * TypeScript rules that run under Oxlint, including the type-aware set\n * executed through tsgolint.\n */\nexport function tsRulesOxlint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...jsRulesOxlint(options),\n\n ...tsTypeAwareRulesOxlint,\n ...tsSyntaxRulesOxlint,\n\n /**\n * Oxlint exposes typescript-eslint rules under its own `typescript/`\n * namespace, so rule ids are prefixed `typescript/` rather than\n * `@typescript-eslint/`.\n */\n 'typescript/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n 'typescript/no-non-null-assertion': 'error',\n 'typescript/no-empty-function': 'off',\n 'typescript/no-explicit-any': 'off',\n 'typescript/no-base-to-string': 'off',\n 'typescript/no-dynamic-delete': 'off',\n 'typescript/no-extra-non-null-assertion': 'error',\n 'typescript/no-non-null-asserted-optional-chain': 'error',\n 'typescript/explicit-module-boundary-types': 'off',\n 'typescript/ban-ts-comment': [\n 'error',\n {\n 'ts-expect-error': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-ignore': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-nocheck': true,\n 'ts-check': false,\n },\n ],\n\n '@stylistic/type-annotation-spacing': 'error',\n\n // comment handling conflicts with the padding-line heuristics\n '@stylistic/lines-around-comment': 'off',\n };\n}\n\n/**\n * TypeScript rules served by ESLint.\n *\n * Only rules Oxlint can't run remain here: `naming-convention` is one of the\n * two typescript-eslint type-aware rules tsgolint doesn't implement, and\n * `explicit-member-accessibility` has no Oxlint port at all.\n */\nexport function tsRulesEslint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...getESLintNamingConventionRule(options.namingConvention),\n '@typescript-eslint/explicit-member-accessibility': ['error', { accessibility: 'no-public' }],\n '@typescript-eslint/no-dynamic-delete': 'off',\n '@typescript-eslint/array-type': 'off',\n '@typescript-eslint/require-await': 'off',\n '@typescript-eslint/no-explicit-any': 'off',\n '@typescript-eslint/no-empty-function': 'off',\n '@typescript-eslint/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n varsIgnorePattern: '^_',\n caughtErrorsIgnorePattern: '^_',\n destructuredArrayIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n };\n}\n\n/**\n * ESLint-namespaced variant of the naming-convention rule. Keeps the same\n * filter / selector shape as {@link getNamingConventionRule}, only swapping\n * the rule id so it lines up with `@typescript-eslint/eslint-plugin`.\n */\nexport function getESLintNamingConventionRule(\n extensions?: TypeScriptRuleOptions['namingConvention'],\n): Linter.RulesRecord {\n const oxlintRules = getNamingConventionRule(extensions);\n\n return {\n '@typescript-eslint/naming-convention': oxlintRules['typescript/naming-convention'],\n };\n}\n\nexport function getNamingConventionRule(extensions?: TypeScriptRuleOptions['namingConvention']): Linter.RulesRecord {\n return {\n 'typescript/naming-convention': [\n 'error',\n {\n selector: ['variable'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.variable),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.variable?.exceptions),\n match: false,\n },\n },\n {\n selector: ['function'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.function),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.function?.exceptions),\n match: false,\n },\n },\n {\n selector: 'parameter',\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.parameter),\n leadingUnderscore: 'allow',\n ...(extensions?.parameter?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.parameter.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'typeLike',\n format: mergeFormat(['PascalCase'], extensions?.typeLike),\n ...(extensions?.typeLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.typeLike.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'memberLike',\n modifiers: ['private'],\n format: mergeFormat(['camelCase', 'PascalCase'], extensions?.memberLike),\n leadingUnderscore: 'require',\n ...(extensions?.memberLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.memberLike.exceptions),\n match: false,\n },\n }),\n },\n ],\n };\n}\n\nfunction mergeFormat(defaults: string[], extensions?: NamingConventionFormatOptions) {\n return [...new Set([...((extensions?.inheritFormat ?? true) ? defaults : []), ...(extensions?.format ?? [])])];\n}\n\nfunction generateFilterRegex(defaults: string[], extensions: string[] = []) {\n return `^(${[...defaults, ...extensions].join('|')})$`;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/lint-preset/lint-preset/dist/chunk-XLDSYFLW.cjs","../src/configs/unicorn.ts","../src/configs/abbreviations.ts","../src/configs/javascript.ts","../src/configs/react.ts","../src/configs/typescript.ts"],"names":[],"mappings":"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","file":"/home/runner/work/lint-preset/lint-preset/dist/chunk-XLDSYFLW.cjs","sourcesContent":[null,"import type { Linter } from 'eslint';\n\n/**\n * Mirror of `eslint-plugin-unicorn`'s recommended config, split by runtime.\n *\n * Oxlint natively implements most unicorn rules, so we enable those under the\n * canonical `unicorn/` prefix (fast, Rust). Rules oxlint hasn't ported run\n * through the original JS plugin, aliased as `unicornx` in `jsPlugins` (see\n * `src/oxlint.ts`), because oxlint's built-in plugin owns the `unicorn/`\n * namespace.\n *\n * `unicorn/name-replacements` is also not ported. It lives in `javascript.ts`\n * because it takes user-configurable options.\n */\n\n/**\n * Unicorn recommended rules natively implemented by Oxlint, grouped by the\n * oxlint category they belong to. Only the correctness group is enabled by\n * oxlint's defaults (as `warn`); everything is set explicitly to `error` to\n * match the recommended config.\n */\nexport const unicornRulesOxlint: Linter.RulesRecord = {\n // correctness\n 'unicorn/no-await-in-promise-methods': 'error',\n 'unicorn/no-empty-file': 'warn',\n 'unicorn/no-invalid-fetch-options': 'error',\n 'unicorn/no-invalid-remove-event-listener': 'error',\n 'unicorn/no-new-array': 'error',\n 'unicorn/no-single-promise-in-promise-methods': 'error',\n 'unicorn/no-thenable': 'error',\n 'unicorn/no-unnecessary-await': 'error',\n 'unicorn/no-useless-fallback-in-spread': 'error',\n 'unicorn/no-useless-length-check': 'error',\n 'unicorn/no-useless-spread': 'error',\n 'unicorn/prefer-set-size': 'error',\n 'unicorn/prefer-string-starts-ends-with': 'error',\n\n // perf\n 'unicorn/prefer-array-find': 'error',\n 'unicorn/prefer-array-flat-map': 'error',\n 'unicorn/prefer-set-has': 'error',\n\n // restriction\n 'unicorn/no-abusive-eslint-disable': 'error',\n 'unicorn/no-anonymous-default-export': 'error',\n 'unicorn/no-array-for-each': 'error',\n 'unicorn/no-array-reduce': 'error',\n 'unicorn/no-document-cookie': 'error',\n 'unicorn/no-magic-array-flat-depth': 'error',\n 'unicorn/no-process-exit': 'error',\n 'unicorn/no-useless-error-capture-stack-trace': 'error',\n 'unicorn/prefer-modern-math-apis': 'error',\n 'unicorn/prefer-module': 'error',\n 'unicorn/prefer-node-protocol': 'error',\n 'unicorn/prefer-number-properties': 'error',\n\n // suspicious\n 'unicorn/consistent-function-scoping': 'error',\n 'unicorn/no-accessor-recursion': 'error',\n 'unicorn/no-array-reverse': 'error',\n 'unicorn/no-array-sort': 'error',\n 'unicorn/no-instanceof-builtins': 'error',\n 'unicorn/prefer-add-event-listener': 'error',\n 'unicorn/require-module-specifiers': 'error',\n\n // pedantic\n 'unicorn/consistent-assert': 'error',\n 'unicorn/consistent-empty-array-spread': 'error',\n 'unicorn/escape-case': 'error',\n 'unicorn/explicit-length-check': 'error',\n 'unicorn/new-for-builtins': 'error',\n 'unicorn/no-array-callback-reference': 'error',\n 'unicorn/no-hex-escape': 'error',\n 'unicorn/no-immediate-mutation': 'error',\n 'unicorn/no-lonely-if': 'error',\n 'unicorn/no-negation-in-equality-check': 'error',\n 'unicorn/no-new-buffer': 'error',\n 'unicorn/no-object-as-default-parameter': 'error',\n 'unicorn/no-static-only-class': 'error',\n 'unicorn/no-this-assignment': 'error',\n 'unicorn/no-typeof-undefined': 'error',\n 'unicorn/no-unnecessary-array-flat-depth': 'error',\n 'unicorn/no-unnecessary-array-splice-count': 'error',\n 'unicorn/no-unnecessary-slice-end': 'error',\n 'unicorn/no-unreadable-iife': 'error',\n 'unicorn/no-useless-promise-resolve-reject': 'error',\n 'unicorn/no-useless-switch-case': 'error',\n 'unicorn/prefer-array-flat': 'error',\n 'unicorn/prefer-array-some': 'error',\n 'unicorn/prefer-at': 'error',\n 'unicorn/prefer-blob-reading-methods': 'error',\n 'unicorn/prefer-code-point': 'error',\n 'unicorn/prefer-date-now': 'error',\n 'unicorn/prefer-dom-node-append': 'error',\n 'unicorn/prefer-dom-node-dataset': 'error',\n 'unicorn/prefer-dom-node-remove': 'error',\n 'unicorn/prefer-event-target': 'error',\n 'unicorn/prefer-math-min-max': 'error',\n 'unicorn/prefer-math-trunc': 'error',\n 'unicorn/prefer-native-coercion-functions': 'error',\n 'unicorn/prefer-prototype-methods': 'error',\n 'unicorn/prefer-query-selector': 'error',\n 'unicorn/prefer-regexp-test': 'error',\n 'unicorn/prefer-string-replace-all': 'error',\n 'unicorn/prefer-string-slice': 'error',\n 'unicorn/prefer-top-level-await': 'error',\n 'unicorn/prefer-type-error': 'error',\n 'unicorn/require-number-to-fixed-digits-argument': 'error',\n\n // style\n 'unicorn/catch-error-name': ['error', { name: 'error' }],\n 'unicorn/consistent-date-clone': 'error',\n 'unicorn/consistent-existence-index-check': 'error',\n 'unicorn/consistent-template-literal-escape': 'error',\n 'unicorn/empty-brace-spaces': 'error',\n 'unicorn/error-message': 'error',\n 'unicorn/no-array-method-this-argument': 'error',\n 'unicorn/no-await-expression-member': 'error',\n 'unicorn/no-console-spaces': 'error',\n 'unicorn/no-unreadable-array-destructuring': 'error',\n 'unicorn/no-useless-collection-argument': 'error',\n 'unicorn/no-zero-fractions': 'error',\n 'unicorn/numeric-separators-style': 'error',\n 'unicorn/prefer-array-index-of': 'error',\n 'unicorn/prefer-bigint-literals': 'error',\n 'unicorn/prefer-class-fields': 'error',\n 'unicorn/prefer-classlist-toggle': 'error',\n 'unicorn/prefer-default-parameters': 'error',\n 'unicorn/prefer-dom-node-text-content': 'error',\n 'unicorn/prefer-global-this': 'error',\n 'unicorn/prefer-includes': 'error',\n 'unicorn/prefer-keyboard-event-key': 'error',\n 'unicorn/prefer-logical-operator-over-ternary': 'error',\n 'unicorn/prefer-modern-dom-apis': 'error',\n 'unicorn/prefer-negative-index': 'error',\n 'unicorn/prefer-object-from-entries': 'error',\n 'unicorn/prefer-optional-catch-binding': 'error',\n 'unicorn/prefer-reflect-apply': 'error',\n 'unicorn/prefer-response-static-json': 'error',\n 'unicorn/prefer-spread': 'error',\n 'unicorn/prefer-string-raw': 'error',\n 'unicorn/prefer-string-trim-start-end': 'error',\n 'unicorn/prefer-structured-clone': 'error',\n 'unicorn/relative-url-style': 'error',\n 'unicorn/require-array-join-separator': 'error',\n 'unicorn/require-module-attributes': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/switch-case-break-position': 'error',\n 'unicorn/text-encoding-identifier-case': 'error',\n 'unicorn/throw-new-error': 'error',\n};\n\n/**\n * Unicorn recommended rules that Oxlint hasn't ported. They run inside Oxlint\n * through the original JS plugin under the `unicornx` alias.\n */\nexport const unicornRulesJsPlugin: Linter.RulesRecord = {\n 'unicornx/isolated-functions': 'error',\n 'unicornx/no-for-loop': 'error',\n 'unicornx/no-named-default': 'error',\n 'unicornx/no-unnecessary-polyfills': 'error',\n 'unicornx/no-unreadable-for-of-expression': 'error',\n 'unicornx/prefer-export-from': 'error',\n 'unicornx/prefer-simple-condition-first': 'error',\n 'unicornx/prefer-single-call': 'error',\n 'unicornx/prefer-switch': 'error',\n 'unicornx/template-indent': 'error',\n\n /**\n * Native port exists but only in oxlint's nursery category, which can't be\n * enabled from config, so we run the JS original instead.\n */\n 'unicornx/no-useless-iterator-to-array': 'error',\n\n /**\n * Oxlint's port hardcodes uppercase hexadecimal digits, which fights\n * Prettier's lowercase formatting, so we run the JS original with the\n * lowercase option instead.\n */\n 'unicornx/number-literal-case': ['error', { hexadecimalValue: 'lowercase' }],\n};\n\n/**\n * Unicorn recommended rules that can't run inside Oxlint's JS-plugin host yet\n * because the compat layer is missing ESLint APIs (e.g.\n * `sourceCode.getDisableDirectives`). ESLint picks them up after Oxlint runs.\n */\nexport const unicornRulesEslint: Linter.RulesRecord = {\n 'unicorn/expiring-todo-comments': 'error',\n};\n","export const DEFAULT_ABBREVIATION_ALLOW_LIST = ['fn', 'cb', 'err', 'prev', 'dev', 'i'];\n\nexport const ABBREVIATION_REPLACEMENTS: Record<string, Record<string, boolean> | false> = {\n ref: false,\n refs: false,\n dev: false,\n dir: false,\n env: false,\n prop: false,\n props: false,\n util: false,\n utils: false,\n param: false,\n params: false,\n arg: false,\n args: false,\n db: false,\n ev: { event: true },\n val: { value: true },\n msg: { message: true },\n el: { element: true },\n elem: { element: true },\n btn: { button: true },\n cb: { callback: true },\n fn: { function: true },\n err: { error: true },\n opts: { options: true },\n cfg: { config: true },\n obj: { object: true },\n arr: { array: true },\n str: { string: true },\n num: { number: true },\n curr: { current: true },\n len: { length: true },\n e: { event: true, error: true },\n};\n","import type { Linter } from 'eslint';\nimport { ABBREVIATION_REPLACEMENTS, DEFAULT_ABBREVIATION_ALLOW_LIST } from './abbreviations.js';\nimport { unicornRulesJsPlugin, unicornRulesOxlint } from './unicorn.js';\n\nexport const jsFileExtensions = ['**/*.js', '**/*.jsx', '**/*.mjs', '**/*.cjs'];\n\nexport const paddingLineEntries = [\n {\n blankLine: 'always',\n prev: '*',\n next: ['block', 'block-like', 'class', 'const', 'let'],\n },\n {\n blankLine: 'always',\n prev: 'block',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: '*',\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: '*',\n },\n {\n blankLine: 'any',\n prev: ['const'],\n next: ['const'],\n },\n {\n blankLine: 'any',\n prev: ['let'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['let'],\n next: ['const'],\n },\n {\n blankLine: 'always',\n prev: ['const'],\n next: ['let'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-const'],\n next: ['multiline-const'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-const'],\n next: ['singleline-const'],\n },\n {\n blankLine: 'always',\n prev: ['singleline-let'],\n next: ['multiline-let'],\n },\n {\n blankLine: 'always',\n prev: ['multiline-let'],\n next: ['singleline-let'],\n },\n {\n blankLine: 'any',\n prev: ['case', 'block', 'block-like'],\n next: ['case', 'default'],\n },\n {\n blankLine: 'any',\n prev: '*',\n next: 'break',\n },\n {\n blankLine: 'always',\n prev: 'if',\n next: '*',\n },\n /**\n * Imports form a block: padded from anything that isn't an import, but\n * consecutive imports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'import',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'import',\n },\n {\n blankLine: 'any',\n prev: 'import',\n next: 'import',\n },\n /**\n * Exports form a block: padded from anything that isn't an export, but\n * consecutive exports can sit together. The same-type rule comes last so it\n * wins over the surrounding `*` rules.\n */\n {\n blankLine: 'always',\n prev: 'export',\n next: '*',\n },\n {\n blankLine: 'always',\n prev: '*',\n next: 'export',\n },\n {\n blankLine: 'any',\n prev: 'export',\n next: 'export',\n },\n];\n\nexport const jsdocTagLineOptions = ['always', { count: 1, startLines: 1, applyToEndTag: false }];\n\nexport interface JavaScriptRuleOptions {\n preventAbbreviations?: {\n allowList?: string[];\n inheritAllowList?: boolean;\n replacements?: Record<string, Record<string, boolean> | false>;\n inheritReplacements?: boolean;\n };\n}\n\n/**\n * Non type-aware rules that run under Oxlint.\n */\nexport function jsRulesOxlint(options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n const { preventAbbreviations: preventAbbreviationsOptions } = options;\n\n const {\n inheritAllowList = true,\n inheritReplacements = true,\n allowList = [],\n replacements = {},\n } = preventAbbreviationsOptions ?? {};\n\n const effectiveAllowList = inheritAllowList ? [...DEFAULT_ABBREVIATION_ALLOW_LIST, ...allowList] : allowList;\n\n return {\n 'consistent-return': 'error',\n curly: ['error', 'all'],\n 'arrow-body-style': 'off',\n 'dot-notation': 'error',\n 'no-debugger': 'warn',\n 'no-unused-vars': 'off',\n 'no-async-promise-executor': 'error',\n 'no-case-declarations': 'error',\n 'default-case-last': 'error',\n 'no-cond-assign': 'error',\n 'no-dynamic-delete': 'off',\n 'no-unneeded-ternary': 'error',\n 'object-shorthand': 'error',\n 'no-constant-condition': ['error', { checkLoops: false }],\n\n '@stylistic/padding-line-between-statements': ['error', ...paddingLineEntries],\n '@stylistic/no-trailing-spaces': 'error',\n\n /**\n * Indentation is owned by Prettier. Oxlint's @stylistic/indent port\n * diverges from eslint-stylistic on edge cases (e.g., multiline object\n * args inside ternaries), so we leave the rule off.\n */\n '@stylistic/indent': 'off',\n '@stylistic/no-multiple-empty-lines': ['error', { max: 1 }],\n '@stylistic/multiline-comment-style': ['error', 'starred-block'],\n '@stylistic/spaced-comment': [\n 'error',\n 'always',\n {\n block: { balanced: true },\n },\n ],\n '@stylistic/brace-style': ['error', '1tbs'],\n '@stylistic/lines-around-comment': [\n 'error',\n {\n beforeBlockComment: true,\n beforeLineComment: true,\n allowBlockStart: true,\n allowBlockEnd: false,\n allowObjectStart: true,\n allowObjectEnd: false,\n allowArrayStart: true,\n allowArrayEnd: true,\n allowClassStart: true,\n allowInterfaceStart: true,\n allowInterfaceEnd: true,\n allowEnumStart: true,\n allowEnumEnd: true,\n allowTypeStart: true,\n allowTypeEnd: false,\n },\n ],\n\n // unicorn recommended, split between native oxlint ports and JS originals\n ...unicornRulesOxlint,\n ...unicornRulesJsPlugin,\n\n /**\n * Oxlint's built-in `unicorn` / `jsdoc` plugins don't implement these,\n * so we wire the original JS plugins under aliased names (see jsPlugins\n * in `src/oxlint.ts`). Rule IDs use the alias, not the canonical prefix.\n */\n 'unicornx/name-replacements': [\n 'error',\n {\n replacements: inheritReplacements ? { ...ABBREVIATION_REPLACEMENTS, ...replacements } : replacements,\n allowList: Object.fromEntries(effectiveAllowList.map((name) => [name, true])),\n },\n ],\n\n 'jsdocx/tag-lines': ['error', ...jsdocTagLineOptions],\n };\n}\n\n/**\n * Rules that can't run under Oxlint. ESLint-core rules that Oxlint hasn't\n * implemented (`prefer-arrow-callback`) or only ships in its nursery category\n * (`no-useless-assignment`), and that aren't exposed by any plugin we can\n * alias into oxlint's `jsPlugins` (the `@eslint/js` package only ships configs,\n * not a raw `rules` object). ESLint picks them up after Oxlint runs.\n */\nexport function jsRulesEslint(_options: JavaScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n 'prefer-arrow-callback': 'error',\n 'no-useless-assignment': 'error',\n };\n}\n","import type { Linter } from 'eslint';\n\nexport interface ReactRuleOptions {\n fastRefresh?: boolean;\n performance?: boolean;\n}\n\nexport type ReactConfigOptions = boolean | ReactRuleOptions;\n\ninterface ResolvedReactRuleOptions {\n fastRefresh: boolean;\n performance: boolean;\n}\n\nexport const reactFileExtensions = ['**/*.jsx', '**/*.tsx'];\n\nexport function resolveReactRuleOptions(options: ReactConfigOptions = false): ResolvedReactRuleOptions {\n if (options === false) {\n return {\n fastRefresh: false,\n performance: false,\n };\n }\n\n if (options === true) {\n return {\n fastRefresh: true,\n performance: true,\n };\n }\n\n return {\n fastRefresh: options.fastRefresh ?? true,\n performance: options.performance ?? true,\n };\n}\n\nexport function reactRulesOxlint(options: ReactConfigOptions = false): Linter.RulesRecord {\n const resolvedOptions = resolveReactRuleOptions(options);\n\n return {\n 'react/jsx-key': 'error',\n 'react/jsx-no-duplicate-props': 'error',\n 'react/no-children-prop': 'error',\n 'react/no-danger-with-children': 'error',\n 'react/void-dom-elements-no-children': 'error',\n 'react/no-unknown-property': 'error',\n 'react/style-prop-object': 'error',\n 'react/button-has-type': 'error',\n 'react/checked-requires-onchange-or-readonly': 'error',\n 'react/forward-ref-uses-ref': 'error',\n 'react/jsx-props-no-spread-multi': 'error',\n 'react/jsx-no-script-url': 'error',\n 'react/jsx-no-target-blank': 'error',\n 'react/jsx-no-constructed-context-values': 'error',\n 'react/no-unstable-nested-components': 'error',\n 'react/no-array-index-key': 'warn',\n 'react/no-object-type-as-default-prop': 'warn',\n 'react/iframe-missing-sandbox': 'error',\n 'react/no-danger': 'warn',\n\n ...(resolvedOptions.fastRefresh && {\n 'react/only-export-components': ['warn', { allowConstantExport: true }],\n }),\n\n ...(resolvedOptions.performance && {\n 'react-perf/jsx-no-new-object-as-prop': 'warn',\n 'react-perf/jsx-no-new-array-as-prop': 'warn',\n 'react-perf/jsx-no-new-function-as-prop': 'warn',\n 'react-perf/jsx-no-jsx-as-prop': 'warn',\n }),\n };\n}\n","import type { Linter } from 'eslint';\nimport { jsRulesOxlint, type JavaScriptRuleOptions } from './javascript.js';\n\nexport const tsFileExtensions = ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'];\n\nconst tsIgnoreDescriptionFormat = String.raw`^: TS\\d+ because .+$`;\n\nexport interface TypeScriptRuleOptions extends JavaScriptRuleOptions {\n namingConvention?: {\n variable?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n parameter?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n typeLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n memberLike?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n function?: {\n inheritFormat?: boolean;\n format?: string[];\n exceptions?: string[];\n };\n };\n}\n\ninterface NamingConventionFormatOptions {\n inheritFormat?: boolean;\n format?: string[];\n}\n\n/**\n * Type-aware typescript-eslint rules that Oxlint executes natively through\n * tsgolint (`options.typeAware`). They mirror what typescript-eslint's\n * `strictTypeChecked` + `stylisticTypeChecked` presets enabled when these\n * rules still ran under ESLint — same severities, same options — so moving\n * them here changed which engine serves them, not the behavior.\n *\n * Type-aware rules in oxlint's `correctness` category (e.g. `await-thenable`,\n * `unbound-method`) are not listed: they already run via the default\n * category, as `warn`, matching the pre-migration state.\n *\n * `typescript/naming-convention` is one of the two typescript-eslint\n * type-aware rules tsgolint doesn't implement; it stays in ESLint\n * (see {@link tsRulesEslint}).\n */\nexport const tsTypeAwareRulesOxlint: Linter.RulesRecord = {\n 'typescript/no-confusing-void-expression': 'error',\n 'typescript/no-deprecated': 'error',\n 'typescript/no-floating-promises': 'error',\n 'typescript/no-misused-promises': 'error',\n 'typescript/no-mixed-enums': 'error',\n 'typescript/no-unnecessary-boolean-literal-compare': 'error',\n 'typescript/no-unnecessary-condition': 'error',\n 'typescript/no-unnecessary-template-expression': 'error',\n 'typescript/no-unnecessary-type-arguments': 'error',\n 'typescript/no-unnecessary-type-assertion': 'error',\n 'typescript/no-unnecessary-type-conversion': 'error',\n 'typescript/no-unnecessary-type-parameters': 'error',\n 'typescript/no-unsafe-argument': 'error',\n 'typescript/no-unsafe-assignment': 'error',\n 'typescript/no-unsafe-call': 'error',\n 'typescript/no-unsafe-enum-comparison': 'error',\n 'typescript/no-unsafe-member-access': 'error',\n 'typescript/no-unsafe-return': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': 'error',\n 'typescript/prefer-find': 'error',\n 'typescript/prefer-includes': 'error',\n 'typescript/prefer-nullish-coalescing': ['error', { ignorePrimitives: true }],\n 'typescript/prefer-optional-chain': 'error',\n 'typescript/prefer-promise-reject-errors': 'error',\n 'typescript/prefer-reduce-type-parameter': 'error',\n 'typescript/prefer-regexp-exec': 'error',\n 'typescript/prefer-return-this-type': 'error',\n 'typescript/prefer-string-starts-ends-with': 'error',\n 'typescript/related-getter-setter-pairs': 'error',\n 'typescript/restrict-plus-operands': [\n 'error',\n {\n allowAny: false,\n allowBoolean: false,\n allowNullish: false,\n allowNumberAndString: false,\n allowRegExp: false,\n },\n ],\n 'typescript/return-await': ['error', 'error-handling-correctness-only'],\n 'typescript/use-unknown-in-catch-callback-variable': 'error',\n};\n\n/**\n * Syntax-only rules that Oxlint ports natively and that used to reach ESLint\n * through typescript-eslint's presets: the `strictTypeChecked` /\n * `stylisticTypeChecked` rules that don't need type information, plus the\n * ESLint-core rules typescript-eslint's `eslintRecommended` config raises for\n * TypeScript files (hence the `eslint/` prefix and the TS-files-only scope).\n */\nexport const tsSyntaxRulesOxlint: Linter.RulesRecord = {\n 'typescript/adjacent-overload-signatures': 'error',\n 'typescript/ban-tslint-comment': 'error',\n 'typescript/class-literal-property-style': 'error',\n 'typescript/consistent-generic-constructors': 'error',\n 'typescript/consistent-indexed-object-style': 'error',\n 'typescript/consistent-type-assertions': 'error',\n 'typescript/consistent-type-definitions': 'error',\n 'typescript/no-array-constructor': 'error',\n 'typescript/no-confusing-non-null-assertion': 'error',\n 'typescript/no-empty-object-type': 'error',\n 'typescript/no-extraneous-class': 'error',\n 'typescript/no-inferrable-types': 'error',\n 'typescript/no-invalid-void-type': 'error',\n 'typescript/no-namespace': 'error',\n 'typescript/no-non-null-asserted-nullish-coalescing': 'error',\n 'typescript/no-require-imports': 'error',\n 'typescript/no-unnecessary-type-constraint': 'error',\n 'typescript/no-unsafe-function-type': 'error',\n 'typescript/no-useless-constructor': 'error',\n 'typescript/prefer-for-of': 'error',\n 'typescript/prefer-function-type': 'error',\n 'typescript/prefer-literal-enum-member': 'error',\n 'typescript/unified-signatures': 'error',\n\n 'eslint/no-var': 'error',\n 'eslint/prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }],\n 'eslint/prefer-rest-params': 'error',\n 'eslint/prefer-spread': 'error',\n};\n\n/**\n * TypeScript rules that run under Oxlint, including the type-aware set\n * executed through tsgolint.\n */\nexport function tsRulesOxlint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...jsRulesOxlint(options),\n\n ...tsTypeAwareRulesOxlint,\n ...tsSyntaxRulesOxlint,\n\n /**\n * Oxlint exposes typescript-eslint rules under its own `typescript/`\n * namespace, so rule ids are prefixed `typescript/` rather than\n * `@typescript-eslint/`.\n */\n 'typescript/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n 'typescript/no-non-null-assertion': 'error',\n 'typescript/no-empty-function': 'off',\n 'typescript/no-explicit-any': 'off',\n 'typescript/no-base-to-string': 'off',\n 'typescript/no-dynamic-delete': 'off',\n 'typescript/no-extra-non-null-assertion': 'error',\n 'typescript/no-non-null-asserted-optional-chain': 'error',\n 'typescript/explicit-module-boundary-types': 'off',\n 'typescript/ban-ts-comment': [\n 'error',\n {\n 'ts-expect-error': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-ignore': { descriptionFormat: tsIgnoreDescriptionFormat },\n 'ts-nocheck': true,\n 'ts-check': false,\n },\n ],\n\n '@stylistic/type-annotation-spacing': 'error',\n\n // comment handling conflicts with the padding-line heuristics\n '@stylistic/lines-around-comment': 'off',\n };\n}\n\n/**\n * TypeScript rules served by ESLint.\n *\n * Only rules Oxlint can't run remain here: `naming-convention` is one of the\n * two typescript-eslint type-aware rules tsgolint doesn't implement, and\n * `explicit-member-accessibility` has no Oxlint port at all.\n */\nexport function tsRulesEslint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...getESLintNamingConventionRule(options.namingConvention),\n '@typescript-eslint/explicit-member-accessibility': ['error', { accessibility: 'no-public' }],\n '@typescript-eslint/no-dynamic-delete': 'off',\n '@typescript-eslint/array-type': 'off',\n '@typescript-eslint/require-await': 'off',\n '@typescript-eslint/no-explicit-any': 'off',\n '@typescript-eslint/no-empty-function': 'off',\n '@typescript-eslint/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n varsIgnorePattern: '^_',\n caughtErrorsIgnorePattern: '^_',\n destructuredArrayIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n };\n}\n\n/**\n * ESLint-namespaced variant of the naming-convention rule. Keeps the same\n * filter / selector shape as {@link getNamingConventionRule}, only swapping\n * the rule id so it lines up with `@typescript-eslint/eslint-plugin`.\n */\nexport function getESLintNamingConventionRule(\n extensions?: TypeScriptRuleOptions['namingConvention'],\n): Linter.RulesRecord {\n const oxlintRules = getNamingConventionRule(extensions);\n\n return {\n '@typescript-eslint/naming-convention': oxlintRules['typescript/naming-convention'],\n };\n}\n\nexport function getNamingConventionRule(extensions?: TypeScriptRuleOptions['namingConvention']): Linter.RulesRecord {\n return {\n 'typescript/naming-convention': [\n 'error',\n {\n selector: ['variable'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.variable),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.variable?.exceptions),\n match: false,\n },\n },\n {\n selector: ['function'],\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.function),\n leadingUnderscore: 'allowSingleOrDouble',\n trailingUnderscore: 'forbid',\n filter: {\n regex: generateFilterRegex(['__dirname'], extensions?.function?.exceptions),\n match: false,\n },\n },\n {\n selector: 'parameter',\n format: mergeFormat(['camelCase', 'UPPER_CASE', 'PascalCase'], extensions?.parameter),\n leadingUnderscore: 'allow',\n ...(extensions?.parameter?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.parameter.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'typeLike',\n format: mergeFormat(['PascalCase'], extensions?.typeLike),\n ...(extensions?.typeLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.typeLike.exceptions),\n match: false,\n },\n }),\n },\n {\n selector: 'memberLike',\n modifiers: ['private'],\n format: mergeFormat(['camelCase', 'PascalCase'], extensions?.memberLike),\n leadingUnderscore: 'require',\n ...(extensions?.memberLike?.exceptions?.length && {\n filter: {\n regex: generateFilterRegex([], extensions.memberLike.exceptions),\n match: false,\n },\n }),\n },\n ],\n };\n}\n\nfunction mergeFormat(defaults: string[], extensions?: NamingConventionFormatOptions) {\n return [...new Set([...((extensions?.inheritFormat ?? true) ? defaults : []), ...(extensions?.format ?? [])])];\n}\n\nfunction generateFilterRegex(defaults: string[], extensions: string[] = []) {\n return `^(${[...defaults, ...extensions].join('|')})$`;\n}\n"]}
package/dist/eslint.cjs CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkWNKIVER4cjs = require('./chunk-WNKIVER4.cjs');
8
+ var _chunkXLDSYFLWcjs = require('./chunk-XLDSYFLW.cjs');
9
9
 
10
10
 
11
11
  var _chunk56WU3HSDcjs = require('./chunk-56WU3HSD.cjs');
@@ -15,7 +15,7 @@ var _eslintpluginoxlint = require('eslint-plugin-oxlint'); var _eslintpluginoxli
15
15
  var _eslintpluginunicorn = require('eslint-plugin-unicorn'); var _eslintpluginunicorn2 = _interopRequireDefault(_eslintpluginunicorn);
16
16
  var _module = require('module');
17
17
  var _typescripteslint = require('typescript-eslint'); var _typescripteslint2 = _interopRequireDefault(_typescripteslint);
18
- var allFileExtensions = [..._chunkWNKIVER4cjs.jsFileExtensions, ..._chunkWNKIVER4cjs.tsFileExtensions];
18
+ var allFileExtensions = [..._chunkXLDSYFLWcjs.jsFileExtensions, ..._chunkXLDSYFLWcjs.tsFileExtensions];
19
19
  var require2 = _module.createRequire.call(void 0, _chunk56WU3HSDcjs.importMetaUrl);
20
20
  function eslintConfig(options = {}) {
21
21
  const {
@@ -35,7 +35,7 @@ function eslintConfig(options = {}) {
35
35
  ].map((config) => {
36
36
  return {
37
37
  ...config,
38
- files: config.files && config.files.length > 0 ? config.files : _chunkWNKIVER4cjs.tsFileExtensions
38
+ files: config.files && config.files.length > 0 ? config.files : _chunkXLDSYFLWcjs.tsFileExtensions
39
39
  };
40
40
  });
41
41
  const oxlintDisables = oxlintConfig ? _eslintpluginoxlint2.default.buildFromOxlintConfig(oxlintConfig, {
@@ -49,7 +49,7 @@ function eslintConfig(options = {}) {
49
49
  ...typeAwareConfigs,
50
50
  {
51
51
  name: "@d3lm/project-service",
52
- files: _chunkWNKIVER4cjs.tsFileExtensions,
52
+ files: _chunkXLDSYFLWcjs.tsFileExtensions,
53
53
  languageOptions: {
54
54
  parserOptions: {
55
55
  projectService: {
@@ -67,15 +67,15 @@ function eslintConfig(options = {}) {
67
67
  unicorn: _eslintpluginunicorn2.default
68
68
  },
69
69
  rules: {
70
- ..._chunkWNKIVER4cjs.jsRulesEslint.call(void 0, ruleOptions),
71
- ..._chunkWNKIVER4cjs.unicornRulesEslint
70
+ ..._chunkXLDSYFLWcjs.jsRulesEslint.call(void 0, ruleOptions),
71
+ ..._chunkXLDSYFLWcjs.unicornRulesEslint
72
72
  }
73
73
  },
74
74
  {
75
75
  name: "@d3lm/eslint-only-rules-ts",
76
- files: _chunkWNKIVER4cjs.tsFileExtensions,
76
+ files: _chunkXLDSYFLWcjs.tsFileExtensions,
77
77
  rules: {
78
- ..._chunkWNKIVER4cjs.tsRulesEslint.call(void 0, ruleOptions)
78
+ ..._chunkXLDSYFLWcjs.tsRulesEslint.call(void 0, ruleOptions)
79
79
  }
80
80
  },
81
81
  ...extraConfigs,
@@ -92,7 +92,7 @@ function reactHooksConfigs() {
92
92
  return normalizeConfigs(recommendedConfig).map((config) => {
93
93
  return {
94
94
  ...config,
95
- files: config.files && config.files.length > 0 ? config.files : _chunkWNKIVER4cjs.reactFileExtensions
95
+ files: config.files && config.files.length > 0 ? config.files : _chunkXLDSYFLWcjs.reactFileExtensions
96
96
  };
97
97
  });
98
98
  }
package/dist/eslint.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  tsFileExtensions,
6
6
  tsRulesEslint,
7
7
  unicornRulesEslint
8
- } from "./chunk-HWFKYVTU.js";
8
+ } from "./chunk-SD5SCU2L.js";
9
9
 
10
10
  // src/eslint.ts
11
11
  import oxlintPlugin from "eslint-plugin-oxlint";
package/dist/oxlint.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkWNKIVER4cjs = require('./chunk-WNKIVER4.cjs');
6
+ var _chunkXLDSYFLWcjs = require('./chunk-XLDSYFLW.cjs');
7
7
 
8
8
 
9
9
  var _chunk56WU3HSDcjs = require('./chunk-56WU3HSD.cjs');
@@ -1392,7 +1392,7 @@ var resolvePlugin = (specifier) => {
1392
1392
  };
1393
1393
  var ownRulesPath = _url.fileURLToPath.call(void 0, new URL("rules.js", _chunk56WU3HSDcjs.importMetaUrl));
1394
1394
  var createOxlintConfig = (options) => {
1395
- const reactOptions = _chunkWNKIVER4cjs.resolveReactRuleOptions.call(void 0, _optionalChain([options, 'optionalAccess', _3 => _3.react]));
1395
+ const reactOptions = _chunkXLDSYFLWcjs.resolveReactRuleOptions.call(void 0, _optionalChain([options, 'optionalAccess', _3 => _3.react]));
1396
1396
  const reactPlugins = [
1397
1397
  "eslint",
1398
1398
  "typescript",
@@ -1424,7 +1424,7 @@ var createOxlintConfig = (options) => {
1424
1424
  options: { typeAware: true },
1425
1425
  ignorePatterns: ["dist", "node_modules", "coverage"],
1426
1426
  rules: {
1427
- ..._chunkWNKIVER4cjs.jsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _5 => _5.jsRulesOxlint])),
1427
+ ..._chunkXLDSYFLWcjs.jsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _5 => _5.jsRulesOxlint])),
1428
1428
  "@d3lm/newline-around-multiline": "error",
1429
1429
  "@d3lm/block-scoped-case": "error",
1430
1430
  "@d3lm/comment-syntax": "error",
@@ -1434,13 +1434,14 @@ var createOxlintConfig = (options) => {
1434
1434
  ],
1435
1435
  "@d3lm/no-implicit-object-return": "error",
1436
1436
  "@d3lm/no-blank-line-between-imports": "error",
1437
+ "@d3lm/no-member-access-on-ternary": "error",
1437
1438
  "prettier/prettier": ["error", {}],
1438
- ..._optionalChain([options, 'optionalAccess', _6 => _6.react]) && _chunkWNKIVER4cjs.reactRulesOxlint.call(void 0, options.react)
1439
+ ..._optionalChain([options, 'optionalAccess', _6 => _6.react]) && _chunkXLDSYFLWcjs.reactRulesOxlint.call(void 0, options.react)
1439
1440
  },
1440
1441
  overrides: [
1441
1442
  {
1442
1443
  files: ["**/*.{ts,tsx,mts,cts}"],
1443
- rules: _chunkWNKIVER4cjs.tsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _7 => _7.tsRulesOxlint]))
1444
+ rules: _chunkXLDSYFLWcjs.tsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _7 => _7.tsRulesOxlint]))
1444
1445
  }
1445
1446
  ]
1446
1447
  });