Skip to content

Commit 9ab734d

Browse files
committed
vibes
1 parent 94cc38f commit 9ab734d

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

packages/cli-v3/src/build/bundle.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export type BundleResult = {
4747
runControllerEntryPoint: string | undefined;
4848
indexWorkerEntryPoint: string | undefined;
4949
indexControllerEntryPoint: string | undefined;
50+
initEntryPoint: string | undefined;
5051
stop: (() => Promise<void>) | undefined;
5152
};
5253

@@ -229,6 +230,7 @@ export async function getBundleResultFromBuild(
229230
let runControllerEntryPoint: string | undefined;
230231
let indexWorkerEntryPoint: string | undefined;
231232
let indexControllerEntryPoint: string | undefined;
233+
let initEntryPoint: string | undefined;
232234

233235
const configEntryPoint = resolvedConfig.configFile
234236
? relative(resolvedConfig.workingDir, resolvedConfig.configFile)
@@ -254,6 +256,8 @@ export async function getBundleResultFromBuild(
254256
indexControllerEntryPoint = $outputPath;
255257
} else if (isIndexWorkerForTarget(outputMeta.entryPoint, target)) {
256258
indexWorkerEntryPoint = $outputPath;
259+
} else if (outputMeta.entryPoint.endsWith("init.ts")) {
260+
initEntryPoint = $outputPath;
257261
} else {
258262
if (
259263
!outputMeta.entryPoint.startsWith("..") &&
@@ -280,6 +284,7 @@ export async function getBundleResultFromBuild(
280284
runControllerEntryPoint,
281285
indexWorkerEntryPoint,
282286
indexControllerEntryPoint,
287+
initEntryPoint,
283288
contentHash: hasher.digest("hex"),
284289
};
285290
}

packages/cli-v3/src/entryPoints/dev-run-worker.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,18 @@ const zodIpc = new ZodIpcConnection({
270270
async () => {
271271
const beforeImport = performance.now();
272272
resourceCatalog.setCurrentFileContext(taskManifest.entryPoint, taskManifest.filePath);
273+
274+
// Load init file if it exists
275+
if (workerManifest.initEntryPoint) {
276+
try {
277+
await import(normalizeImportPath(workerManifest.initEntryPoint));
278+
log(`Loaded init file from ${workerManifest.initEntryPoint}`);
279+
} catch (err) {
280+
logError(`Failed to load init file`, err);
281+
throw err;
282+
}
283+
}
284+
273285
await import(normalizeImportPath(taskManifest.entryPoint));
274286
resourceCatalog.clearCurrentFileContext();
275287
const durationMs = performance.now() - beforeImport;

packages/core/src/v3/schemas/build.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const BuildManifest = z.object({
3838
indexWorkerEntryPoint: z.string(), // Dev & Deploy has a indexWorkerEntryPoint
3939
indexControllerEntryPoint: z.string().optional(), // Only deploy has a indexControllerEntryPoint
4040
loaderEntryPoint: z.string().optional(),
41+
initEntryPoint: z.string().optional(), // Optional init.ts entry point
4142
configPath: z.string(),
4243
externals: BuildExternal.array().optional(),
4344
build: z.object({
@@ -85,6 +86,7 @@ export const WorkerManifest = z.object({
8586
workerEntryPoint: z.string(),
8687
controllerEntryPoint: z.string().optional(),
8788
loaderEntryPoint: z.string().optional(),
89+
initEntryPoint: z.string().optional(), // Optional init.ts entry point
8890
runtime: BuildRuntime,
8991
customConditions: z.array(z.string()).optional(),
9092
otelImportHook: z

0 commit comments

Comments
 (0)