alchemy 0.81.0 → 0.81.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 (49) hide show
  1. package/bin/alchemy.js +1652 -1378
  2. package/lib/apply.js +5 -0
  3. package/lib/apply.js.map +1 -1
  4. package/lib/cloudflare/bundle/plugin-wasm.d.ts.map +1 -1
  5. package/lib/cloudflare/bundle/plugin-wasm.js +8 -7
  6. package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
  7. package/lib/cloudflare/compatibility-date.d.ts +5 -0
  8. package/lib/cloudflare/compatibility-date.d.ts.map +1 -0
  9. package/lib/cloudflare/compatibility-date.js +6 -0
  10. package/lib/cloudflare/compatibility-date.js.map +1 -0
  11. package/lib/cloudflare/index.d.ts +1 -1
  12. package/lib/cloudflare/index.d.ts.map +1 -1
  13. package/lib/cloudflare/index.js +1 -1
  14. package/lib/cloudflare/index.js.map +1 -1
  15. package/lib/cloudflare/next.d.ts.map +1 -1
  16. package/lib/cloudflare/next.js +49 -6
  17. package/lib/cloudflare/next.js.map +1 -1
  18. package/lib/cloudflare/redirect-rule.d.ts +12 -2
  19. package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
  20. package/lib/cloudflare/redirect-rule.js +73 -98
  21. package/lib/cloudflare/redirect-rule.js.map +1 -1
  22. package/lib/cloudflare/website.js +1 -1
  23. package/lib/cloudflare/website.js.map +1 -1
  24. package/lib/cloudflare/worker.js +1 -1
  25. package/lib/cloudflare/worker.js.map +1 -1
  26. package/lib/fs/folder.js +1 -1
  27. package/lib/fs/folder.js.map +1 -1
  28. package/lib/prisma-postgres/connection.js +1 -1
  29. package/lib/prisma-postgres/connection.js.map +1 -1
  30. package/lib/state/cloudflare-state-store.js +1 -1
  31. package/lib/state/cloudflare-state-store.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/apply.ts +4 -0
  34. package/src/cloudflare/bundle/plugin-wasm.ts +12 -8
  35. package/src/cloudflare/compatibility-date.ts +6 -0
  36. package/src/cloudflare/index.ts +1 -1
  37. package/src/cloudflare/next.ts +40 -6
  38. package/src/cloudflare/redirect-rule.ts +129 -150
  39. package/src/cloudflare/website.ts +1 -1
  40. package/src/cloudflare/worker.ts +1 -1
  41. package/src/fs/folder.ts +1 -1
  42. package/src/prisma-postgres/connection.ts +1 -1
  43. package/src/state/cloudflare-state-store.ts +1 -1
  44. package/workers/tunnel-proxy.js +1 -1
  45. package/lib/cloudflare/compatibility-date.gen.d.ts +0 -5
  46. package/lib/cloudflare/compatibility-date.gen.d.ts.map +0 -1
  47. package/lib/cloudflare/compatibility-date.gen.js +0 -7
  48. package/lib/cloudflare/compatibility-date.gen.js.map +0 -1
  49. package/src/cloudflare/compatibility-date.gen.ts +0 -7
package/lib/apply.js CHANGED
@@ -63,6 +63,7 @@ async function _apply(resource, props, options) {
63
63
  return state.output;
64
64
  // -> poll until it does not (i.e. when the owner process applies the change and updates the state store)
65
65
  async function waitForConsistentState() {
66
+ const isDestroy = process.argv.includes("--destroy");
66
67
  let startTime = Date.now();
67
68
  while (true) {
68
69
  if (state === undefined) {
@@ -82,6 +83,10 @@ async function _apply(resource, props, options) {
82
83
  // sweet, we've reached a stable state and read can progress
83
84
  return state;
84
85
  }
86
+ else if (isDestroy) {
87
+ // this means the current app is being imported by an app being destroyed
88
+ return state;
89
+ }
85
90
  else {
86
91
  const elapsed = Date.now() - startTime;
87
92
  if (
package/lib/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-wasm.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-wasm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,gBAAgB;;;EA+C/B"}
1
+ {"version":3,"file":"plugin-wasm.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-wasm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,gBAAgB;;;EAmD/B"}
@@ -16,22 +16,23 @@ export function createWasmPlugin() {
16
16
  if (resolved) {
17
17
  return { path: resolved.path, external: true };
18
18
  }
19
- // Normalize path and remove the `?module` query param so we have the actual file name to copy
20
- const name = path.normalize(args.path).replace(/\?.*$/, "");
19
+ // Resolve path to source file, excluding the `?module` suffix (uses path.resolve in case args.path is already absolute)
20
+ const normalizedPath = path.normalize(args.path).replace(/\?.*$/, "");
21
+ const copyFrom = path.resolve(args.resolveDir, normalizedPath);
21
22
  // Resolve path to outdir (required for monorepos if the workdir is not the same as process.cwd())
22
23
  assert(build.initialOptions.absWorkingDir && build.initialOptions.outdir, "Missing absWorkingDir or outdir from esbuild options");
23
24
  const outdir = path.resolve(build.initialOptions.absWorkingDir, build.initialOptions.outdir);
25
+ // Use relative path as module specifier for portability (note: the `?module` suffix is not needed in workerd)
26
+ const specifier = path.relative(build.initialOptions.absWorkingDir, copyFrom);
24
27
  // Copy to outdir so it's included in the upload
25
- const copyFrom = path.join(args.resolveDir, name);
26
- const copyTo = path.join(outdir, name);
28
+ const copyTo = path.join(outdir, specifier);
27
29
  await fs.mkdir(path.dirname(copyTo), { recursive: true });
28
30
  await fs.copyFile(copyFrom, copyTo);
29
31
  modules.set(args.path, {
30
32
  type: "wasm",
31
- path: name,
33
+ path: specifier,
32
34
  });
33
- // Resolve to the normalized file name (the `?module` query param is not needed in workerd)
34
- return { path: name, external: true };
35
+ return { path: specifier, external: true };
35
36
  });
36
37
  },
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-wasm.js","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-wasm.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,OAAO,CAAC;AAGzB,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,cAAc;QACpB,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjB,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,6EAA6E;YAC7E,4DAA4D;YAC5D,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACjD,CAAC;gBAED,8FAA8F;gBAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAE5D,kGAAkG;gBAClG,MAAM,CACJ,KAAK,CAAC,cAAc,CAAC,aAAa,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,EACjE,sDAAsD,CACvD,CAAC;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CACzB,KAAK,CAAC,cAAc,CAAC,aAAa,EAClC,KAAK,CAAC,cAAc,CAAC,MAAM,CAC5B,CAAC;gBAEF,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAEpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBAEH,2FAA2F;gBAC3F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"plugin-wasm.js","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-wasm.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,OAAO,CAAC;AAGzB,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,cAAc;QACpB,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjB,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,6EAA6E;YAC7E,4DAA4D;YAC5D,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACjD,CAAC;gBAED,wHAAwH;gBACxH,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAE/D,kGAAkG;gBAClG,MAAM,CACJ,KAAK,CAAC,cAAc,CAAC,aAAa,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,EACjE,sDAAsD,CACvD,CAAC;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CACzB,KAAK,CAAC,cAAc,CAAC,aAAa,EAClC,KAAK,CAAC,cAAc,CAAC,MAAM,CAC5B,CAAC;gBAEF,8GAA8G;gBAC9G,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAC7B,KAAK,CAAC,cAAc,CAAC,aAAa,EAClC,QAAQ,CACT,CAAC;gBAEF,gDAAgD;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The default Cloudflare Workers compatibility date, set based on the current workerd release used by Miniflare.
3
+ */
4
+ export declare const DEFAULT_COMPATIBILITY_DATE: any;
5
+ //# sourceMappingURL=compatibility-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility-date.d.ts","sourceRoot":"","sources":["../../src/cloudflare/compatibility-date.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,0BAA0B,KAA6B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { supportedCompatibilityDate } from "miniflare";
2
+ /**
3
+ * The default Cloudflare Workers compatibility date, set based on the current workerd release used by Miniflare.
4
+ */
5
+ export const DEFAULT_COMPATIBILITY_DATE = supportedCompatibilityDate;
6
+ //# sourceMappingURL=compatibility-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility-date.js","sourceRoot":"","sources":["../../src/cloudflare/compatibility-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,0BAA0B,CAAC"}
@@ -19,7 +19,7 @@ export * from "./bucket.ts";
19
19
  export * from "./bun-spa/bun-spa.ts";
20
20
  export * from "./certificate-pack.ts";
21
21
  export * from "./cloudflare-env-proxy.ts";
22
- export * from "./compatibility-date.gen.ts";
22
+ export * from "./compatibility-date.ts";
23
23
  export * from "./container.ts";
24
24
  export * from "./custom-domain.ts";
25
25
  export * from "./d1-clone.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -20,7 +20,7 @@ export * from "./bucket.js";
20
20
  export * from "./bun-spa/bun-spa.js";
21
21
  export * from "./certificate-pack.js";
22
22
  export * from "./cloudflare-env-proxy.js";
23
- export * from "./compatibility-date.gen.js";
23
+ export * from "./compatibility-date.js";
24
24
  export * from "./container.js";
25
25
  export * from "./custom-domain.js";
26
26
  export * from "./d1-clone.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/cloudflare/next.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAE3E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EACnD,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,WAAW,CAAC,CAAC,CAAM,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAgDpB"}
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/cloudflare/next.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAE3E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,EACnD,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,WAAW,CAAC,CAAC,CAAM,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAkFpB"}
@@ -1,3 +1,11 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
1
9
  import * as fs from "node:fs/promises";
2
10
  import path from "pathe";
3
11
  import pc from "picocolors";
@@ -15,6 +23,43 @@ export async function Nextjs(id, props = {}) {
15
23
  "This may cause unexpected behavior. Please add the file to your .gitignore.",
16
24
  ].join(" "));
17
25
  }
26
+ const dev = normalizeCommand(props.dev, {
27
+ command: `${runner} next dev`,
28
+ env: {
29
+ NEXTJS_ENV: "development",
30
+ },
31
+ });
32
+ let domain = typeof props.dev === "object" ? props.dev.domain : undefined;
33
+ if (!domain) {
34
+ let port;
35
+ const args = dev.command.split(" ");
36
+ const findArg = (arg) => {
37
+ if (args.find((arg) => arg.startsWith(`${arg}=`))) {
38
+ return args.find((arg) => arg.startsWith(`${arg}=`))?.split("=")[1];
39
+ }
40
+ else if (args.includes(arg)) {
41
+ const index = args.indexOf(arg);
42
+ return args[index + 1];
43
+ }
44
+ return undefined;
45
+ };
46
+ if ((port = findArg("--port"))) {
47
+ domain = `localhost:${port}`;
48
+ }
49
+ else if ((port = findArg("-p"))) {
50
+ domain = `localhost:${port}`;
51
+ }
52
+ else {
53
+ try {
54
+ const config = await import(__rewriteRelativeImportExtension(path.resolve(props.cwd ?? process.cwd(), "next.config.ts")));
55
+ port = config.default?.devServer?.port ?? 3000;
56
+ }
57
+ catch { }
58
+ }
59
+ if (port) {
60
+ domain = `localhost:${port}`;
61
+ }
62
+ }
18
63
  return await Website(id, {
19
64
  bundle: {
20
65
  minify: true,
@@ -32,12 +77,10 @@ export async function Nextjs(id, props = {}) {
32
77
  NEXTJS_ENV: "production",
33
78
  },
34
79
  }),
35
- dev: normalizeCommand(props.dev, {
36
- command: `${runner} next dev`,
37
- env: {
38
- NEXTJS_ENV: "development",
39
- },
40
- }),
80
+ dev: {
81
+ ...dev,
82
+ domain,
83
+ },
41
84
  // OpenNext generates the files, but relies on us to bundle them.
42
85
  noBundle: props.noBundle ?? false,
43
86
  spa: false,
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/cloudflare/next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/cloudflare/next.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import type { Context } from "../context.ts";
2
2
  import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
3
- import type { Zone } from "./zone.ts";
3
+ import { type Zone } from "./zone.ts";
4
4
  /**
5
5
  * Properties for creating or updating a RedirectRule
6
6
  */
7
7
  export interface RedirectRuleProps extends CloudflareApiOptions {
8
+ /**
9
+ * Description of the redirect rule
10
+ *
11
+ * @default ${app.name}-${app.stage}-${id}
12
+ */
13
+ description?: string;
8
14
  /**
9
15
  * The zone where the redirect rule will be applied
10
16
  * Can be a zone ID string or a Zone resource
@@ -79,6 +85,10 @@ export interface RedirectRule {
79
85
  * The zone ID where the rule is applied
80
86
  */
81
87
  zoneId: string;
88
+ /**
89
+ * Description of the redirect rule
90
+ */
91
+ description: string;
82
92
  /**
83
93
  * The request URL pattern (for wildcard redirects)
84
94
  */
@@ -158,7 +168,7 @@ export interface RedirectRule {
158
168
  *
159
169
  * @see https://developers.cloudflare.com/rules/url-forwarding/single-redirects/
160
170
  */
161
- export declare const RedirectRule: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<RedirectRule>, _id: string, props: RedirectRuleProps) => Promise<RedirectRule>);
171
+ export declare const RedirectRule: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<RedirectRule>, id: string, props: RedirectRuleProps) => Promise<RedirectRule>);
162
172
  /**
163
173
  * Find a specific rule in a ruleset
164
174
  */
@@ -1 +1 @@
1
- {"version":3,"file":"redirect-rule.d.ts","sourceRoot":"","sources":["../../src/cloudflare/redirect-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAEzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAgBD;;GAEG;AACH,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE;QAClB,UAAU,CAAC,EAAE;YACX,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE;gBACX,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;YACF,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,YAAY,yFAGf,OAAO,CAAC,YAAY,CAAC,OACtB,MAAM,SACJ,iBAAiB,KACvB,OAAO,CAAC,YAAY,CAAC,CAmGzB,CAAC;AAiNF;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAchC"}
1
+ {"version":3,"file":"redirect-rule.d.ts","sourceRoot":"","sources":["../../src/cloudflare/redirect-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAmB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAEzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAgBD;;GAEG;AACH,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE;QAClB,UAAU,CAAC,EAAE;YACX,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE;gBACX,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;YACF,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,YAAY,yFAGf,OAAO,CAAC,YAAY,CAAC,MACvB,MAAM,SACH,iBAAiB,KACvB,OAAO,CAAC,YAAY,CAAC,CAiHzB,CAAC;AAiLF;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAchC"}
@@ -1,5 +1,6 @@
1
1
  import { Resource } from "../resource.js";
2
2
  import { createCloudflareApi, } from "./api.js";
3
+ import { getZoneByDomain } from "./zone.js";
3
4
  /**
4
5
  * A Cloudflare Redirect Rule enables URL redirects and rewrites using Cloudflare's Rules engine.
5
6
  * Supports wildcard redirects, static redirects, and dynamic redirects with expressions.
@@ -50,15 +51,27 @@ import { createCloudflareApi, } from "./api.js";
50
51
  *
51
52
  * @see https://developers.cloudflare.com/rules/url-forwarding/single-redirects/
52
53
  */
53
- export const RedirectRule = Resource("cloudflare::RedirectRule", async function (_id, props) {
54
+ export const RedirectRule = Resource("cloudflare::RedirectRule", async function (id, props) {
54
55
  // Create Cloudflare API client
55
56
  const api = await createCloudflareApi(props);
57
+ const description = props.description ?? this.scope.createPhysicalName(id);
56
58
  // Get zone ID
57
- const zoneId = typeof props.zone === "string" ? props.zone : props.zone.id;
59
+ const zoneId = typeof props.zone === "string"
60
+ ? props.zone.includes(".")
61
+ ? (await getZoneByDomain(api, props.zone))?.id
62
+ : props.zone
63
+ : props.zone.id;
64
+ if (!zoneId) {
65
+ throw new Error(`Zone ${props.zone} not found`);
66
+ }
58
67
  if (this.phase === "delete") {
59
68
  if (this.output?.ruleId && this.output?.rulesetId) {
60
- // Let delete errors propagate instead of swallowing them
61
- await deleteRedirectRule(api, zoneId, this.output.rulesetId, this.output.ruleId);
69
+ await deleteRule({
70
+ api,
71
+ zoneId,
72
+ rulesetId: this.output.rulesetId,
73
+ ruleId: this.output.ruleId,
74
+ });
62
75
  }
63
76
  return this.destroy();
64
77
  }
@@ -84,8 +97,13 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
84
97
  if (this.phase === "update" &&
85
98
  this.output?.ruleId &&
86
99
  this.output?.rulesetId) {
87
- // Update existing rule
88
- const updatedRule = await updateRedirectRule(api, zoneId, this.output.rulesetId, this.output.ruleId, {
100
+ // Update existing rule using PATCH API
101
+ const updatedRule = await updateRule({
102
+ api,
103
+ zoneId,
104
+ rulesetId: this.output.rulesetId,
105
+ ruleId: this.output.ruleId,
106
+ description,
89
107
  expression: ruleExpression,
90
108
  targetUrl: props.targetUrl,
91
109
  statusCode,
@@ -95,6 +113,7 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
95
113
  ruleId: updatedRule.id,
96
114
  rulesetId: this.output.rulesetId,
97
115
  zoneId,
116
+ description,
98
117
  requestUrl: props.requestUrl,
99
118
  expression: props.expression,
100
119
  targetUrl: props.targetUrl,
@@ -106,8 +125,12 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
106
125
  }
107
126
  // Get or create the redirect ruleset for this zone
108
127
  const rulesetId = await getOrCreateRedirectRuleset(api, zoneId);
109
- // Create the rule
110
- const createdRule = await createRedirectRule(api, zoneId, rulesetId, {
128
+ // Create the rule using POST API
129
+ const createdRule = await createRule({
130
+ api,
131
+ zoneId,
132
+ rulesetId,
133
+ description,
111
134
  expression: ruleExpression,
112
135
  targetUrl: props.targetUrl,
113
136
  statusCode,
@@ -117,6 +140,7 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
117
140
  ruleId: createdRule.id,
118
141
  rulesetId,
119
142
  zoneId,
143
+ description,
120
144
  requestUrl: props.requestUrl,
121
145
  expression: props.expression,
122
146
  targetUrl: props.targetUrl,
@@ -165,86 +189,57 @@ async function getOrCreateRedirectRuleset(api, zoneId) {
165
189
  return await createRedirectRuleset(api, zoneId);
166
190
  }
167
191
  /**
168
- * Create a new redirect rule by updating the ruleset
192
+ * Build the redirect rule body for API requests
169
193
  */
170
- async function createRedirectRule(api, zoneId, rulesetId, ruleData) {
171
- // Get current ruleset
172
- const ruleset = await getRuleset(api, zoneId, rulesetId);
173
- if (!ruleset) {
174
- throw new Error(`Ruleset ${rulesetId} not found`);
175
- }
176
- // Create new rule object
177
- const newRule = {
194
+ function buildRuleBody(data) {
195
+ return {
178
196
  action: "redirect",
179
- expression: ruleData.expression,
197
+ description: data.description,
198
+ expression: data.expression,
199
+ enabled: true,
180
200
  action_parameters: {
181
201
  from_value: {
182
- status_code: ruleData.statusCode,
202
+ status_code: data.statusCode,
183
203
  target_url: {
184
- value: ruleData.targetUrl,
204
+ value: data.targetUrl,
185
205
  },
186
- preserve_query_string: ruleData.preserveQueryString,
206
+ preserve_query_string: data.preserveQueryString,
187
207
  },
188
208
  },
189
- enabled: true,
190
209
  };
191
- // Update ruleset with new rule
192
- const response = await api.put(`/zones/${zoneId}/rulesets/${rulesetId}`, {
193
- name: ruleset.name,
194
- description: ruleset.description,
195
- kind: ruleset.kind,
196
- phase: ruleset.phase,
197
- rules: [...(ruleset.rules ?? []), newRule],
198
- });
210
+ }
211
+ /**
212
+ * Create a new redirect rule using the individual rule API
213
+ * @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/create/
214
+ */
215
+ async function createRule(data) {
216
+ const { api, zoneId, rulesetId, ...ruleFields } = data;
217
+ const response = await api.post(`/zones/${zoneId}/rulesets/${rulesetId}/rules`, buildRuleBody(ruleFields));
199
218
  if (!response.ok) {
200
219
  const errorBody = await response.text();
201
- throw new Error(`Failed to create redirect rule: ${response.statusText}\nResponse: ${errorBody}`);
220
+ throw new Error(`Failed to create redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
202
221
  }
203
222
  const result = (await response.json());
204
- // Return the last rule (the one we just added)
223
+ // The API returns the updated ruleset, find the newly created rule (last one)
205
224
  const createdRule = result.result.rules[result.result.rules.length - 1];
225
+ if (!createdRule) {
226
+ throw new Error("Created rule not found in response");
227
+ }
206
228
  return createdRule;
207
229
  }
208
230
  /**
209
- * Update an existing redirect rule by updating the ruleset
231
+ * Update an existing redirect rule using the individual rule API
232
+ * @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/edit/
210
233
  */
211
- async function updateRedirectRule(api, zoneId, rulesetId, ruleId, ruleData) {
212
- // Get current ruleset
213
- const ruleset = await getRuleset(api, zoneId, rulesetId);
214
- if (!ruleset) {
215
- throw new Error(`Ruleset ${rulesetId} not found`);
234
+ async function updateRule(data) {
235
+ const { api, zoneId, rulesetId, ruleId, ...ruleFields } = data;
236
+ if (!ruleId) {
237
+ throw new Error("ruleId is required for update");
216
238
  }
217
- // Find and update the rule
218
- const updatedRules = ruleset.rules.map((rule) => {
219
- if (rule.id === ruleId) {
220
- return {
221
- ...rule,
222
- action: "redirect",
223
- expression: ruleData.expression,
224
- action_parameters: {
225
- from_value: {
226
- status_code: ruleData.statusCode,
227
- target_url: {
228
- value: ruleData.targetUrl,
229
- },
230
- preserve_query_string: ruleData.preserveQueryString,
231
- },
232
- },
233
- enabled: true,
234
- };
235
- }
236
- return rule;
237
- });
238
- // Update ruleset with modified rules
239
- const response = await api.put(`/zones/${zoneId}/rulesets/${rulesetId}`, {
240
- name: ruleset.name,
241
- description: ruleset.description,
242
- kind: ruleset.kind,
243
- phase: ruleset.phase,
244
- rules: updatedRules,
245
- });
239
+ const response = await api.patch(`/zones/${zoneId}/rulesets/${rulesetId}/rules/${ruleId}`, buildRuleBody(ruleFields));
246
240
  if (!response.ok) {
247
- throw new Error(`Failed to update redirect rule: ${response.statusText}`);
241
+ const errorBody = await response.text();
242
+ throw new Error(`Failed to update redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
248
243
  }
249
244
  const result = (await response.json());
250
245
  // Find and return the updated rule
@@ -255,15 +250,17 @@ async function updateRedirectRule(api, zoneId, rulesetId, ruleId, ruleData) {
255
250
  return updatedRule;
256
251
  }
257
252
  /**
258
- * Get a ruleset with its rules
253
+ * Delete a redirect rule using the individual rule API
254
+ * @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/delete/
259
255
  */
260
- async function getRuleset(api, zoneId, rulesetId) {
261
- const response = await api.get(`/zones/${zoneId}/rulesets/${rulesetId}`);
262
- if (!response.ok) {
263
- return null;
256
+ async function deleteRule(data) {
257
+ const { api, zoneId, rulesetId, ruleId } = data;
258
+ const response = await api.delete(`/zones/${zoneId}/rulesets/${rulesetId}/rules/${ruleId}`);
259
+ // 404 is acceptable - rule may already be deleted
260
+ if (!response.ok && response.status !== 404) {
261
+ const errorBody = await response.text();
262
+ throw new Error(`Failed to delete redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
264
263
  }
265
- const result = (await response.json());
266
- return result.result;
267
264
  }
268
265
  /**
269
266
  * Find a specific rule in a ruleset
@@ -274,31 +271,9 @@ export async function findRuleInRuleset(api, zoneId, rulesetId, ruleId) {
274
271
  throw new Error(`Failed to get ruleset: ${response.status} ${response.statusText}`);
275
272
  }
276
273
  const rulesetData = (await response.json());
277
- const rule = rulesetData.result.rules.find((r) => r.id === ruleId);
274
+ const rule = rulesetData.result.rules?.find((r) => r.id === ruleId);
278
275
  return rule || null;
279
276
  }
280
- /**
281
- * Delete a redirect rule by updating the ruleset to exclude it
282
- */
283
- async function deleteRedirectRule(api, zoneId, rulesetId, ruleId) {
284
- const ruleset = await getRuleset(api, zoneId, rulesetId);
285
- if (!ruleset) {
286
- throw new Error(`Ruleset ${rulesetId} not found for deletion`);
287
- }
288
- // Filter out the rule to delete
289
- const updatedRules = ruleset.rules.filter((rule) => rule.id !== ruleId);
290
- // Update the ruleset with the filtered rules
291
- const response = await api.put(`/zones/${zoneId}/rulesets/${rulesetId}`, {
292
- name: ruleset.name,
293
- description: ruleset.description,
294
- kind: ruleset.kind,
295
- phase: ruleset.phase,
296
- rules: updatedRules,
297
- });
298
- if (!response.ok) {
299
- throw new Error(`Failed to delete redirect rule: ${response.statusText}`);
300
- }
301
- }
302
277
  /**
303
278
  * Convert a wildcard URL pattern to a Cloudflare Rules expression
304
279
  * Uses operators available on Free plans (no regex matching)