alchemy 0.43.0 → 0.43.2

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 (69) hide show
  1. package/README.md +1 -1
  2. package/bin/alchemy.mjs +508 -316
  3. package/lib/alchemy.d.ts.map +1 -1
  4. package/lib/alchemy.js +8 -2
  5. package/lib/alchemy.js.map +1 -1
  6. package/lib/build-date.d.ts +1 -1
  7. package/lib/build-date.js +1 -1
  8. package/lib/cloudflare/astro.d.ts +1 -1
  9. package/lib/cloudflare/astro.d.ts.map +1 -1
  10. package/lib/cloudflare/astro.js +1 -1
  11. package/lib/cloudflare/astro.js.map +1 -1
  12. package/lib/cloudflare/bundle/bundle-worker-dev.d.ts +1 -0
  13. package/lib/cloudflare/bundle/bundle-worker-dev.d.ts.map +1 -1
  14. package/lib/cloudflare/bundle/bundle-worker-dev.js +2 -3
  15. package/lib/cloudflare/bundle/bundle-worker-dev.js.map +1 -1
  16. package/lib/cloudflare/bundle/bundle-worker.d.ts +1 -0
  17. package/lib/cloudflare/bundle/bundle-worker.d.ts.map +1 -1
  18. package/lib/cloudflare/bundle/bundle-worker.js +2 -3
  19. package/lib/cloudflare/bundle/bundle-worker.js.map +1 -1
  20. package/lib/cloudflare/website.d.ts.map +1 -1
  21. package/lib/cloudflare/website.js +10 -22
  22. package/lib/cloudflare/website.js.map +1 -1
  23. package/lib/cloudflare/worker/http-server.d.ts.map +1 -1
  24. package/lib/cloudflare/worker/http-server.js +2 -1
  25. package/lib/cloudflare/worker/http-server.js.map +1 -1
  26. package/lib/cloudflare/worker/miniflare.d.ts +1 -0
  27. package/lib/cloudflare/worker/miniflare.d.ts.map +1 -1
  28. package/lib/cloudflare/worker/miniflare.js +2 -1
  29. package/lib/cloudflare/worker/miniflare.js.map +1 -1
  30. package/lib/cloudflare/worker.d.ts +11 -1
  31. package/lib/cloudflare/worker.d.ts.map +1 -1
  32. package/lib/cloudflare/worker.js +30 -15
  33. package/lib/cloudflare/worker.js.map +1 -1
  34. package/lib/cloudflare/wrangler.json.d.ts +1 -1
  35. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  36. package/lib/cloudflare/wrangler.json.js +28 -10
  37. package/lib/cloudflare/wrangler.json.js.map +1 -1
  38. package/lib/internal/docs/providers.js +2 -0
  39. package/lib/internal/docs/providers.js.map +1 -1
  40. package/lib/os/exec.d.ts +15 -1
  41. package/lib/os/exec.d.ts.map +1 -1
  42. package/lib/os/exec.js +30 -3
  43. package/lib/os/exec.js.map +1 -1
  44. package/lib/scope.d.ts.map +1 -1
  45. package/lib/scope.js +4 -1
  46. package/lib/scope.js.map +1 -1
  47. package/lib/util/deferred-promise.d.ts.map +1 -1
  48. package/lib/util/deferred-promise.js +2 -1
  49. package/lib/util/deferred-promise.js.map +1 -1
  50. package/lib/util/promise-with-resolvers.d.ts +14 -0
  51. package/lib/util/promise-with-resolvers.d.ts.map +1 -0
  52. package/lib/util/promise-with-resolvers.js +19 -0
  53. package/lib/util/promise-with-resolvers.js.map +1 -0
  54. package/package.json +4 -3
  55. package/src/alchemy.ts +8 -2
  56. package/src/build-date.ts +1 -1
  57. package/src/cloudflare/astro.ts +1 -1
  58. package/src/cloudflare/bundle/bundle-worker-dev.ts +3 -4
  59. package/src/cloudflare/bundle/bundle-worker.ts +3 -4
  60. package/src/cloudflare/website.ts +13 -30
  61. package/src/cloudflare/worker/http-server.ts +2 -1
  62. package/src/cloudflare/worker/miniflare.ts +5 -1
  63. package/src/cloudflare/worker.ts +56 -27
  64. package/src/cloudflare/wrangler.json.ts +40 -11
  65. package/src/internal/docs/providers.ts +2 -0
  66. package/src/os/exec.ts +32 -4
  67. package/src/scope.ts +5 -1
  68. package/src/util/deferred-promise.ts +3 -1
  69. package/src/util/promise-with-resolvers.ts +30 -0
package/lib/scope.js CHANGED
@@ -11,7 +11,10 @@ export class RootScopeStateAttemptError extends Error {
11
11
  }
12
12
  }
13
13
  // TODO: support browser
14
- const DEFAULT_STAGE = process.env.ALCHEMY_STAGE ?? process.env.USER ?? "dev";
14
+ const DEFAULT_STAGE = process.env.ALCHEMY_STAGE ??
15
+ process.env.USER ??
16
+ process.env.USERNAME ??
17
+ "dev";
15
18
  const ScopeSymbol = Symbol.for("alchemy::Scope");
16
19
  export function isScope(value) {
17
20
  return value instanceof Scope || value?.[ScopeSymbol] === true;
package/lib/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-promise.d.ts","sourceRoot":"","sources":["../../src/util/deferred-promise.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe,CAAC,CAAC;IAC5B,OAAO,CAAC,OAAO,CAA8B;IAE7C,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAa;IAEzD,IAAI,KAAK,eAER;IAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAKhB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;CAIpB"}
1
+ {"version":3,"file":"deferred-promise.d.ts","sourceRoot":"","sources":["../../src/util/deferred-promise.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe,CAAC,CAAC;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAE5C,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAa;IAEzD,IAAI,KAAK,eAER;IAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAKhB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;CAIpB"}
@@ -1,5 +1,6 @@
1
+ import { promiseWithResolvers } from "./promise-with-resolvers.js";
1
2
  export class DeferredPromise {
2
- promise = Promise.withResolvers();
3
+ promise = promiseWithResolvers();
3
4
  status = "pending";
4
5
  get value() {
5
6
  return this.promise.promise;
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../../src/util/deferred-promise.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,OAAO,CAAC,aAAa,EAAK,CAAC;IAE7C,MAAM,GAAyC,SAAS,CAAC;IAEzD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,MAAY;QACjB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../../src/util/deferred-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,oBAAoB,EAAK,CAAC;IAE5C,MAAM,GAAyC,SAAS,CAAC;IAEzD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,MAAY;QACjB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Interface for the return type of promiseWithResolvers
3
+ */
4
+ export interface PromiseWithResolvers<T> {
5
+ promise: Promise<T>;
6
+ resolve: (value: T | PromiseLike<T>) => void;
7
+ reject: (reason?: any) => void;
8
+ }
9
+ /**
10
+ * Node 20+ compatible implementation of Promise.withResolvers()
11
+ * Falls back to native Promise.withResolvers when available (Node 22+)
12
+ */
13
+ export declare function promiseWithResolvers<T>(): PromiseWithResolvers<T>;
14
+ //# sourceMappingURL=promise-with-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-with-resolvers.d.ts","sourceRoot":"","sources":["../../src/util/promise-with-resolvers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAgBjE"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Node 20+ compatible implementation of Promise.withResolvers()
3
+ * Falls back to native Promise.withResolvers when available (Node 22+)
4
+ */
5
+ export function promiseWithResolvers() {
6
+ // Use native implementation if available
7
+ if (typeof Promise.withResolvers === "function") {
8
+ return Promise.withResolvers();
9
+ }
10
+ // Fallback implementation for Node 20+
11
+ let resolve;
12
+ let reject;
13
+ const promise = new Promise((res, rej) => {
14
+ resolve = res;
15
+ reject = rej;
16
+ });
17
+ return { promise, resolve, reject };
18
+ }
19
+ //# sourceMappingURL=promise-with-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-with-resolvers.js","sourceRoot":"","sources":["../../src/util/promise-with-resolvers.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,yCAAyC;IACzC,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,aAAa,EAAK,CAAC;IACpC,CAAC;IAED,uCAAuC;IACvC,IAAI,OAA6C,CAAC;IAClD,IAAI,MAA+B,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.43.0",
3
+ "version": "0.43.2",
4
4
  "type": "module",
5
5
  "module": "./lib/index.js",
6
6
  "license": "Apache-2.0",
@@ -10,10 +10,11 @@
10
10
  "directory": "alchemy"
11
11
  },
12
12
  "scripts": {
13
- "build:cli": "./scripts/bundle-cli.sh",
13
+ "build:cli": "run-script-os",
14
+ "build:cli:windows": "powershell -File ./scripts/bundle-cli.ps1",
15
+ "build:cli:default": "./scripts/bundle-cli.sh",
14
16
  "build:workers": "bun ./scripts/build-workers.ts",
15
17
  "build": "rm -rf ./*.tsbuildinfo && rm -rf ./lib && tsc -b && bun run build:cli && bun run build:workers",
16
- "dev:cli": "./scripts/bundle-cli.sh --watch",
17
18
  "docs:gen": "rm -rf ./docs && typedoc",
18
19
  "postbuild": "cpx 'src/**/*/types.d.ts' lib",
19
20
  "publish:npm": "cp ../README.md . && bun run build && bun run build:cli && npm publish && rm README.md"
package/src/alchemy.ts CHANGED
@@ -197,11 +197,17 @@ async function _alchemy(
197
197
  const stage = new Scope({
198
198
  ...mergedOptions,
199
199
  scopeName:
200
- mergedOptions?.stage ?? process.env.ALCHEMY_STAGE ?? process.env.USER,
200
+ mergedOptions?.stage ??
201
+ process.env.ALCHEMY_STAGE ??
202
+ process.env.USER ??
203
+ process.env.USERNAME,
201
204
  parent: root,
202
205
  appName,
203
206
  stage:
204
- mergedOptions?.stage ?? process.env.ALCHEMY_STAGE ?? process.env.USER,
207
+ mergedOptions?.stage ??
208
+ process.env.ALCHEMY_STAGE ??
209
+ process.env.USER ??
210
+ process.env.USERNAME,
205
211
  });
206
212
  try {
207
213
  Scope.storage.enterWith(root);
package/src/build-date.ts CHANGED
@@ -5,4 +5,4 @@
5
5
  * The build date used as the default worker compatibility date.
6
6
  * This is set to the date when the package was built.
7
7
  */
8
- export const BUILD_DATE = "2025-07-01";
8
+ export const BUILD_DATE = "2025-07-05";
@@ -63,7 +63,7 @@ export type Astro<B extends Bindings> = B extends { ASSETS: any }
63
63
  */
64
64
  export async function Astro<B extends Bindings>(
65
65
  id: string,
66
- props: AstroProps<B>,
66
+ props: AstroProps<B> = {},
67
67
  ): Promise<Astro<B>> {
68
68
  if (props?.bindings?.ASSETS) {
69
69
  throw new Error("ASSETS binding is reserved for internal use");
@@ -28,6 +28,7 @@ export async function createWorkerDevContext<B extends Bindings>(
28
28
  entrypoint: string;
29
29
  compatibilityDate: string;
30
30
  compatibilityFlags: string[];
31
+ cwd: string;
31
32
  },
32
33
  hooks: HotReloadHooks,
33
34
  ) {
@@ -49,8 +50,6 @@ export async function createWorkerDevContext<B extends Bindings>(
49
50
  props.compatibilityFlags,
50
51
  );
51
52
 
52
- const projectRoot = props.projectRoot ?? process.cwd();
53
-
54
53
  const context = await esbuild.context({
55
54
  entryPoints: [props.entrypoint],
56
55
  format: props.format === "cjs" ? "cjs" : "esm",
@@ -62,7 +61,7 @@ export async function createWorkerDevContext<B extends Bindings>(
62
61
  write: false, // We want the result in memory for hot reloading
63
62
  conditions: ["workerd", "worker", "import", "module", "browser"],
64
63
  mainFields: ["module", "main"],
65
- absWorkingDir: projectRoot,
64
+ absWorkingDir: props.cwd,
66
65
  keepNames: true,
67
66
  loader: {
68
67
  ".sql": "text",
@@ -77,7 +76,7 @@ export async function createWorkerDevContext<B extends Bindings>(
77
76
  ? [
78
77
  createAliasPlugin({
79
78
  alias: props.bundle?.alias,
80
- projectRoot,
79
+ projectRoot: props.cwd,
81
80
  }),
82
81
  ]
83
82
  : []),
@@ -25,10 +25,9 @@ export async function bundleWorkerScript<B extends Bindings>(
25
25
  entrypoint: string;
26
26
  compatibilityDate: string;
27
27
  compatibilityFlags: string[];
28
+ cwd: string;
28
29
  },
29
30
  ): Promise<string | NoBundleResult> {
30
- const projectRoot = props.projectRoot ?? process.cwd();
31
-
32
31
  const nodeJsCompatMode = await getNodeJSCompatMode(
33
32
  props.compatibilityDate,
34
33
  props.compatibilityFlags,
@@ -99,7 +98,7 @@ export async function bundleWorkerScript<B extends Bindings>(
99
98
  ...(props.bundle || {}),
100
99
  conditions: ["workerd", "worker", "import", "module", "browser"],
101
100
  mainFields: ["module", "main"],
102
- absWorkingDir: projectRoot,
101
+ absWorkingDir: props.cwd,
103
102
  keepNames: true, // Important for Durable Object classes
104
103
  loader: {
105
104
  ".sql": "text",
@@ -114,7 +113,7 @@ export async function bundleWorkerScript<B extends Bindings>(
114
113
  ? [
115
114
  createAliasPlugin({
116
115
  alias: props.bundle?.alias,
117
- projectRoot,
116
+ projectRoot: props.cwd,
118
117
  }),
119
118
  ]
120
119
  : []),
@@ -123,7 +123,6 @@ export async function Website<B extends Bindings>(
123
123
  parent: Scope.current,
124
124
  },
125
125
  async (scope) => {
126
- // directory from which all relative paths are resolved
127
126
  const cwd = path.resolve(props.cwd || process.cwd());
128
127
 
129
128
  function resolveAbsPath<S extends string | undefined>(f: S): S {
@@ -132,7 +131,12 @@ export async function Website<B extends Bindings>(
132
131
  ) as S;
133
132
  }
134
133
 
135
- // absolute path to the wrangler.jsonc file
134
+ const mainPath = resolveAbsPath(props.main);
135
+ const assetsDirPath = resolveAbsPath(
136
+ typeof props.assets === "string"
137
+ ? props.assets
138
+ : (props.assets?.dist ?? "dist"),
139
+ );
136
140
  const wranglerJsonPath = resolveAbsPath(
137
141
  typeof wrangler === "boolean"
138
142
  ? "wrangler.jsonc"
@@ -141,23 +145,6 @@ export async function Website<B extends Bindings>(
141
145
  : (wrangler?.path ?? "wrangler.jsonc"),
142
146
  );
143
147
 
144
- // absolute path to the worker entrypoint
145
- const mainPath = resolveAbsPath(props.main);
146
-
147
- // absolute path to the worker entrypoint (if different in wrangler.jsonc)
148
- const wranglerMainPath = resolveAbsPath(
149
- typeof wrangler === "object"
150
- ? (wrangler.main ?? props.main!)
151
- : props.main,
152
- );
153
-
154
- // absolute path to the assets directory
155
- const assetsDirPath = resolveAbsPath(
156
- typeof props.assets === "string"
157
- ? props.assets
158
- : (props.assets?.dist ?? "dist"),
159
- );
160
-
161
148
  const workerName = props.name ?? id;
162
149
 
163
150
  const workerProps = {
@@ -165,10 +152,8 @@ export async function Website<B extends Bindings>(
165
152
  compatibilityDate:
166
153
  props.compatibilityDate ?? DEFAULT_COMPATIBILITY_DATE,
167
154
  name: workerName,
168
- entrypoint: mainPath
169
- ? // this path should be relative to the process.cwd() because it is used by esbuild
170
- path.relative(process.cwd(), mainPath)
171
- : undefined,
155
+ cwd: path.relative(process.cwd(), cwd),
156
+ entrypoint: mainPath,
172
157
  assets: {
173
158
  html_handling: "auto-trailing-slash",
174
159
  not_found_handling: props.spa ? "single-page-application" : "none",
@@ -189,24 +174,22 @@ export default {
189
174
  ? {
190
175
  command: props.dev.command,
191
176
  url: props.dev.url,
192
- cwd,
193
177
  }
194
178
  : undefined,
195
179
  } as WorkerProps<any> & { name: string };
196
180
 
197
181
  if (wrangler) {
198
- // paths in wrangler.jsonc must be relative to it
199
- const relativeToWrangler = <S extends string | undefined>(f: S): S =>
200
- (f ? path.relative(path.dirname(wranglerJsonPath), f) : f) as S;
182
+ const wranglerPath = path.relative(cwd, wranglerJsonPath);
183
+ const wranglerDir = path.dirname(wranglerPath);
184
+
201
185
  await WranglerJson("wrangler.jsonc", {
202
- path: wranglerJsonPath,
186
+ path: wranglerPath,
203
187
  worker: workerProps,
204
- main: relativeToWrangler(wranglerMainPath),
205
188
  // hard-code the assets directory because we haven't yet included the assets binding
206
189
  assets: {
207
190
  binding: "ASSETS",
208
191
  // path must be relative to the wrangler.jsonc file
209
- directory: relativeToWrangler(assetsDirPath),
192
+ directory: path.relative(wranglerDir, assetsDirPath),
210
193
  },
211
194
  });
212
195
  }
@@ -1,6 +1,7 @@
1
1
  import http from "node:http";
2
2
  import type { AddressInfo } from "node:net";
3
3
  import { Readable } from "node:stream";
4
+ import { promiseWithResolvers } from "../../util/promise-with-resolvers.ts";
4
5
 
5
6
  export class HTTPServer {
6
7
  server: http.Server;
@@ -10,7 +11,7 @@ export class HTTPServer {
10
11
  port?: number;
11
12
  fetch: (request: Request) => Promise<Response>;
12
13
  }) {
13
- const { promise, resolve } = Promise.withResolvers<void>();
14
+ const { promise, resolve } = promiseWithResolvers<void>();
14
15
  this.ready = promise;
15
16
  this.server = http
16
17
  .createServer(async (req, res) => {
@@ -7,6 +7,10 @@ import type {
7
7
  import path from "node:path";
8
8
  import { findOpenPort } from "../../util/find-open-port.ts";
9
9
  import { logger } from "../../util/logger.ts";
10
+ import {
11
+ promiseWithResolvers,
12
+ type PromiseWithResolvers,
13
+ } from "../../util/promise-with-resolvers.ts";
10
14
  import { HTTPServer } from "./http-server.ts";
11
15
  import {
12
16
  buildMiniflareWorkerOptions,
@@ -40,7 +44,7 @@ class MiniflareServer {
40
44
  writer = this.stream.getWriter();
41
45
 
42
46
  async push(worker: MiniflareWorkerOptions) {
43
- const promise = Promise.withResolvers<HTTPServer>();
47
+ const promise = promiseWithResolvers<HTTPServer>();
44
48
  const [, server] = await Promise.all([
45
49
  this.writer.write({ worker, promise }),
46
50
  promise.promise,
@@ -135,6 +135,12 @@ export interface BaseWorkerProps<
135
135
  /**
136
136
  * The root directory of the project
137
137
  */
138
+ cwd?: string;
139
+
140
+ /**
141
+ * The root directory of the project
142
+ * @deprecated Use `cwd` instead
143
+ */
138
144
  projectRoot?: string;
139
145
 
140
146
  /**
@@ -466,6 +472,12 @@ export type Worker<
466
472
  */
467
473
  name: string;
468
474
 
475
+ /**
476
+ * The root directory of the project
477
+ * @default process.cwd()
478
+ */
479
+ cwd: string;
480
+
469
481
  /**
470
482
  * Time at which the worker was created
471
483
  */
@@ -967,6 +979,15 @@ export const _Worker = Resource(
967
979
  // Use the provided name
968
980
  const workerName = props.name ?? id;
969
981
 
982
+ if (props.projectRoot) {
983
+ logger.warn("projectRoot is deprecated, use cwd instead");
984
+ props.cwd = props.projectRoot;
985
+ }
986
+
987
+ const cwd = props.cwd ? path.resolve(props.cwd) : process.cwd();
988
+ const relativeCwd =
989
+ cwd === process.cwd() ? undefined : path.relative(process.cwd(), cwd);
990
+
970
991
  const compatibilityDate =
971
992
  props.compatibilityDate ?? DEFAULT_COMPATIBILITY_DATE;
972
993
  const compatibilityFlags = props.compatibilityFlags ?? [];
@@ -979,7 +1000,7 @@ export const _Worker = Resource(
979
1000
  upsertDevCommand({
980
1001
  id,
981
1002
  command: props.dev.command,
982
- cwd: props.dev.cwd ?? process.cwd(),
1003
+ cwd: props.dev.cwd ?? cwd,
983
1004
  env: props.env ?? {},
984
1005
  });
985
1006
  return this({
@@ -987,6 +1008,7 @@ export const _Worker = Resource(
987
1008
  id,
988
1009
  entrypoint: props.entrypoint,
989
1010
  name: workerName,
1011
+ cwd: relativeCwd,
990
1012
  compatibilityDate,
991
1013
  compatibilityFlags,
992
1014
  format: props.format || "esm", // Include format in the output
@@ -1026,6 +1048,7 @@ export const _Worker = Resource(
1026
1048
  {
1027
1049
  ...props,
1028
1050
  entrypoint: props.entrypoint,
1051
+ cwd,
1029
1052
  compatibilityDate,
1030
1053
  compatibilityFlags,
1031
1054
  },
@@ -1124,6 +1147,7 @@ export const _Worker = Resource(
1124
1147
  (await bundleWorkerScript({
1125
1148
  name: workerName,
1126
1149
  ...props,
1150
+ cwd,
1127
1151
  compatibilityDate,
1128
1152
  compatibilityFlags,
1129
1153
  }));
@@ -1142,6 +1166,7 @@ export const _Worker = Resource(
1142
1166
  id,
1143
1167
  entrypoint: props.entrypoint,
1144
1168
  name: workerName,
1169
+ cwd: relativeCwd,
1145
1170
  compatibilityDate,
1146
1171
  compatibilityFlags,
1147
1172
  format: props.format || "esm", // Include format in the output
@@ -1172,6 +1197,7 @@ export const _Worker = Resource(
1172
1197
  (await bundleWorkerScript({
1173
1198
  ...props,
1174
1199
  name: workerName,
1200
+ cwd,
1175
1201
  compatibilityDate,
1176
1202
  compatibilityFlags,
1177
1203
  }));
@@ -1348,30 +1374,32 @@ export const _Worker = Resource(
1348
1374
  };
1349
1375
 
1350
1376
  if (this.phase === "delete") {
1351
- // Delete any queue consumers attached to this worker first
1352
- await deleteQueueConsumers(api, workerName);
1353
-
1354
- await withExponentialBackoff(
1355
- () =>
1356
- deleteWorker(api, {
1357
- workerName,
1358
- namespace:
1359
- typeof props.namespace === "string"
1360
- ? props.namespace
1361
- : props.namespace?.namespaceId,
1362
- url: this.output.url,
1363
- }),
1364
- (err) =>
1365
- (err.status === 400 &&
1366
- err.message.includes(
1367
- "is still referenced by service bindings in Workers",
1368
- )) ||
1369
- err.status === 500 ||
1370
- err.status === 503,
1371
- 10,
1372
- 100,
1373
- );
1374
-
1377
+ // only delete the worker if it's not a version
1378
+ if (!props.version) {
1379
+ // Delete any queue consumers attached to this worker first
1380
+ await deleteQueueConsumers(api, workerName);
1381
+
1382
+ await withExponentialBackoff(
1383
+ () =>
1384
+ deleteWorker(api, {
1385
+ workerName,
1386
+ namespace:
1387
+ typeof props.namespace === "string"
1388
+ ? props.namespace
1389
+ : props.namespace?.namespaceId,
1390
+ url: this.output.url,
1391
+ }),
1392
+ (err) =>
1393
+ (err.status === 400 &&
1394
+ err.message.includes(
1395
+ "is still referenced by service bindings in Workers",
1396
+ )) ||
1397
+ err.status === 500 ||
1398
+ err.status === 503,
1399
+ 10,
1400
+ 100,
1401
+ );
1402
+ }
1375
1403
  return this.destroy();
1376
1404
  }
1377
1405
 
@@ -1425,7 +1453,7 @@ export const _Worker = Resource(
1425
1453
  : customDomain.zoneId,
1426
1454
  adopt:
1427
1455
  typeof customDomain === "string"
1428
- ? false
1456
+ ? (props.adopt ?? false)
1429
1457
  : (customDomain.adopt ?? props.adopt),
1430
1458
  });
1431
1459
  }),
@@ -1454,7 +1482,7 @@ export const _Worker = Resource(
1454
1482
  typeof routeConfig === "string" ? undefined : routeConfig.zoneId, // Route resource will handle inference if not provided
1455
1483
  adopt:
1456
1484
  typeof routeConfig === "string"
1457
- ? false
1485
+ ? (props.adopt ?? false)
1458
1486
  : (routeConfig.adopt ?? props.adopt),
1459
1487
  accountId: props.accountId,
1460
1488
  apiKey: props.apiKey,
@@ -1497,6 +1525,7 @@ export const _Worker = Resource(
1497
1525
  id,
1498
1526
  entrypoint: props.entrypoint,
1499
1527
  name: workerName,
1528
+ cwd: relativeCwd,
1500
1529
  compatibilityDate,
1501
1530
  compatibilityFlags,
1502
1531
  format: props.format || "esm", // Include format in the output