@caryhu/codemine-forge 0.0.1-alpha.1 → 0.0.1-alpha.3
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/dist/build-pipeline/browser-bundle.d.ts +2 -1
- package/dist/build-pipeline/browser-bundle.js +204 -24
- package/dist/build-pipeline/diagnostics.js +1 -1
- package/dist/build-pipeline/index.d.ts +1 -1
- package/dist/build-pipeline/pipeline.js +28 -30
- package/dist/build-pipeline/types.d.ts +18 -0
- package/dist/build-pipeline/vite-config.d.ts +8 -0
- package/dist/build-pipeline/vite-config.js +215 -0
- package/dist/dev-server-preview/index.d.ts +2 -2
- package/dist/dev-server-preview/index.js +2 -1
- package/dist/dev-server-preview/preview-document.d.ts +2 -1
- package/dist/dev-server-preview/preview-document.js +203 -1
- package/dist/dev-server-preview/server.d.ts +8 -1
- package/dist/dev-server-preview/server.js +246 -32
- package/dist/dev-server-preview/types.d.ts +38 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -2
- package/package.json +3 -2
|
@@ -34,10 +34,15 @@ class DefaultDevServerPreview {
|
|
|
34
34
|
},
|
|
35
35
|
};
|
|
36
36
|
this.sessions.set(sessionId, record);
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
39
|
-
return this.failStart(record,
|
|
37
|
+
const devManifestResult = await this.readDevManifest();
|
|
38
|
+
if (!devManifestResult.success) {
|
|
39
|
+
return this.failStart(record, devManifestResult.diagnostics, "dev-script");
|
|
40
40
|
}
|
|
41
|
+
record.adapter = selectDevServerAdapter(devManifestResult.manifest);
|
|
42
|
+
record.session = {
|
|
43
|
+
...record.session,
|
|
44
|
+
adapter: record.adapter,
|
|
45
|
+
};
|
|
41
46
|
const buildResult = await this.options.buildPipeline.build({
|
|
42
47
|
entry: options.entry,
|
|
43
48
|
signal: options.signal,
|
|
@@ -45,15 +50,19 @@ class DefaultDevServerPreview {
|
|
|
45
50
|
if (!buildResult.success) {
|
|
46
51
|
return this.failStart(record, buildResult.diagnostics, "initial-build", buildResult);
|
|
47
52
|
}
|
|
48
|
-
const previewDocument = await this.createPreviewDocument(sessionId, previewUrl, 1, buildResult);
|
|
53
|
+
const previewDocument = await this.createPreviewDocument(sessionId, previewUrl, 1, buildResult, record.adapter);
|
|
54
|
+
record.lastSuccessfulBuildResult = buildResult;
|
|
55
|
+
record.lastSuccessfulPreviewDocument = previewDocument;
|
|
49
56
|
const session = {
|
|
50
57
|
...record.session,
|
|
51
58
|
status: "running",
|
|
59
|
+
adapter: record.adapter,
|
|
52
60
|
revision: 1,
|
|
53
61
|
updatedAt: this.now(),
|
|
54
62
|
diagnostics: buildResult.diagnostics,
|
|
55
63
|
buildResult,
|
|
56
64
|
previewDocument,
|
|
65
|
+
errorOverlayDocument: undefined,
|
|
57
66
|
};
|
|
58
67
|
record.session = session;
|
|
59
68
|
record.unsubscribe = this.options.fileSystem.watch((event) => {
|
|
@@ -88,6 +97,7 @@ class DefaultDevServerPreview {
|
|
|
88
97
|
status: "stopped",
|
|
89
98
|
updatedAt: this.now(),
|
|
90
99
|
diagnostics: [],
|
|
100
|
+
errorOverlayDocument: undefined,
|
|
91
101
|
};
|
|
92
102
|
record.session = session;
|
|
93
103
|
this.emit({ type: "dev:session-stopped", session });
|
|
@@ -106,21 +116,34 @@ class DefaultDevServerPreview {
|
|
|
106
116
|
this.listeners.delete(listener);
|
|
107
117
|
};
|
|
108
118
|
}
|
|
109
|
-
async
|
|
119
|
+
async readDevManifest() {
|
|
110
120
|
try {
|
|
111
121
|
const manifest = await (0, package_resolution_1.readPackageManifest)(this.options.fileSystem);
|
|
112
122
|
const devScript = manifest.scripts.dev;
|
|
113
123
|
if (devScript === undefined) {
|
|
114
|
-
return
|
|
124
|
+
return {
|
|
125
|
+
success: false,
|
|
126
|
+
diagnostics: [(0, diagnostics_1.createMissingDevScriptDiagnostic)()],
|
|
127
|
+
};
|
|
115
128
|
}
|
|
116
129
|
if (!isSupportedViteDevScript(devScript)) {
|
|
117
|
-
return
|
|
130
|
+
return {
|
|
131
|
+
success: false,
|
|
132
|
+
diagnostics: [(0, diagnostics_1.createUnsupportedDevScriptDiagnostic)(devScript)],
|
|
133
|
+
};
|
|
118
134
|
}
|
|
119
|
-
return
|
|
135
|
+
return {
|
|
136
|
+
success: true,
|
|
137
|
+
diagnostics: [],
|
|
138
|
+
manifest,
|
|
139
|
+
};
|
|
120
140
|
}
|
|
121
141
|
catch (error) {
|
|
122
142
|
if (error instanceof package_resolution_1.ForgePackageResolutionError) {
|
|
123
|
-
return
|
|
143
|
+
return {
|
|
144
|
+
success: false,
|
|
145
|
+
diagnostics: [error.diagnostic],
|
|
146
|
+
};
|
|
124
147
|
}
|
|
125
148
|
throw error;
|
|
126
149
|
}
|
|
@@ -154,13 +177,59 @@ class DefaultDevServerPreview {
|
|
|
154
177
|
return;
|
|
155
178
|
}
|
|
156
179
|
const previous = record.rebuildQueue ?? Promise.resolve(undefined);
|
|
157
|
-
const next = previous.then(() => this.
|
|
180
|
+
const next = previous.then(() => this.handleWorkspaceChange(record, event, change.reason));
|
|
158
181
|
record.rebuildQueue = next;
|
|
159
182
|
void next.catch(() => {
|
|
160
183
|
record.rebuildQueue = undefined;
|
|
161
184
|
});
|
|
162
185
|
}
|
|
163
|
-
async
|
|
186
|
+
async handleWorkspaceChange(record, event, reason) {
|
|
187
|
+
const cssPath = getUpdatedCssPath(event);
|
|
188
|
+
if (cssPath !== undefined &&
|
|
189
|
+
record.session.status === "running" &&
|
|
190
|
+
this.wasCssPathBundled(record, cssPath)) {
|
|
191
|
+
await this.performStyleUpdate(record, cssPath, reason);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const scriptPath = getUpdatedScriptModulePath(event);
|
|
195
|
+
if (scriptPath !== undefined &&
|
|
196
|
+
record.session.status === "running" &&
|
|
197
|
+
this.wasWorkspaceModuleBundled(record, scriptPath)) {
|
|
198
|
+
return this.performModuleUpdate(record, scriptPath, reason);
|
|
199
|
+
}
|
|
200
|
+
return this.performRebuild(record, reason, record.entry);
|
|
201
|
+
}
|
|
202
|
+
wasCssPathBundled(record, path) {
|
|
203
|
+
const styleId = createForgeCssStyleId(path);
|
|
204
|
+
return (record.lastSuccessfulBuildResult?.outputFiles.some((file) => file.contentType === "text/javascript" &&
|
|
205
|
+
file.content.includes(styleId)) ?? false);
|
|
206
|
+
}
|
|
207
|
+
wasWorkspaceModuleBundled(record, path) {
|
|
208
|
+
return (record.lastSuccessfulBuildResult?.browserBundle?.modules.some((moduleRecord) => moduleRecord.origin === "workspace" &&
|
|
209
|
+
moduleRecord.sourcePath === path) ?? false);
|
|
210
|
+
}
|
|
211
|
+
async performStyleUpdate(record, sourcePath, reason) {
|
|
212
|
+
const content = await this.options.fileSystem.readText(sourcePath);
|
|
213
|
+
const session = {
|
|
214
|
+
...record.session,
|
|
215
|
+
status: "running",
|
|
216
|
+
updatedAt: this.now(),
|
|
217
|
+
errorOverlayDocument: undefined,
|
|
218
|
+
};
|
|
219
|
+
record.session = session;
|
|
220
|
+
this.emit({
|
|
221
|
+
type: "preview:style-updated",
|
|
222
|
+
session,
|
|
223
|
+
styleUpdate: {
|
|
224
|
+
content,
|
|
225
|
+
contentType: "text/css",
|
|
226
|
+
sourcePath,
|
|
227
|
+
styleId: createForgeCssStyleId(sourcePath),
|
|
228
|
+
},
|
|
229
|
+
reason,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async performModuleUpdate(record, sourcePath, reason) {
|
|
164
233
|
if (record.session.status === "stopped") {
|
|
165
234
|
const diagnostic = (0, diagnostics_1.createSessionStoppedDiagnostic)(record.session.id);
|
|
166
235
|
return {
|
|
@@ -169,37 +238,74 @@ class DefaultDevServerPreview {
|
|
|
169
238
|
diagnostics: [diagnostic],
|
|
170
239
|
};
|
|
171
240
|
}
|
|
241
|
+
const previousBuildResult = record.lastSuccessfulBuildResult;
|
|
172
242
|
record.session = {
|
|
173
243
|
...record.session,
|
|
174
244
|
status: "rebuilding",
|
|
175
245
|
updatedAt: this.now(),
|
|
246
|
+
errorOverlayDocument: undefined,
|
|
176
247
|
};
|
|
177
|
-
const buildResult = await this.options.buildPipeline.build({
|
|
248
|
+
const buildResult = await this.options.buildPipeline.build({
|
|
249
|
+
entry: record.entry,
|
|
250
|
+
});
|
|
178
251
|
if (!buildResult.success) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
252
|
+
return this.completeFailedRebuild(record, reason, buildResult);
|
|
253
|
+
}
|
|
254
|
+
const moduleUpdate = createModuleUpdate(previousBuildResult, buildResult, sourcePath);
|
|
255
|
+
if (moduleUpdate === undefined) {
|
|
256
|
+
return this.completeSuccessfulRefresh(record, reason, buildResult);
|
|
257
|
+
}
|
|
258
|
+
record.lastSuccessfulBuildResult = buildResult;
|
|
259
|
+
const session = {
|
|
260
|
+
...record.session,
|
|
261
|
+
status: "running",
|
|
262
|
+
updatedAt: this.now(),
|
|
263
|
+
diagnostics: buildResult.diagnostics,
|
|
264
|
+
buildResult,
|
|
265
|
+
previewDocument: record.lastSuccessfulPreviewDocument ?? record.session.previewDocument,
|
|
266
|
+
errorOverlayDocument: undefined,
|
|
267
|
+
};
|
|
268
|
+
record.session = session;
|
|
269
|
+
this.emit({
|
|
270
|
+
type: "preview:module-updated",
|
|
271
|
+
session,
|
|
272
|
+
moduleUpdate,
|
|
273
|
+
buildResult,
|
|
274
|
+
reason,
|
|
275
|
+
});
|
|
276
|
+
return {
|
|
277
|
+
success: true,
|
|
278
|
+
session,
|
|
279
|
+
diagnostics: buildResult.diagnostics,
|
|
280
|
+
buildResult,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
async performRebuild(record, reason, entry, signal) {
|
|
284
|
+
if (record.session.status === "stopped") {
|
|
285
|
+
const diagnostic = (0, diagnostics_1.createSessionStoppedDiagnostic)(record.session.id);
|
|
194
286
|
return {
|
|
195
287
|
success: false,
|
|
196
|
-
session,
|
|
197
|
-
diagnostics:
|
|
198
|
-
buildResult,
|
|
288
|
+
session: record.session,
|
|
289
|
+
diagnostics: [diagnostic],
|
|
199
290
|
};
|
|
200
291
|
}
|
|
292
|
+
record.session = {
|
|
293
|
+
...record.session,
|
|
294
|
+
status: "rebuilding",
|
|
295
|
+
updatedAt: this.now(),
|
|
296
|
+
errorOverlayDocument: undefined,
|
|
297
|
+
};
|
|
298
|
+
const buildResult = await this.options.buildPipeline.build({ entry, signal });
|
|
299
|
+
if (!buildResult.success) {
|
|
300
|
+
return this.completeFailedRebuild(record, reason, buildResult);
|
|
301
|
+
}
|
|
302
|
+
return this.completeSuccessfulRefresh(record, reason, buildResult);
|
|
303
|
+
}
|
|
304
|
+
async completeSuccessfulRefresh(record, reason, buildResult) {
|
|
201
305
|
const revision = record.session.revision + 1;
|
|
202
|
-
const previewDocument = await this.createPreviewDocument(record.session.id, record.session.previewUrl, revision, buildResult);
|
|
306
|
+
const previewDocument = await this.createPreviewDocument(record.session.id, record.session.previewUrl, revision, buildResult, record.adapter);
|
|
307
|
+
record.lastSuccessfulBuildResult = buildResult;
|
|
308
|
+
record.lastSuccessfulPreviewDocument = previewDocument;
|
|
203
309
|
const session = {
|
|
204
310
|
...record.session,
|
|
205
311
|
status: "running",
|
|
@@ -208,6 +314,7 @@ class DefaultDevServerPreview {
|
|
|
208
314
|
diagnostics: buildResult.diagnostics,
|
|
209
315
|
buildResult,
|
|
210
316
|
previewDocument,
|
|
317
|
+
errorOverlayDocument: undefined,
|
|
211
318
|
};
|
|
212
319
|
record.session = session;
|
|
213
320
|
this.emit({
|
|
@@ -223,11 +330,41 @@ class DefaultDevServerPreview {
|
|
|
223
330
|
buildResult,
|
|
224
331
|
};
|
|
225
332
|
}
|
|
226
|
-
|
|
333
|
+
completeFailedRebuild(record, reason, buildResult) {
|
|
334
|
+
const previousPreviewDocument = record.lastSuccessfulPreviewDocument ?? record.session.previewDocument;
|
|
335
|
+
const errorOverlayDocument = previousPreviewDocument === undefined
|
|
336
|
+
? undefined
|
|
337
|
+
: (0, preview_document_1.createForgePreviewErrorOverlayDocument)(previousPreviewDocument, buildResult.diagnostics);
|
|
338
|
+
const session = {
|
|
339
|
+
...record.session,
|
|
340
|
+
status: "failed",
|
|
341
|
+
updatedAt: this.now(),
|
|
342
|
+
diagnostics: buildResult.diagnostics,
|
|
343
|
+
buildResult,
|
|
344
|
+
previewDocument: previousPreviewDocument,
|
|
345
|
+
errorOverlayDocument,
|
|
346
|
+
};
|
|
347
|
+
record.session = session;
|
|
348
|
+
this.emit({
|
|
349
|
+
type: "dev:session-failed",
|
|
350
|
+
session,
|
|
351
|
+
diagnostics: buildResult.diagnostics,
|
|
352
|
+
buildResult,
|
|
353
|
+
reason,
|
|
354
|
+
});
|
|
355
|
+
return {
|
|
356
|
+
success: false,
|
|
357
|
+
session,
|
|
358
|
+
diagnostics: buildResult.diagnostics,
|
|
359
|
+
buildResult,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
async createPreviewDocument(sessionId, previewUrl, revision, buildResult, adapter) {
|
|
227
363
|
const htmlShell = (await this.options.fileSystem.exists("/index.html"))
|
|
228
364
|
? await this.options.fileSystem.readText("/index.html")
|
|
229
365
|
: undefined;
|
|
230
366
|
return (0, preview_document_1.createForgePreviewDocument)({
|
|
367
|
+
adapter,
|
|
231
368
|
buildResult,
|
|
232
369
|
htmlShell,
|
|
233
370
|
previewUrl,
|
|
@@ -269,6 +406,30 @@ exports.isSupportedViteDevScript = isSupportedViteDevScript;
|
|
|
269
406
|
function createPreviewUrl(sessionId) {
|
|
270
407
|
return `/preview/${encodeURIComponent(sessionId)}/`;
|
|
271
408
|
}
|
|
409
|
+
function selectDevServerAdapter(manifest) {
|
|
410
|
+
const dependencies = {
|
|
411
|
+
...manifest.dependencies,
|
|
412
|
+
...manifest.devDependencies,
|
|
413
|
+
};
|
|
414
|
+
if ("react" in dependencies || "react-dom" in dependencies) {
|
|
415
|
+
return createDevServerAdapterMetadata("vite-react", "react");
|
|
416
|
+
}
|
|
417
|
+
if ("vue" in dependencies) {
|
|
418
|
+
return createDevServerAdapterMetadata("vite-vue", "vue");
|
|
419
|
+
}
|
|
420
|
+
return createDevServerAdapterMetadata("vite-vanilla", "vanilla");
|
|
421
|
+
}
|
|
422
|
+
function createDevServerAdapterMetadata(name, framework) {
|
|
423
|
+
return {
|
|
424
|
+
framework,
|
|
425
|
+
hmrMode: "hmr-lite",
|
|
426
|
+
name,
|
|
427
|
+
preservesState: false,
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
function createForgeCssStyleId(path) {
|
|
431
|
+
return `forge-css:${path}`;
|
|
432
|
+
}
|
|
272
433
|
function describeFileChange(event) {
|
|
273
434
|
const path = event.type === "file:renamed" ? event.to : event.path;
|
|
274
435
|
if (path.startsWith("/.forge/")) {
|
|
@@ -278,3 +439,56 @@ function describeFileChange(event) {
|
|
|
278
439
|
reason: `${event.type}:${path}`,
|
|
279
440
|
};
|
|
280
441
|
}
|
|
442
|
+
function getUpdatedCssPath(event) {
|
|
443
|
+
return event.type === "file:updated" &&
|
|
444
|
+
event.path.endsWith(".css") &&
|
|
445
|
+
!event.path.endsWith(".module.css")
|
|
446
|
+
? event.path
|
|
447
|
+
: undefined;
|
|
448
|
+
}
|
|
449
|
+
function getUpdatedScriptModulePath(event) {
|
|
450
|
+
return event.type === "file:updated" && isHmrScriptPath(event.path)
|
|
451
|
+
? event.path
|
|
452
|
+
: undefined;
|
|
453
|
+
}
|
|
454
|
+
function createModuleUpdate(previousBuildResult, buildResult, sourcePath) {
|
|
455
|
+
const previousBundle = previousBuildResult?.browserBundle;
|
|
456
|
+
const nextBundle = buildResult.browserBundle;
|
|
457
|
+
if (previousBundle === undefined ||
|
|
458
|
+
nextBundle === undefined ||
|
|
459
|
+
previousBundle.entry === sourcePath ||
|
|
460
|
+
nextBundle.entry === sourcePath ||
|
|
461
|
+
!sameOutputPaths(previousBundle.outputPaths, nextBundle.outputPaths)) {
|
|
462
|
+
return undefined;
|
|
463
|
+
}
|
|
464
|
+
const previousModule = findWorkspaceModule(previousBundle.modules, sourcePath);
|
|
465
|
+
const nextModule = findWorkspaceModule(nextBundle.modules, sourcePath);
|
|
466
|
+
if (previousModule === undefined ||
|
|
467
|
+
nextModule === undefined ||
|
|
468
|
+
previousModule.outputPath !== nextModule.outputPath) {
|
|
469
|
+
return undefined;
|
|
470
|
+
}
|
|
471
|
+
const outputFile = buildResult.outputFiles.find((file) => file.path === nextModule.outputPath &&
|
|
472
|
+
file.contentType === "text/javascript");
|
|
473
|
+
return outputFile === undefined
|
|
474
|
+
? undefined
|
|
475
|
+
: {
|
|
476
|
+
content: outputFile.content,
|
|
477
|
+
contentType: "text/javascript",
|
|
478
|
+
outputPath: nextModule.outputPath,
|
|
479
|
+
sourcePath,
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
function findWorkspaceModule(modules, sourcePath) {
|
|
483
|
+
return modules.find((moduleRecord) => moduleRecord.origin === "workspace" &&
|
|
484
|
+
moduleRecord.sourcePath === sourcePath);
|
|
485
|
+
}
|
|
486
|
+
function sameOutputPaths(left, right) {
|
|
487
|
+
const sortedLeft = [...left].sort();
|
|
488
|
+
const sortedRight = [...right].sort();
|
|
489
|
+
return (sortedLeft.length === sortedRight.length &&
|
|
490
|
+
sortedLeft.every((path, index) => path === sortedRight[index]));
|
|
491
|
+
}
|
|
492
|
+
function isHmrScriptPath(path) {
|
|
493
|
+
return /\.(?:jsx?|tsx?)$/i.test(path);
|
|
494
|
+
}
|
|
@@ -4,6 +4,15 @@ import type { ForgeFileEvent, ForgeUnsubscribe, ForgeVirtualFileSystem } from ".
|
|
|
4
4
|
export declare const DEV_SERVER_PREVIEW_CAPABILITY: "dev-server-preview";
|
|
5
5
|
export type ForgeDevSessionStatus = "starting" | "running" | "rebuilding" | "stopped" | "failed";
|
|
6
6
|
export type ForgeDevServerPreviewDiagnosticCode = "missing_dev_script" | "session_not_found" | "session_stopped" | "unsupported_dev_script";
|
|
7
|
+
export type ForgeDevServerAdapterName = "vite-react" | "vite-vanilla" | "vite-vue";
|
|
8
|
+
export type ForgeDevServerAdapterFramework = "react" | "vanilla" | "vue";
|
|
9
|
+
export type ForgeDevServerAdapterHmrMode = "hmr-lite";
|
|
10
|
+
export interface ForgeDevServerAdapterMetadata {
|
|
11
|
+
readonly framework: ForgeDevServerAdapterFramework;
|
|
12
|
+
readonly hmrMode: ForgeDevServerAdapterHmrMode;
|
|
13
|
+
readonly name: ForgeDevServerAdapterName;
|
|
14
|
+
readonly preservesState: false;
|
|
15
|
+
}
|
|
7
16
|
export interface ForgeDevServerPreviewDiagnostic {
|
|
8
17
|
readonly code: ForgeDevServerPreviewDiagnosticCode;
|
|
9
18
|
readonly severity: "error";
|
|
@@ -19,7 +28,20 @@ export interface ForgePreviewDocument {
|
|
|
19
28
|
readonly revision: number;
|
|
20
29
|
readonly sessionId: string;
|
|
21
30
|
}
|
|
31
|
+
export interface ForgePreviewStyleUpdate {
|
|
32
|
+
readonly content: string;
|
|
33
|
+
readonly contentType: "text/css";
|
|
34
|
+
readonly sourcePath: string;
|
|
35
|
+
readonly styleId: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ForgePreviewModuleUpdate {
|
|
38
|
+
readonly content: string;
|
|
39
|
+
readonly contentType: "text/javascript";
|
|
40
|
+
readonly outputPath: string;
|
|
41
|
+
readonly sourcePath: string;
|
|
42
|
+
}
|
|
22
43
|
export interface ForgeDevSession {
|
|
44
|
+
readonly adapter?: ForgeDevServerAdapterMetadata;
|
|
23
45
|
readonly id: string;
|
|
24
46
|
readonly status: ForgeDevSessionStatus;
|
|
25
47
|
readonly previewUrl: string;
|
|
@@ -29,6 +51,7 @@ export interface ForgeDevSession {
|
|
|
29
51
|
readonly diagnostics: readonly ForgeDevSessionDiagnostic[];
|
|
30
52
|
readonly buildResult?: ForgeBuildResult;
|
|
31
53
|
readonly previewDocument?: ForgePreviewDocument;
|
|
54
|
+
readonly errorOverlayDocument?: ForgePreviewDocument;
|
|
32
55
|
}
|
|
33
56
|
export interface ForgeStartDevSessionOptions {
|
|
34
57
|
readonly entry?: string;
|
|
@@ -57,7 +80,7 @@ export interface ForgeDevSessionStopResult {
|
|
|
57
80
|
readonly session?: ForgeDevSession;
|
|
58
81
|
readonly diagnostics: readonly ForgeDevSessionDiagnostic[];
|
|
59
82
|
}
|
|
60
|
-
export type ForgeDevServerPreviewEvent = ForgeDevSessionFailedEvent | ForgeDevSessionStartedEvent | ForgeDevSessionStoppedEvent | ForgePreviewRefreshedEvent;
|
|
83
|
+
export type ForgeDevServerPreviewEvent = ForgeDevSessionFailedEvent | ForgePreviewModuleUpdatedEvent | ForgeDevSessionStartedEvent | ForgeDevSessionStoppedEvent | ForgePreviewStyleUpdatedEvent | ForgePreviewRefreshedEvent;
|
|
61
84
|
export interface ForgeDevSessionStartedEvent {
|
|
62
85
|
readonly type: "dev:session-started";
|
|
63
86
|
readonly session: ForgeDevSession;
|
|
@@ -72,6 +95,19 @@ export interface ForgePreviewRefreshedEvent {
|
|
|
72
95
|
readonly buildResult: ForgeBuildResult;
|
|
73
96
|
readonly reason: string;
|
|
74
97
|
}
|
|
98
|
+
export interface ForgePreviewStyleUpdatedEvent {
|
|
99
|
+
readonly type: "preview:style-updated";
|
|
100
|
+
readonly session: ForgeDevSession;
|
|
101
|
+
readonly styleUpdate: ForgePreviewStyleUpdate;
|
|
102
|
+
readonly reason: string;
|
|
103
|
+
}
|
|
104
|
+
export interface ForgePreviewModuleUpdatedEvent {
|
|
105
|
+
readonly type: "preview:module-updated";
|
|
106
|
+
readonly session: ForgeDevSession;
|
|
107
|
+
readonly moduleUpdate: ForgePreviewModuleUpdate;
|
|
108
|
+
readonly buildResult: ForgeBuildResult;
|
|
109
|
+
readonly reason: string;
|
|
110
|
+
}
|
|
75
111
|
export interface ForgeDevSessionFailedEvent {
|
|
76
112
|
readonly type: "dev:session-failed";
|
|
77
113
|
readonly session: ForgeDevSession;
|
|
@@ -87,6 +123,7 @@ export interface ForgeDevServerPreviewOptions {
|
|
|
87
123
|
readonly now?: () => string;
|
|
88
124
|
}
|
|
89
125
|
export interface ForgeCreatePreviewDocumentOptions {
|
|
126
|
+
readonly adapter?: ForgeDevServerAdapterMetadata;
|
|
90
127
|
readonly buildResult: ForgeBuildResult;
|
|
91
128
|
readonly htmlShell?: string;
|
|
92
129
|
readonly previewUrl: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { createEsbuildWasmWorkerMessageHandler, createEsbuildWasmWorkerService, createTransformFailureDiagnostic, createUnsupportedOperationDiagnostic, createWasmInitializationFailureDiagnostic, createWorkerNotInitializedDiagnostic, createWorkerStartupFailureDiagnostic, DefaultEsbuildWasmWorkerService, ESBUILD_WASM_WORKER_CAPABILITY, ESBUILD_WASM_WORKER_PROTOCOL, installEsbuildWasmWorker, type ForgeEsbuildWasmDiagnosticCauseCategory, type ForgeEsbuildWasmInitializeFailureResult, type ForgeEsbuildWasmInitializeRequest, type ForgeEsbuildWasmInitializeResult, type ForgeEsbuildWasmInitializeSuccessResult, type ForgeEsbuildWasmInitializeWorkerFailureResponse, type ForgeEsbuildWasmInitializeWorkerRequest, type ForgeEsbuildWasmInitializeWorkerSuccessResponse, type ForgeEsbuildWasmRuntime, type ForgeEsbuildWasmRuntimeMetadata, type ForgeEsbuildWasmTransformFailureResult, type ForgeEsbuildWasmTransformLoader, type ForgeEsbuildWasmTransformRequest, type ForgeEsbuildWasmTransformResult, type ForgeEsbuildWasmTransformSuccessResult, type ForgeEsbuildWasmTransformWarning, type ForgeEsbuildWasmTransformWorkerFailureResponse, type ForgeEsbuildWasmTransformWorkerRequest, type ForgeEsbuildWasmTransformWorkerSuccessResponse, type ForgeEsbuildWasmUnsupportedOperation, type ForgeEsbuildWasmUnsupportedOperationResult, type ForgeEsbuildWasmUrl, type ForgeEsbuildWasmWorkerAdapterOptions, type ForgeEsbuildWasmWorkerDiagnostic, type ForgeEsbuildWasmWorkerDiagnosticCode, type ForgeEsbuildWasmWorkerFactory, type ForgeEsbuildWasmWorkerGlobalScope, type ForgeEsbuildWasmWorkerMessageEvent, type ForgeEsbuildWasmWorkerPort, type ForgeEsbuildWasmWorkerRequestMessage, type ForgeEsbuildWasmWorkerResponseMessage, type ForgeEsbuildWasmWorkerService, type ForgeEsbuildWasmWorkerServiceOptions, } from "./esbuild-wasm-worker";
|
|
2
2
|
export { createForgeController, openForgeController, type ForgeController, type ForgeControllerOptions, type ForgeOpenControllerOptions, } from "./forge-controller";
|
|
3
|
-
export { BUILD_PIPELINE_CAPABILITY, createBuildCancelledDiagnostic, createBuildPipeline, createEsbuildWorkerTransformDiagnostic, createMissingBuildScriptDiagnostic, createMissingEntryDiagnostic, createUnresolvedImportDiagnostic, createUnsupportedBuildScriptDiagnostic, createViteConfigNotExecutedDiagnostic, DefaultBuildPipeline, isSupportedViteBuildScript, type ForgeBrowserBundle, type ForgeBrowserBundleManifest, type ForgeBuildDiagnostic, type ForgeBuildManifest, type ForgeBuildMode, type ForgeBuildOutputFile, type ForgeBuildPipeline, type ForgeBuildPipelineDiagnostic, type ForgeBuildPipelineDiagnosticCode, type ForgeBuildPipelineOptions, type ForgeBuildRequest, type ForgeBuildResult, type ForgeBuildTiming, } from "./build-pipeline";
|
|
3
|
+
export { BUILD_PIPELINE_CAPABILITY, createBuildCancelledDiagnostic, createBuildPipeline, createEsbuildWorkerTransformDiagnostic, createMissingBuildScriptDiagnostic, createMissingEntryDiagnostic, createUnresolvedImportDiagnostic, createUnsupportedBuildScriptDiagnostic, createViteConfigNotExecutedDiagnostic, DefaultBuildPipeline, isSupportedViteBuildScript, type ForgeBrowserBundle, type ForgeBrowserBundleManifest, type ForgeBrowserBundleModule, type ForgeBrowserBundleModuleOrigin, type ForgeBuildDiagnostic, type ForgeBuildManifest, type ForgeBuildMode, type ForgeBuildOutputFile, type ForgeBuildPipeline, type ForgeBuildPipelineDiagnostic, type ForgeBuildPipelineDiagnosticCode, type ForgeBuildPipelineOptions, type ForgeBuildRequest, type ForgeBuildResult, type ForgeBuildTiming, } from "./build-pipeline";
|
|
4
4
|
export { createInvalidDependencyDiagnostic, createInvalidManifestDiagnostic, createCdnPackageSource, createOfflineCacheMissDiagnostic, createPackageCacheKey, createPackageResolutionDiagnostic, createPackageResolver, createUnsupportedRangeDiagnostic, createUnresolvedPackageDiagnostic, collectDependencyRequests, DEFAULT_FORGE_MANIFEST_PATH, DefaultPackageResolver, ForgePackageResolutionError, PACKAGE_RESOLUTION_CAPABILITY, readPackageManifest, type ForgeBundleAliases, type ForgeCdnPackageFetch, type ForgeCdnPackageMetadataUrlFactory, type ForgeCdnPackageSourceOptions, type ForgeDependencyKind, type ForgeDependencyRequest, type ForgeImportMap, type ForgePackageCacheMode, type ForgePackageDiagnostic, type ForgePackageFile, type ForgePackageLockMetadata, type ForgePackageLockPackage, type ForgePackageManifest, type ForgePackageRecord, type ForgePackageResolutionDiagnostic, type ForgePackageResolutionDiagnosticCode, type ForgePackageResolutionMode, type ForgePackageResolutionResult, type ForgePackageResolver, type ForgePackageResolverOptions, type ForgePackageSource, type ForgeResolvePackagesOptions, } from "./package-resolution";
|
|
5
|
-
export { createDevServerPreview, createForgePreviewDocument, createMissingDevScriptDiagnostic, createSessionNotFoundDiagnostic, createSessionStoppedDiagnostic, createUnsupportedDevScriptDiagnostic, DefaultDevServerPreview, DEV_SERVER_PREVIEW_CAPABILITY, isSupportedViteDevScript, type ForgeCreatePreviewDocumentOptions, type ForgeDevServerPreview, type ForgeDevServerPreviewDiagnostic, type ForgeDevServerPreviewDiagnosticCode, type ForgeDevServerPreviewEvent, type ForgeDevServerPreviewEventListener, type ForgeDevServerPreviewOptions, type ForgeDevSession, type ForgeDevSessionDiagnostic, type ForgeDevSessionFailedEvent, type ForgeDevSessionFileChange, type ForgeDevSessionRefreshResult, type ForgeDevSessionStartedEvent, type ForgeDevSessionStartResult, type ForgeDevSessionStatus, type ForgeDevSessionStoppedEvent, type ForgeDevSessionStopResult, type ForgePreviewDocument, type ForgePreviewRefreshedEvent, type ForgeRebuildDevSessionOptions, type ForgeStartDevSessionOptions, } from "./dev-server-preview";
|
|
5
|
+
export { createDevServerPreview, createForgePreviewDocument, createForgePreviewErrorOverlayDocument, createMissingDevScriptDiagnostic, createSessionNotFoundDiagnostic, createSessionStoppedDiagnostic, createUnsupportedDevScriptDiagnostic, DefaultDevServerPreview, DEV_SERVER_PREVIEW_CAPABILITY, isSupportedViteDevScript, type ForgeCreatePreviewDocumentOptions, type ForgeDevServerAdapterFramework, type ForgeDevServerAdapterHmrMode, type ForgeDevServerAdapterMetadata, type ForgeDevServerAdapterName, type ForgeDevServerPreview, type ForgeDevServerPreviewDiagnostic, type ForgeDevServerPreviewDiagnosticCode, type ForgeDevServerPreviewEvent, type ForgeDevServerPreviewEventListener, type ForgeDevServerPreviewOptions, type ForgeDevSession, type ForgeDevSessionDiagnostic, type ForgeDevSessionFailedEvent, type ForgeDevSessionFileChange, type ForgeDevSessionRefreshResult, type ForgeDevSessionStartedEvent, type ForgeDevSessionStartResult, type ForgeDevSessionStatus, type ForgeDevSessionStoppedEvent, type ForgeDevSessionStopResult, type ForgePreviewDocument, type ForgePreviewModuleUpdate, type ForgePreviewModuleUpdatedEvent, type ForgePreviewRefreshedEvent, type ForgePreviewStyleUpdate, type ForgePreviewStyleUpdatedEvent, type ForgeRebuildDevSessionOptions, type ForgeStartDevSessionOptions, } from "./dev-server-preview";
|
|
6
6
|
export { createForgeTerminal, createNpmInstallCommandHandler, createNpmRunBuildCommandHandler, createNpmRunDevCommandHandler, createParseErrorDiagnostic, createUnsupportedCommandDiagnostic, DefaultForgeTerminal, NpmInstallCommandHandler, NpmRunBuildCommandHandler, NpmRunDevCommandHandler, parseForgeCommandText, TERMINAL_COMMANDS_CAPABILITY, type ForgeCommand, type ForgeCommandContext, type ForgeCommandDiagnostic, type ForgeCommandHandler, type ForgeCommandParseResult, type ForgeCommandResult, type ForgeTerminal, type ForgeTerminalDiagnostic, type ForgeTerminalDiagnosticCode, type ForgeTerminalExecuteOptions, type ForgeTerminalOptions, type ForgeTerminalOutputKind, type ForgeTerminalOutputLine, } from "./terminal-commands";
|
|
7
7
|
export { completeForgeTelemetryTiming, createForgeUnsupportedPackageReason, emitForgeTelemetry, startForgeTelemetryTiming, summarizeForgeTelemetryDiagnostics, TELEMETRY_CAPABILITY, type ForgeBuildTelemetryEvent, type ForgePackageResolutionTelemetryEvent, type ForgeTelemetryDiagnosticLike, type ForgeTelemetryDiagnosticSummary, type ForgeTelemetryEvent, type ForgeTelemetryOperation, type ForgeTelemetryOutcome, type ForgeTelemetryReporter, type ForgeTelemetryTiming, type ForgeTelemetryTimingStart, type ForgeUnsupportedPackageReason, } from "./telemetry";
|
|
8
8
|
export { createVirtualFileSystem, createForgeDiagnostic, createInvalidPathDiagnostic, createInvalidSnapshotDiagnostic, createMissingParentDiagnostic, createNotFoundDiagnostic, createNotImplementedDiagnostic, createPathTraversalDiagnostic, createIndexedDbForgeStorage, createLimitExceededDiagnostic, exportWorkspaceSnapshot, ForgeFileSystemError, DEFAULT_FORGE_VFS_LIMITS, FORGE_INDEXED_DB_NAME, FORGE_INDEXED_DB_STORES, FORGE_INDEXED_DB_VERSION, FORGE_WORKSPACE_SNAPSHOT_EXPORT_SCHEMA_VERSION, IndexedDbForgeStorage, importWorkspaceSnapshot, normalizeForgePath, openVirtualFileSystem, resolveForgeVirtualFileSystemLimits, VIRTUAL_FILE_SYSTEM_CAPABILITY, type ForgeBuildCacheRecord, type ForgeDiagnosticInput, type ForgeDeleteOptions, type ForgeDiagnostic, type ForgeDiagnosticCode, type ForgeDiagnosticSeverity, type ForgeDirEntry, type ForgeFileCreatedEvent, type ForgeFileDeletedEvent, type ForgeFileEvent, type ForgeFileKind, type ForgeFileRecord, type ForgeFileRenamedEvent, type ForgeFileSource, type ForgeFileStat, type ForgeFileUpdatedEvent, type ForgeFileWatchListener, type ForgeLimitDiagnostic, type ForgeMkdirOptions, type ForgeOpenVirtualFileSystemOptions, type ForgePackageCacheRecord, type ForgePersistedWorkspace, type ForgeSerializedFileRecord, type ForgeSerializedWorkspaceSnapshot, type ForgeSerializedWorkspaceSnapshotPayload, type ForgeVirtualFileSystemLimits, type ResolvedForgeVirtualFileSystemLimits, type ForgeRestoreOptions, type ForgeSnapshot, type ForgeSnapshotOptions, type ForgeUnsubscribe, type ForgeVirtualFileSystemOptions, type ForgeVirtualFileSystemStorage, type ForgeVirtualFileSystem, type ForgeWorkspace, type ForgeWorkspaceMetadata, type ForgeWorkspaceSnapshotExportOptions, type ForgeWriteFileOptions, type ForgePathNormalizationResult, type IndexedDbForgeStorageOptions, } from "./virtual-file-system";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.VIRTUAL_FILE_SYSTEM_CAPABILITY = exports.resolveForgeVirtualFileSystemLimits = exports.openVirtualFileSystem = exports.normalizeForgePath = exports.importWorkspaceSnapshot = exports.IndexedDbForgeStorage = exports.FORGE_WORKSPACE_SNAPSHOT_EXPORT_SCHEMA_VERSION = exports.FORGE_INDEXED_DB_VERSION = exports.FORGE_INDEXED_DB_STORES = exports.FORGE_INDEXED_DB_NAME = exports.DEFAULT_FORGE_VFS_LIMITS = exports.ForgeFileSystemError = exports.exportWorkspaceSnapshot = exports.createLimitExceededDiagnostic = exports.createIndexedDbForgeStorage = exports.createPathTraversalDiagnostic = exports.createNotImplementedDiagnostic = exports.createNotFoundDiagnostic = exports.createMissingParentDiagnostic = exports.createInvalidSnapshotDiagnostic = exports.createInvalidPathDiagnostic = exports.createForgeDiagnostic = exports.createVirtualFileSystem = exports.TELEMETRY_CAPABILITY = exports.summarizeForgeTelemetryDiagnostics = exports.startForgeTelemetryTiming = exports.emitForgeTelemetry = exports.createForgeUnsupportedPackageReason = exports.completeForgeTelemetryTiming = exports.TERMINAL_COMMANDS_CAPABILITY = exports.parseForgeCommandText = exports.NpmRunDevCommandHandler = exports.NpmRunBuildCommandHandler = exports.NpmInstallCommandHandler = exports.DefaultForgeTerminal = exports.createUnsupportedCommandDiagnostic = exports.createParseErrorDiagnostic = exports.createNpmRunDevCommandHandler = exports.createNpmRunBuildCommandHandler = void 0;
|
|
3
|
+
exports.createForgeTerminal = exports.isSupportedViteDevScript = exports.DEV_SERVER_PREVIEW_CAPABILITY = exports.DefaultDevServerPreview = exports.createUnsupportedDevScriptDiagnostic = exports.createSessionStoppedDiagnostic = exports.createSessionNotFoundDiagnostic = exports.createMissingDevScriptDiagnostic = exports.createForgePreviewErrorOverlayDocument = exports.createForgePreviewDocument = exports.createDevServerPreview = exports.readPackageManifest = exports.PACKAGE_RESOLUTION_CAPABILITY = exports.ForgePackageResolutionError = exports.DefaultPackageResolver = exports.DEFAULT_FORGE_MANIFEST_PATH = exports.collectDependencyRequests = exports.createUnresolvedPackageDiagnostic = exports.createUnsupportedRangeDiagnostic = exports.createPackageResolver = exports.createPackageResolutionDiagnostic = exports.createPackageCacheKey = exports.createOfflineCacheMissDiagnostic = exports.createCdnPackageSource = exports.createInvalidManifestDiagnostic = exports.createInvalidDependencyDiagnostic = exports.isSupportedViteBuildScript = exports.DefaultBuildPipeline = exports.createViteConfigNotExecutedDiagnostic = exports.createUnsupportedBuildScriptDiagnostic = exports.createUnresolvedImportDiagnostic = exports.createMissingEntryDiagnostic = exports.createMissingBuildScriptDiagnostic = exports.createEsbuildWorkerTransformDiagnostic = exports.createBuildPipeline = exports.createBuildCancelledDiagnostic = exports.BUILD_PIPELINE_CAPABILITY = exports.openForgeController = exports.createForgeController = exports.installEsbuildWasmWorker = exports.ESBUILD_WASM_WORKER_PROTOCOL = exports.ESBUILD_WASM_WORKER_CAPABILITY = exports.DefaultEsbuildWasmWorkerService = exports.createWorkerStartupFailureDiagnostic = exports.createWorkerNotInitializedDiagnostic = exports.createWasmInitializationFailureDiagnostic = exports.createUnsupportedOperationDiagnostic = exports.createTransformFailureDiagnostic = exports.createEsbuildWasmWorkerService = exports.createEsbuildWasmWorkerMessageHandler = void 0;
|
|
4
|
+
exports.VIRTUAL_FILE_SYSTEM_CAPABILITY = exports.resolveForgeVirtualFileSystemLimits = exports.openVirtualFileSystem = exports.normalizeForgePath = exports.importWorkspaceSnapshot = exports.IndexedDbForgeStorage = exports.FORGE_WORKSPACE_SNAPSHOT_EXPORT_SCHEMA_VERSION = exports.FORGE_INDEXED_DB_VERSION = exports.FORGE_INDEXED_DB_STORES = exports.FORGE_INDEXED_DB_NAME = exports.DEFAULT_FORGE_VFS_LIMITS = exports.ForgeFileSystemError = exports.exportWorkspaceSnapshot = exports.createLimitExceededDiagnostic = exports.createIndexedDbForgeStorage = exports.createPathTraversalDiagnostic = exports.createNotImplementedDiagnostic = exports.createNotFoundDiagnostic = exports.createMissingParentDiagnostic = exports.createInvalidSnapshotDiagnostic = exports.createInvalidPathDiagnostic = exports.createForgeDiagnostic = exports.createVirtualFileSystem = exports.TELEMETRY_CAPABILITY = exports.summarizeForgeTelemetryDiagnostics = exports.startForgeTelemetryTiming = exports.emitForgeTelemetry = exports.createForgeUnsupportedPackageReason = exports.completeForgeTelemetryTiming = exports.TERMINAL_COMMANDS_CAPABILITY = exports.parseForgeCommandText = exports.NpmRunDevCommandHandler = exports.NpmRunBuildCommandHandler = exports.NpmInstallCommandHandler = exports.DefaultForgeTerminal = exports.createUnsupportedCommandDiagnostic = exports.createParseErrorDiagnostic = exports.createNpmRunDevCommandHandler = exports.createNpmRunBuildCommandHandler = exports.createNpmInstallCommandHandler = void 0;
|
|
5
5
|
var esbuild_wasm_worker_1 = require("./esbuild-wasm-worker");
|
|
6
6
|
Object.defineProperty(exports, "createEsbuildWasmWorkerMessageHandler", { enumerable: true, get: function () { return esbuild_wasm_worker_1.createEsbuildWasmWorkerMessageHandler; } });
|
|
7
7
|
Object.defineProperty(exports, "createEsbuildWasmWorkerService", { enumerable: true, get: function () { return esbuild_wasm_worker_1.createEsbuildWasmWorkerService; } });
|
|
@@ -48,6 +48,7 @@ Object.defineProperty(exports, "readPackageManifest", { enumerable: true, get: f
|
|
|
48
48
|
var dev_server_preview_1 = require("./dev-server-preview");
|
|
49
49
|
Object.defineProperty(exports, "createDevServerPreview", { enumerable: true, get: function () { return dev_server_preview_1.createDevServerPreview; } });
|
|
50
50
|
Object.defineProperty(exports, "createForgePreviewDocument", { enumerable: true, get: function () { return dev_server_preview_1.createForgePreviewDocument; } });
|
|
51
|
+
Object.defineProperty(exports, "createForgePreviewErrorOverlayDocument", { enumerable: true, get: function () { return dev_server_preview_1.createForgePreviewErrorOverlayDocument; } });
|
|
51
52
|
Object.defineProperty(exports, "createMissingDevScriptDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createMissingDevScriptDiagnostic; } });
|
|
52
53
|
Object.defineProperty(exports, "createSessionNotFoundDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createSessionNotFoundDiagnostic; } });
|
|
53
54
|
Object.defineProperty(exports, "createSessionStoppedDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createSessionStoppedDiagnostic; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caryhu/codemine-forge",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.3",
|
|
4
4
|
"description": "Browser-side runtime layer for Codemine demos.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
+
"@vue/compiler-sfc": "3.4.0",
|
|
21
22
|
"esbuild-wasm": "^0.28.1",
|
|
22
23
|
"typescript": "4.9.5"
|
|
23
24
|
},
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
"publish:npm": "node scripts/publish-npm.mjs",
|
|
35
36
|
"typecheck": "tsc -p tsconfig.json",
|
|
36
37
|
"test:build": "tsc -p tsconfig.test.json",
|
|
37
|
-
"test": "pnpm run test:build && node test/virtual-file-system.test.mjs && node test/indexeddb-workspace-restore.test.mjs && node test/react-vite-template-dev-loop.test.mjs && node test/react-vite-template-diagnostics.test.mjs && node test/package-resolution.test.mjs && node test/build-pipeline.test.mjs && node test/dev-server-preview.test.mjs && node test/terminal-commands.test.mjs && node test/esbuild-wasm-worker.test.mjs && node test/browser-preview-execution.test.mjs && node test/demo-samples.test.mjs",
|
|
38
|
+
"test": "pnpm run test:build && node test/virtual-file-system.test.mjs && node test/indexeddb-workspace-restore.test.mjs && node test/react-vite-template-dev-loop.test.mjs && node test/react-vite-template-diagnostics.test.mjs && node test/vue-vite-template-dev-loop.test.mjs && node test/package-resolution.test.mjs && node test/build-pipeline.test.mjs && node test/dev-server-preview.test.mjs && node test/terminal-commands.test.mjs && node test/esbuild-wasm-worker.test.mjs && node test/browser-preview-execution.test.mjs && node test/demo-samples.test.mjs",
|
|
38
39
|
"test:browser-preview": "pnpm run test:build && node test/browser-preview-execution.test.mjs",
|
|
39
40
|
"test:demo-samples": "pnpm run test:build && node test/demo-samples.test.mjs",
|
|
40
41
|
"test:static-demo": "node test/static-demo.test.mjs",
|