wrangler 0.0.0-d8f8f3d2 → 0.0.0-d96cc858
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 +5 -7
- package/bin/wrangler.js +9 -75
- package/package.json +14 -17
- package/templates/__tests__/tsconfig.json +1 -1
- package/templates/checked-fetch.js +1 -1
- package/templates/facade.d.ts +4 -1
- package/templates/middleware/common.ts +9 -4
- package/templates/middleware/loader-modules.ts +52 -9
- package/templates/middleware/loader-sw.ts +2 -7
- package/templates/middleware/middleware-d1-beta.d.ts +3 -0
- package/templates/{d1-beta-facade.js → middleware/middleware-d1-beta.ts} +85 -85
- package/templates/middleware/middleware-multiworker-dev.d.ts +4 -0
- package/templates/middleware/middleware-multiworker-dev.ts +59 -0
- package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
- package/templates/middleware/middleware-serve-static-assets.ts +56 -0
- package/templates/new-worker-scheduled.ts +1 -1
- package/templates/new-worker.ts +1 -1
- package/templates/pages-shim.ts +0 -3
- package/templates/pages-template-plugin.ts +12 -2
- package/templates/pages-template-worker.ts +11 -2
- package/templates/tsconfig.json +1 -1
- package/wrangler-dist/cli.d.ts +91 -74
- package/wrangler-dist/cli.js +8282 -12763
- package/import_meta_url.js +0 -3
- package/miniflare-config-stubs/.env.empty +0 -0
- package/miniflare-config-stubs/package.empty.json +0 -1
- package/miniflare-config-stubs/wrangler.empty.toml +0 -0
- package/miniflare-dist/index.mjs +0 -6442
- package/src/__tests__/access.test.ts +0 -25
- package/src/__tests__/api-dev.test.ts +0 -238
- package/src/__tests__/api-devregistry.test.ts +0 -121
- package/src/__tests__/api.test.ts +0 -102
- package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
- package/src/__tests__/config-cache.test.ts +0 -42
- package/src/__tests__/configuration.test.ts +0 -4671
- package/src/__tests__/constellation.test.ts +0 -371
- package/src/__tests__/d1/d1.test.ts +0 -82
- package/src/__tests__/d1/execute.test.ts +0 -66
- package/src/__tests__/d1/migrate.test.ts +0 -257
- package/src/__tests__/d1/splitter.test.ts +0 -255
- package/src/__tests__/delete.test.ts +0 -272
- package/src/__tests__/deployments.test.ts +0 -369
- package/src/__tests__/dev.test.tsx +0 -1617
- package/src/__tests__/generate.test.ts +0 -237
- package/src/__tests__/get-host-from-url.test.ts +0 -16
- package/src/__tests__/guess-worker-format.test.ts +0 -120
- package/src/__tests__/helpers/clipboardy-mock.js +0 -4
- package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
- package/src/__tests__/helpers/end-event-loop.ts +0 -6
- package/src/__tests__/helpers/mock-account-id.ts +0 -48
- package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
- package/src/__tests__/helpers/mock-bin.ts +0 -36
- package/src/__tests__/helpers/mock-console.ts +0 -112
- package/src/__tests__/helpers/mock-dialogs.ts +0 -139
- package/src/__tests__/helpers/mock-get-pages-upload-token.ts +0 -25
- package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
- package/src/__tests__/helpers/mock-http-server.ts +0 -46
- package/src/__tests__/helpers/mock-istty.ts +0 -74
- package/src/__tests__/helpers/mock-known-routes.ts +0 -12
- package/src/__tests__/helpers/mock-kv.ts +0 -46
- package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
- package/src/__tests__/helpers/mock-process.ts +0 -34
- package/src/__tests__/helpers/mock-set-timeout.ts +0 -16
- package/src/__tests__/helpers/mock-stdin.ts +0 -108
- package/src/__tests__/helpers/mock-web-socket.ts +0 -29
- package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
- package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
- package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -160
- package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -81
- package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
- package/src/__tests__/helpers/msw/handlers/r2.ts +0 -60
- package/src/__tests__/helpers/msw/handlers/script.ts +0 -56
- package/src/__tests__/helpers/msw/handlers/user.ts +0 -52
- package/src/__tests__/helpers/msw/handlers/zones.ts +0 -20
- package/src/__tests__/helpers/msw/index.ts +0 -52
- package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
- package/src/__tests__/helpers/run-in-tmp.ts +0 -38
- package/src/__tests__/helpers/run-wrangler.ts +0 -16
- package/src/__tests__/helpers/string-dynamic-values-matcher.ts +0 -28
- package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
- package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
- package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
- package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -11
- package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
- package/src/__tests__/helpers/write-worker-source.ts +0 -31
- package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
- package/src/__tests__/https-options.test.ts +0 -163
- package/src/__tests__/index.test.ts +0 -282
- package/src/__tests__/init.test.ts +0 -3295
- package/src/__tests__/jest.setup.ts +0 -179
- package/src/__tests__/kv.test.ts +0 -1799
- package/src/__tests__/logger.test.ts +0 -207
- package/src/__tests__/logout.test.ts +0 -47
- package/src/__tests__/metrics.test.ts +0 -493
- package/src/__tests__/middleware.scheduled.test.ts +0 -145
- package/src/__tests__/middleware.test.ts +0 -816
- package/src/__tests__/mtls-certificates.test.ts +0 -589
- package/src/__tests__/package-manager.test.ts +0 -353
- package/src/__tests__/pages/deployment-list.test.ts +0 -80
- package/src/__tests__/pages/functions-build.test.ts +0 -529
- package/src/__tests__/pages/pages.test.ts +0 -81
- package/src/__tests__/pages/project-create.test.ts +0 -63
- package/src/__tests__/pages/project-list.test.ts +0 -110
- package/src/__tests__/pages/project-upload.test.ts +0 -500
- package/src/__tests__/pages/publish.test.ts +0 -2864
- package/src/__tests__/pages-deployment-tail.test.ts +0 -957
- package/src/__tests__/parse.test.ts +0 -436
- package/src/__tests__/paths.test.ts +0 -39
- package/src/__tests__/publish.test.ts +0 -8849
- package/src/__tests__/pubsub.test.ts +0 -496
- package/src/__tests__/queues.test.ts +0 -532
- package/src/__tests__/r2.test.ts +0 -374
- package/src/__tests__/route.test.ts +0 -45
- package/src/__tests__/secret.test.ts +0 -693
- package/src/__tests__/tail.test.ts +0 -989
- package/src/__tests__/test-old-node-version.js +0 -31
- package/src/__tests__/traverse-module-graph.test.ts +0 -220
- package/src/__tests__/tsconfig-sanity.ts +0 -12
- package/src/__tests__/tsconfig.json +0 -8
- package/src/__tests__/tsconfig.tsbuildinfo +0 -1
- package/src/__tests__/type-generation.test.ts +0 -234
- package/src/__tests__/unstableDev.test.ts +0 -61
- package/src/__tests__/user.test.ts +0 -118
- package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
- package/src/__tests__/validate-dev-props.test.ts +0 -56
- package/src/__tests__/version.test.ts +0 -35
- package/src/__tests__/whoami.test.tsx +0 -172
- package/src/__tests__/worker-namespace.test.ts +0 -340
- package/src/abort.d.ts +0 -3
- package/src/api/dev.ts +0 -328
- package/src/api/index.ts +0 -11
- package/src/api/mtls-certificate.ts +0 -148
- package/src/api/pages/create-worker-bundle-contents.ts +0 -79
- package/src/api/pages/index.ts +0 -5
- package/src/api/pages/publish.tsx +0 -371
- package/src/bundle-reporter.ts +0 -68
- package/src/bundle.ts +0 -952
- package/src/cfetch/index.ts +0 -158
- package/src/cfetch/internal.ts +0 -263
- package/src/cli.ts +0 -28
- package/src/config/README.md +0 -107
- package/src/config/config.ts +0 -282
- package/src/config/diagnostics.ts +0 -80
- package/src/config/environment.ts +0 -650
- package/src/config/index.ts +0 -424
- package/src/config/validation-helpers.ts +0 -597
- package/src/config/validation.ts +0 -2457
- package/src/config-cache.ts +0 -85
- package/src/constellation/createProject.tsx +0 -51
- package/src/constellation/deleteProject.ts +0 -51
- package/src/constellation/deleteProjectModel.ts +0 -76
- package/src/constellation/index.ts +0 -75
- package/src/constellation/listCatalog.tsx +0 -35
- package/src/constellation/listModel.tsx +0 -49
- package/src/constellation/listProject.tsx +0 -28
- package/src/constellation/listRuntime.tsx +0 -28
- package/src/constellation/options.ts +0 -17
- package/src/constellation/types.ts +0 -17
- package/src/constellation/uploadModel.tsx +0 -84
- package/src/constellation/utils.ts +0 -90
- package/src/create-worker-preview.ts +0 -293
- package/src/create-worker-upload-form.ts +0 -380
- package/src/d1/backups.tsx +0 -219
- package/src/d1/constants.ts +0 -5
- package/src/d1/create.tsx +0 -102
- package/src/d1/delete.ts +0 -53
- package/src/d1/execute.tsx +0 -371
- package/src/d1/formatTimeAgo.ts +0 -14
- package/src/d1/index.ts +0 -100
- package/src/d1/list.tsx +0 -62
- package/src/d1/migrations/apply.tsx +0 -235
- package/src/d1/migrations/create.tsx +0 -79
- package/src/d1/migrations/helpers.ts +0 -171
- package/src/d1/migrations/index.ts +0 -3
- package/src/d1/migrations/list.tsx +0 -95
- package/src/d1/migrations/options.ts +0 -23
- package/src/d1/options.ts +0 -22
- package/src/d1/splitter.ts +0 -161
- package/src/d1/types.ts +0 -32
- package/src/d1/utils.ts +0 -49
- package/src/delete.ts +0 -100
- package/src/deployments.ts +0 -368
- package/src/deprecated/index.ts +0 -144
- package/src/dev/dev-vars.ts +0 -39
- package/src/dev/dev.tsx +0 -607
- package/src/dev/get-local-persistence-path.ts +0 -31
- package/src/dev/local.tsx +0 -952
- package/src/dev/remote.tsx +0 -635
- package/src/dev/start-server.ts +0 -558
- package/src/dev/use-esbuild.ts +0 -230
- package/src/dev/validate-dev-props.ts +0 -40
- package/src/dev-registry.ts +0 -213
- package/src/dev.tsx +0 -946
- package/src/dialogs.ts +0 -136
- package/src/dispatch-namespace.ts +0 -211
- package/src/docs/helpers.ts +0 -50
- package/src/docs/index.ts +0 -54
- package/src/durable.ts +0 -102
- package/src/entry.ts +0 -344
- package/src/environment-variables/factory.ts +0 -89
- package/src/environment-variables/misc-variables.ts +0 -30
- package/src/errors.ts +0 -11
- package/src/generate/index.ts +0 -303
- package/src/git-client.ts +0 -135
- package/src/global-wrangler-config-path.ts +0 -26
- package/src/https-options.ts +0 -127
- package/src/index.ts +0 -769
- package/src/init.ts +0 -1072
- package/src/inspect.ts +0 -883
- package/src/intl-polyfill.d.ts +0 -139
- package/src/is-ci.ts +0 -14
- package/src/is-interactive.ts +0 -16
- package/src/jest.d.ts +0 -4
- package/src/kv/helpers.ts +0 -433
- package/src/kv/index.ts +0 -594
- package/src/logger.ts +0 -123
- package/src/metrics/index.ts +0 -5
- package/src/metrics/metrics-config.ts +0 -239
- package/src/metrics/metrics-dispatcher.ts +0 -96
- package/src/metrics/metrics-usage-headers.ts +0 -24
- package/src/metrics/send-event.ts +0 -99
- package/src/miniflare-cli/README.md +0 -30
- package/src/miniflare-cli/assets.ts +0 -251
- package/src/miniflare-cli/index.ts +0 -210
- package/src/miniflare-cli/request-context.ts +0 -40
- package/src/miniflare-cli/tsconfig.json +0 -9
- package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
- package/src/miniflare-cli/types.ts +0 -11
- package/src/module-collection.ts +0 -333
- package/src/mtls-certificate/cli.ts +0 -155
- package/src/open-in-browser.ts +0 -17
- package/src/package-manager.ts +0 -219
- package/src/pages/build.ts +0 -423
- package/src/pages/buildFunctions.ts +0 -140
- package/src/pages/constants.ts +0 -18
- package/src/pages/deployment-tails.ts +0 -281
- package/src/pages/deployments.tsx +0 -84
- package/src/pages/dev.ts +0 -759
- package/src/pages/errors.ts +0 -67
- package/src/pages/functions/buildPlugin.ts +0 -114
- package/src/pages/functions/buildWorker.ts +0 -381
- package/src/pages/functions/filepath-routing.test.ts +0 -234
- package/src/pages/functions/filepath-routing.ts +0 -189
- package/src/pages/functions/identifiers.ts +0 -78
- package/src/pages/functions/routes-consolidation.test.ts +0 -250
- package/src/pages/functions/routes-consolidation.ts +0 -73
- package/src/pages/functions/routes-transformation.test.ts +0 -282
- package/src/pages/functions/routes-transformation.ts +0 -115
- package/src/pages/functions/routes-validation.test.ts +0 -403
- package/src/pages/functions/routes-validation.ts +0 -202
- package/src/pages/functions/routes.ts +0 -151
- package/src/pages/functions/tsconfig.json +0 -8
- package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
- package/src/pages/functions.ts +0 -86
- package/src/pages/hash.ts +0 -13
- package/src/pages/index.ts +0 -102
- package/src/pages/projects.tsx +0 -159
- package/src/pages/prompt-select-project.tsx +0 -31
- package/src/pages/publish.tsx +0 -267
- package/src/pages/types.ts +0 -46
- package/src/pages/upload.tsx +0 -469
- package/src/pages/utils.ts +0 -23
- package/src/parse.ts +0 -308
- package/src/paths.ts +0 -71
- package/src/proxy.ts +0 -694
- package/src/publish/index.ts +0 -274
- package/src/publish/publish.ts +0 -1067
- package/src/pubsub/index.ts +0 -286
- package/src/pubsub/pubsub-commands.ts +0 -623
- package/src/queues/cli/commands/consumer/add.ts +0 -71
- package/src/queues/cli/commands/consumer/index.ts +0 -19
- package/src/queues/cli/commands/consumer/remove.ts +0 -31
- package/src/queues/cli/commands/create.ts +0 -25
- package/src/queues/cli/commands/delete.ts +0 -26
- package/src/queues/cli/commands/index.ts +0 -35
- package/src/queues/cli/commands/list.ts +0 -25
- package/src/queues/client.ts +0 -136
- package/src/queues/utils.ts +0 -18
- package/src/r2/constants.ts +0 -4
- package/src/r2/helpers.ts +0 -132
- package/src/r2/index.ts +0 -289
- package/src/routes.ts +0 -140
- package/src/secret/index.ts +0 -379
- package/src/selfsigned.d.ts +0 -29
- package/src/sites.ts +0 -484
- package/src/tail/createTail.ts +0 -415
- package/src/tail/filters.ts +0 -277
- package/src/tail/index.ts +0 -211
- package/src/tail/printing.ts +0 -132
- package/src/traverse-module-graph.ts +0 -54
- package/src/tsconfig-sanity.ts +0 -16
- package/src/type-generation.ts +0 -187
- package/src/update-check.ts +0 -19
- package/src/user/access.ts +0 -68
- package/src/user/auth-variables.ts +0 -113
- package/src/user/choose-account.tsx +0 -39
- package/src/user/generate-auth-url.ts +0 -33
- package/src/user/generate-random-state.ts +0 -16
- package/src/user/index.ts +0 -2
- package/src/user/user.ts +0 -1234
- package/src/utils/collectKeyValues.ts +0 -14
- package/src/utils/render.ts +0 -93
- package/src/whoami.ts +0 -135
- package/src/worker.ts +0 -294
- package/src/yargs-types.ts +0 -37
- package/src/zones.ts +0 -191
- package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
- package/templates/first-party-worker-module-facade.ts +0 -19
- package/templates/format-dev-errors.ts +0 -34
- package/templates/serve-static-assets.ts +0 -66
- package/templates/service-bindings-module-facade.js +0 -55
- package/templates/service-bindings-sw-facade.js +0 -42
- package/templates/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -6,8 +6,6 @@
|
|
|
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-legacy.
|
|
10
|
-
|
|
11
9
|
`wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
|
|
12
10
|
|
|
13
11
|
## Quick Start
|
|
@@ -17,8 +15,8 @@
|
|
|
17
15
|
echo "export default { fetch() { return new Response('hello world') } }" > index.js
|
|
18
16
|
# try it out
|
|
19
17
|
npx wrangler dev index.js
|
|
20
|
-
# and then
|
|
21
|
-
npx wrangler
|
|
18
|
+
# and then deploy it
|
|
19
|
+
npx wrangler deploy index.js --name my-worker
|
|
22
20
|
# visit https://my-worker.<your workers subdomain>.workers.dev
|
|
23
21
|
```
|
|
24
22
|
|
|
@@ -26,10 +24,10 @@ npx wrangler publish index.js --name my-worker
|
|
|
26
24
|
|
|
27
25
|
```bash
|
|
28
26
|
# Generate a new project
|
|
29
|
-
npx wrangler init my-worker
|
|
27
|
+
npx wrangler init my-worker --no-delegate-c3
|
|
30
28
|
# try it out
|
|
31
29
|
cd my-worker && npm run start
|
|
32
|
-
# and then
|
|
30
|
+
# and then deploy it
|
|
33
31
|
npm run deploy
|
|
34
32
|
```
|
|
35
33
|
|
|
@@ -63,7 +61,7 @@ Creates a Worker project. For details on configuration keys and values, refer to
|
|
|
63
61
|
|
|
64
62
|
Start a local development server, with live reloading and devtools.
|
|
65
63
|
|
|
66
|
-
### `wrangler
|
|
64
|
+
### `wrangler deploy`
|
|
67
65
|
|
|
68
66
|
Publish the given script to the worldwide Cloudflare network.
|
|
69
67
|
|
package/bin/wrangler.js
CHANGED
|
@@ -79,80 +79,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
/**
|
|
83
|
-
* Runs a locally-installed version of wrangler, delegating from this version.
|
|
84
|
-
* @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
|
|
85
|
-
*/
|
|
86
|
-
function runDelegatedWrangler() {
|
|
87
|
-
const packageJsonPath = require.resolve("wrangler/package.json", {
|
|
88
|
-
paths: [process.cwd()],
|
|
89
|
-
});
|
|
90
|
-
const {
|
|
91
|
-
bin: { wrangler: binaryPath },
|
|
92
|
-
version,
|
|
93
|
-
} = JSON.parse(fs.readFileSync(packageJsonPath));
|
|
94
|
-
const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
|
|
95
|
-
|
|
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
|
-
);
|
|
105
|
-
|
|
106
|
-
// this call to `spawn` is simpler because the delegated version will do all
|
|
107
|
-
// of the other work.
|
|
108
|
-
return spawn(
|
|
109
|
-
process.execPath,
|
|
110
|
-
[resolvedBinaryPath, ...process.argv.slice(2)],
|
|
111
|
-
{
|
|
112
|
-
stdio: ["inherit", "inherit", "inherit", "ipc"],
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
.on("exit", (code) =>
|
|
116
|
-
process.exit(code === undefined || code === null ? 0 : code)
|
|
117
|
-
)
|
|
118
|
-
.on("message", (message) => {
|
|
119
|
-
if (process.send) {
|
|
120
|
-
process.send(message);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Indicates if this invocation of `wrangler` should delegate
|
|
127
|
-
* to a locally-installed version.
|
|
128
|
-
*/
|
|
129
|
-
function shouldDelegate() {
|
|
130
|
-
try {
|
|
131
|
-
// `require.resolve` will throw if it can't find
|
|
132
|
-
// a locally-installed version of `wrangler`
|
|
133
|
-
const delegatedPackageJson = require.resolve("wrangler/package.json", {
|
|
134
|
-
paths: [process.cwd()],
|
|
135
|
-
});
|
|
136
|
-
const thisPackageJson = path.resolve(__dirname, "..", "package.json");
|
|
137
|
-
// if it's the same path, then we're already a local install -- no need to delegate
|
|
138
|
-
return thisPackageJson !== delegatedPackageJson;
|
|
139
|
-
} catch (e) {
|
|
140
|
-
// there's no local version to delegate to -- `require.resolve` threw
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
async function main() {
|
|
146
|
-
wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
process.on("SIGINT", () => {
|
|
150
|
-
wranglerProcess && wranglerProcess.kill();
|
|
151
|
-
});
|
|
152
|
-
process.on("SIGTERM", () => {
|
|
153
|
-
wranglerProcess && wranglerProcess.kill();
|
|
154
|
-
});
|
|
155
|
-
|
|
156
82
|
// semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
|
|
157
83
|
|
|
158
84
|
/**
|
|
@@ -185,4 +111,12 @@ function semiver(a, b, bool) {
|
|
|
185
111
|
|
|
186
112
|
// end semiver implementation
|
|
187
113
|
|
|
188
|
-
|
|
114
|
+
if (module === require.main) {
|
|
115
|
+
wranglerProcess = runWrangler();
|
|
116
|
+
process.on("SIGINT", () => {
|
|
117
|
+
wranglerProcess && wranglerProcess.kill();
|
|
118
|
+
});
|
|
119
|
+
process.on("SIGTERM", () => {
|
|
120
|
+
wranglerProcess && wranglerProcess.kill();
|
|
121
|
+
});
|
|
122
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wrangler",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-d96cc858",
|
|
4
4
|
"description": "Command-line interface for all things Cloudflare Workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wrangler",
|
|
@@ -42,14 +42,10 @@
|
|
|
42
42
|
"wrangler2": "./bin/wrangler.js"
|
|
43
43
|
},
|
|
44
44
|
"files": [
|
|
45
|
-
"src",
|
|
46
45
|
"bin",
|
|
47
|
-
"miniflare-config-stubs",
|
|
48
46
|
"miniflare-dist",
|
|
49
47
|
"wrangler-dist",
|
|
50
48
|
"templates",
|
|
51
|
-
"vendor",
|
|
52
|
-
"import_meta_url.js",
|
|
53
49
|
"kv-asset-handler.js",
|
|
54
50
|
"Cloudflare_CA.pem"
|
|
55
51
|
],
|
|
@@ -57,17 +53,20 @@
|
|
|
57
53
|
"assert-git-version": "node -r esbuild-register scripts/assert-git-version.ts",
|
|
58
54
|
"build": "npm run clean && npm run bundle && npm run emit-types",
|
|
59
55
|
"bundle": "node -r esbuild-register scripts/bundle.ts",
|
|
60
|
-
"check:
|
|
56
|
+
"check:lint": "eslint .",
|
|
57
|
+
"check:type": "tsc",
|
|
61
58
|
"clean": "rimraf wrangler-dist miniflare-dist emitted-types",
|
|
59
|
+
"create-cloudflare": "create-cloudflare",
|
|
62
60
|
"dev": "npm run clean && concurrently -c black,blue --kill-others-on-fail false 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
|
|
63
61
|
"emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
|
|
64
62
|
"prepublishOnly": "SOURCEMAPS=false npm run build",
|
|
65
63
|
"start": "npm run bundle && cross-env NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
|
|
66
64
|
"test": "npm run assert-git-version && jest",
|
|
67
|
-
"test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
|
|
68
65
|
"test:ci": "npm run test -- --coverage",
|
|
69
66
|
"test:debug": "npm run test -- --silent=false --verbose=true",
|
|
70
|
-
"test:e2e": "vitest --
|
|
67
|
+
"test:e2e": "vitest --test-timeout 120000 --single-thread --dir ./e2e run",
|
|
68
|
+
"test:watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
|
|
69
|
+
"type:tests": "tsc -p ./src/__tests__/tsconfig.json && tsc -p ./e2e/tsconfig.json"
|
|
71
70
|
},
|
|
72
71
|
"jest": {
|
|
73
72
|
"coverageReporters": [
|
|
@@ -102,13 +101,10 @@
|
|
|
102
101
|
"@cloudflare/kv-asset-handler": "^0.2.0",
|
|
103
102
|
"@esbuild-plugins/node-globals-polyfill": "^0.1.1",
|
|
104
103
|
"@esbuild-plugins/node-modules-polyfill": "^0.1.4",
|
|
105
|
-
"@miniflare/core": "2.14.0",
|
|
106
|
-
"@miniflare/d1": "2.14.0",
|
|
107
|
-
"@miniflare/durable-objects": "2.14.0",
|
|
108
104
|
"blake3-wasm": "^2.1.5",
|
|
109
105
|
"chokidar": "^3.5.3",
|
|
110
106
|
"esbuild": "0.16.3",
|
|
111
|
-
"miniflare": "
|
|
107
|
+
"miniflare": "^3.0.1",
|
|
112
108
|
"nanoid": "^3.3.3",
|
|
113
109
|
"path-to-regexp": "^6.2.0",
|
|
114
110
|
"selfsigned": "^2.0.1",
|
|
@@ -116,11 +112,12 @@
|
|
|
116
112
|
"xxhash-wasm": "^1.0.1"
|
|
117
113
|
},
|
|
118
114
|
"devDependencies": {
|
|
115
|
+
"@cloudflare/eslint-config-worker": "*",
|
|
119
116
|
"@cloudflare/types": "^6.18.4",
|
|
120
|
-
"@cloudflare/workers-
|
|
117
|
+
"@cloudflare/workers-tsconfig": "*",
|
|
118
|
+
"@cloudflare/workers-types": "^4.20230511.0",
|
|
121
119
|
"@iarna/toml": "^3.0.0",
|
|
122
120
|
"@microsoft/api-extractor": "^7.28.3",
|
|
123
|
-
"@miniflare/tre": "3.0.0-next.13",
|
|
124
121
|
"@types/better-sqlite3": "^7.6.0",
|
|
125
122
|
"@types/busboy": "^1.5.0",
|
|
126
123
|
"@types/command-exists": "^1.2.0",
|
|
@@ -135,7 +132,7 @@
|
|
|
135
132
|
"@types/supports-color": "^8.1.1",
|
|
136
133
|
"@types/ws": "^8.5.3",
|
|
137
134
|
"@types/yargs": "^17.0.10",
|
|
138
|
-
"@webcontainer/env": "^1.0
|
|
135
|
+
"@webcontainer/env": "^1.1.0",
|
|
139
136
|
"body-parser": "^1.20.0",
|
|
140
137
|
"chalk": "^2.4.2",
|
|
141
138
|
"cli-table3": "^0.6.3",
|
|
@@ -176,7 +173,7 @@
|
|
|
176
173
|
"remove-accents-esm": "^0.0.1",
|
|
177
174
|
"semiver": "^1.1.0",
|
|
178
175
|
"serve-static": "^1.15.0",
|
|
179
|
-
"shellac": "^0.
|
|
176
|
+
"shellac": "^0.8.0",
|
|
180
177
|
"signal-exit": "^3.0.7",
|
|
181
178
|
"strip-ansi": "^7.0.1",
|
|
182
179
|
"supports-color": "^9.2.2",
|
|
@@ -185,7 +182,7 @@
|
|
|
185
182
|
"ts-dedent": "^2.2.0",
|
|
186
183
|
"undici": "5.20.0",
|
|
187
184
|
"update-check": "^1.5.4",
|
|
188
|
-
"vitest": "^0.
|
|
185
|
+
"vitest": "^0.31.0",
|
|
189
186
|
"ws": "^8.5.0",
|
|
190
187
|
"xdg-app-paths": "^7.3.0",
|
|
191
188
|
"yargs": "^17.4.1",
|
|
@@ -15,7 +15,7 @@ export function checkedFetch(request, init) {
|
|
|
15
15
|
urls.add(url.toString());
|
|
16
16
|
console.warn(
|
|
17
17
|
`WARNING: known issue with \`fetch()\` requests to custom HTTPS ports in published Workers:\n` +
|
|
18
|
-
` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler
|
|
18
|
+
` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler deploy\` command.\n`
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
21
|
}
|
package/templates/facade.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
declare module "__ENTRY_POINT__" {
|
|
2
2
|
import type { Middleware } from "./middleware/common";
|
|
3
|
-
const worker: ExportedHandler & {
|
|
3
|
+
const worker: ExportedHandler & {
|
|
4
|
+
middleware?: Middleware[];
|
|
5
|
+
envWrappers: ((env: Record<string, unknown>) => Record<string, unknown>)[];
|
|
6
|
+
};
|
|
4
7
|
export default worker;
|
|
5
8
|
}
|
|
6
9
|
|
|
@@ -5,13 +5,18 @@ export type Dispatcher = (
|
|
|
5
5
|
init: { cron?: string }
|
|
6
6
|
) => Awaitable<void>;
|
|
7
7
|
|
|
8
|
+
export type IncomingRequest = Request<
|
|
9
|
+
unknown,
|
|
10
|
+
IncomingRequestCfProperties<unknown>
|
|
11
|
+
>;
|
|
12
|
+
|
|
8
13
|
export interface MiddlewareContext {
|
|
9
14
|
dispatch: Dispatcher;
|
|
10
|
-
next(request:
|
|
15
|
+
next(request: IncomingRequest, env: any): Awaitable<Response>;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
export type Middleware = (
|
|
14
|
-
request:
|
|
19
|
+
request: IncomingRequest,
|
|
15
20
|
env: any,
|
|
16
21
|
ctx: ExecutionContext,
|
|
17
22
|
middlewareCtx: MiddlewareContext
|
|
@@ -32,7 +37,7 @@ export function __facade_registerInternal__(
|
|
|
32
37
|
}
|
|
33
38
|
|
|
34
39
|
function __facade_invokeChain__(
|
|
35
|
-
request:
|
|
40
|
+
request: IncomingRequest,
|
|
36
41
|
env: any,
|
|
37
42
|
ctx: ExecutionContext,
|
|
38
43
|
dispatch: Dispatcher,
|
|
@@ -49,7 +54,7 @@ function __facade_invokeChain__(
|
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
export function __facade_invoke__(
|
|
52
|
-
request:
|
|
57
|
+
request: IncomingRequest,
|
|
53
58
|
env: any,
|
|
54
59
|
ctx: ExecutionContext,
|
|
55
60
|
dispatch: Dispatcher,
|
|
@@ -36,13 +36,54 @@ class __Facade_ScheduledController__ implements ScheduledController {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
const __facade_modules_fetch__:
|
|
40
|
-
|
|
39
|
+
const __facade_modules_fetch__: ExportedHandlerFetchHandler = function (
|
|
40
|
+
request,
|
|
41
|
+
env,
|
|
42
|
+
ctx
|
|
43
|
+
) {
|
|
44
|
+
if (worker.fetch === undefined)
|
|
45
|
+
throw new Error("Handler does not export a fetch() function.");
|
|
41
46
|
return worker.fetch(request, env, ctx);
|
|
42
47
|
};
|
|
43
48
|
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
function getMaskedEnv(rawEnv: unknown) {
|
|
50
|
+
let env = rawEnv as Record<string, unknown>;
|
|
51
|
+
if (worker.envWrappers && worker.envWrappers.length > 0) {
|
|
52
|
+
for (const wrapFn of worker.envWrappers) {
|
|
53
|
+
env = wrapFn(env);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return env;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* This type is here to cause a type error if a new export handler is added to
|
|
61
|
+
* `ExportHandler` without it being included in the `facade` below.
|
|
62
|
+
*/
|
|
63
|
+
type MissingExportHandlers = Omit<
|
|
64
|
+
Required<ExportedHandler>,
|
|
65
|
+
"tail" | "trace" | "scheduled" | "queue" | "test" | "fetch"
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
const facade: ExportedHandler<unknown> & MissingExportHandlers = {
|
|
69
|
+
...(worker.tail && {
|
|
70
|
+
tail: maskHandlerEnv(worker.tail),
|
|
71
|
+
}),
|
|
72
|
+
...(worker.trace && {
|
|
73
|
+
trace: maskHandlerEnv(worker.trace),
|
|
74
|
+
}),
|
|
75
|
+
...(worker.scheduled && {
|
|
76
|
+
scheduled: maskHandlerEnv(worker.scheduled),
|
|
77
|
+
}),
|
|
78
|
+
...(worker.queue && {
|
|
79
|
+
queue: maskHandlerEnv(worker.queue),
|
|
80
|
+
}),
|
|
81
|
+
...(worker.test && {
|
|
82
|
+
test: maskHandlerEnv(worker.test),
|
|
83
|
+
}),
|
|
84
|
+
|
|
85
|
+
fetch(request, rawEnv, ctx) {
|
|
86
|
+
const env = getMaskedEnv(rawEnv);
|
|
46
87
|
// Get the chain of middleware from the worker object
|
|
47
88
|
if (worker.middleware && worker.middleware.length > 0) {
|
|
48
89
|
for (const middleware of worker.middleware) {
|
|
@@ -71,14 +112,16 @@ const facade: ExportedHandler<unknown> = {
|
|
|
71
112
|
// We didn't have any middleware so we can skip the invocation chain,
|
|
72
113
|
// and just call the fetch handler directly
|
|
73
114
|
|
|
74
|
-
// We "don't care" if this is undefined as we want to have the same
|
|
115
|
+
// We "don't care" if this is undefined as we want to have the same behavior
|
|
75
116
|
// as if the worker completely bypassed middleware.
|
|
76
|
-
return
|
|
117
|
+
return __facade_modules_fetch__(request, env, ctx);
|
|
77
118
|
}
|
|
78
119
|
},
|
|
79
|
-
scheduled: worker.scheduled,
|
|
80
|
-
queue: worker.queue,
|
|
81
|
-
trace: worker.trace,
|
|
82
120
|
};
|
|
83
121
|
|
|
122
|
+
type HandlerFn<D, R> = (data: D, env: unknown, ctx: ExecutionContext) => R;
|
|
123
|
+
function maskHandlerEnv<D, R>(handler: HandlerFn<D, R>): HandlerFn<D, R> {
|
|
124
|
+
return (data, env, ctx) => handler(data, getMaskedEnv(env), ctx);
|
|
125
|
+
}
|
|
126
|
+
|
|
84
127
|
export default facade;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Awaitable,
|
|
3
3
|
Dispatcher,
|
|
4
|
+
IncomingRequest,
|
|
4
5
|
Middleware,
|
|
5
6
|
__facade_invoke__,
|
|
6
7
|
__facade_register__,
|
|
@@ -183,8 +184,6 @@ __facade__originalAddEventListener__("fetch", (event) => {
|
|
|
183
184
|
});
|
|
184
185
|
|
|
185
186
|
__FACADE_EVENT_TARGET__.dispatchEvent(facadeEvent);
|
|
186
|
-
// @ts-expect-error `waitUntil` types are currently broken, blocked on
|
|
187
|
-
// https://github.com/cloudflare/workerd/pull/191
|
|
188
187
|
event.waitUntil(Promise.all(facadeEvent[__facade_waitUntil__]));
|
|
189
188
|
}
|
|
190
189
|
};
|
|
@@ -197,8 +196,6 @@ __facade__originalAddEventListener__("fetch", (event) => {
|
|
|
197
196
|
|
|
198
197
|
__FACADE_EVENT_TARGET__.dispatchEvent(facadeEvent);
|
|
199
198
|
facadeEvent[__facade_dispatched__] = true;
|
|
200
|
-
// @ts-expect-error `waitUntil` types are currently broken, blocked on
|
|
201
|
-
// https://github.com/cloudflare/workerd/pull/191
|
|
202
199
|
event.waitUntil(Promise.all(facadeEvent[__facade_waitUntil__]));
|
|
203
200
|
|
|
204
201
|
const response = facadeEvent[__facade_response__];
|
|
@@ -210,7 +207,7 @@ __facade__originalAddEventListener__("fetch", (event) => {
|
|
|
210
207
|
|
|
211
208
|
event.respondWith(
|
|
212
209
|
__facade_invoke__(
|
|
213
|
-
event.request,
|
|
210
|
+
event.request as IncomingRequest,
|
|
214
211
|
globalThis,
|
|
215
212
|
ctx,
|
|
216
213
|
__facade_sw_dispatch__,
|
|
@@ -227,7 +224,5 @@ __facade__originalAddEventListener__("scheduled", (event) => {
|
|
|
227
224
|
});
|
|
228
225
|
|
|
229
226
|
__FACADE_EVENT_TARGET__.dispatchEvent(facadeEvent);
|
|
230
|
-
// @ts-expect-error `waitUntil` types are currently broken, blocked on
|
|
231
|
-
// https://github.com/cloudflare/workerd/pull/191
|
|
232
227
|
event.waitUntil(Promise.all(facadeEvent[__facade_waitUntil__]));
|
|
233
228
|
});
|