@ethang/eslint-config 24.0.2 → 24.1.0

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 (76) hide show
  1. package/{dist/README.md → README.md} +3 -3
  2. package/eslint.config.js +2 -28
  3. package/eslint.config.js.map +1 -0
  4. package/package.json +10 -10
  5. package/build.ts +0 -48
  6. package/dist/eslint.config.js +0 -2
  7. package/dist/eslint.config.js.map +0 -1
  8. package/dist/package.json +0 -67
  9. package/src/README.md +0 -132
  10. package/src/build/create-config-file.ts +0 -70
  11. package/src/build/create-config.ts +0 -98
  12. package/src/build/get-react-version.ts +0 -19
  13. package/src/build/list-utilities.ts +0 -137
  14. package/src/build/rule-list.ts +0 -283
  15. package/src/build/update-readme.ts +0 -259
  16. package/src/build/update-rules.ts +0 -173
  17. package/src/config.angular.js +0 -122
  18. package/src/config.astro.js +0 -69
  19. package/src/config.html.js +0 -73
  20. package/src/config.react.js +0 -111
  21. package/src/config.solid.js +0 -34
  22. package/src/config.storybook.js +0 -31
  23. package/src/config.tailwind.js +0 -28
  24. package/src/constants.js +0 -16
  25. package/src/eslint.config.js +0 -1075
  26. package/src/eslint.html.js +0 -73
  27. package/src/setup/a11y.ts +0 -19
  28. package/src/setup/angular.ts +0 -36
  29. package/src/setup/astro.ts +0 -14
  30. package/src/setup/compat.ts +0 -13
  31. package/src/setup/cspell.ts +0 -100
  32. package/src/setup/css.ts +0 -15
  33. package/src/setup/eslint.ts +0 -250
  34. package/src/setup/gen-rules.ts +0 -85
  35. package/src/setup/html.ts +0 -17
  36. package/src/setup/json.ts +0 -17
  37. package/src/setup/lodash.ts +0 -59
  38. package/src/setup/markdown.ts +0 -16
  39. package/src/setup/perfectionist.ts +0 -49
  40. package/src/setup/react.ts +0 -37
  41. package/src/setup/solid.ts +0 -21
  42. package/src/setup/sonar.ts +0 -40
  43. package/src/setup/storybook.ts +0 -10
  44. package/src/setup/tailwind.ts +0 -12
  45. package/src/setup/tanstack-query.ts +0 -8
  46. package/src/setup/tanstack-router.ts +0 -8
  47. package/src/setup/typescript-eslint.ts +0 -114
  48. package/src/setup/unicorn.ts +0 -38
  49. package/src/tsconfig.json +0 -3
  50. package/tsconfig.json +0 -3
  51. /package/{dist/chunk-WK3YS7OG.js → chunk-WK3YS7OG.js} +0 -0
  52. /package/{dist/chunk-WK3YS7OG.js.map → chunk-WK3YS7OG.js.map} +0 -0
  53. /package/{dist/config.angular.d.ts → config.angular.d.ts} +0 -0
  54. /package/{dist/config.angular.js → config.angular.js} +0 -0
  55. /package/{dist/config.angular.js.map → config.angular.js.map} +0 -0
  56. /package/{dist/config.astro.d.ts → config.astro.d.ts} +0 -0
  57. /package/{dist/config.astro.js → config.astro.js} +0 -0
  58. /package/{dist/config.astro.js.map → config.astro.js.map} +0 -0
  59. /package/{dist/config.html.d.ts → config.html.d.ts} +0 -0
  60. /package/{dist/config.html.js → config.html.js} +0 -0
  61. /package/{dist/config.html.js.map → config.html.js.map} +0 -0
  62. /package/{dist/config.react.d.ts → config.react.d.ts} +0 -0
  63. /package/{dist/config.react.js → config.react.js} +0 -0
  64. /package/{dist/config.react.js.map → config.react.js.map} +0 -0
  65. /package/{dist/config.solid.d.ts → config.solid.d.ts} +0 -0
  66. /package/{dist/config.solid.js → config.solid.js} +0 -0
  67. /package/{dist/config.solid.js.map → config.solid.js.map} +0 -0
  68. /package/{dist/config.storybook.d.ts → config.storybook.d.ts} +0 -0
  69. /package/{dist/config.storybook.js → config.storybook.js} +0 -0
  70. /package/{dist/config.storybook.js.map → config.storybook.js.map} +0 -0
  71. /package/{dist/config.tailwind.d.ts → config.tailwind.d.ts} +0 -0
  72. /package/{dist/config.tailwind.js → config.tailwind.js} +0 -0
  73. /package/{dist/config.tailwind.js.map → config.tailwind.js.map} +0 -0
  74. /package/{dist/constants.js → constants.js} +0 -0
  75. /package/{dist/constants.js.map → constants.js.map} +0 -0
  76. /package/{dist/eslint.config.d.ts → eslint.config.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/eslint.config.js"],"sourcesContent":["// @ts-nocheck\nimport { defineConfig } from \"eslint/config\";\nimport { ignores, languageOptions } from \"./constants.js\";\nimport a11y from \"eslint-plugin-jsx-a11y\";\nimport compat from \"eslint-plugin-compat\";\nimport cspell from \"@cspell/eslint-plugin\";\nimport css from '@eslint/css';\nimport eslintConfigPrettier from \"eslint-config-prettier\";\nimport eslintPluginPrettierRecommended from \"eslint-plugin-prettier/recommended\";\nimport json from \"@eslint/json\";\nimport lodashConfig from \"eslint-plugin-lodash\";\nimport markdown from \"@eslint/markdown\";\nimport perfectionist from \"eslint-plugin-perfectionist\";\nimport sonar from \"eslint-plugin-sonarjs\";\nimport tanstackQuery from \"@tanstack/eslint-plugin-query\";\nimport tanstackRouter from \"@tanstack/eslint-plugin-router\";\nimport tseslint from \"typescript-eslint\";\nimport unicorn from \"eslint-plugin-unicorn\";\n\nexport default defineConfig(\n {\n files: [\"**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}\"],\nignores,\nlanguageOptions,\nsettings: {\n \"react\":{\"version\":\"19.2.3\"}\n},\n plugins: {\n \"compat\": compat,\"@typescript-eslint\": tseslint.plugin,\"unicorn\": unicorn,\"lodash\": lodashConfig,\"sonar\": sonar,\"perfectionist\": perfectionist,\"@tanstack/query\": tanstackQuery,\"@tanstack/router\": tanstackRouter,\"a11y\": a11y,\"cspell\": cspell,\n },\n rules: {\n \"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\":true}],\"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\":true}],\"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\":true,\"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\":true}],\"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\":true}],\"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\":true}],\"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\"]}}]\n },\n \n },\n{\n files: [\"**/*.md\"],\n plugins: {\n \"markdown\": markdown,\n },\n rules: {\n \"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\"\n },\n \n },\n{\n files: [\"**/*.css\"],language: \"css/css\",\n plugins: {\n \"css\": css,\n },\n rules: {\n \"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\"\n },\n \n },\n{\n files: [\"**/*.json\"],language: \"json/json\",\n plugins: {\n \"json\": json,\n },\n rules: {\n \"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\"\n },\n \n },\n{\n files: [\"**/*.jsonc\"],language: \"json/jsonc\",\n plugins: {\n \"json\": json,\n },\n rules: {\n \"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\"\n },\n \n },\n{\n files: [\"**/*.json5\"],language: \"json/json5\",\n plugins: {\n \"json\": json,\n },\n rules: {\n \"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\"\n },\n \n },\n eslintConfigPrettier,\n eslintPluginPrettierRecommended,\n );\n"],"mappings":"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","names":["defineConfig","a11y","compat","cspell","css","eslintConfigPrettier","eslintPluginPrettierRecommended","json","lodashConfig","markdown","perfectionist","sonar","tanstackQuery","tanstackRouter","tseslint","unicorn","eslint_config_default","defineConfig","ignores","languageOptions"]}
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
- };
@@ -1,98 +0,0 @@
1
- import flow from "lodash/flow.js";
2
- import isNil from "lodash/isNil.js";
3
- import map from "lodash/map.js";
4
-
5
- import { getLatestReact } from "./get-react-version.ts";
6
- import {
7
- getList,
8
- getListJson,
9
- getListPlugins,
10
- getTypeFiles,
11
- getTypeLanguage,
12
- } from "./list-utilities.ts";
13
-
14
- export type ConfigOptions = {
15
- extraImports?: string[];
16
- extraOptions?: string;
17
- globalIgnores?: string[];
18
- includeAngularLanguageOptions?: boolean;
19
- includeIgnores?: boolean;
20
- includeLanguageOptions?: boolean;
21
- includeReactVersion?: boolean;
22
- processor?: string;
23
- };
24
-
25
- const getIgnoresString = flow(
26
- (globalIgnores: string[] | undefined) => {
27
- return map(globalIgnores, (ignore) => {
28
- return `"${ignore}"`;
29
- });
30
- },
31
- (list) => list.join(", "),
32
- );
33
-
34
- export const createConfig = async (
35
- type: string,
36
- options: ConfigOptions = {},
37
- ) => {
38
- let config = "";
39
- let settings;
40
-
41
- if (!isNil(options.includeReactVersion)) {
42
- const react = await getLatestReact();
43
- settings = JSON.stringify({
44
- react: { version: react?.version },
45
- }).slice(1, -1);
46
- }
47
-
48
- const list = getList(type);
49
- const ruleJson = getListJson(list);
50
-
51
- let optionals = "";
52
-
53
- if (!isNil(options.includeIgnores)) {
54
- optionals += "\nignores,";
55
- }
56
-
57
- if (
58
- !isNil(options.includeLanguageOptions) &&
59
- isNil(options.includeAngularLanguageOptions)
60
- ) {
61
- optionals += "\nlanguageOptions,";
62
- }
63
-
64
- if (!isNil(options.includeAngularLanguageOptions)) {
65
- optionals += "\nlanguageOptions: angularLanguageOptions,";
66
- }
67
-
68
- if (!isNil(options.processor)) {
69
- optionals += `\nprocessor: ${options.processor},`;
70
- }
71
-
72
- if (!isNil(options.includeReactVersion) && !isNil(settings)) {
73
- optionals += `\nsettings: {
74
- ${settings}
75
- },`;
76
- }
77
-
78
- const language = getTypeLanguage(type);
79
-
80
- if (options.globalIgnores) {
81
- config += `{
82
- ignores: [${getIgnoresString(options.globalIgnores)}],
83
- },`;
84
- }
85
-
86
- config += `{
87
- files: ["${getTypeFiles(type)}"],${optionals}${language ? `language: "${language}",` : ""}
88
- plugins: {
89
- ${getListPlugins(list)}
90
- },
91
- rules: {
92
- ${ruleJson}
93
- },
94
- ${isNil(options.extraOptions) ? "" : options.extraOptions}
95
- },`;
96
-
97
- return config;
98
- };
@@ -1,19 +0,0 @@
1
- import { parseFetchJson } from "@ethang/toolbelt/fetch/json.js";
2
- import isError from "lodash/isError.js";
3
- import { z } from "zod";
4
-
5
- export const getLatestReact = async () => {
6
- const response = await globalThis.fetch(
7
- "https://registry.npmjs.org/react/latest",
8
- );
9
- const data = await parseFetchJson(
10
- response,
11
- z.object({ version: z.string() }),
12
- );
13
-
14
- if (isError(data)) {
15
- return;
16
- }
17
-
18
- return data;
19
- };