trigger.dev 3.0.0-beta.23 → 3.0.0-beta.25
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/Containerfile.prod
CHANGED
package/dist/index.js
CHANGED
|
@@ -799,7 +799,7 @@ import invariant from "tiny-invariant";
|
|
|
799
799
|
import { z as z4 } from "zod";
|
|
800
800
|
|
|
801
801
|
// package.json
|
|
802
|
-
var version = "3.0.0-beta.
|
|
802
|
+
var version = "3.0.0-beta.25";
|
|
803
803
|
var dependencies = {
|
|
804
804
|
"@anatine/esbuild-decorators": "^0.2.19",
|
|
805
805
|
"@clack/prompts": "^0.7.0",
|
|
@@ -816,7 +816,7 @@ var dependencies = {
|
|
|
816
816
|
"@opentelemetry/sdk-trace-base": "^1.22.0",
|
|
817
817
|
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
|
818
818
|
"@opentelemetry/semantic-conventions": "^1.22.0",
|
|
819
|
-
"@trigger.dev/core": "workspace:3.0.0-beta.
|
|
819
|
+
"@trigger.dev/core": "workspace:3.0.0-beta.25",
|
|
820
820
|
"@types/degit": "^2.8.3",
|
|
821
821
|
chalk: "^5.2.0",
|
|
822
822
|
chokidar: "^3.5.3",
|
|
@@ -3254,47 +3254,7 @@ function assertExhaustive(x) {
|
|
|
3254
3254
|
}
|
|
3255
3255
|
|
|
3256
3256
|
// src/utilities/javascriptProject.ts
|
|
3257
|
-
|
|
3258
|
-
"assert",
|
|
3259
|
-
"async_hooks",
|
|
3260
|
-
"buffer",
|
|
3261
|
-
"child_process",
|
|
3262
|
-
"cluster",
|
|
3263
|
-
"console",
|
|
3264
|
-
"constants",
|
|
3265
|
-
"crypto",
|
|
3266
|
-
"dgram",
|
|
3267
|
-
"dns",
|
|
3268
|
-
"domain",
|
|
3269
|
-
"events",
|
|
3270
|
-
"fs",
|
|
3271
|
-
"http",
|
|
3272
|
-
"http2",
|
|
3273
|
-
"https",
|
|
3274
|
-
"inspector",
|
|
3275
|
-
"module",
|
|
3276
|
-
"net",
|
|
3277
|
-
"os",
|
|
3278
|
-
"path",
|
|
3279
|
-
"perf_hooks",
|
|
3280
|
-
"process",
|
|
3281
|
-
"punycode",
|
|
3282
|
-
"querystring",
|
|
3283
|
-
"readline",
|
|
3284
|
-
"repl",
|
|
3285
|
-
"stream",
|
|
3286
|
-
"string_decoder",
|
|
3287
|
-
"timers",
|
|
3288
|
-
"tls",
|
|
3289
|
-
"trace_events",
|
|
3290
|
-
"tty",
|
|
3291
|
-
"url",
|
|
3292
|
-
"util",
|
|
3293
|
-
"v8",
|
|
3294
|
-
"vm",
|
|
3295
|
-
"worker_threads",
|
|
3296
|
-
"zlib"
|
|
3297
|
-
]);
|
|
3257
|
+
import { builtinModules } from "node:module";
|
|
3298
3258
|
var JavascriptProject = class {
|
|
3299
3259
|
constructor(projectPath) {
|
|
3300
3260
|
this.projectPath = projectPath;
|
|
@@ -3324,29 +3284,76 @@ var JavascriptProject = class {
|
|
|
3324
3284
|
});
|
|
3325
3285
|
}
|
|
3326
3286
|
}
|
|
3287
|
+
async resolveAll(packageNames, options) {
|
|
3288
|
+
const externalPackages = packageNames.filter((packageName) => !isBuiltInModule(packageName));
|
|
3289
|
+
const opts = { allowDev: false, ...options };
|
|
3290
|
+
const command = await this.#getCommand();
|
|
3291
|
+
try {
|
|
3292
|
+
const versions = await command.resolveDependencyVersions(externalPackages, {
|
|
3293
|
+
cwd: this.projectPath
|
|
3294
|
+
});
|
|
3295
|
+
if (versions) {
|
|
3296
|
+
logger.debug(`Resolved [${externalPackages.join(", ")}] version using ${command.name}`, {
|
|
3297
|
+
versions
|
|
3298
|
+
});
|
|
3299
|
+
}
|
|
3300
|
+
const missingPackages = externalPackages.filter((packageName) => !versions[packageName]);
|
|
3301
|
+
const missingPackageVersions = {};
|
|
3302
|
+
for (const packageName of missingPackages) {
|
|
3303
|
+
const packageJsonVersion = this.packageJson.dependencies?.[packageName];
|
|
3304
|
+
if (typeof packageJsonVersion === "string") {
|
|
3305
|
+
logger.debug(`Resolved ${packageName} version using package.json`, {
|
|
3306
|
+
packageJsonVersion
|
|
3307
|
+
});
|
|
3308
|
+
missingPackageVersions[packageName] = packageJsonVersion;
|
|
3309
|
+
}
|
|
3310
|
+
if (opts.allowDev) {
|
|
3311
|
+
const devPackageJsonVersion = this.packageJson.devDependencies?.[packageName];
|
|
3312
|
+
if (typeof devPackageJsonVersion === "string") {
|
|
3313
|
+
logger.debug(`Resolved ${packageName} version using devDependencies`, {
|
|
3314
|
+
devPackageJsonVersion
|
|
3315
|
+
});
|
|
3316
|
+
missingPackageVersions[packageName] = devPackageJsonVersion;
|
|
3317
|
+
}
|
|
3318
|
+
}
|
|
3319
|
+
}
|
|
3320
|
+
return { ...versions, ...missingPackageVersions };
|
|
3321
|
+
} catch (error) {
|
|
3322
|
+
logger.debug(`Failed to resolve dependency versions using ${command.name}`, {
|
|
3323
|
+
packageNames,
|
|
3324
|
+
error
|
|
3325
|
+
});
|
|
3326
|
+
return {};
|
|
3327
|
+
}
|
|
3328
|
+
}
|
|
3327
3329
|
async resolve(packageName, options) {
|
|
3328
|
-
if (
|
|
3330
|
+
if (isBuiltInModule(packageName)) {
|
|
3329
3331
|
return void 0;
|
|
3330
3332
|
}
|
|
3331
3333
|
const opts = { allowDev: false, ...options };
|
|
3332
|
-
const packageJsonVersion = this.packageJson.dependencies?.[packageName];
|
|
3333
|
-
if (typeof packageJsonVersion === "string") {
|
|
3334
|
-
return packageJsonVersion;
|
|
3335
|
-
}
|
|
3336
|
-
if (opts.allowDev) {
|
|
3337
|
-
const devPackageJsonVersion = this.packageJson.devDependencies?.[packageName];
|
|
3338
|
-
if (typeof devPackageJsonVersion === "string") {
|
|
3339
|
-
return devPackageJsonVersion;
|
|
3340
|
-
}
|
|
3341
|
-
}
|
|
3342
3334
|
const command = await this.#getCommand();
|
|
3343
3335
|
try {
|
|
3344
3336
|
const version2 = await command.resolveDependencyVersion(packageName, {
|
|
3345
3337
|
cwd: this.projectPath
|
|
3346
3338
|
});
|
|
3347
3339
|
if (version2) {
|
|
3340
|
+
logger.debug(`Resolved ${packageName} version using ${command.name}`, { version: version2 });
|
|
3348
3341
|
return version2;
|
|
3349
3342
|
}
|
|
3343
|
+
const packageJsonVersion = this.packageJson.dependencies?.[packageName];
|
|
3344
|
+
if (typeof packageJsonVersion === "string") {
|
|
3345
|
+
logger.debug(`Resolved ${packageName} version using package.json`, { packageJsonVersion });
|
|
3346
|
+
return packageJsonVersion;
|
|
3347
|
+
}
|
|
3348
|
+
if (opts.allowDev) {
|
|
3349
|
+
const devPackageJsonVersion = this.packageJson.devDependencies?.[packageName];
|
|
3350
|
+
if (typeof devPackageJsonVersion === "string") {
|
|
3351
|
+
logger.debug(`Resolved ${packageName} version using devDependencies`, {
|
|
3352
|
+
devPackageJsonVersion
|
|
3353
|
+
});
|
|
3354
|
+
return devPackageJsonVersion;
|
|
3355
|
+
}
|
|
3356
|
+
}
|
|
3350
3357
|
} catch (error) {
|
|
3351
3358
|
logger.debug(`Failed to resolve dependency version using ${command.name}`, {
|
|
3352
3359
|
packageName,
|
|
@@ -3388,7 +3395,7 @@ var PNPMCommands = class {
|
|
|
3388
3395
|
async resolveDependencyVersion(packageName, options) {
|
|
3389
3396
|
const { stdout } = await $({ cwd: options.cwd })`${this.cmd} list ${packageName} -r --json`;
|
|
3390
3397
|
const result = JSON.parse(stdout);
|
|
3391
|
-
logger.debug(`Resolving ${packageName} version using ${this.name}
|
|
3398
|
+
logger.debug(`Resolving ${packageName} version using ${this.name}`);
|
|
3392
3399
|
for (const dep of result) {
|
|
3393
3400
|
const dependency = dep.dependencies?.[packageName];
|
|
3394
3401
|
if (dependency) {
|
|
@@ -3396,6 +3403,21 @@ var PNPMCommands = class {
|
|
|
3396
3403
|
}
|
|
3397
3404
|
}
|
|
3398
3405
|
}
|
|
3406
|
+
async resolveDependencyVersions(packageNames, options) {
|
|
3407
|
+
const { stdout } = await $({ cwd: options.cwd })`${this.cmd} list ${packageNames} -r --json`;
|
|
3408
|
+
const result = JSON.parse(stdout);
|
|
3409
|
+
logger.debug(`Resolving ${packageNames.join(" ")} version using ${this.name}`);
|
|
3410
|
+
const results = {};
|
|
3411
|
+
for (const dep of result) {
|
|
3412
|
+
for (const packageName of packageNames) {
|
|
3413
|
+
const dependency = dep.dependencies?.[packageName];
|
|
3414
|
+
if (dependency) {
|
|
3415
|
+
results[packageName] = dependency.version;
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
}
|
|
3419
|
+
return results;
|
|
3420
|
+
}
|
|
3399
3421
|
};
|
|
3400
3422
|
var NPMCommands = class {
|
|
3401
3423
|
get name() {
|
|
@@ -3414,6 +3436,19 @@ var NPMCommands = class {
|
|
|
3414
3436
|
logger.debug(`Resolving ${packageName} version using ${this.name}`, { output });
|
|
3415
3437
|
return this.#recursivelySearchDependencies(output.dependencies, packageName);
|
|
3416
3438
|
}
|
|
3439
|
+
async resolveDependencyVersions(packageNames, options) {
|
|
3440
|
+
const { stdout } = await $({ cwd: options.cwd })`${this.cmd} list ${packageNames} --json`;
|
|
3441
|
+
const output = JSON.parse(stdout);
|
|
3442
|
+
logger.debug(`Resolving ${packageNames.join(" ")} version using ${this.name}`, { output });
|
|
3443
|
+
const results = {};
|
|
3444
|
+
for (const packageName of packageNames) {
|
|
3445
|
+
const version2 = this.#recursivelySearchDependencies(output.dependencies, packageName);
|
|
3446
|
+
if (version2) {
|
|
3447
|
+
results[packageName] = version2;
|
|
3448
|
+
}
|
|
3449
|
+
}
|
|
3450
|
+
return results;
|
|
3451
|
+
}
|
|
3417
3452
|
#recursivelySearchDependencies(dependencies2, packageName) {
|
|
3418
3453
|
for (const [name, dependency] of Object.entries(dependencies2)) {
|
|
3419
3454
|
if (name === packageName) {
|
|
@@ -3442,7 +3477,7 @@ var YarnCommands = class {
|
|
|
3442
3477
|
async resolveDependencyVersion(packageName, options) {
|
|
3443
3478
|
const { stdout } = await $({ cwd: options.cwd })`${this.cmd} info ${packageName} --json`;
|
|
3444
3479
|
const lines = stdout.split("\n");
|
|
3445
|
-
logger.debug(`Resolving ${packageName} version using ${this.name}
|
|
3480
|
+
logger.debug(`Resolving ${packageName} version using ${this.name}`);
|
|
3446
3481
|
for (const line of lines) {
|
|
3447
3482
|
const json = JSON.parse(line);
|
|
3448
3483
|
if (json.value === packageName) {
|
|
@@ -3450,7 +3485,38 @@ var YarnCommands = class {
|
|
|
3450
3485
|
}
|
|
3451
3486
|
}
|
|
3452
3487
|
}
|
|
3488
|
+
async resolveDependencyVersions(packageNames, options) {
|
|
3489
|
+
const { stdout } = await $({ cwd: options.cwd })`${this.cmd} info ${packageNames} --json`;
|
|
3490
|
+
const lines = stdout.split("\n");
|
|
3491
|
+
logger.debug(`Resolving ${packageNames.join(" ")} version using ${this.name}`);
|
|
3492
|
+
const results = {};
|
|
3493
|
+
for (const line of lines) {
|
|
3494
|
+
const json = JSON.parse(line);
|
|
3495
|
+
const packageName = this.#parseYarnValueIntoPackageName(json.value);
|
|
3496
|
+
if (packageNames.includes(packageName)) {
|
|
3497
|
+
results[packageName] = json.children.Version;
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
return results;
|
|
3501
|
+
}
|
|
3502
|
+
// The "value" when doing yarn info is formatted like this:
|
|
3503
|
+
// "package-name@npm:version" or "package-name@workspace:version"
|
|
3504
|
+
// This function will parse the value into just the package name.
|
|
3505
|
+
// This correctly handles scoped packages as well e.g. @scope/package-name@npm:version
|
|
3506
|
+
#parseYarnValueIntoPackageName(value) {
|
|
3507
|
+
const parts = value.split("@");
|
|
3508
|
+
if (parts.length === 3) {
|
|
3509
|
+
return parts[1];
|
|
3510
|
+
}
|
|
3511
|
+
return parts[0];
|
|
3512
|
+
}
|
|
3453
3513
|
};
|
|
3514
|
+
function isBuiltInModule(module) {
|
|
3515
|
+
if (module.startsWith("node:")) {
|
|
3516
|
+
return true;
|
|
3517
|
+
}
|
|
3518
|
+
return builtinModules.includes(module);
|
|
3519
|
+
}
|
|
3454
3520
|
|
|
3455
3521
|
// src/utilities/resolveInternalFilePath.ts
|
|
3456
3522
|
import path5 from "path";
|
|
@@ -4556,6 +4622,7 @@ async function compileProject(config, options, configPath) {
|
|
|
4556
4622
|
const allImports = [...metaOutput.imports, ...entryPointMetaOutput.imports];
|
|
4557
4623
|
const javascriptProject = new JavascriptProject(config.projectDir);
|
|
4558
4624
|
const dependencies2 = await gatherRequiredDependencies(allImports, config, javascriptProject);
|
|
4625
|
+
logger.debug("gatherRequiredDependencies()", { dependencies: dependencies2 });
|
|
4559
4626
|
const packageJsonContents = {
|
|
4560
4627
|
name: "trigger-worker",
|
|
4561
4628
|
version: "0.0.0",
|
|
@@ -4592,7 +4659,16 @@ If this is unexpected you should check your ${terminalLink2(
|
|
|
4592
4659
|
throw new SkipLoggingError("Failed to resolve dependencies");
|
|
4593
4660
|
}
|
|
4594
4661
|
const containerFilePath = join6(cliRootPath(), "Containerfile.prod");
|
|
4595
|
-
|
|
4662
|
+
let containerFileContents = readFileSync2(containerFilePath, "utf-8");
|
|
4663
|
+
if (config.postInstall) {
|
|
4664
|
+
containerFileContents = containerFileContents.replace(
|
|
4665
|
+
"__POST_INSTALL__",
|
|
4666
|
+
`RUN ${config.postInstall}`
|
|
4667
|
+
);
|
|
4668
|
+
} else {
|
|
4669
|
+
containerFileContents = containerFileContents.replace("__POST_INSTALL__", "");
|
|
4670
|
+
}
|
|
4671
|
+
await writeFile2(join6(tempDir, "Containerfile"), containerFileContents);
|
|
4596
4672
|
const contentHasher = createHash("sha256");
|
|
4597
4673
|
contentHasher.update(Buffer.from(entryPointOutputFile.text));
|
|
4598
4674
|
contentHasher.update(Buffer.from(workerOutputFile.text));
|
|
@@ -4733,24 +4809,30 @@ async function typecheckProject(config, options) {
|
|
|
4733
4809
|
}
|
|
4734
4810
|
async function gatherRequiredDependencies(imports, config, project) {
|
|
4735
4811
|
const dependencies2 = {};
|
|
4812
|
+
const resolvablePackageNames = /* @__PURE__ */ new Set();
|
|
4736
4813
|
for (const file of imports) {
|
|
4737
4814
|
if (file.kind !== "require-call" && file.kind !== "dynamic-import" || !file.external) {
|
|
4738
4815
|
continue;
|
|
4739
4816
|
}
|
|
4740
4817
|
const packageName = detectPackageNameFromImportPath(file.path);
|
|
4741
|
-
if (
|
|
4742
|
-
continue;
|
|
4743
|
-
}
|
|
4744
|
-
const externalDependencyVersion = await project.resolve(packageName);
|
|
4745
|
-
if (externalDependencyVersion) {
|
|
4746
|
-
dependencies2[packageName] = stripWorkspaceFromVersion(externalDependencyVersion);
|
|
4818
|
+
if (!packageName) {
|
|
4747
4819
|
continue;
|
|
4748
4820
|
}
|
|
4749
|
-
|
|
4821
|
+
resolvablePackageNames.add(packageName);
|
|
4822
|
+
}
|
|
4823
|
+
const resolvedPackageVersions = await project.resolveAll(Array.from(resolvablePackageNames));
|
|
4824
|
+
const missingPackages = Array.from(resolvablePackageNames).filter(
|
|
4825
|
+
(packageName) => !resolvedPackageVersions[packageName]
|
|
4826
|
+
);
|
|
4827
|
+
for (const missingPackage of missingPackages) {
|
|
4828
|
+
const internalDependencyVersion = dependencies[missingPackage] ?? detectDependencyVersion(missingPackage);
|
|
4750
4829
|
if (internalDependencyVersion) {
|
|
4751
|
-
dependencies2[
|
|
4830
|
+
dependencies2[missingPackage] = stripWorkspaceFromVersion(internalDependencyVersion);
|
|
4752
4831
|
}
|
|
4753
4832
|
}
|
|
4833
|
+
for (const [packageName, version2] of Object.entries(resolvedPackageVersions)) {
|
|
4834
|
+
dependencies2[packageName] = version2;
|
|
4835
|
+
}
|
|
4754
4836
|
if (config.additionalPackages) {
|
|
4755
4837
|
for (const packageName of config.additionalPackages) {
|
|
4756
4838
|
if (dependencies2[packageName]) {
|