wrangler 0.0.0-bbfb6a96 → 0.0.0-bc6c6861
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/README.md +3 -3
- package/bin/wrangler.js +10 -2
- package/miniflare-dist/index.mjs +60 -57
- package/package.json +25 -18
- package/src/__tests__/api-dev.test.ts +65 -36
- package/src/__tests__/api-devregistry.test.ts +121 -0
- package/src/__tests__/api.test.ts +27 -5
- package/src/__tests__/configuration.test.ts +366 -49
- package/src/__tests__/d1/d1.test.ts +82 -0
- package/src/__tests__/d1/execute.test.ts +66 -0
- package/src/__tests__/d1/migrate.test.ts +157 -0
- package/src/__tests__/d1/splitter.test.ts +255 -0
- package/src/__tests__/delete.test.ts +11 -2
- package/src/__tests__/deployments.test.ts +330 -52
- package/src/__tests__/dev.test.tsx +146 -82
- package/src/__tests__/generate.test.ts +11 -9
- package/src/__tests__/guess-worker-format.test.ts +35 -0
- package/src/__tests__/helpers/end-event-loop.ts +6 -0
- package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
- package/src/__tests__/helpers/mock-console.ts +6 -0
- package/src/__tests__/helpers/mock-dialogs.ts +71 -85
- package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
- package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -5
- package/src/__tests__/helpers/mock-known-routes.ts +7 -2
- package/src/__tests__/helpers/mock-kv.ts +29 -16
- package/src/__tests__/helpers/mock-oauth-flow.ts +99 -92
- package/src/__tests__/helpers/mock-process.ts +8 -13
- package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
- package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
- package/src/__tests__/helpers/msw/handlers/deployments.ts +127 -26
- package/src/__tests__/helpers/msw/handlers/namespaces.ts +18 -41
- package/src/__tests__/helpers/msw/handlers/r2.ts +14 -34
- package/src/__tests__/helpers/msw/handlers/script.ts +9 -28
- package/src/__tests__/helpers/msw/handlers/user.ts +13 -24
- package/src/__tests__/helpers/msw/handlers/zones.ts +6 -8
- package/src/__tests__/helpers/msw/index.ts +32 -1
- package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
- package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
- package/src/__tests__/helpers/worker-scripts/parent-worker.js +4 -1
- package/src/__tests__/index.test.ts +90 -74
- package/src/__tests__/init.test.ts +909 -628
- package/src/__tests__/jest.setup.ts +19 -42
- package/src/__tests__/kv.test.ts +355 -231
- package/src/__tests__/logger.test.ts +68 -2
- package/src/__tests__/logout.test.ts +1 -1
- package/src/__tests__/metrics.test.ts +93 -50
- package/src/__tests__/middleware.scheduled.test.ts +42 -32
- package/src/__tests__/middleware.test.ts +212 -122
- package/src/__tests__/mtls-certificates.test.ts +588 -0
- package/src/__tests__/pages/deployment-list.test.ts +80 -0
- package/src/__tests__/pages/functions-build.test.ts +452 -0
- package/src/__tests__/pages/pages.test.ts +81 -0
- package/src/__tests__/pages/project-create.test.ts +63 -0
- package/src/__tests__/pages/project-list.test.ts +110 -0
- package/src/__tests__/pages/project-upload.test.ts +500 -0
- package/src/__tests__/pages/publish.test.ts +2864 -0
- package/src/__tests__/pages-deployment-tail.test.ts +72 -1
- package/src/__tests__/parse.test.ts +106 -0
- package/src/__tests__/publish.test.ts +1494 -791
- package/src/__tests__/pubsub.test.ts +18 -12
- package/src/__tests__/queues.test.ts +42 -32
- package/src/__tests__/r2.test.ts +37 -56
- package/src/__tests__/secret.test.ts +179 -130
- package/src/__tests__/tail.test.ts +78 -19
- package/src/__tests__/test-old-node-version.js +3 -3
- package/src/__tests__/traverse-module-graph.test.ts +220 -0
- package/src/__tests__/tsconfig-sanity.ts +12 -0
- package/src/__tests__/tsconfig.json +8 -0
- package/src/__tests__/tsconfig.tsbuildinfo +1 -0
- package/src/__tests__/type-generation.test.ts +1 -0
- package/src/__tests__/user.test.ts +7 -18
- package/src/__tests__/whoami.test.tsx +8 -114
- package/src/__tests__/worker-namespace.test.ts +83 -69
- package/src/api/dev.ts +167 -61
- package/src/api/index.ts +10 -1
- package/src/api/mtls-certificate.ts +148 -0
- package/src/api/pages/create-worker-bundle-contents.ts +76 -0
- package/src/api/pages/index.ts +5 -0
- package/src/api/pages/publish.tsx +355 -0
- package/src/bundle.ts +110 -25
- package/src/cfetch/index.ts +0 -2
- package/src/cfetch/internal.ts +16 -21
- package/src/cli.ts +4 -4
- package/src/config/config.ts +14 -7
- package/src/config/environment.ts +57 -16
- package/src/config/index.ts +69 -23
- package/src/config/validation-helpers.ts +1 -1
- package/src/config/validation.ts +199 -9
- package/src/create-worker-preview.ts +19 -8
- package/src/create-worker-upload-form.ts +39 -5
- package/src/d1/backups.tsx +36 -40
- package/src/d1/create.tsx +26 -21
- package/src/d1/{delete.tsx → delete.ts} +7 -10
- package/src/d1/execute.tsx +170 -165
- package/src/d1/index.ts +5 -6
- package/src/d1/list.tsx +22 -10
- package/src/d1/migrations/apply.tsx +92 -64
- package/src/d1/migrations/create.tsx +31 -29
- package/src/d1/migrations/helpers.ts +63 -38
- package/src/d1/migrations/list.tsx +47 -31
- package/src/d1/migrations/options.ts +7 -2
- package/src/d1/options.ts +3 -3
- package/src/d1/splitter.ts +161 -0
- package/src/d1/{types.tsx → types.ts} +1 -0
- package/src/d1/utils.ts +2 -1
- package/src/delete.ts +8 -16
- package/src/deployments.ts +333 -42
- package/src/deprecated/index.ts +8 -302
- package/src/dev/dev.tsx +7 -21
- package/src/dev/local.tsx +34 -34
- package/src/dev/remote.tsx +32 -3
- package/src/dev/start-server.ts +36 -37
- package/src/dev/use-esbuild.ts +13 -14
- package/src/dev/validate-dev-props.ts +9 -0
- package/src/{dev-registry.tsx → dev-registry.ts} +2 -1
- package/src/dev.tsx +113 -109
- package/src/dialogs.ts +136 -0
- package/src/dispatch-namespace.ts +21 -17
- package/src/docs/index.ts +97 -0
- package/src/entry.ts +19 -11
- package/src/environment-variables/factory.ts +88 -0
- package/src/environment-variables/misc-variables.ts +30 -0
- package/src/generate/index.ts +298 -0
- package/src/{index.tsx → index.ts} +126 -56
- package/src/init.ts +249 -195
- package/src/inspect.ts +16 -1
- package/src/jest.d.ts +4 -0
- package/src/kv/index.ts +15 -17
- package/src/logger.ts +32 -5
- package/src/metrics/metrics-config.ts +1 -1
- package/src/metrics/send-event.ts +4 -1
- package/src/miniflare-cli/assets.ts +24 -15
- package/src/miniflare-cli/index.ts +2 -6
- package/src/miniflare-cli/tsconfig.json +9 -0
- package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
- package/src/miniflare-cli/types.ts +11 -0
- package/src/module-collection.ts +91 -25
- package/src/mtls-certificate/cli.ts +155 -0
- package/src/pages/build.ts +410 -0
- package/src/pages/buildFunctions.ts +140 -0
- package/src/pages/{deployment-tails.tsx → deployment-tails.ts} +7 -10
- package/src/pages/deployments.tsx +9 -9
- package/src/pages/{dev.tsx → dev.ts} +142 -139
- package/src/pages/errors.ts +1 -0
- package/src/pages/functions/buildPlugin.ts +60 -54
- package/src/pages/functions/buildWorker.ts +158 -33
- package/src/pages/functions/tsconfig.json +8 -0
- package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
- package/src/pages/{functions.tsx → functions.ts} +8 -4
- package/src/pages/{index.tsx → index.ts} +3 -3
- package/src/pages/projects.tsx +12 -22
- package/src/pages/publish.tsx +43 -227
- package/src/pages/types.ts +5 -0
- package/src/pages/upload.tsx +57 -14
- package/src/pages/utils.ts +1 -1
- package/src/parse.ts +23 -1
- package/src/paths.ts +1 -1
- package/src/publish/index.ts +20 -16
- package/src/publish/publish.ts +69 -45
- package/src/pubsub/{pubsub-commands.tsx → pubsub-commands.ts} +19 -20
- package/src/queues/cli/commands/consumer/add.ts +24 -24
- package/src/queues/cli/commands/consumer/index.ts +3 -6
- package/src/queues/cli/commands/consumer/remove.ts +11 -18
- package/src/queues/cli/commands/create.ts +8 -8
- package/src/queues/cli/commands/delete.ts +8 -8
- package/src/queues/cli/commands/index.ts +3 -4
- package/src/queues/cli/commands/list.ts +8 -8
- package/src/queues/client.ts +1 -0
- package/src/r2/helpers.ts +1 -0
- package/src/r2/index.ts +28 -28
- package/src/secret/index.ts +13 -16
- package/src/{sites.tsx → sites.ts} +1 -1
- package/src/tail/createTail.ts +28 -1
- package/src/tail/filters.ts +1 -1
- package/src/tail/index.ts +8 -11
- package/src/tail/printing.ts +15 -0
- package/src/traverse-module-graph.ts +53 -0
- package/src/tsconfig-sanity.ts +16 -0
- package/src/type-generation.ts +1 -1
- package/src/user/access.ts +0 -1
- package/src/user/auth-variables.ts +113 -0
- package/src/user/choose-account.tsx +1 -31
- package/src/user/index.ts +0 -1
- package/src/user/{user.tsx → user.ts} +112 -77
- package/src/utils/render.ts +93 -0
- package/src/{whoami.tsx → whoami.ts} +37 -71
- package/src/worker.ts +24 -1
- package/src/yargs-types.ts +18 -5
- package/templates/__tests__/tsconfig-sanity.ts +12 -0
- package/templates/__tests__/tsconfig.json +8 -0
- package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
- package/templates/checked-fetch.js +9 -3
- package/templates/d1-beta-facade.js +42 -3
- package/templates/facade.d.ts +14 -0
- package/templates/first-party-worker-module-facade.ts +4 -3
- package/templates/format-dev-errors.ts +8 -6
- package/templates/gitignore +1 -0
- package/templates/init-tests/test-jest-new-worker.js +3 -5
- package/templates/init-tests/test-vitest-new-worker.js +3 -5
- package/templates/init-tests/test-vitest-new-worker.ts +25 -0
- package/templates/middleware/loader-modules.ts +2 -2
- package/templates/middleware/loader-sw.ts +6 -0
- package/templates/middleware/middleware-miniflare3-json-error.ts +17 -5
- package/templates/new-worker.ts +3 -0
- package/templates/pages-dev-pipeline.ts +4 -1
- package/templates/pages-shim.ts +4 -1
- package/templates/pages-template-plugin.ts +19 -10
- package/templates/serve-static-assets.ts +17 -14
- package/templates/service-bindings-module-facade.js +1 -0
- package/templates/tsconfig-sanity.ts +11 -0
- package/templates/tsconfig.init.json +105 -0
- package/templates/tsconfig.json +5 -103
- package/templates/tsconfig.tsbuildinfo +1 -0
- package/wrangler-dist/cli.d.ts +805 -72
- package/wrangler-dist/cli.js +125148 -137617
- package/wrangler-dist/wasm-sync.wasm +0 -0
- package/src/__tests__/api-devregistry.test.js +0 -56
- package/src/__tests__/d1.test.ts +0 -80
- package/src/__tests__/dialogs.test.tsx +0 -40
- package/src/__tests__/helpers/mock-cfetch.ts +0 -333
- package/src/__tests__/pages.test.ts +0 -2442
- package/src/dialogs.tsx +0 -168
- package/src/environment-variables.ts +0 -50
- package/src/pages/build.tsx +0 -270
- package/src/user/env-vars.ts +0 -46
- /package/src/{bundle-reporter.tsx → bundle-reporter.ts} +0 -0
- /package/src/d1/migrations/{index.tsx → index.ts} +0 -0
- /package/src/dev/{get-local-persistence-path.tsx → get-local-persistence-path.ts} +0 -0
- /package/src/pages/{hash.tsx → hash.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<h1 align="center"> ⛅️ wrangler </h1>
|
|
2
2
|
<section align="center" id="shieldio-badges">
|
|
3
3
|
<a href="https://www.npmjs.com/package/wrangler"><img alt="npm" src="https://img.shields.io/npm/dw/wrangler?style=flat-square"></a>
|
|
4
|
-
<img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/
|
|
5
|
-
<img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/
|
|
4
|
+
<img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
|
|
5
|
+
<img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/workers-sdk/main?style=flat-square">
|
|
6
6
|
<a href="https://discord.gg/CloudflareDev"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
|
|
7
7
|
</section>
|
|
8
8
|
|
|
9
|
-
> This package is for wrangler v2.x, released first in May 2022. If you're looking for v1.x of the `@cloudflare/wrangler` package, visit https://www.npmjs.com/package/@cloudflare/wrangler / https://github.com/cloudflare/wrangler.
|
|
9
|
+
> This package is for wrangler v2.x, released first in May 2022. If you're looking for v1.x of the `@cloudflare/wrangler` package, visit https://www.npmjs.com/package/@cloudflare/wrangler / https://github.com/cloudflare/wrangler-legacy.
|
|
10
10
|
|
|
11
11
|
`wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
|
|
12
12
|
|
package/bin/wrangler.js
CHANGED
|
@@ -20,7 +20,7 @@ function runWrangler() {
|
|
|
20
20
|
// Note Volta and nvm are also recommended in the official docs:
|
|
21
21
|
// https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
|
|
22
22
|
console.error(
|
|
23
|
-
`Wrangler requires at least
|
|
23
|
+
`Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of Node.js.
|
|
24
24
|
|
|
25
25
|
Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
|
|
26
26
|
);
|
|
@@ -93,7 +93,15 @@ function runDelegatedWrangler() {
|
|
|
93
93
|
} = JSON.parse(fs.readFileSync(packageJsonPath));
|
|
94
94
|
const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
// Make sure the user knows we're delegating to a different installation
|
|
97
|
+
const currentPackageJsonPath = path.resolve(__dirname, "..", "package.json");
|
|
98
|
+
const currentPackage = JSON.parse(fs.readFileSync(currentPackageJsonPath));
|
|
99
|
+
const argv = process.argv.slice(2).join(" ");
|
|
100
|
+
console.log(
|
|
101
|
+
`Delegating to locally-installed wrangler@${version} over global wrangler@${currentPackage.version}...
|
|
102
|
+
Run \`npx wrangler ${argv}\` to use the local version directly.
|
|
103
|
+
`
|
|
104
|
+
);
|
|
97
105
|
|
|
98
106
|
// this call to `spawn` is simpler because the delegated version will do all
|
|
99
107
|
// of the other work.
|
package/miniflare-dist/index.mjs
CHANGED
|
@@ -130,41 +130,43 @@ var init_environment_polyfills = __esm({
|
|
|
130
130
|
|
|
131
131
|
// ../pages-shared/environment-polyfills/miniflare-tre.ts
|
|
132
132
|
var miniflare_tre_exports = {};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Response as MiniflareResponse
|
|
138
|
-
} from "@miniflare/tre";
|
|
133
|
+
__export(miniflare_tre_exports, {
|
|
134
|
+
default: () => miniflare_tre_default
|
|
135
|
+
});
|
|
136
|
+
var miniflare_tre_default;
|
|
139
137
|
var init_miniflare_tre = __esm({
|
|
140
138
|
"../pages-shared/environment-polyfills/miniflare-tre.ts"() {
|
|
141
139
|
init_environment_polyfills();
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
miniflare_tre_default = async () => {
|
|
141
|
+
const mf = await import("@miniflare/tre");
|
|
142
|
+
polyfill({
|
|
143
|
+
fetch: mf.fetch,
|
|
144
|
+
Headers: mf.Headers,
|
|
145
|
+
Request: mf.Request,
|
|
146
|
+
Response: mf.Response
|
|
147
|
+
});
|
|
148
|
+
};
|
|
148
149
|
}
|
|
149
150
|
});
|
|
150
151
|
|
|
151
152
|
// ../pages-shared/environment-polyfills/miniflare.ts
|
|
152
153
|
var miniflare_exports = {};
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
Response as MiniflareResponse2
|
|
158
|
-
} from "@miniflare/core";
|
|
154
|
+
__export(miniflare_exports, {
|
|
155
|
+
default: () => miniflare_default
|
|
156
|
+
});
|
|
157
|
+
var miniflare_default;
|
|
159
158
|
var init_miniflare = __esm({
|
|
160
159
|
"../pages-shared/environment-polyfills/miniflare.ts"() {
|
|
161
160
|
init_environment_polyfills();
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
161
|
+
miniflare_default = async () => {
|
|
162
|
+
const mf = await import("@miniflare/core");
|
|
163
|
+
polyfill({
|
|
164
|
+
fetch: mf.fetch,
|
|
165
|
+
Headers: mf.Headers,
|
|
166
|
+
Request: mf.Request,
|
|
167
|
+
Response: mf.Response
|
|
168
|
+
});
|
|
169
|
+
};
|
|
168
170
|
}
|
|
169
171
|
});
|
|
170
172
|
|
|
@@ -439,7 +441,11 @@ async function generateHandler({
|
|
|
439
441
|
async function generateResponse() {
|
|
440
442
|
const match = staticRedirectsMatcher() || generateRedirectsMatcher()({ request })[0];
|
|
441
443
|
if (match) {
|
|
442
|
-
|
|
444
|
+
if (match.status === 200) {
|
|
445
|
+
pathname = new URL(match.to, request.url).pathname;
|
|
446
|
+
} else {
|
|
447
|
+
return getResponseFromMatch(match, url);
|
|
448
|
+
}
|
|
443
449
|
}
|
|
444
450
|
if (!request.method.match(/^(get|head)$/i)) {
|
|
445
451
|
return new MethodNotAllowedResponse();
|
|
@@ -667,7 +673,7 @@ async function generateHandler({
|
|
|
667
673
|
return new HTMLRewriter().on("body", {
|
|
668
674
|
element(e) {
|
|
669
675
|
e.append(
|
|
670
|
-
`<!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "${metadata.analytics?.token}"}'
|
|
676
|
+
`<!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "${metadata.analytics?.token}"}'></script><!-- Cloudflare Pages Analytics -->`,
|
|
671
677
|
{ html: true }
|
|
672
678
|
);
|
|
673
679
|
}
|
|
@@ -786,8 +792,8 @@ import {
|
|
|
786
792
|
Log as MiniflareLog,
|
|
787
793
|
LogLevel as MiniflareLogLevel,
|
|
788
794
|
Miniflare,
|
|
789
|
-
Request as
|
|
790
|
-
Response as
|
|
795
|
+
Request as MiniflareRequest,
|
|
796
|
+
Response as MiniflareResponse
|
|
791
797
|
} from "miniflare";
|
|
792
798
|
|
|
793
799
|
// ../../node_modules/yargs/lib/platform-shims/esm.mjs
|
|
@@ -5613,7 +5619,7 @@ import { join } from "node:path";
|
|
|
5613
5619
|
var REDIRECTS_VERSION = 1;
|
|
5614
5620
|
var HEADERS_VERSION = 2;
|
|
5615
5621
|
var ANALYTICS_VERSION = 1;
|
|
5616
|
-
var PERMITTED_STATUS_CODES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
5622
|
+
var PERMITTED_STATUS_CODES = /* @__PURE__ */ new Set([200, 301, 302, 303, 307, 308]);
|
|
5617
5623
|
var HEADER_SEPARATOR = ":";
|
|
5618
5624
|
var MAX_LINE_LENGTH = 2e3;
|
|
5619
5625
|
var MAX_HEADER_RULES = 100;
|
|
@@ -5992,7 +5998,7 @@ function parseRedirects(input) {
|
|
|
5992
5998
|
invalid.push({
|
|
5993
5999
|
line,
|
|
5994
6000
|
lineNumber: i + 1,
|
|
5995
|
-
message: `Valid status codes are 301, 302 (default), 303, 307, or 308. Got ${str_status}.`
|
|
6001
|
+
message: `Valid status codes are 200, 301, 302 (default), 303, 307, or 308. Got ${str_status}.`
|
|
5996
6002
|
});
|
|
5997
6003
|
continue;
|
|
5998
6004
|
}
|
|
@@ -6005,6 +6011,19 @@ function parseRedirects(input) {
|
|
|
6005
6011
|
continue;
|
|
6006
6012
|
}
|
|
6007
6013
|
seen_paths.add(from);
|
|
6014
|
+
if (status === 200) {
|
|
6015
|
+
const [proxyTo, error] = validateUrl(to, true, true, true);
|
|
6016
|
+
if (error) {
|
|
6017
|
+
invalid.push({
|
|
6018
|
+
line,
|
|
6019
|
+
lineNumber: i + 1,
|
|
6020
|
+
message: `Proxy (200) redirects can only point to relative paths. Got ${to}`
|
|
6021
|
+
});
|
|
6022
|
+
continue;
|
|
6023
|
+
}
|
|
6024
|
+
rules.push({ from, to: proxyTo, status, lineNumber: i + 1 });
|
|
6025
|
+
continue;
|
|
6026
|
+
}
|
|
6008
6027
|
rules.push({ from, to, status, lineNumber: i + 1 });
|
|
6009
6028
|
}
|
|
6010
6029
|
return {
|
|
@@ -6017,7 +6036,7 @@ function parseRedirects(input) {
|
|
|
6017
6036
|
var import_mime = __toESM(require_mime());
|
|
6018
6037
|
import { watch } from "chokidar";
|
|
6019
6038
|
|
|
6020
|
-
// src/pages/hash.
|
|
6039
|
+
// src/pages/hash.ts
|
|
6021
6040
|
import { readFileSync as readFileSync4 } from "node:fs";
|
|
6022
6041
|
import { extname as extname2 } from "node:path";
|
|
6023
6042
|
import { hash as blake3hash } from "blake3-wasm";
|
|
@@ -6066,11 +6085,8 @@ async function generateASSETSBinding(options) {
|
|
|
6066
6085
|
};
|
|
6067
6086
|
}
|
|
6068
6087
|
async function generateAssetsFetch(directory, log, tre) {
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
} else {
|
|
6072
|
-
await Promise.resolve().then(() => (init_miniflare(), miniflare_exports));
|
|
6073
|
-
}
|
|
6088
|
+
const polyfill2 = tre ? (await Promise.resolve().then(() => (init_miniflare_tre(), miniflare_tre_exports))).default : (await Promise.resolve().then(() => (init_miniflare(), miniflare_exports))).default;
|
|
6089
|
+
await polyfill2();
|
|
6074
6090
|
const miniflare = tre ? await import("@miniflare/tre") : await import("@miniflare/core");
|
|
6075
6091
|
const Request = miniflare.Request;
|
|
6076
6092
|
const { generateHandler: generateHandler2, parseQualityWeightedList: parseQualityWeightedList2 } = await Promise.resolve().then(() => (init_handler(), handler_exports));
|
|
@@ -6153,7 +6169,7 @@ async function generateAssetsFetch(directory, log, tre) {
|
|
|
6153
6169
|
const filepath = assetKeyEntryMap.get(assetKey);
|
|
6154
6170
|
if (!filepath) {
|
|
6155
6171
|
throw new Error(
|
|
6156
|
-
"Could not fetch asset. Please file an issue on GitHub (https://github.com/cloudflare/
|
|
6172
|
+
"Could not fetch asset. Please file an issue on GitHub (https://github.com/cloudflare/workers-sdk/issues/new/choose) with reproduction steps."
|
|
6157
6173
|
);
|
|
6158
6174
|
}
|
|
6159
6175
|
const body = readFileSync5(filepath);
|
|
@@ -6214,7 +6230,7 @@ async function main() {
|
|
|
6214
6230
|
if (logLevelString === "LOG")
|
|
6215
6231
|
logLevelString = "INFO";
|
|
6216
6232
|
const logLevel = MiniflareLogLevel[logLevelString];
|
|
6217
|
-
config.log = logLevel === MiniflareLogLevel.NONE ? new MiniflareNoOpLog() : new MiniflareLog(logLevel
|
|
6233
|
+
config.log = logLevel === MiniflareLogLevel.NONE ? new MiniflareNoOpLog() : new MiniflareLog(logLevel);
|
|
6218
6234
|
if (logLevel === MiniflareLogLevel.DEBUG) {
|
|
6219
6235
|
console.log("MINIFLARE OPTIONS:\n", JSON.stringify(config, null, 2));
|
|
6220
6236
|
}
|
|
@@ -6234,12 +6250,12 @@ async function main() {
|
|
|
6234
6250
|
namespace.get = (id) => {
|
|
6235
6251
|
const stub = new DurableObjectStub(factory, id);
|
|
6236
6252
|
stub.fetch = (...reqArgs) => {
|
|
6237
|
-
const requestFromArgs = new
|
|
6253
|
+
const requestFromArgs = new MiniflareRequest(...reqArgs);
|
|
6238
6254
|
const url = new URL(requestFromArgs.url);
|
|
6239
6255
|
url.host = host;
|
|
6240
6256
|
if (port !== void 0)
|
|
6241
6257
|
url.port = port.toString();
|
|
6242
|
-
const request = new
|
|
6258
|
+
const request = new MiniflareRequest(
|
|
6243
6259
|
url.toString(),
|
|
6244
6260
|
requestFromArgs
|
|
6245
6261
|
);
|
|
@@ -6299,7 +6315,7 @@ async function main() {
|
|
|
6299
6315
|
}`,
|
|
6300
6316
|
serviceBindings: {
|
|
6301
6317
|
DO: async (request) => {
|
|
6302
|
-
request = new
|
|
6318
|
+
request = new MiniflareRequest(request);
|
|
6303
6319
|
const name = request.headers.get("x-miniflare-durable-object-name");
|
|
6304
6320
|
const idString = request.headers.get(
|
|
6305
6321
|
"x-miniflare-durable-object-id"
|
|
@@ -6307,7 +6323,7 @@ async function main() {
|
|
|
6307
6323
|
request.headers.delete("x-miniflare-durable-object-name");
|
|
6308
6324
|
request.headers.delete("x-miniflare-durable-object-id");
|
|
6309
6325
|
if (!name || !idString) {
|
|
6310
|
-
return new
|
|
6326
|
+
return new MiniflareResponse(
|
|
6311
6327
|
"[durable-object-proxy-err] Missing `x-miniflare-durable-object-name` or `x-miniflare-durable-object-id` headers.",
|
|
6312
6328
|
{ status: 400 }
|
|
6313
6329
|
);
|
|
@@ -6315,14 +6331,14 @@ async function main() {
|
|
|
6315
6331
|
const namespace = await mf?.getDurableObjectNamespace(name);
|
|
6316
6332
|
const id = namespace?.idFromString(idString);
|
|
6317
6333
|
if (!id) {
|
|
6318
|
-
return new
|
|
6334
|
+
return new MiniflareResponse(
|
|
6319
6335
|
"[durable-object-proxy-err] Could not generate an ID. Possibly due to a mismatched DO name and ID?",
|
|
6320
6336
|
{ status: 500 }
|
|
6321
6337
|
);
|
|
6322
6338
|
}
|
|
6323
6339
|
const stub = namespace?.get(id);
|
|
6324
6340
|
if (!stub) {
|
|
6325
|
-
return new
|
|
6341
|
+
return new MiniflareResponse(
|
|
6326
6342
|
"[durable-object-proxy-err] Could not generate a stub. Possibly due to a mismatched DO name and ID?",
|
|
6327
6343
|
{ status: 500 }
|
|
6328
6344
|
);
|
|
@@ -6350,16 +6366,3 @@ async function main() {
|
|
|
6350
6366
|
}
|
|
6351
6367
|
}
|
|
6352
6368
|
await main();
|
|
6353
|
-
/**
|
|
6354
|
-
* @fileoverview Main entrypoint for libraries using yargs-parser in Node.js
|
|
6355
|
-
* CJS and ESM environments.
|
|
6356
|
-
*
|
|
6357
|
-
* @license
|
|
6358
|
-
* Copyright (c) 2016, Contributors
|
|
6359
|
-
* SPDX-License-Identifier: ISC
|
|
6360
|
-
*/
|
|
6361
|
-
/**
|
|
6362
|
-
* @license
|
|
6363
|
-
* Copyright (c) 2016, Contributors
|
|
6364
|
-
* SPDX-License-Identifier: ISC
|
|
6365
|
-
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wrangler",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-bc6c6861",
|
|
4
4
|
"description": "Command-line interface for all things Cloudflare Workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wrangler",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"http",
|
|
25
25
|
"cli"
|
|
26
26
|
],
|
|
27
|
-
"homepage": "https://github.com/cloudflare/
|
|
27
|
+
"homepage": "https://github.com/cloudflare/workers-sdk#readme",
|
|
28
28
|
"bugs": {
|
|
29
|
-
"url": "https://github.com/cloudflare/
|
|
29
|
+
"url": "https://github.com/cloudflare/workers-sdk/issues"
|
|
30
30
|
},
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
|
33
|
-
"url": "https://github.com/cloudflare/
|
|
33
|
+
"url": "https://github.com/cloudflare/workers-sdk.git",
|
|
34
34
|
"directory": "packages/wrangler"
|
|
35
35
|
},
|
|
36
36
|
"license": "MIT OR Apache-2.0",
|
|
@@ -57,15 +57,17 @@
|
|
|
57
57
|
"assert-git-version": "node -r esbuild-register scripts/assert-git-version.ts",
|
|
58
58
|
"build": "npm run clean && npm run bundle && npm run emit-types",
|
|
59
59
|
"bundle": "node -r esbuild-register scripts/bundle.ts",
|
|
60
|
-
"check:type": "tsc",
|
|
60
|
+
"check:type": "node -r esbuild-register scripts/tsc-all.ts",
|
|
61
61
|
"clean": "rimraf wrangler-dist miniflare-dist emitted-types",
|
|
62
62
|
"dev": "npm run clean && concurrently -c black,blue --kill-others-on-fail false 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
|
|
63
63
|
"emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
|
|
64
64
|
"prepublishOnly": "SOURCEMAPS=false npm run build",
|
|
65
65
|
"start": "npm run bundle && cross-env NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
|
|
66
|
-
"test": "npm run assert-git-version && jest
|
|
66
|
+
"test": "npm run assert-git-version && jest",
|
|
67
67
|
"test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
|
|
68
|
-
"test:ci": "npm run test -- --
|
|
68
|
+
"test:ci": "npm run test -- --coverage",
|
|
69
|
+
"test:debug": "npm run test -- --silent=false --verbose=true",
|
|
70
|
+
"test:e2e": "vitest --no-threads ./e2e"
|
|
69
71
|
},
|
|
70
72
|
"jest": {
|
|
71
73
|
"coverageReporters": [
|
|
@@ -82,7 +84,7 @@
|
|
|
82
84
|
"setupFilesAfterEnv": [
|
|
83
85
|
"<rootDir>/src/__tests__/jest.setup.ts"
|
|
84
86
|
],
|
|
85
|
-
"testRegex": "
|
|
87
|
+
"testRegex": "src/__tests__/.*\\.(test|spec)\\.[jt]sx?$",
|
|
86
88
|
"testTimeout": 30000,
|
|
87
89
|
"transform": {
|
|
88
90
|
"^.+\\.c?(t|j)sx?$": [
|
|
@@ -100,13 +102,13 @@
|
|
|
100
102
|
"@cloudflare/kv-asset-handler": "^0.2.0",
|
|
101
103
|
"@esbuild-plugins/node-globals-polyfill": "^0.1.1",
|
|
102
104
|
"@esbuild-plugins/node-modules-polyfill": "^0.1.4",
|
|
103
|
-
"@miniflare/core": "2.
|
|
104
|
-
"@miniflare/d1": "2.
|
|
105
|
-
"@miniflare/durable-objects": "2.
|
|
105
|
+
"@miniflare/core": "2.13.0",
|
|
106
|
+
"@miniflare/d1": "2.13.0",
|
|
107
|
+
"@miniflare/durable-objects": "2.13.0",
|
|
106
108
|
"blake3-wasm": "^2.1.5",
|
|
107
109
|
"chokidar": "^3.5.3",
|
|
108
|
-
"esbuild": "0.
|
|
109
|
-
"miniflare": "2.
|
|
110
|
+
"esbuild": "0.16.3",
|
|
111
|
+
"miniflare": "2.13.0",
|
|
110
112
|
"nanoid": "^3.3.3",
|
|
111
113
|
"path-to-regexp": "^6.2.0",
|
|
112
114
|
"selfsigned": "^2.0.1",
|
|
@@ -115,11 +117,10 @@
|
|
|
115
117
|
},
|
|
116
118
|
"devDependencies": {
|
|
117
119
|
"@cloudflare/types": "^6.18.4",
|
|
118
|
-
"@
|
|
119
|
-
"@databases/sql": "^3.2.0",
|
|
120
|
+
"@cloudflare/workers-types": "^4.20221111.1",
|
|
120
121
|
"@iarna/toml": "^3.0.0",
|
|
121
122
|
"@microsoft/api-extractor": "^7.28.3",
|
|
122
|
-
"@miniflare/tre": "
|
|
123
|
+
"@miniflare/tre": "3.0.0-next.12",
|
|
123
124
|
"@types/better-sqlite3": "^7.6.0",
|
|
124
125
|
"@types/busboy": "^1.5.0",
|
|
125
126
|
"@types/command-exists": "^1.2.0",
|
|
@@ -136,6 +137,8 @@
|
|
|
136
137
|
"@types/yargs": "^17.0.10",
|
|
137
138
|
"@webcontainer/env": "^1.0.1",
|
|
138
139
|
"body-parser": "^1.20.0",
|
|
140
|
+
"chalk": "^2.4.2",
|
|
141
|
+
"cli-table3": "^0.6.3",
|
|
139
142
|
"clipboardy": "^3.0.0",
|
|
140
143
|
"cmd-shim": "^4.1.0",
|
|
141
144
|
"command-exists": "^1.2.9",
|
|
@@ -173,16 +176,20 @@
|
|
|
173
176
|
"remove-accents-esm": "^0.0.1",
|
|
174
177
|
"semiver": "^1.1.0",
|
|
175
178
|
"serve-static": "^1.15.0",
|
|
179
|
+
"shellac": "^0.7.3",
|
|
176
180
|
"signal-exit": "^3.0.7",
|
|
181
|
+
"strip-ansi": "^7.0.1",
|
|
177
182
|
"supports-color": "^9.2.2",
|
|
178
183
|
"timeago.js": "^4.0.2",
|
|
179
184
|
"tmp-promise": "^3.0.3",
|
|
180
185
|
"ts-dedent": "^2.2.0",
|
|
181
|
-
"undici": "
|
|
186
|
+
"undici": "5.20.0",
|
|
182
187
|
"update-check": "^1.5.4",
|
|
188
|
+
"vitest": "^0.29.2",
|
|
183
189
|
"ws": "^8.5.0",
|
|
184
190
|
"xdg-app-paths": "^7.3.0",
|
|
185
|
-
"yargs": "^17.4.1"
|
|
191
|
+
"yargs": "^17.4.1",
|
|
192
|
+
"yoga-layout": "file:../../vendor/yoga-layout-2.0.0-beta.1.tgz"
|
|
186
193
|
},
|
|
187
194
|
"optionalDependencies": {
|
|
188
195
|
"fsevents": "~2.3.2"
|
|
@@ -5,12 +5,16 @@ import { runInTempDir } from "./helpers/run-in-tmp";
|
|
|
5
5
|
|
|
6
6
|
jest.unmock("undici");
|
|
7
7
|
|
|
8
|
-
describe
|
|
8
|
+
describe("unstable_dev", () => {
|
|
9
9
|
it("should return Hello World", async () => {
|
|
10
10
|
const worker = await unstable_dev(
|
|
11
11
|
"src/__tests__/helpers/worker-scripts/hello-world-worker.js",
|
|
12
|
-
{
|
|
13
|
-
|
|
12
|
+
{
|
|
13
|
+
experimental: {
|
|
14
|
+
disableExperimentalWarning: true,
|
|
15
|
+
disableDevRegistry: true,
|
|
16
|
+
},
|
|
17
|
+
}
|
|
14
18
|
);
|
|
15
19
|
const resp = await worker.fetch();
|
|
16
20
|
if (resp) {
|
|
@@ -23,8 +27,12 @@ describe.skip("unstable_dev", () => {
|
|
|
23
27
|
it("should return the port that the server started on (1)", async () => {
|
|
24
28
|
const worker = await unstable_dev(
|
|
25
29
|
"src/__tests__/helpers/worker-scripts/hello-world-worker.js",
|
|
26
|
-
{
|
|
27
|
-
|
|
30
|
+
{
|
|
31
|
+
experimental: {
|
|
32
|
+
disableExperimentalWarning: true,
|
|
33
|
+
disableDevRegistry: true,
|
|
34
|
+
},
|
|
35
|
+
}
|
|
28
36
|
);
|
|
29
37
|
expect(worker.port).toBeGreaterThan(0);
|
|
30
38
|
await worker.stop();
|
|
@@ -33,8 +41,13 @@ describe.skip("unstable_dev", () => {
|
|
|
33
41
|
it("should return the port that the server started on (2)", async () => {
|
|
34
42
|
const worker = await unstable_dev(
|
|
35
43
|
"src/__tests__/helpers/worker-scripts/hello-world-worker.js",
|
|
36
|
-
{
|
|
37
|
-
|
|
44
|
+
{
|
|
45
|
+
port: 9191,
|
|
46
|
+
experimental: {
|
|
47
|
+
disableExperimentalWarning: true,
|
|
48
|
+
disableDevRegistry: true,
|
|
49
|
+
},
|
|
50
|
+
}
|
|
38
51
|
);
|
|
39
52
|
expect(worker.port).toBe(9191);
|
|
40
53
|
await worker.stop();
|
|
@@ -45,8 +58,13 @@ describe("unstable dev fetch input protocol", () => {
|
|
|
45
58
|
it("should use http localProtocol", async () => {
|
|
46
59
|
const worker = await unstable_dev(
|
|
47
60
|
"src/__tests__/helpers/worker-scripts/hello-world-worker.js",
|
|
48
|
-
{
|
|
49
|
-
|
|
61
|
+
{
|
|
62
|
+
localProtocol: "http",
|
|
63
|
+
experimental: {
|
|
64
|
+
disableExperimentalWarning: true,
|
|
65
|
+
disableDevRegistry: true,
|
|
66
|
+
},
|
|
67
|
+
}
|
|
50
68
|
);
|
|
51
69
|
const res = await worker.fetch();
|
|
52
70
|
if (res) {
|
|
@@ -59,8 +77,13 @@ describe("unstable dev fetch input protocol", () => {
|
|
|
59
77
|
it("should use undefined localProtocol", async () => {
|
|
60
78
|
const worker = await unstable_dev(
|
|
61
79
|
"src/__tests__/helpers/worker-scripts/hello-world-worker.js",
|
|
62
|
-
{
|
|
63
|
-
|
|
80
|
+
{
|
|
81
|
+
localProtocol: undefined,
|
|
82
|
+
experimental: {
|
|
83
|
+
disableExperimentalWarning: true,
|
|
84
|
+
disableDevRegistry: true,
|
|
85
|
+
},
|
|
86
|
+
}
|
|
64
87
|
);
|
|
65
88
|
const res = await worker.fetch();
|
|
66
89
|
if (res) {
|
|
@@ -91,11 +114,13 @@ describe("unstable dev fetch input parsing", () => {
|
|
|
91
114
|
`;
|
|
92
115
|
fs.writeFileSync("index.js", scriptContent);
|
|
93
116
|
const port = 21213;
|
|
94
|
-
const worker = await unstable_dev(
|
|
95
|
-
|
|
96
|
-
{
|
|
97
|
-
|
|
98
|
-
|
|
117
|
+
const worker = await unstable_dev("index.js", {
|
|
118
|
+
port,
|
|
119
|
+
experimental: {
|
|
120
|
+
disableExperimentalWarning: true,
|
|
121
|
+
disableDevRegistry: true,
|
|
122
|
+
},
|
|
123
|
+
});
|
|
99
124
|
const req = new Request("http://0.0.0.0:21213/test", {
|
|
100
125
|
method: "POST",
|
|
101
126
|
});
|
|
@@ -119,11 +144,12 @@ describe("unstable dev fetch input parsing", () => {
|
|
|
119
144
|
};
|
|
120
145
|
`;
|
|
121
146
|
fs.writeFileSync("index.js", scriptContent);
|
|
122
|
-
const worker = await unstable_dev(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
147
|
+
const worker = await unstable_dev("index.js", {
|
|
148
|
+
experimental: {
|
|
149
|
+
disableExperimentalWarning: true,
|
|
150
|
+
disableDevRegistry: true,
|
|
151
|
+
},
|
|
152
|
+
});
|
|
127
153
|
const url = new URL("http://localhost:80/test");
|
|
128
154
|
const resp = await worker.fetch(url);
|
|
129
155
|
let text;
|
|
@@ -145,11 +171,12 @@ describe("unstable dev fetch input parsing", () => {
|
|
|
145
171
|
};
|
|
146
172
|
`;
|
|
147
173
|
fs.writeFileSync("index.js", scriptContent);
|
|
148
|
-
const worker = await unstable_dev(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
174
|
+
const worker = await unstable_dev("index.js", {
|
|
175
|
+
experimental: {
|
|
176
|
+
disableExperimentalWarning: true,
|
|
177
|
+
disableDevRegistry: true,
|
|
178
|
+
},
|
|
179
|
+
});
|
|
153
180
|
const resp = await worker.fetch("http://example.com/test");
|
|
154
181
|
let text;
|
|
155
182
|
if (resp) text = await resp.text();
|
|
@@ -170,11 +197,12 @@ describe("unstable dev fetch input parsing", () => {
|
|
|
170
197
|
};
|
|
171
198
|
`;
|
|
172
199
|
fs.writeFileSync("index.js", scriptContent);
|
|
173
|
-
const worker = await unstable_dev(
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
200
|
+
const worker = await unstable_dev("index.js", {
|
|
201
|
+
experimental: {
|
|
202
|
+
disableExperimentalWarning: true,
|
|
203
|
+
disableDevRegistry: true,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
178
206
|
const resp = await worker.fetch("/test");
|
|
179
207
|
let text;
|
|
180
208
|
if (resp) text = await resp.text();
|
|
@@ -195,11 +223,12 @@ describe("unstable dev fetch input parsing", () => {
|
|
|
195
223
|
};
|
|
196
224
|
`;
|
|
197
225
|
fs.writeFileSync("index.js", scriptContent);
|
|
198
|
-
const worker = await unstable_dev(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
226
|
+
const worker = await unstable_dev("index.js", {
|
|
227
|
+
experimental: {
|
|
228
|
+
disableExperimentalWarning: true,
|
|
229
|
+
disableDevRegistry: true,
|
|
230
|
+
},
|
|
231
|
+
});
|
|
203
232
|
const resp = await worker.fetch("");
|
|
204
233
|
let text;
|
|
205
234
|
if (resp) text = await resp.text();
|