MCPcopy
hub / github.com/triggerdotdev/trigger.dev / updateCommand

Function updateCommand

packages/cli/src/commands/update.ts:17–107  ·  view source on GitHub ↗
(projectPath: string, anyOptions: any)

Source from the content-addressed store, hash-verified

15type NcuRunOptionTarget = "latest" | `@${string}`;
16
17export async function updateCommand(projectPath: string, anyOptions: any) {
18 const parseRes = UpdateCommandOptionsSchema.safeParse(anyOptions);
19 if (!parseRes.success) {
20 logger.error(parseRes.error.message);
21 return;
22 }
23 const options = parseRes.data;
24
25 const triggerDevPackage = "@trigger.dev";
26 const packageJSONPath = path.join(projectPath, "package.json");
27 const packageData = readJSONFileSync(packageJSONPath);
28
29 if (!packageData) {
30 return;
31 }
32
33 const packageMaps: { [k: string]: { type: string; version: string } } = {};
34 const packageDependencies = packageData.dependencies || {};
35 const packageDevDependencies = packageData.devDependencies || {};
36 Object.keys(packageDependencies).forEach((i) => {
37 packageMaps[i] = { type: "dependencies", version: packageDependencies[i] };
38 });
39 Object.keys(packageDevDependencies).forEach((i) => {
40 packageMaps[i] = {
41 type: "devDependencies",
42 version: packageDevDependencies[i],
43 };
44 });
45
46 const targetVersion = getTargetVersion(options.to);
47
48 // Use npm-check-updates to get updated dependency versions
49 const ncuOptions: RunOptions = {
50 packageData,
51 upgrade: true,
52 jsonUpgraded: true,
53 target: targetVersion,
54 };
55
56 // Can either give a json like package.json or just with deps and their new versions
57 const updatedDependencies: { [k: string]: any } | void = await run(ncuOptions);
58
59 if (!updatedDependencies) return;
60
61 const ifUpdatedDependenciesIsPackageJSON =
62 updatedDependencies.hasOwnProperty("dependencies") ||
63 updatedDependencies.hasOwnProperty("devDependencies");
64
65 const dependencies = updatedDependencies.dependencies || {};
66 const devDependencies = updatedDependencies.devDependencies || {};
67
68 const allDependencies = ifUpdatedDependenciesIsPackageJSON
69 ? Object.keys({ ...dependencies, ...devDependencies })
70 : Object.keys(updatedDependencies);
71
72 const triggerPackages = allDependencies.filter((pkg) => pkg.startsWith(triggerDevPackage));
73
74 // If there are no @trigger.dev packages

Callers 1

index.tsFile · 0.90

Calls 9

getTargetVersionFunction · 0.85
hasUserConfirmedFunction · 0.85
installDependenciesFunction · 0.85
keysMethod · 0.80
errorMethod · 0.65
filterMethod · 0.65
readJSONFileSyncFunction · 0.50
runFunction · 0.50
writeJSONFileFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…