@nelsonlaidev/oxlint-config 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/index.mjs +112 -529
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -16
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/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","import 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 'accessor-pairs': 'error',\n 'array-callback-return': 'error',\n 'arrow-body-style': 'error',\n 'block-scoped-var': 'error',\n 'class-methods-use-this': 'error',\n complexity: ['error', { max: 30 }],\n 'default-case': 'error',\n 'default-case-last': 'error',\n 'default-param-last': 'error',\n eqeqeq: 'error',\n 'for-direction': 'error',\n 'func-names': 'error',\n 'grouped-accessor-pairs': 'error',\n 'guard-for-in': 'error',\n 'max-classes-per-file': 'error',\n 'max-depth': 'error',\n 'max-nested-callbacks': 'error',\n 'new-cap': ['error', { capIsNew: false }],\n 'no-alert': 'error',\n 'no-async-promise-executor': 'error',\n 'no-await-in-loop': 'error',\n 'no-bitwise': 'error',\n 'no-caller': 'error',\n 'no-case-declarations': 'error',\n 'no-compare-neg-zero': 'error',\n 'no-cond-assign': 'error',\n 'no-console': ['error', { allow: ['warn', 'error'] }],\n 'no-constant-binary-expression': 'error',\n 'no-constant-condition': 'error',\n 'no-constructor-return': 'error',\n 'no-control-regex': 'error',\n 'no-debugger': 'error',\n 'no-delete-var': 'error',\n 'no-div-regex': 'error',\n 'no-dupe-else-if': 'error',\n 'no-duplicate-case': 'error',\n 'no-else-return': 'error',\n 'no-empty': 'error',\n 'no-empty-static-block': 'error',\n 'no-eq-null': 'error',\n 'no-eval': 'error',\n 'no-ex-assign': 'error',\n 'no-extend-native': 'error',\n 'no-extra-bind': 'error',\n 'no-extra-boolean-cast': 'error',\n 'no-extra-label': 'error',\n 'no-fallthrough': 'error',\n 'no-global-assign': 'error',\n 'no-implicit-coercion': 'error',\n 'no-inner-declarations': 'error',\n 'no-irregular-whitespace': 'error',\n 'no-iterator': 'error',\n 'no-label-var': 'error',\n 'no-labels': 'error',\n 'no-lone-blocks': 'error',\n 'no-lonely-if': 'error',\n 'no-loop-func': 'error',\n 'no-loss-of-precision': 'error',\n 'no-misleading-character-class': 'error',\n 'no-multi-assign': 'error',\n 'no-multi-str': 'error',\n 'no-new': 'error',\n 'no-new-func': 'error',\n 'no-new-wrappers': 'error',\n 'no-nonoctal-decimal-escape': 'error',\n 'no-object-constructor': 'error',\n 'no-param-reassign': 'error',\n 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }],\n 'no-promise-executor-return': 'error',\n 'no-proto': 'error',\n 'no-prototype-builtins': 'error',\n 'no-regex-spaces': 'error',\n 'no-restricted-globals': 'error',\n 'no-restricted-imports': '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-shadow': 'error',\n 'no-shadow-restricted-names': 'error',\n 'no-sparse-arrays': 'error',\n 'no-template-curly-in-string': 'error',\n 'no-unassigned-vars': 'error',\n 'no-unmodified-loop-condition': 'error',\n 'no-unneeded-ternary': 'error',\n 'no-unsafe-finally': 'error',\n 'no-unsafe-optional-chaining': 'error',\n 'no-unused-labels': 'error',\n 'no-unused-private-class-members': '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-constructor': 'error',\n 'no-useless-escape': 'error',\n 'no-useless-rename': 'error',\n 'no-useless-return': 'error',\n 'no-var': 'error',\n 'no-void': ['error', { allowAsStatement: true }],\n 'no-warning-comments': 'error',\n 'operator-assignment': 'error',\n 'prefer-const': 'error',\n 'prefer-destructuring': [\n 'error',\n {\n VariableDeclarator: { array: false, object: true },\n AssignmentExpression: { array: false, object: false },\n },\n ],\n 'prefer-exponentiation-operator': 'error',\n 'prefer-numeric-literals': 'error',\n 'prefer-object-has-own': 'error',\n 'prefer-object-spread': 'error',\n 'prefer-rest-params': 'error',\n 'prefer-spread': 'error',\n 'prefer-template': 'error',\n 'preserve-caught-error': 'error',\n radix: 'error',\n 'require-yield': 'error',\n 'sort-vars': 'error',\n 'symbol-description': 'error',\n 'unicode-bom': 'error',\n 'use-isnan': 'error',\n 'valid-typeof': 'error',\n 'vars-on-top': 'error',\n yoda: '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","import 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/named': '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-as-default': 'error',\n 'import/no-named-as-default-member': 'error',\n 'import/no-self-import': 'error',\n 'import/no-webpack-loader-syntax': 'error',\n },\n },\n]\n","import 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","import 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': 'error',\n 'jsx-a11y/no-redundant-roles': 'error',\n 'jsx-a11y/no-static-element-interactions': 'error',\n 'jsx-a11y/prefer-tag-over-role': 'error',\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","import 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","import 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/global-require': 'error',\n 'node/handle-callback-err': 'error',\n 'node/no-exports-assign': 'error',\n 'node/no-new-require': '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\nexport const playwright = (config: PlaywrightConfig): OxlintOverride[] => [\n {\n files: config.files,\n jsPlugins: ['eslint-plugin-playwright'],\n rules: {\n 'playwright/consistent-spacing-between-blocks': 'error',\n 'playwright/expect-expect': [\n 'error',\n {\n assertFunctionNames: config.assertFunctionNames ?? [],\n assertFunctionPatterns: config.assertFunctionPatterns ?? [],\n },\n ],\n 'playwright/max-nested-describe': 'error',\n 'playwright/missing-playwright-await': 'error',\n 'playwright/no-commented-out-tests': 'error',\n 'playwright/no-conditional-expect': 'error',\n 'playwright/no-conditional-in-test': 'error',\n 'playwright/no-duplicate-hooks': 'error',\n 'playwright/no-element-handle': 'error',\n 'playwright/no-eval': 'error',\n 'playwright/no-focused-test': 'error',\n 'playwright/no-force-option': 'error',\n 'playwright/no-get-by-title': 'error',\n 'playwright/no-nested-step': 'error',\n 'playwright/no-networkidle': 'error',\n 'playwright/no-nth-methods': 'error',\n 'playwright/no-page-pause': 'error',\n 'playwright/no-raw-locators': 'error',\n 'playwright/no-restricted-locators': 'error',\n 'playwright/no-restricted-matchers': 'error',\n 'playwright/no-skipped-test': 'error',\n 'playwright/no-slowed-test': 'error',\n 'playwright/no-standalone-expect': 'error',\n 'playwright/no-unsafe-references': 'error',\n 'playwright/no-unused-locators': 'error',\n 'playwright/no-useless-await': 'error',\n 'playwright/no-useless-not': 'error',\n 'playwright/no-wait-for-navigation': 'error',\n 'playwright/no-wait-for-selector': 'error',\n 'playwright/no-wait-for-timeout': 'error',\n 'playwright/prefer-comparison-matcher': 'error',\n 'playwright/prefer-equality-matcher': 'error',\n 'playwright/prefer-hooks-in-order': 'error',\n 'playwright/prefer-hooks-on-top': 'error',\n 'playwright/prefer-locator': 'error',\n 'playwright/prefer-lowercase-title': 'error',\n 'playwright/prefer-native-locators': 'error',\n 'playwright/prefer-strict-equal': 'error',\n 'playwright/prefer-to-be': 'error',\n 'playwright/prefer-to-contain': 'error',\n 'playwright/prefer-to-have-count': 'error',\n 'playwright/prefer-to-have-length': 'error',\n 'playwright/prefer-web-first-assertions': 'error',\n 'playwright/require-hook': 'error',\n 'playwright/require-to-throw-message': 'error',\n 'playwright/require-top-level-describe': 'error',\n 'playwright/valid-describe-callback': 'error',\n 'playwright/valid-expect': 'error',\n 'playwright/valid-expect-in-promise': 'error',\n 'playwright/valid-test-tags': 'error',\n 'playwright/valid-title': 'error',\n },\n },\n]\n","import 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/avoid-new': 'error',\n 'promise/catch-or-return': 'error',\n 'promise/no-callback-in': 'error',\n 'promise/no-multiple-resolved': 'error',\n 'promise/no-nesting': 'error',\n 'promise/no-new-statics': 'error',\n 'promise/no': '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 { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const react = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n plugins: ['react'],\n jsPlugins: [\n 'eslint-plugin-react-x',\n 'eslint-plugin-react-rsc',\n 'eslint-plugin-react-dom',\n 'eslint-plugin-react-web-api',\n 'eslint-plugin-react-naming-convention',\n { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },\n ],\n rules: {\n // Disable the following rules because they require type information,\n // which is not implemented in Oxlint JS plugins yet.\n // See: https://oxc.rs/docs/guide/usage/linter/js-plugins.html#api-support\n\n // 'react-x/no-implicit-children': 'error',\n // 'react-x/no-implicit-key': 'error',\n // 'react-x/no-implicit-ref': 'error',\n // 'react-x/no-leaked-conditional-rendering': 'error',\n // 'react-x/no-unused-props': 'error',\n\n // Core hooks rules (Rust)\n 'react/button-has-type': 'error',\n 'react/checked-requires-onchange-or-readonly': 'error',\n 'react/display-name': ['error', { checkContextObjects: true }],\n 'react/iframe-missing-sandbox': 'error',\n 'react/jsx-boolean-value': 'error',\n 'react/jsx-curly-brace-presence': ['error', { props: 'never', children: 'never', propElementValues: 'always' }],\n 'react/jsx-filename-extension': ['error', { allow: 'as-needed', extensions: ['tsx'] }],\n 'react/jsx-fragments': 'error',\n 'react/jsx-handler-names': 'error',\n 'react/jsx-no-comment-textnodes': 'error',\n 'react/jsx-no-constructed-context-values': 'error',\n 'react/jsx-no-duplicate-props': 'error',\n 'react/jsx-no-script-url': 'error',\n 'react/jsx-no-target-blank': 'error',\n 'react/jsx-no-undef': 'error',\n 'react/jsx-no-useless-fragment': 'error',\n 'react/jsx-pascal-case': 'error',\n 'react/jsx-props-no-spread-multi': 'error',\n 'react/no-children-prop': 'error',\n 'react/no-clone-element': 'error',\n 'react/no-danger': 'error',\n 'react/no-danger-with-children': 'error',\n 'react/no-did-mount-set-state': 'error',\n 'react/no-direct-mutation-state': 'error',\n 'react/no-find-dom-node': 'error',\n 'react/no-is-mounted': 'error',\n 'react/no-namespace': 'error',\n 'react/no-react-children': 'error',\n 'react/no-redundant-should-component-update': 'error',\n 'react/no-render-return-value': 'error',\n 'react/no-set-state': 'error',\n 'react/no-string-refs': 'error',\n 'react/no-this-in-sfc': 'error',\n 'react/no-unknown-property': 'error',\n 'react/no-unsafe': 'error',\n 'react/no-will-update-set-state': 'error',\n 'react/require-render-return': 'error',\n 'react/rules-of-hooks': 'error',\n 'react/self-closing-comp': 'error',\n 'react/state-in-constructor': 'error',\n\n // Core hooks rules (JavaScript)\n 'react-x/jsx-dollar': 'error',\n 'react-x/jsx-key-before-spread': 'error',\n 'react-x/exhaustive-deps': 'error',\n 'react-x/no-access-state-in-setstate': 'error',\n 'react-x/no-children-count': 'error',\n 'react-x/no-children-for-each': 'error',\n 'react-x/no-children-map': 'error',\n 'react-x/no-children-only': 'error',\n 'react-x/no-children-to-array': 'error',\n 'react-x/no-class-component': 'error',\n 'react-x/no-component-will-mount': 'error',\n 'react-x/no-component-will-receive-props': 'error',\n 'react-x/no-component-will-update': 'error',\n 'react-x/no-context-provider': 'error',\n 'react-x/no-create-ref': 'error',\n 'react-x/no-duplicate-key': 'error',\n 'react-x/no-forward-ref': 'error',\n 'react-x/no-missing-key': 'error',\n 'react-x/no-misused-capture-owner-stack': 'error',\n 'react-x/no-set-state-in-component-did-update': 'error',\n 'react-x/no-unnecessary-use-callback': 'error',\n 'react-x/no-unnecessary-use-memo': 'error',\n 'react-x/no-unnecessary-use-prefix': 'error',\n 'react-x/no-unstable-default-props': 'error',\n 'react-x/no-unused-class-component-members': 'error',\n 'react-x/no-unused-state': 'error',\n 'react-x/no-use-context': 'error',\n 'react-x/prefer-destructuring-assignment': 'error',\n 'react-x/prefer-namespace-import': 'error',\n 'react-x/use-state': 'error',\n\n // React Server Components rules\n 'react-rsc/function-definition': 'error',\n\n // React DOM rules\n 'react-dom/no-flush-sync': 'error',\n 'react-dom/no-hydrate': 'error',\n 'react-dom/no-render': 'error',\n 'react-dom/no-string-style-prop': 'error',\n 'react-dom/no-unsafe-iframe-sandbox': 'error',\n 'react-dom/no-use-form-state': 'error',\n 'react-dom/no-void-elements-with-children': 'error',\n 'react-dom/prefer-namespace-import': 'error',\n\n // Web API rules\n 'react-web-api/no-leaked-event-listener': 'error',\n 'react-web-api/no-leaked-interval': 'error',\n 'react-web-api/no-leaked-resize-observer': 'error',\n 'react-web-api/no-leaked-timeout': 'error',\n\n // Naming Convention rules\n 'react-naming-convention/context-name': 'error',\n 'react-naming-convention/id-name': 'error',\n 'react-naming-convention/ref-name': 'error',\n\n // React Compiler rules\n\n // The following rules are not supported in eslint-plugin-react-x yet\n // See: https://www.eslint-react.xyz/docs/migrating-from-eslint-plugin-react-hooks#table\n 'react-hooks-js/config': 'error',\n 'react-hooks-js/gating': 'error',\n 'react-hooks-js/globals': 'error',\n 'react-hooks-js/incompatible-library': 'error',\n 'react-hooks-js/preserve-manual-memoization': 'error',\n\n 'react-x/error-boundaries': 'error',\n 'react-x/component-hook-factories': 'error',\n 'react-x/immutability': 'error',\n 'react-x/purity': 'error',\n 'react-x/refs': 'error',\n 'react-x/set-state-in-effect': 'error',\n 'react-x/set-state-in-render': 'error',\n 'react-x/no-nested-component-definitions': 'error',\n 'react-x/no-nested-lazy-component-declarations': 'error',\n 'react-x/unsupported-syntax': 'error',\n 'react-x/use-memo': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const regexp = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-regexp'],\n rules: {\n 'regexp/confusing-quantifier': 'error',\n 'regexp/control-character-escape': 'error',\n 'regexp/match-any': 'error',\n 'regexp/negation': 'error',\n 'regexp/no-contradiction-with-assertion': 'error',\n 'regexp/no-dupe-characters-character-class': 'error',\n 'regexp/no-dupe-disjunctions': 'error',\n 'regexp/no-empty-alternative': 'error',\n 'regexp/no-empty-capturing-group': 'error',\n 'regexp/no-empty-character-class': 'error',\n 'regexp/no-empty-group': 'error',\n 'regexp/no-empty-lookarounds-assertion': 'error',\n 'regexp/no-empty-string-literal': 'error',\n 'regexp/no-escape-backspace': 'error',\n 'regexp/no-extra-lookaround-assertions': 'error',\n 'regexp/no-invalid-regexp': 'error',\n 'regexp/no-invisible-character': 'error',\n 'regexp/no-lazy-ends': 'error',\n 'regexp/no-legacy-features': 'error',\n 'regexp/no-misleading-capturing-group': 'error',\n 'regexp/no-misleading-unicode-character': 'error',\n 'regexp/no-missing-g-flag': 'error',\n 'regexp/no-non-standard-flag': 'error',\n 'regexp/no-obscure-range': 'error',\n 'regexp/no-optional-assertion': 'error',\n 'regexp/no-potentially-useless-backreference': 'error',\n 'regexp/no-super-linear-backtracking': 'error',\n 'regexp/no-trivially-nested-assertion': 'error',\n 'regexp/no-trivially-nested-quantifier': 'error',\n 'regexp/no-unused-capturing-group': 'error',\n 'regexp/no-useless-assertions': 'error',\n 'regexp/no-useless-backreference': 'error',\n 'regexp/no-useless-character-class': 'error',\n 'regexp/no-useless-dollar-replacements': 'error',\n 'regexp/no-useless-escape': 'error',\n 'regexp/no-useless-flag': 'error',\n 'regexp/no-useless-lazy': 'error',\n 'regexp/no-useless-non-capturing-group': 'error',\n 'regexp/no-useless-quantifier': 'error',\n 'regexp/no-useless-range': 'error',\n 'regexp/no-useless-set-operand': 'error',\n 'regexp/no-useless-string-literal': 'error',\n 'regexp/no-useless-two-nums-quantifier': 'error',\n 'regexp/no-zero-quantifier': 'error',\n 'regexp/optimal-lookaround-quantifier': 'error',\n 'regexp/optimal-quantifier-concatenation': 'error',\n 'regexp/prefer-character-class': 'error',\n 'regexp/prefer-d': 'error',\n 'regexp/prefer-plus-quantifier': 'error',\n 'regexp/prefer-predefined-assertion': 'error',\n 'regexp/prefer-question-quantifier': 'error',\n 'regexp/prefer-range': 'error',\n 'regexp/prefer-set-operation': 'error',\n 'regexp/prefer-star-quantifier': 'error',\n 'regexp/prefer-unicode-codepoint-escapes': 'error',\n 'regexp/prefer-w': 'error',\n 'regexp/simplify-set-operations': 'error',\n 'regexp/sort-flags': 'error',\n 'regexp/strict': 'error',\n 'regexp/use-ignore-case': 'error',\n },\n },\n]\n","import type { OxlintOverride } from 'oxlint'\n\nimport { GLOB_SRC } from '../globs'\n\nexport const sonarjs = (): OxlintOverride[] => [\n {\n files: [GLOB_SRC],\n jsPlugins: ['eslint-plugin-sonarjs'],\n rules: {\n 'sonarjs/class-name': 'error',\n 'sonarjs/no-fallthrough': 'error',\n 'sonarjs/no-equals-in-for-termination': 'error',\n 'sonarjs/no-extra-arguments': 'error',\n 'sonarjs/no-labels': 'error',\n 'sonarjs/no-nested-assignment': 'error',\n 'sonarjs/no-redundant-boolean': 'error',\n 'sonarjs/prefer-single-boolean-return': 'error',\n 'sonarjs/unused-import': 'error',\n 'sonarjs/fixme-tag': 'error',\n 'sonarjs/todo-tag': 'error',\n 'sonarjs/no-case-label-in-switch': 'error',\n 'sonarjs/no-parameter-reassignment': 'error',\n 'sonarjs/prefer-while': 'error',\n 'sonarjs/no-small-switch': 'error',\n 'sonarjs/no-hardcoded-ip': 'error',\n 'sonarjs/label-position': 'error',\n 'sonarjs/public-static-readonly': 'error',\n 'sonarjs/call-argument-line': 'error',\n 'sonarjs/max-switch-cases': 'error',\n 'sonarjs/no-unused-vars': 'error',\n 'sonarjs/function-inside-loop': 'error',\n 'sonarjs/future-reserved-words': 'error',\n 'sonarjs/bitwise-operators': 'error',\n 'sonarjs/no-primitive-wrappers': 'error',\n 'sonarjs/no-skipped-tests': 'error',\n 'sonarjs/no-identical-expressions': 'error',\n 'sonarjs/constructor-for-side-effects': 'error',\n 'sonarjs/no-dead-store': 'error',\n 'sonarjs/no-identical-conditions': 'error',\n 'sonarjs/no-duplicated-branches': 'error',\n 'sonarjs/no-inverted-boolean-check': 'error',\n 'sonarjs/misplaced-loop-counter': 'error',\n 'sonarjs/no-nested-functions': 'error',\n 'sonarjs/no-hardcoded-passwords': 'error',\n 'sonarjs/sql-queries': 'error',\n 'sonarjs/insecure-cookie': 'error',\n 'sonarjs/no-useless-increment': 'error',\n 'sonarjs/no-globals-shadowing': 'error',\n 'sonarjs/no-empty-test-file': 'error',\n 'sonarjs/no-ignored-return': 'error',\n 'sonarjs/for-loop-increment-sign': 'error',\n 'sonarjs/null-dereference': 'error',\n 'sonarjs/no-selector-parameter': 'error',\n 'sonarjs/updated-loop-counter': 'error',\n 'sonarjs/block-scoped-var': 'error',\n 'sonarjs/no-ignored-exceptions': 'error',\n 'sonarjs/no-gratuitous-expressions': 'error',\n 'sonarjs/file-uploads': 'error',\n 'sonarjs/file-permissions': 'error',\n 'sonarjs/no-empty-character-class': 'error',\n 'sonarjs/no-unenclosed-multiline-block': 'error',\n 'sonarjs/index-of-compare-to-positive-number': 'error',\n 'sonarjs/assertions-in-tests': 'error',\n 'sonarjs/no-implicit-global': 'error',\n 'sonarjs/no-useless-catch': 'error',\n 'sonarjs/xml-parser-xxe': 'error',\n 'sonarjs/non-existent-operator': 'error',\n 'sonarjs/post-message': 'error',\n 'sonarjs/no-array-delete': 'error',\n 'sonarjs/no-alphabetical-sort': 'error',\n 'sonarjs/no-incomplete-assertions': 'error',\n 'sonarjs/no-global-this': 'error',\n 'sonarjs/new-operator-misuse': 'error',\n 'sonarjs/no-delete-var': 'error',\n 'sonarjs/cookie-no-httponly': 'error',\n 'sonarjs/no-nested-conditional': 'error',\n 'sonarjs/different-types-comparison': 'error',\n 'sonarjs/inverted-assertion-arguments': 'error',\n 'sonarjs/updated-const-var': 'error',\n 'sonarjs/no-invariant-returns': 'error',\n 'sonarjs/generator-without-yield': 'error',\n 'sonarjs/no-associative-arrays': 'error',\n 'sonarjs/comma-or-logical-or-case': 'error',\n 'sonarjs/no-redundant-jump': 'error',\n 'sonarjs/inconsistent-function-call': 'error',\n 'sonarjs/no-use-of-empty-return-value': 'error',\n 'sonarjs/cognitive-complexity': ['error', 20],\n 'sonarjs/argument-type': 'error',\n 'sonarjs/in-operator-type-error': 'error',\n 'sonarjs/array-callback-without-return': 'error',\n 'sonarjs/no-all-duplicated-branches': 'error',\n 'sonarjs/no-same-line-conditional': 'error',\n 'sonarjs/no-collection-size-mischeck': 'error',\n 'sonarjs/no-unthrown-error': 'error',\n 'sonarjs/no-unused-collection': 'error',\n 'sonarjs/no-os-command-from-path': 'error',\n 'sonarjs/no-misleading-array-reverse': 'error',\n 'sonarjs/no-element-overwrite': 'error',\n 'sonarjs/no-identical-functions': 'error',\n 'sonarjs/no-empty-collection': 'error',\n 'sonarjs/no-redundant-assignments': 'error',\n 'sonarjs/prefer-type-guard': 'error',\n 'sonarjs/use-type-alias': 'error',\n 'sonarjs/no-useless-intersection': 'error',\n 'sonarjs/weak-ssl': 'error',\n 'sonarjs/no-weak-keys': 'error',\n 'sonarjs/csrf': 'error',\n 'sonarjs/production-debug': 'error',\n 'sonarjs/prefer-default-last': 'error',\n 'sonarjs/no-in-misuse': 'error',\n 'sonarjs/no-duplicate-in-composite': 'error',\n 'sonarjs/no-undefined-argument': 'error',\n 'sonarjs/no-nested-template-literals': 'error',\n 'sonarjs/prefer-promise-shorthand': 'error',\n 'sonarjs/os-command': 'error',\n 'sonarjs/no-redundant-optional': 'error',\n 'sonarjs/hashing': 'error',\n 'sonarjs/no-try-promise': 'error',\n 'sonarjs/unverified-certificate': 'error',\n 'sonarjs/no-unsafe-unzip': 'error',\n 'sonarjs/cors': 'error',\n 'sonarjs/link-with-target-blank': 'error',\n 'sonarjs/disabled-auto-escaping': 'error',\n 'sonarjs/table-header': 'error',\n 'sonarjs/no-table-as-layout': 'error',\n 'sonarjs/table-header-reference': 'error',\n 'sonarjs/object-alt-content': 'error',\n 'sonarjs/no-clear-text-protocols': 'error',\n 'sonarjs/publicly-writable-directories': 'error',\n 'sonarjs/unverified-hostname': 'error',\n 'sonarjs/encryption-secure-mode': 'error',\n 'sonarjs/no-weak-cipher': 'error',\n 'sonarjs/no-intrusive-permissions': 'error',\n 'sonarjs/insecure-jwt-token': 'error',\n 'sonarjs/x-powered-by': 'error',\n 'sonarjs/hidden-files': 'error',\n 'sonarjs/content-length': 'error',\n 'sonarjs/disabled-resource-integrity': 'error',\n 'sonarjs/content-security-policy': 'error',\n 'sonarjs/no-mixed-content': 'error',\n 'sonarjs/frame-ancestors': 'error',\n 'sonarjs/no-mime-sniff': 'error',\n 'sonarjs/no-referrer-policy': 'error',\n 'sonarjs/strict-transport-security': 'error',\n 'sonarjs/confidential-information-logging': 'error',\n 'sonarjs/no-ip-forward': 'error',\n 'sonarjs/empty-string-repetition': 'error',\n 'sonarjs/regex-complexity': 'error',\n 'sonarjs/anchor-precedence': 'error',\n 'sonarjs/slow-regex': 'error',\n 'sonarjs/no-invalid-regexp': 'error',\n 'sonarjs/unused-named-groups': 'error',\n 'sonarjs/no-same-argument-assert': 'error',\n 'sonarjs/no-misleading-character-class': 'error',\n 'sonarjs/duplicates-in-character-class': 'error',\n 'sonarjs/session-regeneration': 'error',\n 'sonarjs/test-check-exception': 'error',\n 'sonarjs/stable-tests': 'error',\n 'sonarjs/no-empty-after-reluctant': 'error',\n 'sonarjs/single-character-alternation': 'error',\n 'sonarjs/no-code-after-done': 'error',\n 'sonarjs/disabled-timeout': 'error',\n 'sonarjs/chai-determinate-assertion': 'error',\n 'sonarjs/aws-s3-bucket-insecure-http': 'error',\n 'sonarjs/aws-s3-bucket-versioning': 'error',\n 'sonarjs/aws-s3-bucket-granted-access': 'error',\n 'sonarjs/no-angular-bypass-sanitization': 'error',\n 'sonarjs/aws-iam-public-access': 'error',\n 'sonarjs/aws-ec2-unencrypted-ebs-volume': 'error',\n 'sonarjs/aws-s3-bucket-public-access': 'error',\n 'sonarjs/aws-iam-all-privileges': 'error',\n 'sonarjs/aws-rds-unencrypted-databases': 'error',\n 'sonarjs/aws-opensearchservice-domain': 'error',\n 'sonarjs/aws-iam-privilege-escalation': 'error',\n 'sonarjs/aws-sagemaker-unencrypted-notebook': 'error',\n 'sonarjs/aws-restricted-ip-admin-access': 'error',\n 'sonarjs/no-empty-alternatives': 'error',\n 'sonarjs/no-control-regex': 'error',\n 'sonarjs/no-regex-spaces': 'error',\n 'sonarjs/aws-sns-unencrypted-topics': 'error',\n 'sonarjs/existing-groups': 'error',\n 'sonarjs/aws-ec2-rds-dms-public': 'error',\n 'sonarjs/aws-sqs-unencrypted-queue': 'error',\n 'sonarjs/no-empty-group': 'error',\n 'sonarjs/aws-efs-unencrypted': 'error',\n 'sonarjs/aws-apigateway-public-api': 'error',\n 'sonarjs/stateful-regex': 'error',\n 'sonarjs/concise-regex': 'error',\n 'sonarjs/single-char-in-character-classes': 'error',\n 'sonarjs/no-hardcoded-secrets': 'error',\n 'sonarjs/no-exclusive-tests': 'error',\n 'sonarjs/hardcoded-secret-signatures': 'error',\n 'sonarjs/jsx-no-leaked-render': 'error',\n 'sonarjs/no-hook-setter-in-body': 'error',\n 'sonarjs/no-useless-react-setstate': 'error',\n 'sonarjs/no-uniq-key': 'error',\n 'sonarjs/redundant-type-aliases': 'error',\n 'sonarjs/prefer-regexp-exec': 'error',\n 'sonarjs/no-internal-api-use': 'error',\n 'sonarjs/no-literal-call': 'error',\n 'sonarjs/reduce-initial-value': 'error',\n 'sonarjs/no-async-constructor': 'error',\n 'sonarjs/review-blockchain-mnemonic': 'error',\n 'sonarjs/dynamically-constructed-templates': 'error',\n 'sonarjs/no-session-cookies-on-static-assets': 'error',\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","import 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': ['error', { default: 'array-simple', readonly: 'array-simple' }],\n 'typescript/await-thenable': 'error',\n 'typescript/ban-ts-comment': 'error',\n 'typescript/ban-tslint-comment': 'error',\n 'typescript/ban-types': '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': ['error', { fixMixedExportsWithInlineTypeSpecifier: false }],\n 'typescript/consistent-type-imports': ['error', { prefer: 'type-imports', fixStyle: 'separate-type-imports' }],\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-interface': 'error',\n 'typescript/no-empty-object-type': ['error', { allowInterfaces: 'with-single-extends' }],\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': ['error', { checksVoidReturn: false }],\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-qualifier': '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-var-requires': 'error',\n 'typescript/no-wrapper-object-types': 'error',\n 'typescript/non-nullable-type-assertion-style': 'error',\n 'typescript/only-throw-error': [\n 'error',\n { allow: [{ from: 'package', package: '@tanstack/router-core', name: 'Redirect' }] },\n ],\n 'typescript/parameter-properties': 'error',\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-readonly': '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/prefer-ts-expect-error': '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': 'error',\n 'typescript/restrict-template-expressions': ['error', { allowNumber: true }],\n 'typescript/return-await': 'error',\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 // 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 // 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 },\n },\n]\n","import 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-array': '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-length-as-slice-end': '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-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/require-post-message-target-origin': 'error',\n 'unicorn/switch-case-braces': 'error',\n 'unicorn/text-encoding-identifier-case': ['error', { withDash: true }],\n 'unicorn/throw-new-error': 'error',\n },\n },\n]\n","import 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'],\n rules: {\n 'vitest/consistent-each-for': 'error',\n 'vitest/consistent-test-filename': 'error',\n 'vitest/consistent-vitest-vi': 'error',\n 'vitest/hoisted-apis-on-top': 'error',\n 'vitest/no-conditional-tests': 'error',\n 'vitest/no-import-node-test': 'error',\n 'vitest/prefer-called-times': 'error',\n 'vitest/prefer-describe-function-title': 'error',\n 'vitest/prefer-expect-type-of': 'error',\n 'vitest/prefer-to-be-object': '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 // oxlint-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 { 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/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,55 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nelsonlaidev/oxlint-config",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
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"
|
|
7
7
|
},
|
|
8
|
-
"license": "MIT",
|
|
9
|
-
"author": "Nelson Lai <me@nelsonlai.dev> (https://github.com/nelsonlaidev/)",
|
|
10
8
|
"repository": {
|
|
11
9
|
"type": "git",
|
|
12
10
|
"url": "git+https://github.com/nelsonlaidev/config.git",
|
|
13
11
|
"directory": "packages/oxlint-config"
|
|
14
12
|
},
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
],
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"author": "Nelson Lai <me@nelsonlai.dev> (https://github.com/nelsonlaidev/)",
|
|
18
15
|
"type": "module",
|
|
19
16
|
"exports": {
|
|
20
17
|
"types": "./dist/index.d.mts",
|
|
21
18
|
"import": "./dist/index.mjs"
|
|
22
19
|
},
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
26
23
|
"dependencies": {
|
|
24
|
+
"@eslint-react/eslint-plugin": "4.0.2-beta.6",
|
|
27
25
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
28
26
|
"es-toolkit": "^1.45.1",
|
|
29
27
|
"eslint-plugin-better-tailwindcss": "^4.3.2",
|
|
30
28
|
"eslint-plugin-de-morgan": "^2.1.1",
|
|
31
29
|
"eslint-plugin-import-zod": "^1.2.1",
|
|
32
30
|
"eslint-plugin-playwright": "^2.10.1",
|
|
33
|
-
"eslint-plugin-react-dom": "^3.0.0",
|
|
34
31
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
35
|
-
"eslint-plugin-react-naming-convention": "^3.0.0",
|
|
36
|
-
"eslint-plugin-react-rsc": "^3.0.0",
|
|
37
|
-
"eslint-plugin-react-web-api": "^3.0.0",
|
|
38
|
-
"eslint-plugin-react-x": "^3.0.0",
|
|
39
32
|
"eslint-plugin-regexp": "^3.1.0",
|
|
40
33
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
41
34
|
"eslint-plugin-sonarjs": "^4.0.2",
|
|
42
35
|
"local-pkg": "^1.1.2",
|
|
43
|
-
"@nelsonlaidev/eslint-plugin": "0.2.
|
|
36
|
+
"@nelsonlaidev/eslint-plugin": "0.2.4"
|
|
44
37
|
},
|
|
45
38
|
"devDependencies": {
|
|
46
|
-
"oxlint": "^1.
|
|
39
|
+
"oxlint": "^1.62.0",
|
|
47
40
|
"tsdown": "^0.21.6",
|
|
48
41
|
"vitest": "^4.1.2"
|
|
49
42
|
},
|
|
50
43
|
"peerDependencies": {
|
|
51
44
|
"oxlint": ">=1.56.0"
|
|
52
45
|
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
53
49
|
"scripts": {
|
|
54
50
|
"build": "tsdown",
|
|
55
51
|
"clean": "rm -rf .turbo dist",
|