@nelsonlaidev/eslint-config 2.4.3 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -402,6 +402,7 @@ const unicorn = (overrides) => [{
402
402
  "unicorn/prevent-abbreviations": "off",
403
403
  "unicorn/no-null": "off",
404
404
  "unicorn/no-document-cookie": "off",
405
+ "unicorn/prefer-string-raw": "off",
405
406
  ...overrides
406
407
  }
407
408
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/configs/command.ts","../src/configs/comments.ts","../src/configs/de-morgan.ts","../src/configs/gitignore.ts","../src/configs/ignores.ts","../src/configs/import-sort.ts","../src/configs/imports.ts","../src/configs/javascript.ts","../src/globs.ts","../src/configs/jsx.ts","../src/configs/nextjs.ts","../src/configs/node.ts","../src/configs/playwright.ts","../src/configs/prettier.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":["import type { FlatConfig } from '../types'\n\nimport { commandPlugin } from '../plugins'\n\nexport const command = (): FlatConfig[] => [\n {\n ...commandPlugin(),\n name: 'nelsonlaidev/command/rules'\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { commentsPlugin } from '../plugins'\n\nexport const comments = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/eslint-comments/rules',\n plugins: {\n '@eslint-community/eslint-comments': commentsPlugin\n },\n rules: {\n ...commentsPlugin.configs.recommended.rules,\n\n '@eslint-community/eslint-comments/require-description': 'error',\n '@eslint-community/eslint-comments/no-unused-disable': 'error',\n '@eslint-community/eslint-comments/no-restricted-disable': 'error',\n '@eslint-community/eslint-comments/no-use': [\n 'error',\n { allow: ['eslint-disable-next-line', 'eslint-disable', 'eslint-enable'] }\n ],\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { deMorganPlugin } from '../plugins'\n\nexport const deMorgan = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/de-morgan/rules',\n plugins: {\n 'de-morgan': deMorganPlugin\n },\n rules: {\n ...deMorganPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig } from '../types'\n\nimport gitignorePlugin from 'eslint-config-flat-gitignore'\n\nexport const gitignore = (): FlatConfig[] => [\n gitignorePlugin({\n name: 'nelsonlaidev/gitignore'\n })\n]\n","import type { FlatConfig } from '../types'\n\nexport const ignores = (userIgnores: string[] = []): FlatConfig[] => [\n {\n name: 'nelsonlaidev/ignores',\n ignores: ['**/routeTree.gen.ts', ...userIgnores]\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importSortPlugin } from '../plugins'\n\nexport const importSort = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/import-sort/rules',\n plugins: {\n 'import-sort': importSortPlugin\n },\n rules: {\n 'import-sort/imports': [\n 'error',\n {\n groups: [\n // Type imports\n [\n String.raw`^.*\\u0000$`,\n String.raw`^node:.*\\u0000$`,\n String.raw`^@?\\w.*\\u0000$`,\n String.raw`^\\.\\..*\\u0000$`,\n String.raw`^\\..*\\u0000$`\n ],\n\n // Side effect imports (e.g., `import 'some-module'`)\n [String.raw`^\\u0000`],\n\n // Node.js builtins prefixed with `node:`\n ['^node:'],\n\n // Things that start with a letter (or digit or underscore), or `@` followed by a letter\n [String.raw`^@?\\w`],\n\n // Absolute imports (e.g., `import something from 'src/utils'`)\n ['^[^.]'],\n\n // Parent directory relative imports (e.g., `import something from '../utils'`)\n [String.raw`^\\.\\.`],\n\n // Current directory relative imports (e.g., `import something from './utils'`)\n [String.raw`^\\.`]\n ]\n }\n ],\n 'import-sort/exports': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importLitePlugin } from '../plugins'\n\nexport const imports = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/imports/rules',\n plugins: {\n 'import-lite': importLitePlugin\n },\n rules: {\n 'import-lite/first': 'error',\n 'import-lite/newline-after-import': ['error', { count: 1 }],\n 'import-lite/no-duplicates': 'error',\n 'import-lite/no-mutable-exports': 'error',\n 'import-lite/no-named-default': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport eslint from '@eslint/js'\nimport globals from 'globals'\n\nimport { unusedImportsPlugin } from '../plugins'\n\nexport const javascript = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/javascript/setup',\n languageOptions: {\n ecmaVersion: 2022,\n globals: {\n ...globals.browser,\n ...globals.es2021,\n ...globals.node,\n document: 'readonly',\n navigator: 'readonly',\n window: 'readonly'\n },\n parserOptions: {\n ecmaFeatures: {\n jsx: true\n },\n ecmaVersion: 2022,\n sourceType: 'module'\n },\n sourceType: 'module'\n },\n linterOptions: {\n reportUnusedDisableDirectives: 'error',\n reportUnusedInlineConfigs: 'error'\n }\n },\n {\n name: 'nelsonlaidev/javascript/rules',\n plugins: {\n 'unused-imports': unusedImportsPlugin\n },\n rules: {\n ...eslint.configs.recommended.rules,\n\n // Recommended to disable\n // https://github.com/sweepline/eslint-plugin-unused-imports?tab=readme-ov-file#usage\n 'no-unused-vars': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_'\n }\n ],\n\n ...overrides\n }\n }\n]\n","export const GLOB_SRC_EXT = '?([cm])[jt]s?(x)'\nexport const GLOB_SRC = '**/*.?([cm])[jt]s?(x)'\n\nexport const GLOB_JS = '**/*.?([cm])js'\nexport const GLOB_JSX = '**/*.?([cm])jsx'\n\nexport const GLOB_TS = '**/*.?([cm])ts'\nexport const GLOB_TSX = '**/*.?([cm])tsx'\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { GLOB_JSX, GLOB_TSX } from '../globs'\nimport { jsxA11yPlugin } from '../plugins'\n\nexport const jsx = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/jsx/setup',\n files: [GLOB_JSX, GLOB_TSX],\n languageOptions: {\n parserOptions: {\n ecmaFeatures: {\n jsx: true\n }\n }\n }\n },\n {\n name: 'nelsonlaidev/jsx/rules',\n files: [GLOB_JSX, GLOB_TSX],\n plugins: {\n 'jsx-a11y': jsxA11yPlugin\n },\n rules: {\n ...jsxA11yPlugin.flatConfigs.strict.rules,\n\n 'jsx-a11y/anchor-ambiguous-text': 'error',\n 'jsx-a11y/lang': 'error',\n 'jsx-a11y/no-aria-hidden-on-focusable': 'error',\n 'jsx-a11y/prefer-tag-over-role': 'error',\n\n ...overrides\n },\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 }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { nextPlugin } from '../plugins'\n\nexport const nextjs = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/nextjs/rules',\n plugins: {\n '@next/next': nextPlugin\n },\n rules: {\n ...nextPlugin.configs['core-web-vitals'].rules,\n\n // Unnecessary\n '@next/next/no-html-link-for-pages': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { nodePlugin } from '../plugins'\n\nexport const node = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/node/rules',\n plugins: {\n n: nodePlugin\n },\n rules: {\n 'n/handle-callback-err': ['error', '^(err|error)$'],\n 'n/no-deprecated-api': 'error',\n 'n/no-exports-assign': 'error',\n 'n/no-new-require': 'error',\n 'n/no-path-concat': 'error',\n 'n/prefer-promises/fs': 'error',\n 'n/process-exit-as-throw': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport globals from 'globals'\n\nimport { playwrightPlugin } from '../plugins'\n\nexport const playwright = (glob: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/playwright/setup',\n languageOptions: {\n globals: globals['shared-node-browser']\n }\n },\n {\n name: 'nelsonlaidev/playwright/rules',\n files: [glob],\n plugins: {\n playwright: playwrightPlugin\n },\n rules: {\n ...playwrightPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { prettierPlugin, prettierPluginRecommended } from '../plugins'\n\nexport const prettier = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/prettier/rules',\n plugins: {\n prettier: prettierPlugin\n },\n rules: {\n ...prettierPluginRecommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { GLOB_SRC } from '../globs'\nimport { reactHooksPlugin, reactPlugin } from '../plugins'\n\nexport const react = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/react/rules',\n files: [GLOB_SRC],\n plugins: {\n ...reactPlugin.configs.all.plugins,\n 'react-hooks': reactHooksPlugin\n },\n rules: {\n ...reactPlugin.configs.all.rules,\n ...reactHooksPlugin.configs['recommended-latest'].rules,\n\n '@eslint-react/naming-convention/filename': [\n 'error',\n {\n rule: 'kebab-case',\n excepts: ['index', String.raw`/^_/`, String.raw`/^\\$/`, String.raw`/^[0-9]+$/`, String.raw`/^\\[[^\\]]+\\]$/`]\n }\n ],\n\n // Unnecessary\n '@eslint-react/no-complex-conditional-rendering': 'off',\n '@eslint-react/no-array-index-key': 'off',\n '@eslint-react/naming-convention/use-state': 'off',\n '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect': 'off',\n 'react-hooks/set-state-in-effect': 'off',\n 'react-hooks/static-components': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { regexpPlugin } from '../plugins'\n\nexport const regexp = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/regexp/rules',\n plugins: {\n regexp: regexpPlugin\n },\n rules: {\n ...regexpPlugin.configs['flat/recommended'].rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { sonarjsPlugin } from '../plugins'\n\nexport const sonarjs = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/sonarjs/rules',\n plugins: {\n sonarjs: sonarjsPlugin\n },\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\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { stylisticPlugin } from '../plugins'\n\nexport const stylistic = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/stylistic/rules',\n plugins: {\n '@stylistic': stylisticPlugin\n },\n rules: {\n '@stylistic/multiline-comment-style': ['error', 'separate-lines'],\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { tailwindcssPlugin } from '../plugins'\n\nexport const tailwindcss = (entryPoint: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/tailwindcss/rules',\n plugins: {\n 'better-tailwindcss': tailwindcssPlugin\n },\n rules: {\n 'better-tailwindcss/enforce-consistent-class-order': 'error',\n 'better-tailwindcss/enforce-consistent-important-position': 'error',\n 'better-tailwindcss/enforce-consistent-variable-syntax': 'error',\n 'better-tailwindcss/enforce-shorthand-classes': 'error',\n 'better-tailwindcss/no-conflicting-classes': 'error',\n 'better-tailwindcss/no-deprecated-classes': 'error',\n 'better-tailwindcss/no-duplicate-classes': 'error',\n 'better-tailwindcss/no-unnecessary-whitespace': 'error',\n 'better-tailwindcss/no-unregistered-classes': 'error',\n\n ...overrides\n },\n settings: {\n 'better-tailwindcss': {\n entryPoint,\n callees: [\n [\n 'cva',\n [\n { match: 'strings' },\n {\n match: 'objectValues',\n pathPattern: '^base$'\n }\n ]\n ]\n ]\n }\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport process from 'node:process'\n\nimport parser from '@typescript-eslint/parser'\n\nimport { GLOB_TS, GLOB_TSX } from '../globs'\nimport { typescriptPlugin } from '../plugins'\n\nexport const typescript = (tsconfigRootDir: string = process.cwd(), overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/typescript/setup',\n files: [GLOB_TS, GLOB_TSX],\n languageOptions: {\n parser,\n parserOptions: {\n projectService: true,\n tsconfigRootDir\n },\n sourceType: 'module'\n },\n plugins: {\n '@typescript-eslint': typescriptPlugin\n }\n },\n {\n name: 'nelsonlaidev/typescript/rules',\n files: [GLOB_TS, GLOB_TSX],\n rules: {\n ...typescriptPlugin.configs['eslint-recommended'].overrides[0].rules,\n ...typescriptPlugin.configs['strict-type-checked'].rules,\n ...typescriptPlugin.configs['stylistic-type-checked'].rules,\n\n '@typescript-eslint/array-type': ['error', { default: 'array-simple' }],\n '@typescript-eslint/no-invalid-this': 'error',\n '@typescript-eslint/no-shadow': 'error',\n '@typescript-eslint/consistent-type-imports': [\n 'error',\n {\n prefer: 'type-imports',\n fixStyle: 'inline-type-imports'\n }\n ],\n '@typescript-eslint/consistent-type-exports': ['error', { fixMixedExportsWithInlineTypeSpecifier: true }],\n '@typescript-eslint/no-import-type-side-effects': 'error',\n '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],\n '@typescript-eslint/no-misused-promises': ['error', { checksVoidReturn: false }],\n '@typescript-eslint/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-eslint/no-empty-object-type': ['error', { allowInterfaces: 'with-single-extends' }],\n\n // Too opinionated\n '@typescript-eslint/no-floating-promises': 'off',\n '@typescript-eslint/no-unsafe-member-access': 'off',\n '@typescript-eslint/no-unsafe-assignment': 'off',\n '@typescript-eslint/no-non-null-assertion': 'off',\n\n '@typescript-eslint/consistent-type-definitions': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { unicornPlugin } from '../plugins'\n\nexport const unicorn = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/unicorn/rules',\n plugins: {\n unicorn: unicornPlugin\n },\n rules: {\n ...unicornPlugin.configs.recommended.rules,\n\n // Too opinionated\n 'unicorn/prevent-abbreviations': 'off',\n 'unicorn/no-null': 'off',\n\n // Unnecessary\n 'unicorn/no-document-cookie': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { vitestPlugin } from '../plugins'\n\nexport const vitest = (glob: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/vitest/rules',\n files: [glob],\n plugins: {\n vitest: vitestPlugin\n },\n rules: {\n ...vitestPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importZodPlugin } from '../plugins'\n\nexport const zod = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/zod/rules',\n plugins: {\n 'import-zod': importZodPlugin\n },\n rules: {\n 'import-zod/prefer-zod-namespace': 'error',\n\n ...overrides\n }\n }\n]\n","import type { ConfigOptions, FlatConfig } from './types'\n\nimport { isPackageExists } from 'local-pkg'\n\nimport { command } from './configs/command'\nimport { comments } from './configs/comments'\nimport { deMorgan } from './configs/de-morgan'\nimport { gitignore } from './configs/gitignore'\nimport { ignores } from './configs/ignores'\nimport { importSort } from './configs/import-sort'\nimport { imports } from './configs/imports'\nimport { javascript } from './configs/javascript'\nimport { jsx } from './configs/jsx'\nimport { nextjs } from './configs/nextjs'\nimport { node } from './configs/node'\nimport { playwright } from './configs/playwright'\nimport { prettier } from './configs/prettier'\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 isReactInstalled = isPackageExists('react')\nconst isNextjsInstalled = isPackageExists('next')\n\nexport const defineConfig = (options: ConfigOptions = {}, ...userConfigs: FlatConfig[]): FlatConfig[] => {\n const { overrides = {} } = options\n\n const configs = [\n ...gitignore(),\n ...ignores(options.ignores),\n ...javascript(overrides.javascript),\n ...sonarjs(overrides.sonarjs),\n ...importSort(overrides.importSort),\n ...deMorgan(overrides.deMorgan),\n ...comments(overrides.comments),\n ...node(overrides.node),\n ...imports(overrides.imports),\n ...command(),\n ...unicorn(overrides.unicorn),\n ...jsx(overrides.jsx),\n ...typescript(options.tsconfigRootDir, overrides.typescript),\n ...regexp(overrides.regexp),\n ...stylistic(overrides.stylistic),\n ...zod(overrides.zod)\n ]\n\n const isNextjsEnabled = options.nextjs ?? isNextjsInstalled\n const isReactEnabled = (options.react ?? isReactInstalled) || isNextjsEnabled\n\n if (options.vitestGlob) {\n configs.push(...vitest(options.vitestGlob, overrides.vitest))\n }\n\n if (options.playwrightGlob) {\n configs.push(...playwright(options.playwrightGlob, overrides.playwright))\n }\n\n if (isReactEnabled) {\n configs.push(...react(overrides.react))\n }\n\n if (isNextjsEnabled) {\n configs.push(...nextjs(overrides.nextjs))\n }\n\n if (options.tailwindEntryPoint) {\n configs.push(...tailwindcss(options.tailwindEntryPoint, overrides.tailwindcss))\n }\n\n configs.push(...userConfigs)\n\n // Must be added as the last item\n // https://github.com/prettier/eslint-plugin-prettier?tab=readme-ov-file#configuration-new-eslintconfigjs\n // eslint-disable-next-line unicorn/prefer-single-call -- For better readability\n configs.push(...prettier(overrides.prettier))\n\n return configs\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/configs/command.ts","../src/configs/comments.ts","../src/configs/de-morgan.ts","../src/configs/gitignore.ts","../src/configs/ignores.ts","../src/configs/import-sort.ts","../src/configs/imports.ts","../src/configs/javascript.ts","../src/globs.ts","../src/configs/jsx.ts","../src/configs/nextjs.ts","../src/configs/node.ts","../src/configs/playwright.ts","../src/configs/prettier.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":["import type { FlatConfig } from '../types'\n\nimport { commandPlugin } from '../plugins'\n\nexport const command = (): FlatConfig[] => [\n {\n ...commandPlugin(),\n name: 'nelsonlaidev/command/rules'\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { commentsPlugin } from '../plugins'\n\nexport const comments = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/eslint-comments/rules',\n plugins: {\n '@eslint-community/eslint-comments': commentsPlugin\n },\n rules: {\n ...commentsPlugin.configs.recommended.rules,\n\n '@eslint-community/eslint-comments/require-description': 'error',\n '@eslint-community/eslint-comments/no-unused-disable': 'error',\n '@eslint-community/eslint-comments/no-restricted-disable': 'error',\n '@eslint-community/eslint-comments/no-use': [\n 'error',\n { allow: ['eslint-disable-next-line', 'eslint-disable', 'eslint-enable'] }\n ],\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { deMorganPlugin } from '../plugins'\n\nexport const deMorgan = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/de-morgan/rules',\n plugins: {\n 'de-morgan': deMorganPlugin\n },\n rules: {\n ...deMorganPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig } from '../types'\n\nimport gitignorePlugin from 'eslint-config-flat-gitignore'\n\nexport const gitignore = (): FlatConfig[] => [\n gitignorePlugin({\n name: 'nelsonlaidev/gitignore'\n })\n]\n","import type { FlatConfig } from '../types'\n\nexport const ignores = (userIgnores: string[] = []): FlatConfig[] => [\n {\n name: 'nelsonlaidev/ignores',\n ignores: ['**/routeTree.gen.ts', ...userIgnores]\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importSortPlugin } from '../plugins'\n\nexport const importSort = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/import-sort/rules',\n plugins: {\n 'import-sort': importSortPlugin\n },\n rules: {\n 'import-sort/imports': [\n 'error',\n {\n groups: [\n // Type imports\n [\n String.raw`^.*\\u0000$`,\n String.raw`^node:.*\\u0000$`,\n String.raw`^@?\\w.*\\u0000$`,\n String.raw`^\\.\\..*\\u0000$`,\n String.raw`^\\..*\\u0000$`\n ],\n\n // Side effect imports (e.g., `import 'some-module'`)\n [String.raw`^\\u0000`],\n\n // Node.js builtins prefixed with `node:`\n ['^node:'],\n\n // Things that start with a letter (or digit or underscore), or `@` followed by a letter\n [String.raw`^@?\\w`],\n\n // Absolute imports (e.g., `import something from 'src/utils'`)\n ['^[^.]'],\n\n // Parent directory relative imports (e.g., `import something from '../utils'`)\n [String.raw`^\\.\\.`],\n\n // Current directory relative imports (e.g., `import something from './utils'`)\n [String.raw`^\\.`]\n ]\n }\n ],\n 'import-sort/exports': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importLitePlugin } from '../plugins'\n\nexport const imports = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/imports/rules',\n plugins: {\n 'import-lite': importLitePlugin\n },\n rules: {\n 'import-lite/first': 'error',\n 'import-lite/newline-after-import': ['error', { count: 1 }],\n 'import-lite/no-duplicates': 'error',\n 'import-lite/no-mutable-exports': 'error',\n 'import-lite/no-named-default': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport eslint from '@eslint/js'\nimport globals from 'globals'\n\nimport { unusedImportsPlugin } from '../plugins'\n\nexport const javascript = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/javascript/setup',\n languageOptions: {\n ecmaVersion: 2022,\n globals: {\n ...globals.browser,\n ...globals.es2021,\n ...globals.node,\n document: 'readonly',\n navigator: 'readonly',\n window: 'readonly'\n },\n parserOptions: {\n ecmaFeatures: {\n jsx: true\n },\n ecmaVersion: 2022,\n sourceType: 'module'\n },\n sourceType: 'module'\n },\n linterOptions: {\n reportUnusedDisableDirectives: 'error',\n reportUnusedInlineConfigs: 'error'\n }\n },\n {\n name: 'nelsonlaidev/javascript/rules',\n plugins: {\n 'unused-imports': unusedImportsPlugin\n },\n rules: {\n ...eslint.configs.recommended.rules,\n\n // Recommended to disable\n // https://github.com/sweepline/eslint-plugin-unused-imports?tab=readme-ov-file#usage\n 'no-unused-vars': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_'\n }\n ],\n\n ...overrides\n }\n }\n]\n","export const GLOB_SRC_EXT = '?([cm])[jt]s?(x)'\nexport const GLOB_SRC = '**/*.?([cm])[jt]s?(x)'\n\nexport const GLOB_JS = '**/*.?([cm])js'\nexport const GLOB_JSX = '**/*.?([cm])jsx'\n\nexport const GLOB_TS = '**/*.?([cm])ts'\nexport const GLOB_TSX = '**/*.?([cm])tsx'\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { GLOB_JSX, GLOB_TSX } from '../globs'\nimport { jsxA11yPlugin } from '../plugins'\n\nexport const jsx = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/jsx/setup',\n files: [GLOB_JSX, GLOB_TSX],\n languageOptions: {\n parserOptions: {\n ecmaFeatures: {\n jsx: true\n }\n }\n }\n },\n {\n name: 'nelsonlaidev/jsx/rules',\n files: [GLOB_JSX, GLOB_TSX],\n plugins: {\n 'jsx-a11y': jsxA11yPlugin\n },\n rules: {\n ...jsxA11yPlugin.flatConfigs.strict.rules,\n\n 'jsx-a11y/anchor-ambiguous-text': 'error',\n 'jsx-a11y/lang': 'error',\n 'jsx-a11y/no-aria-hidden-on-focusable': 'error',\n 'jsx-a11y/prefer-tag-over-role': 'error',\n\n ...overrides\n },\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 }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { nextPlugin } from '../plugins'\n\nexport const nextjs = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/nextjs/rules',\n plugins: {\n '@next/next': nextPlugin\n },\n rules: {\n ...nextPlugin.configs['core-web-vitals'].rules,\n\n // Unnecessary\n '@next/next/no-html-link-for-pages': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { nodePlugin } from '../plugins'\n\nexport const node = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/node/rules',\n plugins: {\n n: nodePlugin\n },\n rules: {\n 'n/handle-callback-err': ['error', '^(err|error)$'],\n 'n/no-deprecated-api': 'error',\n 'n/no-exports-assign': 'error',\n 'n/no-new-require': 'error',\n 'n/no-path-concat': 'error',\n 'n/prefer-promises/fs': 'error',\n 'n/process-exit-as-throw': 'error',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport globals from 'globals'\n\nimport { playwrightPlugin } from '../plugins'\n\nexport const playwright = (glob: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/playwright/setup',\n languageOptions: {\n globals: globals['shared-node-browser']\n }\n },\n {\n name: 'nelsonlaidev/playwright/rules',\n files: [glob],\n plugins: {\n playwright: playwrightPlugin\n },\n rules: {\n ...playwrightPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { prettierPlugin, prettierPluginRecommended } from '../plugins'\n\nexport const prettier = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/prettier/rules',\n plugins: {\n prettier: prettierPlugin\n },\n rules: {\n ...prettierPluginRecommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { GLOB_SRC } from '../globs'\nimport { reactHooksPlugin, reactPlugin } from '../plugins'\n\nexport const react = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/react/rules',\n files: [GLOB_SRC],\n plugins: {\n ...reactPlugin.configs.all.plugins,\n 'react-hooks': reactHooksPlugin\n },\n rules: {\n ...reactPlugin.configs.all.rules,\n ...reactHooksPlugin.configs['recommended-latest'].rules,\n\n '@eslint-react/naming-convention/filename': [\n 'error',\n {\n rule: 'kebab-case',\n excepts: ['index', String.raw`/^_/`, String.raw`/^\\$/`, String.raw`/^[0-9]+$/`, String.raw`/^\\[[^\\]]+\\]$/`]\n }\n ],\n\n // Unnecessary\n '@eslint-react/no-complex-conditional-rendering': 'off',\n '@eslint-react/no-array-index-key': 'off',\n '@eslint-react/naming-convention/use-state': 'off',\n '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect': 'off',\n 'react-hooks/set-state-in-effect': 'off',\n 'react-hooks/static-components': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { regexpPlugin } from '../plugins'\n\nexport const regexp = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/regexp/rules',\n plugins: {\n regexp: regexpPlugin\n },\n rules: {\n ...regexpPlugin.configs['flat/recommended'].rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { sonarjsPlugin } from '../plugins'\n\nexport const sonarjs = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/sonarjs/rules',\n plugins: {\n sonarjs: sonarjsPlugin\n },\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\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { stylisticPlugin } from '../plugins'\n\nexport const stylistic = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/stylistic/rules',\n plugins: {\n '@stylistic': stylisticPlugin\n },\n rules: {\n '@stylistic/multiline-comment-style': ['error', 'separate-lines'],\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { tailwindcssPlugin } from '../plugins'\n\nexport const tailwindcss = (entryPoint: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/tailwindcss/rules',\n plugins: {\n 'better-tailwindcss': tailwindcssPlugin\n },\n rules: {\n 'better-tailwindcss/enforce-consistent-class-order': 'error',\n 'better-tailwindcss/enforce-consistent-important-position': 'error',\n 'better-tailwindcss/enforce-consistent-variable-syntax': 'error',\n 'better-tailwindcss/enforce-shorthand-classes': 'error',\n 'better-tailwindcss/no-conflicting-classes': 'error',\n 'better-tailwindcss/no-deprecated-classes': 'error',\n 'better-tailwindcss/no-duplicate-classes': 'error',\n 'better-tailwindcss/no-unnecessary-whitespace': 'error',\n 'better-tailwindcss/no-unregistered-classes': 'error',\n\n ...overrides\n },\n settings: {\n 'better-tailwindcss': {\n entryPoint,\n callees: [\n [\n 'cva',\n [\n { match: 'strings' },\n {\n match: 'objectValues',\n pathPattern: '^base$'\n }\n ]\n ]\n ]\n }\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport process from 'node:process'\n\nimport parser from '@typescript-eslint/parser'\n\nimport { GLOB_TS, GLOB_TSX } from '../globs'\nimport { typescriptPlugin } from '../plugins'\n\nexport const typescript = (tsconfigRootDir: string = process.cwd(), overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/typescript/setup',\n files: [GLOB_TS, GLOB_TSX],\n languageOptions: {\n parser,\n parserOptions: {\n projectService: true,\n tsconfigRootDir\n },\n sourceType: 'module'\n },\n plugins: {\n '@typescript-eslint': typescriptPlugin\n }\n },\n {\n name: 'nelsonlaidev/typescript/rules',\n files: [GLOB_TS, GLOB_TSX],\n rules: {\n ...typescriptPlugin.configs['eslint-recommended'].overrides[0].rules,\n ...typescriptPlugin.configs['strict-type-checked'].rules,\n ...typescriptPlugin.configs['stylistic-type-checked'].rules,\n\n '@typescript-eslint/array-type': ['error', { default: 'array-simple' }],\n '@typescript-eslint/no-invalid-this': 'error',\n '@typescript-eslint/no-shadow': 'error',\n '@typescript-eslint/consistent-type-imports': [\n 'error',\n {\n prefer: 'type-imports',\n fixStyle: 'inline-type-imports'\n }\n ],\n '@typescript-eslint/consistent-type-exports': ['error', { fixMixedExportsWithInlineTypeSpecifier: true }],\n '@typescript-eslint/no-import-type-side-effects': 'error',\n '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],\n '@typescript-eslint/no-misused-promises': ['error', { checksVoidReturn: false }],\n '@typescript-eslint/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-eslint/no-empty-object-type': ['error', { allowInterfaces: 'with-single-extends' }],\n\n // Too opinionated\n '@typescript-eslint/no-floating-promises': 'off',\n '@typescript-eslint/no-unsafe-member-access': 'off',\n '@typescript-eslint/no-unsafe-assignment': 'off',\n '@typescript-eslint/no-non-null-assertion': 'off',\n\n '@typescript-eslint/consistent-type-definitions': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { unicornPlugin } from '../plugins'\n\nexport const unicorn = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/unicorn/rules',\n plugins: {\n unicorn: unicornPlugin\n },\n rules: {\n ...unicornPlugin.configs.recommended.rules,\n\n // Too opinionated\n 'unicorn/prevent-abbreviations': 'off',\n 'unicorn/no-null': 'off',\n\n // Unnecessary\n 'unicorn/no-document-cookie': 'off',\n 'unicorn/prefer-string-raw': 'off',\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { vitestPlugin } from '../plugins'\n\nexport const vitest = (glob: string, overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/vitest/rules',\n files: [glob],\n plugins: {\n vitest: vitestPlugin\n },\n rules: {\n ...vitestPlugin.configs.recommended.rules,\n\n ...overrides\n }\n }\n]\n","import type { FlatConfig, RuleOverrides } from '../types'\n\nimport { importZodPlugin } from '../plugins'\n\nexport const zod = (overrides?: RuleOverrides): FlatConfig[] => [\n {\n name: 'nelsonlaidev/zod/rules',\n plugins: {\n 'import-zod': importZodPlugin\n },\n rules: {\n 'import-zod/prefer-zod-namespace': 'error',\n\n ...overrides\n }\n }\n]\n","import type { ConfigOptions, FlatConfig } from './types'\n\nimport { isPackageExists } from 'local-pkg'\n\nimport { command } from './configs/command'\nimport { comments } from './configs/comments'\nimport { deMorgan } from './configs/de-morgan'\nimport { gitignore } from './configs/gitignore'\nimport { ignores } from './configs/ignores'\nimport { importSort } from './configs/import-sort'\nimport { imports } from './configs/imports'\nimport { javascript } from './configs/javascript'\nimport { jsx } from './configs/jsx'\nimport { nextjs } from './configs/nextjs'\nimport { node } from './configs/node'\nimport { playwright } from './configs/playwright'\nimport { prettier } from './configs/prettier'\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 isReactInstalled = isPackageExists('react')\nconst isNextjsInstalled = isPackageExists('next')\n\nexport const defineConfig = (options: ConfigOptions = {}, ...userConfigs: FlatConfig[]): FlatConfig[] => {\n const { overrides = {} } = options\n\n const configs = [\n ...gitignore(),\n ...ignores(options.ignores),\n ...javascript(overrides.javascript),\n ...sonarjs(overrides.sonarjs),\n ...importSort(overrides.importSort),\n ...deMorgan(overrides.deMorgan),\n ...comments(overrides.comments),\n ...node(overrides.node),\n ...imports(overrides.imports),\n ...command(),\n ...unicorn(overrides.unicorn),\n ...jsx(overrides.jsx),\n ...typescript(options.tsconfigRootDir, overrides.typescript),\n ...regexp(overrides.regexp),\n ...stylistic(overrides.stylistic),\n ...zod(overrides.zod)\n ]\n\n const isNextjsEnabled = options.nextjs ?? isNextjsInstalled\n const isReactEnabled = (options.react ?? isReactInstalled) || isNextjsEnabled\n\n if (options.vitestGlob) {\n configs.push(...vitest(options.vitestGlob, overrides.vitest))\n }\n\n if (options.playwrightGlob) {\n configs.push(...playwright(options.playwrightGlob, overrides.playwright))\n }\n\n if (isReactEnabled) {\n configs.push(...react(overrides.react))\n }\n\n if (isNextjsEnabled) {\n configs.push(...nextjs(overrides.nextjs))\n }\n\n if (options.tailwindEntryPoint) {\n configs.push(...tailwindcss(options.tailwindEntryPoint, overrides.tailwindcss))\n }\n\n configs.push(...userConfigs)\n\n // Must be added as the last item\n // https://github.com/prettier/eslint-plugin-prettier?tab=readme-ov-file#configuration-new-eslintconfigjs\n // eslint-disable-next-line unicorn/prefer-single-call -- For better readability\n configs.push(...prettier(overrides.prettier))\n\n return configs\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nelsonlaidev/eslint-config",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
4
4
  "homepage": "https://github.com/nelsonlaidev/config/blob/main/packages/eslint-config/README.md",
5
5
  "bugs": {
6
6
  "url": "https://github.com/nelsonlaidev/config/issues"