@nelsonlaidev/oxlint-config 0.2.1 → 0.2.3
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/index.mjs +19 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mergeWith, pick } from "es-toolkit/object";
|
|
1
|
+
import { mergeWith, omit, pick } from "es-toolkit/object";
|
|
2
2
|
import { getDefaultSelectors } from "eslint-plugin-better-tailwindcss/defaults";
|
|
3
3
|
import { MatcherType, SelectorKind } from "eslint-plugin-better-tailwindcss/types";
|
|
4
4
|
import { isPackageExists } from "local-pkg";
|
|
@@ -103,6 +103,7 @@ const eslint = () => [{
|
|
|
103
103
|
"no-unused-labels": "error",
|
|
104
104
|
"no-unused-private-class-members": "error",
|
|
105
105
|
"no-unused-vars": "error",
|
|
106
|
+
"no-useless-assignment": "error",
|
|
106
107
|
"no-useless-backreference": "error",
|
|
107
108
|
"no-useless-call": "error",
|
|
108
109
|
"no-useless-catch": "error",
|
|
@@ -396,7 +397,7 @@ const react = () => [{
|
|
|
396
397
|
const regexp = () => [{
|
|
397
398
|
files: [GLOB_SRC],
|
|
398
399
|
jsPlugins: ["eslint-plugin-regexp"],
|
|
399
|
-
rules: { ...regexpPlugin.configs.recommended.rules }
|
|
400
|
+
rules: { ...omit(regexpPlugin.configs.recommended.rules, ["prefer-regex-literals"]) }
|
|
400
401
|
}];
|
|
401
402
|
//#endregion
|
|
402
403
|
//#region src/configs/sonarjs.ts
|
|
@@ -591,6 +592,7 @@ const unicorn = () => [{
|
|
|
591
592
|
"unicorn/consistent-empty-array-spread": "error",
|
|
592
593
|
"unicorn/consistent-existence-index-check": "error",
|
|
593
594
|
"unicorn/consistent-function-scoping": "error",
|
|
595
|
+
"unicorn/consistent-template-literal-escape": "error",
|
|
594
596
|
"unicorn/empty-brace-spaces": "error",
|
|
595
597
|
"unicorn/error-message": "error",
|
|
596
598
|
"unicorn/escape-case": "error",
|
|
@@ -637,6 +639,7 @@ const unicorn = () => [{
|
|
|
637
639
|
"unicorn/no-useless-collection-argument": "error",
|
|
638
640
|
"unicorn/no-useless-error-capture-stack-trace": "error",
|
|
639
641
|
"unicorn/no-useless-fallback-in-spread": "error",
|
|
642
|
+
"unicorn/no-useless-iterator-to-array": "error",
|
|
640
643
|
"unicorn/no-useless-length-check": "error",
|
|
641
644
|
"unicorn/no-useless-promise-resolve-reject": "error",
|
|
642
645
|
"unicorn/no-useless-spread": "error",
|
|
@@ -701,6 +704,7 @@ const unicorn = () => [{
|
|
|
701
704
|
"unicorn/require-module-specifiers": "error",
|
|
702
705
|
"unicorn/require-number-to-fixed-digits-argument": "error",
|
|
703
706
|
"unicorn/switch-case-braces": "error",
|
|
707
|
+
"unicorn/switch-case-break-position": "error",
|
|
704
708
|
"unicorn/text-encoding-identifier-case": ["error", { withDash: true }],
|
|
705
709
|
"unicorn/throw-new-error": "error"
|
|
706
710
|
}
|
|
@@ -711,23 +715,25 @@ const vitest = (config) => [{
|
|
|
711
715
|
files: config.files,
|
|
712
716
|
plugins: ["vitest", "jest"],
|
|
713
717
|
rules: {
|
|
714
|
-
"jest/consistent-test-it": ["error", { fn: "test" }],
|
|
715
|
-
"jest/expect-expect": "error",
|
|
716
|
-
"jest/no-commented-out-tests": "error",
|
|
717
|
-
"jest/no-conditional-expect": "error",
|
|
718
|
-
"jest/no-disabled-tests": "error",
|
|
719
|
-
"jest/no-focused-tests": "error",
|
|
720
|
-
"jest/no-identical-title": "error",
|
|
721
|
-
"jest/no-interpolation-in-snapshots": "error",
|
|
722
|
-
"jest/no-mocks-import": "error",
|
|
723
718
|
"jest/no-standalone-expect": "error",
|
|
724
719
|
"jest/no-unneeded-async-expect-function": "error",
|
|
725
720
|
"jest/prefer-mock-return-shorthand": "error",
|
|
726
721
|
"jest/valid-describe-callback": "error",
|
|
727
|
-
"jest/valid-expect": "error",
|
|
728
|
-
"
|
|
722
|
+
"jest/valid-expect-in-promise": "error",
|
|
723
|
+
"vitest/consistent-test-it": ["error", { fn: "test" }],
|
|
724
|
+
"vitest/expect-expect": "error",
|
|
725
|
+
"vitest/no-commented-out-tests": "error",
|
|
726
|
+
"vitest/no-conditional-expect": "error",
|
|
727
|
+
"vitest/no-disabled-tests": "error",
|
|
728
|
+
"vitest/no-focused-tests": "error",
|
|
729
|
+
"vitest/no-identical-title": "error",
|
|
729
730
|
"vitest/no-import-node-test": "error",
|
|
731
|
+
"vitest/no-interpolation-in-snapshots": "error",
|
|
732
|
+
"vitest/no-mocks-import": "error",
|
|
733
|
+
"vitest/prefer-called-exactly-once-with": "error",
|
|
730
734
|
"vitest/require-local-test-context-for-concurrent-snapshots": "error",
|
|
735
|
+
"vitest/valid-expect": "error",
|
|
736
|
+
"vitest/valid-title": "error",
|
|
731
737
|
"vitest/warn-todo": "error"
|
|
732
738
|
}
|
|
733
739
|
}];
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/globs.ts","../src/configs/de-morgan.ts","../src/configs/eslint.ts","../src/configs/import-sort.ts","../src/configs/imports.ts","../src/configs/jsdoc.ts","../src/configs/jsx-a11y.ts","../src/configs/nelsonlaidev.ts","../src/configs/nextjs.ts","../src/configs/node.ts","../src/configs/oxc.ts","../src/configs/playwright.ts","../src/configs/promise.ts","../src/utils.ts","../src/configs/react.ts","../src/configs/regexp.ts","../src/configs/sonarjs.ts","../src/configs/stylistic.ts","../src/configs/tailwindcss.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/vitest.ts","../src/configs/zod.ts","../src/base.ts"],"sourcesContent":["export const GLOB_SRC_EXT = '{js,jsx,ts,tsx,cjs,cts,mjs,mts}'\nexport const GLOB_SRC = `**/*.${GLOB_SRC_EXT}`\n\nexport const GLOB_JS = '**/*.{js,cjs,mjs}'\nexport const GLOB_JSX = '**/*.{jsx,cjsx,mjsx}'\n\nexport const GLOB_TS = '**/*.{ts,cts,mts}'\nexport const GLOB_TSX = '**/*.{tsx,ctsx,mtsx}'\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const deMorgan = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-de-morgan'],\n rules: {\n 'de-morgan/no-negated-conjunction': 'error',\n 'de-morgan/no-negated-disjunction': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const eslint = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['eslint'],\n rules: {\n 'array-callback-return': 'error',\n 'constructor-super': 'error',\n eqeqeq: 'error',\n 'for-direction': 'error',\n 'getter-return': 'error',\n 'no-alert': 'error',\n 'no-async-promise-executor': 'error',\n 'no-await-in-loop': 'error',\n 'no-case-declarations': 'error',\n 'no-class-assign': 'error',\n 'no-compare-neg-zero': 'error',\n 'no-cond-assign': 'error',\n 'no-const-assign': 'error',\n 'no-constant-binary-expression': 'error',\n 'no-constant-condition': 'error',\n 'no-control-regex': 'error',\n 'no-debugger': 'error',\n 'no-delete-var': 'error',\n 'no-dupe-class-members': 'error',\n 'no-dupe-else-if': 'error',\n 'no-dupe-keys': 'error',\n 'no-duplicate-case': 'error',\n 'no-empty': 'error',\n 'no-empty-character-class': 'error',\n 'no-empty-pattern': 'error',\n 'no-empty-static-block': 'error',\n 'no-eval': 'error',\n 'no-ex-assign': 'error',\n 'no-extra-bind': 'error',\n 'no-extra-boolean-cast': 'error',\n 'no-fallthrough': 'error',\n 'no-func-assign': 'error',\n 'no-global-assign': 'error',\n 'no-import-assign': 'error',\n 'no-invalid-regexp': 'error',\n 'no-irregular-whitespace': 'error',\n 'no-label-var': 'error',\n 'no-labels': 'error',\n 'no-lone-blocks': 'error',\n 'no-loss-of-precision': 'error',\n 'no-misleading-character-class': 'error',\n 'no-new': 'error',\n 'no-new-func': 'error',\n 'no-new-native-nonconstructor': 'error',\n 'no-nonoctal-decimal-escape': 'error',\n 'no-obj-calls': 'error',\n 'no-param-reassign': 'error',\n 'no-plusplus': [\n 'error',\n {\n allowForLoopAfterthoughts: true,\n },\n ],\n 'no-promise-executor-return': 'error',\n 'no-prototype-builtins': 'error',\n 'no-redeclare': 'error',\n 'no-regex-spaces': 'error',\n 'no-return-assign': 'error',\n 'no-script-url': 'error',\n 'no-self-assign': 'error',\n 'no-self-compare': 'error',\n 'no-sequences': 'error',\n 'no-setter-return': 'error',\n 'no-shadow-restricted-names': 'error',\n 'no-sparse-arrays': 'error',\n 'no-template-curly-in-string': 'error',\n 'no-this-before-super': 'error',\n 'no-unassigned-vars': 'error',\n 'no-undef': 'error',\n 'no-unexpected-multiline': 'error',\n 'no-unneeded-ternary': 'error',\n 'no-unreachable': 'error',\n 'no-unsafe-finally': 'error',\n 'no-unsafe-negation': 'error',\n 'no-unsafe-optional-chaining': 'error',\n 'no-unused-labels': 'error',\n 'no-unused-private-class-members': 'error',\n 'no-unused-vars': 'error',\n 'no-useless-backreference': 'error',\n 'no-useless-call': 'error',\n 'no-useless-catch': 'error',\n 'no-useless-computed-key': 'error',\n 'no-useless-concat': 'error',\n 'no-useless-escape': 'error',\n 'no-useless-rename': 'error',\n 'no-useless-return': 'error',\n 'no-var': 'error',\n 'no-void': [\n 'error',\n {\n allowAsStatement: true,\n },\n ],\n 'no-with': 'error',\n 'prefer-object-has-own': 'error',\n 'prefer-object-spread': 'error',\n 'prefer-template': 'error',\n 'preserve-caught-error': 'error',\n 'require-yield': 'error',\n 'symbol-description': 'error',\n 'use-isnan': 'error',\n 'valid-typeof': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const importSort = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [{ name: 'import-sort', specifier: 'eslint-plugin-simple-import-sort' }],\n rules: {\n 'import-sort/imports': [\n 'error',\n {\n groups: [\n ['^\\\\u0000'],\n\n ['^node:.*\\\\u0000$', '^@?\\\\w.*\\\\u0000$', '^(@/|~/|[^.]).*\\\\u0000$', '^\\\\.\\\\..*\\\\u0000$', '^\\\\..*\\\\u0000$'],\n\n ['^node:'],\n\n ['^@?\\\\w'],\n\n ['^@/', '^~/', '^[^.]'],\n\n ['^\\\\.\\\\.', '^\\\\.'],\n ],\n },\n ],\n 'import-sort/exports': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const imports = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['import'],\n rules: {\n 'import/consistent-type-specifier-style': 'error',\n 'import/default': 'error',\n 'import/export': 'error',\n 'import/first': 'error',\n 'import/namespace': 'error',\n 'import/no-absolute-path': 'error',\n 'import/no-amd': 'error',\n 'import/no-anonymous-default-export': 'error',\n 'import/no-commonjs': 'error',\n 'import/no-duplicates': 'error',\n 'import/no-dynamic-require': 'error',\n 'import/no-empty-named-blocks': 'error',\n 'import/no-mutable-exports': 'error',\n 'import/no-named-default': 'error',\n 'import/no-self-import': 'error',\n 'import/no-webpack-loader-syntax': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const jsdoc = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['jsdoc'],\n rules: {\n 'jsdoc/check-tag-names': 'error',\n 'jsdoc/empty-tags': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const jsxA11y = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['jsx-a11y'],\n rules: {\n 'jsx-a11y/alt-text': 'error',\n 'jsx-a11y/anchor-has-content': 'error',\n 'jsx-a11y/anchor-is-valid': [\n 'error',\n {\n components: ['Link'],\n specialLink: ['to'],\n aspects: ['noHref', 'invalidHref', 'preferButton'],\n },\n ],\n 'jsx-a11y/aria-activedescendant-has-tabindex': 'error',\n 'jsx-a11y/aria-props': 'error',\n 'jsx-a11y/aria-proptypes': 'error',\n 'jsx-a11y/aria-role': 'error',\n 'jsx-a11y/aria-unsupported-elements': 'error',\n 'jsx-a11y/autocomplete-valid': 'error',\n 'jsx-a11y/click-events-have-key-events': 'error',\n 'jsx-a11y/heading-has-content': 'error',\n 'jsx-a11y/html-has-lang': 'error',\n 'jsx-a11y/iframe-has-title': 'error',\n 'jsx-a11y/img-redundant-alt': 'error',\n 'jsx-a11y/label-has-associated-control': 'error',\n 'jsx-a11y/lang': 'error',\n 'jsx-a11y/media-has-caption': 'error',\n 'jsx-a11y/mouse-events-have-key-events': 'error',\n 'jsx-a11y/no-access-key': 'error',\n 'jsx-a11y/no-aria-hidden-on-focusable': 'error',\n 'jsx-a11y/no-autofocus': 'error',\n 'jsx-a11y/no-distracting-elements': 'error',\n 'jsx-a11y/no-noninteractive-tabindex': [\n 'error',\n {\n tags: [],\n roles: ['tabpanel'],\n allowExpressionValues: true,\n },\n ],\n 'jsx-a11y/no-redundant-roles': 'error',\n 'jsx-a11y/no-static-element-interactions': [\n 'error',\n {\n allowExpressionValues: true,\n handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],\n },\n ],\n 'jsx-a11y/role-has-required-aria-props': 'error',\n 'jsx-a11y/role-supports-aria-props': 'error',\n 'jsx-a11y/scope': 'error',\n 'jsx-a11y/tabindex-no-positive': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const nelsonlaidev = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [{ name: 'nelsonlaidev', specifier: '@nelsonlaidev/eslint-plugin' }],\n rules: {\n 'nelsonlaidev/lucide-icon-suffix': 'error',\n 'nelsonlaidev/lucide-restrict-import': 'error',\n 'nelsonlaidev/shadcn-cn-wrap-variants': 'error',\n 'nelsonlaidev/shadcn-cva-variants-suffix': 'error',\n 'nelsonlaidev/shadcn-prefer-spinner': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const nextjs = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['nextjs'],\n rules: {\n 'nextjs/google-font-display': 'error',\n 'nextjs/google-font-preconnect': 'error',\n 'nextjs/inline-script-id': 'error',\n 'nextjs/next-script-for-ga': 'error',\n 'nextjs/no-assign-module-variable': 'error',\n 'nextjs/no-async-client-component': 'error',\n 'nextjs/no-before-interactive-script-outside-document': 'error',\n 'nextjs/no-css-tags': 'error',\n 'nextjs/no-document-import-in-page': 'error',\n 'nextjs/no-duplicate-head': 'error',\n 'nextjs/no-head-element': 'error',\n 'nextjs/no-head-import-in-document': 'error',\n 'nextjs/no-html-link-for-pages': 'error',\n 'nextjs/no-img-element': 'error',\n 'nextjs/no-page-custom-font': 'error',\n 'nextjs/no-script-component-in-head': 'error',\n 'nextjs/no-styled-jsx-in-document': 'error',\n 'nextjs/no-sync-scripts': 'error',\n 'nextjs/no-title-in-document-head': 'error',\n 'nextjs/no-typos': 'error',\n 'nextjs/no-unwanted-polyfillio': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const node = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['node'],\n rules: {\n 'node/no-exports-assign': 'error',\n 'node/no-path-concat': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const oxc = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['oxc'],\n rules: {\n 'approx-constant': 'error',\n 'bad-array-method-on-arguments': 'error',\n 'bad-bitwise-operator': 'error',\n 'bad-char-at-comparison': 'error',\n 'bad-comparison-sequence': 'error',\n 'bad-min-max-func': 'error',\n 'bad-object-literal-comparison': 'error',\n 'bad-replace-all-arg': 'error',\n 'const-comparisons': 'error',\n 'double-comparisons': 'error',\n 'erasing-op': 'error',\n 'misrefactored-assign-op': 'error',\n 'missing-throw': 'error',\n 'no-accumulating-spread': 'error',\n 'no-async-endpoint-handlers': 'error',\n 'no-barrel-file': 'error',\n 'no-const-enum': 'error',\n 'no-this-in-exported-function': 'error',\n 'number-arg-out-of-range': 'error',\n 'only-used-in-recursion': 'error',\n 'uninvoked-array-callback': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\nimport type { PlaywrightConfig } from '../types/playwright'\n\nimport { playwrightPlugin } from '../plugins'\n\nexport const playwright = (config: PlaywrightConfig): OxlintOverride[] => [\n {\n files: config.files,\n jsPlugins: ['eslint-plugin-playwright'],\n rules: {\n ...playwrightPlugin.configs.recommended.rules,\n\n 'playwright/expect-expect': [\n 'error',\n {\n assertFunctionNames: config.assertFunctionNames ?? [],\n assertFunctionPatterns: config.assertFunctionPatterns ?? [],\n },\n ],\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const promise = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['promise'],\n rules: {\n 'promise/always-return': 'error',\n 'promise/catch-or-return': 'error',\n 'promise/no-callback-in-promise': 'error',\n 'promise/no-multiple-resolved': 'error',\n 'promise/no-nesting': 'error',\n 'promise/no-new-statics': 'error',\n 'promise/no-promise-in-callback': 'error',\n 'promise/no-return-in-finally': 'error',\n 'promise/no-return-wrap': 'error',\n 'promise/param-names': 'error',\n 'promise/prefer-await-to-callbacks': 'error',\n 'promise/prefer-await-to-then': 'error',\n 'promise/prefer-catch': 'error',\n 'promise/spec-only': 'error',\n 'promise/valid-params': 'error',\n },\n },\n]\n","import type { DummyRuleMap } from 'oxlint'\n\nexport function remapRuleNames(rules: DummyRuleMap, from: string, to: string): DummyRuleMap {\n return Object.fromEntries(\n Object.entries(rules).map(([name, value]) => [name.startsWith(from) ? to + name.slice(from.length) : name, value]),\n )\n}\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\nimport { reactHooksPlugin, reactPlugin } from '../plugins'\nimport { remapRuleNames } from '../utils'\n\nexport const react = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [\n { name: '@eslint-react', specifier: '@eslint-react/eslint-plugin' },\n { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },\n ],\n rules: {\n ...remapRuleNames(reactHooksPlugin.configs['recommended-latest'].rules, 'react-hooks', 'react-hooks-js'),\n\n ...reactPlugin.configs.all.rules,\n ...remapRuleNames(\n reactPlugin.configs['disable-conflict-eslint-plugin-react-hooks'].rules,\n 'react-hooks',\n 'react-hooks-js',\n ),\n\n '@eslint-react/immutability': 'error',\n '@eslint-react/refs': 'error',\n },\n },\n // Rules that require type information are not supported by Oxlint yet.\n // {\n // files: [GLOB_TS, GLOB_TSX],\n // rules: {\n // '@eslint-react/no-leaked-conditional-rendering': 'error',\n // '@eslint-react/no-unused-props': 'error',\n // },\n // },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\nimport { regexpPlugin } from '../plugins'\n\nexport const regexp = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-regexp'],\n rules: {\n ...regexpPlugin.configs.recommended.rules,\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\nimport { sonarjsPlugin } from '../plugins'\n\nexport const sonarjs = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-sonarjs'],\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n\n // Disable due to poor performance\n // https://community.sonarsource.com/t/eslint-plugin-sonarjs-performance-issues-on-large-codebase/138392\n 'sonarjs/no-commented-code': 'off',\n 'sonarjs/deprecation': 'off',\n 'sonarjs/arguments-order': 'off',\n\n // Unnecessary\n 'sonarjs/pseudo-random': 'off',\n 'sonarjs/function-return-type': 'off',\n 'sonarjs/prefer-read-only-props': 'off',\n 'sonarjs/argument-type': 'off',\n 'sonarjs/cognitive-complexity': 'off',\n\n // Replaced by React rules\n 'sonarjs/jsx-no-leaked-render': 'off',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const stylistic = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['@stylistic/eslint-plugin'],\n rules: {\n '@stylistic/multiline-comment-style': ['error', 'separate-lines'],\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\nimport type { TailwindCSSConfig } from '../types'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const tailwindcss = (options: TailwindCSSConfig): OxlintOverride[] => {\n const disableShorthand = options.canonical?.logical ?? true\n\n return [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-better-tailwindcss'],\n rules: {\n 'better-tailwindcss/enforce-canonical-classes': [\n 'error',\n {\n collapse: options.canonical?.collapse ?? true,\n logical: options.canonical?.logical ?? true,\n },\n ],\n\n // Recommended to be disabled to avoid duplicate reports\n // when the canonical classes rule is enabled\n 'better-tailwindcss/enforce-consistent-important-position': 'off',\n 'better-tailwindcss/enforce-consistent-variable-syntax': 'off',\n 'better-tailwindcss/enforce-shorthand-classes': disableShorthand ? 'off' : 'error',\n\n 'better-tailwindcss/enforce-consistent-class-order': [\n 'error',\n {\n order: options.classOrder?.order ?? 'official',\n componentClassOrder: options.classOrder?.componentOrder ?? 'preserve',\n componentClassPosition: options.classOrder?.componentPosition ?? 'start',\n unknownClassOrder: options.classOrder?.unknownOrder ?? 'preserve',\n unknownClassPosition: options.classOrder?.unknownPosition ?? 'start',\n },\n ],\n\n 'better-tailwindcss/no-conflicting-classes': 'error',\n 'better-tailwindcss/no-deprecated-classes': 'error',\n 'better-tailwindcss/no-duplicate-classes': 'error',\n\n 'better-tailwindcss/no-restricted-classes': ['error', { restrict: options.restrict ?? [] }],\n 'better-tailwindcss/no-unknown-classes': ['error', { ignore: options.ignore ?? [] }],\n\n 'better-tailwindcss/no-unnecessary-whitespace': [\n 'error',\n { allowMultiline: options.whitespace?.allowMultiline ?? true },\n ],\n },\n },\n ]\n}\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const typescript = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['typescript'],\n rules: {\n 'typescript/adjacent-overload-signatures': 'error',\n 'typescript/array-type': [\n 'error',\n {\n default: 'array-simple',\n readonly: 'array-simple',\n },\n ],\n 'typescript/await-thenable': 'error',\n 'typescript/ban-ts-comment': [\n 'error',\n {\n minimumDescriptionLength: 10,\n },\n ],\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', 'type'],\n 'typescript/consistent-type-exports': [\n 'error',\n {\n fixMixedExportsWithInlineTypeSpecifier: false,\n },\n ],\n 'typescript/consistent-type-imports': [\n 'error',\n {\n prefer: 'type-imports',\n fixStyle: 'separate-type-imports',\n },\n ],\n 'typescript/dot-notation': 'error',\n 'typescript/no-array-delete': 'error',\n 'typescript/no-base-to-string': 'error',\n 'typescript/no-confusing-non-null-assertion': 'error',\n 'typescript/no-confusing-void-expression': 'error',\n 'typescript/no-deprecated': 'error',\n 'typescript/no-duplicate-enum-values': 'error',\n 'typescript/no-duplicate-type-constituents': 'error',\n 'typescript/no-dynamic-delete': 'error',\n 'typescript/no-empty-object-type': [\n 'error',\n {\n allowInterfaces: 'with-single-extends',\n },\n ],\n 'typescript/no-explicit-any': 'error',\n 'typescript/no-extra-non-null-assertion': 'error',\n 'typescript/no-extraneous-class': 'error',\n 'typescript/no-floating-promises': 'error',\n 'typescript/no-for-in-array': 'error',\n 'typescript/no-implied-eval': 'error',\n 'typescript/no-import-type-side-effects': 'error',\n 'typescript/no-inferrable-types': 'error',\n 'typescript/no-invalid-void-type': 'error',\n 'typescript/no-meaningless-void-operator': 'error',\n 'typescript/no-misused-new': 'error',\n 'typescript/no-misused-promises': [\n 'error',\n {\n checksVoidReturn: false,\n },\n ],\n 'typescript/no-misused-spread': 'error',\n 'typescript/no-mixed-enums': 'error',\n 'typescript/no-namespace': 'error',\n 'typescript/no-non-null-asserted-nullish-coalescing': 'error',\n 'typescript/no-non-null-asserted-optional-chain': 'error',\n 'typescript/no-non-null-assertion': 'error',\n 'typescript/no-redundant-type-constituents': 'error',\n 'typescript/no-require-imports': 'error',\n 'typescript/no-restricted-types': 'error',\n 'typescript/no-this-alias': 'error',\n 'typescript/no-unnecessary-boolean-literal-compare': 'error',\n 'typescript/no-unnecessary-condition': 'error',\n 'typescript/no-unnecessary-parameter-property-assignment': '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-constraint': '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-declaration-merging': 'error',\n 'typescript/no-unsafe-enum-comparison': 'error',\n 'typescript/no-unsafe-function-type': 'error',\n 'typescript/no-unsafe-member-access': 'error',\n 'typescript/no-unsafe-return': 'error',\n 'typescript/no-unsafe-unary-minus': 'error',\n 'typescript/no-useless-default-assignment': 'error',\n 'typescript/no-useless-empty-export': 'error',\n 'typescript/no-wrapper-object-types': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': [\n 'error',\n {\n allow: [\n {\n from: 'package',\n package: '@tanstack/router-core',\n name: 'Redirect',\n },\n ],\n },\n ],\n 'typescript/prefer-as-const': 'error',\n 'typescript/prefer-enum-initializers': 'error',\n 'typescript/prefer-find': 'error',\n 'typescript/prefer-for-of': 'error',\n 'typescript/prefer-function-type': 'error',\n 'typescript/prefer-includes': 'error',\n 'typescript/prefer-literal-enum-member': 'error',\n 'typescript/prefer-namespace-keyword': 'error',\n 'typescript/prefer-nullish-coalescing': 'error',\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/promise-function-async': 'error',\n 'typescript/related-getter-setter-pairs': 'error',\n 'typescript/require-array-sort-compare': 'error',\n 'typescript/require-await': '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/restrict-template-expressions': [\n 'error',\n {\n allowNumber: true,\n },\n ],\n 'typescript/return-await': ['error', 'error-handling-correctness-only'],\n 'typescript/switch-exhaustiveness-check': 'error',\n 'typescript/triple-slash-reference': 'error',\n 'typescript/unbound-method': 'error',\n 'typescript/unified-signatures': 'error',\n 'typescript/use-unknown-in-catch-callback-variable': 'error',\n },\n },\n {\n files: ['**/*.d.ts'],\n plugins: ['typescript'],\n rules: {\n // Similar to the above rule, interfaces support index signatures only when\n // we define object types with them.\n 'typescript/consistent-indexed-object-style': 'off',\n // We sometimes need to use `interface` in declaration files,\n // especially when we want to extend from a type from another package,\n // and that type is an interface.\n 'typescript/consistent-type-definitions': 'off',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const unicorn = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['unicorn'],\n rules: {\n 'unicorn/catch-error-name': 'error',\n 'unicorn/consistent-assert': 'error',\n 'unicorn/consistent-date-clone': 'error',\n 'unicorn/consistent-empty-array-spread': 'error',\n 'unicorn/consistent-existence-index-check': 'error',\n 'unicorn/consistent-function-scoping': 'error',\n 'unicorn/empty-brace-spaces': 'error',\n 'unicorn/error-message': 'error',\n 'unicorn/escape-case': 'error',\n 'unicorn/explicit-length-check': 'error',\n 'unicorn/filename-case': 'error',\n 'unicorn/new-for-builtins': 'error',\n 'unicorn/no-abusive-eslint-disable': 'error',\n 'unicorn/no-accessor-recursion': 'error',\n 'unicorn/no-anonymous-default-export': 'error',\n 'unicorn/no-array-callback-reference': 'error',\n 'unicorn/no-array-for-each': 'error',\n 'unicorn/no-array-method-this-argument': 'error',\n 'unicorn/no-array-reduce': 'error',\n 'unicorn/no-array-reverse': 'error',\n 'unicorn/no-array-sort': 'error',\n 'unicorn/no-await-expression-member': 'error',\n 'unicorn/no-await-in-promise-methods': 'error',\n 'unicorn/no-console-spaces': 'error',\n 'unicorn/no-empty-file': 'error',\n 'unicorn/no-hex-escape': 'error',\n 'unicorn/no-immediate-mutation': 'error',\n 'unicorn/no-instanceof-builtins': 'error',\n 'unicorn/no-invalid-fetch-options': 'error',\n 'unicorn/no-invalid-remove-event-listener': 'error',\n 'unicorn/no-lonely-if': 'error',\n 'unicorn/no-magic-array-flat-depth': 'error',\n 'unicorn/no-negation-in-equality-check': 'error',\n 'unicorn/no-nested-ternary': 'error',\n 'unicorn/no-new-array': 'error',\n 'unicorn/no-new-buffer': 'error',\n 'unicorn/no-object-as-default-parameter': 'error',\n 'unicorn/no-process-exit': 'error',\n 'unicorn/no-single-promise-in-promise-methods': 'error',\n 'unicorn/no-static-only-class': 'error',\n 'unicorn/no-thenable': '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-await': 'error',\n 'unicorn/no-unnecessary-slice-end': 'error',\n 'unicorn/no-unreadable-array-destructuring': 'error',\n 'unicorn/no-unreadable-iife': 'error',\n 'unicorn/no-useless-collection-argument': 'error',\n 'unicorn/no-useless-error-capture-stack-trace': 'error',\n 'unicorn/no-useless-fallback-in-spread': 'error',\n 'unicorn/no-useless-length-check': 'error',\n 'unicorn/no-useless-promise-resolve-reject': 'error',\n 'unicorn/no-useless-spread': 'error',\n 'unicorn/no-useless-switch-case': 'error',\n 'unicorn/no-useless-undefined': 'error',\n 'unicorn/no-zero-fractions': 'error',\n 'unicorn/number-literal-case': 'error',\n 'unicorn/numeric-separators-style': 'error',\n 'unicorn/prefer-add-event-listener': 'error',\n 'unicorn/prefer-array-find': 'error',\n 'unicorn/prefer-array-flat': 'error',\n 'unicorn/prefer-array-flat-map': 'error',\n 'unicorn/prefer-array-index-of': 'error',\n 'unicorn/prefer-array-some': 'error',\n 'unicorn/prefer-at': 'error',\n 'unicorn/prefer-bigint-literals': 'error',\n 'unicorn/prefer-blob-reading-methods': 'error',\n 'unicorn/prefer-class-fields': 'error',\n 'unicorn/prefer-classlist-toggle': 'error',\n 'unicorn/prefer-code-point': 'error',\n 'unicorn/prefer-date-now': 'error',\n 'unicorn/prefer-default-parameters': '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-dom-node-text-content': 'error',\n 'unicorn/prefer-event-target': '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-math-min-max': 'error',\n 'unicorn/prefer-math-trunc': 'error',\n 'unicorn/prefer-modern-dom-apis': 'error',\n 'unicorn/prefer-modern-math-apis': 'error',\n 'unicorn/prefer-module': 'error',\n 'unicorn/prefer-native-coercion-functions': 'error',\n 'unicorn/prefer-negative-index': 'error',\n 'unicorn/prefer-node-protocol': 'error',\n 'unicorn/prefer-number-properties': 'error',\n 'unicorn/prefer-object-from-entries': 'error',\n 'unicorn/prefer-optional-catch-binding': 'error',\n 'unicorn/prefer-prototype-methods': 'error',\n 'unicorn/prefer-query-selector': 'error',\n 'unicorn/prefer-reflect-apply': 'error',\n 'unicorn/prefer-regexp-test': 'error',\n 'unicorn/prefer-response-static-json': 'error',\n 'unicorn/prefer-set-has': 'error',\n 'unicorn/prefer-set-size': 'error',\n 'unicorn/prefer-spread': 'error',\n 'unicorn/prefer-string-replace-all': 'error',\n 'unicorn/prefer-string-slice': 'error',\n 'unicorn/prefer-string-starts-ends-with': 'error',\n 'unicorn/prefer-string-trim-start-end': 'error',\n 'unicorn/prefer-structured-clone': 'error',\n 'unicorn/prefer-ternary': 'error',\n 'unicorn/prefer-top-level-await': 'error',\n 'unicorn/prefer-type-error': 'error',\n 'unicorn/relative-url-style': 'error',\n 'unicorn/require-array-join-separator': 'error',\n 'unicorn/require-module-attributes': 'error',\n 'unicorn/require-module-specifiers': 'error',\n 'unicorn/require-number-to-fixed-digits-argument': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/text-encoding-identifier-case': [\n 'error',\n {\n withDash: true,\n },\n ],\n 'unicorn/throw-new-error': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\nimport type { VitestConfig } from '../types/vitest'\n\nexport const vitest = (config: VitestConfig): OxlintOverride[] => [\n {\n files: config.files,\n plugins: ['vitest', 'jest'],\n rules: {\n 'jest/consistent-test-it': [\n 'error',\n {\n fn: 'test',\n },\n ],\n 'jest/expect-expect': 'error',\n 'jest/no-commented-out-tests': 'error',\n 'jest/no-conditional-expect': 'error',\n 'jest/no-disabled-tests': 'error',\n 'jest/no-focused-tests': 'error',\n 'jest/no-identical-title': 'error',\n 'jest/no-interpolation-in-snapshots': 'error',\n 'jest/no-mocks-import': 'error',\n 'jest/no-standalone-expect': 'error',\n 'jest/no-unneeded-async-expect-function': 'error',\n 'jest/prefer-mock-return-shorthand': 'error',\n 'jest/valid-describe-callback': 'error',\n 'jest/valid-expect': 'error',\n 'jest/valid-title': 'error',\n 'vitest/no-import-node-test': 'error',\n 'vitest/require-local-test-context-for-concurrent-snapshots': 'error',\n 'vitest/warn-todo': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const zod = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-import-zod'],\n rules: {\n 'import-zod/prefer-zod-namespace': 'error',\n },\n },\n]\n","import type { OxlintConfig } from 'oxlint'\nimport type { DefineConfigOptions } from './types'\n\nimport { mergeWith, pick } from 'es-toolkit/object'\nimport { getDefaultSelectors } from 'eslint-plugin-better-tailwindcss/defaults'\nimport { MatcherType, SelectorKind } from 'eslint-plugin-better-tailwindcss/types'\nimport { isPackageExists } from 'local-pkg'\n\nimport { deMorgan } from './configs/de-morgan'\nimport { eslint } from './configs/eslint'\nimport { importSort } from './configs/import-sort'\nimport { imports } from './configs/imports'\nimport { jsdoc } from './configs/jsdoc'\nimport { jsxA11y } from './configs/jsx-a11y'\nimport { nelsonlaidev } from './configs/nelsonlaidev'\nimport { nextjs } from './configs/nextjs'\nimport { node } from './configs/node'\nimport { oxc } from './configs/oxc'\nimport { playwright } from './configs/playwright'\nimport { promise } from './configs/promise'\nimport { react } from './configs/react'\nimport { regexp } from './configs/regexp'\nimport { sonarjs } from './configs/sonarjs'\nimport { stylistic } from './configs/stylistic'\nimport { tailwindcss } from './configs/tailwindcss'\nimport { typescript } from './configs/typescript'\nimport { unicorn } from './configs/unicorn'\nimport { vitest } from './configs/vitest'\nimport { zod } from './configs/zod'\n\nconst createSelectors = (names: string[], kind: SelectorKind) =>\n names.map((name) => ({\n name,\n kind,\n match: [{ type: MatcherType.String }, { type: MatcherType.ObjectValue }],\n }))\n\nconst concatArrays = (target: unknown, source: unknown) => {\n if (Array.isArray(target) && Array.isArray(source)) {\n return [...(target as unknown[]), ...(source as unknown[])]\n }\n // mergeWith requires explicit undefined for default behavior\n // eslint-disable-next-line unicorn/no-useless-undefined\n return undefined\n}\n\nexport const defineConfig = ({ config = {}, custom: userConfig = {} }: DefineConfigOptions = {}): OxlintConfig => {\n const overrides = [\n ...oxc(),\n ...eslint(),\n ...typescript(),\n ...unicorn(),\n ...promise(),\n ...node(),\n ...jsxA11y(),\n ...imports(),\n ...jsdoc(),\n ...nelsonlaidev(),\n ...stylistic(),\n ...deMorgan(),\n ...zod(),\n ...regexp(),\n ...sonarjs(),\n ...importSort(),\n ]\n\n if (userConfig.react ?? isPackageExists('react')) {\n overrides.push(...react())\n }\n\n if (userConfig.nextjs ?? isPackageExists('next')) {\n overrides.push(...nextjs())\n }\n\n if (userConfig.vitest) {\n overrides.push(...vitest(userConfig.vitest))\n }\n\n if (userConfig.playwright) {\n overrides.push(...playwright(userConfig.playwright))\n }\n\n if (userConfig.tailwindcss) {\n overrides.push(...tailwindcss(userConfig.tailwindcss))\n }\n\n return mergeWith<OxlintConfig, OxlintConfig>(\n {\n options: {\n typeAware: true,\n maxWarnings: 0,\n denyWarnings: true,\n reportUnusedDisableDirectives: 'error',\n },\n env: {\n node: true,\n browser: true,\n es2022: true,\n },\n ignorePatterns: ['**/routeTree.gen.ts'],\n overrides,\n settings: {\n 'jsx-a11y': {\n components: {\n Button: 'button',\n Image: 'img',\n Input: 'input',\n Textarea: 'textarea',\n Link: 'a',\n },\n },\n ...(userConfig.tailwindcss && {\n 'better-tailwindcss': {\n detectComponentClasses: false,\n rootFontSize: 16,\n selectors: [\n ...getDefaultSelectors(),\n ...createSelectors(['classNames', '.+ClassNames'], SelectorKind.Attribute),\n ...createSelectors(['.+ClassName', '.+ClassNames'], SelectorKind.Variable),\n ],\n },\n }),\n },\n },\n {\n ...config,\n settings: {\n ...config.settings,\n ...(userConfig.tailwindcss && {\n 'better-tailwindcss': pick(userConfig.tailwindcss, [\n 'entryPoint',\n 'tailwindConfig',\n 'tsconfig',\n 'detectComponentClasses',\n 'rootFontSize',\n 'messageStyle',\n 'selectors',\n ]),\n }),\n },\n },\n concatArrays,\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/globs.ts","../src/configs/de-morgan.ts","../src/configs/eslint.ts","../src/configs/import-sort.ts","../src/configs/imports.ts","../src/configs/jsdoc.ts","../src/configs/jsx-a11y.ts","../src/configs/nelsonlaidev.ts","../src/configs/nextjs.ts","../src/configs/node.ts","../src/configs/oxc.ts","../src/configs/playwright.ts","../src/configs/promise.ts","../src/utils.ts","../src/configs/react.ts","../src/configs/regexp.ts","../src/configs/sonarjs.ts","../src/configs/stylistic.ts","../src/configs/tailwindcss.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/vitest.ts","../src/configs/zod.ts","../src/base.ts"],"sourcesContent":["export const GLOB_SRC_EXT = '{js,jsx,ts,tsx,cjs,cts,mjs,mts}'\nexport const GLOB_SRC = `**/*.${GLOB_SRC_EXT}`\n\nexport const GLOB_JS = '**/*.{js,cjs,mjs}'\nexport const GLOB_JSX = '**/*.{jsx,cjsx,mjsx}'\n\nexport const GLOB_TS = '**/*.{ts,cts,mts}'\nexport const GLOB_TSX = '**/*.{tsx,ctsx,mtsx}'\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const deMorgan = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-de-morgan'],\n rules: {\n 'de-morgan/no-negated-conjunction': 'error',\n 'de-morgan/no-negated-disjunction': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const eslint = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['eslint'],\n rules: {\n 'array-callback-return': 'error',\n 'constructor-super': 'error',\n eqeqeq: 'error',\n 'for-direction': 'error',\n 'getter-return': 'error',\n 'no-alert': 'error',\n 'no-async-promise-executor': 'error',\n 'no-await-in-loop': 'error',\n 'no-case-declarations': 'error',\n 'no-class-assign': 'error',\n 'no-compare-neg-zero': 'error',\n 'no-cond-assign': 'error',\n 'no-const-assign': 'error',\n 'no-constant-binary-expression': 'error',\n 'no-constant-condition': 'error',\n 'no-control-regex': 'error',\n 'no-debugger': 'error',\n 'no-delete-var': 'error',\n 'no-dupe-class-members': 'error',\n 'no-dupe-else-if': 'error',\n 'no-dupe-keys': 'error',\n 'no-duplicate-case': 'error',\n 'no-empty': 'error',\n 'no-empty-character-class': 'error',\n 'no-empty-pattern': 'error',\n 'no-empty-static-block': 'error',\n 'no-eval': 'error',\n 'no-ex-assign': 'error',\n 'no-extra-bind': 'error',\n 'no-extra-boolean-cast': 'error',\n 'no-fallthrough': 'error',\n 'no-func-assign': 'error',\n 'no-global-assign': 'error',\n 'no-import-assign': 'error',\n 'no-invalid-regexp': 'error',\n 'no-irregular-whitespace': 'error',\n 'no-label-var': 'error',\n 'no-labels': 'error',\n 'no-lone-blocks': 'error',\n 'no-loss-of-precision': 'error',\n 'no-misleading-character-class': 'error',\n 'no-new': 'error',\n 'no-new-func': 'error',\n 'no-new-native-nonconstructor': 'error',\n 'no-nonoctal-decimal-escape': 'error',\n 'no-obj-calls': 'error',\n 'no-param-reassign': 'error',\n 'no-plusplus': [\n 'error',\n {\n allowForLoopAfterthoughts: true,\n },\n ],\n 'no-promise-executor-return': 'error',\n 'no-prototype-builtins': 'error',\n 'no-redeclare': 'error',\n 'no-regex-spaces': 'error',\n 'no-return-assign': 'error',\n 'no-script-url': 'error',\n 'no-self-assign': 'error',\n 'no-self-compare': 'error',\n 'no-sequences': 'error',\n 'no-setter-return': 'error',\n 'no-shadow-restricted-names': 'error',\n 'no-sparse-arrays': 'error',\n 'no-template-curly-in-string': 'error',\n 'no-this-before-super': 'error',\n 'no-unassigned-vars': 'error',\n 'no-undef': 'error',\n 'no-unexpected-multiline': 'error',\n 'no-unneeded-ternary': 'error',\n 'no-unreachable': 'error',\n 'no-unsafe-finally': 'error',\n 'no-unsafe-negation': 'error',\n 'no-unsafe-optional-chaining': 'error',\n 'no-unused-labels': 'error',\n 'no-unused-private-class-members': 'error',\n 'no-unused-vars': 'error',\n 'no-useless-assignment': 'error',\n 'no-useless-backreference': 'error',\n 'no-useless-call': 'error',\n 'no-useless-catch': 'error',\n 'no-useless-computed-key': 'error',\n 'no-useless-concat': 'error',\n 'no-useless-escape': 'error',\n 'no-useless-rename': 'error',\n 'no-useless-return': 'error',\n 'no-var': 'error',\n 'no-void': [\n 'error',\n {\n allowAsStatement: true,\n },\n ],\n 'no-with': 'error',\n 'prefer-object-has-own': 'error',\n 'prefer-object-spread': 'error',\n 'prefer-template': 'error',\n 'preserve-caught-error': 'error',\n 'require-yield': 'error',\n 'symbol-description': 'error',\n 'use-isnan': 'error',\n 'valid-typeof': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const importSort = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [{ name: 'import-sort', specifier: 'eslint-plugin-simple-import-sort' }],\n rules: {\n 'import-sort/imports': [\n 'error',\n {\n groups: [\n ['^\\\\u0000'],\n\n ['^node:.*\\\\u0000$', '^@?\\\\w.*\\\\u0000$', '^(@/|~/|[^.]).*\\\\u0000$', '^\\\\.\\\\..*\\\\u0000$', '^\\\\..*\\\\u0000$'],\n\n ['^node:'],\n\n ['^@?\\\\w'],\n\n ['^@/', '^~/', '^[^.]'],\n\n ['^\\\\.\\\\.', '^\\\\.'],\n ],\n },\n ],\n 'import-sort/exports': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const imports = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['import'],\n rules: {\n 'import/consistent-type-specifier-style': 'error',\n 'import/default': 'error',\n 'import/export': 'error',\n 'import/first': 'error',\n 'import/namespace': 'error',\n 'import/no-absolute-path': 'error',\n 'import/no-amd': 'error',\n 'import/no-anonymous-default-export': 'error',\n 'import/no-commonjs': 'error',\n 'import/no-duplicates': 'error',\n 'import/no-dynamic-require': 'error',\n 'import/no-empty-named-blocks': 'error',\n 'import/no-mutable-exports': 'error',\n 'import/no-named-default': 'error',\n 'import/no-self-import': 'error',\n 'import/no-webpack-loader-syntax': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const jsdoc = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['jsdoc'],\n rules: {\n 'jsdoc/check-tag-names': 'error',\n 'jsdoc/empty-tags': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const jsxA11y = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['jsx-a11y'],\n rules: {\n 'jsx-a11y/alt-text': 'error',\n 'jsx-a11y/anchor-has-content': 'error',\n 'jsx-a11y/anchor-is-valid': [\n 'error',\n {\n components: ['Link'],\n specialLink: ['to'],\n aspects: ['noHref', 'invalidHref', 'preferButton'],\n },\n ],\n 'jsx-a11y/aria-activedescendant-has-tabindex': 'error',\n 'jsx-a11y/aria-props': 'error',\n 'jsx-a11y/aria-proptypes': 'error',\n 'jsx-a11y/aria-role': 'error',\n 'jsx-a11y/aria-unsupported-elements': 'error',\n 'jsx-a11y/autocomplete-valid': 'error',\n 'jsx-a11y/click-events-have-key-events': 'error',\n 'jsx-a11y/heading-has-content': 'error',\n 'jsx-a11y/html-has-lang': 'error',\n 'jsx-a11y/iframe-has-title': 'error',\n 'jsx-a11y/img-redundant-alt': 'error',\n 'jsx-a11y/label-has-associated-control': 'error',\n 'jsx-a11y/lang': 'error',\n 'jsx-a11y/media-has-caption': 'error',\n 'jsx-a11y/mouse-events-have-key-events': 'error',\n 'jsx-a11y/no-access-key': 'error',\n 'jsx-a11y/no-aria-hidden-on-focusable': 'error',\n 'jsx-a11y/no-autofocus': 'error',\n 'jsx-a11y/no-distracting-elements': 'error',\n 'jsx-a11y/no-noninteractive-tabindex': [\n 'error',\n {\n tags: [],\n roles: ['tabpanel'],\n allowExpressionValues: true,\n },\n ],\n 'jsx-a11y/no-redundant-roles': 'error',\n 'jsx-a11y/no-static-element-interactions': [\n 'error',\n {\n allowExpressionValues: true,\n handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],\n },\n ],\n 'jsx-a11y/role-has-required-aria-props': 'error',\n 'jsx-a11y/role-supports-aria-props': 'error',\n 'jsx-a11y/scope': 'error',\n 'jsx-a11y/tabindex-no-positive': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const nelsonlaidev = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [{ name: 'nelsonlaidev', specifier: '@nelsonlaidev/eslint-plugin' }],\n rules: {\n 'nelsonlaidev/lucide-icon-suffix': 'error',\n 'nelsonlaidev/lucide-restrict-import': 'error',\n 'nelsonlaidev/shadcn-cn-wrap-variants': 'error',\n 'nelsonlaidev/shadcn-cva-variants-suffix': 'error',\n 'nelsonlaidev/shadcn-prefer-spinner': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const nextjs = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['nextjs'],\n rules: {\n 'nextjs/google-font-display': 'error',\n 'nextjs/google-font-preconnect': 'error',\n 'nextjs/inline-script-id': 'error',\n 'nextjs/next-script-for-ga': 'error',\n 'nextjs/no-assign-module-variable': 'error',\n 'nextjs/no-async-client-component': 'error',\n 'nextjs/no-before-interactive-script-outside-document': 'error',\n 'nextjs/no-css-tags': 'error',\n 'nextjs/no-document-import-in-page': 'error',\n 'nextjs/no-duplicate-head': 'error',\n 'nextjs/no-head-element': 'error',\n 'nextjs/no-head-import-in-document': 'error',\n 'nextjs/no-html-link-for-pages': 'error',\n 'nextjs/no-img-element': 'error',\n 'nextjs/no-page-custom-font': 'error',\n 'nextjs/no-script-component-in-head': 'error',\n 'nextjs/no-styled-jsx-in-document': 'error',\n 'nextjs/no-sync-scripts': 'error',\n 'nextjs/no-title-in-document-head': 'error',\n 'nextjs/no-typos': 'error',\n 'nextjs/no-unwanted-polyfillio': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const node = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['node'],\n rules: {\n 'node/no-exports-assign': 'error',\n 'node/no-path-concat': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const oxc = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['oxc'],\n rules: {\n 'approx-constant': 'error',\n 'bad-array-method-on-arguments': 'error',\n 'bad-bitwise-operator': 'error',\n 'bad-char-at-comparison': 'error',\n 'bad-comparison-sequence': 'error',\n 'bad-min-max-func': 'error',\n 'bad-object-literal-comparison': 'error',\n 'bad-replace-all-arg': 'error',\n 'const-comparisons': 'error',\n 'double-comparisons': 'error',\n 'erasing-op': 'error',\n 'misrefactored-assign-op': 'error',\n 'missing-throw': 'error',\n 'no-accumulating-spread': 'error',\n 'no-async-endpoint-handlers': 'error',\n 'no-barrel-file': 'error',\n 'no-const-enum': 'error',\n 'no-this-in-exported-function': 'error',\n 'number-arg-out-of-range': 'error',\n 'only-used-in-recursion': 'error',\n 'uninvoked-array-callback': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\nimport type { PlaywrightConfig } from '../types/playwright'\n\nimport { playwrightPlugin } from '../plugins'\n\nexport const playwright = (config: PlaywrightConfig): OxlintOverride[] => [\n {\n files: config.files,\n jsPlugins: ['eslint-plugin-playwright'],\n rules: {\n ...playwrightPlugin.configs.recommended.rules,\n\n 'playwright/expect-expect': [\n 'error',\n {\n assertFunctionNames: config.assertFunctionNames ?? [],\n assertFunctionPatterns: config.assertFunctionPatterns ?? [],\n },\n ],\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const promise = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['promise'],\n rules: {\n 'promise/always-return': 'error',\n 'promise/catch-or-return': 'error',\n 'promise/no-callback-in-promise': 'error',\n 'promise/no-multiple-resolved': 'error',\n 'promise/no-nesting': 'error',\n 'promise/no-new-statics': 'error',\n 'promise/no-promise-in-callback': 'error',\n 'promise/no-return-in-finally': 'error',\n 'promise/no-return-wrap': 'error',\n 'promise/param-names': 'error',\n 'promise/prefer-await-to-callbacks': 'error',\n 'promise/prefer-await-to-then': 'error',\n 'promise/prefer-catch': 'error',\n 'promise/spec-only': 'error',\n 'promise/valid-params': 'error',\n },\n },\n]\n","import type { DummyRuleMap } from 'oxlint'\n\nexport function remapRuleNames(rules: DummyRuleMap, from: string, to: string): DummyRuleMap {\n return Object.fromEntries(\n Object.entries(rules).map(([name, value]) => [name.startsWith(from) ? to + name.slice(from.length) : name, value]),\n )\n}\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\nimport { reactHooksPlugin, reactPlugin } from '../plugins'\nimport { remapRuleNames } from '../utils'\n\nexport const react = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: [\n { name: '@eslint-react', specifier: '@eslint-react/eslint-plugin' },\n { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },\n ],\n rules: {\n ...remapRuleNames(reactHooksPlugin.configs['recommended-latest'].rules, 'react-hooks', 'react-hooks-js'),\n\n ...reactPlugin.configs.all.rules,\n ...remapRuleNames(\n reactPlugin.configs['disable-conflict-eslint-plugin-react-hooks'].rules,\n 'react-hooks',\n 'react-hooks-js',\n ),\n\n '@eslint-react/immutability': 'error',\n '@eslint-react/refs': 'error',\n },\n },\n // Rules that require type information are not supported by Oxlint yet.\n // {\n // files: [GLOB_TS, GLOB_TSX],\n // rules: {\n // '@eslint-react/no-leaked-conditional-rendering': 'error',\n // '@eslint-react/no-unused-props': 'error',\n // },\n // },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { omit } from 'es-toolkit/object'\n\nimport { GLOB_SRC } from '../globs'\nimport { regexpPlugin } from '../plugins'\n\nexport const regexp = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-regexp'],\n rules: {\n // Recommended rules enable some rules that are not supported by Oxlint yet.\n ...omit(regexpPlugin.configs.recommended.rules, ['prefer-regex-literals']),\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\nimport { sonarjsPlugin } from '../plugins'\n\nexport const sonarjs = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-sonarjs'],\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n\n // Disable due to poor performance\n // https://community.sonarsource.com/t/eslint-plugin-sonarjs-performance-issues-on-large-codebase/138392\n 'sonarjs/no-commented-code': 'off',\n 'sonarjs/deprecation': 'off',\n 'sonarjs/arguments-order': 'off',\n\n // Unnecessary\n 'sonarjs/pseudo-random': 'off',\n 'sonarjs/function-return-type': 'off',\n 'sonarjs/prefer-read-only-props': 'off',\n 'sonarjs/argument-type': 'off',\n 'sonarjs/cognitive-complexity': 'off',\n\n // Replaced by React rules\n 'sonarjs/jsx-no-leaked-render': 'off',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const stylistic = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['@stylistic/eslint-plugin'],\n rules: {\n '@stylistic/multiline-comment-style': ['error', 'separate-lines'],\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\nimport type { TailwindCSSConfig } from '../types'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const tailwindcss = (options: TailwindCSSConfig): OxlintOverride[] => {\n const disableShorthand = options.canonical?.logical ?? true\n\n return [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-better-tailwindcss'],\n rules: {\n 'better-tailwindcss/enforce-canonical-classes': [\n 'error',\n {\n collapse: options.canonical?.collapse ?? true,\n logical: options.canonical?.logical ?? true,\n },\n ],\n\n // Recommended to be disabled to avoid duplicate reports\n // when the canonical classes rule is enabled\n 'better-tailwindcss/enforce-consistent-important-position': 'off',\n 'better-tailwindcss/enforce-consistent-variable-syntax': 'off',\n 'better-tailwindcss/enforce-shorthand-classes': disableShorthand ? 'off' : 'error',\n\n 'better-tailwindcss/enforce-consistent-class-order': [\n 'error',\n {\n order: options.classOrder?.order ?? 'official',\n componentClassOrder: options.classOrder?.componentOrder ?? 'preserve',\n componentClassPosition: options.classOrder?.componentPosition ?? 'start',\n unknownClassOrder: options.classOrder?.unknownOrder ?? 'preserve',\n unknownClassPosition: options.classOrder?.unknownPosition ?? 'start',\n },\n ],\n\n 'better-tailwindcss/no-conflicting-classes': 'error',\n 'better-tailwindcss/no-deprecated-classes': 'error',\n 'better-tailwindcss/no-duplicate-classes': 'error',\n\n 'better-tailwindcss/no-restricted-classes': ['error', { restrict: options.restrict ?? [] }],\n 'better-tailwindcss/no-unknown-classes': ['error', { ignore: options.ignore ?? [] }],\n\n 'better-tailwindcss/no-unnecessary-whitespace': [\n 'error',\n { allowMultiline: options.whitespace?.allowMultiline ?? true },\n ],\n },\n },\n ]\n}\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const typescript = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['typescript'],\n rules: {\n 'typescript/adjacent-overload-signatures': 'error',\n 'typescript/array-type': [\n 'error',\n {\n default: 'array-simple',\n readonly: 'array-simple',\n },\n ],\n 'typescript/await-thenable': 'error',\n 'typescript/ban-ts-comment': [\n 'error',\n {\n minimumDescriptionLength: 10,\n },\n ],\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', 'type'],\n 'typescript/consistent-type-exports': [\n 'error',\n {\n fixMixedExportsWithInlineTypeSpecifier: false,\n },\n ],\n 'typescript/consistent-type-imports': [\n 'error',\n {\n prefer: 'type-imports',\n fixStyle: 'separate-type-imports',\n },\n ],\n 'typescript/dot-notation': 'error',\n 'typescript/no-array-delete': 'error',\n 'typescript/no-base-to-string': 'error',\n 'typescript/no-confusing-non-null-assertion': 'error',\n 'typescript/no-confusing-void-expression': 'error',\n 'typescript/no-deprecated': 'error',\n 'typescript/no-duplicate-enum-values': 'error',\n 'typescript/no-duplicate-type-constituents': 'error',\n 'typescript/no-dynamic-delete': 'error',\n 'typescript/no-empty-object-type': [\n 'error',\n {\n allowInterfaces: 'with-single-extends',\n },\n ],\n 'typescript/no-explicit-any': 'error',\n 'typescript/no-extra-non-null-assertion': 'error',\n 'typescript/no-extraneous-class': 'error',\n 'typescript/no-floating-promises': 'error',\n 'typescript/no-for-in-array': 'error',\n 'typescript/no-implied-eval': 'error',\n 'typescript/no-import-type-side-effects': 'error',\n 'typescript/no-inferrable-types': 'error',\n 'typescript/no-invalid-void-type': 'error',\n 'typescript/no-meaningless-void-operator': 'error',\n 'typescript/no-misused-new': 'error',\n 'typescript/no-misused-promises': [\n 'error',\n {\n checksVoidReturn: false,\n },\n ],\n 'typescript/no-misused-spread': 'error',\n 'typescript/no-mixed-enums': 'error',\n 'typescript/no-namespace': 'error',\n 'typescript/no-non-null-asserted-nullish-coalescing': 'error',\n 'typescript/no-non-null-asserted-optional-chain': 'error',\n 'typescript/no-non-null-assertion': 'error',\n 'typescript/no-redundant-type-constituents': 'error',\n 'typescript/no-require-imports': 'error',\n 'typescript/no-restricted-types': 'error',\n 'typescript/no-this-alias': 'error',\n 'typescript/no-unnecessary-boolean-literal-compare': 'error',\n 'typescript/no-unnecessary-condition': 'error',\n 'typescript/no-unnecessary-parameter-property-assignment': '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-constraint': '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-declaration-merging': 'error',\n 'typescript/no-unsafe-enum-comparison': 'error',\n 'typescript/no-unsafe-function-type': 'error',\n 'typescript/no-unsafe-member-access': 'error',\n 'typescript/no-unsafe-return': 'error',\n 'typescript/no-unsafe-unary-minus': 'error',\n 'typescript/no-useless-default-assignment': 'error',\n 'typescript/no-useless-empty-export': 'error',\n 'typescript/no-wrapper-object-types': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': [\n 'error',\n {\n allow: [\n {\n from: 'package',\n package: '@tanstack/router-core',\n name: 'Redirect',\n },\n ],\n },\n ],\n 'typescript/prefer-as-const': 'error',\n 'typescript/prefer-enum-initializers': 'error',\n 'typescript/prefer-find': 'error',\n 'typescript/prefer-for-of': 'error',\n 'typescript/prefer-function-type': 'error',\n 'typescript/prefer-includes': 'error',\n 'typescript/prefer-literal-enum-member': 'error',\n 'typescript/prefer-namespace-keyword': 'error',\n 'typescript/prefer-nullish-coalescing': 'error',\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/promise-function-async': 'error',\n 'typescript/related-getter-setter-pairs': 'error',\n 'typescript/require-array-sort-compare': 'error',\n 'typescript/require-await': '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/restrict-template-expressions': [\n 'error',\n {\n allowNumber: true,\n },\n ],\n 'typescript/return-await': ['error', 'error-handling-correctness-only'],\n 'typescript/switch-exhaustiveness-check': 'error',\n 'typescript/triple-slash-reference': 'error',\n 'typescript/unbound-method': 'error',\n 'typescript/unified-signatures': 'error',\n 'typescript/use-unknown-in-catch-callback-variable': 'error',\n },\n },\n {\n files: ['**/*.d.ts'],\n plugins: ['typescript'],\n rules: {\n // Similar to the above rule, interfaces support index signatures only when\n // we define object types with them.\n 'typescript/consistent-indexed-object-style': 'off',\n // We sometimes need to use `interface` in declaration files,\n // especially when we want to extend from a type from another package,\n // and that type is an interface.\n 'typescript/consistent-type-definitions': 'off',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const unicorn = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['unicorn'],\n rules: {\n 'unicorn/catch-error-name': 'error',\n 'unicorn/consistent-assert': 'error',\n 'unicorn/consistent-date-clone': 'error',\n 'unicorn/consistent-empty-array-spread': 'error',\n 'unicorn/consistent-existence-index-check': 'error',\n 'unicorn/consistent-function-scoping': 'error',\n 'unicorn/consistent-template-literal-escape': 'error',\n 'unicorn/empty-brace-spaces': 'error',\n 'unicorn/error-message': 'error',\n 'unicorn/escape-case': 'error',\n 'unicorn/explicit-length-check': 'error',\n 'unicorn/filename-case': 'error',\n 'unicorn/new-for-builtins': 'error',\n 'unicorn/no-abusive-eslint-disable': 'error',\n 'unicorn/no-accessor-recursion': 'error',\n 'unicorn/no-anonymous-default-export': 'error',\n 'unicorn/no-array-callback-reference': 'error',\n 'unicorn/no-array-for-each': 'error',\n 'unicorn/no-array-method-this-argument': 'error',\n 'unicorn/no-array-reduce': 'error',\n 'unicorn/no-array-reverse': 'error',\n 'unicorn/no-array-sort': 'error',\n 'unicorn/no-await-expression-member': 'error',\n 'unicorn/no-await-in-promise-methods': 'error',\n 'unicorn/no-console-spaces': 'error',\n 'unicorn/no-empty-file': 'error',\n 'unicorn/no-hex-escape': 'error',\n 'unicorn/no-immediate-mutation': 'error',\n 'unicorn/no-instanceof-builtins': 'error',\n 'unicorn/no-invalid-fetch-options': 'error',\n 'unicorn/no-invalid-remove-event-listener': 'error',\n 'unicorn/no-lonely-if': 'error',\n 'unicorn/no-magic-array-flat-depth': 'error',\n 'unicorn/no-negation-in-equality-check': 'error',\n 'unicorn/no-nested-ternary': 'error',\n 'unicorn/no-new-array': 'error',\n 'unicorn/no-new-buffer': 'error',\n 'unicorn/no-object-as-default-parameter': 'error',\n 'unicorn/no-process-exit': 'error',\n 'unicorn/no-single-promise-in-promise-methods': 'error',\n 'unicorn/no-static-only-class': 'error',\n 'unicorn/no-thenable': '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-await': 'error',\n 'unicorn/no-unnecessary-slice-end': 'error',\n 'unicorn/no-unreadable-array-destructuring': 'error',\n 'unicorn/no-unreadable-iife': 'error',\n 'unicorn/no-useless-collection-argument': 'error',\n 'unicorn/no-useless-error-capture-stack-trace': 'error',\n 'unicorn/no-useless-fallback-in-spread': 'error',\n 'unicorn/no-useless-iterator-to-array': 'error',\n 'unicorn/no-useless-length-check': 'error',\n 'unicorn/no-useless-promise-resolve-reject': 'error',\n 'unicorn/no-useless-spread': 'error',\n 'unicorn/no-useless-switch-case': 'error',\n 'unicorn/no-useless-undefined': 'error',\n 'unicorn/no-zero-fractions': 'error',\n 'unicorn/number-literal-case': 'error',\n 'unicorn/numeric-separators-style': 'error',\n 'unicorn/prefer-add-event-listener': 'error',\n 'unicorn/prefer-array-find': 'error',\n 'unicorn/prefer-array-flat': 'error',\n 'unicorn/prefer-array-flat-map': 'error',\n 'unicorn/prefer-array-index-of': 'error',\n 'unicorn/prefer-array-some': 'error',\n 'unicorn/prefer-at': 'error',\n 'unicorn/prefer-bigint-literals': 'error',\n 'unicorn/prefer-blob-reading-methods': 'error',\n 'unicorn/prefer-class-fields': 'error',\n 'unicorn/prefer-classlist-toggle': 'error',\n 'unicorn/prefer-code-point': 'error',\n 'unicorn/prefer-date-now': 'error',\n 'unicorn/prefer-default-parameters': '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-dom-node-text-content': 'error',\n 'unicorn/prefer-event-target': '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-math-min-max': 'error',\n 'unicorn/prefer-math-trunc': 'error',\n 'unicorn/prefer-modern-dom-apis': 'error',\n 'unicorn/prefer-modern-math-apis': 'error',\n 'unicorn/prefer-module': 'error',\n 'unicorn/prefer-native-coercion-functions': 'error',\n 'unicorn/prefer-negative-index': 'error',\n 'unicorn/prefer-node-protocol': 'error',\n 'unicorn/prefer-number-properties': 'error',\n 'unicorn/prefer-object-from-entries': 'error',\n 'unicorn/prefer-optional-catch-binding': 'error',\n 'unicorn/prefer-prototype-methods': 'error',\n 'unicorn/prefer-query-selector': 'error',\n 'unicorn/prefer-reflect-apply': 'error',\n 'unicorn/prefer-regexp-test': 'error',\n 'unicorn/prefer-response-static-json': 'error',\n 'unicorn/prefer-set-has': 'error',\n 'unicorn/prefer-set-size': 'error',\n 'unicorn/prefer-spread': 'error',\n 'unicorn/prefer-string-replace-all': 'error',\n 'unicorn/prefer-string-slice': 'error',\n 'unicorn/prefer-string-starts-ends-with': 'error',\n 'unicorn/prefer-string-trim-start-end': 'error',\n 'unicorn/prefer-structured-clone': 'error',\n 'unicorn/prefer-ternary': 'error',\n 'unicorn/prefer-top-level-await': 'error',\n 'unicorn/prefer-type-error': 'error',\n 'unicorn/relative-url-style': 'error',\n 'unicorn/require-array-join-separator': 'error',\n 'unicorn/require-module-attributes': 'error',\n 'unicorn/require-module-specifiers': 'error',\n 'unicorn/require-number-to-fixed-digits-argument': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/switch-case-break-position': 'error',\n 'unicorn/text-encoding-identifier-case': [\n 'error',\n {\n withDash: true,\n },\n ],\n 'unicorn/throw-new-error': 'error',\n },\n },\n]\n","// This file is generated by `scripts/sync-oxlint-eslint.ts`.\n// Do not edit this file manually.\n\nimport type { OxlintOverride } from 'oxlint'\nimport type { VitestConfig } from '../types/vitest'\n\nexport const vitest = (config: VitestConfig): OxlintOverride[] => [\n {\n files: config.files,\n plugins: ['vitest', 'jest'],\n rules: {\n 'jest/no-standalone-expect': 'error',\n 'jest/no-unneeded-async-expect-function': 'error',\n 'jest/prefer-mock-return-shorthand': 'error',\n 'jest/valid-describe-callback': 'error',\n 'jest/valid-expect-in-promise': 'error',\n 'vitest/consistent-test-it': [\n 'error',\n {\n fn: 'test',\n },\n ],\n 'vitest/expect-expect': 'error',\n 'vitest/no-commented-out-tests': 'error',\n 'vitest/no-conditional-expect': 'error',\n 'vitest/no-disabled-tests': 'error',\n 'vitest/no-focused-tests': 'error',\n 'vitest/no-identical-title': 'error',\n 'vitest/no-import-node-test': 'error',\n 'vitest/no-interpolation-in-snapshots': 'error',\n 'vitest/no-mocks-import': 'error',\n 'vitest/prefer-called-exactly-once-with': 'error',\n 'vitest/require-local-test-context-for-concurrent-snapshots': 'error',\n 'vitest/valid-expect': 'error',\n 'vitest/valid-title': 'error',\n 'vitest/warn-todo': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const zod = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-import-zod'],\n rules: {\n 'import-zod/prefer-zod-namespace': 'error',\n },\n },\n]\n","import type { OxlintConfig } from 'oxlint'\nimport type { DefineConfigOptions } from './types'\n\nimport { mergeWith, pick } from 'es-toolkit/object'\nimport { getDefaultSelectors } from 'eslint-plugin-better-tailwindcss/defaults'\nimport { MatcherType, SelectorKind } from 'eslint-plugin-better-tailwindcss/types'\nimport { isPackageExists } from 'local-pkg'\n\nimport { deMorgan } from './configs/de-morgan'\nimport { eslint } from './configs/eslint'\nimport { importSort } from './configs/import-sort'\nimport { imports } from './configs/imports'\nimport { jsdoc } from './configs/jsdoc'\nimport { jsxA11y } from './configs/jsx-a11y'\nimport { nelsonlaidev } from './configs/nelsonlaidev'\nimport { nextjs } from './configs/nextjs'\nimport { node } from './configs/node'\nimport { oxc } from './configs/oxc'\nimport { playwright } from './configs/playwright'\nimport { promise } from './configs/promise'\nimport { react } from './configs/react'\nimport { regexp } from './configs/regexp'\nimport { sonarjs } from './configs/sonarjs'\nimport { stylistic } from './configs/stylistic'\nimport { tailwindcss } from './configs/tailwindcss'\nimport { typescript } from './configs/typescript'\nimport { unicorn } from './configs/unicorn'\nimport { vitest } from './configs/vitest'\nimport { zod } from './configs/zod'\n\nconst createSelectors = (names: string[], kind: SelectorKind) =>\n names.map((name) => ({\n name,\n kind,\n match: [{ type: MatcherType.String }, { type: MatcherType.ObjectValue }],\n }))\n\nconst concatArrays = (target: unknown, source: unknown) => {\n if (Array.isArray(target) && Array.isArray(source)) {\n return [...(target as unknown[]), ...(source as unknown[])]\n }\n // mergeWith requires explicit undefined for default behavior\n // eslint-disable-next-line unicorn/no-useless-undefined\n return undefined\n}\n\nexport const defineConfig = ({ config = {}, custom: userConfig = {} }: DefineConfigOptions = {}): OxlintConfig => {\n const overrides = [\n ...oxc(),\n ...eslint(),\n ...typescript(),\n ...unicorn(),\n ...promise(),\n ...node(),\n ...jsxA11y(),\n ...imports(),\n ...jsdoc(),\n ...nelsonlaidev(),\n ...stylistic(),\n ...deMorgan(),\n ...zod(),\n ...regexp(),\n ...sonarjs(),\n ...importSort(),\n ]\n\n if (userConfig.react ?? isPackageExists('react')) {\n overrides.push(...react())\n }\n\n if (userConfig.nextjs ?? isPackageExists('next')) {\n overrides.push(...nextjs())\n }\n\n if (userConfig.vitest) {\n overrides.push(...vitest(userConfig.vitest))\n }\n\n if (userConfig.playwright) {\n overrides.push(...playwright(userConfig.playwright))\n }\n\n if (userConfig.tailwindcss) {\n overrides.push(...tailwindcss(userConfig.tailwindcss))\n }\n\n return mergeWith<OxlintConfig, OxlintConfig>(\n {\n options: {\n typeAware: true,\n maxWarnings: 0,\n denyWarnings: true,\n reportUnusedDisableDirectives: 'error',\n },\n env: {\n node: true,\n browser: true,\n es2022: true,\n },\n ignorePatterns: ['**/routeTree.gen.ts'],\n overrides,\n settings: {\n 'jsx-a11y': {\n components: {\n Button: 'button',\n Image: 'img',\n Input: 'input',\n Textarea: 'textarea',\n Link: 'a',\n },\n },\n ...(userConfig.tailwindcss && {\n 'better-tailwindcss': {\n detectComponentClasses: false,\n rootFontSize: 16,\n selectors: [\n ...getDefaultSelectors(),\n ...createSelectors(['classNames', '.+ClassNames'], SelectorKind.Attribute),\n ...createSelectors(['.+ClassName', '.+ClassNames'], SelectorKind.Variable),\n ],\n },\n }),\n },\n },\n {\n ...config,\n settings: {\n ...config.settings,\n ...(userConfig.tailwindcss && {\n 'better-tailwindcss': pick(userConfig.tailwindcss, [\n 'entryPoint',\n 'tailwindConfig',\n 'tsconfig',\n 'detectComponentClasses',\n 'rootFontSize',\n 'messageStyle',\n 'selectors',\n ]),\n }),\n },\n },\n concatArrays,\n )\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nelsonlaidev/oxlint-config",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"homepage": "https://github.com/nelsonlaidev/config/blob/main/packages/oxlint-config/README.md",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/nelsonlaidev/config/issues"
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"@nelsonlaidev/eslint-plugin": "0.2.4"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"
|
|
39
|
+
"@types/node": "^24.11.0",
|
|
40
|
+
"oxlint": "^1.62.0",
|
|
40
41
|
"tsdown": "^0.21.6",
|
|
41
42
|
"vitest": "^4.1.2"
|
|
42
43
|
},
|