wrangler 0.0.0-c2940160 → 0.0.0-c2b2dfb8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/wrangler.js +29 -9
- package/miniflare-dist/index.mjs +103 -55
- package/package.json +6 -4
- package/src/__tests__/api-dev.test.ts +1 -1
- package/src/__tests__/api-devregistry.test.js +2 -2
- package/src/__tests__/configuration.test.ts +211 -0
- package/src/__tests__/d1.test.ts +46 -3
- package/src/__tests__/delete.test.ts +81 -48
- package/src/__tests__/deployments.test.ts +20 -6
- package/src/__tests__/dev.test.tsx +69 -19
- package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
- package/src/__tests__/helpers/mock-cfetch.ts +1 -57
- package/src/__tests__/helpers/mock-oauth-flow.ts +64 -49
- package/src/__tests__/helpers/mock-process.ts +8 -13
- package/src/__tests__/index.test.ts +46 -42
- package/src/__tests__/init.test.ts +295 -161
- package/src/__tests__/jest.setup.ts +8 -7
- package/src/__tests__/kv.test.ts +250 -139
- package/src/__tests__/logout.test.ts +1 -1
- package/src/__tests__/metrics.test.ts +88 -43
- package/src/__tests__/pages-deployment-tail.test.ts +165 -101
- package/src/__tests__/pages.test.ts +1 -0
- package/src/__tests__/publish.test.ts +137 -7
- package/src/__tests__/pubsub.test.ts +208 -88
- package/src/__tests__/queues.test.ts +155 -67
- package/src/__tests__/r2.test.ts +2 -2
- package/src/__tests__/secret.test.ts +151 -101
- package/src/__tests__/tail.test.ts +207 -108
- 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 +7 -0
- package/src/api/dev.ts +1 -1
- package/src/cfetch/index.ts +0 -2
- package/src/cfetch/internal.ts +16 -18
- package/src/config/environment.ts +16 -0
- package/src/config/index.ts +32 -8
- package/src/config/validation.ts +49 -0
- package/src/create-worker-upload-form.ts +9 -0
- package/src/d1/backups.tsx +7 -2
- package/src/d1/delete.tsx +4 -4
- package/src/d1/index.ts +2 -0
- package/src/d1/migrations/apply.tsx +22 -20
- package/src/d1/migrations/list.tsx +2 -12
- package/src/d1/migrations/options.ts +18 -0
- package/src/deployments.ts +6 -0
- package/src/deprecated/index.ts +2 -295
- package/src/dev/dev.tsx +20 -4
- package/src/dev/local.tsx +63 -21
- package/src/dev/start-server.ts +17 -17
- package/src/dev/use-esbuild.ts +1 -1
- package/src/dev.tsx +55 -12
- package/src/dispatch-namespace.ts +1 -1
- package/src/docs/index.ts +97 -0
- package/src/environment-variables/factory.ts +88 -0
- package/src/environment-variables/misc-variables.ts +30 -0
- package/src/generate/index.ts +300 -0
- package/src/git-client.ts +15 -4
- package/src/index.tsx +17 -10
- package/src/init.ts +54 -34
- package/src/jest.d.ts +4 -0
- package/src/logger.ts +2 -2
- package/src/metrics/metrics-config.ts +1 -1
- package/src/metrics/send-event.ts +2 -1
- package/src/miniflare-cli/assets.ts +63 -28
- package/src/miniflare-cli/index.ts +2 -5
- 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/pages/dev.tsx +8 -1
- package/src/pages/functions/tsconfig.json +8 -0
- package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
- package/src/pages/publish.tsx +11 -1
- package/src/pages/upload.tsx +27 -6
- package/src/publish/publish.ts +1 -0
- package/src/pubsub/pubsub-commands.tsx +1 -1
- package/src/secret/index.ts +1 -0
- package/src/tsconfig-sanity.ts +16 -0
- package/src/type-generation.ts +10 -2
- package/src/user/access.ts +0 -1
- package/src/user/auth-variables.ts +113 -0
- package/src/user/choose-account.tsx +1 -1
- package/src/user/index.ts +0 -1
- package/src/user/user.tsx +78 -38
- package/src/worker.ts +6 -0
- package/templates/__tests__/tsconfig-sanity.ts +12 -0
- package/templates/__tests__/tsconfig.json +8 -0
- package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
- package/templates/facade.d.ts +14 -0
- package/templates/first-party-worker-module-facade.ts +4 -3
- package/templates/format-dev-errors.ts +7 -6
- package/templates/middleware/loader-modules.ts +0 -2
- package/templates/middleware/loader-sw.ts +6 -0
- package/templates/pages-dev-pipeline.ts +4 -1
- package/templates/pages-shim.ts +4 -1
- package/templates/pages-template-plugin.ts +1 -1
- package/templates/serve-static-assets.ts +16 -14
- package/templates/tsconfig-sanity.ts +11 -0
- package/templates/tsconfig.init.json +106 -0
- package/templates/tsconfig.json +5 -103
- package/templates/tsconfig.tsbuildinfo +1 -0
- package/wrangler-dist/cli.d.ts +15 -0
- package/wrangler-dist/cli.js +2729 -1094
- package/src/environment-variables.ts +0 -50
- package/src/user/env-vars.ts +0 -46
package/bin/wrangler.js
CHANGED
|
@@ -62,15 +62,21 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
62
62
|
...process.argv.slice(2),
|
|
63
63
|
],
|
|
64
64
|
{
|
|
65
|
-
stdio: "inherit",
|
|
65
|
+
stdio: ["inherit", "inherit", "inherit", "ipc"],
|
|
66
66
|
env: {
|
|
67
67
|
...process.env,
|
|
68
68
|
NODE_EXTRA_CA_CERTS: pathToCACerts,
|
|
69
69
|
},
|
|
70
70
|
}
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
)
|
|
72
|
+
.on("exit", (code) =>
|
|
73
|
+
process.exit(code === undefined || code === null ? 0 : code)
|
|
74
|
+
)
|
|
75
|
+
.on("message", (message) => {
|
|
76
|
+
if (process.send) {
|
|
77
|
+
process.send(message);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
/**
|
|
@@ -87,7 +93,15 @@ function runDelegatedWrangler() {
|
|
|
87
93
|
} = JSON.parse(fs.readFileSync(packageJsonPath));
|
|
88
94
|
const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
|
|
89
95
|
|
|
90
|
-
|
|
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
|
+
);
|
|
91
105
|
|
|
92
106
|
// this call to `spawn` is simpler because the delegated version will do all
|
|
93
107
|
// of the other work.
|
|
@@ -95,11 +109,17 @@ function runDelegatedWrangler() {
|
|
|
95
109
|
process.execPath,
|
|
96
110
|
[resolvedBinaryPath, ...process.argv.slice(2)],
|
|
97
111
|
{
|
|
98
|
-
stdio: "inherit",
|
|
112
|
+
stdio: ["inherit", "inherit", "inherit", "ipc"],
|
|
99
113
|
}
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
|
|
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
|
+
});
|
|
103
123
|
}
|
|
104
124
|
|
|
105
125
|
/**
|
package/miniflare-dist/index.mjs
CHANGED
|
@@ -128,23 +128,45 @@ var init_environment_polyfills = __esm({
|
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
|
|
131
|
+
// ../pages-shared/environment-polyfills/miniflare-tre.ts
|
|
132
|
+
var miniflare_tre_exports = {};
|
|
133
|
+
__export(miniflare_tre_exports, {
|
|
134
|
+
default: () => miniflare_tre_default
|
|
135
|
+
});
|
|
136
|
+
var miniflare_tre_default;
|
|
137
|
+
var init_miniflare_tre = __esm({
|
|
138
|
+
"../pages-shared/environment-polyfills/miniflare-tre.ts"() {
|
|
139
|
+
init_environment_polyfills();
|
|
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
|
+
};
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
|
|
131
152
|
// ../pages-shared/environment-polyfills/miniflare.ts
|
|
132
153
|
var miniflare_exports = {};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Response as MiniflareResponse
|
|
138
|
-
} from "@miniflare/core";
|
|
154
|
+
__export(miniflare_exports, {
|
|
155
|
+
default: () => miniflare_default
|
|
156
|
+
});
|
|
157
|
+
var miniflare_default;
|
|
139
158
|
var init_miniflare = __esm({
|
|
140
159
|
"../pages-shared/environment-polyfills/miniflare.ts"() {
|
|
141
160
|
init_environment_polyfills();
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
+
};
|
|
148
170
|
}
|
|
149
171
|
});
|
|
150
172
|
|
|
@@ -329,6 +351,15 @@ var init_rulesEngine = __esm({
|
|
|
329
351
|
}
|
|
330
352
|
});
|
|
331
353
|
|
|
354
|
+
// ../pages-shared/asset-server/url.ts
|
|
355
|
+
function stringifyURLToRootRelativePathname(url) {
|
|
356
|
+
return `${url.pathname}${url.search}${url.hash}`;
|
|
357
|
+
}
|
|
358
|
+
var init_url = __esm({
|
|
359
|
+
"../pages-shared/asset-server/url.ts"() {
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
|
|
332
363
|
// ../pages-shared/asset-server/handler.ts
|
|
333
364
|
var handler_exports = {};
|
|
334
365
|
__export(handler_exports, {
|
|
@@ -339,6 +370,7 @@ __export(handler_exports, {
|
|
|
339
370
|
HEADERS_VERSION_V1: () => HEADERS_VERSION_V1,
|
|
340
371
|
REDIRECTS_VERSION: () => REDIRECTS_VERSION2,
|
|
341
372
|
generateHandler: () => generateHandler,
|
|
373
|
+
getResponseFromMatch: () => getResponseFromMatch,
|
|
342
374
|
normaliseHeaders: () => normaliseHeaders,
|
|
343
375
|
parseQualityWeightedList: () => parseQualityWeightedList
|
|
344
376
|
});
|
|
@@ -409,22 +441,7 @@ async function generateHandler({
|
|
|
409
441
|
async function generateResponse() {
|
|
410
442
|
const match = staticRedirectsMatcher() || generateRedirectsMatcher()({ request })[0];
|
|
411
443
|
if (match) {
|
|
412
|
-
|
|
413
|
-
const destination = new URL(to, request.url);
|
|
414
|
-
const location = destination.origin === new URL(request.url).origin ? `${destination.pathname}${destination.search || search}${destination.hash}` : `${destination.href}${destination.search ? "" : search}${destination.hash}`;
|
|
415
|
-
switch (status) {
|
|
416
|
-
case 301:
|
|
417
|
-
return new MovedPermanentlyResponse(location);
|
|
418
|
-
case 303:
|
|
419
|
-
return new SeeOtherResponse(location);
|
|
420
|
-
case 307:
|
|
421
|
-
return new TemporaryRedirectResponse(location);
|
|
422
|
-
case 308:
|
|
423
|
-
return new PermanentRedirectResponse(location);
|
|
424
|
-
case 302:
|
|
425
|
-
default:
|
|
426
|
-
return new FoundResponse(location);
|
|
427
|
-
}
|
|
444
|
+
return getResponseFromMatch(match, url);
|
|
428
445
|
}
|
|
429
446
|
if (!request.method.match(/^(get|head)$/i)) {
|
|
430
447
|
return new MethodNotAllowedResponse();
|
|
@@ -703,6 +720,27 @@ async function generateHandler({
|
|
|
703
720
|
);
|
|
704
721
|
}
|
|
705
722
|
}
|
|
723
|
+
function getResponseFromMatch({
|
|
724
|
+
status,
|
|
725
|
+
to
|
|
726
|
+
}, requestUrl) {
|
|
727
|
+
const destination = new URL(to, requestUrl);
|
|
728
|
+
destination.search = destination.search || requestUrl.search;
|
|
729
|
+
const location = destination.origin === requestUrl.origin ? stringifyURLToRootRelativePathname(destination) : destination.toString();
|
|
730
|
+
switch (status) {
|
|
731
|
+
case 301:
|
|
732
|
+
return new MovedPermanentlyResponse(location);
|
|
733
|
+
case 303:
|
|
734
|
+
return new SeeOtherResponse(location);
|
|
735
|
+
case 307:
|
|
736
|
+
return new TemporaryRedirectResponse(location);
|
|
737
|
+
case 308:
|
|
738
|
+
return new PermanentRedirectResponse(location);
|
|
739
|
+
case 302:
|
|
740
|
+
default:
|
|
741
|
+
return new FoundResponse(location);
|
|
742
|
+
}
|
|
743
|
+
}
|
|
706
744
|
function parseQualityWeightedList(list = "") {
|
|
707
745
|
const items = {};
|
|
708
746
|
list.replace(/\s/g, "").split(",").forEach((el) => {
|
|
@@ -728,6 +766,7 @@ var init_handler = __esm({
|
|
|
728
766
|
"../pages-shared/asset-server/handler.ts"() {
|
|
729
767
|
init_responses();
|
|
730
768
|
init_rulesEngine();
|
|
769
|
+
init_url();
|
|
731
770
|
ASSET_PRESERVATION_CACHE = "assetPreservationCache";
|
|
732
771
|
CACHE_CONTROL_PRESERVATION = "public, s-maxage=604800";
|
|
733
772
|
CACHE_CONTROL_BROWSER = "public, max-age=0, must-revalidate";
|
|
@@ -749,8 +788,8 @@ import {
|
|
|
749
788
|
Log as MiniflareLog,
|
|
750
789
|
LogLevel as MiniflareLogLevel,
|
|
751
790
|
Miniflare,
|
|
752
|
-
Request as
|
|
753
|
-
Response as
|
|
791
|
+
Request as MiniflareRequest,
|
|
792
|
+
Response as MiniflareResponse
|
|
754
793
|
} from "miniflare";
|
|
755
794
|
|
|
756
795
|
// ../../node_modules/yargs/lib/platform-shims/esm.mjs
|
|
@@ -5632,7 +5671,11 @@ function constructRedirects({
|
|
|
5632
5671
|
for (const rule of redirects.rules) {
|
|
5633
5672
|
if (!rule.from.match(SPLAT_REGEX) && !rule.from.match(PLACEHOLDER_REGEX)) {
|
|
5634
5673
|
if (canCreateStaticRule) {
|
|
5635
|
-
staticRedirects[rule.from] = {
|
|
5674
|
+
staticRedirects[rule.from] = {
|
|
5675
|
+
status: rule.status,
|
|
5676
|
+
to: rule.to,
|
|
5677
|
+
lineNumber: rule.lineNumber
|
|
5678
|
+
};
|
|
5636
5679
|
continue;
|
|
5637
5680
|
} else {
|
|
5638
5681
|
logger(
|
|
@@ -5974,11 +6017,6 @@ function parseRedirects(input) {
|
|
|
5974
6017
|
|
|
5975
6018
|
// src/miniflare-cli/assets.ts
|
|
5976
6019
|
var import_mime = __toESM(require_mime());
|
|
5977
|
-
import { fetch as miniflareFetch2 } from "@miniflare/core";
|
|
5978
|
-
import {
|
|
5979
|
-
Response as MiniflareResponse2,
|
|
5980
|
-
Request as MiniflareRequest2
|
|
5981
|
-
} from "@miniflare/core";
|
|
5982
6020
|
import { watch } from "chokidar";
|
|
5983
6021
|
|
|
5984
6022
|
// src/pages/hash.tsx
|
|
@@ -5994,28 +6032,34 @@ var hashFile = (filepath) => {
|
|
|
5994
6032
|
|
|
5995
6033
|
// src/miniflare-cli/assets.ts
|
|
5996
6034
|
async function generateASSETSBinding(options) {
|
|
5997
|
-
const assetsFetch = options.directory !== void 0 ? await generateAssetsFetch(options.directory, options.log) : invalidAssetsFetch;
|
|
6035
|
+
const assetsFetch = options.directory !== void 0 ? await generateAssetsFetch(options.directory, options.log, options.tre) : invalidAssetsFetch;
|
|
6036
|
+
const miniflare = options.tre ? await import("@miniflare/tre") : await import("@miniflare/core");
|
|
6037
|
+
const Request = miniflare.Request;
|
|
6038
|
+
const Response2 = miniflare.Response;
|
|
6039
|
+
const fetch2 = options.tre ? miniflare.fetch : (await import("@miniflare/web-sockets")).upgradingFetch;
|
|
5998
6040
|
return async function(miniflareRequest) {
|
|
5999
6041
|
if (options.proxyPort) {
|
|
6000
6042
|
try {
|
|
6001
6043
|
const url = new URL(miniflareRequest.url);
|
|
6002
6044
|
url.host = `localhost:${options.proxyPort}`;
|
|
6003
|
-
|
|
6045
|
+
const proxyRequest = new Request(url, miniflareRequest);
|
|
6046
|
+
if (proxyRequest.headers.get("Upgrade") === "websocket") {
|
|
6047
|
+
proxyRequest.headers.delete("Sec-WebSocket-Accept");
|
|
6048
|
+
proxyRequest.headers.delete("Sec-WebSocket-Key");
|
|
6049
|
+
}
|
|
6050
|
+
return await fetch2(proxyRequest);
|
|
6004
6051
|
} catch (thrown) {
|
|
6005
6052
|
options.log.error(new Error(`Could not proxy request: ${thrown}`));
|
|
6006
|
-
return new
|
|
6007
|
-
|
|
6008
|
-
|
|
6009
|
-
status: 502
|
|
6010
|
-
}
|
|
6011
|
-
);
|
|
6053
|
+
return new Response2(`[wrangler] Could not proxy request: ${thrown}`, {
|
|
6054
|
+
status: 502
|
|
6055
|
+
});
|
|
6012
6056
|
}
|
|
6013
6057
|
} else {
|
|
6014
6058
|
try {
|
|
6015
6059
|
return await assetsFetch(miniflareRequest);
|
|
6016
6060
|
} catch (thrown) {
|
|
6017
6061
|
options.log.error(new Error(`Could not serve static asset: ${thrown}`));
|
|
6018
|
-
return new
|
|
6062
|
+
return new Response2(
|
|
6019
6063
|
`[wrangler] Could not serve static asset: ${thrown}`,
|
|
6020
6064
|
{ status: 502 }
|
|
6021
6065
|
);
|
|
@@ -6023,8 +6067,11 @@ async function generateASSETSBinding(options) {
|
|
|
6023
6067
|
}
|
|
6024
6068
|
};
|
|
6025
6069
|
}
|
|
6026
|
-
async function generateAssetsFetch(directory, log) {
|
|
6027
|
-
await Promise.resolve().then(() => (init_miniflare(), miniflare_exports));
|
|
6070
|
+
async function generateAssetsFetch(directory, log, tre) {
|
|
6071
|
+
const polyfill2 = tre ? (await Promise.resolve().then(() => (init_miniflare_tre(), miniflare_tre_exports))).default : (await Promise.resolve().then(() => (init_miniflare(), miniflare_exports))).default;
|
|
6072
|
+
await polyfill2();
|
|
6073
|
+
const miniflare = tre ? await import("@miniflare/tre") : await import("@miniflare/core");
|
|
6074
|
+
const Request = miniflare.Request;
|
|
6028
6075
|
const { generateHandler: generateHandler2, parseQualityWeightedList: parseQualityWeightedList2 } = await Promise.resolve().then(() => (init_handler(), handler_exports));
|
|
6029
6076
|
const headersFile = join(directory, "_headers");
|
|
6030
6077
|
const redirectsFile = join(directory, "_redirects");
|
|
@@ -6118,7 +6165,7 @@ async function generateAssetsFetch(directory, log) {
|
|
|
6118
6165
|
});
|
|
6119
6166
|
};
|
|
6120
6167
|
return async (input, init) => {
|
|
6121
|
-
const request = new
|
|
6168
|
+
const request = new Request(input, init);
|
|
6122
6169
|
return await generateResponse(request);
|
|
6123
6170
|
};
|
|
6124
6171
|
}
|
|
@@ -6186,12 +6233,12 @@ async function main() {
|
|
|
6186
6233
|
namespace.get = (id) => {
|
|
6187
6234
|
const stub = new DurableObjectStub(factory, id);
|
|
6188
6235
|
stub.fetch = (...reqArgs) => {
|
|
6189
|
-
const requestFromArgs = new
|
|
6236
|
+
const requestFromArgs = new MiniflareRequest(...reqArgs);
|
|
6190
6237
|
const url = new URL(requestFromArgs.url);
|
|
6191
6238
|
url.host = host;
|
|
6192
6239
|
if (port !== void 0)
|
|
6193
6240
|
url.port = port.toString();
|
|
6194
|
-
const request = new
|
|
6241
|
+
const request = new MiniflareRequest(
|
|
6195
6242
|
url.toString(),
|
|
6196
6243
|
requestFromArgs
|
|
6197
6244
|
);
|
|
@@ -6224,7 +6271,8 @@ async function main() {
|
|
|
6224
6271
|
const options = {
|
|
6225
6272
|
log: config.log,
|
|
6226
6273
|
proxyPort: opts.proxyPort,
|
|
6227
|
-
directory: opts.directory
|
|
6274
|
+
directory: opts.directory,
|
|
6275
|
+
tre: false
|
|
6228
6276
|
};
|
|
6229
6277
|
config.serviceBindings = {
|
|
6230
6278
|
...config.serviceBindings,
|
|
@@ -6250,7 +6298,7 @@ async function main() {
|
|
|
6250
6298
|
}`,
|
|
6251
6299
|
serviceBindings: {
|
|
6252
6300
|
DO: async (request) => {
|
|
6253
|
-
request = new
|
|
6301
|
+
request = new MiniflareRequest(request);
|
|
6254
6302
|
const name = request.headers.get("x-miniflare-durable-object-name");
|
|
6255
6303
|
const idString = request.headers.get(
|
|
6256
6304
|
"x-miniflare-durable-object-id"
|
|
@@ -6258,7 +6306,7 @@ async function main() {
|
|
|
6258
6306
|
request.headers.delete("x-miniflare-durable-object-name");
|
|
6259
6307
|
request.headers.delete("x-miniflare-durable-object-id");
|
|
6260
6308
|
if (!name || !idString) {
|
|
6261
|
-
return new
|
|
6309
|
+
return new MiniflareResponse(
|
|
6262
6310
|
"[durable-object-proxy-err] Missing `x-miniflare-durable-object-name` or `x-miniflare-durable-object-id` headers.",
|
|
6263
6311
|
{ status: 400 }
|
|
6264
6312
|
);
|
|
@@ -6266,14 +6314,14 @@ async function main() {
|
|
|
6266
6314
|
const namespace = await mf?.getDurableObjectNamespace(name);
|
|
6267
6315
|
const id = namespace?.idFromString(idString);
|
|
6268
6316
|
if (!id) {
|
|
6269
|
-
return new
|
|
6317
|
+
return new MiniflareResponse(
|
|
6270
6318
|
"[durable-object-proxy-err] Could not generate an ID. Possibly due to a mismatched DO name and ID?",
|
|
6271
6319
|
{ status: 500 }
|
|
6272
6320
|
);
|
|
6273
6321
|
}
|
|
6274
6322
|
const stub = namespace?.get(id);
|
|
6275
6323
|
if (!stub) {
|
|
6276
|
-
return new
|
|
6324
|
+
return new MiniflareResponse(
|
|
6277
6325
|
"[durable-object-proxy-err] Could not generate a stub. Possibly due to a mismatched DO name and ID?",
|
|
6278
6326
|
{ status: 500 }
|
|
6279
6327
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wrangler",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-c2b2dfb8",
|
|
4
4
|
"description": "Command-line interface for all things Cloudflare Workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wrangler",
|
|
@@ -57,7 +57,7 @@
|
|
|
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",
|
|
@@ -115,11 +115,12 @@
|
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"@cloudflare/types": "^6.18.4",
|
|
118
|
+
"@cloudflare/workers-types": "^4.20221111.1",
|
|
118
119
|
"@databases/split-sql-query": "^1.0.3",
|
|
119
120
|
"@databases/sql": "^3.2.0",
|
|
120
121
|
"@iarna/toml": "^3.0.0",
|
|
121
122
|
"@microsoft/api-extractor": "^7.28.3",
|
|
122
|
-
"@miniflare/tre": "^3.0.0-next.
|
|
123
|
+
"@miniflare/tre": "^3.0.0-next.8",
|
|
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,7 @@
|
|
|
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",
|
|
139
141
|
"clipboardy": "^3.0.0",
|
|
140
142
|
"cmd-shim": "^4.1.0",
|
|
141
143
|
"command-exists": "^1.2.9",
|
|
@@ -162,7 +164,7 @@
|
|
|
162
164
|
"jest-websocket-mock": "^2.3.0",
|
|
163
165
|
"mime": "^3.0.0",
|
|
164
166
|
"minimatch": "^5.1.0",
|
|
165
|
-
"msw": "^0.
|
|
167
|
+
"msw": "^0.49.1",
|
|
166
168
|
"npx-import": "^1.1.3",
|
|
167
169
|
"open": "^8.4.0",
|
|
168
170
|
"p-queue": "^7.2.0",
|
|
@@ -5,7 +5,7 @@ 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",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { unstable_dev } from "../api";
|
|
2
2
|
import { fetch } from "undici";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
jest.unmock("undici");
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* a huge caveat to how testing multi-worker scripts works:
|
|
8
8
|
* you can't shutdown the first worker you spun up, or it'll kill the devRegistry
|
|
9
9
|
*/
|
|
10
|
-
describe
|
|
10
|
+
describe("multi-worker testing", () => {
|
|
11
11
|
let childWorker;
|
|
12
12
|
let parentWorker;
|
|
13
13
|
|