@ethang/eslint-config 19.15.2 → 19.15.4

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 (51) hide show
  1. package/README.md +7 -7
  2. package/chunk-NR4FIKOF.js +8 -0
  3. package/chunk-NR4FIKOF.js.map +1 -0
  4. package/config.astro.js +10 -11
  5. package/config.astro.js.map +1 -0
  6. package/config.react.js +13 -18
  7. package/config.react.js.map +1 -0
  8. package/config.solid.js +9 -10
  9. package/config.solid.js.map +1 -0
  10. package/constants.js +3 -11
  11. package/constants.js.map +1 -0
  12. package/eslint.config.js +79 -70
  13. package/eslint.config.js.map +1 -0
  14. package/package.json +21 -54
  15. package/.gitattributes +0 -1
  16. package/.github/dependabot.yml +0 -13
  17. package/.idea/codeStyles/Project.xml +0 -57
  18. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  19. package/build/create-config-file.ts +0 -51
  20. package/build/create-config.ts +0 -63
  21. package/build/get-react-version.ts +0 -4
  22. package/build/list-utils.ts +0 -102
  23. package/build/rule-list.ts +0 -293
  24. package/build/update-readme.ts +0 -180
  25. package/build/update-rules.ts +0 -101
  26. package/build.mjs +0 -16
  27. package/setup/a11y.ts +0 -18
  28. package/setup/astro.ts +0 -13
  29. package/setup/barrel.ts +0 -13
  30. package/setup/compat.ts +0 -12
  31. package/setup/cspell.ts +0 -55
  32. package/setup/depend.ts +0 -13
  33. package/setup/deprecated.ts +0 -18
  34. package/setup/eslint.ts +0 -237
  35. package/setup/gen-rules.ts +0 -60
  36. package/setup/json.ts +0 -15
  37. package/setup/lodash.ts +0 -50
  38. package/setup/markdown.ts +0 -12
  39. package/setup/n.ts +0 -85
  40. package/setup/perfectionist.ts +0 -62
  41. package/setup/react.ts +0 -77
  42. package/setup/solid.ts +0 -15
  43. package/setup/sonar.ts +0 -43
  44. package/setup/stylistic-ts.ts +0 -51
  45. package/setup/stylistic.ts +0 -68
  46. package/setup/tailwind.ts +0 -8
  47. package/setup/tanstack-query.ts +0 -8
  48. package/setup/tanstack-router.ts +0 -7
  49. package/setup/typescript-eslint.ts +0 -112
  50. package/setup/unicorn.ts +0 -37
  51. package/tsconfig.json +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/eslint.config.js"],"sourcesContent":["// @ts-nocheck\nimport { fixupPluginRules } from \"@eslint/compat\";\nimport { ignores, languageOptions } from \"./constants.js\";\nimport a11y from \"eslint-plugin-jsx-a11y\";\nimport barrel from \"eslint-plugin-barrel-files\";\nimport compat from \"eslint-plugin-compat\";\nimport cspell from \"@cspell/eslint-plugin\";\nimport depend from \"eslint-plugin-depend\";\nimport json from \"@eslint/json\";\nimport lodashConfig from \"eslint-plugin-lodash\";\nimport markdown from \"@eslint/markdown\";\nimport n from \"eslint-plugin-n\";\nimport perfectionist from \"eslint-plugin-perfectionist\";\nimport sonar from \"eslint-plugin-sonarjs\";\nimport stylistic from \"@stylistic/eslint-plugin\";\nimport stylisticTs from \"@stylistic/eslint-plugin-ts\";\nimport tailwind from \"eslint-plugin-tailwindcss\";\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 tseslint.config(\n {\n files: [\"**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}\"],\nignores,\nlanguageOptions,\nsettings: {\n \"react\":{\"version\":\"18.3.1\"}\n},\n plugins: {\n \"depend\": depend,\"cspell\": cspell,\"barrel\": barrel,\"compat\": compat,\"n\": n,\"@typescript-eslint\": tseslint.plugin,\"unicorn\": unicorn,\"lodash\": lodashConfig,\"sonar\": fixupPluginRules(sonar),\"tailwind\": tailwind,\"stylistic\": stylistic,\"stylistic-ts\": stylisticTs,\"perfectionist\": perfectionist,\"@tanstack/query\": tanstackQuery,\"@tanstack/router\": tanstackRouter,\"a11y\": a11y,\n },\n rules: {\n \"depend/ban-dependencies\":[\"error\",{\"allowed\":[\"lodash\",\"fs-extra\"]}],\"cspell/spellchecker\":[\"error\",{\"cspell\":{\"words\":[\"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\"]}}],\"barrel/avoid-barrel-files\":\"error\",\"barrel/avoid-importing-barrel-files\":\"error\",\"barrel/avoid-namespace-import\":\"error\",\"barrel/avoid-re-export-all\":\"error\",\"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\":\"error\",\"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-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\":\"error\",\"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\",\"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\"],\"n/callback-return\":\"off\",\"n/exports-style\":[\"error\",\"exports\"],\"n/file-extension-in-import\":\"off\",\"n/global-require\":\"off\",\"n/handle-callback-err\":\"error\",\"n/hashbang\":\"off\",\"n/no-callback-literal\":\"off\",\"n/no-deprecated-api\":\"error\",\"n/no-exports-assign\":\"error\",\"n/no-extraneous-import\":\"error\",\"n/no-extraneous-require\":\"error\",\"n/no-missing-import\":\"off\",\"n/no-missing-require\":\"error\",\"n/no-mixed-requires\":\"off\",\"n/no-new-require\":\"off\",\"n/no-path-concat\":\"error\",\"n/no-process-env\":\"off\",\"n/no-process-exit\":\"off\",\"n/no-restricted-import\":\"off\",\"n/no-restricted-require\":\"off\",\"n/no-sync\":\"off\",\"n/no-unpublished-bin\":\"error\",\"n/no-unpublished-import\":\"off\",\"n/no-unpublished-require\":\"off\",\"n/no-unsupported-features/es-builtins\":\"error\",\"n/no-unsupported-features/es-syntax\":\"error\",\"n/no-unsupported-features/node-builtins\":\"error\",\"n/prefer-global/buffer\":\"error\",\"n/prefer-global/console\":\"error\",\"n/prefer-global/process\":\"error\",\"n/prefer-global/text-decoder\":\"error\",\"n/prefer-global/text-encoder\":\"error\",\"n/prefer-global/url\":\"error\",\"n/prefer-global/url-search-params\":\"error\",\"n/prefer-node-protocol\":\"error\",\"n/prefer-promises/dns\":\"off\",\"n/prefer-promises/fs\":\"off\",\"n/process-exit-as-throw\":\"off\",\"@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-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-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-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/typedef\":\"off\",\"@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-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-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-push-push\":\"error\",\"unicorn/no-array-reduce\":\"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-instanceof-array\":\"error\",\"unicorn/no-invalid-fetch-options\":\"error\",\"unicorn/no-invalid-remove-event-listener\":\"error\",\"unicorn/no-keyword-prefix\":\"off\",\"unicorn/no-length-as-slice-end\":\"error\",\"unicorn/no-lonely-if\":\"error\",\"unicorn/no-magic-array-flat-depth\":\"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-await\":\"error\",\"unicorn/no-unnecessary-polyfills\":\"error\",\"unicorn/no-unreadable-array-destructuring\":\"error\",\"unicorn/no-unreadable-iife\":\"error\",\"unicorn/no-unused-properties\":\"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-blob-reading-methods\":\"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-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-set-has\":\"error\",\"unicorn/prefer-set-size\":\"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-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/accessor-pairs\":\"error\",\"sonar/alt-text\":\"error\",\"sonar/anchor-has-content\":\"error\",\"sonar/anchor-is-valid\":\"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/bool-param-default\":\"error\",\"sonar/call-argument-line\":\"error\",\"sonar/certificate-transparency\":\"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/default-param-last\":\"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/hook-use-state\":\"error\",\"sonar/html-has-lang\":\"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-key\":\"error\",\"sonar/jsx-no-constructed-context-values\":\"error\",\"sonar/jsx-no-useless-fragment\":\"error\",\"sonar/label-has-associated-control\":\"error\",\"sonar/label-position\":\"error\",\"sonar/link-with-target-blank\":\"error\",\"sonar/max-switch-cases\":\"error\",\"sonar/max-union-size\":\"off\",\"sonar/media-has-caption\":\"error\",\"sonar/misplaced-loop-counter\":\"error\",\"sonar/mouse-events-a11y\":\"error\",\"sonar/nested-control-flow\":\"error\",\"sonar/new-cap\":\"off\",\"sonar/new-operator-misuse\":\"error\",\"sonar/no-accessor-field-mismatch\":\"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-array-index-key\":\"error\",\"sonar/no-associative-arrays\":\"error\",\"sonar/no-async-constructor\":\"error\",\"sonar/no-base-to-string\":\"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-dead-store\":\"error\",\"sonar/no-delete-var\":\"error\",\"sonar/no-deprecated-react\":\"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-collection\":\"error\",\"sonar/no-empty-function\":\"error\",\"sonar/no-empty-group\":\"error\",\"sonar/no-empty-interface\":\"error\",\"sonar/no-empty-test-file\":\"error\",\"sonar/no-equals-in-for-termination\":\"error\",\"sonar/no-exclusive-tests\":\"error\",\"sonar/no-extend-native\":\"error\",\"sonar/no-extra-arguments\":\"error\",\"sonar/no-find-dom-node\":\"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-credentials\":\"error\",\"sonar/no-hardcoded-ip\":\"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-infinite-loop\":\"error\",\"sonar/no-internal-api-use\":\"error\",\"sonar/no-intrusive-permissions\":\"error\",\"sonar/no-invalid-await\":\"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-lonely-if\":\"error\",\"sonar/no-mime-sniff\":\"error\",\"sonar/no-misleading-array-reverse\":\"error\",\"sonar/no-misused-promises\":\"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-one-iteration-loop\":\"error\",\"sonar/no-os-command-from-path\":\"error\",\"sonar/no-parameter-reassignment\":\"error\",\"sonar/no-primitive-wrappers\":\"error\",\"sonar/no-redeclare\":\"error\",\"sonar/no-redundant-assignments\":\"error\",\"sonar/no-redundant-boolean\":\"error\",\"sonar/no-redundant-jump\":\"error\",\"sonar/no-redundant-optional\":\"error\",\"sonar/no-redundant-type-constituents\":\"error\",\"sonar/no-reference-error\":\"off\",\"sonar/no-referrer-policy\":\"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-self-compare\":\"error\",\"sonar/no-self-import\":\"error\",\"sonar/no-skipped-test\":\"error\",\"sonar/no-small-switch\":\"error\",\"sonar/no-table-as-layout\":\"error\",\"sonar/no-this-alias\":\"error\",\"sonar/no-throw-literal\":\"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-unknown-property\":\"error\",\"sonar/no-unreachable\":\"error\",\"sonar/no-unsafe\":\"error\",\"sonar/no-unsafe-unzip\":\"error\",\"sonar/no-unstable-nested-components\":\"error\",\"sonar/no-unthrown-error\":\"error\",\"sonar/no-unused-collection\":\"error\",\"sonar/no-unused-expressions\":\"error\",\"sonar/no-unused-function-argument\":\"error\",\"sonar/no-unused-private-class-members\":\"error\",\"sonar/no-use-of-empty-return-value\":\"error\",\"sonar/no-useless-call\":\"error\",\"sonar/no-useless-catch\":\"error\",\"sonar/no-useless-constructor\":\"error\",\"sonar/no-useless-increment\":\"error\",\"sonar/no-useless-intersection\":\"error\",\"sonar/no-useless-react-setstate\":\"error\",\"sonar/no-var\":\"error\",\"sonar/no-variable-usage-before-declaration\":\"error\",\"sonar/no-vue-bypass-sanitization\":\"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/object-shorthand\":\"error\",\"sonar/operation-returning-nan\":\"error\",\"sonar/os-command\":\"error\",\"sonar/post-message\":\"error\",\"sonar/prefer-default-last\":\"error\",\"sonar/prefer-enum-initializers\":\"error\",\"sonar/prefer-for-of\":\"error\",\"sonar/prefer-function-type\":\"error\",\"sonar/prefer-immediate-return\":\"error\",\"sonar/prefer-namespace-keyword\":\"error\",\"sonar/prefer-nullish-coalescing\":\"error\",\"sonar/prefer-object-literal\":\"error\",\"sonar/prefer-object-spread\":\"error\",\"sonar/prefer-promise-shorthand\":\"error\",\"sonar/prefer-single-boolean-return\":\"error\",\"sonar/prefer-spread\":\"error\",\"sonar/prefer-string-starts-ends-with\":\"error\",\"sonar/prefer-template\":\"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/rules-of-hooks\":\"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/sonar-block-scoped-var\":\"error\",\"sonar/sonar-jsx-no-leaked-render\":\"error\",\"sonar/sonar-max-lines\":\"error\",\"sonar/sonar-max-lines-per-function\":\"error\",\"sonar/sonar-max-params\":\"error\",\"sonar/sonar-no-control-regex\":\"error\",\"sonar/sonar-no-dupe-keys\":\"error\",\"sonar/sonar-no-empty-character-class\":\"error\",\"sonar/sonar-no-fallthrough\":\"error\",\"sonar/sonar-no-invalid-regexp\":\"error\",\"sonar/sonar-no-magic-numbers\":\"off\",\"sonar/sonar-no-misleading-character-class\":\"error\",\"sonar/sonar-no-regex-spaces\":\"error\",\"sonar/sonar-no-unused-class-component-methods\":\"error\",\"sonar/sonar-no-unused-vars\":\"error\",\"sonar/sonar-prefer-optional-chain\":\"error\",\"sonar/sonar-prefer-read-only-props\":\"error\",\"sonar/sonar-prefer-regexp-exec\":\"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/switch-without-default\":\"off\",\"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/unnecessary-character-escapes\":\"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-isnan\":\"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\",\"tailwind/classnames-order\":\"error\",\"tailwind/enforces-negative-arbitrary-values\":\"error\",\"tailwind/enforces-shorthand\":\"error\",\"tailwind/migration-from-tailwind-2\":\"error\",\"tailwind/no-arbitrary-value\":\"error\",\"tailwind/no-contradicting-classname\":\"error\",\"tailwind/no-custom-classname\":\"off\",\"tailwind/no-unnecessary-arbitrary-value\":\"error\",\"stylistic/array-bracket-newline\":[\"error\",\"consistent\"],\"stylistic/array-bracket-spacing\":\"error\",\"stylistic/array-element-newline\":[\"error\",\"consistent\"],\"stylistic/arrow-parens\":\"error\",\"stylistic/arrow-spacing\":\"error\",\"stylistic/block-spacing\":\"off\",\"stylistic/brace-style\":\"off\",\"stylistic/comma-dangle\":\"off\",\"stylistic/comma-spacing\":\"off\",\"stylistic/comma-style\":\"error\",\"stylistic/computed-property-spacing\":\"error\",\"stylistic/curly-newline\":\"error\",\"stylistic/dot-location\":[\"error\",\"property\"],\"stylistic/eol-last\":\"error\",\"stylistic/func-call-spacing\":\"off\",\"stylistic/function-call-argument-newline\":[\"error\",\"consistent\"],\"stylistic/function-call-spacing\":\"off\",\"stylistic/function-paren-newline\":[\"error\",\"consistent\"],\"stylistic/generator-star-spacing\":\"error\",\"stylistic/implicit-arrow-linebreak\":\"error\",\"stylistic/indent\":\"off\",\"stylistic/indent-binary-ops\":\"error\",\"stylistic/jsx-child-element-spacing\":\"error\",\"stylistic/jsx-closing-bracket-location\":\"error\",\"stylistic/jsx-closing-tag-location\":\"error\",\"stylistic/jsx-curly-brace-presence\":\"error\",\"stylistic/jsx-curly-newline\":\"error\",\"stylistic/jsx-curly-spacing\":\"error\",\"stylistic/jsx-equals-spacing\":\"error\",\"stylistic/jsx-first-prop-new-line\":\"error\",\"stylistic/jsx-function-call-newline\":\"error\",\"stylistic/jsx-indent-props\":[\"error\",2],\"stylistic/jsx-max-props-per-line\":\"error\",\"stylistic/jsx-newline\":[\"error\",{\"prevent\":true}],\"stylistic/jsx-one-expression-per-line\":\"error\",\"stylistic/jsx-pascal-case\":\"error\",\"stylistic/jsx-props-no-multi-spaces\":\"error\",\"stylistic/jsx-quotes\":\"error\",\"stylistic/jsx-self-closing-comp\":\"error\",\"stylistic/jsx-sort-props\":\"off\",\"stylistic/jsx-tag-spacing\":\"error\",\"stylistic/jsx-wrap-multilines\":[\"error\",{\"declaration\":\"parens-new-line\"}],\"stylistic/key-spacing\":\"error\",\"stylistic/keyword-spacing\":\"off\",\"stylistic/line-comment-position\":\"off\",\"stylistic/linebreak-style\":\"error\",\"stylistic/lines-around-comment\":\"off\",\"stylistic/lines-between-class-members\":\"off\",\"stylistic/max-len\":[\"error\",{\"ignoreComments\":true,\"ignoreTrailingComments\":true,\"ignoreUrls\":true,\"ignoreStrings\":true,\"ignoreTemplateLiterals\":true,\"ignoreRegExpLiterals\":true}],\"stylistic/max-statements-per-line\":\"error\",\"stylistic/member-delimiter-style\":\"off\",\"stylistic/multiline-comment-style\":\"off\",\"stylistic/multiline-ternary\":\"error\",\"stylistic/new-parens\":\"error\",\"stylistic/newline-per-chained-call\":\"error\",\"stylistic/no-confusing-arrow\":\"error\",\"stylistic/no-extra-parens\":\"off\",\"stylistic/no-extra-semi\":\"off\",\"stylistic/no-floating-decimal\":\"error\",\"stylistic/no-mixed-operators\":\"error\",\"stylistic/no-mixed-spaces-and-tabs\":\"error\",\"stylistic/no-multi-spaces\":\"error\",\"stylistic/no-multiple-empty-lines\":[\"error\",{\"max\":1,\"maxEOF\":1,\"maxBOF\":0}],\"stylistic/no-tabs\":\"error\",\"stylistic/no-trailing-spaces\":\"error\",\"stylistic/no-whitespace-before-property\":\"error\",\"stylistic/nonblock-statement-body-position\":\"error\",\"stylistic/object-curly-newline\":\"off\",\"stylistic/object-curly-spacing\":\"off\",\"stylistic/object-property-newline\":\"off\",\"stylistic/one-var-declaration-per-line\":\"error\",\"stylistic/operator-linebreak\":\"error\",\"stylistic/padded-blocks\":[\"error\",\"never\"],\"stylistic/padding-line-between-statements\":\"off\",\"stylistic/quote-props\":\"off\",\"stylistic/quotes\":\"off\",\"stylistic/rest-spread-spacing\":\"error\",\"stylistic/semi\":\"off\",\"stylistic/semi-spacing\":\"error\",\"stylistic/semi-style\":\"error\",\"stylistic/space-before-blocks\":\"off\",\"stylistic/space-before-function-paren\":\"off\",\"stylistic/space-in-parens\":\"error\",\"stylistic/space-infix-ops\":\"off\",\"stylistic/space-unary-ops\":\"error\",\"stylistic/spaced-comment\":\"error\",\"stylistic/switch-colon-spacing\":\"error\",\"stylistic/template-curly-spacing\":\"error\",\"stylistic/template-tag-spacing\":\"error\",\"stylistic/type-annotation-spacing\":\"off\",\"stylistic/type-generic-spacing\":\"error\",\"stylistic/type-named-tuple-spacing\":\"error\",\"stylistic/wrap-iife\":\"error\",\"stylistic/wrap-regex\":\"error\",\"stylistic/yield-star-spacing\":\"error\",\"stylistic-ts/block-spacing\":\"error\",\"stylistic-ts/brace-style\":\"error\",\"stylistic-ts/comma-dangle\":[\"error\",{\"arrays\":\"always-multiline\",\"objects\":\"always-multiline\",\"imports\":\"always-multiline\",\"exports\":\"always-multiline\",\"functions\":\"always-multiline\",\"enums\":\"never\",\"generics\":\"always\",\"tuples\":\"never\"}],\"stylistic-ts/comma-spacing\":\"error\",\"stylistic-ts/func-call-spacing\":\"error\",\"stylistic-ts/function-call-spacing\":\"error\",\"stylistic-ts/indent\":[\"error\",2],\"stylistic-ts/key-spacing\":\"error\",\"stylistic-ts/keyword-spacing\":\"error\",\"stylistic-ts/lines-around-comment\":\"error\",\"stylistic-ts/lines-between-class-members\":\"error\",\"stylistic-ts/member-delimiter-style\":\"error\",\"stylistic-ts/no-extra-parens\":[\"error\",\"all\",{\"ignoreJSX\":\"multi-line\"}],\"stylistic-ts/no-extra-semi\":\"error\",\"stylistic-ts/object-curly-newline\":[\"error\",{\"multiline\":true,\"consistent\":true}],\"stylistic-ts/object-curly-spacing\":[\"error\",\"always\"],\"stylistic-ts/object-property-newline\":\"error\",\"stylistic-ts/padding-line-between-statements\":\"error\",\"stylistic-ts/quote-props\":[\"error\",\"as-needed\"],\"stylistic-ts/quotes\":\"error\",\"stylistic-ts/semi\":\"error\",\"stylistic-ts/space-before-blocks\":\"error\",\"stylistic-ts/space-before-function-paren\":[\"error\",{\"anonymous\":\"always\",\"named\":\"never\",\"asyncArrow\":\"always\"}],\"stylistic-ts/space-infix-ops\":\"error\",\"stylistic-ts/type-annotation-spacing\":\"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\",{\"groups\":[\"type\",[\"builtin\",\"external\"],\"internal-type\",\"internal\",[\"parent-type\",\"sibling-type\",\"index-type\"],[\"parent\",\"sibling\",\"index\"],\"object\",\"unknown\"],\"newlinesBetween\":\"always\"}],\"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/no-rest-destructuring\":\"error\",\"@tanstack/query/no-unstable-deps\":\"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\",\"array-bracket-newline\":\"off\",\"array-bracket-spacing\":\"off\",\"array-element-newline\":\"off\",\"arrow-parens\":\"off\",\"arrow-spacing\":\"off\",\"block-spacing\":\"off\",\"brace-style\":\"off\",\"callback-return\":\"off\",\"comma-dangle\":\"off\",\"comma-spacing\":\"off\",\"comma-style\":\"off\",\"computed-property-spacing\":\"off\",\"dot-location\":\"off\",\"eol-last\":\"off\",\"func-call-spacing\":\"off\",\"function-call-argument-newline\":\"off\",\"function-paren-newline\":\"off\",\"generator-star-spacing\":\"off\",\"global-require\":\"off\",\"handle-callback-err\":\"off\",\"id-blacklist\":\"off\",\"implicit-arrow-linebreak\":\"off\",\"indent\":\"off\",\"indent-legacy\":\"off\",\"jsx-quotes\":\"off\",\"key-spacing\":\"off\",\"keyword-spacing\":\"off\",\"line-comment-position\":\"off\",\"linebreak-style\":\"off\",\"lines-around-comment\":\"off\",\"lines-around-directive\":\"off\",\"lines-between-class-members\":\"off\",\"max-len\":\"off\",\"max-statements-per-line\":\"off\",\"multiline-comment-style\":\"off\",\"multiline-ternary\":\"off\",\"new-parens\":\"off\",\"newline-after-var\":\"off\",\"newline-before-return\":\"off\",\"newline-per-chained-call\":\"off\",\"no-buffer-constructor\":\"off\",\"no-catch-shadow\":\"off\",\"no-confusing-arrow\":\"off\",\"no-extra-parens\":\"off\",\"no-extra-semi\":\"off\",\"no-floating-decimal\":\"off\",\"no-mixed-operators\":\"off\",\"no-mixed-requires\":\"off\",\"no-mixed-spaces-and-tabs\":\"off\",\"no-multi-spaces\":\"off\",\"no-multiple-empty-lines\":\"off\",\"no-native-reassign\":\"off\",\"no-negated-in-lhs\":\"off\",\"no-new-object\":\"off\",\"no-new-require\":\"off\",\"no-new-symbol\":\"off\",\"no-path-concat\":\"off\",\"no-process-env\":\"off\",\"no-process-exit\":\"off\",\"no-restricted-modules\":\"off\",\"no-return-await\":\"off\",\"no-spaced-func\":\"off\",\"no-sync\":\"off\",\"no-tabs\":\"off\",\"no-trailing-spaces\":\"off\",\"no-whitespace-before-property\":\"off\",\"nonblock-statement-body-position\":\"off\",\"object-curly-newline\":\"off\",\"object-curly-spacing\":\"off\",\"object-property-newline\":\"off\",\"one-var-declaration-per-line\":\"off\",\"operator-linebreak\":\"off\",\"padded-blocks\":\"off\",\"padding-line-between-statements\":\"off\",\"prefer-reflect\":\"off\",\"quote-props\":\"off\",\"quotes\":\"off\",\"rest-spread-spacing\":\"off\",\"semi\":\"off\",\"semi-spacing\":\"off\",\"semi-style\":\"off\",\"space-before-blocks\":\"off\",\"space-before-function-paren\":\"off\",\"space-in-parens\":\"off\",\"space-infix-ops\":\"off\",\"space-unary-ops\":\"off\",\"spaced-comment\":\"off\",\"switch-colon-spacing\":\"off\",\"template-curly-spacing\":\"off\",\"template-tag-spacing\":\"off\",\"wrap-iife\":\"off\",\"wrap-regex\":\"off\",\"yield-star-spacing\":\"off\"\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-duplicate-headings\":\"error\",\"markdown/no-empty-links\":\"error\",\"markdown/no-html\":\"error\",\"markdown/no-invalid-label-refs\":\"error\",\"markdown/no-missing-label-refs\":\"error\"\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\"\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\"\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\"\n },\n },\n );\n"],"mappings":"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","names":["fixupPluginRules","a11y","barrel","compat","cspell","depend","json","lodashConfig","markdown","n","perfectionist","sonar","stylistic","stylisticTs","tailwind","tanstackQuery","tanstackRouter","tseslint","unicorn","eslint_config_default","ignores","languageOptions","fixupPluginRules"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethang/eslint-config",
3
- "version": "19.15.2",
3
+ "version": "19.15.4",
4
4
  "repository": {
5
5
  "url": "git+https://github.com/eglove/eslint-config-ethang.git"
6
6
  },
@@ -9,21 +9,21 @@
9
9
  "type": "module",
10
10
  "main": "eslint.config.js",
11
11
  "scripts": {
12
- "build": "pnpx @eslint/config-inspector build",
12
+ "build": "pnpx tsx build.ts && pnpm lint",
13
13
  "lint": "prettier . -w"
14
14
  },
15
15
  "dependencies": {
16
16
  "@cspell/eslint-plugin": "^8.16.0",
17
- "@eslint-react/eslint-plugin": "^1.16.1",
18
- "@eslint/compat": "^1.2.2",
19
- "@eslint/js": "^9.14.0",
20
- "@eslint/json": "^0.6.0",
17
+ "@eslint-react/eslint-plugin": "^1.17.1",
18
+ "@eslint/compat": "^1.2.3",
19
+ "@eslint/js": "^9.15.0",
20
+ "@eslint/json": "^0.8.0",
21
21
  "@eslint/markdown": "^6.2.1",
22
- "@stylistic/eslint-plugin": "^2.10.1",
23
- "@stylistic/eslint-plugin-ts": "^2.10.1",
24
- "@tanstack/eslint-plugin-query": "^5.60.1",
25
- "@tanstack/eslint-plugin-router": "^1.79.0",
26
- "@typescript-eslint/parser": "^8.14.0",
22
+ "@stylistic/eslint-plugin": "^2.11.0",
23
+ "@stylistic/eslint-plugin-ts": "^2.11.0",
24
+ "@tanstack/eslint-plugin-query": "^5.61.4",
25
+ "@tanstack/eslint-plugin-router": "^1.82.12",
26
+ "@typescript-eslint/parser": "^8.16.0",
27
27
  "eslint": "^9.14.0",
28
28
  "eslint-plugin-astro": "^1.3.1",
29
29
  "eslint-plugin-barrel-files": "^2.1.0",
@@ -31,56 +31,23 @@
31
31
  "eslint-plugin-depend": "^0.12.0",
32
32
  "eslint-plugin-jsx-a11y": "^6.10.2",
33
33
  "eslint-plugin-lodash": "^8.0.0",
34
- "eslint-plugin-n": "^17.13.1",
35
- "eslint-plugin-perfectionist": "^3.9.1",
36
- "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
34
+ "eslint-plugin-n": "^17.14.0",
35
+ "eslint-plugin-perfectionist": "^4.1.2",
36
+ "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
37
37
  "eslint-plugin-react-hooks": "^5.0.0",
38
38
  "eslint-plugin-solid": "^0.14.4",
39
39
  "eslint-plugin-sonarjs": "2.0.4",
40
40
  "eslint-plugin-tailwindcss": "^3.17.5",
41
- "eslint-plugin-unicorn": "^56.0.0",
42
- "typescript": "^5.6.3",
43
- "typescript-eslint": "^8.14.0"
41
+ "eslint-plugin-unicorn": "^56.0.1",
42
+ "typescript-eslint": "^8.16.0"
44
43
  },
45
44
  "devDependencies": {
46
- "@ethang/markdown-generator": "^1.1.4",
47
- "@ethang/project-builder": "^3.0.1",
48
- "@tsconfig/node-lts": "^22.0.0",
49
- "@tsconfig/strictest": "^2.0.5",
50
- "@types/eslint-plugin-jsx-a11y": "^6.9.0",
45
+ "@ethang/markdown-generator": "workspace:^",
46
+ "@types/eslint-plugin-jsx-a11y": "^6.10.0",
51
47
  "@types/eslint-plugin-tailwindcss": "^3.17.0",
52
48
  "@types/eslint__js": "^8.42.3",
53
- "@types/node": "^22.9.0",
54
- "prettier": "^3.3.3"
55
- },
56
- "peerDependencies": {
57
- "@cspell/eslint-plugin": "^8.16.0",
58
- "@eslint-react/eslint-plugin": "^1.16.1",
59
- "@eslint/compat": "^1.2.2",
60
- "@eslint/js": "^9.14.0",
61
- "@eslint/json": "^0.6.0",
62
- "@eslint/markdown": "^6.2.1",
63
- "@stylistic/eslint-plugin": "^2.10.1",
64
- "@stylistic/eslint-plugin-ts": "^2.10.1",
65
- "@tanstack/eslint-plugin-query": "^5.60.1",
66
- "@tanstack/eslint-plugin-router": "^1.79.0",
67
- "@typescript-eslint/parser": "^8.14.0",
68
- "eslint": "^9.14.0",
69
- "eslint-plugin-astro": "^1.3.1",
70
- "eslint-plugin-barrel-files": "^2.1.0",
71
- "eslint-plugin-compat": "^6.0.1",
72
- "eslint-plugin-depend": "^0.12.0",
73
- "eslint-plugin-jsx-a11y": "^6.10.2",
74
- "eslint-plugin-lodash": "^8.0.0",
75
- "eslint-plugin-n": "^17.13.1",
76
- "eslint-plugin-perfectionist": "^3.9.1",
77
- "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
78
- "eslint-plugin-react-hooks": "^5.0.0",
79
- "eslint-plugin-solid": "^0.14.4",
80
- "eslint-plugin-sonarjs": "2.0.4",
81
- "eslint-plugin-tailwindcss": "^3.17.5",
82
- "eslint-plugin-unicorn": "^56.0.0",
83
- "typescript": "^5.6.3",
84
- "typescript-eslint": "^8.14.0"
49
+ "@types/node": "^22.10.0",
50
+ "prettier": "^3.4.1",
51
+ "typescript": "^5.7.2"
85
52
  }
86
53
  }
package/.gitattributes DELETED
@@ -1 +0,0 @@
1
- * text eol=lf
@@ -1,13 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "github-actions"
4
- directory: /
5
- schedule:
6
- interval: daily
7
- target-branch: "master"
8
-
9
- - package-ecosystem: npm
10
- directory: /
11
- schedule:
12
- interval: daily
13
- target-branch: "master"
@@ -1,57 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <HTMLCodeStyleSettings>
4
- <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
- </HTMLCodeStyleSettings>
6
- <JSCodeStyleSettings version="0">
7
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
8
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
9
- <option name="FORCE_QUOTE_STYlE" value="true" />
10
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
11
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
12
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
13
- </JSCodeStyleSettings>
14
- <TypeScriptCodeStyleSettings version="0">
15
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
16
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
17
- <option name="FORCE_QUOTE_STYlE" value="true" />
18
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
19
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
20
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
21
- </TypeScriptCodeStyleSettings>
22
- <VueCodeStyleSettings>
23
- <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
24
- <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
25
- </VueCodeStyleSettings>
26
- <codeStyleSettings language="HTML">
27
- <option name="SOFT_MARGINS" value="80" />
28
- <indentOptions>
29
- <option name="INDENT_SIZE" value="2" />
30
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
31
- <option name="TAB_SIZE" value="2" />
32
- </indentOptions>
33
- </codeStyleSettings>
34
- <codeStyleSettings language="JavaScript">
35
- <option name="SOFT_MARGINS" value="80" />
36
- <indentOptions>
37
- <option name="INDENT_SIZE" value="2" />
38
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
39
- <option name="TAB_SIZE" value="2" />
40
- </indentOptions>
41
- </codeStyleSettings>
42
- <codeStyleSettings language="TypeScript">
43
- <option name="SOFT_MARGINS" value="80" />
44
- <indentOptions>
45
- <option name="INDENT_SIZE" value="2" />
46
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
47
- <option name="TAB_SIZE" value="2" />
48
- </indentOptions>
49
- </codeStyleSettings>
50
- <codeStyleSettings language="Vue">
51
- <option name="SOFT_MARGINS" value="80" />
52
- <indentOptions>
53
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
54
- </indentOptions>
55
- </codeStyleSettings>
56
- </code_scheme>
57
- </component>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
- </state>
5
- </component>
@@ -1,51 +0,0 @@
1
- import { writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
-
4
- import type { ConfigFile } from "./update-rules.ts";
5
-
6
- import { createConfig } from "./create-config.ts";
7
- import { getTypeImportStrings } from "./list-utils.ts";
8
-
9
- export const createConfigFile = async (
10
- listConfigs: ConfigFile[],
11
- fileName: string,
12
- ) => {
13
- let configFile = "";
14
-
15
- const imports = listConfigs.flatMap((list) => {
16
- const importStrings = getTypeImportStrings(list.name);
17
-
18
- if (list.options?.extraImports && 0 < list.options.extraImports.length) {
19
- importStrings.push(...list.options.extraImports);
20
- }
21
-
22
- return importStrings;
23
- });
24
-
25
- const importList = [
26
- 'import { ignores, languageOptions } from "./constants.js";',
27
- ...imports,
28
- ].toSorted((a, b) => {
29
- return (a ?? "").localeCompare(b ?? "");
30
- });
31
-
32
- for (const item of importList) {
33
- configFile += `${item}\n`;
34
- }
35
-
36
- const configs = await Promise.all(
37
- listConfigs.map(async (list) => {
38
- return createConfig(list.name, list.options);
39
- }),
40
- );
41
-
42
- configFile += `\nexport default tseslint.config(
43
- ${configs.join("\n")}
44
- );\n`;
45
-
46
- writeFileSync(
47
- join(import.meta.dirname, `../${fileName}`),
48
- configFile,
49
- "utf8",
50
- );
51
- };
@@ -1,63 +0,0 @@
1
- import { getLatestReact } from "./get-react-version.ts";
2
- import {
3
- getList,
4
- getListJson,
5
- getListPlugins,
6
- getTypeFiles,
7
- getTypeLanguage,
8
- } from "./list-utils.ts";
9
-
10
- export type ConfigOptions = {
11
- extraImports?: string[];
12
- includeIgnores?: boolean;
13
- includeLanguageOptions?: boolean;
14
- includeReactVersion?: boolean;
15
- };
16
-
17
- export const createConfig = async (
18
- type: string,
19
- options: ConfigOptions = {},
20
- ) => {
21
- let config = "";
22
- let settings;
23
-
24
- if (options.includeReactVersion) {
25
- const react = await getLatestReact();
26
- settings = JSON.stringify({
27
- react: { version: react.version },
28
- }).slice(1, -1);
29
- }
30
-
31
- const list = getList(type);
32
- const ruleJson = getListJson(list);
33
-
34
- let optionals = "";
35
-
36
- if (options.includeIgnores) {
37
- optionals += "\nignores,";
38
- }
39
-
40
- if (options.includeLanguageOptions) {
41
- optionals += "\nlanguageOptions,";
42
- }
43
-
44
- if (options.includeReactVersion && settings) {
45
- optionals += `\nsettings: {
46
- ${settings}
47
- },`;
48
- }
49
-
50
- const language = getTypeLanguage(type);
51
-
52
- config += `{
53
- files: ["${getTypeFiles(type)}"],${optionals}${language ? `language: "${language}",` : ""}
54
- plugins: {
55
- ${getListPlugins(list)}
56
- },
57
- rules: {
58
- ${ruleJson}
59
- },
60
- },`;
61
-
62
- return config;
63
- };
@@ -1,4 +0,0 @@
1
- export async function getLatestReact() {
2
- const response = await fetch("https://registry.npmjs.org/react/latest");
3
- return response.json() as Promise<{ version: string }>;
4
- }
@@ -1,102 +0,0 @@
1
- import { ruleList } from "./rule-list.ts";
2
-
3
- export const getList = (type: string) => {
4
- return ruleList
5
- .filter((list) => {
6
- return list.type === type;
7
- })
8
- .sort((a, b) => {
9
- return (a.order ?? 0) - (b.order ?? 0);
10
- });
11
- };
12
-
13
- export const getTypeImportStrings = (type: string) => {
14
- return ruleList
15
- .filter((list) => {
16
- return list.type === type;
17
- })
18
- .map((item) => {
19
- return item.importString;
20
- })
21
- .filter(Boolean);
22
- };
23
-
24
- export const getListJson = (list: typeof ruleList) => {
25
- return list
26
- .map((list) => {
27
- return JSON.stringify(list.list).slice(1, -1);
28
- })
29
- .join(",");
30
- };
31
-
32
- export const getTypeLanguage = (type: string) => {
33
- switch (type) {
34
- case "json": {
35
- return "json/json";
36
- }
37
-
38
- case "jsonc": {
39
- return "json/jsonc";
40
- }
41
-
42
- case "json5": {
43
- return "json/json5";
44
- }
45
-
46
- default: {
47
- return;
48
- }
49
- }
50
- };
51
-
52
- export const getTypeFiles = (type: string) => {
53
- switch (type) {
54
- case "core": {
55
- return ["**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts}"];
56
- }
57
-
58
- case "markdown": {
59
- return ["**/*.md"];
60
- }
61
-
62
- case "json": {
63
- return ["**/*.json"];
64
- }
65
-
66
- case "jsonc": {
67
- return ["**/*.jsonc"];
68
- }
69
-
70
- case "json5": {
71
- return ["**/*.json5"];
72
- }
73
-
74
- case "react": {
75
- return ["**/*.{jsx,tsx}"];
76
- }
77
-
78
- case "astro": {
79
- return ["**/*.{astro}"];
80
- }
81
-
82
- case "solid": {
83
- return ["**/*.{jsx,tsx}"];
84
- }
85
-
86
- default: {
87
- return [];
88
- }
89
- }
90
- };
91
-
92
- export const getListPlugins = (list: typeof ruleList) => {
93
- let pluginString = "";
94
-
95
- for (const item of list) {
96
- if (item.pluginName && item.pluginValue) {
97
- pluginString += `"${item.pluginName}": ${item.pluginValue},`;
98
- }
99
- }
100
-
101
- return pluginString;
102
- };