alchemy 0.63.1 → 0.65.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.
- package/bin/alchemy.js +7664 -5857
- package/bin/commands/init.ts +130 -9
- package/bin/constants.ts +4 -0
- package/bin/services/cdp-manager/cdp-proxy.ts +69 -0
- package/bin/services/cdp-manager/server.ts +173 -0
- package/bin/services/execute-alchemy.ts +83 -4
- package/bin/types.ts +1 -0
- package/lib/alchemy.d.ts +4 -0
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +10 -4
- package/lib/alchemy.js.map +1 -1
- package/lib/apply.d.ts +3 -0
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +11 -1
- package/lib/apply.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +3 -1
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bucket.d.ts +2 -1
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/bundle/cloudflare-internal.d.ts +6 -0
- package/lib/cloudflare/bundle/cloudflare-internal.d.ts.map +1 -0
- package/lib/cloudflare/bundle/cloudflare-internal.js +39 -0
- package/lib/cloudflare/bundle/cloudflare-internal.js.map +1 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts +2 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.d.ts.map +1 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.js +9 -0
- package/lib/cloudflare/bundle/nodejs-builtin-modules.js.map +1 -0
- package/lib/cloudflare/bundle/plugin-als-external.d.ts +6 -0
- package/lib/cloudflare/bundle/plugin-als-external.d.ts.map +1 -0
- package/lib/cloudflare/bundle/plugin-als-external.js +12 -0
- package/lib/cloudflare/bundle/plugin-als-external.js.map +1 -0
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts +4 -1
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.d.ts.map +1 -1
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js +23 -23
- package/lib/cloudflare/bundle/plugin-hybrid-node-compat.js.map +1 -1
- package/lib/cloudflare/bundle/plugin-node-compat.d.ts +11 -0
- package/lib/cloudflare/bundle/plugin-node-compat.d.ts.map +1 -0
- package/lib/cloudflare/bundle/plugin-node-compat.js +93 -0
- package/lib/cloudflare/bundle/plugin-node-compat.js.map +1 -0
- package/lib/cloudflare/bundle/plugin-wasm.d.ts.map +1 -1
- package/lib/cloudflare/bundle/plugin-wasm.js +20 -11
- package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/d1-local-migrations.js.map +1 -1
- package/lib/cloudflare/durable-object-namespace.d.ts +1 -0
- package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -1
- package/lib/cloudflare/durable-object-namespace.js.map +1 -1
- package/lib/cloudflare/hyperdrive.d.ts +7 -2
- package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
- package/lib/cloudflare/hyperdrive.js +39 -57
- package/lib/cloudflare/hyperdrive.js.map +1 -1
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/next.d.ts +13 -0
- package/lib/cloudflare/next.d.ts.map +1 -0
- package/lib/cloudflare/next.js +91 -0
- package/lib/cloudflare/next.js.map +1 -0
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +80 -82
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker-assets.d.ts +3 -3
- package/lib/cloudflare/worker-assets.d.ts.map +1 -1
- package/lib/cloudflare/worker-assets.js +22 -47
- package/lib/cloudflare/worker-assets.js.map +1 -1
- package/lib/cloudflare/worker-bundle.d.ts +6 -0
- package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/worker-bundle.js +34 -10
- package/lib/cloudflare/worker-bundle.js.map +1 -1
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +1 -0
- package/lib/cloudflare/worker-metadata.js.map +1 -1
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +24 -6
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +4 -6
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +20 -15
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/context.d.ts +3 -1
- package/lib/context.d.ts.map +1 -1
- package/lib/context.js +2 -2
- package/lib/context.js.map +1 -1
- package/lib/destroy.d.ts +8 -0
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +20 -4
- package/lib/destroy.js.map +1 -1
- package/lib/planetscale/api/client.gen.d.ts +1750 -0
- package/lib/planetscale/api/client.gen.d.ts.map +1 -0
- package/lib/planetscale/api/client.gen.js +2401 -0
- package/lib/planetscale/api/client.gen.js.map +1 -0
- package/lib/planetscale/api/index.d.ts +3 -0
- package/lib/planetscale/api/index.d.ts.map +1 -0
- package/lib/planetscale/api/index.js +4 -0
- package/lib/planetscale/api/index.js.map +1 -0
- package/lib/planetscale/api/types.gen.d.ts +12156 -0
- package/lib/planetscale/api/types.gen.d.ts.map +1 -0
- package/lib/planetscale/api/types.gen.js +2 -0
- package/lib/planetscale/api/types.gen.js.map +1 -0
- package/lib/planetscale/branch.d.ts +5 -8
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +122 -97
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +24 -11
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +163 -118
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/index.d.ts +2 -1
- package/lib/planetscale/index.d.ts.map +1 -1
- package/lib/planetscale/index.js +2 -1
- package/lib/planetscale/index.js.map +1 -1
- package/lib/planetscale/password.d.ts +7 -8
- package/lib/planetscale/password.d.ts.map +1 -1
- package/lib/planetscale/password.js +74 -57
- package/lib/planetscale/password.js.map +1 -1
- package/lib/planetscale/role.d.ts +126 -0
- package/lib/planetscale/role.d.ts.map +1 -0
- package/lib/planetscale/role.js +144 -0
- package/lib/planetscale/role.js.map +1 -0
- package/lib/planetscale/utils.d.ts +23 -7
- package/lib/planetscale/utils.d.ts.map +1 -1
- package/lib/planetscale/utils.js +169 -75
- package/lib/planetscale/utils.js.map +1 -1
- package/lib/scope.d.ts +5 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +11 -3
- package/lib/scope.js.map +1 -1
- package/lib/secret.d.ts +0 -3
- package/lib/secret.d.ts.map +1 -1
- package/lib/secret.js +0 -2
- package/lib/secret.js.map +1 -1
- package/lib/state/cloudflare-state-store.js +3 -3
- package/lib/state/cloudflare-state-store.js.map +1 -1
- package/lib/test/bun.d.ts +2 -2
- package/lib/test/bun.d.ts.map +1 -1
- package/lib/test/vitest.d.ts +2 -2
- package/lib/test/vitest.d.ts.map +1 -1
- package/lib/test/vitest.js +4 -4
- package/lib/test/vitest.js.map +1 -1
- package/lib/util/content-type.js +2 -2
- package/lib/util/content-type.js.map +1 -1
- package/lib/util/dedent.d.ts +3 -14
- package/lib/util/dedent.d.ts.map +1 -1
- package/lib/util/dedent.js +33 -45
- package/lib/util/dedent.js.map +1 -1
- package/lib/util/memoize.d.ts.map +1 -1
- package/lib/util/memoize.js +11 -1
- package/lib/util/memoize.js.map +1 -1
- package/package.json +8 -3
- package/src/alchemy.ts +14 -6
- package/src/apply.ts +13 -1
- package/src/cloudflare/bindings.ts +3 -1
- package/src/cloudflare/bucket.ts +3 -1
- package/src/cloudflare/bundle/cloudflare-internal.ts +42 -0
- package/src/cloudflare/bundle/nodejs-builtin-modules.ts +14 -0
- package/src/cloudflare/bundle/plugin-als-external.ts +13 -0
- package/src/cloudflare/bundle/plugin-hybrid-node-compat.ts +29 -28
- package/src/cloudflare/bundle/plugin-node-compat.ts +114 -0
- package/src/cloudflare/bundle/plugin-wasm.ts +34 -14
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/d1-local-migrations.ts +2 -2
- package/src/cloudflare/durable-object-namespace.ts +1 -0
- package/src/cloudflare/hyperdrive.ts +136 -95
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/next.ts +123 -0
- package/src/cloudflare/website.ts +88 -89
- package/src/cloudflare/worker-assets.ts +43 -105
- package/src/cloudflare/worker-bundle.ts +46 -9
- package/src/cloudflare/worker-metadata.ts +2 -0
- package/src/cloudflare/worker.ts +35 -7
- package/src/cloudflare/wrangler.json.ts +114 -113
- package/src/context.ts +5 -3
- package/src/destroy.ts +26 -8
- package/src/planetscale/api/client.gen.ts +2882 -0
- package/src/planetscale/api/index.ts +4 -0
- package/src/planetscale/api/types.gen.ts +13041 -0
- package/src/planetscale/branch.ts +170 -162
- package/src/planetscale/database.ts +263 -243
- package/src/planetscale/index.ts +2 -1
- package/src/planetscale/password.ts +89 -86
- package/src/planetscale/role.ts +278 -0
- package/src/planetscale/utils.ts +289 -128
- package/src/scope.ts +12 -3
- package/src/secret.ts +0 -4
- package/src/state/cloudflare-state-store.ts +4 -4
- package/src/test/bun.ts +2 -2
- package/src/test/vitest.ts +6 -6
- package/src/util/content-type.ts +2 -2
- package/src/util/dedent.ts +34 -50
- package/src/util/memoize.ts +13 -1
- package/templates/astro/alchemy.run.ts +1 -3
- package/templates/hono/alchemy.run.ts +0 -1
- package/templates/nextjs/README.md +85 -0
- package/templates/nextjs/_env +1 -0
- package/templates/nextjs/_env.example +1 -0
- package/templates/nextjs/_gitignore +46 -0
- package/templates/nextjs/alchemy.run.ts +16 -0
- package/templates/nextjs/eslint.config.mjs +16 -0
- package/templates/nextjs/next-env.d.ts +5 -0
- package/templates/nextjs/next.config.ts +10 -0
- package/templates/nextjs/open-next.config.ts +5 -0
- package/templates/nextjs/package.json +31 -0
- package/templates/nextjs/src/app/api/hello/route.ts +19 -0
- package/templates/nextjs/src/app/favicon.ico +0 -0
- package/templates/nextjs/src/app/globals.css +72 -0
- package/templates/nextjs/src/app/layout.tsx +19 -0
- package/templates/nextjs/src/app/page.tsx +55 -0
- package/templates/nextjs/tsconfig.json +33 -0
- package/templates/nextjs/types/env.d.ts +14 -0
- package/templates/nuxt/alchemy.run.ts +1 -3
- package/templates/react-router/alchemy.run.ts +1 -3
- package/templates/rwsdk/alchemy.run.ts +0 -2
- package/templates/sveltekit/alchemy.run.ts +1 -3
- package/templates/tanstack-start/alchemy.run.ts +1 -3
- package/templates/typescript/alchemy.run.ts +0 -1
- package/templates/vite/alchemy.run.ts +0 -1
- package/workers/cloudflare-state-store.js +58 -58
- package/lib/cloudflare/bundle/externals.d.ts +0 -3
- package/lib/cloudflare/bundle/externals.d.ts.map +0 -1
- package/lib/cloudflare/bundle/externals.js +0 -35
- package/lib/cloudflare/bundle/externals.js.map +0 -1
- package/lib/cloudflare/bundle/plugin-compat-warning.d.ts +0 -10
- package/lib/cloudflare/bundle/plugin-compat-warning.d.ts.map +0 -1
- package/lib/cloudflare/bundle/plugin-compat-warning.js +0 -67
- package/lib/cloudflare/bundle/plugin-compat-warning.js.map +0 -1
- package/lib/planetscale/api.d.ts +0 -53
- package/lib/planetscale/api.d.ts.map +0 -1
- package/lib/planetscale/api.js +0 -84
- package/lib/planetscale/api.js.map +0 -1
- package/src/cloudflare/bundle/externals.ts +0 -36
- package/src/cloudflare/bundle/plugin-compat-warning.ts +0 -94
- package/src/planetscale/api.ts +0 -115
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { relative } from "node:path";
|
|
2
|
+
import chalk from "picocolors";
|
|
3
|
+
import { dedent } from "../../util/dedent.js";
|
|
4
|
+
import { logger } from "../../util/logger.js";
|
|
5
|
+
import { NODEJS_MODULES_RE } from "./nodejs-builtin-modules.js";
|
|
6
|
+
/**
|
|
7
|
+
* An esbuild plugin that will:
|
|
8
|
+
* - mark any `node:...` imports as external
|
|
9
|
+
* - warn if there are node imports (if not in v1 mode)
|
|
10
|
+
*
|
|
11
|
+
* Applies to: null, als, legacy and v1 modes.
|
|
12
|
+
*/
|
|
13
|
+
export const esbuildPluginNodeCompatImports = (mode) => ({
|
|
14
|
+
name: "nodejs_compat-imports",
|
|
15
|
+
setup(pluginBuild) {
|
|
16
|
+
// Infinite loop detection
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
// Prevent multiple warnings per package
|
|
19
|
+
const warnedPackages = new Map();
|
|
20
|
+
pluginBuild.onStart(() => {
|
|
21
|
+
seen.clear();
|
|
22
|
+
warnedPackages.clear();
|
|
23
|
+
});
|
|
24
|
+
pluginBuild.onResolve({ filter: NODEJS_MODULES_RE }, async ({ path, kind, resolveDir, importer }) => {
|
|
25
|
+
const specifier = `${path}:${kind}:${resolveDir}:${importer}`;
|
|
26
|
+
if (seen.has(specifier)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
seen.add(specifier);
|
|
30
|
+
// Try to resolve this import as a normal package
|
|
31
|
+
const result = await pluginBuild.resolve(path, {
|
|
32
|
+
kind,
|
|
33
|
+
resolveDir,
|
|
34
|
+
importer,
|
|
35
|
+
});
|
|
36
|
+
if (result.errors.length > 0) {
|
|
37
|
+
// esbuild couldn't resolve the package
|
|
38
|
+
// We should warn the user, but not fail the build
|
|
39
|
+
const pathWarnedPackages = warnedPackages.get(path) ?? [];
|
|
40
|
+
pathWarnedPackages.push(importer);
|
|
41
|
+
warnedPackages.set(path, pathWarnedPackages);
|
|
42
|
+
return { external: true };
|
|
43
|
+
}
|
|
44
|
+
// This is a normal package—don't treat it specially
|
|
45
|
+
return result;
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* If we are bundling a "Service Worker" formatted Worker, imports of external modules,
|
|
49
|
+
* which won't be inlined/bundled by esbuild, are invalid.
|
|
50
|
+
*
|
|
51
|
+
* This `onEnd()` handler will error if it identifies node.js external imports.
|
|
52
|
+
*/
|
|
53
|
+
pluginBuild.onEnd(() => {
|
|
54
|
+
if (pluginBuild.initialOptions.format === "iife" &&
|
|
55
|
+
warnedPackages.size > 0) {
|
|
56
|
+
const paths = new Intl.ListFormat("en-US").format(Array.from(warnedPackages.keys())
|
|
57
|
+
.map((p) => `"${p}"`)
|
|
58
|
+
.sort());
|
|
59
|
+
return {
|
|
60
|
+
errors: [
|
|
61
|
+
{
|
|
62
|
+
text: dedent `
|
|
63
|
+
Unexpected external import of ${paths}.
|
|
64
|
+
Your worker has no default export, which means it is assumed to be a Service Worker format Worker.
|
|
65
|
+
Did you mean to create a ES Module format Worker?
|
|
66
|
+
If so, try adding \`export default { ... }\` in your entry-point.
|
|
67
|
+
See https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/.
|
|
68
|
+
`,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
// Wait until the build finishes to log warnings, so that all files which import a package
|
|
75
|
+
// can be collated
|
|
76
|
+
pluginBuild.onEnd(() => {
|
|
77
|
+
if (mode !== "v1") {
|
|
78
|
+
warnedPackages.forEach((importers, path) => {
|
|
79
|
+
logger.warn(dedent `
|
|
80
|
+
The package "${path}" wasn't found on the file system but is built into node.
|
|
81
|
+
Your Worker may throw errors at runtime unless you enable the "nodejs_compat" compatibility flag. Refer to https://developers.cloudflare.com/workers/runtime-apis/nodejs/ for more details. Imported from:
|
|
82
|
+
${toList(importers, pluginBuild.initialOptions.absWorkingDir)}`);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
function toList(items, absWorkingDir) {
|
|
89
|
+
return items
|
|
90
|
+
.map((i) => ` - ${chalk.blue(relative(absWorkingDir ?? "/", i))}`)
|
|
91
|
+
.join("\n");
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=plugin-node-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-node-compat.js","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-node-compat.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;;;
|
|
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"}
|
|
@@ -9,18 +9,27 @@ export function createWasmPlugin() {
|
|
|
9
9
|
build.onStart(() => {
|
|
10
10
|
modules.clear();
|
|
11
11
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
modules.set(args.path, {
|
|
19
|
-
type: "wasm",
|
|
20
|
-
path: name,
|
|
21
|
-
});
|
|
12
|
+
// Handle imports like `import "./foo.wasm"` and `import "./foo.wasm?module"`
|
|
13
|
+
// TODO(john): Figure out why this suddenly became necessary
|
|
14
|
+
build.onResolve({ filter: /\.wasm(\?.*)?$/ }, async (args) => {
|
|
15
|
+
const resolved = modules.get(args.path);
|
|
16
|
+
if (resolved) {
|
|
17
|
+
return { path: resolved.path, external: true };
|
|
22
18
|
}
|
|
23
|
-
|
|
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(/\?.*$/, "");
|
|
21
|
+
// Resolve path to outdir (required for monorepos if the workdir is not the same as process.cwd())
|
|
22
|
+
assert(build.initialOptions.absWorkingDir && build.initialOptions.outdir, "Missing absWorkingDir or outdir from esbuild options");
|
|
23
|
+
const outdir = path.resolve(build.initialOptions.absWorkingDir, build.initialOptions.outdir);
|
|
24
|
+
// Copy to outdir so it's included in the upload
|
|
25
|
+
await fs.mkdir(outdir, { recursive: true });
|
|
26
|
+
await fs.copyFile(path.join(args.resolveDir, name), path.join(outdir, name));
|
|
27
|
+
modules.set(args.path, {
|
|
28
|
+
type: "wasm",
|
|
29
|
+
path: name,
|
|
30
|
+
});
|
|
31
|
+
// Resolve to the normalized file name (the `?module` query param is not needed in workerd)
|
|
32
|
+
return { path: name, external: true };
|
|
24
33
|
});
|
|
25
34
|
},
|
|
26
35
|
};
|
|
@@ -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,WAAW,CAAC;AAG7B,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;
|
|
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,WAAW,CAAC;AAG7B,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,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,EAAE,CAAC,QAAQ,CACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CACxB,CAAC;gBACF,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,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
|
|
3
3
|
*/
|
|
4
|
-
export declare const DEFAULT_COMPATIBILITY_DATE = "2025-
|
|
4
|
+
export declare const DEFAULT_COMPATIBILITY_DATE = "2025-09-06";
|
|
5
5
|
//# sourceMappingURL=compatibility-date.gen.d.ts.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
|
|
5
5
|
*/
|
|
6
|
-
export const DEFAULT_COMPATIBILITY_DATE = "2025-
|
|
6
|
+
export const DEFAULT_COMPATIBILITY_DATE = "2025-09-06";
|
|
7
7
|
//# sourceMappingURL=compatibility-date.gen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1-local-migrations.js","sourceRoot":"","sources":["../../src/cloudflare/d1-local-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAgC,EAChC,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC,EAAE,gCAAgC;QACvG,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,KAAK,CAAC;QACtB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"d1-local-migrations.js","sourceRoot":"","sources":["../../src/cloudflare/d1-local-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAgC,EAChC,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC,EAAE,gCAAgC;QACvG,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,KAAK,CAAC;QACtB,MAAM,EAAE,GAAe,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAsB,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,OAAO;aACV,OAAO,CACN,8BAA8B,OAAO,CAAC,eAAe;;;;MAIvD,CACC;aACA,GAAG,EAAE,CAAC;QACT,MAAM,iBAAiB,GAAG,MAAM,OAAO;aACpC,OAAO,CACN,oBAAoB,OAAO,CAAC,eAAe,0BAA0B,CACtE;aACA,GAAG,EAAoB,CAAC;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAClC,eAAe,OAAO,CAAC,eAAe,oBAAoB,CAC3D,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3C,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -17,6 +17,7 @@ export type DurableObjectNamespace<T = any> = {
|
|
|
17
17
|
environment?: string;
|
|
18
18
|
sqlite?: boolean;
|
|
19
19
|
namespaceId?: string;
|
|
20
|
+
/** @internal */
|
|
20
21
|
__service__: T;
|
|
21
22
|
};
|
|
22
23
|
export declare function isDurableObjectNamespace(binding: Binding): binding is DurableObjectNamespace;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI;IAC5C,IAAI,EAAE,0BAA0B,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,sBAAsB,CAInC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAC5C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,2BAA2B,GACjC,sBAAsB,CAAC,CAAC,CAAC,CAW3B"}
|
|
1
|
+
{"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI;IAC5C,IAAI,EAAE,0BAA0B,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,WAAW,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,sBAAsB,CAInC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAC5C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,2BAA2B,GACjC,sBAAsB,CAAC,CAAC,CAAC,CAW3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAU,EACV,KAAkC;IAElC,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,EAAE;QACF,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,SAAU;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -127,6 +127,11 @@ export interface HyperdriveProps extends CloudflareApiOptions {
|
|
|
127
127
|
* @internal
|
|
128
128
|
*/
|
|
129
129
|
hyperdriveId?: string;
|
|
130
|
+
/**
|
|
131
|
+
* Whether to adopt an existing hyperdrive config
|
|
132
|
+
* @default false
|
|
133
|
+
*/
|
|
134
|
+
adopt?: boolean;
|
|
130
135
|
dev?: {
|
|
131
136
|
/**
|
|
132
137
|
* The database connection origin configuration for local development
|
|
@@ -139,7 +144,7 @@ export interface HyperdriveProps extends CloudflareApiOptions {
|
|
|
139
144
|
* Output returned after Cloudflare Hyperdrive creation/update.
|
|
140
145
|
* IMPORTANT: The interface name MUST match the exported resource name.
|
|
141
146
|
*/
|
|
142
|
-
export
|
|
147
|
+
export type Hyperdrive = Resource<"cloudflare::Hyperdrive"> & Omit<HyperdriveProps, "origin" | "dev"> & {
|
|
143
148
|
/**
|
|
144
149
|
* The ID of the resource
|
|
145
150
|
*/
|
|
@@ -171,7 +176,7 @@ export interface Hyperdrive extends Resource<"cloudflare::Hyperdrive">, Omit<Hyp
|
|
|
171
176
|
* @internal
|
|
172
177
|
*/
|
|
173
178
|
type: "hyperdrive";
|
|
174
|
-
}
|
|
179
|
+
};
|
|
175
180
|
/**
|
|
176
181
|
* Represents a Cloudflare Hyperdrive configuration.
|
|
177
182
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hyperdrive.d.ts","sourceRoot":"","sources":["../../src/cloudflare/hyperdrive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"hyperdrive.d.ts","sourceRoot":"","sources":["../../src/cloudflare/hyperdrive.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import { Resource } from "../resource.js";
|
|
|
3
3
|
import { Scope } from "../scope.js";
|
|
4
4
|
import { Secret } from "../secret.js";
|
|
5
5
|
import { logger } from "../util/logger.js";
|
|
6
|
-
import { handleApiError } from "./api-error.js";
|
|
7
|
-
import {
|
|
6
|
+
import { CloudflareApiError, handleApiError } from "./api-error.js";
|
|
7
|
+
import { extractCloudflareResult, } from "./api-response.js";
|
|
8
|
+
import { createCloudflareApi, } from "./api.js";
|
|
8
9
|
/**
|
|
9
10
|
* Represents a Cloudflare Hyperdrive configuration.
|
|
10
11
|
*
|
|
@@ -97,6 +98,7 @@ export async function Hyperdrive(id, props) {
|
|
|
97
98
|
}
|
|
98
99
|
const _Hyperdrive = Resource("cloudflare::Hyperdrive", async function (id, props) {
|
|
99
100
|
const hyperdriveId = props.hyperdriveId || this.output?.hyperdriveId;
|
|
101
|
+
const adopt = props.adopt || this.scope.adopt;
|
|
100
102
|
const name = props.name ?? this.output?.name ?? this.scope.createPhysicalName(id);
|
|
101
103
|
if (this.scope.local) {
|
|
102
104
|
return this({
|
|
@@ -111,19 +113,13 @@ const _Hyperdrive = Resource("cloudflare::Hyperdrive", async function (id, props
|
|
|
111
113
|
});
|
|
112
114
|
}
|
|
113
115
|
const api = await createCloudflareApi(props);
|
|
114
|
-
const configsPath = `/accounts/${api.accountId}/hyperdrive/configs`;
|
|
115
|
-
// For create operations, we don't have a hyperdriveId yet
|
|
116
|
-
// For update/delete operations, we need to use the hyperdriveId from props or output
|
|
117
|
-
const configPath = hyperdriveId
|
|
118
|
-
? `${configsPath}/${hyperdriveId}`
|
|
119
|
-
: `${configsPath}`;
|
|
120
116
|
if (this.phase === "delete") {
|
|
121
117
|
if (!hyperdriveId) {
|
|
122
118
|
logger.warn(`No hyperdriveId found for ${id}, skipping delete`);
|
|
123
119
|
return this.destroy();
|
|
124
120
|
}
|
|
125
121
|
try {
|
|
126
|
-
const deleteResponse = await api.delete(
|
|
122
|
+
const deleteResponse = await api.delete(`/accounts/${api.accountId}/hyperdrive/configs/${hyperdriveId}`);
|
|
127
123
|
// Only swallow 404 Not Found errors, all other errors should be handled
|
|
128
124
|
if (!deleteResponse.ok && deleteResponse.status !== 404) {
|
|
129
125
|
await handleApiError(deleteResponse, "delete", "hyperdrive", id);
|
|
@@ -135,71 +131,57 @@ const _Hyperdrive = Resource("cloudflare::Hyperdrive", async function (id, props
|
|
|
135
131
|
}
|
|
136
132
|
return this.destroy();
|
|
137
133
|
}
|
|
138
|
-
let response;
|
|
139
|
-
let apiResource;
|
|
140
134
|
// Prepare request body with unwrapped secrets
|
|
141
|
-
const requestBody = prepareRequestBody(props);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
const requestBody = prepareRequestBody({ ...props, name });
|
|
136
|
+
let result;
|
|
137
|
+
if (hyperdriveId) {
|
|
138
|
+
result = await extractCloudflareResult(`update hyperdrive config "${hyperdriveId}"`, api.put(`/accounts/${api.accountId}/hyperdrive/configs/${hyperdriveId}`, requestBody));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
try {
|
|
142
|
+
result = await extractCloudflareResult(`create hyperdrive config "${name}"`, api.post(`/accounts/${api.accountId}/hyperdrive/configs`, requestBody));
|
|
146
143
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const getResponse = await api.get(configPath);
|
|
153
|
-
if (getResponse.status === 200) {
|
|
154
|
-
// Hyperdrive exists, update it
|
|
155
|
-
logger.log(`Hyperdrive '${id}' already exists. Updating existing resource.`);
|
|
156
|
-
response = await api.put(configPath, requestBody);
|
|
157
|
-
}
|
|
158
|
-
else if (getResponse.status === 404) {
|
|
159
|
-
// Hyperdrive doesn't exist, create new
|
|
160
|
-
response = await api.post(configsPath, {
|
|
161
|
-
...requestBody,
|
|
162
|
-
// Ensure name is set correctly if not already set
|
|
163
|
-
name: props.name || id,
|
|
164
|
-
});
|
|
144
|
+
catch (error) {
|
|
145
|
+
if (error instanceof CloudflareApiError &&
|
|
146
|
+
error.errorData.some((e) => e.code === 2017)) {
|
|
147
|
+
if (!adopt) {
|
|
148
|
+
throw new Error(`Hyperdrive config "${name}" already exists. Use adopt: true to adopt it.`, { cause: error });
|
|
165
149
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
150
|
+
const existing = await findHyperdriveConfigByName(api, name);
|
|
151
|
+
if (!existing) {
|
|
152
|
+
throw new Error(`Hyperdrive config "${name}" failed to create due to name conflict and could not be found for adoption.`, { cause: error });
|
|
169
153
|
}
|
|
154
|
+
result = await extractCloudflareResult(`adopt hyperdrive config "${name}"`, api.put(`/accounts/${api.accountId}/hyperdrive/configs/${existing.id}`, requestBody));
|
|
170
155
|
}
|
|
171
156
|
else {
|
|
172
|
-
|
|
173
|
-
response = await api.post(configsPath, {
|
|
174
|
-
...requestBody,
|
|
175
|
-
// Ensure name is set correctly if not already set
|
|
176
|
-
name: props.name || id,
|
|
177
|
-
});
|
|
157
|
+
throw error;
|
|
178
158
|
}
|
|
179
159
|
}
|
|
180
|
-
if (!response?.ok) {
|
|
181
|
-
const action = this.phase === "update" ? "update" : "create";
|
|
182
|
-
await handleApiError(response, action, "hyperdrive", id);
|
|
183
|
-
}
|
|
184
|
-
const data = await response.json();
|
|
185
|
-
apiResource = data.result;
|
|
186
|
-
}
|
|
187
|
-
catch (error) {
|
|
188
|
-
logger.error(`Error ${this.phase} Hyperdrive '${id}':`, error);
|
|
189
|
-
throw error;
|
|
190
160
|
}
|
|
191
161
|
// Construct the output object from API response and props
|
|
192
162
|
return this({
|
|
193
163
|
id,
|
|
194
|
-
hyperdriveId:
|
|
195
|
-
name:
|
|
164
|
+
hyperdriveId: result.id, // Store the Cloudflare-assigned UUID
|
|
165
|
+
name: result.name,
|
|
196
166
|
origin: props.origin,
|
|
197
|
-
caching:
|
|
198
|
-
mtls:
|
|
167
|
+
caching: result.caching,
|
|
168
|
+
mtls: result.mtls,
|
|
199
169
|
dev: props.dev,
|
|
200
170
|
type: "hyperdrive",
|
|
201
171
|
});
|
|
202
172
|
});
|
|
173
|
+
async function findHyperdriveConfigByName(api, name, page = 1) {
|
|
174
|
+
const response = await api.get(`/accounts/${api.accountId}/hyperdrive/configs?page=${page}`);
|
|
175
|
+
const data = await response.json();
|
|
176
|
+
const found = data.result.find((config) => config.name === name);
|
|
177
|
+
if (found) {
|
|
178
|
+
return found;
|
|
179
|
+
}
|
|
180
|
+
if (data.result_info?.total_pages && page < data.result_info.total_pages) {
|
|
181
|
+
return await findHyperdriveConfigByName(api, name, page + 1);
|
|
182
|
+
}
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
203
185
|
/**
|
|
204
186
|
* Prepare the request body by unwrapping secret values
|
|
205
187
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hyperdrive.js","sourceRoot":"","sources":["../../src/cloudflare/hyperdrive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"hyperdrive.js","sourceRoot":"","sources":["../../src/cloudflare/hyperdrive.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export * from "./email-rule.ts";
|
|
|
33
33
|
export * from "./hyperdrive.ts";
|
|
34
34
|
export * from "./images.ts";
|
|
35
35
|
export * from "./kv-namespace.ts";
|
|
36
|
+
export * from "./next.ts";
|
|
36
37
|
export * from "./nuxt/nuxt.ts";
|
|
37
38
|
export * from "./orange.ts";
|
|
38
39
|
export * from "./permission-groups.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,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,aAAa,CAAC;AAC5B,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,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,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,aAAa,CAAC;AAC5B,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,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
package/lib/cloudflare/index.js
CHANGED
|
@@ -33,6 +33,7 @@ export * from "./email-rule.js";
|
|
|
33
33
|
export * from "./hyperdrive.js";
|
|
34
34
|
export * from "./images.js";
|
|
35
35
|
export * from "./kv-namespace.js";
|
|
36
|
+
export * from "./next.js";
|
|
36
37
|
export * from "./nuxt/nuxt.js";
|
|
37
38
|
export * from "./orange.js";
|
|
38
39
|
export * from "./permission-groups.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,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,aAAa,CAAC;AAC5B,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,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,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,aAAa,CAAC;AAC5B,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,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Assets } from "./assets.ts";
|
|
2
|
+
import type { Bindings } from "./bindings.ts";
|
|
3
|
+
import { type WebsiteProps } from "./website.ts";
|
|
4
|
+
import type { Worker } from "./worker.ts";
|
|
5
|
+
export interface NextjsProps<B extends Bindings> extends WebsiteProps<B> {
|
|
6
|
+
}
|
|
7
|
+
export type Nextjs<B extends Bindings> = B extends {
|
|
8
|
+
ASSETS: any;
|
|
9
|
+
} ? never : Worker<B & {
|
|
10
|
+
ASSETS: Assets;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function Nextjs<const B extends Bindings>(id: string, props?: NextjsProps<B>): Promise<Nextjs<B>>;
|
|
13
|
+
//# sourceMappingURL=next.d.ts.map
|
|
@@ -0,0 +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,CA6CpB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { bold, cyan } from "picocolors";
|
|
4
|
+
import { getPackageManagerRunner } from "../util/detect-package-manager.js";
|
|
5
|
+
import { exists } from "../util/exists.js";
|
|
6
|
+
import ignore from "../util/ignore-matcher.js";
|
|
7
|
+
import { logger } from "../util/logger.js";
|
|
8
|
+
import { Website } from "./website.js";
|
|
9
|
+
export async function Nextjs(id, props = {}) {
|
|
10
|
+
const runner = await getPackageManagerRunner();
|
|
11
|
+
const isIgnored = await isFileIgnored("wrangler.jsonc", props.cwd);
|
|
12
|
+
if (!isIgnored) {
|
|
13
|
+
logger.warn([
|
|
14
|
+
bold(`The ${cyan("wrangler.jsonc")} file for Next.js ${cyan(`"${id}"`)} is not ignored.`),
|
|
15
|
+
"This may cause unexpected behavior. Please add the file to your .gitignore.",
|
|
16
|
+
].join(" "));
|
|
17
|
+
}
|
|
18
|
+
return await Website(id, {
|
|
19
|
+
...props,
|
|
20
|
+
entrypoint: props.entrypoint ?? ".open-next/worker.js",
|
|
21
|
+
wrangler: {
|
|
22
|
+
path: "wrangler.jsonc",
|
|
23
|
+
secrets: isIgnored,
|
|
24
|
+
...(props.wrangler ?? {}),
|
|
25
|
+
},
|
|
26
|
+
build: normalizeCommand(props.build, {
|
|
27
|
+
command: `${runner} opennextjs-cloudflare build`,
|
|
28
|
+
env: {
|
|
29
|
+
NEXTJS_ENV: "production",
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
dev: normalizeCommand(props.dev, {
|
|
33
|
+
command: `${runner} next dev`,
|
|
34
|
+
env: {
|
|
35
|
+
NEXTJS_ENV: "development",
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
// OpenNext generates the files, but relies on us to bundle them.
|
|
39
|
+
noBundle: props.noBundle ?? false,
|
|
40
|
+
spa: false,
|
|
41
|
+
compatibilityFlags: [
|
|
42
|
+
"nodejs_compat",
|
|
43
|
+
"global_fetch_strictly_public",
|
|
44
|
+
...(props.compatibilityFlags ?? []),
|
|
45
|
+
],
|
|
46
|
+
assets: props.assets ?? ".open-next/assets",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if a file is ignored by .gitignore.
|
|
51
|
+
*
|
|
52
|
+
* @param filename - The name of the file to check.
|
|
53
|
+
* @param cwd - The current working directory.
|
|
54
|
+
* @returns True if the file is ignored, false otherwise.
|
|
55
|
+
*/
|
|
56
|
+
const isFileIgnored = async (filename, cwd) => {
|
|
57
|
+
const matcher = ignore();
|
|
58
|
+
// Read .gitignore from current directory and walk up the directory tree
|
|
59
|
+
let currentDir = path.resolve(cwd ?? process.cwd());
|
|
60
|
+
const gitignorePatterns = [];
|
|
61
|
+
while (currentDir !== path.dirname(currentDir)) {
|
|
62
|
+
const gitignorePath = path.join(currentDir, ".gitignore");
|
|
63
|
+
try {
|
|
64
|
+
const gitignoreContent = await fs.readFile(gitignorePath, "utf8");
|
|
65
|
+
// unshift to prioritize local .gitignore
|
|
66
|
+
gitignorePatterns.unshift(...gitignoreContent
|
|
67
|
+
.split("\n")
|
|
68
|
+
.filter((line) => line.trim() && !line.startsWith("#")));
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// .gitignore doesn't exist in this directory, continue up
|
|
72
|
+
}
|
|
73
|
+
if (await exists(path.join(currentDir, ".git"))) {
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
currentDir = path.dirname(currentDir);
|
|
77
|
+
}
|
|
78
|
+
matcher.add(gitignorePatterns);
|
|
79
|
+
return matcher.ignores(filename);
|
|
80
|
+
};
|
|
81
|
+
const normalizeCommand = (input, defaults) => {
|
|
82
|
+
return {
|
|
83
|
+
command: typeof input === "string" ? input : (input?.command ?? defaults.command),
|
|
84
|
+
env: {
|
|
85
|
+
...defaults.env,
|
|
86
|
+
...(typeof input === "object" ? (input?.env ?? {}) : {}),
|
|
87
|
+
},
|
|
88
|
+
memoize: typeof input === "object" ? input?.memoize : undefined,
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=next.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/cloudflare/next.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAC9C,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9C;;;;OAIG;IACH,KAAK,CAAC,EACF,MAAM,GACN;QACE;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAC5C,CAAC;IACN;;OAEG;IACH,GAAG,CAAC,EACA,MAAM,GACN;QACE;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAC;IACN;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,CAAC;IAC1D;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;;;WAIG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;WAIG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;;;;;;WASG;QACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,gBAAgB,KACnB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,uBA4MvB"}
|