@trigger.dev/build 0.0.0-prerelease-20240823132052

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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/commonjs/extensions/audioWaveform.d.ts +6 -0
  4. package/dist/commonjs/extensions/audioWaveform.js +45 -0
  5. package/dist/commonjs/extensions/audioWaveform.js.map +1 -0
  6. package/dist/commonjs/extensions/core/additionalFiles.d.ts +5 -0
  7. package/dist/commonjs/extensions/core/additionalFiles.js +64 -0
  8. package/dist/commonjs/extensions/core/additionalFiles.js.map +1 -0
  9. package/dist/commonjs/extensions/core/additionalPackages.d.ts +15 -0
  10. package/dist/commonjs/extensions/core/additionalPackages.js +77 -0
  11. package/dist/commonjs/extensions/core/additionalPackages.js.map +1 -0
  12. package/dist/commonjs/extensions/core/syncEnvVars.d.ts +16 -0
  13. package/dist/commonjs/extensions/core/syncEnvVars.js +129 -0
  14. package/dist/commonjs/extensions/core/syncEnvVars.js.map +1 -0
  15. package/dist/commonjs/extensions/core.d.ts +3 -0
  16. package/dist/commonjs/extensions/core.js +20 -0
  17. package/dist/commonjs/extensions/core.js.map +1 -0
  18. package/dist/commonjs/extensions/prisma.d.ts +19 -0
  19. package/dist/commonjs/extensions/prisma.js +130 -0
  20. package/dist/commonjs/extensions/prisma.js.map +1 -0
  21. package/dist/commonjs/extensions/typescript.d.ts +5 -0
  22. package/dist/commonjs/extensions/typescript.js +48 -0
  23. package/dist/commonjs/extensions/typescript.js.map +1 -0
  24. package/dist/commonjs/index.d.ts +1 -0
  25. package/dist/commonjs/index.js +3 -0
  26. package/dist/commonjs/index.js.map +1 -0
  27. package/dist/commonjs/package.json +3 -0
  28. package/dist/commonjs/version.d.ts +1 -0
  29. package/dist/commonjs/version.js +5 -0
  30. package/dist/commonjs/version.js.map +1 -0
  31. package/dist/esm/extensions/audioWaveform.d.ts +6 -0
  32. package/dist/esm/extensions/audioWaveform.js +42 -0
  33. package/dist/esm/extensions/audioWaveform.js.map +1 -0
  34. package/dist/esm/extensions/core/additionalFiles.d.ts +5 -0
  35. package/dist/esm/extensions/core/additionalFiles.js +61 -0
  36. package/dist/esm/extensions/core/additionalFiles.js.map +1 -0
  37. package/dist/esm/extensions/core/additionalPackages.d.ts +15 -0
  38. package/dist/esm/extensions/core/additionalPackages.js +74 -0
  39. package/dist/esm/extensions/core/additionalPackages.js.map +1 -0
  40. package/dist/esm/extensions/core/syncEnvVars.d.ts +16 -0
  41. package/dist/esm/extensions/core/syncEnvVars.js +126 -0
  42. package/dist/esm/extensions/core/syncEnvVars.js.map +1 -0
  43. package/dist/esm/extensions/core.d.ts +3 -0
  44. package/dist/esm/extensions/core.js +4 -0
  45. package/dist/esm/extensions/core.js.map +1 -0
  46. package/dist/esm/extensions/prisma.d.ts +19 -0
  47. package/dist/esm/extensions/prisma.js +122 -0
  48. package/dist/esm/extensions/prisma.js.map +1 -0
  49. package/dist/esm/extensions/typescript.d.ts +5 -0
  50. package/dist/esm/extensions/typescript.js +42 -0
  51. package/dist/esm/extensions/typescript.js.map +1 -0
  52. package/dist/esm/index.d.ts +1 -0
  53. package/dist/esm/index.js +2 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/package.json +3 -0
  56. package/dist/esm/version.d.ts +1 -0
  57. package/dist/esm/version.js +2 -0
  58. package/dist/esm/version.js.map +1 -0
  59. package/package.json +119 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Trigger.dev
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Official TypeScript SDK for Trigger.dev
2
+
3
+ View the full documentation for the [here](https://trigger.dev/docs)
@@ -0,0 +1,6 @@
1
+ import { BuildExtension } from "@trigger.dev/core/v3/build";
2
+ export type AudioWaveformOptions = {
3
+ version?: string;
4
+ checksum?: string;
5
+ };
6
+ export declare function audioWaveform(options?: AudioWaveformOptions): BuildExtension;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioWaveform = audioWaveform;
4
+ const AUDIOWAVEFORM_VERSION = "1.10.1";
5
+ const AUDIOWAVEFORM_CHECKSUM = "sha256:00b41ea4d6e7a5b4affcfe4ac99951ec89da81a8cba40af19e9b98c3a8f9b4b8";
6
+ function audioWaveform(options = {}) {
7
+ return new AudioWaveformExtension();
8
+ }
9
+ class AudioWaveformExtension {
10
+ options;
11
+ name = "AudioWaveformExtension";
12
+ constructor(options = {}) {
13
+ this.options = options;
14
+ }
15
+ async onBuildComplete(context, manifest) {
16
+ if (context.target === "dev") {
17
+ return;
18
+ }
19
+ const opts = this.options.version
20
+ ? {
21
+ version: this.options.version,
22
+ checksum: this.options.checksum,
23
+ }
24
+ : {
25
+ version: AUDIOWAVEFORM_VERSION,
26
+ checksum: AUDIOWAVEFORM_CHECKSUM,
27
+ };
28
+ context.logger.debug("Adding audiowaveform to the build", {
29
+ ...opts,
30
+ });
31
+ const instructions = [
32
+ `ADD ${opts.checksum ? `--checksum=${opts.checksum}` : ""} https://github.com/bbc/audiowaveform/releases/download/${opts.version}/audiowaveform_${opts.version}-1-12_amd64.deb .`,
33
+ `RUN dpkg -i audiowaveform_${opts.version}-1-12_amd64.deb || true`,
34
+ `RUN rm audiowaveform*.deb`,
35
+ ];
36
+ context.addLayer({
37
+ id: "audiowaveform",
38
+ image: {
39
+ pkgs: ["sox"],
40
+ instructions,
41
+ },
42
+ });
43
+ }
44
+ }
45
+ //# sourceMappingURL=audioWaveform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioWaveform.js","sourceRoot":"","sources":["../../../src/extensions/audioWaveform.ts"],"names":[],"mappings":";;AAYA,sCAEC;AAND,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AACvC,MAAM,sBAAsB,GAC1B,yEAAyE,CAAC;AAE5E,SAAgB,aAAa,CAAC,UAAgC,EAAE;IAC9D,OAAO,IAAI,sBAAsB,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,sBAAsB;IAGN;IAFJ,IAAI,GAAG,wBAAwB,CAAC;IAEhD,YAAoB,UAAgC,EAAE;QAAlC,YAAO,GAAP,OAAO,CAA2B;IAAG,CAAC;IAE1D,KAAK,CAAC,eAAe,CAAC,OAAqB,EAAE,QAAuB;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YAC/B,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;aAChC;YACH,CAAC,CAAC;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,sBAAsB;aACjC,CAAC;QAEN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YACxD,GAAG,IAAI;SACR,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG;YACnB,OACE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAClD,2DAA2D,IAAI,CAAC,OAAO,kBACrE,IAAI,CAAC,OACP,mBAAmB;YACnB,6BAA6B,IAAI,CAAC,OAAO,yBAAyB;YAClE,2BAA2B;SAC5B,CAAC;QAEF,OAAO,CAAC,QAAQ,CAAC;YACf,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK,CAAC;gBACb,YAAY;aACb;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { BuildExtension } from "@trigger.dev/core/v3/build";
2
+ export type AdditionalFilesOptions = {
3
+ files: string[];
4
+ };
5
+ export declare function additionalFiles(options: AdditionalFilesOptions): BuildExtension;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.additionalFiles = additionalFiles;
4
+ const node_path_1 = require("node:path");
5
+ const tinyglobby_1 = require("tinyglobby");
6
+ const promises_1 = require("node:fs/promises");
7
+ function additionalFiles(options) {
8
+ return {
9
+ name: "additionalFiles",
10
+ async onBuildComplete(context, manifest) {
11
+ // Copy any static assets to the destination
12
+ const staticAssets = await findStaticAssetFiles(options.files ?? [], manifest.outputPath, {
13
+ cwd: context.workingDir,
14
+ });
15
+ for (const { assets, matcher } of staticAssets) {
16
+ if (assets.length === 0) {
17
+ console.warn("No files found for matcher", matcher);
18
+ }
19
+ }
20
+ await copyStaticAssets(staticAssets);
21
+ },
22
+ };
23
+ }
24
+ async function findStaticAssetFiles(matchers, destinationPath, options) {
25
+ const result = [];
26
+ for (const matcher of matchers) {
27
+ const assets = await findStaticAssetsForMatcher(matcher, destinationPath, options);
28
+ result.push({ matcher, assets });
29
+ }
30
+ return result;
31
+ }
32
+ async function findStaticAssetsForMatcher(matcher, destinationPath, options) {
33
+ const result = [];
34
+ const files = await (0, tinyglobby_1.glob)({
35
+ patterns: [matcher],
36
+ cwd: options?.cwd,
37
+ ignore: options?.ignore ?? [],
38
+ onlyFiles: true,
39
+ absolute: true,
40
+ });
41
+ let matches = 0;
42
+ for (const file of files) {
43
+ matches++;
44
+ const pathInsideDestinationDir = (0, node_path_1.relative)(options?.cwd ?? process.cwd(), file)
45
+ .split(node_path_1.posix.sep)
46
+ .filter((p) => p !== "..")
47
+ .join(node_path_1.posix.sep);
48
+ const relativeDestinationPath = (0, node_path_1.join)(destinationPath, pathInsideDestinationDir);
49
+ result.push({
50
+ source: file,
51
+ destination: relativeDestinationPath,
52
+ });
53
+ }
54
+ return result;
55
+ }
56
+ async function copyStaticAssets(staticAssetFiles) {
57
+ for (const { assets } of staticAssetFiles) {
58
+ for (const { source, destination } of assets) {
59
+ await (0, promises_1.mkdir)((0, node_path_1.dirname)(destination), { recursive: true });
60
+ await (0, promises_1.copyFile)(source, destination);
61
+ }
62
+ }
63
+ }
64
+ //# sourceMappingURL=additionalFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"additionalFiles.js","sourceRoot":"","sources":["../../../../src/extensions/core/additionalFiles.ts"],"names":[],"mappings":";;AASA,0CAkBC;AA3BD,yCAA2D;AAC3D,2CAAkC;AAClC,+CAAmD;AAOnD,SAAgB,eAAe,CAAC,OAA+B;IAC7D,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ;YACrC,4CAA4C;YAC5C,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE;gBACxF,GAAG,EAAE,OAAO,CAAC,UAAU;aACxB,CAAC,CAAC;YAEH,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AASD,KAAK,UAAU,oBAAoB,CACjC,QAAkB,EAClB,eAAuB,EACvB,OAA6C;IAE7C,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,eAAuB,EACvB,OAA6C;IAE7C,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAI,EAAC;QACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;QAC7B,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;QAEV,MAAM,wBAAwB,GAAG,IAAA,oBAAQ,EAAC,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;aAC3E,KAAK,CAAC,iBAAK,CAAC,GAAG,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACzB,IAAI,CAAC,iBAAK,CAAC,GAAG,CAAC,CAAC;QAEnB,MAAM,uBAAuB,GAAG,IAAA,gBAAI,EAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;QAEhF,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,uBAAuB;SACrC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,gBAAuC;IACrE,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAC1C,KAAK,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { BuildExtension } from "@trigger.dev/core/v3/build";
2
+ export type AdditionalPackagesOptions = {
3
+ packages: string[];
4
+ };
5
+ /**
6
+ * Add additional packages to the build when deploying, useful when you are using the bin command of a package by shelling out to it.
7
+ * You can pass the name of the package, and it's version will be resolved from the locally installed version. If the version cannot be automatically resolved, it will resolve to the latest version, or you can specify the version using `@` syntax.
8
+ * @example
9
+ *
10
+ * ```ts
11
+ * additionalPackages({
12
+ * packages: ["wrangler", "prisma@3.0.0"]
13
+ * });
14
+ */
15
+ export declare function additionalPackages(options: AdditionalPackagesOptions): BuildExtension;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.additionalPackages = additionalPackages;
4
+ const node_path_1 = require("node:path");
5
+ const pkg_types_1 = require("pkg-types");
6
+ /**
7
+ * Add additional packages to the build when deploying, useful when you are using the bin command of a package by shelling out to it.
8
+ * You can pass the name of the package, and it's version will be resolved from the locally installed version. If the version cannot be automatically resolved, it will resolve to the latest version, or you can specify the version using `@` syntax.
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * additionalPackages({
13
+ * packages: ["wrangler", "prisma@3.0.0"]
14
+ * });
15
+ */
16
+ function additionalPackages(options) {
17
+ return {
18
+ name: "additionalPackages",
19
+ async onBuildStart(context) {
20
+ if (context.target !== "deploy") {
21
+ return;
22
+ }
23
+ const dependencies = {};
24
+ for (const pkg of options.packages) {
25
+ const { name, version } = parsePackageName(pkg);
26
+ if (version) {
27
+ dependencies[name] = version;
28
+ }
29
+ else {
30
+ try {
31
+ // Lets try and resolve the version from the local package.json
32
+ const modulePath = await context.resolvePath(name);
33
+ if (!modulePath) {
34
+ dependencies[name] = "latest";
35
+ continue;
36
+ }
37
+ console.log("Resolved module path", { modulePath });
38
+ const packageJSON = await (0, pkg_types_1.readPackageJSON)((0, node_path_1.dirname)(modulePath));
39
+ if (packageJSON.version) {
40
+ dependencies[name] = packageJSON.version;
41
+ }
42
+ else {
43
+ console.warn(`Could not resolve version for package ${name}, defaulting to latest`);
44
+ dependencies[name] = "latest";
45
+ }
46
+ }
47
+ catch (error) {
48
+ console.warn(`Could not resolve version for package ${name}, defaulting to latest`, error);
49
+ dependencies[name] = "latest";
50
+ }
51
+ }
52
+ }
53
+ context.addLayer({
54
+ id: "additionalPackages",
55
+ dependencies,
56
+ });
57
+ },
58
+ };
59
+ }
60
+ // This needs to handle packages like @taskhero/config@1.0.0, wrangler, wrangler@1.0.0, @taskhero/config, etc.
61
+ function parsePackageName(pkg) {
62
+ // Regular expression to match package names and versions
63
+ const regex = /^(@?[a-z0-9-~][a-z0-9-._~]*\/)?([a-z0-9-~][a-z0-9-._~]*)(@(.+))?$/i;
64
+ const match = pkg.match(regex);
65
+ if (!match) {
66
+ throw new Error(`Invalid package name: ${pkg}`);
67
+ }
68
+ const [, scope, packageName, , version] = match;
69
+ if (!packageName) {
70
+ throw new Error(`Invalid package name: ${pkg}`);
71
+ }
72
+ return {
73
+ name: scope ? `${scope}${packageName}` : packageName,
74
+ version,
75
+ };
76
+ }
77
+ //# sourceMappingURL=additionalPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"additionalPackages.js","sourceRoot":"","sources":["../../../../src/extensions/core/additionalPackages.ts"],"names":[],"mappings":";;AAkBA,gDAqDC;AAtED,yCAAoC;AACpC,yCAA4C;AAM5C;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,KAAK,CAAC,YAAY,CAAC,OAAO;YACxB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAA2B,EAAE,CAAC;YAEhD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAEhD,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,+DAA+D;wBAC/D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAEnD,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;4BAC9B,SAAS;wBACX,CAAC;wBAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBAEpD,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAe,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,CAAC;wBAE/D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxB,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CAAC,yCAAyC,IAAI,wBAAwB,CAAC,CAAC;4BAEpF,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;wBAChC,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,yCAAyC,IAAI,wBAAwB,EACrE,KAAK,CACN,CAAC;wBAEF,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC;gBACf,EAAE,EAAE,oBAAoB;gBACxB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,SAAS,gBAAgB,CAAC,GAAW;IAInC,yDAAyD;IACzD,MAAM,KAAK,GAAG,oEAAoE,CAAC;IACnF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,AAAD,EAAG,OAAO,CAAC,GAAG,KAAK,CAAC;IAEhD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW;QACpD,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BuildExtension } from "@trigger.dev/core/v3/build";
2
+ export type SyncEnvVarsBody = Record<string, string> | Array<{
3
+ name: string;
4
+ value: string;
5
+ }>;
6
+ export type SyncEnvVarsResult = SyncEnvVarsBody | Promise<void | undefined | SyncEnvVarsBody> | void | undefined;
7
+ export type SyncEnvVarsParams = {
8
+ projectRef: string;
9
+ environment: string;
10
+ env: Record<string, string>;
11
+ };
12
+ export type SyncEnvVarsFunction = (params: SyncEnvVarsParams) => SyncEnvVarsResult;
13
+ export type SyncEnvVarsOptions = {
14
+ override?: boolean;
15
+ };
16
+ export declare function syncEnvVars(fn: SyncEnvVarsFunction, options?: SyncEnvVarsOptions): BuildExtension;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncEnvVars = syncEnvVars;
4
+ const UNSYNCABLE_ENV_VARS = [
5
+ "PWD",
6
+ "MallocNanoZone",
7
+ "USER",
8
+ "LANG",
9
+ "__CFBundleIdentifier",
10
+ "COMMAND_MODE",
11
+ "PATH",
12
+ "LOGNAME",
13
+ "SSLKEYLOGFILE",
14
+ "SSH_AUTH_SOCK",
15
+ "SHLVL",
16
+ "SHELL",
17
+ "HOME",
18
+ "__CF_USER_TEXT_ENCODING",
19
+ "XPC_SERVICE_NAME",
20
+ "XPC_FLAGS",
21
+ "ORIGINAL_XDG_CURRENT_DESKTOP",
22
+ "TERM_PROGRAM",
23
+ "TERM_PROGRAM_VERSION",
24
+ "COLORTERM",
25
+ "GIT_ASKPASS",
26
+ "VSCODE_GIT_ASKPASS_NODE",
27
+ "VSCODE_GIT_ASKPASS_EXTRA_ARGS",
28
+ "VSCODE_GIT_ASKPASS_MAIN",
29
+ "VSCODE_GIT_IPC_HANDLE",
30
+ "VSCODE_INJECTION",
31
+ "ZDOTDIR",
32
+ "USER_ZDOTDIR",
33
+ "TERM",
34
+ "OLDPWD",
35
+ "HOMEBREW_PREFIX",
36
+ "HOMEBREW_CELLAR",
37
+ "HOMEBREW_REPOSITORY",
38
+ "MANPATH",
39
+ "INFOPATH",
40
+ "__GIT_PROMPT_DIR",
41
+ "GIT_PROMPT_EXECUTABLE",
42
+ "NVM_DIR",
43
+ "NVM_CD_FLAGS",
44
+ "NVM_BIN",
45
+ "NVM_INC",
46
+ "BUN_INSTALL",
47
+ "DENO_INSTALL",
48
+ "GITHUB_TOKEN",
49
+ "TMPDIR",
50
+ "_",
51
+ ];
52
+ function syncEnvVars(fn, options) {
53
+ return {
54
+ name: "SyncEnvVarsExtension",
55
+ async onBuildComplete(context, manifest) {
56
+ if (context.target === "dev") {
57
+ return;
58
+ }
59
+ const $spinner = context.logger.spinner("Invoking syncEnvVars callback");
60
+ const result = await callSyncEnvVarsFn(fn, manifest.deploy.env ?? {}, manifest.environment, context);
61
+ if (!result) {
62
+ $spinner.stop("No env vars detected");
63
+ return;
64
+ }
65
+ const env = Object.entries(result).reduce((acc, [key, value]) => {
66
+ if (UNSYNCABLE_ENV_VARS.includes(key)) {
67
+ return acc;
68
+ }
69
+ acc[key] = value;
70
+ return acc;
71
+ }, {});
72
+ const numberOfEnvVars = Object.keys(env).length;
73
+ if (numberOfEnvVars === 0) {
74
+ $spinner.stop("No env vars detected");
75
+ return;
76
+ }
77
+ else if (numberOfEnvVars === 1) {
78
+ $spinner.stop(`Found 1 env var`);
79
+ }
80
+ else {
81
+ $spinner.stop(`Found ${numberOfEnvVars} env vars to sync`);
82
+ }
83
+ context.addLayer({
84
+ id: "sync-env-vars",
85
+ deploy: {
86
+ env,
87
+ override: options?.override ?? true,
88
+ },
89
+ });
90
+ },
91
+ };
92
+ }
93
+ async function callSyncEnvVarsFn(syncEnvVarsFn, env, environment, context) {
94
+ if (syncEnvVarsFn && typeof syncEnvVarsFn === "function") {
95
+ let resolvedEnvVars = {};
96
+ let result;
97
+ try {
98
+ result = await syncEnvVarsFn({
99
+ projectRef: context.config.project,
100
+ environment,
101
+ env,
102
+ });
103
+ }
104
+ catch (error) {
105
+ context.logger.warn("Error calling syncEnvVars function", error);
106
+ }
107
+ if (!result) {
108
+ return;
109
+ }
110
+ if (Array.isArray(result)) {
111
+ for (const item of result) {
112
+ if (typeof item === "object" &&
113
+ item !== null &&
114
+ "name" in item &&
115
+ "value" in item &&
116
+ typeof item.name === "string" &&
117
+ typeof item.value === "string") {
118
+ resolvedEnvVars[item.name] = item.value;
119
+ }
120
+ }
121
+ }
122
+ else if (result) {
123
+ resolvedEnvVars = result;
124
+ }
125
+ return resolvedEnvVars;
126
+ }
127
+ return;
128
+ }
129
+ //# sourceMappingURL=syncEnvVars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncEnvVars.js","sourceRoot":"","sources":["../../../../src/extensions/core/syncEnvVars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./core/additionalFiles.js";
2
+ export * from "./core/additionalPackages.js";
3
+ export * from "./core/syncEnvVars.js";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./core/additionalFiles.js"), exports);
18
+ __exportStar(require("./core/additionalPackages.js"), exports);
19
+ __exportStar(require("./core/syncEnvVars.js"), exports);
20
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/extensions/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC"}
@@ -0,0 +1,19 @@
1
+ import { BuildManifest, BuildTarget } from "@trigger.dev/core/v3";
2
+ import { BuildContext, BuildExtension } from "@trigger.dev/core/v3/build";
3
+ export type PrismaExtensionOptions = {
4
+ schema: string;
5
+ migrate?: boolean;
6
+ version?: string;
7
+ directUrlEnvVarName?: string;
8
+ };
9
+ export declare function prismaExtension(options: PrismaExtensionOptions): PrismaExtension;
10
+ export declare class PrismaExtension implements BuildExtension {
11
+ private options;
12
+ moduleExternals: string[];
13
+ readonly name = "PrismaExtension";
14
+ private _resolvedSchemaPath?;
15
+ constructor(options: PrismaExtensionOptions);
16
+ externalsForTarget(target: BuildTarget): string[];
17
+ onBuildStart(context: BuildContext): Promise<void>;
18
+ onBuildComplete(context: BuildContext, manifest: BuildManifest): Promise<void>;
19
+ }
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PrismaExtension = void 0;
7
+ exports.prismaExtension = prismaExtension;
8
+ const build_1 = require("@trigger.dev/core/v3/build");
9
+ const node_assert_1 = __importDefault(require("node:assert"));
10
+ const node_fs_1 = require("node:fs");
11
+ const promises_1 = require("node:fs/promises");
12
+ const node_path_1 = require("node:path");
13
+ const BINARY_TARGET = "linux-arm64-openssl-3.0.x";
14
+ function prismaExtension(options) {
15
+ return new PrismaExtension(options);
16
+ }
17
+ class PrismaExtension {
18
+ options;
19
+ moduleExternals;
20
+ name = "PrismaExtension";
21
+ _resolvedSchemaPath;
22
+ constructor(options) {
23
+ this.options = options;
24
+ this.moduleExternals = ["@prisma/client", "@prisma/engines"];
25
+ }
26
+ externalsForTarget(target) {
27
+ if (target === "dev") {
28
+ return [];
29
+ }
30
+ return this.moduleExternals;
31
+ }
32
+ async onBuildStart(context) {
33
+ if (context.target === "dev") {
34
+ return;
35
+ }
36
+ // Resolve the path to the prisma schema, relative to the config.directory
37
+ this._resolvedSchemaPath = (0, node_path_1.resolve)(context.workingDir, this.options.schema);
38
+ context.logger.debug(`Resolved the prisma schema to: ${this._resolvedSchemaPath}`);
39
+ // Check that the prisma schema exists
40
+ if (!(0, node_fs_1.existsSync)(this._resolvedSchemaPath)) {
41
+ throw new Error(`PrismaExtension could not find the prisma schema at ${this._resolvedSchemaPath}. Make sure the path is correct: ${this.options.schema}, relative to the working dir ${context.workingDir}`);
42
+ }
43
+ }
44
+ async onBuildComplete(context, manifest) {
45
+ if (context.target === "dev") {
46
+ return;
47
+ }
48
+ (0, node_assert_1.default)(this._resolvedSchemaPath, "Resolved schema path is not set");
49
+ context.logger.debug("Looking for @prisma/client in the externals", {
50
+ externals: manifest.externals,
51
+ });
52
+ const prismaExternal = manifest.externals?.find((external) => external.name === "@prisma/client");
53
+ const version = prismaExternal?.version ?? this.options.version;
54
+ if (!version) {
55
+ throw new Error(`PrismaExtension could not determine the version of @prisma/client. It's possible that the @prisma/client was not used in the project. If this isn't the case, please provide a version in the PrismaExtension options.`);
56
+ }
57
+ context.logger.debug(`PrismaExtension is generating the Prisma client for version ${version}`);
58
+ const usingSchemaFolder = (0, node_path_1.dirname)(this._resolvedSchemaPath).endsWith("schema");
59
+ const commands = [];
60
+ let prismaDir;
61
+ if (usingSchemaFolder) {
62
+ const schemaDir = (0, node_path_1.dirname)(this._resolvedSchemaPath);
63
+ prismaDir = (0, node_path_1.dirname)(schemaDir);
64
+ context.logger.debug(`Using the schema folder: ${schemaDir}`);
65
+ // Find all the files in schemaDir that end with .prisma (excluding the schema.prisma file)
66
+ const prismaFiles = await (0, promises_1.readdir)(schemaDir).then((files) => files.filter((file) => file.endsWith(".prisma")));
67
+ context.logger.debug(`Found prisma files in the schema folder`, {
68
+ prismaFiles,
69
+ });
70
+ const schemaDestinationPath = (0, node_path_1.join)(manifest.outputPath, "prisma", "schema");
71
+ const allPrismaFiles = [...prismaFiles];
72
+ for (const file of allPrismaFiles) {
73
+ const destination = (0, node_path_1.join)(schemaDestinationPath, file);
74
+ const source = (0, node_path_1.join)(schemaDir, file);
75
+ context.logger.debug(`Copying the prisma schema from ${source} to ${destination}`);
76
+ await (0, promises_1.cp)(source, destination);
77
+ }
78
+ commands.push(`${(0, build_1.binaryForRuntime)(manifest.runtime)} node_modules/prisma/build/index.js generate` // Don't add the --schema flag or this will fail
79
+ );
80
+ }
81
+ else {
82
+ prismaDir = (0, node_path_1.dirname)(this._resolvedSchemaPath);
83
+ // Now we need to add a layer that:
84
+ // Copies the prisma schema to the build outputPath
85
+ // Adds the `prisma` CLI dependency to the dependencies
86
+ // Adds the `prisma generate` command, which generates the Prisma client
87
+ const schemaDestinationPath = (0, node_path_1.join)(manifest.outputPath, "prisma", "schema.prisma");
88
+ // Copy the prisma schema to the build output path
89
+ context.logger.debug(`Copying the prisma schema from ${this._resolvedSchemaPath} to ${schemaDestinationPath}`);
90
+ await (0, promises_1.cp)(this._resolvedSchemaPath, schemaDestinationPath);
91
+ commands.push(`${(0, build_1.binaryForRuntime)(manifest.runtime)} node_modules/prisma/build/index.js generate --schema=./prisma/schema.prisma`);
92
+ }
93
+ const env = {};
94
+ if (this.options.migrate) {
95
+ // Copy the migrations directory to the build output path
96
+ const migrationsDir = (0, node_path_1.join)(prismaDir, "migrations");
97
+ const migrationsDestinationPath = (0, node_path_1.join)(manifest.outputPath, "prisma", "migrations");
98
+ context.logger.debug(`Copying the prisma migrations from ${migrationsDir} to ${migrationsDestinationPath}`);
99
+ await (0, promises_1.cp)(migrationsDir, migrationsDestinationPath, { recursive: true });
100
+ commands.push(`${(0, build_1.binaryForRuntime)(manifest.runtime)} node_modules/prisma/build/index.js migrate deploy`);
101
+ env.DATABASE_URL = manifest.deploy.env?.DATABASE_URL;
102
+ if (this.options.directUrlEnvVarName) {
103
+ env[this.options.directUrlEnvVarName] =
104
+ manifest.deploy.env?.[this.options.directUrlEnvVarName];
105
+ }
106
+ else {
107
+ env.DIRECT_URL = manifest.deploy.env?.DIRECT_URL;
108
+ }
109
+ }
110
+ context.logger.debug(`Adding the prisma layer with the following commands`, {
111
+ commands,
112
+ env,
113
+ dependencies: {
114
+ prisma: version,
115
+ },
116
+ });
117
+ context.addLayer({
118
+ id: "prisma",
119
+ commands,
120
+ dependencies: {
121
+ prisma: version,
122
+ },
123
+ build: {
124
+ env,
125
+ },
126
+ });
127
+ }
128
+ }
129
+ exports.PrismaExtension = PrismaExtension;
130
+ //# sourceMappingURL=prisma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../../src/extensions/prisma.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BuildExtension } from "@trigger.dev/core/v3/build";
2
+ export type EmitDecoratorMetadataOptions = {
3
+ path?: string;
4
+ };
5
+ export declare function emitDecoratorMetadata(options?: EmitDecoratorMetadataOptions): BuildExtension;