@tarsilla/eslint-config 0.0.35 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),t=require("eslint-plugin-jest"),s=require("eslint-plugin-prettier/recommended"),o=require("eslint-plugin-unused-imports"),n=require("globals"),i=require("typescript-eslint"),a=require("eslint-plugin-react"),l=require("eslint-plugin-react-hooks");const p=n;const u=n;exports.library=function({ignores:n}){return i.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...i.configs.recommended,...i.configs.recommendedTypeChecked,{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...p.jest}}},s,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"]],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})},exports.react=function({ignores:n}){return i.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...i.configs.recommended,...i.configs.recommendedTypeChecked,{files:["**/*.{jsx,tsx}"],...a.configs.flat.recommended,...a.configs.flat["jsx-runtime"],languageOptions:{...a.configs.flat.recommended.languageOptions,globals:{...u.serviceworker,...u.browser}}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...u.jest}}},s,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":o,"react-hooks":l},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],...l.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"}],pathGroupsExcludedImportTypes:["react"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0},react:{version:"detect"}}})};
1
+ "use strict";var e=require("@eslint/js"),r=require("eslint-plugin-import"),s=require("eslint-plugin-jest"),t=require("eslint-plugin-prettier/recommended"),o=require("eslint-plugin-unused-imports"),i=require("globals"),n=require("typescript-eslint"),a=require("eslint-plugin-react"),l=require("eslint-plugin-react-hooks");const p=i;const u=i;exports.library=function({ignores:i}){return n.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...n.configs.recommended,...n.configs.recommendedTypeChecked,{files:["**/*.test.{js,ts,jsx,tsx}"],...s.configs["flat/recommended"],languageOptions:{globals:{...p.jest}}},t,{ignores:i},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"]],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})},exports.react=function({ignores:i}){return n.config(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...n.configs.recommended,...n.configs.recommendedTypeChecked,{files:["**/*.{jsx,tsx}"],...a.configs.flat.recommended,...a.configs.flat["jsx-runtime"],languageOptions:{...a.configs.flat.recommended.languageOptions,globals:{...u.serviceworker,...Object.keys(u.browser).reduce(((e,r)=>(e[r.trim()]=u.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}"],...s.configs["flat/recommended"],languageOptions:{globals:{...u.jest}}},t,{ignores:i},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},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}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"}],pathGroupsExcludedImportTypes:["react"],"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.ts","../src/react.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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction library({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { library };\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';\n//import reactRecommended from 'eslint-plugin-react/configs/recommended.js';\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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 ...globals.browser,\n },\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n plugins: {\n 'unused-imports': unusedImports,\n 'react-hooks': reactHooks,\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 ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { react };\n"],"names":["globals","globalsImp","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","recommendedTypeChecked","files","jest","languageOptions","prettierRecommended","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","plugins","unusedImports","rules","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","alphabetize","order","caseInsensitive","settings","node","reactPlugin","flat","serviceworker","browser","reactHooks","jsxSingleQuote","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","react","version"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/library.ts","../src/react.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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction library({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { library };\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';\n//import reactRecommended from 'eslint-plugin-react/configs/recommended.js';\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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { react };\n"],"names":["globals","globalsImp","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","recommendedTypeChecked","files","jest","languageOptions","prettierRecommended","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","plugins","unusedImports","rules","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":"iUAWA,MAAMA,EAAUC,ECGhB,MAAMD,EAAUC,kBDDhB,UAAiBC,QAAEA,IACjB,OAAOC,EAAAA,OACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAAA,QAAQC,eACRD,EAAOA,QAACK,uBACX,CACEC,MAAO,CAAC,gCACLC,EAAKP,QAAQ,oBAChBQ,gBAAiB,CACfb,QAAS,IACJA,EAAQY,QAKjBE,EACA,CACEZ,WAEF,CACEW,gBAAiB,CACfE,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,QAAS,CACP,iBAAkBC,GAEpBC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEC,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,oDAAqD,QACrD,qCAAsC,QACtC,iBAAkB,MAClB,oCAAqC,MACrC,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,YACvD,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBjC,YAAY,EACZkC,MAAM,KAKhB,gBCzFA,UAAezC,QAAEA,IACf,OAAOC,EAAAA,OACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAAA,QAAQC,eACRD,EAAOA,QAACK,uBACX,CACEC,MAAO,CAAC,qBACLiC,EAAYvC,QAAQwC,KAAKvC,eACzBsC,EAAYvC,QAAQwC,KAAK,eAC5BhC,gBAAiB,IACZ+B,EAAYvC,QAAQwC,KAAKvC,YAAYO,gBACxCb,QAAS,IACJA,EAAQ8C,iBACRC,OAAOC,KAAKhD,EAAQiD,SAASC,QAAgC,CAACC,EAAKC,KACpED,EAAIC,EAAIC,QAAUrD,EAAQiD,QAAQG,GAC3BD,IACN,MAGP/B,QAAS,CACP,cAAekC,GAEjBhC,MAAO,IACFgC,EAAWjD,QAAQC,YAAYgB,MAClC,2BAA4B,MAC5B,uBAAwB,QAG5B,CACEX,MAAO,CAAC,gCACLC,EAAKP,QAAQ,oBAChBQ,gBAAiB,CACfb,QAAS,IACJA,EAAQY,QAKjBE,EACA,CACEZ,WAEF,CACEW,gBAAiB,CACfE,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,QAAS,CACP,iBAAkBC,GAEpBC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEC,MAAM,EACNC,cAAe,MACfC,aAAa,EACb8B,gBAAgB,EAChB7B,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,oDAAqD,QACrD,qCAAsC,QACtC,iBAAkB,MAClB,oCAAqC,MACrC,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,YACvDkB,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,SAChC,mBAAoB,SACpBrB,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBjC,YAAY,EACZkC,MAAM,GAERkB,MAAO,CACLC,QAAS,YAKnB"}
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 o from"eslint-plugin-prettier/recommended";import s from"eslint-plugin-unused-imports";import n from"globals";import{config as i,configs as a}from"typescript-eslint";import p from"eslint-plugin-react";import l from"eslint-plugin-react-hooks";const m=n;function u({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked,{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...m.jest}}},o,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":s},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"]],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})}const c=n;function d({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...a.recommended,...a.recommendedTypeChecked,{files:["**/*.{jsx,tsx}"],...p.configs.flat.recommended,...p.configs.flat["jsx-runtime"],languageOptions:{...p.configs.flat.recommended.languageOptions,globals:{...c.serviceworker,...c.browser}}},{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...c.jest}}},o,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":s,"react-hooks":l},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,jsxSingleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],...l.configs.recommended.rules,"react/react-in-jsx-scope":"off","react/jsx-uses-react":"off","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"}],pathGroupsExcludedImportTypes:["react"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0},react:{version:"detect"}}})}export{u as library,d as react};
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 p}from"typescript-eslint";import a from"eslint-plugin-react";import l from"eslint-plugin-react-hooks";const u=n;function m({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...p.recommended,...p.recommendedTypeChecked,{files:["**/*.test.{js,ts,jsx,tsx}"],...t.configs["flat/recommended"],languageOptions:{globals:{...u.jest}}},s,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},plugins:{"unused-imports":o},rules:{"prettier/prettier":["error",{semi:!0,trailingComma:"all",singleQuote:!0,printWidth:120,tabWidth:2},{usePrettierrc:!1,fileInfoOptions:{withNodeModules:!0}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"]],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0}}})}const c=n;function d({ignores:n}){return i(e.configs.recommended,r.flatConfigs.recommended,r.flatConfigs.typescript,...p.recommended,...p.recommendedTypeChecked,{files:["**/*.{jsx,tsx}"],...a.configs.flat.recommended,...a.configs.flat["jsx-runtime"],languageOptions:{...a.configs.flat.recommended.languageOptions,globals:{...c.serviceworker,...Object.keys(c.browser).reduce(((e,r)=>(e[r.trim()]=c.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}"],...t.configs["flat/recommended"],languageOptions:{globals:{...c.jest}}},s,{ignores:n},{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module",project:!0,tsconfigRootDir:"./"}},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}}],"@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/no-explicit-any":"error","no-unused-vars":"off","@typescript-eslint/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"}],pathGroupsExcludedImportTypes:["react"],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}]},settings:{"import/resolver":{typescript:!0,node:!0},react:{version:"detect"}}})}export{m as library,d as react};
2
2
  //# sourceMappingURL=index.mjs.map
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/library.ts","../src/react.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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction library({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { library };\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';\n//import reactRecommended from 'eslint-plugin-react/configs/recommended.js';\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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 ...globals.browser,\n },\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\n },\n },\n plugins: {\n 'unused-imports': unusedImports,\n 'react-hooks': reactHooks,\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 ...reactHooks.configs.recommended.rules,\n 'react/react-in-jsx-scope': 'off',\n 'react/jsx-uses-react': 'off',\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { react };\n"],"names":["globals","globalsImp","library","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","recommendedTypeChecked","files","jest","languageOptions","prettierRecommended","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","plugins","unusedImports","rules","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","alphabetize","order","caseInsensitive","settings","node","react","reactPlugin","flat","serviceworker","browser","reactHooks","jsxSingleQuote","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","version"],"mappings":"yVAWA,MAAMA,EAAUC,EAEhB,SAASC,GAAQC,QAAEA,IACjB,OAAOC,EACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAQC,eACRD,EAAQK,uBACX,CACEC,MAAO,CAAC,gCACLC,EAAKP,QAAQ,oBAChBQ,gBAAiB,CACfd,QAAS,IACJA,EAAQa,QAKjBE,EACA,CACEZ,WAEF,CACEW,gBAAiB,CACfE,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,QAAS,CACP,iBAAkBC,GAEpBC,MAAO,CACL,oBAAqB,CACnB,QACA,CACEC,MAAM,EACNC,cAAe,MACfC,aAAa,EACbC,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,KAIvB,oDAAqD,QACrD,qCAAsC,QACtC,iBAAkB,MAClB,oCAAqC,MACrC,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,YACvD,mBAAoB,SACpBC,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBjC,YAAY,EACZkC,MAAM,KAKhB,CC3FA,MAAM5C,EAAUC,EAEhB,SAAS4C,GAAM1C,QAAEA,IACf,OAAOC,EACLC,EAAGC,QAAQC,YACXC,EAAQC,YAAYF,YACpBC,EAAQC,YAAYC,cACjBJ,EAAQC,eACRD,EAAQK,uBACX,CACEC,MAAO,CAAC,qBACLkC,EAAYxC,QAAQyC,KAAKxC,eACzBuC,EAAYxC,QAAQyC,KAAK,eAC5BjC,gBAAiB,IACZgC,EAAYxC,QAAQyC,KAAKxC,YAAYO,gBACxCd,QAAS,IACJA,EAAQgD,iBACRhD,EAAQiD,WAIjB,CACErC,MAAO,CAAC,gCACLC,EAAKP,QAAQ,oBAChBQ,gBAAiB,CACfd,QAAS,IACJA,EAAQa,QAKjBE,EACA,CACEZ,WAEF,CACEW,gBAAiB,CACfE,cAAe,CACbC,YAAa,SACbC,WAAY,SACZC,SAAS,EACTC,gBAAiB,OAGrBC,QAAS,CACP,iBAAkBC,EAClB,cAAe4B,GAEjB3B,MAAO,CACL,oBAAqB,CACnB,QACA,CACEC,MAAM,EACNC,cAAe,MACfC,aAAa,EACbyB,gBAAgB,EAChBxB,WAAY,IACZC,SAAU,GAEZ,CACEC,eAAe,EACfC,gBAAiB,CACfC,iBAAiB,QAIpBmB,EAAW5C,QAAQC,YAAYgB,MAClC,2BAA4B,MAC5B,uBAAwB,MACxB,oDAAqD,QACrD,qCAAsC,QACtC,iBAAkB,MAClB,oCAAqC,MACrC,mCAAoC,QACpC,gCAAiC,CAC/B,QACA,CACES,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,YACvDa,WAAY,CACV,CACEC,QAAS,QACTC,MAAO,WACPC,SAAU,WAGdC,8BAA+B,CAAC,SAChC,mBAAoB,SACpBhB,YAAa,CACXC,MAAO,MACPC,iBAAiB,MAKzBC,SAAU,CACR,kBAAmB,CACjBjC,YAAY,EACZkC,MAAM,GAERC,MAAO,CACLY,QAAS,YAKnB"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/library.ts","../src/react.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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction library({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { library };\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';\n//import reactRecommended from 'eslint-plugin-react/configs/recommended.js';\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 { Config } from './Config';\n\nconst globals = globalsImp as Record<string, Record<string, boolean>>;\n\nfunction react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {\n return config(\n js.configs.recommended,\n imports.flatConfigs.recommended,\n imports.flatConfigs.typescript,\n ...configs.recommended,\n ...configs.recommendedTypeChecked,\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 languageOptions: {\n parserOptions: {\n ecmaVersion: 'latest',\n sourceType: 'module',\n project: true,\n tsconfigRootDir: './',\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 '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/no-explicit-any': 'error',\n 'no-unused-vars': 'off',\n '@typescript-eslint/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 { react };\n"],"names":["globals","globalsImp","library","ignores","config","js","configs","recommended","imports","flatConfigs","typescript","recommendedTypeChecked","files","jest","languageOptions","prettierRecommended","parserOptions","ecmaVersion","sourceType","project","tsconfigRootDir","plugins","unusedImports","rules","semi","trailingComma","singleQuote","printWidth","tabWidth","usePrettierrc","fileInfoOptions","withNodeModules","vars","varsIgnorePattern","args","argsIgnorePattern","ignoreCase","ignoreDeclarationSort","ignoreMemberSort","groups","alphabetize","order","caseInsensitive","settings","node","react","reactPlugin","flat","serviceworker","Object","keys","browser","reduce","acc","key","trim","reactHooks","jsxSingleQuote","pathGroups","pattern","group","position","pathGroupsExcludedImportTypes","version"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarsilla/eslint-config",
3
- "version": "0.0.35",
3
+ "version": "0.0.36",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -30,16 +30,14 @@
30
30
  "prepub": "npm run build",
31
31
  "pub": "npm publish --access public"
32
32
  },
33
- "peerDependencies": {
34
- "eslint": "^8.57.0"
35
- },
36
33
  "dependencies": {
37
34
  "@eslint/js": "^9.19.0",
38
35
  "@types/node": "^22.13.1",
36
+ "eslint": "^9.19.0",
39
37
  "eslint-config-prettier": "^10.0.1",
40
38
  "eslint-import-resolver-typescript": "^3.7.0",
41
- "eslint-plugin-jest": "^28.11.0",
42
39
  "eslint-plugin-import": "^2.31.0",
40
+ "eslint-plugin-jest": "^28.11.0",
43
41
  "eslint-plugin-prettier": "^5.2.3",
44
42
  "eslint-plugin-react": "^7.37.4",
45
43
  "eslint-plugin-react-hooks": "^5.1.0",
package/src/react.ts CHANGED
@@ -29,9 +29,20 @@ function react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {
29
29
  ...reactPlugin.configs.flat.recommended.languageOptions,
30
30
  globals: {
31
31
  ...globals.serviceworker,
32
- ...globals.browser,
32
+ ...Object.keys(globals.browser).reduce<Record<string, boolean>>((acc, key) => {
33
+ acc[key.trim()] = globals.browser[key];
34
+ return acc;
35
+ }, {}),
33
36
  },
34
37
  },
38
+ plugins: {
39
+ 'react-hooks': reactHooks,
40
+ },
41
+ rules: {
42
+ ...reactHooks.configs.recommended.rules,
43
+ 'react/react-in-jsx-scope': 'off',
44
+ 'react/jsx-uses-react': 'off',
45
+ },
35
46
  },
36
47
  {
37
48
  files: ['**/*.test.{js,ts,jsx,tsx}'],
@@ -58,7 +69,6 @@ function react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {
58
69
  },
59
70
  plugins: {
60
71
  'unused-imports': unusedImports,
61
- 'react-hooks': reactHooks,
62
72
  },
63
73
  rules: {
64
74
  'prettier/prettier': [
@@ -78,9 +88,6 @@ function react({ ignores }: Config): TSESLint.FlatConfig.ConfigArray {
78
88
  },
79
89
  },
80
90
  ],
81
- ...reactHooks.configs.recommended.rules,
82
- 'react/react-in-jsx-scope': 'off',
83
- 'react/jsx-uses-react': 'off',
84
91
  '@typescript-eslint/explicit-module-boundary-types': 'error',
85
92
  '@typescript-eslint/no-explicit-any': 'error',
86
93
  'no-unused-vars': 'off',