@tarsilla/eslint-config 0.0.60 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/library/index.cjs +1 -1
- package/lib/library/index.cjs.map +1 -1
- package/lib/library/index.mjs +1 -1
- package/lib/library/index.mjs.map +1 -1
- package/lib/next/index.cjs +2 -0
- package/lib/next/index.cjs.map +1 -0
- package/lib/next/index.d.ts +9 -0
- package/lib/next/index.mjs +2 -0
- package/lib/next/index.mjs.map +1 -0
- package/lib/react/index.cjs +1 -1
- package/lib/react/index.cjs.map +1 -1
- package/lib/react/index.mjs +1 -1
- package/lib/react/index.mjs.map +1 -1
- package/package.json +20 -9
- package/src/index.ts +1 -0
- package/src/library/eslintLibraryConfig.ts +20 -6
- package/src/next/eslintNextConfig.ts +162 -0
- package/src/next/index.ts +1 -0
- package/src/react/eslintReactConfig.ts +11 -4
package/lib/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),s=require("eslint-plugin-jest"),t=require("eslint-plugin-prettier/recommended"),
|
|
1
|
+
"use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),s=require("eslint-plugin-jest"),t=require("eslint-plugin-prettier/recommended"),n=require("eslint-plugin-unused-imports"),o=require("globals"),i=require("typescript-eslint"),a=require("path"),l=require("url"),p=require("@eslint/eslintrc"),u=require("eslint-plugin-react"),c=require("eslint-plugin-react-hooks"),d="undefined"!=typeof document?document.currentScript:null;const g=o;const f=l.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:d&&"SCRIPT"===d.tagName.toUpperCase()&&d.src||new URL("index.cjs",document.baseURI).href),m=a.dirname(f),x=new p.FlatCompat({baseDirectory:m}),b=o;const y=o;exports.eslintLibraryConfig=function({ignores:o}){return i.config(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,mjs}"],extends:[i.configs.base]},{files:["**/*.ts"],extends:[r.flatConfigs.typescript,...i.configs.recommended,...i.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.test.{js,ts}"],...s.configs["flat/recommended"],languageOptions:{globals:{...g.jest}}},t,{ignores:o},{plugins:{"unused-imports":n},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 i.config(e.configs.recommended,...x.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}}]}}),{files:["**/*.{js,jsx,mjs}"],extends:[i.configs.base]},{files:["**/*.{ts,tsx}"],extends:[...i.configs.recommended,...i.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{jsx,tsx}"],...u.configs.flat.recommended,...u.configs.flat["jsx-runtime"],languageOptions:{...u.configs.flat.recommended.languageOptions,globals:{...b.serviceworker,...Object.keys(b.browser).reduce(((e,r)=>(e[r.trim()]=b.browser[r],e)),{})}},plugins:{"react-hooks":c},rules:{...c.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...s.configs["flat/recommended"],languageOptions:{globals:{...b.jest}}},t,{ignores:r},{plugins:{"unused-imports":n},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:o}){return i.config(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,jsx,mjs}"],extends:[i.configs.base]},{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...i.configs.recommended,...i.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{jsx,tsx}"],...u.configs.flat.recommended,...u.configs.flat["jsx-runtime"],languageOptions:{...u.configs.flat.recommended.languageOptions,globals:{...y.serviceworker,...Object.keys(y.browser).reduce(((e,r)=>(e[r.trim()]=y.browser[r],e)),{})}},plugins:{"react-hooks":c},rules:{...c.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...s.configs["flat/recommended"],languageOptions:{globals:{...y.jest}}},t,{ignores:o},{plugins:{"unused-imports":n},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"}}})};
|
|
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/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.recommended,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\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: ['**/*.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 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 '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 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.recommended,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\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: ['**/*.{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 '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 pathGroupsExcludedImportTypes: ['react'],\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","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","files","extends","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","alphabetize","order","caseInsensitive","settings","node","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","reactHooks","jsxSingleQuote","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","react","version"],"mappings":"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"}
|
|
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 {\n files: ['**/*.{js,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.ts'],\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 '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","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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","react","version"],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ type EslintOptions = {
|
|
|
6
6
|
|
|
7
7
|
declare function eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray;
|
|
8
8
|
|
|
9
|
+
declare function eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray;
|
|
10
|
+
|
|
9
11
|
declare function eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray;
|
|
10
12
|
|
|
11
|
-
export { type EslintOptions, eslintLibraryConfig, eslintReactConfig };
|
|
13
|
+
export { type EslintOptions, eslintLibraryConfig, eslintNextConfig, eslintReactConfig };
|
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 n from"globals";import{config as i,configs as
|
|
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 n from"globals";import{config as i,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 m from"eslint-plugin-react-hooks";const d=n;function g({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,mjs}"],extends:[a.base]},{files:["**/*.ts"],extends:[r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...d.jest}}},s,{ignores:n},{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))}),b=n;function x({ignores:r}){return i(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}}]}}),{files:["**/*.{js,jsx,mjs}"],extends:[a.base]},{files:["**/*.{ts,tsx}"],extends:[...a.recommended,...a.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{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":m},rules:{...m.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":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 y=n;function j({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,jsx,mjs}"],extends:[a.base]},{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{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":m},rules:{...m.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:n},{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,x as eslintNextConfig,j 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/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.recommended,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\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: ['**/*.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 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 '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 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.recommended,\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...configs.recommendedTypeChecked],\n languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n rules: {\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: ['**/*.{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 '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 pathGroupsExcludedImportTypes: ['react'],\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","files","extends","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","jest","prettierRecommended","plugins","unusedImports","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","alphabetize","order","caseInsensitive","settings","node","eslintReactConfig","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","reactHooks","jsxSingleQuote","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","react","version"],"mappings":"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"}
|
|
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 {\n files: ['**/*.{js,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.ts'],\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 '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","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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","react","version"],"mappings":"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"}
|
package/lib/library/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),
|
|
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,{files:["**/*.{js,mjs}"],extends:[o.configs.base]},{files:["**/*.ts"],extends:[r.flatConfigs.typescript,...o.configs.recommended,...o.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{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}}})};
|
|
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
|
|
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 {\n files: ['**/*.{js,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.ts'],\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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,YACpB,CACEG,MAAO,CAAC,iBACRC,QAAS,CAACL,UAAQM,OAEpB,CACEF,MAAO,CAAC,WACRC,QAAS,CAACH,EAAQC,YAAYI,cAAeP,EAAAA,QAAQC,eAAgBD,UAAQQ,wBAC7EC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEX,MAAO,CAAC,wBACLY,EAAKhB,QAAQ,oBAChBS,gBAAiB,CACfd,QAAS,IACJA,EAAQqB,QAIjBC,EACA,CACEpB,WAEF,CACEqB,QAAS,CACP,iBAAkBC,GAEpBJ,MAAO,CACL,oBAAqB,CACnB,QACA,CACEK,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,CACjBrC,YAAY,EACZsC,MAAM,KAKhB"}
|
package/lib/library/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 p}from"typescript-eslint";const l=i;function
|
|
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 p}from"typescript-eslint";const l=i;function a({ignores:i}){return n(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,mjs}"],extends:[p.base]},{files:["**/*.ts"],extends:[r.flatConfigs.typescript,...p.recommended,...p.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.test.{js,ts}"],...t.configs["flat/recommended"],languageOptions:{globals:{...l.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}}})}export{a 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
|
|
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 {\n files: ['**/*.{js,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.ts'],\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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,YACpB,CACEG,MAAO,CAAC,iBACRC,QAAS,CAACL,EAAQM,OAEpB,CACEF,MAAO,CAAC,WACRC,QAAS,CAACH,EAAQC,YAAYI,cAAeP,EAAQC,eAAgBD,EAAQQ,wBAC7EC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEX,MAAO,CAAC,wBACLY,EAAKhB,QAAQ,oBAChBS,gBAAiB,CACff,QAAS,IACJA,EAAQsB,QAIjBC,EACA,CACEpB,WAEF,CACEqB,QAAS,CACP,iBAAkBC,GAEpBJ,MAAO,CACL,oBAAqB,CACnB,QACA,CACEK,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,CACjBrC,YAAY,EACZsC,MAAM,KAKhB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("path"),r=require("url"),t=require("@eslint/eslintrc"),s=require("@eslint/js"),n=require("eslint-plugin-jest"),i=require("eslint-plugin-prettier/recommended"),o=require("eslint-plugin-react"),a=require("eslint-plugin-react-hooks"),l=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}}]}}),{files:["**/*.{js,jsx,mjs}"],extends:[p.configs.base]},{files:["**/*.{ts,tsx}"],extends:[...p.configs.recommended,...p.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{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":a},rules:{...a.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...n.configs["flat/recommended"],languageOptions:{globals:{...m.jest}}},i,{ignores:e},{plugins:{"unused-imports":l},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}]}})};
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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","files","base","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","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,QAM3B,CACEC,MAAO,CAAC,qBACRX,QAAS,CAACF,UAAQc,OAEpB,CACED,MAAO,CAAC,iBACRX,QAAS,IAAIF,EAAAA,QAAQC,eAAgBD,UAAQe,wBAC7CC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBlB,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEU,MAAO,CAAC,qBACLS,EAAYtB,QAAQuB,KAAKtB,eACzBqB,EAAYtB,QAAQuB,KAAK,eAC5BP,gBAAiB,IACZM,EAAYtB,QAAQuB,KAAKtB,YAAYe,gBACxCrB,QAAS,IACJA,EAAQ6B,iBACRC,OAAOC,KAAK/B,EAAQgC,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAUpC,EAAQgC,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjB9B,MAAO,IACF8B,EAAWjC,QAAQC,YAAYE,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEU,MAAO,CAAC,gCACLqB,EAAKlC,QAAQ,oBAChBgB,gBAAiB,CACfrB,QAAS,IACJA,EAAQuC,QAKjBC,EACA,CACEtC,WAEF,CACEmC,QAAS,CACP,iBAAkBI,GAEpBjC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEkC,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"}
|
|
@@ -0,0 +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 a from"eslint-plugin-unused-imports";import p from"globals";import{config as m,configs as u}from"typescript-eslint";const c=new t({baseDirectory:e(r(import.meta.url))}),g=p;function d({ignores:e}){return m(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}}]}}),{files:["**/*.{js,jsx,mjs}"],extends:[u.base]},{files:["**/*.{ts,tsx}"],extends:[...u.recommended,...u.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{jsx,tsx}"],...n.configs.flat.recommended,...n.configs.flat["jsx-runtime"],languageOptions:{...n.configs.flat.recommended.languageOptions,globals:{...g.serviceworker,...Object.keys(g.browser).reduce(((e,r)=>(e[r.trim()]=g.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:{...g.jest}}},i,{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}]}})}export{d as eslintNextConfig};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\n {\n files: ['**/*.{ts,tsx}'],\n extends: [...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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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","files","base","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","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,QAM3B,CACEC,MAAO,CAAC,qBACRX,QAAS,CAACF,EAAQc,OAEpB,CACED,MAAO,CAAC,iBACRX,QAAS,IAAIF,EAAQC,eAAgBD,EAAQe,wBAC7CC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBlB,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEU,MAAO,CAAC,qBACLS,EAAYtB,QAAQuB,KAAKtB,eACzBqB,EAAYtB,QAAQuB,KAAK,eAC5BP,gBAAiB,IACZM,EAAYtB,QAAQuB,KAAKtB,YAAYe,gBACxCtB,QAAS,IACJA,EAAQ8B,iBACRC,OAAOC,KAAKhC,EAAQiC,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAUrC,EAAQiC,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjB9B,MAAO,IACF8B,EAAWjC,QAAQC,YAAYE,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEU,MAAO,CAAC,gCACLqB,EAAKlC,QAAQ,oBAChBgB,gBAAiB,CACftB,QAAS,IACJA,EAAQwC,QAKjBC,EACA,CACEtC,WAEF,CACEmC,QAAS,CACP,iBAAkBI,GAEpBjC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEkC,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"}
|
package/lib/react/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),s=require("eslint-plugin-jest"),t=require("eslint-plugin-prettier/recommended"),i=require("eslint-plugin-react"),n=require("eslint-plugin-react-hooks"),o=require("eslint-plugin-unused-imports"),l=require("globals"),a=require("typescript-eslint");const
|
|
1
|
+
"use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),s=require("eslint-plugin-jest"),t=require("eslint-plugin-prettier/recommended"),i=require("eslint-plugin-react"),n=require("eslint-plugin-react-hooks"),o=require("eslint-plugin-unused-imports"),l=require("globals"),a=require("typescript-eslint");const p=l;exports.eslintReactConfig=function({ignores:l}){return a.config(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,jsx,mjs}"],extends:[a.configs.base]},{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...a.configs.recommended,...a.configs.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{files:["**/*.{jsx,tsx}"],...i.configs.flat.recommended,...i.configs.flat["jsx-runtime"],languageOptions:{...i.configs.flat.recommended.languageOptions,globals:{...p.serviceworker,...Object.keys(p.browser).reduce(((e,r)=>(e[r.trim()]=p.browser[r],e)),{})}},plugins:{"react-hooks":n},rules:{...n.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off"}},{files:["**/*.test.{js,ts,jsx,tsx}"],...s.configs["flat/recommended"],languageOptions:{globals:{...p.jest}}},t,{ignores:l},{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"}}})};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/lib/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../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 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
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../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 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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 '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","ignores","config","js","configs","recommended","imports","flatConfigs","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","react","version"],"mappings":"iUAaA,MAAMA,EAAUC,4BAEhB,UAA2BC,QAAEA,IAC3B,OAAOC,EAAAA,OACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpB,CACEG,MAAO,CAAC,qBACRC,QAAS,CAACL,UAAQM,OAEpB,CACEF,MAAO,CAAC,iBACRC,QAAS,CAACH,EAAQC,YAAYI,cAAeP,EAAAA,QAAQC,eAAgBD,UAAQQ,wBAC7EC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEX,MAAO,CAAC,qBACLY,EAAYhB,QAAQiB,KAAKhB,eACzBe,EAAYhB,QAAQiB,KAAK,eAC5BR,gBAAiB,IACZO,EAAYhB,QAAQiB,KAAKhB,YAAYQ,gBACxCd,QAAS,IACJA,EAAQuB,iBACRC,OAAOC,KAAKzB,EAAQ0B,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAU9B,EAAQ0B,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjBZ,MAAO,IACFY,EAAW3B,QAAQC,YAAYc,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEX,MAAO,CAAC,gCACLwB,EAAK5B,QAAQ,oBAChBS,gBAAiB,CACfd,QAAS,IACJA,EAAQiC,QAKjBC,EACA,CACEhC,WAEF,CACE6B,QAAS,CACP,iBAAkBI,GAEpBf,MAAO,CACL,oBAAqB,CACnB,QACA,CACEgB,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,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,CACjBjD,YAAY,EACZkD,MAAM,GAERC,MAAO,CACLC,QAAS,YAKnB"}
|
package/lib/react/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-react";import i from"eslint-plugin-react-hooks";import n from"eslint-plugin-unused-imports";import
|
|
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-react";import i from"eslint-plugin-react-hooks";import n from"eslint-plugin-unused-imports";import l from"globals";import{config as p,configs as a}from"typescript-eslint";const m=l;function u({ignores:l}){return p(e.configs.recommended,r.flatConfigs.recommended,{files:["**/*.{js,jsx,mjs}"],extends:[a.base]},{files:["**/*.{ts,tsx}"],extends:[r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked],languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},rules:{"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-unused-vars":"off"}},{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":i},rules:{...i.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:{...m.jest}}},s,{ignores:l},{plugins:{"unused-imports":n},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{u as eslintReactConfig};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/lib/react/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/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 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
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../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 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 {\n files: ['**/*.{js,jsx,mjs}'],\n extends: [configs.base],\n },\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/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n '@typescript-eslint/no-unused-vars': 'off',\n },\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 '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","eslintReactConfig","ignores","config","js","configs","recommended","imports","flatConfigs","files","extends","base","typescript","recommendedTypeChecked","languageOptions","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","rules","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","groups","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","alphabetize","order","caseInsensitive","settings","node","react","version"],"mappings":"yVAaA,MAAMA,EAAUC,EAEhB,SAASC,GAAkBC,QAAEA,IAC3B,OAAOC,EACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpB,CACEG,MAAO,CAAC,qBACRC,QAAS,CAACL,EAAQM,OAEpB,CACEF,MAAO,CAAC,iBACRC,QAAS,CAACH,EAAQC,YAAYI,cAAeP,EAAQC,eAAgBD,EAAQQ,wBAC7EC,gBAAiB,CACfC,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,MAAO,CACL,oDAAqD,QACrD,qCAAsC,QACtC,oCAAqC,QAGzC,CACEX,MAAO,CAAC,qBACLY,EAAYhB,QAAQiB,KAAKhB,eACzBe,EAAYhB,QAAQiB,KAAK,eAC5BR,gBAAiB,IACZO,EAAYhB,QAAQiB,KAAKhB,YAAYQ,gBACxCf,QAAS,IACJA,EAAQwB,iBACRC,OAAOC,KAAK1B,EAAQ2B,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAU/B,EAAQ2B,QAAQG,GAC3BD,IACN,CAAG,KAGVG,QAAS,CACP,cAAeC,GAEjBZ,MAAO,IACFY,EAAW3B,QAAQC,YAAYc,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEX,MAAO,CAAC,gCACLwB,EAAK5B,QAAQ,oBAChBS,gBAAiB,CACff,QAAS,IACJA,EAAQkC,QAKjBC,EACA,CACEhC,WAEF,CACE6B,QAAS,CACP,iBAAkBI,GAEpBf,MAAO,CACL,oBAAqB,CACnB,QACA,CACEgB,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,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,CACjBjD,YAAY,EACZkD,MAAM,GAERC,MAAO,CACLC,QAAS,YAKnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarsilla/eslint-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
4
7
|
"engines": {
|
|
5
8
|
"node": ">=22"
|
|
6
9
|
},
|
|
@@ -17,6 +20,12 @@
|
|
|
17
20
|
"import": "./lib/library/index.mjs",
|
|
18
21
|
"default": "./lib/library/index.mjs"
|
|
19
22
|
},
|
|
23
|
+
"./next": {
|
|
24
|
+
"types": "./lib/next/index.d.ts",
|
|
25
|
+
"require": "./lib/next/index.cjs",
|
|
26
|
+
"import": "./lib/next/index.mjs",
|
|
27
|
+
"default": "./lib/next/index.mjs"
|
|
28
|
+
},
|
|
20
29
|
"./react": {
|
|
21
30
|
"types": "./lib/react/index.d.ts",
|
|
22
31
|
"require": "./lib/react/index.cjs",
|
|
@@ -48,23 +57,25 @@
|
|
|
48
57
|
"eslint": "^9"
|
|
49
58
|
},
|
|
50
59
|
"dependencies": {
|
|
60
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
51
61
|
"@eslint/js": "^9.21.0",
|
|
52
|
-
"@types/node": "^22.13.
|
|
53
|
-
"eslint-config-
|
|
62
|
+
"@types/node": "^22.13.9",
|
|
63
|
+
"eslint-config-next": "^15.2.1",
|
|
64
|
+
"eslint-config-prettier": "^10.0.2",
|
|
54
65
|
"eslint-import-resolver-typescript": "^3.8.3",
|
|
55
66
|
"eslint-plugin-import": "^2.31.0",
|
|
56
67
|
"eslint-plugin-jest": "^28.11.0",
|
|
57
68
|
"eslint-plugin-prettier": "^5.2.3",
|
|
58
69
|
"eslint-plugin-react": "^7.37.4",
|
|
59
|
-
"eslint-plugin-react-hooks": "^5.
|
|
70
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
60
71
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
61
|
-
"prettier": "^3.5.
|
|
62
|
-
"typescript-eslint": "^8.
|
|
72
|
+
"prettier": "^3.5.3",
|
|
73
|
+
"typescript-eslint": "^8.26.0"
|
|
63
74
|
},
|
|
64
75
|
"devDependencies": {
|
|
65
76
|
"@commitlint/cli": "^19.7.1",
|
|
66
77
|
"@commitlint/config-conventional": "^19.7.1",
|
|
67
|
-
"@rollup/plugin-commonjs": "^28.0.
|
|
78
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
68
79
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
69
80
|
"@rollup/plugin-swc": "^0.4.0",
|
|
70
81
|
"@rollup/plugin-terser": "^0.4.4",
|
|
@@ -75,11 +86,11 @@
|
|
|
75
86
|
"@semantic-release/release-notes-generator": "^14.0.3",
|
|
76
87
|
"cz-conventional-changelog": "^3.3.0",
|
|
77
88
|
"husky": "^9.1.7",
|
|
78
|
-
"rollup": "^4.34.
|
|
89
|
+
"rollup": "^4.34.9",
|
|
79
90
|
"rollup-plugin-dts": "^6.1.1",
|
|
80
91
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
81
92
|
"semantic-release": "^24.2.3",
|
|
82
|
-
"typescript": "^5.
|
|
93
|
+
"typescript": "^5.8.2"
|
|
83
94
|
},
|
|
84
95
|
"overrides": {
|
|
85
96
|
"@swc/core": {
|
package/src/index.ts
CHANGED
|
@@ -15,11 +15,13 @@ function eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.Co
|
|
|
15
15
|
return config(
|
|
16
16
|
js.configs.recommended,
|
|
17
17
|
imports.flatConfigs.recommended,
|
|
18
|
-
imports.flatConfigs.typescript,
|
|
19
|
-
...configs.recommended,
|
|
20
18
|
{
|
|
21
|
-
files: ['**/*.{
|
|
22
|
-
extends: [
|
|
19
|
+
files: ['**/*.{js,mjs}'],
|
|
20
|
+
extends: [configs.base],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
files: ['**/*.ts'],
|
|
24
|
+
extends: [imports.flatConfigs.typescript, ...configs.recommended, ...configs.recommendedTypeChecked],
|
|
23
25
|
languageOptions: {
|
|
24
26
|
parserOptions: {
|
|
25
27
|
ecmaVersion: 'latest',
|
|
@@ -35,12 +37,11 @@ function eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.Co
|
|
|
35
37
|
},
|
|
36
38
|
},
|
|
37
39
|
{
|
|
38
|
-
files: ['**/*.test.{js,ts
|
|
40
|
+
files: ['**/*.test.{js,ts}'],
|
|
39
41
|
...jest.configs['flat/recommended'],
|
|
40
42
|
languageOptions: {
|
|
41
43
|
globals: {
|
|
42
44
|
...globals.jest,
|
|
43
|
-
//...globals.vitest,
|
|
44
45
|
},
|
|
45
46
|
},
|
|
46
47
|
},
|
|
@@ -92,6 +93,19 @@ function eslintLibraryConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.Co
|
|
|
92
93
|
'error',
|
|
93
94
|
{
|
|
94
95
|
groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],
|
|
96
|
+
pathGroups: [
|
|
97
|
+
{
|
|
98
|
+
pattern: 'react',
|
|
99
|
+
group: 'external',
|
|
100
|
+
position: 'before',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
pattern: '@tarsilla/**',
|
|
104
|
+
group: 'internal',
|
|
105
|
+
position: 'before',
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
pathGroupsExcludedImportTypes: ['react', '@tarsilla'],
|
|
95
109
|
'newlines-between': 'always',
|
|
96
110
|
alphabetize: {
|
|
97
111
|
order: 'asc',
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { dirname } from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
|
|
4
|
+
import { FlatCompat } from '@eslint/eslintrc';
|
|
5
|
+
import js from '@eslint/js';
|
|
6
|
+
import type { TSESLint } from '@typescript-eslint/utils';
|
|
7
|
+
import jest from 'eslint-plugin-jest';
|
|
8
|
+
import prettierRecommended from 'eslint-plugin-prettier/recommended';
|
|
9
|
+
import reactPlugin from 'eslint-plugin-react';
|
|
10
|
+
import reactHooks from 'eslint-plugin-react-hooks';
|
|
11
|
+
import unusedImports from 'eslint-plugin-unused-imports';
|
|
12
|
+
import globalsImp from 'globals';
|
|
13
|
+
import { config, configs } from 'typescript-eslint';
|
|
14
|
+
|
|
15
|
+
import { EslintOptions } from '../types/index.js';
|
|
16
|
+
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = dirname(__filename);
|
|
19
|
+
|
|
20
|
+
const compat = new FlatCompat({
|
|
21
|
+
baseDirectory: __dirname,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const globals = globalsImp as Record<string, Record<string, boolean>>;
|
|
25
|
+
|
|
26
|
+
function eslintNextConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.ConfigArray {
|
|
27
|
+
return config(
|
|
28
|
+
js.configs.recommended,
|
|
29
|
+
...compat.config({
|
|
30
|
+
extends: ['next/core-web-vitals'],
|
|
31
|
+
rules: {
|
|
32
|
+
'import/order': [
|
|
33
|
+
'error',
|
|
34
|
+
{
|
|
35
|
+
groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],
|
|
36
|
+
pathGroups: [
|
|
37
|
+
{
|
|
38
|
+
pattern: 'react',
|
|
39
|
+
group: 'external',
|
|
40
|
+
position: 'before',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
pattern: '@tarsilla/**',
|
|
44
|
+
group: 'internal',
|
|
45
|
+
position: 'before',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
pathGroupsExcludedImportTypes: ['react', '@tarsilla'],
|
|
49
|
+
'newlines-between': 'always',
|
|
50
|
+
alphabetize: {
|
|
51
|
+
order: 'asc',
|
|
52
|
+
caseInsensitive: true,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
}),
|
|
58
|
+
{
|
|
59
|
+
files: ['**/*.{js,jsx,mjs}'],
|
|
60
|
+
extends: [configs.base],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
files: ['**/*.{ts,tsx}'],
|
|
64
|
+
extends: [...configs.recommended, ...configs.recommendedTypeChecked],
|
|
65
|
+
languageOptions: {
|
|
66
|
+
parserOptions: {
|
|
67
|
+
ecmaVersion: 'latest',
|
|
68
|
+
sourceType: 'module',
|
|
69
|
+
project: true,
|
|
70
|
+
tsconfigRootDir: './',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
rules: {
|
|
74
|
+
'@typescript-eslint/explicit-module-boundary-types': 'error',
|
|
75
|
+
'@typescript-eslint/no-explicit-any': 'error',
|
|
76
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
files: ['**/*.{jsx,tsx}'],
|
|
81
|
+
...reactPlugin.configs.flat.recommended,
|
|
82
|
+
...reactPlugin.configs.flat['jsx-runtime'],
|
|
83
|
+
languageOptions: {
|
|
84
|
+
...reactPlugin.configs.flat.recommended.languageOptions,
|
|
85
|
+
globals: {
|
|
86
|
+
...globals.serviceworker,
|
|
87
|
+
...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {
|
|
88
|
+
acc[key.trim()] = globals.browser[key];
|
|
89
|
+
return acc;
|
|
90
|
+
}, {}),
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
plugins: {
|
|
94
|
+
'react-hooks': reactHooks,
|
|
95
|
+
},
|
|
96
|
+
rules: {
|
|
97
|
+
...reactHooks.configs.recommended.rules,
|
|
98
|
+
'react/react-in-jsx-scope': 'off',
|
|
99
|
+
'react/jsx-uses-react': 'off',
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
files: ['**/*.test.{js,ts,jsx,tsx}'],
|
|
104
|
+
...jest.configs['flat/recommended'],
|
|
105
|
+
languageOptions: {
|
|
106
|
+
globals: {
|
|
107
|
+
...globals.jest,
|
|
108
|
+
//...globals.vitest,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
prettierRecommended,
|
|
113
|
+
{
|
|
114
|
+
ignores,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
plugins: {
|
|
118
|
+
'unused-imports': unusedImports,
|
|
119
|
+
},
|
|
120
|
+
rules: {
|
|
121
|
+
'prettier/prettier': [
|
|
122
|
+
'error',
|
|
123
|
+
{
|
|
124
|
+
semi: true,
|
|
125
|
+
trailingComma: 'all',
|
|
126
|
+
singleQuote: true,
|
|
127
|
+
jsxSingleQuote: true,
|
|
128
|
+
printWidth: 120,
|
|
129
|
+
tabWidth: 2,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
usePrettierrc: false,
|
|
133
|
+
fileInfoOptions: {
|
|
134
|
+
withNodeModules: true,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
'no-unused-vars': 'off',
|
|
139
|
+
'unused-imports/no-unused-imports': 'error',
|
|
140
|
+
'unused-imports/no-unused-vars': [
|
|
141
|
+
'error',
|
|
142
|
+
{
|
|
143
|
+
vars: 'all',
|
|
144
|
+
varsIgnorePattern: '^_',
|
|
145
|
+
args: 'after-used',
|
|
146
|
+
argsIgnorePattern: '^_',
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
'sort-imports': [
|
|
150
|
+
'error',
|
|
151
|
+
{
|
|
152
|
+
ignoreCase: true,
|
|
153
|
+
ignoreDeclarationSort: true,
|
|
154
|
+
ignoreMemberSort: false,
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export { eslintNextConfig };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './eslintNextConfig.js';
|
|
@@ -17,11 +17,13 @@ function eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.Conf
|
|
|
17
17
|
return config(
|
|
18
18
|
js.configs.recommended,
|
|
19
19
|
imports.flatConfigs.recommended,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
{
|
|
21
|
+
files: ['**/*.{js,jsx,mjs}'],
|
|
22
|
+
extends: [configs.base],
|
|
23
|
+
},
|
|
22
24
|
{
|
|
23
25
|
files: ['**/*.{ts,tsx}'],
|
|
24
|
-
extends: [...configs.recommendedTypeChecked],
|
|
26
|
+
extends: [imports.flatConfigs.typescript, ...configs.recommended, ...configs.recommendedTypeChecked],
|
|
25
27
|
languageOptions: {
|
|
26
28
|
parserOptions: {
|
|
27
29
|
ecmaVersion: 'latest',
|
|
@@ -124,8 +126,13 @@ function eslintReactConfig({ ignores }: EslintOptions): TSESLint.FlatConfig.Conf
|
|
|
124
126
|
group: 'external',
|
|
125
127
|
position: 'before',
|
|
126
128
|
},
|
|
129
|
+
{
|
|
130
|
+
pattern: '@tarsilla/**',
|
|
131
|
+
group: 'internal',
|
|
132
|
+
position: 'before',
|
|
133
|
+
},
|
|
127
134
|
],
|
|
128
|
-
pathGroupsExcludedImportTypes: ['react'],
|
|
135
|
+
pathGroupsExcludedImportTypes: ['react', '@tarsilla'],
|
|
129
136
|
'newlines-between': 'always',
|
|
130
137
|
alphabetize: {
|
|
131
138
|
order: 'asc',
|