@d3lm/lint-preset 1.0.0 → 1.0.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.
- package/dist/{chunk-QDQNT3NA.cjs → chunk-4SIRQMJX.cjs} +2 -2
- package/dist/chunk-4SIRQMJX.cjs.map +1 -0
- package/dist/{chunk-JM2XMNKF.js → chunk-6BKFZQBT.js} +2 -2
- package/dist/chunk-6BKFZQBT.js.map +1 -0
- package/dist/eslint.cjs +9 -9
- package/dist/eslint.js +1 -1
- package/dist/oxlint.cjs +5 -5
- package/dist/oxlint.js +1 -1
- package/dist/rules.cjs +11 -0
- package/dist/rules.cjs.map +1 -1
- package/dist/rules.js +11 -0
- package/dist/rules.js.map +1 -1
- package/package.json +10 -9
- package/dist/chunk-JM2XMNKF.js.map +0 -1
- package/dist/chunk-QDQNT3NA.cjs.map +0 -1
|
@@ -161,7 +161,6 @@ var DEFAULT_ABBREVIATION_ALLOW_LIST = [
|
|
|
161
161
|
"ref",
|
|
162
162
|
"dev",
|
|
163
163
|
"i",
|
|
164
|
-
"env",
|
|
165
164
|
"arg",
|
|
166
165
|
"args"
|
|
167
166
|
];
|
|
@@ -170,6 +169,7 @@ var ABBREVIATION_REPLACEMENTS = {
|
|
|
170
169
|
refs: false,
|
|
171
170
|
dev: false,
|
|
172
171
|
dir: false,
|
|
172
|
+
env: false,
|
|
173
173
|
ev: { event: true },
|
|
174
174
|
val: { value: true },
|
|
175
175
|
msg: { message: true },
|
|
@@ -609,4 +609,4 @@ function generateFilterRegex(defaults, extensions = []) {
|
|
|
609
609
|
|
|
610
610
|
|
|
611
611
|
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;
|
|
612
|
-
//# sourceMappingURL=chunk-
|
|
612
|
+
//# sourceMappingURL=chunk-4SIRQMJX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/delm/dev/eslint-plugin/dist/chunk-4SIRQMJX.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":"/Users/delm/dev/eslint-plugin/dist/chunk-4SIRQMJX.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/prevent-abbreviations` is also not ported; it lives in\n * `javascript.ts` 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/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 = [\n 'fn',\n 'cb',\n 'err',\n 'prev',\n 'props',\n 'refs',\n 'ref',\n 'dev',\n 'i',\n 'arg',\n 'args',\n];\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 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/prevent-abbreviations': [\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 yet and aren't exposed by any plugin we can alias into oxlint's\n * `jsPlugins` (the `@eslint/js` package only ships configs, not a raw `rules`\n * object). ESLint picks them up after Oxlint runs.\n *\n * Type-aware rules are served separately.\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';\n\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 * Non type-aware TypeScript rules that run under Oxlint.\n */\nexport function tsRulesOxlint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...jsRulesOxlint(options),\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-unnecessary-condition': 'error',\n 'typescript/no-floating-promises': 'error',\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 * These are not type-aware in the strict sense, but Oxlint's native\n * `typescript` plugin doesn't implement them today, so we run them under\n * ESLint.\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/prefer-nullish-coalescing': [\n 'error',\n {\n ignorePrimitives: true,\n },\n ],\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"]}
|
|
@@ -161,7 +161,6 @@ var DEFAULT_ABBREVIATION_ALLOW_LIST = [
|
|
|
161
161
|
"ref",
|
|
162
162
|
"dev",
|
|
163
163
|
"i",
|
|
164
|
-
"env",
|
|
165
164
|
"arg",
|
|
166
165
|
"args"
|
|
167
166
|
];
|
|
@@ -170,6 +169,7 @@ var ABBREVIATION_REPLACEMENTS = {
|
|
|
170
169
|
refs: false,
|
|
171
170
|
dev: false,
|
|
172
171
|
dir: false,
|
|
172
|
+
env: false,
|
|
173
173
|
ev: { event: true },
|
|
174
174
|
val: { value: true },
|
|
175
175
|
msg: { message: true },
|
|
@@ -609,4 +609,4 @@ export {
|
|
|
609
609
|
tsRulesOxlint,
|
|
610
610
|
tsRulesEslint
|
|
611
611
|
};
|
|
612
|
-
//# sourceMappingURL=chunk-
|
|
612
|
+
//# sourceMappingURL=chunk-6BKFZQBT.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/prevent-abbreviations` is also not ported; it lives in\n * `javascript.ts` 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/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 = [\n 'fn',\n 'cb',\n 'err',\n 'prev',\n 'props',\n 'refs',\n 'ref',\n 'dev',\n 'i',\n 'arg',\n 'args',\n];\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 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/prevent-abbreviations': [\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 yet and aren't exposed by any plugin we can alias into oxlint's\n * `jsPlugins` (the `@eslint/js` package only ships configs, not a raw `rules`\n * object). ESLint picks them up after Oxlint runs.\n *\n * Type-aware rules are served separately.\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';\n\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 * Non type-aware TypeScript rules that run under Oxlint.\n */\nexport function tsRulesOxlint(options: TypeScriptRuleOptions = {}): Linter.RulesRecord {\n return {\n ...jsRulesOxlint(options),\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-unnecessary-condition': 'error',\n 'typescript/no-floating-promises': 'error',\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 * These are not type-aware in the strict sense, but Oxlint's native\n * `typescript` plugin doesn't implement them today, so we run them under\n * ESLint.\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/prefer-nullish-coalescing': [\n 'error',\n {\n ignorePrimitives: true,\n },\n ],\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":[]}
|
package/dist/eslint.cjs
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk4SIRQMJXcjs = require('./chunk-4SIRQMJX.cjs');
|
|
9
9
|
|
|
10
10
|
// src/eslint.ts
|
|
11
11
|
var _eslintpluginoxlint = require('eslint-plugin-oxlint'); var _eslintpluginoxlint2 = _interopRequireDefault(_eslintpluginoxlint);
|
|
12
12
|
var _eslintpluginunicorn = require('eslint-plugin-unicorn'); var _eslintpluginunicorn2 = _interopRequireDefault(_eslintpluginunicorn);
|
|
13
13
|
var _module = require('module');
|
|
14
14
|
var _typescripteslint = require('typescript-eslint'); var _typescripteslint2 = _interopRequireDefault(_typescripteslint);
|
|
15
|
-
var allFileExtensions = [...
|
|
15
|
+
var allFileExtensions = [..._chunk4SIRQMJXcjs.jsFileExtensions, ..._chunk4SIRQMJXcjs.tsFileExtensions];
|
|
16
16
|
var require2 = _module.createRequire.call(void 0, import.meta.url);
|
|
17
17
|
function eslintConfig(options = {}) {
|
|
18
18
|
const {
|
|
@@ -32,7 +32,7 @@ function eslintConfig(options = {}) {
|
|
|
32
32
|
].map((config) => {
|
|
33
33
|
return {
|
|
34
34
|
...config,
|
|
35
|
-
files: config.files && config.files.length > 0 ? config.files :
|
|
35
|
+
files: config.files && config.files.length > 0 ? config.files : _chunk4SIRQMJXcjs.tsFileExtensions
|
|
36
36
|
};
|
|
37
37
|
});
|
|
38
38
|
const oxlintDisables = oxlintConfig ? _eslintpluginoxlint2.default.buildFromOxlintConfig(oxlintConfig, {
|
|
@@ -46,7 +46,7 @@ function eslintConfig(options = {}) {
|
|
|
46
46
|
...typeAwareConfigs,
|
|
47
47
|
{
|
|
48
48
|
name: "@d3lm/project-service",
|
|
49
|
-
files:
|
|
49
|
+
files: _chunk4SIRQMJXcjs.tsFileExtensions,
|
|
50
50
|
languageOptions: {
|
|
51
51
|
parserOptions: {
|
|
52
52
|
projectService: {
|
|
@@ -64,15 +64,15 @@ function eslintConfig(options = {}) {
|
|
|
64
64
|
unicorn: _eslintpluginunicorn2.default
|
|
65
65
|
},
|
|
66
66
|
rules: {
|
|
67
|
-
...
|
|
68
|
-
...
|
|
67
|
+
..._chunk4SIRQMJXcjs.jsRulesEslint.call(void 0, ruleOptions),
|
|
68
|
+
..._chunk4SIRQMJXcjs.unicornRulesEslint
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
name: "@d3lm/eslint-only-rules-ts",
|
|
73
|
-
files:
|
|
73
|
+
files: _chunk4SIRQMJXcjs.tsFileExtensions,
|
|
74
74
|
rules: {
|
|
75
|
-
...
|
|
75
|
+
..._chunk4SIRQMJXcjs.tsRulesEslint.call(void 0, ruleOptions)
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
...extraConfigs,
|
|
@@ -89,7 +89,7 @@ function reactHooksConfigs() {
|
|
|
89
89
|
return normalizeConfigs(recommendedConfig).map((config) => {
|
|
90
90
|
return {
|
|
91
91
|
...config,
|
|
92
|
-
files: config.files && config.files.length > 0 ? config.files :
|
|
92
|
+
files: config.files && config.files.length > 0 ? config.files : _chunk4SIRQMJXcjs.reactFileExtensions
|
|
93
93
|
};
|
|
94
94
|
});
|
|
95
95
|
}
|
package/dist/eslint.js
CHANGED
package/dist/oxlint.cjs
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk4SIRQMJXcjs = require('./chunk-4SIRQMJX.cjs');
|
|
7
7
|
|
|
8
8
|
// src/oxlint.ts
|
|
9
9
|
var _oxlint = require('oxlint');
|
|
10
10
|
var createOxlintConfig = (options) => {
|
|
11
|
-
const reactOptions =
|
|
11
|
+
const reactOptions = _chunk4SIRQMJXcjs.resolveReactRuleOptions.call(void 0, _optionalChain([options, 'optionalAccess', _ => _.react]));
|
|
12
12
|
const reactPlugins = [
|
|
13
13
|
"eslint",
|
|
14
14
|
"typescript",
|
|
@@ -31,7 +31,7 @@ var createOxlintConfig = (options) => {
|
|
|
31
31
|
options: { typeAware: true },
|
|
32
32
|
ignorePatterns: ["dist", "node_modules", "coverage"],
|
|
33
33
|
rules: {
|
|
34
|
-
...
|
|
34
|
+
..._chunk4SIRQMJXcjs.jsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _3 => _3.jsRulesOxlint])),
|
|
35
35
|
"@d3lm/newline-around-multiline": "error",
|
|
36
36
|
"@d3lm/block-scoped-case": "error",
|
|
37
37
|
"@d3lm/comment-syntax": "error",
|
|
@@ -41,12 +41,12 @@ var createOxlintConfig = (options) => {
|
|
|
41
41
|
],
|
|
42
42
|
"@d3lm/no-implicit-object-return": "error",
|
|
43
43
|
"prettier/prettier": ["error", {}],
|
|
44
|
-
..._optionalChain([options, 'optionalAccess', _4 => _4.react]) &&
|
|
44
|
+
..._optionalChain([options, 'optionalAccess', _4 => _4.react]) && _chunk4SIRQMJXcjs.reactRulesOxlint.call(void 0, options.react)
|
|
45
45
|
},
|
|
46
46
|
overrides: [
|
|
47
47
|
{
|
|
48
48
|
files: ["**/*.{ts,tsx,mts,cts}"],
|
|
49
|
-
rules:
|
|
49
|
+
rules: _chunk4SIRQMJXcjs.tsRulesOxlint.call(void 0, _optionalChain([options, 'optionalAccess', _5 => _5.tsRulesOxlint]))
|
|
50
50
|
}
|
|
51
51
|
]
|
|
52
52
|
});
|
package/dist/oxlint.js
CHANGED
package/dist/rules.cjs
CHANGED
|
@@ -237,6 +237,7 @@ var DEFAULT_OPTIONS = {
|
|
|
237
237
|
block: {
|
|
238
238
|
requireCapital: true,
|
|
239
239
|
requireTrailingPunctuation: true,
|
|
240
|
+
requireJSDocOpening: true,
|
|
240
241
|
enforceOpening: false,
|
|
241
242
|
enforceClosing: false,
|
|
242
243
|
requireSpaceAfterStar: true,
|
|
@@ -508,6 +509,14 @@ function checkMultiLineBlock(context, comment, options) {
|
|
|
508
509
|
const lines = comment.value.split("\n");
|
|
509
510
|
const firstLine = lines[0];
|
|
510
511
|
const lastLine = _nullishCoalesce(lines.at(-1), () => ( ""));
|
|
512
|
+
if (block.requireJSDocOpening && !comment.value.startsWith("*")) {
|
|
513
|
+
const openerEnd = range[0] + 2;
|
|
514
|
+
context.report({
|
|
515
|
+
loc,
|
|
516
|
+
messageId: "blockJSDocOpening",
|
|
517
|
+
fix: (fixer) => fixer.insertTextAfterRange([range[0], openerEnd], "*")
|
|
518
|
+
});
|
|
519
|
+
}
|
|
511
520
|
if (block.enforceOpening) {
|
|
512
521
|
const opening = firstLine.trim();
|
|
513
522
|
if (opening !== "" && opening !== "*") {
|
|
@@ -598,6 +607,7 @@ var messages = {
|
|
|
598
607
|
blockCapital: "Block comment should start with an uppercase letter.",
|
|
599
608
|
blockTrailingPunctuation: "Block comment should end with punctuation.",
|
|
600
609
|
blockSingleLineJSDoc: "JSDoc-style block comments (/** ... */) must span multiple lines.",
|
|
610
|
+
blockJSDocOpening: "Multi-line block comments must start with '/**', not '/*'.",
|
|
601
611
|
blockOpening: "Block comment should start with '/**\\n *' (or '/*\\n *').",
|
|
602
612
|
blockClosing: "Block comment should end with '\\n */'.",
|
|
603
613
|
blockEmptyLineBeforeClose: "Block comment should not end with an empty line.",
|
|
@@ -652,6 +662,7 @@ var rule3 = {
|
|
|
652
662
|
properties: {
|
|
653
663
|
requireCapital: { type: "boolean" },
|
|
654
664
|
requireTrailingPunctuation: { type: "boolean" },
|
|
665
|
+
requireJSDocOpening: { type: "boolean" },
|
|
655
666
|
enforceOpening: { type: "boolean" },
|
|
656
667
|
enforceClosing: { type: "boolean" },
|
|
657
668
|
requireSpaceAfterStar: { type: "boolean" },
|