@prisma/compute-sdk 0.27.0 → 0.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"build-settings.d.ts","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQjE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CA8EzB;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QACnC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBzB;AAmBD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,MAAM,GACtB,MAAM,CAWR;AAED,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CAClC;AAwCD,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAwBtE"}
1
+ {"version":3,"file":"build-settings.d.ts","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQjE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgGzB;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QACnC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBzB;AAmBD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,MAAM,GACtB,MAAM,CAWR;AAED,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CAClC;AAwCD,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAwBtE"}
@@ -37,6 +37,16 @@ export async function resolveBuildSettings(options) {
37
37
  outputDirectorySource: outputRoot === ".next" ? "Next.js output" : "next.config distDir",
38
38
  };
39
39
  }
40
+ case "nestjs": {
41
+ const manifest = await readPackageManifest(options.appPath, options.signal);
42
+ const buildCommand = await resolveFrameworkBuildCommand(options.appPath, manifest, { command: "nest build", source: "NestJS default" }, options.signal);
43
+ return {
44
+ buildCommand: buildCommand.command,
45
+ buildCommandSource: buildCommand.source,
46
+ outputDirectory: "dist",
47
+ outputDirectorySource: "NestJS output",
48
+ };
49
+ }
40
50
  case "tanstack-start": {
41
51
  const manifest = await readPackageManifest(options.appPath, options.signal);
42
52
  const buildCommand = await resolveFrameworkBuildCommand(options.appPath, manifest, { command: "vite build", source: "TanStack Start default" }, options.signal);
@@ -1 +1 @@
1
- {"version":3,"file":"build-settings.js","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-settings.js","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAgB,WAAW,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAexB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAI1C;IACC,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,uEAAuE;QACvE,2CAA2C;QAC3C,KAAK,MAAM;YACT,OAAO;gBACL,YAAY,EAAE,YAAY;gBAC1B,kBAAkB,EAAE,cAAc;gBAClC,eAAe,EAAE,SAAS;gBAC1B,qBAAqB,EAAE,aAAa;aACrC,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,YAAY,EAAE,aAAa;gBAC3B,kBAAkB,EAAE,eAAe;gBACnC,eAAe,EAAE,MAAM;gBACvB,qBAAqB,EAAE,cAAc;aACtC,CAAC;QACJ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,4BAA4B,CACrD,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACpD,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAC5C,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAC;YACF,OAAO;gBACL,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;gBACpD,qBAAqB,EACnB,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB;aACpE,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,4BAA4B,CACrD,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,EACnD,OAAO,CAAC,MAAM,CACf,CAAC;YACF,OAAO;gBACL,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,eAAe,EAAE,MAAM;gBACvB,qBAAqB,EAAE,eAAe;aACvC,CAAC;QACJ,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,4BAA4B,CACrD,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAC3D,OAAO,CAAC,MAAM,CACf,CAAC;YACF,OAAO;gBACL,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,eAAe,EAAE,SAAS;gBAC1B,qBAAqB,EAAE,uBAAuB;aAC/C,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,4BAA4B,CACrD,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/B,OAAO,CAAC,MAAM,CACf,CAAC;YACF,OAAO;gBACL,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,eAAe,EAAE,GAAG;gBACpB,qBAAqB,EAAE,UAAU;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAUpD;IACC,MAAM,aAAa,GACjB,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;QACxC,OAAO,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5E,OAAO;QACL,YAAY,EACV,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YACtC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;YAC5B,CAAC,CAAE,QAA0B,CAAC,YAAY;QAC9C,kBAAkB,EAChB,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YACtC,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAE,QAA0B,CAAC,kBAAkB;QACpD,eAAe,EACb,OAAO,CAAC,UAAU,CAAC,eAAe;YACjC,QAA0B,CAAC,eAAe;QAC7C,qBAAqB,EACnB,OAAO,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS;YAC9C,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAE,QAA0B,CAAC,qBAAqB;KACxD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAe,EACf,QAAgC,EAChC,QAA2D,EAC3D,MAAoB;IAEpB,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,YAAY,CAAC,CAAC,CAAC,WAAW;YACrE,MAAM,EAAE,4BAA4B;SACrC,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,GAAG,KAAe;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qCAAqC,CACnD,eAAuB;IAEvB,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAOD,MAAM,qBAAqB,GAAG;IAC5B,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CACT,CAAC;AAEX,KAAK,UAAU,qBAAqB,CAClC,OAAe,EACf,MAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,MAAoB;IAEpB,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACrD,QAAQ,EAAE,MAAM;gBAChB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAI,GAAG,EAAmB,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO;YAC1B,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,wBAAwB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,MAAM,EACJ,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,IACE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/C,CAAC;AAID,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,EAAE,EAAE,IAAI,KAAK,YAAY,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,QAA8B;IAE9B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAClD,OAAO,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnD,IACE,UAAU,EAAE,IAAI,KAAK,sBAAsB;YAC3C,UAAU,CAAC,QAAQ,KAAK,GAAG,EAC3B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,QAA8B,EAC9B,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACnC,OAAO,mBAAmB,CACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC3B,QAAQ,EACR,KAAK,GAAG,CAAC,CACV,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoB;IAClD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OACE,OAAO,EAAE,IAAI,KAAK,gBAAgB;QAClC,OAAO,EAAE,IAAI,KAAK,uBAAuB;QACzC,OAAO,EAAE,IAAI,KAAK,qBAAqB,EACvC,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,IAAI,EAAE,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CACL,MAAM,EAAE,IAAI,KAAK,YAAY;QAC7B,MAAM,CAAC,IAAI,KAAK,QAAQ;QACxB,QAAQ,EAAE,IAAI,KAAK,YAAY;QAC/B,QAAQ,CAAC,IAAI,KAAK,SAAS,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,gBAAyB,EACzB,YAAoB;IAEpB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE,IAAI,KAAK,eAAe,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,iEAAiE;AACjE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,kBAAkB,GACrB,aAAa,CAwBf;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,kBAAkB,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAkCrE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,iEAAiE;AACjE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,kBAAkB,GACrB,aAAa,CA0Bf;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,kBAAkB,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAkCrE"}
package/dist/build.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { AstroBuild } from "./astro-build.js";
2
2
  import { BunBuild } from "./bun-build.js";
3
3
  import { FRAMEWORKS } from "./config/frameworks.js";
4
+ import { NestjsBuild } from "./nestjs-build.js";
4
5
  import { NextjsBuild } from "./nextjs-build.js";
5
6
  import { NuxtBuild } from "./nuxt-build.js";
6
7
  import { TanstackStartBuild } from "./tanstack-start-build.js";
@@ -33,6 +34,8 @@ export function createBuildStrategy(options) {
33
34
  return new NuxtBuild({ appPath, io });
34
35
  case "astro":
35
36
  return new AstroBuild({ appPath, io });
37
+ case "nestjs":
38
+ return new NestjsBuild({ appPath, buildSettings, io });
36
39
  case "tanstack-start":
37
40
  return new TanstackStartBuild({ appPath, buildSettings, io });
38
41
  case "bun":
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { ComputeFramework } from "./types.ts";
5
5
  * and prompts all query this table; adding a framework means adding one
6
6
  * entry here plus its build/run strategy implementation.
7
7
  */
8
- export type FrameworkBuildType = "nextjs" | "nuxt" | "astro" | "tanstack-start" | "bun";
8
+ export type FrameworkBuildType = "nextjs" | "nuxt" | "astro" | "nestjs" | "tanstack-start" | "bun";
9
9
  export interface FrameworkDescriptor {
10
10
  readonly key: ComputeFramework;
11
11
  readonly displayName: string;
@@ -30,7 +30,7 @@ export declare const NEXT_CONFIG_FILENAMES: readonly ["next.config.js", "next.co
30
30
  export declare const NUXT_CONFIG_FILENAMES: readonly ["nuxt.config.js", "nuxt.config.mjs", "nuxt.config.cjs", "nuxt.config.ts", "nuxt.config.mts"];
31
31
  export declare const ASTRO_CONFIG_FILENAMES: readonly ["astro.config.js", "astro.config.mjs", "astro.config.cjs", "astro.config.ts", "astro.config.mts"];
32
32
  export declare const FRAMEWORKS: readonly FrameworkDescriptor[];
33
- export declare const FRAMEWORK_KEYS: ("bun" | "nextjs" | "nuxt" | "astro" | "hono" | "tanstack-start")[];
33
+ export declare const FRAMEWORK_KEYS: ("bun" | "nextjs" | "nuxt" | "astro" | "hono" | "nestjs" | "tanstack-start")[];
34
34
  /**
35
35
  * Build types whose preview build consumes committed build settings. The
36
36
  * others (nuxt, astro) run their framework CLI and stage fixed output, so a
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/config/frameworks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,KAAK,CAAC;AAEV,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,iEAAiE;IACjE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,uGAAuG;IACvG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,qFAKxB,CAAC;AAEX,eAAO,MAAM,qBAAqB,wGAMxB,CAAC;AAEX,eAAO,MAAM,sBAAsB,6GAMzB,CAAC;AAGX,eAAO,MAAM,UAAU,EAAE,SAAS,mBAAmB,EA8EpD,CAAC;AAEF,eAAO,MAAM,cAAc,qEAA+C,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAIY,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,EAM/D,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAM9D,CAAC;AAkBF;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,kBAAkB,GAC5B,MAAM,CAMR;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAM5E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,qBAAqB,CAEhC"}
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/config/frameworks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,MAAM,GACN,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,KAAK,CAAC;AAEV,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,iEAAiE;IACjE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,uGAAuG;IACvG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,qFAKxB,CAAC;AAEX,eAAO,MAAM,qBAAqB,wGAMxB,CAAC;AAEX,eAAO,MAAM,sBAAsB,6GAMzB,CAAC;AAGX,eAAO,MAAM,UAAU,EAAE,SAAS,mBAAmB,EA0FpD,CAAC;AAEF,eAAO,MAAM,cAAc,gFAA+C,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAIY,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,EAM/D,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAM9D,CAAC;AAkBF;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,kBAAkB,GAC5B,MAAM,CAMR;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAM5E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,qBAAqB,CAEhC"}
@@ -68,6 +68,18 @@ export const FRAMEWORKS = [
68
68
  hasLocalDevServer: true,
69
69
  defaultHttpPort: 3000,
70
70
  },
71
+ {
72
+ key: "nestjs",
73
+ displayName: "NestJS",
74
+ buildType: "nestjs",
75
+ aliases: ["nestjs", "nest"],
76
+ detectPackages: ["@nestjs/core"],
77
+ detectConfigFiles: ["nest-cli.json"],
78
+ usesEntrypoint: false,
79
+ defaultEntrypoint: null,
80
+ hasLocalDevServer: false,
81
+ defaultHttpPort: 3000,
82
+ },
71
83
  {
72
84
  key: "tanstack-start",
73
85
  displayName: "TanStack Start",
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../src/config/frameworks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../src/config/frameworks.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * deploy graph (CLI, build-runner, scaffolding). It must stay free of
6
6
  * runtime dependencies so user config files can import it cheaply.
7
7
  */
8
- export declare const COMPUTE_FRAMEWORKS: readonly ["nextjs", "nuxt", "astro", "hono", "tanstack-start", "bun"];
8
+ export declare const COMPUTE_FRAMEWORKS: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "bun"];
9
9
  export type ComputeFramework = (typeof COMPUTE_FRAMEWORKS)[number];
10
10
  export interface ComputeEnvConfig {
11
11
  /** Dotenv file path(s) resolved relative to the config file directory. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,kBAAkB,uEAOrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAExE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,kBAAkB,iFAQrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAExE"}
@@ -10,6 +10,7 @@ export const COMPUTE_FRAMEWORKS = [
10
10
  "nuxt",
11
11
  "astro",
12
12
  "hono",
13
+ "nestjs",
13
14
  "tanstack-start",
14
15
  "bun",
15
16
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,KAAK;CACG,CAAC;AAiDX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,KAAK;CACG,CAAC;AAiDX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export type { ApiRequestError, DeployError, DestroyServiceError, DestroyVersionE
20
20
  export { ApiError, ArtifactError, AuthenticationError, BuildError, CancelledError, DestroyAggregateError, InvalidOptionsError, LogStreamError, MissingArgumentError, NoExistingVersionError, NoVersionsFoundError, TimeoutError, VersionFailedError, } from "./errors.ts";
21
21
  export type { LogRecord, LogStreamOptions, StreamLogsError, StreamRecord, StreamResult, TerminalRecord, } from "./log-stream.ts";
22
22
  export { streamLogs } from "./log-stream.ts";
23
+ export { NestjsBuild } from "./nestjs-build.ts";
23
24
  export { NextjsBuild } from "./nextjs-build.ts";
24
25
  export { NuxtBuild } from "./nuxt-build.ts";
25
26
  export { TanstackStartBuild } from "./tanstack-start-build.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export { ComputeClient } from "./compute-client.js";
14
14
  export { detectAppSchema } from "./detect-schema.js";
15
15
  export { ApiError, ArtifactError, AuthenticationError, BuildError, CancelledError, DestroyAggregateError, InvalidOptionsError, LogStreamError, MissingArgumentError, NoExistingVersionError, NoVersionsFoundError, TimeoutError, VersionFailedError, } from "./errors.js";
16
16
  export { streamLogs } from "./log-stream.js";
17
+ export { NestjsBuild } from "./nestjs-build.js";
17
18
  export { NextjsBuild } from "./nextjs-build.js";
18
19
  export { NuxtBuild } from "./nuxt-build.js";
19
20
  export { TanstackStartBuild } from "./tanstack-start-build.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EACL,GAAG,EACH,UAAU,EACV,iBAAiB,EACjB,EAAE,EAEF,WAAW,GACZ,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAGL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,SAAS,EACT,qCAAqC,EACrC,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAEL,eAAe,EAGf,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EACL,GAAG,EACH,UAAU,EACV,iBAAiB,EACjB,EAAE,EAEF,WAAW,GACZ,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAGL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,SAAS,EACT,qCAAqC,EACrC,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAEL,eAAe,EAGf,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type BuildSettings } from "./build-settings.ts";
2
+ import type { BuildArtifact, BuildStrategy } from "./build-strategy.ts";
3
+ import { type BuildCommandIo } from "./workspace.ts";
4
+ /**
5
+ * Build strategy for NestJS applications. Runs the user's build (so `nest build`
6
+ * and any `prisma generate` in the `build` script run), resolves the compiled
7
+ * entrypoint, then stages a lean artifact by file-tracing that entrypoint with
8
+ * `@vercel/nft`: it ships only the compiled output and the `node_modules` files
9
+ * actually reachable, not the full dependency tree. NestJS has no Next-style
10
+ * standalone output, so the trace is the lean equivalent that keeps the
11
+ * artifact under the compute runtime's disk ceiling.
12
+ */
13
+ export declare class NestjsBuild implements BuildStrategy {
14
+ #private;
15
+ constructor(options: {
16
+ appPath: string;
17
+ buildSettings?: BuildSettings;
18
+ io?: BuildCommandIo;
19
+ });
20
+ canBuild(signal?: AbortSignal): Promise<boolean>;
21
+ execute(signal?: AbortSignal): Promise<BuildArtifact>;
22
+ }
23
+ //# sourceMappingURL=nestjs-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs-build.d.ts","sourceRoot":"","sources":["../src/nestjs-build.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQxE,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,gBAAgB,CAAC;AAOxB;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,aAAa;;gBAKnC,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,EAAE,CAAC,EAAE,cAAc,CAAC;KACrB;IAMK,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhD,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CA2H5D"}
@@ -0,0 +1,317 @@
1
+ import { chmod, copyFile, lstat, mkdir, mkdtemp, readFile, readlink, rm, stat, symlink, } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { nodeFileTrace } from "@vercel/nft";
5
+ import { joinPosix, resolveBuildSettings, } from "./build-settings.js";
6
+ import { hasPackageDependency, hasRootFile, runPackageCli, } from "./build-strategy.js";
7
+ import { defaultHttpPortForBuildType } from "./config/frameworks.js";
8
+ import { resolveSourceRoot } from "./config/source-root.js";
9
+ import { readPackageManifest, runBuildCommand, } from "./workspace.js";
10
+ const NEST_CLI_FILENAME = "nest-cli.json";
11
+ /** Compiled entrypoints probed, in order, when config does not resolve one. */
12
+ const DEFAULT_COMPILED_ENTRYPOINTS = ["dist/src/main.js", "dist/main.js"];
13
+ /**
14
+ * Build strategy for NestJS applications. Runs the user's build (so `nest build`
15
+ * and any `prisma generate` in the `build` script run), resolves the compiled
16
+ * entrypoint, then stages a lean artifact by file-tracing that entrypoint with
17
+ * `@vercel/nft`: it ships only the compiled output and the `node_modules` files
18
+ * actually reachable, not the full dependency tree. NestJS has no Next-style
19
+ * standalone output, so the trace is the lean equivalent that keeps the
20
+ * artifact under the compute runtime's disk ceiling.
21
+ */
22
+ export class NestjsBuild {
23
+ #appPath;
24
+ #buildSettings;
25
+ #io;
26
+ constructor(options) {
27
+ this.#appPath = options.appPath;
28
+ this.#buildSettings = options.buildSettings;
29
+ this.#io = options.io;
30
+ }
31
+ async canBuild(signal) {
32
+ return ((await hasRootFile(this.#appPath, [NEST_CLI_FILENAME], signal)) ||
33
+ (await hasPackageDependency(this.#appPath, ["@nestjs/core"], signal)));
34
+ }
35
+ async execute(signal) {
36
+ signal?.throwIfAborted();
37
+ const settings = this.#buildSettings ??
38
+ (await resolveBuildSettings({
39
+ appPath: this.#appPath,
40
+ buildType: "nestjs",
41
+ signal,
42
+ }));
43
+ // `resolveBuildSettings` always returns a non-null `nest build` fallback, so
44
+ // route by source: a user `build` script runs as-is, the framework default
45
+ // goes through the launcher ladder (local bin -> npx -> bunx).
46
+ const usingFrameworkDefault = settings.buildCommand === null ||
47
+ settings.buildCommandSource === "NestJS default";
48
+ if (!usingFrameworkDefault && settings.buildCommand) {
49
+ await runBuildCommand({
50
+ appPath: this.#appPath,
51
+ command: settings.buildCommand,
52
+ failurePrefix: "NestJS",
53
+ env: this.#io?.env,
54
+ onOutput: this.#io?.onOutput,
55
+ signal,
56
+ });
57
+ }
58
+ else {
59
+ await runPackageCli({
60
+ appPath: this.#appPath,
61
+ cliName: "nest",
62
+ args: ["build"],
63
+ failurePrefix: "NestJS",
64
+ missingMessage: "Could not find the Nest CLI. Add a `build` script to package.json, install @nestjs/cli, or ensure npx/bunx is available.",
65
+ env: this.#io?.env,
66
+ onOutput: this.#io?.onOutput,
67
+ signal,
68
+ });
69
+ }
70
+ signal?.throwIfAborted();
71
+ const compiledEntry = await this.#resolveCompiledEntrypoint(signal);
72
+ const outDir = await mkdtemp(path.join(os.tmpdir(), "compute-build-"));
73
+ try {
74
+ const artifactDir = path.join(outDir, "app");
75
+ const entrypoint = await stageTracedArtifact({
76
+ appPath: this.#appPath,
77
+ artifactDir,
78
+ compiledEntry,
79
+ signal,
80
+ });
81
+ return {
82
+ directory: artifactDir,
83
+ entrypoint,
84
+ defaultPortMapping: { http: defaultHttpPortForBuildType("nestjs") },
85
+ cleanup: () => rm(outDir, { recursive: true, force: true }),
86
+ };
87
+ }
88
+ catch (error) {
89
+ await rm(outDir, { recursive: true, force: true });
90
+ throw error;
91
+ }
92
+ }
93
+ /**
94
+ * Resolves the compiled entrypoint relative to the app root, using posix
95
+ * separators. Prefers `package.json` `main`, then the path computed from
96
+ * `nest-cli.json` and the tsconfig `outDir`, then the common defaults.
97
+ */
98
+ async #resolveCompiledEntrypoint(signal) {
99
+ const candidates = [];
100
+ const fromMain = await this.#mainFieldEntrypoint(signal);
101
+ if (fromMain) {
102
+ candidates.push(fromMain);
103
+ }
104
+ const fromConfig = await this.#configuredCompiledEntrypoint(signal);
105
+ if (fromConfig) {
106
+ candidates.push(fromConfig);
107
+ }
108
+ candidates.push(...DEFAULT_COMPILED_ENTRYPOINTS);
109
+ for (const candidate of candidates) {
110
+ signal?.throwIfAborted();
111
+ const normalized = normalizeRelative(candidate);
112
+ if (!normalized) {
113
+ continue;
114
+ }
115
+ if (await isFile(path.join(this.#appPath, normalized))) {
116
+ return normalized;
117
+ }
118
+ }
119
+ throw new Error(`NestJS build did not produce a compiled entrypoint. Looked for ${candidates.join(", ")} under ${this.#appPath}. ` +
120
+ "Ensure `nest build` ran and check the `main` field, nest-cli.json, or tsconfig outDir.");
121
+ }
122
+ async #mainFieldEntrypoint(signal) {
123
+ const manifest = await readPackageManifest(this.#appPath, signal);
124
+ return typeof manifest?.main === "string" && manifest.main.trim().length > 0
125
+ ? manifest.main.trim()
126
+ : null;
127
+ }
128
+ async #configuredCompiledEntrypoint(signal) {
129
+ const nestCli = await readNestCliConfig(this.#appPath, signal);
130
+ const sourceRoot = nestCli.sourceRoot ?? "src";
131
+ const entryFile = nestCli.entryFile ?? "main";
132
+ const outDir = await readTsconfigOutDir(this.#appPath, signal);
133
+ const relativeEntry = path.posix.join(path.posix.relative(".", sourceRoot) || ".", `${entryFile}.js`);
134
+ return joinPosix(outDir, relativeEntry);
135
+ }
136
+ }
137
+ async function readNestCliConfig(appPath, signal) {
138
+ signal?.throwIfAborted();
139
+ let content;
140
+ try {
141
+ content = await readFile(path.join(appPath, NEST_CLI_FILENAME), {
142
+ encoding: "utf-8",
143
+ signal,
144
+ });
145
+ }
146
+ catch (error) {
147
+ if (signal?.aborted)
148
+ throw error;
149
+ return {};
150
+ }
151
+ try {
152
+ const parsed = JSON.parse(content);
153
+ return {
154
+ sourceRoot: typeof parsed.sourceRoot === "string" ? parsed.sourceRoot : undefined,
155
+ entryFile: typeof parsed.entryFile === "string" ? parsed.entryFile : undefined,
156
+ };
157
+ }
158
+ catch {
159
+ return {};
160
+ }
161
+ }
162
+ const TSCONFIG_FILENAMES = ["tsconfig.build.json", "tsconfig.json"];
163
+ /** Best-effort read of `compilerOptions.outDir`, defaulting to `dist`. */
164
+ async function readTsconfigOutDir(appPath, signal) {
165
+ for (const fileName of TSCONFIG_FILENAMES) {
166
+ signal?.throwIfAborted();
167
+ let content;
168
+ try {
169
+ content = await readFile(path.join(appPath, fileName), {
170
+ encoding: "utf-8",
171
+ signal,
172
+ });
173
+ }
174
+ catch (error) {
175
+ if (signal?.aborted)
176
+ throw error;
177
+ continue;
178
+ }
179
+ const outDir = parseTsconfigOutDir(content);
180
+ if (outDir) {
181
+ return outDir;
182
+ }
183
+ }
184
+ return "dist";
185
+ }
186
+ /** Reads `compilerOptions.outDir` from a tsconfig source, tolerating comments. */
187
+ function parseTsconfigOutDir(content) {
188
+ try {
189
+ const parsed = JSON.parse(stripJsonComments(content));
190
+ const outDir = parsed.compilerOptions?.outDir;
191
+ if (typeof outDir !== "string") {
192
+ return null;
193
+ }
194
+ return normalizeRelative(outDir);
195
+ }
196
+ catch {
197
+ return null;
198
+ }
199
+ }
200
+ /**
201
+ * Stages the compiled entrypoint and its transitive dependencies into
202
+ * `artifactDir` by tracing with `@vercel/nft`, then copying only the traced
203
+ * paths. Returns the artifact-root-relative entrypoint to run with `node`.
204
+ *
205
+ * The trace base is the source root, not the app dir, because nft ignores
206
+ * everything above `base`: in a workspace, deps hoisted to the repo root sit
207
+ * above the app and would be dropped, leaving the artifact with no usable
208
+ * `node_modules`. Tracing from the source root keeps the workspace-relative
209
+ * layout (e.g. `apps/api/dist/main.js` plus root and app-local `node_modules`),
210
+ * so `node <dir>/<entrypoint>` resolves deps by walking up. For a single-app
211
+ * repo the source root equals the app dir, so the entrypoint stays `dist/main.js`.
212
+ *
213
+ * The trace lists both the visible `node_modules/<pkg>` symlinks and the real
214
+ * files they resolve to (e.g. pnpm `.pnpm/<pkg>` / bun `.bun/<pkg>` stores), so
215
+ * symlinks are recreated verbatim and the store files are copied alongside.
216
+ */
217
+ async function stageTracedArtifact(options) {
218
+ const appPath = path.resolve(options.appPath);
219
+ const sourceRoot = await resolveSourceRoot(appPath, options.signal);
220
+ const entry = path.join(appPath, options.compiledEntry);
221
+ const entrypoint = path.posix.normalize(path.relative(sourceRoot, entry).split(path.sep).join("/"));
222
+ options.signal?.throwIfAborted();
223
+ const { fileList } = await nodeFileTrace([entry], { base: sourceRoot });
224
+ await mkdir(options.artifactDir, { recursive: true });
225
+ for (const relativePath of fileList) {
226
+ options.signal?.throwIfAborted();
227
+ await stageTracedPath(path.join(sourceRoot, relativePath), path.join(options.artifactDir, relativePath));
228
+ }
229
+ return entrypoint;
230
+ }
231
+ /** Copies one traced path, preserving symlinks and file mode. */
232
+ async function stageTracedPath(sourcePath, destinationPath) {
233
+ const info = await lstat(sourcePath).catch(() => null);
234
+ if (!info) {
235
+ return;
236
+ }
237
+ await mkdir(path.dirname(destinationPath), { recursive: true });
238
+ if (info.isSymbolicLink()) {
239
+ await symlink(await readlink(sourcePath), destinationPath);
240
+ return;
241
+ }
242
+ if (info.isFile()) {
243
+ await copyFile(sourcePath, destinationPath);
244
+ await chmod(destinationPath, info.mode);
245
+ }
246
+ }
247
+ function normalizeRelative(value) {
248
+ const raw = value.trim().replace(/\\/g, "/");
249
+ if (raw.length === 0) {
250
+ return null;
251
+ }
252
+ const normalized = path.posix.normalize(raw);
253
+ if (path.posix.isAbsolute(normalized) ||
254
+ normalized === ".." ||
255
+ normalized.startsWith("../")) {
256
+ return null;
257
+ }
258
+ return normalized === "." ? null : normalized;
259
+ }
260
+ /**
261
+ * Removes `//` line comments and block comments from JSONC, tracking
262
+ * string state so a `//` inside a string value (e.g. `"https://..."`) is
263
+ * preserved. A naive regex strips such content and mis-reads the surrounding
264
+ * keys; on any malformed input the caller falls back to the default outDir.
265
+ */
266
+ function stripJsonComments(content) {
267
+ let result = "";
268
+ let inString = false;
269
+ let escaped = false;
270
+ for (let i = 0; i < content.length; i++) {
271
+ const char = content[i];
272
+ if (inString) {
273
+ result += char;
274
+ if (escaped) {
275
+ escaped = false;
276
+ }
277
+ else if (char === "\\") {
278
+ escaped = true;
279
+ }
280
+ else if (char === '"') {
281
+ inString = false;
282
+ }
283
+ continue;
284
+ }
285
+ if (char === '"') {
286
+ inString = true;
287
+ result += char;
288
+ continue;
289
+ }
290
+ const next = content[i + 1];
291
+ if (char === "/" && next === "/") {
292
+ while (i < content.length && content[i] !== "\n") {
293
+ i++;
294
+ }
295
+ if (i < content.length) {
296
+ result += content[i];
297
+ }
298
+ continue;
299
+ }
300
+ if (char === "/" && next === "*") {
301
+ i += 2;
302
+ while (i < content.length &&
303
+ !(content[i] === "*" && content[i + 1] === "/")) {
304
+ i++;
305
+ }
306
+ i++;
307
+ continue;
308
+ }
309
+ result += char;
310
+ }
311
+ return result;
312
+ }
313
+ async function isFile(targetPath) {
314
+ const info = await stat(targetPath).catch(() => null);
315
+ return info?.isFile() ?? false;
316
+ }
317
+ //# sourceMappingURL=nestjs-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs-build.js","sourceRoot":"","sources":["../src/nestjs-build.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/compute-sdk",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "description": "TypeScript SDK for deploying and managing applications on Prisma Compute",
5
5
  "license": "Apache-2.0",
6
6
  "repository": "prisma/project-compute",
@@ -37,6 +37,7 @@
37
37
  "check:types": "tsc --noEmit"
38
38
  },
39
39
  "dependencies": {
40
+ "@vercel/nft": "^1.10.2",
40
41
  "better-result": "^2.7.0",
41
42
  "jiti": "^2.7.0",
42
43
  "magicast": "^0.5.3",
@@ -75,6 +75,24 @@ export async function resolveBuildSettings(options: {
75
75
  outputRoot === ".next" ? "Next.js output" : "next.config distDir",
76
76
  };
77
77
  }
78
+ case "nestjs": {
79
+ const manifest = await readPackageManifest(
80
+ options.appPath,
81
+ options.signal,
82
+ );
83
+ const buildCommand = await resolveFrameworkBuildCommand(
84
+ options.appPath,
85
+ manifest,
86
+ { command: "nest build", source: "NestJS default" },
87
+ options.signal,
88
+ );
89
+ return {
90
+ buildCommand: buildCommand.command,
91
+ buildCommandSource: buildCommand.source,
92
+ outputDirectory: "dist",
93
+ outputDirectorySource: "NestJS output",
94
+ };
95
+ }
78
96
  case "tanstack-start": {
79
97
  const manifest = await readPackageManifest(
80
98
  options.appPath,
package/src/build.ts CHANGED
@@ -3,6 +3,7 @@ import type { BuildSettings } from "./build-settings.ts";
3
3
  import type { BuildStrategy } from "./build-strategy.ts";
4
4
  import { BunBuild } from "./bun-build.ts";
5
5
  import { FRAMEWORKS, type FrameworkBuildType } from "./config/frameworks.ts";
6
+ import { NestjsBuild } from "./nestjs-build.ts";
6
7
  import { NextjsBuild } from "./nextjs-build.ts";
7
8
  import { NuxtBuild } from "./nuxt-build.ts";
8
9
  import { TanstackStartBuild } from "./tanstack-start-build.ts";
@@ -60,6 +61,8 @@ export function createBuildStrategy(
60
61
  return new NuxtBuild({ appPath, io });
61
62
  case "astro":
62
63
  return new AstroBuild({ appPath, io });
64
+ case "nestjs":
65
+ return new NestjsBuild({ appPath, buildSettings, io });
63
66
  case "tanstack-start":
64
67
  return new TanstackStartBuild({ appPath, buildSettings, io });
65
68
  case "bun":
@@ -11,6 +11,7 @@ export type FrameworkBuildType =
11
11
  | "nextjs"
12
12
  | "nuxt"
13
13
  | "astro"
14
+ | "nestjs"
14
15
  | "tanstack-start"
15
16
  | "bun";
16
17
 
@@ -108,6 +109,18 @@ export const FRAMEWORKS: readonly FrameworkDescriptor[] = [
108
109
  hasLocalDevServer: true,
109
110
  defaultHttpPort: 3000,
110
111
  },
112
+ {
113
+ key: "nestjs",
114
+ displayName: "NestJS",
115
+ buildType: "nestjs",
116
+ aliases: ["nestjs", "nest"],
117
+ detectPackages: ["@nestjs/core"],
118
+ detectConfigFiles: ["nest-cli.json"],
119
+ usesEntrypoint: false,
120
+ defaultEntrypoint: null,
121
+ hasLocalDevServer: false,
122
+ defaultHttpPort: 3000,
123
+ },
111
124
  {
112
125
  key: "tanstack-start",
113
126
  displayName: "TanStack Start",
@@ -11,6 +11,7 @@ export const COMPUTE_FRAMEWORKS = [
11
11
  "nuxt",
12
12
  "astro",
13
13
  "hono",
14
+ "nestjs",
14
15
  "tanstack-start",
15
16
  "bun",
16
17
  ] as const;
package/src/index.ts CHANGED
@@ -112,6 +112,7 @@ export type {
112
112
  TerminalRecord,
113
113
  } from "./log-stream.ts";
114
114
  export { streamLogs } from "./log-stream.ts";
115
+ export { NestjsBuild } from "./nestjs-build.ts";
115
116
  export { NextjsBuild } from "./nextjs-build.ts";
116
117
  export { NuxtBuild } from "./nuxt-build.ts";
117
118
  export { TanstackStartBuild } from "./tanstack-start-build.ts";
@@ -0,0 +1,425 @@
1
+ import {
2
+ chmod,
3
+ copyFile,
4
+ lstat,
5
+ mkdir,
6
+ mkdtemp,
7
+ readFile,
8
+ readlink,
9
+ rm,
10
+ stat,
11
+ symlink,
12
+ } from "node:fs/promises";
13
+ import os from "node:os";
14
+ import path from "node:path";
15
+
16
+ import { nodeFileTrace } from "@vercel/nft";
17
+
18
+ import {
19
+ type BuildSettings,
20
+ joinPosix,
21
+ resolveBuildSettings,
22
+ } from "./build-settings.ts";
23
+ import type { BuildArtifact, BuildStrategy } from "./build-strategy.ts";
24
+ import {
25
+ hasPackageDependency,
26
+ hasRootFile,
27
+ runPackageCli,
28
+ } from "./build-strategy.ts";
29
+ import { defaultHttpPortForBuildType } from "./config/frameworks.ts";
30
+ import { resolveSourceRoot } from "./config/source-root.ts";
31
+ import {
32
+ type BuildCommandIo,
33
+ readPackageManifest,
34
+ runBuildCommand,
35
+ } from "./workspace.ts";
36
+
37
+ const NEST_CLI_FILENAME = "nest-cli.json";
38
+
39
+ /** Compiled entrypoints probed, in order, when config does not resolve one. */
40
+ const DEFAULT_COMPILED_ENTRYPOINTS = ["dist/src/main.js", "dist/main.js"];
41
+
42
+ /**
43
+ * Build strategy for NestJS applications. Runs the user's build (so `nest build`
44
+ * and any `prisma generate` in the `build` script run), resolves the compiled
45
+ * entrypoint, then stages a lean artifact by file-tracing that entrypoint with
46
+ * `@vercel/nft`: it ships only the compiled output and the `node_modules` files
47
+ * actually reachable, not the full dependency tree. NestJS has no Next-style
48
+ * standalone output, so the trace is the lean equivalent that keeps the
49
+ * artifact under the compute runtime's disk ceiling.
50
+ */
51
+ export class NestjsBuild implements BuildStrategy {
52
+ readonly #appPath: string;
53
+ readonly #buildSettings?: BuildSettings;
54
+ readonly #io?: BuildCommandIo;
55
+
56
+ constructor(options: {
57
+ appPath: string;
58
+ buildSettings?: BuildSettings;
59
+ io?: BuildCommandIo;
60
+ }) {
61
+ this.#appPath = options.appPath;
62
+ this.#buildSettings = options.buildSettings;
63
+ this.#io = options.io;
64
+ }
65
+
66
+ async canBuild(signal?: AbortSignal): Promise<boolean> {
67
+ return (
68
+ (await hasRootFile(this.#appPath, [NEST_CLI_FILENAME], signal)) ||
69
+ (await hasPackageDependency(this.#appPath, ["@nestjs/core"], signal))
70
+ );
71
+ }
72
+
73
+ async execute(signal?: AbortSignal): Promise<BuildArtifact> {
74
+ signal?.throwIfAborted();
75
+
76
+ const settings =
77
+ this.#buildSettings ??
78
+ (await resolveBuildSettings({
79
+ appPath: this.#appPath,
80
+ buildType: "nestjs",
81
+ signal,
82
+ }));
83
+
84
+ // `resolveBuildSettings` always returns a non-null `nest build` fallback, so
85
+ // route by source: a user `build` script runs as-is, the framework default
86
+ // goes through the launcher ladder (local bin -> npx -> bunx).
87
+ const usingFrameworkDefault =
88
+ settings.buildCommand === null ||
89
+ settings.buildCommandSource === "NestJS default";
90
+ if (!usingFrameworkDefault && settings.buildCommand) {
91
+ await runBuildCommand({
92
+ appPath: this.#appPath,
93
+ command: settings.buildCommand,
94
+ failurePrefix: "NestJS",
95
+ env: this.#io?.env,
96
+ onOutput: this.#io?.onOutput,
97
+ signal,
98
+ });
99
+ } else {
100
+ await runPackageCli({
101
+ appPath: this.#appPath,
102
+ cliName: "nest",
103
+ args: ["build"],
104
+ failurePrefix: "NestJS",
105
+ missingMessage:
106
+ "Could not find the Nest CLI. Add a `build` script to package.json, install @nestjs/cli, or ensure npx/bunx is available.",
107
+ env: this.#io?.env,
108
+ onOutput: this.#io?.onOutput,
109
+ signal,
110
+ });
111
+ }
112
+
113
+ signal?.throwIfAborted();
114
+ const compiledEntry = await this.#resolveCompiledEntrypoint(signal);
115
+
116
+ const outDir = await mkdtemp(path.join(os.tmpdir(), "compute-build-"));
117
+ try {
118
+ const artifactDir = path.join(outDir, "app");
119
+ const entrypoint = await stageTracedArtifact({
120
+ appPath: this.#appPath,
121
+ artifactDir,
122
+ compiledEntry,
123
+ signal,
124
+ });
125
+
126
+ return {
127
+ directory: artifactDir,
128
+ entrypoint,
129
+ defaultPortMapping: { http: defaultHttpPortForBuildType("nestjs") },
130
+ cleanup: () => rm(outDir, { recursive: true, force: true }),
131
+ };
132
+ } catch (error) {
133
+ await rm(outDir, { recursive: true, force: true });
134
+ throw error;
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Resolves the compiled entrypoint relative to the app root, using posix
140
+ * separators. Prefers `package.json` `main`, then the path computed from
141
+ * `nest-cli.json` and the tsconfig `outDir`, then the common defaults.
142
+ */
143
+ async #resolveCompiledEntrypoint(signal?: AbortSignal): Promise<string> {
144
+ const candidates: string[] = [];
145
+
146
+ const fromMain = await this.#mainFieldEntrypoint(signal);
147
+ if (fromMain) {
148
+ candidates.push(fromMain);
149
+ }
150
+
151
+ const fromConfig = await this.#configuredCompiledEntrypoint(signal);
152
+ if (fromConfig) {
153
+ candidates.push(fromConfig);
154
+ }
155
+
156
+ candidates.push(...DEFAULT_COMPILED_ENTRYPOINTS);
157
+
158
+ for (const candidate of candidates) {
159
+ signal?.throwIfAborted();
160
+ const normalized = normalizeRelative(candidate);
161
+ if (!normalized) {
162
+ continue;
163
+ }
164
+ if (await isFile(path.join(this.#appPath, normalized))) {
165
+ return normalized;
166
+ }
167
+ }
168
+
169
+ throw new Error(
170
+ `NestJS build did not produce a compiled entrypoint. Looked for ${candidates.join(", ")} under ${this.#appPath}. ` +
171
+ "Ensure `nest build` ran and check the `main` field, nest-cli.json, or tsconfig outDir.",
172
+ );
173
+ }
174
+
175
+ async #mainFieldEntrypoint(signal?: AbortSignal): Promise<string | null> {
176
+ const manifest = await readPackageManifest(this.#appPath, signal);
177
+ return typeof manifest?.main === "string" && manifest.main.trim().length > 0
178
+ ? manifest.main.trim()
179
+ : null;
180
+ }
181
+
182
+ async #configuredCompiledEntrypoint(
183
+ signal?: AbortSignal,
184
+ ): Promise<string | null> {
185
+ const nestCli = await readNestCliConfig(this.#appPath, signal);
186
+ const sourceRoot = nestCli.sourceRoot ?? "src";
187
+ const entryFile = nestCli.entryFile ?? "main";
188
+ const outDir = await readTsconfigOutDir(this.#appPath, signal);
189
+
190
+ const relativeEntry = path.posix.join(
191
+ path.posix.relative(".", sourceRoot) || ".",
192
+ `${entryFile}.js`,
193
+ );
194
+ return joinPosix(outDir, relativeEntry);
195
+ }
196
+ }
197
+
198
+ interface NestCliConfig {
199
+ sourceRoot?: string;
200
+ entryFile?: string;
201
+ }
202
+
203
+ async function readNestCliConfig(
204
+ appPath: string,
205
+ signal?: AbortSignal,
206
+ ): Promise<NestCliConfig> {
207
+ signal?.throwIfAborted();
208
+ let content: string;
209
+ try {
210
+ content = await readFile(path.join(appPath, NEST_CLI_FILENAME), {
211
+ encoding: "utf-8",
212
+ signal,
213
+ });
214
+ } catch (error) {
215
+ if (signal?.aborted) throw error;
216
+ return {};
217
+ }
218
+
219
+ try {
220
+ const parsed = JSON.parse(content) as {
221
+ sourceRoot?: unknown;
222
+ entryFile?: unknown;
223
+ };
224
+ return {
225
+ sourceRoot:
226
+ typeof parsed.sourceRoot === "string" ? parsed.sourceRoot : undefined,
227
+ entryFile:
228
+ typeof parsed.entryFile === "string" ? parsed.entryFile : undefined,
229
+ };
230
+ } catch {
231
+ return {};
232
+ }
233
+ }
234
+
235
+ const TSCONFIG_FILENAMES = ["tsconfig.build.json", "tsconfig.json"] as const;
236
+
237
+ /** Best-effort read of `compilerOptions.outDir`, defaulting to `dist`. */
238
+ async function readTsconfigOutDir(
239
+ appPath: string,
240
+ signal?: AbortSignal,
241
+ ): Promise<string> {
242
+ for (const fileName of TSCONFIG_FILENAMES) {
243
+ signal?.throwIfAborted();
244
+ let content: string;
245
+ try {
246
+ content = await readFile(path.join(appPath, fileName), {
247
+ encoding: "utf-8",
248
+ signal,
249
+ });
250
+ } catch (error) {
251
+ if (signal?.aborted) throw error;
252
+ continue;
253
+ }
254
+ const outDir = parseTsconfigOutDir(content);
255
+ if (outDir) {
256
+ return outDir;
257
+ }
258
+ }
259
+ return "dist";
260
+ }
261
+
262
+ /** Reads `compilerOptions.outDir` from a tsconfig source, tolerating comments. */
263
+ function parseTsconfigOutDir(content: string): string | null {
264
+ try {
265
+ const parsed = JSON.parse(stripJsonComments(content)) as {
266
+ compilerOptions?: { outDir?: unknown };
267
+ };
268
+ const outDir = parsed.compilerOptions?.outDir;
269
+ if (typeof outDir !== "string") {
270
+ return null;
271
+ }
272
+ return normalizeRelative(outDir);
273
+ } catch {
274
+ return null;
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Stages the compiled entrypoint and its transitive dependencies into
280
+ * `artifactDir` by tracing with `@vercel/nft`, then copying only the traced
281
+ * paths. Returns the artifact-root-relative entrypoint to run with `node`.
282
+ *
283
+ * The trace base is the source root, not the app dir, because nft ignores
284
+ * everything above `base`: in a workspace, deps hoisted to the repo root sit
285
+ * above the app and would be dropped, leaving the artifact with no usable
286
+ * `node_modules`. Tracing from the source root keeps the workspace-relative
287
+ * layout (e.g. `apps/api/dist/main.js` plus root and app-local `node_modules`),
288
+ * so `node <dir>/<entrypoint>` resolves deps by walking up. For a single-app
289
+ * repo the source root equals the app dir, so the entrypoint stays `dist/main.js`.
290
+ *
291
+ * The trace lists both the visible `node_modules/<pkg>` symlinks and the real
292
+ * files they resolve to (e.g. pnpm `.pnpm/<pkg>` / bun `.bun/<pkg>` stores), so
293
+ * symlinks are recreated verbatim and the store files are copied alongside.
294
+ */
295
+ async function stageTracedArtifact(options: {
296
+ appPath: string;
297
+ artifactDir: string;
298
+ compiledEntry: string;
299
+ signal?: AbortSignal;
300
+ }): Promise<string> {
301
+ const appPath = path.resolve(options.appPath);
302
+ const sourceRoot = await resolveSourceRoot(appPath, options.signal);
303
+ const entry = path.join(appPath, options.compiledEntry);
304
+ const entrypoint = path.posix.normalize(
305
+ path.relative(sourceRoot, entry).split(path.sep).join("/"),
306
+ );
307
+
308
+ options.signal?.throwIfAborted();
309
+ const { fileList } = await nodeFileTrace([entry], { base: sourceRoot });
310
+
311
+ await mkdir(options.artifactDir, { recursive: true });
312
+ for (const relativePath of fileList) {
313
+ options.signal?.throwIfAborted();
314
+ await stageTracedPath(
315
+ path.join(sourceRoot, relativePath),
316
+ path.join(options.artifactDir, relativePath),
317
+ );
318
+ }
319
+
320
+ return entrypoint;
321
+ }
322
+
323
+ /** Copies one traced path, preserving symlinks and file mode. */
324
+ async function stageTracedPath(
325
+ sourcePath: string,
326
+ destinationPath: string,
327
+ ): Promise<void> {
328
+ const info = await lstat(sourcePath).catch(() => null);
329
+ if (!info) {
330
+ return;
331
+ }
332
+
333
+ await mkdir(path.dirname(destinationPath), { recursive: true });
334
+
335
+ if (info.isSymbolicLink()) {
336
+ await symlink(await readlink(sourcePath), destinationPath);
337
+ return;
338
+ }
339
+
340
+ if (info.isFile()) {
341
+ await copyFile(sourcePath, destinationPath);
342
+ await chmod(destinationPath, info.mode);
343
+ }
344
+ }
345
+
346
+ function normalizeRelative(value: string): string | null {
347
+ const raw = value.trim().replace(/\\/g, "/");
348
+ if (raw.length === 0) {
349
+ return null;
350
+ }
351
+ const normalized = path.posix.normalize(raw);
352
+ if (
353
+ path.posix.isAbsolute(normalized) ||
354
+ normalized === ".." ||
355
+ normalized.startsWith("../")
356
+ ) {
357
+ return null;
358
+ }
359
+ return normalized === "." ? null : normalized;
360
+ }
361
+
362
+ /**
363
+ * Removes `//` line comments and block comments from JSONC, tracking
364
+ * string state so a `//` inside a string value (e.g. `"https://..."`) is
365
+ * preserved. A naive regex strips such content and mis-reads the surrounding
366
+ * keys; on any malformed input the caller falls back to the default outDir.
367
+ */
368
+ function stripJsonComments(content: string): string {
369
+ let result = "";
370
+ let inString = false;
371
+ let escaped = false;
372
+
373
+ for (let i = 0; i < content.length; i++) {
374
+ const char = content[i];
375
+
376
+ if (inString) {
377
+ result += char;
378
+ if (escaped) {
379
+ escaped = false;
380
+ } else if (char === "\\") {
381
+ escaped = true;
382
+ } else if (char === '"') {
383
+ inString = false;
384
+ }
385
+ continue;
386
+ }
387
+
388
+ if (char === '"') {
389
+ inString = true;
390
+ result += char;
391
+ continue;
392
+ }
393
+
394
+ const next = content[i + 1];
395
+ if (char === "/" && next === "/") {
396
+ while (i < content.length && content[i] !== "\n") {
397
+ i++;
398
+ }
399
+ if (i < content.length) {
400
+ result += content[i];
401
+ }
402
+ continue;
403
+ }
404
+ if (char === "/" && next === "*") {
405
+ i += 2;
406
+ while (
407
+ i < content.length &&
408
+ !(content[i] === "*" && content[i + 1] === "/")
409
+ ) {
410
+ i++;
411
+ }
412
+ i++;
413
+ continue;
414
+ }
415
+
416
+ result += char;
417
+ }
418
+
419
+ return result;
420
+ }
421
+
422
+ async function isFile(targetPath: string): Promise<boolean> {
423
+ const info = await stat(targetPath).catch(() => null);
424
+ return info?.isFile() ?? false;
425
+ }