@microsoft/webui 0.0.18 → 0.0.19
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 +81 -18
- package/bin/webui +0 -0
- package/dist/index.d.ts +28 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -79
- package/dist/index.js.map +1 -1
- package/dist/projection/adapters/esbuild.d.ts +14 -0
- package/dist/projection/adapters/esbuild.d.ts.map +1 -0
- package/dist/projection/adapters/esbuild.js +426 -0
- package/dist/projection/adapters/esbuild.js.map +1 -0
- package/dist/projection/compiler.d.ts +12 -0
- package/dist/projection/compiler.d.ts.map +1 -0
- package/dist/projection/compiler.js +1166 -0
- package/dist/projection/compiler.js.map +1 -0
- package/dist/projection/diagnostics.d.ts +153 -0
- package/dist/projection/diagnostics.d.ts.map +1 -0
- package/dist/projection/diagnostics.js +210 -0
- package/dist/projection/diagnostics.js.map +1 -0
- package/dist/projection/fixtures/conformance.d.ts +40 -0
- package/dist/projection/fixtures/conformance.d.ts.map +1 -0
- package/dist/projection/fixtures/conformance.js +602 -0
- package/dist/projection/fixtures/conformance.js.map +1 -0
- package/dist/projection/graph.d.ts +144 -0
- package/dist/projection/graph.d.ts.map +1 -0
- package/dist/projection/graph.js +4 -0
- package/dist/projection/graph.js.map +1 -0
- package/dist/projection/index.d.ts +37 -0
- package/dist/projection/index.d.ts.map +1 -0
- package/dist/projection/index.js +17 -0
- package/dist/projection/index.js.map +1 -0
- package/dist/projection/loader.d.ts +10 -0
- package/dist/projection/loader.d.ts.map +1 -0
- package/dist/projection/loader.js +45 -0
- package/dist/projection/loader.js.map +1 -0
- package/dist/projection/manifest.d.ts +97 -0
- package/dist/projection/manifest.d.ts.map +1 -0
- package/dist/projection/manifest.js +340 -0
- package/dist/projection/manifest.js.map +1 -0
- package/package.json +31 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/projection/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable diagnostic codes for the WebUI state projection compiler.
|
|
3
|
+
*
|
|
4
|
+
* All codes are machine-readable and stable across versions. They appear in
|
|
5
|
+
* the `code` field of a `Diagnostic` object alongside `title`, `location`,
|
|
6
|
+
* `snippet`, and `help`. No color in diagnostic data; color is added only
|
|
7
|
+
* by the `webui-cli` output layer.
|
|
8
|
+
*
|
|
9
|
+
* See DESIGN.md §"Projection diagnostic codes" for the authoritative list
|
|
10
|
+
* and conditions.
|
|
11
|
+
*/
|
|
12
|
+
/** All stable projection diagnostic codes grouped by category. */
|
|
13
|
+
export declare const PROJECTION_CODES: {
|
|
14
|
+
/** TypeScript parse error in source file. */
|
|
15
|
+
readonly C001: "PROJ-C001";
|
|
16
|
+
/** Import specifier does not resolve to any module in the graph. */
|
|
17
|
+
readonly C002: "PROJ-C002";
|
|
18
|
+
/** Named import not found in the resolved module's exports. */
|
|
19
|
+
readonly C003: "PROJ-C003";
|
|
20
|
+
/**
|
|
21
|
+
* Decorator cannot be resolved to `observable` or `attr` from
|
|
22
|
+
* `@microsoft/webui-framework`; cannot prove exact keys.
|
|
23
|
+
*/
|
|
24
|
+
readonly C004: "PROJ-C004";
|
|
25
|
+
/**
|
|
26
|
+
* Base class cannot be resolved to a class declaration in the graph;
|
|
27
|
+
* cannot prove exact inherited keys.
|
|
28
|
+
*/
|
|
29
|
+
readonly C005: "PROJ-C005";
|
|
30
|
+
/**
|
|
31
|
+
* Class uses `@observable`/`@attr` decorators but its module source is
|
|
32
|
+
* unavailable (external/virtual module).
|
|
33
|
+
*/
|
|
34
|
+
readonly C006: "PROJ-C006";
|
|
35
|
+
/**
|
|
36
|
+
* Unsupported decorator form (computed property key, call-chain decorator,
|
|
37
|
+
* reflection-based).
|
|
38
|
+
*/
|
|
39
|
+
readonly C007: "PROJ-C007";
|
|
40
|
+
/** `define()` tag argument is not a string literal. */
|
|
41
|
+
readonly C008: "PROJ-C008";
|
|
42
|
+
/** `define()` class argument cannot be resolved to a class in the graph. */
|
|
43
|
+
readonly C009: "PROJ-C009";
|
|
44
|
+
/** Duplicate `define()` for the same tag within one adapter context. */
|
|
45
|
+
readonly C010: "PROJ-C010";
|
|
46
|
+
/** `Class.define(...)` called with wrong argument count. */
|
|
47
|
+
readonly C011: "PROJ-C011";
|
|
48
|
+
/** Circular import detected during symbol resolution. */
|
|
49
|
+
readonly C012: "PROJ-C012";
|
|
50
|
+
/** Adapter graph is internally inconsistent or omits a resolved edge. */
|
|
51
|
+
readonly C013: "PROJ-C013";
|
|
52
|
+
/** Adapter omitted exact bytes for a physical emitted output. */
|
|
53
|
+
readonly C014: "PROJ-C014";
|
|
54
|
+
/**
|
|
55
|
+
* Required peer `typescript` is absent or below the supported range.
|
|
56
|
+
*/
|
|
57
|
+
readonly P001: "PROJ-P001";
|
|
58
|
+
/**
|
|
59
|
+
* Required peer `esbuild` is absent or below the supported range
|
|
60
|
+
* (esbuild adapter only).
|
|
61
|
+
*/
|
|
62
|
+
readonly P002: "PROJ-P002";
|
|
63
|
+
/** Peer is present but above the tested range; results may differ. */
|
|
64
|
+
readonly P003: "PROJ-P003";
|
|
65
|
+
/** Manifest file is missing or unreadable. */
|
|
66
|
+
readonly M001: "PROJ-M001";
|
|
67
|
+
/** Manifest schema version is not `webui.state-projection/v1`. */
|
|
68
|
+
readonly M002: "PROJ-M002";
|
|
69
|
+
/** Declared input file hash does not match current file content (stale). */
|
|
70
|
+
readonly M003: "PROJ-M003";
|
|
71
|
+
/** Declared output file hash does not match current file content (stale). */
|
|
72
|
+
readonly M004: "PROJ-M004";
|
|
73
|
+
/** Manifest `buildId` does not match recomputed build ID. */
|
|
74
|
+
readonly M005: "PROJ-M005";
|
|
75
|
+
/** Same component tag owned by two or more manifests (duplicate ownership). */
|
|
76
|
+
readonly M006: "PROJ-M006";
|
|
77
|
+
/**
|
|
78
|
+
* Same path key in merged `inputs` or `outputs` has conflicting hashes
|
|
79
|
+
* across two manifests.
|
|
80
|
+
*/
|
|
81
|
+
readonly M007: "PROJ-M007";
|
|
82
|
+
/** Manifest JSON is syntactically invalid. */
|
|
83
|
+
readonly M008: "PROJ-M008";
|
|
84
|
+
/** Required manifest field is missing or has wrong type. */
|
|
85
|
+
readonly M009: "PROJ-M009";
|
|
86
|
+
/**
|
|
87
|
+
* Compiled scripted component has no manifest entry (missing coverage).
|
|
88
|
+
* Every component compiled into the protocol must have an entry.
|
|
89
|
+
*/
|
|
90
|
+
readonly B001: "PROJ-B001";
|
|
91
|
+
/** `--projection-manifest` supplied with a non-WebUI plugin. */
|
|
92
|
+
readonly B002: "PROJ-B002";
|
|
93
|
+
/** Manifest file exceeds the 16 MiB size limit. */
|
|
94
|
+
readonly S001: "PROJ-S001";
|
|
95
|
+
/** Manifest `components` count exceeds 65,535. */
|
|
96
|
+
readonly S002: "PROJ-S002";
|
|
97
|
+
/**
|
|
98
|
+
* Normalized path traverses outside the project root
|
|
99
|
+
* (path traversal attempt).
|
|
100
|
+
*/
|
|
101
|
+
readonly S003: "PROJ-S003";
|
|
102
|
+
/**
|
|
103
|
+
* Hash format is invalid (not `"sha256:<64 lowercase hex>"` or
|
|
104
|
+
* `"virtual"`).
|
|
105
|
+
*/
|
|
106
|
+
readonly S004: "PROJ-S004";
|
|
107
|
+
};
|
|
108
|
+
/** Union of all projection diagnostic code strings. */
|
|
109
|
+
export type ProjectionCode = (typeof PROJECTION_CODES)[keyof typeof PROJECTION_CODES];
|
|
110
|
+
/** Severity level for a projection diagnostic. */
|
|
111
|
+
export type DiagnosticSeverity = "error" | "warning";
|
|
112
|
+
/** A single projection diagnostic with stable code and actionable help. */
|
|
113
|
+
export interface ProjectionDiagnostic {
|
|
114
|
+
/** Stable machine-readable code, e.g. `"PROJ-C004"`. */
|
|
115
|
+
readonly code: ProjectionCode;
|
|
116
|
+
/** Human-readable title. */
|
|
117
|
+
readonly title: string;
|
|
118
|
+
/** Severity. */
|
|
119
|
+
readonly severity: DiagnosticSeverity;
|
|
120
|
+
/**
|
|
121
|
+
* Source location as `"owner:line:column"` when the exact byte is known,
|
|
122
|
+
* or `"in module <id>"` for module-level errors.
|
|
123
|
+
* Optional; absent for diagnostics that have no single source location.
|
|
124
|
+
*/
|
|
125
|
+
readonly location?: string;
|
|
126
|
+
/** The offending source snippet (a few lines of context). Optional. */
|
|
127
|
+
readonly snippet?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Actionable fix suggestion. May include "did you mean …?" for typos.
|
|
130
|
+
* Should always be present for errors.
|
|
131
|
+
*/
|
|
132
|
+
readonly help?: string;
|
|
133
|
+
}
|
|
134
|
+
/** Thrown when the projection compiler encounters one or more hard errors. */
|
|
135
|
+
export declare class ProjectionError extends Error {
|
|
136
|
+
readonly diagnostics: ReadonlyArray<ProjectionDiagnostic>;
|
|
137
|
+
constructor(diagnostics: ReadonlyArray<ProjectionDiagnostic>);
|
|
138
|
+
}
|
|
139
|
+
/** Severity table for every code (used by the CLI output layer). */
|
|
140
|
+
export declare const CODE_SEVERITY: Readonly<Record<ProjectionCode, DiagnosticSeverity>>;
|
|
141
|
+
/** Stable human-readable titles for every code, used by `createDiagnostic`. */
|
|
142
|
+
export declare const CODE_TITLES: Readonly<Record<ProjectionCode, string>>;
|
|
143
|
+
/**
|
|
144
|
+
* Builds a `ProjectionDiagnostic` for a stable code, filling in the title and
|
|
145
|
+
* severity from the stable tables and allowing callers to attach a
|
|
146
|
+
* location/snippet/help specific to the failure site.
|
|
147
|
+
*/
|
|
148
|
+
export declare function createDiagnostic(code: ProjectionCode, overrides?: {
|
|
149
|
+
location?: string;
|
|
150
|
+
snippet?: string;
|
|
151
|
+
help?: string;
|
|
152
|
+
}): ProjectionDiagnostic;
|
|
153
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/projection/diagnostics.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,kEAAkE;AAClE,eAAO,MAAM,gBAAgB;IAE3B,6CAA6C;;IAE7C,oEAAoE;;IAEpE,+DAA+D;;IAE/D;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH,uDAAuD;;IAEvD,4EAA4E;;IAE5E,wEAAwE;;IAExE,4DAA4D;;IAE5D,yDAAyD;;IAEzD,yEAAyE;;IAEzE,iEAAiE;;IAIjE;;OAEG;;IAEH;;;OAGG;;IAEH,sEAAsE;;IAItE,8CAA8C;;IAE9C,kEAAkE;;IAElE,4EAA4E;;IAE5E,6EAA6E;;IAE7E,6DAA6D;;IAE7D,+EAA+E;;IAE/E;;;OAGG;;IAEH,8CAA8C;;IAE9C,4DAA4D;;IAI5D;;;OAGG;;IAEH,gEAAgE;;IAIhE,mDAAmD;;IAEnD,kDAAkD;;IAElD;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8EAA8E;AAC9E,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBAE9C,WAAW,EAAE,aAAa,CAAC,oBAAoB,CAAC;CAM7D;AAED,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAiC9E,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAkChE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,EACpB,SAAS,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,oBAAoB,CAStB"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
/**
|
|
4
|
+
* Stable diagnostic codes for the WebUI state projection compiler.
|
|
5
|
+
*
|
|
6
|
+
* All codes are machine-readable and stable across versions. They appear in
|
|
7
|
+
* the `code` field of a `Diagnostic` object alongside `title`, `location`,
|
|
8
|
+
* `snippet`, and `help`. No color in diagnostic data; color is added only
|
|
9
|
+
* by the `webui-cli` output layer.
|
|
10
|
+
*
|
|
11
|
+
* See DESIGN.md §"Projection diagnostic codes" for the authoritative list
|
|
12
|
+
* and conditions.
|
|
13
|
+
*/
|
|
14
|
+
/** All stable projection diagnostic codes grouped by category. */
|
|
15
|
+
export const PROJECTION_CODES = {
|
|
16
|
+
// Compiler diagnostics
|
|
17
|
+
/** TypeScript parse error in source file. */
|
|
18
|
+
C001: "PROJ-C001",
|
|
19
|
+
/** Import specifier does not resolve to any module in the graph. */
|
|
20
|
+
C002: "PROJ-C002",
|
|
21
|
+
/** Named import not found in the resolved module's exports. */
|
|
22
|
+
C003: "PROJ-C003",
|
|
23
|
+
/**
|
|
24
|
+
* Decorator cannot be resolved to `observable` or `attr` from
|
|
25
|
+
* `@microsoft/webui-framework`; cannot prove exact keys.
|
|
26
|
+
*/
|
|
27
|
+
C004: "PROJ-C004",
|
|
28
|
+
/**
|
|
29
|
+
* Base class cannot be resolved to a class declaration in the graph;
|
|
30
|
+
* cannot prove exact inherited keys.
|
|
31
|
+
*/
|
|
32
|
+
C005: "PROJ-C005",
|
|
33
|
+
/**
|
|
34
|
+
* Class uses `@observable`/`@attr` decorators but its module source is
|
|
35
|
+
* unavailable (external/virtual module).
|
|
36
|
+
*/
|
|
37
|
+
C006: "PROJ-C006",
|
|
38
|
+
/**
|
|
39
|
+
* Unsupported decorator form (computed property key, call-chain decorator,
|
|
40
|
+
* reflection-based).
|
|
41
|
+
*/
|
|
42
|
+
C007: "PROJ-C007",
|
|
43
|
+
/** `define()` tag argument is not a string literal. */
|
|
44
|
+
C008: "PROJ-C008",
|
|
45
|
+
/** `define()` class argument cannot be resolved to a class in the graph. */
|
|
46
|
+
C009: "PROJ-C009",
|
|
47
|
+
/** Duplicate `define()` for the same tag within one adapter context. */
|
|
48
|
+
C010: "PROJ-C010",
|
|
49
|
+
/** `Class.define(...)` called with wrong argument count. */
|
|
50
|
+
C011: "PROJ-C011",
|
|
51
|
+
/** Circular import detected during symbol resolution. */
|
|
52
|
+
C012: "PROJ-C012",
|
|
53
|
+
/** Adapter graph is internally inconsistent or omits a resolved edge. */
|
|
54
|
+
C013: "PROJ-C013",
|
|
55
|
+
/** Adapter omitted exact bytes for a physical emitted output. */
|
|
56
|
+
C014: "PROJ-C014",
|
|
57
|
+
// Peer dependency diagnostics
|
|
58
|
+
/**
|
|
59
|
+
* Required peer `typescript` is absent or below the supported range.
|
|
60
|
+
*/
|
|
61
|
+
P001: "PROJ-P001",
|
|
62
|
+
/**
|
|
63
|
+
* Required peer `esbuild` is absent or below the supported range
|
|
64
|
+
* (esbuild adapter only).
|
|
65
|
+
*/
|
|
66
|
+
P002: "PROJ-P002",
|
|
67
|
+
/** Peer is present but above the tested range; results may differ. */
|
|
68
|
+
P003: "PROJ-P003",
|
|
69
|
+
// Manifest diagnostics
|
|
70
|
+
/** Manifest file is missing or unreadable. */
|
|
71
|
+
M001: "PROJ-M001",
|
|
72
|
+
/** Manifest schema version is not `webui.state-projection/v1`. */
|
|
73
|
+
M002: "PROJ-M002",
|
|
74
|
+
/** Declared input file hash does not match current file content (stale). */
|
|
75
|
+
M003: "PROJ-M003",
|
|
76
|
+
/** Declared output file hash does not match current file content (stale). */
|
|
77
|
+
M004: "PROJ-M004",
|
|
78
|
+
/** Manifest `buildId` does not match recomputed build ID. */
|
|
79
|
+
M005: "PROJ-M005",
|
|
80
|
+
/** Same component tag owned by two or more manifests (duplicate ownership). */
|
|
81
|
+
M006: "PROJ-M006",
|
|
82
|
+
/**
|
|
83
|
+
* Same path key in merged `inputs` or `outputs` has conflicting hashes
|
|
84
|
+
* across two manifests.
|
|
85
|
+
*/
|
|
86
|
+
M007: "PROJ-M007",
|
|
87
|
+
/** Manifest JSON is syntactically invalid. */
|
|
88
|
+
M008: "PROJ-M008",
|
|
89
|
+
/** Required manifest field is missing or has wrong type. */
|
|
90
|
+
M009: "PROJ-M009",
|
|
91
|
+
// Build validation diagnostics
|
|
92
|
+
/**
|
|
93
|
+
* Compiled scripted component has no manifest entry (missing coverage).
|
|
94
|
+
* Every component compiled into the protocol must have an entry.
|
|
95
|
+
*/
|
|
96
|
+
B001: "PROJ-B001",
|
|
97
|
+
/** `--projection-manifest` supplied with a non-WebUI plugin. */
|
|
98
|
+
B002: "PROJ-B002",
|
|
99
|
+
// Security and resource diagnostics
|
|
100
|
+
/** Manifest file exceeds the 16 MiB size limit. */
|
|
101
|
+
S001: "PROJ-S001",
|
|
102
|
+
/** Manifest `components` count exceeds 65,535. */
|
|
103
|
+
S002: "PROJ-S002",
|
|
104
|
+
/**
|
|
105
|
+
* Normalized path traverses outside the project root
|
|
106
|
+
* (path traversal attempt).
|
|
107
|
+
*/
|
|
108
|
+
S003: "PROJ-S003",
|
|
109
|
+
/**
|
|
110
|
+
* Hash format is invalid (not `"sha256:<64 lowercase hex>"` or
|
|
111
|
+
* `"virtual"`).
|
|
112
|
+
*/
|
|
113
|
+
S004: "PROJ-S004",
|
|
114
|
+
};
|
|
115
|
+
/** Thrown when the projection compiler encounters one or more hard errors. */
|
|
116
|
+
export class ProjectionError extends Error {
|
|
117
|
+
diagnostics;
|
|
118
|
+
constructor(diagnostics) {
|
|
119
|
+
const first = diagnostics[0];
|
|
120
|
+
super(first ? `${first.code}: ${first.title}` : "Projection failed");
|
|
121
|
+
this.name = "ProjectionError";
|
|
122
|
+
this.diagnostics = diagnostics;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/** Severity table for every code (used by the CLI output layer). */
|
|
126
|
+
export const CODE_SEVERITY = {
|
|
127
|
+
"PROJ-C001": "error",
|
|
128
|
+
"PROJ-C002": "error",
|
|
129
|
+
"PROJ-C003": "error",
|
|
130
|
+
"PROJ-C004": "error",
|
|
131
|
+
"PROJ-C005": "error",
|
|
132
|
+
"PROJ-C006": "error",
|
|
133
|
+
"PROJ-C007": "error",
|
|
134
|
+
"PROJ-C008": "error",
|
|
135
|
+
"PROJ-C009": "error",
|
|
136
|
+
"PROJ-C010": "error",
|
|
137
|
+
"PROJ-C011": "error",
|
|
138
|
+
"PROJ-C012": "error",
|
|
139
|
+
"PROJ-C013": "error",
|
|
140
|
+
"PROJ-C014": "error",
|
|
141
|
+
"PROJ-P001": "error",
|
|
142
|
+
"PROJ-P002": "error",
|
|
143
|
+
"PROJ-P003": "warning",
|
|
144
|
+
"PROJ-M001": "error",
|
|
145
|
+
"PROJ-M002": "error",
|
|
146
|
+
"PROJ-M003": "error",
|
|
147
|
+
"PROJ-M004": "error",
|
|
148
|
+
"PROJ-M005": "error",
|
|
149
|
+
"PROJ-M006": "error",
|
|
150
|
+
"PROJ-M007": "error",
|
|
151
|
+
"PROJ-M008": "error",
|
|
152
|
+
"PROJ-M009": "error",
|
|
153
|
+
"PROJ-B001": "error",
|
|
154
|
+
"PROJ-B002": "error",
|
|
155
|
+
"PROJ-S001": "error",
|
|
156
|
+
"PROJ-S002": "error",
|
|
157
|
+
"PROJ-S003": "error",
|
|
158
|
+
"PROJ-S004": "error",
|
|
159
|
+
};
|
|
160
|
+
/** Stable human-readable titles for every code, used by `createDiagnostic`. */
|
|
161
|
+
export const CODE_TITLES = {
|
|
162
|
+
"PROJ-C001": "TypeScript parse error in source file",
|
|
163
|
+
"PROJ-C002": "Import specifier does not resolve to any module in the graph",
|
|
164
|
+
"PROJ-C003": "Named import not found in the resolved module's exports",
|
|
165
|
+
"PROJ-C004": "Decorator cannot be resolved to observable or attr from @microsoft/webui-framework",
|
|
166
|
+
"PROJ-C005": "Base class cannot be resolved to a class declaration in the graph",
|
|
167
|
+
"PROJ-C006": "Class uses decorators but its module source is unavailable",
|
|
168
|
+
"PROJ-C007": "Unsupported decorator form",
|
|
169
|
+
"PROJ-C008": "define() tag argument is not a string literal",
|
|
170
|
+
"PROJ-C009": "define() class argument cannot be resolved to a class in the graph",
|
|
171
|
+
"PROJ-C010": "Duplicate define() for the same tag",
|
|
172
|
+
"PROJ-C011": "define() called with the wrong argument count",
|
|
173
|
+
"PROJ-C012": "Circular import detected during symbol resolution",
|
|
174
|
+
"PROJ-C013": "Adapter module graph is incomplete or inconsistent",
|
|
175
|
+
"PROJ-C014": "Adapter omitted bytes for a physical emitted output",
|
|
176
|
+
"PROJ-P001": "Required peer 'typescript' is absent or below the supported range",
|
|
177
|
+
"PROJ-P002": "Required peer 'esbuild' is absent or below the supported range",
|
|
178
|
+
"PROJ-P003": "Peer is present but above the tested range",
|
|
179
|
+
"PROJ-M001": "Manifest file is missing or unreadable",
|
|
180
|
+
"PROJ-M002": "Manifest schema version is unsupported",
|
|
181
|
+
"PROJ-M003": "Declared input file hash does not match current file content",
|
|
182
|
+
"PROJ-M004": "Declared output file hash does not match current file content",
|
|
183
|
+
"PROJ-M005": "Manifest buildId does not match recomputed build ID",
|
|
184
|
+
"PROJ-M006": "Same component tag owned by two or more manifests",
|
|
185
|
+
"PROJ-M007": "Same path key in merged inputs/outputs has conflicting hashes",
|
|
186
|
+
"PROJ-M008": "Manifest JSON is syntactically invalid",
|
|
187
|
+
"PROJ-M009": "Required manifest field is missing or has the wrong type",
|
|
188
|
+
"PROJ-B001": "Compiled scripted component has no manifest entry",
|
|
189
|
+
"PROJ-B002": "--projection-manifest supplied with a non-WebUI plugin",
|
|
190
|
+
"PROJ-S001": "Manifest file exceeds the 16 MiB size limit",
|
|
191
|
+
"PROJ-S002": "Manifest components count exceeds 65,535",
|
|
192
|
+
"PROJ-S003": "Normalized path traverses outside the project root",
|
|
193
|
+
"PROJ-S004": "Hash format is invalid",
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Builds a `ProjectionDiagnostic` for a stable code, filling in the title and
|
|
197
|
+
* severity from the stable tables and allowing callers to attach a
|
|
198
|
+
* location/snippet/help specific to the failure site.
|
|
199
|
+
*/
|
|
200
|
+
export function createDiagnostic(code, overrides = {}) {
|
|
201
|
+
return {
|
|
202
|
+
code,
|
|
203
|
+
title: CODE_TITLES[code],
|
|
204
|
+
severity: CODE_SEVERITY[code],
|
|
205
|
+
...(overrides.location !== undefined ? { location: overrides.location } : {}),
|
|
206
|
+
...(overrides.snippet !== undefined ? { snippet: overrides.snippet } : {}),
|
|
207
|
+
...(overrides.help !== undefined ? { help: overrides.help } : {}),
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/projection/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { AdapterContext, ModuleGraph, OutputMembership } from "../graph.js";
|
|
2
|
+
import type { ComponentEntry, ProjectionManifest } from "../manifest.js";
|
|
3
|
+
/** A single projection conformance scenario. */
|
|
4
|
+
export interface ConformanceCase {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly description: string;
|
|
7
|
+
readonly scope: "compiler" | "rust";
|
|
8
|
+
readonly graph: ModuleGraph;
|
|
9
|
+
readonly membership: OutputMembership;
|
|
10
|
+
readonly outputContents: ReadonlyMap<string, string | Uint8Array>;
|
|
11
|
+
readonly expectedComponents: Readonly<Record<string, ComponentEntry>> | null;
|
|
12
|
+
readonly expectedDiagnosticCodes: ReadonlyArray<string>;
|
|
13
|
+
}
|
|
14
|
+
/** Summary of one conformance run. */
|
|
15
|
+
export interface ConformanceReport {
|
|
16
|
+
readonly passed: ReadonlyArray<string>;
|
|
17
|
+
readonly failed: ReadonlyArray<ConformanceFailure>;
|
|
18
|
+
readonly skipped: ReadonlyArray<string>;
|
|
19
|
+
}
|
|
20
|
+
/** One failed conformance assertion. */
|
|
21
|
+
export interface ConformanceFailure {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
readonly reason: string;
|
|
24
|
+
readonly expected: unknown;
|
|
25
|
+
readonly actual: unknown;
|
|
26
|
+
}
|
|
27
|
+
/** Adapter/compiler entry point accepted by the suite. */
|
|
28
|
+
export type AdapterFactory = (context: AdapterContext) => Promise<ProjectionManifest>;
|
|
29
|
+
/** Optional conformance selection. */
|
|
30
|
+
export interface ConformanceSuiteOptions {
|
|
31
|
+
filter?: (value: ConformanceCase) => boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Run all compiler-scoped fixtures, including byte-for-byte determinism and
|
|
35
|
+
* full manifest structural/hash validation.
|
|
36
|
+
*/
|
|
37
|
+
export declare function runConformanceSuite(adapterFactory: AdapterFactory, options?: ConformanceSuiteOptions): Promise<ConformanceReport>;
|
|
38
|
+
/** Canonical compiler and host conformance cases. */
|
|
39
|
+
export declare const ALL_CASES: ReadonlyArray<ConformanceCase>;
|
|
40
|
+
//# sourceMappingURL=conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../../src/projection/fixtures/conformance.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EAEX,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAUxB,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IAClE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7E,QAAQ,CAAC,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,sCAAsC;AACtC,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC;CAC9C;AASD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CA6E5B;AA8TD,qDAAqD;AACrD,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,eAAe,CAumBpD,CAAC"}
|