vize 0.115.0 → 0.117.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/README.md CHANGED
@@ -92,6 +92,7 @@ Override config discovery with `--config`, or disable it with `--no-config`.
92
92
 
93
93
  ```bash
94
94
  vp exec vize lint --preset essential --max-warnings 0 src
95
+ vp exec vize lint --preset ecosystem src
95
96
  vp exec vize lint --preset opinionated --help-level short src
96
97
  vp exec vize lint --format json src
97
98
  vp exec vize lint --format plain src
@@ -4,7 +4,7 @@
4
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
- type LintPreset = "happy-path" | "opinionated" | "essential" | "incremental" | "nuxt";
7
+ type LintPreset = "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt";
8
8
  type RuleSeverity = "off" | "warn" | "error";
9
9
  type RuleCategory = "correctness" | "suspicious" | "style" | "perf" | "a11y" | "security";
10
10
  /**
@@ -102,7 +102,7 @@ interface LinterConfig {
102
102
  /**
103
103
  * Built-in lint preset
104
104
  */
105
- preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "nuxt";
105
+ preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt";
106
106
  /**
107
107
  * Rules to enable/disable
108
108
  */
@@ -295,6 +295,10 @@ interface LanguageServerConfig {
295
295
  * Enable editor-oriented IDE features
296
296
  */
297
297
  editor?: boolean;
298
+ /**
299
+ * Enable Vue ecosystem lint and editor helpers
300
+ */
301
+ ecosystem?: boolean;
298
302
  /**
299
303
  * Enable completions
300
304
  */
@@ -472,7 +476,7 @@ interface GlobalTypeDeclaration {
472
476
  }
473
477
  //#endregion
474
478
  //#region src/types/rules.d.ts
475
- declare const LINT_RULE_NAMES: readonly ["a11y/alt-text", "a11y/anchor-has-content", "a11y/anchor-is-valid", "a11y/aria-props", "a11y/aria-role", "a11y/aria-unsupported-elements", "a11y/click-events-have-key-events", "a11y/form-control-has-label", "a11y/heading-has-content", "a11y/heading-levels", "a11y/iframe-has-title", "a11y/img-alt", "a11y/interactive-supports-focus", "a11y/label-has-for", "a11y/landmark-roles", "a11y/media-has-caption", "a11y/mouse-events-have-key-events", "a11y/no-access-key", "a11y/no-aria-hidden-on-focusable", "a11y/no-autofocus", "a11y/no-distracting-elements", "a11y/no-i-for-icon", "a11y/no-redundant-roles", "a11y/no-refer-to-non-existent-id", "a11y/no-role-presentation-on-focusable", "a11y/no-static-element-interactions", "a11y/placeholder-label-option", "a11y/role-has-required-aria-props", "a11y/tabindex-no-positive", "a11y/use-list", "ecosystem/nuxt-prefer-nuxt-link", "ecosystem/pinia-prefer-store-to-refs", "ecosystem/router-link-require-to", "ecosystem/vue-i18n-no-missing-key", "ecosystem/vue-router-prefer-named-link", "ecosystem/vue-router-prefer-named-push", "ecosystem/vue-test-utils-no-html-snapshot", "html/deprecated-attr", "html/deprecated-element", "html/id-duplication", "html/no-consecutive-br", "html/no-duplicate-dt", "html/no-empty-palpable-content", "html/require-datetime", "script/no-get-current-instance", "script/no-next-tick", "script/no-options-api", "ssr/no-browser-globals-in-ssr", "ssr/no-hydration-mismatch", "type/no-floating-promises", "type/no-reactivity-loss", "type/no-unsafe-template-binding", "type/require-typed-emits", "type/require-typed-props", "vapor/no-inline-template", "vapor/no-vue-lifecycle-events", "vapor/prefer-static-class", "vapor/require-vapor-attribute", "vue/attribute-hyphenation", "vue/attribute-order", "vue/component-definition-name-casing", "vue/component-name-in-template-casing", "vue/html-quotes", "vue/html-self-closing", "vue/multi-word-component-names", "vue/mustache-interpolation-spacing", "vue/no-boolean-attr-value", "vue/no-child-content", "vue/no-dupe-v-else-if", "vue/no-duplicate-attributes", "vue/no-inline-style", "vue/no-lone-template", "vue/no-multi-spaces", "vue/no-mutating-props", "vue/no-preprocessor-lang", "vue/no-reserved-component-names", "vue/no-script-non-standard-lang", "vue/no-src-attribute", "vue/no-template-key", "vue/no-template-lang", "vue/no-template-shadow", "vue/no-textarea-mustache", "vue/no-unsafe-url", "vue/no-unused-components", "vue/no-unused-properties", "vue/no-unused-vars", "vue/no-use-v-if-with-v-for", "vue/no-useless-template-attributes", "vue/no-v-html", "vue/no-v-text-v-html-on-component", "vue/permitted-contents", "vue/prefer-props-shorthand", "vue/prop-name-casing", "vue/require-component-is", "vue/require-component-registration", "vue/require-scoped-style", "vue/require-v-for-key", "vue/scoped-event-names", "vue/sfc-element-order", "vue/single-style-block", "vue/use-unique-element-ids", "vue/use-v-on-exact", "vue/v-bind-style", "vue/v-on-style", "vue/v-slot-style", "vue/valid-attribute-name", "vue/valid-v-bind", "vue/valid-v-else", "vue/valid-v-for", "vue/valid-v-if", "vue/valid-v-memo", "vue/valid-v-model", "vue/valid-v-on", "vue/valid-v-show", "vue/valid-v-slot", "vue/warn-custom-block", "vue/warn-custom-directive"];
479
+ declare const LINT_RULE_NAMES: readonly ["a11y/alt-text", "a11y/anchor-has-content", "a11y/anchor-is-valid", "a11y/aria-props", "a11y/aria-role", "a11y/aria-unsupported-elements", "a11y/click-events-have-key-events", "a11y/form-control-has-label", "a11y/heading-has-content", "a11y/heading-levels", "a11y/iframe-has-title", "a11y/img-alt", "a11y/interactive-supports-focus", "a11y/label-has-for", "a11y/landmark-roles", "a11y/media-has-caption", "a11y/mouse-events-have-key-events", "a11y/no-access-key", "a11y/no-aria-hidden-on-focusable", "a11y/no-autofocus", "a11y/no-distracting-elements", "a11y/no-i-for-icon", "a11y/no-redundant-roles", "a11y/no-refer-to-non-existent-id", "a11y/no-role-presentation-on-focusable", "a11y/no-static-element-interactions", "a11y/placeholder-label-option", "a11y/role-has-required-aria-props", "a11y/tabindex-no-positive", "a11y/use-list", "ecosystem/nuxt-prefer-nuxt-link", "ecosystem/pinia-prefer-store-to-refs", "ecosystem/router-link-require-to", "ecosystem/void-link-require-href", "ecosystem/void-link-valid-method", "ecosystem/vue-i18n-no-missing-key", "ecosystem/vue-router-prefer-named-link", "ecosystem/vue-router-prefer-named-push", "ecosystem/vue-test-utils-no-html-snapshot", "html/deprecated-attr", "html/deprecated-element", "html/id-duplication", "html/no-consecutive-br", "html/no-duplicate-dt", "html/no-empty-palpable-content", "html/require-datetime", "script/no-get-current-instance", "script/no-next-tick", "script/no-options-api", "ssr/no-browser-globals-in-ssr", "ssr/no-hydration-mismatch", "type/no-floating-promises", "type/no-reactivity-loss", "type/no-unsafe-template-binding", "type/require-typed-emits", "type/require-typed-props", "vapor/no-inline-template", "vapor/no-vue-lifecycle-events", "vapor/prefer-static-class", "vapor/require-vapor-attribute", "vue/attribute-hyphenation", "vue/attribute-order", "vue/component-definition-name-casing", "vue/component-name-in-template-casing", "vue/html-quotes", "vue/html-self-closing", "vue/multi-word-component-names", "vue/mustache-interpolation-spacing", "vue/no-boolean-attr-value", "vue/no-child-content", "vue/no-dupe-v-else-if", "vue/no-duplicate-attributes", "vue/no-inline-style", "vue/no-lone-template", "vue/no-multi-spaces", "vue/no-mutating-props", "vue/no-preprocessor-lang", "vue/no-reserved-component-names", "vue/no-script-non-standard-lang", "vue/no-src-attribute", "vue/no-template-key", "vue/no-template-lang", "vue/no-template-shadow", "vue/no-textarea-mustache", "vue/no-unsafe-url", "vue/no-unused-components", "vue/no-unused-properties", "vue/no-unused-vars", "vue/no-use-v-if-with-v-for", "vue/no-useless-template-attributes", "vue/no-v-html", "vue/no-v-text-v-html-on-component", "vue/permitted-contents", "vue/prefer-props-shorthand", "vue/prop-name-casing", "vue/require-component-is", "vue/require-component-registration", "vue/require-scoped-style", "vue/require-v-for-key", "vue/scoped-event-names", "vue/sfc-element-order", "vue/single-style-block", "vue/use-unique-element-ids", "vue/use-v-on-exact", "vue/v-bind-style", "vue/v-on-style", "vue/v-slot-style", "vue/valid-attribute-name", "vue/valid-v-bind", "vue/valid-v-else", "vue/valid-v-for", "vue/valid-v-if", "vue/valid-v-memo", "vue/valid-v-model", "vue/valid-v-on", "vue/valid-v-show", "vue/valid-v-slot", "vue/warn-custom-block", "vue/warn-custom-directive"];
476
480
  type LintRuleName = (typeof LINT_RULE_NAMES)[number];
477
481
  type LintRulesConfig = Partial<Record<LintRuleName, RuleSeverity>>;
478
482
  //#endregion
@@ -535,4 +539,4 @@ declare function loadConfig(root: string, options?: LoadConfigOptions): Promise<
535
539
  declare function normalizeGlobalTypes(config: GlobalTypesConfig): Record<string, GlobalTypeDeclaration>;
536
540
  //#endregion
537
541
  export { MuseaConfig as C, TypeCheckerConfig as D, RuleSeverity as E, VitePluginConfig as O, MuseaAutogenConfig as S, RuleCategory as T, GlobalTypesConfig as _, loadConfig as a, LinterConfig as b, ConfigEnv as c, UserConfigExport as d, LintRuleName as f, GlobalTypeDeclaration as g, FormatterConfig as h, defineConfig as i, VizeConfig as k, LoadConfigOptions as l, CompilerConfig as m, VIZE_CONFIG_JSON_SCHEMA_PATH as n, normalizeGlobalTypes as o, LintRulesConfig as p, VIZE_CONFIG_PKL_SCHEMA_PATH as r, LspConfig as s, CONFIG_FILE_NAMES as t, MaybePromise as u, LanguageServerConfig as v, MuseaVrtConfig as w, MuseaA11yConfig as x, LintPreset as y };
538
- //# sourceMappingURL=config-CNf68GLW.d.mts.map
542
+ //# sourceMappingURL=config-CczvMtD4.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CczvMtD4.d.mts","names":[],"sources":["../src/types/generated.ts","../src/types/rules.ts","../src/types/runtime.ts","../src/types/index.ts","../src/config.ts"],"mappings":"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"}
package/dist/config.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as loadConfig, i as defineConfig, n as VIZE_CONFIG_JSON_SCHEMA_PATH, o as normalizeGlobalTypes, r as VIZE_CONFIG_PKL_SCHEMA_PATH, t as CONFIG_FILE_NAMES } from "./config-CNf68GLW.mjs";
1
+ import { a as loadConfig, i as defineConfig, n as VIZE_CONFIG_JSON_SCHEMA_PATH, o as normalizeGlobalTypes, r as VIZE_CONFIG_PKL_SCHEMA_PATH, t as CONFIG_FILE_NAMES } from "./config-CczvMtD4.mjs";
2
2
  export { CONFIG_FILE_NAMES, VIZE_CONFIG_JSON_SCHEMA_PATH, VIZE_CONFIG_PKL_SCHEMA_PATH, defineConfig, loadConfig, normalizeGlobalTypes };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { C as MuseaConfig, D as TypeCheckerConfig, E as RuleSeverity, O as VitePluginConfig, S as MuseaAutogenConfig, T as RuleCategory, _ as GlobalTypesConfig, a as loadConfig, b as LinterConfig, c as ConfigEnv, d as UserConfigExport, f as LintRuleName, g as GlobalTypeDeclaration, h as FormatterConfig, i as defineConfig, k as VizeConfig, l as LoadConfigOptions, m as CompilerConfig, n as VIZE_CONFIG_JSON_SCHEMA_PATH, o as normalizeGlobalTypes, p as LintRulesConfig, r as VIZE_CONFIG_PKL_SCHEMA_PATH, s as LspConfig, t as CONFIG_FILE_NAMES, u as MaybePromise, v as LanguageServerConfig, w as MuseaVrtConfig, x as MuseaA11yConfig, y as LintPreset } from "./config-CNf68GLW.mjs";
1
+ import { C as MuseaConfig, D as TypeCheckerConfig, E as RuleSeverity, O as VitePluginConfig, S as MuseaAutogenConfig, T as RuleCategory, _ as GlobalTypesConfig, a as loadConfig, b as LinterConfig, c as ConfigEnv, d as UserConfigExport, f as LintRuleName, g as GlobalTypeDeclaration, h as FormatterConfig, i as defineConfig, k as VizeConfig, l as LoadConfigOptions, m as CompilerConfig, n as VIZE_CONFIG_JSON_SCHEMA_PATH, o as normalizeGlobalTypes, p as LintRulesConfig, r as VIZE_CONFIG_PKL_SCHEMA_PATH, s as LspConfig, t as CONFIG_FILE_NAMES, u as MaybePromise, v as LanguageServerConfig, w as MuseaVrtConfig, x as MuseaA11yConfig, y as LintPreset } from "./config-CczvMtD4.mjs";
2
2
  export { CONFIG_FILE_NAMES, type CompilerConfig, type ConfigEnv, type FormatterConfig, type GlobalTypeDeclaration, type GlobalTypesConfig, type LanguageServerConfig, type LintPreset, type LintRuleName, type LintRulesConfig, type LinterConfig, type LoadConfigOptions, type LspConfig, type MaybePromise, type MuseaA11yConfig, type MuseaAutogenConfig, type MuseaConfig, type MuseaVrtConfig, type RuleCategory, type RuleSeverity, type TypeCheckerConfig, type UserConfigExport, VIZE_CONFIG_JSON_SCHEMA_PATH, VIZE_CONFIG_PKL_SCHEMA_PATH, type VitePluginConfig, type VizeConfig, defineConfig, loadConfig, normalizeGlobalTypes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vize",
3
- "version": "0.115.0",
3
+ "version": "0.117.0",
4
4
  "description": "Vize - High-performance Vue.js toolchain in Rust",
5
5
  "keywords": [
6
6
  "cli",
@@ -49,7 +49,7 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "@vizejs/native": "0.115.0",
52
+ "@vizejs/native": "0.117.0",
53
53
  "oxc-transform": "0.130.0"
54
54
  },
55
55
  "devDependencies": {
@@ -12,7 +12,7 @@ local ruleSeverityEnum: JsonSchema = new JsonSchema {
12
12
 
13
13
  local lintPresetEnum: JsonSchema = new JsonSchema {
14
14
  type = "string"
15
- enum = new Listing { "happy-path"; "opinionated"; "essential"; "incremental"; "nuxt" }
15
+ enum = new Listing { "happy-path"; "opinionated"; "essential"; "incremental"; "ecosystem"; "nuxt" }
16
16
  }
17
17
 
18
18
  local compilerConfigDef: JsonSchema = new JsonSchema {
@@ -370,6 +370,10 @@ local languageServerConfigDef: JsonSchema = new JsonSchema {
370
370
  type = "boolean"
371
371
  description = "Enable editor-oriented IDE features"
372
372
  }
373
+ ["ecosystem"] = new JsonSchema {
374
+ type = "boolean"
375
+ description = "Enable Vue ecosystem lint and editor helpers"
376
+ }
373
377
  ["completion"] = new JsonSchema {
374
378
  type = "boolean"
375
379
  description = "Enable completions"
package/pkl/vize.pkl CHANGED
@@ -11,7 +11,7 @@ module vize.Config
11
11
  typealias CompilerMode = "module" | "function"
12
12
  typealias ScriptExt = "ts" | "js"
13
13
  typealias RuleSeverity = "off" | "warn" | "error"
14
- typealias LintPreset = "happy-path" | "opinionated" | "essential" | "incremental" | "nuxt"
14
+ typealias LintPreset = "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt"
15
15
  typealias TrailingComma = "all" | "none" | "es5"
16
16
  typealias FilterPattern = String | Listing<String>
17
17
  typealias GlobalTypeValue = String | GlobalTypeDeclaration
@@ -79,6 +79,7 @@ class LspConfig {
79
79
  diagnostics: Boolean? = null
80
80
  typecheck: Boolean? = null
81
81
  editor: Boolean? = null
82
+ ecosystem: Boolean? = null
82
83
  completion: Boolean? = null
83
84
  hover: Boolean? = null
84
85
  definition: Boolean? = null
@@ -125,7 +125,7 @@
125
125
  "description": "Built-in lint preset",
126
126
  "default": "happy-path",
127
127
  "type": "string",
128
- "enum": ["happy-path", "opinionated", "essential", "incremental", "nuxt"]
128
+ "enum": ["happy-path", "opinionated", "essential", "incremental", "ecosystem", "nuxt"]
129
129
  },
130
130
  "rules": {
131
131
  "description": "Rules to enable/disable",
@@ -386,6 +386,10 @@
386
386
  "description": "Enable editor-oriented IDE features",
387
387
  "type": "boolean"
388
388
  },
389
+ "ecosystem": {
390
+ "description": "Enable Vue ecosystem lint and editor helpers",
391
+ "type": "boolean"
392
+ },
389
393
  "completion": {
390
394
  "description": "Enable completions",
391
395
  "type": "boolean"
@@ -5,7 +5,13 @@
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
7
 
8
- export type LintPreset = "happy-path" | "opinionated" | "essential" | "incremental" | "nuxt";
8
+ export type LintPreset =
9
+ | "happy-path"
10
+ | "opinionated"
11
+ | "essential"
12
+ | "incremental"
13
+ | "ecosystem"
14
+ | "nuxt";
9
15
 
10
16
  export type RuleSeverity = "off" | "warn" | "error";
11
17
 
@@ -106,7 +112,7 @@ export interface LinterConfig {
106
112
  /**
107
113
  * Built-in lint preset
108
114
  */
109
- preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "nuxt";
115
+ preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt";
110
116
  /**
111
117
  * Rules to enable/disable
112
118
  */
@@ -299,6 +305,10 @@ export interface LanguageServerConfig {
299
305
  * Enable editor-oriented IDE features
300
306
  */
301
307
  editor?: boolean;
308
+ /**
309
+ * Enable Vue ecosystem lint and editor helpers
310
+ */
311
+ ecosystem?: boolean;
302
312
  /**
303
313
  * Enable completions
304
314
  */
@@ -37,6 +37,8 @@ export const LINT_RULE_NAMES = [
37
37
  "ecosystem/nuxt-prefer-nuxt-link",
38
38
  "ecosystem/pinia-prefer-store-to-refs",
39
39
  "ecosystem/router-link-require-to",
40
+ "ecosystem/void-link-require-href",
41
+ "ecosystem/void-link-valid-method",
40
42
  "ecosystem/vue-i18n-no-missing-key",
41
43
  "ecosystem/vue-router-prefer-named-link",
42
44
  "ecosystem/vue-router-prefer-named-push",
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-CNf68GLW.d.mts","names":[],"sources":["../src/types/generated.ts","../src/types/rules.ts","../src/types/runtime.ts","../src/types/index.ts","../src/config.ts"],"mappings":"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"}