@ethang/eslint-config 24.0.2 → 24.0.3

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.
Files changed (75) hide show
  1. package/eslint.config.js +2 -28
  2. package/package.json +1 -1
  3. package/build.ts +0 -48
  4. package/dist/eslint.config.js +0 -2
  5. package/dist/package.json +0 -67
  6. package/src/README.md +0 -132
  7. package/src/build/create-config-file.ts +0 -70
  8. package/src/build/create-config.ts +0 -98
  9. package/src/build/get-react-version.ts +0 -19
  10. package/src/build/list-utilities.ts +0 -137
  11. package/src/build/rule-list.ts +0 -283
  12. package/src/build/update-readme.ts +0 -259
  13. package/src/build/update-rules.ts +0 -173
  14. package/src/config.angular.js +0 -122
  15. package/src/config.astro.js +0 -69
  16. package/src/config.html.js +0 -73
  17. package/src/config.react.js +0 -111
  18. package/src/config.solid.js +0 -34
  19. package/src/config.storybook.js +0 -31
  20. package/src/config.tailwind.js +0 -28
  21. package/src/constants.js +0 -16
  22. package/src/eslint.config.js +0 -1075
  23. package/src/eslint.html.js +0 -73
  24. package/src/setup/a11y.ts +0 -19
  25. package/src/setup/angular.ts +0 -36
  26. package/src/setup/astro.ts +0 -14
  27. package/src/setup/compat.ts +0 -13
  28. package/src/setup/cspell.ts +0 -100
  29. package/src/setup/css.ts +0 -15
  30. package/src/setup/eslint.ts +0 -250
  31. package/src/setup/gen-rules.ts +0 -85
  32. package/src/setup/html.ts +0 -17
  33. package/src/setup/json.ts +0 -17
  34. package/src/setup/lodash.ts +0 -59
  35. package/src/setup/markdown.ts +0 -16
  36. package/src/setup/perfectionist.ts +0 -49
  37. package/src/setup/react.ts +0 -37
  38. package/src/setup/solid.ts +0 -21
  39. package/src/setup/sonar.ts +0 -40
  40. package/src/setup/storybook.ts +0 -10
  41. package/src/setup/tailwind.ts +0 -12
  42. package/src/setup/tanstack-query.ts +0 -8
  43. package/src/setup/tanstack-router.ts +0 -8
  44. package/src/setup/typescript-eslint.ts +0 -114
  45. package/src/setup/unicorn.ts +0 -38
  46. package/src/tsconfig.json +0 -3
  47. package/tsconfig.json +0 -3
  48. /package/{dist/README.md → README.md} +0 -0
  49. /package/{dist/chunk-WK3YS7OG.js → chunk-WK3YS7OG.js} +0 -0
  50. /package/{dist/chunk-WK3YS7OG.js.map → chunk-WK3YS7OG.js.map} +0 -0
  51. /package/{dist/config.angular.d.ts → config.angular.d.ts} +0 -0
  52. /package/{dist/config.angular.js → config.angular.js} +0 -0
  53. /package/{dist/config.angular.js.map → config.angular.js.map} +0 -0
  54. /package/{dist/config.astro.d.ts → config.astro.d.ts} +0 -0
  55. /package/{dist/config.astro.js → config.astro.js} +0 -0
  56. /package/{dist/config.astro.js.map → config.astro.js.map} +0 -0
  57. /package/{dist/config.html.d.ts → config.html.d.ts} +0 -0
  58. /package/{dist/config.html.js → config.html.js} +0 -0
  59. /package/{dist/config.html.js.map → config.html.js.map} +0 -0
  60. /package/{dist/config.react.d.ts → config.react.d.ts} +0 -0
  61. /package/{dist/config.react.js → config.react.js} +0 -0
  62. /package/{dist/config.react.js.map → config.react.js.map} +0 -0
  63. /package/{dist/config.solid.d.ts → config.solid.d.ts} +0 -0
  64. /package/{dist/config.solid.js → config.solid.js} +0 -0
  65. /package/{dist/config.solid.js.map → config.solid.js.map} +0 -0
  66. /package/{dist/config.storybook.d.ts → config.storybook.d.ts} +0 -0
  67. /package/{dist/config.storybook.js → config.storybook.js} +0 -0
  68. /package/{dist/config.storybook.js.map → config.storybook.js.map} +0 -0
  69. /package/{dist/config.tailwind.d.ts → config.tailwind.d.ts} +0 -0
  70. /package/{dist/config.tailwind.js → config.tailwind.js} +0 -0
  71. /package/{dist/config.tailwind.js.map → config.tailwind.js.map} +0 -0
  72. /package/{dist/constants.js → constants.js} +0 -0
  73. /package/{dist/constants.js.map → constants.js.map} +0 -0
  74. /package/{dist/eslint.config.d.ts → eslint.config.d.ts} +0 -0
  75. /package/{dist/eslint.config.js.map → eslint.config.js.map} +0 -0
package/eslint.config.js CHANGED
@@ -1,28 +1,2 @@
1
- import config from "./src/eslint.config.js";
2
- import { defineConfig } from "eslint/config";
3
-
4
- export default defineConfig(
5
- {
6
- ignores: [
7
- "dist",
8
- "src/README.md",
9
- "src/eslint.config.js",
10
- "src/config.solid.js",
11
- "src/config.react.js",
12
- "src/config.astro.js",
13
- "src/config.angular.js",
14
- "src/config.storybook.js",
15
- "src/config.tailwind.js",
16
- "**/*.d.ts",
17
- ],
18
- },
19
- ...config,
20
- {
21
- languageOptions: {
22
- parserOptions: {
23
- project: true,
24
- tsconfigRootDir: import.meta.dirname,
25
- },
26
- },
27
- },
28
- );
1
+ import{a as e,b as o}from"./chunk-WK3YS7OG.js";import{defineConfig as n}from"eslint/config";import s from"eslint-plugin-jsx-a11y";import t from"eslint-plugin-compat";import a from"@cspell/eslint-plugin";import i from"@eslint/css";import c from"eslint-config-prettier";import p from"eslint-plugin-prettier/recommended";import r from"@eslint/json";import l from"eslint-plugin-lodash";import u from"@eslint/markdown";import d from"eslint-plugin-perfectionist";import f from"eslint-plugin-sonarjs";import m from"@tanstack/eslint-plugin-query";import y from"@tanstack/eslint-plugin-router";import g from"typescript-eslint";import h from"eslint-plugin-unicorn";var _=n({files:["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}"],ignores:e,languageOptions:o,settings:{react:{version:"19.2.3"}},plugins:{compat:t,"@typescript-eslint":g.plugin,unicorn:h,lodash:l,sonar:f,perfectionist:d,"@tanstack/query":m,"@tanstack/router":y,a11y:s,cspell:a},rules:{"compat/compat":"error","accessor-pairs":"error","array-callback-return":"error","arrow-body-style":["error","always"],"block-scoped-var":"error",camelcase:"off","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off","consistent-return":"off","consistent-this":"off","constructor-super":"error",curly:"off","default-case":"off","default-case-last":"off","default-param-last":"off","dot-notation":"off",eqeqeq:"error","for-direction":"error","func-name-matching":"error","func-names":"off","func-style":["error","declaration",{allowArrowFunctions:!0}],"getter-return":"error","grouped-accessor-pairs":"error","guard-for-in":"error","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","logical-assignment-operators":"error","max-classes-per-file":"error","max-depth":"error","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"error","max-params":"off","max-statements":"off","new-cap":"off","no-alert":"error","no-array-constructor":"off","no-async-promise-executor":"error","no-await-in-loop":"error","no-bitwise":"error","no-caller":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-console":"error","no-const-assign":"error","no-constant-binary-expression":"error","no-constant-condition":"error","no-constructor-return":"error","no-continue":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-div-regex":"error","no-dupe-args":"error","no-dupe-class-members":"off","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-duplicate-imports":"error","no-else-return":"error","no-empty":"error","no-empty-character-class":"error","no-empty-function":"off","no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"error","no-eval":"error","no-ex-assign":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-extra-label":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-implicit-coercion":"error","no-implicit-globals":"off","no-implied-eval":"off","no-import-assign":"error","no-inline-comments":"off","no-inner-declarations":"error","no-invalid-regexp":"error","no-invalid-this":"error","no-irregular-whitespace":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-loop-func":"error","no-loss-of-precision":"error","no-magic-numbers":"off","no-misleading-character-class":"error","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"error","no-nested-ternary":"error","no-new":"error","no-new-func":"error","no-new-native-nonconstructor":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-obj-calls":"error","no-object-constructor":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"error","no-promise-executor-return":"error","no-proto":"error","no-prototype-builtins":"error","no-redeclare":"off","no-regex-spaces":"error","no-restricted-exports":"off","no-restricted-globals":"off","no-restricted-imports":"off","no-restricted-properties":"off","no-restricted-syntax":"off","no-return-assign":"error","no-script-url":"error","no-self-assign":"error","no-self-compare":"error","no-sequences":"error","no-setter-return":"error","no-shadow":"off","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-template-curly-in-string":"off","no-ternary":"off","no-this-before-super":"error","no-throw-literal":"off","no-unassigned-vars":"error","no-undef":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"off","no-unexpected-multiline":"off","no-unmodified-loop-condition":"error","no-unneeded-ternary":"error","no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":["error",{disallowArithmeticOperators:!0}],"no-unused-expressions":"off","no-unused-labels":"error","no-unused-private-class-members":"error","no-unused-vars":"off","no-use-before-define":"off","no-useless-assignment":"off","no-useless-backreference":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-constructor":"off","no-useless-escape":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"error","no-warning-comments":"off","no-with":"error","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"off","prefer-const":"error","prefer-destructuring":"off","prefer-exponentiation-operator":"error","prefer-named-capture-group":"error","prefer-numeric-literals":"error","prefer-object-has-own":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"off","prefer-regex-literals":"error","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","preserve-caught-error":"error",radix:"error","require-atomic-updates":"error","require-await":"off","require-unicode-regexp":"error","require-yield":"error","sort-imports":"off","sort-keys":"off","sort-vars":"error",strict:"error","symbol-description":"error","unicode-bom":"error","use-isnan":"error","valid-typeof":"error","vars-on-top":"error",yoda:["error","always"],"@typescript-eslint/adjacent-overload-signatures":"off","@typescript-eslint/array-type":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/ban-ts-comment":"error","@typescript-eslint/ban-tslint-comment":"error","@typescript-eslint/class-literal-property-style":"error","@typescript-eslint/class-methods-use-this":"off","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-indexed-object-style":"error","@typescript-eslint/consistent-return":"off","@typescript-eslint/consistent-type-assertions":"error","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/consistent-type-exports":"error","@typescript-eslint/consistent-type-imports":["error",{fixStyle:"inline-type-imports"}],"@typescript-eslint/default-param-last":"error","@typescript-eslint/dot-notation":"error","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"off","@typescript-eslint/init-declarations":"off","@typescript-eslint/max-params":"off","@typescript-eslint/member-ordering":"off","@typescript-eslint/method-signature-style":"error","@typescript-eslint/naming-convention":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-array-delete":"error","@typescript-eslint/no-base-to-string":"error","@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-confusing-void-expression":"error","@typescript-eslint/no-deprecated":"error","@typescript-eslint/no-dupe-class-members":"off","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-duplicate-type-constituents":"error","@typescript-eslint/no-dynamic-delete":"error","@typescript-eslint/no-empty-function":"error","@typescript-eslint/no-empty-object-type":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-extraneous-class":"error","@typescript-eslint/no-floating-promises":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-implied-eval":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-inferrable-types":"error","@typescript-eslint/no-invalid-this":"off","@typescript-eslint/no-invalid-void-type":"error","@typescript-eslint/no-loop-func":"error","@typescript-eslint/no-magic-numbers":"off","@typescript-eslint/no-meaningless-void-operator":"error","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-misused-promises":"error","@typescript-eslint/no-misused-spread":"error","@typescript-eslint/no-mixed-enums":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-redeclare":"off","@typescript-eslint/no-redundant-type-constituents":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-restricted-imports":"error","@typescript-eslint/no-restricted-types":"error","@typescript-eslint/no-shadow":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":"error","@typescript-eslint/no-unnecessary-parameter-property-assignment":"error","@typescript-eslint/no-unnecessary-qualifier":"error","@typescript-eslint/no-unnecessary-template-expression":"error","@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unnecessary-type-conversion":"error","@typescript-eslint/no-unnecessary-type-parameters":"off","@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-enum-comparison":"error","@typescript-eslint/no-unsafe-function-type":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/no-unsafe-type-assertion":"error","@typescript-eslint/no-unsafe-unary-minus":"error","@typescript-eslint/no-unused-expressions":"error","@typescript-eslint/no-unused-private-class-members":"error","@typescript-eslint/no-unused-vars":["error",{args:"all",argsIgnorePattern:"^_",caughtErrors:"all",caughtErrorsIgnorePattern:"^_",destructuredArrayIgnorePattern:"^_",ignoreRestSiblings:!0,varsIgnorePattern:"^_"}],"@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-useless-constructor":"error","@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/no-wrapper-object-types":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/only-throw-error":"error","@typescript-eslint/parameter-properties":"off","@typescript-eslint/prefer-as-const":"error","@typescript-eslint/prefer-destructuring":"error","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-find":"error","@typescript-eslint/prefer-for-of":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":"error","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-promise-reject-errors":"error","@typescript-eslint/prefer-readonly":"error","@typescript-eslint/prefer-readonly-parameter-types":"off","@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/related-getter-setter-pairs":"error","@typescript-eslint/require-array-sort-compare":"error","@typescript-eslint/require-await":"error","@typescript-eslint/restrict-plus-operands":"error","@typescript-eslint/restrict-template-expressions":"error","@typescript-eslint/return-await":"error","@typescript-eslint/strict-boolean-expressions":"error","@typescript-eslint/switch-exhaustiveness-check":"error","@typescript-eslint/triple-slash-reference":"error","@typescript-eslint/unbound-method":"error","@typescript-eslint/unified-signatures":"error","@typescript-eslint/use-unknown-in-catch-callback-variable":"error","unicorn/better-regex":"error","unicorn/catch-error-name":"error","unicorn/consistent-assert":"error","unicorn/consistent-date-clone":"error","unicorn/consistent-destructuring":"error","unicorn/consistent-empty-array-spread":"error","unicorn/consistent-existence-index-check":"error","unicorn/consistent-function-scoping":"error","unicorn/custom-error-definition":"error","unicorn/empty-brace-spaces":"off","unicorn/error-message":"error","unicorn/escape-case":"error","unicorn/expiring-todo-comments":"error","unicorn/explicit-length-check":"off","unicorn/filename-case":"error","unicorn/import-style":"error","unicorn/new-for-builtins":"error","unicorn/no-abusive-eslint-disable":"error","unicorn/no-accessor-recursion":"error","unicorn/no-anonymous-default-export":"error","unicorn/no-array-callback-reference":"error","unicorn/no-array-for-each":"error","unicorn/no-array-method-this-argument":"error","unicorn/no-array-reduce":"error","unicorn/no-array-reverse":"error","unicorn/no-array-sort":"error","unicorn/no-await-expression-member":"error","unicorn/no-await-in-promise-methods":"error","unicorn/no-console-spaces":"error","unicorn/no-document-cookie":"error","unicorn/no-empty-file":"error","unicorn/no-for-loop":"error","unicorn/no-hex-escape":"error","unicorn/no-immediate-mutation":"error","unicorn/no-instanceof-builtins":"error","unicorn/no-invalid-fetch-options":"error","unicorn/no-invalid-remove-event-listener":"error","unicorn/no-keyword-prefix":"off","unicorn/no-lonely-if":"error","unicorn/no-magic-array-flat-depth":"error","unicorn/no-named-default":"error","unicorn/no-negated-condition":"error","unicorn/no-negation-in-equality-check":"error","unicorn/no-nested-ternary":"off","unicorn/no-new-array":"error","unicorn/no-new-buffer":"error","unicorn/no-null":"off","unicorn/no-object-as-default-parameter":"error","unicorn/no-process-exit":"error","unicorn/no-single-promise-in-promise-methods":"error","unicorn/no-static-only-class":"error","unicorn/no-thenable":"error","unicorn/no-this-assignment":"error","unicorn/no-typeof-undefined":"error","unicorn/no-unnecessary-array-flat-depth":"error","unicorn/no-unnecessary-array-splice-count":"error","unicorn/no-unnecessary-await":"error","unicorn/no-unnecessary-polyfills":"error","unicorn/no-unnecessary-slice-end":"error","unicorn/no-unreadable-array-destructuring":"error","unicorn/no-unreadable-iife":"error","unicorn/no-unused-properties":"error","unicorn/no-useless-collection-argument":"error","unicorn/no-useless-error-capture-stack-trace":"error","unicorn/no-useless-fallback-in-spread":"error","unicorn/no-useless-length-check":"error","unicorn/no-useless-promise-resolve-reject":"error","unicorn/no-useless-spread":"error","unicorn/no-useless-switch-case":"error","unicorn/no-useless-undefined":"error","unicorn/no-zero-fractions":"error","unicorn/number-literal-case":"off","unicorn/numeric-separators-style":"error","unicorn/prefer-add-event-listener":"error","unicorn/prefer-array-find":"error","unicorn/prefer-array-flat":"error","unicorn/prefer-array-flat-map":"error","unicorn/prefer-array-index-of":"error","unicorn/prefer-array-some":"error","unicorn/prefer-at":"error","unicorn/prefer-bigint-literals":"error","unicorn/prefer-blob-reading-methods":"error","unicorn/prefer-class-fields":"error","unicorn/prefer-classlist-toggle":"error","unicorn/prefer-code-point":"error","unicorn/prefer-date-now":"error","unicorn/prefer-default-parameters":"error","unicorn/prefer-dom-node-append":"error","unicorn/prefer-dom-node-dataset":"error","unicorn/prefer-dom-node-remove":"error","unicorn/prefer-dom-node-text-content":"error","unicorn/prefer-event-target":"error","unicorn/prefer-export-from":"error","unicorn/prefer-global-this":"error","unicorn/prefer-import-meta-properties":"error","unicorn/prefer-includes":"error","unicorn/prefer-json-parse-buffer":"error","unicorn/prefer-keyboard-event-key":"error","unicorn/prefer-logical-operator-over-ternary":"error","unicorn/prefer-math-min-max":"error","unicorn/prefer-math-trunc":"error","unicorn/prefer-modern-dom-apis":"error","unicorn/prefer-modern-math-apis":"error","unicorn/prefer-module":"error","unicorn/prefer-native-coercion-functions":"error","unicorn/prefer-negative-index":"error","unicorn/prefer-node-protocol":"error","unicorn/prefer-number-properties":"error","unicorn/prefer-object-from-entries":"error","unicorn/prefer-optional-catch-binding":"error","unicorn/prefer-prototype-methods":"error","unicorn/prefer-query-selector":"error","unicorn/prefer-reflect-apply":"error","unicorn/prefer-regexp-test":"error","unicorn/prefer-response-static-json":"error","unicorn/prefer-set-has":"error","unicorn/prefer-set-size":"error","unicorn/prefer-single-call":"error","unicorn/prefer-spread":"error","unicorn/prefer-string-raw":"error","unicorn/prefer-string-replace-all":"error","unicorn/prefer-string-slice":"error","unicorn/prefer-string-starts-ends-with":"error","unicorn/prefer-string-trim-start-end":"error","unicorn/prefer-structured-clone":"error","unicorn/prefer-switch":"error","unicorn/prefer-ternary":"error","unicorn/prefer-top-level-await":"error","unicorn/prefer-type-error":"error","unicorn/prevent-abbreviations":"error","unicorn/relative-url-style":"error","unicorn/require-array-join-separator":"error","unicorn/require-module-attributes":"error","unicorn/require-module-specifiers":"error","unicorn/require-number-to-fixed-digits-argument":"error","unicorn/require-post-message-target-origin":"error","unicorn/string-content":"error","unicorn/switch-case-braces":"error","unicorn/template-indent":"off","unicorn/text-encoding-identifier-case":"error","unicorn/throw-new-error":"error","lodash/callback-binding":"error","lodash/chain-style":[2,"as-needed"],"lodash/chaining":"error","lodash/collection-method-value":"error","lodash/collection-ordering":"error","lodash/collection-return":"error","lodash/consistent-compose":[2,"flow"],"lodash/identity-shorthand":[2,"always"],"lodash/import-scope":[2,"method"],"lodash/matches-prop-shorthand":[2,"always"],"lodash/matches-shorthand":[2,"always",3],"lodash/no-commit":"error","lodash/no-double-unwrap":"error","lodash/no-extra-args":"error","lodash/no-unbound-this":"error","lodash/path-style":[2,"array"],"lodash/prefer-compact":"error","lodash/prefer-constant":"error","lodash/prefer-filter":"error","lodash/prefer-find":"error","lodash/prefer-flat-map":"error","lodash/prefer-get":"error","lodash/prefer-immutable-method":"error","lodash/prefer-includes":[2,{includeNative:!0}],"lodash/prefer-invoke-map":"error","lodash/prefer-is-nil":"error","lodash/prefer-lodash-chain":"error","lodash/prefer-lodash-method":"error","lodash/prefer-lodash-typecheck":"error","lodash/prefer-map":"error","lodash/prefer-matches":"error","lodash/prefer-noop":"error","lodash/prefer-over-quantifier":"error","lodash/prefer-reject":"error","lodash/prefer-some":[2,{includeNative:!0}],"lodash/prefer-startswith":"error","lodash/prefer-thru":"error","lodash/prefer-times":"error","lodash/prefer-wrapper-method":"error","lodash/preferred-alias":"error","lodash/prop-shorthand":[2,"always"],"lodash/unwrap":"error","sonar/anchor-precedence":"error","sonar/argument-type":"error","sonar/arguments-order":"error","sonar/arguments-usage":"error","sonar/array-callback-without-return":"error","sonar/array-constructor":"error","sonar/arrow-function-convention":"off","sonar/assertions-in-tests":"error","sonar/aws-apigateway-public-api":"error","sonar/aws-ec2-rds-dms-public":"error","sonar/aws-ec2-unencrypted-ebs-volume":"error","sonar/aws-efs-unencrypted":"error","sonar/aws-iam-all-privileges":"error","sonar/aws-iam-all-resources-accessible":"error","sonar/aws-iam-privilege-escalation":"error","sonar/aws-iam-public-access":"error","sonar/aws-opensearchservice-domain":"error","sonar/aws-rds-unencrypted-databases":"error","sonar/aws-restricted-ip-admin-access":"error","sonar/aws-s3-bucket-granted-access":"error","sonar/aws-s3-bucket-insecure-http":"error","sonar/aws-s3-bucket-public-access":"error","sonar/aws-s3-bucket-versioning":"error","sonar/aws-sagemaker-unencrypted-notebook":"error","sonar/aws-sns-unencrypted-topics":"error","sonar/aws-sqs-unencrypted-queue":"error","sonar/bitwise-operators":"error","sonar/block-scoped-var":"error","sonar/bool-param-default":"error","sonar/call-argument-line":"error","sonar/chai-determinate-assertion":"error","sonar/class-name":"error","sonar/class-prototype":"error","sonar/code-eval":"error","sonar/cognitive-complexity":"error","sonar/comma-or-logical-or-case":"error","sonar/comment-regex":"off","sonar/concise-regex":"error","sonar/confidential-information-logging":"error","sonar/constructor-for-side-effects":"error","sonar/content-length":"error","sonar/content-security-policy":"error","sonar/cookie-no-httponly":"error","sonar/cors":"error","sonar/csrf":"error","sonar/cyclomatic-complexity":"off","sonar/declarations-in-global-scope":"error","sonar/deprecation":"error","sonar/destructuring-assignment-syntax":"error","sonar/different-types-comparison":"error","sonar/disabled-auto-escaping":"error","sonar/disabled-resource-integrity":"error","sonar/disabled-timeout":"error","sonar/duplicates-in-character-class":"error","sonar/elseif-without-else":"error","sonar/empty-string-repetition":"error","sonar/encryption-secure-mode":"error","sonar/existing-groups":"error","sonar/expression-complexity":"error","sonar/file-header":"off","sonar/file-name-differ-from-class":"error","sonar/file-permissions":"error","sonar/file-uploads":"error","sonar/fixme-tag":"error","sonar/for-in":"error","sonar/for-loop-increment-sign":"error","sonar/frame-ancestors":"error","sonar/function-inside-loop":"error","sonar/function-name":["error",{format:"^(?:[a-z][a-zA-Z0-9]*|[A-Z][A-Z0-9]*)$"}],"sonar/function-return-type":"off","sonar/future-reserved-words":"error","sonar/generator-without-yield":"error","sonar/hashing":"error","sonar/hidden-files":"error","sonar/in-operator-type-error":"error","sonar/inconsistent-function-call":"error","sonar/index-of-compare-to-positive-number":"error","sonar/insecure-cookie":"error","sonar/insecure-jwt-token":"error","sonar/inverted-assertion-arguments":"error","sonar/jsx-no-leaked-render":"error","sonar/label-position":"error","sonar/link-with-target-blank":"error","sonar/max-lines":"error","sonar/max-lines-per-function":"error","sonar/max-switch-cases":"error","sonar/max-union-size":"off","sonar/misplaced-loop-counter":"error","sonar/nested-control-flow":"error","sonar/new-operator-misuse":"error","sonar/no-all-duplicated-branches":"error","sonar/no-alphabetical-sort":"error","sonar/no-angular-bypass-sanitization":"error","sonar/no-array-delete":"error","sonar/no-associative-arrays":"error","sonar/no-async-constructor":"error","sonar/no-built-in-override":"error","sonar/no-case-label-in-switch":"error","sonar/no-clear-text-protocols":"error","sonar/no-code-after-done":"error","sonar/no-collapsible-if":"error","sonar/no-collection-size-mischeck":"error","sonar/no-commented-code":"error","sonar/no-control-regex":"error","sonar/no-dead-store":"error","sonar/no-delete-var":"error","sonar/no-duplicate-in-composite":"error","sonar/no-duplicate-string":"error","sonar/no-duplicated-branches":"error","sonar/no-element-overwrite":"error","sonar/no-empty-after-reluctant":"error","sonar/no-empty-alternatives":"error","sonar/no-empty-character-class":"error","sonar/no-empty-collection":"error","sonar/no-empty-group":"error","sonar/no-empty-test-file":"error","sonar/no-equals-in-for-termination":"error","sonar/no-exclusive-tests":"error","sonar/no-extra-arguments":"error","sonar/no-fallthrough":"error","sonar/no-for-in-iterable":"error","sonar/no-function-declaration-in-block":"error","sonar/no-global-this":"error","sonar/no-globals-shadowing":"error","sonar/no-gratuitous-expressions":"error","sonar/no-hardcoded-ip":"error","sonar/no-hardcoded-passwords":"error","sonar/no-hardcoded-secrets":"error","sonar/no-hook-setter-in-body":"error","sonar/no-identical-conditions":"error","sonar/no-identical-expressions":"error","sonar/no-identical-functions":"error","sonar/no-ignored-exceptions":"error","sonar/no-ignored-return":"error","sonar/no-implicit-dependencies":"off","sonar/no-implicit-global":"error","sonar/no-in-misuse":"error","sonar/no-incomplete-assertions":"error","sonar/no-inconsistent-returns":"off","sonar/no-incorrect-string-concat":"error","sonar/no-internal-api-use":"error","sonar/no-intrusive-permissions":"error","sonar/no-invalid-regexp":"error","sonar/no-invariant-returns":"error","sonar/no-inverted-boolean-check":"error","sonar/no-ip-forward":"error","sonar/no-labels":"error","sonar/no-literal-call":"error","sonar/no-mime-sniff":"error","sonar/no-misleading-array-reverse":"error","sonar/no-misleading-character-class":"error","sonar/no-mixed-content":"error","sonar/no-nested-assignment":"error","sonar/no-nested-conditional":"error","sonar/no-nested-functions":"error","sonar/no-nested-incdec":"error","sonar/no-nested-switch":"error","sonar/no-nested-template-literals":"error","sonar/no-os-command-from-path":"error","sonar/no-parameter-reassignment":"error","sonar/no-primitive-wrappers":"error","sonar/no-redundant-assignments":"error","sonar/no-redundant-boolean":"error","sonar/no-redundant-jump":"error","sonar/no-redundant-optional":"error","sonar/no-reference-error":"off","sonar/no-referrer-policy":"error","sonar/no-regex-spaces":"error","sonar/no-require-or-define":"error","sonar/no-return-type-any":"error","sonar/no-same-argument-assert":"error","sonar/no-same-line-conditional":"error","sonar/no-selector-parameter":"error","sonar/no-skipped-tests":"error","sonar/no-small-switch":"error","sonar/no-sonar-comments":"error","sonar/no-table-as-layout":"error","sonar/no-try-promise":"error","sonar/no-undefined-argument":"error","sonar/no-undefined-assignment":"off","sonar/no-unenclosed-multiline-block":"error","sonar/no-uniq-key":"error","sonar/no-unsafe-unzip":"error","sonar/no-unthrown-error":"error","sonar/no-unused-collection":"error","sonar/no-unused-function-argument":"error","sonar/no-unused-vars":"error","sonar/no-use-of-empty-return-value":"error","sonar/no-useless-catch":"error","sonar/no-useless-increment":"error","sonar/no-useless-intersection":"error","sonar/no-useless-react-setstate":"error","sonar/no-variable-usage-before-declaration":"error","sonar/no-weak-cipher":"error","sonar/no-weak-keys":"error","sonar/no-wildcard-import":"error","sonar/non-existent-operator":"error","sonar/non-number-in-arithmetic-expression":"error","sonar/null-dereference":"error","sonar/object-alt-content":"error","sonar/operation-returning-nan":"error","sonar/os-command":"error","sonar/post-message":"error","sonar/prefer-default-last":"error","sonar/prefer-immediate-return":"error","sonar/prefer-object-literal":"error","sonar/prefer-promise-shorthand":"error","sonar/prefer-read-only-props":"error","sonar/prefer-regexp-exec":"error","sonar/prefer-single-boolean-return":"error","sonar/prefer-type-guard":"error","sonar/prefer-while":"error","sonar/production-debug":"error","sonar/pseudo-random":"error","sonar/public-static-readonly":"error","sonar/publicly-writable-directories":"error","sonar/reduce-initial-value":"error","sonar/redundant-type-aliases":"error","sonar/regex-complexity":"error","sonar/session-regeneration":"error","sonar/shorthand-property-grouping":"off","sonar/single-char-in-character-classes":"error","sonar/single-character-alternation":"error","sonar/slow-regex":"error","sonar/sql-queries":"error","sonar/stable-tests":"error","sonar/stateful-regex":"error","sonar/strict-transport-security":"error","sonar/strings-comparison":"error","sonar/super-invocation":"error","sonar/table-header":"error","sonar/table-header-reference":"error","sonar/test-check-exception":"error","sonar/todo-tag":"off","sonar/too-many-break-or-continue-in-loop":"error","sonar/unicode-aware-regex":"error","sonar/unused-import":"error","sonar/unused-named-groups":"error","sonar/unverified-certificate":"error","sonar/unverified-hostname":"error","sonar/updated-const-var":"error","sonar/updated-loop-counter":"error","sonar/use-type-alias":"error","sonar/values-not-convertible-to-numbers":"error","sonar/variable-name":"error","sonar/void-use":"error","sonar/weak-ssl":"error","sonar/x-powered-by":"error","sonar/xml-parser-xxe":"error","perfectionist/sort-array-includes":"error","perfectionist/sort-classes":"error","perfectionist/sort-decorators":"error","perfectionist/sort-enums":"error","perfectionist/sort-exports":"error","perfectionist/sort-heritage-clauses":"error","perfectionist/sort-imports":"error","perfectionist/sort-interfaces":"error","perfectionist/sort-intersection-types":"error","perfectionist/sort-jsx-props":["error",{groups:["shorthand","multiline"]}],"perfectionist/sort-maps":"error","perfectionist/sort-modules":"error","perfectionist/sort-named-exports":"error","perfectionist/sort-named-imports":"error","perfectionist/sort-object-types":"error","perfectionist/sort-objects":["error",{partitionByComment:!0}],"perfectionist/sort-sets":"error","perfectionist/sort-switch-case":["error",{order:"asc",type:"alphabetical"}],"perfectionist/sort-union-types":"error","perfectionist/sort-variable-declarations":["error",{order:"asc",type:"alphabetical"}],"@tanstack/query/exhaustive-deps":"error","@tanstack/query/infinite-query-property-order":"error","@tanstack/query/mutation-property-order":"error","@tanstack/query/no-rest-destructuring":"error","@tanstack/query/no-unstable-deps":"error","@tanstack/query/no-void-query-fn":"error","@tanstack/query/stable-query-client":"error","@tanstack/router/create-route-property-order":"error","a11y/alt-text":"error","a11y/anchor-ambiguous-text":"error","a11y/anchor-has-content":"error","a11y/anchor-is-valid":"error","a11y/aria-activedescendant-has-tabindex":"error","a11y/aria-props":"error","a11y/aria-proptypes":"error","a11y/aria-role":"error","a11y/aria-unsupported-elements":"error","a11y/autocomplete-valid":"error","a11y/click-events-have-key-events":"error","a11y/control-has-associated-label":"off","a11y/heading-has-content":"error","a11y/html-has-lang":"error","a11y/iframe-has-title":"error","a11y/img-redundant-alt":"error","a11y/interactive-supports-focus":"error","a11y/label-has-associated-control":"error","a11y/lang":"error","a11y/media-has-caption":"off","a11y/mouse-events-have-key-events":"error","a11y/no-access-key":"error","a11y/no-aria-hidden-on-focusable":"error","a11y/no-autofocus":"error","a11y/no-distracting-elements":"error","a11y/no-interactive-element-to-noninteractive-role":"error","a11y/no-noninteractive-element-interactions":"error","a11y/no-noninteractive-element-to-interactive-role":"error","a11y/no-noninteractive-tabindex":"error","a11y/no-redundant-roles":"error","a11y/no-static-element-interactions":"error","a11y/prefer-tag-over-role":"error","a11y/role-has-required-aria-props":"error","a11y/role-supports-aria-props":"error","a11y/scope":"error","a11y/tabindex-no-positive":"error","cspell/spellchecker":["error",{cspell:{words:["tauri","Applynetic","julianday","typicode","toolbelt","taze","ethang","TSESTree","Boop","cldr","astro","laravel","qwik","sitecore","uswds","mediat","Packt","Academind","Udemy","Colte","Bootcamp","HTMX","MERN","Nuxt","Credly","Sterett","Beyonder","hotspot","lqip","Hawn","nextui","speculationrules","zustand","vinxi","datasource","turso","supabase","solidjs","labelledby","svix","blockqoute","cortexjs","mathrm","nums","lifecycles","krausest","Signalis","Plass","Iteree","Sonner","cmdk","ngsw","dexie","leetcode","ngsrc","sindresorhus","rogan","heroui","millis","duckdb","pthread","remeda","radash","noto","nosniff","SAMEORIGIN","starcoder","logprobs","sealioning","swebok","pluralsight","skillset","junie"]}}]}},{files:["**/*.md"],plugins:{markdown:u},rules:{"markdown/fenced-code-language":"error","markdown/heading-increment":"error","markdown/no-bare-urls":"error","markdown/no-duplicate-definitions":"error","markdown/no-duplicate-headings":"error","markdown/no-empty-definitions":"error","markdown/no-empty-images":"error","markdown/no-empty-links":"error","markdown/no-html":"error","markdown/no-invalid-label-refs":"error","markdown/no-missing-atx-heading-space":"error","markdown/no-missing-label-refs":"error","markdown/no-missing-link-fragments":"error","markdown/no-multiple-h1":"error","markdown/no-reference-like-urls":"error","markdown/no-reversed-media-syntax":"error","markdown/no-space-in-emphasis":"error","markdown/no-unused-definitions":"error","markdown/require-alt-text":"error","markdown/table-column-count":"error"}},{files:["**/*.css"],language:"css/css",plugins:{css:i},rules:{"css/font-family-fallbacks":"error","css/no-duplicate-imports":"error","css/no-duplicate-keyframe-selectors":"error","css/no-empty-blocks":"error","css/no-important":"error","css/no-invalid-at-rule-placement":"error","css/no-invalid-at-rules":"off","css/no-invalid-named-grid-areas":"error","css/no-invalid-properties":"error","css/no-unmatchable-selectors":"error","css/prefer-logical-properties":"error","css/relative-font-units":"error","css/selector-complexity":"error","css/use-baseline":["error",{available:"newly"}],"css/use-layers":"error"}},{files:["**/*.json"],language:"json/json",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},{files:["**/*.jsonc"],language:"json/jsonc",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},{files:["**/*.json5"],language:"json/json5",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},c,p);export{_ as default};
2
+ //# sourceMappingURL=eslint.config.js.map
package/package.json CHANGED
@@ -59,7 +59,7 @@
59
59
  "url": "git+https://github.com/eglove/ethang-monorepo.git#master"
60
60
  },
61
61
  "type": "module",
62
- "version": "24.0.2",
62
+ "version": "24.0.3",
63
63
  "scripts": {
64
64
  "build": "bun build.ts && pnpm lint",
65
65
  "lint": "eslint . --fix --concurrency=auto && prettier src --write"
package/build.ts DELETED
@@ -1,48 +0,0 @@
1
- import replace from "lodash/replace.js";
2
- import { copyFileSync, writeFileSync } from "node:fs";
3
-
4
- import { projectBuilder } from "../project-builder/src/project-builder.ts";
5
- import { updateReadme } from "./src/build/update-readme.js";
6
- import { updateRules } from "./src/build/update-rules.js";
7
-
8
- const configFiles = [
9
- "src/eslint.config.js",
10
- "src/config.html.js",
11
- "src/config.astro.js",
12
- "src/config.react.js",
13
- "src/config.solid.js",
14
- "src/config.angular.js",
15
- "src/config.storybook.js",
16
- "src/config.tailwind.js",
17
- ];
18
-
19
- await updateRules();
20
- updateReadme();
21
- await projectBuilder(import.meta.dirname, {
22
- entry: [...configFiles, "src/constants.js"],
23
- outDir: "dist",
24
- });
25
- copyFileSync("src/README.md", "dist/README.md");
26
-
27
- const typeFile = `import { defineConfig } from "eslint/config";
28
-
29
- declare const _default: Parameters<typeof defineConfig>;
30
- export default _default;
31
- `;
32
-
33
- const tailwindTypeFile = `import { defineConfig } from "eslint/config";
34
-
35
- declare const _default: (pathToIndex: string) => Parameters<typeof defineConfig>;
36
- export default _default;
37
- `;
38
-
39
- for (const configFile of configFiles) {
40
- let distributionFile = replace(configFile, "src", "dist");
41
- distributionFile = replace(distributionFile, ".js", ".d.ts");
42
-
43
- if ("src/config.tailwind.js" === configFile) {
44
- writeFileSync(distributionFile, tailwindTypeFile);
45
- } else {
46
- writeFileSync(distributionFile, typeFile);
47
- }
48
- }
@@ -1,2 +0,0 @@
1
- import{a as e,b as o}from"./chunk-WK3YS7OG.js";import{defineConfig as n}from"eslint/config";import s from"eslint-plugin-jsx-a11y";import t from"eslint-plugin-compat";import a from"@cspell/eslint-plugin";import i from"@eslint/css";import c from"eslint-config-prettier";import p from"eslint-plugin-prettier/recommended";import r from"@eslint/json";import l from"eslint-plugin-lodash";import u from"@eslint/markdown";import d from"eslint-plugin-perfectionist";import f from"eslint-plugin-sonarjs";import m from"@tanstack/eslint-plugin-query";import y from"@tanstack/eslint-plugin-router";import g from"typescript-eslint";import h from"eslint-plugin-unicorn";var _=n({files:["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}"],ignores:e,languageOptions:o,settings:{react:{version:"19.2.3"}},plugins:{compat:t,"@typescript-eslint":g.plugin,unicorn:h,lodash:l,sonar:f,perfectionist:d,"@tanstack/query":m,"@tanstack/router":y,a11y:s,cspell:a},rules:{"compat/compat":"error","accessor-pairs":"error","array-callback-return":"error","arrow-body-style":["error","always"],"block-scoped-var":"error",camelcase:"off","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off","consistent-return":"off","consistent-this":"off","constructor-super":"error",curly:"off","default-case":"off","default-case-last":"off","default-param-last":"off","dot-notation":"off",eqeqeq:"error","for-direction":"error","func-name-matching":"error","func-names":"off","func-style":["error","declaration",{allowArrowFunctions:!0}],"getter-return":"error","grouped-accessor-pairs":"error","guard-for-in":"error","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","logical-assignment-operators":"error","max-classes-per-file":"error","max-depth":"error","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"error","max-params":"off","max-statements":"off","new-cap":"off","no-alert":"error","no-array-constructor":"off","no-async-promise-executor":"error","no-await-in-loop":"error","no-bitwise":"error","no-caller":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-console":"error","no-const-assign":"error","no-constant-binary-expression":"error","no-constant-condition":"error","no-constructor-return":"error","no-continue":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-div-regex":"error","no-dupe-args":"error","no-dupe-class-members":"off","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-duplicate-imports":"error","no-else-return":"error","no-empty":"error","no-empty-character-class":"error","no-empty-function":"off","no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"error","no-eval":"error","no-ex-assign":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-extra-label":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-implicit-coercion":"error","no-implicit-globals":"off","no-implied-eval":"off","no-import-assign":"error","no-inline-comments":"off","no-inner-declarations":"error","no-invalid-regexp":"error","no-invalid-this":"error","no-irregular-whitespace":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-loop-func":"error","no-loss-of-precision":"error","no-magic-numbers":"off","no-misleading-character-class":"error","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"error","no-nested-ternary":"error","no-new":"error","no-new-func":"error","no-new-native-nonconstructor":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-obj-calls":"error","no-object-constructor":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"error","no-promise-executor-return":"error","no-proto":"error","no-prototype-builtins":"error","no-redeclare":"off","no-regex-spaces":"error","no-restricted-exports":"off","no-restricted-globals":"off","no-restricted-imports":"off","no-restricted-properties":"off","no-restricted-syntax":"off","no-return-assign":"error","no-script-url":"error","no-self-assign":"error","no-self-compare":"error","no-sequences":"error","no-setter-return":"error","no-shadow":"off","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-template-curly-in-string":"off","no-ternary":"off","no-this-before-super":"error","no-throw-literal":"off","no-unassigned-vars":"error","no-undef":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"off","no-unexpected-multiline":"off","no-unmodified-loop-condition":"error","no-unneeded-ternary":"error","no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":["error",{disallowArithmeticOperators:!0}],"no-unused-expressions":"off","no-unused-labels":"error","no-unused-private-class-members":"error","no-unused-vars":"off","no-use-before-define":"off","no-useless-assignment":"off","no-useless-backreference":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-constructor":"off","no-useless-escape":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"error","no-warning-comments":"off","no-with":"error","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"off","prefer-const":"error","prefer-destructuring":"off","prefer-exponentiation-operator":"error","prefer-named-capture-group":"error","prefer-numeric-literals":"error","prefer-object-has-own":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"off","prefer-regex-literals":"error","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","preserve-caught-error":"error",radix:"error","require-atomic-updates":"error","require-await":"off","require-unicode-regexp":"error","require-yield":"error","sort-imports":"off","sort-keys":"off","sort-vars":"error",strict:"error","symbol-description":"error","unicode-bom":"error","use-isnan":"error","valid-typeof":"error","vars-on-top":"error",yoda:["error","always"],"@typescript-eslint/adjacent-overload-signatures":"off","@typescript-eslint/array-type":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/ban-ts-comment":"error","@typescript-eslint/ban-tslint-comment":"error","@typescript-eslint/class-literal-property-style":"error","@typescript-eslint/class-methods-use-this":"off","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-indexed-object-style":"error","@typescript-eslint/consistent-return":"off","@typescript-eslint/consistent-type-assertions":"error","@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/consistent-type-exports":"error","@typescript-eslint/consistent-type-imports":["error",{fixStyle:"inline-type-imports"}],"@typescript-eslint/default-param-last":"error","@typescript-eslint/dot-notation":"error","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"off","@typescript-eslint/init-declarations":"off","@typescript-eslint/max-params":"off","@typescript-eslint/member-ordering":"off","@typescript-eslint/method-signature-style":"error","@typescript-eslint/naming-convention":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-array-delete":"error","@typescript-eslint/no-base-to-string":"error","@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-confusing-void-expression":"error","@typescript-eslint/no-deprecated":"error","@typescript-eslint/no-dupe-class-members":"off","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-duplicate-type-constituents":"error","@typescript-eslint/no-dynamic-delete":"error","@typescript-eslint/no-empty-function":"error","@typescript-eslint/no-empty-object-type":"error","@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-extraneous-class":"error","@typescript-eslint/no-floating-promises":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-implied-eval":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-inferrable-types":"error","@typescript-eslint/no-invalid-this":"off","@typescript-eslint/no-invalid-void-type":"error","@typescript-eslint/no-loop-func":"error","@typescript-eslint/no-magic-numbers":"off","@typescript-eslint/no-meaningless-void-operator":"error","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-misused-promises":"error","@typescript-eslint/no-misused-spread":"error","@typescript-eslint/no-mixed-enums":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-redeclare":"off","@typescript-eslint/no-redundant-type-constituents":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-restricted-imports":"error","@typescript-eslint/no-restricted-types":"error","@typescript-eslint/no-shadow":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":"error","@typescript-eslint/no-unnecessary-parameter-property-assignment":"error","@typescript-eslint/no-unnecessary-qualifier":"error","@typescript-eslint/no-unnecessary-template-expression":"error","@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unnecessary-type-conversion":"error","@typescript-eslint/no-unnecessary-type-parameters":"off","@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-enum-comparison":"error","@typescript-eslint/no-unsafe-function-type":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/no-unsafe-type-assertion":"error","@typescript-eslint/no-unsafe-unary-minus":"error","@typescript-eslint/no-unused-expressions":"error","@typescript-eslint/no-unused-private-class-members":"error","@typescript-eslint/no-unused-vars":["error",{args:"all",argsIgnorePattern:"^_",caughtErrors:"all",caughtErrorsIgnorePattern:"^_",destructuredArrayIgnorePattern:"^_",ignoreRestSiblings:!0,varsIgnorePattern:"^_"}],"@typescript-eslint/no-use-before-define":"off","@typescript-eslint/no-useless-constructor":"error","@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/no-wrapper-object-types":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/only-throw-error":"error","@typescript-eslint/parameter-properties":"off","@typescript-eslint/prefer-as-const":"error","@typescript-eslint/prefer-destructuring":"error","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-find":"error","@typescript-eslint/prefer-for-of":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":"error","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-promise-reject-errors":"error","@typescript-eslint/prefer-readonly":"error","@typescript-eslint/prefer-readonly-parameter-types":"off","@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/related-getter-setter-pairs":"error","@typescript-eslint/require-array-sort-compare":"error","@typescript-eslint/require-await":"error","@typescript-eslint/restrict-plus-operands":"error","@typescript-eslint/restrict-template-expressions":"error","@typescript-eslint/return-await":"error","@typescript-eslint/strict-boolean-expressions":"error","@typescript-eslint/switch-exhaustiveness-check":"error","@typescript-eslint/triple-slash-reference":"error","@typescript-eslint/unbound-method":"error","@typescript-eslint/unified-signatures":"error","@typescript-eslint/use-unknown-in-catch-callback-variable":"error","unicorn/better-regex":"error","unicorn/catch-error-name":"error","unicorn/consistent-assert":"error","unicorn/consistent-date-clone":"error","unicorn/consistent-destructuring":"error","unicorn/consistent-empty-array-spread":"error","unicorn/consistent-existence-index-check":"error","unicorn/consistent-function-scoping":"error","unicorn/custom-error-definition":"error","unicorn/empty-brace-spaces":"off","unicorn/error-message":"error","unicorn/escape-case":"error","unicorn/expiring-todo-comments":"error","unicorn/explicit-length-check":"off","unicorn/filename-case":"error","unicorn/import-style":"error","unicorn/new-for-builtins":"error","unicorn/no-abusive-eslint-disable":"error","unicorn/no-accessor-recursion":"error","unicorn/no-anonymous-default-export":"error","unicorn/no-array-callback-reference":"error","unicorn/no-array-for-each":"error","unicorn/no-array-method-this-argument":"error","unicorn/no-array-reduce":"error","unicorn/no-array-reverse":"error","unicorn/no-array-sort":"error","unicorn/no-await-expression-member":"error","unicorn/no-await-in-promise-methods":"error","unicorn/no-console-spaces":"error","unicorn/no-document-cookie":"error","unicorn/no-empty-file":"error","unicorn/no-for-loop":"error","unicorn/no-hex-escape":"error","unicorn/no-immediate-mutation":"error","unicorn/no-instanceof-builtins":"error","unicorn/no-invalid-fetch-options":"error","unicorn/no-invalid-remove-event-listener":"error","unicorn/no-keyword-prefix":"off","unicorn/no-lonely-if":"error","unicorn/no-magic-array-flat-depth":"error","unicorn/no-named-default":"error","unicorn/no-negated-condition":"error","unicorn/no-negation-in-equality-check":"error","unicorn/no-nested-ternary":"off","unicorn/no-new-array":"error","unicorn/no-new-buffer":"error","unicorn/no-null":"off","unicorn/no-object-as-default-parameter":"error","unicorn/no-process-exit":"error","unicorn/no-single-promise-in-promise-methods":"error","unicorn/no-static-only-class":"error","unicorn/no-thenable":"error","unicorn/no-this-assignment":"error","unicorn/no-typeof-undefined":"error","unicorn/no-unnecessary-array-flat-depth":"error","unicorn/no-unnecessary-array-splice-count":"error","unicorn/no-unnecessary-await":"error","unicorn/no-unnecessary-polyfills":"error","unicorn/no-unnecessary-slice-end":"error","unicorn/no-unreadable-array-destructuring":"error","unicorn/no-unreadable-iife":"error","unicorn/no-unused-properties":"error","unicorn/no-useless-collection-argument":"error","unicorn/no-useless-error-capture-stack-trace":"error","unicorn/no-useless-fallback-in-spread":"error","unicorn/no-useless-length-check":"error","unicorn/no-useless-promise-resolve-reject":"error","unicorn/no-useless-spread":"error","unicorn/no-useless-switch-case":"error","unicorn/no-useless-undefined":"error","unicorn/no-zero-fractions":"error","unicorn/number-literal-case":"off","unicorn/numeric-separators-style":"error","unicorn/prefer-add-event-listener":"error","unicorn/prefer-array-find":"error","unicorn/prefer-array-flat":"error","unicorn/prefer-array-flat-map":"error","unicorn/prefer-array-index-of":"error","unicorn/prefer-array-some":"error","unicorn/prefer-at":"error","unicorn/prefer-bigint-literals":"error","unicorn/prefer-blob-reading-methods":"error","unicorn/prefer-class-fields":"error","unicorn/prefer-classlist-toggle":"error","unicorn/prefer-code-point":"error","unicorn/prefer-date-now":"error","unicorn/prefer-default-parameters":"error","unicorn/prefer-dom-node-append":"error","unicorn/prefer-dom-node-dataset":"error","unicorn/prefer-dom-node-remove":"error","unicorn/prefer-dom-node-text-content":"error","unicorn/prefer-event-target":"error","unicorn/prefer-export-from":"error","unicorn/prefer-global-this":"error","unicorn/prefer-import-meta-properties":"error","unicorn/prefer-includes":"error","unicorn/prefer-json-parse-buffer":"error","unicorn/prefer-keyboard-event-key":"error","unicorn/prefer-logical-operator-over-ternary":"error","unicorn/prefer-math-min-max":"error","unicorn/prefer-math-trunc":"error","unicorn/prefer-modern-dom-apis":"error","unicorn/prefer-modern-math-apis":"error","unicorn/prefer-module":"error","unicorn/prefer-native-coercion-functions":"error","unicorn/prefer-negative-index":"error","unicorn/prefer-node-protocol":"error","unicorn/prefer-number-properties":"error","unicorn/prefer-object-from-entries":"error","unicorn/prefer-optional-catch-binding":"error","unicorn/prefer-prototype-methods":"error","unicorn/prefer-query-selector":"error","unicorn/prefer-reflect-apply":"error","unicorn/prefer-regexp-test":"error","unicorn/prefer-response-static-json":"error","unicorn/prefer-set-has":"error","unicorn/prefer-set-size":"error","unicorn/prefer-single-call":"error","unicorn/prefer-spread":"error","unicorn/prefer-string-raw":"error","unicorn/prefer-string-replace-all":"error","unicorn/prefer-string-slice":"error","unicorn/prefer-string-starts-ends-with":"error","unicorn/prefer-string-trim-start-end":"error","unicorn/prefer-structured-clone":"error","unicorn/prefer-switch":"error","unicorn/prefer-ternary":"error","unicorn/prefer-top-level-await":"error","unicorn/prefer-type-error":"error","unicorn/prevent-abbreviations":"error","unicorn/relative-url-style":"error","unicorn/require-array-join-separator":"error","unicorn/require-module-attributes":"error","unicorn/require-module-specifiers":"error","unicorn/require-number-to-fixed-digits-argument":"error","unicorn/require-post-message-target-origin":"error","unicorn/string-content":"error","unicorn/switch-case-braces":"error","unicorn/template-indent":"off","unicorn/text-encoding-identifier-case":"error","unicorn/throw-new-error":"error","lodash/callback-binding":"error","lodash/chain-style":[2,"as-needed"],"lodash/chaining":"error","lodash/collection-method-value":"error","lodash/collection-ordering":"error","lodash/collection-return":"error","lodash/consistent-compose":[2,"flow"],"lodash/identity-shorthand":[2,"always"],"lodash/import-scope":[2,"method"],"lodash/matches-prop-shorthand":[2,"always"],"lodash/matches-shorthand":[2,"always",3],"lodash/no-commit":"error","lodash/no-double-unwrap":"error","lodash/no-extra-args":"error","lodash/no-unbound-this":"error","lodash/path-style":[2,"array"],"lodash/prefer-compact":"error","lodash/prefer-constant":"error","lodash/prefer-filter":"error","lodash/prefer-find":"error","lodash/prefer-flat-map":"error","lodash/prefer-get":"error","lodash/prefer-immutable-method":"error","lodash/prefer-includes":[2,{includeNative:!0}],"lodash/prefer-invoke-map":"error","lodash/prefer-is-nil":"error","lodash/prefer-lodash-chain":"error","lodash/prefer-lodash-method":"error","lodash/prefer-lodash-typecheck":"error","lodash/prefer-map":"error","lodash/prefer-matches":"error","lodash/prefer-noop":"error","lodash/prefer-over-quantifier":"error","lodash/prefer-reject":"error","lodash/prefer-some":[2,{includeNative:!0}],"lodash/prefer-startswith":"error","lodash/prefer-thru":"error","lodash/prefer-times":"error","lodash/prefer-wrapper-method":"error","lodash/preferred-alias":"error","lodash/prop-shorthand":[2,"always"],"lodash/unwrap":"error","sonar/anchor-precedence":"error","sonar/argument-type":"error","sonar/arguments-order":"error","sonar/arguments-usage":"error","sonar/array-callback-without-return":"error","sonar/array-constructor":"error","sonar/arrow-function-convention":"off","sonar/assertions-in-tests":"error","sonar/aws-apigateway-public-api":"error","sonar/aws-ec2-rds-dms-public":"error","sonar/aws-ec2-unencrypted-ebs-volume":"error","sonar/aws-efs-unencrypted":"error","sonar/aws-iam-all-privileges":"error","sonar/aws-iam-all-resources-accessible":"error","sonar/aws-iam-privilege-escalation":"error","sonar/aws-iam-public-access":"error","sonar/aws-opensearchservice-domain":"error","sonar/aws-rds-unencrypted-databases":"error","sonar/aws-restricted-ip-admin-access":"error","sonar/aws-s3-bucket-granted-access":"error","sonar/aws-s3-bucket-insecure-http":"error","sonar/aws-s3-bucket-public-access":"error","sonar/aws-s3-bucket-versioning":"error","sonar/aws-sagemaker-unencrypted-notebook":"error","sonar/aws-sns-unencrypted-topics":"error","sonar/aws-sqs-unencrypted-queue":"error","sonar/bitwise-operators":"error","sonar/block-scoped-var":"error","sonar/bool-param-default":"error","sonar/call-argument-line":"error","sonar/chai-determinate-assertion":"error","sonar/class-name":"error","sonar/class-prototype":"error","sonar/code-eval":"error","sonar/cognitive-complexity":"error","sonar/comma-or-logical-or-case":"error","sonar/comment-regex":"off","sonar/concise-regex":"error","sonar/confidential-information-logging":"error","sonar/constructor-for-side-effects":"error","sonar/content-length":"error","sonar/content-security-policy":"error","sonar/cookie-no-httponly":"error","sonar/cors":"error","sonar/csrf":"error","sonar/cyclomatic-complexity":"off","sonar/declarations-in-global-scope":"error","sonar/deprecation":"error","sonar/destructuring-assignment-syntax":"error","sonar/different-types-comparison":"error","sonar/disabled-auto-escaping":"error","sonar/disabled-resource-integrity":"error","sonar/disabled-timeout":"error","sonar/duplicates-in-character-class":"error","sonar/elseif-without-else":"error","sonar/empty-string-repetition":"error","sonar/encryption-secure-mode":"error","sonar/existing-groups":"error","sonar/expression-complexity":"error","sonar/file-header":"off","sonar/file-name-differ-from-class":"error","sonar/file-permissions":"error","sonar/file-uploads":"error","sonar/fixme-tag":"error","sonar/for-in":"error","sonar/for-loop-increment-sign":"error","sonar/frame-ancestors":"error","sonar/function-inside-loop":"error","sonar/function-name":["error",{format:"^(?:[a-z][a-zA-Z0-9]*|[A-Z][A-Z0-9]*)$"}],"sonar/function-return-type":"off","sonar/future-reserved-words":"error","sonar/generator-without-yield":"error","sonar/hashing":"error","sonar/hidden-files":"error","sonar/in-operator-type-error":"error","sonar/inconsistent-function-call":"error","sonar/index-of-compare-to-positive-number":"error","sonar/insecure-cookie":"error","sonar/insecure-jwt-token":"error","sonar/inverted-assertion-arguments":"error","sonar/jsx-no-leaked-render":"error","sonar/label-position":"error","sonar/link-with-target-blank":"error","sonar/max-lines":"error","sonar/max-lines-per-function":"error","sonar/max-switch-cases":"error","sonar/max-union-size":"off","sonar/misplaced-loop-counter":"error","sonar/nested-control-flow":"error","sonar/new-operator-misuse":"error","sonar/no-all-duplicated-branches":"error","sonar/no-alphabetical-sort":"error","sonar/no-angular-bypass-sanitization":"error","sonar/no-array-delete":"error","sonar/no-associative-arrays":"error","sonar/no-async-constructor":"error","sonar/no-built-in-override":"error","sonar/no-case-label-in-switch":"error","sonar/no-clear-text-protocols":"error","sonar/no-code-after-done":"error","sonar/no-collapsible-if":"error","sonar/no-collection-size-mischeck":"error","sonar/no-commented-code":"error","sonar/no-control-regex":"error","sonar/no-dead-store":"error","sonar/no-delete-var":"error","sonar/no-duplicate-in-composite":"error","sonar/no-duplicate-string":"error","sonar/no-duplicated-branches":"error","sonar/no-element-overwrite":"error","sonar/no-empty-after-reluctant":"error","sonar/no-empty-alternatives":"error","sonar/no-empty-character-class":"error","sonar/no-empty-collection":"error","sonar/no-empty-group":"error","sonar/no-empty-test-file":"error","sonar/no-equals-in-for-termination":"error","sonar/no-exclusive-tests":"error","sonar/no-extra-arguments":"error","sonar/no-fallthrough":"error","sonar/no-for-in-iterable":"error","sonar/no-function-declaration-in-block":"error","sonar/no-global-this":"error","sonar/no-globals-shadowing":"error","sonar/no-gratuitous-expressions":"error","sonar/no-hardcoded-ip":"error","sonar/no-hardcoded-passwords":"error","sonar/no-hardcoded-secrets":"error","sonar/no-hook-setter-in-body":"error","sonar/no-identical-conditions":"error","sonar/no-identical-expressions":"error","sonar/no-identical-functions":"error","sonar/no-ignored-exceptions":"error","sonar/no-ignored-return":"error","sonar/no-implicit-dependencies":"off","sonar/no-implicit-global":"error","sonar/no-in-misuse":"error","sonar/no-incomplete-assertions":"error","sonar/no-inconsistent-returns":"off","sonar/no-incorrect-string-concat":"error","sonar/no-internal-api-use":"error","sonar/no-intrusive-permissions":"error","sonar/no-invalid-regexp":"error","sonar/no-invariant-returns":"error","sonar/no-inverted-boolean-check":"error","sonar/no-ip-forward":"error","sonar/no-labels":"error","sonar/no-literal-call":"error","sonar/no-mime-sniff":"error","sonar/no-misleading-array-reverse":"error","sonar/no-misleading-character-class":"error","sonar/no-mixed-content":"error","sonar/no-nested-assignment":"error","sonar/no-nested-conditional":"error","sonar/no-nested-functions":"error","sonar/no-nested-incdec":"error","sonar/no-nested-switch":"error","sonar/no-nested-template-literals":"error","sonar/no-os-command-from-path":"error","sonar/no-parameter-reassignment":"error","sonar/no-primitive-wrappers":"error","sonar/no-redundant-assignments":"error","sonar/no-redundant-boolean":"error","sonar/no-redundant-jump":"error","sonar/no-redundant-optional":"error","sonar/no-reference-error":"off","sonar/no-referrer-policy":"error","sonar/no-regex-spaces":"error","sonar/no-require-or-define":"error","sonar/no-return-type-any":"error","sonar/no-same-argument-assert":"error","sonar/no-same-line-conditional":"error","sonar/no-selector-parameter":"error","sonar/no-skipped-tests":"error","sonar/no-small-switch":"error","sonar/no-sonar-comments":"error","sonar/no-table-as-layout":"error","sonar/no-try-promise":"error","sonar/no-undefined-argument":"error","sonar/no-undefined-assignment":"off","sonar/no-unenclosed-multiline-block":"error","sonar/no-uniq-key":"error","sonar/no-unsafe-unzip":"error","sonar/no-unthrown-error":"error","sonar/no-unused-collection":"error","sonar/no-unused-function-argument":"error","sonar/no-unused-vars":"error","sonar/no-use-of-empty-return-value":"error","sonar/no-useless-catch":"error","sonar/no-useless-increment":"error","sonar/no-useless-intersection":"error","sonar/no-useless-react-setstate":"error","sonar/no-variable-usage-before-declaration":"error","sonar/no-weak-cipher":"error","sonar/no-weak-keys":"error","sonar/no-wildcard-import":"error","sonar/non-existent-operator":"error","sonar/non-number-in-arithmetic-expression":"error","sonar/null-dereference":"error","sonar/object-alt-content":"error","sonar/operation-returning-nan":"error","sonar/os-command":"error","sonar/post-message":"error","sonar/prefer-default-last":"error","sonar/prefer-immediate-return":"error","sonar/prefer-object-literal":"error","sonar/prefer-promise-shorthand":"error","sonar/prefer-read-only-props":"error","sonar/prefer-regexp-exec":"error","sonar/prefer-single-boolean-return":"error","sonar/prefer-type-guard":"error","sonar/prefer-while":"error","sonar/production-debug":"error","sonar/pseudo-random":"error","sonar/public-static-readonly":"error","sonar/publicly-writable-directories":"error","sonar/reduce-initial-value":"error","sonar/redundant-type-aliases":"error","sonar/regex-complexity":"error","sonar/session-regeneration":"error","sonar/shorthand-property-grouping":"off","sonar/single-char-in-character-classes":"error","sonar/single-character-alternation":"error","sonar/slow-regex":"error","sonar/sql-queries":"error","sonar/stable-tests":"error","sonar/stateful-regex":"error","sonar/strict-transport-security":"error","sonar/strings-comparison":"error","sonar/super-invocation":"error","sonar/table-header":"error","sonar/table-header-reference":"error","sonar/test-check-exception":"error","sonar/todo-tag":"off","sonar/too-many-break-or-continue-in-loop":"error","sonar/unicode-aware-regex":"error","sonar/unused-import":"error","sonar/unused-named-groups":"error","sonar/unverified-certificate":"error","sonar/unverified-hostname":"error","sonar/updated-const-var":"error","sonar/updated-loop-counter":"error","sonar/use-type-alias":"error","sonar/values-not-convertible-to-numbers":"error","sonar/variable-name":"error","sonar/void-use":"error","sonar/weak-ssl":"error","sonar/x-powered-by":"error","sonar/xml-parser-xxe":"error","perfectionist/sort-array-includes":"error","perfectionist/sort-classes":"error","perfectionist/sort-decorators":"error","perfectionist/sort-enums":"error","perfectionist/sort-exports":"error","perfectionist/sort-heritage-clauses":"error","perfectionist/sort-imports":"error","perfectionist/sort-interfaces":"error","perfectionist/sort-intersection-types":"error","perfectionist/sort-jsx-props":["error",{groups:["shorthand","multiline"]}],"perfectionist/sort-maps":"error","perfectionist/sort-modules":"error","perfectionist/sort-named-exports":"error","perfectionist/sort-named-imports":"error","perfectionist/sort-object-types":"error","perfectionist/sort-objects":["error",{partitionByComment:!0}],"perfectionist/sort-sets":"error","perfectionist/sort-switch-case":["error",{order:"asc",type:"alphabetical"}],"perfectionist/sort-union-types":"error","perfectionist/sort-variable-declarations":["error",{order:"asc",type:"alphabetical"}],"@tanstack/query/exhaustive-deps":"error","@tanstack/query/infinite-query-property-order":"error","@tanstack/query/mutation-property-order":"error","@tanstack/query/no-rest-destructuring":"error","@tanstack/query/no-unstable-deps":"error","@tanstack/query/no-void-query-fn":"error","@tanstack/query/stable-query-client":"error","@tanstack/router/create-route-property-order":"error","a11y/alt-text":"error","a11y/anchor-ambiguous-text":"error","a11y/anchor-has-content":"error","a11y/anchor-is-valid":"error","a11y/aria-activedescendant-has-tabindex":"error","a11y/aria-props":"error","a11y/aria-proptypes":"error","a11y/aria-role":"error","a11y/aria-unsupported-elements":"error","a11y/autocomplete-valid":"error","a11y/click-events-have-key-events":"error","a11y/control-has-associated-label":"off","a11y/heading-has-content":"error","a11y/html-has-lang":"error","a11y/iframe-has-title":"error","a11y/img-redundant-alt":"error","a11y/interactive-supports-focus":"error","a11y/label-has-associated-control":"error","a11y/lang":"error","a11y/media-has-caption":"off","a11y/mouse-events-have-key-events":"error","a11y/no-access-key":"error","a11y/no-aria-hidden-on-focusable":"error","a11y/no-autofocus":"error","a11y/no-distracting-elements":"error","a11y/no-interactive-element-to-noninteractive-role":"error","a11y/no-noninteractive-element-interactions":"error","a11y/no-noninteractive-element-to-interactive-role":"error","a11y/no-noninteractive-tabindex":"error","a11y/no-redundant-roles":"error","a11y/no-static-element-interactions":"error","a11y/prefer-tag-over-role":"error","a11y/role-has-required-aria-props":"error","a11y/role-supports-aria-props":"error","a11y/scope":"error","a11y/tabindex-no-positive":"error","cspell/spellchecker":["error",{cspell:{words:["tauri","Applynetic","julianday","typicode","toolbelt","taze","ethang","TSESTree","Boop","cldr","astro","laravel","qwik","sitecore","uswds","mediat","Packt","Academind","Udemy","Colte","Bootcamp","HTMX","MERN","Nuxt","Credly","Sterett","Beyonder","hotspot","lqip","Hawn","nextui","speculationrules","zustand","vinxi","datasource","turso","supabase","solidjs","labelledby","svix","blockqoute","cortexjs","mathrm","nums","lifecycles","krausest","Signalis","Plass","Iteree","Sonner","cmdk","ngsw","dexie","leetcode","ngsrc","sindresorhus","rogan","heroui","millis","duckdb","pthread","remeda","radash","noto","nosniff","SAMEORIGIN","starcoder","logprobs","sealioning","swebok","pluralsight","skillset","junie"]}}]}},{files:["**/*.md"],plugins:{markdown:u},rules:{"markdown/fenced-code-language":"error","markdown/heading-increment":"error","markdown/no-bare-urls":"error","markdown/no-duplicate-definitions":"error","markdown/no-duplicate-headings":"error","markdown/no-empty-definitions":"error","markdown/no-empty-images":"error","markdown/no-empty-links":"error","markdown/no-html":"error","markdown/no-invalid-label-refs":"error","markdown/no-missing-atx-heading-space":"error","markdown/no-missing-label-refs":"error","markdown/no-missing-link-fragments":"error","markdown/no-multiple-h1":"error","markdown/no-reference-like-urls":"error","markdown/no-reversed-media-syntax":"error","markdown/no-space-in-emphasis":"error","markdown/no-unused-definitions":"error","markdown/require-alt-text":"error","markdown/table-column-count":"error"}},{files:["**/*.css"],language:"css/css",plugins:{css:i},rules:{"css/font-family-fallbacks":"error","css/no-duplicate-imports":"error","css/no-duplicate-keyframe-selectors":"error","css/no-empty-blocks":"error","css/no-important":"error","css/no-invalid-at-rule-placement":"error","css/no-invalid-at-rules":"off","css/no-invalid-named-grid-areas":"error","css/no-invalid-properties":"error","css/no-unmatchable-selectors":"error","css/prefer-logical-properties":"error","css/relative-font-units":"error","css/selector-complexity":"error","css/use-baseline":["error",{available:"newly"}],"css/use-layers":"error"}},{files:["**/*.json"],language:"json/json",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},{files:["**/*.jsonc"],language:"json/jsonc",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},{files:["**/*.json5"],language:"json/json5",plugins:{json:r},rules:{"json/no-duplicate-keys":"error","json/no-empty-keys":"error","json/no-unnormalized-keys":"error","json/no-unsafe-values":"error","json/sort-keys":"error","json/top-level-interop":"error"}},c,p);export{_ as default};
2
- //# sourceMappingURL=eslint.config.js.map
package/dist/package.json DELETED
@@ -1,67 +0,0 @@
1
- {
2
- "author": "Ethan Glover",
3
- "browserslist": [
4
- "extends browserslist-config-baseline",
5
- "current node"
6
- ],
7
- "dependencies": {
8
- "@angular-eslint/eslint-plugin": "^21.1.0",
9
- "@angular-eslint/eslint-plugin-template": "^21.1.0",
10
- "@angular-eslint/template-parser": "^21.1.0",
11
- "@cspell/eslint-plugin": "^9.4.0",
12
- "@eslint-react/eslint-plugin": "^2.3.13",
13
- "@eslint/css": "0.14.1",
14
- "@eslint/js": "^9.39.2",
15
- "@eslint/json": "^0.14.0",
16
- "@eslint/markdown": "^7.5.1",
17
- "@html-eslint/eslint-plugin": "^0.51.0",
18
- "@tanstack/eslint-plugin-query": "^5.91.2",
19
- "@tanstack/eslint-plugin-router": "^1.141.0",
20
- "@typescript-eslint/parser": "^8.49.0",
21
- "angular-eslint": "21.1.0",
22
- "eslint": "^9.39.2",
23
- "eslint-config-prettier": "^10.1.8",
24
- "eslint-plugin-astro": "^1.5.0",
25
- "eslint-plugin-compat": "^6.0.2",
26
- "eslint-plugin-jsx-a11y": "^6.10.2",
27
- "eslint-plugin-lodash": "^8.0.0",
28
- "eslint-plugin-perfectionist": "^4.15.1",
29
- "eslint-plugin-prettier": "^5.5.4",
30
- "eslint-plugin-react-hooks": "^7.0.1",
31
- "eslint-plugin-solid": "^0.14.5",
32
- "eslint-plugin-sonarjs": "3.0.5",
33
- "eslint-plugin-storybook": "^10.1.8",
34
- "eslint-plugin-tailwindcss": "^4.0.0-beta.0",
35
- "eslint-plugin-unicorn": "^62.0.0",
36
- "prettier": "^3.7.4",
37
- "typescript-eslint": "^8.49.0"
38
- },
39
- "devDependencies": {
40
- "@ethang/markdown-generator": "^1.1.5",
41
- "@ethang/toolbelt": "^4.4.11",
42
- "@types/eslint-plugin-jsx-a11y": "^6.10.1",
43
- "@types/eslint-plugin-tailwindcss": "^3.17.0",
44
- "@types/lodash": "^4.17.21",
45
- "@types/node": "^25.0.2",
46
- "browserslist-config-baseline": "^0.5.0",
47
- "lodash": "^4.17.21",
48
- "tailwindcss": "^4.1.18",
49
- "typescript": "^5.9.3",
50
- "zod": "^4.1.13"
51
- },
52
- "engines": {
53
- "node": ">=24"
54
- },
55
- "license": "ISC",
56
- "main": "eslint.config.js",
57
- "name": "@ethang/eslint-config",
58
- "repository": {
59
- "url": "git+https://github.com/eglove/ethang-monorepo.git#master"
60
- },
61
- "scripts": {
62
- "build": "bun build.ts && pnpm lint",
63
- "lint": "eslint . --fix --concurrency=auto && prettier src --write"
64
- },
65
- "type": "module",
66
- "version": "24.0.2"
67
- }
package/src/README.md DELETED
@@ -1,132 +0,0 @@
1
- # Relentless. Unapologetic.
2
-
3
- [View Config](https://eslint-config-ethang.pages.dev/rules)
4
-
5
- > [!CAUTION]
6
- > Prettier is already included for styling!
7
-
8
- - 759 errored rules.
9
- - 237 rules from [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS/blob/master/packages/jsts/src/rules/README.md)
10
- - 144 rules from [@eslint/js](https://github.com/eslint/eslint/tree/main/packages/js)
11
- - 134 rules from [sindresorhus/eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
12
- - 108 rules from [@typescript/eslint](https://github.com/typescript-eslint/typescript-eslint)
13
- - 34 rules from [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
14
- - 32 rules from [eslint-plugin-lodash](https://github.com/wix-incubator/eslint-plugin-lodash)
15
- - 20 rules from [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist)
16
- - 20 rules from [@eslint/markdown](https://github.com/eslint/markdown)
17
- - 14 rules from [@eslint/css](https://github.com/eslint/css)
18
- - 7 rules from [@tanstack/eslint-plugin-query](https://tanstack.com/query/latest/docs/eslint/eslint-plugin-query)
19
- - 6 rules from [@eslint/json](https://github.com/eslint/json)
20
- - 1 rule from [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat)
21
- - 1 rule from [@tanstack/eslint-plugin-router](https://tanstack.com/router/latest/docs/eslint/eslint-plugin-router)
22
- - 1 rule from [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell-eslint-plugin)
23
-
24
- # Add Even More!
25
-
26
- - 80 rules for **Angular**
27
- - `import angularConfig from "@ethang/eslint-config/config.angular.js";`
28
- - 46 rules from [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/README.md)
29
- - 34 rules from [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/README.md)
30
- - 53 rules for **Astro**
31
- - `import astroConfig from "@ethang/eslint-config/config.astro.js";`
32
- - 53 rules from [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro)
33
- - 51 rules for **HTML**
34
- - import html from "@ethang/eslint-config/config.html.js";
35
- - 51 rules from [@html-eslint/eslint-plugin](https://github.com/html-eslint/html-eslint)
36
- - 91 rules for **React**
37
- - `import reactConfig from "@ethang/eslint-config/config.react.js";`
38
- - 62 rules from [@eslint-react/eslint-plugin](https://eslint-react.xyz/)
39
- - 29 rules from [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks)
40
- - 18 rules for **Solid**
41
- - `import solidConfig from "@ethang/eslint-config/config.solid.js";`
42
- - 18 rules from [eslint-plugin-solid](https://github.com/solidjs-community/eslint-plugin-solid)
43
- - 16 rules for **Storybook**
44
- - `import storybookConfig from "@ethang/eslint-config/config.storybook.js";`
45
- - 16 rules from [eslint-plugin-storybook](https://github.com/storybookjs/eslint-plugin-storybook)
46
- - 6 rules for **Tailwind**
47
- - import tailwindConfig from "@ethang/eslint-config/config.tailwind.js";
48
- - 6 rules from [eslint-plugin-tailwindcss](https://github.com/francoismassart/eslint-plugin-tailwindcss)
49
-
50
- # Install
51
-
52
- ```powershell
53
- pnpm i -D eslint @ethang/eslint-config
54
- ```
55
-
56
- **Requires TypesScript and tsconfig.json at root directory.**
57
-
58
- # Config
59
-
60
- In **eslint.config.ts**
61
-
62
- ```js
63
- import config from "@ethang/eslint-config/eslint.config.js";
64
- import { defineConfig } from "eslint/config";
65
- import path from "node:path";
66
- import reactConfig from "@ethang/eslint-config/config.react.js"; // OPTIONAL
67
- import tailwindConfig from "@ethang/eslint-config/config.tailwind.js"; // OPTIONAL
68
- import htmlConfig from "@ethang/eslint-config/config.html.js"; // OPTIONAL
69
-
70
- export default defineConfig(
71
- {
72
- ignores: [], // Ignored files apply to all following configs
73
- },
74
- ...config,
75
- ...reactConfig,
76
- ...htmlConfig,
77
- ...tailwindConfig(path.join(import.meta.dirname, "src", "index.css")),
78
- {
79
- languageOptions: {
80
- parserOptions: {
81
- project: true,
82
- tsconfigRootDir: import.meta.dirname,
83
- },
84
- },
85
- rules: {
86
- // Override rules from above configs
87
- },
88
- },
89
- );
90
- ```
91
-
92
- **Scripts**
93
-
94
- ```json
95
- "scripts": {
96
- "lint": "eslint . --fix --concurrency=auto"
97
- }
98
- ```
99
-
100
- **Browserslist**
101
-
102
- This config will also lint for browserslist features. [More info.](https://github.com/browserslist/browserslist)
103
-
104
- It's recommended to use [browserslist-config-baseline](https://github.com/web-platform-dx/browserslist-config-baseline)
105
-
106
- ```powershell
107
- pnpm i -D browserslist-config-baseline
108
- ```
109
-
110
- ```json
111
- "browserslist": [
112
- "extends browserslist-config-baseline",
113
- "current node"
114
- ],
115
- ```
116
-
117
- Or a simpler config without an additional dependency.
118
-
119
- ```json
120
- "browserslist": [
121
- "defaults and fully supports es6-module",
122
- "current node"
123
- ],
124
- ```
125
-
126
- **Engines**
127
-
128
- ```json
129
- "engines": {
130
- "node": ">=24"
131
- },
132
- ```
@@ -1,70 +0,0 @@
1
- import isNil from "lodash/isNil.js";
2
- import map from "lodash/map.js";
3
- import { writeFileSync } from "node:fs";
4
- import path from "node:path";
5
-
6
- import type { ConfigFile } from "./update-rules.ts";
7
-
8
- import { createConfig } from "./create-config.ts";
9
- import { getTypeImportStrings } from "./list-utilities.ts";
10
-
11
- const mainFile = "eslint.config.js";
12
-
13
- export const createConfigFile = async (
14
- listConfigs: ConfigFile[],
15
- fileName: string,
16
- functionParameters?: string,
17
- ) => {
18
- let configFile = "// @ts-nocheck\n";
19
-
20
- const imports = listConfigs.flatMap((list) => {
21
- const importStrings = getTypeImportStrings(list.name);
22
-
23
- if (list.options?.extraImports && 0 < list.options.extraImports.length) {
24
- importStrings.push(...list.options.extraImports);
25
- }
26
-
27
- return importStrings;
28
- });
29
-
30
- // eslint-disable-next-line compat/compat
31
- const importList = [
32
- 'import { ignores, languageOptions } from "./constants.js";',
33
- ...imports,
34
- ].toSorted((a, b) => {
35
- return (a ?? "").localeCompare(b ?? "");
36
- });
37
-
38
- for (const item of importList) {
39
- configFile += `${item}\n`;
40
- }
41
-
42
- const configs = await Promise.all(
43
- map(listConfigs, async (list) => {
44
- return createConfig(list.name, list.options);
45
- }),
46
- );
47
-
48
- // eslint-disable-next-line unicorn/prefer-ternary
49
- if (isNil(functionParameters)) {
50
- configFile += `\nexport default defineConfig(
51
- ${configs.join("\n")}
52
- ${mainFile === fileName ? "eslintConfigPrettier," : ""}
53
- ${mainFile === fileName ? "eslintPluginPrettierRecommended," : ""}
54
- );\n`;
55
- } else {
56
- configFile += `\nconst config = (${functionParameters}) => {
57
- return defineConfig(
58
- ${configs.join("\n")}
59
- ${mainFile === fileName ? "eslintConfigPrettier," : ""}
60
- ${mainFile === fileName ? "eslintPluginPrettierRecommended," : ""}
61
- );
62
- }\n\nexport default config;\n`;
63
- }
64
-
65
- writeFileSync(
66
- path.join(import.meta.dirname, `../${fileName}`),
67
- configFile,
68
- "utf8",
69
- );
70
- };