@tarsilla/eslint-config 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),t=require("eslint-plugin-jest"),s=require("eslint-plugin-prettier/recommended"),i=require("eslint-plugin-unused-imports"),n=require("globals"),o=require("typescript-eslint"),a=require("path"),l=require("url"),p=require("@eslint/eslintrc"),c=require("eslint-plugin-react"),u=require("eslint-plugin-react-hooks"),g="undefined"!=typeof document?document.currentScript:null;const d=n;const f=l.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:g&&"SCRIPT"===g.tagName.toUpperCase()&&g.src||new URL("index.cjs",document.baseURI).href),m=a.dirname(f),y=new p.FlatCompat({baseDirectory:m}),b=n;const x=n;exports.eslintLibraryConfig=function({ignores:n}){return o.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...o.configs.stylistic,...o.configs.stylisticTypeChecked,{files:["**/*.ts"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,mjs}"],extends:[o.configs.disableTypeChecked]},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...d.jest}}},s,{ignores:n},{plugins:{"unused-imports":i},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})},exports.eslintNextConfig=function({ignores:r}){return o.config(e.configs.recommended,...y.config({extends:["next/core-web-vitals"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...o.configs.stylistic,...o.configs.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[o.configs.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],languageOptions:{...c.configs.flat.recommended.languageOptions,globals:{...b.serviceworker,...Object.keys(b.browser).reduce(((e,r)=>(e[r.trim()]=b.browser[r],e)),{})}},plugins:{"react-hooks":u},rules:{...u.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...b.jest}}},s,{ignores:r},{plugins:{"unused-imports":i},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}})},exports.eslintReactConfig=function({ignores:n}){return o.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...o.configs.stylistic,...o.configs.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...o.configs.recommended,...o.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[o.configs.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],languageOptions:{...c.configs.flat.recommended.languageOptions,globals:{...x.serviceworker,...Object.keys(x.browser).reduce(((e,r)=>(e[r.trim()]=x.browser[r],e)),{})}},plugins:{"react-hooks":u},rules:{...u.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...x.jest}}},s,{ignores:n},{plugins:{"unused-imports":i},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0},react:{version:"detect"}}})};
1
+ "use strict";var e=require("typescript-eslint"),r=require("@eslint/js"),t=require("eslint-plugin-import"),i=require("eslint-plugin-jest"),s=require("eslint-plugin-prettier/recommended"),n=require("eslint-plugin-react-hooks"),o=require("eslint-plugin-unused-imports"),l=require("path"),a=require("url"),p=require("@eslint/eslintrc"),c=require("eslint-plugin-react"),u="undefined"!=typeof document?document.currentScript:null;const f=e.config([r.configs.recommended,...e.configs.stylistic,...e.configs.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]),g=e.config([t.flatConfigs.recommended,t.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]),d=e.config({files:["**/*.{cjs,mjs,js,jsx}"],extends:[e.configs.disableTypeChecked]}),m=e.config({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),x=e.config([s,{rules:{...s.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]),y=e.config({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":n},rules:{...n.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}}),b=e.config({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),h=e.config({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),j=e.config({plugins:{"unused-imports":o},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}});const q=a.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:u&&"SCRIPT"===u.tagName.toUpperCase()&&u.src||new URL("index.cjs",document.baseURI).href),C=l.dirname(q),v=new p.FlatCompat({baseDirectory:C});exports.eslintLibraryConfig=function({ignores:r}){return e.config({ignores:r},...f,...j,...b,...g,...h,...d,...m,...x)},exports.eslintNextConfig=function({ignores:r}){return e.config({ignores:r},...v.config({extends:["next/core-web-vitals","next/typescript"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...y,...f,...j,...b,...h,...d,...m,...x)},exports.eslintReactConfig=function({ignores:r}){return e.config({ignores:r},...f,...e.config({files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],settings:{react:{version:"detect"}}}),...y,...j,...b,...g,...h,...d,...m,...x)};
2
2
  //# sourceMappingURL=index.cjs.map
package/lib/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.ts'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.test.{js,ts}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n );\n}\n\nexport { eslintLibraryConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n ...compat.config({\n extends: ['next/core-web-vitals'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n //...globals.vitest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n },\n );\n}\n\nexport { eslintNextConfig };\n","import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [imports.flatConfigs.typescript, ...configs.recommended, ...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n react: {\n version: 'detect',\n },\n },\n },\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["globals","globalsImp","__filename","fileURLToPath","__dirname","dirname","compat","FlatCompat","baseDirectory","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","extends","disableTypeChecked","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","reactHooks","jsxSingleQuote","recommendedTypeChecked","react","version"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/commons/all.ts","../src/commons/imports.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/sortImports.ts","../src/commons/typescript.ts","../src/commons/unusedImports.ts","../src/next/eslintNextConfig.ts","../src/library/eslintLibraryConfig.ts","../src/react/eslintReactConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...compat.config({\n extends: ['next/core-web-vitals', 'next/typescript'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...reactHooksConfig,\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactPlugin from 'eslint-plugin-react';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...config({\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n }),\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","importsConfig","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","reactHooksConfig","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","__filename","fileURLToPath","__dirname","dirname","compat","FlatCompat","baseDirectory","ignores","reactPlugin","flat","react","version"],"mappings":"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"}
package/lib/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import e from"@eslint/js";import r from"eslint-plugin-import";import t from"eslint-plugin-jest";import s from"eslint-plugin-prettier/recommended";import o from"eslint-plugin-unused-imports";import i from"globals";import{config as n,configs as a}from"typescript-eslint";import{dirname as l}from"path";import{fileURLToPath as p}from"url";import{FlatCompat as u}from"@eslint/eslintrc";import c from"eslint-plugin-react";import d from"eslint-plugin-react-hooks";const m=i;function g({ignores:i}){return n(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...a.stylistic,...a.stylisticTypeChecked,{files:["**/*.ts"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,mjs}"],extends:[a.disableTypeChecked]},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...m.jest}}},s,{ignores:i},{plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})}const f=new u({baseDirectory:l(p(import.meta.url))}),y=i;function b({ignores:r}){return n(e.configs.recommended,...f.config({extends:["next/core-web-vitals"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...a.stylistic,...a.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[a.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],languageOptions:{...c.configs.flat.recommended.languageOptions,globals:{...y.serviceworker,...Object.keys(y.browser).reduce(((e,r)=>(e[r.trim()]=y.browser[r],e)),{})}},plugins:{"react-hooks":d},rules:{...d.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...y.jest}}},s,{ignores:r},{plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}})}const x=i;function j({ignores:i}){return n(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...a.stylistic,...a.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[a.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],languageOptions:{...c.configs.flat.recommended.languageOptions,globals:{...x.serviceworker,...Object.keys(x.browser).reduce(((e,r)=>(e[r.trim()]=x.browser[r],e)),{})}},plugins:{"react-hooks":d},rules:{...d.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...x.jest}}},s,{ignores:i},{plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0},react:{version:"detect"}}})}export{g as eslintLibraryConfig,b as eslintNextConfig,j as eslintReactConfig};
1
+ import{config as e,configs as r}from"typescript-eslint";import t from"@eslint/js";import s from"eslint-plugin-import";import i from"eslint-plugin-jest";import o from"eslint-plugin-prettier/recommended";import n from"eslint-plugin-react-hooks";import p from"eslint-plugin-unused-imports";import{dirname as l}from"path";import{fileURLToPath as a}from"url";import{FlatCompat as u}from"@eslint/eslintrc";import c from"eslint-plugin-react";const m=e([t.configs.recommended,...r.stylistic,...r.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]),f=e([s.flatConfigs.recommended,s.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]),g=e({files:["**/*.{cjs,mjs,js,jsx}"],extends:[r.disableTypeChecked]}),d=e({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),x=e([o,{rules:{...o.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]),y=e({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":n},rules:{...n.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}}),b=e({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),j=e({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),h=e({plugins:{"unused-imports":p},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}});function v({ignores:r}){return e({ignores:r},...m,...h,...b,...f,...j,...g,...d,...x)}const w=new u({baseDirectory:l(a(import.meta.url))});function I({ignores:r}){return e({ignores:r},...w.config({extends:["next/core-web-vitals","next/typescript"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...y,...m,...h,...b,...j,...g,...d,...x)}function C({ignores:r}){return e({ignores:r},...m,...e({files:["**/*.{jsx,tsx}"],...c.configs.flat.recommended,...c.configs.flat["jsx-runtime"],settings:{react:{version:"detect"}}}),...y,...h,...b,...f,...j,...g,...d,...x)}export{v as eslintLibraryConfig,I as eslintNextConfig,C as eslintReactConfig};
2
2
  //# sourceMappingURL=index.mjs.map
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.ts'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.test.{js,ts}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n );\n}\n\nexport { eslintLibraryConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n ...compat.config({\n extends: ['next/core-web-vitals'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n //...globals.vitest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n },\n );\n}\n\nexport { eslintNextConfig };\n","import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [imports.flatConfigs.typescript, ...configs.recommended, ...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n react: {\n version: 'detect',\n },\n },\n },\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["globals","globalsImp","eslintLibraryConfig","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","extends","disableTypeChecked","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","compat","FlatCompat","baseDirectory","dirname","fileURLToPath","url","eslintNextConfig","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","reactHooks","jsxSingleQuote","eslintReactConfig","recommendedTypeChecked","react","version"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/commons/all.ts","../src/commons/imports.ts","../src/commons/javascript.ts","../src/commons/jest.ts","../src/commons/prettier.ts","../src/commons/react-hooks.ts","../src/commons/sortImports.ts","../src/commons/typescript.ts","../src/commons/unusedImports.ts","../src/library/eslintLibraryConfig.ts","../src/next/eslintNextConfig.ts","../src/react/eslintReactConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...compat.config({\n extends: ['next/core-web-vitals', 'next/typescript'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...reactHooksConfig,\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactPlugin from 'eslint-plugin-react';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...config({\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n settings: {\n react: {\n version: 'detect',\n },\n },\n }),\n ...reactHooksConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintReactConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","importsConfig","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","reactHooksConfig","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","eslintLibraryConfig","ignores","compat","FlatCompat","baseDirectory","dirname","fileURLToPath","url","eslintNextConfig","eslintReactConfig","reactPlugin","flat","react","version"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),t=require("eslint-plugin-jest"),s=require("eslint-plugin-prettier/recommended"),i=require("eslint-plugin-unused-imports"),n=require("globals"),o=require("typescript-eslint");const l=n;exports.eslintLibraryConfig=function({ignores:n}){return o.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...o.configs.stylistic,...o.configs.stylisticTypeChecked,{files:["**/*.ts"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,mjs}"],extends:[o.configs.disableTypeChecked]},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...l.jest}}},s,{ignores:n},{plugins:{"unused-imports":i},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})};
1
+ "use strict";var e=require("typescript-eslint"),r=require("@eslint/js"),s=require("eslint-plugin-import"),t=require("eslint-plugin-jest"),i=require("eslint-plugin-prettier/recommended"),n=require("eslint-plugin-react-hooks"),o=require("eslint-plugin-unused-imports");const l=e.config([r.configs.recommended,...e.configs.stylistic,...e.configs.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]),p=e.config([s.flatConfigs.recommended,s.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]),u=e.config({files:["**/*.{cjs,mjs,js,jsx}"],extends:[e.configs.disableTypeChecked]}),a=e.config({files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"]}),c=e.config([i,{rules:{...i.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]);e.config({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":n},rules:{...n.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}});const g=e.config({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),f=e.config({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),d=e.config({plugins:{"unused-imports":o},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}});exports.eslintLibraryConfig=function({ignores:r}){return e.config({ignores:r},...l,...d,...g,...p,...f,...u,...a,...c)};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.ts'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.test.{js,ts}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["globals","globalsImp","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","extends","disableTypeChecked","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node"],"mappings":"yPAWA,MAAMA,EAAUC,8BAEhB,UAA6BC,QAAEA,IAC7B,OAAOC,EAAAA,OACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAAA,QAAQK,aACRL,EAAQM,QAAAA,qBACX,CACEC,MAAO,CAAC,WACRC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEP,MAAO,CAAC,iBACRQ,QAAS,CAACf,UAAQgB,qBAEpB,CACET,MAAO,CAAC,wBACLU,EAAKjB,QAAQ,oBAChBQ,gBAAiB,CACfb,QAAS,IACJA,EAAQsB,QAIjBC,EACA,CACErB,WAEF,CACEsB,QAAS,CACP,iBAAkBC,GAEpBN,MAAO,CACL,oBAAqB,CACnB,QACA,CACEO,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEC,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,OAGvB,eAAgB,CACd,QACA,CACEC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,IAGtB,eAAgB,CACd,QACA,CACEC,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBzC,YAAY,EACZ0C,MAAM,KAKhB"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/imports.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/sortImports.ts","../../src/commons/typescript.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","importsConfig","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","ignores"],"mappings":"2QAIA,MAAMA,EAA6CC,EAAAA,OAAO,CACxDC,EAAGC,QAAQC,eACRD,EAAAA,QAAQE,aACRF,EAAAA,QAAQG,qBACX,CACEC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,YCRtCC,EAAiDP,EAAAA,OAAO,CAC5DQ,EAAQC,YAAYN,YACpBK,EAAQC,YAAYC,WACpB,CACEJ,MAAO,CACL,eAAgB,CACd,QACA,CACEK,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBV,YAAY,EACZW,MAAM,OClCRC,EAAoDtB,EAAAA,OAAO,CAC/DuB,MAAO,CAAC,yBACRC,QAAS,CAACtB,UAAQuB,sBCDdC,EAA8C1B,EAAAA,OAAO,CACzDuB,MAAO,CAAC,gCACLI,EAAKzB,QAAQ,sBCFZ0B,EAAkD5B,EAAAA,OAAO,CAC7D6B,EACA,CACEvB,MAAO,IACFuB,EAAoBvB,MACvB,oBAAqB,CACnB,QACA,CACEwB,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,SClB6BtC,EAAAA,OAAO,CAC/DuB,MAAO,CAAC,kBACRgB,QAAS,CACP,cAAeC,GAEjBlC,MAAO,IACFkC,EAAWtC,QAAQC,YAAYG,MAClC,2BAA4B,MAC5B,uBAAwB,SCT5B,MAAMmC,EAAqDzC,EAAAA,OAAO,CAChEM,MAAO,CACL,eAAgB,CACd,QACA,CACEoC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,OCPpBC,EAAoD7C,EAAAA,OAAO,CAC/DuB,MAAO,CAAC,iBACRuB,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,SCNjBC,EAAuDpD,EAAAA,OAAO,CAClEuC,QAAS,CACP,iBAAkBc,GAEpB/C,MAAO,CACL,oCAAqC,MACrC,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEgD,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,sCCH3B,UAA6BC,QAAEA,IAC7B,OAAO1D,SACL,CACE0D,cAEC3D,KACAqD,KACAX,KACAlC,KACAsC,KACAvB,KACAI,KACAE,EAEP"}
@@ -1,2 +1,2 @@
1
- import e from"@eslint/js";import r from"eslint-plugin-import";import t from"eslint-plugin-jest";import s from"eslint-plugin-prettier/recommended";import i from"eslint-plugin-unused-imports";import o from"globals";import{config as n,configs as p}from"typescript-eslint";const l=o;function a({ignores:o}){return n(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...p.stylistic,...p.stylisticTypeChecked,{files:["**/*.ts"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,mjs}"],extends:[p.disableTypeChecked]},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...l.jest}}},s,{ignores:o},{plugins:{"unused-imports":i},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}],"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})}export{a as eslintLibraryConfig};
1
+ import{config as e,configs as r}from"typescript-eslint";import t from"@eslint/js";import s from"eslint-plugin-import";import i from"eslint-plugin-jest";import o from"eslint-plugin-prettier/recommended";import n from"eslint-plugin-react-hooks";import p from"eslint-plugin-unused-imports";const l=e([t.configs.recommended,...r.stylistic,...r.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]),a=e([s.flatConfigs.recommended,s.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]),u=e({files:["**/*.{cjs,mjs,js,jsx}"],extends:[r.disableTypeChecked]}),c=e({files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"]}),m=e([o,{rules:{...o.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]);e({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":n},rules:{...n.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}});const d=e({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),f=e({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),g=e({plugins:{"unused-imports":p},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}});function y({ignores:r}){return e({ignores:r},...l,...g,...d,...a,...f,...u,...c,...m)}export{y as eslintLibraryConfig};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.ts'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.test.{js,ts}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["globals","globalsImp","eslintLibraryConfig","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","extends","disableTypeChecked","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node"],"mappings":"6QAWA,MAAMA,EAAUC,EAEhB,SAASC,GAAoBC,QAAEA,IAC7B,OAAOC,EACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAQK,aACRL,EAAQM,qBACX,CACEC,MAAO,CAAC,WACRC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEP,MAAO,CAAC,iBACRQ,QAAS,CAACf,EAAQgB,qBAEpB,CACET,MAAO,CAAC,wBACLU,EAAKjB,QAAQ,oBAChBQ,gBAAiB,CACfd,QAAS,IACJA,EAAQuB,QAIjBC,EACA,CACErB,WAEF,CACEsB,QAAS,CACP,iBAAkBC,GAEpBN,MAAO,CACL,oBAAqB,CACnB,QACA,CACEO,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEC,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,OAGvB,eAAgB,CACd,QACA,CACEC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,IAGtB,eAAgB,CACd,QACA,CACEC,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBzC,YAAY,EACZ0C,MAAM,KAKhB"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/imports.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/sortImports.ts","../../src/commons/typescript.ts","../../src/commons/unusedImports.ts","../../src/library/eslintLibraryConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n importsConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nfunction eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...importsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintLibraryConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","importsConfig","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","eslintLibraryConfig","ignores"],"mappings":"+RAIA,MAAMA,EAA6CC,EAAO,CACxDC,EAAGC,QAAQC,eACRD,EAAQE,aACRF,EAAQG,qBACX,CACEC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,YCRtCC,EAAiDP,EAAO,CAC5DQ,EAAQC,YAAYN,YACpBK,EAAQC,YAAYC,WACpB,CACEJ,MAAO,CACL,eAAgB,CACd,QACA,CACEK,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBV,YAAY,EACZW,MAAM,OClCRC,EAAoDtB,EAAO,CAC/DuB,MAAO,CAAC,yBACRC,QAAS,CAACtB,EAAQuB,sBCDdC,EAA8C1B,EAAO,CACzDuB,MAAO,CAAC,gCACLI,EAAKzB,QAAQ,sBCFZ0B,EAAkD5B,EAAO,CAC7D6B,EACA,CACEvB,MAAO,IACFuB,EAAoBvB,MACvB,oBAAqB,CACnB,QACA,CACEwB,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,SClB6BtC,EAAO,CAC/DuB,MAAO,CAAC,kBACRgB,QAAS,CACP,cAAeC,GAEjBlC,MAAO,IACFkC,EAAWtC,QAAQC,YAAYG,MAClC,2BAA4B,MAC5B,uBAAwB,SCT5B,MAAMmC,EAAqDzC,EAAO,CAChEM,MAAO,CACL,eAAgB,CACd,QACA,CACEoC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,OCPpBC,EAAoD7C,EAAO,CAC/DuB,MAAO,CAAC,iBACRuB,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,SCNjBC,EAAuDpD,EAAO,CAClEuC,QAAS,CACP,iBAAkBc,GAEpB/C,MAAO,CACL,oCAAqC,MACrC,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEgD,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,UCH3B,SAASC,GAAoBC,QAAEA,IAC7B,OAAO3D,EACL,CACE2D,cAEC5D,KACAqD,KACAX,KACAlC,KACAsC,KACAvB,KACAI,KACAE,EAEP"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("path"),r=require("url"),t=require("@eslint/eslintrc"),s=require("@eslint/js"),i=require("eslint-plugin-jest"),n=require("eslint-plugin-prettier/recommended"),o=require("eslint-plugin-react"),l=require("eslint-plugin-react-hooks"),a=require("eslint-plugin-unused-imports"),u=require("globals"),p=require("typescript-eslint"),c="undefined"!=typeof document?document.currentScript:null;const d=r.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:c&&"SCRIPT"===c.tagName.toUpperCase()&&c.src||new URL("index.cjs",document.baseURI).href),g=e.dirname(d),f=new t.FlatCompat({baseDirectory:g}),m=u;exports.eslintNextConfig=function({ignores:e}){return p.config(s.configs.recommended,...f.config({extends:["next/core-web-vitals"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...p.configs.stylistic,...p.configs.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[p.configs.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...o.configs.flat.recommended,...o.configs.flat["jsx-runtime"],languageOptions:{...o.configs.flat.recommended.languageOptions,globals:{...m.serviceworker,...Object.keys(m.browser).reduce(((e,r)=>(e[r.trim()]=m.browser[r],e)),{})}},plugins:{"react-hooks":l},rules:{...l.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...i.configs["flat/recommended"],languageOptions:{globals:{...m.jest}}},n,{ignores:e},{plugins:{"unused-imports":a},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}})};
1
+ "use strict";var e=require("path"),r=require("url"),t=require("@eslint/eslintrc"),s=require("typescript-eslint"),i=require("@eslint/js"),n=require("eslint-plugin-import"),o=require("eslint-plugin-jest"),l=require("eslint-plugin-prettier/recommended"),a=require("eslint-plugin-react-hooks"),p=require("eslint-plugin-unused-imports"),u="undefined"!=typeof document?document.currentScript:null;const c=s.config([i.configs.recommended,...s.configs.stylistic,...s.configs.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]);s.config([n.flatConfigs.recommended,n.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]);const f=s.config({files:["**/*.{cjs,mjs,js,jsx}"],extends:[s.configs.disableTypeChecked]}),g=s.config({files:["**/*.test.{js,ts,jsx,tsx}"],...o.configs["flat/recommended"]}),d=s.config([l,{rules:{...l.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]),m=s.config({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":a},rules:{...a.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}}),y=s.config({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),x=s.config({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),b=s.config({plugins:{"unused-imports":p},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}}),h=r.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:u&&"SCRIPT"===u.tagName.toUpperCase()&&u.src||new URL("index.cjs",document.baseURI).href),j=e.dirname(h),q=new t.FlatCompat({baseDirectory:j});exports.eslintNextConfig=function({ignores:e}){return s.config({ignores:e},...q.config({extends:["next/core-web-vitals","next/typescript"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...m,...c,...b,...y,...x,...f,...g,...d)};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/next/eslintNextConfig.ts"],"sourcesContent":["import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n ...compat.config({\n extends: ['next/core-web-vitals'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n //...globals.vitest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n },\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["__filename","fileURLToPath","__dirname","dirname","compat","FlatCompat","baseDirectory","globals","globalsImp","ignores","config","js","configs","recommended","extends","rules","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","disableTypeChecked","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","plugins","reactHooks","jest","prettierRecommended","unusedImports","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort"],"mappings":"2ZAgBA,MAAMA,EAAaC,EAAcA,mLAC3BC,EAAYC,EAAQH,QAAAA,GAEpBI,EAAS,IAAIC,EAAAA,WAAW,CAC5BC,cAAeJ,IAGXK,EAAUC,2BAEhB,UAA0BC,QAAEA,IAC1B,OAAOC,EAAAA,OACLC,EAAGC,QAAQC,eACRT,EAAOM,OAAO,CACfI,QAAS,CAAC,wBACVC,MAAO,CACL,eAAgB,CACd,QACA,CACEC,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,WAMxBZ,EAAQa,QAAAA,aACRb,EAAAA,QAAQc,qBACX,CACEC,MAAO,CAAC,iBACRC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBlB,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEY,MAAO,CAAC,qBACRb,QAAS,CAACF,UAAQsB,qBAEpB,CACEP,MAAO,CAAC,qBACLQ,EAAYvB,QAAQwB,KAAKvB,eACzBsB,EAAYvB,QAAQwB,KAAK,eAC5BR,gBAAiB,IACZO,EAAYvB,QAAQwB,KAAKvB,YAAYe,gBACxCrB,QAAS,IACJA,EAAQ8B,iBACRC,OAAOC,KAAKhC,EAAQiC,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAUrC,EAAQiC,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjB/B,MAAO,IACF+B,EAAWlC,QAAQC,YAAYE,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEY,MAAO,CAAC,gCACLoB,EAAKnC,QAAQ,oBAChBgB,gBAAiB,CACfrB,QAAS,IACJA,EAAQwC,QAKjBC,EACA,CACEvC,WAEF,CACEoC,QAAS,CACP,iBAAkBI,GAEpBlC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEmC,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEC,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,OAGvB,eAAgB,CACd,QACA,CACEC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,MAM9B"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/commons/all.ts","../../src/commons/imports.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/sortImports.ts","../../src/commons/typescript.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...compat.config({\n extends: ['next/core-web-vitals', 'next/typescript'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...reactHooksConfig,\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","reactHooksConfig","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","__filename","fileURLToPath","__dirname","dirname","compat","FlatCompat","baseDirectory","ignores"],"mappings":"uYAIA,MAAMA,EAA6CC,EAAAA,OAAO,CACxDC,EAAGC,QAAQC,eACRD,EAAAA,QAAQE,aACRF,EAAAA,QAAQG,qBACX,CACEC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,YCRWN,EAAAA,OAAO,CAC5DO,EAAQC,YAAYL,YACpBI,EAAQC,YAAYC,WACpB,CACEH,MAAO,CACL,eAAgB,CACd,QACA,CACEI,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBV,YAAY,EACZW,MAAM,OClCd,MAAMC,EAAoDrB,EAAAA,OAAO,CAC/DsB,MAAO,CAAC,yBACRC,QAAS,CAACrB,UAAQsB,sBCDdC,EAA8CzB,EAAAA,OAAO,CACzDsB,MAAO,CAAC,gCACLI,EAAKxB,QAAQ,sBCFZyB,EAAkD3B,EAAAA,OAAO,CAC7D4B,EACA,CACEtB,MAAO,IACFsB,EAAoBtB,MACvB,oBAAqB,CACnB,QACA,CACEuB,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,SClBvBC,EAAoDtC,EAAAA,OAAO,CAC/DsB,MAAO,CAAC,kBACRiB,QAAS,CACP,cAAeC,GAEjBlC,MAAO,IACFkC,EAAWtC,QAAQC,YAAYG,MAClC,2BAA4B,MAC5B,uBAAwB,SCTtBmC,EAAqDzC,EAAAA,OAAO,CAChEM,MAAO,CACL,eAAgB,CACd,QACA,CACEoC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,OCPpBC,EAAoD7C,EAAAA,OAAO,CAC/DsB,MAAO,CAAC,iBACRwB,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,SCNjBC,EAAuDpD,EAAAA,OAAO,CAClEuC,QAAS,CACP,iBAAkBc,GAEpB/C,MAAO,CACL,oCAAqC,MACrC,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEgD,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,UCCrBC,EAAaC,EAAcA,mLAC3BC,EAAYC,EAAQH,QAAAA,GAEpBI,EAAS,IAAIC,EAAAA,WAAW,CAC5BC,cAAeJ,6BAGjB,UAA0BK,QAAEA,IAC1B,OAAOjE,SACL,CACEiE,cAECH,EAAO9D,OAAO,CACfuB,QAAS,CAAC,uBAAwB,mBAClCjB,MAAO,CACL,eAAgB,CACd,QACA,CACEI,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,WAMxBoB,KACAvC,KACAqD,KACAX,KACAI,KACAxB,KACAI,KACAE,EAEP"}
@@ -1,2 +1,2 @@
1
- import{dirname as e}from"path";import{fileURLToPath as r}from"url";import{FlatCompat as t}from"@eslint/eslintrc";import s from"@eslint/js";import o from"eslint-plugin-jest";import i from"eslint-plugin-prettier/recommended";import n from"eslint-plugin-react";import l from"eslint-plugin-react-hooks";import p from"eslint-plugin-unused-imports";import a from"globals";import{config as u,configs as m}from"typescript-eslint";const c=new t({baseDirectory:e(r(import.meta.url))}),f=a;function g({ignores:e}){return u(s.configs.recommended,...c.config({extends:["next/core-web-vitals"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...m.stylistic,...m.stylisticTypeChecked,{files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{js,jsx,mjs}"],extends:[m.disableTypeChecked]},{files:["**/*.{jsx,tsx}"],...n.configs.flat.recommended,...n.configs.flat["jsx-runtime"],languageOptions:{...n.configs.flat.recommended.languageOptions,globals:{...f.serviceworker,...Object.keys(f.browser).reduce(((e,r)=>(e[r.trim()]=f.browser[r],e)),{})}},plugins:{"react-hooks":l},rules:{...l.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...o.configs["flat/recommended"],languageOptions:{globals:{...f.jest}}},i,{ignores:e},{plugins:{"unused-imports":p},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}],"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}})}export{g as eslintNextConfig};
1
+ import{dirname as e}from"path";import{fileURLToPath as r}from"url";import{FlatCompat as t}from"@eslint/eslintrc";import{config as s,configs as i}from"typescript-eslint";import o from"@eslint/js";import n from"eslint-plugin-import";import p from"eslint-plugin-jest";import l from"eslint-plugin-prettier/recommended";import a from"eslint-plugin-react-hooks";import u from"eslint-plugin-unused-imports";const c=s([o.configs.recommended,...i.stylistic,...i.stylisticTypeChecked,{rules:{"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error"}}]);s([n.flatConfigs.recommended,n.flatConfigs.typescript,{rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}}]);const m=s({files:["**/*.{cjs,mjs,js,jsx}"],extends:[i.disableTypeChecked]}),d=s({files:["**/*.test.{js,ts,jsx,tsx}"],...p.configs["flat/recommended"]}),f=s([l,{rules:{...l.rules,"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}]}}]),g=s({files:["**/*.{jsx,tsx}"],plugins:{"react-hooks":a},rules:{...a.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}}),y=s({rules:{"sort-imports":["error",{ignoreCase:!0,ignoreDeclarationSort:!0,ignoreMemberSort:!1}]}}),x=s({files:["**/*.{ts,tsx}"],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}}}),b=s({plugins:{"unused-imports":u},rules:{"@typescript-eslint/no-unused-vars":"off","no-unused-vars":"off","unused-imports/no-unused-imports":"error","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_"}]}}),h=new t({baseDirectory:e(r(import.meta.url))});function j({ignores:e}){return s({ignores:e},...h.config({extends:["next/core-web-vitals","next/typescript"],rules:{"import/order":["error",{groups:["builtin","external","internal",["parent","sibling"]],pathGroups:[{pattern:"react",group:"external",position:"before"},{pattern:"@tarsilla/**",group:"internal",position:"before"}],pathGroupsExcludedImportTypes:["react","@tarsilla"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]}}),...g,...c,...b,...y,...x,...m,...d,...f)}export{j as eslintNextConfig};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/next/eslintNextConfig.ts"],"sourcesContent":["import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport reactPlugin from 'eslint-plugin-react';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport globalsImp from 'globals';\nimport { config, configs } from 'typescript-eslint';\n\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n ...compat.config({\n extends: ['next/core-web-vitals'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\n },\n {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.disableTypeChecked],\n },\n {\n files: ['**/*.{jsx,tsx}'],\n ...reactPlugin.configs.flat.recommended,\n ...reactPlugin.configs.flat['jsx-runtime'],\n languageOptions: {\n ...reactPlugin.configs.flat.recommended.languageOptions,\n globals: {\n ...globals.serviceworker,\n ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {\n acc[key.trim()] = globals.browser[key];\n return acc;\n }, {}),\n },\n },\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n },\n {\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n languageOptions: {\n globals: {\n ...globals.jest,\n //...globals.vitest,\n },\n },\n },\n prettierRecommended,\n {\n ignores,\n },\n {\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n },\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["compat","FlatCompat","baseDirectory","dirname","fileURLToPath","url","globals","globalsImp","eslintNextConfig","ignores","config","js","configs","recommended","extends","rules","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","stylistic","stylisticTypeChecked","files","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","disableTypeChecked","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","plugins","reactHooks","jest","prettierRecommended","unusedImports","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort"],"mappings":"saAgBA,MAGMA,EAAS,IAAIC,EAAW,CAC5BC,cAHgBC,EADCC,cAA0BC,QAOvCC,EAAUC,EAEhB,SAASC,GAAiBC,QAAEA,IAC1B,OAAOC,EACLC,EAAGC,QAAQC,eACRb,EAAOU,OAAO,CACfI,QAAS,CAAC,wBACVC,MAAO,CACL,eAAgB,CACd,QACA,CACEC,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,WAMxBZ,EAAQa,aACRb,EAAQc,qBACX,CACEC,MAAO,CAAC,iBACRC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBlB,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEY,MAAO,CAAC,qBACRb,QAAS,CAACF,EAAQsB,qBAEpB,CACEP,MAAO,CAAC,qBACLQ,EAAYvB,QAAQwB,KAAKvB,eACzBsB,EAAYvB,QAAQwB,KAAK,eAC5BR,gBAAiB,IACZO,EAAYvB,QAAQwB,KAAKvB,YAAYe,gBACxCtB,QAAS,IACJA,EAAQ+B,iBACRC,OAAOC,KAAKjC,EAAQkC,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAUtC,EAAQkC,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjB/B,MAAO,IACF+B,EAAWlC,QAAQC,YAAYE,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEY,MAAO,CAAC,gCACLoB,EAAKnC,QAAQ,oBAChBgB,gBAAiB,CACftB,QAAS,IACJA,EAAQyC,QAKjBC,EACA,CACEvC,WAEF,CACEoC,QAAS,CACP,iBAAkBI,GAEpBlC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEmC,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEC,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,OAGvB,eAAgB,CACd,QACA,CACEC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,MAM9B"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/commons/all.ts","../../src/commons/imports.ts","../../src/commons/javascript.ts","../../src/commons/jest.ts","../../src/commons/prettier.ts","../../src/commons/react-hooks.ts","../../src/commons/sortImports.ts","../../src/commons/typescript.ts","../../src/commons/unusedImports.ts","../../src/next/eslintNextConfig.ts"],"sourcesContent":["import js from '@eslint/js';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst allConfig: TSESLint.FlatConfig.ConfigArray = config([\n js.configs.recommended,\n ...configs.stylistic,\n ...configs.stylisticTypeChecked,\n {\n rules: {\n '@typescript-eslint/consistent-type-definitions': ['error', 'type'],\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n },\n },\n]);\n\nexport { allConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport imports from 'eslint-plugin-import';\nimport { config } from 'typescript-eslint';\n\nconst importsConfig: TSESLint.FlatConfig.ConfigArray = config([\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n {\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n node: true,\n },\n },\n },\n]);\n\nexport { importsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config, configs } from 'typescript-eslint';\n\nconst javascriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{cjs,mjs,js,jsx}'],\n extends: [configs.disableTypeChecked],\n});\n\nexport { javascriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport jest from 'eslint-plugin-jest';\nimport { config } from 'typescript-eslint';\n\nconst jestConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.test.{js,ts,jsx,tsx}'],\n ...jest.configs['flat/recommended'],\n});\n\nexport { jestConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport prettierRecommended from 'eslint-plugin-prettier/recommended';\nimport { config } from 'typescript-eslint';\n\nconst prettierConfig: TSESLint.FlatConfig.ConfigArray = config([\n prettierRecommended,\n {\n rules: {\n ...prettierRecommended.rules,\n 'prettier/prettier': [\n 'error',\n {\n semi: true,\n trailingComma: 'all',\n singleQuote: true,\n jsxSingleQuote: true,\n printWidth: 120,\n tabWidth: 2,\n },\n {\n usePrettierrc: false,\n fileInfoOptions: {\n withNodeModules: true,\n },\n },\n ],\n },\n },\n]);\n\nexport { prettierConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport { config } from 'typescript-eslint';\n\nconst reactHooksConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{jsx,tsx}'],\n plugins: {\n 'react-hooks': reactHooks,\n },\n rules: {\n ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n },\n});\n\nexport { reactHooksConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst sortImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n rules: {\n 'sort-imports': [\n 'error',\n {\n ignoreCase: true,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n },\n ],\n },\n});\n\nexport { sortImportsConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nconst typescriptConfig: TSESLint.FlatConfig.ConfigArray = config({\n files: ['**/*.{ts,tsx}'],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n});\n\nexport { typescriptConfig };\n","import type { TSESLint } from '@typescript-eslint/utils';\nimport unusedImports from 'eslint-plugin-unused-imports';\nimport { config } from 'typescript-eslint';\n\nconst unusedImportsConfig: TSESLint.FlatConfig.ConfigArray = config({\n plugins: {\n 'unused-imports': unusedImports,\n },\n rules: {\n '@typescript-eslint/no-unused-vars': 'off',\n 'no-unused-vars': 'off',\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n },\n ],\n },\n});\n\nexport { unusedImportsConfig };\n","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FlatCompat } from '@eslint/eslintrc';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { config } from 'typescript-eslint';\n\nimport {\n allConfig,\n javascriptConfig,\n jestConfig,\n prettierConfig,\n reactHooksConfig,\n sortImportsConfig,\n typescriptConfig,\n unusedImportsConfig,\n} from '../commons/index.js';\nimport { EslintOptions } from '../types/index.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst compat = new FlatCompat({\n baseDirectory: __dirname,\n});\n\nfunction eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {\n return config(\n {\n ignores,\n },\n ...compat.config({\n extends: ['next/core-web-vitals', 'next/typescript'],\n rules: {\n 'import/order': [\n 'error',\n {\n groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],\n pathGroups: [\n {\n pattern: 'react',\n group: 'external',\n position: 'before',\n },\n {\n pattern: '@tarsilla/**',\n group: 'internal',\n position: 'before',\n },\n ],\n pathGroupsExcludedImportTypes: ['react', '@tarsilla'],\n 'newlines-between': 'always',\n alphabetize: {\n order: 'asc',\n caseInsensitive: true,\n },\n },\n ],\n },\n }),\n ...reactHooksConfig,\n ...allConfig,\n ...unusedImportsConfig,\n ...sortImportsConfig,\n ...typescriptConfig,\n ...javascriptConfig,\n ...jestConfig,\n ...prettierConfig,\n );\n}\n\nexport { eslintNextConfig };\n"],"names":["allConfig","config","js","configs","recommended","stylistic","stylisticTypeChecked","rules","imports","flatConfigs","typescript","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","javascriptConfig","files","extends","disableTypeChecked","jestConfig","jest","prettierConfig","prettierRecommended","semi","trailingComma","singleQuote","jsxSingleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","reactHooksConfig","plugins","reactHooks","sortImportsConfig","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","typescriptConfig","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","unusedImportsConfig","unusedImports","vars","varsIgnorePattern","args","argsIgnorePattern","compat","FlatCompat","baseDirectory","dirname","fileURLToPath","url","eslintNextConfig","ignores"],"mappings":"gZAIA,MAAMA,EAA6CC,EAAO,CACxDC,EAAGC,QAAQC,eACRD,EAAQE,aACRF,EAAQG,qBACX,CACEC,MAAO,CACL,iDAAkD,CAAC,QAAS,QAC5D,oDAAqD,QACrD,qCAAsC,YCRWN,EAAO,CAC5DO,EAAQC,YAAYL,YACpBI,EAAQC,YAAYC,WACpB,CACEH,MAAO,CACL,eAAgB,CACd,QACA,CACEI,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBV,YAAY,EACZW,MAAM,OClCd,MAAMC,EAAoDrB,EAAO,CAC/DsB,MAAO,CAAC,yBACRC,QAAS,CAACrB,EAAQsB,sBCDdC,EAA8CzB,EAAO,CACzDsB,MAAO,CAAC,gCACLI,EAAKxB,QAAQ,sBCFZyB,EAAkD3B,EAAO,CAC7D4B,EACA,CACEtB,MAAO,IACFsB,EAAoBtB,MACvB,oBAAqB,CACnB,QACA,CACEuB,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,SClBvBC,EAAoDtC,EAAO,CAC/DsB,MAAO,CAAC,kBACRiB,QAAS,CACP,cAAeC,GAEjBlC,MAAO,IACFkC,EAAWtC,QAAQC,YAAYG,MAClC,2BAA4B,MAC5B,uBAAwB,SCTtBmC,EAAqDzC,EAAO,CAChEM,MAAO,CACL,eAAgB,CACd,QACA,CACEoC,YAAY,EACZC,uBAAuB,EACvBC,kBAAkB,OCPpBC,EAAoD7C,EAAO,CAC/DsB,MAAO,CAAC,iBACRwB,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,SCNjBC,EAAuDpD,EAAO,CAClEuC,QAAS,CACP,iBAAkBc,GAEpB/C,MAAO,CACL,oCAAqC,MACrC,iBAAkB,MAClB,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACEgD,KAAM,MACNC,kBAAmB,KACnBC,KAAM,aACNC,kBAAmB,UCIrBC,EAAS,IAAIC,EAAW,CAC5BC,cAHgBC,EADCC,cAA0BC,QAO7C,SAASC,GAAiBC,QAAEA,IAC1B,OAAOjE,EACL,CACEiE,cAECP,EAAO1D,OAAO,CACfuB,QAAS,CAAC,uBAAwB,mBAClCjB,MAAO,CACL,eAAgB,CACd,QACA,CACEI,OAAQ,CAAC,UAAW,WAAY,WAAY,CAAC,SAAU,YACvDC,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,UAEZ,CACEF,QAAS,eACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,QAAS,aACzC,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,WAMxBoB,KACAvC,KACAqD,KACAX,KACAI,KACAxB,KACAI,KACAE,EAEP"}