@vizejs/vite-plugin 0.290.0 → 0.291.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.
@@ -0,0 +1,862 @@
1
+ //#region ../../cli/src/types/generated.d.ts
2
+ /**
3
+ * Host Vue runtime version for opt-in compatibility modes
4
+ */
5
+ type VueVersion = "3" | "2.7" | "2" | "1" | "0.11" | "0.10";
6
+ /**
7
+ * Configuration file for vize - High-performance Vue.js toolchain
8
+ */
9
+ interface VizeConfig {
10
+ /**
11
+ * Human-readable entry name for inspect output and diagnostics
12
+ */
13
+ name?: string;
14
+ /**
15
+ * Directory used as the base for scoped file patterns and relative paths
16
+ */
17
+ basePath?: string;
18
+ /**
19
+ * Glob patterns this config applies to
20
+ */
21
+ files?: string[];
22
+ /**
23
+ * Glob patterns this config excludes
24
+ */
25
+ ignores?: string[];
26
+ /**
27
+ * Base config files or presets to compose
28
+ */
29
+ extends?: string | string[];
30
+ compiler?: CompilerConfig;
31
+ experimentals?: Record<string, boolean | Record<string, unknown> | null>;
32
+ vite?: VitePluginConfig;
33
+ linter?: LinterConfig;
34
+ typeChecker?: TypeCheckerConfig;
35
+ formatter?: FormatterConfig;
36
+ languageServer?: LanguageServerConfig;
37
+ lsp?: LanguageServerConfig;
38
+ musea?: MuseaConfig;
39
+ globalTypes?: GlobalTypesConfig;
40
+ /**
41
+ * Scoped config entries for monorepos and workspaces
42
+ */
43
+ entries?: VizeConfigEntry[];
44
+ }
45
+ /**
46
+ * Vue compiler options
47
+ */
48
+ interface CompilerConfig {
49
+ /**
50
+ * Compilation mode
51
+ */
52
+ mode?: "module" | "function";
53
+ /**
54
+ * Enable Vapor mode compilation
55
+ */
56
+ vapor?: boolean;
57
+ /**
58
+ * Default output mode for .jsx/.tsx components without a "use vue:*" directive
59
+ */
60
+ jsxMode?: "vdom" | "vapor";
61
+ /**
62
+ * Treat lowercase non-HTML tags as custom renderer elements
63
+ */
64
+ customRenderer?: boolean;
65
+ /**
66
+ * Enable SSR mode
67
+ */
68
+ ssr?: boolean;
69
+ /**
70
+ * Template syntax compatibility mode
71
+ */
72
+ templateSyntax?: "standard" | "strict" | "quirks";
73
+ /**
74
+ * Enable source map generation
75
+ */
76
+ sourceMap?: boolean;
77
+ /**
78
+ * Prefix template identifiers with _ctx
79
+ */
80
+ prefixIdentifiers?: boolean;
81
+ /**
82
+ * Hoist static nodes
83
+ */
84
+ hoistStatic?: boolean;
85
+ /**
86
+ * Cache v-on handlers
87
+ */
88
+ cacheHandlers?: boolean;
89
+ /**
90
+ * Enable TypeScript parsing in <script> blocks
91
+ */
92
+ isTs?: boolean;
93
+ /**
94
+ * Script file extension for generated output
95
+ */
96
+ scriptExt?: "ts" | "js";
97
+ /**
98
+ * Module name for runtime imports
99
+ */
100
+ runtimeModuleName?: string;
101
+ /**
102
+ * Global variable name for runtime (IIFE builds)
103
+ */
104
+ runtimeGlobalName?: string;
105
+ compatibility?: CompilerCompatibilityConfig;
106
+ }
107
+ /**
108
+ * Opt-in compatibility features for unsupported host/runtime combinations
109
+ */
110
+ interface CompilerCompatibilityConfig {
111
+ vueVersion?: VueVersion;
112
+ /**
113
+ * Delegate .vue compilation to the host Vue compiler for legacy Vue runtimes
114
+ */
115
+ hostCompiler?: boolean;
116
+ /**
117
+ * Enable <script setup> when emitting function-body output for CDN/global Vue usage
118
+ */
119
+ scriptSetupInStandalone?: boolean;
120
+ /**
121
+ * Allow Vapor output for Options API SFCs when Vapor mode is enabled
122
+ */
123
+ optionsApiVapor?: boolean;
124
+ /**
125
+ * Host Nuxt major version for compatibility bridges
126
+ */
127
+ nuxtVersion?: 2 | 3 | 4;
128
+ /**
129
+ * Host Webpack major version for compatibility bridges
130
+ */
131
+ webpackVersion?: 4 | 5;
132
+ }
133
+ interface VitePluginConfig {
134
+ /**
135
+ * Files to include in compilation (glob patterns or strings)
136
+ */
137
+ include?: string | RegExp | (string | RegExp)[];
138
+ /**
139
+ * Files to exclude from compilation (glob patterns or strings)
140
+ */
141
+ exclude?: string | RegExp | (string | RegExp)[];
142
+ /**
143
+ * Glob patterns to scan for .vue files during pre-compilation
144
+ */
145
+ scanPatterns?: string[];
146
+ /**
147
+ * Glob patterns to ignore during pre-compilation
148
+ */
149
+ ignorePatterns?: string[];
150
+ }
151
+ /**
152
+ * Linter options
153
+ */
154
+ interface LinterConfig {
155
+ /**
156
+ * Enable linting
157
+ */
158
+ enabled?: boolean;
159
+ /** Built-in lint preset */
160
+ preset?: "happy-path" | "opinionated" | "essential" | "incremental" | "ecosystem" | "nuxt";
161
+ /** Enable native type-aware lint rules from the active lint configuration */
162
+ typeAware?: boolean;
163
+ /**
164
+ * Rules to enable/disable
165
+ */
166
+ rules?: {
167
+ [k: string]: "off" | "warn" | "error";
168
+ };
169
+ /**
170
+ * Category-level severity overrides
171
+ */
172
+ categories?: {
173
+ correctness?: "off" | "warn" | "error";
174
+ suspicious?: "off" | "warn" | "error";
175
+ style?: "off" | "warn" | "error";
176
+ perf?: "off" | "warn" | "error";
177
+ a11y?: "off" | "warn" | "error";
178
+ security?: "off" | "warn" | "error";
179
+ };
180
+ }
181
+ interface TypeCheckerConfig {
182
+ /**
183
+ * Enable type checking
184
+ */
185
+ enabled?: boolean;
186
+ /**
187
+ * Enable strict mode
188
+ */
189
+ strict?: boolean;
190
+ /**
191
+ * Check component props
192
+ */
193
+ checkProps?: boolean;
194
+ /**
195
+ * Check component emits
196
+ */
197
+ checkEmits?: boolean;
198
+ /**
199
+ * Check template bindings
200
+ */
201
+ checkTemplateBindings?: boolean;
202
+ /**
203
+ * Check reactivity loss patterns
204
+ */
205
+ checkReactivity?: boolean;
206
+ /**
207
+ * Check setup context violations
208
+ */
209
+ checkSetupContext?: boolean;
210
+ /**
211
+ * Check invalid exports in <script setup>
212
+ */
213
+ checkInvalidExports?: boolean;
214
+ /**
215
+ * Check fallthrough attrs on multi-root templates
216
+ */
217
+ checkFallthroughAttrs?: boolean;
218
+ /** Resolve Vue 3 Options API template bindings during type checking. */
219
+ optionsApi?: boolean;
220
+ /**
221
+ * Enable Vue 2.7 / Nuxt 2 Options API template binding support
222
+ */
223
+ legacyVue2?: boolean;
224
+ /**
225
+ * Opt-in type-checking of .jsx/.tsx Vue components (#1497). Default-off so mixed Vue/React repositories do not accidentally route React .tsx through the Vue JSX checker. Set to true to route .jsx/.tsx through the Vize JSX virtual-TS path.
226
+ */
227
+ jsxTypecheck?: boolean;
228
+ /**
229
+ * Path to tsconfig.json
230
+ */
231
+ tsconfig?: string;
232
+ /** Path to the Corsa executable. tsgoPath is kept as a compatibility alias. */
233
+ corsaPath?: string;
234
+ /**
235
+ * Deprecated alias for typeChecker.corsaPath
236
+ */
237
+ tsgoPath?: string;
238
+ /**
239
+ * Path to a .d.ts file that declares template globals
240
+ */
241
+ globalsFile?: string;
242
+ /**
243
+ * Reserved Corsa server count. The direct project-session runner currently supports only 1.
244
+ */
245
+ servers?: number;
246
+ }
247
+ /**
248
+ * Formatter options
249
+ */
250
+ interface FormatterConfig {
251
+ /**
252
+ * Max line width
253
+ */
254
+ printWidth?: number;
255
+ /**
256
+ * Indentation width
257
+ */
258
+ tabWidth?: number;
259
+ /**
260
+ * Use tabs for indentation
261
+ */
262
+ useTabs?: boolean;
263
+ /**
264
+ * Print semicolons
265
+ */
266
+ semi?: boolean;
267
+ /**
268
+ * Use single quotes
269
+ */
270
+ singleQuote?: boolean;
271
+ /**
272
+ * Use single quotes in JSX
273
+ */
274
+ jsxSingleQuote?: boolean;
275
+ /**
276
+ * Trailing commas
277
+ */
278
+ trailingComma?: "all" | "none" | "es5";
279
+ /**
280
+ * Print spaces between brackets in object literals
281
+ */
282
+ bracketSpacing?: boolean;
283
+ /**
284
+ * Keep > on the last line of multiline tags
285
+ */
286
+ bracketSameLine?: boolean;
287
+ /**
288
+ * Arrow parens mode
289
+ */
290
+ arrowParens?: "always" | "avoid";
291
+ /**
292
+ * End-of-line mode
293
+ */
294
+ endOfLine?: "lf" | "crlf" | "cr" | "auto";
295
+ /**
296
+ * Object property quoting mode
297
+ */
298
+ quoteProps?: "as-needed" | "consistent" | "preserve";
299
+ /**
300
+ * Force one attribute per line
301
+ */
302
+ singleAttributePerLine?: boolean;
303
+ /**
304
+ * Indent script and style blocks
305
+ */
306
+ vueIndentScriptAndStyle?: boolean;
307
+ /**
308
+ * Sort attributes
309
+ */
310
+ sortAttributes?: boolean;
311
+ /**
312
+ * Attribute ordering strategy
313
+ */
314
+ attributeSortOrder?: "alphabetical" | "as-written";
315
+ /**
316
+ * Merge bind and non-bind attrs for sorting
317
+ */
318
+ mergeBindAndNonBindAttrs?: boolean;
319
+ /**
320
+ * Maximum attributes per line before wrapping
321
+ */
322
+ maxAttributesPerLine?: number;
323
+ /**
324
+ * Custom attribute groups
325
+ */
326
+ attributeGroups?: string[][];
327
+ /**
328
+ * Normalize directive shorthands
329
+ */
330
+ normalizeDirectiveShorthands?: boolean;
331
+ /**
332
+ * Sort SFC blocks in canonical order
333
+ */
334
+ sortBlocks?: boolean;
335
+ }
336
+ /**
337
+ * Language server options
338
+ */
339
+ interface LanguageServerConfig {
340
+ /**
341
+ * Enable the language server
342
+ */
343
+ enabled?: boolean;
344
+ /**
345
+ * Enable lint diagnostics
346
+ */
347
+ lint?: boolean;
348
+ /**
349
+ * Deprecated alias for lint
350
+ */
351
+ diagnostics?: boolean;
352
+ /**
353
+ * Enable project type checking diagnostics
354
+ */
355
+ typecheck?: boolean;
356
+ /**
357
+ * Enable editor-oriented IDE features
358
+ */
359
+ editor?: boolean;
360
+ /**
361
+ * Enable Vue ecosystem lint and editor helpers
362
+ */
363
+ ecosystem?: boolean;
364
+ /**
365
+ * Enable Vue 2.7 / Nuxt 2 editor and type-checking compatibility
366
+ */
367
+ legacyVue2?: boolean;
368
+ /**
369
+ * Enable completions
370
+ */
371
+ completion?: boolean;
372
+ /**
373
+ * Enable hover information
374
+ */
375
+ hover?: boolean;
376
+ /**
377
+ * Enable go-to-definition
378
+ */
379
+ definition?: boolean;
380
+ /**
381
+ * Enable reference search
382
+ */
383
+ references?: boolean;
384
+ /**
385
+ * Enable document symbols
386
+ */
387
+ documentSymbols?: boolean;
388
+ /**
389
+ * Enable workspace symbols
390
+ */
391
+ workspaceSymbols?: boolean;
392
+ /**
393
+ * Enable formatting via the language server
394
+ */
395
+ formatting?: boolean;
396
+ /**
397
+ * Enable code actions
398
+ */
399
+ codeActions?: boolean;
400
+ /**
401
+ * Enable rename support
402
+ */
403
+ rename?: boolean;
404
+ /**
405
+ * Enable code lenses
406
+ */
407
+ codeLens?: boolean;
408
+ /**
409
+ * Enable semantic tokens
410
+ */
411
+ semanticTokens?: boolean;
412
+ /**
413
+ * Enable document links
414
+ */
415
+ documentLinks?: boolean;
416
+ /**
417
+ * Enable folding ranges
418
+ */
419
+ foldingRanges?: boolean;
420
+ /**
421
+ * Enable inlay hints
422
+ */
423
+ inlayHints?: boolean;
424
+ /**
425
+ * Enable file rename edits
426
+ */
427
+ fileRename?: boolean;
428
+ /**
429
+ * Enable Corsa-backed IDE features
430
+ */
431
+ corsa?: boolean;
432
+ /**
433
+ * Deprecated alias for corsa
434
+ */
435
+ tsgo?: boolean;
436
+ }
437
+ /**
438
+ * Musea component gallery options
439
+ */
440
+ interface MuseaConfig {
441
+ /**
442
+ * Glob patterns for art files
443
+ */
444
+ include?: string[];
445
+ /**
446
+ * Glob patterns to exclude
447
+ */
448
+ exclude?: string[];
449
+ /**
450
+ * Base path for gallery
451
+ */
452
+ basePath?: string;
453
+ /**
454
+ * Enable Storybook compatibility
455
+ */
456
+ storybookCompat?: boolean;
457
+ /**
458
+ * Enable inline art detection in .vue files
459
+ */
460
+ inlineArt?: boolean;
461
+ vrt?: MuseaVrtConfig;
462
+ a11y?: MuseaA11yConfig;
463
+ autogen?: MuseaAutogenConfig;
464
+ }
465
+ /**
466
+ * VRT (Visual Regression Testing) configuration
467
+ */
468
+ interface MuseaVrtConfig {
469
+ /**
470
+ * Threshold for pixel comparison (0-1)
471
+ */
472
+ threshold?: number;
473
+ /**
474
+ * Output directory for screenshots
475
+ */
476
+ outDir?: string;
477
+ /**
478
+ * Viewport sizes
479
+ */
480
+ viewports?: MuseaViewport[];
481
+ }
482
+ interface MuseaViewport {
483
+ /**
484
+ * Viewport width
485
+ */
486
+ width: number;
487
+ /**
488
+ * Viewport height
489
+ */
490
+ height: number;
491
+ /**
492
+ * Viewport name
493
+ */
494
+ name?: string;
495
+ }
496
+ /**
497
+ * A11y configuration
498
+ */
499
+ interface MuseaA11yConfig {
500
+ /**
501
+ * Enable a11y checking
502
+ */
503
+ enabled?: boolean;
504
+ /**
505
+ * Axe-core rules to enable/disable
506
+ */
507
+ rules?: {
508
+ [k: string]: boolean;
509
+ };
510
+ }
511
+ /**
512
+ * Autogen configuration
513
+ */
514
+ interface MuseaAutogenConfig {
515
+ /**
516
+ * Enable auto-generation of variants
517
+ */
518
+ enabled?: boolean;
519
+ /**
520
+ * Max variants to generate per component
521
+ */
522
+ maxVariants?: number;
523
+ }
524
+ /**
525
+ * Global type declarations
526
+ */
527
+ interface GlobalTypesConfig {
528
+ [k: string]: string | GlobalTypeDeclaration;
529
+ }
530
+ /**
531
+ * Global type declaration
532
+ */
533
+ interface GlobalTypeDeclaration {
534
+ /**
535
+ * TypeScript type string
536
+ */
537
+ type: string;
538
+ /**
539
+ * Default value
540
+ */
541
+ defaultValue?: string;
542
+ }
543
+ /**
544
+ * Scoped Vize config entry for monorepos and workspaces
545
+ */
546
+ interface VizeConfigEntry {
547
+ /**
548
+ * Human-readable entry name for inspect output and diagnostics
549
+ */
550
+ name?: string;
551
+ /**
552
+ * Directory used as the base for scoped file patterns and relative paths
553
+ */
554
+ basePath?: string;
555
+ /**
556
+ * Glob patterns this entry applies to
557
+ */
558
+ files?: string[];
559
+ /**
560
+ * Glob patterns this entry excludes
561
+ */
562
+ ignores?: string[];
563
+ /**
564
+ * Base config files or presets to compose
565
+ */
566
+ extends?: string | string[];
567
+ compiler?: CompilerConfig;
568
+ experimentals?: Record<string, boolean | Record<string, unknown> | null>;
569
+ vite?: VitePluginConfig;
570
+ linter?: LinterConfig;
571
+ typeChecker?: TypeCheckerConfig;
572
+ formatter?: FormatterConfig;
573
+ languageServer?: LanguageServerConfig;
574
+ lsp?: LanguageServerConfig;
575
+ musea?: MuseaConfig;
576
+ globalTypes?: GlobalTypesConfig;
577
+ }
578
+ //#endregion
579
+ //#region ../../cli/src/types/runtime.d.ts
580
+ type MaybePromise<T> = T | Promise<T>;
581
+ interface ConfigEnv {
582
+ mode: string;
583
+ command: "serve" | "build" | "check" | "lint" | "fmt";
584
+ isSsrBuild?: boolean;
585
+ }
586
+ type VueConfig = {
587
+ /**
588
+ * Vue dialect selected by the documented `vue.version` config key.
589
+ */
590
+ version?: VueVersion;
591
+ };
592
+ type UserConfigEntry = VizeConfigEntry & {
593
+ /**
594
+ * Shared Vue dialect section accepted by the Rust config model.
595
+ */
596
+ vue?: VueConfig;
597
+ };
598
+ type UserConfig = Omit<VizeConfig, "entries"> & {
599
+ /**
600
+ * Shared Vue dialect section accepted by the Rust config model.
601
+ */
602
+ vue?: VueConfig;
603
+ /**
604
+ * Legacy alias for `languageServer`.
605
+ * Prefer `languageServer`.
606
+ */
607
+ lsp?: LanguageServerConfig;
608
+ /**
609
+ * Scoped config entries for monorepos and workspaces.
610
+ */
611
+ entries?: UserConfigEntry[];
612
+ };
613
+ type UserConfigInput = UserConfig | UserConfigEntry[];
614
+ type ResolvedVizeConfig = VizeConfig & {
615
+ /**
616
+ * Normalized flat entries. Plain object configs become one entry; array configs
617
+ * keep their order.
618
+ */
619
+ entries: VizeConfigEntry[];
620
+ };
621
+ type UserConfigExport = UserConfigInput | ((env: ConfigEnv) => MaybePromise<UserConfigInput>);
622
+ interface LoadConfigOptions {
623
+ /**
624
+ * Config file search mode
625
+ * - 'root': Search only in the specified root directory
626
+ * - 'auto': Search from cwd upward until finding a config file
627
+ * - 'none': Don't load config file
628
+ * @default 'root'
629
+ */
630
+ mode?: "root" | "auto" | "none";
631
+ /**
632
+ * Custom config file path (overrides automatic search)
633
+ */
634
+ configFile?: string;
635
+ /**
636
+ * Config environment for dynamic config resolution
637
+ */
638
+ env?: ConfigEnv;
639
+ }
640
+ //#endregion
641
+ //#region src/experimental-options.d.ts
642
+ type ExperimentalSwitch = boolean | null | Record<string, unknown>;
643
+ interface ExperimentalOptions {
644
+ vapor?: ExperimentalSwitch;
645
+ jsxVapor?: ExperimentalSwitch;
646
+ intagComment?: ExperimentalSwitch;
647
+ inTagComment?: ExperimentalSwitch;
648
+ pattenedTemplate?: ExperimentalSwitch;
649
+ patternedTemplate?: ExperimentalSwitch;
650
+ serverScript?: ExperimentalSwitch;
651
+ "server script"?: ExperimentalSwitch;
652
+ }
653
+ interface ExperimentalCompileFlags {
654
+ experimentalInTagComments?: boolean;
655
+ experimentalPatternedTemplate?: boolean;
656
+ experimentalServerScript?: boolean;
657
+ }
658
+ interface ExperimentalPluginOptions extends ExperimentalCompileFlags {
659
+ /** Experimental RFC opt-ins. Values other than `false` or `null` enable keys. */
660
+ experimentals?: ExperimentalOptions;
661
+ }
662
+ //#endregion
663
+ //#region src/types.d.ts
664
+ interface MacroArtifact {
665
+ kind: string;
666
+ name: string;
667
+ source: string;
668
+ content: string;
669
+ moduleCode?: string;
670
+ start: number;
671
+ end: number;
672
+ }
673
+ type VizeVueVersion = 0.11 | 1 | 2 | "2.7" | 3 | "legacy";
674
+ interface VizeCompatibilityOptions {
675
+ /**
676
+ * Host Vue version. Vue 0.11/1/2/2.7 opt into host-compiler compatibility.
677
+ */
678
+ vueVersion?: VizeVueVersion;
679
+ /**
680
+ * Keep .vue files on the existing Vue compiler for legacy Vue runtimes.
681
+ * @default true when vueVersion is 0.11, 1, 2, "2.7", or "legacy"
682
+ */
683
+ hostCompiler?: boolean;
684
+ /**
685
+ * Enable function-body output for CDN/global Vue evaluation.
686
+ */
687
+ scriptSetupInStandalone?: boolean;
688
+ /**
689
+ * Allow Vapor output for Options API SFCs when vapor is enabled.
690
+ */
691
+ optionsApiVapor?: boolean;
692
+ /**
693
+ * Override the host Nuxt major when this option object is shared with Nuxt.
694
+ */
695
+ nuxtVersion?: 2 | 3 | 4;
696
+ /**
697
+ * Override the host Webpack major when this option object is shared with unplugin.
698
+ */
699
+ webpackVersion?: 4 | 5;
700
+ }
701
+ interface VizeOptions extends ExperimentalPluginOptions {
702
+ /**
703
+ * Inline shared Vize config for Vite Plus-first projects.
704
+ * Direct plugin options still take precedence over these values.
705
+ */
706
+ config?: UserConfigExport;
707
+ /**
708
+ * Vue major version for the host project.
709
+ *
710
+ * Legacy Vue projects must keep their existing compiler plugin/loader in
711
+ * charge of SFC compilation. Set this to `0.11`, `1`, `2`, or `"legacy"` to
712
+ * make Vize a non-invasive compatibility plugin that does not intercept
713
+ * `.vue` requests or inject Vue 3 bundler defines.
714
+ *
715
+ * @default 3
716
+ */
717
+ vueVersion?: VizeVueVersion;
718
+ /**
719
+ * Opt-in compatibility features for unsupported host/runtime combinations.
720
+ */
721
+ compatibility?: VizeCompatibilityOptions;
722
+ /**
723
+ * Compilation output mode. Use "function" for CDN/global Vue evaluation.
724
+ * @default "module"
725
+ */
726
+ mode?: "module" | "function";
727
+ /**
728
+ * Module name for runtime imports.
729
+ * @default "vue"
730
+ */
731
+ runtimeModuleName?: string;
732
+ /**
733
+ * Global variable name for function/standalone output.
734
+ * @default "Vue"
735
+ */
736
+ runtimeGlobalName?: string;
737
+ /**
738
+ * Override the public base used for dev-time asset URLs such as /@fs paths.
739
+ * Useful for frameworks like Nuxt that serve Vite from a subpath (e.g. /_nuxt/).
740
+ */
741
+ devUrlBase?: string;
742
+ /**
743
+ * Files to include in compilation
744
+ * @default /\.vue$/
745
+ */
746
+ include?: string | RegExp | (string | RegExp)[];
747
+ /**
748
+ * Files to exclude from compilation
749
+ * @default /node_modules/
750
+ */
751
+ exclude?: string | RegExp | (string | RegExp)[];
752
+ /**
753
+ * Force production mode
754
+ * @default auto-detected from Vite config
755
+ */
756
+ isProduction?: boolean;
757
+ ssr?: boolean;
758
+ /** Enable source map generation */
759
+ sourceMap?: boolean;
760
+ /**
761
+ * Enable Vapor mode compilation
762
+ * @default false
763
+ */
764
+ vapor?: boolean;
765
+ /**
766
+ * Default output mode for `.jsx`/`.tsx` components without a `"use vue:*"`
767
+ * directive. Distinct from `vapor` (which targets `.vue` SFCs): a project can
768
+ * keep SFCs on VDOM while defaulting JSX to Vapor, or vice versa. A
769
+ * per-component `"use vue:vapor"` / `"use vue:vdom"` directive overrides it.
770
+ * @default "vdom"
771
+ */
772
+ jsxMode?: "vdom" | "vapor";
773
+ /**
774
+ * Treat lowercase non-HTML tags as custom renderer elements instead of Vue components.
775
+ * Useful for TresJS and other custom renderers.
776
+ * @default false
777
+ */
778
+ customRenderer?: boolean;
779
+ /**
780
+ * Template syntax compatibility mode.
781
+ * @default "standard"
782
+ */
783
+ templateSyntax?: "standard" | "strict" | "quirks";
784
+ /**
785
+ * Root directory to scan for .vue files
786
+ * @default Vite's root
787
+ */
788
+ root?: string;
789
+ /**
790
+ * Glob patterns to scan for .vue files during pre-compilation
791
+ * Use an empty array to disable startup pre-compilation and compile on demand.
792
+ * @default ['**\/*.vue']
793
+ */
794
+ scanPatterns?: string[];
795
+ /**
796
+ * Maximum number of Vue files to compile in a single native batch during
797
+ * pre-compilation. Lower values reduce peak V8 heap usage in large apps.
798
+ * @default 128
799
+ */
800
+ precompileBatchSize?: number;
801
+ /**
802
+ * Glob patterns to ignore during pre-compilation
803
+ * @default ['node_modules/**', 'dist/**', '.git/**', '.nuxt/**', '.output/**', '.nitro/**', 'coverage/**']
804
+ */
805
+ ignorePatterns?: string[];
806
+ /**
807
+ * Config file search mode
808
+ * - 'root': Search only in the project root directory
809
+ * - 'auto': Search from cwd upward until finding a config file
810
+ * - false: Disable config file loading
811
+ * @default 'root'
812
+ */
813
+ configMode?: "root" | "auto" | false;
814
+ /**
815
+ * Custom config file path (overrides automatic search)
816
+ */
817
+ configFile?: string;
818
+ /**
819
+ * Handle .vue files in node_modules (on-demand compilation).
820
+ * When true, vize will compile .vue files from node_modules that other plugins
821
+ * (like vite-plugin-vue-inspector) may import directly.
822
+ * Set to false if another Vue plugin (e.g. Nuxt) handles node_modules .vue files.
823
+ * @default true
824
+ */
825
+ handleNodeModulesVue?: boolean;
826
+ /**
827
+ * Enable debug logging
828
+ * @default false
829
+ */
830
+ debug?: boolean;
831
+ }
832
+ interface StyleBlockInfo {
833
+ /** Raw style content (uncompiled for preprocessor langs) */
834
+ content: string;
835
+ /** External source path from `<style src>`, when present */
836
+ src?: string | null;
837
+ /** Language of the style block (e.g., "css", "scss", "less", "sass", "stylus") */
838
+ lang: string | null;
839
+ /** Whether the style block has the scoped attribute */
840
+ scoped: boolean;
841
+ /** CSS Modules: true for unnamed `module`, or the binding name for `module="name"` */
842
+ module: boolean | string;
843
+ /** Index of this style block in the SFC */
844
+ index: number;
845
+ }
846
+ interface CompiledModule {
847
+ code: string;
848
+ css?: string;
849
+ scopeId: string;
850
+ hasScoped: boolean;
851
+ templateHash?: string;
852
+ styleHash?: string;
853
+ scriptHash?: string;
854
+ /** Compile-time macro artifacts extracted from the source SFC */
855
+ macroArtifacts?: MacroArtifact[];
856
+ /** Per-block style metadata extracted from the source SFC */
857
+ styles?: StyleBlockInfo[];
858
+ /** Files loaded through SFC `src` imports */
859
+ dependencies?: string[];
860
+ }
861
+ //#endregion
862
+ export { VizeVueVersion as a, ResolvedVizeConfig as c, VizeOptions as i, UserConfigExport as l, MacroArtifact as n, ConfigEnv as o, VizeCompatibilityOptions as r, LoadConfigOptions as s, CompiledModule as t, VizeConfig as u };