trigger.dev 3.0.0-beta.9 → 3.0.0
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 +221 -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,285 @@
|
|
|
1
|
+
import { makeRe } from "minimatch";
|
|
2
|
+
import { mkdir, symlink } from "node:fs/promises";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { readPackageJSON, resolvePackageJSON } from "pkg-types";
|
|
5
|
+
import nodeResolve from "resolve";
|
|
6
|
+
import { alwaysExternal, } from "@trigger.dev/core/v3/build";
|
|
7
|
+
import { logger } from "../utilities/logger.js";
|
|
8
|
+
/**
|
|
9
|
+
* externals in dev might not be resolvable from the worker directory
|
|
10
|
+
* for example, if the external is not an immediate dependency of the project
|
|
11
|
+
* and the project is not hoisting the dependency (e.g. pnpm, npm with nested)
|
|
12
|
+
*
|
|
13
|
+
* This function will create a symbolic link from a place where the external is resolvable
|
|
14
|
+
* to the actual resolved external path
|
|
15
|
+
*/
|
|
16
|
+
async function linkUnresolvableExternals(externals, resolveDir, logger) {
|
|
17
|
+
for (const external of externals) {
|
|
18
|
+
if (!(await isExternalResolvable(external, resolveDir, logger))) {
|
|
19
|
+
await linkExternal(external, resolveDir, logger);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function linkExternal(external, resolveDir, logger) {
|
|
24
|
+
const destinationPath = join(resolveDir, "node_modules");
|
|
25
|
+
await mkdir(destinationPath, { recursive: true });
|
|
26
|
+
logger.debug("[externals] Make a symbolic link", {
|
|
27
|
+
fromPath: external.path,
|
|
28
|
+
destinationPath,
|
|
29
|
+
external,
|
|
30
|
+
});
|
|
31
|
+
const symbolicLinkPath = join(destinationPath, external.name);
|
|
32
|
+
// Make sure the symbolic link does not exist
|
|
33
|
+
try {
|
|
34
|
+
await symlink(external.path, symbolicLinkPath, "dir");
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
logger.debug("[externals] Unable to create symbolic link", {
|
|
38
|
+
error: e,
|
|
39
|
+
fromPath: external.path,
|
|
40
|
+
destinationPath,
|
|
41
|
+
external,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function isExternalResolvable(external, resolveDir, logger) {
|
|
46
|
+
try {
|
|
47
|
+
const resolvedPath = nodeResolve.sync(external.name, {
|
|
48
|
+
basedir: resolveDir,
|
|
49
|
+
});
|
|
50
|
+
logger.debug("[externals][isExternalResolvable] Resolved external", {
|
|
51
|
+
resolveDir,
|
|
52
|
+
external,
|
|
53
|
+
resolvedPath,
|
|
54
|
+
});
|
|
55
|
+
if (!resolvedPath.includes(external.path)) {
|
|
56
|
+
logger.debug("[externals][isExternalResolvable] resolvedPath does not match the external.path", {
|
|
57
|
+
resolveDir,
|
|
58
|
+
external,
|
|
59
|
+
resolvedPath,
|
|
60
|
+
});
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
logger.debug("[externals][isExternalResolvable] Unable to resolve external", {
|
|
67
|
+
resolveDir,
|
|
68
|
+
external,
|
|
69
|
+
error: e,
|
|
70
|
+
});
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function createExternalsCollector(target, resolvedConfig, forcedExternal = []) {
|
|
75
|
+
const externals = [];
|
|
76
|
+
const maybeExternals = discoverMaybeExternals(target, resolvedConfig, forcedExternal);
|
|
77
|
+
return {
|
|
78
|
+
externals,
|
|
79
|
+
plugin: {
|
|
80
|
+
name: "externals",
|
|
81
|
+
setup: (build) => {
|
|
82
|
+
build.onStart(async () => {
|
|
83
|
+
externals.splice(0);
|
|
84
|
+
});
|
|
85
|
+
build.onEnd(async () => {
|
|
86
|
+
logger.debug("[externals][onEnd] Collected externals", { externals });
|
|
87
|
+
});
|
|
88
|
+
maybeExternals.forEach((external) => {
|
|
89
|
+
build.onResolve({ filter: external.filter, namespace: "file" }, async (args) => {
|
|
90
|
+
// Check if the external is already in the externals collection
|
|
91
|
+
if (externals.find((e) => e.name === external.raw)) {
|
|
92
|
+
return {
|
|
93
|
+
external: true,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const packageName = packageNameForImportPath(args.path);
|
|
97
|
+
try {
|
|
98
|
+
const resolvedPath = nodeResolve.sync(packageName, {
|
|
99
|
+
basedir: args.resolveDir,
|
|
100
|
+
});
|
|
101
|
+
logger.debug("[externals][onResolve] Resolved external", {
|
|
102
|
+
external,
|
|
103
|
+
resolvedPath,
|
|
104
|
+
args,
|
|
105
|
+
packageName,
|
|
106
|
+
});
|
|
107
|
+
const packageJsonPath = await resolvePackageJSON(dirname(resolvedPath));
|
|
108
|
+
if (!packageJsonPath) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
logger.debug("[externals][onResolve] Found package.json", {
|
|
112
|
+
packageJsonPath,
|
|
113
|
+
external,
|
|
114
|
+
resolvedPath,
|
|
115
|
+
args,
|
|
116
|
+
packageName,
|
|
117
|
+
});
|
|
118
|
+
const packageJson = await readPackageJSON(packageJsonPath);
|
|
119
|
+
if (!packageJson || !packageJson.name) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
if (!external.filter.test(packageJson.name)) {
|
|
123
|
+
logger.debug("[externals][onResolve] Package name does not match", {
|
|
124
|
+
external,
|
|
125
|
+
packageJson,
|
|
126
|
+
resolvedPath,
|
|
127
|
+
packageName,
|
|
128
|
+
});
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
if (!packageJson.version) {
|
|
132
|
+
logger.debug("[externals][onResolve] No version found in package.json", {
|
|
133
|
+
external,
|
|
134
|
+
packageJson,
|
|
135
|
+
resolvedPath,
|
|
136
|
+
});
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
externals.push({
|
|
140
|
+
name: packageName,
|
|
141
|
+
path: dirname(packageJsonPath),
|
|
142
|
+
version: packageJson.version,
|
|
143
|
+
});
|
|
144
|
+
logger.debug("[externals][onResolve] adding external to the externals collection", {
|
|
145
|
+
external,
|
|
146
|
+
resolvedPath,
|
|
147
|
+
args,
|
|
148
|
+
packageName,
|
|
149
|
+
resolvedExternal: {
|
|
150
|
+
name: packageJson.name,
|
|
151
|
+
path: dirname(packageJsonPath),
|
|
152
|
+
version: packageJson.version,
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
external: true,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
logger.debug("[externals][onResolve] Unable to resolve external", {
|
|
161
|
+
external,
|
|
162
|
+
error,
|
|
163
|
+
args,
|
|
164
|
+
packageName,
|
|
165
|
+
});
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function discoverMaybeExternals(target, config, forcedExternal = []) {
|
|
175
|
+
const external = [];
|
|
176
|
+
for (const externalName of forcedExternal) {
|
|
177
|
+
const externalRegex = makeRe(externalName);
|
|
178
|
+
if (!externalRegex) {
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
external.push({
|
|
182
|
+
raw: externalName,
|
|
183
|
+
filter: new RegExp(`^${externalName}$|${externalRegex.source}`),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
if (config.build?.external) {
|
|
187
|
+
for (const externalName of config.build?.external) {
|
|
188
|
+
const externalRegex = makeExternalRegexp(externalName);
|
|
189
|
+
if (!externalRegex) {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
external.push({
|
|
193
|
+
raw: externalName,
|
|
194
|
+
filter: externalRegex,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
for (const externalName of config.instrumentedPackageNames ?? []) {
|
|
199
|
+
const externalRegex = makeExternalRegexp(externalName);
|
|
200
|
+
if (!externalRegex) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
external.push({
|
|
204
|
+
raw: externalName,
|
|
205
|
+
filter: externalRegex,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
for (const buildExtension of config.build?.extensions ?? []) {
|
|
209
|
+
const moduleExternals = buildExtension.externalsForTarget?.(target);
|
|
210
|
+
for (const externalName of moduleExternals ?? []) {
|
|
211
|
+
const externalRegex = makeExternalRegexp(externalName);
|
|
212
|
+
if (!externalRegex) {
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
external.push({
|
|
216
|
+
raw: externalName,
|
|
217
|
+
filter: externalRegex,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return external;
|
|
222
|
+
}
|
|
223
|
+
export function createExternalsBuildExtension(target, config, forcedExternal = []) {
|
|
224
|
+
const { externals, plugin } = createExternalsCollector(target, config, forcedExternal);
|
|
225
|
+
return {
|
|
226
|
+
name: "externals",
|
|
227
|
+
onBuildStart(context) {
|
|
228
|
+
context.registerPlugin(plugin, {
|
|
229
|
+
target,
|
|
230
|
+
// @ts-expect-error
|
|
231
|
+
placement: "$head", // cheat to get to the front of the plugins
|
|
232
|
+
});
|
|
233
|
+
},
|
|
234
|
+
onBuildComplete: async (context, manifest) => {
|
|
235
|
+
if (context.target === "dev") {
|
|
236
|
+
await linkUnresolvableExternals(externals, manifest.outputPath, context.logger);
|
|
237
|
+
}
|
|
238
|
+
context.addLayer({
|
|
239
|
+
id: "externals",
|
|
240
|
+
dependencies: externals.reduce((acc, external) => {
|
|
241
|
+
acc[external.name] = external.version;
|
|
242
|
+
return acc;
|
|
243
|
+
}, {}),
|
|
244
|
+
});
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
function makeExternalRegexp(packageName) {
|
|
249
|
+
// Escape special regex characters in the package name
|
|
250
|
+
const escapedPkg = packageName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
251
|
+
// Create the regex pattern
|
|
252
|
+
const pattern = `^${escapedPkg}(?:/[^'"]*)?$`;
|
|
253
|
+
return new RegExp(pattern);
|
|
254
|
+
}
|
|
255
|
+
function packageNameForImportPath(importPath) {
|
|
256
|
+
// Remove any leading '@' to handle it separately
|
|
257
|
+
const withoutAtSign = importPath.replace(/^@/, "");
|
|
258
|
+
// Split the path by '/'
|
|
259
|
+
const parts = withoutAtSign.split("/");
|
|
260
|
+
// Handle scoped packages
|
|
261
|
+
if (importPath.startsWith("@")) {
|
|
262
|
+
// Return '@org/package' for scoped packages
|
|
263
|
+
return "@" + parts.slice(0, 2).join("/");
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
// Return just the first part for non-scoped packages
|
|
267
|
+
return parts[0];
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
export async function resolveAlwaysExternal(client) {
|
|
271
|
+
try {
|
|
272
|
+
const response = await client.retrieveExternals();
|
|
273
|
+
if (response.success) {
|
|
274
|
+
return response.data.externals;
|
|
275
|
+
}
|
|
276
|
+
return alwaysExternal;
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
logger.debug("[externals][resolveAlwaysExternal] Unable to retrieve externals", {
|
|
280
|
+
error,
|
|
281
|
+
});
|
|
282
|
+
return alwaysExternal;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=externals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externals.js","sourceRoot":"","sources":["../../../src/build/externals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cp } from "node:fs/promises";
|
|
2
|
+
import { logger } from "../utilities/logger.js";
|
|
3
|
+
export async function copyManifestToDir(manifest, source, destination) {
|
|
4
|
+
// Copy the dir in destination to workerDir
|
|
5
|
+
await cp(source, destination, { recursive: true });
|
|
6
|
+
logger.debug("Copied manifest to dir", { source, destination });
|
|
7
|
+
// Then update the manifest to point to the new workerDir
|
|
8
|
+
const updatedManifest = { ...manifest };
|
|
9
|
+
updatedManifest.configPath = updatedManifest.configPath.replace(source, destination);
|
|
10
|
+
updatedManifest.loaderEntryPoint = updatedManifest.loaderEntryPoint?.replace(source, destination);
|
|
11
|
+
updatedManifest.runWorkerEntryPoint = updatedManifest.runWorkerEntryPoint.replace(source, destination);
|
|
12
|
+
updatedManifest.indexWorkerEntryPoint = updatedManifest.indexWorkerEntryPoint.replace(source, destination);
|
|
13
|
+
updatedManifest.files = updatedManifest.files.map((file) => {
|
|
14
|
+
return {
|
|
15
|
+
...file,
|
|
16
|
+
out: file.out.replace(source, destination),
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
updatedManifest.outputPath = destination;
|
|
20
|
+
return updatedManifest;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=manifests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../../src/build/manifests.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAuB,EACvB,MAAc,EACd,WAAmB;IAEnB,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAEhE,yDAAyD;IACzD,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAExC,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrF,eAAe,CAAC,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClG,eAAe,CAAC,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAC/E,MAAM,EACN,WAAW,CACZ,CAAC;IACF,eAAe,CAAC,qBAAqB,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CACnF,MAAM,EACN,WAAW,CACZ,CAAC;IAEF,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzD,OAAO;YACL,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;SAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,UAAU,GAAG,WAAW,CAAC;IAEzC,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BuildTarget } from "@trigger.dev/core/v3";
|
|
2
|
+
export declare const devRunWorker: string;
|
|
3
|
+
export declare const devIndexWorker: string;
|
|
4
|
+
export declare const deployRunController: string;
|
|
5
|
+
export declare const deployRunWorker: string;
|
|
6
|
+
export declare const deployIndexController: string;
|
|
7
|
+
export declare const deployIndexWorker: string;
|
|
8
|
+
export declare const telemetryEntryPoint: string;
|
|
9
|
+
export declare const devEntryPoints: string[];
|
|
10
|
+
export declare const deployEntryPoints: string[];
|
|
11
|
+
export declare const esmShimPath: string;
|
|
12
|
+
export declare const shims: string[];
|
|
13
|
+
export declare function isLoaderEntryPoint(entryPoint: string): boolean;
|
|
14
|
+
export declare function isRunWorkerForTarget(entryPoint: string, target: BuildTarget): boolean;
|
|
15
|
+
export declare function isRunControllerForTarget(entryPoint: string, target: BuildTarget): boolean;
|
|
16
|
+
export declare function isIndexWorkerForTarget(entryPoint: string, target: BuildTarget): boolean;
|
|
17
|
+
export declare function isIndexControllerForTarget(entryPoint: string, target: BuildTarget): boolean;
|
|
18
|
+
export declare function isConfigEntryPoint(entryPoint: string): boolean;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { sourceDir } from "../sourceDir.js";
|
|
3
|
+
export const devRunWorker = join(sourceDir, "entryPoints", "dev-run-worker.js");
|
|
4
|
+
export const devIndexWorker = join(sourceDir, "entryPoints", "dev-index-worker.js");
|
|
5
|
+
export const deployRunController = join(sourceDir, "entryPoints", "deploy-run-controller.js");
|
|
6
|
+
export const deployRunWorker = join(sourceDir, "entryPoints", "deploy-run-worker.js");
|
|
7
|
+
export const deployIndexController = join(sourceDir, "entryPoints", "deploy-index-controller.js");
|
|
8
|
+
export const deployIndexWorker = join(sourceDir, "entryPoints", "deploy-index-worker.js");
|
|
9
|
+
export const telemetryEntryPoint = join(sourceDir, "entryPoints", "loader.js");
|
|
10
|
+
export const devEntryPoints = [devRunWorker, devIndexWorker];
|
|
11
|
+
export const deployEntryPoints = [
|
|
12
|
+
deployRunController,
|
|
13
|
+
deployRunWorker,
|
|
14
|
+
deployIndexController,
|
|
15
|
+
deployIndexWorker,
|
|
16
|
+
];
|
|
17
|
+
export const esmShimPath = join(sourceDir, "shims", "esm.js");
|
|
18
|
+
export const shims = [esmShimPath];
|
|
19
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
20
|
+
function isDevRunWorker(entryPoint) {
|
|
21
|
+
return (entryPoint.includes("dist/esm/entryPoints/dev-run-worker.js") ||
|
|
22
|
+
entryPoint.includes("src/entryPoints/dev-run-worker.ts"));
|
|
23
|
+
}
|
|
24
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
25
|
+
function isDevIndexWorker(entryPoint) {
|
|
26
|
+
return (entryPoint.includes("dist/esm/entryPoints/dev-index-worker.js") ||
|
|
27
|
+
entryPoint.includes("src/entryPoints/dev-index-worker.ts"));
|
|
28
|
+
}
|
|
29
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
30
|
+
function isDeployIndexController(entryPoint) {
|
|
31
|
+
return (entryPoint.includes("dist/esm/entryPoints/deploy-index-controller.js") ||
|
|
32
|
+
entryPoint.includes("src/entryPoints/deploy-index-controller.ts"));
|
|
33
|
+
}
|
|
34
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
35
|
+
function isDeployIndexWorker(entryPoint) {
|
|
36
|
+
return (entryPoint.includes("dist/esm/entryPoints/deploy-index-worker.js") ||
|
|
37
|
+
entryPoint.includes("src/entryPoints/deploy-index-worker.ts"));
|
|
38
|
+
}
|
|
39
|
+
function isDeployRunController(entryPoint) {
|
|
40
|
+
return (entryPoint.includes("dist/esm/entryPoints/deploy-run-controller.js") ||
|
|
41
|
+
entryPoint.includes("src/entryPoints/deploy-run-controller.ts"));
|
|
42
|
+
}
|
|
43
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
44
|
+
function isDeployRunWorker(entryPoint) {
|
|
45
|
+
return (entryPoint.includes("dist/esm/entryPoints/deploy-run-worker.js") ||
|
|
46
|
+
entryPoint.includes("src/entryPoints/deploy-run-worker.ts"));
|
|
47
|
+
}
|
|
48
|
+
// IMPORTANT: this may look like it should not work on Windows, but it does (and changing to using path.join will break stuff)
|
|
49
|
+
export function isLoaderEntryPoint(entryPoint) {
|
|
50
|
+
return (entryPoint.includes("dist/esm/entryPoints/loader.js") ||
|
|
51
|
+
entryPoint.includes("src/entryPoints/loader.ts"));
|
|
52
|
+
}
|
|
53
|
+
export function isRunWorkerForTarget(entryPoint, target) {
|
|
54
|
+
if (target === "dev") {
|
|
55
|
+
return isDevRunWorker(entryPoint);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return isDeployRunWorker(entryPoint);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function isRunControllerForTarget(entryPoint, target) {
|
|
62
|
+
if (target === "deploy") {
|
|
63
|
+
return isDeployRunController(entryPoint);
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
export function isIndexWorkerForTarget(entryPoint, target) {
|
|
68
|
+
if (target === "dev") {
|
|
69
|
+
return isDevIndexWorker(entryPoint);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return isDeployIndexWorker(entryPoint);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function isIndexControllerForTarget(entryPoint, target) {
|
|
76
|
+
if (target === "deploy") {
|
|
77
|
+
return isDeployIndexController(entryPoint);
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
export function isConfigEntryPoint(entryPoint) {
|
|
82
|
+
return entryPoint.startsWith("trigger.config.ts");
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=packageModules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageModules.js","sourceRoot":"","sources":["../../../src/build/packageModules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as esbuild from "esbuild";
|
|
2
|
+
import { BuildTarget } from "@trigger.dev/core/v3/schemas";
|
|
3
|
+
import { ResolvedConfig } from "@trigger.dev/core/v3/build";
|
|
4
|
+
export declare function buildPlugins(target: BuildTarget, resolvedConfig: ResolvedConfig): Promise<esbuild.Plugin[]>;
|
|
5
|
+
export declare function analyzeMetadataPlugin(): esbuild.Plugin;
|
|
6
|
+
export declare function polyshedPlugin(): esbuild.Plugin;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as esbuild from "esbuild";
|
|
2
|
+
import { configPlugin } from "../config.js";
|
|
3
|
+
import { logger } from "../utilities/logger.js";
|
|
4
|
+
import { bunPlugin } from "../runtimes/bun.js";
|
|
5
|
+
export async function buildPlugins(target, resolvedConfig) {
|
|
6
|
+
logger.debug("Building plugins for target", target);
|
|
7
|
+
const plugins = [];
|
|
8
|
+
const $configPlugin = configPlugin(resolvedConfig);
|
|
9
|
+
if ($configPlugin) {
|
|
10
|
+
plugins.push($configPlugin);
|
|
11
|
+
}
|
|
12
|
+
plugins.push(polyshedPlugin());
|
|
13
|
+
if (resolvedConfig.runtime === "bun") {
|
|
14
|
+
plugins.push(bunPlugin());
|
|
15
|
+
}
|
|
16
|
+
return plugins;
|
|
17
|
+
}
|
|
18
|
+
export function analyzeMetadataPlugin() {
|
|
19
|
+
return {
|
|
20
|
+
name: "analyze-metafile",
|
|
21
|
+
setup(build) {
|
|
22
|
+
build.onEnd(async (result) => {
|
|
23
|
+
if (!result.metafile) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(await esbuild.analyzeMetafile(result.metafile, {
|
|
27
|
+
verbose: true,
|
|
28
|
+
}));
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const polysheds = [
|
|
34
|
+
{
|
|
35
|
+
moduleName: "server-only",
|
|
36
|
+
code: "export default true;",
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
export function polyshedPlugin() {
|
|
40
|
+
return {
|
|
41
|
+
name: "polyshed",
|
|
42
|
+
setup(build) {
|
|
43
|
+
for (const polyshed of polysheds) {
|
|
44
|
+
build.onResolve({ filter: new RegExp(`^${polyshed.moduleName}$`) }, (args) => {
|
|
45
|
+
if (args.path !== polyshed.moduleName) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
path: args.path,
|
|
50
|
+
external: false,
|
|
51
|
+
namespace: `polyshed-${polyshed.moduleName}`,
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
build.onLoad({
|
|
55
|
+
filter: new RegExp(`^${polyshed.moduleName}$`),
|
|
56
|
+
namespace: `polyshed-${polyshed.moduleName}`,
|
|
57
|
+
}, (args) => {
|
|
58
|
+
return {
|
|
59
|
+
contents: polyshed.code,
|
|
60
|
+
loader: "js",
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/build/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAmB,EACnB,cAA8B;IAE9B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAEnD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAE/B,IAAI,cAAc,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CACT,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC7C,OAAO,EAAE,IAAI;iBACd,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG;IAChB;QACE,UAAU,EAAE,aAAa;QACzB,IAAI,EAAE,sBAAsB;KAC7B;CACF,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,CAAC,KAAK;YACT,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACtC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,OAAO;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,KAAK;wBACf,SAAS,EAAE,YAAY,QAAQ,CAAC,UAAU,EAAE;qBAC7C,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,MAAM,CACV;oBACE,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC;oBAC9C,SAAS,EAAE,YAAY,QAAQ,CAAC,UAAU,EAAE;iBAC7C,EACD,CAAC,IAAI,EAAE,EAAE;oBACP,OAAO;wBACL,QAAQ,EAAE,QAAQ,CAAC,IAAI;wBACvB,MAAM,EAAE,IAAI;qBACb,CAAC;gBACJ,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function resolveModule(moduleName: string, url?: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveModule.js","sourceRoot":"","sources":["../../../src/build/resolveModule.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,GAAY;IAC5D,OAAO,WAAW,CAAC,UAAU,EAAE;QAC7B,aAAa;QACb,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG;KAC5B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export declare const CommonCommandOptions: z.ZodObject<{
|
|
4
|
+
apiUrl: z.ZodOptional<z.ZodString>;
|
|
5
|
+
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "log", "warn", "error", "none"]>>;
|
|
6
|
+
skipTelemetry: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
logLevel: "error" | "debug" | "info" | "warn" | "none" | "log";
|
|
10
|
+
skipTelemetry: boolean;
|
|
11
|
+
profile: string;
|
|
12
|
+
apiUrl?: string | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
apiUrl?: string | undefined;
|
|
15
|
+
logLevel?: "error" | "debug" | "info" | "warn" | "none" | "log" | undefined;
|
|
16
|
+
skipTelemetry?: boolean | undefined;
|
|
17
|
+
profile?: string | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
export type CommonCommandOptions = z.infer<typeof CommonCommandOptions>;
|
|
20
|
+
export declare function commonOptions(command: Command): Command;
|
|
21
|
+
export declare class SkipLoggingError extends Error {
|
|
22
|
+
}
|
|
23
|
+
export declare class SkipCommandError extends Error {
|
|
24
|
+
}
|
|
25
|
+
export declare class OutroCommandError extends SkipCommandError {
|
|
26
|
+
}
|
|
27
|
+
export declare function handleTelemetry(action: () => Promise<void>): Promise<void>;
|
|
28
|
+
export declare const tracer: import("@opentelemetry/api").Tracer;
|
|
29
|
+
export declare function wrapCommandAction<T extends z.AnyZodObject, TResult>(name: string, schema: T, options: unknown, action: (opts: z.output<T>) => Promise<TResult>): Promise<TResult>;
|
|
30
|
+
export declare function installExitHandler(): void;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { flattenAttributes } from "@trigger.dev/core/v3";
|
|
2
|
+
import { recordSpanException } from "@trigger.dev/core/v3/workers";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { getTracer, provider } from "../telemetry/tracing.js";
|
|
5
|
+
import { fromZodError } from "zod-validation-error";
|
|
6
|
+
import { logger } from "../utilities/logger.js";
|
|
7
|
+
import { outro } from "@clack/prompts";
|
|
8
|
+
import { chalkError } from "../utilities/cliOutput.js";
|
|
9
|
+
export const CommonCommandOptions = z.object({
|
|
10
|
+
apiUrl: z.string().optional(),
|
|
11
|
+
logLevel: z.enum(["debug", "info", "log", "warn", "error", "none"]).default("log"),
|
|
12
|
+
skipTelemetry: z.boolean().default(false),
|
|
13
|
+
profile: z.string().default("default"),
|
|
14
|
+
});
|
|
15
|
+
export function commonOptions(command) {
|
|
16
|
+
return command
|
|
17
|
+
.option("--profile <profile>", "The login profile to use", "default")
|
|
18
|
+
.option("-a, --api-url <value>", "Override the API URL", "https://api.trigger.dev")
|
|
19
|
+
.option("-l, --log-level <level>", "The CLI log level to use (debug, info, log, warn, error, none). This does not effect the log level of your trigger.dev tasks.", "log")
|
|
20
|
+
.option("--skip-telemetry", "Opt-out of sending telemetry");
|
|
21
|
+
}
|
|
22
|
+
export class SkipLoggingError extends Error {
|
|
23
|
+
}
|
|
24
|
+
export class SkipCommandError extends Error {
|
|
25
|
+
}
|
|
26
|
+
export class OutroCommandError extends SkipCommandError {
|
|
27
|
+
}
|
|
28
|
+
export async function handleTelemetry(action) {
|
|
29
|
+
try {
|
|
30
|
+
await action();
|
|
31
|
+
await provider?.forceFlush();
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
await provider?.forceFlush();
|
|
35
|
+
process.exitCode = 1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const tracer = getTracer();
|
|
39
|
+
export async function wrapCommandAction(name, schema, options, action) {
|
|
40
|
+
return await tracer.startActiveSpan(name, async (span) => {
|
|
41
|
+
try {
|
|
42
|
+
const parsedOptions = schema.safeParse(options);
|
|
43
|
+
if (!parsedOptions.success) {
|
|
44
|
+
throw new Error(fromZodError(parsedOptions.error).toString());
|
|
45
|
+
}
|
|
46
|
+
span.setAttributes({
|
|
47
|
+
...flattenAttributes(parsedOptions.data, "cli.options"),
|
|
48
|
+
});
|
|
49
|
+
logger.loggerLevel = parsedOptions.data.logLevel;
|
|
50
|
+
logger.debug(`Running "${name}" with the following options`, {
|
|
51
|
+
options: options,
|
|
52
|
+
spanContext: span?.spanContext(),
|
|
53
|
+
});
|
|
54
|
+
const result = await action(parsedOptions.data);
|
|
55
|
+
span.end();
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
if (e instanceof SkipLoggingError) {
|
|
60
|
+
recordSpanException(span, e);
|
|
61
|
+
}
|
|
62
|
+
else if (e instanceof OutroCommandError) {
|
|
63
|
+
outro("Operation cancelled");
|
|
64
|
+
}
|
|
65
|
+
else if (e instanceof SkipCommandError) {
|
|
66
|
+
// do nothing
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
recordSpanException(span, e);
|
|
70
|
+
logger.log(`${chalkError("X Error:")} ${e instanceof Error ? e.message : String(e)}`);
|
|
71
|
+
}
|
|
72
|
+
span.end();
|
|
73
|
+
throw e;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function installExitHandler() {
|
|
78
|
+
process.on("SIGINT", () => {
|
|
79
|
+
process.exit(0);
|
|
80
|
+
});
|
|
81
|
+
process.on("SIGTERM", () => {
|
|
82
|
+
process.exit(0);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=common.js.map
|