@apst/oxlint 0.3.0 → 0.4.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 (87) hide show
  1. package/dist/constants/default.d.ts +1 -1
  2. package/dist/constants/ignore-patterns.d.ts +16 -2
  3. package/dist/constants/ignore-patterns.js +58 -16
  4. package/dist/constants/ignore-patterns.js.map +1 -1
  5. package/dist/constants/ignore-patterns.mjs +49 -17
  6. package/dist/constants/ignore-patterns.mjs.map +1 -1
  7. package/dist/functions/define.js +2 -2
  8. package/dist/functions/define.js.map +1 -1
  9. package/dist/functions/define.mjs +4 -4
  10. package/dist/functions/define.mjs.map +1 -1
  11. package/dist/functions/merge.js +20 -4
  12. package/dist/functions/merge.js.map +1 -1
  13. package/dist/functions/merge.mjs +19 -4
  14. package/dist/functions/merge.mjs.map +1 -1
  15. package/dist/presets/common/index.d.ts +2 -2
  16. package/dist/presets/common/index.js +1 -0
  17. package/dist/presets/common/index.mjs +2 -2
  18. package/dist/presets/common/preset/index.js +3 -4
  19. package/dist/presets/common/preset/index.js.map +1 -1
  20. package/dist/presets/common/preset/index.mjs +3 -4
  21. package/dist/presets/common/preset/index.mjs.map +1 -1
  22. package/dist/presets/common/rules/oxc.d.ts +6 -1
  23. package/dist/presets/common/rules/oxc.js +1 -0
  24. package/dist/presets/common/rules/oxc.js.map +1 -1
  25. package/dist/presets/common/rules/oxc.mjs +1 -1
  26. package/dist/presets/common/rules/oxc.mjs.map +1 -1
  27. package/dist/presets/common/rules/unicorn.d.ts +0 -2
  28. package/dist/presets/common/rules/unicorn.js +1 -2
  29. package/dist/presets/common/rules/unicorn.js.map +1 -1
  30. package/dist/presets/common/rules/unicorn.mjs +1 -2
  31. package/dist/presets/common/rules/unicorn.mjs.map +1 -1
  32. package/dist/presets/jsx/preset/index.js +3 -4
  33. package/dist/presets/jsx/preset/index.js.map +1 -1
  34. package/dist/presets/jsx/preset/index.mjs +3 -4
  35. package/dist/presets/jsx/preset/index.mjs.map +1 -1
  36. package/dist/presets/jsx/rules/jsx-a11y.d.ts +2 -2
  37. package/dist/presets/next/index.d.ts +2 -1
  38. package/dist/presets/next/index.js +3 -0
  39. package/dist/presets/next/index.mjs +2 -1
  40. package/dist/presets/next/preset/index.js +3 -4
  41. package/dist/presets/next/preset/index.js.map +1 -1
  42. package/dist/presets/next/preset/index.mjs +3 -4
  43. package/dist/presets/next/preset/index.mjs.map +1 -1
  44. package/dist/presets/next/rules/nextjs.d.ts +48 -0
  45. package/dist/presets/next/rules/nextjs.js +3 -1
  46. package/dist/presets/next/rules/nextjs.js.map +1 -1
  47. package/dist/presets/next/rules/nextjs.mjs +3 -2
  48. package/dist/presets/next/rules/nextjs.mjs.map +1 -1
  49. package/dist/presets/node/preset/index.js +3 -4
  50. package/dist/presets/node/preset/index.js.map +1 -1
  51. package/dist/presets/node/preset/index.mjs +3 -4
  52. package/dist/presets/node/preset/index.mjs.map +1 -1
  53. package/dist/presets/react/index.d.ts +2 -2
  54. package/dist/presets/react/index.js +1 -0
  55. package/dist/presets/react/index.mjs +2 -2
  56. package/dist/presets/react/preset/index.js +3 -4
  57. package/dist/presets/react/preset/index.js.map +1 -1
  58. package/dist/presets/react/preset/index.mjs +3 -4
  59. package/dist/presets/react/preset/index.mjs.map +1 -1
  60. package/dist/presets/react/rules/react.d.ts +15 -1
  61. package/dist/presets/react/rules/react.js +8 -0
  62. package/dist/presets/react/rules/react.js.map +1 -1
  63. package/dist/presets/react/rules/react.mjs +8 -1
  64. package/dist/presets/react/rules/react.mjs.map +1 -1
  65. package/dist/presets/vitest/preset/index.js +3 -4
  66. package/dist/presets/vitest/preset/index.js.map +1 -1
  67. package/dist/presets/vitest/preset/index.mjs +3 -4
  68. package/dist/presets/vitest/preset/index.mjs.map +1 -1
  69. package/dist/presets/vue/index.d.ts +4 -0
  70. package/dist/presets/vue/index.js +12 -0
  71. package/dist/presets/vue/index.mjs +5 -0
  72. package/dist/presets/vue/plugin/index.d.ts +3 -0
  73. package/dist/presets/vue/plugin/index.js +5 -0
  74. package/dist/presets/vue/plugin/index.js.map +1 -0
  75. package/dist/presets/vue/plugin/index.mjs +4 -0
  76. package/dist/presets/vue/plugin/index.mjs.map +1 -0
  77. package/dist/presets/vue/preset/index.d.ts +4 -0
  78. package/dist/presets/vue/preset/index.js +14 -0
  79. package/dist/presets/vue/preset/index.js.map +1 -0
  80. package/dist/presets/vue/preset/index.mjs +14 -0
  81. package/dist/presets/vue/preset/index.mjs.map +1 -0
  82. package/dist/presets/vue/rules/vue.d.ts +47 -0
  83. package/dist/presets/vue/rules/vue.js +32 -0
  84. package/dist/presets/vue/rules/vue.js.map +1 -0
  85. package/dist/presets/vue/rules/vue.mjs +27 -0
  86. package/dist/presets/vue/rules/vue.mjs.map +1 -0
  87. package/package.json +3 -3
@@ -16,6 +16,7 @@ const RULES_REACT_CORRECTNESS = {
16
16
  "react/no-this-in-sfc": "error",
17
17
  "react/void-dom-elements-no-children": "error"
18
18
  };
19
+ const RULES_REACT_NURSERY = { "react/react-compiler": "error" };
19
20
  const RULES_REACT_PEDANTIC = {
20
21
  "react/checked-requires-onchange-or-readonly": ["error", {
21
22
  ignoreExclusiveCheckedAttribute: false,
@@ -42,6 +43,11 @@ const RULES_REACT_RESTRICTION = {
42
43
  reset: true,
43
44
  submit: true
44
45
  }],
46
+ "react/jsx-no-literals": ["error", {
47
+ ignoreProps: false,
48
+ noAttributeStrings: true,
49
+ noStrings: false
50
+ }],
45
51
  "react/no-react-children": "error",
46
52
  "react/prefer-function-component": ["error", {
47
53
  allowErrorBoundary: true,
@@ -70,6 +76,7 @@ const RULES_REACT_SUSPICIOUS = {
70
76
  };
71
77
  const RULES_REACT = {
72
78
  ...RULES_REACT_CORRECTNESS,
79
+ ...RULES_REACT_NURSERY,
73
80
  ...RULES_REACT_PEDANTIC,
74
81
  ...RULES_REACT_PERF,
75
82
  ...RULES_REACT_RESTRICTION,
@@ -77,5 +84,5 @@ const RULES_REACT = {
77
84
  ...RULES_REACT_SUSPICIOUS
78
85
  };
79
86
 
80
- export { RULES_REACT, RULES_REACT_CORRECTNESS, RULES_REACT_PEDANTIC, RULES_REACT_PERF, RULES_REACT_RESTRICTION, RULES_REACT_STYLE, RULES_REACT_SUSPICIOUS };
87
+ export { RULES_REACT, RULES_REACT_CORRECTNESS, RULES_REACT_NURSERY, RULES_REACT_PEDANTIC, RULES_REACT_PERF, RULES_REACT_RESTRICTION, RULES_REACT_STYLE, RULES_REACT_SUSPICIOUS };
81
88
  //# sourceMappingURL=react.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","names":[],"sources":["../../../../src/presets/react/rules/react.ts"],"sourcesContent":["/**\n * No lint rules have been configured for class components.\n */\n\nimport type { LintRules } from \"#/@types/oxlint\";\n\nconst RULES_REACT_CORRECTNESS = {\n \"react/exhaustive-deps\": \"error\",\n \"react/forward-ref-uses-ref\": \"error\",\n \"react/jsx-key\": [\n \"error\",\n {\n checkFragmentShorthand: true,\n checkKeyMustBeforeSpread: false,\n warnOnDuplicates: true,\n },\n ],\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/jsx-props-no-spread-multi\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-render-return-value\": \"error\",\n \"react/no-string-refs\": [\n \"error\",\n {\n noTemplateLiterals: true,\n },\n ],\n \"react/no-this-in-sfc\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_PEDANTIC = {\n \"react/checked-requires-onchange-or-readonly\": [\n \"error\",\n {\n ignoreExclusiveCheckedAttribute: false,\n ignoreMissingProperties: false,\n },\n ],\n \"react/jsx-no-target-blank\": [\n \"error\",\n {\n allowReferrer: false,\n enforceDynamicLinks: \"always\",\n forms: true,\n links: true,\n warnOnSpreadAttributes: false,\n },\n ],\n \"react/jsx-no-useless-fragment\": [\n \"error\",\n {\n allowExpressions: true,\n },\n ],\n \"react/no-unescaped-entities\": \"error\",\n \"react/rules-of-hooks\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_PERF = {\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/no-array-index-key\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_RESTRICTION = {\n \"react/button-has-type\": [\n \"error\",\n {\n button: true,\n reset: true,\n submit: true,\n },\n ],\n \"react/no-react-children\": \"error\",\n \"react/prefer-function-component\": [\n \"error\",\n {\n allowErrorBoundary: true,\n allowJsxUtilityClass: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT_STYLE = {\n \"react/jsx-boolean-value\": [\n \"error\",\n \"never\",\n ],\n \"react/jsx-curly-brace-presence\": [\n \"error\",\n \"always\",\n ],\n \"react/jsx-fragments\": [\n \"error\",\n \"syntax\",\n ],\n \"react/jsx-pascal-case\": [\n \"error\",\n {\n allowAllCaps: false,\n allowLeadingUnderscore: false,\n allowNamespace: true,\n },\n ],\n \"react/self-closing-comp\": [\n \"error\",\n {\n component: true,\n html: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT_SUSPICIOUS = {\n \"react/iframe-missing-sandbox\": \"error\",\n \"react/jsx-no-comment-textnodes\": \"error\",\n \"react/no-namespace\": \"error\",\n \"react/no-unstable-nested-components\": [\n \"error\",\n {\n allowAsProps: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT = {\n ...RULES_REACT_CORRECTNESS,\n ...RULES_REACT_PEDANTIC,\n ...RULES_REACT_PERF,\n ...RULES_REACT_RESTRICTION,\n ...RULES_REACT_STYLE,\n ...RULES_REACT_SUSPICIOUS,\n} as const satisfies LintRules;\n\nexport {\n RULES_REACT,\n RULES_REACT_CORRECTNESS,\n RULES_REACT_PEDANTIC,\n RULES_REACT_PERF,\n RULES_REACT_RESTRICTION,\n RULES_REACT_STYLE,\n RULES_REACT_SUSPICIOUS,\n};\n"],"mappings":"AAMA,MAAM,0BAA0B;CAC5B,yBAAyB;CACzB,8BAA8B;CAC9B,iBAAiB,CACb,SACA;EACI,wBAAwB;EACxB,0BAA0B;EAC1B,kBAAkB;CACtB,CACJ;CACA,gCAAgC;CAChC,sBAAsB;CACtB,mCAAmC;CACnC,0BAA0B;CAC1B,iCAAiC;CACjC,gCAAgC;CAChC,wBAAwB,CACpB,SACA,EACI,oBAAoB,KACxB,CACJ;CACA,wBAAwB;CACxB,uCAAuC;AAC3C;AAEA,MAAM,uBAAuB;CACzB,+CAA+C,CAC3C,SACA;EACI,iCAAiC;EACjC,yBAAyB;CAC7B,CACJ;CACA,6BAA6B,CACzB,SACA;EACI,eAAe;EACf,qBAAqB;EACrB,OAAO;EACP,OAAO;EACP,wBAAwB;CAC5B,CACJ;CACA,iCAAiC,CAC7B,SACA,EACI,kBAAkB,KACtB,CACJ;CACA,+BAA+B;CAC/B,wBAAwB;AAC5B;AAEA,MAAM,mBAAmB;CACrB,2CAA2C;CAC3C,4BAA4B;AAChC;AAEA,MAAM,0BAA0B;CAC5B,yBAAyB,CACrB,SACA;EACI,QAAQ;EACR,OAAO;EACP,QAAQ;CACZ,CACJ;CACA,2BAA2B;CAC3B,mCAAmC,CAC/B,SACA;EACI,oBAAoB;EACpB,sBAAsB;CAC1B,CACJ;AACJ;AAEA,MAAM,oBAAoB;CACtB,2BAA2B,CACvB,SACA,OACJ;CACA,kCAAkC,CAC9B,SACA,QACJ;CACA,uBAAuB,CACnB,SACA,QACJ;CACA,yBAAyB,CACrB,SACA;EACI,cAAc;EACd,wBAAwB;EACxB,gBAAgB;CACpB,CACJ;CACA,2BAA2B,CACvB,SACA;EACI,WAAW;EACX,MAAM;CACV,CACJ;AACJ;AAEA,MAAM,yBAAyB;CAC3B,gCAAgC;CAChC,kCAAkC;CAClC,sBAAsB;CACtB,uCAAuC,CACnC,SACA,EACI,cAAc,KAClB,CACJ;AACJ;AAEA,MAAM,cAAc;CAChB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACP"}
1
+ {"version":3,"file":"react.mjs","names":[],"sources":["../../../../src/presets/react/rules/react.ts"],"sourcesContent":["/**\n * No lint rules have been configured for class components.\n */\n\nimport type { LintRules } from \"#/@types/oxlint\";\n\nconst RULES_REACT_CORRECTNESS = {\n \"react/exhaustive-deps\": \"error\",\n \"react/forward-ref-uses-ref\": \"error\",\n \"react/jsx-key\": [\n \"error\",\n {\n checkFragmentShorthand: true,\n checkKeyMustBeforeSpread: false,\n warnOnDuplicates: true,\n },\n ],\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/jsx-props-no-spread-multi\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-render-return-value\": \"error\",\n \"react/no-string-refs\": [\n \"error\",\n {\n noTemplateLiterals: true,\n },\n ],\n \"react/no-this-in-sfc\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_NURSERY = {\n \"react/react-compiler\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_PEDANTIC = {\n \"react/checked-requires-onchange-or-readonly\": [\n \"error\",\n {\n ignoreExclusiveCheckedAttribute: false,\n ignoreMissingProperties: false,\n },\n ],\n \"react/jsx-no-target-blank\": [\n \"error\",\n {\n allowReferrer: false,\n enforceDynamicLinks: \"always\",\n forms: true,\n links: true,\n warnOnSpreadAttributes: false,\n },\n ],\n \"react/jsx-no-useless-fragment\": [\n \"error\",\n {\n allowExpressions: true,\n },\n ],\n \"react/no-unescaped-entities\": \"error\",\n \"react/rules-of-hooks\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_PERF = {\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/no-array-index-key\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_REACT_RESTRICTION = {\n \"react/button-has-type\": [\n \"error\",\n {\n button: true,\n reset: true,\n submit: true,\n },\n ],\n \"react/jsx-no-literals\": [\n \"error\",\n {\n ignoreProps: false,\n noAttributeStrings: true,\n noStrings: false,\n },\n ],\n \"react/no-react-children\": \"error\",\n \"react/prefer-function-component\": [\n \"error\",\n {\n allowErrorBoundary: true,\n allowJsxUtilityClass: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT_STYLE = {\n \"react/jsx-boolean-value\": [\n \"error\",\n \"never\",\n ],\n \"react/jsx-curly-brace-presence\": [\n \"error\",\n \"always\",\n ],\n \"react/jsx-fragments\": [\n \"error\",\n \"syntax\",\n ],\n \"react/jsx-pascal-case\": [\n \"error\",\n {\n allowAllCaps: false,\n allowLeadingUnderscore: false,\n allowNamespace: true,\n },\n ],\n \"react/self-closing-comp\": [\n \"error\",\n {\n component: true,\n html: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT_SUSPICIOUS = {\n \"react/iframe-missing-sandbox\": \"error\",\n \"react/jsx-no-comment-textnodes\": \"error\",\n \"react/no-namespace\": \"error\",\n \"react/no-unstable-nested-components\": [\n \"error\",\n {\n allowAsProps: true,\n },\n ],\n} as const satisfies LintRules;\n\nconst RULES_REACT = {\n ...RULES_REACT_CORRECTNESS,\n ...RULES_REACT_NURSERY,\n ...RULES_REACT_PEDANTIC,\n ...RULES_REACT_PERF,\n ...RULES_REACT_RESTRICTION,\n ...RULES_REACT_STYLE,\n ...RULES_REACT_SUSPICIOUS,\n} as const satisfies LintRules;\n\nexport {\n RULES_REACT,\n RULES_REACT_CORRECTNESS,\n RULES_REACT_NURSERY,\n RULES_REACT_PEDANTIC,\n RULES_REACT_PERF,\n RULES_REACT_RESTRICTION,\n RULES_REACT_STYLE,\n RULES_REACT_SUSPICIOUS,\n};\n"],"mappings":"AAMA,MAAM,0BAA0B;CAC5B,yBAAyB;CACzB,8BAA8B;CAC9B,iBAAiB,CACb,SACA;EACI,wBAAwB;EACxB,0BAA0B;EAC1B,kBAAkB;CACtB,CACJ;CACA,gCAAgC;CAChC,sBAAsB;CACtB,mCAAmC;CACnC,0BAA0B;CAC1B,iCAAiC;CACjC,gCAAgC;CAChC,wBAAwB,CACpB,SACA,EACI,oBAAoB,KACxB,CACJ;CACA,wBAAwB;CACxB,uCAAuC;AAC3C;AAEA,MAAM,sBAAsB,EACxB,wBAAwB,QAC5B;AAEA,MAAM,uBAAuB;CACzB,+CAA+C,CAC3C,SACA;EACI,iCAAiC;EACjC,yBAAyB;CAC7B,CACJ;CACA,6BAA6B,CACzB,SACA;EACI,eAAe;EACf,qBAAqB;EACrB,OAAO;EACP,OAAO;EACP,wBAAwB;CAC5B,CACJ;CACA,iCAAiC,CAC7B,SACA,EACI,kBAAkB,KACtB,CACJ;CACA,+BAA+B;CAC/B,wBAAwB;AAC5B;AAEA,MAAM,mBAAmB;CACrB,2CAA2C;CAC3C,4BAA4B;AAChC;AAEA,MAAM,0BAA0B;CAC5B,yBAAyB,CACrB,SACA;EACI,QAAQ;EACR,OAAO;EACP,QAAQ;CACZ,CACJ;CACA,yBAAyB,CACrB,SACA;EACI,aAAa;EACb,oBAAoB;EACpB,WAAW;CACf,CACJ;CACA,2BAA2B;CAC3B,mCAAmC,CAC/B,SACA;EACI,oBAAoB;EACpB,sBAAsB;CAC1B,CACJ;AACJ;AAEA,MAAM,oBAAoB;CACtB,2BAA2B,CACvB,SACA,OACJ;CACA,kCAAkC,CAC9B,SACA,QACJ;CACA,uBAAuB,CACnB,SACA,QACJ;CACA,yBAAyB,CACrB,SACA;EACI,cAAc;EACd,wBAAwB;EACxB,gBAAgB;CACpB,CACJ;CACA,2BAA2B,CACvB,SACA;EACI,WAAW;EACX,MAAM;CACV,CACJ;AACJ;AAEA,MAAM,yBAAyB;CAC3B,gCAAgC;CAChC,kCAAkC;CAClC,sBAAsB;CACtB,uCAAuC,CACnC,SACA,EACI,cAAc,KAClB,CACJ;AACJ;AAEA,MAAM,cAAc;CAChB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACP"}
@@ -1,13 +1,12 @@
1
1
  const require_index = require('../plugin/index.js');
2
2
  const require_vitest = require('../rules/vitest.js');
3
- let es_toolkit = require("es-toolkit");
4
3
 
5
4
  const vitestPreset = () => {
6
- return ({ config: internalConfig }) => {
7
- return { config: (0, es_toolkit.toMerged)(internalConfig, {
5
+ return () => {
6
+ return { config: {
8
7
  plugins: [...require_index.PLUGIN_VITEST],
9
8
  rules: { ...require_vitest.RULES_VITEST }
10
- }) };
9
+ } };
11
10
  };
12
11
  };
13
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PLUGIN_VITEST","RULES_VITEST"],"sources":["../../../../src/presets/vitest/preset/index.ts"],"sourcesContent":["import type { OxlintConfig } from \"oxlint\";\n\nimport type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { toMerged } from \"es-toolkit\";\n\nimport { PLUGIN_VITEST } from \"#/presets/vitest/plugin\";\nimport { RULES_VITEST } from \"#/presets/vitest/rules/vitest\";\n\nconst vitestPreset = (): Preset => {\n return ({ config: internalConfig }): PresetResult => {\n const config: OxlintConfig = toMerged(internalConfig, {\n plugins: [\n ...PLUGIN_VITEST,\n ],\n rules: {\n ...RULES_VITEST,\n },\n } satisfies OxlintConfig);\n\n return {\n config,\n };\n };\n};\n\nexport { vitestPreset };\n"],"mappings":";;;;AASA,MAAM,qBAA6B;CAC/B,QAAQ,EAAE,QAAQ,qBAAmC;EAUjD,OAAO,EACH,iCAVkC,gBAAgB;GAClD,SAAS,CACL,GAAGA,2BACP;GACA,OAAO,EACH,GAAGC,4BACP;EACJ,CAGS,EACT;CACJ;AACJ"}
1
+ {"version":3,"file":"index.js","names":["PLUGIN_VITEST","RULES_VITEST"],"sources":["../../../../src/presets/vitest/preset/index.ts"],"sourcesContent":["import type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { PLUGIN_VITEST } from \"#/presets/vitest/plugin\";\nimport { RULES_VITEST } from \"#/presets/vitest/rules/vitest\";\n\nconst vitestPreset = (): Preset => {\n return (): PresetResult => {\n return {\n config: {\n plugins: [\n ...PLUGIN_VITEST,\n ],\n rules: {\n ...RULES_VITEST,\n },\n },\n };\n };\n};\n\nexport { vitestPreset };\n"],"mappings":";;;AAKA,MAAM,qBAA6B;CAC/B,aAA2B;EACvB,OAAO,EACH,QAAQ;GACJ,SAAS,CACL,GAAGA,2BACP;GACA,OAAO,EACH,GAAGC,4BACP;EACJ,EACJ;CACJ;AACJ"}
@@ -1,13 +1,12 @@
1
1
  import { PLUGIN_VITEST } from "../plugin/index.mjs";
2
2
  import { RULES_VITEST } from "../rules/vitest.mjs";
3
- import { toMerged } from "es-toolkit";
4
3
 
5
4
  const vitestPreset = () => {
6
- return ({ config: internalConfig }) => {
7
- return { config: toMerged(internalConfig, {
5
+ return () => {
6
+ return { config: {
8
7
  plugins: [...PLUGIN_VITEST],
9
8
  rules: { ...RULES_VITEST }
10
- }) };
9
+ } };
11
10
  };
12
11
  };
13
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/presets/vitest/preset/index.ts"],"sourcesContent":["import type { OxlintConfig } from \"oxlint\";\n\nimport type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { toMerged } from \"es-toolkit\";\n\nimport { PLUGIN_VITEST } from \"#/presets/vitest/plugin\";\nimport { RULES_VITEST } from \"#/presets/vitest/rules/vitest\";\n\nconst vitestPreset = (): Preset => {\n return ({ config: internalConfig }): PresetResult => {\n const config: OxlintConfig = toMerged(internalConfig, {\n plugins: [\n ...PLUGIN_VITEST,\n ],\n rules: {\n ...RULES_VITEST,\n },\n } satisfies OxlintConfig);\n\n return {\n config,\n };\n };\n};\n\nexport { vitestPreset };\n"],"mappings":";;;;AASA,MAAM,qBAA6B;CAC/B,QAAQ,EAAE,QAAQ,qBAAmC;EAUjD,OAAO,EACH,QAVyB,SAAS,gBAAgB;GAClD,SAAS,CACL,GAAG,aACP;GACA,OAAO,EACH,GAAG,aACP;EACJ,CAGS,EACT;CACJ;AACJ"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/presets/vitest/preset/index.ts"],"sourcesContent":["import type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { PLUGIN_VITEST } from \"#/presets/vitest/plugin\";\nimport { RULES_VITEST } from \"#/presets/vitest/rules/vitest\";\n\nconst vitestPreset = (): Preset => {\n return (): PresetResult => {\n return {\n config: {\n plugins: [\n ...PLUGIN_VITEST,\n ],\n rules: {\n ...RULES_VITEST,\n },\n },\n };\n };\n};\n\nexport { vitestPreset };\n"],"mappings":";;;AAKA,MAAM,qBAA6B;CAC/B,aAA2B;EACvB,OAAO,EACH,QAAQ;GACJ,SAAS,CACL,GAAG,aACP;GACA,OAAO,EACH,GAAG,aACP;EACJ,EACJ;CACJ;AACJ"}
@@ -0,0 +1,4 @@
1
+ import { PLUGIN_VUE } from "./plugin/index.js";
2
+ import { vuePreset } from "./preset/index.js";
3
+ import { RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS } from "./rules/vue.js";
4
+ export { PLUGIN_VUE, RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS, vuePreset };
@@ -0,0 +1,12 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_index = require('./plugin/index.js');
3
+ const require_vue = require('./rules/vue.js');
4
+ const require_index$1 = require('./preset/index.js');
5
+
6
+ exports.PLUGIN_VUE = require_index.PLUGIN_VUE;
7
+ exports.RULES_VUE = require_vue.RULES_VUE;
8
+ exports.RULES_VUE_CORRECTNESS = require_vue.RULES_VUE_CORRECTNESS;
9
+ exports.RULES_VUE_RESTRICTION = require_vue.RULES_VUE_RESTRICTION;
10
+ exports.RULES_VUE_STYLE = require_vue.RULES_VUE_STYLE;
11
+ exports.RULES_VUE_SUSPICIOUS = require_vue.RULES_VUE_SUSPICIOUS;
12
+ exports.vuePreset = require_index$1.vuePreset;
@@ -0,0 +1,5 @@
1
+ import { PLUGIN_VUE } from "./plugin/index.mjs";
2
+ import { RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS } from "./rules/vue.mjs";
3
+ import { vuePreset } from "./preset/index.mjs";
4
+
5
+ export { PLUGIN_VUE, RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS, vuePreset };
@@ -0,0 +1,3 @@
1
+ declare const PLUGIN_VUE: ["vue"];
2
+ export { PLUGIN_VUE };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+
2
+ const PLUGIN_VUE = ["vue"];
3
+
4
+ exports.PLUGIN_VUE = PLUGIN_VUE;
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/presets/vue/plugin/index.ts"],"sourcesContent":["import type { LintPlugins } from \"#/@types/oxlint\";\n\nconst PLUGIN_VUE = [\n \"vue\",\n] as const satisfies LintPlugins;\n\nexport { PLUGIN_VUE };\n"],"mappings":";AAEA,MAAM,aAAa,CACf,KACJ"}
@@ -0,0 +1,4 @@
1
+ const PLUGIN_VUE = ["vue"];
2
+
3
+ export { PLUGIN_VUE };
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/presets/vue/plugin/index.ts"],"sourcesContent":["import type { LintPlugins } from \"#/@types/oxlint\";\n\nconst PLUGIN_VUE = [\n \"vue\",\n] as const satisfies LintPlugins;\n\nexport { PLUGIN_VUE };\n"],"mappings":"AAEA,MAAM,aAAa,CACf,KACJ"}
@@ -0,0 +1,4 @@
1
+ import { Preset } from "../../../@types/preset.js";
2
+ declare const vuePreset: () => Preset;
3
+ export { vuePreset };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,14 @@
1
+ const require_index = require('../plugin/index.js');
2
+ const require_vue = require('../rules/vue.js');
3
+
4
+ const vuePreset = () => {
5
+ return () => {
6
+ return { config: {
7
+ plugins: [...require_index.PLUGIN_VUE],
8
+ rules: { ...require_vue.RULES_VUE }
9
+ } };
10
+ };
11
+ };
12
+
13
+ exports.vuePreset = vuePreset;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["PLUGIN_VUE","RULES_VUE"],"sources":["../../../../src/presets/vue/preset/index.ts"],"sourcesContent":["import type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { PLUGIN_VUE } from \"#/presets/vue/plugin\";\nimport { RULES_VUE } from \"#/presets/vue/rules/vue\";\n\nconst vuePreset = (): Preset => {\n return (): PresetResult => {\n return {\n config: {\n plugins: [\n ...PLUGIN_VUE,\n ],\n rules: {\n ...RULES_VUE,\n },\n },\n };\n };\n};\n\nexport { vuePreset };\n"],"mappings":";;;AAKA,MAAM,kBAA0B;CAC5B,aAA2B;EACvB,OAAO,EACH,QAAQ;GACJ,SAAS,CACL,GAAGA,wBACP;GACA,OAAO,EACH,GAAGC,sBACP;EACJ,EACJ;CACJ;AACJ"}
@@ -0,0 +1,14 @@
1
+ import { PLUGIN_VUE } from "../plugin/index.mjs";
2
+ import { RULES_VUE } from "../rules/vue.mjs";
3
+
4
+ const vuePreset = () => {
5
+ return () => {
6
+ return { config: {
7
+ plugins: [...PLUGIN_VUE],
8
+ rules: { ...RULES_VUE }
9
+ } };
10
+ };
11
+ };
12
+
13
+ export { vuePreset };
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/presets/vue/preset/index.ts"],"sourcesContent":["import type { Preset, PresetResult } from \"#/@types/preset\";\n\nimport { PLUGIN_VUE } from \"#/presets/vue/plugin\";\nimport { RULES_VUE } from \"#/presets/vue/rules/vue\";\n\nconst vuePreset = (): Preset => {\n return (): PresetResult => {\n return {\n config: {\n plugins: [\n ...PLUGIN_VUE,\n ],\n rules: {\n ...RULES_VUE,\n },\n },\n };\n };\n};\n\nexport { vuePreset };\n"],"mappings":";;;AAKA,MAAM,kBAA0B;CAC5B,aAA2B;EACvB,OAAO,EACH,QAAQ;GACJ,SAAS,CACL,GAAG,UACP;GACA,OAAO,EACH,GAAG,UACP;EACJ,EACJ;CACJ;AACJ"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * No lint rules have been configured for Options API.
3
+ */
4
+ declare const RULES_VUE_CORRECTNESS: {
5
+ readonly "vue/no-export-in-script-setup": "error";
6
+ readonly "vue/no-expose-after-await": "error";
7
+ readonly "vue/no-watch-after-await": "error";
8
+ readonly "vue/valid-define-emits": "error";
9
+ readonly "vue/valid-define-options": "error";
10
+ readonly "vue/valid-define-props": "error";
11
+ readonly "vue/valid-next-tick": "error";
12
+ };
13
+ declare const RULES_VUE_RESTRICTION: {
14
+ readonly "vue/no-import-compiler-macros": "error";
15
+ };
16
+ declare const RULES_VUE_STYLE: {
17
+ readonly "vue/define-emits-declaration": ["error", "type-based"];
18
+ readonly "vue/define-props-declaration": ["error", "type-based"];
19
+ readonly "vue/define-props-destructuring": ["error", {
20
+ readonly destructure: "never";
21
+ }];
22
+ readonly "vue/next-tick-style": ["error", "promise"];
23
+ readonly "vue/require-typed-ref": "error";
24
+ };
25
+ declare const RULES_VUE_SUSPICIOUS: {
26
+ readonly "vue/no-required-prop-with-default": "error";
27
+ };
28
+ declare const RULES_VUE: {
29
+ readonly "vue/no-required-prop-with-default": "error";
30
+ readonly "vue/define-emits-declaration": ["error", "type-based"];
31
+ readonly "vue/define-props-declaration": ["error", "type-based"];
32
+ readonly "vue/define-props-destructuring": ["error", {
33
+ readonly destructure: "never";
34
+ }];
35
+ readonly "vue/next-tick-style": ["error", "promise"];
36
+ readonly "vue/require-typed-ref": "error";
37
+ readonly "vue/no-import-compiler-macros": "error";
38
+ readonly "vue/no-export-in-script-setup": "error";
39
+ readonly "vue/no-expose-after-await": "error";
40
+ readonly "vue/no-watch-after-await": "error";
41
+ readonly "vue/valid-define-emits": "error";
42
+ readonly "vue/valid-define-options": "error";
43
+ readonly "vue/valid-define-props": "error";
44
+ readonly "vue/valid-next-tick": "error";
45
+ };
46
+ export { RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS };
47
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1,32 @@
1
+
2
+ const RULES_VUE_CORRECTNESS = {
3
+ "vue/no-export-in-script-setup": "error",
4
+ "vue/no-expose-after-await": "error",
5
+ "vue/no-watch-after-await": "error",
6
+ "vue/valid-define-emits": "error",
7
+ "vue/valid-define-options": "error",
8
+ "vue/valid-define-props": "error",
9
+ "vue/valid-next-tick": "error"
10
+ };
11
+ const RULES_VUE_RESTRICTION = { "vue/no-import-compiler-macros": "error" };
12
+ const RULES_VUE_STYLE = {
13
+ "vue/define-emits-declaration": ["error", "type-based"],
14
+ "vue/define-props-declaration": ["error", "type-based"],
15
+ "vue/define-props-destructuring": ["error", { destructure: "never" }],
16
+ "vue/next-tick-style": ["error", "promise"],
17
+ "vue/require-typed-ref": "error"
18
+ };
19
+ const RULES_VUE_SUSPICIOUS = { "vue/no-required-prop-with-default": "error" };
20
+ const RULES_VUE = {
21
+ ...RULES_VUE_CORRECTNESS,
22
+ ...RULES_VUE_RESTRICTION,
23
+ ...RULES_VUE_STYLE,
24
+ ...RULES_VUE_SUSPICIOUS
25
+ };
26
+
27
+ exports.RULES_VUE = RULES_VUE;
28
+ exports.RULES_VUE_CORRECTNESS = RULES_VUE_CORRECTNESS;
29
+ exports.RULES_VUE_RESTRICTION = RULES_VUE_RESTRICTION;
30
+ exports.RULES_VUE_STYLE = RULES_VUE_STYLE;
31
+ exports.RULES_VUE_SUSPICIOUS = RULES_VUE_SUSPICIOUS;
32
+ //# sourceMappingURL=vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.js","names":[],"sources":["../../../../src/presets/vue/rules/vue.ts"],"sourcesContent":["/**\n * No lint rules have been configured for Options API.\n */\n\nimport type { LintRules } from \"#/@types/oxlint\";\n\nconst RULES_VUE_CORRECTNESS = {\n \"vue/no-export-in-script-setup\": \"error\",\n \"vue/no-expose-after-await\": \"error\",\n \"vue/no-watch-after-await\": \"error\",\n \"vue/valid-define-emits\": \"error\",\n \"vue/valid-define-options\": \"error\",\n \"vue/valid-define-props\": \"error\",\n \"vue/valid-next-tick\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_RESTRICTION = {\n \"vue/no-import-compiler-macros\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_STYLE = {\n \"vue/define-emits-declaration\": [\n \"error\",\n \"type-based\",\n ],\n \"vue/define-props-declaration\": [\n \"error\",\n \"type-based\",\n ],\n \"vue/define-props-destructuring\": [\n \"error\",\n {\n destructure: \"never\",\n },\n ],\n \"vue/next-tick-style\": [\n \"error\",\n \"promise\",\n ],\n \"vue/require-typed-ref\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_SUSPICIOUS = {\n \"vue/no-required-prop-with-default\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE = {\n ...RULES_VUE_CORRECTNESS,\n ...RULES_VUE_RESTRICTION,\n ...RULES_VUE_STYLE,\n ...RULES_VUE_SUSPICIOUS,\n} as const satisfies LintRules;\n\nexport {\n RULES_VUE,\n RULES_VUE_CORRECTNESS,\n RULES_VUE_RESTRICTION,\n RULES_VUE_STYLE,\n RULES_VUE_SUSPICIOUS,\n};\n"],"mappings":";AAMA,MAAM,wBAAwB;CAC1B,iCAAiC;CACjC,6BAA6B;CAC7B,4BAA4B;CAC5B,0BAA0B;CAC1B,4BAA4B;CAC5B,0BAA0B;CAC1B,uBAAuB;AAC3B;AAEA,MAAM,wBAAwB,EAC1B,iCAAiC,QACrC;AAEA,MAAM,kBAAkB;CACpB,gCAAgC,CAC5B,SACA,YACJ;CACA,gCAAgC,CAC5B,SACA,YACJ;CACA,kCAAkC,CAC9B,SACA,EACI,aAAa,QACjB,CACJ;CACA,uBAAuB,CACnB,SACA,SACJ;CACA,yBAAyB;AAC7B;AAEA,MAAM,uBAAuB,EACzB,qCAAqC,QACzC;AAEA,MAAM,YAAY;CACd,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACP"}
@@ -0,0 +1,27 @@
1
+ const RULES_VUE_CORRECTNESS = {
2
+ "vue/no-export-in-script-setup": "error",
3
+ "vue/no-expose-after-await": "error",
4
+ "vue/no-watch-after-await": "error",
5
+ "vue/valid-define-emits": "error",
6
+ "vue/valid-define-options": "error",
7
+ "vue/valid-define-props": "error",
8
+ "vue/valid-next-tick": "error"
9
+ };
10
+ const RULES_VUE_RESTRICTION = { "vue/no-import-compiler-macros": "error" };
11
+ const RULES_VUE_STYLE = {
12
+ "vue/define-emits-declaration": ["error", "type-based"],
13
+ "vue/define-props-declaration": ["error", "type-based"],
14
+ "vue/define-props-destructuring": ["error", { destructure: "never" }],
15
+ "vue/next-tick-style": ["error", "promise"],
16
+ "vue/require-typed-ref": "error"
17
+ };
18
+ const RULES_VUE_SUSPICIOUS = { "vue/no-required-prop-with-default": "error" };
19
+ const RULES_VUE = {
20
+ ...RULES_VUE_CORRECTNESS,
21
+ ...RULES_VUE_RESTRICTION,
22
+ ...RULES_VUE_STYLE,
23
+ ...RULES_VUE_SUSPICIOUS
24
+ };
25
+
26
+ export { RULES_VUE, RULES_VUE_CORRECTNESS, RULES_VUE_RESTRICTION, RULES_VUE_STYLE, RULES_VUE_SUSPICIOUS };
27
+ //# sourceMappingURL=vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.mjs","names":[],"sources":["../../../../src/presets/vue/rules/vue.ts"],"sourcesContent":["/**\n * No lint rules have been configured for Options API.\n */\n\nimport type { LintRules } from \"#/@types/oxlint\";\n\nconst RULES_VUE_CORRECTNESS = {\n \"vue/no-export-in-script-setup\": \"error\",\n \"vue/no-expose-after-await\": \"error\",\n \"vue/no-watch-after-await\": \"error\",\n \"vue/valid-define-emits\": \"error\",\n \"vue/valid-define-options\": \"error\",\n \"vue/valid-define-props\": \"error\",\n \"vue/valid-next-tick\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_RESTRICTION = {\n \"vue/no-import-compiler-macros\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_STYLE = {\n \"vue/define-emits-declaration\": [\n \"error\",\n \"type-based\",\n ],\n \"vue/define-props-declaration\": [\n \"error\",\n \"type-based\",\n ],\n \"vue/define-props-destructuring\": [\n \"error\",\n {\n destructure: \"never\",\n },\n ],\n \"vue/next-tick-style\": [\n \"error\",\n \"promise\",\n ],\n \"vue/require-typed-ref\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE_SUSPICIOUS = {\n \"vue/no-required-prop-with-default\": \"error\",\n} as const satisfies LintRules;\n\nconst RULES_VUE = {\n ...RULES_VUE_CORRECTNESS,\n ...RULES_VUE_RESTRICTION,\n ...RULES_VUE_STYLE,\n ...RULES_VUE_SUSPICIOUS,\n} as const satisfies LintRules;\n\nexport {\n RULES_VUE,\n RULES_VUE_CORRECTNESS,\n RULES_VUE_RESTRICTION,\n RULES_VUE_STYLE,\n RULES_VUE_SUSPICIOUS,\n};\n"],"mappings":"AAMA,MAAM,wBAAwB;CAC1B,iCAAiC;CACjC,6BAA6B;CAC7B,4BAA4B;CAC5B,0BAA0B;CAC1B,4BAA4B;CAC5B,0BAA0B;CAC1B,uBAAuB;AAC3B;AAEA,MAAM,wBAAwB,EAC1B,iCAAiC,QACrC;AAEA,MAAM,kBAAkB;CACpB,gCAAgC,CAC5B,SACA,YACJ;CACA,gCAAgC,CAC5B,SACA,YACJ;CACA,kCAAkC,CAC9B,SACA,EACI,aAAa,QACjB,CACJ;CACA,uBAAuB,CACnB,SACA,SACJ;CACA,yBAAyB;AAC7B;AAEA,MAAM,uBAAuB,EACzB,qCAAqC,QACzC;AAEA,MAAM,YAAY;CACd,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apst/oxlint",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A shareable Oxlint configuration",
5
5
  "keywords": [
6
6
  "oxlint",
@@ -52,10 +52,10 @@
52
52
  "es-toolkit": "^1.40.0"
53
53
  },
54
54
  "devDependencies": {
55
- "oxlint": "1.68.0"
55
+ "oxlint": "1.70.0"
56
56
  },
57
57
  "peerDependencies": {
58
- "oxlint": "^1.68.0"
58
+ "oxlint": "^1.70.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "oxlint": {