@anolilab/eslint-config 13.0.2 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,39 @@
1
+ ## @anolilab/eslint-config [14.0.1](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@14.0.0...@anolilab/eslint-config@14.0.1) (2023-09-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Update eslint rule severity and modify todo comments ([5f9d6fe](https://github.com/anolilab/javascript-style-guide/commit/5f9d6fe2da99599d51a573c98fa1b47f0366e28d))
7
+ * Updated eslint configurations and upgraded module dependencies ([763d446](https://github.com/anolilab/javascript-style-guide/commit/763d44691bbeef33adde14b8c62f32a8e0be286b))
8
+
9
+ ## @anolilab/eslint-config [14.0.0](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@13.0.2...@anolilab/eslint-config@14.0.0) (2023-09-22)
10
+
11
+
12
+ ### ⚠ BREAKING CHANGES
13
+
14
+ * Added new rules for "no-loops", "validate-jsx-nesting", "ssr-friendly", "deprecation", and "no-only-tests"
15
+ Signed-off-by: prisis <d.bannert@anolilab.de>
16
+
17
+ ### Features
18
+
19
+ * Update eslint config and dependencies, added new rules for "no-loops", "validate-jsx-nesting", "ssr-friendly", "deprecation", and "no-only-tests" ([883af9b](https://github.com/anolilab/javascript-style-guide/commit/883af9b331df5feedcee79cad19fe4127b9fd3fd))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * changed optionalDependencies to peerDependencies with peerDependenciesMeta ([2a21b86](https://github.com/anolilab/javascript-style-guide/commit/2a21b861f1ff60483f9ee5762579e4369fca5467))
25
+
26
+
27
+ ### Miscellaneous Chores
28
+
29
+ * updated lock and sorted package.json ([7f7ed5a](https://github.com/anolilab/javascript-style-guide/commit/7f7ed5a79df26e79c61bf2f84c37f86379edf836))
30
+
31
+
32
+
33
+ ### Dependencies
34
+
35
+ * **@anolilab/semantic-release-preset:** upgraded to 7.0.2
36
+
1
37
  ## @anolilab/eslint-config [13.0.2](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@13.0.1...@anolilab/eslint-config@13.0.2) (2023-09-21)
2
38
 
3
39
 
package/README.md CHANGED
@@ -429,6 +429,7 @@ The following test plugins are supported:
429
429
  - eslint-plugin-markdown
430
430
  - eslint-plugin-mdx
431
431
  - eslint-plugin-no-loops
432
+ - eslint-plugin-no-only-tests
432
433
  - eslint-plugin-no-secrets
433
434
  - eslint-plugin-no-use-extend-native
434
435
  - eslint-plugin-promise
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkWG6GTAIA_js = require('./chunk-WG6GTAIA.js');
4
4
 
5
- var r=chunkWG6GTAIA_js.b([{config:{rules:{"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],complexity:["off",11],"consistent-return":"error",curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-location":["error","property"],"dot-notation":["error",{allowKeywords:!0}],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","max-classes-per-file":["error",1],"no-alert":"error","no-caller":"error","no-case-declarations":"error","no-constructor-return":"error","no-div-regex":"off","no-else-return":["error",{allowElseIf:!1}],"no-empty-function":["error",{allow:["arrowFunctions","functions","methods"]}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"off","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-fallthrough":"error","no-floating-decimal":"error","no-global-assign":["error",{exceptions:[]}],"no-implicit-coercion":["off",{allow:[],boolean:!1,number:!0,string:!0}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-iterator":"error","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","no-magic-numbers":["off",{detectObjects:!1,enforceConst:!0,ignore:[],ignoreArrayIndexes:!0}],"no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-native-reassign":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":["error",{ignorePropertyModificationsFor:["acc","accumulator","e","ctx","context","req","request","res","response","$scope","staticContext"],props:!0}],"no-proto":"error","no-redeclare":"error","no-restricted-properties":["error",{message:"arguments.callee is deprecated",object:"arguments",property:"callee"},{message:"Please use Number.isFinite instead",object:"global",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"self",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"window",property:"isFinite"},{message:"Please use Number.isNaN instead",object:"global",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"self",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"window",property:"isNaN"},{message:"Please use Object.defineProperty instead.",property:"__defineGetter__"},{message:"Please use Object.defineProperty instead.",property:"__defineSetter__"},{message:"Use the exponentiation operator (**) instead.",object:"Math",property:"pow"},{message:"Use `Number.isNaN` instead.",object:"globalThis",property:"isNaN"},{message:"Use `Number.isFinite` instead.",object:"globalThis",property:"isFinite"},{message:"Use `Number.parseFloat` instead.",object:"globalThis",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"globalThis",property:"parseInt"},{message:"Use `Number.parseFloat` instead.",object:"window",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"window",property:"parseInt"},{message:"Use `Object.getPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-return-assign":["error","always"],"no-return-await":"error","no-script-url":"error","no-self-assign":["error",{props:!0}],"no-self-compare":"error","no-sequences":"error","no-throw-literal":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTaggedTemplates:!1,allowTernary:!1}],"no-unused-labels":"error","no-useless-call":"off","no-useless-catch":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":"error","no-warning-comments":["off",{location:"start",terms:["todo","fixme","xxx","@todo"]}],"no-with":"error","prefer-named-capture-group":"off","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-regex-literals":"error",radix:"error","require-await":"off","require-unicode-regexp":"off","vars-on-top":"error","wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error"}},type:"all"},{config:{rules:{"no-return-await":"off","no-unused-expressions":"off","no-throw-literal":"off",strict:"off","dot-notation":"off","no-empty-function":"off","no-implied-eval":"off","no-new-func":"off","no-loop-func":"off","no-magic-numbers":"off","no-redeclare":"off"}},type:"typescript"}]),t=r;
5
+ var r=chunkWG6GTAIA_js.b([{config:{rules:{"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],complexity:["off",11],"consistent-return":"error",curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-location":["error","property"],"dot-notation":["error",{allowKeywords:!0}],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","max-classes-per-file":["error",1],"no-alert":"error","no-caller":"error","no-case-declarations":"error","no-constructor-return":"error","no-div-regex":"off","no-else-return":["error",{allowElseIf:!1}],"no-empty-function":["error",{allow:["arrowFunctions","functions","methods"]}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"off","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-fallthrough":"error","no-floating-decimal":"error","no-global-assign":["error",{exceptions:[]}],"no-implicit-coercion":["off",{allow:[],boolean:!1,number:!0,string:!0}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-iterator":"error","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","no-magic-numbers":["off",{detectObjects:!1,enforceConst:!0,ignore:[],ignoreArrayIndexes:!0}],"no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-native-reassign":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":["error",{ignorePropertyModificationsFor:["acc","accumulator","e","ctx","context","req","request","res","response","$scope","staticContext"],props:!0}],"no-proto":"error","no-redeclare":"error","no-restricted-properties":["error",{message:"arguments.callee is deprecated",object:"arguments",property:"callee"},{message:"Please use Number.isFinite instead",object:"global",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"self",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"window",property:"isFinite"},{message:"Please use Number.isNaN instead",object:"global",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"self",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"window",property:"isNaN"},{message:"Please use Object.defineProperty instead.",property:"__defineGetter__"},{message:"Please use Object.defineProperty instead.",property:"__defineSetter__"},{message:"Use the exponentiation operator (**) instead.",object:"Math",property:"pow"},{message:"Use `Number.isNaN` instead.",object:"globalThis",property:"isNaN"},{message:"Use `Number.isFinite` instead.",object:"globalThis",property:"isFinite"},{message:"Use `Number.parseFloat` instead.",object:"globalThis",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"globalThis",property:"parseInt"},{message:"Use `Number.parseFloat` instead.",object:"window",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"window",property:"parseInt"},{message:"Use `Object.getPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-return-assign":["error","always"],"no-return-await":"error","no-script-url":"error","no-self-assign":["error",{props:!0}],"no-self-compare":"error","no-sequences":"error","no-throw-literal":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTaggedTemplates:!1,allowTernary:!1}],"no-unused-labels":"error","no-useless-call":"off","no-useless-catch":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":"error","no-warning-comments":["off",{location:"start",terms:["todo","fixme","xxx","@todo"]}],"no-with":"error","prefer-named-capture-group":"off","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-regex-literals":"error",radix:"error","require-await":"off","require-unicode-regexp":"error","vars-on-top":"error","wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error"}},type:"all"},{config:{rules:{"no-return-await":"off","no-unused-expressions":"off","no-throw-literal":"off",strict:"off","dot-notation":"off","no-empty-function":"off","no-implied-eval":"off","no-new-func":"off","no-loop-func":"off","no-magic-numbers":"off","no-redeclare":"off"}},type:"typescript"}]),t=r;
6
6
 
7
7
  exports.a = t;
8
8
  //# sourceMappingURL=out.js.map
9
- //# sourceMappingURL=chunk-ULHYM44Q.js.map
9
+ //# sourceMappingURL=chunk-X2N7JEGF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/config/best-practices.ts"],"names":["config","createConfigs","best_practices_default"],"mappings":"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","sourcesContent":["import type { Linter } from \"eslint\";\n\nimport { createConfigs } from \"../utils/create-config\";\n\nconst config: Linter.Config = createConfigs([\n {\n config: {\n rules: {\n // enforces getter/setter pairs in objects\n \"accessor-pairs\": \"off\",\n\n // enforces return statements in callbacks of array's methods\n // https://eslint.org/docs/rules/array-callback-return\n \"array-callback-return\": [\"error\", { allowImplicit: true }],\n\n // treat var statements as if they were block scoped\n \"block-scoped-var\": \"error\",\n\n // https://eslint.org/docs/rules/class-methods-use-this\n \"class-methods-use-this\": [\n \"error\",\n {\n exceptMethods: [],\n },\n ],\n\n // enforce that class methods use \"this\"\n // specify the maximum cyclomatic complexity allowed in a program\n complexity: [\"off\", 11],\n\n // require return statements to either always or never specify values\n \"consistent-return\": \"error\",\n\n // specify curly brace conventions for all control statements\n curly: [\"error\", \"multi-line\"],\n\n // require default case in switch statements\n \"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\n // Enforce default clauses in switch statements to be last\n // https://eslint.org/docs/rules/default-case-last\n \"default-case-last\": \"error\",\n\n // https://eslint.org/docs/rules/default-param-last\n \"default-param-last\": \"error\",\n\n // enforces consistent newlines before or after dots\n // https://eslint.org/docs/rules/dot-location\n \"dot-location\": [\"error\", \"property\"],\n\n // require the use of === and !==\n // encourages use of dot notation whenever possible\n \"dot-notation\": [\"error\", { allowKeywords: true }],\n\n // Require grouped accessor pairs in object literals and classes\n // https://eslint.org/docs/rules/eqeqeq\n eqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\n // https://eslint.org/docs/rules/grouped-accessor-pairs\n \"grouped-accessor-pairs\": \"error\",\n\n // enforce a maximum number of classes per file\n // make sure for-in loops have an if statement\n \"guard-for-in\": \"error\",\n\n // https://eslint.org/docs/rules/max-classes-per-file\n \"max-classes-per-file\": [\"error\", 1],\n\n // disallow the use of alert, confirm, and prompt\n \"no-alert\": \"error\",\n\n // disallow lexical declarations in case/default clauses\n // disallow use of arguments.caller or arguments.callee\n \"no-caller\": \"error\",\n\n // Disallow returning value in constructor\n // https://eslint.org/docs/rules/no-case-declarations.html\n \"no-case-declarations\": \"error\",\n\n // disallow division operators explicitly at beginning of regular expression\n // https://eslint.org/docs/rules/no-constructor-return\n \"no-constructor-return\": \"error\",\n\n // disallow else after a return in an if\n // https://eslint.org/docs/rules/no-div-regex\n \"no-div-regex\": \"off\",\n\n // disallow empty functions, except for standalone funcs/arrows\n // https://eslint.org/docs/rules/no-else-return\n \"no-else-return\": [\"error\", { allowElseIf: false }],\n\n // disallow empty destructuring patterns\n // https://eslint.org/docs/rules/no-empty-function\n \"no-empty-function\": [\n \"error\",\n {\n allow: [\"arrowFunctions\", \"functions\", \"methods\"],\n },\n ],\n\n // Disallow empty static blocks\n // https://eslint.org/docs/rules/no-empty-pattern\n \"no-empty-pattern\": \"error\",\n\n // https://eslint.org/docs/latest/rules/no-empty-static-block\n \"no-empty-static-block\": \"error\",\n\n // disallow comparisons to null without a type-checking operator\n \"no-eq-null\": \"off\",\n\n // disallow use of eval()\n \"no-eval\": \"error\",\n\n // disallow adding to native types\n \"no-extend-native\": \"error\",\n\n // disallow Unnecessary Labels\n // disallow unnecessary function binding\n \"no-extra-bind\": \"error\",\n\n // https://eslint.org/docs/rules/no-extra-label\n \"no-extra-label\": \"error\",\n\n // disallow fallthrough of case statements\n \"no-fallthrough\": \"error\",\n\n // disallow reassignments of native objects or read-only globals\n // disallow the use of leading or trailing decimal points in numeric literals\n \"no-floating-decimal\": \"error\",\n // https://eslint.org/docs/rules/no-global-assign\n \"no-global-assign\": [\"error\", { exceptions: [] }],\n\n // disallow implicit type conversions\n // https://eslint.org/docs/rules/no-implicit-coercion\n \"no-implicit-coercion\": [\n \"off\",\n {\n allow: [],\n boolean: false,\n number: true,\n string: true,\n },\n ],\n\n // disallow var and named functions in global scope\n // https://eslint.org/docs/rules/no-implicit-globals\n \"no-implicit-globals\": \"off\",\n\n // disallow use of eval()-like methods\n \"no-implied-eval\": \"error\",\n\n // disallow this keywords outside of classes or class-like objects\n \"no-invalid-this\": \"off\",\n\n // disallow usage of __iterator__ property\n \"no-iterator\": \"error\",\n\n // disallow use of labels for anything other than loops and switches\n \"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\n // disallow unnecessary nested blocks\n \"no-lone-blocks\": \"error\",\n\n // disallow creation of functions within loops\n \"no-loop-func\": \"error\",\n\n // disallow magic numbers\n // https://eslint.org/docs/rules/no-magic-numbers\n \"no-magic-numbers\": [\n \"off\",\n {\n detectObjects: false,\n enforceConst: true,\n ignore: [],\n ignoreArrayIndexes: true,\n },\n ],\n\n // disallow use of multiple spaces\n \"no-multi-spaces\": [\n \"error\",\n {\n ignoreEOLComments: false,\n },\n ],\n\n // disallow use of multiline strings\n \"no-multi-str\": \"error\",\n\n // deprecated in favor of no-global-assign\n \"no-native-reassign\": \"off\",\n\n // disallow use of new operator when not part of the assignment or comparison\n \"no-new\": \"error\",\n\n // disallow use of new operator for Function object\n \"no-new-func\": \"error\",\n\n // Disallow \\8 and \\9 escape sequences in string literals\n // disallows creating new instances of String, Number, and Boolean\n \"no-new-wrappers\": \"error\",\n\n // https://eslint.org/docs/rules/no-nonoctal-decimal-escape\n \"no-nonoctal-decimal-escape\": \"error\",\n\n // disallow use of octal escape sequences in string literals, such as\n // disallow use of (old style) octal literals\n \"no-octal\": \"error\",\n\n // disallow reassignment of function parameters\n // disallow parameter object manipulation except for specific exclusions\n // var foo = 'Copyright \\251';\n \"no-octal-escape\": \"error\",\n\n // rule: https://eslint.org/docs/rules/no-param-reassign.html\n \"no-param-reassign\": [\n \"error\",\n {\n ignorePropertyModificationsFor: [\n \"acc\", // for reduce accumulators\n \"accumulator\", // for reduce accumulators\n \"e\", // for e.returnvalue\n \"ctx\", // for Koa routing\n \"context\", // for Koa routing\n \"req\", // for Express requests\n \"request\", // for Express requests\n \"res\", // for Express responses\n \"response\", // for Express responses\n \"$scope\", // for Angular 1 scopes\n \"staticContext\", // for ReactRouter context\n ],\n props: true,\n },\n ],\n\n // disallow usage of __proto__ property\n \"no-proto\": \"error\",\n\n // disallow certain object properties\n // disallow declaring the same variable more than once\n \"no-redeclare\": \"error\",\n\n // https://eslint.org/docs/rules/no-restricted-properties\n \"no-restricted-properties\": [\n \"error\",\n {\n message: \"arguments.callee is deprecated\",\n object: \"arguments\",\n property: \"callee\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"global\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"self\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"window\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"global\",\n\n property: \"isNaN\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"self\",\n property: \"isNaN\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"window\",\n property: \"isNaN\",\n },\n {\n message: \"Please use Object.defineProperty instead.\",\n property: \"__defineGetter__\",\n },\n {\n message: \"Please use Object.defineProperty instead.\",\n property: \"__defineSetter__\",\n },\n {\n message: \"Use the exponentiation operator (**) instead.\",\n object: \"Math\",\n property: \"pow\",\n },\n {\n message: \"Use `Number.isNaN` instead.\",\n object: \"globalThis\",\n property: \"isNaN\",\n },\n {\n message: \"Use `Number.isFinite` instead.\",\n object: \"globalThis\",\n property: \"isFinite\",\n },\n {\n message: \"Use `Number.parseFloat` instead.\",\n object: \"globalThis\",\n property: \"parseFloat\",\n },\n {\n message: \"Use `Number.parseInt` instead.\",\n object: \"globalThis\",\n property: \"parseInt\",\n },\n {\n message: \"Use `Number.parseFloat` instead.\",\n object: \"window\",\n property: \"parseFloat\",\n },\n {\n message: \"Use `Number.parseInt` instead.\",\n object: \"window\",\n property: \"parseInt\",\n },\n {\n message: \"Use `Object.getPrototypeOf` instead.\",\n property: \"__proto__\",\n },\n {\n message: \"Use `Object.getOwnPropertyDescriptor` instead.\",\n property: \"__lookupGetter__\",\n },\n {\n message: \"Use `Object.getOwnPropertyDescriptor` instead.\",\n property: \"__lookupSetter__\",\n },\n ],\n\n // disallow use of assignment in return statement\n \"no-return-assign\": [\"error\", \"always\"],\n\n // disallow redundant `return await`\n \"no-return-await\": \"error\",\n\n // disallow self assignment\n // disallow use of `javascript:` urls.\n \"no-script-url\": \"error\",\n\n // https://eslint.org/docs/rules/no-self-assign\n \"no-self-assign\": [\n \"error\",\n {\n props: true,\n },\n ],\n\n // disallow comparisons where both sides are exactly the same\n \"no-self-compare\": \"error\",\n\n // disallow use of comma operator\n \"no-sequences\": \"error\",\n\n // disallow unmodified conditions of loops\n // restrict what can be thrown as an exception\n \"no-throw-literal\": \"error\",\n\n // https://eslint.org/docs/rules/no-unmodified-loop-condition\n \"no-unmodified-loop-condition\": \"off\",\n\n // disallow unused labels\n // disallow usage of expressions in statement position\n \"no-unused-expressions\": [\n \"error\",\n {\n allowShortCircuit: false,\n allowTaggedTemplates: false,\n allowTernary: false,\n },\n ],\n\n // https://eslint.org/docs/rules/no-unused-labels\n \"no-unused-labels\": \"error\",\n\n // Disallow unnecessary catch clauses\n // disallow unnecessary .call() and .apply()\n \"no-useless-call\": \"off\",\n\n // disallow useless string concatenation\n // https://eslint.org/docs/rules/no-useless-catch\n \"no-useless-catch\": \"error\",\n\n // disallow unnecessary string escaping\n // https://eslint.org/docs/rules/no-useless-concat\n \"no-useless-concat\": \"error\",\n\n // disallow redundant return; keywords\n // https://eslint.org/docs/rules/no-useless-escape\n \"no-useless-escape\": \"error\",\n\n // disallow use of void operator\n // https://eslint.org/docs/rules/no-useless-return\n \"no-useless-return\": \"error\",\n\n // https://eslint.org/docs/rules/no-void\n \"no-void\": \"error\",\n\n // disallow usage of configurable warning terms in comments: e.g. todo\n \"no-warning-comments\": [\n \"off\",\n {\n location: \"start\",\n terms: [\"todo\", \"fixme\", \"xxx\", \"@todo\"],\n },\n ],\n\n // require using Error objects as Promise rejection reasons\n // disallow use of the with statement\n \"no-with\": \"error\",\n\n // Suggest using named capture group in regular expression\n // https://eslint.org/docs/rules/prefer-named-capture-group\n \"prefer-named-capture-group\": \"off\",\n\n // https://eslint.org/docs/rules/prefer-promise-reject-errors\n \"prefer-promise-reject-errors\": [\"error\", { allowEmptyReject: true }],\n\n // https://eslint.org/docs/rules/prefer-regex-literals\n \"prefer-regex-literals\": \"error\",\n\n // require `await` in `async function` (note: this is a horrible rule that should never be used)\n // require use of the second argument for parseInt()\n radix: \"error\",\n\n // Enforce the use of u flag on RegExp\n // https://eslint.org/docs/rules/require-await\n \"require-await\": \"off\",\n\n // https://eslint.org/docs/rules/require-unicode-regexp\n \"require-unicode-regexp\": \"off\",\n\n // require immediate function invocation to be wrapped in parentheses\n // requires to declare all vars on top of their containing scope\n \"vars-on-top\": \"error\",\n\n // https://eslint.org/docs/rules/wrap-iife.html\n \"wrap-iife\": [\"error\", \"outside\", { functionPrototypeMethods: false }],\n // require or disallow Yoda conditions\n yoda: \"error\",\n },\n },\n type: \"all\",\n },\n // The following rules are enabled in config, but are already checked (more thoroughly) by the TypeScript compiler\n // Some rules also fail in TypeScript files, for example: https://github.com/typescript-eslint/typescript-eslint/issues/662#issuecomment-507081586\n {\n config: {\n rules: {\n // Disallow non-null assertions using the ! postfix operator.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/return-await.md\n \"no-return-await\": \"off\",\n\n // Disallow calling a value with type any.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-expressions.md\n \"no-unused-expressions\": \"off\",\n\n // Disallow type assertions that do not change the type of expression.\n // Disable the \"no-throw-literal\" rule, as it can report incorrect errors on TypeScript code\n \"no-throw-literal\": \"off\",\n\n // Disallow empty exports that don't change anything in a module file.\n // Breaks @typescript-eslint/parser\n strict: \"off\",\n\n // Disable the \"dot-notation\" rule, as it can report incorrect errors on TypeScript code\n \"dot-notation\": \"off\",\n\n // Require explicit return and argument types on exported functions' and classes' public class methods.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md\n \"no-empty-function\": \"off\",\n\n // Disallow using to delete operator on computed key expressions.\n // Disable the \"no-implied-eval\" and \"no-new-func\" rule, as it can report incorrect errors on TypeScript code\n \"no-implied-eval\": \"off\",\n \"no-new-func\": \"off\",\n\n // Disallow extra non-null assertions.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-loop-func.md\n \"no-loop-func\": \"off\",\n\n // Disallow void type outside of generic or return types.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-magic-numbers.md\n \"no-magic-numbers\": \"off\",\n\n // Disallow non-null assertions after an optional chain expression.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-redeclare.md\n \"no-redeclare\": \"off\",\n },\n },\n type: \"typescript\",\n },\n]);\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../src/config/best-practices.ts"],"names":["config","createConfigs","best_practices_default"],"mappings":"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","sourcesContent":["import type { Linter } from \"eslint\";\n\nimport { createConfigs } from \"../utils/create-config\";\n\nconst config: Linter.Config = createConfigs([\n {\n config: {\n rules: {\n // enforces getter/setter pairs in objects\n \"accessor-pairs\": \"off\",\n\n // enforces return statements in callbacks of array's methods\n // https://eslint.org/docs/rules/array-callback-return\n \"array-callback-return\": [\"error\", { allowImplicit: true }],\n\n // treat var statements as if they were block scoped\n \"block-scoped-var\": \"error\",\n\n // https://eslint.org/docs/rules/class-methods-use-this\n \"class-methods-use-this\": [\n \"error\",\n {\n exceptMethods: [],\n },\n ],\n\n // enforce that class methods use \"this\"\n // specify the maximum cyclomatic complexity allowed in a program\n complexity: [\"off\", 11],\n\n // require return statements to either always or never specify values\n \"consistent-return\": \"error\",\n\n // specify curly brace conventions for all control statements\n curly: [\"error\", \"multi-line\"],\n\n // require default case in switch statements\n \"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\n // Enforce default clauses in switch statements to be last\n // https://eslint.org/docs/rules/default-case-last\n \"default-case-last\": \"error\",\n\n // https://eslint.org/docs/rules/default-param-last\n \"default-param-last\": \"error\",\n\n // enforces consistent newlines before or after dots\n // https://eslint.org/docs/rules/dot-location\n \"dot-location\": [\"error\", \"property\"],\n\n // require the use of === and !==\n // encourages use of dot notation whenever possible\n \"dot-notation\": [\"error\", { allowKeywords: true }],\n\n // Require grouped accessor pairs in object literals and classes\n // https://eslint.org/docs/rules/eqeqeq\n eqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\n // https://eslint.org/docs/rules/grouped-accessor-pairs\n \"grouped-accessor-pairs\": \"error\",\n\n // enforce a maximum number of classes per file\n // make sure for-in loops have an if statement\n \"guard-for-in\": \"error\",\n\n // https://eslint.org/docs/rules/max-classes-per-file\n \"max-classes-per-file\": [\"error\", 1],\n\n // disallow the use of alert, confirm, and prompt\n \"no-alert\": \"error\",\n\n // disallow lexical declarations in case/default clauses\n // disallow use of arguments.caller or arguments.callee\n \"no-caller\": \"error\",\n\n // Disallow returning value in constructor\n // https://eslint.org/docs/rules/no-case-declarations.html\n \"no-case-declarations\": \"error\",\n\n // disallow division operators explicitly at beginning of regular expression\n // https://eslint.org/docs/rules/no-constructor-return\n \"no-constructor-return\": \"error\",\n\n // disallow else after a return in an if\n // https://eslint.org/docs/rules/no-div-regex\n \"no-div-regex\": \"off\",\n\n // disallow empty functions, except for standalone funcs/arrows\n // https://eslint.org/docs/rules/no-else-return\n \"no-else-return\": [\"error\", { allowElseIf: false }],\n\n // disallow empty destructuring patterns\n // https://eslint.org/docs/rules/no-empty-function\n \"no-empty-function\": [\n \"error\",\n {\n allow: [\"arrowFunctions\", \"functions\", \"methods\"],\n },\n ],\n\n // Disallow empty static blocks\n // https://eslint.org/docs/rules/no-empty-pattern\n \"no-empty-pattern\": \"error\",\n\n // https://eslint.org/docs/latest/rules/no-empty-static-block\n \"no-empty-static-block\": \"error\",\n\n // disallow comparisons to null without a type-checking operator\n \"no-eq-null\": \"off\",\n\n // disallow use of eval()\n \"no-eval\": \"error\",\n\n // disallow adding to native types\n \"no-extend-native\": \"error\",\n\n // disallow Unnecessary Labels\n // disallow unnecessary function binding\n \"no-extra-bind\": \"error\",\n\n // https://eslint.org/docs/rules/no-extra-label\n \"no-extra-label\": \"error\",\n\n // disallow fallthrough of case statements\n \"no-fallthrough\": \"error\",\n\n // disallow reassignments of native objects or read-only globals\n // disallow the use of leading or trailing decimal points in numeric literals\n \"no-floating-decimal\": \"error\",\n // https://eslint.org/docs/rules/no-global-assign\n \"no-global-assign\": [\"error\", { exceptions: [] }],\n\n // disallow implicit type conversions\n // https://eslint.org/docs/rules/no-implicit-coercion\n \"no-implicit-coercion\": [\n \"off\",\n {\n allow: [],\n boolean: false,\n number: true,\n string: true,\n },\n ],\n\n // disallow var and named functions in global scope\n // https://eslint.org/docs/rules/no-implicit-globals\n \"no-implicit-globals\": \"off\",\n\n // disallow use of eval()-like methods\n \"no-implied-eval\": \"error\",\n\n // disallow this keywords outside of classes or class-like objects\n \"no-invalid-this\": \"off\",\n\n // disallow usage of __iterator__ property\n \"no-iterator\": \"error\",\n\n // disallow use of labels for anything other than loops and switches\n \"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\n // disallow unnecessary nested blocks\n \"no-lone-blocks\": \"error\",\n\n // disallow creation of functions within loops\n \"no-loop-func\": \"error\",\n\n // disallow magic numbers\n // https://eslint.org/docs/rules/no-magic-numbers\n \"no-magic-numbers\": [\n \"off\",\n {\n detectObjects: false,\n enforceConst: true,\n ignore: [],\n ignoreArrayIndexes: true,\n },\n ],\n\n // disallow use of multiple spaces\n \"no-multi-spaces\": [\n \"error\",\n {\n ignoreEOLComments: false,\n },\n ],\n\n // disallow use of multiline strings\n \"no-multi-str\": \"error\",\n\n // deprecated in favor of no-global-assign\n \"no-native-reassign\": \"off\",\n\n // disallow use of new operator when not part of the assignment or comparison\n \"no-new\": \"error\",\n\n // disallow use of new operator for Function object\n \"no-new-func\": \"error\",\n\n // Disallow \\8 and \\9 escape sequences in string literals\n // disallows creating new instances of String, Number, and Boolean\n \"no-new-wrappers\": \"error\",\n\n // https://eslint.org/docs/rules/no-nonoctal-decimal-escape\n \"no-nonoctal-decimal-escape\": \"error\",\n\n // disallow use of octal escape sequences in string literals, such as\n // disallow use of (old style) octal literals\n \"no-octal\": \"error\",\n\n // disallow reassignment of function parameters\n // disallow parameter object manipulation except for specific exclusions\n // var foo = 'Copyright \\251';\n \"no-octal-escape\": \"error\",\n\n // rule: https://eslint.org/docs/rules/no-param-reassign.html\n \"no-param-reassign\": [\n \"error\",\n {\n ignorePropertyModificationsFor: [\n \"acc\", // for reduce accumulators\n \"accumulator\", // for reduce accumulators\n \"e\", // for e.returnvalue\n \"ctx\", // for Koa routing\n \"context\", // for Koa routing\n \"req\", // for Express requests\n \"request\", // for Express requests\n \"res\", // for Express responses\n \"response\", // for Express responses\n \"$scope\", // for Angular 1 scopes\n \"staticContext\", // for ReactRouter context\n ],\n props: true,\n },\n ],\n\n // disallow usage of __proto__ property\n \"no-proto\": \"error\",\n\n // disallow certain object properties\n // disallow declaring the same variable more than once\n \"no-redeclare\": \"error\",\n\n // https://eslint.org/docs/rules/no-restricted-properties\n \"no-restricted-properties\": [\n \"error\",\n {\n message: \"arguments.callee is deprecated\",\n object: \"arguments\",\n property: \"callee\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"global\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"self\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isFinite instead\",\n object: \"window\",\n property: \"isFinite\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"global\",\n\n property: \"isNaN\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"self\",\n property: \"isNaN\",\n },\n {\n message: \"Please use Number.isNaN instead\",\n object: \"window\",\n property: \"isNaN\",\n },\n {\n message: \"Please use Object.defineProperty instead.\",\n property: \"__defineGetter__\",\n },\n {\n message: \"Please use Object.defineProperty instead.\",\n property: \"__defineSetter__\",\n },\n {\n message: \"Use the exponentiation operator (**) instead.\",\n object: \"Math\",\n property: \"pow\",\n },\n {\n message: \"Use `Number.isNaN` instead.\",\n object: \"globalThis\",\n property: \"isNaN\",\n },\n {\n message: \"Use `Number.isFinite` instead.\",\n object: \"globalThis\",\n property: \"isFinite\",\n },\n {\n message: \"Use `Number.parseFloat` instead.\",\n object: \"globalThis\",\n property: \"parseFloat\",\n },\n {\n message: \"Use `Number.parseInt` instead.\",\n object: \"globalThis\",\n property: \"parseInt\",\n },\n {\n message: \"Use `Number.parseFloat` instead.\",\n object: \"window\",\n property: \"parseFloat\",\n },\n {\n message: \"Use `Number.parseInt` instead.\",\n object: \"window\",\n property: \"parseInt\",\n },\n {\n message: \"Use `Object.getPrototypeOf` instead.\",\n property: \"__proto__\",\n },\n {\n message: \"Use `Object.getOwnPropertyDescriptor` instead.\",\n property: \"__lookupGetter__\",\n },\n {\n message: \"Use `Object.getOwnPropertyDescriptor` instead.\",\n property: \"__lookupSetter__\",\n },\n ],\n\n // disallow use of assignment in return statement\n \"no-return-assign\": [\"error\", \"always\"],\n\n // disallow redundant `return await`\n \"no-return-await\": \"error\",\n\n // disallow self assignment\n // disallow use of `javascript:` urls.\n \"no-script-url\": \"error\",\n\n // https://eslint.org/docs/rules/no-self-assign\n \"no-self-assign\": [\n \"error\",\n {\n props: true,\n },\n ],\n\n // disallow comparisons where both sides are exactly the same\n \"no-self-compare\": \"error\",\n\n // disallow use of comma operator\n \"no-sequences\": \"error\",\n\n // disallow unmodified conditions of loops\n // restrict what can be thrown as an exception\n \"no-throw-literal\": \"error\",\n\n // https://eslint.org/docs/rules/no-unmodified-loop-condition\n \"no-unmodified-loop-condition\": \"off\",\n\n // disallow unused labels\n // disallow usage of expressions in statement position\n \"no-unused-expressions\": [\n \"error\",\n {\n allowShortCircuit: false,\n allowTaggedTemplates: false,\n allowTernary: false,\n },\n ],\n\n // https://eslint.org/docs/rules/no-unused-labels\n \"no-unused-labels\": \"error\",\n\n // Disallow unnecessary catch clauses\n // disallow unnecessary .call() and .apply()\n \"no-useless-call\": \"off\",\n\n // disallow useless string concatenation\n // https://eslint.org/docs/rules/no-useless-catch\n \"no-useless-catch\": \"error\",\n\n // disallow unnecessary string escaping\n // https://eslint.org/docs/rules/no-useless-concat\n \"no-useless-concat\": \"error\",\n\n // disallow redundant return; keywords\n // https://eslint.org/docs/rules/no-useless-escape\n \"no-useless-escape\": \"error\",\n\n // disallow use of void operator\n // https://eslint.org/docs/rules/no-useless-return\n \"no-useless-return\": \"error\",\n\n // https://eslint.org/docs/rules/no-void\n \"no-void\": \"error\",\n\n // disallow usage of configurable warning terms in comments: e.g. todo\n \"no-warning-comments\": [\n \"off\",\n {\n location: \"start\",\n terms: [\"todo\", \"fixme\", \"xxx\", \"@todo\"],\n },\n ],\n\n // require using Error objects as Promise rejection reasons\n // disallow use of the with statement\n \"no-with\": \"error\",\n\n // Suggest using named capture group in regular expression\n // https://eslint.org/docs/rules/prefer-named-capture-group\n \"prefer-named-capture-group\": \"off\",\n\n // https://eslint.org/docs/rules/prefer-promise-reject-errors\n \"prefer-promise-reject-errors\": [\"error\", { allowEmptyReject: true }],\n\n // https://eslint.org/docs/rules/prefer-regex-literals\n \"prefer-regex-literals\": \"error\",\n\n // require `await` in `async function` (note: this is a horrible rule that should never be used)\n // require use of the second argument for parseInt()\n radix: \"error\",\n\n // Enforce the use of u flag on RegExp\n // https://eslint.org/docs/rules/require-await\n \"require-await\": \"off\",\n\n // https://eslint.org/docs/rules/require-unicode-regexp\n \"require-unicode-regexp\": \"error\",\n\n // require immediate function invocation to be wrapped in parentheses\n // requires to declare all vars on top of their containing scope\n \"vars-on-top\": \"error\",\n\n // https://eslint.org/docs/rules/wrap-iife.html\n \"wrap-iife\": [\"error\", \"outside\", { functionPrototypeMethods: false }],\n // require or disallow Yoda conditions\n yoda: \"error\",\n },\n },\n type: \"all\",\n },\n // The following rules are enabled in config, but are already checked (more thoroughly) by the TypeScript compiler\n // Some rules also fail in TypeScript files, for example: https://github.com/typescript-eslint/typescript-eslint/issues/662#issuecomment-507081586\n {\n config: {\n rules: {\n // Disallow non-null assertions using the ! postfix operator.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/return-await.md\n \"no-return-await\": \"off\",\n\n // Disallow calling a value with type any.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-expressions.md\n \"no-unused-expressions\": \"off\",\n\n // Disallow type assertions that do not change the type of expression.\n // Disable the \"no-throw-literal\" rule, as it can report incorrect errors on TypeScript code\n \"no-throw-literal\": \"off\",\n\n // Disallow empty exports that don't change anything in a module file.\n // Breaks @typescript-eslint/parser\n strict: \"off\",\n\n // Disable the \"dot-notation\" rule, as it can report incorrect errors on TypeScript code\n \"dot-notation\": \"off\",\n\n // Require explicit return and argument types on exported functions' and classes' public class methods.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md\n \"no-empty-function\": \"off\",\n\n // Disallow using to delete operator on computed key expressions.\n // Disable the \"no-implied-eval\" and \"no-new-func\" rule, as it can report incorrect errors on TypeScript code\n \"no-implied-eval\": \"off\",\n \"no-new-func\": \"off\",\n\n // Disallow extra non-null assertions.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-loop-func.md\n \"no-loop-func\": \"off\",\n\n // Disallow void type outside of generic or return types.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-magic-numbers.md\n \"no-magic-numbers\": \"off\",\n\n // Disallow non-null assertions after an optional chain expression.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-redeclare.md\n \"no-redeclare\": \"off\",\n },\n },\n type: \"typescript\",\n },\n]);\n\nexport default config;\n"]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkULHYM44Q_js = require('../chunk-ULHYM44Q.js');
3
+ var chunkX2N7JEGF_js = require('../chunk-X2N7JEGF.js');
4
4
  require('../chunk-WG6GTAIA.js');
5
5
  require('../chunk-MFE6DF6Y.js');
6
6
 
7
7
 
8
8
 
9
- module.exports = chunkULHYM44Q_js.a;
9
+ module.exports = chunkX2N7JEGF_js.a;
10
10
  //# sourceMappingURL=out.js.map
11
11
  //# sourceMappingURL=best-practices.js.map
@@ -3,13 +3,13 @@
3
3
  var chunkAC2XVGN7_js = require('../../chunk-AC2XVGN7.js');
4
4
  require('../../chunk-O7JDC6TD.js');
5
5
  require('../../chunk-OCCLNRZC.js');
6
- var chunkULHYM44Q_js = require('../../chunk-ULHYM44Q.js');
6
+ var chunkX2N7JEGF_js = require('../../chunk-X2N7JEGF.js');
7
7
  var chunkRAPTRUN2_js = require('../../chunk-RAPTRUN2.js');
8
8
  var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
9
9
  require('../../chunk-MFE6DF6Y.js');
10
10
  var packageJsonUtils = require('@anolilab/package-json-utils');
11
11
 
12
- var n=chunkULHYM44Q_js.a.overrides[0].rules,t=chunkRAPTRUN2_js.a.overrides[0].rules,e=chunkAC2XVGN7_js.a.overrides[0].rules;global.anolilabEslintConfigBabelPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigBabelPrettierRules={"@babel/object-curly-spacing":"off","@babel/semi":"off","babel/quotes":0});var f=chunkWG6GTAIA_js.a("all",{plugins:["babel"],rules:{"babel/camelcase":[...e.camelcase],"babel/new-cap":e["new-cap"],"babel/no-invalid-this":n["no-invalid-this"],"babel/no-unused-expressions":n["no-unused-expressions"],"babel/object-curly-spacing":e["object-curly-spacing"],"babel/quotes":e.quotes,"babel/semi":e.semi,"babel/valid-typeof":t["valid-typeof"],camelcase:"off","new-cap":"off","no-invalid-this":"off","no-unused-expressions":"off","object-curly-spacing":"off",quotes:"off",semi:"off","valid-typeof":"off",...global.anolilabEslintConfigBabelPrettierRules}}),m=f;
12
+ var n=chunkX2N7JEGF_js.a.overrides[0].rules,t=chunkRAPTRUN2_js.a.overrides[0].rules,e=chunkAC2XVGN7_js.a.overrides[0].rules;global.anolilabEslintConfigBabelPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigBabelPrettierRules={"@babel/object-curly-spacing":"off","@babel/semi":"off","babel/quotes":0});var f=chunkWG6GTAIA_js.a("all",{plugins:["babel"],rules:{"babel/camelcase":[...e.camelcase],"babel/new-cap":e["new-cap"],"babel/no-invalid-this":n["no-invalid-this"],"babel/no-unused-expressions":n["no-unused-expressions"],"babel/object-curly-spacing":e["object-curly-spacing"],"babel/quotes":e.quotes,"babel/semi":e.semi,"babel/valid-typeof":t["valid-typeof"],camelcase:"off","new-cap":"off","no-invalid-this":"off","no-unused-expressions":"off","object-curly-spacing":"off",quotes:"off",semi:"off","valid-typeof":"off",...global.anolilabEslintConfigBabelPrettierRules}}),m=f;
13
13
 
14
14
  module.exports = m;
15
15
  //# sourceMappingURL=out.js.map
@@ -0,0 +1,5 @@
1
+ import { Linter } from 'eslint';
2
+
3
+ declare const config: Linter.Config;
4
+
5
+ export { config as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
4
+ require('../../chunk-MFE6DF6Y.js');
5
+
6
+ var t=chunkWG6GTAIA_js.a("typescript",{plugins:["deprecation"],extends:["plugin:deprecation/recommended"]}),n=t;
7
+
8
+ module.exports = n;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=deprecation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/plugins/deprecation.ts"],"names":["config","createConfig","deprecation_default"],"mappings":"4EAKA,IAAMA,EAAwBC,EAAa,aAAc,CACrD,QAAS,CAAC,aAAa,EACvB,QAAS,CAAC,gCAAgC,CAC9C,CAAC,EAEMC,EAAQF","sourcesContent":["import type { Linter } from \"eslint\";\n\nimport { createConfig } from \"../../utils/create-config\";\n\n// @see https://github.com/francoismassart/eslint-plugin-tailwindcss,\nconst config: Linter.Config = createConfig(\"typescript\", {\n plugins: [\"deprecation\"],\n extends: [\"plugin:deprecation/recommended\"],\n});\n\nexport default config;\n"]}
@@ -0,0 +1,5 @@
1
+ import { Linter } from 'eslint';
2
+
3
+ declare const config: Linter.Config;
4
+
5
+ export { config as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
4
+ require('../../chunk-MFE6DF6Y.js');
5
+
6
+ var e=(process.env.VSCODE_PID||process.env.JETBRAINS_IDE)&&!process.env.CI,t=e;var s=chunkWG6GTAIA_js.a("tests",{plugins:["no-only-tests"],rules:{"no-only-tests/no-only-tests":t?"off":"error"}}),f=s;
7
+
8
+ module.exports = f;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=no-only-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/is-in-editor.ts","../../../src/config/plugins/no-only-tests.ts"],"names":["isInEditor","is_in_editor_default","config","createConfig","no_only_tests_default"],"mappings":"4EAAA,IAAMA,GAAc,QAAQ,IAAI,YAAiB,QAAQ,IAAI,gBAAqB,CAAC,QAAQ,IAAI,GAExFC,EAAQD,ECIf,IAAME,EAAwBC,EAAa,QAAS,CAChD,QAAS,CAAC,eAAe,EACzB,MAAO,CACH,8BAA+BF,EAAa,MAAQ,OACxD,CACJ,CAAC,EAEMG,EAAQF","sourcesContent":["const isInEditor = (process.env[\"VSCODE_PID\"] || process.env[\"JETBRAINS_IDE\"]) && !process.env[\"CI\"];\n\nexport default isInEditor;\n","import type { Linter } from \"eslint\";\n\nimport { createConfig } from \"../../utils/create-config\";\nimport isInEditor from \"../../utils/is-in-editor\";\n\n// @see https://github.com/francoismassart/eslint-plugin-tailwindcss,\nconst config: Linter.Config = createConfig(\"tests\", {\n plugins: [\"no-only-tests\"],\n rules: {\n \"no-only-tests/no-only-tests\": isInEditor ? \"off\" : \"error\",\n },\n});\n\nexport default config;\n"]}
@@ -0,0 +1,5 @@
1
+ import { Linter } from 'eslint';
2
+
3
+ declare const config: Linter.Config;
4
+
5
+ export { config as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
4
+ require('../../chunk-MFE6DF6Y.js');
5
+
6
+ var n=chunkWG6GTAIA_js.a("jsx_and_tsx",{plugins:["ssr-friendly"],extends:["plugin:ssr-friendly/recommended"]}),i=n;
7
+
8
+ module.exports = i;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=ssr-friendly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/plugins/ssr-friendly.ts"],"names":["config","createConfig","ssr_friendly_default"],"mappings":"4EAKA,IAAMA,EAAwBC,EAAa,cAAe,CACtD,QAAS,CAAC,cAAc,EACxB,QAAS,CAAC,iCAAiC,CAC/C,CAAC,EAEMC,EAAQF","sourcesContent":["import type { Linter } from \"eslint\";\n\nimport { createConfig } from \"../../utils/create-config\";\n\n// @see https://github.com/francoismassart/eslint-plugin-tailwindcss,\nconst config: Linter.Config = createConfig(\"jsx_and_tsx\", {\n plugins: [\"ssr-friendly\"],\n extends: [\"plugin:ssr-friendly/recommended\"],\n});\n\nexport default config;\n"]}
@@ -5,14 +5,14 @@ var chunkMKL3NIXX_js = require('../../chunk-MKL3NIXX.js');
5
5
  var chunkAC2XVGN7_js = require('../../chunk-AC2XVGN7.js');
6
6
  require('../../chunk-O7JDC6TD.js');
7
7
  var chunkOCCLNRZC_js = require('../../chunk-OCCLNRZC.js');
8
- var chunkULHYM44Q_js = require('../../chunk-ULHYM44Q.js');
8
+ var chunkX2N7JEGF_js = require('../../chunk-X2N7JEGF.js');
9
9
  var chunkRAPTRUN2_js = require('../../chunk-RAPTRUN2.js');
10
10
  var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
11
11
  require('../../chunk-MFE6DF6Y.js');
12
12
  var process = require('process');
13
13
  var packageJsonUtils = require('@anolilab/package-json-utils');
14
14
 
15
- var t=chunkULHYM44Q_js.a.overrides[0].rules,y=chunkRAPTRUN2_js.a.overrides[0].rules,e=chunkAC2XVGN7_js.a.overrides[0].rules,u=chunkMKL3NIXX_js.a.overrides[0].rules,i=chunkFX4CWHOG_js.a.overrides[0].rules,{indent:b,quotes:v,semi:x}=e;global.anolilabEslintConfigTypescriptPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigTypescriptPrettierRules={"@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":0,"@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/no-extra-semi":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/quotes":0,"@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"});var s=e["comma-dangle"],f=process.env.DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION!=="true";chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version!==void 0&&(f=chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version);var R=chunkWG6GTAIA_js.b([{config:{extends:["plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/stylistic","plugin:@typescript-eslint/strict"],parser:"@typescript-eslint/parser",parserOptions:{ecmaFeatures:{jsx:!0},sourceType:"module",warnOnUnsupportedTypeScriptVersion:f},plugins:["@typescript-eslint"],rules:{"@typescript-eslint/brace-style":e["brace-style"],"@typescript-eslint/naming-convention":["error",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE"]},{selector:"function",format:["camelCase","PascalCase"]},{selector:"typeLike",format:["PascalCase"]}],"@typescript-eslint/comma-dangle":[s[0],{...s[1],enums:s[1].arrays,generics:s[1].arrays,tuples:s[1].arrays}],"@typescript-eslint/comma-spacing":e["comma-spacing"],"@typescript-eslint/func-call-spacing":e["func-call-spacing"],"@typescript-eslint/indent":b,"@typescript-eslint/keyword-spacing":e["keyword-spacing"],"@typescript-eslint/lines-between-class-members":["error","always",{exceptAfterSingleLine:!1}],"@typescript-eslint/no-array-constructor":e["no-array-constructor"],"@typescript-eslint/no-dupe-class-members":u["no-dupe-class-members"],"@typescript-eslint/no-empty-function":t["no-empty-function"],"@typescript-eslint/no-extra-parens":y["no-extra-parens"],"@typescript-eslint/no-extra-semi":y["no-extra-semi"],"@typescript-eslint/no-loop-func":t["no-loop-func"],"@typescript-eslint/no-magic-numbers":t["no-magic-numbers"],"@typescript-eslint/no-redeclare":t["no-redeclare"],"@typescript-eslint/no-shadow":i["no-shadow"],"@typescript-eslint/no-unused-expressions":t["no-unused-expressions"],"@typescript-eslint/no-unused-vars":i["no-unused-vars"],"@typescript-eslint/no-use-before-define":i["no-use-before-define"],"@typescript-eslint/no-useless-constructor":u["no-useless-constructor"],"@typescript-eslint/quotes":v,"@typescript-eslint/semi":x,"@typescript-eslint/space-before-function-paren":e["space-before-function-paren"],"@typescript-eslint/return-await":t["no-return-await"],"@typescript-eslint/space-infix-ops":e["space-infix-ops"],"@typescript-eslint/consistent-type-imports":"error","@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","public-static-method","protected-static-method","private-static-method","public-instance-field","protected-instance-field","private-instance-field","constructor","public-instance-method","protected-instance-method","private-instance-method"]}],"@typescript-eslint/array-type":["error",{default:"array",readonly:"generic"}],"@typescript-eslint/ban-types":["error",{types:{String:{message:"Use string instead",fixWith:"string"},Boolean:{message:"Use boolean instead",fixWith:"boolean"},Number:{message:"Use number instead",fixWith:"number"},Object:{message:"Use object instead",fixWith:"object"},Array:{message:"Provide a more specific type"}}}],"@typescript-eslint/sort-type-constituents":"error","@typescript-eslint/prefer-ts-expect-error":"error","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/method-signature-style":"error","@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-invalid-void-type":"warn","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"warn","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-argument":"error","@typescript-eslint/no-unsafe-assignment":"error","@typescript-eslint/no-unsafe-call":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/no-import-type-side-effects":"error",...global.anolilabEslintConfigTypescriptPrettierRules}},type:"typescript"}]),U=R;
15
+ var t=chunkX2N7JEGF_js.a.overrides[0].rules,y=chunkRAPTRUN2_js.a.overrides[0].rules,e=chunkAC2XVGN7_js.a.overrides[0].rules,u=chunkMKL3NIXX_js.a.overrides[0].rules,i=chunkFX4CWHOG_js.a.overrides[0].rules,{indent:b,quotes:v,semi:x}=e;global.anolilabEslintConfigTypescriptPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigTypescriptPrettierRules={"@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":0,"@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/no-extra-semi":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/quotes":0,"@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"});var s=e["comma-dangle"],f=process.env.DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION!=="true";chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version!==void 0&&(f=chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version);var R=chunkWG6GTAIA_js.b([{config:{extends:["plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/stylistic","plugin:@typescript-eslint/strict"],parser:"@typescript-eslint/parser",parserOptions:{ecmaFeatures:{jsx:!0},sourceType:"module",warnOnUnsupportedTypeScriptVersion:f},plugins:["@typescript-eslint"],rules:{"@typescript-eslint/brace-style":e["brace-style"],"@typescript-eslint/naming-convention":["error",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE"]},{selector:"function",format:["camelCase","PascalCase"]},{selector:"typeLike",format:["PascalCase"]}],"@typescript-eslint/comma-dangle":[s[0],{...s[1],enums:s[1].arrays,generics:s[1].arrays,tuples:s[1].arrays}],"@typescript-eslint/comma-spacing":e["comma-spacing"],"@typescript-eslint/func-call-spacing":e["func-call-spacing"],"@typescript-eslint/indent":b,"@typescript-eslint/keyword-spacing":e["keyword-spacing"],"@typescript-eslint/lines-between-class-members":["error","always",{exceptAfterSingleLine:!1}],"@typescript-eslint/no-array-constructor":e["no-array-constructor"],"@typescript-eslint/no-dupe-class-members":u["no-dupe-class-members"],"@typescript-eslint/no-empty-function":t["no-empty-function"],"@typescript-eslint/no-extra-parens":y["no-extra-parens"],"@typescript-eslint/no-extra-semi":y["no-extra-semi"],"@typescript-eslint/no-loop-func":t["no-loop-func"],"@typescript-eslint/no-magic-numbers":t["no-magic-numbers"],"@typescript-eslint/no-redeclare":t["no-redeclare"],"@typescript-eslint/no-shadow":i["no-shadow"],"@typescript-eslint/no-unused-expressions":t["no-unused-expressions"],"@typescript-eslint/no-unused-vars":i["no-unused-vars"],"@typescript-eslint/no-use-before-define":i["no-use-before-define"],"@typescript-eslint/no-useless-constructor":u["no-useless-constructor"],"@typescript-eslint/quotes":v,"@typescript-eslint/semi":x,"@typescript-eslint/space-before-function-paren":e["space-before-function-paren"],"@typescript-eslint/return-await":t["no-return-await"],"@typescript-eslint/space-infix-ops":e["space-infix-ops"],"@typescript-eslint/consistent-type-imports":"error","@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","public-static-method","protected-static-method","private-static-method","public-instance-field","protected-instance-field","private-instance-field","constructor","public-instance-method","protected-instance-method","private-instance-method"]}],"@typescript-eslint/array-type":["error",{default:"array",readonly:"generic"}],"@typescript-eslint/ban-types":["error",{types:{String:{message:"Use string instead",fixWith:"string"},Boolean:{message:"Use boolean instead",fixWith:"boolean"},Number:{message:"Use number instead",fixWith:"number"},Object:{message:"Use object instead",fixWith:"object"},Array:{message:"Provide a more specific type"}}}],"@typescript-eslint/sort-type-constituents":"error","@typescript-eslint/prefer-ts-expect-error":"error","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/method-signature-style":"error","@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-invalid-void-type":"warn","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"warn","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-argument":"error","@typescript-eslint/no-unsafe-assignment":"error","@typescript-eslint/no-unsafe-call":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/no-import-type-side-effects":"error",...global.anolilabEslintConfigTypescriptPrettierRules}},type:"typescript"}]),U=R;
16
16
 
17
17
  module.exports = U;
18
18
  //# sourceMappingURL=out.js.map
@@ -10,7 +10,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
11
  var i__default = /*#__PURE__*/_interopDefault(i);
12
12
 
13
- global.anolilabEslintConfigUnicornPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigUnicornPrettierRules={"unicorn/empty-brace-spaces":"off","unicorn/no-nested-ternary":"off","unicorn/number-literal-case":"off","unicorn/template-indent":"off"});var t={extends:["plugin:unicorn/recommended"],overrides:[{files:["tsconfig.dev.json","tsconfig.prod.json"],rules:{"unicorn/prevent-abbreviations":"off"}},{files:["*.ts","*.tsx","*.mts","*.cts"],rules:{"unicorn/import-style":"off"}}],plugins:["unicorn"],rules:{"function-call-argument-newline":"off","unicorn/better-regex":["error",{sortCharacterClasses:!1}],"unicorn/consistent-destructuring":"off","unicorn/consistent-function-scoping":"off","unicorn/filename-case":["error",{case:"kebabCase",ignore:[/(FUNDING\.yml|README\.md|CHANGELOG\.md|CONTRIBUTING\.md|CODE_OF_CONDUCT\.md|SECURITY\.md|LICENSE)/]}],"unicorn/no-array-for-each":"off","unicorn/no-null":"off","unicorn/no-useless-undefined":"off","unicorn/prefer-json-parse-buffer":"off","unicorn/prefer-module":packageJsonUtils.packageIsTypeModule?"error":"off","unicorn/prefer-node-protocol":i__default.default.gte(process.version,"v16.0.0")?"error":"off","unicorn/prefer-ternary":["error","only-single-line"],"unicorn/template-indent":["error",{indent:chunkO7JDC6TD_js.a}],...global.anolilabEslintConfigUnicornPrettierRules}},l=t;
13
+ global.anolilabEslintConfigUnicornPrettierRules===void 0&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.anolilabEslintConfigUnicornPrettierRules={"unicorn/empty-brace-spaces":"off","unicorn/no-nested-ternary":"off","unicorn/number-literal-case":"off","unicorn/template-indent":"off"});var t={extends:["plugin:unicorn/recommended"],overrides:[{files:["tsconfig.dev.json","tsconfig.prod.json"],rules:{"unicorn/prevent-abbreviations":"off"}},{files:["*.ts","*.tsx","*.mts","*.cts"],rules:{"unicorn/import-style":"off"}}],plugins:["unicorn"],rules:{"function-call-argument-newline":"off","unicorn/better-regex":["error",{sortCharacterClasses:!1}],"unicorn/consistent-destructuring":"off","unicorn/consistent-function-scoping":"off","unicorn/filename-case":["error",{case:"kebabCase",ignore:[/(FUNDING\.yml|README\.md|CHANGELOG\.md|CONTRIBUTING\.md|CODE_OF_CONDUCT\.md|SECURITY\.md|LICENSE)/u]}],"unicorn/no-array-for-each":"off","unicorn/no-null":"off","unicorn/no-useless-undefined":"off","unicorn/prefer-json-parse-buffer":"off","unicorn/prefer-module":packageJsonUtils.packageIsTypeModule?"error":"off","unicorn/prefer-node-protocol":i__default.default.gte(process.version,"v16.0.0")?"error":"off","unicorn/prefer-ternary":["error","only-single-line"],"unicorn/template-indent":["error",{indent:chunkO7JDC6TD_js.a}],...global.anolilabEslintConfigUnicornPrettierRules}},l=t;
14
14
 
15
15
  module.exports = l;
16
16
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/plugins/unicorn.ts"],"names":["hasDependency","hasDevDependency","packageIsTypeModule","semver","config","indent_default","unicorn_default"],"mappings":"4GAAA,OAAS,iBAAAA,EAAe,oBAAAC,EAAkB,uBAAAC,MAA2B,+BAErE,OAAOC,MAAY,SAIf,OAAO,2CAA6C,SAAcH,EAAc,UAAU,GAAKC,EAAiB,UAAU,KAC1H,OAAO,yCAA2C,CAC9C,6BAA8B,MAC9B,4BAA6B,MAC7B,8BAA+B,MAC/B,0BAA2B,KAC/B,GAIJ,IAAMG,EAAwB,CAC1B,QAAS,CAAC,4BAA4B,EACtC,UAAW,CACP,CACI,MAAO,CAAC,oBAAqB,oBAAoB,EACjD,MAAO,CACH,gCAAiC,KACrC,CACJ,EACA,CACI,MAAO,CAAC,OAAQ,QAAS,QAAS,OAAO,EACzC,MAAO,CACH,uBAAwB,KAC5B,CACJ,CACJ,EACA,QAAS,CAAC,SAAS,EACnB,MAAO,CAEH,iCAAkC,MAElC,uBAAwB,CACpB,QACA,CACI,qBAAsB,EAC1B,CACJ,EAEA,mCAAoC,MAEpC,sCAAuC,MAEvC,wBAAyB,CACrB,QACA,CACI,KAAM,YACN,OAAQ,CAAC,mGAAmG,CAChH,CACJ,EAEA,4BAA6B,MAG7B,kBAAmB,MAGnB,+BAAgC,MAGhC,mCAAoC,MAEpC,wBAAyBF,EAAsB,QAAU,MAEzD,+BAAgCC,EAAO,IAAI,QAAQ,QAAS,SAAS,EAAI,QAAU,MAGnF,yBAA0B,CAAC,QAAS,kBAAkB,EAEtD,0BAA2B,CAAC,QAAS,CAAE,OAAAE,CAAO,CAAC,EAE/C,GAAG,OAAO,wCACd,CACJ,EAEOC,EAAQF","sourcesContent":["import { hasDependency, hasDevDependency, packageIsTypeModule } from \"@anolilab/package-json-utils\";\nimport type { Linter } from \"eslint\";\nimport semver from \"semver\";\n\nimport indent from \"../../utils/indent\";\n\nif (global.anolilabEslintConfigUnicornPrettierRules === undefined && (hasDependency(\"prettier\") || hasDevDependency(\"prettier\"))) {\n global.anolilabEslintConfigUnicornPrettierRules = {\n \"unicorn/empty-brace-spaces\": \"off\",\n \"unicorn/no-nested-ternary\": \"off\",\n \"unicorn/number-literal-case\": \"off\",\n \"unicorn/template-indent\": \"off\",\n };\n}\n\n// @see https://github.com/sindresorhus/eslint-plugin-unicorn\nconst config: Linter.Config = {\n extends: [\"plugin:unicorn/recommended\"],\n overrides: [\n {\n files: [\"tsconfig.dev.json\", \"tsconfig.prod.json\"],\n rules: {\n \"unicorn/prevent-abbreviations\": \"off\",\n },\n },\n {\n files: [\"*.ts\", \"*.tsx\", \"*.mts\", \"*.cts\"],\n rules: {\n \"unicorn/import-style\": \"off\",\n },\n },\n ],\n plugins: [\"unicorn\"],\n rules: {\n // TODO: Temporarily disabled as the rule is buggy.\n \"function-call-argument-newline\": \"off\",\n // The character class sorting is a bit buggy at the moment.\n \"unicorn/better-regex\": [\n \"error\",\n {\n sortCharacterClasses: false,\n },\n ],\n // TODO: Disabled for now until it becomes more stable: https://github.com/sindresorhus/eslint-plugin-unicorn/search?q=consistent-destructuring+is:issue&state=open&type=issues\n \"unicorn/consistent-destructuring\": \"off\",\n // TODO: Remove this override when the rule is more stable.\n \"unicorn/consistent-function-scoping\": \"off\",\n\n \"unicorn/filename-case\": [\n \"error\",\n {\n case: \"kebabCase\",\n ignore: [/(FUNDING\\.yml|README\\.md|CHANGELOG\\.md|CONTRIBUTING\\.md|CODE_OF_CONDUCT\\.md|SECURITY\\.md|LICENSE)/],\n },\n ],\n\n \"unicorn/no-array-for-each\": \"off\",\n\n // TODO: Disabled for now as I don't have time to deal with the backslash that might come from this. Try to enable this rule in 2021.\n \"unicorn/no-null\": \"off\",\n\n // TODO: Temporarily disabled until it becomes more mature.\n \"unicorn/no-useless-undefined\": \"off\",\n\n // It will be disabled in the next version of eslint-plugin-unicorn.\n \"unicorn/prefer-json-parse-buffer\": \"off\",\n\n \"unicorn/prefer-module\": packageIsTypeModule ? \"error\" : \"off\",\n\n \"unicorn/prefer-node-protocol\": semver.gte(process.version, \"v16.0.0\") ? \"error\" : \"off\",\n\n // We only enforce it for single-line statements to not be too opinionated.\n \"unicorn/prefer-ternary\": [\"error\", \"only-single-line\"],\n\n \"unicorn/template-indent\": [\"error\", { indent }],\n\n ...global.anolilabEslintConfigUnicornPrettierRules,\n },\n};\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../../src/config/plugins/unicorn.ts"],"names":["hasDependency","hasDevDependency","packageIsTypeModule","semver","config","indent_default","unicorn_default"],"mappings":"4GAAA,OAAS,iBAAAA,EAAe,oBAAAC,EAAkB,uBAAAC,MAA2B,+BAErE,OAAOC,MAAY,SAIf,OAAO,2CAA6C,SAAcH,EAAc,UAAU,GAAKC,EAAiB,UAAU,KAC1H,OAAO,yCAA2C,CAC9C,6BAA8B,MAC9B,4BAA6B,MAC7B,8BAA+B,MAC/B,0BAA2B,KAC/B,GAIJ,IAAMG,EAAwB,CAC1B,QAAS,CAAC,4BAA4B,EACtC,UAAW,CACP,CACI,MAAO,CAAC,oBAAqB,oBAAoB,EACjD,MAAO,CACH,gCAAiC,KACrC,CACJ,EACA,CACI,MAAO,CAAC,OAAQ,QAAS,QAAS,OAAO,EACzC,MAAO,CACH,uBAAwB,KAC5B,CACJ,CACJ,EACA,QAAS,CAAC,SAAS,EACnB,MAAO,CAEH,iCAAkC,MAElC,uBAAwB,CACpB,QACA,CACI,qBAAsB,EAC1B,CACJ,EAEA,mCAAoC,MAEpC,sCAAuC,MAEvC,wBAAyB,CACrB,QACA,CACI,KAAM,YACN,OAAQ,CAAC,oGAAoG,CACjH,CACJ,EAEA,4BAA6B,MAG7B,kBAAmB,MAGnB,+BAAgC,MAGhC,mCAAoC,MAEpC,wBAAyBF,EAAsB,QAAU,MAEzD,+BAAgCC,EAAO,IAAI,QAAQ,QAAS,SAAS,EAAI,QAAU,MAGnF,yBAA0B,CAAC,QAAS,kBAAkB,EAEtD,0BAA2B,CAAC,QAAS,CAAE,OAAAE,CAAO,CAAC,EAE/C,GAAG,OAAO,wCACd,CACJ,EAEOC,EAAQF","sourcesContent":["import { hasDependency, hasDevDependency, packageIsTypeModule } from \"@anolilab/package-json-utils\";\nimport type { Linter } from \"eslint\";\nimport semver from \"semver\";\n\nimport indent from \"../../utils/indent\";\n\nif (global.anolilabEslintConfigUnicornPrettierRules === undefined && (hasDependency(\"prettier\") || hasDevDependency(\"prettier\"))) {\n global.anolilabEslintConfigUnicornPrettierRules = {\n \"unicorn/empty-brace-spaces\": \"off\",\n \"unicorn/no-nested-ternary\": \"off\",\n \"unicorn/number-literal-case\": \"off\",\n \"unicorn/template-indent\": \"off\",\n };\n}\n\n// @see https://github.com/sindresorhus/eslint-plugin-unicorn\nconst config: Linter.Config = {\n extends: [\"plugin:unicorn/recommended\"],\n overrides: [\n {\n files: [\"tsconfig.dev.json\", \"tsconfig.prod.json\"],\n rules: {\n \"unicorn/prevent-abbreviations\": \"off\",\n },\n },\n {\n files: [\"*.ts\", \"*.tsx\", \"*.mts\", \"*.cts\"],\n rules: {\n \"unicorn/import-style\": \"off\",\n },\n },\n ],\n plugins: [\"unicorn\"],\n rules: {\n // TODO: Temporarily disabled as the rule is buggy.\n \"function-call-argument-newline\": \"off\",\n // The character class sorting is a bit buggy at the moment.\n \"unicorn/better-regex\": [\n \"error\",\n {\n sortCharacterClasses: false,\n },\n ],\n // TODO: Disabled for now until it becomes more stable: https://github.com/sindresorhus/eslint-plugin-unicorn/search?q=consistent-destructuring+is:issue&state=open&type=issues\n \"unicorn/consistent-destructuring\": \"off\",\n // TODO: Remove this override when the rule is more stable.\n \"unicorn/consistent-function-scoping\": \"off\",\n\n \"unicorn/filename-case\": [\n \"error\",\n {\n case: \"kebabCase\",\n ignore: [/(FUNDING\\.yml|README\\.md|CHANGELOG\\.md|CONTRIBUTING\\.md|CODE_OF_CONDUCT\\.md|SECURITY\\.md|LICENSE)/u],\n },\n ],\n\n \"unicorn/no-array-for-each\": \"off\",\n\n // TODO: Disabled for now as I don't have time to deal with the backslash that might come from this. Try to enable this rule in 2024.\n \"unicorn/no-null\": \"off\",\n\n // TODO: Temporarily disabled until it becomes more mature.\n \"unicorn/no-useless-undefined\": \"off\",\n\n // It will be disabled in the next version of eslint-plugin-unicorn.\n \"unicorn/prefer-json-parse-buffer\": \"off\",\n\n \"unicorn/prefer-module\": packageIsTypeModule ? \"error\" : \"off\",\n\n \"unicorn/prefer-node-protocol\": semver.gte(process.version, \"v16.0.0\") ? \"error\" : \"off\",\n\n // We only enforce it for single-line statements to not be too opinionated.\n \"unicorn/prefer-ternary\": [\"error\", \"only-single-line\"],\n\n \"unicorn/template-indent\": [\"error\", { indent }],\n\n ...global.anolilabEslintConfigUnicornPrettierRules,\n },\n};\n\nexport default config;\n"]}
@@ -0,0 +1,5 @@
1
+ import { Linter } from 'eslint';
2
+
3
+ declare const config: Linter.Config;
4
+
5
+ export { config as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkWG6GTAIA_js = require('../../chunk-WG6GTAIA.js');
4
+ require('../../chunk-MFE6DF6Y.js');
5
+
6
+ var i=chunkWG6GTAIA_js.a("jsx_and_tsx",{plugins:["validate-jsx-nesting"],rules:{"validate-jsx-nesting/no-invalid-jsx-nesting":"error"}}),e=i;
7
+
8
+ module.exports = e;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=validate-jsx-nesting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/plugins/validate-jsx-nesting.ts"],"names":["config","createConfig","validate_jsx_nesting_default"],"mappings":"4EAKA,IAAMA,EAAwBC,EAAa,cAAe,CACtD,QAAS,CAAC,sBAAsB,EAChC,MAAO,CACH,8CAA+C,OACnD,CACJ,CAAC,EAEMC,EAAQF","sourcesContent":["import type { Linter } from \"eslint\";\n\nimport { createConfig } from \"../../utils/create-config\";\n\n// @see https://github.com/francoismassart/eslint-plugin-tailwindcss,\nconst config: Linter.Config = createConfig(\"jsx_and_tsx\", {\n plugins: [\"validate-jsx-nesting\"],\n rules: {\n \"validate-jsx-nesting/no-invalid-jsx-nesting\": \"error\",\n },\n});\n\nexport default config;\n"]}
package/dist/index.js CHANGED
@@ -14,12 +14,12 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
  var x__default = /*#__PURE__*/_interopDefault(x);
15
15
  var k__default = /*#__PURE__*/_interopDefault(k);
16
16
 
17
- var R=["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","antfu","unicorn","es","perfectionist"],E=[{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:"react-redux",dependencies:["eslint-plugin-react-redux"],oneOfDependency:["@reduxjs/toolkit","redux"]},{configName:"jsx-a11y",dependencies:["react","react-dom","eslint-plugin-jsx-a11y"]},{configName:"react-hooks",dependencies:["react","react-dom","eslint-plugin-react-hooks"]},{configName:"react-usememo",dependencies:["react","react-dom","@arthurgeron/eslint-plugin-react-usememo"]},{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"]},{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:"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],n={};p.length===r.length&&E.forEach(o=>{let{configName:e,dependencies:a}=o;if(chunkOCCLNRZC_js.a.plugin?.[e]!==!1){let d=[];if(a.forEach(s=>{(packageJsonUtils.hasDependency(s)||packageJsonUtils.hasDevDependency(s))&&d.push(s);}),n[e]={},d.length===0){if(o.oneOfDependency!==void 0){let s=!1;o.oneOfDependency.forEach(i=>{!s&&(packageJsonUtils.hasDependency(i)||packageJsonUtils.hasDevDependency(i))&&(s=!0,n[e][i]=!0);});}o.resolve!==void 0&&o.resolve.forEach(s=>{packageJsonUtils.resolvePackage(s)!==void 0&&(n[e][s]=!0);}),o.files!==void 0&&o.files.forEach(s=>{packageJsonUtils.hasFile(s)&&(n[e][s]=!0);});}d.length===a.length?(delete n[e],p.push(e)):a.forEach(s=>{n[e][s]=packageJsonUtils.hasDependency(s)||packageJsonUtils.hasDevDependency(s);});}});var u=R,m=p,b=n;var O={"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"}},y=O;if(!global.hasAnolilabEsLintConfigLoaded){process.env.DEBUG&&(chunkSEYYGHPU_js.b(`
17
+ var D=["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"],_=[{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:["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&&_.forEach(o=>{let{configName:e,dependencies:a}=o;if(chunkOCCLNRZC_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=D,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(`
18
18
  @anolilab/eslint-config loaded the following plugins:
19
- `),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(b).forEach(([e,a])=>{Object.values(a).some(Boolean)&&(o=!0,chunkSEYYGHPU_js.b(`
19
+ `),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(`
20
20
  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(`
21
21
  To disable this message, add the following to your package.json:`),chunkSEYYGHPU_js.b(` "anolilab": { "eslint-config": { plugin: { "plugin-name": false } } }
22
- `)),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(y).forEach(([o,e])=>{Object.keys(e).sort(k__default.default.rcompare).forEach(a=>{f&&k__default.default.intersects(f,`<${a}`)&&(v[o]=e[a]);});});!global.hasAnolilabEsLintConfigPrettier&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.hasAnolilabEsLintConfigPrettier=!0,chunkOCCLNRZC_js.a.info_on_disabling_prettier_conflict_rule!==!1&&chunkSEYYGHPU_js.b(`
22
+ `)),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(k__default.default.rcompare).forEach(a=>{f&&k__default.default.intersects(f,`<${a}`)&&(v[o]=e[a]);});});!global.hasAnolilabEsLintConfigPrettier&&(packageJsonUtils.hasDependency("prettier")||packageJsonUtils.hasDevDependency("prettier"))&&(global.hasAnolilabEsLintConfigPrettier=!0,chunkOCCLNRZC_js.a.info_on_disabling_prettier_conflict_rule!==!1&&chunkSEYYGHPU_js.b(`
23
23
  Found prettier as dependency, disabling some rules to fix wrong behavior of the rule with eslint and prettier`));var L={extends:[...u.map(o=>path.join(__dirname,`./config/${o}.js`)),...m.map(o=>path.join(__dirname,`./config/plugins/${o}.js`))],globals:{...x__default.default.browser,...x__default.default.nodeBuiltin},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}}],parser:"",rules:{...v}},H=L;
24
24
 
25
25
  module.exports = H;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/config.ts","../src/engine-node-overwrite.ts"],"names":["join","hasDependency","hasDevDependency","packageIsTypeModule","pkg","globals","semver","hasFile","resolvePackage","baseConfig","internalPluginConfig","pluginConfig","loadedPlugins","possiblePlugins","plugin","configName","dependencies","eslint_config_default","foundDependencies","dependency","foundOneOfDependency","rdependency","file","rules","pluginRules","possiblePluginRules","engineRules","engine_node_overwrite_default","consoleLog","name","consolePlugin","hasLogged","installed","configRules","nodeVersion","rule","ruleConfig","minVersion","config","src_default"],"mappings":"mHAYA,MAAO,mDAEP,OAAS,QAAAA,MAAY,OAErB,OAAS,iBAAAC,EAAe,oBAAAC,EAAkB,uBAAAC,EAAqB,OAAAC,MAAW,+BAE1E,OAAOC,MAAa,UACpB,OAAOC,MAAY,SCnBnB,OAAS,iBAAAL,EAAe,oBAAAC,EAAkB,WAAAK,EAAS,kBAAAC,MAAsB,+BAKzE,IAAMC,EAAa,CAAC,iBAAkB,SAAU,QAAS,MAAO,WAAW,EAG9DC,EAAuB,CAChC,SACA,kBACA,SACA,UACA,qBACA,mBACA,OAEA,aACA,UACA,WACA,SAEA,QACA,WACA,OACA,MACA,OAGA,QACA,UACA,KACA,eACJ,EAEMC,EAA6B,CAC/B,CACI,WAAY,aACZ,aAAc,CAAC,0BAA0B,CAC7C,EACA,CACI,WAAY,QACZ,aAAc,CAAC,qBAAqB,CACxC,EACA,CACI,WAAY,QACZ,aAAc,CAAC,sBAAuB,YAAY,CACtD,EACA,CACI,WAAY,kCACZ,aAAc,CAAC,+CAA+C,EAC9D,gBAAiB,CACb,SACA,aACA,YACA,gBAEA,eACA,iBACA,gBACA,oBACA,sBACA,wBACA,cACA,mBACA,wBACA,mBACA,cACA,mBACA,uBACA,iBACA,qBACA,sBACA,mBACA,cACA,iBACA,iBACA,sBACA,wBACA,0BACA,cACA,cACA,qBACA,aACA,cACA,iBACA,mBACA,qBACA,gBACA,gBACA,iBACA,eACA,qBACA,uBACA,uBACA,yBACA,2BACA,2BACA,oBACA,sBACA,cACA,cACA,mBACA,wBACA,mBACA,eACA,iBACA,mBACA,cACA,gBACA,kBACA,eACA,mBACA,iBACA,aACA,eACA,iBACA,aACA,mBACA,uBACA,iBACA,iBACA,eACA,gBACA,cACA,kBACA,iBACA,qBACA,sBACA,iBACA,sBACA,iBACA,kBACA,mBACA,eACA,aACA,iBACA,mBACA,gBACA,qBACA,gBACA,gBACA,oBACA,iBACA,cACA,cACA,gBACA,aACA,eACA,aACA,gBACA,cACA,iBACA,eACA,oBACA,kBACA,eACA,eACA,cACA,iBACA,gBACA,cACA,kBACA,iBACA,sBACA,eACA,cACA,gBACA,kBACA,eACA,cACA,mBACA,eACA,mBACA,uBACA,mBACA,oBACA,YACA,YACA,aACA,qBACA,iBACA,uBACA,qBACA,2BACA,mBACA,kBACA,gBACA,mBACA,iBACA,iBACA,qBACA,iBACA,kBACA,oBACA,mBACA,kBACA,eACA,iBACA,qBACA,eACA,kBACA,eACA,gBACA,kBACA,kBACA,sBACA,uBACA,kBACA,uBACA,eACA,kBACA,kBACA,sBACA,qBACA,mBACA,mBACA,YACA,aACA,iBACA,kBACA,mBACA,kBACA,kBACA,uBACA,uBACA,kBACA,aACA,cACA,gBACA,eACA,aACA,eACA,cACA,gBACA,aACA,eACA,kBACA,eACA,kBACA,aACA,eACA,eACA,iBACA,gBACA,gBACA,kBACA,sBACA,oBACA,YACA,gBACA,kBACA,sBACA,iBACA,qBACA,eACA,oBACA,gBACA,qBACA,mBACA,qBACA,aACA,aACA,eACA,gBACA,kBACA,gBACA,cACA,gBACA,iBACA,mBACA,eACA,mBACA,cACA,gBACA,cACA,gBACA,gBACA,aACA,iBACA,iBACA,mBACA,mBACA,eACA,gBACA,oBACA,gBACA,kBACA,eACA,aACA,cACA,mBACA,oBACA,gBACA,kBACA,gBACA,sBACA,mBACA,mBACA,oBACA,aACA,gBACA,kBACA,kBACA,gBACA,iBACA,mBACA,eACA,mBACA,oBACA,kBACA,iBACA,iBACA,cACA,iBACA,mBACA,kBACA,kBACA,mBACA,oBACA,eACA,iBACA,iBACA,cACA,kBACA,kBACA,mBACA,cACA,mBACA,kBACA,kBACA,iBACA,yBACA,gBACA,kBACA,eACA,oBACA,cACA,gBACA,cACA,mBACA,kBACA,kBACA,oBACA,eACA,oBACA,sBACA,mBACA,mBACA,oBACA,oBACA,kBACA,eACA,gBACA,iBACJ,CACJ,EACA,CACI,WAAY,MACZ,aAAc,CAAC,mBAAmB,EAClC,gBAAiB,CAAC,SAAU,OAAQ,mBAAoB,mBAAmB,EAC3E,QAAS,CAAC,cAAe,aAAc,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","sourcesContent":["/**\n * rushstack eslint-patch is used to include plugins as dev\n * dependencies instead of imposing them as peer dependencies\n *\n * {@link https://www.npmjs.com/package/@rushstack/eslint-patch}\n * {@link https://stackoverflow.com/a/74478635/1392749}\n * {@link https://github.com/eslint/eslint/issues/3458}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-1/}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-2/}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-3/}\n * {@link https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new}\n */\nimport \"@rushstack/eslint-patch/modern-module-resolution\";\n\nimport { join } from \"node:path\";\n\nimport { hasDependency, hasDevDependency, packageIsTypeModule, pkg } from \"@anolilab/package-json-utils\";\nimport type { Linter } from \"eslint\";\nimport globals from \"globals\";\nimport semver from \"semver\";\n\nimport { internalPluginConfig, pluginRules, possiblePluginRules, rules } from \"./config\";\nimport engineRules from \"./engine-node-overwrite\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\nimport { consoleLog, consolePlugin } from \"./utils/loggers\";\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabEsLintConfigLoaded) {\n if (process.env[\"DEBUG\"]) {\n consoleLog(\"\\n@anolilab/eslint-config loaded the following plugins:\\n\");\n\n consoleLog(\" @rushstack/eslint-plugin-security\");\n internalPluginConfig\n .map((name: string) => {\n if (name === \"import\") {\n return \"i\";\n }\n\n if (name === \"node\") {\n return \"n\";\n }\n\n return name;\n })\n .forEach((plugin) => consolePlugin(plugin));\n }\n\n let hasLogged = false;\n\n Object.entries(possiblePluginRules).forEach(([plugin, dependencies]) => {\n const hasOneDependency = Object.values(dependencies).some(Boolean);\n\n if (hasOneDependency) {\n hasLogged = true;\n\n consoleLog(\n `\\nYour package.json container dependencies for the \"${plugin}\" eslint-plugin, please add the following dependencies with your chosen package manager to enable this plugin:`,\n );\n\n Object.entries(dependencies).forEach(([dependency, installed]) => {\n if (!installed) {\n consoleLog(` ${dependency}`);\n }\n });\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasLogged) {\n consoleLog(\"\\nTo disable this message, add the following to your package.json:\");\n consoleLog(' \"anolilab\": { \"eslint-config\": { plugin: { \"plugin-name\": false } } }\\n');\n }\n\n consoleLog('To disable all logging, add the following to your eslint command call \"NO_LOGS=true eslint ...\"');\n\n global.hasAnolilabEsLintConfigLoaded = true;\n}\n\nconst configRules: Linter.RulesRecord = {};\nlet nodeVersion: string | undefined;\n\nif (pkg?.engines?.[\"node\"]) {\n nodeVersion = pkg.engines[\"node\"];\n}\n\nObject.entries(engineRules).forEach(([rule, ruleConfig]) => {\n Object.keys(ruleConfig)\n .sort(semver.rcompare)\n .forEach((minVersion) => {\n if (nodeVersion && semver.intersects(nodeVersion, `<${minVersion}`)) {\n // eslint-disable-next-line security/detect-object-injection\n configRules[rule] = ruleConfig[minVersion as keyof typeof ruleConfig] as Linter.RuleEntry;\n }\n });\n});\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabEsLintConfigPrettier && (hasDependency(\"prettier\") || hasDevDependency(\"prettier\"))) {\n global.hasAnolilabEsLintConfigPrettier = true;\n\n if (anolilabEslintConfig[\"info_on_disabling_prettier_conflict_rule\"] !== false) {\n consoleLog(\"\\nFound prettier as dependency, disabling some rules to fix wrong behavior of the rule with eslint and prettier\");\n }\n}\n\nconst config: Linter.Config = {\n // After an .eslintrc.js file is loaded, ESLint will normally continue visiting all parent folders\n // to look for other .eslintrc.js files, and also consult a personal file ~/.eslintrc.js. If any files\n // are found, their options will be merged. This is difficult for humans to understand, and it will cause\n // nondeterministic behavior if files are loaded from outside the Git working folder.\n //\n // Setting root=true causes ESLint to stop looking for other config files after the first .eslintrc.js\n extends: [\n ...rules.map((plugin) => join(__dirname, `./config/${plugin}.js`)),\n\n ...pluginRules.map((plugin) => join(__dirname, `./config/plugins/${plugin}.js`)),\n ],\n globals: {\n ...globals.browser,\n ...globals.nodeBuiltin,\n },\n ignorePatterns: [\n \"!.*\",\n\n \".git/\",\n \"node_modules/\",\n \"bower_components/\",\n \"jspm_packages/\",\n \".npm/\",\n\n \"lib-cov/\",\n \"coverage/\",\n \".nyc_output/\",\n \".cache/\",\n\n \"build/\",\n \"dist/\",\n \"tmp/\",\n\n \"**/*.min.*\",\n\n // Manually authored .d.ts files are generally used to describe external APIs that are not expected\n // to follow our coding conventions. Linting those files tends to produce a lot of spurious suppressions,\n // so we simply ignore them.\n \"*.d.ts\",\n\n \"pnpm-lock.yaml\",\n ],\n overrides: [\n {\n files: [\"**/migrations/*.{js,ts}\"],\n rules: {\n \"filenames/match-regex\": \"off\",\n },\n },\n {\n files: [\n // Test files\n \"**/*.spec.{js,ts,tsx}\",\n \"**/*.test.{js,ts,tsx}\",\n\n // Facebook convention\n \"**/__mocks__/*.{js,ts,tsx}\",\n \"**/__tests__/*.{js,ts,tsx}\",\n\n // Microsoft convention\n \"**/test/*.{js,ts,tsx}\",\n ],\n rules: {\n \"no-magic-numbers\": \"off\",\n \"sonarjs/no-duplicate-string\": \"off\",\n },\n },\n // Fixes https://github.com/eslint/eslint/discussions/15305\n {\n files: packageIsTypeModule ? [\"*.js\", \"*.mjs\"] : [\"*.mjs\"],\n parser: \"@babel/eslint-parser\",\n parserOptions: {\n babelOptions: {\n plugins: [\"@babel/plugin-syntax-import-assertions\"],\n },\n requireConfigFile: false,\n },\n },\n ],\n // Disable the parser by default\n parser: \"\",\n // is loaded.\n rules: {\n ...configRules,\n },\n};\n\nexport default config;\n","import { hasDependency, hasDevDependency, hasFile, resolvePackage } from \"@anolilab/package-json-utils\";\n\nimport type { PackageRules } from \"./types\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\n\nconst baseConfig = [\"best-practices\", \"errors\", \"style\", \"es6\", \"variables\"];\n\n// eslint-disable-next-line import/exports-last\nexport const internalPluginConfig = [\n \"compat\",\n \"eslint-comments\",\n \"import\",\n \"promise\",\n \"simple-import-sort\",\n \"no-extend-native\",\n \"node\",\n // Security Rules\n \"no-secrets\",\n \"sonarjs\",\n \"security\",\n \"regexp\",\n // file rules\n \"jsonc\",\n \"markdown\",\n \"toml\",\n \"yml\",\n \"html\",\n\n // custom rules\n \"antfu\",\n \"unicorn\",\n \"es\",\n \"perfectionist\",\n];\n\nconst pluginConfig: PackageRules = [\n {\n configName: \"array-func\",\n dependencies: [\"eslint-plugin-array-func\"],\n },\n {\n configName: \"jsdoc\",\n dependencies: [\"eslint-plugin-jsdoc\"],\n },\n {\n configName: \"tsdoc\",\n dependencies: [\"eslint-plugin-tsdoc\", \"typescript\"],\n },\n {\n configName: \"you-dont-need-lodash-underscore\",\n dependencies: [\"eslint-plugin-you-dont-need-lodash-underscore\"],\n oneOfDependency: [\n \"lodash\",\n \"underscore\",\n \"lodash-es\",\n \"@types/lodash\",\n\n \"lodash.chunk\",\n \"lodash.compact\",\n \"lodash.concat\",\n \"lodash.difference\",\n \"lodash.differenceby\",\n \"lodash.differencewith\",\n \"lodash.drop\",\n \"lodash.dropright\",\n \"lodash.droprightwhile\",\n \"lodash.dropwhile\",\n \"lodash.fill\",\n \"lodash.findindex\",\n \"lodash.findlastindex\",\n \"lodash.flatten\",\n \"lodash.flattendeep\",\n \"lodash.flattendepth\",\n \"lodash.frompairs\",\n \"lodash.head\",\n \"lodash.indexof\",\n \"lodash.initial\",\n \"lodash.intersection\",\n \"lodash.intersectionby\",\n \"lodash.intersectionwith\",\n \"lodash.join\",\n \"lodash.last\",\n \"lodash.lastindexof\",\n \"lodash.nth\",\n \"lodash.pull\",\n \"lodash.pullall\",\n \"lodash.pullallby\",\n \"lodash.pullallwith\",\n \"lodash.pullat\",\n \"lodash.remove\",\n \"lodash.reverse\",\n \"lodash.slice\",\n \"lodash.sortedindex\",\n \"lodash.sortedindexby\",\n \"lodash.sortedindexof\",\n \"lodash.sortedlastindex\",\n \"lodash.sortedlastindexby\",\n \"lodash.sortedlastindexof\",\n \"lodash.sorteduniq\",\n \"lodash.sorteduniqby\",\n \"lodash.tail\",\n \"lodash.take\",\n \"lodash.takeright\",\n \"lodash.takerightwhile\",\n \"lodash.takewhile\",\n \"lodash.union\",\n \"lodash.unionby\",\n \"lodash.unionwith\",\n \"lodash.uniq\",\n \"lodash.uniqby\",\n \"lodash.uniqwith\",\n \"lodash.unzip\",\n \"lodash.unzipwith\",\n \"lodash.without\",\n \"lodash.xor\",\n \"lodash.xorby\",\n \"lodash.xorwith\",\n \"lodash.zip\",\n \"lodash.zipobject\",\n \"lodash.zipobjectdeep\",\n \"lodash.zipwith\",\n \"lodash.countby\",\n \"lodash.every\",\n \"lodash.filter\",\n \"lodash.find\",\n \"lodash.findlast\",\n \"lodash.flatmap\",\n \"lodash.flatmapdeep\",\n \"lodash.flatmapdepth\",\n \"lodash.foreach\",\n \"lodash.foreachright\",\n \"lodash.groupby\",\n \"lodash.includes\",\n \"lodash.invokemap\",\n \"lodash.keyby\",\n \"lodash.map\",\n \"lodash.orderby\",\n \"lodash.partition\",\n \"lodash.reduce\",\n \"lodash.reduceright\",\n \"lodash.reject\",\n \"lodash.sample\",\n \"lodash.samplesize\",\n \"lodash.shuffle\",\n \"lodash.size\",\n \"lodash.some\",\n \"lodash.sortby\",\n \"lodash.now\",\n \"lodash.after\",\n \"lodash.ary\",\n \"lodash.before\",\n \"lodash.bind\",\n \"lodash.bindkey\",\n \"lodash.curry\",\n \"lodash.curryright\",\n \"lodash.debounce\",\n \"lodash.defer\",\n \"lodash.delay\",\n \"lodash.flip\",\n \"lodash.memoize\",\n \"lodash.negate\",\n \"lodash.once\",\n \"lodash.overargs\",\n \"lodash.partial\",\n \"lodash.partialright\",\n \"lodash.rearg\",\n \"lodash.rest\",\n \"lodash.spread\",\n \"lodash.throttle\",\n \"lodash.unary\",\n \"lodash.wrap\",\n \"lodash.castarray\",\n \"lodash.clone\",\n \"lodash.clonedeep\",\n \"lodash.clonedeepwith\",\n \"lodash.clonewith\",\n \"lodash.conformsto\",\n \"lodash.eq\",\n \"lodash.gt\",\n \"lodash.gte\",\n \"lodash.isarguments\",\n \"lodash.isarray\",\n \"lodash.isarraybuffer\",\n \"lodash.isarraylike\",\n \"lodash.isarraylikeobject\",\n \"lodash.isboolean\",\n \"lodash.isbuffer\",\n \"lodash.isdate\",\n \"lodash.iselement\",\n \"lodash.isempty\",\n \"lodash.isequal\",\n \"lodash.isequalwith\",\n \"lodash.iserror\",\n \"lodash.isfinite\",\n \"lodash.isfunction\",\n \"lodash.isinteger\",\n \"lodash.islength\",\n \"lodash.ismap\",\n \"lodash.ismatch\",\n \"lodash.ismatchwith\",\n \"lodash.isnan\",\n \"lodash.isnative\",\n \"lodash.isnil\",\n \"lodash.isnull\",\n \"lodash.isnumber\",\n \"lodash.isobject\",\n \"lodash.isobjectlike\",\n \"lodash.isplainobject\",\n \"lodash.isregexp\",\n \"lodash.issafeinteger\",\n \"lodash.isset\",\n \"lodash.isstring\",\n \"lodash.issymbol\",\n \"lodash.istypedarray\",\n \"lodash.isundefined\",\n \"lodash.isweakmap\",\n \"lodash.isweakset\",\n \"lodash.lt\",\n \"lodash.lte\",\n \"lodash.toarray\",\n \"lodash.tofinite\",\n \"lodash.tointeger\",\n \"lodash.tolength\",\n \"lodash.tonumber\",\n \"lodash.toplainobject\",\n \"lodash.tosafeinteger\",\n \"lodash.tostring\",\n \"lodash.add\",\n \"lodash.ceil\",\n \"lodash.divide\",\n \"lodash.floor\",\n \"lodash.max\",\n \"lodash.maxby\",\n \"lodash.mean\",\n \"lodash.meanby\",\n \"lodash.min\",\n \"lodash.minby\",\n \"lodash.multiply\",\n \"lodash.round\",\n \"lodash.subtract\",\n \"lodash.sum\",\n \"lodash.sumby\",\n \"lodash.clamp\",\n \"lodash.inrange\",\n \"lodash.random\",\n \"lodash.assign\",\n \"lodash.assignin\",\n \"lodash.assigninwith\",\n \"lodash.assignwith\",\n \"lodash.at\",\n \"lodash.create\",\n \"lodash.defaults\",\n \"lodash.defaultsdeep\",\n \"lodash.findkey\",\n \"lodash.findlastkey\",\n \"lodash.forin\",\n \"lodash.forinright\",\n \"lodash.forown\",\n \"lodash.forownright\",\n \"lodash.functions\",\n \"lodash.functionsin\",\n \"lodash.get\",\n \"lodash.has\",\n \"lodash.hasin\",\n \"lodash.invert\",\n \"lodash.invertby\",\n \"lodash.invoke\",\n \"lodash.keys\",\n \"lodash.keysin\",\n \"lodash.mapkeys\",\n \"lodash.mapvalues\",\n \"lodash.merge\",\n \"lodash.mergewith\",\n \"lodash.omit\",\n \"lodash.omitby\",\n \"lodash.pick\",\n \"lodash.pickby\",\n \"lodash.result\",\n \"lodash.set\",\n \"lodash.setwith\",\n \"lodash.topairs\",\n \"lodash.topairsin\",\n \"lodash.transform\",\n \"lodash.unset\",\n \"lodash.update\",\n \"lodash.updatewith\",\n \"lodash.values\",\n \"lodash.valuesin\",\n \"lodash.chain\",\n \"lodash.tap\",\n \"lodash.thru\",\n \"lodash.camelcase\",\n \"lodash.capitalize\",\n \"lodash.deburr\",\n \"lodash.endswith\",\n \"lodash.escape\",\n \"lodash.escaperegexp\",\n \"lodash.kebabcase\",\n \"lodash.lowercase\",\n \"lodash.lowerfirst\",\n \"lodash.pad\",\n \"lodash.padend\",\n \"lodash.padstart\",\n \"lodash.parseint\",\n \"lodash.repeat\",\n \"lodash.replace\",\n \"lodash.snakecase\",\n \"lodash.split\",\n \"lodash.startcase\",\n \"lodash.startswith\",\n \"lodash.template\",\n \"lodash.tolower\",\n \"lodash.toupper\",\n \"lodash.trim\",\n \"lodash.trimend\",\n \"lodash.trimstart\",\n \"lodash.truncate\",\n \"lodash.unescape\",\n \"lodash.uppercase\",\n \"lodash.upperfirst\",\n \"lodash.words\",\n \"lodash.attempt\",\n \"lodash.bindall\",\n \"lodash.cond\",\n \"lodash.conforms\",\n \"lodash.constant\",\n \"lodash.defaultto\",\n \"lodash.flow\",\n \"lodash.flowright\",\n \"lodash.identity\",\n \"lodash.iteratee\",\n \"lodash.matches\",\n \"lodash.matchesproperty\",\n \"lodash.method\",\n \"lodash.methodof\",\n \"lodash.mixin\",\n \"lodash.noconflict\",\n \"lodash.noop\",\n \"lodash.ntharg\",\n \"lodash.over\",\n \"lodash.overevery\",\n \"lodash.oversome\",\n \"lodash.property\",\n \"lodash.propertyof\",\n \"lodash.range\",\n \"lodash.rangeright\",\n \"lodash.runincontext\",\n \"lodash.stubarray\",\n \"lodash.stubfalse\",\n \"lodash.stubobject\",\n \"lodash.stubstring\",\n \"lodash.stubtrue\",\n \"lodash.times\",\n \"lodash.topath\",\n \"lodash.uniqueid\",\n ],\n },\n {\n configName: \"mdx\",\n dependencies: [\"eslint-plugin-mdx\"],\n oneOfDependency: [\"nextra\", \"docz\", \"@docusaurus/core\", \"gatsby-plugin-mdx\"],\n resolve: [\"@mdx-js/mdx\", \"remark-mdx\", \"@mdx-js/loader\", \"@mdx-js/rollup\", \"@mdx-js/react\"],\n },\n {\n configName: \"no-unsanitized\",\n dependencies: [\"eslint-plugin-no-unsanitized\"],\n },\n {\n configName: \"react\",\n dependencies: [\"react\", \"react-dom\", \"eslint-plugin-react\"],\n },\n {\n configName: \"react-redux\",\n dependencies: [\"eslint-plugin-react-redux\"],\n oneOfDependency: [\"@reduxjs/toolkit\", \"redux\"],\n },\n {\n configName: \"jsx-a11y\",\n dependencies: [\"react\", \"react-dom\", \"eslint-plugin-jsx-a11y\"],\n },\n {\n configName: \"react-hooks\",\n dependencies: [\"react\", \"react-dom\", \"eslint-plugin-react-hooks\"],\n },\n {\n configName: \"react-usememo\",\n dependencies: [\"react\", \"react-dom\", \"@arthurgeron/eslint-plugin-react-usememo\"],\n },\n {\n configName: \"you-dont-need-momentjs\",\n dependencies: [\"moment\", \"eslint-plugin-you-dont-need-momentjs\"],\n },\n {\n configName: \"you-dont-need-momentjs\",\n dependencies: [\"moment-timezone\", \"eslint-plugin-you-dont-need-momentjs\"],\n },\n {\n configName: \"tailwindcss\",\n dependencies: [\"eslint-plugin-tailwindcss\"],\n },\n {\n configName: \"cypress\",\n dependencies: [\"cypress\", \"eslint-plugin-cypress\"],\n },\n {\n configName: \"jest\",\n dependencies: [\"jest\", \"eslint-plugin-jest\"],\n },\n {\n configName: \"jest-dom\",\n dependencies: [\"jest\", \"@testing-library/jest-dom\", \"eslint-plugin-jest-dom\"],\n },\n {\n configName: \"jest-async\",\n dependencies: [\"jest\", \"eslint-plugin-jest-async\"],\n },\n {\n configName: \"jest-formatting\",\n dependencies: [\"jest\", \"eslint-plugin-jest-formatting\"],\n },\n {\n configName: \"tailwindcss\",\n dependencies: [\"tailwindcss\"],\n },\n {\n configName: \"testing-library-dom\",\n dependencies: [\"@testing-library/dom\", \"eslint-plugin-testing-library\"],\n },\n {\n configName: \"testing-library-react\",\n dependencies: [\"react\", \"@testing-library/react\", \"eslint-plugin-testing-library\"],\n },\n {\n configName: \"typescript\",\n dependencies: [\"typescript\"],\n files: [\"tsconfig.json\", \"tsconfig.eslint.json\"],\n },\n {\n configName: \"etc\",\n dependencies: [\"typescript\", \"eslint-plugin-etc\"],\n },\n {\n configName: \"vitest\",\n dependencies: [\"vitest\", \"eslint-plugin-vitest\"],\n },\n {\n configName: \"vitest\",\n dependencies: [\"vitest\", \"eslint-plugin-vitest\", \"eslint-plugin-vitest-globals\"],\n },\n {\n configName: \"zod\",\n dependencies: [\"zod\", \"eslint-plugin-zod\"],\n },\n {\n configName: \"ava\",\n dependencies: [\"ava\", \"eslint-plugin-ava\"],\n },\n {\n configName: \"editorconfig\",\n dependencies: [\"eslint-plugin-editorconfig\"],\n files: [\".editorconfig\"],\n },\n {\n configName: \"storybook\",\n dependencies: [\"storybook\", \"eslint-plugin-storybook\"],\n },\n {\n configName: \"playwright\",\n dependencies: [\"playwright\", \"eslint-plugin-playwright\"],\n },\n {\n configName: \"tanstack-query\",\n dependencies: [\"@tanstack/react-query\", \"@tanstack/eslint-plugin-query\"],\n },\n];\n\nconst loadedPlugins: string[] = [...internalPluginConfig];\nconst possiblePlugins: Record<string, Record<string, boolean>> = {};\n\nif (loadedPlugins.length === internalPluginConfig.length) {\n // eslint-disable-next-line sonarjs/cognitive-complexity\n pluginConfig.forEach((plugin) => {\n const { configName, dependencies } = plugin;\n\n // eslint-disable-next-line security/detect-object-injection\n if ((anolilabEslintConfig as unknown as Record<string, Record<string, false | undefined>>)[\"plugin\"]?.[configName] !== false) {\n const foundDependencies = [];\n\n dependencies.forEach((dependency) => {\n if (hasDependency(dependency) || hasDevDependency(dependency)) {\n foundDependencies.push(dependency);\n }\n });\n\n // eslint-disable-next-line security/detect-object-injection\n possiblePlugins[configName] = {};\n\n if (foundDependencies.length === 0) {\n if (plugin.oneOfDependency !== undefined) {\n let foundOneOfDependency = false;\n\n plugin.oneOfDependency.forEach((dependency) => {\n if (!foundOneOfDependency && (hasDependency(dependency) || hasDevDependency(dependency))) {\n foundOneOfDependency = true;\n\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[dependency] = true;\n }\n });\n }\n\n if (plugin.resolve !== undefined) {\n plugin.resolve.forEach((rdependency) => {\n if (resolvePackage(rdependency) !== undefined) {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[rdependency] = true;\n }\n });\n }\n\n if (plugin.files !== undefined) {\n plugin.files.forEach((file) => {\n if (hasFile(file)) {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[file] = true;\n }\n });\n }\n }\n\n if (foundDependencies.length === dependencies.length) {\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-dynamic-delete\n delete possiblePlugins[configName];\n\n loadedPlugins.push(configName);\n } else {\n dependencies.forEach((dependency) => {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[dependency] = hasDependency(dependency) || hasDevDependency(dependency);\n });\n }\n }\n });\n}\n\nexport const rules = baseConfig;\nexport const pluginRules = loadedPlugins;\n\nexport const possiblePluginRules = possiblePlugins;\n","/**\nDefine the rules config that are overwritten only for specific version of Node.js based on `engines.node` in package.json or the `nodeVersion` option.\n\nThe keys are rule names and the values are an Object with a valid semver (`4.0.0` is valid `4` is not) as keys and the rule configuration as values.\n\nEach entry define the rule config and the maximum Node.js version for which to set it.\nThe entry with the lowest version that is compliant with the `engines.node`/`nodeVersion` range will be used.\n\n@type {Object}\n\n@example\n```\n{\n 'plugin/rule': {\n '6.0.0': ['error', {prop: 'node-6-conf'}],\n '8.0.0': ['error', {prop: 'node-8-conf'}]\n }\n}\n```\n\nWith `engines.node` set to `>=4` the rule `plugin/rule` will not be used.\nWith `engines.node` set to `>=6` the rule `plugin/rule` will be used with the config `{prop: 'node-6-conf'}`.\nWith `engines.node` set to `>=8` the rule `plugin/rule` will be used with the config `{prop: 'node-8-conf'}`.\n*/\nconst engineRules = {\n \"n/prefer-global/text-decoder\": {\n \"11.0.0\": \"off\",\n },\n \"n/prefer-global/text-encoder\": {\n \"11.0.0\": \"off\",\n },\n \"n/prefer-global/url\": {\n \"10.0.0\": \"off\",\n },\n \"n/prefer-global/url-search-params\": {\n \"10.0.0\": \"off\",\n },\n \"n/prefer-promises/dns\": {\n \"11.14.0\": \"off\",\n },\n \"n/prefer-promises/fs\": {\n \"11.14.0\": \"off\",\n },\n \"no-useless-catch\": {\n \"10.0.0\": \"off\",\n },\n \"prefer-destructuring\": {\n \"6.0.0\": \"off\",\n },\n \"prefer-named-capture-group\": {\n \"10.0.0\": \"off\",\n },\n \"prefer-object-spread\": {\n \"8.3.0\": \"off\",\n },\n \"prefer-rest-params\": {\n \"6.0.0\": \"off\",\n },\n \"promise/prefer-await-to-then\": {\n \"7.6.0\": \"off\",\n },\n \"unicorn/no-new-buffer\": {\n \"5.10.0\": \"off\",\n },\n \"unicorn/prefer-flat-map\": {\n \"11.0.0\": \"off\",\n },\n \"unicorn/prefer-spread\": {\n \"5.0.0\": \"off\",\n },\n};\n\nexport default engineRules;\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/config.ts","../src/engine-node-overwrite.ts"],"names":["join","hasDependency","hasDevDependency","packageIsTypeModule","pkg","globals","semver","hasFile","resolvePackage","baseConfig","internalPluginConfig","pluginConfig","loadedPlugins","possiblePlugins","plugin","configName","dependencies","eslint_config_default","foundDependencies","dependency","foundOneOfDependency","rdependency","file","rules","pluginRules","possiblePluginRules","engineRules","engine_node_overwrite_default","consoleLog","name","consolePlugin","hasLogged","installed","configRules","nodeVersion","rule","ruleConfig","minVersion","config","src_default"],"mappings":"mHAYA,MAAO,mDAEP,OAAS,QAAAA,MAAY,OAErB,OAAS,iBAAAC,EAAe,oBAAAC,EAAkB,uBAAAC,EAAqB,OAAAC,MAAW,+BAE1E,OAAOC,MAAa,UACpB,OAAOC,MAAY,SCnBnB,OAAS,iBAAAL,EAAe,oBAAAC,EAAkB,WAAAK,EAAS,kBAAAC,MAAsB,+BAKzE,IAAMC,EAAa,CAAC,iBAAkB,SAAU,QAAS,MAAO,WAAW,EAG9DC,EAAuB,CAChC,SACA,kBACA,SACA,UACA,qBACA,mBACA,OAEA,aACA,UACA,WACA,SAEA,QACA,WACA,OACA,MACA,OACA,WAGA,QACA,UACA,KACA,eACJ,EAEMC,EAA6B,CAC/B,CACI,WAAY,aACZ,aAAc,CAAC,0BAA0B,CAC7C,EACA,CACI,WAAY,QACZ,aAAc,CAAC,qBAAqB,CACxC,EACA,CACI,WAAY,QACZ,aAAc,CAAC,sBAAuB,YAAY,CACtD,EACA,CACI,WAAY,kCACZ,aAAc,CAAC,+CAA+C,EAC9D,gBAAiB,CACb,SACA,aACA,YACA,gBAEA,eACA,iBACA,gBACA,oBACA,sBACA,wBACA,cACA,mBACA,wBACA,mBACA,cACA,mBACA,uBACA,iBACA,qBACA,sBACA,mBACA,cACA,iBACA,iBACA,sBACA,wBACA,0BACA,cACA,cACA,qBACA,aACA,cACA,iBACA,mBACA,qBACA,gBACA,gBACA,iBACA,eACA,qBACA,uBACA,uBACA,yBACA,2BACA,2BACA,oBACA,sBACA,cACA,cACA,mBACA,wBACA,mBACA,eACA,iBACA,mBACA,cACA,gBACA,kBACA,eACA,mBACA,iBACA,aACA,eACA,iBACA,aACA,mBACA,uBACA,iBACA,iBACA,eACA,gBACA,cACA,kBACA,iBACA,qBACA,sBACA,iBACA,sBACA,iBACA,kBACA,mBACA,eACA,aACA,iBACA,mBACA,gBACA,qBACA,gBACA,gBACA,oBACA,iBACA,cACA,cACA,gBACA,aACA,eACA,aACA,gBACA,cACA,iBACA,eACA,oBACA,kBACA,eACA,eACA,cACA,iBACA,gBACA,cACA,kBACA,iBACA,sBACA,eACA,cACA,gBACA,kBACA,eACA,cACA,mBACA,eACA,mBACA,uBACA,mBACA,oBACA,YACA,YACA,aACA,qBACA,iBACA,uBACA,qBACA,2BACA,mBACA,kBACA,gBACA,mBACA,iBACA,iBACA,qBACA,iBACA,kBACA,oBACA,mBACA,kBACA,eACA,iBACA,qBACA,eACA,kBACA,eACA,gBACA,kBACA,kBACA,sBACA,uBACA,kBACA,uBACA,eACA,kBACA,kBACA,sBACA,qBACA,mBACA,mBACA,YACA,aACA,iBACA,kBACA,mBACA,kBACA,kBACA,uBACA,uBACA,kBACA,aACA,cACA,gBACA,eACA,aACA,eACA,cACA,gBACA,aACA,eACA,kBACA,eACA,kBACA,aACA,eACA,eACA,iBACA,gBACA,gBACA,kBACA,sBACA,oBACA,YACA,gBACA,kBACA,sBACA,iBACA,qBACA,eACA,oBACA,gBACA,qBACA,mBACA,qBACA,aACA,aACA,eACA,gBACA,kBACA,gBACA,cACA,gBACA,iBACA,mBACA,eACA,mBACA,cACA,gBACA,cACA,gBACA,gBACA,aACA,iBACA,iBACA,mBACA,mBACA,eACA,gBACA,oBACA,gBACA,kBACA,eACA,aACA,cACA,mBACA,oBACA,gBACA,kBACA,gBACA,sBACA,mBACA,mBACA,oBACA,aACA,gBACA,kBACA,kBACA,gBACA,iBACA,mBACA,eACA,mBACA,oBACA,kBACA,iBACA,iBACA,cACA,iBACA,mBACA,kBACA,kBACA,mBACA,oBACA,eACA,iBACA,iBACA,cACA,kBACA,kBACA,mBACA,cACA,mBACA,kBACA,kBACA,iBACA,yBACA,gBACA,kBACA,eACA,oBACA,cACA,gBACA,cACA,mBACA,kBACA,kBACA,oBACA,eACA,oBACA,sBACA,mBACA,mBACA,oBACA,oBACA,kBACA,eACA,gBACA,iBACJ,CACJ,EACA,CACI,WAAY,MACZ,aAAc,CAAC,mBAAmB,EAClC,gBAAiB,CAAC,SAAU,OAAQ,mBAAoB,mBAAmB,EAC3E,QAAS,CAAC,cAAe,aAAc,iBAAkB,iBAAkB,eAAe,CAC9F,EACA,CACI,WAAY,iBACZ,aAAc,CAAC,8BAA8B,CACjD,EACA,CACI,WAAY,QACZ,aAAc,CAAC,QAAS,YAAa,qBAAqB,CAC9D,EACA,CACI,WAAY,uBACZ,aAAc,CAAC,oCAAoC,EACnD,gBAAiB,CAAC,QAAS,YAAa,SAAU,eAAe,CACrE,EACA,CACI,WAAY,eACZ,aAAc,CAAC,4BAA4B,EAC3C,gBAAiB,CAAC,QAAS,YAAa,SAAU,eAAe,CACrE,EACA,CACI,WAAY,cACZ,aAAc,CAAC,2BAA2B,EAC1C,gBAAiB,CAAC,mBAAoB,OAAO,CACjD,EACA,CACI,WAAY,WACZ,aAAc,CAAC,wBAAwB,EACvC,gBAAiB,CAAC,QAAS,YAAa,SAAU,eAAe,CACrE,EACA,CACI,WAAY,cACZ,aAAc,CAAC,2BAA2B,EAC1C,gBAAiB,CAAC,QAAS,YAAa,SAAU,eAAe,CACrE,EACA,CACI,WAAY,gBACZ,aAAc,CAAC,0CAA0C,EACzD,gBAAiB,CAAC,QAAS,YAAa,SAAU,eAAe,CACrE,EACA,CACI,WAAY,yBACZ,aAAc,CAAC,SAAU,sCAAsC,CACnE,EACA,CACI,WAAY,yBACZ,aAAc,CAAC,kBAAmB,sCAAsC,CAC5E,EACA,CACI,WAAY,cACZ,aAAc,CAAC,2BAA2B,EAC1C,gBAAiB,CAAC,cAAe,0BAA2B,qBAAsB,4BAA6B,yBAAyB,CAC5I,EACA,CACI,WAAY,UACZ,aAAc,CAAC,UAAW,uBAAuB,CACrD,EACA,CACI,WAAY,OACZ,aAAc,CAAC,OAAQ,oBAAoB,CAC/C,EACA,CACI,WAAY,WACZ,aAAc,CAAC,OAAQ,4BAA6B,wBAAwB,CAChF,EACA,CACI,WAAY,aACZ,aAAc,CAAC,OAAQ,0BAA0B,CACrD,EACA,CACI,WAAY,kBACZ,aAAc,CAAC,OAAQ,+BAA+B,CAC1D,EACA,CACI,WAAY,cACZ,aAAc,CAAC,aAAa,CAChC,EACA,CACI,WAAY,sBACZ,aAAc,CAAC,uBAAwB,+BAA+B,CAC1E,EACA,CACI,WAAY,wBACZ,aAAc,CAAC,QAAS,yBAA0B,+BAA+B,CACrF,EACA,CACI,WAAY,aACZ,aAAc,CAAC,YAAY,EAC3B,MAAO,CAAC,gBAAiB,sBAAsB,CACnD,EACA,CACI,WAAY,cACZ,aAAc,CAAC,YAAY,EAC3B,MAAO,CAAC,gBAAiB,sBAAsB,CACnD,EACA,CACI,WAAY,gBACZ,aAAc,CAAC,EACf,gBAAiB,CAAC,OAAQ,QAAS,UAAW,OAAQ,MAAO,QAAS,SAAS,CACnF,EACA,CACI,WAAY,MACZ,aAAc,CAAC,aAAc,mBAAmB,CACpD,EACA,CACI,WAAY,SACZ,aAAc,CAAC,SAAU,sBAAsB,CACnD,EACA,CACI,WAAY,SACZ,aAAc,CAAC,SAAU,uBAAwB,8BAA8B,CACnF,EACA,CACI,WAAY,MACZ,aAAc,CAAC,MAAO,mBAAmB,CAC7C,EACA,CACI,WAAY,MACZ,aAAc,CAAC,MAAO,mBAAmB,CAC7C,EACA,CACI,WAAY,eACZ,aAAc,CAAC,4BAA4B,EAC3C,MAAO,CAAC,eAAe,CAC3B,EACA,CACI,WAAY,YACZ,aAAc,CAAC,YAAa,yBAAyB,CACzD,EACA,CACI,WAAY,aACZ,aAAc,CAAC,aAAc,0BAA0B,CAC3D,EACA,CACI,WAAY,iBACZ,aAAc,CAAC,wBAAyB,+BAA+B,CAC3E,CACJ,EAEMC,EAA0B,CAAC,GAAGF,CAAoB,EAClDG,EAA2D,CAAC,EAE9DD,EAAc,SAAWF,EAAqB,QAE9CC,EAAa,QAASG,GAAW,CAC7B,GAAM,CAAE,WAAAC,EAAY,aAAAC,CAAa,EAAIF,EAGrC,GAAKG,EAAsF,SAAYF,CAAU,IAAM,GAAO,CAC1H,IAAMG,EAAoB,CAAC,EAW3B,GATAF,EAAa,QAASG,GAAe,EAC7BlB,EAAckB,CAAU,GAAKjB,EAAiBiB,CAAU,IACxDD,EAAkB,KAAKC,CAAU,CAEzC,CAAC,EAGDN,EAAgBE,CAAU,EAAI,CAAC,EAE3BG,EAAkB,SAAW,EAAG,CAChC,GAAIJ,EAAO,kBAAoB,OAAW,CACtC,IAAIM,EAAuB,GAE3BN,EAAO,gBAAgB,QAASK,GAAe,CACvC,CAACC,IAAyBnB,EAAckB,CAAU,GAAKjB,EAAiBiB,CAAU,KAClFC,EAAuB,GAGtBP,EAAgBE,CAAU,EAA8BI,CAAU,EAAI,GAE/E,CAAC,CACL,CAEIL,EAAO,UAAY,QACnBA,EAAO,QAAQ,QAASO,GAAgB,CAChCb,EAAea,CAAW,IAAM,SAE/BR,EAAgBE,CAAU,EAA8BM,CAAW,EAAI,GAEhF,CAAC,EAGDP,EAAO,QAAU,QACjBA,EAAO,MAAM,QAASQ,GAAS,CACvBf,EAAQe,CAAI,IAEXT,EAAgBE,CAAU,EAA8BO,CAAI,EAAI,GAEzE,CAAC,CAET,CAEIJ,EAAkB,SAAWF,EAAa,QAE1C,OAAOH,EAAgBE,CAAU,EAEjCH,EAAc,KAAKG,CAAU,GAE7BC,EAAa,QAASG,GAAe,CAEhCN,EAAgBE,CAAU,EAA8BI,CAAU,EAAIlB,EAAckB,CAAU,GAAKjB,EAAiBiB,CAAU,CACnI,CAAC,CAET,CACJ,CAAC,EAGE,IAAMI,EAAQd,EACRe,EAAcZ,EAEda,EAAsBZ,ECriBnC,IAAMa,EAAc,CAChB,+BAAgC,CAC5B,SAAU,KACd,EACA,+BAAgC,CAC5B,SAAU,KACd,EACA,sBAAuB,CACnB,SAAU,KACd,EACA,oCAAqC,CACjC,SAAU,KACd,EACA,wBAAyB,CACrB,UAAW,KACf,EACA,uBAAwB,CACpB,UAAW,KACf,EACA,mBAAoB,CAChB,SAAU,KACd,EACA,uBAAwB,CACpB,QAAS,KACb,EACA,6BAA8B,CAC1B,SAAU,KACd,EACA,uBAAwB,CACpB,QAAS,KACb,EACA,qBAAsB,CAClB,QAAS,KACb,EACA,+BAAgC,CAC5B,QAAS,KACb,EACA,wBAAyB,CACrB,SAAU,KACd,EACA,0BAA2B,CACvB,SAAU,KACd,EACA,wBAAyB,CACrB,QAAS,KACb,CACJ,EAEOC,EAAQD,EF7Cf,GAAI,CAAC,OAAO,8BAA+B,CACnC,QAAQ,IAAI,QACZE,EAAW;AAAA;AAAA,CAA2D,EAEtEA,EAAW,qCAAqC,EAChDlB,EACK,IAAKmB,GACEA,IAAS,SACF,IAGPA,IAAS,OACF,IAGJA,CACV,EACA,QAASf,GAAWgB,EAAchB,CAAM,CAAC,GAGlD,IAAIiB,EAAY,GAEhB,OAAO,QAAQN,CAAmB,EAAE,QAAQ,CAAC,CAACX,EAAQE,CAAY,IAAM,CAC3C,OAAO,OAAOA,CAAY,EAAE,KAAK,OAAO,IAG7De,EAAY,GAEZH,EACI;AAAA,oDAAuDd,CAAM,gHACjE,EAEA,OAAO,QAAQE,CAAY,EAAE,QAAQ,CAAC,CAACG,EAAYa,CAAS,IAAM,CACzDA,GACDJ,EAAW,OAAOT,CAAU,EAAE,CAEtC,CAAC,EAET,CAAC,EAGGY,IACAH,EAAW;AAAA,iEAAoE,EAC/EA,EAAW;AAAA,CAA6E,GAG5FA,EAAW,iGAAiG,EAE5G,OAAO,8BAAgC,EAC3C,CAEA,IAAMK,EAAkC,CAAC,EACrCC,EAEA9B,GAAK,SAAU,OACf8B,EAAc9B,EAAI,QAAQ,MAG9B,OAAO,QAAQuB,CAAW,EAAE,QAAQ,CAAC,CAACQ,EAAMC,CAAU,IAAM,CACxD,OAAO,KAAKA,CAAU,EACjB,KAAK9B,EAAO,QAAQ,EACpB,QAAS+B,GAAe,CACjBH,GAAe5B,EAAO,WAAW4B,EAAa,IAAIG,CAAU,EAAE,IAE9DJ,EAAYE,CAAI,EAAIC,EAAWC,CAAqC,EAE5E,CAAC,CACT,CAAC,EAGG,CAAC,OAAO,kCAAoCpC,EAAc,UAAU,GAAKC,EAAiB,UAAU,KACpG,OAAO,gCAAkC,GAErCe,EAAqB,2CAAgD,IACrEW,EAAW;AAAA,8GAAiH,GAIpI,IAAMU,EAAwB,CAO1B,QAAS,CACL,GAAGf,EAAM,IAAKT,GAAWd,EAAK,UAAW,YAAYc,CAAM,KAAK,CAAC,EAEjE,GAAGU,EAAY,IAAKV,GAAWd,EAAK,UAAW,oBAAoBc,CAAM,KAAK,CAAC,CACnF,EACA,QAAS,CACL,GAAGT,EAAQ,QACX,GAAGA,EAAQ,WACf,EACA,eAAgB,CACZ,MAEA,QACA,gBACA,oBACA,iBACA,QAEA,WACA,YACA,eACA,UAEA,SACA,QACA,OAEA,aAKA,SAEA,gBACJ,EACA,UAAW,CACP,CACI,MAAO,CAAC,yBAAyB,EACjC,MAAO,CACH,wBAAyB,KAC7B,CACJ,EACA,CACI,MAAO,CAEH,wBACA,wBAGA,6BACA,6BAGA,uBACJ,EACA,MAAO,CACH,mBAAoB,MACpB,8BAA+B,KACnC,CACJ,EAEA,CACI,MAAOF,EAAsB,CAAC,OAAQ,OAAO,EAAI,CAAC,OAAO,EACzD,OAAQ,uBACR,cAAe,CACX,aAAc,CACV,QAAS,CAAC,wCAAwC,CACtD,EACA,kBAAmB,EACvB,CACJ,CACJ,EAEA,OAAQ,GAER,MAAO,CACH,GAAG8B,CACP,CACJ,EAEOM,EAAQD","sourcesContent":["/**\n * rushstack eslint-patch is used to include plugins as dev\n * dependencies instead of imposing them as peer dependencies\n *\n * {@link https://www.npmjs.com/package/@rushstack/eslint-patch}\n * {@link https://stackoverflow.com/a/74478635/1392749}\n * {@link https://github.com/eslint/eslint/issues/3458}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-1/}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-2/}\n * {@link https://eslint.org/blog/2022/08/new-config-system-part-3/}\n * {@link https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new}\n */\nimport \"@rushstack/eslint-patch/modern-module-resolution\";\n\nimport { join } from \"node:path\";\n\nimport { hasDependency, hasDevDependency, packageIsTypeModule, pkg } from \"@anolilab/package-json-utils\";\nimport type { Linter } from \"eslint\";\nimport globals from \"globals\";\nimport semver from \"semver\";\n\nimport { internalPluginConfig, pluginRules, possiblePluginRules, rules } from \"./config\";\nimport engineRules from \"./engine-node-overwrite\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\nimport { consoleLog, consolePlugin } from \"./utils/loggers\";\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabEsLintConfigLoaded) {\n if (process.env[\"DEBUG\"]) {\n consoleLog(\"\\n@anolilab/eslint-config loaded the following plugins:\\n\");\n\n consoleLog(\" @rushstack/eslint-plugin-security\");\n internalPluginConfig\n .map((name: string) => {\n if (name === \"import\") {\n return \"i\";\n }\n\n if (name === \"node\") {\n return \"n\";\n }\n\n return name;\n })\n .forEach((plugin) => consolePlugin(plugin));\n }\n\n let hasLogged = false;\n\n Object.entries(possiblePluginRules).forEach(([plugin, dependencies]) => {\n const hasOneDependency = Object.values(dependencies).some(Boolean);\n\n if (hasOneDependency) {\n hasLogged = true;\n\n consoleLog(\n `\\nYour package.json container dependencies for the \"${plugin}\" eslint-plugin, please add the following dependencies with your chosen package manager to enable this plugin:`,\n );\n\n Object.entries(dependencies).forEach(([dependency, installed]) => {\n if (!installed) {\n consoleLog(` ${dependency}`);\n }\n });\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasLogged) {\n consoleLog(\"\\nTo disable this message, add the following to your package.json:\");\n consoleLog(' \"anolilab\": { \"eslint-config\": { plugin: { \"plugin-name\": false } } }\\n');\n }\n\n consoleLog('To disable all logging, add the following to your eslint command call \"NO_LOGS=true eslint ...\"');\n\n global.hasAnolilabEsLintConfigLoaded = true;\n}\n\nconst configRules: Linter.RulesRecord = {};\nlet nodeVersion: string | undefined;\n\nif (pkg?.engines?.[\"node\"]) {\n nodeVersion = pkg.engines[\"node\"];\n}\n\nObject.entries(engineRules).forEach(([rule, ruleConfig]) => {\n Object.keys(ruleConfig)\n .sort(semver.rcompare)\n .forEach((minVersion) => {\n if (nodeVersion && semver.intersects(nodeVersion, `<${minVersion}`)) {\n // eslint-disable-next-line security/detect-object-injection\n configRules[rule] = ruleConfig[minVersion as keyof typeof ruleConfig] as Linter.RuleEntry;\n }\n });\n});\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabEsLintConfigPrettier && (hasDependency(\"prettier\") || hasDevDependency(\"prettier\"))) {\n global.hasAnolilabEsLintConfigPrettier = true;\n\n if (anolilabEslintConfig[\"info_on_disabling_prettier_conflict_rule\"] !== false) {\n consoleLog(\"\\nFound prettier as dependency, disabling some rules to fix wrong behavior of the rule with eslint and prettier\");\n }\n}\n\nconst config: Linter.Config = {\n // After an .eslintrc.js file is loaded, ESLint will normally continue visiting all parent folders\n // to look for other .eslintrc.js files, and also consult a personal file ~/.eslintrc.js. If any files\n // are found, their options will be merged. This is difficult for humans to understand, and it will cause\n // nondeterministic behavior if files are loaded from outside the Git working folder.\n //\n // Setting root=true causes ESLint to stop looking for other config files after the first .eslintrc.js\n extends: [\n ...rules.map((plugin) => join(__dirname, `./config/${plugin}.js`)),\n\n ...pluginRules.map((plugin) => join(__dirname, `./config/plugins/${plugin}.js`)),\n ],\n globals: {\n ...globals.browser,\n ...globals.nodeBuiltin,\n },\n ignorePatterns: [\n \"!.*\",\n\n \".git/\",\n \"node_modules/\",\n \"bower_components/\",\n \"jspm_packages/\",\n \".npm/\",\n\n \"lib-cov/\",\n \"coverage/\",\n \".nyc_output/\",\n \".cache/\",\n\n \"build/\",\n \"dist/\",\n \"tmp/\",\n\n \"**/*.min.*\",\n\n // Manually authored .d.ts files are generally used to describe external APIs that are not expected\n // to follow our coding conventions. Linting those files tends to produce a lot of spurious suppressions,\n // so we simply ignore them.\n \"*.d.ts\",\n\n \"pnpm-lock.yaml\",\n ],\n overrides: [\n {\n files: [\"**/migrations/*.{js,ts}\"],\n rules: {\n \"filenames/match-regex\": \"off\",\n },\n },\n {\n files: [\n // Test files\n \"**/*.spec.{js,ts,tsx}\",\n \"**/*.test.{js,ts,tsx}\",\n\n // Facebook convention\n \"**/__mocks__/*.{js,ts,tsx}\",\n \"**/__tests__/*.{js,ts,tsx}\",\n\n // Microsoft convention\n \"**/test/*.{js,ts,tsx}\",\n ],\n rules: {\n \"no-magic-numbers\": \"off\",\n \"sonarjs/no-duplicate-string\": \"off\",\n },\n },\n // Fixes https://github.com/eslint/eslint/discussions/15305\n {\n files: packageIsTypeModule ? [\"*.js\", \"*.mjs\"] : [\"*.mjs\"],\n parser: \"@babel/eslint-parser\",\n parserOptions: {\n babelOptions: {\n plugins: [\"@babel/plugin-syntax-import-assertions\"],\n },\n requireConfigFile: false,\n },\n },\n ],\n // Disable the parser by default\n parser: \"\",\n // is loaded.\n rules: {\n ...configRules,\n },\n};\n\nexport default config;\n","import { hasDependency, hasDevDependency, hasFile, resolvePackage } from \"@anolilab/package-json-utils\";\n\nimport type { PackageRules } from \"./types\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\n\nconst baseConfig = [\"best-practices\", \"errors\", \"style\", \"es6\", \"variables\"];\n\n// eslint-disable-next-line import/exports-last\nexport const internalPluginConfig = [\n \"compat\",\n \"eslint-comments\",\n \"import\",\n \"promise\",\n \"simple-import-sort\",\n \"no-extend-native\",\n \"node\",\n // Security Rules\n \"no-secrets\",\n \"sonarjs\",\n \"security\",\n \"regexp\",\n // file rules\n \"jsonc\",\n \"markdown\",\n \"toml\",\n \"yml\",\n \"html\",\n \"no-loops\",\n\n // custom rules\n \"antfu\",\n \"unicorn\",\n \"es\",\n \"perfectionist\",\n];\n\nconst pluginConfig: PackageRules = [\n {\n configName: \"array-func\",\n dependencies: [\"eslint-plugin-array-func\"],\n },\n {\n configName: \"jsdoc\",\n dependencies: [\"eslint-plugin-jsdoc\"],\n },\n {\n configName: \"tsdoc\",\n dependencies: [\"eslint-plugin-tsdoc\", \"typescript\"],\n },\n {\n configName: \"you-dont-need-lodash-underscore\",\n dependencies: [\"eslint-plugin-you-dont-need-lodash-underscore\"],\n oneOfDependency: [\n \"lodash\",\n \"underscore\",\n \"lodash-es\",\n \"@types/lodash\",\n\n \"lodash.chunk\",\n \"lodash.compact\",\n \"lodash.concat\",\n \"lodash.difference\",\n \"lodash.differenceby\",\n \"lodash.differencewith\",\n \"lodash.drop\",\n \"lodash.dropright\",\n \"lodash.droprightwhile\",\n \"lodash.dropwhile\",\n \"lodash.fill\",\n \"lodash.findindex\",\n \"lodash.findlastindex\",\n \"lodash.flatten\",\n \"lodash.flattendeep\",\n \"lodash.flattendepth\",\n \"lodash.frompairs\",\n \"lodash.head\",\n \"lodash.indexof\",\n \"lodash.initial\",\n \"lodash.intersection\",\n \"lodash.intersectionby\",\n \"lodash.intersectionwith\",\n \"lodash.join\",\n \"lodash.last\",\n \"lodash.lastindexof\",\n \"lodash.nth\",\n \"lodash.pull\",\n \"lodash.pullall\",\n \"lodash.pullallby\",\n \"lodash.pullallwith\",\n \"lodash.pullat\",\n \"lodash.remove\",\n \"lodash.reverse\",\n \"lodash.slice\",\n \"lodash.sortedindex\",\n \"lodash.sortedindexby\",\n \"lodash.sortedindexof\",\n \"lodash.sortedlastindex\",\n \"lodash.sortedlastindexby\",\n \"lodash.sortedlastindexof\",\n \"lodash.sorteduniq\",\n \"lodash.sorteduniqby\",\n \"lodash.tail\",\n \"lodash.take\",\n \"lodash.takeright\",\n \"lodash.takerightwhile\",\n \"lodash.takewhile\",\n \"lodash.union\",\n \"lodash.unionby\",\n \"lodash.unionwith\",\n \"lodash.uniq\",\n \"lodash.uniqby\",\n \"lodash.uniqwith\",\n \"lodash.unzip\",\n \"lodash.unzipwith\",\n \"lodash.without\",\n \"lodash.xor\",\n \"lodash.xorby\",\n \"lodash.xorwith\",\n \"lodash.zip\",\n \"lodash.zipobject\",\n \"lodash.zipobjectdeep\",\n \"lodash.zipwith\",\n \"lodash.countby\",\n \"lodash.every\",\n \"lodash.filter\",\n \"lodash.find\",\n \"lodash.findlast\",\n \"lodash.flatmap\",\n \"lodash.flatmapdeep\",\n \"lodash.flatmapdepth\",\n \"lodash.foreach\",\n \"lodash.foreachright\",\n \"lodash.groupby\",\n \"lodash.includes\",\n \"lodash.invokemap\",\n \"lodash.keyby\",\n \"lodash.map\",\n \"lodash.orderby\",\n \"lodash.partition\",\n \"lodash.reduce\",\n \"lodash.reduceright\",\n \"lodash.reject\",\n \"lodash.sample\",\n \"lodash.samplesize\",\n \"lodash.shuffle\",\n \"lodash.size\",\n \"lodash.some\",\n \"lodash.sortby\",\n \"lodash.now\",\n \"lodash.after\",\n \"lodash.ary\",\n \"lodash.before\",\n \"lodash.bind\",\n \"lodash.bindkey\",\n \"lodash.curry\",\n \"lodash.curryright\",\n \"lodash.debounce\",\n \"lodash.defer\",\n \"lodash.delay\",\n \"lodash.flip\",\n \"lodash.memoize\",\n \"lodash.negate\",\n \"lodash.once\",\n \"lodash.overargs\",\n \"lodash.partial\",\n \"lodash.partialright\",\n \"lodash.rearg\",\n \"lodash.rest\",\n \"lodash.spread\",\n \"lodash.throttle\",\n \"lodash.unary\",\n \"lodash.wrap\",\n \"lodash.castarray\",\n \"lodash.clone\",\n \"lodash.clonedeep\",\n \"lodash.clonedeepwith\",\n \"lodash.clonewith\",\n \"lodash.conformsto\",\n \"lodash.eq\",\n \"lodash.gt\",\n \"lodash.gte\",\n \"lodash.isarguments\",\n \"lodash.isarray\",\n \"lodash.isarraybuffer\",\n \"lodash.isarraylike\",\n \"lodash.isarraylikeobject\",\n \"lodash.isboolean\",\n \"lodash.isbuffer\",\n \"lodash.isdate\",\n \"lodash.iselement\",\n \"lodash.isempty\",\n \"lodash.isequal\",\n \"lodash.isequalwith\",\n \"lodash.iserror\",\n \"lodash.isfinite\",\n \"lodash.isfunction\",\n \"lodash.isinteger\",\n \"lodash.islength\",\n \"lodash.ismap\",\n \"lodash.ismatch\",\n \"lodash.ismatchwith\",\n \"lodash.isnan\",\n \"lodash.isnative\",\n \"lodash.isnil\",\n \"lodash.isnull\",\n \"lodash.isnumber\",\n \"lodash.isobject\",\n \"lodash.isobjectlike\",\n \"lodash.isplainobject\",\n \"lodash.isregexp\",\n \"lodash.issafeinteger\",\n \"lodash.isset\",\n \"lodash.isstring\",\n \"lodash.issymbol\",\n \"lodash.istypedarray\",\n \"lodash.isundefined\",\n \"lodash.isweakmap\",\n \"lodash.isweakset\",\n \"lodash.lt\",\n \"lodash.lte\",\n \"lodash.toarray\",\n \"lodash.tofinite\",\n \"lodash.tointeger\",\n \"lodash.tolength\",\n \"lodash.tonumber\",\n \"lodash.toplainobject\",\n \"lodash.tosafeinteger\",\n \"lodash.tostring\",\n \"lodash.add\",\n \"lodash.ceil\",\n \"lodash.divide\",\n \"lodash.floor\",\n \"lodash.max\",\n \"lodash.maxby\",\n \"lodash.mean\",\n \"lodash.meanby\",\n \"lodash.min\",\n \"lodash.minby\",\n \"lodash.multiply\",\n \"lodash.round\",\n \"lodash.subtract\",\n \"lodash.sum\",\n \"lodash.sumby\",\n \"lodash.clamp\",\n \"lodash.inrange\",\n \"lodash.random\",\n \"lodash.assign\",\n \"lodash.assignin\",\n \"lodash.assigninwith\",\n \"lodash.assignwith\",\n \"lodash.at\",\n \"lodash.create\",\n \"lodash.defaults\",\n \"lodash.defaultsdeep\",\n \"lodash.findkey\",\n \"lodash.findlastkey\",\n \"lodash.forin\",\n \"lodash.forinright\",\n \"lodash.forown\",\n \"lodash.forownright\",\n \"lodash.functions\",\n \"lodash.functionsin\",\n \"lodash.get\",\n \"lodash.has\",\n \"lodash.hasin\",\n \"lodash.invert\",\n \"lodash.invertby\",\n \"lodash.invoke\",\n \"lodash.keys\",\n \"lodash.keysin\",\n \"lodash.mapkeys\",\n \"lodash.mapvalues\",\n \"lodash.merge\",\n \"lodash.mergewith\",\n \"lodash.omit\",\n \"lodash.omitby\",\n \"lodash.pick\",\n \"lodash.pickby\",\n \"lodash.result\",\n \"lodash.set\",\n \"lodash.setwith\",\n \"lodash.topairs\",\n \"lodash.topairsin\",\n \"lodash.transform\",\n \"lodash.unset\",\n \"lodash.update\",\n \"lodash.updatewith\",\n \"lodash.values\",\n \"lodash.valuesin\",\n \"lodash.chain\",\n \"lodash.tap\",\n \"lodash.thru\",\n \"lodash.camelcase\",\n \"lodash.capitalize\",\n \"lodash.deburr\",\n \"lodash.endswith\",\n \"lodash.escape\",\n \"lodash.escaperegexp\",\n \"lodash.kebabcase\",\n \"lodash.lowercase\",\n \"lodash.lowerfirst\",\n \"lodash.pad\",\n \"lodash.padend\",\n \"lodash.padstart\",\n \"lodash.parseint\",\n \"lodash.repeat\",\n \"lodash.replace\",\n \"lodash.snakecase\",\n \"lodash.split\",\n \"lodash.startcase\",\n \"lodash.startswith\",\n \"lodash.template\",\n \"lodash.tolower\",\n \"lodash.toupper\",\n \"lodash.trim\",\n \"lodash.trimend\",\n \"lodash.trimstart\",\n \"lodash.truncate\",\n \"lodash.unescape\",\n \"lodash.uppercase\",\n \"lodash.upperfirst\",\n \"lodash.words\",\n \"lodash.attempt\",\n \"lodash.bindall\",\n \"lodash.cond\",\n \"lodash.conforms\",\n \"lodash.constant\",\n \"lodash.defaultto\",\n \"lodash.flow\",\n \"lodash.flowright\",\n \"lodash.identity\",\n \"lodash.iteratee\",\n \"lodash.matches\",\n \"lodash.matchesproperty\",\n \"lodash.method\",\n \"lodash.methodof\",\n \"lodash.mixin\",\n \"lodash.noconflict\",\n \"lodash.noop\",\n \"lodash.ntharg\",\n \"lodash.over\",\n \"lodash.overevery\",\n \"lodash.oversome\",\n \"lodash.property\",\n \"lodash.propertyof\",\n \"lodash.range\",\n \"lodash.rangeright\",\n \"lodash.runincontext\",\n \"lodash.stubarray\",\n \"lodash.stubfalse\",\n \"lodash.stubobject\",\n \"lodash.stubstring\",\n \"lodash.stubtrue\",\n \"lodash.times\",\n \"lodash.topath\",\n \"lodash.uniqueid\",\n ],\n },\n {\n configName: \"mdx\",\n dependencies: [\"eslint-plugin-mdx\"],\n oneOfDependency: [\"nextra\", \"docz\", \"@docusaurus/core\", \"gatsby-plugin-mdx\"],\n resolve: [\"@mdx-js/mdx\", \"remark-mdx\", \"@mdx-js/loader\", \"@mdx-js/rollup\", \"@mdx-js/react\"],\n },\n {\n configName: \"no-unsanitized\",\n dependencies: [\"eslint-plugin-no-unsanitized\"],\n },\n {\n configName: \"react\",\n dependencies: [\"react\", \"react-dom\", \"eslint-plugin-react\"],\n },\n {\n configName: \"validate-jsx-nesting\",\n dependencies: [\"eslint-plugin-validate-jsx-nesting\"],\n oneOfDependency: [\"react\", \"react-dom\", \"preact\", \"preact/compat\"],\n },\n {\n configName: \"ssr-friendly\",\n dependencies: [\"eslint-plugin-ssr-friendly\"],\n oneOfDependency: [\"react\", \"react-dom\", \"preact\", \"preact/compat\"],\n },\n {\n configName: \"react-redux\",\n dependencies: [\"eslint-plugin-react-redux\"],\n oneOfDependency: [\"@reduxjs/toolkit\", \"redux\"],\n },\n {\n configName: \"jsx-a11y\",\n dependencies: [\"eslint-plugin-jsx-a11y\"],\n oneOfDependency: [\"react\", \"react-dom\", \"preact\", \"preact/compat\"],\n },\n {\n configName: \"react-hooks\",\n dependencies: [\"eslint-plugin-react-hooks\"],\n oneOfDependency: [\"react\", \"react-dom\", \"preact\", \"preact/compat\"],\n },\n {\n configName: \"react-usememo\",\n dependencies: [\"@arthurgeron/eslint-plugin-react-usememo\"],\n oneOfDependency: [\"react\", \"react-dom\", \"preact\", \"preact/compat\"],\n },\n {\n configName: \"you-dont-need-momentjs\",\n dependencies: [\"moment\", \"eslint-plugin-you-dont-need-momentjs\"],\n },\n {\n configName: \"you-dont-need-momentjs\",\n dependencies: [\"moment-timezone\", \"eslint-plugin-you-dont-need-momentjs\"],\n },\n {\n configName: \"tailwindcss\",\n dependencies: [\"eslint-plugin-tailwindcss\"],\n oneOfDependency: [\"tailwindcss\", \"@tailwindcss/typography\", \"@tailwindcss/forms\", \"@tailwindcss/aspect-ratio\", \"@tailwindcss/line-clamp\"],\n },\n {\n configName: \"cypress\",\n dependencies: [\"cypress\", \"eslint-plugin-cypress\"],\n },\n {\n configName: \"jest\",\n dependencies: [\"jest\", \"eslint-plugin-jest\"],\n },\n {\n configName: \"jest-dom\",\n dependencies: [\"jest\", \"@testing-library/jest-dom\", \"eslint-plugin-jest-dom\"],\n },\n {\n configName: \"jest-async\",\n dependencies: [\"jest\", \"eslint-plugin-jest-async\"],\n },\n {\n configName: \"jest-formatting\",\n dependencies: [\"jest\", \"eslint-plugin-jest-formatting\"],\n },\n {\n configName: \"tailwindcss\",\n dependencies: [\"tailwindcss\"],\n },\n {\n configName: \"testing-library-dom\",\n dependencies: [\"@testing-library/dom\", \"eslint-plugin-testing-library\"],\n },\n {\n configName: \"testing-library-react\",\n dependencies: [\"react\", \"@testing-library/react\", \"eslint-plugin-testing-library\"],\n },\n {\n configName: \"typescript\",\n dependencies: [\"typescript\"],\n files: [\"tsconfig.json\", \"tsconfig.eslint.json\"],\n },\n {\n configName: \"deprecation\",\n dependencies: [\"typescript\"],\n files: [\"tsconfig.json\", \"tsconfig.eslint.json\"],\n },\n {\n configName: \"no-only-tests\",\n dependencies: [],\n oneOfDependency: [\"jest\", \"mocha\", \"jasmine\", \"tape\", \"ava\", \"qunit\", \"cypress\"],\n },\n {\n configName: \"etc\",\n dependencies: [\"typescript\", \"eslint-plugin-etc\"],\n },\n {\n configName: \"vitest\",\n dependencies: [\"vitest\", \"eslint-plugin-vitest\"],\n },\n {\n configName: \"vitest\",\n dependencies: [\"vitest\", \"eslint-plugin-vitest\", \"eslint-plugin-vitest-globals\"],\n },\n {\n configName: \"zod\",\n dependencies: [\"zod\", \"eslint-plugin-zod\"],\n },\n {\n configName: \"ava\",\n dependencies: [\"ava\", \"eslint-plugin-ava\"],\n },\n {\n configName: \"editorconfig\",\n dependencies: [\"eslint-plugin-editorconfig\"],\n files: [\".editorconfig\"],\n },\n {\n configName: \"storybook\",\n dependencies: [\"storybook\", \"eslint-plugin-storybook\"],\n },\n {\n configName: \"playwright\",\n dependencies: [\"playwright\", \"eslint-plugin-playwright\"],\n },\n {\n configName: \"tanstack-query\",\n dependencies: [\"@tanstack/react-query\", \"@tanstack/eslint-plugin-query\"],\n },\n];\n\nconst loadedPlugins: string[] = [...internalPluginConfig];\nconst possiblePlugins: Record<string, Record<string, boolean>> = {};\n\nif (loadedPlugins.length === internalPluginConfig.length) {\n // eslint-disable-next-line sonarjs/cognitive-complexity\n pluginConfig.forEach((plugin) => {\n const { configName, dependencies } = plugin;\n\n // eslint-disable-next-line security/detect-object-injection\n if ((anolilabEslintConfig as unknown as Record<string, Record<string, false | undefined>>)[\"plugin\"]?.[configName] !== false) {\n const foundDependencies = [];\n\n dependencies.forEach((dependency) => {\n if (hasDependency(dependency) || hasDevDependency(dependency)) {\n foundDependencies.push(dependency);\n }\n });\n\n // eslint-disable-next-line security/detect-object-injection\n possiblePlugins[configName] = {};\n\n if (foundDependencies.length === 0) {\n if (plugin.oneOfDependency !== undefined) {\n let foundOneOfDependency = false;\n\n plugin.oneOfDependency.forEach((dependency) => {\n if (!foundOneOfDependency && (hasDependency(dependency) || hasDevDependency(dependency))) {\n foundOneOfDependency = true;\n\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[dependency] = true;\n }\n });\n }\n\n if (plugin.resolve !== undefined) {\n plugin.resolve.forEach((rdependency) => {\n if (resolvePackage(rdependency) !== undefined) {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[rdependency] = true;\n }\n });\n }\n\n if (plugin.files !== undefined) {\n plugin.files.forEach((file) => {\n if (hasFile(file)) {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[file] = true;\n }\n });\n }\n }\n\n if (foundDependencies.length === dependencies.length) {\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-dynamic-delete\n delete possiblePlugins[configName];\n\n loadedPlugins.push(configName);\n } else {\n dependencies.forEach((dependency) => {\n // eslint-disable-next-line security/detect-object-injection\n (possiblePlugins[configName] as Record<string, boolean>)[dependency] = hasDependency(dependency) || hasDevDependency(dependency);\n });\n }\n }\n });\n}\n\nexport const rules = baseConfig;\nexport const pluginRules = loadedPlugins;\n\nexport const possiblePluginRules = possiblePlugins;\n","/**\nDefine the rules config that are overwritten only for specific version of Node.js based on `engines.node` in package.json or the `nodeVersion` option.\n\nThe keys are rule names and the values are an Object with a valid semver (`4.0.0` is valid `4` is not) as keys and the rule configuration as values.\n\nEach entry define the rule config and the maximum Node.js version for which to set it.\nThe entry with the lowest version that is compliant with the `engines.node`/`nodeVersion` range will be used.\n\n@type {Object}\n\n@example\n```\n{\n 'plugin/rule': {\n '6.0.0': ['error', {prop: 'node-6-conf'}],\n '8.0.0': ['error', {prop: 'node-8-conf'}]\n }\n}\n```\n\nWith `engines.node` set to `>=4` the rule `plugin/rule` will not be used.\nWith `engines.node` set to `>=6` the rule `plugin/rule` will be used with the config `{prop: 'node-6-conf'}`.\nWith `engines.node` set to `>=8` the rule `plugin/rule` will be used with the config `{prop: 'node-8-conf'}`.\n*/\nconst engineRules = {\n \"n/prefer-global/text-decoder\": {\n \"11.0.0\": \"off\",\n },\n \"n/prefer-global/text-encoder\": {\n \"11.0.0\": \"off\",\n },\n \"n/prefer-global/url\": {\n \"10.0.0\": \"off\",\n },\n \"n/prefer-global/url-search-params\": {\n \"10.0.0\": \"off\",\n },\n \"n/prefer-promises/dns\": {\n \"11.14.0\": \"off\",\n },\n \"n/prefer-promises/fs\": {\n \"11.14.0\": \"off\",\n },\n \"no-useless-catch\": {\n \"10.0.0\": \"off\",\n },\n \"prefer-destructuring\": {\n \"6.0.0\": \"off\",\n },\n \"prefer-named-capture-group\": {\n \"10.0.0\": \"off\",\n },\n \"prefer-object-spread\": {\n \"8.3.0\": \"off\",\n },\n \"prefer-rest-params\": {\n \"6.0.0\": \"off\",\n },\n \"promise/prefer-await-to-then\": {\n \"7.6.0\": \"off\",\n },\n \"unicorn/no-new-buffer\": {\n \"5.10.0\": \"off\",\n },\n \"unicorn/prefer-flat-map\": {\n \"11.0.0\": \"off\",\n },\n \"unicorn/prefer-spread\": {\n \"5.0.0\": \"off\",\n },\n};\n\nexport default engineRules;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/postinstall/write-eslint-ignore.ts","../src/postinstall/write-eslint-rc.ts","../src/postinstall.ts"],"names":["existsSync","writeFile","join","promisify","projectPath","writeFileAsync","writeEslintIgnore","write_eslint_ignore_default","init_write_eslint_ignore","__esmMin","eslintIgnorePath","readFileSync","packageIsTypeModule","configFile","writeEslintRc","write_eslint_rc_default","init_write_eslint_rc","filename","eslintPath","pluginExtends","parserOptions","tsconfigPath","ecmaVersion","tsConfig","content","env","exit","require_postinstall","__commonJSMin","error"],"mappings":"+CAAA,OAAS,cAAAA,EAAY,aAAAC,MAAiB,KACtC,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,OAE1B,OAAS,eAAAC,MAAmB,+BAJ5B,IAMMC,EAEAC,EAaCC,EArBPC,EAAAC,EAAA,kBAMMJ,EAAiBF,EAAUF,CAAS,EAEpCK,EAAoB,SAA2B,CACjD,IAAMI,EAAmBR,EAAKE,EAAa,eAAe,EAG1D,GAAIJ,EAAWU,CAAgB,EAAG,CAC9B,QAAQ,KAAK,4CAAkC,EAE/C,MACJ,CAEA,MAAML,EAAeK,EAAkB,GAAI,MAAM,CACrD,EAEOH,EAAQD,ICrBf,OAAS,cAAAN,EAAY,gBAAAW,EAAc,aAAAV,MAAiB,KACpD,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,OAE1B,OAAS,uBAAAS,EAAqB,eAAAR,MAAmB,+BAJjD,IAOMC,EAIAQ,EAGAC,EAuGCC,EArHPC,EAAAP,EAAA,kBAOMJ,EAAiBF,EAAUF,CAAS,EAE1C,QAAQ,IAAI,sCAAuCG,EAAa;AAAA,CAAI,EAE9DS,EAAa,YAGbC,EAAgB,SAA2B,CAE7C,QAAWG,IAAY,CAACJ,EAAY,GAAGA,CAAU,MAAO,GAAGA,CAAU,OAAQ,GAAGA,CAAU,QAAS,GAAGA,CAAU,QAAS,GAAGA,CAAU,MAAM,EAExI,GAAIb,EAAWE,EAAKE,EAAaa,CAAQ,CAAC,EAAG,CACzC,QAAQ,KAAK,iBAAOA,CAAQ;AAAA;AAAA,gEAEwB,EAEpD,MACJ,CAGJ,IAAMC,EAAahB,EAAKE,EAAa,aAAaQ,EAAsB,IAAM,EAAE,IAAI,EAEhFO,EAAgB,GAChBC,EAAgB;AAAA;AAAA;AAAA,sBAGFR,EAAsB,WAAa,YAAY;AAAA,QAG3DS,EAAenB,EAAKE,EAAa,eAAe,EAElDkB,EAAc,SAGlB,GAAItB,EAAWqB,CAAY,EAAG,CAE1B,IAAME,EAAW,KAAK,MAAMZ,EAAaU,EAAc,MAAM,CAAC,EAE1DE,EAAS,iBAAiB,SAC1BD,EAAcC,EAAS,gBAAgB,OAEvCD,EACIA,EAAY,YAAY,IAAM,UAAYA,EAAY,YAAY,IAAM,SAAW,SAAWA,EAAY,YAAY,EAAE,QAAQ,KAAM,EAAE,EAExIA,IAAgB,UAAYA,IAAgB,QAAUA,IAAgB,QAAUA,IAAgB,MAChGH,EAAgB,gCAAgCG,CAAW,MAInEF,EAAgB;AAAA;AAAA;AAAA,uBAGDE,IAAgB,SAAW,IAAIA,CAAW,IAAMA,CAAW;AAAA,sBAC5DV,EAAsB,WAAa,YAAY;AAAA,OAEjE,CAEA,IAAMY,EAAU;AAAA;AAAA,EAElB,CAAC,SAAU,SAAU,SAAU,SAAU,QAAQ,EAAE,SAASF,CAAW,EAAI;AAAA;AAAA,EAAwE,EAAE;AAAA;AAAA;AAAA,yCAG9GH,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA,QAK9CC,CAAa;AAAA,gBAEb,CAAC,SAAU,SAAU,SAAU,SAAU,QAAQ,EAAE,SAASE,CAAW,EACjE;AAAA,qBAAwBA,IAAgB,SAAW,SAAWA,CAAW,IACzE,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmCA,MAAMjB,EAAea,EAAYM,EAAS,MAAM,CACpD,EAEOT,EAAQD,ICrHf,OAAS,OAAAW,EAAK,QAAAC,MAAY,UAE1B,OAAS,eAAAtB,MAAmB,+BAF5B,IAAAuB,EAAAC,EAAA,KAIApB,IACAQ,IAEIS,EAAI,IACJC,EAAK,CAAC,EAGV,QAAQ,IAAI,sCAAuCtB,EAAa;AAAA,CAAI,GAGnE,SAAY,CACT,GAAI,CAEA,MAAM,QAAQ,IAAI,CAACW,EAAc,EAAGR,EAAkB,CAAC,CAAC,EAExD,QAAQ,IAAI,4CAAqC,EAEjDmB,EAAK,CAAC,CACV,OAASG,EAAP,CACE,QAAQ,IAAI,kCAA2B,EACvC,QAAQ,MAAMA,CAAK,EAEnBH,EAAK,CAAC,CACV,CACJ,GAAG","sourcesContent":["import { existsSync, writeFile } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nimport { projectPath } from \"@anolilab/package-json-utils\";\n\nconst writeFileAsync = promisify(writeFile);\n\nconst writeEslintIgnore = async (): Promise<void> => {\n const eslintIgnorePath = join(projectPath, \".eslintignore\");\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(eslintIgnorePath)) {\n console.warn(\"⚠️ .eslintignore already exists\");\n\n return;\n }\n\n await writeFileAsync(eslintIgnorePath, \"\", \"utf8\");\n};\n\nexport default writeEslintIgnore;\n","import { existsSync, readFileSync, writeFile } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nimport { packageIsTypeModule, projectPath } from \"@anolilab/package-json-utils\";\nimport type { TsConfigJson } from \"type-fest\";\n\nconst writeFileAsync = promisify(writeFile);\n\nconsole.log(\"Configuring @anolilab/eslint-config\", projectPath, \"\\n\");\n\nconst configFile = \".eslintrc\";\n\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst writeEslintRc = async (): Promise<void> => {\n // eslint-disable-next-line no-restricted-syntax\n for (const filename of [configFile, `${configFile}.js`, `${configFile}.cjs`, `${configFile}.json`, `${configFile}.yaml`, `${configFile}.yml`]) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(join(projectPath, filename))) {\n console.warn(`⚠️ ${filename} already exists;\nMake sure that it includes the following for @anolilab/eslint-config'\nto work as it should: { extends: [\"@anolilab/eslint-config\"] }.`);\n\n return;\n }\n }\n\n const eslintPath = join(projectPath, `.eslintrc.${packageIsTypeModule ? \"c\" : \"\"}js`);\n\n let pluginExtends = \"\";\n let parserOptions = `\n parserOptions: {\n ecmaVersion: \"latest\",\n sourceType: ${packageIsTypeModule ? '\"module\"' : '\"commonjs\"'},\n },`;\n\n const tsconfigPath = join(projectPath, \"tsconfig.json\");\n\n let ecmaVersion = \"latest\";\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(tsconfigPath)) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n const tsConfig = JSON.parse(readFileSync(tsconfigPath, \"utf8\")) as TsConfigJson;\n\n if (tsConfig.compilerOptions?.target) {\n ecmaVersion = tsConfig.compilerOptions.target;\n\n ecmaVersion =\n ecmaVersion.toLowerCase() === \"es2022\" || ecmaVersion.toLowerCase() === \"esnext\" ? \"latest\" : ecmaVersion.toLowerCase().replace(\"es\", \"\");\n\n if (ecmaVersion !== \"latest\" && ecmaVersion !== \"2022\" && ecmaVersion !== \"2021\" && ecmaVersion !== \"6\") {\n pluginExtends = `, \"plugin:es-x/restrict-to-es${ecmaVersion}\"`;\n }\n }\n\n parserOptions = `\n parserOptions: {\n project: true,\n ecmaVersion: ${ecmaVersion === \"latest\" ? `\"${ecmaVersion}\"` : ecmaVersion},\n sourceType: ${packageIsTypeModule ? '\"module\"' : '\"commonjs\"'},\n },`;\n }\n\n const content = `/** @ts-check */\nconst { defineConfig } = require('@anolilab/eslint-config/define-config');\n${[\"es2015\", \"es2017\", \"es2020\", \"es2021\", \"latest\"].includes(ecmaVersion) ? 'const { globals } = require(\"@anolilab/eslint-config/globals\");\\n\\n' : \"\"}\nmodule.exports = defineConfig({\n root: true,\n extends: [\"@anolilab/eslint-config\"${pluginExtends}],\n ignorePatterns: [\"!**/*\"],\n env: {\n // Your environments (which contains several predefined global variables)\n // Most environments are loaded automatically if our rules are added\n },${parserOptions}\n globals: {${\n [\"es2015\", \"es2017\", \"es2020\", \"es2021\", \"latest\"].includes(ecmaVersion)\n ? `\\n ...globals.${ecmaVersion === \"latest\" ? \"es2021\" : ecmaVersion},`\n : \"\"\n }\n // Your global variables (setting to false means it's not allowed to be reassigned)\n // myGlobal: false\n },\n rules: {\n // Customize your rules\n },\n overrides: [\n {\n files: [\n \"*.ts\",\n \"*.tsx\",\n \"*.mts\",\n \"*.cts\",\n \"*.js\",\n \"*.jsx\",\n ],\n // Set parserOptions.project for the project to allow TypeScript to create the type-checker behind the scenes when we run linting\n parserOptions: {},\n rules: {},\n },\n {\n files: [\"*.ts\", \"*.tsx\", \"*.mts\", \"*.cts\"],\n // Set parserOptions.project for the project to allow TypeScript to create the type-checker behind the scenes when we run linting\n parserOptions: {},\n rules: {},\n },\n {\n files: [\"*.js\", \"*.jsx\"],\n rules: {},\n },\n ],\n});\n`;\n\n await writeFileAsync(eslintPath, content, \"utf8\");\n};\n\nexport default writeEslintRc;\n","import { env, exit } from \"node:process\";\n\nimport { projectPath } from \"@anolilab/package-json-utils\";\n\nimport writeEslintIgnore from \"./postinstall/write-eslint-ignore\";\nimport writeEslintRc from \"./postinstall/write-eslint-rc\";\n\nif (env[\"CI\"]) {\n exit(0);\n}\n\nconsole.log(\"Configuring @anolilab/eslint-config\", projectPath, \"\\n\");\n\n// eslint-disable-next-line unicorn/prefer-top-level-await\n(async () => {\n try {\n // eslint-disable-next-line compat/compat\n await Promise.all([writeEslintRc(), writeEslintIgnore()]);\n\n console.log(\"😎 Everything went well, have fun!\");\n\n exit(0);\n } catch (error) {\n console.log(\"😬 something went wrong:\");\n console.error(error);\n\n exit(1);\n }\n})();\n"]}
1
+ {"version":3,"sources":["../src/postinstall/write-eslint-ignore.ts","../src/postinstall/write-eslint-rc.ts","../src/postinstall.ts"],"names":["existsSync","writeFile","join","promisify","projectPath","writeFileAsync","writeEslintIgnore","write_eslint_ignore_default","init_write_eslint_ignore","__esmMin","eslintIgnorePath","readFileSync","packageIsTypeModule","configFile","writeEslintRc","write_eslint_rc_default","init_write_eslint_rc","filename","eslintPath","pluginExtends","parserOptions","tsconfigPath","ecmaVersion","tsConfig","content","env","exit","require_postinstall","__commonJSMin","error"],"mappings":"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","sourcesContent":["import { existsSync, writeFile } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nimport { projectPath } from \"@anolilab/package-json-utils\";\n\nconst writeFileAsync = promisify(writeFile);\n\nconst writeEslintIgnore = async (): Promise<void> => {\n const eslintIgnorePath = join(projectPath, \".eslintignore\");\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(eslintIgnorePath)) {\n console.warn(\"⚠️ .eslintignore already exists\");\n\n return;\n }\n\n await writeFileAsync(eslintIgnorePath, \"\", \"utf8\");\n};\n\nexport default writeEslintIgnore;\n","import { existsSync, readFileSync, writeFile } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nimport { packageIsTypeModule, projectPath } from \"@anolilab/package-json-utils\";\nimport type { TsConfigJson } from \"type-fest\";\n\nconst writeFileAsync = promisify(writeFile);\n\nconsole.log(\"Configuring @anolilab/eslint-config\", projectPath, \"\\n\");\n\nconst configFile = \".eslintrc\";\n\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst writeEslintRc = async (): Promise<void> => {\n // eslint-disable-next-line no-restricted-syntax,no-loops/no-loops\n for (const filename of [configFile, `${configFile}.js`, `${configFile}.cjs`, `${configFile}.json`, `${configFile}.yaml`, `${configFile}.yml`]) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(join(projectPath, filename))) {\n console.warn(`⚠️ ${filename} already exists;\nMake sure that it includes the following for @anolilab/eslint-config'\nto work as it should: { extends: [\"@anolilab/eslint-config\"] }.`);\n\n return;\n }\n }\n\n const eslintPath = join(projectPath, `.eslintrc.${packageIsTypeModule ? \"c\" : \"\"}js`);\n\n let pluginExtends = \"\";\n let parserOptions = `\n parserOptions: {\n ecmaVersion: \"latest\",\n sourceType: ${packageIsTypeModule ? '\"module\"' : '\"commonjs\"'},\n },`;\n\n const tsconfigPath = join(projectPath, \"tsconfig.json\");\n\n let ecmaVersion = \"latest\";\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n if (existsSync(tsconfigPath)) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n const tsConfig = JSON.parse(readFileSync(tsconfigPath, \"utf8\")) as TsConfigJson;\n\n if (tsConfig.compilerOptions?.target) {\n ecmaVersion = tsConfig.compilerOptions.target;\n\n ecmaVersion =\n ecmaVersion.toLowerCase() === \"es2022\" || ecmaVersion.toLowerCase() === \"esnext\" ? \"latest\" : ecmaVersion.toLowerCase().replace(\"es\", \"\");\n\n if (ecmaVersion !== \"latest\" && ecmaVersion !== \"2022\" && ecmaVersion !== \"2021\" && ecmaVersion !== \"6\") {\n pluginExtends = `, \"plugin:es-x/restrict-to-es${ecmaVersion}\"`;\n }\n }\n\n parserOptions = `\n parserOptions: {\n project: true,\n ecmaVersion: ${ecmaVersion === \"latest\" ? `\"${ecmaVersion}\"` : ecmaVersion},\n sourceType: ${packageIsTypeModule ? '\"module\"' : '\"commonjs\"'},\n },`;\n }\n\n const content = `/** @ts-check */\nconst { defineConfig } = require('@anolilab/eslint-config/define-config');\n${[\"es2015\", \"es2017\", \"es2020\", \"es2021\", \"latest\"].includes(ecmaVersion) ? 'const { globals } = require(\"@anolilab/eslint-config/globals\");\\n\\n' : \"\"}\nmodule.exports = defineConfig({\n root: true,\n extends: [\"@anolilab/eslint-config\"${pluginExtends}],\n ignorePatterns: [\"!**/*\"],\n env: {\n // Your environments (which contains several predefined global variables)\n // Most environments are loaded automatically if our rules are added\n },${parserOptions}\n globals: {${\n [\"es2015\", \"es2017\", \"es2020\", \"es2021\", \"latest\"].includes(ecmaVersion)\n ? `\\n ...globals.${ecmaVersion === \"latest\" ? \"es2021\" : ecmaVersion},`\n : \"\"\n }\n // Your global variables (setting to false means it's not allowed to be reassigned)\n // myGlobal: false\n },\n rules: {\n // Customize your rules\n },\n overrides: [\n {\n files: [\n \"*.ts\",\n \"*.tsx\",\n \"*.mts\",\n \"*.cts\",\n \"*.js\",\n \"*.jsx\",\n ],\n // Set parserOptions.project for the project to allow TypeScript to create the type-checker behind the scenes when we run linting\n parserOptions: {},\n rules: {},\n },\n {\n files: [\"*.ts\", \"*.tsx\", \"*.mts\", \"*.cts\"],\n // Set parserOptions.project for the project to allow TypeScript to create the type-checker behind the scenes when we run linting\n parserOptions: {},\n rules: {},\n },\n {\n files: [\"*.js\", \"*.jsx\"],\n rules: {},\n },\n ],\n});\n`;\n\n await writeFileAsync(eslintPath, content, \"utf8\");\n};\n\nexport default writeEslintRc;\n","import { env, exit } from \"node:process\";\n\nimport { projectPath } from \"@anolilab/package-json-utils\";\n\nimport writeEslintIgnore from \"./postinstall/write-eslint-ignore\";\nimport writeEslintRc from \"./postinstall/write-eslint-rc\";\n\nif (env[\"CI\"]) {\n exit(0);\n}\n\nconsole.log(\"Configuring @anolilab/eslint-config\", projectPath, \"\\n\");\n\n// eslint-disable-next-line unicorn/prefer-top-level-await\n(async () => {\n try {\n // eslint-disable-next-line compat/compat\n await Promise.all([writeEslintRc(), writeEslintIgnore()]);\n\n console.log(\"😎 Everything went well, have fun!\");\n\n exit(0);\n } catch (error) {\n console.log(\"😬 something went wrong:\");\n console.error(error);\n\n exit(1);\n }\n})();\n"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkOCCLNRZC_js = require('./chunk-OCCLNRZC.js');
4
- var chunkULHYM44Q_js = require('./chunk-ULHYM44Q.js');
4
+ var chunkX2N7JEGF_js = require('./chunk-X2N7JEGF.js');
5
5
  var chunkWG6GTAIA_js = require('./chunk-WG6GTAIA.js');
6
6
  require('./chunk-MFE6DF6Y.js');
7
7
  var process = require('process');
8
8
 
9
- var r=chunkULHYM44Q_js.a.overrides[0].rules,s=process.env.DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION!=="true";chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version!==void 0&&(s=chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version);var p=chunkWG6GTAIA_js.a("typescript",{extends:["plugin:@typescript-eslint/recommended-type-checked","plugin:@typescript-eslint/strict-type-checked","plugin:@typescript-eslint/stylistic-type-checked"],parser:"@typescript-eslint/parser",parserOptions:{ecmaFeatures:{jsx:!0},sourceType:"module",warnOnUnsupportedTypeScriptVersion:s},plugins:["@typescript-eslint"],rules:{"@typescript-eslint/await-thenable":"error","@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["RegExp"]}],"@typescript-eslint/no-confusing-void-expression":["error",{ignoreArrowShorthand:!0,ignoreVoidOperator:!1}],"@typescript-eslint/no-floating-promises":["error",{ignoreIIFE:!0,ignoreVoid:!0}],"@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-implied-eval":r["no-implied-eval"],"@typescript-eslint/no-meaningless-void-operator":["error",{checkNever:!0}],"@typescript-eslint/no-misused-promises":["error",{checksConditionals:!0,checksVoidReturn:{arguments:!0,attributes:!1,properties:!0,returns:!0,variables:!0}}],"@typescript-eslint/no-throw-literal":r["no-throw-literal"],"@typescript-eslint/no-unnecessary-condition":"error","@typescript-eslint/no-unnecessary-qualifier":"error","@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unnecessary-type-assertion":"off","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-nullish-coalescing":["error",{ignoreConditionalTests:!0,ignoreMixedLogicalExpressions:!0}],"@typescript-eslint/prefer-readonly":["error",{onlyInlineLambdas:!1}],"@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/prefer-regexp-exec":"error","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-string-starts-ends-with":"error","@typescript-eslint/promise-function-async":"error","@typescript-eslint/require-array-sort-compare":["error",{ignoreStringArrays:!1}],"@typescript-eslint/require-await":r["require-await"],"@typescript-eslint/restrict-plus-operands":"error","@typescript-eslint/return-await":["error","always"],"@typescript-eslint/switch-exhaustiveness-check":"error","@typescript-eslint/unbound-method":["error",{ignoreStatic:!1}]}}),y=p;
9
+ var r=chunkX2N7JEGF_js.a.overrides[0].rules,i=process.env.DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION!=="true";chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version!==void 0&&(i=chunkOCCLNRZC_js.a.warn_on_unsupported_typescript_version);var p=chunkWG6GTAIA_js.a("typescript",{extends:["plugin:@typescript-eslint/recommended-type-checked","plugin:@typescript-eslint/strict-type-checked","plugin:@typescript-eslint/stylistic-type-checked"],parser:"@typescript-eslint/parser",parserOptions:{ecmaFeatures:{jsx:!0},sourceType:"module",warnOnUnsupportedTypeScriptVersion:i},plugins:["@typescript-eslint"],rules:{"@typescript-eslint/await-thenable":"error","@typescript-eslint/consistent-type-exports":["error",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["RegExp"]}],"@typescript-eslint/no-confusing-void-expression":["error",{ignoreArrowShorthand:!0,ignoreVoidOperator:!1}],"@typescript-eslint/no-floating-promises":["error",{ignoreIIFE:!0,ignoreVoid:!0}],"@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-implied-eval":r["no-implied-eval"],"@typescript-eslint/no-meaningless-void-operator":["error",{checkNever:!0}],"@typescript-eslint/no-misused-promises":["error",{checksConditionals:!0,checksVoidReturn:{arguments:!0,attributes:!1,properties:!0,returns:!0,variables:!0}}],"@typescript-eslint/no-throw-literal":r["no-throw-literal"],"@typescript-eslint/no-unnecessary-condition":"error","@typescript-eslint/no-unnecessary-qualifier":"error","@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unnecessary-type-assertion":"off","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/method-signature-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-nullish-coalescing":["error",{ignoreConditionalTests:!0,ignoreMixedLogicalExpressions:!0}],"@typescript-eslint/prefer-readonly":["error",{onlyInlineLambdas:!1}],"@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/prefer-regexp-exec":"error","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-string-starts-ends-with":"error","@typescript-eslint/promise-function-async":"error","@typescript-eslint/require-array-sort-compare":["error",{ignoreStringArrays:!1}],"@typescript-eslint/require-await":r["require-await"],"@typescript-eslint/restrict-plus-operands":"error","@typescript-eslint/return-await":["error","always"],"@typescript-eslint/switch-exhaustiveness-check":"error","@typescript-eslint/unbound-method":["error",{ignoreStatic:!1}],"@typescript-eslint/consistent-type-assertions":["off",{assertionStyle:"never"}],"@typescript-eslint/strict-boolean-expressions":["off",{allowString:!1,allowNumber:!1,allowNullableObject:!1}],"@typescript-eslint/consistent-type-definitions":"off"}}),y=p;
10
10
 
11
11
  module.exports = y;
12
12
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typescript-type-checking.ts"],"names":["env","bestPracticesRules","best_practices_default","showUnsupportedTypeScriptVersionWarning","eslint_config_default","config","createConfig","typescript_type_checking_default"],"mappings":"oJAAA,OAAS,OAAAA,MAAW,UASpB,IAAMC,EAAqBC,EAAoB,UAAU,CAAC,EAAE,MAExDC,EAAmDH,EAAI,qDAA0D,OAEjHI,EAAqB,yCAA8C,SACnED,EAA0CC,EAAqB,wCAGnE,IAAMC,EAASC,EAAa,aAAc,CACtC,QAAS,CACL,qDACA,gDACA,kDACJ,EACA,OAAQ,4BACR,cAAe,CACX,aAAc,CACV,IAAK,EACT,EACA,WAAY,SACZ,mCAAoCH,CACxC,EACA,QAAS,CAAC,oBAAoB,EAC9B,MAAO,CAEH,oCAAqC,QAErC,6CAA8C,CAC1C,QACA,CACI,uCAAwC,EAC5C,CACJ,EAGA,kCAAmC,CAAC,QAAS,CAAE,cAAe,EAAK,CAAC,EAEpE,uCAAwC,CACpC,QACA,CACI,iBAAkB,CAAC,QAAQ,CAC/B,CACJ,EAGA,kDAAmD,CAC/C,QACA,CACI,qBAAsB,GACtB,mBAAoB,EACxB,CACJ,EAGA,0CAA2C,CACvC,QACA,CACI,WAAY,GACZ,WAAY,EAChB,CACJ,EAGA,qCAAsC,QAEtC,qCAAsCF,EAAmB,iBAAiB,EAI1E,kDAAmD,CAAC,QAAS,CAAE,WAAY,EAAK,CAAC,EAEjF,yCAA0C,CACtC,QACA,CACI,mBAAoB,GACpB,iBAAkB,CACd,UAAW,GACX,WAAY,GACZ,WAAY,GACZ,QAAS,GACT,UAAW,EACf,CACJ,CACJ,EAGA,sCAAuCA,EAAmB,kBAAkB,EAE5E,8CAA+C,QAE/C,8CAA+C,QAI/C,mDAAoD,QAIpD,mDAAoD,MAGpD,uDAAwD,MAIxD,qCAAsC,QAGtC,+CAAgD,CAC5C,QACA,CACI,uBAAwB,GACxB,8BAA+B,EACnC,CACJ,EAIA,qCAAsC,CAAC,QAAS,CAAE,kBAAmB,EAAM,CAAC,EAI5E,kDAAmD,QAInD,wCAAyC,QAIzC,6CAA8C,QAE9C,oDAAqD,QAGrD,4CAA6C,QAG7C,gDAAiD,CAC7C,QACA,CACI,mBAAoB,EACxB,CACJ,EAEA,mCAAoCA,EAAmB,eAAe,EAGtE,4CAA6C,QAG7C,kCAAmC,CAAC,QAAS,QAAQ,EAIrD,iDAAkD,QAGlD,oCAAqC,CAAC,QAAS,CAAE,aAAc,EAAM,CAAC,CAC1E,CACJ,CAAC,EAEMM,EAAQF","sourcesContent":["import { env } from \"node:process\";\n\nimport type { Linter } from \"eslint\";\n\nimport bestPracticesConfig from \"./config/best-practices\";\nimport { createConfig } from \"./utils/create-config\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\n\n// @ts-expect-error TODO: find the correct type\nconst bestPracticesRules = bestPracticesConfig.overrides[0].rules as Linter.RulesRecord;\n\nlet showUnsupportedTypeScriptVersionWarning: boolean = env[\"DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION\"] !== \"true\";\n\nif (anolilabEslintConfig[\"warn_on_unsupported_typescript_version\"] !== undefined) {\n showUnsupportedTypeScriptVersionWarning = anolilabEslintConfig[\"warn_on_unsupported_typescript_version\"];\n}\n\nconst config = createConfig(\"typescript\", {\n extends: [\n \"plugin:@typescript-eslint/recommended-type-checked\",\n \"plugin:@typescript-eslint/strict-type-checked\",\n \"plugin:@typescript-eslint/stylistic-type-checked\",\n ],\n parser: \"@typescript-eslint/parser\",\n parserOptions: {\n ecmaFeatures: {\n jsx: true,\n },\n sourceType: \"module\",\n warnOnUnsupportedTypeScriptVersion: showUnsupportedTypeScriptVersionWarning,\n },\n plugins: [\"@typescript-eslint\"],\n rules: {\n // Disallows awaiting a value that is not a Thenable\n \"@typescript-eslint/await-thenable\": \"error\",\n\n \"@typescript-eslint/consistent-type-exports\": [\n \"error\",\n {\n fixMixedExportsWithInlineTypeSpecifier: true,\n },\n ],\n\n // Replace 'dot-notation' rule with '@typescript-eslint' version\n \"@typescript-eslint/dot-notation\": [\"error\", { allowKeywords: true }],\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-base-to-string.md\n \"@typescript-eslint/no-base-to-string\": [\n \"error\",\n {\n ignoredTypeNames: [\"RegExp\"],\n },\n ],\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md\n \"@typescript-eslint/no-confusing-void-expression\": [\n \"error\",\n {\n ignoreArrowShorthand: true,\n ignoreVoidOperator: false,\n },\n ],\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-floating-promises.md\n \"@typescript-eslint/no-floating-promises\": [\n \"error\",\n {\n ignoreIIFE: true,\n ignoreVoid: true,\n },\n ],\n\n // Disallow iterating over an array with a for-in loop\n \"@typescript-eslint/no-for-in-array\": \"error\",\n\n \"@typescript-eslint/no-implied-eval\": bestPracticesRules[\"no-implied-eval\"],\n\n // Replace 'no-throw-literal' rule with '@typescript-eslint' version\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md\n \"@typescript-eslint/no-meaningless-void-operator\": [\"error\", { checkNever: true }],\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-misused-promises.md\n \"@typescript-eslint/no-misused-promises\": [\n \"error\",\n {\n checksConditionals: true,\n checksVoidReturn: {\n arguments: true,\n attributes: false,\n properties: true,\n returns: true,\n variables: true,\n },\n },\n ],\n\n // Replace 'no-implied-eval' and 'no-new-func' rules with '@typescript-eslint' version\n \"@typescript-eslint/no-throw-literal\": bestPracticesRules[\"no-throw-literal\"],\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md\n \"@typescript-eslint/no-unnecessary-condition\": \"error\",\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md\n \"@typescript-eslint/no-unnecessary-qualifier\": \"error\",\n\n // Disallow the void operator except when used to discard a value.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md\n \"@typescript-eslint/no-unnecessary-type-arguments\": \"error\",\n\n // Disallow Promises in places not designed to handle them.\n // Disabling here because in most cases the explicitness is still valuable\n \"@typescript-eslint/no-unnecessary-type-assertion\": \"off\",\n\n // Warns if a type assertion does not change the type of an expression\n \"@typescript-eslint/non-nullable-type-assertion-style\": \"off\",\n\n // Enforce includes method over indexOf method.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-includes.md\n \"@typescript-eslint/prefer-includes\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md\n \"@typescript-eslint/prefer-nullish-coalescing\": [\n \"error\",\n {\n ignoreConditionalTests: true,\n ignoreMixedLogicalExpressions: true,\n },\n ],\n\n // Enforce RegExp#exec over String#match if no global flag is provided.\n // Requires that private members are marked as readonly if they're never modified outside of the constructor\n \"@typescript-eslint/prefer-readonly\": [\"error\", { onlyInlineLambdas: false }],\n\n // Enforce that this is used when only this type is returned.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md\n \"@typescript-eslint/prefer-reduce-type-parameter\": \"error\",\n\n // Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md\n \"@typescript-eslint/prefer-regexp-exec\": \"error\",\n\n // Replace 'require-await' rule with '@typescript-eslint' version\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-return-this-type.md\n \"@typescript-eslint/prefer-return-this-type\": \"error\",\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md\n \"@typescript-eslint/prefer-string-starts-ends-with\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/promise-function-async.md\n \"@typescript-eslint/promise-function-async\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/require-array-sort-compare.md\n \"@typescript-eslint/require-array-sort-compare\": [\n \"error\",\n {\n ignoreStringArrays: false,\n },\n ],\n\n \"@typescript-eslint/require-await\": bestPracticesRules[\"require-await\"],\n\n // When adding two variables, operands must both be of type number or of type string\n \"@typescript-eslint/restrict-plus-operands\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/return-await.md\n \"@typescript-eslint/return-await\": [\"error\", \"always\"],\n\n // Disallow unnecessary namespace qualifiers.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md\n \"@typescript-eslint/switch-exhaustiveness-check\": \"error\",\n\n // Enforces unbound methods are called with their expected scope\n \"@typescript-eslint/unbound-method\": [\"error\", { ignoreStatic: false }],\n },\n});\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../src/typescript-type-checking.ts"],"names":["env","bestPracticesRules","best_practices_default","showUnsupportedTypeScriptVersionWarning","eslint_config_default","config","createConfig","typescript_type_checking_default"],"mappings":"oJAAA,OAAS,OAAAA,MAAW,UASpB,IAAMC,EAAqBC,EAAoB,UAAU,CAAC,EAAE,MAExDC,EAAmDH,EAAI,qDAA0D,OAEjHI,EAAqB,yCAA8C,SACnED,EAA0CC,EAAqB,wCAGnE,IAAMC,EAASC,EAAa,aAAc,CACtC,QAAS,CACL,qDACA,gDACA,kDACJ,EACA,OAAQ,4BACR,cAAe,CACX,aAAc,CACV,IAAK,EACT,EACA,WAAY,SACZ,mCAAoCH,CACxC,EACA,QAAS,CAAC,oBAAoB,EAC9B,MAAO,CAEH,oCAAqC,QAErC,6CAA8C,CAC1C,QACA,CACI,uCAAwC,EAC5C,CACJ,EAGA,kCAAmC,CAAC,QAAS,CAAE,cAAe,EAAK,CAAC,EAEpE,uCAAwC,CACpC,QACA,CACI,iBAAkB,CAAC,QAAQ,CAC/B,CACJ,EAGA,kDAAmD,CAC/C,QACA,CACI,qBAAsB,GACtB,mBAAoB,EACxB,CACJ,EAGA,0CAA2C,CACvC,QACA,CACI,WAAY,GACZ,WAAY,EAChB,CACJ,EAGA,qCAAsC,QAEtC,qCAAsCF,EAAmB,iBAAiB,EAI1E,kDAAmD,CAAC,QAAS,CAAE,WAAY,EAAK,CAAC,EAEjF,yCAA0C,CACtC,QACA,CACI,mBAAoB,GACpB,iBAAkB,CACd,UAAW,GACX,WAAY,GACZ,WAAY,GACZ,QAAS,GACT,UAAW,EACf,CACJ,CACJ,EAGA,sCAAuCA,EAAmB,kBAAkB,EAO5E,8CAA+C,QAE/C,8CAA+C,QAI/C,mDAAoD,QAGpD,mDAAoD,MAIpD,uDAAwD,MAGxD,4CAA6C,QAI7C,qCAAsC,QAGtC,+CAAgD,CAC5C,QACA,CACI,uBAAwB,GACxB,8BAA+B,EACnC,CACJ,EAIA,qCAAsC,CAAC,QAAS,CAAE,kBAAmB,EAAM,CAAC,EAI5E,kDAAmD,QAInD,wCAAyC,QAIzC,6CAA8C,QAE9C,oDAAqD,QAGrD,4CAA6C,QAG7C,gDAAiD,CAC7C,QACA,CACI,mBAAoB,EACxB,CACJ,EAEA,mCAAoCA,EAAmB,eAAe,EAGtE,4CAA6C,QAG7C,kCAAmC,CAAC,QAAS,QAAQ,EAIrD,iDAAkD,QAGlD,oCAAqC,CAAC,QAAS,CAAE,aAAc,EAAM,CAAC,EAGtE,gDAAiD,CAC7C,MACA,CACI,eAAgB,OACpB,CACJ,EAGA,gDAAiD,CAC7C,MACA,CACI,YAAa,GACb,YAAa,GACb,oBAAqB,EACzB,CACJ,EAGA,iDAAkD,KACtD,CACJ,CAAC,EAEMM,EAAQF","sourcesContent":["import { env } from \"node:process\";\n\nimport type { Linter } from \"eslint\";\n\nimport bestPracticesConfig from \"./config/best-practices\";\nimport { createConfig } from \"./utils/create-config\";\nimport anolilabEslintConfig from \"./utils/eslint-config\";\n\n// @ts-expect-error TODO: find the correct type\nconst bestPracticesRules = bestPracticesConfig.overrides[0].rules as Linter.RulesRecord;\n\nlet showUnsupportedTypeScriptVersionWarning: boolean = env[\"DISABLE_ESLINT_WARN_UNSUPPORTED_TYPESCRIPT_VERSION\"] !== \"true\";\n\nif (anolilabEslintConfig[\"warn_on_unsupported_typescript_version\"] !== undefined) {\n showUnsupportedTypeScriptVersionWarning = anolilabEslintConfig[\"warn_on_unsupported_typescript_version\"];\n}\n\nconst config = createConfig(\"typescript\", {\n extends: [\n \"plugin:@typescript-eslint/recommended-type-checked\",\n \"plugin:@typescript-eslint/strict-type-checked\",\n \"plugin:@typescript-eslint/stylistic-type-checked\",\n ],\n parser: \"@typescript-eslint/parser\",\n parserOptions: {\n ecmaFeatures: {\n jsx: true,\n },\n sourceType: \"module\",\n warnOnUnsupportedTypeScriptVersion: showUnsupportedTypeScriptVersionWarning,\n },\n plugins: [\"@typescript-eslint\"],\n rules: {\n // Disallows awaiting a value that is not a Thenable\n \"@typescript-eslint/await-thenable\": \"error\",\n\n \"@typescript-eslint/consistent-type-exports\": [\n \"error\",\n {\n fixMixedExportsWithInlineTypeSpecifier: true,\n },\n ],\n\n // Replace 'dot-notation' rule with '@typescript-eslint' version\n \"@typescript-eslint/dot-notation\": [\"error\", { allowKeywords: true }],\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-base-to-string.md\n \"@typescript-eslint/no-base-to-string\": [\n \"error\",\n {\n ignoredTypeNames: [\"RegExp\"],\n },\n ],\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-confusing-void-expression.md\n \"@typescript-eslint/no-confusing-void-expression\": [\n \"error\",\n {\n ignoreArrowShorthand: true,\n ignoreVoidOperator: false,\n },\n ],\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-floating-promises.md\n \"@typescript-eslint/no-floating-promises\": [\n \"error\",\n {\n ignoreIIFE: true,\n ignoreVoid: true,\n },\n ],\n\n // Disallow iterating over an array with a for-in loop\n \"@typescript-eslint/no-for-in-array\": \"error\",\n\n \"@typescript-eslint/no-implied-eval\": bestPracticesRules[\"no-implied-eval\"],\n\n // Replace 'no-throw-literal' rule with '@typescript-eslint' version\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-meaningless-void-operator.md\n \"@typescript-eslint/no-meaningless-void-operator\": [\"error\", { checkNever: true }],\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-misused-promises.md\n \"@typescript-eslint/no-misused-promises\": [\n \"error\",\n {\n checksConditionals: true,\n checksVoidReturn: {\n arguments: true,\n attributes: false,\n properties: true,\n returns: true,\n variables: true,\n },\n },\n ],\n\n // Replace 'no-implied-eval' and 'no-new-func' rules with '@typescript-eslint' version\n \"@typescript-eslint/no-throw-literal\": bestPracticesRules[\"no-throw-literal\"],\n\n // Force array predicates to return something that could be either truthy or falsy.\n // See https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md\n // See also https://github.com/typescript-eslint/typescript-eslint/issues/1038\n // See also https://github.com/microsoft/TypeScript/issues/19456\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-condition.md\n \"@typescript-eslint/no-unnecessary-condition\": \"error\",\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md\n \"@typescript-eslint/no-unnecessary-qualifier\": \"error\",\n\n // Disallow the void operator except when used to discard a value.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md\n \"@typescript-eslint/no-unnecessary-type-arguments\": \"error\",\n\n // Disabling here because in most cases the explicitness is still valuable\n \"@typescript-eslint/no-unnecessary-type-assertion\": \"off\",\n\n // Warns if a type assertion does not change the type of an expression\n // See https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md\n \"@typescript-eslint/non-nullable-type-assertion-style\": \"off\",\n\n // See https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/method-signature-style.md\n \"@typescript-eslint/method-signature-style\": \"error\",\n\n // Enforce includes method over indexOf method.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-includes.md\n \"@typescript-eslint/prefer-includes\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md\n \"@typescript-eslint/prefer-nullish-coalescing\": [\n \"error\",\n {\n ignoreConditionalTests: true,\n ignoreMixedLogicalExpressions: true,\n },\n ],\n\n // Enforce RegExp#exec over String#match if no global flag is provided.\n // Requires that private members are marked as readonly if they're never modified outside of the constructor\n \"@typescript-eslint/prefer-readonly\": [\"error\", { onlyInlineLambdas: false }],\n\n // Enforce that this is used when only this type is returned.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md\n \"@typescript-eslint/prefer-reduce-type-parameter\": \"error\",\n\n // Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings.\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md\n \"@typescript-eslint/prefer-regexp-exec\": \"error\",\n\n // Replace 'require-await' rule with '@typescript-eslint' version\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-return-this-type.md\n \"@typescript-eslint/prefer-return-this-type\": \"error\",\n // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md\n \"@typescript-eslint/prefer-string-starts-ends-with\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/promise-function-async.md\n \"@typescript-eslint/promise-function-async\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/require-array-sort-compare.md\n \"@typescript-eslint/require-array-sort-compare\": [\n \"error\",\n {\n ignoreStringArrays: false,\n },\n ],\n\n \"@typescript-eslint/require-await\": bestPracticesRules[\"require-await\"],\n\n // When adding two variables, operands must both be of type number or of type string\n \"@typescript-eslint/restrict-plus-operands\": \"error\",\n\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/return-await.md\n \"@typescript-eslint/return-await\": [\"error\", \"always\"],\n\n // Disallow unnecessary namespace qualifiers.\n // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md\n \"@typescript-eslint/switch-exhaustiveness-check\": \"error\",\n\n // Enforces unbound methods are called with their expected scope\n \"@typescript-eslint/unbound-method\": [\"error\", { ignoreStatic: false }],\n\n // TODO: enable this rule when decision is made on\n \"@typescript-eslint/consistent-type-assertions\": [\n \"off\",\n {\n assertionStyle: \"never\",\n },\n ],\n\n // TODO: enable this rule when decision is made on\n \"@typescript-eslint/strict-boolean-expressions\": [\n \"off\",\n {\n allowString: false,\n allowNumber: false,\n allowNullableObject: false,\n },\n ],\n\n // Interfaces encourage OO, types encourage FP.\n \"@typescript-eslint/consistent-type-definitions\": \"off\",\n },\n});\n\nexport default config;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anolilab/eslint-config",
3
- "version": "13.0.2",
3
+ "version": "14.0.1",
4
4
  "description": "ESLint shareable config for the Anolilab JavaScript style guide.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -79,9 +79,6 @@
79
79
  "url": "https://anolilab.com/support"
80
80
  }
81
81
  ],
82
- "bin": {
83
- "anolilab-eslint-config": "./bin/generate-eslint-cofig.js"
84
- },
85
82
  "license": "MIT",
86
83
  "author": {
87
84
  "name": "Daniel Bannert",
@@ -109,6 +106,9 @@
109
106
  },
110
107
  "main": "dist/index.js",
111
108
  "types": "dist/index.d.ts",
109
+ "bin": {
110
+ "anolilab-eslint-config": "./bin/generate-eslint-cofig.js"
111
+ },
112
112
  "files": [
113
113
  "bin/generate-eslint-cofig.js",
114
114
  "dist",
@@ -129,6 +129,7 @@
129
129
  "@anolilab/package-json-utils": "3.0.5",
130
130
  "@babel/eslint-parser": "^7.22.15",
131
131
  "@babel/plugin-syntax-import-assertions": "^7.22.5",
132
+ "@eslint/js": "^8.49.0",
132
133
  "@html-eslint/eslint-plugin": "^0.19.1",
133
134
  "@html-eslint/parser": "^0.19.1",
134
135
  "@rushstack/eslint-patch": "^1.4.0",
@@ -138,7 +139,7 @@
138
139
  "confusing-browser-globals": "^1.0.11",
139
140
  "eslint-define-config": "^1.23.0",
140
141
  "eslint-import-resolver-node": "^0.3.9",
141
- "eslint-import-resolver-typescript": "^3.6.0",
142
+ "eslint-import-resolver-typescript": "^3.6.1",
142
143
  "eslint-plugin-antfu": "^0.43.1",
143
144
  "eslint-plugin-compat": "^4.2.0",
144
145
  "eslint-plugin-es-x": "^7.2.0",
@@ -149,6 +150,7 @@
149
150
  "eslint-plugin-markdown": "^3.0.1",
150
151
  "eslint-plugin-mdx": "^2.2.0",
151
152
  "eslint-plugin-no-loops": "^0.3.0",
153
+ "eslint-plugin-no-only-tests": "^3.1.0",
152
154
  "eslint-plugin-no-secrets": "^0.8.9",
153
155
  "eslint-plugin-no-use-extend-native": "^0.5.0",
154
156
  "eslint-plugin-perfectionist": "^2.1.0",
@@ -170,7 +172,7 @@
170
172
  "yaml-eslint-parser": "^1.2.2"
171
173
  },
172
174
  "devDependencies": {
173
- "@anolilab/semantic-release-preset": "7.0.0",
175
+ "@anolilab/semantic-release-preset": "7.0.2",
174
176
  "@arthurgeron/eslint-plugin-react-usememo": "^2.0.1",
175
177
  "@testing-library/dom": "^9.3.3",
176
178
  "@total-typescript/ts-reset": "^0.5.1",
@@ -181,6 +183,7 @@
181
183
  "eslint-find-rules": "^4.1.0",
182
184
  "eslint-plugin-babel": "^5.3.1",
183
185
  "eslint-plugin-cypress": "^2.15.1",
186
+ "eslint-plugin-deprecation": "^2.0.0",
184
187
  "eslint-plugin-editorconfig": "^4.0.3",
185
188
  "eslint-plugin-etc": "^2.0.3",
186
189
  "eslint-plugin-jest": "^27.4.0",
@@ -194,9 +197,11 @@
194
197
  "eslint-plugin-react": "^7.33.2",
195
198
  "eslint-plugin-react-hooks": "^4.6.0",
196
199
  "eslint-plugin-react-redux": "^4.0.0",
200
+ "eslint-plugin-ssr-friendly": "^1.2.0",
197
201
  "eslint-plugin-storybook": "^0.6.14",
198
202
  "eslint-plugin-tailwindcss": "^3.13.0",
199
203
  "eslint-plugin-testing-library": "^6.0.1",
204
+ "eslint-plugin-validate-jsx-nesting": "^0.1.1",
200
205
  "eslint-plugin-vitest": "^0.3.1",
201
206
  "eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0",
202
207
  "eslint-plugin-you-dont-need-momentjs": "^1.6.0",
@@ -211,11 +216,10 @@
211
216
  "vitest": "^0.34.5"
212
217
  },
213
218
  "peerDependencies": {
214
- "eslint": "^8.15.0"
215
- },
216
- "optionalDependencies": {
217
219
  "@arthurgeron/eslint-plugin-react-usememo": "^2.0.1",
220
+ "@babel/core": "^7.22.20",
218
221
  "@tanstack/eslint-plugin-query": "^4.34.1",
222
+ "eslint": "^8.15.0",
219
223
  "eslint-plugin-array-func": "^4.0.0",
220
224
  "eslint-plugin-ava": "^14.0.0",
221
225
  "eslint-plugin-babel": "^5.3.1",
@@ -234,13 +238,101 @@
234
238
  "eslint-plugin-react": "^7.33.2",
235
239
  "eslint-plugin-react-hooks": "^4.6.0",
236
240
  "eslint-plugin-react-redux": "^4.0.0",
241
+ "eslint-plugin-ssr-friendly": "^1.2.0",
237
242
  "eslint-plugin-storybook": "^0.6.14",
238
243
  "eslint-plugin-tailwindcss": "^3.13.0",
239
244
  "eslint-plugin-testing-library": "^6.0.1",
240
245
  "eslint-plugin-tsdoc": "^0.2.17",
246
+ "eslint-plugin-validate-jsx-nesting": "^1.0.1",
241
247
  "eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0",
242
248
  "eslint-plugin-you-dont-need-momentjs": "^1.6.0"
243
249
  },
250
+ "peerDependenciesMeta": {
251
+ "@arthurgeron/eslint-plugin-react-usememo": {
252
+ "optional": true
253
+ },
254
+ "@tanstack/eslint-plugin-query": {
255
+ "optional": true
256
+ },
257
+ "eslint-plugin-array-func": {
258
+ "optional": true
259
+ },
260
+ "eslint-plugin-ava": {
261
+ "optional": true
262
+ },
263
+ "eslint-plugin-babel": {
264
+ "optional": true
265
+ },
266
+ "eslint-plugin-cypress": {
267
+ "optional": true
268
+ },
269
+ "eslint-plugin-editorconfig": {
270
+ "optional": true
271
+ },
272
+ "eslint-plugin-jest": {
273
+ "optional": true
274
+ },
275
+ "eslint-plugin-jest-async": {
276
+ "optional": true
277
+ },
278
+ "eslint-plugin-jest-dom": {
279
+ "optional": true
280
+ },
281
+ "eslint-plugin-jest-formatting": {
282
+ "optional": true
283
+ },
284
+ "eslint-plugin-jsdoc": {
285
+ "optional": true
286
+ },
287
+ "eslint-plugin-jsx-a11y": {
288
+ "optional": true
289
+ },
290
+ "eslint-plugin-n": {
291
+ "optional": true
292
+ },
293
+ "eslint-plugin-no-unsanitized": {
294
+ "optional": true
295
+ },
296
+ "eslint-plugin-playwright": {
297
+ "optional": true
298
+ },
299
+ "eslint-plugin-prefer-object-spread": {
300
+ "optional": true
301
+ },
302
+ "eslint-plugin-react": {
303
+ "optional": true
304
+ },
305
+ "eslint-plugin-react-hooks": {
306
+ "optional": true
307
+ },
308
+ "eslint-plugin-react-redux": {
309
+ "optional": true
310
+ },
311
+ "eslint-plugin-ssr-friendly": {
312
+ "optional": true
313
+ },
314
+ "eslint-plugin-storybook": {
315
+ "optional": true
316
+ },
317
+ "eslint-plugin-tailwindcss": {
318
+ "optional": true
319
+ },
320
+ "eslint-plugin-testing-library": {
321
+ "optional": true
322
+ },
323
+ "eslint-plugin-tsdoc": {
324
+ "optional": true
325
+ },
326
+ "eslint-plugin-validate-jsx-nesting": {
327
+ "optional": true
328
+ },
329
+ "eslint-plugin-you-dont-need-lodash-underscore": {
330
+ "optional": true
331
+ },
332
+ "eslint-plugin-you-dont-need-momentjs": {
333
+ "optional": true
334
+ }
335
+ },
244
336
  "engines": {
245
337
  "node": ">=18"
246
338
  },
@@ -258,6 +350,7 @@
258
350
  "src/config/plugins/babel.ts",
259
351
  "src/config/plugins/compat.ts",
260
352
  "src/config/plugins/cypress.ts",
353
+ "src/config/plugins/deprecation.ts",
261
354
  "src/config/plugins/es.ts",
262
355
  "src/config/plugins/eslint-comments.ts",
263
356
  "src/config/plugins/etc.ts",
@@ -275,6 +368,7 @@
275
368
  "src/config/plugins/mdx.ts",
276
369
  "src/config/plugins/no-extend-native.ts",
277
370
  "src/config/plugins/no-loops.ts",
371
+ "src/config/plugins/no-only-tests.ts",
278
372
  "src/config/plugins/no-secrets.ts",
279
373
  "src/config/plugins/no-unsanitized.ts",
280
374
  "src/config/plugins/node.ts",
@@ -289,6 +383,7 @@
289
383
  "src/config/plugins/security.ts",
290
384
  "src/config/plugins/simple-import-sort.ts",
291
385
  "src/config/plugins/sonarjs.ts",
386
+ "src/config/plugins/ssr-friendly.ts",
292
387
  "src/config/plugins/storybook.ts",
293
388
  "src/config/plugins/tailwindcss.ts",
294
389
  "src/config/plugins/tanstack-query.ts",
@@ -298,6 +393,7 @@
298
393
  "src/config/plugins/tsdoc.ts",
299
394
  "src/config/plugins/typescript.ts",
300
395
  "src/config/plugins/unicorn.ts",
396
+ "src/config/plugins/validate-jsx-nesting.ts",
301
397
  "src/config/plugins/vitest.ts",
302
398
  "src/config/plugins/yml.ts",
303
399
  "src/config/plugins/you-dont-need-lodash-underscore.ts",
@@ -1 +0,0 @@
1
- export { defineConfig, defineFlatConfig } from 'eslint-define-config';
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- require('./chunk-MFE6DF6Y.js');
4
- var eslintDefineConfig = require('eslint-define-config');
5
-
6
-
7
-
8
- Object.defineProperty(exports, 'defineConfig', {
9
- enumerable: true,
10
- get: function () { return eslintDefineConfig.defineConfig; }
11
- });
12
- Object.defineProperty(exports, 'defineFlatConfig', {
13
- enumerable: true,
14
- get: function () { return eslintDefineConfig.defineFlatConfig; }
15
- });
16
- //# sourceMappingURL=out.js.map
17
- //# sourceMappingURL=define-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/define-config.ts"],"names":["defineConfig","defineFlatConfig"],"mappings":"4BAAA,OAAS,gBAAAA,EAAc,oBAAAC,MAAwB","sourcesContent":["export { defineConfig, defineFlatConfig } from \"eslint-define-config\";\n"]}