@anolilab/eslint-config
Version:
ESLint shareable config for the Anolilab JavaScript style guide.
26 lines (21 loc) • 14.1 kB
JavaScript
;
var chunkSEYYGHPU_js = require('./chunk-SEYYGHPU.js');
var chunkWW4PDMXQ_js = require('./chunk-WW4PDMXQ.js');
require('./chunk-5RAVHY5O.js');
require('@rushstack/eslint-patch/modern-module-resolution');
var path = require('path');
var packageJsonUtils = require('@anolilab/package-json-utils');
var k = require('globals');
var semver = require('semver');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var k__default = /*#__PURE__*/_interopDefault(k);
var O=["best-practices","errors","style","es6","variables"],r=["compat","eslint-comments","import","promise","simple-import-sort","no-extend-native","node","no-secrets","sonarjs","security","regexp","jsonc","markdown","toml","yml","html","no-loops","antfu","unicorn","es","perfectionist"],D=[{configName:"array-func",dependencies:["eslint-plugin-array-func"]},{configName:"jsdoc",dependencies:["eslint-plugin-jsdoc"]},{configName:"tsdoc",dependencies:["eslint-plugin-tsdoc","typescript"]},{configName:"you-dont-need-lodash-underscore",dependencies:["eslint-plugin-you-dont-need-lodash-underscore"],oneOfDependency:["lodash","underscore","lodash-es","@types/lodash","lodash.chunk","lodash.compact","lodash.concat","lodash.difference","lodash.differenceby","lodash.differencewith","lodash.drop","lodash.dropright","lodash.droprightwhile","lodash.dropwhile","lodash.fill","lodash.findindex","lodash.findlastindex","lodash.flatten","lodash.flattendeep","lodash.flattendepth","lodash.frompairs","lodash.head","lodash.indexof","lodash.initial","lodash.intersection","lodash.intersectionby","lodash.intersectionwith","lodash.join","lodash.last","lodash.lastindexof","lodash.nth","lodash.pull","lodash.pullall","lodash.pullallby","lodash.pullallwith","lodash.pullat","lodash.remove","lodash.reverse","lodash.slice","lodash.sortedindex","lodash.sortedindexby","lodash.sortedindexof","lodash.sortedlastindex","lodash.sortedlastindexby","lodash.sortedlastindexof","lodash.sorteduniq","lodash.sorteduniqby","lodash.tail","lodash.take","lodash.takeright","lodash.takerightwhile","lodash.takewhile","lodash.union","lodash.unionby","lodash.unionwith","lodash.uniq","lodash.uniqby","lodash.uniqwith","lodash.unzip","lodash.unzipwith","lodash.without","lodash.xor","lodash.xorby","lodash.xorwith","lodash.zip","lodash.zipobject","lodash.zipobjectdeep","lodash.zipwith","lodash.countby","lodash.every","lodash.filter","lodash.find","lodash.findlast","lodash.flatmap","lodash.flatmapdeep","lodash.flatmapdepth","lodash.foreach","lodash.foreachright","lodash.groupby","lodash.includes","lodash.invokemap","lodash.keyby","lodash.map","lodash.orderby","lodash.partition","lodash.reduce","lodash.reduceright","lodash.reject","lodash.sample","lodash.samplesize","lodash.shuffle","lodash.size","lodash.some","lodash.sortby","lodash.now","lodash.after","lodash.ary","lodash.before","lodash.bind","lodash.bindkey","lodash.curry","lodash.curryright","lodash.debounce","lodash.defer","lodash.delay","lodash.flip","lodash.memoize","lodash.negate","lodash.once","lodash.overargs","lodash.partial","lodash.partialright","lodash.rearg","lodash.rest","lodash.spread","lodash.throttle","lodash.unary","lodash.wrap","lodash.castarray","lodash.clone","lodash.clonedeep","lodash.clonedeepwith","lodash.clonewith","lodash.conformsto","lodash.eq","lodash.gt","lodash.gte","lodash.isarguments","lodash.isarray","lodash.isarraybuffer","lodash.isarraylike","lodash.isarraylikeobject","lodash.isboolean","lodash.isbuffer","lodash.isdate","lodash.iselement","lodash.isempty","lodash.isequal","lodash.isequalwith","lodash.iserror","lodash.isfinite","lodash.isfunction","lodash.isinteger","lodash.islength","lodash.ismap","lodash.ismatch","lodash.ismatchwith","lodash.isnan","lodash.isnative","lodash.isnil","lodash.isnull","lodash.isnumber","lodash.isobject","lodash.isobjectlike","lodash.isplainobject","lodash.isregexp","lodash.issafeinteger","lodash.isset","lodash.isstring","lodash.issymbol","lodash.istypedarray","lodash.isundefined","lodash.isweakmap","lodash.isweakset","lodash.lt","lodash.lte","lodash.toarray","lodash.tofinite","lodash.tointeger","lodash.tolength","lodash.tonumber","lodash.toplainobject","lodash.tosafeinteger","lodash.tostring","lodash.add","lodash.ceil","lodash.divide","lodash.floor","lodash.max","lodash.maxby","lodash.mean","lodash.meanby","lodash.min","lodash.minby","lodash.multiply","lodash.round","lodash.subtract","lodash.sum","lodash.sumby","lodash.clamp","lodash.inrange","lodash.random","lodash.assign","lodash.assignin","lodash.assigninwith","lodash.assignwith","lodash.at","lodash.create","lodash.defaults","lodash.defaultsdeep","lodash.findkey","lodash.findlastkey","lodash.forin","lodash.forinright","lodash.forown","lodash.forownright","lodash.functions","lodash.functionsin","lodash.get","lodash.has","lodash.hasin","lodash.invert","lodash.invertby","lodash.invoke","lodash.keys","lodash.keysin","lodash.mapkeys","lodash.mapvalues","lodash.merge","lodash.mergewith","lodash.omit","lodash.omitby","lodash.pick","lodash.pickby","lodash.result","lodash.set","lodash.setwith","lodash.topairs","lodash.topairsin","lodash.transform","lodash.unset","lodash.update","lodash.updatewith","lodash.values","lodash.valuesin","lodash.chain","lodash.tap","lodash.thru","lodash.camelcase","lodash.capitalize","lodash.deburr","lodash.endswith","lodash.escape","lodash.escaperegexp","lodash.kebabcase","lodash.lowercase","lodash.lowerfirst","lodash.pad","lodash.padend","lodash.padstart","lodash.parseint","lodash.repeat","lodash.replace","lodash.snakecase","lodash.split","lodash.startcase","lodash.startswith","lodash.template","lodash.tolower","lodash.toupper","lodash.trim","lodash.trimend","lodash.trimstart","lodash.truncate","lodash.unescape","lodash.uppercase","lodash.upperfirst","lodash.words","lodash.attempt","lodash.bindall","lodash.cond","lodash.conforms","lodash.constant","lodash.defaultto","lodash.flow","lodash.flowright","lodash.identity","lodash.iteratee","lodash.matches","lodash.matchesproperty","lodash.method","lodash.methodof","lodash.mixin","lodash.noconflict","lodash.noop","lodash.ntharg","lodash.over","lodash.overevery","lodash.oversome","lodash.property","lodash.propertyof","lodash.range","lodash.rangeright","lodash.runincontext","lodash.stubarray","lodash.stubfalse","lodash.stubobject","lodash.stubstring","lodash.stubtrue","lodash.times","lodash.topath","lodash.uniqueid"]},{configName:"mdx",dependencies:["eslint-plugin-mdx"],oneOfDependency:["nextra","docz","@docusaurus/core","gatsby-plugin-mdx"],resolve:["@mdx-js/mdx","remark-mdx","@mdx-js/loader","@mdx-js/rollup","@mdx-js/react"]},{configName:"no-unsanitized",dependencies:["eslint-plugin-no-unsanitized"]},{configName:"react",dependencies:["react","react-dom","eslint-plugin-react"]},{configName:"validate-jsx-nesting",dependencies:["eslint-plugin-validate-jsx-nesting"],oneOfDependency:["react","react-dom","preact","preact/compat"]},{configName:"ssr-friendly",dependencies:["eslint-plugin-ssr-friendly"],oneOfDependency:["react","react-dom","preact","preact/compat"]},{configName:"react-redux",dependencies:["eslint-plugin-react-redux"],oneOfDependency:["@reduxjs/toolkit","redux"]},{configName:"jsx-a11y",dependencies:["eslint-plugin-jsx-a11y"],oneOfDependency:["react","react-dom","preact","preact/compat"]},{configName:"react-hooks",dependencies:["eslint-plugin-react-hooks"],oneOfDependency:["react","react-dom","preact","preact/compat"]},{configName:"react-usememo",dependencies:["@arthurgeron/eslint-plugin-react-usememo"],oneOfDependency:["react","react-dom","preact","preact/compat"]},{configName:"you-dont-need-momentjs",dependencies:["moment","eslint-plugin-you-dont-need-momentjs"]},{configName:"you-dont-need-momentjs",dependencies:["moment-timezone","eslint-plugin-you-dont-need-momentjs"]},{configName:"tailwindcss",dependencies:["eslint-plugin-tailwindcss"],oneOfDependency:["tailwindcss","@tailwindcss/typography","@tailwindcss/forms","@tailwindcss/aspect-ratio","@tailwindcss/line-clamp"]},{configName:"cypress",dependencies:["cypress","eslint-plugin-cypress"]},{configName:"jest",dependencies:["jest","eslint-plugin-jest"]},{configName:"jest-dom",dependencies:["jest","@testing-library/jest-dom","eslint-plugin-jest-dom"]},{configName:"jest-async",dependencies:["jest","eslint-plugin-jest-async"]},{configName:"jest-formatting",dependencies:["jest","eslint-plugin-jest-formatting"]},{configName:"tailwindcss",dependencies:["tailwindcss"]},{configName:"testing-library-dom",dependencies:["@testing-library/dom","eslint-plugin-testing-library"]},{configName:"testing-library-react",dependencies:["react","@testing-library/react","eslint-plugin-testing-library"]},{configName:"typescript",dependencies:["typescript"],files:["tsconfig.json","tsconfig.eslint.json"]},{configName:"deprecation",dependencies:["eslint-plugin-deprecation","typescript"],files:["tsconfig.json","tsconfig.eslint.json"]},{configName:"no-only-tests",dependencies:[],oneOfDependency:["jest","mocha","jasmine","tape","ava","qunit","cypress"]},{configName:"etc",dependencies:["typescript","eslint-plugin-etc"]},{configName:"vitest",dependencies:["vitest","eslint-plugin-vitest"]},{configName:"vitest",dependencies:["vitest","eslint-plugin-vitest","eslint-plugin-vitest-globals"]},{configName:"zod",dependencies:["zod","eslint-plugin-zod"]},{configName:"ava",dependencies:["ava","eslint-plugin-ava"]},{configName:"editorconfig",dependencies:["eslint-plugin-editorconfig"],files:[".editorconfig"]},{configName:"storybook",dependencies:["storybook","eslint-plugin-storybook"]},{configName:"playwright",dependencies:["playwright","eslint-plugin-playwright"]},{configName:"tanstack-query",dependencies:["@tanstack/react-query","@tanstack/eslint-plugin-query"]}],p=[...r],l={};p.length===r.length&&D.forEach(o=>{let{configName:e,dependencies:a}=o;if(chunkWW4PDMXQ_js.a.plugin?.[e]!==!1){let t=[];if(a.forEach(s=>{(packageJsonUtils.hasDependency(s)||packageJsonUtils.hasDevDependency(s))&&t.push(s);}),l[e]={},t.length===0){if(o.oneOfDependency!==void 0){let s=!1;o.oneOfDependency.forEach(i=>{!s&&(packageJsonUtils.hasDependency(i)||packageJsonUtils.hasDevDependency(i))&&(s=!0,l[e][i]=!0);});}o.resolve!==void 0&&o.resolve.forEach(s=>{packageJsonUtils.resolvePackage(s)!==void 0&&(l[e][s]=!0);}),o.files!==void 0&&o.files.forEach(s=>{packageJsonUtils.hasFile(s)&&(l[e][s]=!0);});}t.length===a.length?(delete l[e],p.push(e)):a.forEach(s=>{l[e][s]=packageJsonUtils.hasDependency(s)||packageJsonUtils.hasDevDependency(s);});}});var u=O,m=p,y=l;var R={"n/prefer-global/text-decoder":{"11.0.0":"off"},"n/prefer-global/text-encoder":{"11.0.0":"off"},"n/prefer-global/url":{"10.0.0":"off"},"n/prefer-global/url-search-params":{"10.0.0":"off"},"n/prefer-promises/dns":{"11.14.0":"off"},"n/prefer-promises/fs":{"11.14.0":"off"},"no-useless-catch":{"10.0.0":"off"},"prefer-destructuring":{"6.0.0":"off"},"prefer-named-capture-group":{"10.0.0":"off"},"prefer-object-spread":{"8.3.0":"off"},"prefer-rest-params":{"6.0.0":"off"},"promise/prefer-await-to-then":{"7.6.0":"off"},"unicorn/no-new-buffer":{"5.10.0":"off"},"unicorn/prefer-flat-map":{"11.0.0":"off"},"unicorn/prefer-spread":{"5.0.0":"off"}},b=R;if(!global.hasAnolilabEsLintConfigLoaded){process.env.DEBUG&&(chunkSEYYGHPU_js.b(`
@anolilab/eslint-config loaded the following plugins:
`),chunkSEYYGHPU_js.b(" @rushstack/eslint-plugin-security"),r.map(e=>e==="import"?"i":e==="node"?"n":e).forEach(e=>chunkSEYYGHPU_js.a(e)));let o=!1;Object.entries(y).forEach(([e,a])=>{Object.values(a).some(Boolean)&&(o=!0,chunkSEYYGHPU_js.b(`
Your package.json container dependencies for the "${e}" eslint-plugin, please add the following dependencies with your chosen package manager to enable this plugin:`),Object.entries(a).forEach(([s,i])=>{i||chunkSEYYGHPU_js.b(` ${s}`);}));}),o&&(chunkSEYYGHPU_js.b(`
To disable this message, add the following to your package.json:`),chunkSEYYGHPU_js.b(` "anolilab": { "eslint-config": { plugin: { "plugin-name": false } } }
`)),chunkSEYYGHPU_js.b('To disable all logging, add the following to your eslint command call "NO_LOGS=true eslint ..."'),global.hasAnolilabEsLintConfigLoaded=!0;}var v={},f;packageJsonUtils.pkg?.engines?.node&&(f=packageJsonUtils.pkg.engines.node);Object.entries(b).forEach(([o,e])=>{Object.keys(e).sort(semver.rcompare).forEach(a=>{f&&semver.intersects(f,`<${a}`)&&(v[o]=e[a]);});});!global.hasAnolilabEsLintConfigPrettier&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.hasAnolilabEsLintConfigPrettier=!0,chunkWW4PDMXQ_js.a.info_on_disabling_prettier_conflict_rule!==!1&&chunkSEYYGHPU_js.b(`
Found prettier as dependency, disabling some rules to fix wrong behavior of the rule with eslint and prettier`));var P={extends:[...u.map(o=>path.join(__dirname,`./config/${o}.js`)),...m.map(o=>path.join(__dirname,`./config/plugins/${o}.js`))],globals:{...k__default.default.browser,...k__default.default.nodeBuiltin,...packageJsonUtils.packageIsTypeModule?{__dirname:"off",__filename:"off",exports:"off",require:"off"}:{__dirname:!0,__filename:!0,exports:!0,require:!0}},ignorePatterns:["!.*",".git/","node_modules/","bower_components/","jspm_packages/",".npm/","lib-cov/","coverage/",".nyc_output/",".cache/","build/","dist/","tmp/","**/*.min.*","*.d.ts","pnpm-lock.yaml"],overrides:[{files:["**/migrations/*.{js,ts}"],rules:{"filenames/match-regex":"off"}},{files:["**/*.spec.{js,ts,tsx}","**/*.test.{js,ts,tsx}","**/__mocks__/*.{js,ts,tsx}","**/__tests__/*.{js,ts,tsx}","**/test/*.{js,ts,tsx}"],rules:{"no-magic-numbers":"off","sonarjs/no-duplicate-string":"off"}},{files:packageJsonUtils.packageIsTypeModule?["**/*.js","**/*.mjs"]:["**/*.mjs"],parser:"@babel/eslint-parser",parserOptions:{babelOptions:{plugins:["@babel/plugin-syntax-import-assertions"]},requireConfigFile:!1}},{env:{commonjs:!0},files:["**/*.cjs"],globals:{__dirname:!0,__filename:!0,exports:!0,require:!0}},{env:{commonjs:!1},files:["**/*.mjs"],globals:{__dirname:"off",__filename:"off",exports:"off",require:"off"}}],parser:"",rules:{...v}},J=P;
module.exports = J;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map