vize 0.315.1 → 0.321.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.
@@ -1,6 +1,45 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "definitions": {
4
+ "VueVersion": {
5
+ "description": "Host Vue runtime version for opt-in compatibility modes",
6
+ "type": "string",
7
+ "enum": ["3", "2.7", "2", "1", "0.11", "0.10"]
8
+ },
9
+ "CompilerCompatibilityConfig": {
10
+ "description": "Opt-in compatibility features for unsupported host/runtime combinations",
11
+ "type": "object",
12
+ "properties": {
13
+ "vueVersion": {
14
+ "$ref": "#/definitions/VueVersion"
15
+ },
16
+ "hostCompiler": {
17
+ "description": "Delegate .vue compilation to the host Vue compiler for legacy Vue runtimes",
18
+ "type": "boolean"
19
+ },
20
+ "scriptSetupInStandalone": {
21
+ "description": "Enable <script setup> when emitting function-body output for CDN/global Vue usage",
22
+ "default": false,
23
+ "type": "boolean"
24
+ },
25
+ "optionsApiVapor": {
26
+ "description": "Allow Vapor output for Options API SFCs when Vapor mode is enabled",
27
+ "default": false,
28
+ "type": "boolean"
29
+ },
30
+ "nuxtVersion": {
31
+ "description": "Nuxt major line for opt-in Nuxt compatibility behavior",
32
+ "type": "integer",
33
+ "enum": [2, 3, 4]
34
+ },
35
+ "webpackVersion": {
36
+ "description": "webpack major line for opt-in bundler compatibility behavior",
37
+ "type": "integer",
38
+ "enum": [4, 5]
39
+ }
40
+ },
41
+ "additionalProperties": false
42
+ },
4
43
  "CompilerConfig": {
5
44
  "description": "Vue compiler options",
6
45
  "type": "object",
@@ -22,6 +61,12 @@
22
61
  "type": "string",
23
62
  "enum": ["vdom", "vapor"]
24
63
  },
64
+ "jsxCompat": {
65
+ "description": "JSX semantics for projects migrating from @vue/babel-plugin-jsx",
66
+ "default": "native",
67
+ "type": "string",
68
+ "enum": ["native", "babel"]
69
+ },
25
70
  "customRenderer": {
26
71
  "description": "Treat lowercase non-HTML tags as custom renderer elements",
27
72
  "default": false,
@@ -84,45 +129,6 @@
84
129
  },
85
130
  "additionalProperties": false
86
131
  },
87
- "VueVersion": {
88
- "description": "Host Vue runtime version for opt-in compatibility modes",
89
- "type": "string",
90
- "enum": ["3", "2.7", "2", "1", "0.11", "0.10"]
91
- },
92
- "CompilerCompatibilityConfig": {
93
- "description": "Opt-in compatibility features for unsupported host/runtime combinations",
94
- "type": "object",
95
- "properties": {
96
- "vueVersion": {
97
- "$ref": "#/definitions/VueVersion"
98
- },
99
- "hostCompiler": {
100
- "description": "Delegate .vue compilation to the host Vue compiler for legacy Vue runtimes",
101
- "type": "boolean"
102
- },
103
- "scriptSetupInStandalone": {
104
- "description": "Enable <script setup> when emitting function-body output for CDN/global Vue usage",
105
- "default": false,
106
- "type": "boolean"
107
- },
108
- "optionsApiVapor": {
109
- "description": "Allow Vapor output for Options API SFCs when Vapor mode is enabled",
110
- "default": false,
111
- "type": "boolean"
112
- },
113
- "nuxtVersion": {
114
- "description": "Host Nuxt major version for compatibility bridges",
115
- "type": "integer",
116
- "enum": [2, 3, 4]
117
- },
118
- "webpackVersion": {
119
- "description": "Host Webpack major version for compatibility bridges",
120
- "type": "integer",
121
- "enum": [4, 5]
122
- }
123
- },
124
- "additionalProperties": false
125
- },
126
132
  "VitePluginConfig": {
127
133
  "type": "object",
128
134
  "properties": {
@@ -172,17 +178,21 @@
172
178
  "additionalProperties": false
173
179
  },
174
180
  "LinterConfig": {
181
+ "description": "Linter options",
175
182
  "type": "object",
176
183
  "properties": {
177
184
  "enabled": {
185
+ "description": "Enable linting",
178
186
  "type": "boolean"
179
187
  },
180
188
  "preset": {
189
+ "description": "Built-in lint preset",
181
190
  "default": "ecosystem",
182
191
  "type": "string",
183
192
  "enum": ["happy-path", "opinionated", "essential", "incremental", "ecosystem", "nuxt"]
184
193
  },
185
194
  "typeAware": {
195
+ "description": "Enable native type-aware lint rules from the active lint configuration",
186
196
  "type": "boolean"
187
197
  },
188
198
  "rules": {
@@ -193,6 +203,9 @@
193
203
  "enum": ["off", "warn", "error"]
194
204
  }
195
205
  },
206
+ "ruleOptions": {
207
+ "$ref": "#/definitions/LintRuleOptions"
208
+ },
196
209
  "categories": {
197
210
  "description": "Category-level severity overrides",
198
211
  "type": "object",
@@ -227,6 +240,71 @@
227
240
  },
228
241
  "additionalProperties": false
229
242
  },
243
+ "RestrictedGlobal": {
244
+ "type": "object",
245
+ "properties": {
246
+ "name": {
247
+ "type": "string"
248
+ },
249
+ "message": {
250
+ "type": "string"
251
+ }
252
+ },
253
+ "additionalProperties": false,
254
+ "required": ["name"]
255
+ },
256
+ "RestrictedMember": {
257
+ "type": "object",
258
+ "properties": {
259
+ "object": {
260
+ "type": "string"
261
+ },
262
+ "property": {
263
+ "type": "string"
264
+ },
265
+ "message": {
266
+ "type": "string"
267
+ }
268
+ },
269
+ "additionalProperties": false,
270
+ "required": ["object", "property"]
271
+ },
272
+ "NoRestrictedGlobalsOptions": {
273
+ "type": "object",
274
+ "properties": {
275
+ "globals": {
276
+ "type": "array",
277
+ "items": {
278
+ "$ref": "#/definitions/RestrictedGlobal"
279
+ }
280
+ }
281
+ },
282
+ "additionalProperties": false
283
+ },
284
+ "NoRestrictedMembersOptions": {
285
+ "type": "object",
286
+ "properties": {
287
+ "members": {
288
+ "type": "array",
289
+ "items": {
290
+ "$ref": "#/definitions/RestrictedMember"
291
+ }
292
+ }
293
+ },
294
+ "additionalProperties": false
295
+ },
296
+ "LintRuleOptions": {
297
+ "type": "object",
298
+ "properties": {
299
+ "script/no-restricted-globals": {
300
+ "$ref": "#/definitions/NoRestrictedGlobalsOptions"
301
+ },
302
+ "script/no-restricted-members": {
303
+ "$ref": "#/definitions/NoRestrictedMembersOptions"
304
+ }
305
+ },
306
+ "additionalProperties": false
307
+ },
230
308
  "TypeCheckerConfig": {
231
309
  "type": "object",
232
310
  "properties": {
@@ -276,7 +354,7 @@
276
354
  "type": "boolean"
277
355
  },
278
356
  "optionsApi": {
279
- "description": "Resolve Vue 3 Options API template bindings (data/computed/methods/inject/setup/props) during type checking. Default-on (matches vue-tsc); set to false to opt out. Available in the standard build (not a legacy feature).",
357
+ "description": "Resolve Vue 3 Options API template bindings during type checking",
280
358
  "default": true,
281
359
  "type": "boolean"
282
360
  },
@@ -739,7 +817,23 @@
739
817
  "compiler": {
740
818
  "$ref": "#/definitions/CompilerConfig"
741
819
  },
742
- "experimentals": { "type": "object" },
820
+ "experimentals": {
821
+ "type": "object",
822
+ "additionalProperties": {
823
+ "oneOf": [
824
+ {
825
+ "type": "boolean"
826
+ },
827
+ {
828
+ "type": "object",
829
+ "additionalProperties": true
830
+ },
831
+ {
832
+ "type": "null"
833
+ }
834
+ ]
835
+ }
836
+ },
743
837
  "vite": {
744
838
  "$ref": "#/definitions/VitePluginConfig"
745
839
  },
@@ -820,7 +914,23 @@
820
914
  "compiler": {
821
915
  "$ref": "#/definitions/CompilerConfig"
822
916
  },
823
- "experimentals": { "type": "object" },
917
+ "experimentals": {
918
+ "type": "object",
919
+ "additionalProperties": {
920
+ "oneOf": [
921
+ {
922
+ "type": "boolean"
923
+ },
924
+ {
925
+ "type": "object",
926
+ "additionalProperties": true
927
+ },
928
+ {
929
+ "type": "null"
930
+ }
931
+ ]
932
+ }
933
+ },
824
934
  "vite": {
825
935
  "$ref": "#/definitions/VitePluginConfig"
826
936
  },
package/src/cli.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { createRequire } from "node:module";
2
2
 
3
+ import { configureBundledCorsaRuntime } from "./corsa-runtime.js";
3
4
  import { runInitCli } from "./init.js";
4
5
  import { runSetupCli } from "./setup.js";
5
6
 
@@ -20,6 +21,7 @@ try {
20
21
  // land in the same reporter as the synchronous commands.
21
22
  runInitCli(args.slice(1)).catch(fail);
22
23
  } else {
24
+ configureBundledCorsaRuntime();
23
25
  const native = require("@vizejs/native") as typeof import("@vizejs/native");
24
26
  native.runCli(args);
25
27
  }
@@ -0,0 +1,97 @@
1
+ import fs from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ export const publicCorsaEnvironmentVariables = [
7
+ "CORSA_PATH",
8
+ "CORSA_EXECUTABLE",
9
+ "TSGO_PATH",
10
+ "TSGO_EXECUTABLE",
11
+ ] as const;
12
+
13
+ type RuntimeResolutionOptions = {
14
+ arch?: string;
15
+ packageRoot?: string;
16
+ platform?: NodeJS.Platform;
17
+ };
18
+
19
+ export function configureBundledCorsaRuntime(
20
+ environment: NodeJS.ProcessEnv = process.env,
21
+ options: RuntimeResolutionOptions = {},
22
+ ): string | null {
23
+ if (hasPublicRuntimeOverride(environment)) return null;
24
+
25
+ const executable = resolveBundledCorsaRuntime(options);
26
+ if (executable == null) return null;
27
+
28
+ environment.CORSA_PATH = executable;
29
+ return executable;
30
+ }
31
+
32
+ export function resolveBundledCorsaRuntime(options: RuntimeResolutionOptions = {}): string | null {
33
+ const packageRoot =
34
+ options.packageRoot ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
35
+ const platform = options.platform ?? process.platform;
36
+ const arch = options.arch ?? process.arch;
37
+
38
+ try {
39
+ const cliManifestPath = path.join(packageRoot, "package.json");
40
+ const cliManifest = readManifest(cliManifestPath);
41
+ const declaredMetaVersion = cliManifest.optionalDependencies?.["@typescript/native-preview"];
42
+ if (typeof declaredMetaVersion !== "string") return null;
43
+
44
+ const packageRequire = createRequire(cliManifestPath);
45
+ const metaManifestPath = packageRequire.resolve("@typescript/native-preview/package.json");
46
+ const metaManifest = readManifest(metaManifestPath);
47
+ if (
48
+ metaManifest.name !== "@typescript/native-preview" ||
49
+ !matchesDeclaredVersion(metaManifest.version, declaredMetaVersion)
50
+ ) {
51
+ return null;
52
+ }
53
+
54
+ const platformPackage = `@typescript/native-preview-${platform}-${arch}`;
55
+ const declaredPlatformVersion = metaManifest.optionalDependencies?.[platformPackage];
56
+ if (typeof declaredPlatformVersion !== "string") return null;
57
+
58
+ const metaRequire = createRequire(metaManifestPath);
59
+ const platformManifestPath = metaRequire.resolve(`${platformPackage}/package.json`);
60
+ const platformManifest = readManifest(platformManifestPath);
61
+ if (
62
+ platformManifest.name !== platformPackage ||
63
+ !matchesDeclaredVersion(platformManifest.version, declaredPlatformVersion)
64
+ ) {
65
+ return null;
66
+ }
67
+
68
+ const executable = path.join(
69
+ path.dirname(platformManifestPath),
70
+ "lib",
71
+ platform === "win32" ? "tsgo.exe" : "tsgo",
72
+ );
73
+ return fs.existsSync(executable) ? executable : null;
74
+ } catch {
75
+ // The runtime is optional. Existing Rust-side discovery remains the fallback.
76
+ return null;
77
+ }
78
+ }
79
+
80
+ function hasPublicRuntimeOverride(environment: NodeJS.ProcessEnv): boolean {
81
+ return publicCorsaEnvironmentVariables.some((name) => {
82
+ const value = environment[name];
83
+ return value != null && value !== "";
84
+ });
85
+ }
86
+
87
+ function matchesDeclaredVersion(actual: unknown, declared: string): boolean {
88
+ return typeof actual === "string" && (declared.startsWith("catalog:") || actual === declared);
89
+ }
90
+
91
+ function readManifest(filename: string): {
92
+ name?: string;
93
+ optionalDependencies?: Record<string, string>;
94
+ version?: string;
95
+ } {
96
+ return JSON.parse(fs.readFileSync(filename, "utf8"));
97
+ }
@@ -46,8 +46,19 @@ export interface VizeConfig {
46
46
  * Base config files or presets to compose
47
47
  */
48
48
  extends?: string | string[];
49
+ /**
50
+ * Vue dialect profile for standalone HTML documents; when absent the dialect is detected structurally per document
51
+ */
52
+ dialect?: "vue" | "petite-vue";
49
53
  compiler?: CompilerConfig;
50
- experimentals?: Record<string, boolean | Record<string, unknown> | null>;
54
+ experimentals?: {
55
+ [k: string]:
56
+ | boolean
57
+ | {
58
+ [k: string]: unknown;
59
+ }
60
+ | null;
61
+ };
51
62
  vite?: VitePluginConfig;
52
63
  linter?: LinterConfig;
53
64
  typeChecker?: TypeCheckerConfig;
@@ -77,6 +88,10 @@ export interface CompilerConfig {
77
88
  * Default output mode for .jsx/.tsx components without a "use vue:*" directive
78
89
  */
79
90
  jsxMode?: "vdom" | "vapor";
91
+ /**
92
+ * JSX semantics for projects migrating from @vue/babel-plugin-jsx
93
+ */
94
+ jsxCompat?: "native" | "babel";
80
95
  /**
81
96
  * Treat lowercase non-HTML tags as custom renderer elements
82
97
  */
@@ -141,11 +156,11 @@ export interface CompilerCompatibilityConfig {
141
156
  */
142
157
  optionsApiVapor?: boolean;
143
158
  /**
144
- * Host Nuxt major version for compatibility bridges
159
+ * Nuxt major line for opt-in Nuxt compatibility behavior
145
160
  */
146
161
  nuxtVersion?: 2 | 3 | 4;
147
162
  /**
148
- * Host Webpack major version for compatibility bridges
163
+ * webpack major line for opt-in bundler compatibility behavior
149
164
  */
150
165
  webpackVersion?: 4 | 5;
151
166
  }
@@ -175,9 +190,13 @@ export interface LinterConfig {
175
190
  * Enable linting
176
191
  */
177
192
  enabled?: boolean;
178
- /** Built-in lint preset */
193
+ /**
194
+ * Built-in lint preset
195
+ */
179
196
  preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt";
180
- /** Enable native type-aware lint rules from the active lint configuration */
197
+ /**
198
+ * Enable native type-aware lint rules from the active lint configuration
199
+ */
181
200
  typeAware?: boolean;
182
201
  /**
183
202
  * Rules to enable/disable
@@ -185,6 +204,7 @@ export interface LinterConfig {
185
204
  rules?: {
186
205
  [k: string]: "off" | "warn" | "error";
187
206
  };
207
+ ruleOptions?: LintRuleOptions;
188
208
  /**
189
209
  * Category-level severity overrides
190
210
  */
@@ -197,6 +217,25 @@ export interface LinterConfig {
197
217
  security?: "off" | "warn" | "error";
198
218
  };
199
219
  }
220
+ export interface LintRuleOptions {
221
+ "script/no-restricted-globals"?: NoRestrictedGlobalsOptions;
222
+ "script/no-restricted-members"?: NoRestrictedMembersOptions;
223
+ }
224
+ export interface NoRestrictedGlobalsOptions {
225
+ globals?: RestrictedGlobal[];
226
+ }
227
+ export interface RestrictedGlobal {
228
+ name: string;
229
+ message?: string;
230
+ }
231
+ export interface NoRestrictedMembersOptions {
232
+ members?: RestrictedMember[];
233
+ }
234
+ export interface RestrictedMember {
235
+ object: string;
236
+ property: string;
237
+ message?: string;
238
+ }
200
239
  export interface TypeCheckerConfig {
201
240
  /**
202
241
  * Enable type checking
@@ -234,7 +273,9 @@ export interface TypeCheckerConfig {
234
273
  * Check fallthrough attrs on multi-root templates
235
274
  */
236
275
  checkFallthroughAttrs?: boolean;
237
- /** Resolve Vue 3 Options API template bindings during type checking. */
276
+ /**
277
+ * Resolve Vue 3 Options API template bindings during type checking
278
+ */
238
279
  optionsApi?: boolean;
239
280
  /**
240
281
  * Enable Vue 2.7 / Nuxt 2 Options API template binding support
@@ -248,7 +289,9 @@ export interface TypeCheckerConfig {
248
289
  * Path to tsconfig.json
249
290
  */
250
291
  tsconfig?: string;
251
- /** Path to the Corsa executable. tsgoPath is kept as a compatibility alias. */
292
+ /**
293
+ * Path to the Corsa executable. This is the canonical runtime key; tsgoPath is kept as a compatibility alias.
294
+ */
252
295
  corsaPath?: string;
253
296
  /**
254
297
  * Deprecated alias for typeChecker.corsaPath
@@ -583,8 +626,19 @@ export interface VizeConfigEntry {
583
626
  * Base config files or presets to compose
584
627
  */
585
628
  extends?: string | string[];
629
+ /**
630
+ * Vue dialect profile for standalone HTML documents; when absent the dialect is detected structurally per document
631
+ */
632
+ dialect?: "vue" | "petite-vue";
586
633
  compiler?: CompilerConfig;
587
- experimentals?: Record<string, boolean | Record<string, unknown> | null>;
634
+ experimentals?: {
635
+ [k: string]:
636
+ | boolean
637
+ | {
638
+ [k: string]: unknown;
639
+ }
640
+ | null;
641
+ };
588
642
  vite?: VitePluginConfig;
589
643
  linter?: LinterConfig;
590
644
  typeChecker?: TypeCheckerConfig;
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-BcMf3hSM.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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"}