@caryhu/codemine-forge 0.0.1-alpha.0 → 0.0.1-alpha.2
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/browser-bundle.d.ts +2 -1
- package/dist/build-pipeline/browser-bundle.js +384 -24
- package/dist/build-pipeline/diagnostics.d.ts +1 -0
- package/dist/build-pipeline/diagnostics.js +11 -2
- package/dist/build-pipeline/index.d.ts +2 -2
- package/dist/build-pipeline/index.js +2 -1
- package/dist/build-pipeline/pipeline.d.ts +2 -0
- package/dist/build-pipeline/pipeline.js +149 -28
- package/dist/build-pipeline/types.d.ts +24 -2
- 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 +248 -33
- package/dist/dev-server-preview/types.d.ts +40 -1
- package/dist/forge-controller.js +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +16 -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 +2 -2
|
@@ -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,14 +51,17 @@ 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;
|
|
35
58
|
readonly sessionId?: string;
|
|
59
|
+
readonly signal?: AbortSignal;
|
|
36
60
|
}
|
|
37
61
|
export interface ForgeRebuildDevSessionOptions {
|
|
38
62
|
readonly entry?: string;
|
|
39
63
|
readonly reason?: string;
|
|
64
|
+
readonly signal?: AbortSignal;
|
|
40
65
|
}
|
|
41
66
|
export interface ForgeDevSessionStartResult {
|
|
42
67
|
readonly success: boolean;
|
|
@@ -55,7 +80,7 @@ export interface ForgeDevSessionStopResult {
|
|
|
55
80
|
readonly session?: ForgeDevSession;
|
|
56
81
|
readonly diagnostics: readonly ForgeDevSessionDiagnostic[];
|
|
57
82
|
}
|
|
58
|
-
export type ForgeDevServerPreviewEvent = ForgeDevSessionFailedEvent | ForgeDevSessionStartedEvent | ForgeDevSessionStoppedEvent | ForgePreviewRefreshedEvent;
|
|
83
|
+
export type ForgeDevServerPreviewEvent = ForgeDevSessionFailedEvent | ForgePreviewModuleUpdatedEvent | ForgeDevSessionStartedEvent | ForgeDevSessionStoppedEvent | ForgePreviewStyleUpdatedEvent | ForgePreviewRefreshedEvent;
|
|
59
84
|
export interface ForgeDevSessionStartedEvent {
|
|
60
85
|
readonly type: "dev:session-started";
|
|
61
86
|
readonly session: ForgeDevSession;
|
|
@@ -70,6 +95,19 @@ export interface ForgePreviewRefreshedEvent {
|
|
|
70
95
|
readonly buildResult: ForgeBuildResult;
|
|
71
96
|
readonly reason: string;
|
|
72
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
|
+
}
|
|
73
111
|
export interface ForgeDevSessionFailedEvent {
|
|
74
112
|
readonly type: "dev:session-failed";
|
|
75
113
|
readonly session: ForgeDevSession;
|
|
@@ -85,6 +123,7 @@ export interface ForgeDevServerPreviewOptions {
|
|
|
85
123
|
readonly now?: () => string;
|
|
86
124
|
}
|
|
87
125
|
export interface ForgeCreatePreviewDocumentOptions {
|
|
126
|
+
readonly adapter?: ForgeDevServerAdapterMetadata;
|
|
88
127
|
readonly buildResult: ForgeBuildResult;
|
|
89
128
|
readonly htmlShell?: string;
|
|
90
129
|
readonly previewUrl: string;
|
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";
|
|
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";
|
|
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
|
+
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, 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
|
-
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.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; } });
|
|
@@ -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; } });
|
|
@@ -46,6 +48,7 @@ Object.defineProperty(exports, "readPackageManifest", { enumerable: true, get: f
|
|
|
46
48
|
var dev_server_preview_1 = require("./dev-server-preview");
|
|
47
49
|
Object.defineProperty(exports, "createDevServerPreview", { enumerable: true, get: function () { return dev_server_preview_1.createDevServerPreview; } });
|
|
48
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; } });
|
|
49
52
|
Object.defineProperty(exports, "createMissingDevScriptDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createMissingDevScriptDiagnostic; } });
|
|
50
53
|
Object.defineProperty(exports, "createSessionNotFoundDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createSessionNotFoundDiagnostic; } });
|
|
51
54
|
Object.defineProperty(exports, "createSessionStoppedDiagnostic", { enumerable: true, get: function () { return dev_server_preview_1.createSessionStoppedDiagnostic; } });
|
|
@@ -66,22 +69,33 @@ Object.defineProperty(exports, "NpmRunBuildCommandHandler", { enumerable: true,
|
|
|
66
69
|
Object.defineProperty(exports, "NpmRunDevCommandHandler", { enumerable: true, get: function () { return terminal_commands_1.NpmRunDevCommandHandler; } });
|
|
67
70
|
Object.defineProperty(exports, "parseForgeCommandText", { enumerable: true, get: function () { return terminal_commands_1.parseForgeCommandText; } });
|
|
68
71
|
Object.defineProperty(exports, "TERMINAL_COMMANDS_CAPABILITY", { enumerable: true, get: function () { return terminal_commands_1.TERMINAL_COMMANDS_CAPABILITY; } });
|
|
72
|
+
var telemetry_1 = require("./telemetry");
|
|
73
|
+
Object.defineProperty(exports, "completeForgeTelemetryTiming", { enumerable: true, get: function () { return telemetry_1.completeForgeTelemetryTiming; } });
|
|
74
|
+
Object.defineProperty(exports, "createForgeUnsupportedPackageReason", { enumerable: true, get: function () { return telemetry_1.createForgeUnsupportedPackageReason; } });
|
|
75
|
+
Object.defineProperty(exports, "emitForgeTelemetry", { enumerable: true, get: function () { return telemetry_1.emitForgeTelemetry; } });
|
|
76
|
+
Object.defineProperty(exports, "startForgeTelemetryTiming", { enumerable: true, get: function () { return telemetry_1.startForgeTelemetryTiming; } });
|
|
77
|
+
Object.defineProperty(exports, "summarizeForgeTelemetryDiagnostics", { enumerable: true, get: function () { return telemetry_1.summarizeForgeTelemetryDiagnostics; } });
|
|
78
|
+
Object.defineProperty(exports, "TELEMETRY_CAPABILITY", { enumerable: true, get: function () { return telemetry_1.TELEMETRY_CAPABILITY; } });
|
|
69
79
|
var virtual_file_system_1 = require("./virtual-file-system");
|
|
70
80
|
Object.defineProperty(exports, "createVirtualFileSystem", { enumerable: true, get: function () { return virtual_file_system_1.createVirtualFileSystem; } });
|
|
71
81
|
Object.defineProperty(exports, "createForgeDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createForgeDiagnostic; } });
|
|
72
82
|
Object.defineProperty(exports, "createInvalidPathDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createInvalidPathDiagnostic; } });
|
|
83
|
+
Object.defineProperty(exports, "createInvalidSnapshotDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createInvalidSnapshotDiagnostic; } });
|
|
73
84
|
Object.defineProperty(exports, "createMissingParentDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createMissingParentDiagnostic; } });
|
|
74
85
|
Object.defineProperty(exports, "createNotFoundDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createNotFoundDiagnostic; } });
|
|
75
86
|
Object.defineProperty(exports, "createNotImplementedDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createNotImplementedDiagnostic; } });
|
|
76
87
|
Object.defineProperty(exports, "createPathTraversalDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createPathTraversalDiagnostic; } });
|
|
77
88
|
Object.defineProperty(exports, "createIndexedDbForgeStorage", { enumerable: true, get: function () { return virtual_file_system_1.createIndexedDbForgeStorage; } });
|
|
78
89
|
Object.defineProperty(exports, "createLimitExceededDiagnostic", { enumerable: true, get: function () { return virtual_file_system_1.createLimitExceededDiagnostic; } });
|
|
90
|
+
Object.defineProperty(exports, "exportWorkspaceSnapshot", { enumerable: true, get: function () { return virtual_file_system_1.exportWorkspaceSnapshot; } });
|
|
79
91
|
Object.defineProperty(exports, "ForgeFileSystemError", { enumerable: true, get: function () { return virtual_file_system_1.ForgeFileSystemError; } });
|
|
80
92
|
Object.defineProperty(exports, "DEFAULT_FORGE_VFS_LIMITS", { enumerable: true, get: function () { return virtual_file_system_1.DEFAULT_FORGE_VFS_LIMITS; } });
|
|
81
93
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_NAME", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_NAME; } });
|
|
82
94
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_STORES", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_STORES; } });
|
|
83
95
|
Object.defineProperty(exports, "FORGE_INDEXED_DB_VERSION", { enumerable: true, get: function () { return virtual_file_system_1.FORGE_INDEXED_DB_VERSION; } });
|
|
96
|
+
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
97
|
Object.defineProperty(exports, "IndexedDbForgeStorage", { enumerable: true, get: function () { return virtual_file_system_1.IndexedDbForgeStorage; } });
|
|
98
|
+
Object.defineProperty(exports, "importWorkspaceSnapshot", { enumerable: true, get: function () { return virtual_file_system_1.importWorkspaceSnapshot; } });
|
|
85
99
|
Object.defineProperty(exports, "normalizeForgePath", { enumerable: true, get: function () { return virtual_file_system_1.normalizeForgePath; } });
|
|
86
100
|
Object.defineProperty(exports, "openVirtualFileSystem", { enumerable: true, get: function () { return virtual_file_system_1.openVirtualFileSystem; } });
|
|
87
101
|
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;
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPackageCacheKey = exports.createPackageResolver = exports.DefaultPackageResolver = void 0;
|
|
4
|
+
const virtual_file_system_1 = require("../virtual-file-system");
|
|
5
|
+
const telemetry_1 = require("../telemetry");
|
|
4
6
|
const manifest_1 = require("./manifest");
|
|
5
7
|
const diagnostics_1 = require("./diagnostics");
|
|
6
8
|
const errors_1 = require("./errors");
|
|
7
9
|
const types_1 = require("./types");
|
|
8
10
|
const DEFAULT_RESOLUTION_MODE = "bundle-alias";
|
|
11
|
+
const DEFAULT_CACHE_MODE = "prefer-cache";
|
|
9
12
|
class DefaultPackageResolver {
|
|
10
13
|
constructor(options) {
|
|
11
14
|
this.options = options;
|
|
12
15
|
this.capability = types_1.PACKAGE_RESOLUTION_CAPABILITY;
|
|
13
16
|
this.sources = options.sources ?? [];
|
|
14
17
|
this.resolutionMode = options.resolutionMode ?? DEFAULT_RESOLUTION_MODE;
|
|
18
|
+
this.cacheMode = options.cacheMode ?? DEFAULT_CACHE_MODE;
|
|
19
|
+
this.telemetry = options.telemetry;
|
|
15
20
|
this.manifestPath = options.manifestPath ?? manifest_1.DEFAULT_FORGE_MANIFEST_PATH;
|
|
16
21
|
this.now = options.now ?? (() => new Date().toISOString());
|
|
17
22
|
}
|
|
@@ -19,38 +24,86 @@ class DefaultPackageResolver {
|
|
|
19
24
|
return (0, manifest_1.readPackageManifest)(this.options.fileSystem, manifestPath);
|
|
20
25
|
}
|
|
21
26
|
async resolve(options = {}) {
|
|
22
|
-
const
|
|
23
|
-
const
|
|
27
|
+
const telemetryStart = (0, telemetry_1.startForgeTelemetryTiming)(this.now());
|
|
28
|
+
const telemetry = options.telemetry ?? this.telemetry;
|
|
24
29
|
const sources = options.sources ?? this.sources;
|
|
25
30
|
const resolutionMode = options.resolutionMode ?? this.resolutionMode;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
const cacheMode = options.cacheMode ?? this.cacheMode;
|
|
32
|
+
let requests;
|
|
33
|
+
try {
|
|
34
|
+
const manifest = await this.readManifest(options.manifestPath ?? this.manifestPath);
|
|
35
|
+
requests = (0, manifest_1.collectDependencyRequests)(manifest);
|
|
36
|
+
const packages = [];
|
|
37
|
+
const warnings = [];
|
|
38
|
+
for (const request of requests) {
|
|
39
|
+
try {
|
|
40
|
+
const result = await this.resolveRequest(request, sources, cacheMode);
|
|
41
|
+
packages.push(result.packageRecord);
|
|
42
|
+
warnings.push(...result.warnings);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof errors_1.ForgePackageResolutionError &&
|
|
46
|
+
(warnings.length > 0 || error.warnings.length > 0)) {
|
|
47
|
+
throw new errors_1.ForgePackageResolutionError(error.diagnostic, [
|
|
48
|
+
...warnings,
|
|
49
|
+
...error.warnings,
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
packages.sort((left, right) => left.name.localeCompare(right.name));
|
|
56
|
+
const lock = createLockMetadata(packages, resolutionMode);
|
|
57
|
+
const resultBase = {
|
|
58
|
+
manifest,
|
|
59
|
+
requests,
|
|
60
|
+
packages,
|
|
61
|
+
lock,
|
|
62
|
+
warnings,
|
|
43
63
|
};
|
|
64
|
+
const result = resolutionMode === "import-map"
|
|
65
|
+
? {
|
|
66
|
+
...resultBase,
|
|
67
|
+
importMap: createImportMap(packages),
|
|
68
|
+
}
|
|
69
|
+
: {
|
|
70
|
+
...resultBase,
|
|
71
|
+
aliases: createBundleAliases(packages),
|
|
72
|
+
};
|
|
73
|
+
this.emitTelemetry(telemetry, telemetryStart, {
|
|
74
|
+
cacheMode,
|
|
75
|
+
dependencyCount: requests.length,
|
|
76
|
+
diagnostics: warnings,
|
|
77
|
+
outcome: "success",
|
|
78
|
+
packageCount: packages.length,
|
|
79
|
+
resolutionMode,
|
|
80
|
+
});
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (error instanceof errors_1.ForgePackageResolutionError) {
|
|
85
|
+
this.emitTelemetry(telemetry, telemetryStart, {
|
|
86
|
+
cacheMode,
|
|
87
|
+
dependencyCount: requests?.length,
|
|
88
|
+
diagnostics: [error.diagnostic, ...error.warnings],
|
|
89
|
+
outcome: "failure",
|
|
90
|
+
packageCount: undefined,
|
|
91
|
+
resolutionMode,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
throw error;
|
|
44
95
|
}
|
|
45
|
-
return {
|
|
46
|
-
...resultBase,
|
|
47
|
-
aliases: createBundleAliases(packages),
|
|
48
|
-
};
|
|
49
96
|
}
|
|
50
|
-
async resolveRequest(request, sources) {
|
|
97
|
+
async resolveRequest(request, sources, cacheMode) {
|
|
51
98
|
const cachedPackage = await this.readCachedPackage(request);
|
|
52
99
|
if (cachedPackage !== undefined) {
|
|
53
|
-
return
|
|
100
|
+
return {
|
|
101
|
+
packageRecord: cachedPackage,
|
|
102
|
+
warnings: [],
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (cacheMode === "cache-only") {
|
|
106
|
+
throw new errors_1.ForgePackageResolutionError((0, diagnostics_1.createOfflineCacheMissDiagnostic)(request.name, request.requestedRange));
|
|
54
107
|
}
|
|
55
108
|
for (const source of sources) {
|
|
56
109
|
const packageRecord = await source.resolvePackage(request);
|
|
@@ -58,8 +111,11 @@ class DefaultPackageResolver {
|
|
|
58
111
|
continue;
|
|
59
112
|
}
|
|
60
113
|
const normalizedRecord = normalizePackageRecord(request, source.id, packageRecord);
|
|
61
|
-
await this.writeCachedPackage(request, normalizedRecord);
|
|
62
|
-
return
|
|
114
|
+
const warnings = await this.writeCachedPackage(request, normalizedRecord);
|
|
115
|
+
return {
|
|
116
|
+
packageRecord: normalizedRecord,
|
|
117
|
+
warnings,
|
|
118
|
+
};
|
|
63
119
|
}
|
|
64
120
|
throw new errors_1.ForgePackageResolutionError((0, diagnostics_1.createUnresolvedPackageDiagnostic)(request.name, request.requestedRange));
|
|
65
121
|
}
|
|
@@ -78,8 +134,9 @@ class DefaultPackageResolver {
|
|
|
78
134
|
}
|
|
79
135
|
async writeCachedPackage(request, packageRecord) {
|
|
80
136
|
if (this.options.storage === undefined) {
|
|
81
|
-
return;
|
|
137
|
+
return [];
|
|
82
138
|
}
|
|
139
|
+
const warnings = [];
|
|
83
140
|
const records = [
|
|
84
141
|
createCacheRecord(createPackageCacheKey(request.name, request.requestedRange), packageRecord, this.now()),
|
|
85
142
|
];
|
|
@@ -87,8 +144,35 @@ class DefaultPackageResolver {
|
|
|
87
144
|
records.push(createCacheRecord(createPackageCacheKey(request.name, packageRecord.version), packageRecord, this.now()));
|
|
88
145
|
}
|
|
89
146
|
for (const record of records) {
|
|
90
|
-
|
|
147
|
+
try {
|
|
148
|
+
await this.options.storage.putPackageCacheRecord(record);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
if (isLimitExceededError(error)) {
|
|
152
|
+
warnings.push(toWarningDiagnostic(error.diagnostic));
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
91
157
|
}
|
|
158
|
+
return warnings;
|
|
159
|
+
}
|
|
160
|
+
emitTelemetry(telemetry, telemetryStart, input) {
|
|
161
|
+
const diagnosticSummaries = (0, telemetry_1.summarizeForgeTelemetryDiagnostics)(input.diagnostics);
|
|
162
|
+
const errorDiagnostic = input.diagnostics.find((diagnostic) => diagnostic.severity === "error");
|
|
163
|
+
(0, telemetry_1.emitForgeTelemetry)(telemetry, {
|
|
164
|
+
operation: "package-resolution",
|
|
165
|
+
outcome: input.outcome,
|
|
166
|
+
...(0, telemetry_1.completeForgeTelemetryTiming)(telemetryStart, this.now()),
|
|
167
|
+
cacheMode: input.cacheMode,
|
|
168
|
+
resolutionMode: input.resolutionMode,
|
|
169
|
+
dependencyCount: input.dependencyCount,
|
|
170
|
+
packageCount: input.packageCount,
|
|
171
|
+
diagnostics: diagnosticSummaries,
|
|
172
|
+
unsupportedPackageReason: errorDiagnostic === undefined
|
|
173
|
+
? undefined
|
|
174
|
+
: (0, telemetry_1.createForgeUnsupportedPackageReason)(errorDiagnostic),
|
|
175
|
+
});
|
|
92
176
|
}
|
|
93
177
|
}
|
|
94
178
|
exports.DefaultPackageResolver = DefaultPackageResolver;
|
|
@@ -170,3 +254,13 @@ function isForgePackageRecord(value) {
|
|
|
170
254
|
typeof record.files === "object" &&
|
|
171
255
|
record.files !== null);
|
|
172
256
|
}
|
|
257
|
+
function isLimitExceededError(error) {
|
|
258
|
+
return (error instanceof virtual_file_system_1.ForgeFileSystemError &&
|
|
259
|
+
error.diagnostic.code === "limit_exceeded");
|
|
260
|
+
}
|
|
261
|
+
function toWarningDiagnostic(diagnostic) {
|
|
262
|
+
return {
|
|
263
|
+
...diagnostic,
|
|
264
|
+
severity: "warning",
|
|
265
|
+
};
|
|
266
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { ForgeDiagnostic, ForgeVirtualFileSystemStorage } from "../virtual-file-system";
|
|
2
2
|
import type { ForgeVirtualFileSystem } from "../virtual-file-system";
|
|
3
|
+
import type { ForgeTelemetryReporter } from "../telemetry";
|
|
3
4
|
export declare const PACKAGE_RESOLUTION_CAPABILITY: "package-resolution";
|
|
4
5
|
export type ForgePackageResolutionMode = "import-map" | "bundle-alias";
|
|
5
|
-
export type
|
|
6
|
+
export type ForgePackageCacheMode = "prefer-cache" | "cache-only";
|
|
7
|
+
export type ForgePackageResolutionDiagnosticCode = "invalid_dependency" | "invalid_manifest" | "offline_cache_miss" | "unresolved_package" | "unsupported_range";
|
|
6
8
|
export interface ForgePackageResolutionDiagnostic {
|
|
7
9
|
readonly code: ForgePackageResolutionDiagnosticCode;
|
|
8
10
|
readonly severity: "error";
|
|
@@ -74,12 +76,16 @@ export interface ForgePackageResolverOptions {
|
|
|
74
76
|
readonly storage?: ForgeVirtualFileSystemStorage;
|
|
75
77
|
readonly sources?: readonly ForgePackageSource[];
|
|
76
78
|
readonly resolutionMode?: ForgePackageResolutionMode;
|
|
79
|
+
readonly cacheMode?: ForgePackageCacheMode;
|
|
80
|
+
readonly telemetry?: ForgeTelemetryReporter;
|
|
77
81
|
readonly manifestPath?: string;
|
|
78
82
|
readonly now?: () => string;
|
|
79
83
|
}
|
|
80
84
|
export interface ForgeResolvePackagesOptions {
|
|
81
85
|
readonly sources?: readonly ForgePackageSource[];
|
|
82
86
|
readonly resolutionMode?: ForgePackageResolutionMode;
|
|
87
|
+
readonly cacheMode?: ForgePackageCacheMode;
|
|
88
|
+
readonly telemetry?: ForgeTelemetryReporter;
|
|
83
89
|
readonly manifestPath?: string;
|
|
84
90
|
}
|
|
85
91
|
export interface ForgePackageResolutionResult {
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export declare const TELEMETRY_CAPABILITY: "telemetry";
|
|
2
|
+
export type ForgeTelemetryOperation = "build" | "package-resolution";
|
|
3
|
+
export type ForgeTelemetryOutcome = "failure" | "success";
|
|
4
|
+
export interface ForgeTelemetryTiming {
|
|
5
|
+
readonly startedAt: string;
|
|
6
|
+
readonly endedAt: string;
|
|
7
|
+
readonly durationMs: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ForgeTelemetryTimingStart {
|
|
10
|
+
readonly startedAt: string;
|
|
11
|
+
readonly startedMs: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ForgeTelemetryDiagnosticSummary {
|
|
14
|
+
readonly code: string;
|
|
15
|
+
readonly severity: "error" | "info" | "warning";
|
|
16
|
+
readonly message: string;
|
|
17
|
+
readonly path?: string;
|
|
18
|
+
readonly dependencyName?: string;
|
|
19
|
+
readonly requestedRange?: string;
|
|
20
|
+
readonly importer?: string;
|
|
21
|
+
readonly importSpecifier?: string;
|
|
22
|
+
readonly limitName?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ForgeUnsupportedPackageReason {
|
|
25
|
+
readonly code: string;
|
|
26
|
+
readonly message: string;
|
|
27
|
+
readonly dependencyName?: string;
|
|
28
|
+
readonly requestedRange?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ForgePackageResolutionTelemetryEvent extends ForgeTelemetryTiming {
|
|
31
|
+
readonly operation: "package-resolution";
|
|
32
|
+
readonly outcome: ForgeTelemetryOutcome;
|
|
33
|
+
readonly cacheMode: string;
|
|
34
|
+
readonly resolutionMode: string;
|
|
35
|
+
readonly dependencyCount?: number;
|
|
36
|
+
readonly packageCount?: number;
|
|
37
|
+
readonly diagnostics: readonly ForgeTelemetryDiagnosticSummary[];
|
|
38
|
+
readonly unsupportedPackageReason?: ForgeUnsupportedPackageReason;
|
|
39
|
+
}
|
|
40
|
+
export interface ForgeBuildTelemetryEvent extends ForgeTelemetryTiming {
|
|
41
|
+
readonly operation: "build";
|
|
42
|
+
readonly outcome: ForgeTelemetryOutcome;
|
|
43
|
+
readonly mode: string;
|
|
44
|
+
readonly entry?: string;
|
|
45
|
+
readonly outputFileCount: number;
|
|
46
|
+
readonly packageCount?: number;
|
|
47
|
+
readonly diagnostics: readonly ForgeTelemetryDiagnosticSummary[];
|
|
48
|
+
}
|
|
49
|
+
export type ForgeTelemetryEvent = ForgeBuildTelemetryEvent | ForgePackageResolutionTelemetryEvent;
|
|
50
|
+
export type ForgeTelemetryReporter = (event: ForgeTelemetryEvent) => void;
|
|
51
|
+
export interface ForgeTelemetryDiagnosticLike {
|
|
52
|
+
readonly code: string;
|
|
53
|
+
readonly severity: "error" | "info" | "warning";
|
|
54
|
+
readonly message: string;
|
|
55
|
+
readonly path?: string;
|
|
56
|
+
readonly dependencyName?: string;
|
|
57
|
+
readonly requestedRange?: string;
|
|
58
|
+
readonly importer?: string;
|
|
59
|
+
readonly importSpecifier?: string;
|
|
60
|
+
readonly limit?: {
|
|
61
|
+
readonly name?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export declare function startForgeTelemetryTiming(startedAt: string): ForgeTelemetryTimingStart;
|
|
65
|
+
export declare function completeForgeTelemetryTiming(start: ForgeTelemetryTimingStart, endedAt: string): ForgeTelemetryTiming;
|
|
66
|
+
export declare function summarizeForgeTelemetryDiagnostics(diagnostics: readonly ForgeTelemetryDiagnosticLike[]): readonly ForgeTelemetryDiagnosticSummary[];
|
|
67
|
+
export declare function createForgeUnsupportedPackageReason(diagnostic: ForgeTelemetryDiagnosticLike): ForgeUnsupportedPackageReason | undefined;
|
|
68
|
+
export declare function emitForgeTelemetry(reporter: ForgeTelemetryReporter | undefined, event: ForgeTelemetryEvent): void;
|