@caryhu/codemine-forge 0.0.1-alpha.0 → 0.0.1-alpha.1
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 +8 -4
- package/dist/build-pipeline/diagnostics.d.ts +1 -0
- package/dist/build-pipeline/diagnostics.js +10 -1
- package/dist/build-pipeline/index.d.ts +1 -1
- package/dist/build-pipeline/index.js +2 -1
- package/dist/build-pipeline/pipeline.d.ts +2 -0
- package/dist/build-pipeline/pipeline.js +131 -8
- package/dist/build-pipeline/types.d.ts +6 -2
- package/dist/dev-server-preview/server.js +4 -3
- package/dist/dev-server-preview/types.d.ts +2 -0
- package/dist/forge-controller.js +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +15 -2
- package/dist/package-resolution/diagnostics.d.ts +1 -0
- package/dist/package-resolution/diagnostics.js +10 -1
- package/dist/package-resolution/errors.d.ts +2 -1
- package/dist/package-resolution/errors.js +2 -1
- package/dist/package-resolution/index.d.ts +2 -2
- package/dist/package-resolution/index.js +2 -1
- package/dist/package-resolution/resolver.d.ts +3 -0
- package/dist/package-resolution/resolver.js +123 -29
- package/dist/package-resolution/types.d.ts +7 -1
- package/dist/telemetry/index.d.ts +68 -0
- package/dist/telemetry/index.js +65 -0
- package/dist/terminal-commands/npm-build.js +3 -1
- package/dist/terminal-commands/npm-dev.js +3 -1
- package/dist/terminal-commands/npm-install.js +7 -2
- package/dist/terminal-commands/terminal.d.ts +1 -0
- package/dist/terminal-commands/terminal.js +1 -0
- package/dist/terminal-commands/types.d.ts +2 -0
- package/dist/virtual-file-system/diagnostics.d.ts +1 -0
- package/dist/virtual-file-system/diagnostics.js +9 -1
- package/dist/virtual-file-system/index.d.ts +4 -2
- package/dist/virtual-file-system/index.js +7 -1
- package/dist/virtual-file-system/snapshot-serialization.d.ts +3 -0
- package/dist/virtual-file-system/snapshot-serialization.js +242 -0
- package/dist/virtual-file-system/storage.d.ts +1 -1
- package/dist/virtual-file-system/storage.js +41 -18
- package/dist/virtual-file-system/types.d.ts +28 -1
- package/dist/virtual-file-system/types.js +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,18 +71,22 @@ Publish prerelease builds to npm with:
|
|
|
71
71
|
pnpm run publish:npm
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
The script validates the package, checks that the
|
|
75
|
-
published, runs a package dry run, and publishes
|
|
76
|
-
default.
|
|
77
|
-
|
|
74
|
+
The script updates the package version, validates the package, checks that the
|
|
75
|
+
target version is not already published, runs a package dry run, and publishes
|
|
76
|
+
with the `alpha` dist-tag by default. In `auto` mode, it keeps the current
|
|
77
|
+
version when it has not been published yet and bumps to the next available
|
|
78
|
+
prerelease version when it has. If npm login is required, it starts the npm web
|
|
79
|
+
login flow in the browser and waits for authentication to complete.
|
|
78
80
|
|
|
79
81
|
Useful options:
|
|
80
82
|
|
|
81
83
|
```powershell
|
|
82
84
|
pnpm run publish:npm -- --dry-run
|
|
85
|
+
pnpm run publish:npm -- --bump prerelease
|
|
83
86
|
pnpm run publish:npm -- --tag next
|
|
84
87
|
pnpm run publish:npm -- --login-only
|
|
85
88
|
pnpm run publish:npm -- --otp 123456
|
|
89
|
+
pnpm run publish:npm -- --version 0.0.2-alpha.0
|
|
86
90
|
```
|
|
87
91
|
|
|
88
92
|
## Design Principles
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ForgeBuildPipelineDiagnostic } from "./types";
|
|
2
2
|
export declare function createEsbuildWorkerTransformDiagnostic(path: string, cause: unknown): ForgeBuildPipelineDiagnostic;
|
|
3
|
+
export declare function createBuildCancelledDiagnostic(cause?: unknown): ForgeBuildPipelineDiagnostic;
|
|
3
4
|
export declare function createMissingBuildScriptDiagnostic(): ForgeBuildPipelineDiagnostic;
|
|
4
5
|
export declare function createUnsupportedBuildScriptDiagnostic(script: string): ForgeBuildPipelineDiagnostic;
|
|
5
6
|
export declare function createMissingEntryDiagnostic(): ForgeBuildPipelineDiagnostic;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createViteConfigNotExecutedDiagnostic = exports.createUnresolvedImportDiagnostic = exports.createMissingEntryDiagnostic = exports.createUnsupportedBuildScriptDiagnostic = exports.createMissingBuildScriptDiagnostic = exports.createEsbuildWorkerTransformDiagnostic = void 0;
|
|
3
|
+
exports.createViteConfigNotExecutedDiagnostic = exports.createUnresolvedImportDiagnostic = exports.createMissingEntryDiagnostic = exports.createUnsupportedBuildScriptDiagnostic = exports.createMissingBuildScriptDiagnostic = exports.createBuildCancelledDiagnostic = exports.createEsbuildWorkerTransformDiagnostic = void 0;
|
|
4
4
|
function createEsbuildWorkerTransformDiagnostic(path, cause) {
|
|
5
5
|
return {
|
|
6
6
|
code: "esbuild_worker_transform_failed",
|
|
@@ -12,6 +12,15 @@ function createEsbuildWorkerTransformDiagnostic(path, cause) {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
exports.createEsbuildWorkerTransformDiagnostic = createEsbuildWorkerTransformDiagnostic;
|
|
15
|
+
function createBuildCancelledDiagnostic(cause) {
|
|
16
|
+
return {
|
|
17
|
+
code: "build_cancelled",
|
|
18
|
+
severity: "error",
|
|
19
|
+
message: "Forge build was cancelled.",
|
|
20
|
+
cause,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
exports.createBuildCancelledDiagnostic = createBuildCancelledDiagnostic;
|
|
15
24
|
function createMissingBuildScriptDiagnostic() {
|
|
16
25
|
return {
|
|
17
26
|
code: "missing_build_script",
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createEsbuildWorkerTransformDiagnostic, createMissingBuildScriptDiagnostic, createMissingEntryDiagnostic, createUnresolvedImportDiagnostic, createUnsupportedBuildScriptDiagnostic, createViteConfigNotExecutedDiagnostic, } from "./diagnostics";
|
|
1
|
+
export { createBuildCancelledDiagnostic, createEsbuildWorkerTransformDiagnostic, createMissingBuildScriptDiagnostic, createMissingEntryDiagnostic, createUnresolvedImportDiagnostic, createUnsupportedBuildScriptDiagnostic, createViteConfigNotExecutedDiagnostic, } from "./diagnostics";
|
|
2
2
|
export { createBuildPipeline, DefaultBuildPipeline, isSupportedViteBuildScript, } from "./pipeline";
|
|
3
3
|
export { BUILD_PIPELINE_CAPABILITY, 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 "./types";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BUILD_PIPELINE_CAPABILITY = exports.isSupportedViteBuildScript = exports.DefaultBuildPipeline = exports.createBuildPipeline = exports.createViteConfigNotExecutedDiagnostic = exports.createUnsupportedBuildScriptDiagnostic = exports.createUnresolvedImportDiagnostic = exports.createMissingEntryDiagnostic = exports.createMissingBuildScriptDiagnostic = exports.createEsbuildWorkerTransformDiagnostic = void 0;
|
|
3
|
+
exports.BUILD_PIPELINE_CAPABILITY = exports.isSupportedViteBuildScript = exports.DefaultBuildPipeline = exports.createBuildPipeline = exports.createViteConfigNotExecutedDiagnostic = exports.createUnsupportedBuildScriptDiagnostic = exports.createUnresolvedImportDiagnostic = exports.createMissingEntryDiagnostic = exports.createMissingBuildScriptDiagnostic = exports.createEsbuildWorkerTransformDiagnostic = exports.createBuildCancelledDiagnostic = void 0;
|
|
4
4
|
var diagnostics_1 = require("./diagnostics");
|
|
5
|
+
Object.defineProperty(exports, "createBuildCancelledDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createBuildCancelledDiagnostic; } });
|
|
5
6
|
Object.defineProperty(exports, "createEsbuildWorkerTransformDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createEsbuildWorkerTransformDiagnostic; } });
|
|
6
7
|
Object.defineProperty(exports, "createMissingBuildScriptDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createMissingBuildScriptDiagnostic; } });
|
|
7
8
|
Object.defineProperty(exports, "createMissingEntryDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createMissingEntryDiagnostic; } });
|
|
@@ -7,6 +7,8 @@ export declare class DefaultBuildPipeline implements ForgeBuildPipeline {
|
|
|
7
7
|
build(request?: ForgeBuildRequest): Promise<ForgeBuildResult>;
|
|
8
8
|
private resolveEntry;
|
|
9
9
|
private failure;
|
|
10
|
+
private complete;
|
|
11
|
+
private writeBuildCacheRecord;
|
|
10
12
|
}
|
|
11
13
|
export declare function createBuildPipeline(options: ForgeBuildPipelineOptions): ForgeBuildPipeline;
|
|
12
14
|
export declare function isSupportedViteBuildScript(script: string): boolean;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isSupportedViteBuildScript = exports.createBuildPipeline = exports.DefaultBuildPipeline = void 0;
|
|
4
4
|
const package_resolution_1 = require("../package-resolution");
|
|
5
|
+
const telemetry_1 = require("../telemetry");
|
|
5
6
|
const virtual_file_system_1 = require("../virtual-file-system");
|
|
6
7
|
const diagnostics_1 = require("./diagnostics");
|
|
7
8
|
const browser_bundle_1 = require("./browser-bundle");
|
|
@@ -27,14 +28,22 @@ class DefaultBuildPipeline {
|
|
|
27
28
|
async build(request = {}) {
|
|
28
29
|
const timingStart = createTimingStart(this.now());
|
|
29
30
|
const mode = "production";
|
|
31
|
+
const initialCancellation = getCancellationDiagnostic(request.signal);
|
|
32
|
+
if (initialCancellation !== undefined) {
|
|
33
|
+
return this.failure(mode, [initialCancellation], timingStart);
|
|
34
|
+
}
|
|
30
35
|
const warningDiagnostics = await detectViteConfigDiagnostics(this.options.fileSystem);
|
|
36
|
+
const configCancellation = getCancellationDiagnostic(request.signal);
|
|
37
|
+
if (configCancellation !== undefined) {
|
|
38
|
+
return this.failure(mode, [configCancellation, ...warningDiagnostics], timingStart);
|
|
39
|
+
}
|
|
31
40
|
let manifest;
|
|
32
41
|
try {
|
|
33
42
|
manifest = await (0, package_resolution_1.readPackageManifest)(this.options.fileSystem);
|
|
34
43
|
}
|
|
35
44
|
catch (error) {
|
|
36
45
|
if (error instanceof package_resolution_1.ForgePackageResolutionError) {
|
|
37
|
-
return this.failure(mode, [error.diagnostic, ...warningDiagnostics], timingStart);
|
|
46
|
+
return this.failure(mode, [error.diagnostic, ...error.warnings, ...warningDiagnostics], timingStart);
|
|
38
47
|
}
|
|
39
48
|
throw error;
|
|
40
49
|
}
|
|
@@ -48,12 +57,21 @@ class DefaultBuildPipeline {
|
|
|
48
57
|
...warningDiagnostics,
|
|
49
58
|
], timingStart);
|
|
50
59
|
}
|
|
60
|
+
const manifestCancellation = getCancellationDiagnostic(request.signal);
|
|
61
|
+
if (manifestCancellation !== undefined) {
|
|
62
|
+
return this.failure(mode, [manifestCancellation, ...warningDiagnostics], timingStart);
|
|
63
|
+
}
|
|
51
64
|
const entry = await this.resolveEntry(request.entry);
|
|
52
65
|
if (entry === undefined) {
|
|
53
66
|
return this.failure(mode, [(0, diagnostics_1.createMissingEntryDiagnostic)(), ...warningDiagnostics], timingStart);
|
|
54
67
|
}
|
|
55
68
|
try {
|
|
56
69
|
const packageResolution = await this.options.packageResolver.resolve();
|
|
70
|
+
const packageWarnings = packageResolution.warnings;
|
|
71
|
+
const packageCancellation = getCancellationDiagnostic(request.signal);
|
|
72
|
+
if (packageCancellation !== undefined) {
|
|
73
|
+
return this.failure(mode, [packageCancellation, ...packageWarnings, ...warningDiagnostics], timingStart);
|
|
74
|
+
}
|
|
57
75
|
const sourceFiles = await collectSourceFiles(this.options.fileSystem);
|
|
58
76
|
const browserBundleResult = await (0, browser_bundle_1.createBrowserBundle)({
|
|
59
77
|
entry,
|
|
@@ -62,29 +80,56 @@ class DefaultBuildPipeline {
|
|
|
62
80
|
scriptTransformer: createEsbuildWorkerScriptTransformer(this.options.esbuildWorker),
|
|
63
81
|
});
|
|
64
82
|
if (browserBundleResult.diagnostics.length > 0) {
|
|
65
|
-
return this.failure(mode, [
|
|
83
|
+
return this.failure(mode, [
|
|
84
|
+
...browserBundleResult.diagnostics,
|
|
85
|
+
...packageWarnings,
|
|
86
|
+
...warningDiagnostics,
|
|
87
|
+
], timingStart);
|
|
88
|
+
}
|
|
89
|
+
if (browserBundleResult.browserBundle === undefined) {
|
|
90
|
+
throw new Error("Browser bundle output was missing after a successful build.");
|
|
91
|
+
}
|
|
92
|
+
const bundleCancellation = getCancellationDiagnostic(request.signal);
|
|
93
|
+
if (bundleCancellation !== undefined) {
|
|
94
|
+
return this.failure(mode, [bundleCancellation, ...packageWarnings, ...warningDiagnostics], timingStart);
|
|
66
95
|
}
|
|
67
96
|
const buildManifest = createBuildManifest(entry, mode, sourceFiles, packageResolution, browserBundleResult.browserBundle);
|
|
68
97
|
const outputFiles = [
|
|
69
98
|
createBuildManifestOutput(buildManifest),
|
|
70
99
|
...browserBundleResult.outputFiles,
|
|
71
100
|
];
|
|
72
|
-
|
|
73
|
-
|
|
101
|
+
const outputCancellation = getCancellationDiagnostic(request.signal);
|
|
102
|
+
if (outputCancellation !== undefined) {
|
|
103
|
+
return this.failure(mode, [outputCancellation, ...packageWarnings, ...warningDiagnostics], timingStart);
|
|
104
|
+
}
|
|
105
|
+
const outputWriteDiagnostic = await writeBuildOutputFilesAtomically(this.options.fileSystem, outputFiles);
|
|
106
|
+
if (outputWriteDiagnostic !== undefined) {
|
|
107
|
+
return this.failure(mode, [outputWriteDiagnostic, ...packageWarnings, ...warningDiagnostics], timingStart);
|
|
108
|
+
}
|
|
109
|
+
const buildCacheWarnings = await this.writeBuildCacheRecord(entry, mode, buildManifest, browserBundleResult.browserBundle, outputFiles);
|
|
110
|
+
const cacheCancellation = getCancellationDiagnostic(request.signal);
|
|
111
|
+
if (cacheCancellation !== undefined) {
|
|
112
|
+
return this.failure(mode, [cacheCancellation, ...packageWarnings, ...buildCacheWarnings, ...warningDiagnostics], timingStart);
|
|
113
|
+
}
|
|
114
|
+
return this.complete({
|
|
74
115
|
success: true,
|
|
75
116
|
mode,
|
|
76
117
|
entry,
|
|
77
118
|
browserBundle: browserBundleResult.browserBundle,
|
|
78
119
|
manifest: buildManifest,
|
|
79
120
|
outputFiles,
|
|
80
|
-
diagnostics:
|
|
121
|
+
diagnostics: [
|
|
122
|
+
...packageWarnings,
|
|
123
|
+
...buildCacheWarnings,
|
|
124
|
+
...warningDiagnostics,
|
|
125
|
+
],
|
|
81
126
|
packageResolution,
|
|
82
127
|
timing: completeTiming(timingStart, this.now()),
|
|
83
|
-
};
|
|
128
|
+
});
|
|
84
129
|
}
|
|
85
130
|
catch (error) {
|
|
86
131
|
if (error instanceof package_resolution_1.ForgePackageResolutionError) {
|
|
87
|
-
return this.failure(mode, [error.diagnostic, ...warningDiagnostics], timingStart);
|
|
132
|
+
return this.failure(mode, [error.diagnostic, ...error.warnings, ...warningDiagnostics], timingStart);
|
|
88
133
|
}
|
|
89
134
|
throw error;
|
|
90
135
|
}
|
|
@@ -109,16 +154,68 @@ class DefaultBuildPipeline {
|
|
|
109
154
|
return undefined;
|
|
110
155
|
}
|
|
111
156
|
failure(mode, diagnostics, timingStart) {
|
|
112
|
-
return {
|
|
157
|
+
return this.complete({
|
|
113
158
|
success: false,
|
|
114
159
|
mode,
|
|
115
160
|
outputFiles: [],
|
|
116
161
|
diagnostics,
|
|
117
162
|
timing: completeTiming(timingStart, this.now()),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
complete(result) {
|
|
166
|
+
(0, telemetry_1.emitForgeTelemetry)(this.options.telemetry, {
|
|
167
|
+
operation: "build",
|
|
168
|
+
outcome: result.success ? "success" : "failure",
|
|
169
|
+
startedAt: result.timing.startedAt,
|
|
170
|
+
endedAt: result.timing.endedAt,
|
|
171
|
+
durationMs: result.timing.durationMs,
|
|
172
|
+
mode: result.mode,
|
|
173
|
+
entry: result.entry,
|
|
174
|
+
outputFileCount: result.outputFiles.length,
|
|
175
|
+
packageCount: result.packageResolution?.packages.length,
|
|
176
|
+
diagnostics: (0, telemetry_1.summarizeForgeTelemetryDiagnostics)(result.diagnostics),
|
|
177
|
+
});
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
async writeBuildCacheRecord(entry, mode, manifest, browserBundle, outputFiles) {
|
|
181
|
+
if (this.options.storage === undefined) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
const value = {
|
|
185
|
+
browserBundle,
|
|
186
|
+
entry,
|
|
187
|
+
manifest,
|
|
188
|
+
mode,
|
|
189
|
+
outputFiles: outputFiles.map((outputFile) => ({
|
|
190
|
+
contentType: outputFile.contentType,
|
|
191
|
+
path: outputFile.path,
|
|
192
|
+
size: outputFile.size,
|
|
193
|
+
})),
|
|
118
194
|
};
|
|
195
|
+
const encoded = new TextEncoder().encode(JSON.stringify(value));
|
|
196
|
+
try {
|
|
197
|
+
await this.options.storage.putBuildCacheRecord({
|
|
198
|
+
key: `build:${mode}:${entry}`,
|
|
199
|
+
size: encoded.byteLength,
|
|
200
|
+
updatedAt: this.now(),
|
|
201
|
+
value,
|
|
202
|
+
});
|
|
203
|
+
return [];
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
if (isLimitExceededError(error)) {
|
|
207
|
+
return [toWarningDiagnostic(error.diagnostic)];
|
|
208
|
+
}
|
|
209
|
+
throw error;
|
|
210
|
+
}
|
|
119
211
|
}
|
|
120
212
|
}
|
|
121
213
|
exports.DefaultBuildPipeline = DefaultBuildPipeline;
|
|
214
|
+
function getCancellationDiagnostic(signal) {
|
|
215
|
+
return signal?.aborted === true
|
|
216
|
+
? (0, diagnostics_1.createBuildCancelledDiagnostic)(signal.reason)
|
|
217
|
+
: undefined;
|
|
218
|
+
}
|
|
122
219
|
function createEsbuildWorkerScriptTransformer(esbuildWorker) {
|
|
123
220
|
if (esbuildWorker === undefined) {
|
|
124
221
|
return undefined;
|
|
@@ -248,6 +345,22 @@ async function writeBuildOutputFiles(fileSystem, outputFiles) {
|
|
|
248
345
|
});
|
|
249
346
|
}
|
|
250
347
|
}
|
|
348
|
+
async function writeBuildOutputFilesAtomically(fileSystem, outputFiles) {
|
|
349
|
+
const rollbackSnapshot = await fileSystem.snapshot({
|
|
350
|
+
includeGeneratedFiles: true,
|
|
351
|
+
});
|
|
352
|
+
try {
|
|
353
|
+
await writeBuildOutputFiles(fileSystem, outputFiles);
|
|
354
|
+
return undefined;
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
if (isLimitExceededError(error)) {
|
|
358
|
+
await fileSystem.restore(rollbackSnapshot);
|
|
359
|
+
return error.diagnostic;
|
|
360
|
+
}
|
|
361
|
+
throw error;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
251
364
|
async function ensureDirectory(fileSystem, path) {
|
|
252
365
|
await fileSystem.mkdir(path, {
|
|
253
366
|
recursive: true,
|
|
@@ -271,3 +384,13 @@ function completeTiming(start, endedAt) {
|
|
|
271
384
|
durationMs: Math.max(0, Date.now() - start.startedMs),
|
|
272
385
|
};
|
|
273
386
|
}
|
|
387
|
+
function isLimitExceededError(error) {
|
|
388
|
+
return (error instanceof virtual_file_system_1.ForgeFileSystemError &&
|
|
389
|
+
error.diagnostic.code === "limit_exceeded");
|
|
390
|
+
}
|
|
391
|
+
function toWarningDiagnostic(diagnostic) {
|
|
392
|
+
return {
|
|
393
|
+
...diagnostic,
|
|
394
|
+
severity: "warning",
|
|
395
|
+
};
|
|
396
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ForgeImportMap, ForgePackageDiagnostic, ForgePackageResolutionResult, ForgePackageResolver } from "../package-resolution";
|
|
2
2
|
import type { ForgeEsbuildWasmWorkerDiagnostic, ForgeEsbuildWasmWorkerService } from "../esbuild-wasm-worker";
|
|
3
|
-
import type { ForgeVirtualFileSystem } from "../virtual-file-system";
|
|
3
|
+
import type { ForgeVirtualFileSystem, ForgeVirtualFileSystemStorage } from "../virtual-file-system";
|
|
4
|
+
import type { ForgeTelemetryReporter } from "../telemetry";
|
|
4
5
|
export declare const BUILD_PIPELINE_CAPABILITY: "build-pipeline";
|
|
5
6
|
export type ForgeBuildMode = "production";
|
|
6
|
-
export type ForgeBuildPipelineDiagnosticCode = "esbuild_worker_transform_failed" | "missing_build_script" | "missing_entry" | "unresolved_import" | "unsupported_build_script" | "vite_config_not_executed";
|
|
7
|
+
export type ForgeBuildPipelineDiagnosticCode = "build_cancelled" | "esbuild_worker_transform_failed" | "missing_build_script" | "missing_entry" | "unresolved_import" | "unsupported_build_script" | "vite_config_not_executed";
|
|
7
8
|
export interface ForgeBuildPipelineDiagnostic {
|
|
8
9
|
readonly code: ForgeBuildPipelineDiagnosticCode;
|
|
9
10
|
readonly severity: "error" | "warning";
|
|
@@ -66,10 +67,13 @@ export interface ForgeBuildPipelineOptions {
|
|
|
66
67
|
readonly fileSystem: ForgeVirtualFileSystem;
|
|
67
68
|
readonly packageResolver: ForgePackageResolver;
|
|
68
69
|
readonly esbuildWorker?: ForgeEsbuildWasmWorkerService;
|
|
70
|
+
readonly telemetry?: ForgeTelemetryReporter;
|
|
69
71
|
readonly now?: () => string;
|
|
72
|
+
readonly storage?: ForgeVirtualFileSystemStorage;
|
|
70
73
|
}
|
|
71
74
|
export interface ForgeBuildRequest {
|
|
72
75
|
readonly entry?: string;
|
|
76
|
+
readonly signal?: AbortSignal;
|
|
73
77
|
}
|
|
74
78
|
export interface ForgeBuildPipeline {
|
|
75
79
|
readonly capability: typeof BUILD_PIPELINE_CAPABILITY;
|
|
@@ -40,6 +40,7 @@ class DefaultDevServerPreview {
|
|
|
40
40
|
}
|
|
41
41
|
const buildResult = await this.options.buildPipeline.build({
|
|
42
42
|
entry: options.entry,
|
|
43
|
+
signal: options.signal,
|
|
43
44
|
});
|
|
44
45
|
if (!buildResult.success) {
|
|
45
46
|
return this.failStart(record, buildResult.diagnostics, "initial-build", buildResult);
|
|
@@ -72,7 +73,7 @@ class DefaultDevServerPreview {
|
|
|
72
73
|
const diagnostic = (0, diagnostics_1.createSessionNotFoundDiagnostic)(sessionId);
|
|
73
74
|
return { success: false, diagnostics: [diagnostic] };
|
|
74
75
|
}
|
|
75
|
-
return this.performRebuild(record, options.reason ?? "manual", options.entry);
|
|
76
|
+
return this.performRebuild(record, options.reason ?? "manual", options.entry, options.signal);
|
|
76
77
|
}
|
|
77
78
|
async stop(sessionId) {
|
|
78
79
|
const record = this.sessions.get(sessionId);
|
|
@@ -159,7 +160,7 @@ class DefaultDevServerPreview {
|
|
|
159
160
|
record.rebuildQueue = undefined;
|
|
160
161
|
});
|
|
161
162
|
}
|
|
162
|
-
async performRebuild(record, reason, entry) {
|
|
163
|
+
async performRebuild(record, reason, entry, signal) {
|
|
163
164
|
if (record.session.status === "stopped") {
|
|
164
165
|
const diagnostic = (0, diagnostics_1.createSessionStoppedDiagnostic)(record.session.id);
|
|
165
166
|
return {
|
|
@@ -173,7 +174,7 @@ class DefaultDevServerPreview {
|
|
|
173
174
|
status: "rebuilding",
|
|
174
175
|
updatedAt: this.now(),
|
|
175
176
|
};
|
|
176
|
-
const buildResult = await this.options.buildPipeline.build({ entry });
|
|
177
|
+
const buildResult = await this.options.buildPipeline.build({ entry, signal });
|
|
177
178
|
if (!buildResult.success) {
|
|
178
179
|
const session = {
|
|
179
180
|
...record.session,
|
|
@@ -33,10 +33,12 @@ export interface ForgeDevSession {
|
|
|
33
33
|
export interface ForgeStartDevSessionOptions {
|
|
34
34
|
readonly entry?: string;
|
|
35
35
|
readonly sessionId?: string;
|
|
36
|
+
readonly signal?: AbortSignal;
|
|
36
37
|
}
|
|
37
38
|
export interface ForgeRebuildDevSessionOptions {
|
|
38
39
|
readonly entry?: string;
|
|
39
40
|
readonly reason?: string;
|
|
41
|
+
readonly signal?: AbortSignal;
|
|
40
42
|
}
|
|
41
43
|
export interface ForgeDevSessionStartResult {
|
|
42
44
|
readonly success: boolean;
|
package/dist/forge-controller.js
CHANGED
|
@@ -48,6 +48,7 @@ async function openForgeController(options) {
|
|
|
48
48
|
const buildPipeline = (0, build_pipeline_1.createBuildPipeline)({
|
|
49
49
|
fileSystem,
|
|
50
50
|
packageResolver,
|
|
51
|
+
storage,
|
|
51
52
|
});
|
|
52
53
|
const devServerPreview = (0, dev_server_preview_1.createDevServerPreview)({
|
|
53
54
|
fileSystem,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +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, 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";
|
|
4
|
-
export { createInvalidDependencyDiagnostic, createInvalidManifestDiagnostic, createCdnPackageSource, 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 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";
|
|
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";
|
|
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
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";
|
|
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
|
-
export {
|
|
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
|
+
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.IndexedDbForgeStorage = exports.FORGE_INDEXED_DB_VERSION = exports.FORGE_INDEXED_DB_STORES = exports.FORGE_INDEXED_DB_NAME = exports.DEFAULT_FORGE_VFS_LIMITS = exports.ForgeFileSystemError = exports.createLimitExceededDiagnostic = exports.createIndexedDbForgeStorage = exports.createPathTraversalDiagnostic = exports.createNotImplementedDiagnostic = exports.createNotFoundDiagnostic = exports.createMissingParentDiagnostic = exports.createInvalidPathDiagnostic = exports.createForgeDiagnostic = exports.createVirtualFileSystem = exports.TERMINAL_COMMANDS_CAPABILITY = exports.parseForgeCommandText = exports.NpmRunDevCommandHandler = exports.NpmRunBuildCommandHandler = exports.NpmInstallCommandHandler = exports.DefaultForgeTerminal = exports.createUnsupportedCommandDiagnostic = exports.createParseErrorDiagnostic = void 0;
|
|
3
|
+
exports.createNpmInstallCommandHandler = exports.createForgeTerminal = exports.isSupportedViteDevScript = exports.DEV_SERVER_PREVIEW_CAPABILITY = exports.DefaultDevServerPreview = exports.createUnsupportedDevScriptDiagnostic = exports.createSessionStoppedDiagnostic = exports.createSessionNotFoundDiagnostic = exports.createMissingDevScriptDiagnostic = 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 = 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; } });
|
|
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "createForgeController", { enumerable: true, get:
|
|
|
19
19
|
Object.defineProperty(exports, "openForgeController", { enumerable: true, get: function () { return forge_controller_1.openForgeController; } });
|
|
20
20
|
var build_pipeline_1 = require("./build-pipeline");
|
|
21
21
|
Object.defineProperty(exports, "BUILD_PIPELINE_CAPABILITY", { enumerable: true, get: function () { return build_pipeline_1.BUILD_PIPELINE_CAPABILITY; } });
|
|
22
|
+
Object.defineProperty(exports, "createBuildCancelledDiagnostic", { enumerable: true, get: function () { return build_pipeline_1.createBuildCancelledDiagnostic; } });
|
|
22
23
|
Object.defineProperty(exports, "createBuildPipeline", { enumerable: true, get: function () { return build_pipeline_1.createBuildPipeline; } });
|
|
23
24
|
Object.defineProperty(exports, "createEsbuildWorkerTransformDiagnostic", { enumerable: true, get: function () { return build_pipeline_1.createEsbuildWorkerTransformDiagnostic; } });
|
|
24
25
|
Object.defineProperty(exports, "createMissingBuildScriptDiagnostic", { enumerable: true, get: function () { return build_pipeline_1.createMissingBuildScriptDiagnostic; } });
|
|
@@ -32,6 +33,7 @@ var package_resolution_1 = require("./package-resolution");
|
|
|
32
33
|
Object.defineProperty(exports, "createInvalidDependencyDiagnostic", { enumerable: true, get: function () { return package_resolution_1.createInvalidDependencyDiagnostic; } });
|
|
33
34
|
Object.defineProperty(exports, "createInvalidManifestDiagnostic", { enumerable: true, get: function () { return package_resolution_1.createInvalidManifestDiagnostic; } });
|
|
34
35
|
Object.defineProperty(exports, "createCdnPackageSource", { enumerable: true, get: function () { return package_resolution_1.createCdnPackageSource; } });
|
|
36
|
+
Object.defineProperty(exports, "createOfflineCacheMissDiagnostic", { enumerable: true, get: function () { return package_resolution_1.createOfflineCacheMissDiagnostic; } });
|
|
35
37
|
Object.defineProperty(exports, "createPackageCacheKey", { enumerable: true, get: function () { return package_resolution_1.createPackageCacheKey; } });
|
|
36
38
|
Object.defineProperty(exports, "createPackageResolutionDiagnostic", { enumerable: true, get: function () { return package_resolution_1.createPackageResolutionDiagnostic; } });
|
|
37
39
|
Object.defineProperty(exports, "createPackageResolver", { enumerable: true, get: function () { return package_resolution_1.createPackageResolver; } });
|
|
@@ -66,22 +68,33 @@ Object.defineProperty(exports, "NpmRunBuildCommandHandler", { enumerable: true,
|
|
|
66
68
|
Object.defineProperty(exports, "NpmRunDevCommandHandler", { enumerable: true, get: function () { return terminal_commands_1.NpmRunDevCommandHandler; } });
|
|
67
69
|
Object.defineProperty(exports, "parseForgeCommandText", { enumerable: true, get: function () { return terminal_commands_1.parseForgeCommandText; } });
|
|
68
70
|
Object.defineProperty(exports, "TERMINAL_COMMANDS_CAPABILITY", { enumerable: true, get: function () { return terminal_commands_1.TERMINAL_COMMANDS_CAPABILITY; } });
|
|
71
|
+
var telemetry_1 = require("./telemetry");
|
|
72
|
+
Object.defineProperty(exports, "completeForgeTelemetryTiming", { enumerable: true, get: function () { return telemetry_1.completeForgeTelemetryTiming; } });
|
|
73
|
+
Object.defineProperty(exports, "createForgeUnsupportedPackageReason", { enumerable: true, get: function () { return telemetry_1.createForgeUnsupportedPackageReason; } });
|
|
74
|
+
Object.defineProperty(exports, "emitForgeTelemetry", { enumerable: true, get: function () { return telemetry_1.emitForgeTelemetry; } });
|
|
75
|
+
Object.defineProperty(exports, "startForgeTelemetryTiming", { enumerable: true, get: function () { return telemetry_1.startForgeTelemetryTiming; } });
|
|
76
|
+
Object.defineProperty(exports, "summarizeForgeTelemetryDiagnostics", { enumerable: true, get: function () { return telemetry_1.summarizeForgeTelemetryDiagnostics; } });
|
|
77
|
+
Object.defineProperty(exports, "TELEMETRY_CAPABILITY", { enumerable: true, get: function () { return telemetry_1.TELEMETRY_CAPABILITY; } });
|
|
69
78
|
var virtual_file_system_1 = require("./virtual-file-system");
|
|
70
79
|
Object.defineProperty(exports, "createVirtualFileSystem", { enumerable: true, get: function () { return virtual_file_system_1.createVirtualFileSystem; } });
|
|
71
80
|
Object.defineProperty(exports, "createForgeDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createForgeDiagnostic; } });
|
|
72
81
|
Object.defineProperty(exports, "createInvalidPathDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createInvalidPathDiagnostic; } });
|
|
82
|
+
Object.defineProperty(exports, "createInvalidSnapshotDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createInvalidSnapshotDiagnostic; } });
|
|
73
83
|
Object.defineProperty(exports, "createMissingParentDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createMissingParentDiagnostic; } });
|
|
74
84
|
Object.defineProperty(exports, "createNotFoundDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createNotFoundDiagnostic; } });
|
|
75
85
|
Object.defineProperty(exports, "createNotImplementedDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createNotImplementedDiagnostic; } });
|
|
76
86
|
Object.defineProperty(exports, "createPathTraversalDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createPathTraversalDiagnostic; } });
|
|
77
87
|
Object.defineProperty(exports, "createIndexedDbForgeStorage", { enumerable: true, get: function () { return virtual_file_system_1.createIndexedDbForgeStorage; } });
|
|
78
88
|
Object.defineProperty(exports, "createLimitExceededDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createLimitExceededDiagnostic; } });
|
|
89
|
+
Object.defineProperty(exports, "exportWorkspaceSnapshot", { enumerable: true, get: function () { return virtual_file_system_1.exportWorkspaceSnapshot; } });
|
|
79
90
|
Object.defineProperty(exports, "ForgeFileSystemError", { enumerable: true, get: function () { return virtual_file_system_1.ForgeFileSystemError; } });
|
|
80
91
|
Object.defineProperty(exports, "DEFAULT_FORGE_VFS_LIMITS", { enumerable: true, get: function () { return virtual_file_system_1.DEFAULT_FORGE_VFS_LIMITS; } });
|
|
81
92
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_NAME", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_NAME; } });
|
|
82
93
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_STORES", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_STORES; } });
|
|
83
94
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_VERSION", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_VERSION; } });
|
|
95
|
+
Object.defineProperty(exports, "FORGE_WORKSPACE_SNAPSHOT_EXPORT_SCHEMA_VERSION", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_WORKSPACE_SNAPSHOT_EXPORT_SCHEMA_VERSION; } });
|
|
84
96
|
Object.defineProperty(exports, "IndexedDbForgeStorage", { enumerable: true, get: function () { return virtual_file_system_1.IndexedDbForgeStorage; } });
|
|
97
|
+
Object.defineProperty(exports, "importWorkspaceSnapshot", { enumerable: true, get: function () { return virtual_file_system_1.importWorkspaceSnapshot; } });
|
|
85
98
|
Object.defineProperty(exports, "normalizeForgePath", { enumerable: true, get: function () { return virtual_file_system_1.normalizeForgePath; } });
|
|
86
99
|
Object.defineProperty(exports, "openVirtualFileSystem", { enumerable: true, get: function () { return virtual_file_system_1.openVirtualFileSystem; } });
|
|
87
100
|
Object.defineProperty(exports, "resolveForgeVirtualFileSystemLimits", { enumerable: true, get: function () { return virtual_file_system_1.resolveForgeVirtualFileSystemLimits; } });
|
|
@@ -11,5 +11,6 @@ export declare function createPackageResolutionDiagnostic(input: ForgePackageDia
|
|
|
11
11
|
export declare function createInvalidManifestDiagnostic(path: string, cause?: unknown): ForgePackageResolutionDiagnostic;
|
|
12
12
|
export declare function createInvalidDependencyDiagnostic(dependencyName: string, requestedRange: string | undefined, message?: string): ForgePackageResolutionDiagnostic;
|
|
13
13
|
export declare function createUnsupportedRangeDiagnostic(dependencyName: string, requestedRange: string): ForgePackageResolutionDiagnostic;
|
|
14
|
+
export declare function createOfflineCacheMissDiagnostic(dependencyName: string, requestedRange: string): ForgePackageResolutionDiagnostic;
|
|
14
15
|
export declare function createUnresolvedPackageDiagnostic(dependencyName: string, requestedRange: string): ForgePackageResolutionDiagnostic;
|
|
15
16
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createUnresolvedPackageDiagnostic = exports.createUnsupportedRangeDiagnostic = exports.createInvalidDependencyDiagnostic = exports.createInvalidManifestDiagnostic = exports.createPackageResolutionDiagnostic = void 0;
|
|
3
|
+
exports.createUnresolvedPackageDiagnostic = exports.createOfflineCacheMissDiagnostic = exports.createUnsupportedRangeDiagnostic = exports.createInvalidDependencyDiagnostic = exports.createInvalidManifestDiagnostic = exports.createPackageResolutionDiagnostic = void 0;
|
|
4
4
|
function createPackageResolutionDiagnostic(input) {
|
|
5
5
|
return {
|
|
6
6
|
code: input.code,
|
|
@@ -40,6 +40,15 @@ function createUnsupportedRangeDiagnostic(dependencyName, requestedRange) {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
exports.createUnsupportedRangeDiagnostic = createUnsupportedRangeDiagnostic;
|
|
43
|
+
function createOfflineCacheMissDiagnostic(dependencyName, requestedRange) {
|
|
44
|
+
return createPackageResolutionDiagnostic({
|
|
45
|
+
code: "offline_cache_miss",
|
|
46
|
+
message: "Package is not available in the offline package cache.",
|
|
47
|
+
dependencyName,
|
|
48
|
+
requestedRange,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
exports.createOfflineCacheMissDiagnostic = createOfflineCacheMissDiagnostic;
|
|
43
52
|
function createUnresolvedPackageDiagnostic(dependencyName, requestedRange) {
|
|
44
53
|
return createPackageResolutionDiagnostic({
|
|
45
54
|
code: "unresolved_package",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ForgePackageDiagnostic } from "./types";
|
|
2
2
|
export declare class ForgePackageResolutionError extends Error {
|
|
3
3
|
readonly diagnostic: ForgePackageDiagnostic;
|
|
4
|
-
|
|
4
|
+
readonly warnings: readonly ForgePackageDiagnostic[];
|
|
5
|
+
constructor(diagnostic: ForgePackageDiagnostic, warnings?: readonly ForgePackageDiagnostic[]);
|
|
5
6
|
}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ForgePackageResolutionError = void 0;
|
|
4
4
|
class ForgePackageResolutionError extends Error {
|
|
5
|
-
constructor(diagnostic) {
|
|
5
|
+
constructor(diagnostic, warnings = []) {
|
|
6
6
|
super(diagnostic.message);
|
|
7
7
|
this.diagnostic = diagnostic;
|
|
8
|
+
this.warnings = warnings;
|
|
8
9
|
this.name = "ForgePackageResolutionError";
|
|
9
10
|
}
|
|
10
11
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createCdnPackageSource, type ForgeCdnPackageFetch, type ForgeCdnPackageMetadataUrlFactory, type ForgeCdnPackageSourceOptions, } from "./cdn-source";
|
|
2
|
-
export { createInvalidDependencyDiagnostic, createInvalidManifestDiagnostic, createPackageResolutionDiagnostic, createUnsupportedRangeDiagnostic, createUnresolvedPackageDiagnostic, } from "./diagnostics";
|
|
2
|
+
export { createInvalidDependencyDiagnostic, createInvalidManifestDiagnostic, createOfflineCacheMissDiagnostic, createPackageResolutionDiagnostic, createUnsupportedRangeDiagnostic, createUnresolvedPackageDiagnostic, } from "./diagnostics";
|
|
3
3
|
export { ForgePackageResolutionError } from "./errors";
|
|
4
4
|
export { collectDependencyRequests, DEFAULT_FORGE_MANIFEST_PATH, readPackageManifest, } from "./manifest";
|
|
5
5
|
export { createPackageCacheKey, createPackageResolver, DefaultPackageResolver, } from "./resolver";
|
|
6
|
-
export { PACKAGE_RESOLUTION_CAPABILITY, type ForgeBundleAliases, type ForgeDependencyKind, type ForgeDependencyRequest, type ForgeImportMap, 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 "./types";
|
|
6
|
+
export { PACKAGE_RESOLUTION_CAPABILITY, type ForgeBundleAliases, 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 "./types";
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PACKAGE_RESOLUTION_CAPABILITY = exports.DefaultPackageResolver = exports.createPackageResolver = exports.createPackageCacheKey = exports.readPackageManifest = exports.DEFAULT_FORGE_MANIFEST_PATH = exports.collectDependencyRequests = exports.ForgePackageResolutionError = exports.createUnresolvedPackageDiagnostic = exports.createUnsupportedRangeDiagnostic = exports.createPackageResolutionDiagnostic = exports.createInvalidManifestDiagnostic = exports.createInvalidDependencyDiagnostic = exports.createCdnPackageSource = void 0;
|
|
3
|
+
exports.PACKAGE_RESOLUTION_CAPABILITY = exports.DefaultPackageResolver = exports.createPackageResolver = exports.createPackageCacheKey = exports.readPackageManifest = exports.DEFAULT_FORGE_MANIFEST_PATH = exports.collectDependencyRequests = exports.ForgePackageResolutionError = exports.createUnresolvedPackageDiagnostic = exports.createUnsupportedRangeDiagnostic = exports.createPackageResolutionDiagnostic = exports.createOfflineCacheMissDiagnostic = exports.createInvalidManifestDiagnostic = exports.createInvalidDependencyDiagnostic = exports.createCdnPackageSource = void 0;
|
|
4
4
|
var cdn_source_1 = require("./cdn-source");
|
|
5
5
|
Object.defineProperty(exports, "createCdnPackageSource", { enumerable: true, get: function () { return cdn_source_1.createCdnPackageSource; } });
|
|
6
6
|
var diagnostics_1 = require("./diagnostics");
|
|
7
7
|
Object.defineProperty(exports, "createInvalidDependencyDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createInvalidDependencyDiagnostic; } });
|
|
8
8
|
Object.defineProperty(exports, "createInvalidManifestDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createInvalidManifestDiagnostic; } });
|
|
9
|
+
Object.defineProperty(exports, "createOfflineCacheMissDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createOfflineCacheMissDiagnostic; } });
|
|
9
10
|
Object.defineProperty(exports, "createPackageResolutionDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createPackageResolutionDiagnostic; } });
|
|
10
11
|
Object.defineProperty(exports, "createUnsupportedRangeDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createUnsupportedRangeDiagnostic; } });
|
|
11
12
|
Object.defineProperty(exports, "createUnresolvedPackageDiagnostic", { enumerable: true, get: function () { return diagnostics_1.createUnresolvedPackageDiagnostic; } });
|
|
@@ -4,6 +4,8 @@ export declare class DefaultPackageResolver implements ForgePackageResolver {
|
|
|
4
4
|
readonly capability: "package-resolution";
|
|
5
5
|
private readonly sources;
|
|
6
6
|
private readonly resolutionMode;
|
|
7
|
+
private readonly cacheMode;
|
|
8
|
+
private readonly telemetry;
|
|
7
9
|
private readonly manifestPath;
|
|
8
10
|
private readonly now;
|
|
9
11
|
constructor(options: ForgePackageResolverOptions);
|
|
@@ -12,6 +14,7 @@ export declare class DefaultPackageResolver implements ForgePackageResolver {
|
|
|
12
14
|
private resolveRequest;
|
|
13
15
|
private readCachedPackage;
|
|
14
16
|
private writeCachedPackage;
|
|
17
|
+
private emitTelemetry;
|
|
15
18
|
}
|
|
16
19
|
export declare function createPackageResolver(options: ForgePackageResolverOptions): ForgePackageResolver;
|
|
17
20
|
export declare function createPackageCacheKey(packageName: string, versionOrRange: string): string;
|