@trigger.dev/build 4.5.2 → 4.5.4

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.
@@ -3,6 +3,7 @@ export type SyncEnvVarsBody = Record<string, string> | Array<{
3
3
  name: string;
4
4
  value: string;
5
5
  isParentEnv?: boolean;
6
+ isSecret?: boolean;
6
7
  }>;
7
8
  export type SyncEnvVarsResult = SyncEnvVarsBody | Promise<void | undefined | SyncEnvVarsBody> | void | undefined;
8
9
  export type SyncEnvVarsParams = {
@@ -65,7 +65,14 @@ function syncEnvVars(fn, options) {
65
65
  }
66
66
  const env = stripUnsyncableEnvVars(result.env);
67
67
  const parentEnv = result.parentEnv ? stripUnsyncableEnvVars(result.parentEnv) : undefined;
68
- const numberOfEnvVars = Object.keys(env).length + (parentEnv ? Object.keys(parentEnv).length : 0);
68
+ const secretEnv = result.secretEnv ? stripUnsyncableEnvVars(result.secretEnv) : undefined;
69
+ const secretParentEnv = result.secretParentEnv
70
+ ? stripUnsyncableEnvVars(result.secretParentEnv)
71
+ : undefined;
72
+ const numberOfEnvVars = Object.keys(env).length +
73
+ (parentEnv ? Object.keys(parentEnv).length : 0) +
74
+ (secretEnv ? Object.keys(secretEnv).length : 0) +
75
+ (secretParentEnv ? Object.keys(secretParentEnv).length : 0);
69
76
  if (numberOfEnvVars === 0) {
70
77
  $spinner.stop("No env vars detected");
71
78
  return;
@@ -81,6 +88,8 @@ function syncEnvVars(fn, options) {
81
88
  deploy: {
82
89
  env,
83
90
  parentEnv,
91
+ secretEnv,
92
+ secretParentEnv,
84
93
  override: options?.override ?? true,
85
94
  },
86
95
  });
@@ -129,10 +138,18 @@ async function callSyncEnvVarsFn(syncEnvVarsFn, env, environment, branch, contex
129
138
  typeof item.name === "string" &&
130
139
  typeof item.value === "string") {
131
140
  if (item.isParentEnv) {
132
- if (!resolvedEnvVars.parentEnv) {
133
- resolvedEnvVars.parentEnv = {};
141
+ if (item.isSecret) {
142
+ resolvedEnvVars.secretParentEnv ??= {};
143
+ resolvedEnvVars.secretParentEnv[item.name] = item.value;
134
144
  }
135
- resolvedEnvVars.parentEnv[item.name] = item.value;
145
+ else {
146
+ resolvedEnvVars.parentEnv ??= {};
147
+ resolvedEnvVars.parentEnv[item.name] = item.value;
148
+ }
149
+ }
150
+ else if (item.isSecret) {
151
+ resolvedEnvVars.secretEnv ??= {};
152
+ resolvedEnvVars.secretEnv[item.name] = item.value;
136
153
  }
137
154
  else {
138
155
  resolvedEnvVars.env[item.name] = item.value;
@@ -1 +1 @@
1
- {"version":3,"file":"syncEnvVars.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncEnvVars.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const syncEnvVars_js_1 = require("./syncEnvVars.js");
5
+ async function runExtension(fn) {
6
+ let captured;
7
+ const context = {
8
+ target: "deploy",
9
+ config: { project: "proj_test" },
10
+ logger: {
11
+ spinner: () => ({ stop: () => { } }),
12
+ },
13
+ addLayer: (layer) => {
14
+ captured = layer;
15
+ },
16
+ };
17
+ const manifest = {
18
+ deploy: { env: {} },
19
+ environment: "prod",
20
+ branch: undefined,
21
+ };
22
+ const extension = (0, syncEnvVars_js_1.syncEnvVars)(fn);
23
+ await extension.onBuildComplete(context, manifest);
24
+ return captured;
25
+ }
26
+ (0, vitest_1.describe)("syncEnvVars isSecret", () => {
27
+ (0, vitest_1.it)("partitions secret and non-secret vars across child and parent", async () => {
28
+ const layer = await runExtension(() => [
29
+ { name: "PUBLIC_URL", value: "https://example.com" },
30
+ { name: "API_KEY", value: "secret-key", isSecret: true },
31
+ { name: "PARENT_PUBLIC", value: "parent", isParentEnv: true },
32
+ { name: "PARENT_SECRET", value: "parent-secret", isParentEnv: true, isSecret: true },
33
+ ]);
34
+ (0, vitest_1.expect)(layer?.deploy?.env).toEqual({ PUBLIC_URL: "https://example.com" });
35
+ (0, vitest_1.expect)(layer?.deploy?.secretEnv).toEqual({ API_KEY: "secret-key" });
36
+ (0, vitest_1.expect)(layer?.deploy?.parentEnv).toEqual({ PARENT_PUBLIC: "parent" });
37
+ (0, vitest_1.expect)(layer?.deploy?.secretParentEnv).toEqual({ PARENT_SECRET: "parent-secret" });
38
+ });
39
+ (0, vitest_1.it)("treats the record form as all non-secret", async () => {
40
+ const layer = await runExtension(() => ({ DATABASE_URL: "postgres://..." }));
41
+ (0, vitest_1.expect)(layer?.deploy?.env).toEqual({ DATABASE_URL: "postgres://..." });
42
+ (0, vitest_1.expect)(layer?.deploy?.secretEnv).toBeUndefined();
43
+ (0, vitest_1.expect)(layer?.deploy?.secretParentEnv).toBeUndefined();
44
+ });
45
+ (0, vitest_1.it)("omits secret buckets when no var is marked secret", async () => {
46
+ const layer = await runExtension(() => [{ name: "PUBLIC_URL", value: "https://example.com" }]);
47
+ (0, vitest_1.expect)(layer?.deploy?.env).toEqual({ PUBLIC_URL: "https://example.com" });
48
+ (0, vitest_1.expect)(layer?.deploy?.secretEnv).toBeUndefined();
49
+ (0, vitest_1.expect)(layer?.deploy?.secretParentEnv).toBeUndefined();
50
+ });
51
+ });
52
+ //# sourceMappingURL=syncEnvVars.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncEnvVars.test.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "4.5.2";
4
+ exports.VERSION = "4.5.4";
5
5
  //# sourceMappingURL=version.js.map
@@ -3,6 +3,7 @@ export type SyncEnvVarsBody = Record<string, string> | Array<{
3
3
  name: string;
4
4
  value: string;
5
5
  isParentEnv?: boolean;
6
+ isSecret?: boolean;
6
7
  }>;
7
8
  export type SyncEnvVarsResult = SyncEnvVarsBody | Promise<void | undefined | SyncEnvVarsBody> | void | undefined;
8
9
  export type SyncEnvVarsParams = {
@@ -62,7 +62,14 @@ export function syncEnvVars(fn, options) {
62
62
  }
63
63
  const env = stripUnsyncableEnvVars(result.env);
64
64
  const parentEnv = result.parentEnv ? stripUnsyncableEnvVars(result.parentEnv) : undefined;
65
- const numberOfEnvVars = Object.keys(env).length + (parentEnv ? Object.keys(parentEnv).length : 0);
65
+ const secretEnv = result.secretEnv ? stripUnsyncableEnvVars(result.secretEnv) : undefined;
66
+ const secretParentEnv = result.secretParentEnv
67
+ ? stripUnsyncableEnvVars(result.secretParentEnv)
68
+ : undefined;
69
+ const numberOfEnvVars = Object.keys(env).length +
70
+ (parentEnv ? Object.keys(parentEnv).length : 0) +
71
+ (secretEnv ? Object.keys(secretEnv).length : 0) +
72
+ (secretParentEnv ? Object.keys(secretParentEnv).length : 0);
66
73
  if (numberOfEnvVars === 0) {
67
74
  $spinner.stop("No env vars detected");
68
75
  return;
@@ -78,6 +85,8 @@ export function syncEnvVars(fn, options) {
78
85
  deploy: {
79
86
  env,
80
87
  parentEnv,
88
+ secretEnv,
89
+ secretParentEnv,
81
90
  override: options?.override ?? true,
82
91
  },
83
92
  });
@@ -126,10 +135,18 @@ async function callSyncEnvVarsFn(syncEnvVarsFn, env, environment, branch, contex
126
135
  typeof item.name === "string" &&
127
136
  typeof item.value === "string") {
128
137
  if (item.isParentEnv) {
129
- if (!resolvedEnvVars.parentEnv) {
130
- resolvedEnvVars.parentEnv = {};
138
+ if (item.isSecret) {
139
+ resolvedEnvVars.secretParentEnv ??= {};
140
+ resolvedEnvVars.secretParentEnv[item.name] = item.value;
131
141
  }
132
- resolvedEnvVars.parentEnv[item.name] = item.value;
142
+ else {
143
+ resolvedEnvVars.parentEnv ??= {};
144
+ resolvedEnvVars.parentEnv[item.name] = item.value;
145
+ }
146
+ }
147
+ else if (item.isSecret) {
148
+ resolvedEnvVars.secretEnv ??= {};
149
+ resolvedEnvVars.secretEnv[item.name] = item.value;
133
150
  }
134
151
  else {
135
152
  resolvedEnvVars.env[item.name] = item.value;
@@ -1 +1 @@
1
- {"version":3,"file":"syncEnvVars.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncEnvVars.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { syncEnvVars } from "./syncEnvVars.js";
3
+ async function runExtension(fn) {
4
+ let captured;
5
+ const context = {
6
+ target: "deploy",
7
+ config: { project: "proj_test" },
8
+ logger: {
9
+ spinner: () => ({ stop: () => { } }),
10
+ },
11
+ addLayer: (layer) => {
12
+ captured = layer;
13
+ },
14
+ };
15
+ const manifest = {
16
+ deploy: { env: {} },
17
+ environment: "prod",
18
+ branch: undefined,
19
+ };
20
+ const extension = syncEnvVars(fn);
21
+ await extension.onBuildComplete(context, manifest);
22
+ return captured;
23
+ }
24
+ describe("syncEnvVars isSecret", () => {
25
+ it("partitions secret and non-secret vars across child and parent", async () => {
26
+ const layer = await runExtension(() => [
27
+ { name: "PUBLIC_URL", value: "https://example.com" },
28
+ { name: "API_KEY", value: "secret-key", isSecret: true },
29
+ { name: "PARENT_PUBLIC", value: "parent", isParentEnv: true },
30
+ { name: "PARENT_SECRET", value: "parent-secret", isParentEnv: true, isSecret: true },
31
+ ]);
32
+ expect(layer?.deploy?.env).toEqual({ PUBLIC_URL: "https://example.com" });
33
+ expect(layer?.deploy?.secretEnv).toEqual({ API_KEY: "secret-key" });
34
+ expect(layer?.deploy?.parentEnv).toEqual({ PARENT_PUBLIC: "parent" });
35
+ expect(layer?.deploy?.secretParentEnv).toEqual({ PARENT_SECRET: "parent-secret" });
36
+ });
37
+ it("treats the record form as all non-secret", async () => {
38
+ const layer = await runExtension(() => ({ DATABASE_URL: "postgres://..." }));
39
+ expect(layer?.deploy?.env).toEqual({ DATABASE_URL: "postgres://..." });
40
+ expect(layer?.deploy?.secretEnv).toBeUndefined();
41
+ expect(layer?.deploy?.secretParentEnv).toBeUndefined();
42
+ });
43
+ it("omits secret buckets when no var is marked secret", async () => {
44
+ const layer = await runExtension(() => [{ name: "PUBLIC_URL", value: "https://example.com" }]);
45
+ expect(layer?.deploy?.env).toEqual({ PUBLIC_URL: "https://example.com" });
46
+ expect(layer?.deploy?.secretEnv).toBeUndefined();
47
+ expect(layer?.deploy?.secretParentEnv).toBeUndefined();
48
+ });
49
+ });
50
+ //# sourceMappingURL=syncEnvVars.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncEnvVars.test.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const VERSION = "4.5.2";
1
+ export const VERSION = "4.5.4";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trigger.dev/build",
3
- "version": "4.5.2",
3
+ "version": "4.5.4",
4
4
  "description": "trigger.dev build extensions",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@prisma/config": "^6.10.0",
73
- "@trigger.dev/core": "4.5.2",
73
+ "@trigger.dev/core": "4.5.4",
74
74
  "mlly": "^1.7.1",
75
75
  "pkg-types": "^1.1.3",
76
76
  "resolve": "^1.22.8",
@@ -210,6 +210,7 @@
210
210
  "dev": "tshy --watch",
211
211
  "typecheck": "tsc --noEmit -p tsconfig.src.json",
212
212
  "update-version": "tsx ../../scripts/updateVersion.ts",
213
- "check-exports": "attw --pack ."
213
+ "check-exports": "attw --pack .",
214
+ "test": "vitest"
214
215
  }
215
216
  }