veryfront 0.1.367 → 0.1.369
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/esm/cli/commands/init/config-generator.d.ts.map +1 -1
- package/esm/cli/commands/init/config-generator.js +1 -0
- package/esm/cli/main.js +15 -0
- package/esm/deno.d.ts +3 -3
- package/esm/deno.js +5 -5
- package/esm/extensions/ext-esbuild/src/binary.d.ts +7 -0
- package/esm/extensions/ext-esbuild/src/binary.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/binary.js +143 -0
- package/esm/extensions/ext-esbuild/src/es-module-lexer.d.ts +17 -0
- package/esm/extensions/ext-esbuild/src/es-module-lexer.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/es-module-lexer.js +29 -0
- package/esm/extensions/ext-esbuild/src/esbuild-bundler.d.ts +20 -0
- package/esm/extensions/ext-esbuild/src/esbuild-bundler.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/esbuild-bundler.js +98 -0
- package/esm/extensions/ext-esbuild/src/index.d.ts +19 -0
- package/esm/extensions/ext-esbuild/src/index.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/index.js +40 -0
- package/esm/extensions/ext-esbuild/src/plugin-adapter.d.ts +14 -0
- package/esm/extensions/ext-esbuild/src/plugin-adapter.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/plugin-adapter.js +55 -0
- package/esm/extensions/ext-esbuild/src/runtime.d.ts +4 -0
- package/esm/extensions/ext-esbuild/src/runtime.d.ts.map +1 -0
- package/esm/extensions/ext-esbuild/src/runtime.js +43 -0
- package/esm/src/agent/conversation-bootstrap.d.ts +1 -1
- package/esm/src/agent/conversation-bootstrap.d.ts.map +1 -1
- package/esm/src/agent/conversation-bootstrap.js +1 -1
- package/esm/src/agent/conversation-root-run-context.d.ts +3 -3
- package/esm/src/agent/conversation-root-run-context.d.ts.map +1 -1
- package/esm/src/agent/conversation-root-run-context.js +3 -3
- package/esm/src/agent/durable.d.ts +1 -1
- package/esm/src/agent/durable.d.ts.map +1 -1
- package/esm/src/agent/durable.js +2 -2
- package/esm/src/agent/fork-runtime-stream.d.ts +11 -1
- package/esm/src/agent/fork-runtime-stream.d.ts.map +1 -1
- package/esm/src/agent/fork-runtime-stream.js +36 -0
- package/esm/src/agent/hosted-child-bootstrap.d.ts +1 -1
- package/esm/src/agent/hosted-child-bootstrap.d.ts.map +1 -1
- package/esm/src/agent/hosted-child-bootstrap.js +1 -1
- package/esm/src/agent/index.d.ts +1 -1
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +1 -1
- package/esm/src/build/bundler/code-splitter/build-context.d.ts +1 -1
- package/esm/src/build/bundler/code-splitter/build-context.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/build-context.js +1 -1
- package/esm/src/build/bundler/code-splitter/esbuild-plugin.d.ts +1 -1
- package/esm/src/build/bundler/code-splitter/esbuild-plugin.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts +1 -1
- package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/types.d.ts +1 -1
- package/esm/src/build/bundler/code-splitter/types.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/transpiler.js +1 -1
- package/esm/src/build/compiler/mdx-to-js.js +1 -1
- package/esm/src/build/embedded/preset.js +1 -1
- package/esm/src/build/production-build/client-runtime.js +1 -1
- package/esm/src/discovery/transpiler.js +1 -1
- package/esm/src/extensions/bundler.d.ts +28 -0
- package/esm/src/extensions/bundler.d.ts.map +1 -0
- package/esm/src/extensions/bundler.js +42 -0
- package/esm/src/extensions/interfaces/bundler.d.ts +162 -27
- package/esm/src/extensions/interfaces/bundler.d.ts.map +1 -1
- package/esm/src/extensions/interfaces/index.d.ts +2 -1
- package/esm/src/extensions/interfaces/index.d.ts.map +1 -1
- package/esm/src/extensions/interfaces/module-lexer.d.ts +45 -0
- package/esm/src/extensions/interfaces/module-lexer.d.ts.map +1 -0
- package/esm/src/extensions/interfaces/module-lexer.js +13 -0
- package/esm/src/extensions/loader.d.ts.map +1 -1
- package/esm/src/extensions/loader.js +7 -1
- package/esm/src/extensions/recommendations.d.ts.map +1 -1
- package/esm/src/extensions/recommendations.js +3 -0
- package/esm/src/platform/compat/esbuild.d.ts +20 -6
- package/esm/src/platform/compat/esbuild.d.ts.map +1 -1
- package/esm/src/platform/compat/esbuild.js +20 -137
- package/esm/src/rendering/script-page-handling.js +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/loader.js +1 -1
- package/esm/src/server/bootstrap.d.ts.map +1 -1
- package/esm/src/server/bootstrap.js +22 -0
- package/esm/src/server/dev-server/middleware.js +1 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts +1 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
- package/esm/src/server/handlers/studio/bridge-modules.handler.js +1 -1
- package/esm/src/server/services/rsc/endpoints/script-handlers.js +1 -1
- package/esm/src/server/services/rsc/orchestrators/hydrator-handler.js +1 -1
- package/esm/src/server/shared/browser-module-bundler.js +1 -1
- package/esm/src/testing/bdd.d.ts +1 -0
- package/esm/src/testing/bdd.d.ts.map +1 -1
- package/esm/src/testing/bdd.js +1 -0
- package/esm/src/testing/init.js +7 -0
- package/esm/src/transforms/esm/http-bundler.d.ts +1 -1
- package/esm/src/transforms/esm/http-bundler.d.ts.map +1 -1
- package/esm/src/transforms/esm/lexer.d.ts +2 -9
- package/esm/src/transforms/esm/lexer.d.ts.map +1 -1
- package/esm/src/transforms/esm/lexer.js +9 -10
- package/esm/src/transforms/esm/transform-utils.d.ts +1 -1
- package/esm/src/transforms/esm/transform-utils.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/parse-cache.d.ts +1 -1
- package/esm/src/transforms/import-rewriter/parse-cache.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/parse-cache.js +8 -7
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.js +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.js +2 -2
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/cli/commands/init/config-generator.ts +1 -0
- package/src/cli/main.ts +14 -0
- package/src/deno.js +5 -5
- package/src/extensions/ext-esbuild/src/binary.ts +154 -0
- package/src/extensions/ext-esbuild/src/es-module-lexer.ts +34 -0
- package/src/extensions/ext-esbuild/src/esbuild-bundler.ts +122 -0
- package/src/extensions/ext-esbuild/src/index.ts +46 -0
- package/src/extensions/ext-esbuild/src/plugin-adapter.ts +66 -0
- package/src/extensions/ext-esbuild/src/runtime.ts +54 -0
- package/src/src/agent/conversation-bootstrap.ts +2 -2
- package/src/src/agent/conversation-root-run-context.ts +6 -6
- package/src/src/agent/durable.ts +3 -3
- package/src/src/agent/fork-runtime-stream.ts +61 -1
- package/src/src/agent/hosted-child-bootstrap.ts +2 -2
- package/src/src/agent/index.ts +2 -0
- package/src/src/build/bundler/code-splitter/build-context.ts +1 -1
- package/src/src/build/bundler/code-splitter/esbuild-plugin.ts +1 -1
- package/src/src/build/bundler/code-splitter/manifest-builder.ts +1 -1
- package/src/src/build/bundler/code-splitter/splitter.ts +1 -1
- package/src/src/build/bundler/code-splitter/types.ts +1 -1
- package/src/src/build/compiler/mdx-compiler/transpiler.ts +1 -1
- package/src/src/build/compiler/mdx-to-js.ts +1 -1
- package/src/src/build/embedded/preset.ts +1 -1
- package/src/src/build/production-build/client-runtime.ts +2 -2
- package/src/src/discovery/transpiler.ts +2 -2
- package/src/src/extensions/bundler.ts +85 -0
- package/src/src/extensions/interfaces/bundler.ts +189 -16
- package/src/src/extensions/interfaces/index.ts +16 -0
- package/src/src/extensions/interfaces/module-lexer.ts +46 -0
- package/src/src/extensions/loader.ts +6 -1
- package/src/src/extensions/recommendations.ts +3 -0
- package/src/src/platform/compat/esbuild.ts +48 -160
- package/src/src/rendering/script-page-handling.ts +1 -1
- package/src/src/routing/api/module-loader/esbuild-plugin.ts +1 -1
- package/src/src/routing/api/module-loader/loader.ts +2 -2
- package/src/src/server/bootstrap.ts +29 -0
- package/src/src/server/dev-server/middleware.ts +1 -1
- package/src/src/server/handlers/dev/files/esbuild-plugins.ts +1 -1
- package/src/src/server/handlers/studio/bridge-modules.handler.ts +1 -1
- package/src/src/server/services/rsc/endpoints/script-handlers.ts +4 -4
- package/src/src/server/services/rsc/orchestrators/hydrator-handler.ts +1 -1
- package/src/src/server/shared/browser-module-bundler.ts +1 -1
- package/src/src/testing/bdd.ts +1 -0
- package/src/src/testing/init.ts +9 -0
- package/src/src/transforms/esm/http-bundler.ts +1 -1
- package/src/src/transforms/esm/lexer.ts +13 -21
- package/src/src/transforms/esm/transform-utils.ts +1 -1
- package/src/src/transforms/import-rewriter/parse-cache.ts +10 -7
- package/src/src/transforms/mdx/esm-module-loader/import-transformer.ts +1 -1
- package/src/src/transforms/pipeline/stages/ssr-vf-modules/transform.ts +2 -2
- package/src/src/utils/version-constant.ts +1 -1
|
@@ -5,12 +5,69 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module extensions/interfaces/bundler
|
|
7
7
|
*/
|
|
8
|
+
/** Location of an error or warning in source. */
|
|
9
|
+
export interface BundlerMessageLocation {
|
|
10
|
+
file: string;
|
|
11
|
+
line: number;
|
|
12
|
+
column: number;
|
|
13
|
+
length?: number;
|
|
14
|
+
lineText?: string;
|
|
15
|
+
}
|
|
16
|
+
/** A diagnostic message (error or warning) from a bundler. */
|
|
17
|
+
export interface BundlerMessage {
|
|
18
|
+
text: string;
|
|
19
|
+
location?: BundlerMessageLocation | null;
|
|
20
|
+
notes?: {
|
|
21
|
+
text: string;
|
|
22
|
+
location?: BundlerMessageLocation | null;
|
|
23
|
+
}[];
|
|
24
|
+
pluginName?: string;
|
|
25
|
+
detail?: unknown;
|
|
26
|
+
}
|
|
27
|
+
/** Input file entry in a {@link Metafile}. */
|
|
28
|
+
export interface MetafileInput {
|
|
29
|
+
bytes: number;
|
|
30
|
+
imports: {
|
|
31
|
+
path: string;
|
|
32
|
+
kind?: string;
|
|
33
|
+
external?: boolean;
|
|
34
|
+
original?: string;
|
|
35
|
+
}[];
|
|
36
|
+
format?: "cjs" | "esm";
|
|
37
|
+
}
|
|
38
|
+
/** Output file entry in a {@link Metafile}. */
|
|
39
|
+
export interface MetafileOutput {
|
|
40
|
+
bytes: number;
|
|
41
|
+
inputs: Record<string, {
|
|
42
|
+
bytesInOutput: number;
|
|
43
|
+
}>;
|
|
44
|
+
imports: {
|
|
45
|
+
path: string;
|
|
46
|
+
kind?: string;
|
|
47
|
+
external?: boolean;
|
|
48
|
+
}[];
|
|
49
|
+
exports: string[];
|
|
50
|
+
entryPoint?: string;
|
|
51
|
+
cssBundle?: string;
|
|
52
|
+
}
|
|
53
|
+
/** Dependency-graph metadata produced by a bundler when `metafile: true`. */
|
|
54
|
+
export interface Metafile {
|
|
55
|
+
inputs: Record<string, MetafileInput>;
|
|
56
|
+
outputs: Record<string, MetafileOutput>;
|
|
57
|
+
}
|
|
58
|
+
/** In-memory source input for {@link BundleOptions.stdin}. */
|
|
59
|
+
export interface StdinOptions {
|
|
60
|
+
contents: string;
|
|
61
|
+
resolveDir?: string;
|
|
62
|
+
sourcefile?: string;
|
|
63
|
+
loader?: Loader | string;
|
|
64
|
+
}
|
|
8
65
|
/** Options passed to {@link Bundler.bundle}. */
|
|
9
66
|
export interface BundleOptions {
|
|
10
|
-
/** Entry point file paths. */
|
|
11
|
-
entryPoints
|
|
67
|
+
/** Entry point file paths, or a `{ outputName: inputPath }` map. */
|
|
68
|
+
entryPoints?: string[] | Record<string, string>;
|
|
12
69
|
/** Output directory. */
|
|
13
|
-
outdir
|
|
70
|
+
outdir?: string;
|
|
14
71
|
/** Bundle format (`esm`, `cjs`, `iife`). */
|
|
15
72
|
format?: "esm" | "cjs" | "iife";
|
|
16
73
|
/** Target environment(s). */
|
|
@@ -18,11 +75,35 @@ export interface BundleOptions {
|
|
|
18
75
|
/** Enable minification. */
|
|
19
76
|
minify?: boolean;
|
|
20
77
|
/** Enable source maps. */
|
|
21
|
-
sourcemap?: boolean | "inline" | "external";
|
|
78
|
+
sourcemap?: boolean | "inline" | "external" | "linked" | "both";
|
|
22
79
|
/** Enable code splitting. */
|
|
23
80
|
splitting?: boolean;
|
|
24
81
|
/** Additional plugins. */
|
|
25
82
|
plugins?: BundlerPlugin[];
|
|
83
|
+
/** Whether to bundle dependencies into the output (vs. leaving imports as-is). */
|
|
84
|
+
bundle?: boolean;
|
|
85
|
+
/** Write output to disk; when false, returns bytes in-memory only. */
|
|
86
|
+
write?: boolean;
|
|
87
|
+
/** Target platform influencing default externals and resolution. */
|
|
88
|
+
platform?: "browser" | "node" | "neutral";
|
|
89
|
+
/** Packages/paths to exclude from the bundle. */
|
|
90
|
+
external?: string[];
|
|
91
|
+
/** Bundle an in-memory source string instead of reading from disk. */
|
|
92
|
+
stdin?: StdinOptions;
|
|
93
|
+
/** Compile-time constant replacements, e.g. `{ "process.env.NODE_ENV": '"production"' }`. */
|
|
94
|
+
define?: Record<string, string>;
|
|
95
|
+
/** JSX transform mode. */
|
|
96
|
+
jsx?: "transform" | "preserve" | "automatic";
|
|
97
|
+
/** Module specifier used for the automatic JSX runtime import. */
|
|
98
|
+
jsxImportSource?: string;
|
|
99
|
+
/** File extensions to try during import resolution. */
|
|
100
|
+
resolveExtensions?: string[];
|
|
101
|
+
/** Drop unused exports and dead code. */
|
|
102
|
+
treeShaking?: boolean;
|
|
103
|
+
/** Verbosity of diagnostic output. */
|
|
104
|
+
logLevel?: "silent" | "error" | "warning" | "info" | "debug" | "verbose";
|
|
105
|
+
/** Emit a dependency-graph {@link Metafile} in the result. */
|
|
106
|
+
metafile?: boolean;
|
|
26
107
|
/** Extra implementation-specific options. */
|
|
27
108
|
[key: string]: unknown;
|
|
28
109
|
}
|
|
@@ -32,22 +113,30 @@ export interface BundleOutput {
|
|
|
32
113
|
path: string;
|
|
33
114
|
/** Raw byte content. */
|
|
34
115
|
contents: Uint8Array;
|
|
116
|
+
/** Lazy-decoded UTF-8 string view of `contents`. */
|
|
117
|
+
text: string;
|
|
118
|
+
/** Optional content hash. */
|
|
119
|
+
hash?: string;
|
|
35
120
|
}
|
|
36
121
|
/** Result returned from {@link Bundler.bundle}. */
|
|
37
122
|
export interface BundleResult {
|
|
38
123
|
/** Output files produced by the bundle. */
|
|
39
|
-
|
|
124
|
+
outputFiles: BundleOutput[];
|
|
40
125
|
/** Warnings emitted during bundling. */
|
|
41
|
-
warnings:
|
|
126
|
+
warnings: BundlerMessage[];
|
|
42
127
|
/** Errors encountered during bundling. */
|
|
43
|
-
errors:
|
|
128
|
+
errors: BundlerMessage[];
|
|
129
|
+
/** Dependency-graph metadata, populated when `metafile: true`. */
|
|
130
|
+
metafile?: Metafile;
|
|
44
131
|
}
|
|
132
|
+
/** Loader hint for source files. Mirrors esbuild's `Loader` type. */
|
|
133
|
+
export type Loader = "js" | "jsx" | "ts" | "tsx" | "css" | "json" | "text" | "base64" | "file" | "dataurl" | "binary" | "default" | "empty" | "copy";
|
|
45
134
|
/** Options passed to {@link Bundler.transform}. */
|
|
46
135
|
export interface TransformOptions {
|
|
47
136
|
/** Source code to transform. */
|
|
48
137
|
code: string;
|
|
49
138
|
/** Loader hint (`ts`, `tsx`, `jsx`, `css`, etc.). */
|
|
50
|
-
loader?:
|
|
139
|
+
loader?: Loader;
|
|
51
140
|
/** Output format. */
|
|
52
141
|
format?: "esm" | "cjs" | "iife";
|
|
53
142
|
/** Target environment(s). */
|
|
@@ -56,6 +145,14 @@ export interface TransformOptions {
|
|
|
56
145
|
minify?: boolean;
|
|
57
146
|
/** Enable source maps. */
|
|
58
147
|
sourcemap?: boolean | "inline" | "external";
|
|
148
|
+
/** JSX transform mode. */
|
|
149
|
+
jsx?: "transform" | "preserve" | "automatic";
|
|
150
|
+
/** Module specifier used for the automatic JSX runtime import. */
|
|
151
|
+
jsxImportSource?: string;
|
|
152
|
+
/** Drop unused exports and dead code. */
|
|
153
|
+
treeShaking?: boolean;
|
|
154
|
+
/** Preserve original identifier names through minification. */
|
|
155
|
+
keepNames?: boolean;
|
|
59
156
|
/** Extra implementation-specific options. */
|
|
60
157
|
[key: string]: unknown;
|
|
61
158
|
}
|
|
@@ -68,38 +165,74 @@ export interface TransformResult {
|
|
|
68
165
|
/** Warnings emitted during transformation. */
|
|
69
166
|
warnings: string[];
|
|
70
167
|
}
|
|
168
|
+
/** Arguments passed to an `onResolve` callback. */
|
|
169
|
+
export interface OnResolveArgs {
|
|
170
|
+
path: string;
|
|
171
|
+
importer: string;
|
|
172
|
+
namespace: string;
|
|
173
|
+
resolveDir: string;
|
|
174
|
+
/** e.g. "import-statement", "dynamic-import", "require-call", "entry-point". */
|
|
175
|
+
kind: string;
|
|
176
|
+
pluginData?: unknown;
|
|
177
|
+
}
|
|
178
|
+
/** Result returned from an `onResolve` callback. */
|
|
179
|
+
export interface OnResolveResult {
|
|
180
|
+
path?: string;
|
|
181
|
+
namespace?: string;
|
|
182
|
+
external?: boolean;
|
|
183
|
+
errors?: BundlerMessage[];
|
|
184
|
+
warnings?: BundlerMessage[];
|
|
185
|
+
pluginData?: unknown;
|
|
186
|
+
sideEffects?: boolean;
|
|
187
|
+
watchFiles?: string[];
|
|
188
|
+
}
|
|
189
|
+
/** Arguments passed to an `onLoad` callback. */
|
|
190
|
+
export interface OnLoadArgs {
|
|
191
|
+
path: string;
|
|
192
|
+
namespace: string;
|
|
193
|
+
suffix?: string;
|
|
194
|
+
pluginData?: unknown;
|
|
195
|
+
}
|
|
196
|
+
/** Result returned from an `onLoad` callback. */
|
|
197
|
+
export interface OnLoadResult {
|
|
198
|
+
contents?: string | Uint8Array;
|
|
199
|
+
loader?: string;
|
|
200
|
+
resolveDir?: string;
|
|
201
|
+
errors?: BundlerMessage[];
|
|
202
|
+
warnings?: BundlerMessage[];
|
|
203
|
+
pluginData?: unknown;
|
|
204
|
+
watchFiles?: string[];
|
|
205
|
+
}
|
|
71
206
|
/** Build context exposed to bundler plugins. */
|
|
72
207
|
export interface BundlerPluginBuild {
|
|
73
|
-
/** Register a resolver callback for the given filter. */
|
|
74
208
|
onResolve(options: {
|
|
75
209
|
filter: RegExp;
|
|
76
210
|
namespace?: string;
|
|
77
|
-
}, callback: (args:
|
|
78
|
-
path: string;
|
|
79
|
-
namespace: string;
|
|
80
|
-
}) => {
|
|
81
|
-
path?: string;
|
|
82
|
-
namespace?: string;
|
|
83
|
-
external?: boolean;
|
|
84
|
-
} | undefined): void;
|
|
85
|
-
/** Register a loader callback for the given filter. */
|
|
211
|
+
}, callback: (args: OnResolveArgs) => OnResolveResult | null | undefined | void | Promise<OnResolveResult | null | undefined | void>): void;
|
|
86
212
|
onLoad(options: {
|
|
87
213
|
filter: RegExp;
|
|
88
214
|
namespace?: string;
|
|
89
|
-
}, callback: (args:
|
|
90
|
-
|
|
91
|
-
namespace: string;
|
|
92
|
-
}) => {
|
|
93
|
-
contents?: string;
|
|
94
|
-
loader?: string;
|
|
95
|
-
} | undefined): void;
|
|
215
|
+
}, callback: (args: OnLoadArgs) => OnLoadResult | null | undefined | void | Promise<OnLoadResult | null | undefined | void>): void;
|
|
216
|
+
onDispose(callback: () => void): void;
|
|
96
217
|
}
|
|
97
218
|
/** A bundler plugin that hooks into the build pipeline. */
|
|
98
219
|
export interface BundlerPlugin {
|
|
99
220
|
/** Unique plugin name. */
|
|
100
221
|
name: string;
|
|
101
|
-
/** Called once when the plugin is registered. */
|
|
102
|
-
setup(build: BundlerPluginBuild): void
|
|
222
|
+
/** Called once when the plugin is registered. May be async. */
|
|
223
|
+
setup(build: BundlerPluginBuild): void | Promise<void>;
|
|
224
|
+
}
|
|
225
|
+
/** Incremental/rebuild context produced by {@link Bundler.context}. */
|
|
226
|
+
export interface BuildContext {
|
|
227
|
+
/** Re-run the build with cached state. */
|
|
228
|
+
rebuild(): Promise<BundleResult>;
|
|
229
|
+
/** Release context resources. */
|
|
230
|
+
dispose(): Promise<void>;
|
|
231
|
+
}
|
|
232
|
+
/** Failure thrown by {@link Bundler.bundle} or {@link Bundler.transform}. */
|
|
233
|
+
export interface BuildFailure extends Error {
|
|
234
|
+
errors: BundlerMessage[];
|
|
235
|
+
warnings: BundlerMessage[];
|
|
103
236
|
}
|
|
104
237
|
/**
|
|
105
238
|
* Bundler contract interface.
|
|
@@ -112,6 +245,8 @@ export interface Bundler {
|
|
|
112
245
|
bundle(options: BundleOptions): Promise<BundleResult>;
|
|
113
246
|
/** Transform a single source string without writing to disk. */
|
|
114
247
|
transform(options: TransformOptions): Promise<TransformResult>;
|
|
248
|
+
/** Create an incremental build context (watch/rebuild mode). */
|
|
249
|
+
context?(options: BundleOptions): Promise<BuildContext>;
|
|
115
250
|
/** Release bundler resources (child processes, watchers, etc.). */
|
|
116
251
|
stop?(): Promise<void>;
|
|
117
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../src/src/extensions/interfaces/bundler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../src/src/extensions/interfaces/bundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* @module extensions/interfaces
|
|
7
7
|
*/
|
|
8
8
|
import "../../../_dnt.polyfills.js";
|
|
9
|
-
export type { BundleOptions, BundleOutput, Bundler, BundleResult, BundlerPlugin, BundlerPluginBuild, TransformOptions, TransformResult, } from "./bundler.js";
|
|
9
|
+
export type { BuildContext, BuildFailure, BundleOptions, BundleOutput, Bundler, BundleResult, BundlerMessage, BundlerMessageLocation, BundlerPlugin, BundlerPluginBuild, Loader, Metafile, MetafileInput, MetafileOutput, OnLoadArgs, OnLoadResult, OnResolveArgs, OnResolveResult, StdinOptions, TransformOptions, TransformResult, } from "./bundler.js";
|
|
10
|
+
export type { ImportSpecifier, ModuleLexer } from "./module-lexer.js";
|
|
10
11
|
export type { CacheStore } from "./cache-store.js";
|
|
11
12
|
export type { TokenCacheEntry, TokenCacheStats, TokenCacheStore } from "./token-cache-store.js";
|
|
12
13
|
export type { CSSCompileOptions, CSSCompiler, CSSModuleSource, CSSProcessor, CSSStylesheetSource, } from "./css-processor.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/extensions/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,4BAA4B,CAAC;AAEpC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGhG,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGvF,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGpG,YAAY,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,cAAc,EACd,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/extensions/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,4BAA4B,CAAC;AAEpC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGtE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGhG,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGvF,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGpG,YAAY,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,cAAc,EACd,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract interface for ES module lexers.
|
|
3
|
+
*
|
|
4
|
+
* Parses ES module import/export specifiers from source code.
|
|
5
|
+
* Kept separate from {@link Bundler} because the surfaces are orthogonal:
|
|
6
|
+
* a lexer only inspects specifier positions, while a bundler compiles and
|
|
7
|
+
* emits output.
|
|
8
|
+
*
|
|
9
|
+
* Default implementation: `@veryfront/ext-esbuild` (backed by `es-module-lexer`).
|
|
10
|
+
*
|
|
11
|
+
* @module extensions/interfaces/module-lexer
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A single import specifier position record, matching the shape produced by
|
|
15
|
+
* `es-module-lexer`.
|
|
16
|
+
*/
|
|
17
|
+
export interface ImportSpecifier {
|
|
18
|
+
/** Module specifier (e.g. "react"). Undefined when the specifier cannot be statically resolved (dynamic import with non-literal expression, or import.meta). */
|
|
19
|
+
n: string | undefined;
|
|
20
|
+
/** Start of module specifier. */
|
|
21
|
+
s: number;
|
|
22
|
+
/** End of module specifier. */
|
|
23
|
+
e: number;
|
|
24
|
+
/** Start of import statement. */
|
|
25
|
+
ss: number;
|
|
26
|
+
/** End of import statement. */
|
|
27
|
+
se: number;
|
|
28
|
+
/** Index of the dynamic import token in the source; -1 for static imports, -2 for import.meta. */
|
|
29
|
+
d: number;
|
|
30
|
+
/** Start position of the import attributes (with/assert) block in the source; -1 if none. */
|
|
31
|
+
a: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Module lexer contract interface.
|
|
35
|
+
*
|
|
36
|
+
* Implementations parse ES module import specifiers from source code and
|
|
37
|
+
* return positional records suitable for further rewriting.
|
|
38
|
+
*/
|
|
39
|
+
export interface ModuleLexer {
|
|
40
|
+
/** Optional async initialization (e.g., loading WASM). Called lazily by the default impl before first parse. */
|
|
41
|
+
init?(): Promise<void>;
|
|
42
|
+
/** Parse ES module import/export specifiers from source code. */
|
|
43
|
+
parse(code: string): readonly ImportSpecifier[];
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=module-lexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-lexer.d.ts","sourceRoot":"","sources":["../../../../src/src/extensions/interfaces/module-lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gKAAgK;IAChK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtB,iCAAiC;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,kGAAkG;IAClG,CAAC,EAAE,MAAM,CAAC;IACV,6FAA6F;IAC7F,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,gHAAgH;IAChH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iEAAiE;IACjE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAAC;CACjD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract interface for ES module lexers.
|
|
3
|
+
*
|
|
4
|
+
* Parses ES module import/export specifiers from source code.
|
|
5
|
+
* Kept separate from {@link Bundler} because the surfaces are orthogonal:
|
|
6
|
+
* a lexer only inspects specifier positions, while a bundler compiles and
|
|
7
|
+
* emits output.
|
|
8
|
+
*
|
|
9
|
+
* Default implementation: `@veryfront/ext-esbuild` (backed by `es-module-lexer`).
|
|
10
|
+
*
|
|
11
|
+
* @module extensions/interfaces/module-lexer
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAA+B,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElG,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAE7C;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;gBAI5C,MAAM,EAAE,eAAe;IAInC;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IAIpE,OAAO,CAAC,mBAAmB;IA8B3B;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IA6ErE;;;OAGG;IACG,QAAQ,CACZ,UAAU,EAAE,iBAAiB,EAAE,EAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAgFhB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAA+B,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElG,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAE7C;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;gBAI5C,MAAM,EAAE,eAAe;IAInC;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IAIpE,OAAO,CAAC,mBAAmB;IA8B3B;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IA6ErE;;;OAGG;IACG,QAAQ,CACZ,UAAU,EAAE,iBAAiB,EAAE,EAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAgFhB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAmBnC"}
|
|
@@ -215,7 +215,13 @@ export class ExtensionLoader {
|
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
+
const hadSetupExtensions = this.setupOrder.length > 0;
|
|
218
219
|
this.setupOrder = [];
|
|
219
|
-
|
|
220
|
+
// Only clear the contract registry when this loader actually registered
|
|
221
|
+
// contracts via setupAll(). Otherwise an idempotent teardown on an empty
|
|
222
|
+
// loader would wipe contracts registered out-of-band (e.g. by the test
|
|
223
|
+
// harness in `tests/_helpers/contract-init.ts`).
|
|
224
|
+
if (hadSetupExtensions)
|
|
225
|
+
reset();
|
|
220
226
|
}
|
|
221
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/recommendations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/recommendations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E"}
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
const recommendations = new Map([
|
|
7
7
|
["Bundler", "@veryfront/ext-esbuild"],
|
|
8
|
+
// ModuleLexer ships in the same package as Bundler (es-module-lexer +
|
|
9
|
+
// esbuild are co-bundled into ext-esbuild).
|
|
10
|
+
["ModuleLexer", "@veryfront/ext-esbuild"],
|
|
8
11
|
["CacheStore", "@veryfront/ext-redis"],
|
|
9
12
|
["TokenCacheStore", "@veryfront/ext-redis"],
|
|
10
13
|
["CSSProcessor", "@veryfront/ext-tailwind"],
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility shim for code that previously imported esbuild via this path.
|
|
3
|
+
*
|
|
4
|
+
* The actual esbuild runtime now lives in the `@veryfront/ext-esbuild`
|
|
5
|
+
* extension; this module forwards to the registered `Bundler` contract so
|
|
6
|
+
* legacy callers keep working without importing `esbuild` directly.
|
|
7
|
+
*/
|
|
8
|
+
import { build as bundlerBuild, stop as bundlerStop, transform as bundlerTransform } from "../../extensions/bundler.js";
|
|
9
|
+
import type { BundleOptions, BundleResult, TransformOptions, TransformResult } from "../../extensions/bundler.js";
|
|
10
|
+
export type { BundleOptions as BuildOptions, BundleResult as BuildResult, TransformOptions, TransformResult, } from "../../extensions/bundler.js";
|
|
11
|
+
/** esbuild-shaped facade backed by the registered `Bundler` contract. */
|
|
12
|
+
export declare function getEsbuild(): {
|
|
13
|
+
build: (opts: BundleOptions) => Promise<BundleResult>;
|
|
14
|
+
transform: (code: string, opts?: Omit<TransformOptions, "code">) => Promise<TransformResult>;
|
|
15
|
+
stop: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
export declare const transform: typeof bundlerTransform;
|
|
18
|
+
export declare const build: typeof bundlerBuild;
|
|
19
|
+
export declare const stop: typeof bundlerStop;
|
|
20
|
+
/** No-op kept for backwards compatibility with legacy bootstrap callers. */
|
|
7
21
|
export declare function initializeEsbuild(): Promise<void>;
|
|
8
22
|
//# sourceMappingURL=esbuild.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/compat/esbuild.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/compat/esbuild.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,IAAI,YAAY,EAErB,IAAI,IAAI,WAAW,EACnB,SAAS,IAAI,gBAAgB,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,aAAa,IAAI,YAAY,EAC7B,YAAY,IAAI,WAAW,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,yEAAyE;AACzE,wBAAgB,UAAU,IAAI;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,SAAS,EAAE,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAClC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAOA;AAED,eAAO,MAAM,SAAS,yBAAmB,CAAC;AAC1C,eAAO,MAAM,KAAK,qBAAe,CAAC;AAClC,eAAO,MAAM,IAAI,oBAAc,CAAC;AAEhC,4EAA4E;AAC5E,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD"}
|
|
@@ -1,141 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Compatibility shim for code that previously imported esbuild via this path.
|
|
3
|
+
*
|
|
4
|
+
* The actual esbuild runtime now lives in the `@veryfront/ext-esbuild`
|
|
5
|
+
* extension; this module forwards to the registered `Bundler` contract so
|
|
6
|
+
* legacy callers keep working without importing `esbuild` directly.
|
|
5
7
|
*/
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let setupComplete = false;
|
|
21
|
-
let setupPromise = null;
|
|
22
|
-
async function isFile(path) {
|
|
23
|
-
try {
|
|
24
|
-
const stat = await dntShim.Deno.stat(path);
|
|
25
|
-
return stat.isFile;
|
|
26
|
-
}
|
|
27
|
-
catch (_) {
|
|
28
|
-
/* expected: file may not exist */
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async function findEsbuildInVFS() {
|
|
33
|
-
const binaryName = getEsbuildBinaryName();
|
|
34
|
-
const vfsBase = getVFSBasePath(new URL(globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).url).pathname, getTempDir());
|
|
35
|
-
const possiblePaths = [
|
|
36
|
-
`${vfsBase}/node_modules/${binaryName}/bin/esbuild`,
|
|
37
|
-
`${vfsBase}/node_modules/.deno/${binaryName}@${ESBUILD_VERSION}/node_modules/${binaryName}/bin/esbuild`,
|
|
38
|
-
`${vfsBase}/node_modules/.deno/esbuild@${ESBUILD_VERSION}/node_modules/${binaryName}/bin/esbuild`,
|
|
39
|
-
`${vfsBase}/node_modules/esbuild/bin/esbuild`,
|
|
40
|
-
`${vfsBase}/node_modules/.package/esbuild@${ESBUILD_VERSION}/bin/esbuild`,
|
|
41
|
-
`${vfsBase}/node_modules/.package/${binaryName}@${ESBUILD_VERSION}/bin/esbuild`,
|
|
42
|
-
];
|
|
43
|
-
for (const vfsPath of possiblePaths) {
|
|
44
|
-
if (await isFile(vfsPath))
|
|
45
|
-
return vfsPath;
|
|
46
|
-
}
|
|
47
|
-
try {
|
|
48
|
-
const nodeModulesPath = `${vfsBase}/node_modules`;
|
|
49
|
-
for await (const entry of dntShim.Deno.readDir(nodeModulesPath)) {
|
|
50
|
-
if (entry.name !== binaryName && !entry.name.startsWith("@esbuild"))
|
|
51
|
-
continue;
|
|
52
|
-
const binPath = `${nodeModulesPath}/${entry.name}/bin/esbuild`;
|
|
53
|
-
if (await isFile(binPath))
|
|
54
|
-
return binPath;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (_) {
|
|
58
|
-
/* expected: node_modules directory may not be readable in VFS */
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
async function extractEsbuildBinary() {
|
|
63
|
-
const cacheDir = getEsbuildCacheDir();
|
|
64
|
-
const targetPath = `${cacheDir}/esbuild-${ESBUILD_VERSION}`;
|
|
65
|
-
try {
|
|
66
|
-
const stat = await dntShim.Deno.stat(targetPath);
|
|
67
|
-
if (stat.isFile && stat.mode && (stat.mode & 0o111))
|
|
68
|
-
return targetPath;
|
|
69
|
-
}
|
|
70
|
-
catch (_) {
|
|
71
|
-
/* expected: cached binary does not exist yet, need to extract */
|
|
72
|
-
}
|
|
73
|
-
const vfsPath = await findEsbuildInVFS();
|
|
74
|
-
if (!vfsPath) {
|
|
75
|
-
const vfsBase = getVFSBasePath(new URL(globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).url).pathname, getTempDir());
|
|
76
|
-
throw FILE_NOT_FOUND.create({
|
|
77
|
-
detail: `Could not find esbuild binary in deno compile VFS.\n` +
|
|
78
|
-
` Platform: ${getEsbuildBinaryName()}\n` +
|
|
79
|
-
` VFS base: ${vfsBase}\n` +
|
|
80
|
-
` Tip: Ensure esbuild is in dependencies and deno compile includes node_modules.`,
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
await dntShim.Deno.mkdir(cacheDir, { recursive: true });
|
|
84
|
-
const binary = await dntShim.Deno.readFile(vfsPath);
|
|
85
|
-
await dntShim.Deno.writeFile(targetPath, binary, { mode: 0o755 });
|
|
86
|
-
return targetPath;
|
|
87
|
-
}
|
|
88
|
-
async function ensureEsbuildBinary() {
|
|
89
|
-
if (setupComplete)
|
|
90
|
-
return;
|
|
91
|
-
if (setupPromise) {
|
|
92
|
-
await setupPromise;
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
setupPromise = (async () => {
|
|
96
|
-
if (getEnv("ESBUILD_BINARY_PATH") || !isDenoCompiled) {
|
|
97
|
-
setupComplete = true;
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const binaryPath = await extractEsbuildBinary();
|
|
102
|
-
setEnv("ESBUILD_BINARY_PATH", binaryPath);
|
|
103
|
-
nodeProcess.env.ESBUILD_BINARY_PATH = binaryPath;
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
serverLogger.error("[esbuild] Binary extraction failed", error);
|
|
107
|
-
}
|
|
108
|
-
finally {
|
|
109
|
-
setupComplete = true;
|
|
110
|
-
}
|
|
111
|
-
})();
|
|
112
|
-
try {
|
|
113
|
-
await setupPromise;
|
|
114
|
-
}
|
|
115
|
-
finally {
|
|
116
|
-
setupPromise = null;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
export async function getEsbuild() {
|
|
120
|
-
await ensureEsbuildBinary();
|
|
121
|
-
if (esbuildModule)
|
|
122
|
-
return esbuildModule;
|
|
123
|
-
esbuildModule = await import("esbuild");
|
|
124
|
-
return esbuildModule;
|
|
125
|
-
}
|
|
126
|
-
export async function transform(code, options) {
|
|
127
|
-
const esbuild = await getEsbuild();
|
|
128
|
-
return esbuild.transform(code, options);
|
|
129
|
-
}
|
|
130
|
-
export async function build(options) {
|
|
131
|
-
const esbuild = await getEsbuild();
|
|
132
|
-
return esbuild.build(options);
|
|
133
|
-
}
|
|
134
|
-
export async function stop() {
|
|
135
|
-
const esbuild = await getEsbuild();
|
|
136
|
-
esbuild.stop();
|
|
137
|
-
}
|
|
138
|
-
/** Eager initialization for server startup. */
|
|
8
|
+
import { build as bundlerBuild, getBundler, stop as bundlerStop, transform as bundlerTransform, } from "../../extensions/bundler.js";
|
|
9
|
+
/** esbuild-shaped facade backed by the registered `Bundler` contract. */
|
|
10
|
+
export function getEsbuild() {
|
|
11
|
+
getBundler();
|
|
12
|
+
return {
|
|
13
|
+
build: bundlerBuild,
|
|
14
|
+
transform: bundlerTransform,
|
|
15
|
+
stop: bundlerStop,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export const transform = bundlerTransform;
|
|
19
|
+
export const build = bundlerBuild;
|
|
20
|
+
export const stop = bundlerStop;
|
|
21
|
+
/** No-op kept for backwards compatibility with legacy bootstrap callers. */
|
|
139
22
|
export async function initializeEsbuild() {
|
|
140
|
-
|
|
23
|
+
getBundler();
|
|
141
24
|
}
|
|
@@ -205,7 +205,7 @@ async function readFileWithFallback(adapter, modulePath, normalizedPath) {
|
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
async function transpileWithEsbuild(source, modulePath, resolveDir) {
|
|
208
|
-
const { build } = await import("
|
|
208
|
+
const { build } = await import("../extensions/bundler.js");
|
|
209
209
|
const loader = getEsbuildLoader(modulePath);
|
|
210
210
|
const result = await build({
|
|
211
211
|
bundle: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/esbuild-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/src/routing/api/module-loader/esbuild-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAItE,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,GAAG,MAAM,CA2K9E"}
|
|
@@ -213,7 +213,7 @@ function loadAndTranspileModule(modulePath, projectDir, adapter, fs, config) {
|
|
|
213
213
|
for (const name of userDeps.keys()) {
|
|
214
214
|
userExternals.push(name, `${name}/*`);
|
|
215
215
|
}
|
|
216
|
-
const { build } = await import("
|
|
216
|
+
const { build } = await import("../../../extensions/bundler.js");
|
|
217
217
|
// Many npm packages use CJS require() for Node built-ins (e.g. require('fs')).
|
|
218
218
|
// When esbuild bundles CJS into ESM output, these become __require() shims that
|
|
219
219
|
// fail at runtime. Inject a createRequire-based shim so require() works in ESM.
|