@jimmy.codes/eslint-config 3.6.0 → 3.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var B=Object.defineProperty;var r=(e,t)=>B(e,"name",{value:t,configurable:!0});var I=require("eslint-config-prettier"),$=require("astro-eslint-parser"),N=require("eslint-plugin-astro"),u=require("eslint-plugin-jsx-a11y"),d=require("globals"),c=require("typescript-eslint"),h=require("@eslint-community/eslint-plugin-eslint-comments/configs"),a=require("eslint-plugin-import-x"),v=require("eslint-plugin-n"),k=require("eslint-plugin-perfectionist"),F=require("@tanstack/eslint-plugin-query"),y=require("eslint-plugin-react"),J=require("eslint-plugin-react-hooks"),V=require("eslint-plugin-react-refresh"),n=require("local-pkg"),p=require("eslint-plugin-jest"),X=require("eslint-plugin-jest-dom"),q=require("eslint-plugin-testing-library"),O=require("eslint-plugin-unicorn"),z=require("@eslint/js");function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(s){if(s!=="default"){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:r(function(){return e[s]},"get")})}}),t.default=e,Object.freeze(t)}r(g,"_interopNamespaceDefault");var D=g($),U=g(V),_=g(X);const o="?([cm])[jt]s?(x)",H=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/storybook-static","**/.eslint-config-inspector","**/playwright-report","**/.astro","**/.vinxi","**/app.config.timestamp_*.js","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts","**/vite.config.ts.*.mjs","**/*.gen.*","!.storybook"],M="**/*.?([cm])js",j="**/*.?([cm])jsx",E="**/*.?([cm])tsx",m=[`**/__tests__/**/*.${o}`,`**/*.spec.${o}`,`**/*.test.${o}`,`**/*.bench.${o}`,`**/*.benchmark.${o}`],w=[`**/e2e/**/*.spec.${o}`,`**/e2e/**/*.test.${o}`,`**/cypress/**/*.spec.${o}`,`**/cypress/**/*.test.${o}`],Q="**/*.cjs",W="**/*.astro",Y=["vi.mock","describe","expect","it"],K=["@testing-library/react"],Z=r(()=>{const e=[W];return[{files:e,languageOptions:{globals:{...d.node,Astro:!1,Fragment:!1},parser:D,parserOptions:{extraFileExtensions:[".astro"],parser:c.parser},sourceType:"module"},name:"jimmy.codes/astro",plugins:{astro:N,"jsx-a11y":u},processor:"astro/client-side-ts",rules:{...u.configs.recommended.rules,"astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-exports-from-components":"off","astro/no-unused-define-vars-in-style":"error","astro/valid-compile":"error"}},{files:e,...c.configs.disableTypeChecked,name:"jimmy.codes/astro/disable-type-checked"},{name:"jimmy.codes/astro/imports",settings:{"import-x/core-modules":["astro:content"]}}]},"astroConfig"),ee=r(()=>[{files:[Q],languageOptions:{globals:d.commonjs},name:"jimmy.codes/commonjs"}],"commonjsConfig"),re={...h.recommended.rules,"@eslint-community/eslint-comments/no-unused-disable":"off","@eslint-community/eslint-comments/require-description":"error"},te=r(()=>[{...h.recommended,name:"jimmy.codes/eslint-comments",rules:re}],"eslintCommentsConfig"),se={...a.configs.recommended.rules,"import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/extensions":["error","never",{checkTypedImports:!0}],"import-x/first":"error","import-x/namespace":"off","import-x/newline-after-import":"error","import-x/no-absolute-path":"error","import-x/no-duplicates":"error","import-x/no-empty-named-blocks":"error","import-x/no-named-as-default":"error","import-x/no-named-as-default-member":"error","import-x/no-self-import":"error","import-x/no-useless-path-segments":"error"},oe={name:"jimmy.codes/imports/typescript",rules:a.configs.typescript.rules,settings:{...a.configs.typescript.settings,"import-x/resolver":{...a.configs.typescript.settings["import-x/resolver"],typescript:!0}}},ne=r(({typescript:e=!1}={})=>[{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module"}},name:"jimmy.codes/imports",plugins:{"import-x":a,n:v},rules:se,settings:{"import-x/parsers":{espree:[".js",".cjs",".mjs",".jsx"]}}},...e?[oe]:[]],"importsConfig"),ie={"n/no-process-exit":"off","n/prefer-node-protocol":"error"},ce=r(()=>[{name:"jimmy.codes/node",plugins:{n:v},rules:ie}],"nodeConfig"),ae={...k.configs["recommended-natural"].rules,"perfectionist/sort-imports":["error",{customGroups:{type:{},value:{}},environment:"node",groups:["builtin","type","external","internal-type","internal",["parent-type","sibling-type","index-type"],["parent","sibling","index"],"object","unknown"],internalPattern:["~/**","@/**"],order:"asc",type:"natural"}]},pe=r(()=>[{name:"jimmy.codes/perfectionist",plugins:{perfectionist:k},rules:ae}],"perfectionistConfig"),le=r(()=>n.isPackageExists("typescript"),"hasTypescript"),fe=r(()=>n.isPackageExists("react"),"hasReact"),C=r(()=>n.isPackageExists("vitest"),"hasVitest"),T=r(()=>n.isPackageExists("jest"),"hasJest"),ue=r(()=>C()||T(),"hasTesting"),me=r(()=>K.some(e=>n.isPackageExists(e)),"hasTestingLibrary"),de=r(()=>n.isPackageExists("@tanstack/react-query"),"hasReactQuery"),ye=r(()=>n.isPackageExists("astro"),"hasAstro"),ge=r(e=>e===2?"error":e===1?"warn":"off","toStringSeverity"),R=r((e={})=>Object.fromEntries(Object.entries(e).map(([t,s])=>[t,typeof s=="number"?ge(s):s])),"normalizeRuleEntries"),je={...u.configs.recommended.rules,...R(y.configs.flat?.recommended?.rules),...R(y.configs.flat?.["jsx-runtime"]?.rules),"react/boolean-prop-naming":"off","react/button-has-type":"error","react/checked-requires-onchange-or-readonly":"error","react/default-props-match-prop-types":"error","react/destructuring-assignment":"off","react/forbid-component-props":"off","react/forbid-dom-props":"off","react/forbid-elements":"off","react/forbid-foreign-prop-types":"off","react/forbid-prop-types":"off","react/forward-ref-uses-ref":"error","react/function-component-definition":"off","react/hook-use-state":"error","react/iframe-missing-sandbox":"error","react/jsx-boolean-value":["error","never"],"react/jsx-curly-brace-presence":"error","react/jsx-filename-extension":"off","react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":"off","react/jsx-max-depth":"off","react/jsx-no-bind":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-leaked-render":"error","react/jsx-no-literals":"off","react/jsx-no-script-url":"error","react/jsx-no-useless-fragment":"error","react/jsx-one-expression-per-line":"off","react/jsx-pascal-case":["error",{allowNamespace:!0}],"react/jsx-props-no-spread-multi":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-default-props":"off","react/jsx-sort-props":"off","react/no-access-state-in-setstate":"error","react/no-adjacent-inline-elements":"off","react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"error","react/no-danger":"off","react/no-did-mount-set-state":"error","react/no-did-update-set-state":"error","react/no-invalid-html-attribute":"error","react/no-multi-comp":"off","react/no-namespace":"error","react/no-object-type-as-default-prop":"error","react/no-redundant-should-component-update":"error","react/no-set-state":"off","react/no-this-in-sfc":"error","react/no-typos":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/no-unused-prop-types":"error","react/no-unused-state":"error","react/no-will-update-set-state":"error","react/prefer-es6-class":"off","react/prefer-exact-props":"off","react/prefer-read-only-props":"off","react/prefer-stateless-function":"off","react/require-default-props":"off","react/require-optimization":"off","react/self-closing-comp":"error","react/sort-comp":"off","react/sort-default-props":"off","react/sort-prop-types":"off","react/state-in-constructor":"off","react/static-property-placement":"off","react/style-prop-object":"error","react/void-dom-elements-no-children":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-refresh/only-export-components":["warn",{allowConstantExport:!0}]},xe=r(({utilities:e=[]}={},t=!0)=>{const s=e.includes("@tanstack/query")||t&&de();return[{files:[j,E],languageOptions:{globals:{...d.browser},parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:null}},name:"jimmy.codes/react",plugins:{"jsx-a11y":u,react:y,"react-hooks":J,"react-refresh":U},rules:je,settings:{react:{version:"detect"}}},...s?[{files:[j,E],name:"jimmy.codes/react/query",plugins:{"@tanstack/query":F},rules:{"@tanstack/query/exhaustive-deps":"error","@tanstack/query/no-rest-destructuring":"warn","@tanstack/query/stable-query-client":"error"}}]:[]]},"reactConfig"),L={...p.configs["flat/recommended"].rules,...p.configs["flat/style"].rules,"jest/consistent-test-it":["error",{fn:"test",withinDescribe:"it"}],"jest/no-alias-methods":"error","jest/no-commented-out-tests":"error","jest/no-conditional-in-test":"error","jest/no-confusing-set-timeout":"error","jest/no-duplicate-hooks":"error","jest/no-hooks":"off","jest/no-large-snapshots":"off","jest/no-restricted-jest-methods":"off","jest/no-restricted-matchers":"off","jest/no-test-return-statement":"error","jest/no-untyped-mock-factory":"off","jest/prefer-called-with":"error","jest/prefer-comparison-matcher":"error","jest/prefer-each":"error","jest/prefer-equality-matcher":"error","jest/prefer-expect-assertions":"off","jest/prefer-expect-resolves":"error","jest/prefer-hooks-in-order":"error","jest/prefer-hooks-on-top":"error","jest/prefer-lowercase-title":"off","jest/prefer-mock-promise-shorthand":"error","jest/prefer-snapshot-hint":"error","jest/prefer-spy-on":"off","jest/prefer-strict-equal":"error","jest/prefer-todo":"warn","jest/require-hook":"error","jest/require-to-throw-message":"error","jest/require-top-level-describe":"off","jest/unbound-method":"off"},be=r(()=>[{files:m,name:"jimmy.codes/testing/testing-library",plugins:{"jest-dom":_,"testing-library":q},rules:{...q.configs.react.rules,..._.configs["flat/recommended"].rules}},{files:w,name:"jimmy.codes/testing/testing-library/disabled",rules:{"testing-library/prefer-screen-queries":"off"}}],"testingLibraryConfig"),he=r(({framework:e="vitest",utilities:t}={},s=!0)=>{const i=s?C():e==="vitest",l=e==="jest"||s&&T(),f=!!t?.includes("testing-library")||s&&me();return[{files:m,name:"jimmy.codes/testing",...p.configs["flat/recommended"]},...i?[{files:m,name:"jimmy.codes/testing/vitest",...p.configs["flat/recommended"],rules:{...L,"jest/no-deprecated-functions":"off","jest/require-hook":["error",{allowedFunctionCalls:Y}]}}]:[],...l?[{files:m,name:"jimmy.codes/testing/jest",...p.configs["flat/recommended"],rules:L}]:[],{files:w,name:"jimmy.codes/testing/disabled",rules:{"jest/expect-expect":"off","jest/no-deprecated-functions":"off","jest/require-hook":"off"}},...f?be():[]]},"testingConfig"),ve=r(e=>c.config(...c.configs.strictTypeChecked,...c.configs.stylisticTypeChecked.filter(t=>t.name==="typescript-eslint/stylistic-type-checked"),{languageOptions:{parserOptions:{project:e.project,tsconfigRootDir:process.cwd()}},name:"jimmy.codes/typescript",rules:{"@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":["error",{fixStyle:"separate-type-imports"}],"@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:{attributes:!1}}],"@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0}]}},{files:[M,j],...c.configs.disableTypeChecked}),"typescriptConfig"),ke={...O.configs["flat/recommended"].rules,"unicorn/filename-case":"off","unicorn/import-style":"off","unicorn/no-abusive-eslint-disable":"off","unicorn/no-anonymous-default-export":"off","unicorn/no-array-callback-reference":"off","unicorn/no-array-reduce":"off","unicorn/no-null":"off","unicorn/no-process-exit":"off","unicorn/no-useless-undefined":["error",{checkArguments:!1,checkArrowFunctionBody:!1}],"unicorn/prefer-node-protocol":"off","unicorn/prevent-abbreviations":"off"},qe=r(()=>[{...O.configs["flat/recommended"],name:"jimmy.codes/unicorn",rules:ke}],"unicornConfig"),Oe={...z.configs.recommended.rules,"array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","always"],curly:["error","all"],"no-console":"warn","no-useless-rename":"error","object-shorthand":"error","prefer-arrow-callback":"error"},_e=r(e=>typeof e=="object"?e:{project:"./tsconfig.json"},"getTypescriptOptions"),Ee=r(e=>typeof e=="object"?e:{framework:"vitest"},"getTestingOptions"),we=r(e=>typeof e=="object"?e:{utilities:[]},"getReactOptions"),Ce=r(({astro:e=!1,autoDetect:t=!0,configs:s=[],ignores:i=[],react:l=!1,testing:f=!1,typescript:x=!1}={},...P)=>{const b=x||t&&le(),S=l||t&&fe(),A=f||t&&ue(),G=e||t&&ye();return[{linterOptions:{reportUnusedDisableDirectives:!0},name:"jimmy.codes/base",rules:Oe},...pe(),...ce(),...qe(),...te(),...ne({typescript:b}),...b?ve(_e(x)):[],...S?xe(we(l),t):[],...G?Z():[],...A?he(Ee(f),t):[],{name:"jimmy.codes/prettier",...I},...ee(),{ignores:[...H,...i],name:"jimmy.codes/ignores"},...s,...P]},"jimmyDotCodes");module.exports=Ce;
1
+ "use strict";var B=Object.defineProperty;var r=(e,t)=>B(e,"name",{value:t,configurable:!0});var I=require("eslint-config-prettier"),$=require("astro-eslint-parser"),N=require("eslint-plugin-astro"),u=require("eslint-plugin-jsx-a11y"),d=require("globals"),c=require("typescript-eslint"),h=require("@eslint-community/eslint-plugin-eslint-comments/configs"),a=require("eslint-plugin-import-x"),v=require("eslint-plugin-n"),k=require("eslint-plugin-perfectionist"),F=require("@tanstack/eslint-plugin-query"),y=require("eslint-plugin-react"),J=require("eslint-plugin-react-hooks"),V=require("eslint-plugin-react-refresh"),n=require("local-pkg"),p=require("eslint-plugin-jest"),X=require("eslint-plugin-jest-dom"),q=require("eslint-plugin-testing-library"),O=require("eslint-plugin-unicorn"),z=require("@eslint/js");function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(s){if(s!=="default"){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:r(function(){return e[s]},"get")})}}),t.default=e,Object.freeze(t)}r(g,"_interopNamespaceDefault");var D=g($),U=g(V),_=g(X);const o="?([cm])[jt]s?(x)",H=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/storybook-static","**/.eslint-config-inspector","**/playwright-report","**/.astro","**/.vinxi","**/app.config.timestamp_*.js","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts","**/vite.config.ts.*.mjs","**/*.gen.*","!.storybook"],M="**/*.?([cm])js",j="**/*.?([cm])jsx",w="**/*.?([cm])tsx",m=[`**/__tests__/**/*.${o}`,`**/*.spec.${o}`,`**/*.test.${o}`,`**/*.bench.${o}`,`**/*.benchmark.${o}`],E=[`**/e2e/**/*.spec.${o}`,`**/e2e/**/*.test.${o}`,`**/cypress/**/*.spec.${o}`,`**/cypress/**/*.test.${o}`],Q="**/*.cjs",W="**/*.astro",Y=["vi.mock","describe","expect","it"],K=["@testing-library/react"],Z=r(()=>{const e=[W];return[{files:e,languageOptions:{globals:{...d.node,Astro:!1,Fragment:!1},parser:D,parserOptions:{extraFileExtensions:[".astro"],parser:c.parser},sourceType:"module"},name:"jimmy.codes/astro",plugins:{astro:N,"jsx-a11y":u},processor:"astro/client-side-ts",rules:{...u.configs.recommended.rules,"astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-exports-from-components":"off","astro/no-unused-define-vars-in-style":"error","astro/valid-compile":"error"}},{files:e,...c.configs.disableTypeChecked,name:"jimmy.codes/astro/disable-type-checked"},{name:"jimmy.codes/astro/imports",settings:{"import-x/core-modules":["astro:content"]}}]},"astroConfig"),ee=r(()=>[{files:[Q],languageOptions:{globals:d.commonjs},name:"jimmy.codes/commonjs"}],"commonjsConfig"),re={...h.recommended.rules,"@eslint-community/eslint-comments/no-unused-disable":"off","@eslint-community/eslint-comments/require-description":"error"},te=r(()=>[{...h.recommended,name:"jimmy.codes/eslint-comments",rules:re}],"eslintCommentsConfig"),se={...a.configs.recommended.rules,"import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/extensions":["error","never",{checkTypedImports:!0,svg:"always"}],"import-x/first":"error","import-x/namespace":"off","import-x/newline-after-import":"error","import-x/no-absolute-path":"error","import-x/no-duplicates":"error","import-x/no-empty-named-blocks":"error","import-x/no-named-as-default":"error","import-x/no-named-as-default-member":"error","import-x/no-self-import":"error","import-x/no-unresolved":["error",{ignore:[String.raw`\.svg$`]}],"import-x/no-useless-path-segments":"error"},oe={name:"jimmy.codes/imports/typescript",rules:a.configs.typescript.rules,settings:{...a.configs.typescript.settings,"import-x/resolver":{...a.configs.typescript.settings["import-x/resolver"],typescript:!0}}},ne=r(({typescript:e=!1}={})=>[{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module"}},name:"jimmy.codes/imports",plugins:{"import-x":a,n:v},rules:se,settings:{"import-x/parsers":{espree:[".js",".cjs",".mjs",".jsx"]}}},...e?[oe]:[]],"importsConfig"),ie={"n/no-process-exit":"off","n/prefer-node-protocol":"error"},ce=r(()=>[{name:"jimmy.codes/node",plugins:{n:v},rules:ie}],"nodeConfig"),ae={...k.configs["recommended-natural"].rules,"perfectionist/sort-imports":["error",{customGroups:{type:{},value:{}},environment:"node",groups:["builtin","type","external","internal-type","internal",["parent-type","sibling-type","index-type"],["parent","sibling","index"],"object","unknown"],internalPattern:["~/**","@/**"],order:"asc",type:"natural"}]},pe=r(()=>[{name:"jimmy.codes/perfectionist",plugins:{perfectionist:k},rules:ae}],"perfectionistConfig"),le=r(()=>n.isPackageExists("typescript"),"hasTypescript"),fe=r(()=>n.isPackageExists("react"),"hasReact"),C=r(()=>n.isPackageExists("vitest"),"hasVitest"),T=r(()=>n.isPackageExists("jest"),"hasJest"),ue=r(()=>C()||T(),"hasTesting"),me=r(()=>K.some(e=>n.isPackageExists(e)),"hasTestingLibrary"),de=r(()=>n.isPackageExists("@tanstack/react-query"),"hasReactQuery"),ye=r(()=>n.isPackageExists("astro"),"hasAstro"),ge=r(e=>e===2?"error":e===1?"warn":"off","toStringSeverity"),R=r((e={})=>Object.fromEntries(Object.entries(e).map(([t,s])=>[t,typeof s=="number"?ge(s):s])),"normalizeRuleEntries"),je={...u.configs.recommended.rules,...R(y.configs.flat?.recommended?.rules),...R(y.configs.flat?.["jsx-runtime"]?.rules),"react/boolean-prop-naming":"off","react/button-has-type":"error","react/checked-requires-onchange-or-readonly":"error","react/default-props-match-prop-types":"error","react/destructuring-assignment":"off","react/forbid-component-props":"off","react/forbid-dom-props":"off","react/forbid-elements":"off","react/forbid-foreign-prop-types":"off","react/forbid-prop-types":"off","react/forward-ref-uses-ref":"error","react/function-component-definition":"off","react/hook-use-state":"error","react/iframe-missing-sandbox":"error","react/jsx-boolean-value":["error","never"],"react/jsx-curly-brace-presence":"error","react/jsx-filename-extension":"off","react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":"off","react/jsx-max-depth":"off","react/jsx-no-bind":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-leaked-render":"error","react/jsx-no-literals":"off","react/jsx-no-script-url":"error","react/jsx-no-useless-fragment":"error","react/jsx-one-expression-per-line":"off","react/jsx-pascal-case":["error",{allowNamespace:!0}],"react/jsx-props-no-spread-multi":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-default-props":"off","react/jsx-sort-props":"off","react/no-access-state-in-setstate":"error","react/no-adjacent-inline-elements":"off","react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"error","react/no-danger":"off","react/no-did-mount-set-state":"error","react/no-did-update-set-state":"error","react/no-invalid-html-attribute":"error","react/no-multi-comp":"off","react/no-namespace":"error","react/no-object-type-as-default-prop":"error","react/no-redundant-should-component-update":"error","react/no-set-state":"off","react/no-this-in-sfc":"error","react/no-typos":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/no-unused-prop-types":"error","react/no-unused-state":"error","react/no-will-update-set-state":"error","react/prefer-es6-class":"off","react/prefer-exact-props":"off","react/prefer-read-only-props":"off","react/prefer-stateless-function":"off","react/require-default-props":"off","react/require-optimization":"off","react/self-closing-comp":"error","react/sort-comp":"off","react/sort-default-props":"off","react/sort-prop-types":"off","react/state-in-constructor":"off","react/static-property-placement":"off","react/style-prop-object":"error","react/void-dom-elements-no-children":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-refresh/only-export-components":["warn",{allowConstantExport:!0}]},xe=r(({utilities:e=[]}={},t=!0)=>{const s=e.includes("@tanstack/query")||t&&de();return[{files:[j,w],languageOptions:{globals:{...d.browser},parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:null}},name:"jimmy.codes/react",plugins:{"jsx-a11y":u,react:y,"react-hooks":J,"react-refresh":U},rules:je,settings:{react:{version:"detect"}}},...s?[{files:[j,w],name:"jimmy.codes/react/query",plugins:{"@tanstack/query":F},rules:{"@tanstack/query/exhaustive-deps":"error","@tanstack/query/no-rest-destructuring":"warn","@tanstack/query/stable-query-client":"error"}}]:[]]},"reactConfig"),L={...p.configs["flat/recommended"].rules,...p.configs["flat/style"].rules,"jest/consistent-test-it":["error",{fn:"test",withinDescribe:"it"}],"jest/no-alias-methods":"error","jest/no-commented-out-tests":"error","jest/no-conditional-in-test":"error","jest/no-confusing-set-timeout":"error","jest/no-duplicate-hooks":"error","jest/no-hooks":"off","jest/no-large-snapshots":"off","jest/no-restricted-jest-methods":"off","jest/no-restricted-matchers":"off","jest/no-test-return-statement":"error","jest/no-untyped-mock-factory":"off","jest/prefer-called-with":"error","jest/prefer-comparison-matcher":"error","jest/prefer-each":"error","jest/prefer-equality-matcher":"error","jest/prefer-expect-assertions":"off","jest/prefer-expect-resolves":"error","jest/prefer-hooks-in-order":"error","jest/prefer-hooks-on-top":"error","jest/prefer-lowercase-title":"off","jest/prefer-mock-promise-shorthand":"error","jest/prefer-snapshot-hint":"error","jest/prefer-spy-on":"off","jest/prefer-strict-equal":"error","jest/prefer-todo":"warn","jest/require-hook":"error","jest/require-to-throw-message":"error","jest/require-top-level-describe":"off","jest/unbound-method":"off"},be=r(()=>[{files:m,name:"jimmy.codes/testing/testing-library",plugins:{"jest-dom":_,"testing-library":q},rules:{...q.configs.react.rules,..._.configs["flat/recommended"].rules}},{files:E,name:"jimmy.codes/testing/testing-library/disabled",rules:{"testing-library/prefer-screen-queries":"off"}}],"testingLibraryConfig"),he=r(({framework:e="vitest",utilities:t}={},s=!0)=>{const i=s?C():e==="vitest",l=e==="jest"||s&&T(),f=!!t?.includes("testing-library")||s&&me();return[{files:m,name:"jimmy.codes/testing",...p.configs["flat/recommended"]},...i?[{files:m,name:"jimmy.codes/testing/vitest",...p.configs["flat/recommended"],rules:{...L,"jest/no-deprecated-functions":"off","jest/require-hook":["error",{allowedFunctionCalls:Y}]}}]:[],...l?[{files:m,name:"jimmy.codes/testing/jest",...p.configs["flat/recommended"],rules:L}]:[],{files:E,name:"jimmy.codes/testing/disabled",rules:{"jest/expect-expect":"off","jest/no-deprecated-functions":"off","jest/require-hook":"off"}},...f?be():[]]},"testingConfig"),ve=r(e=>c.config(...c.configs.strictTypeChecked,...c.configs.stylisticTypeChecked.filter(t=>t.name==="typescript-eslint/stylistic-type-checked"),{languageOptions:{parserOptions:{project:e.project,tsconfigRootDir:process.cwd()}},name:"jimmy.codes/typescript",rules:{"@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":["error",{fixStyle:"separate-type-imports"}],"@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:{attributes:!1}}],"@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0}]}},{files:[M,j],...c.configs.disableTypeChecked}),"typescriptConfig"),ke={...O.configs["flat/recommended"].rules,"unicorn/filename-case":"off","unicorn/import-style":"off","unicorn/no-abusive-eslint-disable":"off","unicorn/no-anonymous-default-export":"off","unicorn/no-array-callback-reference":"off","unicorn/no-array-reduce":"off","unicorn/no-null":"off","unicorn/no-process-exit":"off","unicorn/no-useless-undefined":["error",{checkArguments:!1,checkArrowFunctionBody:!1}],"unicorn/prefer-node-protocol":"off","unicorn/prevent-abbreviations":"off"},qe=r(()=>[{...O.configs["flat/recommended"],name:"jimmy.codes/unicorn",rules:ke}],"unicornConfig"),Oe={...z.configs.recommended.rules,"array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","always"],curly:["error","all"],"no-console":"warn","no-useless-rename":"error","object-shorthand":"error","prefer-arrow-callback":"error"},_e=r(e=>typeof e=="object"?e:{project:"./tsconfig.json"},"getTypescriptOptions"),we=r(e=>typeof e=="object"?e:{framework:"vitest"},"getTestingOptions"),Ee=r(e=>typeof e=="object"?e:{utilities:[]},"getReactOptions"),Ce=r(({astro:e=!1,autoDetect:t=!0,configs:s=[],ignores:i=[],react:l=!1,testing:f=!1,typescript:x=!1}={},...S)=>{const b=x||t&&le(),P=l||t&&fe(),A=f||t&&ue(),G=e||t&&ye();return[{linterOptions:{reportUnusedDisableDirectives:!0},name:"jimmy.codes/base",rules:Oe},...pe(),...ce(),...qe(),...te(),...ne({typescript:b}),...b?ve(_e(x)):[],...P?xe(Ee(l),t):[],...G?Z():[],...A?he(we(f),t):[],{name:"jimmy.codes/prettier",...I},...ee(),{ignores:[...H,...i],name:"jimmy.codes/ignores"},...s,...S]},"jimmyDotCodes");module.exports=Ce;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,3 @@
1
- import * as eslint_plugin_jest from 'eslint-plugin-jest';
2
1
  import * as eslint_plugin_testing_library from 'eslint-plugin-testing-library';
3
2
  import * as eslint_plugin_jest_dom from 'eslint-plugin-jest-dom';
4
3
  import * as eslint_plugin_react_refresh from 'eslint-plugin-react-refresh';
@@ -1563,312 +1562,312 @@ interface RuleOptions {
1563
1562
  'jest-dom/prefer-to-have-value'?: Linter.RuleEntry<[]>
1564
1563
  /**
1565
1564
  * Enforce `test` and `it` usage conventions
1566
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/consistent-test-it.md
1565
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/consistent-test-it.md
1567
1566
  */
1568
1567
  'jest/consistent-test-it'?: Linter.RuleEntry<JestConsistentTestIt>
1569
1568
  /**
1570
1569
  * Enforce assertion to be made in a test body
1571
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/expect-expect.md
1570
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/expect-expect.md
1572
1571
  */
1573
1572
  'jest/expect-expect'?: Linter.RuleEntry<JestExpectExpect>
1574
1573
  /**
1575
1574
  * Enforces a maximum number assertion calls in a test body
1576
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-expects.md
1575
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/max-expects.md
1577
1576
  */
1578
1577
  'jest/max-expects'?: Linter.RuleEntry<JestMaxExpects>
1579
1578
  /**
1580
1579
  * Enforces a maximum depth to nested describe calls
1581
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-nested-describe.md
1580
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/max-nested-describe.md
1582
1581
  */
1583
1582
  'jest/max-nested-describe'?: Linter.RuleEntry<JestMaxNestedDescribe>
1584
1583
  /**
1585
1584
  * Disallow alias methods
1586
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-alias-methods.md
1585
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-alias-methods.md
1587
1586
  */
1588
1587
  'jest/no-alias-methods'?: Linter.RuleEntry<[]>
1589
1588
  /**
1590
1589
  * Disallow commented out tests
1591
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-commented-out-tests.md
1590
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-commented-out-tests.md
1592
1591
  */
1593
1592
  'jest/no-commented-out-tests'?: Linter.RuleEntry<[]>
1594
1593
  /**
1595
1594
  * Disallow calling `expect` conditionally
1596
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-expect.md
1595
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-conditional-expect.md
1597
1596
  */
1598
1597
  'jest/no-conditional-expect'?: Linter.RuleEntry<[]>
1599
1598
  /**
1600
1599
  * Disallow conditional logic in tests
1601
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-in-test.md
1600
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-conditional-in-test.md
1602
1601
  */
1603
1602
  'jest/no-conditional-in-test'?: Linter.RuleEntry<[]>
1604
1603
  /**
1605
1604
  * Disallow confusing usages of jest.setTimeout
1606
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-confusing-set-timeout.md
1605
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-confusing-set-timeout.md
1607
1606
  */
1608
1607
  'jest/no-confusing-set-timeout'?: Linter.RuleEntry<[]>
1609
1608
  /**
1610
1609
  * Disallow use of deprecated functions
1611
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-deprecated-functions.md
1610
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-deprecated-functions.md
1612
1611
  */
1613
1612
  'jest/no-deprecated-functions'?: Linter.RuleEntry<[]>
1614
1613
  /**
1615
1614
  * Disallow disabled tests
1616
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-disabled-tests.md
1615
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-disabled-tests.md
1617
1616
  */
1618
1617
  'jest/no-disabled-tests'?: Linter.RuleEntry<[]>
1619
1618
  /**
1620
1619
  * Disallow using a callback in asynchronous tests and hooks
1621
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-done-callback.md
1620
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-done-callback.md
1622
1621
  */
1623
1622
  'jest/no-done-callback'?: Linter.RuleEntry<[]>
1624
1623
  /**
1625
1624
  * Disallow duplicate setup and teardown hooks
1626
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-duplicate-hooks.md
1625
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-duplicate-hooks.md
1627
1626
  */
1628
1627
  'jest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1629
1628
  /**
1630
1629
  * Disallow using `exports` in files containing tests
1631
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-export.md
1630
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-export.md
1632
1631
  */
1633
1632
  'jest/no-export'?: Linter.RuleEntry<[]>
1634
1633
  /**
1635
1634
  * Disallow focused tests
1636
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-focused-tests.md
1635
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-focused-tests.md
1637
1636
  */
1638
1637
  'jest/no-focused-tests'?: Linter.RuleEntry<[]>
1639
1638
  /**
1640
1639
  * Disallow setup and teardown hooks
1641
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-hooks.md
1640
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-hooks.md
1642
1641
  */
1643
1642
  'jest/no-hooks'?: Linter.RuleEntry<JestNoHooks>
1644
1643
  /**
1645
1644
  * Disallow identical titles
1646
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-identical-title.md
1645
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-identical-title.md
1647
1646
  */
1648
1647
  'jest/no-identical-title'?: Linter.RuleEntry<[]>
1649
1648
  /**
1650
1649
  * Disallow string interpolation inside snapshots
1651
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-interpolation-in-snapshots.md
1650
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-interpolation-in-snapshots.md
1652
1651
  */
1653
1652
  'jest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
1654
1653
  /**
1655
1654
  * Disallow Jasmine globals
1656
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-jasmine-globals.md
1655
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-jasmine-globals.md
1657
1656
  */
1658
1657
  'jest/no-jasmine-globals'?: Linter.RuleEntry<[]>
1659
1658
  /**
1660
1659
  * Disallow large snapshots
1661
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-large-snapshots.md
1660
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-large-snapshots.md
1662
1661
  */
1663
1662
  'jest/no-large-snapshots'?: Linter.RuleEntry<JestNoLargeSnapshots>
1664
1663
  /**
1665
1664
  * Disallow manually importing from `__mocks__`
1666
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-mocks-import.md
1665
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-mocks-import.md
1667
1666
  */
1668
1667
  'jest/no-mocks-import'?: Linter.RuleEntry<[]>
1669
1668
  /**
1670
1669
  * Disallow specific `jest.` methods
1671
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-jest-methods.md
1670
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-restricted-jest-methods.md
1672
1671
  */
1673
1672
  'jest/no-restricted-jest-methods'?: Linter.RuleEntry<JestNoRestrictedJestMethods>
1674
1673
  /**
1675
1674
  * Disallow specific matchers & modifiers
1676
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-matchers.md
1675
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-restricted-matchers.md
1677
1676
  */
1678
1677
  'jest/no-restricted-matchers'?: Linter.RuleEntry<JestNoRestrictedMatchers>
1679
1678
  /**
1680
1679
  * Disallow using `expect` outside of `it` or `test` blocks
1681
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-standalone-expect.md
1680
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-standalone-expect.md
1682
1681
  */
1683
1682
  'jest/no-standalone-expect'?: Linter.RuleEntry<JestNoStandaloneExpect>
1684
1683
  /**
1685
1684
  * Require using `.only` and `.skip` over `f` and `x`
1686
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-prefixes.md
1685
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-test-prefixes.md
1687
1686
  */
1688
1687
  'jest/no-test-prefixes'?: Linter.RuleEntry<[]>
1689
1688
  /**
1690
1689
  * Disallow explicitly returning from tests
1691
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-return-statement.md
1690
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-test-return-statement.md
1692
1691
  */
1693
1692
  'jest/no-test-return-statement'?: Linter.RuleEntry<[]>
1694
1693
  /**
1695
1694
  * Disallow using `jest.mock()` factories without an explicit type parameter
1696
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-untyped-mock-factory.md
1695
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-untyped-mock-factory.md
1697
1696
  */
1698
1697
  'jest/no-untyped-mock-factory'?: Linter.RuleEntry<[]>
1699
1698
  /**
1700
1699
  * Enforce padding around `afterAll` blocks
1701
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-all-blocks.md
1700
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-after-all-blocks.md
1702
1701
  */
1703
1702
  'jest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>
1704
1703
  /**
1705
1704
  * Enforce padding around `afterEach` blocks
1706
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-each-blocks.md
1705
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-after-each-blocks.md
1707
1706
  */
1708
1707
  'jest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>
1709
1708
  /**
1710
1709
  * Enforce padding around Jest functions
1711
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-all.md
1710
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-all.md
1712
1711
  */
1713
1712
  'jest/padding-around-all'?: Linter.RuleEntry<[]>
1714
1713
  /**
1715
1714
  * Enforce padding around `beforeAll` blocks
1716
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-all-blocks.md
1715
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-before-all-blocks.md
1717
1716
  */
1718
1717
  'jest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>
1719
1718
  /**
1720
1719
  * Enforce padding around `beforeEach` blocks
1721
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-each-blocks.md
1720
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-before-each-blocks.md
1722
1721
  */
1723
1722
  'jest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>
1724
1723
  /**
1725
1724
  * Enforce padding around `describe` blocks
1726
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-describe-blocks.md
1725
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-describe-blocks.md
1727
1726
  */
1728
1727
  'jest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>
1729
1728
  /**
1730
1729
  * Enforce padding around `expect` groups
1731
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-expect-groups.md
1730
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-expect-groups.md
1732
1731
  */
1733
1732
  'jest/padding-around-expect-groups'?: Linter.RuleEntry<[]>
1734
1733
  /**
1735
1734
  * Enforce padding around afterAll blocks
1736
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-test-blocks.md
1735
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-test-blocks.md
1737
1736
  */
1738
1737
  'jest/padding-around-test-blocks'?: Linter.RuleEntry<[]>
1739
1738
  /**
1740
1739
  * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
1741
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-called-with.md
1740
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-called-with.md
1742
1741
  */
1743
1742
  'jest/prefer-called-with'?: Linter.RuleEntry<[]>
1744
1743
  /**
1745
1744
  * Suggest using the built-in comparison matchers
1746
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-comparison-matcher.md
1745
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-comparison-matcher.md
1747
1746
  */
1748
1747
  'jest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
1749
1748
  /**
1750
1749
  * Prefer using `.each` rather than manual loops
1751
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-each.md
1750
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-each.md
1752
1751
  */
1753
1752
  'jest/prefer-each'?: Linter.RuleEntry<[]>
1754
1753
  /**
1755
1754
  * Suggest using the built-in equality matchers
1756
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-equality-matcher.md
1755
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-equality-matcher.md
1757
1756
  */
1758
1757
  'jest/prefer-equality-matcher'?: Linter.RuleEntry<[]>
1759
1758
  /**
1760
1759
  * Suggest using `expect.assertions()` OR `expect.hasAssertions()`
1761
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-assertions.md
1760
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-expect-assertions.md
1762
1761
  */
1763
1762
  'jest/prefer-expect-assertions'?: Linter.RuleEntry<JestPreferExpectAssertions>
1764
1763
  /**
1765
1764
  * Prefer `await expect(...).resolves` over `expect(await ...)` syntax
1766
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-resolves.md
1765
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-expect-resolves.md
1767
1766
  */
1768
1767
  'jest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
1769
1768
  /**
1770
1769
  * Prefer having hooks in a consistent order
1771
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-in-order.md
1770
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-hooks-in-order.md
1772
1771
  */
1773
1772
  'jest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
1774
1773
  /**
1775
1774
  * Suggest having hooks before any test cases
1776
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-on-top.md
1775
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-hooks-on-top.md
1777
1776
  */
1778
1777
  'jest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
1779
1778
  /**
1780
1779
  * Prefer importing Jest globals
1781
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-importing-jest-globals.md
1780
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-importing-jest-globals.md
1782
1781
  */
1783
1782
  'jest/prefer-importing-jest-globals'?: Linter.RuleEntry<JestPreferImportingJestGlobals>
1784
1783
  /**
1785
1784
  * Prefer `jest.mocked()` over `fn as jest.Mock`
1786
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-jest-mocked.md
1785
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-jest-mocked.md
1787
1786
  */
1788
1787
  'jest/prefer-jest-mocked'?: Linter.RuleEntry<[]>
1789
1788
  /**
1790
1789
  * Enforce lowercase test names
1791
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-lowercase-title.md
1790
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-lowercase-title.md
1792
1791
  */
1793
1792
  'jest/prefer-lowercase-title'?: Linter.RuleEntry<JestPreferLowercaseTitle>
1794
1793
  /**
1795
1794
  * Prefer mock resolved/rejected shorthands for promises
1796
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-mock-promise-shorthand.md
1795
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-mock-promise-shorthand.md
1797
1796
  */
1798
1797
  'jest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
1799
1798
  /**
1800
1799
  * Prefer including a hint with external snapshots
1801
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-snapshot-hint.md
1800
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-snapshot-hint.md
1802
1801
  */
1803
1802
  'jest/prefer-snapshot-hint'?: Linter.RuleEntry<JestPreferSnapshotHint>
1804
1803
  /**
1805
1804
  * Suggest using `jest.spyOn()`
1806
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-spy-on.md
1805
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-spy-on.md
1807
1806
  */
1808
1807
  'jest/prefer-spy-on'?: Linter.RuleEntry<[]>
1809
1808
  /**
1810
1809
  * Suggest using `toStrictEqual()`
1811
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-strict-equal.md
1810
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-strict-equal.md
1812
1811
  */
1813
1812
  'jest/prefer-strict-equal'?: Linter.RuleEntry<[]>
1814
1813
  /**
1815
1814
  * Suggest using `toBe()` for primitive literals
1816
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-be.md
1815
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-be.md
1817
1816
  */
1818
1817
  'jest/prefer-to-be'?: Linter.RuleEntry<[]>
1819
1818
  /**
1820
1819
  * Suggest using `toContain()`
1821
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-contain.md
1820
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-contain.md
1822
1821
  */
1823
1822
  'jest/prefer-to-contain'?: Linter.RuleEntry<[]>
1824
1823
  /**
1825
1824
  * Suggest using `toHaveLength()`
1826
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-have-length.md
1825
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-have-length.md
1827
1826
  */
1828
1827
  'jest/prefer-to-have-length'?: Linter.RuleEntry<[]>
1829
1828
  /**
1830
1829
  * Suggest using `test.todo`
1831
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-todo.md
1830
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-todo.md
1832
1831
  */
1833
1832
  'jest/prefer-todo'?: Linter.RuleEntry<[]>
1834
1833
  /**
1835
1834
  * Require setup and teardown code to be within a hook
1836
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-hook.md
1835
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-hook.md
1837
1836
  */
1838
1837
  'jest/require-hook'?: Linter.RuleEntry<JestRequireHook>
1839
1838
  /**
1840
1839
  * Require a message for `toThrow()`
1841
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-to-throw-message.md
1840
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-to-throw-message.md
1842
1841
  */
1843
1842
  'jest/require-to-throw-message'?: Linter.RuleEntry<[]>
1844
1843
  /**
1845
1844
  * Require test cases and hooks to be inside a `describe` block
1846
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-top-level-describe.md
1845
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-top-level-describe.md
1847
1846
  */
1848
1847
  'jest/require-top-level-describe'?: Linter.RuleEntry<JestRequireTopLevelDescribe>
1849
1848
  /**
1850
1849
  * Enforce unbound methods are called with their expected scope
1851
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/unbound-method.md
1850
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/unbound-method.md
1852
1851
  */
1853
1852
  'jest/unbound-method'?: Linter.RuleEntry<JestUnboundMethod>
1854
1853
  /**
1855
1854
  * Enforce valid `describe()` callback
1856
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-describe-callback.md
1855
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-describe-callback.md
1857
1856
  */
1858
1857
  'jest/valid-describe-callback'?: Linter.RuleEntry<[]>
1859
1858
  /**
1860
1859
  * Enforce valid `expect()` usage
1861
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect.md
1860
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-expect.md
1862
1861
  */
1863
1862
  'jest/valid-expect'?: Linter.RuleEntry<JestValidExpect>
1864
1863
  /**
1865
1864
  * Require promises that have expectations in their chain to be valid
1866
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect-in-promise.md
1865
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-expect-in-promise.md
1867
1866
  */
1868
1867
  'jest/valid-expect-in-promise'?: Linter.RuleEntry<[]>
1869
1868
  /**
1870
1869
  * Enforce valid titles
1871
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-title.md
1870
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-title.md
1872
1871
  */
1873
1872
  'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>
1874
1873
  /**
@@ -9930,6 +9929,7 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
9930
9929
  "import-x/consistent-type-specifier-style": ["error", "prefer-top-level"];
9931
9930
  "import-x/extensions": ["error", "never", {
9932
9931
  checkTypedImports: boolean;
9932
+ svg: "always";
9933
9933
  }];
9934
9934
  "import-x/first": "error";
9935
9935
  "import-x/namespace": "off";
@@ -9940,8 +9940,10 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
9940
9940
  "import-x/no-named-as-default": "error";
9941
9941
  "import-x/no-named-as-default-member": "error";
9942
9942
  "import-x/no-self-import": "error";
9943
+ "import-x/no-unresolved": ["error", {
9944
+ ignore: [string];
9945
+ }];
9943
9946
  "import-x/no-useless-path-segments": "error";
9944
- 'import-x/no-unresolved': "error";
9945
9947
  'import-x/named': "error";
9946
9948
  'import-x/default': "error";
9947
9949
  'import-x/export': "error";
@@ -11610,12 +11612,6 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
11610
11612
  "testing-library/prefer-screen-queries": "off";
11611
11613
  };
11612
11614
  plugins?: undefined;
11613
- } | {
11614
- languageOptions: eslint_plugin_jest.LanguageOptions;
11615
- plugins: string[];
11616
- rules: Linter.RulesRecord;
11617
- files: string[];
11618
- name: string;
11619
11615
  } | {
11620
11616
  rules: {
11621
11617
  "jest/consistent-test-it": ["error", {
@@ -11652,18 +11648,15 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
11652
11648
  "jest/require-top-level-describe": "off";
11653
11649
  "jest/unbound-method": "off";
11654
11650
  };
11655
- languageOptions: eslint_plugin_jest.LanguageOptions;
11656
- plugins: string[];
11657
- files: string[];
11658
11651
  name: string;
11659
- } | {
11660
- files: string[];
11661
- name: string;
11662
- rules: {
11663
- "jest/expect-expect": "off";
11664
- "jest/no-deprecated-functions": "off";
11665
- "jest/require-hook": "off";
11666
- };
11652
+ files: Array<string | string[]>;
11653
+ ignores?: string[];
11654
+ language?: string;
11655
+ languageOptions?: Linter.LanguageOptions;
11656
+ linterOptions?: Linter.LinterOptions;
11657
+ processor?: string | Linter.Processor;
11658
+ plugins?: Record<string, eslint.ESLint.Plugin>;
11659
+ settings?: Record<string, unknown>;
11667
11660
  } | {
11668
11661
  name: string;
11669
11662
  rules: {
package/dist/index.d.mts CHANGED
@@ -1,4 +1,3 @@
1
- import * as eslint_plugin_jest from 'eslint-plugin-jest';
2
1
  import * as eslint_plugin_testing_library from 'eslint-plugin-testing-library';
3
2
  import * as eslint_plugin_jest_dom from 'eslint-plugin-jest-dom';
4
3
  import * as eslint_plugin_react_refresh from 'eslint-plugin-react-refresh';
@@ -1563,312 +1562,312 @@ interface RuleOptions {
1563
1562
  'jest-dom/prefer-to-have-value'?: Linter.RuleEntry<[]>
1564
1563
  /**
1565
1564
  * Enforce `test` and `it` usage conventions
1566
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/consistent-test-it.md
1565
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/consistent-test-it.md
1567
1566
  */
1568
1567
  'jest/consistent-test-it'?: Linter.RuleEntry<JestConsistentTestIt>
1569
1568
  /**
1570
1569
  * Enforce assertion to be made in a test body
1571
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/expect-expect.md
1570
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/expect-expect.md
1572
1571
  */
1573
1572
  'jest/expect-expect'?: Linter.RuleEntry<JestExpectExpect>
1574
1573
  /**
1575
1574
  * Enforces a maximum number assertion calls in a test body
1576
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-expects.md
1575
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/max-expects.md
1577
1576
  */
1578
1577
  'jest/max-expects'?: Linter.RuleEntry<JestMaxExpects>
1579
1578
  /**
1580
1579
  * Enforces a maximum depth to nested describe calls
1581
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/max-nested-describe.md
1580
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/max-nested-describe.md
1582
1581
  */
1583
1582
  'jest/max-nested-describe'?: Linter.RuleEntry<JestMaxNestedDescribe>
1584
1583
  /**
1585
1584
  * Disallow alias methods
1586
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-alias-methods.md
1585
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-alias-methods.md
1587
1586
  */
1588
1587
  'jest/no-alias-methods'?: Linter.RuleEntry<[]>
1589
1588
  /**
1590
1589
  * Disallow commented out tests
1591
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-commented-out-tests.md
1590
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-commented-out-tests.md
1592
1591
  */
1593
1592
  'jest/no-commented-out-tests'?: Linter.RuleEntry<[]>
1594
1593
  /**
1595
1594
  * Disallow calling `expect` conditionally
1596
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-expect.md
1595
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-conditional-expect.md
1597
1596
  */
1598
1597
  'jest/no-conditional-expect'?: Linter.RuleEntry<[]>
1599
1598
  /**
1600
1599
  * Disallow conditional logic in tests
1601
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-conditional-in-test.md
1600
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-conditional-in-test.md
1602
1601
  */
1603
1602
  'jest/no-conditional-in-test'?: Linter.RuleEntry<[]>
1604
1603
  /**
1605
1604
  * Disallow confusing usages of jest.setTimeout
1606
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-confusing-set-timeout.md
1605
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-confusing-set-timeout.md
1607
1606
  */
1608
1607
  'jest/no-confusing-set-timeout'?: Linter.RuleEntry<[]>
1609
1608
  /**
1610
1609
  * Disallow use of deprecated functions
1611
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-deprecated-functions.md
1610
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-deprecated-functions.md
1612
1611
  */
1613
1612
  'jest/no-deprecated-functions'?: Linter.RuleEntry<[]>
1614
1613
  /**
1615
1614
  * Disallow disabled tests
1616
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-disabled-tests.md
1615
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-disabled-tests.md
1617
1616
  */
1618
1617
  'jest/no-disabled-tests'?: Linter.RuleEntry<[]>
1619
1618
  /**
1620
1619
  * Disallow using a callback in asynchronous tests and hooks
1621
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-done-callback.md
1620
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-done-callback.md
1622
1621
  */
1623
1622
  'jest/no-done-callback'?: Linter.RuleEntry<[]>
1624
1623
  /**
1625
1624
  * Disallow duplicate setup and teardown hooks
1626
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-duplicate-hooks.md
1625
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-duplicate-hooks.md
1627
1626
  */
1628
1627
  'jest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1629
1628
  /**
1630
1629
  * Disallow using `exports` in files containing tests
1631
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-export.md
1630
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-export.md
1632
1631
  */
1633
1632
  'jest/no-export'?: Linter.RuleEntry<[]>
1634
1633
  /**
1635
1634
  * Disallow focused tests
1636
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-focused-tests.md
1635
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-focused-tests.md
1637
1636
  */
1638
1637
  'jest/no-focused-tests'?: Linter.RuleEntry<[]>
1639
1638
  /**
1640
1639
  * Disallow setup and teardown hooks
1641
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-hooks.md
1640
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-hooks.md
1642
1641
  */
1643
1642
  'jest/no-hooks'?: Linter.RuleEntry<JestNoHooks>
1644
1643
  /**
1645
1644
  * Disallow identical titles
1646
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-identical-title.md
1645
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-identical-title.md
1647
1646
  */
1648
1647
  'jest/no-identical-title'?: Linter.RuleEntry<[]>
1649
1648
  /**
1650
1649
  * Disallow string interpolation inside snapshots
1651
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-interpolation-in-snapshots.md
1650
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-interpolation-in-snapshots.md
1652
1651
  */
1653
1652
  'jest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
1654
1653
  /**
1655
1654
  * Disallow Jasmine globals
1656
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-jasmine-globals.md
1655
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-jasmine-globals.md
1657
1656
  */
1658
1657
  'jest/no-jasmine-globals'?: Linter.RuleEntry<[]>
1659
1658
  /**
1660
1659
  * Disallow large snapshots
1661
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-large-snapshots.md
1660
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-large-snapshots.md
1662
1661
  */
1663
1662
  'jest/no-large-snapshots'?: Linter.RuleEntry<JestNoLargeSnapshots>
1664
1663
  /**
1665
1664
  * Disallow manually importing from `__mocks__`
1666
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-mocks-import.md
1665
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-mocks-import.md
1667
1666
  */
1668
1667
  'jest/no-mocks-import'?: Linter.RuleEntry<[]>
1669
1668
  /**
1670
1669
  * Disallow specific `jest.` methods
1671
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-jest-methods.md
1670
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-restricted-jest-methods.md
1672
1671
  */
1673
1672
  'jest/no-restricted-jest-methods'?: Linter.RuleEntry<JestNoRestrictedJestMethods>
1674
1673
  /**
1675
1674
  * Disallow specific matchers & modifiers
1676
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-restricted-matchers.md
1675
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-restricted-matchers.md
1677
1676
  */
1678
1677
  'jest/no-restricted-matchers'?: Linter.RuleEntry<JestNoRestrictedMatchers>
1679
1678
  /**
1680
1679
  * Disallow using `expect` outside of `it` or `test` blocks
1681
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-standalone-expect.md
1680
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-standalone-expect.md
1682
1681
  */
1683
1682
  'jest/no-standalone-expect'?: Linter.RuleEntry<JestNoStandaloneExpect>
1684
1683
  /**
1685
1684
  * Require using `.only` and `.skip` over `f` and `x`
1686
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-prefixes.md
1685
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-test-prefixes.md
1687
1686
  */
1688
1687
  'jest/no-test-prefixes'?: Linter.RuleEntry<[]>
1689
1688
  /**
1690
1689
  * Disallow explicitly returning from tests
1691
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-test-return-statement.md
1690
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-test-return-statement.md
1692
1691
  */
1693
1692
  'jest/no-test-return-statement'?: Linter.RuleEntry<[]>
1694
1693
  /**
1695
1694
  * Disallow using `jest.mock()` factories without an explicit type parameter
1696
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/no-untyped-mock-factory.md
1695
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/no-untyped-mock-factory.md
1697
1696
  */
1698
1697
  'jest/no-untyped-mock-factory'?: Linter.RuleEntry<[]>
1699
1698
  /**
1700
1699
  * Enforce padding around `afterAll` blocks
1701
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-all-blocks.md
1700
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-after-all-blocks.md
1702
1701
  */
1703
1702
  'jest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>
1704
1703
  /**
1705
1704
  * Enforce padding around `afterEach` blocks
1706
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-after-each-blocks.md
1705
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-after-each-blocks.md
1707
1706
  */
1708
1707
  'jest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>
1709
1708
  /**
1710
1709
  * Enforce padding around Jest functions
1711
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-all.md
1710
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-all.md
1712
1711
  */
1713
1712
  'jest/padding-around-all'?: Linter.RuleEntry<[]>
1714
1713
  /**
1715
1714
  * Enforce padding around `beforeAll` blocks
1716
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-all-blocks.md
1715
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-before-all-blocks.md
1717
1716
  */
1718
1717
  'jest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>
1719
1718
  /**
1720
1719
  * Enforce padding around `beforeEach` blocks
1721
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-before-each-blocks.md
1720
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-before-each-blocks.md
1722
1721
  */
1723
1722
  'jest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>
1724
1723
  /**
1725
1724
  * Enforce padding around `describe` blocks
1726
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-describe-blocks.md
1725
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-describe-blocks.md
1727
1726
  */
1728
1727
  'jest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>
1729
1728
  /**
1730
1729
  * Enforce padding around `expect` groups
1731
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-expect-groups.md
1730
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-expect-groups.md
1732
1731
  */
1733
1732
  'jest/padding-around-expect-groups'?: Linter.RuleEntry<[]>
1734
1733
  /**
1735
1734
  * Enforce padding around afterAll blocks
1736
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/padding-around-test-blocks.md
1735
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/padding-around-test-blocks.md
1737
1736
  */
1738
1737
  'jest/padding-around-test-blocks'?: Linter.RuleEntry<[]>
1739
1738
  /**
1740
1739
  * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
1741
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-called-with.md
1740
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-called-with.md
1742
1741
  */
1743
1742
  'jest/prefer-called-with'?: Linter.RuleEntry<[]>
1744
1743
  /**
1745
1744
  * Suggest using the built-in comparison matchers
1746
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-comparison-matcher.md
1745
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-comparison-matcher.md
1747
1746
  */
1748
1747
  'jest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
1749
1748
  /**
1750
1749
  * Prefer using `.each` rather than manual loops
1751
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-each.md
1750
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-each.md
1752
1751
  */
1753
1752
  'jest/prefer-each'?: Linter.RuleEntry<[]>
1754
1753
  /**
1755
1754
  * Suggest using the built-in equality matchers
1756
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-equality-matcher.md
1755
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-equality-matcher.md
1757
1756
  */
1758
1757
  'jest/prefer-equality-matcher'?: Linter.RuleEntry<[]>
1759
1758
  /**
1760
1759
  * Suggest using `expect.assertions()` OR `expect.hasAssertions()`
1761
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-assertions.md
1760
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-expect-assertions.md
1762
1761
  */
1763
1762
  'jest/prefer-expect-assertions'?: Linter.RuleEntry<JestPreferExpectAssertions>
1764
1763
  /**
1765
1764
  * Prefer `await expect(...).resolves` over `expect(await ...)` syntax
1766
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-expect-resolves.md
1765
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-expect-resolves.md
1767
1766
  */
1768
1767
  'jest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
1769
1768
  /**
1770
1769
  * Prefer having hooks in a consistent order
1771
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-in-order.md
1770
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-hooks-in-order.md
1772
1771
  */
1773
1772
  'jest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
1774
1773
  /**
1775
1774
  * Suggest having hooks before any test cases
1776
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-hooks-on-top.md
1775
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-hooks-on-top.md
1777
1776
  */
1778
1777
  'jest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
1779
1778
  /**
1780
1779
  * Prefer importing Jest globals
1781
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-importing-jest-globals.md
1780
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-importing-jest-globals.md
1782
1781
  */
1783
1782
  'jest/prefer-importing-jest-globals'?: Linter.RuleEntry<JestPreferImportingJestGlobals>
1784
1783
  /**
1785
1784
  * Prefer `jest.mocked()` over `fn as jest.Mock`
1786
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-jest-mocked.md
1785
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-jest-mocked.md
1787
1786
  */
1788
1787
  'jest/prefer-jest-mocked'?: Linter.RuleEntry<[]>
1789
1788
  /**
1790
1789
  * Enforce lowercase test names
1791
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-lowercase-title.md
1790
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-lowercase-title.md
1792
1791
  */
1793
1792
  'jest/prefer-lowercase-title'?: Linter.RuleEntry<JestPreferLowercaseTitle>
1794
1793
  /**
1795
1794
  * Prefer mock resolved/rejected shorthands for promises
1796
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-mock-promise-shorthand.md
1795
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-mock-promise-shorthand.md
1797
1796
  */
1798
1797
  'jest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
1799
1798
  /**
1800
1799
  * Prefer including a hint with external snapshots
1801
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-snapshot-hint.md
1800
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-snapshot-hint.md
1802
1801
  */
1803
1802
  'jest/prefer-snapshot-hint'?: Linter.RuleEntry<JestPreferSnapshotHint>
1804
1803
  /**
1805
1804
  * Suggest using `jest.spyOn()`
1806
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-spy-on.md
1805
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-spy-on.md
1807
1806
  */
1808
1807
  'jest/prefer-spy-on'?: Linter.RuleEntry<[]>
1809
1808
  /**
1810
1809
  * Suggest using `toStrictEqual()`
1811
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-strict-equal.md
1810
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-strict-equal.md
1812
1811
  */
1813
1812
  'jest/prefer-strict-equal'?: Linter.RuleEntry<[]>
1814
1813
  /**
1815
1814
  * Suggest using `toBe()` for primitive literals
1816
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-be.md
1815
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-be.md
1817
1816
  */
1818
1817
  'jest/prefer-to-be'?: Linter.RuleEntry<[]>
1819
1818
  /**
1820
1819
  * Suggest using `toContain()`
1821
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-contain.md
1820
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-contain.md
1822
1821
  */
1823
1822
  'jest/prefer-to-contain'?: Linter.RuleEntry<[]>
1824
1823
  /**
1825
1824
  * Suggest using `toHaveLength()`
1826
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-to-have-length.md
1825
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-to-have-length.md
1827
1826
  */
1828
1827
  'jest/prefer-to-have-length'?: Linter.RuleEntry<[]>
1829
1828
  /**
1830
1829
  * Suggest using `test.todo`
1831
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/prefer-todo.md
1830
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/prefer-todo.md
1832
1831
  */
1833
1832
  'jest/prefer-todo'?: Linter.RuleEntry<[]>
1834
1833
  /**
1835
1834
  * Require setup and teardown code to be within a hook
1836
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-hook.md
1835
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-hook.md
1837
1836
  */
1838
1837
  'jest/require-hook'?: Linter.RuleEntry<JestRequireHook>
1839
1838
  /**
1840
1839
  * Require a message for `toThrow()`
1841
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-to-throw-message.md
1840
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-to-throw-message.md
1842
1841
  */
1843
1842
  'jest/require-to-throw-message'?: Linter.RuleEntry<[]>
1844
1843
  /**
1845
1844
  * Require test cases and hooks to be inside a `describe` block
1846
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/require-top-level-describe.md
1845
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/require-top-level-describe.md
1847
1846
  */
1848
1847
  'jest/require-top-level-describe'?: Linter.RuleEntry<JestRequireTopLevelDescribe>
1849
1848
  /**
1850
1849
  * Enforce unbound methods are called with their expected scope
1851
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/unbound-method.md
1850
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/unbound-method.md
1852
1851
  */
1853
1852
  'jest/unbound-method'?: Linter.RuleEntry<JestUnboundMethod>
1854
1853
  /**
1855
1854
  * Enforce valid `describe()` callback
1856
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-describe-callback.md
1855
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-describe-callback.md
1857
1856
  */
1858
1857
  'jest/valid-describe-callback'?: Linter.RuleEntry<[]>
1859
1858
  /**
1860
1859
  * Enforce valid `expect()` usage
1861
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect.md
1860
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-expect.md
1862
1861
  */
1863
1862
  'jest/valid-expect'?: Linter.RuleEntry<JestValidExpect>
1864
1863
  /**
1865
1864
  * Require promises that have expectations in their chain to be valid
1866
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-expect-in-promise.md
1865
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-expect-in-promise.md
1867
1866
  */
1868
1867
  'jest/valid-expect-in-promise'?: Linter.RuleEntry<[]>
1869
1868
  /**
1870
1869
  * Enforce valid titles
1871
- * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.8.3/docs/rules/valid-title.md
1870
+ * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-title.md
1872
1871
  */
1873
1872
  'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>
1874
1873
  /**
@@ -9930,6 +9929,7 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
9930
9929
  "import-x/consistent-type-specifier-style": ["error", "prefer-top-level"];
9931
9930
  "import-x/extensions": ["error", "never", {
9932
9931
  checkTypedImports: boolean;
9932
+ svg: "always";
9933
9933
  }];
9934
9934
  "import-x/first": "error";
9935
9935
  "import-x/namespace": "off";
@@ -9940,8 +9940,10 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
9940
9940
  "import-x/no-named-as-default": "error";
9941
9941
  "import-x/no-named-as-default-member": "error";
9942
9942
  "import-x/no-self-import": "error";
9943
+ "import-x/no-unresolved": ["error", {
9944
+ ignore: [string];
9945
+ }];
9943
9946
  "import-x/no-useless-path-segments": "error";
9944
- 'import-x/no-unresolved': "error";
9945
9947
  'import-x/named': "error";
9946
9948
  'import-x/default': "error";
9947
9949
  'import-x/export': "error";
@@ -11610,12 +11612,6 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
11610
11612
  "testing-library/prefer-screen-queries": "off";
11611
11613
  };
11612
11614
  plugins?: undefined;
11613
- } | {
11614
- languageOptions: eslint_plugin_jest.LanguageOptions;
11615
- plugins: string[];
11616
- rules: Linter.RulesRecord;
11617
- files: string[];
11618
- name: string;
11619
11615
  } | {
11620
11616
  rules: {
11621
11617
  "jest/consistent-test-it": ["error", {
@@ -11652,18 +11648,15 @@ declare const jimmyDotCodes: ({ astro, autoDetect, configs, ignores, react, test
11652
11648
  "jest/require-top-level-describe": "off";
11653
11649
  "jest/unbound-method": "off";
11654
11650
  };
11655
- languageOptions: eslint_plugin_jest.LanguageOptions;
11656
- plugins: string[];
11657
- files: string[];
11658
11651
  name: string;
11659
- } | {
11660
- files: string[];
11661
- name: string;
11662
- rules: {
11663
- "jest/expect-expect": "off";
11664
- "jest/no-deprecated-functions": "off";
11665
- "jest/require-hook": "off";
11666
- };
11652
+ files: Array<string | string[]>;
11653
+ ignores?: string[];
11654
+ language?: string;
11655
+ languageOptions?: Linter.LanguageOptions;
11656
+ linterOptions?: Linter.LinterOptions;
11657
+ processor?: string | Linter.Processor;
11658
+ plugins?: Record<string, eslint.ESLint.Plugin>;
11659
+ settings?: Record<string, unknown>;
11667
11660
  } | {
11668
11661
  name: string;
11669
11662
  rules: {
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var B=Object.defineProperty;var r=(e,t)=>B(e,"name",{value:t,configurable:!0});import I from"eslint-config-prettier";import*as $ from"astro-eslint-parser";import P from"eslint-plugin-astro";import f from"eslint-plugin-jsx-a11y";import d from"globals";import{parser as F,configs as m,config as N}from"typescript-eslint";import b from"@eslint-community/eslint-plugin-eslint-comments/configs";import i from"eslint-plugin-import-x";import h from"eslint-plugin-n";import k from"eslint-plugin-perfectionist";import J from"@tanstack/eslint-plugin-query";import y from"eslint-plugin-react";import V from"eslint-plugin-react-hooks";import*as X from"eslint-plugin-react-refresh";import{isPackageExists as n}from"local-pkg";import c from"eslint-plugin-jest";import*as v from"eslint-plugin-jest-dom";import O from"eslint-plugin-testing-library";import w from"eslint-plugin-unicorn";import U from"@eslint/js";const s="?([cm])[jt]s?(x)",z=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/storybook-static","**/.eslint-config-inspector","**/playwright-report","**/.astro","**/.vinxi","**/app.config.timestamp_*.js","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts","**/vite.config.ts.*.mjs","**/*.gen.*","!.storybook"],H="**/*.?([cm])js",g="**/*.?([cm])jsx",C="**/*.?([cm])tsx",l=[`**/__tests__/**/*.${s}`,`**/*.spec.${s}`,`**/*.test.${s}`,`**/*.bench.${s}`,`**/*.benchmark.${s}`],T=[`**/e2e/**/*.spec.${s}`,`**/e2e/**/*.test.${s}`,`**/cypress/**/*.spec.${s}`,`**/cypress/**/*.test.${s}`],M="**/*.cjs",Q="**/*.astro",W=["vi.mock","describe","expect","it"],Y=["@testing-library/react"],D=r(()=>{const e=[Q];return[{files:e,languageOptions:{globals:{...d.node,Astro:!1,Fragment:!1},parser:$,parserOptions:{extraFileExtensions:[".astro"],parser:F},sourceType:"module"},name:"jimmy.codes/astro",plugins:{astro:P,"jsx-a11y":f},processor:"astro/client-side-ts",rules:{...f.configs.recommended.rules,"astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-exports-from-components":"off","astro/no-unused-define-vars-in-style":"error","astro/valid-compile":"error"}},{files:e,...m.disableTypeChecked,name:"jimmy.codes/astro/disable-type-checked"},{name:"jimmy.codes/astro/imports",settings:{"import-x/core-modules":["astro:content"]}}]},"astroConfig"),K=r(()=>[{files:[M],languageOptions:{globals:d.commonjs},name:"jimmy.codes/commonjs"}],"commonjsConfig"),Z={...b.recommended.rules,"@eslint-community/eslint-comments/no-unused-disable":"off","@eslint-community/eslint-comments/require-description":"error"},ee=r(()=>[{...b.recommended,name:"jimmy.codes/eslint-comments",rules:Z}],"eslintCommentsConfig"),re={...i.configs.recommended.rules,"import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/extensions":["error","never",{checkTypedImports:!0}],"import-x/first":"error","import-x/namespace":"off","import-x/newline-after-import":"error","import-x/no-absolute-path":"error","import-x/no-duplicates":"error","import-x/no-empty-named-blocks":"error","import-x/no-named-as-default":"error","import-x/no-named-as-default-member":"error","import-x/no-self-import":"error","import-x/no-useless-path-segments":"error"},te={name:"jimmy.codes/imports/typescript",rules:i.configs.typescript.rules,settings:{...i.configs.typescript.settings,"import-x/resolver":{...i.configs.typescript.settings["import-x/resolver"],typescript:!0}}},oe=r(({typescript:e=!1}={})=>[{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module"}},name:"jimmy.codes/imports",plugins:{"import-x":i,n:h},rules:re,settings:{"import-x/parsers":{espree:[".js",".cjs",".mjs",".jsx"]}}},...e?[te]:[]],"importsConfig"),se={"n/no-process-exit":"off","n/prefer-node-protocol":"error"},ne=r(()=>[{name:"jimmy.codes/node",plugins:{n:h},rules:se}],"nodeConfig"),ie={...k.configs["recommended-natural"].rules,"perfectionist/sort-imports":["error",{customGroups:{type:{},value:{}},environment:"node",groups:["builtin","type","external","internal-type","internal",["parent-type","sibling-type","index-type"],["parent","sibling","index"],"object","unknown"],internalPattern:["~/**","@/**"],order:"asc",type:"natural"}]},ce=r(()=>[{name:"jimmy.codes/perfectionist",plugins:{perfectionist:k},rules:ie}],"perfectionistConfig"),ae=r(()=>n("typescript"),"hasTypescript"),pe=r(()=>n("react"),"hasReact"),_=r(()=>n("vitest"),"hasVitest"),R=r(()=>n("jest"),"hasJest"),fe=r(()=>_()||R(),"hasTesting"),me=r(()=>Y.some(e=>n(e)),"hasTestingLibrary"),le=r(()=>n("@tanstack/react-query"),"hasReactQuery"),ue=r(()=>n("astro"),"hasAstro"),de=r(e=>e===2?"error":e===1?"warn":"off","toStringSeverity"),q=r((e={})=>Object.fromEntries(Object.entries(e).map(([t,o])=>[t,typeof o=="number"?de(o):o])),"normalizeRuleEntries"),ye={...f.configs.recommended.rules,...q(y.configs.flat?.recommended?.rules),...q(y.configs.flat?.["jsx-runtime"]?.rules),"react/boolean-prop-naming":"off","react/button-has-type":"error","react/checked-requires-onchange-or-readonly":"error","react/default-props-match-prop-types":"error","react/destructuring-assignment":"off","react/forbid-component-props":"off","react/forbid-dom-props":"off","react/forbid-elements":"off","react/forbid-foreign-prop-types":"off","react/forbid-prop-types":"off","react/forward-ref-uses-ref":"error","react/function-component-definition":"off","react/hook-use-state":"error","react/iframe-missing-sandbox":"error","react/jsx-boolean-value":["error","never"],"react/jsx-curly-brace-presence":"error","react/jsx-filename-extension":"off","react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":"off","react/jsx-max-depth":"off","react/jsx-no-bind":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-leaked-render":"error","react/jsx-no-literals":"off","react/jsx-no-script-url":"error","react/jsx-no-useless-fragment":"error","react/jsx-one-expression-per-line":"off","react/jsx-pascal-case":["error",{allowNamespace:!0}],"react/jsx-props-no-spread-multi":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-default-props":"off","react/jsx-sort-props":"off","react/no-access-state-in-setstate":"error","react/no-adjacent-inline-elements":"off","react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"error","react/no-danger":"off","react/no-did-mount-set-state":"error","react/no-did-update-set-state":"error","react/no-invalid-html-attribute":"error","react/no-multi-comp":"off","react/no-namespace":"error","react/no-object-type-as-default-prop":"error","react/no-redundant-should-component-update":"error","react/no-set-state":"off","react/no-this-in-sfc":"error","react/no-typos":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/no-unused-prop-types":"error","react/no-unused-state":"error","react/no-will-update-set-state":"error","react/prefer-es6-class":"off","react/prefer-exact-props":"off","react/prefer-read-only-props":"off","react/prefer-stateless-function":"off","react/require-default-props":"off","react/require-optimization":"off","react/self-closing-comp":"error","react/sort-comp":"off","react/sort-default-props":"off","react/sort-prop-types":"off","react/state-in-constructor":"off","react/static-property-placement":"off","react/style-prop-object":"error","react/void-dom-elements-no-children":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-refresh/only-export-components":["warn",{allowConstantExport:!0}]},ge=r(({utilities:e=[]}={},t=!0)=>{const o=e.includes("@tanstack/query")||t&&le();return[{files:[g,C],languageOptions:{globals:{...d.browser},parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:null}},name:"jimmy.codes/react",plugins:{"jsx-a11y":f,react:y,"react-hooks":V,"react-refresh":X},rules:ye,settings:{react:{version:"detect"}}},...o?[{files:[g,C],name:"jimmy.codes/react/query",plugins:{"@tanstack/query":J},rules:{"@tanstack/query/exhaustive-deps":"error","@tanstack/query/no-rest-destructuring":"warn","@tanstack/query/stable-query-client":"error"}}]:[]]},"reactConfig"),E={...c.configs["flat/recommended"].rules,...c.configs["flat/style"].rules,"jest/consistent-test-it":["error",{fn:"test",withinDescribe:"it"}],"jest/no-alias-methods":"error","jest/no-commented-out-tests":"error","jest/no-conditional-in-test":"error","jest/no-confusing-set-timeout":"error","jest/no-duplicate-hooks":"error","jest/no-hooks":"off","jest/no-large-snapshots":"off","jest/no-restricted-jest-methods":"off","jest/no-restricted-matchers":"off","jest/no-test-return-statement":"error","jest/no-untyped-mock-factory":"off","jest/prefer-called-with":"error","jest/prefer-comparison-matcher":"error","jest/prefer-each":"error","jest/prefer-equality-matcher":"error","jest/prefer-expect-assertions":"off","jest/prefer-expect-resolves":"error","jest/prefer-hooks-in-order":"error","jest/prefer-hooks-on-top":"error","jest/prefer-lowercase-title":"off","jest/prefer-mock-promise-shorthand":"error","jest/prefer-snapshot-hint":"error","jest/prefer-spy-on":"off","jest/prefer-strict-equal":"error","jest/prefer-todo":"warn","jest/require-hook":"error","jest/require-to-throw-message":"error","jest/require-top-level-describe":"off","jest/unbound-method":"off"},je=r(()=>[{files:l,name:"jimmy.codes/testing/testing-library",plugins:{"jest-dom":v,"testing-library":O},rules:{...O.configs.react.rules,...v.configs["flat/recommended"].rules}},{files:T,name:"jimmy.codes/testing/testing-library/disabled",rules:{"testing-library/prefer-screen-queries":"off"}}],"testingLibraryConfig"),xe=r(({framework:e="vitest",utilities:t}={},o=!0)=>{const u=o?_():e==="vitest",a=e==="jest"||o&&R(),p=!!t?.includes("testing-library")||o&&me();return[{files:l,name:"jimmy.codes/testing",...c.configs["flat/recommended"]},...u?[{files:l,name:"jimmy.codes/testing/vitest",...c.configs["flat/recommended"],rules:{...E,"jest/no-deprecated-functions":"off","jest/require-hook":["error",{allowedFunctionCalls:W}]}}]:[],...a?[{files:l,name:"jimmy.codes/testing/jest",...c.configs["flat/recommended"],rules:E}]:[],{files:T,name:"jimmy.codes/testing/disabled",rules:{"jest/expect-expect":"off","jest/no-deprecated-functions":"off","jest/require-hook":"off"}},...p?je():[]]},"testingConfig"),be=r(e=>N(...m.strictTypeChecked,...m.stylisticTypeChecked.filter(t=>t.name==="typescript-eslint/stylistic-type-checked"),{languageOptions:{parserOptions:{project:e.project,tsconfigRootDir:process.cwd()}},name:"jimmy.codes/typescript",rules:{"@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":["error",{fixStyle:"separate-type-imports"}],"@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:{attributes:!1}}],"@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0}]}},{files:[H,g],...m.disableTypeChecked}),"typescriptConfig"),he={...w.configs["flat/recommended"].rules,"unicorn/filename-case":"off","unicorn/import-style":"off","unicorn/no-abusive-eslint-disable":"off","unicorn/no-anonymous-default-export":"off","unicorn/no-array-callback-reference":"off","unicorn/no-array-reduce":"off","unicorn/no-null":"off","unicorn/no-process-exit":"off","unicorn/no-useless-undefined":["error",{checkArguments:!1,checkArrowFunctionBody:!1}],"unicorn/prefer-node-protocol":"off","unicorn/prevent-abbreviations":"off"},ke=r(()=>[{...w.configs["flat/recommended"],name:"jimmy.codes/unicorn",rules:he}],"unicornConfig"),ve={...U.configs.recommended.rules,"array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","always"],curly:["error","all"],"no-console":"warn","no-useless-rename":"error","object-shorthand":"error","prefer-arrow-callback":"error"},Oe=r(e=>typeof e=="object"?e:{project:"./tsconfig.json"},"getTypescriptOptions"),we=r(e=>typeof e=="object"?e:{framework:"vitest"},"getTestingOptions"),Ce=r(e=>typeof e=="object"?e:{utilities:[]},"getReactOptions"),Te=r(({astro:e=!1,autoDetect:t=!0,configs:o=[],ignores:u=[],react:a=!1,testing:p=!1,typescript:j=!1}={},...L)=>{const x=j||t&&ae(),S=a||t&&pe(),G=p||t&&fe(),A=e||t&&ue();return[{linterOptions:{reportUnusedDisableDirectives:!0},name:"jimmy.codes/base",rules:ve},...ce(),...ne(),...ke(),...ee(),...oe({typescript:x}),...x?be(Oe(j)):[],...S?ge(Ce(a),t):[],...A?D():[],...G?xe(we(p),t):[],{name:"jimmy.codes/prettier",...I},...K(),{ignores:[...z,...u],name:"jimmy.codes/ignores"},...o,...L]},"jimmyDotCodes");export{Te as default};
1
+ var B=Object.defineProperty;var r=(e,t)=>B(e,"name",{value:t,configurable:!0});import I from"eslint-config-prettier";import*as $ from"astro-eslint-parser";import P from"eslint-plugin-astro";import f from"eslint-plugin-jsx-a11y";import d from"globals";import{parser as F,configs as m,config as N}from"typescript-eslint";import b from"@eslint-community/eslint-plugin-eslint-comments/configs";import i from"eslint-plugin-import-x";import h from"eslint-plugin-n";import k from"eslint-plugin-perfectionist";import J from"@tanstack/eslint-plugin-query";import y from"eslint-plugin-react";import V from"eslint-plugin-react-hooks";import*as X from"eslint-plugin-react-refresh";import{isPackageExists as n}from"local-pkg";import c from"eslint-plugin-jest";import*as v from"eslint-plugin-jest-dom";import w from"eslint-plugin-testing-library";import O from"eslint-plugin-unicorn";import U from"@eslint/js";const s="?([cm])[jt]s?(x)",z=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/storybook-static","**/.eslint-config-inspector","**/playwright-report","**/.astro","**/.vinxi","**/app.config.timestamp_*.js","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts","**/vite.config.ts.*.mjs","**/*.gen.*","!.storybook"],H="**/*.?([cm])js",g="**/*.?([cm])jsx",C="**/*.?([cm])tsx",l=[`**/__tests__/**/*.${s}`,`**/*.spec.${s}`,`**/*.test.${s}`,`**/*.bench.${s}`,`**/*.benchmark.${s}`],T=[`**/e2e/**/*.spec.${s}`,`**/e2e/**/*.test.${s}`,`**/cypress/**/*.spec.${s}`,`**/cypress/**/*.test.${s}`],M="**/*.cjs",Q="**/*.astro",W=["vi.mock","describe","expect","it"],Y=["@testing-library/react"],D=r(()=>{const e=[Q];return[{files:e,languageOptions:{globals:{...d.node,Astro:!1,Fragment:!1},parser:$,parserOptions:{extraFileExtensions:[".astro"],parser:F},sourceType:"module"},name:"jimmy.codes/astro",plugins:{astro:P,"jsx-a11y":f},processor:"astro/client-side-ts",rules:{...f.configs.recommended.rules,"astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-exports-from-components":"off","astro/no-unused-define-vars-in-style":"error","astro/valid-compile":"error"}},{files:e,...m.disableTypeChecked,name:"jimmy.codes/astro/disable-type-checked"},{name:"jimmy.codes/astro/imports",settings:{"import-x/core-modules":["astro:content"]}}]},"astroConfig"),K=r(()=>[{files:[M],languageOptions:{globals:d.commonjs},name:"jimmy.codes/commonjs"}],"commonjsConfig"),Z={...b.recommended.rules,"@eslint-community/eslint-comments/no-unused-disable":"off","@eslint-community/eslint-comments/require-description":"error"},ee=r(()=>[{...b.recommended,name:"jimmy.codes/eslint-comments",rules:Z}],"eslintCommentsConfig"),re={...i.configs.recommended.rules,"import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/extensions":["error","never",{checkTypedImports:!0,svg:"always"}],"import-x/first":"error","import-x/namespace":"off","import-x/newline-after-import":"error","import-x/no-absolute-path":"error","import-x/no-duplicates":"error","import-x/no-empty-named-blocks":"error","import-x/no-named-as-default":"error","import-x/no-named-as-default-member":"error","import-x/no-self-import":"error","import-x/no-unresolved":["error",{ignore:[String.raw`\.svg$`]}],"import-x/no-useless-path-segments":"error"},te={name:"jimmy.codes/imports/typescript",rules:i.configs.typescript.rules,settings:{...i.configs.typescript.settings,"import-x/resolver":{...i.configs.typescript.settings["import-x/resolver"],typescript:!0}}},oe=r(({typescript:e=!1}={})=>[{languageOptions:{parserOptions:{ecmaVersion:"latest",sourceType:"module"}},name:"jimmy.codes/imports",plugins:{"import-x":i,n:h},rules:re,settings:{"import-x/parsers":{espree:[".js",".cjs",".mjs",".jsx"]}}},...e?[te]:[]],"importsConfig"),se={"n/no-process-exit":"off","n/prefer-node-protocol":"error"},ne=r(()=>[{name:"jimmy.codes/node",plugins:{n:h},rules:se}],"nodeConfig"),ie={...k.configs["recommended-natural"].rules,"perfectionist/sort-imports":["error",{customGroups:{type:{},value:{}},environment:"node",groups:["builtin","type","external","internal-type","internal",["parent-type","sibling-type","index-type"],["parent","sibling","index"],"object","unknown"],internalPattern:["~/**","@/**"],order:"asc",type:"natural"}]},ce=r(()=>[{name:"jimmy.codes/perfectionist",plugins:{perfectionist:k},rules:ie}],"perfectionistConfig"),ae=r(()=>n("typescript"),"hasTypescript"),pe=r(()=>n("react"),"hasReact"),_=r(()=>n("vitest"),"hasVitest"),R=r(()=>n("jest"),"hasJest"),fe=r(()=>_()||R(),"hasTesting"),me=r(()=>Y.some(e=>n(e)),"hasTestingLibrary"),le=r(()=>n("@tanstack/react-query"),"hasReactQuery"),ue=r(()=>n("astro"),"hasAstro"),de=r(e=>e===2?"error":e===1?"warn":"off","toStringSeverity"),q=r((e={})=>Object.fromEntries(Object.entries(e).map(([t,o])=>[t,typeof o=="number"?de(o):o])),"normalizeRuleEntries"),ye={...f.configs.recommended.rules,...q(y.configs.flat?.recommended?.rules),...q(y.configs.flat?.["jsx-runtime"]?.rules),"react/boolean-prop-naming":"off","react/button-has-type":"error","react/checked-requires-onchange-or-readonly":"error","react/default-props-match-prop-types":"error","react/destructuring-assignment":"off","react/forbid-component-props":"off","react/forbid-dom-props":"off","react/forbid-elements":"off","react/forbid-foreign-prop-types":"off","react/forbid-prop-types":"off","react/forward-ref-uses-ref":"error","react/function-component-definition":"off","react/hook-use-state":"error","react/iframe-missing-sandbox":"error","react/jsx-boolean-value":["error","never"],"react/jsx-curly-brace-presence":"error","react/jsx-filename-extension":"off","react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":"off","react/jsx-max-depth":"off","react/jsx-no-bind":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-leaked-render":"error","react/jsx-no-literals":"off","react/jsx-no-script-url":"error","react/jsx-no-useless-fragment":"error","react/jsx-one-expression-per-line":"off","react/jsx-pascal-case":["error",{allowNamespace:!0}],"react/jsx-props-no-spread-multi":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-default-props":"off","react/jsx-sort-props":"off","react/no-access-state-in-setstate":"error","react/no-adjacent-inline-elements":"off","react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"error","react/no-danger":"off","react/no-did-mount-set-state":"error","react/no-did-update-set-state":"error","react/no-invalid-html-attribute":"error","react/no-multi-comp":"off","react/no-namespace":"error","react/no-object-type-as-default-prop":"error","react/no-redundant-should-component-update":"error","react/no-set-state":"off","react/no-this-in-sfc":"error","react/no-typos":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/no-unused-prop-types":"error","react/no-unused-state":"error","react/no-will-update-set-state":"error","react/prefer-es6-class":"off","react/prefer-exact-props":"off","react/prefer-read-only-props":"off","react/prefer-stateless-function":"off","react/require-default-props":"off","react/require-optimization":"off","react/self-closing-comp":"error","react/sort-comp":"off","react/sort-default-props":"off","react/sort-prop-types":"off","react/state-in-constructor":"off","react/static-property-placement":"off","react/style-prop-object":"error","react/void-dom-elements-no-children":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-refresh/only-export-components":["warn",{allowConstantExport:!0}]},ge=r(({utilities:e=[]}={},t=!0)=>{const o=e.includes("@tanstack/query")||t&&le();return[{files:[g,C],languageOptions:{globals:{...d.browser},parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:null}},name:"jimmy.codes/react",plugins:{"jsx-a11y":f,react:y,"react-hooks":V,"react-refresh":X},rules:ye,settings:{react:{version:"detect"}}},...o?[{files:[g,C],name:"jimmy.codes/react/query",plugins:{"@tanstack/query":J},rules:{"@tanstack/query/exhaustive-deps":"error","@tanstack/query/no-rest-destructuring":"warn","@tanstack/query/stable-query-client":"error"}}]:[]]},"reactConfig"),E={...c.configs["flat/recommended"].rules,...c.configs["flat/style"].rules,"jest/consistent-test-it":["error",{fn:"test",withinDescribe:"it"}],"jest/no-alias-methods":"error","jest/no-commented-out-tests":"error","jest/no-conditional-in-test":"error","jest/no-confusing-set-timeout":"error","jest/no-duplicate-hooks":"error","jest/no-hooks":"off","jest/no-large-snapshots":"off","jest/no-restricted-jest-methods":"off","jest/no-restricted-matchers":"off","jest/no-test-return-statement":"error","jest/no-untyped-mock-factory":"off","jest/prefer-called-with":"error","jest/prefer-comparison-matcher":"error","jest/prefer-each":"error","jest/prefer-equality-matcher":"error","jest/prefer-expect-assertions":"off","jest/prefer-expect-resolves":"error","jest/prefer-hooks-in-order":"error","jest/prefer-hooks-on-top":"error","jest/prefer-lowercase-title":"off","jest/prefer-mock-promise-shorthand":"error","jest/prefer-snapshot-hint":"error","jest/prefer-spy-on":"off","jest/prefer-strict-equal":"error","jest/prefer-todo":"warn","jest/require-hook":"error","jest/require-to-throw-message":"error","jest/require-top-level-describe":"off","jest/unbound-method":"off"},je=r(()=>[{files:l,name:"jimmy.codes/testing/testing-library",plugins:{"jest-dom":v,"testing-library":w},rules:{...w.configs.react.rules,...v.configs["flat/recommended"].rules}},{files:T,name:"jimmy.codes/testing/testing-library/disabled",rules:{"testing-library/prefer-screen-queries":"off"}}],"testingLibraryConfig"),xe=r(({framework:e="vitest",utilities:t}={},o=!0)=>{const u=o?_():e==="vitest",a=e==="jest"||o&&R(),p=!!t?.includes("testing-library")||o&&me();return[{files:l,name:"jimmy.codes/testing",...c.configs["flat/recommended"]},...u?[{files:l,name:"jimmy.codes/testing/vitest",...c.configs["flat/recommended"],rules:{...E,"jest/no-deprecated-functions":"off","jest/require-hook":["error",{allowedFunctionCalls:W}]}}]:[],...a?[{files:l,name:"jimmy.codes/testing/jest",...c.configs["flat/recommended"],rules:E}]:[],{files:T,name:"jimmy.codes/testing/disabled",rules:{"jest/expect-expect":"off","jest/no-deprecated-functions":"off","jest/require-hook":"off"}},...p?je():[]]},"testingConfig"),be=r(e=>N(...m.strictTypeChecked,...m.stylisticTypeChecked.filter(t=>t.name==="typescript-eslint/stylistic-type-checked"),{languageOptions:{parserOptions:{project:e.project,tsconfigRootDir:process.cwd()}},name:"jimmy.codes/typescript",rules:{"@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":["error",{fixStyle:"separate-type-imports"}],"@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:{attributes:!1}}],"@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0}]}},{files:[H,g],...m.disableTypeChecked}),"typescriptConfig"),he={...O.configs["flat/recommended"].rules,"unicorn/filename-case":"off","unicorn/import-style":"off","unicorn/no-abusive-eslint-disable":"off","unicorn/no-anonymous-default-export":"off","unicorn/no-array-callback-reference":"off","unicorn/no-array-reduce":"off","unicorn/no-null":"off","unicorn/no-process-exit":"off","unicorn/no-useless-undefined":["error",{checkArguments:!1,checkArrowFunctionBody:!1}],"unicorn/prefer-node-protocol":"off","unicorn/prevent-abbreviations":"off"},ke=r(()=>[{...O.configs["flat/recommended"],name:"jimmy.codes/unicorn",rules:he}],"unicornConfig"),ve={...U.configs.recommended.rules,"array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","always"],curly:["error","all"],"no-console":"warn","no-useless-rename":"error","object-shorthand":"error","prefer-arrow-callback":"error"},we=r(e=>typeof e=="object"?e:{project:"./tsconfig.json"},"getTypescriptOptions"),Oe=r(e=>typeof e=="object"?e:{framework:"vitest"},"getTestingOptions"),Ce=r(e=>typeof e=="object"?e:{utilities:[]},"getReactOptions"),Te=r(({astro:e=!1,autoDetect:t=!0,configs:o=[],ignores:u=[],react:a=!1,testing:p=!1,typescript:j=!1}={},...L)=>{const x=j||t&&ae(),S=a||t&&pe(),G=p||t&&fe(),A=e||t&&ue();return[{linterOptions:{reportUnusedDisableDirectives:!0},name:"jimmy.codes/base",rules:ve},...ce(),...ne(),...ke(),...ee(),...oe({typescript:x}),...x?be(we(j)):[],...S?ge(Ce(a),t):[],...A?D():[],...G?xe(Oe(p),t):[],{name:"jimmy.codes/prettier",...I},...K(),{ignores:[...z,...u],name:"jimmy.codes/ignores"},...o,...L]},"jimmyDotCodes");export{Te as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jimmy.codes/eslint-config",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "description": "another opinionated eslint config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -42,7 +42,7 @@
42
42
  "eslint-import-resolver-typescript": "^3.6.3",
43
43
  "eslint-plugin-astro": "^1.3.0",
44
44
  "eslint-plugin-import-x": "^4.4.0",
45
- "eslint-plugin-jest": "^28.8.3",
45
+ "eslint-plugin-jest": "^28.9.0",
46
46
  "eslint-plugin-jest-dom": "^5.4.0",
47
47
  "eslint-plugin-jsx-a11y": "^6.10.2",
48
48
  "eslint-plugin-n": "^17.12.0",