@tarsilla/eslint-config 1.2.1 → 1.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/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/library/index.cjs +1 -1
- package/lib/library/index.cjs.map +1 -1
- package/lib/library/index.d.ts +2 -1
- package/lib/library/index.mjs +1 -1
- package/lib/library/index.mjs.map +1 -1
- package/lib/next/index.cjs +1 -1
- package/lib/next/index.cjs.map +1 -1
- package/lib/next/index.d.ts +2 -1
- package/lib/next/index.mjs +1 -1
- package/lib/next/index.mjs.map +1 -1
- package/lib/react/index.cjs +1 -1
- package/lib/react/index.cjs.map +1 -1
- package/lib/react/index.d.ts +2 -1
- package/lib/react/index.mjs +1 -1
- package/lib/react/index.mjs.map +1 -1
- package/lib/storybook/index.cjs +1 -1
- package/lib/storybook/index.cjs.map +1 -1
- package/lib/storybook/index.d.ts +2 -1
- package/lib/storybook/index.mjs +1 -1
- package/lib/storybook/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/commons/all.ts +26 -24
- package/src/library/eslintLibraryConfig.ts +2 -2
- package/src/next/eslintNextConfig.ts +2 -2
- package/src/react/eslintReactConfig.ts +2 -2
- package/src/storybook/eslintStorybookConfig.ts +2 -2
- package/src/types/EslintOptions.ts +1 -0
package/lib/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("eslint/config"),r=require("@eslint/js"),s=require("globals"),t=require("typescript-eslint"),i=require("eslint-plugin-jest"),n=require("eslint-plugin-perfectionist"),o=require("eslint-plugin-prettier/recommended"),a=require("eslint-plugin-react-hooks"),l=require("eslint-plugin-unused-imports"),
|
|
1
|
+
"use strict";var e=require("eslint/config"),r=require("@eslint/js"),s=require("globals"),t=require("typescript-eslint"),i=require("eslint-plugin-jest"),n=require("eslint-plugin-perfectionist"),o=require("eslint-plugin-prettier/recommended"),a=require("eslint-plugin-react-hooks"),l=require("eslint-plugin-unused-imports"),c=require("@next/eslint-plugin-next"),p=require("eslint-plugin-react-x"),u=require("eslint-plugin-storybook");function g(i){return e.defineConfig([r.configs.recommended,...t.configs.strictTypeChecked,...t.configs.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:i}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}const f=e.defineConfig({extends:[t.configs.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),d=e.defineConfig({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),m=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),y=e.defineConfig({plugins:{perfectionist:n},rules:Object.fromEntries(Object.keys(n.rules??{}).map(e=>[`perfectionist/${e}`,m.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),C=e.defineConfig([o,{rules:{...o.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),b=e.defineConfig({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":a},rules:{...a.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),x=e.defineConfig({plugins:{"unused-imports":l},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});exports.eslintLibraryConfig=function({ignores:r,tsconfigRootDir:s}){return e.defineConfig(e.globalIgnores(r),...g(s),...x,...y,...f,...d,...C)},exports.eslintNextConfig=function({ignores:r,tsconfigRootDir:t}){return e.defineConfig(e.globalIgnores(r),{languageOptions:{globals:{...s.browser}}},...g(t),c.configs["core-web-vitals"],...b,...x,...y,...f,...d,...C)},exports.eslintReactConfig=function({ignores:r,tsconfigRootDir:t}){return e.defineConfig(e.globalIgnores(r),{languageOptions:{globals:{...s.browser}}},...g(t),{files:["**/*.{jsx,tsx}"],...p.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...b,...x,...y,...f,...d,...C)},exports.eslintStorybookConfig=function({ignores:r,tsconfigRootDir:t}){return e.defineConfig(e.globalIgnores(r),{languageOptions:{globals:{...s.browser}}},...g(t),{files:["**/*.{jsx,tsx}"],...p.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...b,...x,...y,...f,...d,...C,...u.configs["flat/recommended"])};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/lib/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/commons/all.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/perfectionist.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/unusedImports.ts","../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts","../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores","browser","nextPlugin","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/commons/all.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/perfectionist.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/unusedImports.ts","../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts","../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig(tsconfigRootDir),\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","tsconfigRootDir","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores","browser","nextPlugin","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -2,15 +2,16 @@ import * as eslint_config from 'eslint/config';
|
|
|
2
2
|
|
|
3
3
|
type EslintOptions = {
|
|
4
4
|
ignores: string[];
|
|
5
|
+
tsconfigRootDir: string;
|
|
5
6
|
};
|
|
6
7
|
|
|
7
|
-
declare function eslintLibraryConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
8
|
+
declare function eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
8
9
|
|
|
9
|
-
declare function eslintNextConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
10
|
+
declare function eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
10
11
|
|
|
11
|
-
declare function eslintReactConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
12
|
+
declare function eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
12
13
|
|
|
13
|
-
declare function eslintStorybookConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
14
|
+
declare function eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
14
15
|
|
|
15
16
|
export { eslintLibraryConfig, eslintNextConfig, eslintReactConfig, eslintStorybookConfig };
|
|
16
17
|
export type { EslintOptions };
|
package/lib/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"@eslint/js";import s from"globals";import{configs as
|
|
1
|
+
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"@eslint/js";import s from"globals";import{configs as o}from"typescript-eslint";import i from"eslint-plugin-jest";import n from"eslint-plugin-perfectionist";import a from"eslint-plugin-prettier/recommended";import l from"eslint-plugin-react-hooks";import p from"eslint-plugin-unused-imports";import c from"@next/eslint-plugin-next";import u from"eslint-plugin-react-x";import m from"eslint-plugin-storybook";function g(r){return e([t.configs.recommended,...o.strictTypeChecked,...o.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:r}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}const f=e({extends:[o.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),d=e({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),y=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),b=e({plugins:{perfectionist:n},rules:Object.fromEntries(Object.keys(n.rules??{}).map(e=>[`perfectionist/${e}`,y.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),h=e([a,{rules:{...a.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),x=e({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":l},rules:{...l.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),C=e({plugins:{"unused-imports":p},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});function j({ignores:t,tsconfigRootDir:s}){return e(r(t),...g(s),...C,...b,...f,...d,...h)}function v({ignores:t,tsconfigRootDir:o}){return e(r(t),{languageOptions:{globals:{...s.browser}}},...g(o),c.configs["core-web-vitals"],...x,...C,...b,...f,...d,...h)}function k({ignores:t,tsconfigRootDir:o}){return e(r(t),{languageOptions:{globals:{...s.browser}}},...g(o),{files:["**/*.{jsx,tsx}"],...u.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...x,...C,...b,...f,...d,...h)}function w({ignores:t,tsconfigRootDir:o}){return e(r(t),{languageOptions:{globals:{...s.browser}}},...g(o),{files:["**/*.{jsx,tsx}"],...u.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...x,...C,...b,...f,...d,...h,...m.configs["flat/recommended"])}export{j as eslintLibraryConfig,v as eslintNextConfig,k as eslintReactConfig,w as eslintStorybookConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/commons/all.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/perfectionist.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/unusedImports.ts","../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts","../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintLibraryConfig","ignores","globalIgnores","eslintNextConfig","browser","nextPlugin","eslintReactConfig","reactPlugin","react","version","eslintStorybookConfig","storybookPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/commons/all.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/perfectionist.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/unusedImports.ts","../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts","../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig(tsconfigRootDir),\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","tsconfigRootDir","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintLibraryConfig","ignores","globalIgnores","eslintNextConfig","browser","nextPlugin","eslintReactConfig","reactPlugin","react","version","eslintStorybookConfig","storybookPlugin"],"mappings":"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"}
|
package/lib/library/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("eslint/config"),r=require("@eslint/js"),s=require("globals"),t=require("typescript-eslint"),i=require("eslint-plugin-jest"),n=require("eslint-plugin-perfectionist"),o=require("eslint-plugin-prettier/recommended"),a=require("eslint-plugin-react-hooks"),l=require("eslint-plugin-unused-imports");const p=e.defineConfig(
|
|
1
|
+
"use strict";var e=require("eslint/config"),r=require("@eslint/js"),s=require("globals"),t=require("typescript-eslint"),i=require("eslint-plugin-jest"),n=require("eslint-plugin-perfectionist"),o=require("eslint-plugin-prettier/recommended"),a=require("eslint-plugin-react-hooks"),l=require("eslint-plugin-unused-imports");const p=e.defineConfig({extends:[t.configs.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),c=e.defineConfig({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),u=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),f=e.defineConfig({plugins:{perfectionist:n},rules:Object.fromEntries(Object.keys(n.rules??{}).map(e=>[`perfectionist/${e}`,u.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),g=e.defineConfig([o,{rules:{...o.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]);e.defineConfig({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":a},rules:{...a.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}});const d=e.defineConfig({plugins:{"unused-imports":l},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});exports.eslintLibraryConfig=function({ignores:i,tsconfigRootDir:n}){return e.defineConfig(e.globalIgnores(i),...function(i){return e.defineConfig([r.configs.recommended,...t.configs.strictTypeChecked,...t.configs.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:i}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(n),...d,...f,...p,...c,...g)};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig(tsconfigRootDir),\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","ignores","tsconfigRootDir","globalIgnores","js","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig"],"mappings":"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"}
|
package/lib/library/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import * as eslint_config from 'eslint/config';
|
|
|
2
2
|
|
|
3
3
|
type EslintOptions = {
|
|
4
4
|
ignores: string[];
|
|
5
|
+
tsconfigRootDir: string;
|
|
5
6
|
};
|
|
6
7
|
|
|
7
|
-
declare function eslintLibraryConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
8
|
+
declare function eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
8
9
|
|
|
9
10
|
export { eslintLibraryConfig };
|
package/lib/library/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"@eslint/js";import s from"globals";import{configs as i}from"typescript-eslint";import o from"eslint-plugin-jest";import n from"eslint-plugin-perfectionist";import a from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import l from"eslint-plugin-unused-imports";const c=e(
|
|
1
|
+
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"@eslint/js";import s from"globals";import{configs as i}from"typescript-eslint";import o from"eslint-plugin-jest";import n from"eslint-plugin-perfectionist";import a from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import l from"eslint-plugin-unused-imports";const c=e({extends:[i.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),u=e({files:["**/*.test.{js,ts,jsx,tsx}"],...o.configs["flat/recommended"]}),m=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),d=e({plugins:{perfectionist:n},rules:Object.fromEntries(Object.keys(n.rules??{}).map(e=>[`perfectionist/${e}`,m.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),f=e([a,{rules:{...a.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]);e({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":p},rules:{...p.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}});const g=e({plugins:{"unused-imports":l},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});function y({ignores:o,tsconfigRootDir:n}){return e(r(o),...function(r){return e([t.configs.recommended,...i.strictTypeChecked,...i.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:r}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(n),...g,...d,...c,...u,...f)}export{y as eslintLibraryConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintLibraryConfig","ignores","globalIgnores"],"mappings":"iXAKA,MAAMA,EAAYC,EAAa,CAC7BC,EAAGC,QAAQC,eACRD,EAAQE,qBACRF,EAAQG,qBACX,CACEC,gBAAiB,CACfC,QAAS,IACJA,EAAQC,WACRD,EAAQE,UACRF,EAAQG,MAEbC,cAAe,CACbC,YAAa,SACbC,SAAS,EACTC,WAAY,SACZC,gBAAiB,OAGrBC,MAAO,CACL,eAAgB,MAChB,iBAAkB,MAClB,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,MACrD,oCAAqC,UCzBrCC,EAAmBjB,EAAa,CACpCkB,QAAS,CAAChB,EAAQiB,oBAClBC,MAAO,CAAC,2BCFJC,EAAarB,EAAa,CAC9BoB,MAAO,CAAC,gCACLE,EAAKpB,QAAQ,sBCDZqB,EAAyB,IAAIC,IAAwB,CACzD,CACE,cACA,CACE,QACA,CACEC,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBC,mBAAoB,CAClBC,mBAAoB,uCAK5B,CACE,eACA,CACE,QACA,CACEJ,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,eACA,CACE,QACA,CACEC,aAAc,CACZ,CACEC,mBAAoB,mBACpBC,UAAW,cAGfC,OAAQ,CACN,cACA,gBACA,iBACA,YACA,iBACA,CAAC,cAAe,eAAgB,cAChC,CAAC,eAAgB,gBAAiB,eAClC,mBACA,WAEFT,YAAY,EACZU,gBAAiB,EACjBT,MAAO,MACPC,kBAAmB,OACnBS,SAAU,CACRC,QAAS,KAEXP,KAAM,kBAIZ,CACE,qBACA,CACE,QACA,CACEL,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,qBACA,CACE,QACA,CACEL,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,mBACA,CACE,QACA,CACEI,OAAQ,CACN,cACA,WACA,SACA,eACA,UACA,UACA,QACA,SACA,WACA,QACA,QACA,WAEFT,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,oBAMRQ,EAAgBtC,EAAa,CACjCuC,QAAS,CACPD,cAAeE,GAEjBxB,MAAOyB,OAAOC,YACZD,OAAOE,KAAKH,EAAoBxB,OAAS,CAAA,GAAI4B,IAAKC,GAEzC,CACL,iBAAiBA,IAFFtB,EAAuBuB,IAAID,IAG9B,CACV,QACA,CACEpB,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,sBChIZiB,EAAiB/C,EAAa,CAClCgD,EACA,CACEhC,MAAO,IACFgC,EAAoBhC,MACvB,oBAAqB,CACnB,QACA,CACEiC,gBAAgB,EAChBC,WAAY,IACZC,MAAM,EACNC,aAAa,EACbC,SAAU,EACVC,cAAe,OAEjB,CACEC,gBAAiB,CACfC,iBAAiB,GAEnBC,eAAe,QCnBAzD,EAAa,CACpCoB,MAAO,CAAC,kBACRmB,QAAS,CACP,cAAemB,GAEjB1C,MAAO,IACF0C,EAAWxD,QAAQC,YAAYa,MAClC,uBAAwB,MACxB,2BAA4B,SCRhC,MAAM2C,EAAsB3D,EAAa,CACvCuC,QAAS,CACP,iBAAkBqB,GAEpB5C,MAAO,CACL,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACE6C,KAAM,aACNC,kBAAmB,KACnBC,KAAM,MACNC,kBAAmB,QAIzBC,SAAU,CACR,kBAAmB,CACjBvD,MAAM,EACNwD,YAAY,MCVlB,SAASC,GAAoBC,QAAEA,IAC7B,OAAOpE,EACLqE,EAAcD,MACXrE,KACA4D,KACArB,KACArB,KACAI,KACA0B,EAEP"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n ...allConfig(tsconfigRootDir),\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","eslintLibraryConfig","ignores","tsconfigRootDir","globalIgnores","js","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig"],"mappings":"iXAGA,MAAMA,EAAmBC,EAAa,CACpCC,QAAS,CAACC,EAAQC,oBAClBC,MAAO,CAAC,2BCFJC,EAAaL,EAAa,CAC9BI,MAAO,CAAC,gCACLE,EAAKJ,QAAQ,sBCDZK,EAAyB,IAAIC,IAAwB,CACzD,CACE,cACA,CACE,QACA,CACEC,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBC,mBAAoB,CAClBC,mBAAoB,uCAK5B,CACE,eACA,CACE,QACA,CACEJ,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,eACA,CACE,QACA,CACEC,aAAc,CACZ,CACEC,mBAAoB,mBACpBC,UAAW,cAGfC,OAAQ,CACN,cACA,gBACA,iBACA,YACA,iBACA,CAAC,cAAe,eAAgB,cAChC,CAAC,eAAgB,gBAAiB,eAClC,mBACA,WAEFT,YAAY,EACZU,gBAAiB,EACjBT,MAAO,MACPC,kBAAmB,OACnBS,SAAU,CACRC,QAAS,KAEXP,KAAM,kBAIZ,CACE,qBACA,CACE,QACA,CACEL,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,qBACA,CACE,QACA,CACEL,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,kBAIZ,CACE,mBACA,CACE,QACA,CACEI,OAAQ,CACN,cACA,WACA,SACA,eACA,UACA,UACA,QACA,SACA,WACA,QACA,QACA,WAEFT,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,oBAMRQ,EAAgBtB,EAAa,CACjCuB,QAAS,CACPD,cAAeE,GAEjBC,MAAOC,OAAOC,YACZD,OAAOE,KAAKJ,EAAoBC,OAAS,CAAA,GAAII,IAAKC,GAEzC,CACL,iBAAiBA,IAFFvB,EAAuBwB,IAAID,IAG9B,CACV,QACA,CACErB,YAAY,EACZC,MAAO,MACPC,kBAAmB,OACnBG,KAAM,sBChIZkB,EAAiBhC,EAAa,CAClCiC,EACA,CACER,MAAO,IACFQ,EAAoBR,MACvB,oBAAqB,CACnB,QACA,CACES,gBAAgB,EAChBC,WAAY,IACZC,MAAM,EACNC,aAAa,EACbC,SAAU,EACVC,cAAe,OAEjB,CACEC,gBAAiB,CACfC,iBAAiB,GAEnBC,eAAe,QCnBA1C,EAAa,CACpCI,MAAO,CAAC,kBACRmB,QAAS,CACP,cAAeoB,GAEjBlB,MAAO,IACFkB,EAAWzC,QAAQ0C,YAAYnB,MAClC,uBAAwB,MACxB,2BAA4B,SCRhC,MAAMoB,EAAsB7C,EAAa,CACvCuB,QAAS,CACP,iBAAkBuB,GAEpBrB,MAAO,CACL,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEsB,KAAM,aACNC,kBAAmB,KACnBC,KAAM,MACNC,kBAAmB,QAIzBC,SAAU,CACR,kBAAmB,CACjBC,MAAM,EACNC,YAAY,MCVlB,SAASC,GAAoBC,QAAEA,EAAOC,gBAAEA,IACtC,OAAOxD,EACLyD,EAAcF,MCTlB,SAAmBC,GACjB,OAAOxD,EAAa,CAClB0D,EAAGxD,QAAQ0C,eACR1C,EAAQyD,qBACRzD,EAAQ0D,qBACX,CACEC,gBAAiB,CACfC,QAAS,IACJA,EAAQC,WACRD,EAAQE,UACRF,EAAQV,MAEba,cAAe,CACbC,YAAa,SACbC,SAAS,EACTC,WAAY,SACZZ,oBAGJ/B,MAAO,CACL,eAAgB,MAChB,iBAAkB,MAClB,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,MACrD,oCAAqC,SAI7C,CDlBO4C,CAAUb,MACVX,KACAvB,KACAvB,KACAM,KACA2B,EAEP"}
|
package/lib/next/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("eslint/config"),r=require("globals"),s=require("@next/eslint-plugin-next"),t=require("@eslint/js"),i=require("typescript-eslint"),n=require("eslint-plugin-jest"),o=require("eslint-plugin-perfectionist"),a=require("eslint-plugin-prettier/recommended"),l=require("eslint-plugin-react-hooks"),p=require("eslint-plugin-unused-imports");const c=e.defineConfig(
|
|
1
|
+
"use strict";var e=require("eslint/config"),r=require("globals"),s=require("@next/eslint-plugin-next"),t=require("@eslint/js"),i=require("typescript-eslint"),n=require("eslint-plugin-jest"),o=require("eslint-plugin-perfectionist"),a=require("eslint-plugin-prettier/recommended"),l=require("eslint-plugin-react-hooks"),p=require("eslint-plugin-unused-imports");const c=e.defineConfig({extends:[i.configs.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),u=e.defineConfig({files:["**/*.test.{js,ts,jsx,tsx}"],...n.configs["flat/recommended"]}),g=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),f=e.defineConfig({plugins:{perfectionist:o},rules:Object.fromEntries(Object.keys(o.rules??{}).map(e=>[`perfectionist/${e}`,g.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),d=e.defineConfig([a,{rules:{...a.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),m=e.defineConfig({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":l},rules:{...l.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),y=e.defineConfig({plugins:{"unused-imports":p},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});exports.eslintNextConfig=function({ignores:n,tsconfigRootDir:o}){return e.defineConfig(e.globalIgnores(n),{languageOptions:{globals:{...r.browser}}},...function(s){return e.defineConfig([t.configs.recommended,...i.configs.strictTypeChecked,...i.configs.stylisticTypeChecked,{languageOptions:{globals:{...r.builtin,...r.es2026,...r.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:s}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(o),s.configs["core-web-vitals"],...m,...y,...f,...c,...u,...d)};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/lib/next/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores","browser","nextPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","nextPlugin"],"mappings":"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"}
|
package/lib/next/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import * as eslint_config from 'eslint/config';
|
|
|
2
2
|
|
|
3
3
|
type EslintOptions = {
|
|
4
4
|
ignores: string[];
|
|
5
|
+
tsconfigRootDir: string;
|
|
5
6
|
};
|
|
6
7
|
|
|
7
|
-
declare function eslintNextConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
8
|
+
declare function eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
8
9
|
|
|
9
10
|
export { eslintNextConfig };
|
package/lib/next/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"globals";import s from"@next/eslint-plugin-next";import i from"@eslint/js";import{configs as o}from"typescript-eslint";import n from"eslint-plugin-jest";import a from"eslint-plugin-perfectionist";import l from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import c from"eslint-plugin-unused-imports";const u=e(
|
|
1
|
+
import{defineConfig as e,globalIgnores as r}from"eslint/config";import t from"globals";import s from"@next/eslint-plugin-next";import i from"@eslint/js";import{configs as o}from"typescript-eslint";import n from"eslint-plugin-jest";import a from"eslint-plugin-perfectionist";import l from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import c from"eslint-plugin-unused-imports";const u=e({extends:[o.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),m=e({files:["**/*.test.{js,ts,jsx,tsx}"],...n.configs["flat/recommended"]}),f=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),g=e({plugins:{perfectionist:a},rules:Object.fromEntries(Object.keys(a.rules??{}).map(e=>[`perfectionist/${e}`,f.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),d=e([l,{rules:{...l.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),y=e({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":p},rules:{...p.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),h=e({plugins:{"unused-imports":c},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});function b({ignores:n,tsconfigRootDir:a}){return e(r(n),{languageOptions:{globals:{...t.browser}}},...function(r){return e([i.configs.recommended,...o.strictTypeChecked,...o.stylisticTypeChecked,{languageOptions:{globals:{...t.builtin,...t.es2026,...t.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:r}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(a),s.configs["core-web-vitals"],...y,...h,...g,...u,...m,...d)}export{b as eslintNextConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/lib/next/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintNextConfig","ignores","globalIgnores","browser","nextPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\nimport nextPlugin from '@next/eslint-plugin-next';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n nextPlugin.configs['core-web-vitals'],\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","eslintNextConfig","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","nextPlugin"],"mappings":"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"}
|
package/lib/react/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("eslint-plugin-react-x"),r=require("eslint/config"),s=require("globals"),t=require("@eslint/js"),i=require("typescript-eslint"),n=require("eslint-plugin-jest"),o=require("eslint-plugin-perfectionist"),a=require("eslint-plugin-prettier/recommended"),l=require("eslint-plugin-react-hooks"),p=require("eslint-plugin-unused-imports");const c=r.defineConfig(
|
|
1
|
+
"use strict";var e=require("eslint-plugin-react-x"),r=require("eslint/config"),s=require("globals"),t=require("@eslint/js"),i=require("typescript-eslint"),n=require("eslint-plugin-jest"),o=require("eslint-plugin-perfectionist"),a=require("eslint-plugin-prettier/recommended"),l=require("eslint-plugin-react-hooks"),p=require("eslint-plugin-unused-imports");const c=r.defineConfig({extends:[i.configs.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),u=r.defineConfig({files:["**/*.test.{js,ts,jsx,tsx}"],...n.configs["flat/recommended"]}),g=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),f=r.defineConfig({plugins:{perfectionist:o},rules:Object.fromEntries(Object.keys(o.rules??{}).map(e=>[`perfectionist/${e}`,g.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),d=r.defineConfig([a,{rules:{...a.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),m=r.defineConfig({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":l},rules:{...l.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),y=r.defineConfig({plugins:{"unused-imports":p},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});exports.eslintReactConfig=function({ignores:n,tsconfigRootDir:o}){return r.defineConfig(r.globalIgnores(n),{languageOptions:{globals:{...s.browser}}},...function(e){return r.defineConfig([t.configs.recommended,...i.configs.strictTypeChecked,...i.configs.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:e}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(o),{files:["**/*.{jsx,tsx}"],...e.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...m,...y,...f,...c,...u,...d)};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/lib/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/react/eslintReactConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores","browser","reactPlugin","react","version"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/react/eslintReactConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","reactPlugin","react","version"],"mappings":"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"}
|
package/lib/react/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import * as eslint_config from 'eslint/config';
|
|
|
2
2
|
|
|
3
3
|
type EslintOptions = {
|
|
4
4
|
ignores: string[];
|
|
5
|
+
tsconfigRootDir: string;
|
|
5
6
|
};
|
|
6
7
|
|
|
7
|
-
declare function eslintReactConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
8
|
+
declare function eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
8
9
|
|
|
9
10
|
export { eslintReactConfig };
|
package/lib/react/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"eslint-plugin-react-x";import{defineConfig as r,globalIgnores as t}from"eslint/config";import s from"globals";import i from"@eslint/js";import{configs as o}from"typescript-eslint";import n from"eslint-plugin-jest";import a from"eslint-plugin-perfectionist";import l from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import c from"eslint-plugin-unused-imports";const u=r(
|
|
1
|
+
import e from"eslint-plugin-react-x";import{defineConfig as r,globalIgnores as t}from"eslint/config";import s from"globals";import i from"@eslint/js";import{configs as o}from"typescript-eslint";import n from"eslint-plugin-jest";import a from"eslint-plugin-perfectionist";import l from"eslint-plugin-prettier/recommended";import p from"eslint-plugin-react-hooks";import c from"eslint-plugin-unused-imports";const u=r({extends:[o.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),m=r({files:["**/*.test.{js,ts,jsx,tsx}"],...n.configs["flat/recommended"]}),f=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),g=r({plugins:{perfectionist:a},rules:Object.fromEntries(Object.keys(a.rules??{}).map(e=>[`perfectionist/${e}`,f.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),d=r([l,{rules:{...l.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),y=r({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":p},rules:{...p.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),h=r({plugins:{"unused-imports":c},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});function x({ignores:n,tsconfigRootDir:a}){return r(t(n),{languageOptions:{globals:{...s.browser}}},...function(e){return r([i.configs.recommended,...o.strictTypeChecked,...o.stylisticTypeChecked,{languageOptions:{globals:{...s.builtin,...s.es2026,...s.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:e}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(a),{files:["**/*.{jsx,tsx}"],...e.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...y,...h,...g,...u,...m,...d)}export{x as eslintReactConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/lib/react/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/react/eslintReactConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintReactConfig","ignores","globalIgnores","browser","reactPlugin","react","version"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/react/eslintReactConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","eslintReactConfig","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","reactPlugin","react","version"],"mappings":"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"}
|
package/lib/storybook/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("eslint-plugin-react-x"),r=require("eslint-plugin-storybook"),s=require("eslint/config"),t=require("globals"),i=require("@eslint/js"),n=require("typescript-eslint"),o=require("eslint-plugin-jest"),a=require("eslint-plugin-perfectionist"),l=require("eslint-plugin-prettier/recommended"),p=require("eslint-plugin-react-hooks"),c=require("eslint-plugin-unused-imports");const u=s.defineConfig(
|
|
1
|
+
"use strict";var e=require("eslint-plugin-react-x"),r=require("eslint-plugin-storybook"),s=require("eslint/config"),t=require("globals"),i=require("@eslint/js"),n=require("typescript-eslint"),o=require("eslint-plugin-jest"),a=require("eslint-plugin-perfectionist"),l=require("eslint-plugin-prettier/recommended"),p=require("eslint-plugin-react-hooks"),c=require("eslint-plugin-unused-imports");const u=s.defineConfig({extends:[n.configs.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),g=s.defineConfig({files:["**/*.test.{js,ts,jsx,tsx}"],...o.configs["flat/recommended"]}),f=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),d=s.defineConfig({plugins:{perfectionist:a},rules:Object.fromEntries(Object.keys(a.rules??{}).map(e=>[`perfectionist/${e}`,f.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),m=s.defineConfig([l,{rules:{...l.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),y=s.defineConfig({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":p},rules:{...p.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),C=s.defineConfig({plugins:{"unused-imports":c},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});exports.eslintStorybookConfig=function({ignores:o,tsconfigRootDir:a}){return s.defineConfig(s.globalIgnores(o),{languageOptions:{globals:{...t.browser}}},...function(e){return s.defineConfig([i.configs.recommended,...n.configs.strictTypeChecked,...n.configs.stylisticTypeChecked,{languageOptions:{globals:{...t.builtin,...t.es2026,...t.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:e}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(a),{files:["**/*.{jsx,tsx}"],...e.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...y,...C,...d,...u,...g,...m,...r.configs["flat/recommended"])};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","ignores","globalIgnores","browser","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/storybook/eslintStorybookConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
package/lib/storybook/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import * as eslint_config from 'eslint/config';
|
|
|
2
2
|
|
|
3
3
|
type EslintOptions = {
|
|
4
4
|
ignores: string[];
|
|
5
|
+
tsconfigRootDir: string;
|
|
5
6
|
};
|
|
6
7
|
|
|
7
|
-
declare function eslintStorybookConfig({ ignores }: EslintOptions): eslint_config.Config[];
|
|
8
|
+
declare function eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions): eslint_config.Config[];
|
|
8
9
|
|
|
9
10
|
export { eslintStorybookConfig };
|
package/lib/storybook/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"eslint-plugin-react-x";import r from"eslint-plugin-storybook";import{defineConfig as t,globalIgnores as s}from"eslint/config";import i from"globals";import o from"@eslint/js";import{configs as n}from"typescript-eslint";import a from"eslint-plugin-jest";import l from"eslint-plugin-perfectionist";import p from"eslint-plugin-prettier/recommended";import c from"eslint-plugin-react-hooks";import u from"eslint-plugin-unused-imports";const m=t(
|
|
1
|
+
import e from"eslint-plugin-react-x";import r from"eslint-plugin-storybook";import{defineConfig as t,globalIgnores as s}from"eslint/config";import i from"globals";import o from"@eslint/js";import{configs as n}from"typescript-eslint";import a from"eslint-plugin-jest";import l from"eslint-plugin-perfectionist";import p from"eslint-plugin-prettier/recommended";import c from"eslint-plugin-react-hooks";import u from"eslint-plugin-unused-imports";const m=t({extends:[n.disableTypeChecked],files:["**/*.{cjs,mjs,js,jsx}"]}),f=t({files:["**/*.test.{js,ts,jsx,tsx}"],...a.configs["flat/recommended"]}),g=new Map([["sort-arrays",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",useConfigurationIf:{matchesAstSelector:"TSAsExpression > ArrayExpression"}}]],["sort-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-imports",["error",{customGroups:[{elementNamePattern:"@tarsilla(/.*)?$",groupName:"@tarsilla"}],groups:["type-import","value-builtin","value-external","@tarsilla","value-internal",["type-parent","type-sibling","type-index"],["value-parent","value-sibling","value-index"],"ts-equals-import","unknown"],ignoreCase:!1,newlinesBetween:1,order:"asc",specialCharacters:"trim",tsconfig:{rootDir:"."},type:"alphabetical"}]],["sort-named-exports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-named-imports",["error",{ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]],["sort-union-types",["error",{groups:["conditional","function","import","intersection","keyword","literal","named","object","operator","tuple","union","nullish"],ignoreCase:!1,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]]),d=t({plugins:{perfectionist:l},rules:Object.fromEntries(Object.keys(l.rules??{}).map(e=>[`perfectionist/${e}`,g.get(e)??["error",{ignoreCase:!0,order:"asc",specialCharacters:"trim",type:"alphabetical"}]]))}),y=t([p,{rules:{...p.rules,"prettier/prettier":["error",{jsxSingleQuote:!0,printWidth:120,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"all"},{fileInfoOptions:{withNodeModules:!0},usePrettierrc:!1}]}}]),h=t({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":c},rules:{...c.configs.recommended.rules,"react/jsx-uses-react":"off","react/react-in-jsx-scope":"off"}}),b=t({plugins:{"unused-imports":u},rules:{"unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{args:"after-used",argsIgnorePattern:"^_",vars:"all",varsIgnorePattern:"^_"}]},settings:{"import/resolver":{node:!0,typescript:!0}}});function x({ignores:a,tsconfigRootDir:l}){return t(s(a),{languageOptions:{globals:{...i.browser}}},...function(e){return t([o.configs.recommended,...n.strictTypeChecked,...n.stylisticTypeChecked,{languageOptions:{globals:{...i.builtin,...i.es2026,...i.node},parserOptions:{ecmaVersion:"latest",project:!0,sourceType:"module",tsconfigRootDir:e}},rules:{"import/order":"off","no-unused-vars":"off","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/no-unnecessary-type-parameters":"off","@typescript-eslint/no-unused-vars":"off"}}])}(l),{files:["**/*.{jsx,tsx}"],...e.configs["strict-type-checked"],settings:{react:{version:"detect"}}},...h,...b,...d,...m,...f,...y,...r.configs["flat/recommended"])}export{x as eslintStorybookConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/storybook/eslintStorybookConfig.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nconst allConfig = defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir: './',\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n]);\n\nexport { allConfig };\n","import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig,\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n"],"names":["allConfig","defineConfig","js","configs","recommended","strictTypeChecked","stylisticTypeChecked","languageOptions","globals","builtin","es2026","node","parserOptions","ecmaVersion","project","sourceType","tsconfigRootDir","rules","javascriptConfig","extends","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","typescript","eslintStorybookConfig","ignores","globalIgnores","browser","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/perfectionist.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/unusedImports.ts","../../src/storybook/eslintStorybookConfig.ts","../../src/commons/all.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport { configs } from 'typescript-eslint';\n\nconst javascriptConfig = defineConfig({\n extends: [configs.disableTypeChecked],\n files: ['**/*.{cjs,mjs,js,jsx}'],\n});\n\nexport { javascriptConfig };\n","import jest from 'eslint-plugin-jest';\nimport { defineConfig } from 'eslint/config';\n\nconst jestConfig = defineConfig({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import perfectionistPlugin from 'eslint-plugin-perfectionist';\nimport { defineConfig } from 'eslint/config';\nimport { RuleConfig } from '@eslint/core';\n\nconst perfectionistOverrides = new Map<string, RuleConfig>([\n [\n 'sort-arrays',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n useConfigurationIf: {\n matchesAstSelector: 'TSAsExpression > ArrayExpression',\n },\n },\n ],\n ],\n [\n 'sort-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-imports',\n [\n 'error',\n {\n customGroups: [\n {\n elementNamePattern: '@tarsilla(/.*)?$',\n groupName: '@tarsilla',\n },\n ],\n groups: [\n 'type-import',\n 'value-builtin',\n 'value-external',\n '@tarsilla',\n 'value-internal',\n ['type-parent', 'type-sibling', 'type-index'],\n ['value-parent', 'value-sibling', 'value-index'],\n 'ts-equals-import',\n 'unknown',\n ],\n ignoreCase: false,\n newlinesBetween: 1,\n order: 'asc',\n specialCharacters: 'trim',\n tsconfig: {\n rootDir: '.',\n },\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-exports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-named-imports',\n [\n 'error',\n {\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n [\n 'sort-union-types',\n [\n 'error',\n {\n groups: [\n 'conditional',\n 'function',\n 'import',\n 'intersection',\n 'keyword',\n 'literal',\n 'named',\n 'object',\n 'operator',\n 'tuple',\n 'union',\n 'nullish',\n ],\n ignoreCase: false,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ],\n]);\n\nconst perfectionist = defineConfig({\n plugins: {\n perfectionist: perfectionistPlugin,\n },\n rules: Object.fromEntries(\n Object.keys(perfectionistPlugin.rules ?? {}).map((rule) => {\n const override = perfectionistOverrides.get(rule);\n return [\n `perfectionist/${rule}`,\n override ?? [\n 'error',\n {\n ignoreCase: true,\n order: 'asc',\n specialCharacters: 'trim',\n type: 'alphabetical',\n },\n ],\n ];\n }),\n ),\n});\n\nexport { perfectionist };\n","import prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { defineConfig } from 'eslint/config';\n\nconst prettierConfig = defineConfig([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n jsxSingleQuote: true,\n printWidth: 120,\n semi: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'all',\n },\n {\n fileInfoOptions: {\n withNodeModules: true,\n },\n usePrettierrc: false,\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import reactHooks from 'eslint-plugin-react-hooks';\nimport { defineConfig } from 'eslint/config';\n\nconst reactHooksConfig = defineConfig({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/jsx-uses-react': 'off',\n 'react/react-in-jsx-scope': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import unusedImports from 'eslint-plugin-unused-imports';\nimport { defineConfig } from 'eslint/config';\n\nconst unusedImportsConfig = defineConfig({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n },\n settings: {\n 'import/resolver': {\n node: true,\n typescript: true,\n },\n },\n});\n\nexport { unusedImportsConfig };\n","import reactPlugin from 'eslint-plugin-react-x';\nimport storybookPlugin from 'eslint-plugin-storybook';\nimport { defineConfig, globalIgnores } from 'eslint/config';\nimport globals from 'globals';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n perfectionist,\n prettierConfig,\n reactHooksConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions) {\n return defineConfig(\n globalIgnores(ignores),\n {\n languageOptions: {\n globals: {\n ...globals.browser,\n },\n },\n },\n ...allConfig(tsconfigRootDir),\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs['strict-type-checked'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n },\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...perfectionist,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n ...storybookPlugin.configs['flat/recommended'],\n );\n}\n\nexport { eslintStorybookConfig };\n","import { defineConfig } from 'eslint/config';\nimport js from '@eslint/js';\nimport globals from 'globals';\nimport { configs } from 'typescript-eslint';\n\nfunction allConfig(tsconfigRootDir: string) {\n return defineConfig([\n js.configs.recommended,\n ...configs.strictTypeChecked,\n ...configs.stylisticTypeChecked,\n {\n languageOptions: {\n globals: {\n ...globals.builtin,\n ...globals.es2026,\n ...globals.node,\n },\n parserOptions: {\n ecmaVersion: 'latest',\n project: true,\n sourceType: 'module',\n tsconfigRootDir,\n },\n },\n rules: {\n 'import/order': 'off',\n 'no-unused-vars': 'off',\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/no-unnecessary-type-parameters': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n ]);\n}\n\nexport { allConfig };\n"],"names":["javascriptConfig","defineConfig","extends","configs","disableTypeChecked","files","jestConfig","jest","perfectionistOverrides","Map","ignoreCase","order","specialCharacters","useConfigurationIf","matchesAstSelector","type","customGroups","elementNamePattern","groupName","groups","newlinesBetween","tsconfig","rootDir","perfectionist","plugins","perfectionistPlugin","rules","Object","fromEntries","keys","map","rule","get","prettierConfig","prettierRecommended","jsxSingleQuote","printWidth","semi","singleQuote","tabWidth","trailingComma","fileInfoOptions","withNodeModules","usePrettierrc","reactHooksConfig","reactHooks","recommended","unusedImportsConfig","unusedImports","args","argsIgnorePattern","vars","varsIgnorePattern","settings","node","typescript","eslintStorybookConfig","ignores","tsconfigRootDir","globalIgnores","languageOptions","globals","browser","js","strictTypeChecked","stylisticTypeChecked","builtin","es2026","parserOptions","ecmaVersion","project","sourceType","allConfig","reactPlugin","react","version","storybookPlugin"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commons/all.ts
CHANGED
|
@@ -3,32 +3,34 @@ import js from '@eslint/js';
|
|
|
3
3
|
import globals from 'globals';
|
|
4
4
|
import { configs } from 'typescript-eslint';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
function allConfig(tsconfigRootDir: string) {
|
|
7
|
+
return defineConfig([
|
|
8
|
+
js.configs.recommended,
|
|
9
|
+
...configs.strictTypeChecked,
|
|
10
|
+
...configs.stylisticTypeChecked,
|
|
11
|
+
{
|
|
12
|
+
languageOptions: {
|
|
13
|
+
globals: {
|
|
14
|
+
...globals.builtin,
|
|
15
|
+
...globals.es2026,
|
|
16
|
+
...globals.node,
|
|
17
|
+
},
|
|
18
|
+
parserOptions: {
|
|
19
|
+
ecmaVersion: 'latest',
|
|
20
|
+
project: true,
|
|
21
|
+
sourceType: 'module',
|
|
22
|
+
tsconfigRootDir,
|
|
23
|
+
},
|
|
16
24
|
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
rules: {
|
|
26
|
+
'import/order': 'off',
|
|
27
|
+
'no-unused-vars': 'off',
|
|
28
|
+
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
|
|
29
|
+
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
|
30
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
|
22
31
|
},
|
|
23
32
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'no-unused-vars': 'off',
|
|
27
|
-
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
|
|
28
|
-
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
|
29
|
-
'@typescript-eslint/no-unused-vars': 'off',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
]);
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
33
35
|
|
|
34
36
|
export { allConfig };
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
} from '../commons/index.js';
|
|
11
11
|
import { EslintOptions } from '../types/index.js';
|
|
12
12
|
|
|
13
|
-
function eslintLibraryConfig({ ignores }: EslintOptions) {
|
|
13
|
+
function eslintLibraryConfig({ ignores, tsconfigRootDir }: EslintOptions) {
|
|
14
14
|
return defineConfig(
|
|
15
15
|
globalIgnores(ignores),
|
|
16
|
-
...allConfig,
|
|
16
|
+
...allConfig(tsconfigRootDir),
|
|
17
17
|
...unusedImportsConfig,
|
|
18
18
|
...perfectionist,
|
|
19
19
|
...javascriptConfig,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from '../commons/index.js';
|
|
14
14
|
import { EslintOptions } from '../types/index.js';
|
|
15
15
|
|
|
16
|
-
function eslintNextConfig({ ignores }: EslintOptions) {
|
|
16
|
+
function eslintNextConfig({ ignores, tsconfigRootDir }: EslintOptions) {
|
|
17
17
|
return defineConfig(
|
|
18
18
|
globalIgnores(ignores),
|
|
19
19
|
{
|
|
@@ -23,7 +23,7 @@ function eslintNextConfig({ ignores }: EslintOptions) {
|
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
|
-
...allConfig,
|
|
26
|
+
...allConfig(tsconfigRootDir),
|
|
27
27
|
nextPlugin.configs['core-web-vitals'],
|
|
28
28
|
...reactHooksConfig,
|
|
29
29
|
...unusedImportsConfig,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from '../commons/index.js';
|
|
14
14
|
import { EslintOptions } from '../types/index.js';
|
|
15
15
|
|
|
16
|
-
function eslintReactConfig({ ignores }: EslintOptions) {
|
|
16
|
+
function eslintReactConfig({ ignores, tsconfigRootDir }: EslintOptions) {
|
|
17
17
|
return defineConfig(
|
|
18
18
|
globalIgnores(ignores),
|
|
19
19
|
{
|
|
@@ -23,7 +23,7 @@ function eslintReactConfig({ ignores }: EslintOptions) {
|
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
|
-
...allConfig,
|
|
26
|
+
...allConfig(tsconfigRootDir),
|
|
27
27
|
{
|
|
28
28
|
files: ['**/*.{jsx,tsx}'],
|
|
29
29
|
...reactPlugin.configs['strict-type-checked'],
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from '../commons/index.js';
|
|
15
15
|
import { EslintOptions } from '../types/index.js';
|
|
16
16
|
|
|
17
|
-
function eslintStorybookConfig({ ignores }: EslintOptions) {
|
|
17
|
+
function eslintStorybookConfig({ ignores, tsconfigRootDir }: EslintOptions) {
|
|
18
18
|
return defineConfig(
|
|
19
19
|
globalIgnores(ignores),
|
|
20
20
|
{
|
|
@@ -24,7 +24,7 @@ function eslintStorybookConfig({ ignores }: EslintOptions) {
|
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
|
-
...allConfig,
|
|
27
|
+
...allConfig(tsconfigRootDir),
|
|
28
28
|
{
|
|
29
29
|
files: ['**/*.{jsx,tsx}'],
|
|
30
30
|
...reactPlugin.configs['strict-type-checked'],
|