vue-html-bridge 0.1.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,92 @@
1
+ export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
2
+ readonly [key: string]: JsonValue;
3
+ };
4
+ export interface OffsetRange {
5
+ start: number;
6
+ end: number;
7
+ }
8
+ export interface SourceRange extends OffsetRange {
9
+ filename: string;
10
+ }
11
+ export type GeneratedRange = OffsetRange;
12
+ export interface TypeAnalysisFs {
13
+ fileExists(filename: string): boolean;
14
+ readFile(filename: string): string | undefined;
15
+ }
16
+ export interface TypeAnalysisContext {
17
+ readonly fs: TypeAnalysisFs;
18
+ readonly epoch: number;
19
+ invalidate(filenames: readonly string[]): void;
20
+ }
21
+ export interface GenerateOptions {
22
+ warnVariantCount?: number;
23
+ customElements?: readonly string[];
24
+ }
25
+ export interface GenerateRequest {
26
+ filename: string;
27
+ source: string;
28
+ options?: GenerateOptions;
29
+ typeContext?: TypeAnalysisContext;
30
+ signal?: AbortSignal;
31
+ }
32
+ export interface GenerateResult {
33
+ variants: readonly HtmlVariant[];
34
+ diagnostics: readonly CoreDiagnostic[];
35
+ stats: GenerationStats;
36
+ templateRange?: SourceRange;
37
+ }
38
+ export interface HtmlVariant {
39
+ id: string;
40
+ ordinal: number;
41
+ html: string;
42
+ decisions: readonly DecisionAssignment[];
43
+ map: readonly MappingEntry[];
44
+ }
45
+ export interface DecisionAssignment {
46
+ decisionId: string;
47
+ displayName: string;
48
+ value: JsonValue;
49
+ }
50
+ export type GeneratedValueProvenance = {
51
+ kind: "source-literal";
52
+ sourceRange: SourceRange;
53
+ } | {
54
+ kind: "finite-domain";
55
+ sourceRange: SourceRange;
56
+ decisionId: string;
57
+ } | {
58
+ kind: "synthetic";
59
+ sourceRange: SourceRange;
60
+ transformation: "vue-event" | "v-model" | "text-placeholder";
61
+ } | {
62
+ kind: "sentinel";
63
+ sourceRange: SourceRange;
64
+ reason: "non-finite-type" | "unresolved-expression";
65
+ originalType?: string;
66
+ };
67
+ export interface MappingEntry {
68
+ generated: GeneratedRange;
69
+ source: SourceRange;
70
+ kind: "element-name" | "attribute-name" | "attribute-value" | "text";
71
+ provenance: GeneratedValueProvenance;
72
+ }
73
+ export interface SourceOrigin {
74
+ entry: MappingEntry;
75
+ overlap: number;
76
+ }
77
+ export interface CoreDiagnostic {
78
+ code: string;
79
+ severity: "error" | "warning" | "info";
80
+ message: string;
81
+ sourceRange: SourceRange;
82
+ relatedRanges?: readonly SourceRange[];
83
+ }
84
+ export interface GenerationStats {
85
+ decisionCount: number;
86
+ candidateCount: number;
87
+ emittedCount: number;
88
+ uniqueHtmlCount: number;
89
+ durationMs: number;
90
+ warningThresholdExceeded: boolean;
91
+ }
92
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "vue-html-bridge",
3
+ "version": "0.1.0",
4
+ "license": "MIT",
5
+ "description": "Parses a Vue 3 SFC template and generates static HTML variants with source mapping.",
6
+ "type": "module",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./package.json": "./package.json"
13
+ },
14
+ "types": "./dist/index.d.ts",
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "dependencies": {
19
+ "@vue/compiler-core": "3.5.41",
20
+ "@vue/compiler-dom": "3.5.41",
21
+ "@vue/compiler-sfc": "3.5.41",
22
+ "typescript": "6.0.3"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "26.2.0"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc -p tsconfig.build.json",
29
+ "typecheck": "tsc -p tsconfig.json",
30
+ "test": "vitest run"
31
+ }
32
+ }