ultracite 6.5.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/config/biome/angular/biome.jsonc +9 -0
  3. package/config/{astro → biome/astro}/biome.jsonc +1 -1
  4. package/config/{core → biome/core}/biome.jsonc +45 -44
  5. package/config/{next → biome/next}/biome.jsonc +1 -1
  6. package/config/{qwik → biome/qwik}/biome.jsonc +1 -1
  7. package/config/{react → biome/react}/biome.jsonc +1 -1
  8. package/config/{remix → biome/remix}/biome.jsonc +1 -1
  9. package/config/{solid → biome/solid}/biome.jsonc +1 -1
  10. package/config/{svelte → biome/svelte}/biome.jsonc +1 -1
  11. package/config/{vue → biome/vue}/biome.jsonc +1 -1
  12. package/config/eslint/angular/eslint.config.mjs +18 -0
  13. package/config/eslint/angular/rules/angular.mjs +17 -0
  14. package/config/eslint/astro/eslint.config.mjs +18 -0
  15. package/config/eslint/astro/rules/astro.mjs +17 -0
  16. package/config/eslint/core/eslint.config.mjs +168 -0
  17. package/config/eslint/core/rules/compat.mjs +5 -0
  18. package/config/eslint/core/rules/cypress.mjs +17 -0
  19. package/config/eslint/core/rules/eslint-typescript.mjs +43 -0
  20. package/config/eslint/core/rules/eslint.mjs +30 -0
  21. package/config/eslint/core/rules/github.mjs +19 -0
  22. package/config/eslint/core/rules/import.mjs +44 -0
  23. package/config/eslint/core/rules/jest.mjs +17 -0
  24. package/config/eslint/core/rules/n.mjs +24 -0
  25. package/config/eslint/core/rules/prettier.mjs +5 -0
  26. package/config/eslint/core/rules/promise.mjs +20 -0
  27. package/config/eslint/core/rules/sonarjs.mjs +19 -0
  28. package/config/eslint/core/rules/storybook.mjs +17 -0
  29. package/config/eslint/core/rules/tailwindcss.mjs +22 -0
  30. package/config/eslint/core/rules/typescript.mjs +62 -0
  31. package/config/eslint/core/rules/unicorn.mjs +34 -0
  32. package/config/eslint/core/rules/unused-imports.mjs +17 -0
  33. package/config/eslint/next/eslint.config.mjs +18 -0
  34. package/config/eslint/next/rules/next.mjs +17 -0
  35. package/config/eslint/qwik/eslint.config.mjs +18 -0
  36. package/config/eslint/qwik/rules/qwik.mjs +17 -0
  37. package/config/eslint/react/eslint.config.mjs +43 -0
  38. package/config/eslint/react/rules/jsx-a11y.mjs +27 -0
  39. package/config/eslint/react/rules/query.mjs +15 -0
  40. package/config/eslint/react/rules/react-hooks.mjs +17 -0
  41. package/config/eslint/react/rules/react.mjs +46 -0
  42. package/config/eslint/remix/eslint.config.mjs +18 -0
  43. package/config/eslint/remix/rules/remix.mjs +17 -0
  44. package/config/eslint/solid/eslint.config.mjs +18 -0
  45. package/config/eslint/solid/rules/solid.mjs +17 -0
  46. package/config/eslint/svelte/eslint.config.mjs +18 -0
  47. package/config/eslint/svelte/rules/svelte.mjs +17 -0
  48. package/config/eslint/vue/eslint.config.mjs +18 -0
  49. package/config/eslint/vue/rules/vue.mjs +17 -0
  50. package/config/oxlint/angular/.oxlintrc.json +4 -0
  51. package/config/oxlint/astro/.oxlintrc.json +4 -0
  52. package/config/oxlint/core/.oxlintrc.json +92 -0
  53. package/config/oxlint/next/.oxlintrc.json +13 -0
  54. package/config/oxlint/qwik/.oxlintrc.json +4 -0
  55. package/config/oxlint/react/.oxlintrc.json +18 -0
  56. package/config/oxlint/remix/.oxlintrc.json +4 -0
  57. package/config/oxlint/solid/.oxlintrc.json +4 -0
  58. package/config/oxlint/svelte/.oxlintrc.json +4 -0
  59. package/config/oxlint/vue/.oxlintrc.json +5 -0
  60. package/config/prettier/prettier.config.mjs +14 -0
  61. package/config/stylelint/stylelint.config.mjs +38 -0
  62. package/dist/index.d.ts +7 -16
  63. package/dist/index.js +43 -174
  64. package/package.json +51 -10
  65. package/config/angular/biome.jsonc +0 -9
@@ -0,0 +1,24 @@
1
+ import plugin from "eslint-plugin-n";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`n/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "n/no-missing-import": "off",
15
+ "n/no-unsupported-features/es-builtins": "off",
16
+ "n/no-unsupported-features/es-syntax": "off",
17
+ "n/no-unsupported-features/node-builtins": "off",
18
+ "n/file-extension-in-import": "off",
19
+ "n/no-process-env": "off",
20
+ };
21
+
22
+ const config = Object.assign(baseRules, overrideRules);
23
+
24
+ export default config;
@@ -0,0 +1,5 @@
1
+ const config = {
2
+ "prettier/prettier": "error",
3
+ };
4
+
5
+ export default config;
@@ -0,0 +1,20 @@
1
+ import plugin from "eslint-plugin-promise";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`promise/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "promise/catch-or-return": ["error", { allowFinally: true }],
15
+ "promise/no-native": "off",
16
+ };
17
+
18
+ const config = Object.assign(baseRules, overrideRules);
19
+
20
+ export default config;
@@ -0,0 +1,19 @@
1
+ import plugin from "eslint-plugin-sonarjs";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`sonarjs/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "sonarjs/elseif-without-else": "off",
15
+ };
16
+
17
+ const config = Object.assign(baseRules, overrideRules);
18
+
19
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-storybook";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`storybook/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,22 @@
1
+ import plugin from "eslint-plugin-tailwindcss";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`tailwindcss/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "tailwindcss/no-arbitrary-value": "off",
15
+
16
+ // This is handled by prettier
17
+ "tailwindcss/classnames-order": "off",
18
+ };
19
+
20
+ const config = Object.assign(baseRules, overrideRules);
21
+
22
+ export default config;
@@ -0,0 +1,62 @@
1
+ import typescript from "@typescript-eslint/eslint-plugin";
2
+
3
+ const { rules } = typescript;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`@typescript-eslint/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "@typescript-eslint/consistent-type-definitions": ["error", "type"],
15
+ "@typescript-eslint/explicit-function-return-type": "off",
16
+ "@typescript-eslint/naming-convention": [
17
+ "error",
18
+ {
19
+ selector: "default",
20
+ format: ["camelCase", "PascalCase", "snake_case"],
21
+ },
22
+ {
23
+ selector: "objectLiteralProperty",
24
+ format: null,
25
+ modifiers: ["requiresQuotes"],
26
+ },
27
+ ],
28
+ "@typescript-eslint/no-confusing-void-expression": "off",
29
+ "@typescript-eslint/no-misused-promises": "off",
30
+ "@typescript-eslint/no-type-alias": "off",
31
+ "@typescript-eslint/prefer-readonly": "off",
32
+ "@typescript-eslint/prefer-readonly-parameter-types": "off",
33
+ "@typescript-eslint/sort-type-union-intersection-members": "off",
34
+ "@typescript-eslint/strict-boolean-expressions": "off",
35
+ "@typescript-eslint/no-magic-numbers": "off",
36
+
37
+ // Disabled for Prettier
38
+ "@typescript-eslint/block-spacing": "off",
39
+ "@typescript-eslint/brace-style": "off",
40
+ "@typescript-eslint/comma-dangle": "off",
41
+ "@typescript-eslint/comma-spacing": "off",
42
+ "@typescript-eslint/func-call-spacing": "off",
43
+ "@typescript-eslint/indent": "off",
44
+ "@typescript-eslint/key-spacing": "off",
45
+ "@typescript-eslint/keyword-spacing": "off",
46
+ "@typescript-eslint/lines-around-comment": "off",
47
+ "@typescript-eslint/lines-between-class-members": "off",
48
+ "@typescript-eslint/member-delimiter-style": "off",
49
+ "@typescript-eslint/no-extra-parens": "off",
50
+ "@typescript-eslint/object-curly-spacing": "off",
51
+ "@typescript-eslint/padding-line-between-statements": "off",
52
+ "@typescript-eslint/quotes": "off",
53
+ "@typescript-eslint/semi": "off",
54
+ "@typescript-eslint/space-before-blocks": "off",
55
+ "@typescript-eslint/space-before-function-paren": "off",
56
+ "@typescript-eslint/space-infix-ops": "off",
57
+ "@typescript-eslint/type-annotation-spacing": "off",
58
+ };
59
+
60
+ const config = Object.assign(baseRules, overrideRules);
61
+
62
+ export default config;
@@ -0,0 +1,34 @@
1
+ import plugin from "eslint-plugin-unicorn";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`unicorn/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "unicorn/no-keyword-prefix": "off",
15
+ "unicorn/no-null": "off",
16
+ "unicorn/no-array-callback-reference": "off",
17
+ "unicorn/prefer-dom-node-dataset": "off",
18
+ "unicorn/prevent-abbreviations": [
19
+ "error",
20
+ {
21
+ allowList: {
22
+ getInitialProps: true,
23
+ getServerSideProps: true,
24
+ getStaticPaths: true,
25
+ getStaticProps: true,
26
+ generateStaticParams: true,
27
+ },
28
+ },
29
+ ],
30
+ };
31
+
32
+ const config = Object.assign(baseRules, overrideRules);
33
+
34
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-unused-imports";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`unused-imports/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import next from "@next/eslint-plugin-next";
4
+ import nextRules from "./rules/next.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"],
9
+ plugins: {
10
+ "@next/next": next,
11
+ },
12
+ rules: {
13
+ ...nextRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "@next/eslint-plugin-next";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`@next/next/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import qwik from "eslint-plugin-qwik";
4
+ import qwikRules from "./rules/qwik.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.jsx", "**/*.tsx"],
9
+ plugins: {
10
+ qwik,
11
+ },
12
+ rules: {
13
+ ...qwikRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-qwik";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`qwik/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,43 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ // biome-ignore lint/performance/noNamespaceImport: Required for ESLint plugin compatibility
4
+ import * as query from "@tanstack/eslint-plugin-query";
5
+ import jsxA11y from "eslint-plugin-jsx-a11y";
6
+ import react from "eslint-plugin-react";
7
+ import reactHooks from "eslint-plugin-react-hooks";
8
+ import jsxA11yRules from "./rules/jsx-a11y.mjs";
9
+ import queryRules from "./rules/query.mjs";
10
+ import reactRules from "./rules/react.mjs";
11
+ import reactHooksRules from "./rules/react-hooks.mjs";
12
+
13
+ const config = [
14
+ {
15
+ files: ["**/*.jsx", "**/*.tsx"],
16
+ languageOptions: {
17
+ parserOptions: {
18
+ ecmaFeatures: {
19
+ jsx: true,
20
+ },
21
+ },
22
+ },
23
+ plugins: {
24
+ react,
25
+ "react-hooks": reactHooks,
26
+ "jsx-a11y": jsxA11y,
27
+ "@tanstack/eslint-plugin-query": query,
28
+ },
29
+ rules: {
30
+ ...reactRules,
31
+ ...reactHooksRules,
32
+ ...jsxA11yRules,
33
+ ...queryRules,
34
+ },
35
+ settings: {
36
+ react: {
37
+ version: "detect",
38
+ },
39
+ },
40
+ },
41
+ ];
42
+
43
+ export default config;
@@ -0,0 +1,27 @@
1
+ import plugin from "eslint-plugin-jsx-a11y";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`jsx-a11y/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "jsx-a11y/no-autofocus": "off",
15
+ "jsx-a11y/label-has-associated-control": [
16
+ "error",
17
+ {
18
+ labelComponents: ["Label"],
19
+ controlComponents: ["Input", "Select", "Textarea", "Checkbox", "Radio"],
20
+ depth: 3,
21
+ },
22
+ ],
23
+ };
24
+
25
+ const config = Object.assign(baseRules, overrideRules);
26
+
27
+ export default config;
@@ -0,0 +1,15 @@
1
+ import { rules } from "@tanstack/eslint-plugin-query";
2
+
3
+ const availableKeys = Object.keys(rules).filter(
4
+ (key) => !rules[key].meta.deprecated
5
+ );
6
+
7
+ const baseRules = Object.fromEntries(
8
+ availableKeys.map((key) => [`@tanstack/eslint-plugin-query/${key}`, "error"])
9
+ );
10
+
11
+ const overrideRules = {};
12
+
13
+ const config = Object.assign(baseRules, overrideRules);
14
+
15
+ export default config;
@@ -0,0 +1,17 @@
1
+ import { rules } from "eslint-plugin-react-hooks";
2
+
3
+ const availableKeys = Object.keys(rules).filter(
4
+ (key) => !rules[key].meta.deprecated
5
+ );
6
+
7
+ const baseRules = Object.fromEntries(
8
+ availableKeys.map((key) => [`react-hooks/${key}`, "error"])
9
+ );
10
+
11
+ const overrideRules = {
12
+ "react-hooks/exhaustive-deps": "error",
13
+ };
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,46 @@
1
+ import plugin from "eslint-plugin-react";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`react/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {
14
+ "react/forbid-component-props": "off",
15
+ "react/function-component-definition": [
16
+ "error",
17
+ {
18
+ namedComponents: "arrow-function",
19
+ },
20
+ ],
21
+ "react/no-array-index-key": "off",
22
+ "react/no-arrow-function-lifecycle": "off",
23
+ "react/no-invalid-html-attribute": "off",
24
+ "react/no-multi-comp": "off",
25
+ "react/no-unused-class-component-methods": "off",
26
+ "react/react-in-jsx-scope": "off",
27
+ "react/require-default-props": "off",
28
+ "react/jsx-filename-extension": [
29
+ "error",
30
+ {
31
+ extensions: [".tsx"],
32
+ },
33
+ ],
34
+ "react/jsx-max-depth": "off",
35
+ "react/jsx-max-props-per-line": "off",
36
+ "react/jsx-newline": "off",
37
+ "react/jsx-no-bind": "off",
38
+ "react/jsx-no-literals": "off",
39
+ "react/jsx-one-expression-per-line": "off",
40
+ "react/jsx-props-no-spreading": "off",
41
+ "react/jsx-sort-props": "off",
42
+ };
43
+
44
+ const config = Object.assign(baseRules, overrideRules);
45
+
46
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import remix from "eslint-plugin-remix";
4
+ import remixRules from "./rules/remix.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.jsx", "**/*.tsx"],
9
+ plugins: {
10
+ remix,
11
+ },
12
+ rules: {
13
+ ...remixRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-remix";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`remix/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import solid from "eslint-plugin-solid";
4
+ import solidRules from "./rules/solid.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.jsx", "**/*.tsx"],
9
+ plugins: {
10
+ solid,
11
+ },
12
+ rules: {
13
+ ...solidRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-solid";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`solid/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import svelte from "eslint-plugin-svelte";
4
+ import svelteRules from "./rules/svelte.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.svelte"],
9
+ plugins: {
10
+ svelte,
11
+ },
12
+ rules: {
13
+ ...svelteRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-svelte";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`svelte/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
2
+
3
+ import vue from "eslint-plugin-vue";
4
+ import vueRules from "./rules/vue.mjs";
5
+
6
+ const config = [
7
+ {
8
+ files: ["**/*.vue"],
9
+ plugins: {
10
+ vue,
11
+ },
12
+ rules: {
13
+ ...vueRules,
14
+ },
15
+ },
16
+ ];
17
+
18
+ export default config;
@@ -0,0 +1,17 @@
1
+ import plugin from "eslint-plugin-vue";
2
+
3
+ const { rules } = plugin;
4
+
5
+ const availableKeys = Object.keys(rules).filter(
6
+ (key) => !rules[key].meta.deprecated
7
+ );
8
+
9
+ const baseRules = Object.fromEntries(
10
+ availableKeys.map((key) => [`vue/${key}`, "error"])
11
+ );
12
+
13
+ const overrideRules = {};
14
+
15
+ const config = Object.assign(baseRules, overrideRules);
16
+
17
+ export default config;
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "../../../node_modules/oxlint/configuration_schema.json",
3
+ "rules": {}
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "../../../node_modules/oxlint/configuration_schema.json",
3
+ "rules": {}
4
+ }