alchemy 0.29.2 → 0.30.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.
Files changed (57) hide show
  1. package/bin/alchemy.mjs +16086 -0
  2. package/bin/alchemy.ts +67 -0
  3. package/bin/create-alchemy.ts +1208 -0
  4. package/lib/cloudflare/api-error.d.ts.map +1 -1
  5. package/lib/cloudflare/api-error.js +2 -1
  6. package/lib/cloudflare/api-error.js.map +1 -1
  7. package/lib/cloudflare/bindings.d.ts +16 -3
  8. package/lib/cloudflare/bindings.d.ts.map +1 -1
  9. package/lib/cloudflare/bound.d.ts +3 -7
  10. package/lib/cloudflare/bound.d.ts.map +1 -1
  11. package/lib/cloudflare/bundle/bundle-worker.d.ts +1 -0
  12. package/lib/cloudflare/bundle/bundle-worker.d.ts.map +1 -1
  13. package/lib/cloudflare/bundle/bundle-worker.js +16 -5
  14. package/lib/cloudflare/bundle/bundle-worker.js.map +1 -1
  15. package/lib/cloudflare/nuxt.d.ts.map +1 -1
  16. package/lib/cloudflare/nuxt.js +2 -1
  17. package/lib/cloudflare/nuxt.js.map +1 -1
  18. package/lib/cloudflare/redwood.d.ts.map +1 -1
  19. package/lib/cloudflare/redwood.js +1 -0
  20. package/lib/cloudflare/redwood.js.map +1 -1
  21. package/lib/cloudflare/secret.d.ts +4 -0
  22. package/lib/cloudflare/secret.d.ts.map +1 -1
  23. package/lib/cloudflare/secret.js +46 -7
  24. package/lib/cloudflare/secret.js.map +1 -1
  25. package/lib/cloudflare/secrets-store.d.ts +1 -7
  26. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  27. package/lib/cloudflare/secrets-store.js +2 -9
  28. package/lib/cloudflare/secrets-store.js.map +1 -1
  29. package/lib/cloudflare/worker-metadata.js +4 -4
  30. package/lib/cloudflare/worker-metadata.js.map +1 -1
  31. package/lib/cloudflare/worker.d.ts +6 -0
  32. package/lib/cloudflare/worker.d.ts.map +1 -1
  33. package/lib/cloudflare/worker.js +1 -0
  34. package/lib/cloudflare/worker.js.map +1 -1
  35. package/lib/cloudflare/wrangler.json.js +6 -10
  36. package/lib/cloudflare/wrangler.json.js.map +1 -1
  37. package/lib/secret.d.ts +5 -0
  38. package/lib/secret.d.ts.map +1 -1
  39. package/lib/secret.js +1 -1
  40. package/lib/secret.js.map +1 -1
  41. package/lib/util/content-type.d.ts.map +1 -1
  42. package/lib/util/content-type.js +24 -20
  43. package/lib/util/content-type.js.map +1 -1
  44. package/package.json +11 -5
  45. package/src/cloudflare/api-error.ts +4 -1
  46. package/src/cloudflare/bindings.ts +17 -2
  47. package/src/cloudflare/bound.ts +15 -23
  48. package/src/cloudflare/bundle/bundle-worker.ts +26 -5
  49. package/src/cloudflare/nuxt.ts +2 -1
  50. package/src/cloudflare/redwood.ts +1 -0
  51. package/src/cloudflare/secret.ts +87 -7
  52. package/src/cloudflare/secrets-store.ts +3 -20
  53. package/src/cloudflare/worker-metadata.ts +4 -4
  54. package/src/cloudflare/worker.ts +8 -0
  55. package/src/cloudflare/wrangler.json.ts +6 -10
  56. package/src/secret.ts +7 -1
  57. package/src/util/content-type.ts +24 -20
package/bin/alchemy.ts ADDED
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ import { parseArgs } from "node:util";
3
+ import { createAlchemy } from "./create-alchemy.ts";
4
+
5
+ // Parse command-line arguments. We allow unknown flags because different
6
+ // sub-commands may accept different sets.
7
+ const { values, positionals } = parseArgs({
8
+ allowPositionals: true,
9
+ // We keep the option list flat – sub-commands will decide which ones they care about.
10
+ options: {
11
+ template: { type: "string" },
12
+ yes: { type: "boolean", short: "y" },
13
+ overwrite: { type: "boolean" },
14
+ help: { type: "boolean", short: "h" },
15
+ version: { type: "boolean", short: "v" },
16
+ },
17
+ });
18
+
19
+ // First positional is the sub-command (e.g. `create`)
20
+ const command = positionals.shift();
21
+
22
+ const usage = `Usage: alchemy <command> [options]
23
+
24
+ Available commands:
25
+ create Scaffold a new project
26
+ `;
27
+
28
+ if (!command) {
29
+ console.error(usage);
30
+ process.exit(1);
31
+ }
32
+
33
+ switch (command) {
34
+ case "create": {
35
+ // The first remaining positional is treated as the project name.
36
+ const name = positionals.shift();
37
+
38
+ // If the user explicitly requested help or version, forward the flags even
39
+ // when no project name is provided so the underlying handler can display
40
+ // the appropriate information.
41
+ if (values.help || values.version) {
42
+ await createAlchemy({
43
+ name,
44
+ template: values.template as string | undefined,
45
+ yes: values.yes as boolean | undefined,
46
+ overwrite: values.overwrite as boolean | undefined,
47
+ help: values.help as boolean | undefined,
48
+ version: values.version as boolean | undefined,
49
+ });
50
+ break;
51
+ }
52
+
53
+ await createAlchemy({
54
+ name,
55
+ template: values.template as string | undefined,
56
+ yes: values.yes as boolean | undefined,
57
+ overwrite: values.overwrite as boolean | undefined,
58
+ help: values.help as boolean | undefined,
59
+ version: values.version as boolean | undefined,
60
+ });
61
+ break;
62
+ }
63
+
64
+ default:
65
+ console.error(`Unknown command: ${command}`);
66
+ process.exit(1);
67
+ }