@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.
- package/{dist/README.md → README.md} +3 -3
- package/eslint.config.js +2 -28
- package/eslint.config.js.map +1 -0
- package/package.json +10 -10
- package/build.ts +0 -48
- package/dist/eslint.config.js +0 -2
- package/dist/eslint.config.js.map +0 -1
- package/dist/package.json +0 -67
- package/src/README.md +0 -132
- package/src/build/create-config-file.ts +0 -70
- package/src/build/create-config.ts +0 -98
- package/src/build/get-react-version.ts +0 -19
- package/src/build/list-utilities.ts +0 -137
- package/src/build/rule-list.ts +0 -283
- package/src/build/update-readme.ts +0 -259
- package/src/build/update-rules.ts +0 -173
- package/src/config.angular.js +0 -122
- package/src/config.astro.js +0 -69
- package/src/config.html.js +0 -73
- package/src/config.react.js +0 -111
- package/src/config.solid.js +0 -34
- package/src/config.storybook.js +0 -31
- package/src/config.tailwind.js +0 -28
- package/src/constants.js +0 -16
- package/src/eslint.config.js +0 -1075
- package/src/eslint.html.js +0 -73
- package/src/setup/a11y.ts +0 -19
- package/src/setup/angular.ts +0 -36
- package/src/setup/astro.ts +0 -14
- package/src/setup/compat.ts +0 -13
- package/src/setup/cspell.ts +0 -100
- package/src/setup/css.ts +0 -15
- package/src/setup/eslint.ts +0 -250
- package/src/setup/gen-rules.ts +0 -85
- package/src/setup/html.ts +0 -17
- package/src/setup/json.ts +0 -17
- package/src/setup/lodash.ts +0 -59
- package/src/setup/markdown.ts +0 -16
- package/src/setup/perfectionist.ts +0 -49
- package/src/setup/react.ts +0 -37
- package/src/setup/solid.ts +0 -21
- package/src/setup/sonar.ts +0 -40
- package/src/setup/storybook.ts +0 -10
- package/src/setup/tailwind.ts +0 -12
- package/src/setup/tanstack-query.ts +0 -8
- package/src/setup/tanstack-router.ts +0 -8
- package/src/setup/typescript-eslint.ts +0 -114
- package/src/setup/unicorn.ts +0 -38
- package/src/tsconfig.json +0 -3
- package/tsconfig.json +0 -3
- /package/{dist/chunk-WK3YS7OG.js → chunk-WK3YS7OG.js} +0 -0
- /package/{dist/chunk-WK3YS7OG.js.map → chunk-WK3YS7OG.js.map} +0 -0
- /package/{dist/config.angular.d.ts → config.angular.d.ts} +0 -0
- /package/{dist/config.angular.js → config.angular.js} +0 -0
- /package/{dist/config.angular.js.map → config.angular.js.map} +0 -0
- /package/{dist/config.astro.d.ts → config.astro.d.ts} +0 -0
- /package/{dist/config.astro.js → config.astro.js} +0 -0
- /package/{dist/config.astro.js.map → config.astro.js.map} +0 -0
- /package/{dist/config.html.d.ts → config.html.d.ts} +0 -0
- /package/{dist/config.html.js → config.html.js} +0 -0
- /package/{dist/config.html.js.map → config.html.js.map} +0 -0
- /package/{dist/config.react.d.ts → config.react.d.ts} +0 -0
- /package/{dist/config.react.js → config.react.js} +0 -0
- /package/{dist/config.react.js.map → config.react.js.map} +0 -0
- /package/{dist/config.solid.d.ts → config.solid.d.ts} +0 -0
- /package/{dist/config.solid.js → config.solid.js} +0 -0
- /package/{dist/config.solid.js.map → config.solid.js.map} +0 -0
- /package/{dist/config.storybook.d.ts → config.storybook.d.ts} +0 -0
- /package/{dist/config.storybook.js → config.storybook.js} +0 -0
- /package/{dist/config.storybook.js.map → config.storybook.js.map} +0 -0
- /package/{dist/config.tailwind.d.ts → config.tailwind.d.ts} +0 -0
- /package/{dist/config.tailwind.js → config.tailwind.js} +0 -0
- /package/{dist/config.tailwind.js.map → config.tailwind.js.map} +0 -0
- /package/{dist/constants.js → constants.js} +0 -0
- /package/{dist/constants.js.map → constants.js.map} +0 -0
- /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
|
-
};
|