wrangler 2.20.1 → 2.20.2
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/package.json +2 -2
- package/src/__tests__/api-devregistry.test.ts +1 -1
- package/src/__tests__/tsconfig.tsbuildinfo +1 -1
- package/src/dev/local.tsx +1 -1
- package/src/dev-registry.ts +7 -7
- package/src/inspect.ts +49 -4
- package/src/pages/functions/tsconfig.tsbuildinfo +1 -1
- package/wrangler-dist/cli.js +86 -40
package/wrangler-dist/cli.js
CHANGED
|
@@ -36618,7 +36618,7 @@ var require_websocket2 = __commonJS({
|
|
|
36618
36618
|
init_import_meta_url();
|
|
36619
36619
|
var EventEmitter3 = require("events");
|
|
36620
36620
|
var https2 = require("https");
|
|
36621
|
-
var
|
|
36621
|
+
var http2 = require("http");
|
|
36622
36622
|
var net3 = require("net");
|
|
36623
36623
|
var tls = require("tls");
|
|
36624
36624
|
var { randomBytes, createHash } = require("crypto");
|
|
@@ -36979,7 +36979,7 @@ var require_websocket2 = __commonJS({
|
|
|
36979
36979
|
const isSecure = parsedUrl.protocol === "wss:" || parsedUrl.protocol === "https:";
|
|
36980
36980
|
const defaultPort = isSecure ? 443 : 80;
|
|
36981
36981
|
const key = randomBytes(16).toString("base64");
|
|
36982
|
-
const get = isSecure ? https2.get :
|
|
36982
|
+
const get = isSecure ? https2.get : http2.get;
|
|
36983
36983
|
let perMessageDeflate;
|
|
36984
36984
|
opts.createConnection = isSecure ? tlsConnect : netConnect;
|
|
36985
36985
|
opts.defaultPort = opts.defaultPort || defaultPort;
|
|
@@ -37407,7 +37407,7 @@ var require_websocket_server = __commonJS({
|
|
|
37407
37407
|
"use strict";
|
|
37408
37408
|
init_import_meta_url();
|
|
37409
37409
|
var EventEmitter3 = require("events");
|
|
37410
|
-
var
|
|
37410
|
+
var http2 = require("http");
|
|
37411
37411
|
var https2 = require("https");
|
|
37412
37412
|
var net3 = require("net");
|
|
37413
37413
|
var tls = require("tls");
|
|
@@ -37443,8 +37443,8 @@ var require_websocket_server = __commonJS({
|
|
|
37443
37443
|
);
|
|
37444
37444
|
}
|
|
37445
37445
|
if (options14.port != null) {
|
|
37446
|
-
this._server =
|
|
37447
|
-
const body =
|
|
37446
|
+
this._server = http2.createServer((req, res) => {
|
|
37447
|
+
const body = http2.STATUS_CODES[426];
|
|
37448
37448
|
res.writeHead(426, {
|
|
37449
37449
|
"Content-Length": body.length,
|
|
37450
37450
|
"Content-Type": "text/plain"
|
|
@@ -37636,7 +37636,7 @@ var require_websocket_server = __commonJS({
|
|
|
37636
37636
|
__name(socketOnError, "socketOnError");
|
|
37637
37637
|
function abortHandshake(socket, code, message, headers) {
|
|
37638
37638
|
if (socket.writable) {
|
|
37639
|
-
message = message ||
|
|
37639
|
+
message = message || http2.STATUS_CODES[code];
|
|
37640
37640
|
headers = {
|
|
37641
37641
|
Connection: "close",
|
|
37642
37642
|
"Content-Type": "text/html",
|
|
@@ -37644,7 +37644,7 @@ var require_websocket_server = __commonJS({
|
|
|
37644
37644
|
...headers
|
|
37645
37645
|
};
|
|
37646
37646
|
socket.write(
|
|
37647
|
-
`HTTP/1.1 ${code} ${
|
|
37647
|
+
`HTTP/1.1 ${code} ${http2.STATUS_CODES[code]}\r
|
|
37648
37648
|
` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message
|
|
37649
37649
|
);
|
|
37650
37650
|
}
|
|
@@ -82856,10 +82856,10 @@ var require_methods = __commonJS({
|
|
|
82856
82856
|
"../../node_modules/methods/index.js"(exports2, module2) {
|
|
82857
82857
|
"use strict";
|
|
82858
82858
|
init_import_meta_url();
|
|
82859
|
-
var
|
|
82859
|
+
var http2 = require("http");
|
|
82860
82860
|
module2.exports = getCurrentNodeMethods() || getBasicNodeMethods();
|
|
82861
82861
|
function getCurrentNodeMethods() {
|
|
82862
|
-
return
|
|
82862
|
+
return http2.METHODS && http2.METHODS.map(/* @__PURE__ */ __name(function lowerCaseMethod(method) {
|
|
82863
82863
|
return method.toLowerCase();
|
|
82864
82864
|
}, "lowerCaseMethod"));
|
|
82865
82865
|
}
|
|
@@ -86297,7 +86297,7 @@ var require_application = __commonJS({
|
|
|
86297
86297
|
var query = require_query();
|
|
86298
86298
|
var debug = require_src4()("express:application");
|
|
86299
86299
|
var View = require_view();
|
|
86300
|
-
var
|
|
86300
|
+
var http2 = require("http");
|
|
86301
86301
|
var compileETag = require_utils5().compileETag;
|
|
86302
86302
|
var compileQueryParser = require_utils5().compileQueryParser;
|
|
86303
86303
|
var compileTrust = require_utils5().compileTrust;
|
|
@@ -86546,7 +86546,7 @@ var require_application = __commonJS({
|
|
|
86546
86546
|
tryRender(view, renderOptions, done);
|
|
86547
86547
|
}, "render");
|
|
86548
86548
|
app.listen = /* @__PURE__ */ __name(function listen() {
|
|
86549
|
-
var server2 =
|
|
86549
|
+
var server2 = http2.createServer(this);
|
|
86550
86550
|
return server2.listen.apply(server2, arguments);
|
|
86551
86551
|
}, "listen");
|
|
86552
86552
|
function logerror(err) {
|
|
@@ -87205,12 +87205,12 @@ var require_request3 = __commonJS({
|
|
|
87205
87205
|
var deprecate = require_depd()("express");
|
|
87206
87206
|
var isIP = require("net").isIP;
|
|
87207
87207
|
var typeis = require_type_is();
|
|
87208
|
-
var
|
|
87208
|
+
var http2 = require("http");
|
|
87209
87209
|
var fresh = require_fresh();
|
|
87210
87210
|
var parseRange = require_range_parser();
|
|
87211
87211
|
var parse5 = require_parseurl();
|
|
87212
87212
|
var proxyaddr = require_proxy_addr();
|
|
87213
|
-
var req = Object.create(
|
|
87213
|
+
var req = Object.create(http2.IncomingMessage.prototype);
|
|
87214
87214
|
module2.exports = req;
|
|
87215
87215
|
req.get = req.header = /* @__PURE__ */ __name(function header(name) {
|
|
87216
87216
|
if (!name) {
|
|
@@ -87633,7 +87633,7 @@ var require_response2 = __commonJS({
|
|
|
87633
87633
|
var deprecate = require_depd()("express");
|
|
87634
87634
|
var encodeUrl = require_encodeurl();
|
|
87635
87635
|
var escapeHtml = require_escape_html();
|
|
87636
|
-
var
|
|
87636
|
+
var http2 = require("http");
|
|
87637
87637
|
var isAbsolute = require_utils5().isAbsolute;
|
|
87638
87638
|
var onFinished = require_on_finished();
|
|
87639
87639
|
var path44 = require("path");
|
|
@@ -87649,7 +87649,7 @@ var require_response2 = __commonJS({
|
|
|
87649
87649
|
var mime = send.mime;
|
|
87650
87650
|
var resolve17 = path44.resolve;
|
|
87651
87651
|
var vary = require_vary();
|
|
87652
|
-
var res = Object.create(
|
|
87652
|
+
var res = Object.create(http2.ServerResponse.prototype);
|
|
87653
87653
|
module2.exports = res;
|
|
87654
87654
|
var charsetRegExp = /;\s*charset\s*=/;
|
|
87655
87655
|
res.status = /* @__PURE__ */ __name(function status(code) {
|
|
@@ -102152,7 +102152,7 @@ var require_websocket3 = __commonJS({
|
|
|
102152
102152
|
init_import_meta_url();
|
|
102153
102153
|
var EventEmitter3 = require("events");
|
|
102154
102154
|
var https2 = require("https");
|
|
102155
|
-
var
|
|
102155
|
+
var http2 = require("http");
|
|
102156
102156
|
var net3 = require("net");
|
|
102157
102157
|
var tls = require("tls");
|
|
102158
102158
|
var { randomBytes, createHash } = require("crypto");
|
|
@@ -102552,7 +102552,7 @@ var require_websocket3 = __commonJS({
|
|
|
102552
102552
|
}
|
|
102553
102553
|
const defaultPort = isSecure ? 443 : 80;
|
|
102554
102554
|
const key = randomBytes(16).toString("base64");
|
|
102555
|
-
const get = isSecure ? https2.get :
|
|
102555
|
+
const get = isSecure ? https2.get : http2.get;
|
|
102556
102556
|
const protocolSet = /* @__PURE__ */ new Set();
|
|
102557
102557
|
let perMessageDeflate;
|
|
102558
102558
|
opts.createConnection = isSecure ? tlsConnect : netConnect;
|
|
@@ -102936,7 +102936,7 @@ var require_websocket_server2 = __commonJS({
|
|
|
102936
102936
|
"use strict";
|
|
102937
102937
|
init_import_meta_url();
|
|
102938
102938
|
var EventEmitter3 = require("events");
|
|
102939
|
-
var
|
|
102939
|
+
var http2 = require("http");
|
|
102940
102940
|
var https2 = require("https");
|
|
102941
102941
|
var net3 = require("net");
|
|
102942
102942
|
var tls = require("tls");
|
|
@@ -102975,8 +102975,8 @@ var require_websocket_server2 = __commonJS({
|
|
|
102975
102975
|
);
|
|
102976
102976
|
}
|
|
102977
102977
|
if (options14.port != null) {
|
|
102978
|
-
this._server =
|
|
102979
|
-
const body =
|
|
102978
|
+
this._server = http2.createServer((req, res) => {
|
|
102979
|
+
const body = http2.STATUS_CODES[426];
|
|
102980
102980
|
res.writeHead(426, {
|
|
102981
102981
|
"Content-Length": body.length,
|
|
102982
102982
|
"Content-Type": "text/plain"
|
|
@@ -103203,7 +103203,7 @@ var require_websocket_server2 = __commonJS({
|
|
|
103203
103203
|
__name(socketOnError, "socketOnError");
|
|
103204
103204
|
function abortHandshake(socket, code, message, headers) {
|
|
103205
103205
|
if (socket.writable) {
|
|
103206
|
-
message = message ||
|
|
103206
|
+
message = message || http2.STATUS_CODES[code];
|
|
103207
103207
|
headers = {
|
|
103208
103208
|
Connection: "close",
|
|
103209
103209
|
"Content-Type": "text/html",
|
|
@@ -103211,7 +103211,7 @@ var require_websocket_server2 = __commonJS({
|
|
|
103211
103211
|
...headers
|
|
103212
103212
|
};
|
|
103213
103213
|
socket.write(
|
|
103214
|
-
`HTTP/1.1 ${code} ${
|
|
103214
|
+
`HTTP/1.1 ${code} ${http2.STATUS_CODES[code]}\r
|
|
103215
103215
|
` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message
|
|
103216
103216
|
);
|
|
103217
103217
|
}
|
|
@@ -126541,14 +126541,14 @@ var import_undici16 = __toESM(require_undici());
|
|
|
126541
126541
|
|
|
126542
126542
|
// src/dev-registry.ts
|
|
126543
126543
|
init_import_meta_url();
|
|
126544
|
-
var import_http = __toESM(require("http"));
|
|
126545
126544
|
var import_net = __toESM(require("net"));
|
|
126545
|
+
var import_node_http = require("node:http");
|
|
126546
126546
|
var import_body_parser = __toESM(require_body_parser());
|
|
126547
126547
|
var import_express = __toESM(require_express2());
|
|
126548
126548
|
var import_http_terminator = __toESM(require_src7());
|
|
126549
126549
|
var import_undici = __toESM(require_undici());
|
|
126550
|
-
var DEV_REGISTRY_PORT =
|
|
126551
|
-
var DEV_REGISTRY_HOST = `http://
|
|
126550
|
+
var DEV_REGISTRY_PORT = 6284;
|
|
126551
|
+
var DEV_REGISTRY_HOST = `http://127.0.0.1:${DEV_REGISTRY_PORT}`;
|
|
126552
126552
|
var server;
|
|
126553
126553
|
var terminator;
|
|
126554
126554
|
async function isPortAvailable() {
|
|
@@ -126564,7 +126564,7 @@ async function isPortAvailable() {
|
|
|
126564
126564
|
netServer.close();
|
|
126565
126565
|
resolve17(true);
|
|
126566
126566
|
});
|
|
126567
|
-
netServer.listen(DEV_REGISTRY_PORT);
|
|
126567
|
+
netServer.listen(DEV_REGISTRY_PORT, "127.0.0.1");
|
|
126568
126568
|
});
|
|
126569
126569
|
}
|
|
126570
126570
|
__name(isPortAvailable, "isPortAvailable");
|
|
@@ -126585,9 +126585,9 @@ async function startWorkerRegistry() {
|
|
|
126585
126585
|
workers = {};
|
|
126586
126586
|
res.json(null);
|
|
126587
126587
|
});
|
|
126588
|
-
server =
|
|
126588
|
+
server = (0, import_node_http.createServer)(app);
|
|
126589
126589
|
terminator = (0, import_http_terminator.createHttpTerminator)({ server });
|
|
126590
|
-
server.listen(DEV_REGISTRY_PORT);
|
|
126590
|
+
server.listen(DEV_REGISTRY_PORT, "127.0.0.1");
|
|
126591
126591
|
server.once("error", (err) => {
|
|
126592
126592
|
if (err.code !== "EADDRINUSE") {
|
|
126593
126593
|
throw err;
|
|
@@ -128788,7 +128788,7 @@ var import_websocket_server = __toESM(require_websocket_server2(), 1);
|
|
|
128788
128788
|
var wrapper_default = import_websocket.default;
|
|
128789
128789
|
|
|
128790
128790
|
// package.json
|
|
128791
|
-
var version = "2.20.
|
|
128791
|
+
var version = "2.20.2";
|
|
128792
128792
|
var package_default = {
|
|
128793
128793
|
name: "wrangler",
|
|
128794
128794
|
version,
|
|
@@ -128911,7 +128911,7 @@ var package_default = {
|
|
|
128911
128911
|
"@cloudflare/workers-types": "^4.20221111.1",
|
|
128912
128912
|
"@iarna/toml": "^3.0.0",
|
|
128913
128913
|
"@microsoft/api-extractor": "^7.28.3",
|
|
128914
|
-
"@miniflare/tre": "3.0.0-next.
|
|
128914
|
+
"@miniflare/tre": "3.0.0-next.14",
|
|
128915
128915
|
"@types/better-sqlite3": "^7.6.0",
|
|
128916
128916
|
"@types/busboy": "^1.5.0",
|
|
128917
128917
|
"@types/command-exists": "^1.2.0",
|
|
@@ -128992,8 +128992,8 @@ var package_default = {
|
|
|
128992
128992
|
|
|
128993
128993
|
// src/proxy.ts
|
|
128994
128994
|
init_import_meta_url();
|
|
128995
|
-
var
|
|
128996
|
-
var
|
|
128995
|
+
var import_node_http2 = require("node:http");
|
|
128996
|
+
var import_node_http22 = require("node:http2");
|
|
128997
128997
|
var import_node_https = require("node:https");
|
|
128998
128998
|
var import_node_https2 = __toESM(require("node:https"));
|
|
128999
128999
|
var import_node_os5 = require("node:os");
|
|
@@ -129425,7 +129425,7 @@ function configureProxyServer({
|
|
|
129425
129425
|
}
|
|
129426
129426
|
const cleanupListeners = [];
|
|
129427
129427
|
logger.debug("PREVIEW URL:", `https://${previewToken.host}`);
|
|
129428
|
-
const remote = (0,
|
|
129428
|
+
const remote = (0, import_node_http22.connect)(`https://${previewToken.host}`);
|
|
129429
129429
|
cleanupListeners.push(() => remote.destroy());
|
|
129430
129430
|
remote.on("close", retryServerSetup);
|
|
129431
129431
|
cleanupListeners.push(() => remote.off("close", retryServerSetup));
|
|
@@ -129558,7 +129558,7 @@ var HTTP1_HEADERS = /* @__PURE__ */ new Set([
|
|
|
129558
129558
|
"http2-settings"
|
|
129559
129559
|
]);
|
|
129560
129560
|
async function createProxyServer(localProtocol) {
|
|
129561
|
-
const server2 = localProtocol === "https" ? (0, import_node_https.createServer)(await getHttpsOptions()) : (0,
|
|
129561
|
+
const server2 = localProtocol === "https" ? (0, import_node_https.createServer)(await getHttpsOptions()) : (0, import_node_http2.createServer)();
|
|
129562
129562
|
return server2.on("upgrade", (req) => {
|
|
129563
129563
|
logger.log(
|
|
129564
129564
|
new Date().toLocaleTimeString(),
|
|
@@ -129620,7 +129620,7 @@ async function waitForPortToBeAvailable(port2, options14) {
|
|
|
129620
129620
|
doResolve();
|
|
129621
129621
|
return;
|
|
129622
129622
|
}
|
|
129623
|
-
const server2 = (0,
|
|
129623
|
+
const server2 = (0, import_node_http2.createServer)();
|
|
129624
129624
|
const terminator2 = (0, import_http_terminator2.createHttpTerminator)({
|
|
129625
129625
|
server: server2,
|
|
129626
129626
|
gracefulTerminationTimeout: 0
|
|
@@ -129655,6 +129655,48 @@ function getAccessibleHosts2() {
|
|
|
129655
129655
|
__name(getAccessibleHosts2, "getAccessibleHosts");
|
|
129656
129656
|
|
|
129657
129657
|
// src/inspect.ts
|
|
129658
|
+
var ALLOWED_HOST_HOSTNAMES = ["127.0.0.1", "[::1]", "localhost"];
|
|
129659
|
+
var ALLOWED_ORIGIN_HOSTNAMES = [
|
|
129660
|
+
"devtools.devprod.cloudflare.dev",
|
|
129661
|
+
"cloudflare-devtools.pages.dev",
|
|
129662
|
+
/^[a-z0-9]+\.cloudflare-devtools\.pages\.dev$/,
|
|
129663
|
+
"127.0.0.1",
|
|
129664
|
+
"[::1]",
|
|
129665
|
+
"localhost"
|
|
129666
|
+
];
|
|
129667
|
+
function validateWebSocketHandshake(req) {
|
|
129668
|
+
const hostHeader = req.headers.host;
|
|
129669
|
+
if (hostHeader == null)
|
|
129670
|
+
return false;
|
|
129671
|
+
try {
|
|
129672
|
+
const host = new import_node_url6.URL(`http://${hostHeader}`);
|
|
129673
|
+
if (!ALLOWED_HOST_HOSTNAMES.includes(host.hostname))
|
|
129674
|
+
return false;
|
|
129675
|
+
} catch {
|
|
129676
|
+
return false;
|
|
129677
|
+
}
|
|
129678
|
+
let originHeader = req.headers.origin;
|
|
129679
|
+
if (originHeader === null && req.headers["user-agent"] === void 0) {
|
|
129680
|
+
originHeader = "http://localhost";
|
|
129681
|
+
}
|
|
129682
|
+
if (originHeader == null)
|
|
129683
|
+
return false;
|
|
129684
|
+
try {
|
|
129685
|
+
const origin = new import_node_url6.URL(originHeader);
|
|
129686
|
+
const allowed = ALLOWED_ORIGIN_HOSTNAMES.some((rule) => {
|
|
129687
|
+
if (typeof rule === "string")
|
|
129688
|
+
return origin.hostname === rule;
|
|
129689
|
+
else
|
|
129690
|
+
return rule.test(origin.hostname);
|
|
129691
|
+
});
|
|
129692
|
+
if (!allowed)
|
|
129693
|
+
return false;
|
|
129694
|
+
} catch {
|
|
129695
|
+
return false;
|
|
129696
|
+
}
|
|
129697
|
+
return true;
|
|
129698
|
+
}
|
|
129699
|
+
__name(validateWebSocketHandshake, "validateWebSocketHandshake");
|
|
129658
129700
|
function useInspector(props) {
|
|
129659
129701
|
const inspectorIdRef = (0, import_react2.useRef)(randomId());
|
|
129660
129702
|
const [localWebSocket, setLocalWebSocket] = (0, import_react2.useState)();
|
|
@@ -129677,7 +129719,7 @@ function useInspector(props) {
|
|
|
129677
129719
|
case "/json/list":
|
|
129678
129720
|
{
|
|
129679
129721
|
res.setHeader("Content-Type", "application/json");
|
|
129680
|
-
const localHost = `
|
|
129722
|
+
const localHost = `127.0.0.1:${props.port}/ws`;
|
|
129681
129723
|
const devtoolsFrontendUrl = `devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=${localHost}`;
|
|
129682
129724
|
const devtoolsFrontendUrlCompat = `devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=${localHost}`;
|
|
129683
129725
|
res.end(
|
|
@@ -129712,7 +129754,11 @@ function useInspector(props) {
|
|
|
129712
129754
|
});
|
|
129713
129755
|
}
|
|
129714
129756
|
const wsServer = wsServerRef.current;
|
|
129715
|
-
wsServer.on("connection", (ws) => {
|
|
129757
|
+
wsServer.on("connection", (ws, req) => {
|
|
129758
|
+
if (!validateWebSocketHandshake(req)) {
|
|
129759
|
+
ws.close(1008, "Unauthorised");
|
|
129760
|
+
return;
|
|
129761
|
+
}
|
|
129716
129762
|
if (wsServer.clients.size > 1) {
|
|
129717
129763
|
logger.error(
|
|
129718
129764
|
"Tried to open a new devtools window when a previous one was already open."
|
|
@@ -129739,7 +129785,7 @@ function useInspector(props) {
|
|
|
129739
129785
|
timeout: 2e3,
|
|
129740
129786
|
abortSignal: abortController.signal
|
|
129741
129787
|
});
|
|
129742
|
-
server2.listen(props.port);
|
|
129788
|
+
server2.listen(props.port, "127.0.0.1");
|
|
129743
129789
|
}
|
|
129744
129790
|
__name(startInspectorProxy, "startInspectorProxy");
|
|
129745
129791
|
startInspectorProxy().catch((err) => {
|
|
@@ -130162,7 +130208,7 @@ __name(logConsoleMessage, "logConsoleMessage");
|
|
|
130162
130208
|
var openInspector = /* @__PURE__ */ __name(async (inspectorPort, worker) => {
|
|
130163
130209
|
const query = new URLSearchParams();
|
|
130164
130210
|
query.set("theme", "systemPreferred");
|
|
130165
|
-
query.set("ws", `
|
|
130211
|
+
query.set("ws", `127.0.0.1:${inspectorPort}/ws`);
|
|
130166
130212
|
if (worker)
|
|
130167
130213
|
query.set("domain", worker);
|
|
130168
130214
|
const url3 = `https://devtools.devprod.cloudflare.dev/js_app?${query.toString()}`;
|
|
@@ -132348,7 +132394,7 @@ async function transformMf2OptionsToMf3Options({
|
|
|
132348
132394
|
__name(transformMf2OptionsToMf3Options, "transformMf2OptionsToMf3Options");
|
|
132349
132395
|
var miniflare3Module;
|
|
132350
132396
|
async function getMiniflare3() {
|
|
132351
|
-
return miniflare3Module ??= await npxImport("@miniflare/tre@3.0.0-next.
|
|
132397
|
+
return miniflare3Module ??= await npxImport("@miniflare/tre@3.0.0-next.14");
|
|
132352
132398
|
}
|
|
132353
132399
|
__name(getMiniflare3, "getMiniflare3");
|
|
132354
132400
|
|