trigger.dev 3.0.0-beta.9 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/apiClient.d.ts +190 -0
- package/dist/esm/apiClient.js +239 -0
- package/dist/esm/apiClient.js.map +1 -0
- package/dist/esm/build/buildWorker.d.ts +68 -0
- package/dist/esm/build/buildWorker.js +159 -0
- package/dist/esm/build/buildWorker.js.map +1 -0
- package/dist/esm/build/bundle.d.ts +36 -0
- package/dist/esm/build/bundle.js +197 -0
- package/dist/esm/build/bundle.js.map +1 -0
- package/dist/esm/build/extensions.d.ts +15 -0
- package/dist/esm/build/extensions.js +158 -0
- package/dist/esm/build/extensions.js.map +1 -0
- package/dist/esm/build/externals.d.ts +15 -0
- package/dist/esm/build/externals.js +285 -0
- package/dist/esm/build/externals.js.map +1 -0
- package/dist/esm/build/manifests.d.ts +2 -0
- package/dist/esm/build/manifests.js +22 -0
- package/dist/esm/build/manifests.js.map +1 -0
- package/dist/esm/build/packageModules.d.ts +18 -0
- package/dist/esm/build/packageModules.js +84 -0
- package/dist/esm/build/packageModules.js.map +1 -0
- package/dist/esm/build/plugins.d.ts +6 -0
- package/dist/esm/build/plugins.js +67 -0
- package/dist/esm/build/plugins.js.map +1 -0
- package/dist/esm/build/resolveModule.d.ts +1 -0
- package/dist/esm/build/resolveModule.js +9 -0
- package/dist/esm/build/resolveModule.js.map +1 -0
- package/dist/esm/cli/common.d.ts +30 -0
- package/dist/esm/cli/common.js +85 -0
- package/dist/esm/cli/common.js.map +1 -0
- package/dist/esm/cli/index.d.ts +2 -0
- package/dist/esm/cli/index.js +27 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/commands/deploy.d.ts +5 -0
- package/dist/esm/commands/deploy.js +402 -0
- package/dist/esm/commands/deploy.js.map +1 -0
- package/dist/esm/commands/dev.d.ts +37 -0
- package/dist/esm/commands/dev.js +128 -0
- package/dist/esm/commands/dev.js.map +1 -0
- package/dist/esm/commands/init.d.ts +3 -0
- package/dist/esm/commands/init.js +427 -0
- package/dist/esm/commands/init.js.map +1 -0
- package/dist/esm/commands/list-profiles.d.ts +23 -0
- package/dist/esm/commands/list-profiles.js +40 -0
- package/dist/esm/commands/list-profiles.js.map +1 -0
- package/dist/esm/commands/login.d.ts +28 -0
- package/dist/esm/commands/login.js +275 -0
- package/dist/esm/commands/login.js.map +1 -0
- package/dist/esm/commands/logout.d.ts +23 -0
- package/dist/esm/commands/logout.js +28 -0
- package/dist/esm/commands/logout.js.map +1 -0
- package/dist/esm/commands/update.d.ts +24 -0
- package/dist/esm/commands/update.js +243 -0
- package/dist/esm/commands/update.js.map +1 -0
- package/dist/esm/commands/whoami.d.ts +34 -0
- package/dist/esm/commands/whoami.js +70 -0
- package/dist/esm/commands/whoami.js.map +1 -0
- package/dist/esm/config.d.ts +22 -0
- package/dist/esm/config.js +204 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/consts.d.ts +4 -0
- package/dist/esm/consts.js +5 -0
- package/dist/esm/consts.js.map +1 -0
- package/dist/esm/deploy/buildImage.d.ts +69 -0
- package/dist/esm/deploy/buildImage.js +472 -0
- package/dist/esm/deploy/buildImage.js.map +1 -0
- package/dist/esm/deploy/logs.d.ts +19 -0
- package/dist/esm/deploy/logs.js +96 -0
- package/dist/esm/deploy/logs.js.map +1 -0
- package/dist/esm/dev/backgroundWorker.d.ts +114 -0
- package/dist/esm/dev/backgroundWorker.js +412 -0
- package/dist/esm/dev/backgroundWorker.js.map +1 -0
- package/dist/esm/dev/devOutput.d.ts +9 -0
- package/dist/esm/dev/devOutput.js +137 -0
- package/dist/esm/dev/devOutput.js.map +1 -0
- package/dist/esm/dev/devSession.d.ts +17 -0
- package/dist/esm/dev/devSession.js +156 -0
- package/dist/esm/dev/devSession.js.map +1 -0
- package/dist/esm/dev/workerRuntime.d.ts +16 -0
- package/dist/esm/dev/workerRuntime.js +258 -0
- package/dist/esm/dev/workerRuntime.js.map +1 -0
- package/dist/esm/entryPoints/deploy-index-controller.d.ts +1 -0
- package/dist/esm/entryPoints/deploy-index-controller.js +85 -0
- package/dist/esm/entryPoints/deploy-index-controller.js.map +1 -0
- package/dist/esm/entryPoints/deploy-index-worker.d.ts +1 -0
- package/dist/esm/entryPoints/deploy-index-worker.js +104 -0
- package/dist/esm/entryPoints/deploy-index-worker.js.map +1 -0
- package/dist/esm/entryPoints/deploy-run-controller.d.ts +1 -0
- package/dist/esm/entryPoints/deploy-run-controller.js +996 -0
- package/dist/esm/entryPoints/deploy-run-controller.js.map +1 -0
- package/dist/esm/entryPoints/deploy-run-worker.d.ts +1 -0
- package/dist/esm/entryPoints/deploy-run-worker.js +297 -0
- package/dist/esm/entryPoints/deploy-run-worker.js.map +1 -0
- package/dist/esm/entryPoints/dev-index-worker.d.ts +1 -0
- package/dist/esm/entryPoints/dev-index-worker.js +104 -0
- package/dist/esm/entryPoints/dev-index-worker.js.map +1 -0
- package/dist/esm/entryPoints/dev-run-worker.d.ts +1 -0
- package/dist/esm/entryPoints/dev-run-worker.js +254 -0
- package/dist/esm/entryPoints/dev-run-worker.js.map +1 -0
- package/dist/esm/entryPoints/loader.d.ts +1 -0
- package/dist/esm/entryPoints/loader.js +16 -0
- package/dist/esm/entryPoints/loader.js.map +1 -0
- package/dist/esm/executions/taskRunProcess.d.ts +115 -0
- package/dist/esm/executions/taskRunProcess.js +254 -0
- package/dist/esm/executions/taskRunProcess.js.map +1 -0
- package/dist/esm/imports/magicast.d.ts +2 -0
- package/dist/esm/imports/magicast.js +5 -0
- package/dist/esm/imports/magicast.js.map +1 -0
- package/dist/esm/imports/xdg-app-paths.d.ts +2 -0
- package/dist/esm/imports/xdg-app-paths.js +3 -0
- package/dist/esm/imports/xdg-app-paths.js.map +1 -0
- package/dist/{index.d.ts → esm/index.d.ts} +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indexing/indexWorkerManifest.d.ts +85 -0
- package/dist/esm/indexing/indexWorkerManifest.js +76 -0
- package/dist/esm/indexing/indexWorkerManifest.js.map +1 -0
- package/dist/esm/indexing/registerTasks.d.ts +2 -0
- package/dist/esm/indexing/registerTasks.js +62 -0
- package/dist/esm/indexing/registerTasks.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/runtimes/bun.d.ts +2 -0
- package/dist/esm/runtimes/bun.js +11 -0
- package/dist/esm/runtimes/bun.js.map +1 -0
- package/dist/esm/shims/esm.d.ts +1 -0
- package/dist/esm/shims/esm.js +9 -0
- package/dist/esm/shims/esm.js.map +1 -0
- package/dist/esm/sourceDir.d.ts +1 -0
- package/dist/esm/sourceDir.js +4 -0
- package/dist/esm/sourceDir.js.map +1 -0
- package/dist/esm/telemetry/tracing.d.ts +3 -0
- package/dist/esm/telemetry/tracing.js +58 -0
- package/dist/esm/telemetry/tracing.js.map +1 -0
- package/dist/esm/types.d.ts +6 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utilities/assertExhaustive.d.ts +1 -0
- package/dist/esm/utilities/assertExhaustive.js +4 -0
- package/dist/esm/utilities/assertExhaustive.js.map +1 -0
- package/dist/esm/utilities/buildManifest.d.ts +2 -0
- package/dist/esm/utilities/buildManifest.js +9 -0
- package/dist/esm/utilities/buildManifest.js.map +1 -0
- package/dist/esm/utilities/cliOutput.d.ts +20 -0
- package/dist/esm/utilities/cliOutput.js +88 -0
- package/dist/esm/utilities/cliOutput.js.map +1 -0
- package/dist/esm/utilities/configFiles.d.ts +29 -0
- package/dist/esm/utilities/configFiles.js +65 -0
- package/dist/esm/utilities/configFiles.js.map +1 -0
- package/dist/esm/utilities/createFileFromTemplate.d.ts +16 -0
- package/dist/esm/utilities/createFileFromTemplate.js +50 -0
- package/dist/esm/utilities/createFileFromTemplate.js.map +1 -0
- package/dist/esm/utilities/deployErrors.d.ts +19 -0
- package/dist/esm/utilities/deployErrors.js +117 -0
- package/dist/esm/utilities/deployErrors.js.map +1 -0
- package/dist/esm/utilities/dotEnv.d.ts +4 -0
- package/dist/esm/utilities/dotEnv.js +28 -0
- package/dist/esm/utilities/dotEnv.js.map +1 -0
- package/dist/esm/utilities/eventBus.d.ts +14 -0
- package/dist/esm/utilities/eventBus.js +3 -0
- package/dist/esm/utilities/eventBus.js.map +1 -0
- package/dist/esm/utilities/fileSystem.d.ts +12 -0
- package/dist/esm/utilities/fileSystem.js +81 -0
- package/dist/esm/utilities/fileSystem.js.map +1 -0
- package/dist/esm/utilities/getApiKeyType.d.ts +13 -0
- package/dist/esm/utilities/getApiKeyType.js +44 -0
- package/dist/esm/utilities/getApiKeyType.js.map +1 -0
- package/dist/esm/utilities/initialBanner.d.ts +4 -0
- package/dist/esm/utilities/initialBanner.js +82 -0
- package/dist/esm/utilities/initialBanner.js.map +1 -0
- package/dist/esm/utilities/keyValueBy.d.ts +8 -0
- package/dist/esm/utilities/keyValueBy.js +19 -0
- package/dist/esm/utilities/keyValueBy.js.map +1 -0
- package/dist/esm/utilities/links.d.ts +9 -0
- package/dist/esm/utilities/links.js +10 -0
- package/dist/esm/utilities/links.js.map +1 -0
- package/dist/esm/utilities/linux.d.ts +1 -0
- package/dist/esm/utilities/linux.js +24 -0
- package/dist/esm/utilities/linux.js.map +1 -0
- package/dist/esm/utilities/logger.d.ts +40 -0
- package/dist/esm/utilities/logger.js +109 -0
- package/dist/esm/utilities/logger.js.map +1 -0
- package/dist/esm/utilities/normalizeImportPath.d.ts +1 -0
- package/dist/esm/utilities/normalizeImportPath.js +5 -0
- package/dist/esm/utilities/normalizeImportPath.js.map +1 -0
- package/dist/esm/utilities/obfuscateApiKey.d.ts +1 -0
- package/dist/esm/utilities/obfuscateApiKey.js +5 -0
- package/dist/esm/utilities/obfuscateApiKey.js.map +1 -0
- package/dist/esm/utilities/parseNameAndPath.d.ts +2 -0
- package/dist/esm/utilities/parseNameAndPath.js +10 -0
- package/dist/esm/utilities/parseNameAndPath.js.map +1 -0
- package/dist/esm/utilities/resolveInternalFilePath.d.ts +1 -0
- package/dist/esm/utilities/resolveInternalFilePath.js +8 -0
- package/dist/esm/utilities/resolveInternalFilePath.js.map +1 -0
- package/dist/esm/utilities/runtimeCheck.d.ts +8 -0
- package/dist/esm/utilities/runtimeCheck.js +52 -0
- package/dist/esm/utilities/runtimeCheck.js.map +1 -0
- package/dist/esm/utilities/safeJsonParse.d.ts +1 -0
- package/dist/esm/utilities/safeJsonParse.js +12 -0
- package/dist/esm/utilities/safeJsonParse.js.map +1 -0
- package/dist/esm/utilities/sanitizeEnvVars.d.ts +3 -0
- package/dist/esm/utilities/sanitizeEnvVars.js +4 -0
- package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -0
- package/dist/esm/utilities/session.d.ts +33 -0
- package/dist/esm/utilities/session.js +82 -0
- package/dist/esm/utilities/session.js.map +1 -0
- package/dist/esm/utilities/sourceFiles.d.ts +12 -0
- package/dist/esm/utilities/sourceFiles.js +76 -0
- package/dist/esm/utilities/sourceFiles.js.map +1 -0
- package/dist/esm/utilities/taskFiles.d.ts +6 -0
- package/dist/esm/utilities/taskFiles.js +69 -0
- package/dist/esm/utilities/taskFiles.js.map +1 -0
- package/dist/esm/utilities/tempDirectories.d.ts +16 -0
- package/dist/esm/utilities/tempDirectories.js +27 -0
- package/dist/esm/utilities/tempDirectories.js.map +1 -0
- package/dist/esm/utilities/windows.d.ts +7 -0
- package/dist/esm/utilities/windows.js +21 -0
- package/dist/esm/utilities/windows.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +85 -82
- package/dist/Containerfile.prod +0 -39
- package/dist/index.js +0 -6115
- package/dist/index.js.map +0 -1
- package/dist/templates/examples/simple.ts.template +0 -14
- package/dist/templates/trigger.config.ts.template +0 -16
- package/dist/workers/dev/worker-facade.js +0 -187
- package/dist/workers/dev/worker-setup.js +0 -40
- package/dist/workers/prod/entry-point.js +0 -1146
- package/dist/workers/prod/worker-facade.js +0 -193
- package/dist/workers/prod/worker-setup.js +0 -35
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ResolvedConfig } from "@trigger.dev/core/v3/build";
|
|
2
|
+
import { BuildTarget, TaskFile } from "@trigger.dev/core/v3/schemas";
|
|
3
|
+
import * as esbuild from "esbuild";
|
|
4
|
+
export interface BundleOptions {
|
|
5
|
+
target: BuildTarget;
|
|
6
|
+
destination: string;
|
|
7
|
+
cwd: string;
|
|
8
|
+
resolvedConfig: ResolvedConfig;
|
|
9
|
+
jsxFactory?: string;
|
|
10
|
+
jsxFragment?: string;
|
|
11
|
+
jsxAutomatic?: boolean;
|
|
12
|
+
watch?: boolean;
|
|
13
|
+
plugins?: esbuild.Plugin[];
|
|
14
|
+
}
|
|
15
|
+
export type BundleResult = {
|
|
16
|
+
contentHash: string;
|
|
17
|
+
files: TaskFile[];
|
|
18
|
+
configPath: string;
|
|
19
|
+
loaderEntryPoint: string | undefined;
|
|
20
|
+
runWorkerEntryPoint: string | undefined;
|
|
21
|
+
runControllerEntryPoint: string | undefined;
|
|
22
|
+
indexWorkerEntryPoint: string | undefined;
|
|
23
|
+
indexControllerEntryPoint: string | undefined;
|
|
24
|
+
stop: (() => Promise<void>) | undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare function bundleWorker(options: BundleOptions): Promise<BundleResult>;
|
|
27
|
+
export declare function getBundleResultFromBuild(target: BuildTarget, workingDir: string, resolvedConfig: ResolvedConfig, result: esbuild.BuildResult<{
|
|
28
|
+
metafile: true;
|
|
29
|
+
write: false;
|
|
30
|
+
}>): Promise<Omit<BundleResult, "stop"> | undefined>;
|
|
31
|
+
export declare function logBuildWarnings(warnings: esbuild.Message[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* Logs all errors/warnings associated with an esbuild BuildFailure in the same
|
|
34
|
+
* style esbuild would.
|
|
35
|
+
*/
|
|
36
|
+
export declare function logBuildFailure(errors: esbuild.Message[], warnings: esbuild.Message[]): void;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import * as esbuild from "esbuild";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { join, relative, resolve } from "node:path";
|
|
4
|
+
import { createFile } from "../utilities/fileSystem.js";
|
|
5
|
+
import { logger } from "../utilities/logger.js";
|
|
6
|
+
import { deployEntryPoints, devEntryPoints, isIndexControllerForTarget, isIndexWorkerForTarget, isLoaderEntryPoint, isRunControllerForTarget, isRunWorkerForTarget, shims, telemetryEntryPoint, } from "./packageModules.js";
|
|
7
|
+
import { buildPlugins } from "./plugins.js";
|
|
8
|
+
export async function bundleWorker(options) {
|
|
9
|
+
const { resolvedConfig } = options;
|
|
10
|
+
// We need to add the package entry points here somehow
|
|
11
|
+
// Then we need to get them out of the build result into the build manifest
|
|
12
|
+
// taskhero/dist/esm/workers/dev.js
|
|
13
|
+
// taskhero/dist/esm/telemetry/loader.js
|
|
14
|
+
const entryPoints = await getEntryPoints(options.target, resolvedConfig);
|
|
15
|
+
const $buildPlugins = await buildPlugins(options.target, resolvedConfig);
|
|
16
|
+
let initialBuildResult;
|
|
17
|
+
const initialBuildResultPromise = new Promise((resolve) => (initialBuildResult = resolve));
|
|
18
|
+
const buildResultPlugin = {
|
|
19
|
+
name: "Initial build result plugin",
|
|
20
|
+
setup(build) {
|
|
21
|
+
build.onEnd(initialBuildResult);
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const customConditions = options.resolvedConfig.build?.conditions ?? [];
|
|
25
|
+
const conditions = [...customConditions, "trigger.dev", "module", "node"];
|
|
26
|
+
const buildOptions = {
|
|
27
|
+
entryPoints,
|
|
28
|
+
outdir: options.destination,
|
|
29
|
+
absWorkingDir: options.cwd,
|
|
30
|
+
bundle: true,
|
|
31
|
+
metafile: true,
|
|
32
|
+
write: false,
|
|
33
|
+
minify: false,
|
|
34
|
+
splitting: true,
|
|
35
|
+
charset: "utf8",
|
|
36
|
+
platform: "node",
|
|
37
|
+
sourcemap: true,
|
|
38
|
+
sourcesContent: options.target === "dev",
|
|
39
|
+
conditions,
|
|
40
|
+
format: "esm",
|
|
41
|
+
target: ["node20", "es2022"],
|
|
42
|
+
loader: {
|
|
43
|
+
".js": "jsx",
|
|
44
|
+
".mjs": "jsx",
|
|
45
|
+
".cjs": "jsx",
|
|
46
|
+
".wasm": "copy",
|
|
47
|
+
},
|
|
48
|
+
outExtension: { ".js": ".mjs" },
|
|
49
|
+
inject: [...shims], // TODO: copy this into the working dir to work with Yarn PnP
|
|
50
|
+
jsx: options.jsxAutomatic ? "automatic" : undefined,
|
|
51
|
+
jsxDev: options.jsxAutomatic && options.target === "dev" ? true : undefined,
|
|
52
|
+
plugins: [...$buildPlugins, ...(options.plugins ?? []), buildResultPlugin],
|
|
53
|
+
...(options.jsxFactory && { jsxFactory: options.jsxFactory }),
|
|
54
|
+
...(options.jsxFragment && { jsxFragment: options.jsxFragment }),
|
|
55
|
+
logLevel: "silent",
|
|
56
|
+
logOverride: {
|
|
57
|
+
"empty-glob": "silent",
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
let result;
|
|
61
|
+
let stop;
|
|
62
|
+
logger.debug("Building worker with options", buildOptions);
|
|
63
|
+
if (options.watch) {
|
|
64
|
+
const ctx = await esbuild.context(buildOptions);
|
|
65
|
+
await ctx.watch();
|
|
66
|
+
result = await initialBuildResultPromise;
|
|
67
|
+
if (result.errors.length > 0) {
|
|
68
|
+
throw new Error("Failed to build");
|
|
69
|
+
}
|
|
70
|
+
stop = async function () {
|
|
71
|
+
await ctx.dispose();
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
result = await esbuild.build(buildOptions);
|
|
76
|
+
// Even when we're not watching, we still want some way of cleaning up the
|
|
77
|
+
// temporary directory when we don't need it anymore
|
|
78
|
+
stop = async function () { };
|
|
79
|
+
}
|
|
80
|
+
const bundleResult = await getBundleResultFromBuild(options.target, options.cwd, options.resolvedConfig, result);
|
|
81
|
+
if (!bundleResult) {
|
|
82
|
+
throw new Error("Failed to get bundle result");
|
|
83
|
+
}
|
|
84
|
+
return { ...bundleResult, stop };
|
|
85
|
+
}
|
|
86
|
+
export async function getBundleResultFromBuild(target, workingDir, resolvedConfig, result) {
|
|
87
|
+
const hasher = createHash("md5");
|
|
88
|
+
for (const outputFile of result.outputFiles) {
|
|
89
|
+
hasher.update(outputFile.hash);
|
|
90
|
+
await createFile(outputFile.path, outputFile.contents);
|
|
91
|
+
}
|
|
92
|
+
const files = [];
|
|
93
|
+
let configPath;
|
|
94
|
+
let loaderEntryPoint;
|
|
95
|
+
let runWorkerEntryPoint;
|
|
96
|
+
let runControllerEntryPoint;
|
|
97
|
+
let indexWorkerEntryPoint;
|
|
98
|
+
let indexControllerEntryPoint;
|
|
99
|
+
const configEntryPoint = resolvedConfig.configFile
|
|
100
|
+
? relative(resolvedConfig.workingDir, resolvedConfig.configFile)
|
|
101
|
+
: "trigger.config.ts";
|
|
102
|
+
for (const [outputPath, outputMeta] of Object.entries(result.metafile.outputs)) {
|
|
103
|
+
if (outputPath.endsWith(".mjs")) {
|
|
104
|
+
const $outputPath = resolve(workingDir, outputPath);
|
|
105
|
+
if (!outputMeta.entryPoint) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (outputMeta.entryPoint.startsWith(configEntryPoint)) {
|
|
109
|
+
configPath = $outputPath;
|
|
110
|
+
}
|
|
111
|
+
else if (isLoaderEntryPoint(outputMeta.entryPoint)) {
|
|
112
|
+
loaderEntryPoint = $outputPath;
|
|
113
|
+
}
|
|
114
|
+
else if (isRunControllerForTarget(outputMeta.entryPoint, target)) {
|
|
115
|
+
runControllerEntryPoint = $outputPath;
|
|
116
|
+
}
|
|
117
|
+
else if (isRunWorkerForTarget(outputMeta.entryPoint, target)) {
|
|
118
|
+
runWorkerEntryPoint = $outputPath;
|
|
119
|
+
}
|
|
120
|
+
else if (isIndexControllerForTarget(outputMeta.entryPoint, target)) {
|
|
121
|
+
indexControllerEntryPoint = $outputPath;
|
|
122
|
+
}
|
|
123
|
+
else if (isIndexWorkerForTarget(outputMeta.entryPoint, target)) {
|
|
124
|
+
indexWorkerEntryPoint = $outputPath;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
if (!outputMeta.entryPoint.startsWith("..") &&
|
|
128
|
+
!outputMeta.entryPoint.includes("node_modules")) {
|
|
129
|
+
files.push({
|
|
130
|
+
entry: outputMeta.entryPoint,
|
|
131
|
+
out: $outputPath,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (!configPath) {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
files,
|
|
142
|
+
configPath: configPath,
|
|
143
|
+
loaderEntryPoint,
|
|
144
|
+
runWorkerEntryPoint,
|
|
145
|
+
runControllerEntryPoint,
|
|
146
|
+
indexWorkerEntryPoint,
|
|
147
|
+
indexControllerEntryPoint,
|
|
148
|
+
contentHash: hasher.digest("hex"),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async function getEntryPoints(target, config) {
|
|
152
|
+
const projectEntryPoints = config.dirs.flatMap((dir) => dirToEntryPointGlob(dir));
|
|
153
|
+
if (config.configFile) {
|
|
154
|
+
projectEntryPoints.push(config.configFile);
|
|
155
|
+
}
|
|
156
|
+
if (target === "dev") {
|
|
157
|
+
projectEntryPoints.push(...devEntryPoints);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
projectEntryPoints.push(...deployEntryPoints);
|
|
161
|
+
}
|
|
162
|
+
if (config.instrumentedPackageNames?.length ?? 0 > 0) {
|
|
163
|
+
projectEntryPoints.push(telemetryEntryPoint);
|
|
164
|
+
}
|
|
165
|
+
return projectEntryPoints;
|
|
166
|
+
}
|
|
167
|
+
// Converts a directory to a glob that matches all the entry points in that
|
|
168
|
+
function dirToEntryPointGlob(dir) {
|
|
169
|
+
return [
|
|
170
|
+
join(dir, "**", "*.ts"),
|
|
171
|
+
join(dir, "**", "*.tsx"),
|
|
172
|
+
join(dir, "**", "*.mts"),
|
|
173
|
+
join(dir, "**", "*.cts"),
|
|
174
|
+
join(dir, "**", "*.js"),
|
|
175
|
+
join(dir, "**", "*.jsx"),
|
|
176
|
+
join(dir, "**", "*.mjs"),
|
|
177
|
+
join(dir, "**", "*.cjs"),
|
|
178
|
+
];
|
|
179
|
+
}
|
|
180
|
+
export function logBuildWarnings(warnings) {
|
|
181
|
+
const logs = esbuild.formatMessagesSync(warnings, { kind: "warning", color: true });
|
|
182
|
+
for (const log of logs) {
|
|
183
|
+
console.warn(log);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Logs all errors/warnings associated with an esbuild BuildFailure in the same
|
|
188
|
+
* style esbuild would.
|
|
189
|
+
*/
|
|
190
|
+
export function logBuildFailure(errors, warnings) {
|
|
191
|
+
const logs = esbuild.formatMessagesSync(errors, { kind: "error", color: true });
|
|
192
|
+
for (const log of logs) {
|
|
193
|
+
console.error(log);
|
|
194
|
+
}
|
|
195
|
+
logBuildWarnings(warnings);
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/build/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BuildContext, BuildExtension, BuildLayer, RegisteredPlugin, ResolvedConfig } from "@trigger.dev/core/v3/build";
|
|
2
|
+
import { BuildManifest, BuildTarget } from "@trigger.dev/core/v3/schemas";
|
|
3
|
+
import * as esbuild from "esbuild";
|
|
4
|
+
export interface InternalBuildContext extends BuildContext {
|
|
5
|
+
getLayers(): BuildLayer[];
|
|
6
|
+
clearLayers(): void;
|
|
7
|
+
getPlugins(): RegisteredPlugin[];
|
|
8
|
+
appendExtension(extension: BuildExtension): void;
|
|
9
|
+
prependExtension(extension: BuildExtension): void;
|
|
10
|
+
getExtensions(): BuildExtension[];
|
|
11
|
+
}
|
|
12
|
+
export declare function notifyExtensionOnBuildStart(context: InternalBuildContext): Promise<void>;
|
|
13
|
+
export declare function notifyExtensionOnBuildComplete(context: InternalBuildContext, manifest: BuildManifest): Promise<BuildManifest>;
|
|
14
|
+
export declare function createBuildContext(target: BuildTarget, config: ResolvedConfig): InternalBuildContext;
|
|
15
|
+
export declare function resolvePluginsForContext(context: InternalBuildContext): esbuild.Plugin[];
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { logger } from "../utilities/logger.js";
|
|
2
|
+
import { resolveModule } from "./resolveModule.js";
|
|
3
|
+
import { log, spinner } from "@clack/prompts";
|
|
4
|
+
export async function notifyExtensionOnBuildStart(context) {
|
|
5
|
+
for (const extension of context.getExtensions()) {
|
|
6
|
+
if (extension.onBuildStart) {
|
|
7
|
+
await extension.onBuildStart(context);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export async function notifyExtensionOnBuildComplete(context, manifest) {
|
|
12
|
+
let $manifest = manifest;
|
|
13
|
+
for (const extension of context.getExtensions()) {
|
|
14
|
+
if (extension.onBuildComplete) {
|
|
15
|
+
try {
|
|
16
|
+
await extension.onBuildComplete(context, $manifest);
|
|
17
|
+
logger.debug(`Applying extension ${extension.name} to manifest`, {
|
|
18
|
+
context,
|
|
19
|
+
manifest,
|
|
20
|
+
});
|
|
21
|
+
$manifest = applyContextLayersToManifest(context, $manifest);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
logger.error(`Failed to apply extension ${extension.name} onBuildComplete`, error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return $manifest;
|
|
29
|
+
}
|
|
30
|
+
export function createBuildContext(target, config) {
|
|
31
|
+
const layers = [];
|
|
32
|
+
const registeredPlugins = [];
|
|
33
|
+
const extensions = config.build.extensions ?? [];
|
|
34
|
+
return {
|
|
35
|
+
target,
|
|
36
|
+
config: config,
|
|
37
|
+
workingDir: config.workingDir,
|
|
38
|
+
addLayer(layer) {
|
|
39
|
+
layers.push(layer);
|
|
40
|
+
},
|
|
41
|
+
getLayers() {
|
|
42
|
+
return layers;
|
|
43
|
+
},
|
|
44
|
+
clearLayers() {
|
|
45
|
+
layers.splice(0);
|
|
46
|
+
},
|
|
47
|
+
registerPlugin(plugin, options) {
|
|
48
|
+
if (options?.target && options.target !== target) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
registeredPlugins.push({ plugin, ...options });
|
|
52
|
+
},
|
|
53
|
+
getPlugins() {
|
|
54
|
+
return registeredPlugins;
|
|
55
|
+
},
|
|
56
|
+
resolvePath: async (path) => {
|
|
57
|
+
try {
|
|
58
|
+
return await resolveModule(path, config.workingDir);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
getExtensions() {
|
|
65
|
+
return extensions;
|
|
66
|
+
},
|
|
67
|
+
appendExtension(extension) {
|
|
68
|
+
extensions.push(extension);
|
|
69
|
+
},
|
|
70
|
+
prependExtension(extension) {
|
|
71
|
+
extensions.unshift(extension);
|
|
72
|
+
},
|
|
73
|
+
logger: {
|
|
74
|
+
debug: (...args) => logger.debug(...args),
|
|
75
|
+
log: (...args) => logger.log(...args),
|
|
76
|
+
warn: (...args) => logger.warn(...args),
|
|
77
|
+
progress: (message) => log.message(message),
|
|
78
|
+
spinner: (message) => {
|
|
79
|
+
const $spinner = spinner();
|
|
80
|
+
$spinner.start(message);
|
|
81
|
+
return $spinner;
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function applyContextLayersToManifest(context, manifest) {
|
|
87
|
+
for (const layer of context.getLayers()) {
|
|
88
|
+
manifest = applyLayerToManifest(layer, manifest);
|
|
89
|
+
}
|
|
90
|
+
context.clearLayers();
|
|
91
|
+
return manifest;
|
|
92
|
+
}
|
|
93
|
+
function applyLayerToManifest(layer, manifest) {
|
|
94
|
+
let $manifest = { ...manifest };
|
|
95
|
+
if (layer.commands) {
|
|
96
|
+
$manifest.build.commands ??= [];
|
|
97
|
+
$manifest.build.commands = $manifest.build.commands.concat(layer.commands);
|
|
98
|
+
}
|
|
99
|
+
if (layer.build?.env) {
|
|
100
|
+
$manifest.build.env ??= {};
|
|
101
|
+
Object.assign($manifest.build.env, layer.build.env);
|
|
102
|
+
}
|
|
103
|
+
if (layer.deploy?.env) {
|
|
104
|
+
$manifest.deploy.env ??= {};
|
|
105
|
+
$manifest.deploy.sync ??= {};
|
|
106
|
+
$manifest.deploy.sync.env ??= {};
|
|
107
|
+
for (const [key, value] of Object.entries(layer.deploy.env)) {
|
|
108
|
+
if (!value) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (layer.deploy.override || $manifest.deploy.env[key] === undefined) {
|
|
112
|
+
const existingValue = $manifest.deploy.env[key];
|
|
113
|
+
if (existingValue !== value) {
|
|
114
|
+
$manifest.deploy.sync.env[key] = value;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (layer.dependencies) {
|
|
120
|
+
const externals = $manifest.externals ?? [];
|
|
121
|
+
for (const [name, version] of Object.entries(layer.dependencies)) {
|
|
122
|
+
externals.push({ name, version });
|
|
123
|
+
}
|
|
124
|
+
$manifest.externals = externals;
|
|
125
|
+
}
|
|
126
|
+
if (layer.image) {
|
|
127
|
+
$manifest.image ??= {};
|
|
128
|
+
$manifest.image.instructions ??= [];
|
|
129
|
+
$manifest.image.pkgs ??= [];
|
|
130
|
+
if (layer.image.instructions) {
|
|
131
|
+
$manifest.image.instructions = $manifest.image.instructions.concat(layer.image.instructions);
|
|
132
|
+
}
|
|
133
|
+
if (layer.image.pkgs) {
|
|
134
|
+
$manifest.image.pkgs = $manifest.image.pkgs.concat(layer.image.pkgs);
|
|
135
|
+
$manifest.image.pkgs = Array.from(new Set($manifest.image.pkgs));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return $manifest;
|
|
139
|
+
}
|
|
140
|
+
export function resolvePluginsForContext(context) {
|
|
141
|
+
const registeredPlugins = context.getPlugins();
|
|
142
|
+
if (registeredPlugins.length === 0) {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
const sortedPlugins = [...registeredPlugins].sort((a, b) => {
|
|
146
|
+
const order = { first: 0, undefined: 1, last: 2, $head: -1 };
|
|
147
|
+
const aOrder = order[a.placement] ?? 1;
|
|
148
|
+
const bOrder = order[b.placement] ?? 1;
|
|
149
|
+
// If the placement order is different, sort based on that
|
|
150
|
+
if (aOrder !== bOrder) {
|
|
151
|
+
return aOrder - bOrder;
|
|
152
|
+
}
|
|
153
|
+
// If the placement order is the same, maintain original order
|
|
154
|
+
return registeredPlugins.indexOf(a) - registeredPlugins.indexOf(b);
|
|
155
|
+
});
|
|
156
|
+
return sortedPlugins.map((plugin) => plugin.plugin);
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/build/extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as esbuild from "esbuild";
|
|
2
|
+
import { BuildTarget } from "@trigger.dev/core/v3/schemas";
|
|
3
|
+
import { BuildExtension, ResolvedConfig } from "@trigger.dev/core/v3/build";
|
|
4
|
+
import { CliApiClient } from "../apiClient.js";
|
|
5
|
+
export type CollectedExternal = {
|
|
6
|
+
name: string;
|
|
7
|
+
path: string;
|
|
8
|
+
version: string;
|
|
9
|
+
};
|
|
10
|
+
export type ExternalsCollector = {
|
|
11
|
+
externals: Array<CollectedExternal>;
|
|
12
|
+
plugin: esbuild.Plugin;
|
|
13
|
+
};
|
|
14
|
+
export declare function createExternalsBuildExtension(target: BuildTarget, config: ResolvedConfig, forcedExternal?: string[]): BuildExtension;
|
|
15
|
+
export declare function resolveAlwaysExternal(client: CliApiClient): Promise<string[]>;
|