wrangler 0.0.0-eebad0d9 → 0.0.0-eec0a6459
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 +11 -13
- package/bin/wrangler.js +13 -102
- package/config-schema.json +3123 -0
- package/package.json +197 -199
- package/templates/__tests__/tsconfig.json +1 -1
- package/templates/checked-fetch.js +11 -4
- package/templates/facade.d.ts +7 -2
- package/templates/gitignore +2 -4
- package/templates/init-tests/test-vitest-new-worker.js +1 -1
- package/templates/init-tests/test-vitest-new-worker.ts +1 -1
- package/templates/middleware/common.ts +9 -4
- package/templates/middleware/loader-modules.ts +94 -44
- package/templates/middleware/loader-sw.ts +6 -10
- package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
- package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
- package/templates/middleware/middleware-serve-static-assets.ts +56 -0
- package/templates/modules-watch-stub.js +4 -0
- package/templates/new-worker-scheduled.ts +1 -1
- package/templates/new-worker.ts +1 -1
- package/templates/no-op-assets-worker.ts +33 -0
- package/templates/pages-dev-pipeline.ts +2 -1
- package/templates/pages-dev-util.ts +4 -1
- package/templates/pages-shim.ts +0 -3
- package/templates/pages-template-plugin.ts +14 -4
- package/templates/pages-template-worker.ts +12 -3
- package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
- package/templates/startDevWorker/ProxyWorker.ts +336 -0
- package/templates/tsconfig.init.json +4 -87
- package/templates/tsconfig.json +1 -1
- package/wrangler-dist/InspectorProxyWorker.js +464 -0
- package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
- package/wrangler-dist/ProxyWorker.js +241 -0
- package/wrangler-dist/ProxyWorker.js.map +6 -0
- package/wrangler-dist/cli.d.ts +25028 -244
- package/wrangler-dist/cli.js +155200 -95474
- package/wrangler-dist/wasm-sync.wasm +0 -0
- package/Cloudflare_CA.pem +0 -18
- 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 -6368
- 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 -80
- 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 -4509
- 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 -157
- 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 -238
- 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 -280
- package/src/__tests__/init.test.ts +0 -3196
- package/src/__tests__/jest.setup.ts +0 -179
- package/src/__tests__/kv.test.ts +0 -1799
- package/src/__tests__/logger.test.ts +0 -141
- 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 -588
- 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 -452
- 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 -2820
- package/src/__tests__/pages-deployment-tail.test.ts +0 -955
- package/src/__tests__/parse.test.ts +0 -436
- package/src/__tests__/paths.test.ts +0 -39
- package/src/__tests__/publish.test.ts +0 -8423
- 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 -958
- 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__/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 -327
- 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 -76
- package/src/api/pages/index.ts +0 -5
- package/src/api/pages/publish.tsx +0 -355
- package/src/bundle-reporter.ts +0 -68
- package/src/bundle.ts +0 -908
- package/src/cfetch/index.ts +0 -158
- package/src/cfetch/internal.ts +0 -258
- 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 -618
- package/src/config/index.ts +0 -403
- package/src/config/validation-helpers.ts +0 -597
- package/src/config/validation.ts +0 -2342
- package/src/config-cache.ts +0 -85
- package/src/create-worker-preview.ts +0 -293
- package/src/create-worker-upload-form.ts +0 -359
- package/src/d1/backups.tsx +0 -219
- package/src/d1/constants.ts +0 -2
- package/src/d1/create.tsx +0 -68
- package/src/d1/delete.ts +0 -53
- package/src/d1/execute.tsx +0 -357
- package/src/d1/formatTimeAgo.ts +0 -14
- package/src/d1/index.ts +0 -100
- package/src/d1/list.tsx +0 -60
- package/src/d1/migrations/apply.tsx +0 -212
- package/src/d1/migrations/create.tsx +0 -79
- package/src/d1/migrations/helpers.ts +0 -172
- 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 -25
- 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 -600
- package/src/dev/get-local-persistence-path.ts +0 -31
- package/src/dev/local.tsx +0 -920
- package/src/dev/remote.tsx +0 -632
- package/src/dev/start-server.ts +0 -534
- package/src/dev/use-esbuild.ts +0 -203
- package/src/dev/validate-dev-props.ts +0 -40
- package/src/dev-registry.ts +0 -202
- package/src/dev.tsx +0 -929
- package/src/dialogs.ts +0 -136
- package/src/dispatch-namespace.ts +0 -211
- package/src/docs/index.ts +0 -97
- package/src/durable.ts +0 -102
- package/src/entry.ts +0 -337
- package/src/environment-variables/factory.ts +0 -88
- package/src/environment-variables/misc-variables.ts +0 -30
- package/src/errors.ts +0 -11
- package/src/generate/index.ts +0 -298
- 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 -758
- package/src/init.ts +0 -1032
- package/src/inspect.ts +0 -782
- 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 -430
- package/src/kv/index.ts +0 -594
- package/src/logger.ts +0 -104
- 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 -410
- 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 -716
- package/src/pages/errors.ts +0 -67
- package/src/pages/functions/buildPlugin.ts +0 -113
- package/src/pages/functions/buildWorker.ts +0 -299
- 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 -1060
- 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 -376
- package/src/selfsigned.d.ts +0 -29
- package/src/sites.ts +0 -372
- package/src/tail/createTail.ts +0 -406
- package/src/tail/filters.ts +0 -277
- package/src/tail/index.ts +0 -211
- package/src/tail/printing.ts +0 -122
- package/src/traverse-module-graph.ts +0 -53
- package/src/tsconfig-sanity.ts +0 -16
- package/src/type-generation.ts +0 -181
- 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 -1233
- 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 -274
- package/src/yargs-types.ts +0 -37
- package/src/zones.ts +0 -191
- package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
- package/templates/d1-beta-facade.js +0 -244
- 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
|
@@ -3,11 +3,9 @@
|
|
|
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
4
|
<img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
|
|
5
5
|
<img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/workers-sdk/main?style=flat-square">
|
|
6
|
-
<a href="https://discord.
|
|
6
|
+
<a href="https://discord.cloudflare.com"><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
|
|
|
@@ -43,15 +41,15 @@ $ npm install wrangler --save-dev
|
|
|
43
41
|
|
|
44
42
|
Wrangler is configured via a `wrangler.toml` file in the project root. When utilizing the `wrangler init` command, a `wrangler.toml` file will be created for you.
|
|
45
43
|
|
|
46
|
-
|
|
44
|
+
Example:
|
|
47
45
|
|
|
48
46
|
```toml
|
|
49
|
-
main = "./src/index.ts" # init w/ TypeScript
|
|
50
47
|
name = "my-worker"
|
|
51
|
-
|
|
48
|
+
main = "./src/index.ts" # init w/ TypeScript
|
|
49
|
+
compatibility_date = "YYYY-MM-DD"
|
|
52
50
|
```
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
|
|
55
53
|
|
|
56
54
|
## Commands
|
|
57
55
|
|
|
@@ -63,11 +61,11 @@ 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
|
|
|
70
|
-
For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/
|
|
68
|
+
For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
|
|
71
69
|
|
|
72
70
|
## Pages
|
|
73
71
|
|
package/bin/wrangler.js
CHANGED
|
@@ -28,30 +28,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
|
|
32
|
-
if (pathToCACerts) {
|
|
33
|
-
// TODO:
|
|
34
|
-
// - should we log a warning here?
|
|
35
|
-
// - maybe we can generate a certificate that concatenates with ours?
|
|
36
|
-
//
|
|
37
|
-
// I do think it'll be rare that someone wants to add a cert AND
|
|
38
|
-
// use Cloudflare WARP, but let's wait till the situation actually
|
|
39
|
-
// arises before we do anything about it
|
|
40
|
-
} else {
|
|
41
|
-
const osTempDir = os.tmpdir();
|
|
42
|
-
const certDir = path.join(osTempDir, "wrangler-cert");
|
|
43
|
-
const certPath = path.join(certDir, "Cloudflare_CA.pem");
|
|
44
|
-
// copy cert to the system temp dir if needed
|
|
45
|
-
if (!fs.existsSync(certPath)) {
|
|
46
|
-
fs.mkdirSync(certDir, { recursive: true });
|
|
47
|
-
fs.writeFileSync(
|
|
48
|
-
certPath,
|
|
49
|
-
fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
pathToCACerts = certPath;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
31
|
return spawn(
|
|
56
32
|
process.execPath,
|
|
57
33
|
[
|
|
@@ -63,10 +39,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
63
39
|
],
|
|
64
40
|
{
|
|
65
41
|
stdio: ["inherit", "inherit", "inherit", "ipc"],
|
|
66
|
-
env: {
|
|
67
|
-
...process.env,
|
|
68
|
-
NODE_EXTRA_CA_CERTS: pathToCACerts,
|
|
69
|
-
},
|
|
70
42
|
}
|
|
71
43
|
)
|
|
72
44
|
.on("exit", (code) =>
|
|
@@ -76,83 +48,14 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
76
48
|
if (process.send) {
|
|
77
49
|
process.send(message);
|
|
78
50
|
}
|
|
79
|
-
})
|
|
80
|
-
|
|
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);
|
|
51
|
+
})
|
|
52
|
+
.on("disconnect", () => {
|
|
53
|
+
if (process.disconnect) {
|
|
54
|
+
process.disconnect();
|
|
121
55
|
}
|
|
122
56
|
});
|
|
123
57
|
}
|
|
124
58
|
|
|
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
59
|
// semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
|
|
157
60
|
|
|
158
61
|
/**
|
|
@@ -185,4 +88,12 @@ function semiver(a, b, bool) {
|
|
|
185
88
|
|
|
186
89
|
// end semiver implementation
|
|
187
90
|
|
|
188
|
-
|
|
91
|
+
if (module === require.main) {
|
|
92
|
+
wranglerProcess = runWrangler();
|
|
93
|
+
process.on("SIGINT", () => {
|
|
94
|
+
wranglerProcess && wranglerProcess.kill();
|
|
95
|
+
});
|
|
96
|
+
process.on("SIGTERM", () => {
|
|
97
|
+
wranglerProcess && wranglerProcess.kill();
|
|
98
|
+
});
|
|
99
|
+
}
|