wrangler 0.0.0-e7a0cd5b → 0.0.0-e87ad068
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 +30 -10
- package/miniflare-dist/index.mjs +254 -128
- package/package.json +27 -19
- 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 +797 -98
- package/src/__tests__/constellation.test.ts +371 -0
- 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 +257 -0
- package/src/__tests__/d1/splitter.test.ts +255 -0
- package/src/__tests__/delete.test.ts +91 -49
- package/src/__tests__/deployments.test.ts +330 -56
- package/src/__tests__/dev.test.tsx +198 -90
- package/src/__tests__/generate.test.ts +12 -10
- 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 +103 -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 +128 -27
- package/src/__tests__/helpers/msw/handlers/namespaces.ts +18 -41
- package/src/__tests__/helpers/msw/handlers/oauth.ts +13 -18
- 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 +92 -72
- package/src/__tests__/init.test.ts +1033 -631
- 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 +47 -0
- package/src/__tests__/metrics.test.ts +94 -51
- package/src/__tests__/middleware.scheduled.test.ts +42 -32
- package/src/__tests__/middleware.test.ts +212 -122
- package/src/__tests__/mtls-certificates.test.ts +589 -0
- package/src/__tests__/pages/deployment-list.test.ts +80 -0
- package/src/__tests__/pages/functions-build.test.ts +529 -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 +957 -0
- package/src/__tests__/parse.test.ts +106 -0
- package/src/__tests__/publish.test.ts +2227 -1005
- package/src/__tests__/pubsub.test.ts +226 -100
- package/src/__tests__/queues.test.ts +238 -77
- package/src/__tests__/r2.test.ts +55 -57
- package/src/__tests__/secret.test.ts +179 -130
- package/src/__tests__/tail.test.ts +313 -113
- 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 +43 -26
- package/src/__tests__/unstableDev.test.ts +61 -0
- package/src/__tests__/user.test.ts +35 -72
- package/src/__tests__/whoami.test.tsx +8 -114
- package/src/__tests__/worker-namespace.test.ts +83 -69
- package/src/api/dev.ts +180 -60
- package/src/api/index.ts +10 -1
- package/src/api/mtls-certificate.ts +148 -0
- package/src/api/pages/create-worker-bundle-contents.ts +80 -0
- package/src/api/pages/index.ts +5 -0
- package/src/api/pages/publish.tsx +371 -0
- package/src/bundle.ts +315 -148
- package/src/cfetch/index.ts +0 -2
- package/src/cfetch/internal.ts +33 -33
- package/src/cli.ts +4 -4
- package/src/config/config.ts +14 -7
- package/src/config/environment.ts +120 -24
- package/src/config/index.ts +117 -35
- package/src/config/validation-helpers.ts +1 -1
- package/src/config/validation.ts +430 -19
- package/src/constellation/createProject.tsx +51 -0
- package/src/constellation/deleteProject.ts +51 -0
- package/src/constellation/deleteProjectModel.ts +76 -0
- package/src/constellation/index.ts +75 -0
- package/src/constellation/listCatalog.tsx +35 -0
- package/src/constellation/listModel.tsx +49 -0
- package/src/constellation/listProject.tsx +28 -0
- package/src/constellation/listRuntime.tsx +28 -0
- package/src/constellation/options.ts +17 -0
- package/src/constellation/types.ts +17 -0
- package/src/constellation/uploadModel.tsx +84 -0
- package/src/constellation/utils.ts +90 -0
- package/src/create-worker-preview.ts +19 -8
- package/src/create-worker-upload-form.ts +81 -18
- package/src/d1/backups.tsx +47 -46
- package/src/d1/constants.ts +5 -0
- package/src/d1/create.tsx +85 -37
- package/src/d1/{delete.tsx → delete.ts} +12 -15
- package/src/d1/execute.tsx +228 -156
- package/src/d1/index.ts +31 -7
- package/src/d1/list.tsx +27 -13
- package/src/d1/migrations/apply.tsx +235 -0
- package/src/d1/migrations/create.tsx +79 -0
- package/src/d1/migrations/helpers.ts +171 -0
- package/src/d1/migrations/index.ts +3 -0
- package/src/d1/migrations/list.tsx +95 -0
- package/src/d1/migrations/options.ts +23 -0
- package/src/d1/options.ts +12 -2
- package/src/d1/splitter.ts +161 -0
- package/src/d1/types.ts +32 -0
- package/src/d1/utils.ts +12 -2
- package/src/delete.ts +8 -16
- package/src/deployments.ts +340 -46
- package/src/deprecated/index.ts +8 -302
- package/src/dev/dev.tsx +66 -46
- package/src/dev/local.tsx +339 -104
- package/src/dev/remote.tsx +36 -3
- package/src/dev/start-server.ts +146 -101
- package/src/dev/use-esbuild.ts +82 -56
- package/src/dev/validate-dev-props.ts +9 -0
- package/src/{dev-registry.tsx → dev-registry.ts} +13 -1
- package/src/dev.tsx +202 -125
- package/src/dialogs.ts +136 -0
- package/src/dispatch-namespace.ts +21 -17
- package/src/docs/helpers.ts +50 -0
- package/src/docs/index.ts +54 -0
- package/src/entry.ts +26 -11
- package/src/environment-variables/factory.ts +89 -0
- package/src/environment-variables/misc-variables.ts +30 -0
- package/src/generate/index.ts +303 -0
- package/src/git-client.ts +15 -4
- package/src/{index.tsx → index.ts} +148 -63
- package/src/init.ts +301 -197
- package/src/inspect.ts +122 -6
- package/src/jest.d.ts +4 -0
- package/src/kv/helpers.ts +7 -4
- package/src/kv/index.ts +15 -17
- package/src/logger.ts +36 -5
- package/src/metrics/metrics-config.ts +3 -3
- package/src/metrics/send-event.ts +6 -1
- package/src/miniflare-cli/assets.ts +64 -28
- package/src/miniflare-cli/index.ts +6 -9
- 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 +92 -26
- package/src/mtls-certificate/cli.ts +155 -0
- package/src/pages/build.ts +423 -0
- package/src/pages/buildFunctions.ts +140 -0
- package/src/pages/deployment-tails.ts +281 -0
- package/src/pages/deployments.tsx +11 -33
- package/src/pages/{dev.tsx → dev.ts} +192 -126
- package/src/pages/errors.ts +1 -0
- package/src/pages/functions/buildPlugin.ts +73 -69
- package/src/pages/functions/buildWorker.ts +342 -117
- 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} +11 -3
- package/src/pages/projects.tsx +12 -22
- package/src/pages/prompt-select-project.tsx +31 -0
- package/src/pages/publish.tsx +45 -214
- package/src/pages/types.ts +6 -9
- package/src/pages/upload.tsx +58 -14
- package/src/pages/utils.ts +14 -3
- package/src/parse.ts +23 -1
- package/src/paths.ts +1 -1
- package/src/proxy.ts +5 -0
- package/src/publish/index.ts +20 -16
- package/src/publish/publish.ts +81 -48
- 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 +6 -4
- package/src/queues/cli/commands/list.ts +8 -8
- package/src/queues/client.ts +1 -0
- package/src/queues/utils.ts +18 -0
- package/src/r2/constants.ts +4 -0
- package/src/r2/helpers.ts +1 -0
- package/src/r2/index.ts +40 -28
- package/src/secret/index.ts +18 -17
- package/src/{sites.tsx → sites.ts} +165 -53
- package/src/tail/createTail.ts +103 -3
- package/src/tail/filters.ts +1 -1
- package/src/tail/index.ts +8 -11
- package/src/tail/printing.ts +27 -0
- package/src/traverse-module-graph.ts +54 -0
- package/src/tsconfig-sanity.ts +16 -0
- package/src/type-generation.ts +85 -57
- 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} +124 -82
- package/src/utils/render.ts +93 -0
- package/src/{whoami.tsx → whoami.ts} +37 -71
- package/src/worker.ts +61 -3
- package/src/yargs-types.ts +22 -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 +95 -25
- 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 +51 -31
- package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
- package/templates/new-worker.ts +3 -0
- package/templates/pages-dev-pipeline.ts +4 -1
- package/templates/pages-dev-util.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 +902 -77
- package/wrangler-dist/cli.js +131685 -140615
- package/wrangler-dist/wasm-sync.wasm +0 -0
- package/src/__tests__/api-devregistry.test.js +0 -57
- package/src/__tests__/d1.test.ts +0 -72
- package/src/__tests__/dialogs.test.tsx +0 -40
- package/src/__tests__/helpers/mock-cfetch.ts +0 -333
- package/src/__tests__/pages.test.ts +0 -2223
- package/src/d1/types.tsx +0 -14
- package/src/dialogs.tsx +0 -163
- package/src/environment-variables.ts +0 -50
- package/src/pages/build.tsx +0 -238
- package/src/user/env-vars.ts +0 -46
- package/templates/experimental-local-cache-stubs.js +0 -27
- /package/src/{bundle-reporter.tsx → bundle-reporter.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/src/dev/use-esbuild.ts
CHANGED
|
@@ -2,11 +2,17 @@ import assert from "node:assert";
|
|
|
2
2
|
import { watch } from "chokidar";
|
|
3
3
|
import { useApp } from "ink";
|
|
4
4
|
import { useState, useEffect } from "react";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
bundleWorker,
|
|
7
|
+
dedupeModulesByName,
|
|
8
|
+
rewriteNodeCompatBuildFailure,
|
|
9
|
+
} from "../bundle";
|
|
6
10
|
import { logBuildFailure, logger } from "../logger";
|
|
11
|
+
import traverseModuleGraph from "../traverse-module-graph";
|
|
7
12
|
import type { Config } from "../config";
|
|
8
13
|
import type { WorkerRegistry } from "../dev-registry";
|
|
9
14
|
import type { Entry } from "../entry";
|
|
15
|
+
import type { SourceMapMetadata } from "../inspect";
|
|
10
16
|
import type { CfModule } from "../worker";
|
|
11
17
|
import type { WatchMode, Metafile } from "esbuild";
|
|
12
18
|
|
|
@@ -18,6 +24,7 @@ export type EsbuildBundle = {
|
|
|
18
24
|
modules: CfModule[];
|
|
19
25
|
dependencies: Metafile["outputs"][string]["inputs"];
|
|
20
26
|
sourceMapPath: string | undefined;
|
|
27
|
+
sourceMapMetadata: SourceMapMetadata | undefined;
|
|
21
28
|
};
|
|
22
29
|
|
|
23
30
|
export function useEsbuild({
|
|
@@ -25,12 +32,15 @@ export function useEsbuild({
|
|
|
25
32
|
destination,
|
|
26
33
|
jsxFactory,
|
|
27
34
|
jsxFragment,
|
|
35
|
+
processEntrypoint,
|
|
36
|
+
additionalModules,
|
|
28
37
|
rules,
|
|
29
38
|
assets,
|
|
30
39
|
serveAssetsFromWorker,
|
|
31
40
|
tsconfig,
|
|
32
41
|
minify,
|
|
33
|
-
|
|
42
|
+
legacyNodeCompat,
|
|
43
|
+
nodejsCompat,
|
|
34
44
|
betaD1Shims,
|
|
35
45
|
define,
|
|
36
46
|
noBundle,
|
|
@@ -41,12 +51,14 @@ export function useEsbuild({
|
|
|
41
51
|
local,
|
|
42
52
|
targetConsumer,
|
|
43
53
|
testScheduled,
|
|
44
|
-
|
|
54
|
+
experimentalLocal,
|
|
45
55
|
}: {
|
|
46
56
|
entry: Entry;
|
|
47
57
|
destination: string | undefined;
|
|
48
58
|
jsxFactory: string | undefined;
|
|
49
59
|
jsxFragment: string | undefined;
|
|
60
|
+
processEntrypoint: boolean;
|
|
61
|
+
additionalModules: CfModule[];
|
|
50
62
|
rules: Config["rules"];
|
|
51
63
|
assets: Config["assets"];
|
|
52
64
|
define: Config["define"];
|
|
@@ -54,7 +66,8 @@ export function useEsbuild({
|
|
|
54
66
|
serveAssetsFromWorker: boolean;
|
|
55
67
|
tsconfig: string | undefined;
|
|
56
68
|
minify: boolean | undefined;
|
|
57
|
-
|
|
69
|
+
legacyNodeCompat: boolean | undefined;
|
|
70
|
+
nodejsCompat: boolean | undefined;
|
|
58
71
|
betaD1Shims?: string[];
|
|
59
72
|
noBundle: boolean;
|
|
60
73
|
workerDefinitions: WorkerRegistry;
|
|
@@ -63,7 +76,7 @@ export function useEsbuild({
|
|
|
63
76
|
local: boolean;
|
|
64
77
|
targetConsumer: "dev" | "publish";
|
|
65
78
|
testScheduled: boolean;
|
|
66
|
-
|
|
79
|
+
experimentalLocal: boolean | undefined;
|
|
67
80
|
}): EsbuildBundle | undefined {
|
|
68
81
|
const [bundle, setBundle] = useState<EsbuildBundle>();
|
|
69
82
|
const { exit } = useApp();
|
|
@@ -85,7 +98,7 @@ export function useEsbuild({
|
|
|
85
98
|
const watchMode: WatchMode = {
|
|
86
99
|
async onRebuild(error) {
|
|
87
100
|
if (error !== null) {
|
|
88
|
-
if (!
|
|
101
|
+
if (!legacyNodeCompat) rewriteNodeCompatBuildFailure(error);
|
|
89
102
|
logBuildFailure(error);
|
|
90
103
|
logger.error("Watch build failed:", error.message);
|
|
91
104
|
} else {
|
|
@@ -97,50 +110,52 @@ export function useEsbuild({
|
|
|
97
110
|
async function build() {
|
|
98
111
|
if (!destination) return;
|
|
99
112
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
113
|
+
let traverseModuleGraphResult:
|
|
114
|
+
| Awaited<ReturnType<typeof bundleWorker>>
|
|
115
|
+
| undefined;
|
|
116
|
+
let bundleResult: Awaited<ReturnType<typeof bundleWorker>> | undefined;
|
|
117
|
+
if (noBundle) {
|
|
118
|
+
traverseModuleGraphResult = await traverseModuleGraph(entry, rules);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (processEntrypoint || !noBundle) {
|
|
122
|
+
bundleResult = await bundleWorker(entry, destination, {
|
|
123
|
+
bundle: !noBundle,
|
|
124
|
+
disableModuleCollection: noBundle,
|
|
125
|
+
serveAssetsFromWorker,
|
|
126
|
+
jsxFactory,
|
|
127
|
+
jsxFragment,
|
|
128
|
+
rules,
|
|
129
|
+
watch: watchMode,
|
|
130
|
+
tsconfig,
|
|
131
|
+
minify,
|
|
132
|
+
legacyNodeCompat,
|
|
133
|
+
nodejsCompat,
|
|
134
|
+
betaD1Shims,
|
|
135
|
+
doBindings: durableObjects.bindings,
|
|
136
|
+
define,
|
|
137
|
+
checkFetch: true,
|
|
138
|
+
assets: assets && {
|
|
139
|
+
...assets,
|
|
140
|
+
// disable the cache in dev
|
|
141
|
+
bypassCache: true,
|
|
142
|
+
},
|
|
143
|
+
workerDefinitions,
|
|
144
|
+
services,
|
|
145
|
+
firstPartyWorkerDevFacade,
|
|
146
|
+
local,
|
|
147
|
+
targetConsumer,
|
|
148
|
+
testScheduled,
|
|
149
|
+
experimentalLocal,
|
|
150
|
+
additionalModules: dedupeModulesByName([
|
|
151
|
+
...(traverseModuleGraphResult?.modules ?? []),
|
|
152
|
+
...additionalModules,
|
|
153
|
+
]),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
141
156
|
|
|
142
157
|
// Capture the `stop()` method to use as the `useEffect()` destructor.
|
|
143
|
-
stopWatching = stop;
|
|
158
|
+
stopWatching = bundleResult?.stop;
|
|
144
159
|
|
|
145
160
|
// if "noBundle" is true, then we need to manually watch the entry point and
|
|
146
161
|
// trigger "builds" when it changes
|
|
@@ -152,17 +167,25 @@ export function useEsbuild({
|
|
|
152
167
|
});
|
|
153
168
|
|
|
154
169
|
stopWatching = () => {
|
|
155
|
-
watcher.close();
|
|
170
|
+
void watcher.close();
|
|
156
171
|
};
|
|
157
172
|
}
|
|
158
173
|
setBundle({
|
|
159
174
|
id: 0,
|
|
160
175
|
entry,
|
|
161
|
-
path: resolvedEntryPointPath,
|
|
162
|
-
type:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
176
|
+
path: bundleResult?.resolvedEntryPointPath ?? entry.file,
|
|
177
|
+
type:
|
|
178
|
+
bundleResult?.bundleType ??
|
|
179
|
+
(entry.format === "modules" ? "esm" : "commonjs"),
|
|
180
|
+
modules: bundleResult
|
|
181
|
+
? bundleResult.modules
|
|
182
|
+
: dedupeModulesByName([
|
|
183
|
+
...(traverseModuleGraphResult?.modules ?? []),
|
|
184
|
+
...additionalModules,
|
|
185
|
+
]),
|
|
186
|
+
dependencies: bundleResult?.dependencies ?? {},
|
|
187
|
+
sourceMapPath: bundleResult?.sourceMapPath,
|
|
188
|
+
sourceMapMetadata: bundleResult?.sourceMapMetadata,
|
|
166
189
|
});
|
|
167
190
|
}
|
|
168
191
|
|
|
@@ -182,12 +205,15 @@ export function useEsbuild({
|
|
|
182
205
|
jsxFactory,
|
|
183
206
|
jsxFragment,
|
|
184
207
|
serveAssetsFromWorker,
|
|
208
|
+
processEntrypoint,
|
|
209
|
+
additionalModules,
|
|
185
210
|
rules,
|
|
186
211
|
tsconfig,
|
|
187
212
|
exit,
|
|
188
213
|
noBundle,
|
|
189
214
|
minify,
|
|
190
|
-
|
|
215
|
+
legacyNodeCompat,
|
|
216
|
+
nodejsCompat,
|
|
191
217
|
define,
|
|
192
218
|
assets,
|
|
193
219
|
services,
|
|
@@ -198,7 +224,7 @@ export function useEsbuild({
|
|
|
198
224
|
local,
|
|
199
225
|
targetConsumer,
|
|
200
226
|
testScheduled,
|
|
201
|
-
|
|
227
|
+
experimentalLocal,
|
|
202
228
|
]);
|
|
203
229
|
return bundle;
|
|
204
230
|
}
|
|
@@ -28,4 +28,13 @@ export function validateDevProps(props: DevProps) {
|
|
|
28
28
|
"You cannot configure [data_blobs] with an ES module worker. Instead, import the file directly in your code, and optionally configure `[rules]` in your wrangler.toml"
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
if (
|
|
33
|
+
props.compatibilityFlags?.includes("nodejs_compat") &&
|
|
34
|
+
props.legacyNodeCompat
|
|
35
|
+
) {
|
|
36
|
+
throw new Error(
|
|
37
|
+
"You cannot use the `nodejs_compat` compatibility flag in conjunction with the legacy `--node-compat` flag. If you want to use the new runtime Node.js compatibility features, please remove the `--node-compat` argument from your CLI command or your config file."
|
|
38
|
+
);
|
|
39
|
+
}
|
|
31
40
|
}
|
|
@@ -13,7 +13,7 @@ import type { HttpTerminator } from "http-terminator";
|
|
|
13
13
|
const DEV_REGISTRY_PORT = "6284";
|
|
14
14
|
const DEV_REGISTRY_HOST = `http://localhost:${DEV_REGISTRY_PORT}`;
|
|
15
15
|
|
|
16
|
-
let server: Server;
|
|
16
|
+
let server: Server | null;
|
|
17
17
|
let terminator: HttpTerminator;
|
|
18
18
|
|
|
19
19
|
export type WorkerRegistry = Record<string, WorkerDefinition>;
|
|
@@ -94,6 +94,13 @@ export async function startWorkerRegistry() {
|
|
|
94
94
|
throw err;
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* The registry server may close. Reset the server to null for restart.
|
|
100
|
+
*/
|
|
101
|
+
server.on("close", () => {
|
|
102
|
+
server = null;
|
|
103
|
+
});
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
106
|
|
|
@@ -102,6 +109,7 @@ export async function startWorkerRegistry() {
|
|
|
102
109
|
*/
|
|
103
110
|
export async function stopWorkerRegistry() {
|
|
104
111
|
await terminator?.terminate();
|
|
112
|
+
server = null;
|
|
105
113
|
}
|
|
106
114
|
|
|
107
115
|
/**
|
|
@@ -111,6 +119,10 @@ export async function registerWorker(
|
|
|
111
119
|
name: string,
|
|
112
120
|
definition: WorkerDefinition
|
|
113
121
|
) {
|
|
122
|
+
/**
|
|
123
|
+
* Prevent the dev registry be closed.
|
|
124
|
+
*/
|
|
125
|
+
await startWorkerRegistry();
|
|
114
126
|
try {
|
|
115
127
|
return await fetch(`${DEV_REGISTRY_HOST}/workers/${name}`, {
|
|
116
128
|
method: "POST",
|