create-cloudflare 0.0.0-775eb3bd → 0.0.0-77a43d2a
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/dist/cli.js +1492 -61
- package/package.json +3 -1
- package/templates/queues/js/wrangler.toml +2 -2
- package/templates/queues/ts/wrangler.toml +2 -2
package/dist/cli.js
CHANGED
|
@@ -4189,6 +4189,1333 @@ var require_which_pm_runs = __commonJS({
|
|
|
4189
4189
|
}
|
|
4190
4190
|
});
|
|
4191
4191
|
|
|
4192
|
+
// ../../node_modules/dns2/lib/reader.js
|
|
4193
|
+
var require_reader = __commonJS({
|
|
4194
|
+
"../../node_modules/dns2/lib/reader.js"(exports, module2) {
|
|
4195
|
+
function BufferReader(buffer, offset) {
|
|
4196
|
+
this.buffer = buffer;
|
|
4197
|
+
this.offset = offset || 0;
|
|
4198
|
+
return this;
|
|
4199
|
+
}
|
|
4200
|
+
BufferReader.read = function(buffer, offset, length) {
|
|
4201
|
+
let a2 = [];
|
|
4202
|
+
let c2 = Math.ceil(length / 8);
|
|
4203
|
+
let l2 = Math.floor(offset / 8);
|
|
4204
|
+
const m2 = offset % 8;
|
|
4205
|
+
function t(n) {
|
|
4206
|
+
const r2 = [0, 0, 0, 0, 0, 0, 0, 0];
|
|
4207
|
+
for (let i = 7; i >= 0; i--) {
|
|
4208
|
+
r2[7 - i] = n & Math.pow(2, i) ? 1 : 0;
|
|
4209
|
+
}
|
|
4210
|
+
a2 = a2.concat(r2);
|
|
4211
|
+
}
|
|
4212
|
+
function p3(a3) {
|
|
4213
|
+
let n = 0;
|
|
4214
|
+
const f2 = a3.length - 1;
|
|
4215
|
+
for (let i = f2; i >= 0; i--) {
|
|
4216
|
+
if (a3[f2 - i])
|
|
4217
|
+
n += Math.pow(2, i);
|
|
4218
|
+
}
|
|
4219
|
+
return n;
|
|
4220
|
+
}
|
|
4221
|
+
while (c2--)
|
|
4222
|
+
t(buffer.readUInt8(l2++));
|
|
4223
|
+
return p3(a2.slice(m2, m2 + length));
|
|
4224
|
+
};
|
|
4225
|
+
BufferReader.prototype.read = function(size) {
|
|
4226
|
+
const val = BufferReader.read(this.buffer, this.offset, size);
|
|
4227
|
+
this.offset += size;
|
|
4228
|
+
return val;
|
|
4229
|
+
};
|
|
4230
|
+
module2.exports = BufferReader;
|
|
4231
|
+
}
|
|
4232
|
+
});
|
|
4233
|
+
|
|
4234
|
+
// ../../node_modules/dns2/lib/writer.js
|
|
4235
|
+
var require_writer = __commonJS({
|
|
4236
|
+
"../../node_modules/dns2/lib/writer.js"(exports, module2) {
|
|
4237
|
+
function BufferWriter() {
|
|
4238
|
+
this.buffer = [];
|
|
4239
|
+
}
|
|
4240
|
+
BufferWriter.prototype.write = function(d3, size) {
|
|
4241
|
+
for (let i = 0; i < size; i++) {
|
|
4242
|
+
this.buffer.push(d3 & Math.pow(2, size - i - 1) ? 1 : 0);
|
|
4243
|
+
}
|
|
4244
|
+
};
|
|
4245
|
+
BufferWriter.prototype.writeBuffer = function(b2) {
|
|
4246
|
+
this.buffer = this.buffer.concat(b2.buffer);
|
|
4247
|
+
};
|
|
4248
|
+
BufferWriter.prototype.toBuffer = function() {
|
|
4249
|
+
const arr = [];
|
|
4250
|
+
for (let i = 0; i < this.buffer.length; i += 8) {
|
|
4251
|
+
const chunk = this.buffer.slice(i, i + 8);
|
|
4252
|
+
arr.push(parseInt(chunk.join(""), 2));
|
|
4253
|
+
}
|
|
4254
|
+
return Buffer.from(arr);
|
|
4255
|
+
};
|
|
4256
|
+
module2.exports = BufferWriter;
|
|
4257
|
+
}
|
|
4258
|
+
});
|
|
4259
|
+
|
|
4260
|
+
// ../../node_modules/dns2/packet.js
|
|
4261
|
+
var require_packet = __commonJS({
|
|
4262
|
+
"../../node_modules/dns2/packet.js"(exports, module2) {
|
|
4263
|
+
var { debuglog } = require("util");
|
|
4264
|
+
var BufferReader = require_reader();
|
|
4265
|
+
var BufferWriter = require_writer();
|
|
4266
|
+
var debug = debuglog("dns2");
|
|
4267
|
+
var toIPv6 = (buffer) => buffer.map((part) => part > 0 ? part.toString(16) : "0").join(":").replace(/\b(?:0+:){1,}/, ":");
|
|
4268
|
+
var fromIPv6 = (address) => {
|
|
4269
|
+
const digits = address.split(":");
|
|
4270
|
+
if (digits[0] === "") {
|
|
4271
|
+
digits.shift();
|
|
4272
|
+
}
|
|
4273
|
+
if (digits[digits.length - 1] === "") {
|
|
4274
|
+
digits.pop();
|
|
4275
|
+
}
|
|
4276
|
+
const missingFields = 8 - digits.length + 1;
|
|
4277
|
+
return digits.flatMap((digit) => {
|
|
4278
|
+
if (digit === "") {
|
|
4279
|
+
return Array(missingFields).fill("0");
|
|
4280
|
+
}
|
|
4281
|
+
return digit.padStart(4, "0");
|
|
4282
|
+
});
|
|
4283
|
+
};
|
|
4284
|
+
function Packet(data) {
|
|
4285
|
+
this.header = {};
|
|
4286
|
+
this.questions = [];
|
|
4287
|
+
this.answers = [];
|
|
4288
|
+
this.authorities = [];
|
|
4289
|
+
this.additionals = [];
|
|
4290
|
+
if (data instanceof Packet) {
|
|
4291
|
+
return data;
|
|
4292
|
+
} else if (data instanceof Packet.Header) {
|
|
4293
|
+
this.header = data;
|
|
4294
|
+
} else if (data instanceof Packet.Question) {
|
|
4295
|
+
this.questions.push(data);
|
|
4296
|
+
} else if (data instanceof Packet.Resource) {
|
|
4297
|
+
this.answers.push(data);
|
|
4298
|
+
} else if (typeof data === "string") {
|
|
4299
|
+
this.questions.push(data);
|
|
4300
|
+
} else if (typeof data === "object") {
|
|
4301
|
+
const type = {}.toString.call(data).match(/\[object (\w+)\]/)[1];
|
|
4302
|
+
if (type === "Array") {
|
|
4303
|
+
this.questions = data;
|
|
4304
|
+
}
|
|
4305
|
+
if (type === "Object") {
|
|
4306
|
+
this.header = data;
|
|
4307
|
+
}
|
|
4308
|
+
}
|
|
4309
|
+
return this;
|
|
4310
|
+
}
|
|
4311
|
+
Packet.TYPE = {
|
|
4312
|
+
A: 1,
|
|
4313
|
+
NS: 2,
|
|
4314
|
+
MD: 3,
|
|
4315
|
+
MF: 4,
|
|
4316
|
+
CNAME: 5,
|
|
4317
|
+
SOA: 6,
|
|
4318
|
+
MB: 7,
|
|
4319
|
+
MG: 8,
|
|
4320
|
+
MR: 9,
|
|
4321
|
+
NULL: 10,
|
|
4322
|
+
WKS: 11,
|
|
4323
|
+
PTR: 12,
|
|
4324
|
+
HINFO: 13,
|
|
4325
|
+
MINFO: 14,
|
|
4326
|
+
MX: 15,
|
|
4327
|
+
TXT: 16,
|
|
4328
|
+
AAAA: 28,
|
|
4329
|
+
SRV: 33,
|
|
4330
|
+
EDNS: 41,
|
|
4331
|
+
SPF: 99,
|
|
4332
|
+
AXFR: 252,
|
|
4333
|
+
MAILB: 253,
|
|
4334
|
+
MAILA: 254,
|
|
4335
|
+
ANY: 255,
|
|
4336
|
+
CAA: 257
|
|
4337
|
+
};
|
|
4338
|
+
Packet.CLASS = {
|
|
4339
|
+
IN: 1,
|
|
4340
|
+
CS: 2,
|
|
4341
|
+
CH: 3,
|
|
4342
|
+
HS: 4,
|
|
4343
|
+
ANY: 255
|
|
4344
|
+
};
|
|
4345
|
+
Packet.EDNS_OPTION_CODE = {
|
|
4346
|
+
ECS: 8
|
|
4347
|
+
};
|
|
4348
|
+
Packet.uuid = function() {
|
|
4349
|
+
return Math.floor(Math.random() * 1e5);
|
|
4350
|
+
};
|
|
4351
|
+
Packet.parse = function(buffer) {
|
|
4352
|
+
const packet = new Packet();
|
|
4353
|
+
const reader = new Packet.Reader(buffer);
|
|
4354
|
+
packet.header = Packet.Header.parse(reader);
|
|
4355
|
+
[
|
|
4356
|
+
// props parser count
|
|
4357
|
+
["questions", Packet.Question, packet.header.qdcount],
|
|
4358
|
+
["answers", Packet.Resource, packet.header.ancount],
|
|
4359
|
+
["authorities", Packet.Resource, packet.header.nscount],
|
|
4360
|
+
["additionals", Packet.Resource, packet.header.arcount]
|
|
4361
|
+
].forEach(function(def) {
|
|
4362
|
+
const section = def[0];
|
|
4363
|
+
const decoder = def[1];
|
|
4364
|
+
let count = def[2];
|
|
4365
|
+
while (count--) {
|
|
4366
|
+
try {
|
|
4367
|
+
packet[section] = packet[section] || [];
|
|
4368
|
+
packet[section].push(decoder.parse(reader));
|
|
4369
|
+
} catch (e) {
|
|
4370
|
+
debug("node-dns > parse %s error:", section, e.message);
|
|
4371
|
+
}
|
|
4372
|
+
}
|
|
4373
|
+
});
|
|
4374
|
+
return packet;
|
|
4375
|
+
};
|
|
4376
|
+
Object.defineProperty(Packet.prototype, "recursive", {
|
|
4377
|
+
enumerable: true,
|
|
4378
|
+
configurable: true,
|
|
4379
|
+
get() {
|
|
4380
|
+
return !!this.header.rd;
|
|
4381
|
+
},
|
|
4382
|
+
set(yn) {
|
|
4383
|
+
this.header.rd = +yn;
|
|
4384
|
+
return this.header.rd;
|
|
4385
|
+
}
|
|
4386
|
+
});
|
|
4387
|
+
Packet.prototype.toBuffer = function(writer) {
|
|
4388
|
+
writer = writer || new Packet.Writer();
|
|
4389
|
+
this.header.qdcount = this.questions.length;
|
|
4390
|
+
this.header.ancount = this.answers.length;
|
|
4391
|
+
this.header.nscount = this.authorities.length;
|
|
4392
|
+
this.header.arcount = this.additionals.length;
|
|
4393
|
+
if (!(this instanceof Packet.Header)) {
|
|
4394
|
+
this.header = new Packet.Header(this.header);
|
|
4395
|
+
}
|
|
4396
|
+
this.header.toBuffer(writer);
|
|
4397
|
+
[
|
|
4398
|
+
// section encoder
|
|
4399
|
+
["questions", Packet.Question],
|
|
4400
|
+
["answers", Packet.Resource],
|
|
4401
|
+
["authorities", Packet.Resource],
|
|
4402
|
+
["additionals", Packet.Resource]
|
|
4403
|
+
].forEach(function(def) {
|
|
4404
|
+
const section = def[0];
|
|
4405
|
+
const Encoder = def[1];
|
|
4406
|
+
(this[section] || []).map(function(resource) {
|
|
4407
|
+
return Encoder.encode(resource, writer);
|
|
4408
|
+
});
|
|
4409
|
+
}.bind(this));
|
|
4410
|
+
return writer.toBuffer();
|
|
4411
|
+
};
|
|
4412
|
+
Packet.Header = function(header) {
|
|
4413
|
+
this.id = 0;
|
|
4414
|
+
this.qr = 0;
|
|
4415
|
+
this.opcode = 0;
|
|
4416
|
+
this.aa = 0;
|
|
4417
|
+
this.tc = 0;
|
|
4418
|
+
this.rd = 0;
|
|
4419
|
+
this.ra = 0;
|
|
4420
|
+
this.z = 0;
|
|
4421
|
+
this.rcode = 0;
|
|
4422
|
+
this.qdcount = 0;
|
|
4423
|
+
this.nscount = 0;
|
|
4424
|
+
this.arcount = 0;
|
|
4425
|
+
for (const k3 in header) {
|
|
4426
|
+
this[k3] = header[k3];
|
|
4427
|
+
}
|
|
4428
|
+
return this;
|
|
4429
|
+
};
|
|
4430
|
+
Packet.Header.parse = function(reader) {
|
|
4431
|
+
const header = new Packet.Header();
|
|
4432
|
+
if (reader instanceof Buffer) {
|
|
4433
|
+
reader = new Packet.Reader(reader);
|
|
4434
|
+
}
|
|
4435
|
+
header.id = reader.read(16);
|
|
4436
|
+
header.qr = reader.read(1);
|
|
4437
|
+
header.opcode = reader.read(4);
|
|
4438
|
+
header.aa = reader.read(1);
|
|
4439
|
+
header.tc = reader.read(1);
|
|
4440
|
+
header.rd = reader.read(1);
|
|
4441
|
+
header.ra = reader.read(1);
|
|
4442
|
+
header.z = reader.read(3);
|
|
4443
|
+
header.rcode = reader.read(4);
|
|
4444
|
+
header.qdcount = reader.read(16);
|
|
4445
|
+
header.ancount = reader.read(16);
|
|
4446
|
+
header.nscount = reader.read(16);
|
|
4447
|
+
header.arcount = reader.read(16);
|
|
4448
|
+
return header;
|
|
4449
|
+
};
|
|
4450
|
+
Packet.Header.prototype.toBuffer = function(writer) {
|
|
4451
|
+
writer = writer || new Packet.Writer();
|
|
4452
|
+
writer.write(this.id, 16);
|
|
4453
|
+
writer.write(this.qr, 1);
|
|
4454
|
+
writer.write(this.opcode, 4);
|
|
4455
|
+
writer.write(this.aa, 1);
|
|
4456
|
+
writer.write(this.tc, 1);
|
|
4457
|
+
writer.write(this.rd, 1);
|
|
4458
|
+
writer.write(this.ra, 1);
|
|
4459
|
+
writer.write(this.z, 3);
|
|
4460
|
+
writer.write(this.rcode, 4);
|
|
4461
|
+
writer.write(this.qdcount, 16);
|
|
4462
|
+
writer.write(this.ancount, 16);
|
|
4463
|
+
writer.write(this.nscount, 16);
|
|
4464
|
+
writer.write(this.arcount, 16);
|
|
4465
|
+
return writer.toBuffer();
|
|
4466
|
+
};
|
|
4467
|
+
Packet.Question = function(name, type, cls) {
|
|
4468
|
+
const defaults = {
|
|
4469
|
+
type: Packet.TYPE.ANY,
|
|
4470
|
+
class: Packet.CLASS.ANY
|
|
4471
|
+
};
|
|
4472
|
+
if (typeof name === "object") {
|
|
4473
|
+
for (const k3 in name) {
|
|
4474
|
+
this[k3] = name[k3] || defaults[k3];
|
|
4475
|
+
}
|
|
4476
|
+
} else {
|
|
4477
|
+
this.name = name;
|
|
4478
|
+
this.type = type || defaults.type;
|
|
4479
|
+
this.class = cls || defaults.class;
|
|
4480
|
+
}
|
|
4481
|
+
return this;
|
|
4482
|
+
};
|
|
4483
|
+
Packet.Question.prototype.toBuffer = function(writer) {
|
|
4484
|
+
return Packet.Question.encode(this, writer);
|
|
4485
|
+
};
|
|
4486
|
+
Packet.Question.parse = Packet.Question.decode = function(reader) {
|
|
4487
|
+
const question = new Packet.Question();
|
|
4488
|
+
if (reader instanceof Buffer) {
|
|
4489
|
+
reader = new Packet.Reader(reader);
|
|
4490
|
+
}
|
|
4491
|
+
question.name = Packet.Name.decode(reader);
|
|
4492
|
+
question.type = reader.read(16);
|
|
4493
|
+
question.class = reader.read(16);
|
|
4494
|
+
return question;
|
|
4495
|
+
};
|
|
4496
|
+
Packet.Question.encode = function(question, writer) {
|
|
4497
|
+
writer = writer || new Packet.Writer();
|
|
4498
|
+
Packet.Name.encode(question.name, writer);
|
|
4499
|
+
writer.write(question.type, 16);
|
|
4500
|
+
writer.write(question.class, 16);
|
|
4501
|
+
return writer.toBuffer();
|
|
4502
|
+
};
|
|
4503
|
+
Packet.Resource = function(name, type, cls, ttl) {
|
|
4504
|
+
const defaults = {
|
|
4505
|
+
name: "",
|
|
4506
|
+
ttl: 300,
|
|
4507
|
+
type: Packet.TYPE.ANY,
|
|
4508
|
+
class: Packet.CLASS.ANY
|
|
4509
|
+
};
|
|
4510
|
+
let input;
|
|
4511
|
+
if (typeof name === "object") {
|
|
4512
|
+
input = name;
|
|
4513
|
+
} else {
|
|
4514
|
+
input = {
|
|
4515
|
+
name,
|
|
4516
|
+
type,
|
|
4517
|
+
class: cls,
|
|
4518
|
+
ttl
|
|
4519
|
+
};
|
|
4520
|
+
}
|
|
4521
|
+
Object.assign(this, defaults, input);
|
|
4522
|
+
return this;
|
|
4523
|
+
};
|
|
4524
|
+
Packet.Resource.prototype.toBuffer = function(writer) {
|
|
4525
|
+
return Packet.Resource.encode(this, writer);
|
|
4526
|
+
};
|
|
4527
|
+
Packet.Resource.encode = function(resource, writer) {
|
|
4528
|
+
writer = writer || new Packet.Writer();
|
|
4529
|
+
Packet.Name.encode(resource.name, writer);
|
|
4530
|
+
writer.write(resource.type, 16);
|
|
4531
|
+
writer.write(resource.class, 16);
|
|
4532
|
+
writer.write(resource.ttl, 32);
|
|
4533
|
+
const encoder = Object.keys(Packet.TYPE).filter(function(type) {
|
|
4534
|
+
return resource.type === Packet.TYPE[type];
|
|
4535
|
+
})[0];
|
|
4536
|
+
if (encoder in Packet.Resource && Packet.Resource[encoder].encode) {
|
|
4537
|
+
return Packet.Resource[encoder].encode(resource, writer);
|
|
4538
|
+
} else {
|
|
4539
|
+
debug("node-dns > unknown encoder %s(%j)", encoder, resource.type);
|
|
4540
|
+
}
|
|
4541
|
+
};
|
|
4542
|
+
Packet.Resource.parse = Packet.Resource.decode = function(reader) {
|
|
4543
|
+
if (reader instanceof Buffer) {
|
|
4544
|
+
reader = new Packet.Reader(reader);
|
|
4545
|
+
}
|
|
4546
|
+
let resource = new Packet.Resource();
|
|
4547
|
+
resource.name = Packet.Name.decode(reader);
|
|
4548
|
+
resource.type = reader.read(16);
|
|
4549
|
+
resource.class = reader.read(16);
|
|
4550
|
+
resource.ttl = reader.read(32);
|
|
4551
|
+
let length = reader.read(16);
|
|
4552
|
+
const parser2 = Object.keys(Packet.TYPE).filter(function(type) {
|
|
4553
|
+
return resource.type === Packet.TYPE[type];
|
|
4554
|
+
})[0];
|
|
4555
|
+
if (parser2 in Packet.Resource) {
|
|
4556
|
+
resource = Packet.Resource[parser2].decode.call(resource, reader, length);
|
|
4557
|
+
} else {
|
|
4558
|
+
debug("node-dns > unknown parser type: %s(%j)", parser2, resource.type);
|
|
4559
|
+
const arr = [];
|
|
4560
|
+
while (length--)
|
|
4561
|
+
arr.push(reader.read(8));
|
|
4562
|
+
resource.data = Buffer.from(arr);
|
|
4563
|
+
}
|
|
4564
|
+
return resource;
|
|
4565
|
+
};
|
|
4566
|
+
Packet.Name = {
|
|
4567
|
+
COPY: 192,
|
|
4568
|
+
decode: function(reader) {
|
|
4569
|
+
if (reader instanceof Buffer) {
|
|
4570
|
+
reader = new Packet.Reader(reader);
|
|
4571
|
+
}
|
|
4572
|
+
const name = [];
|
|
4573
|
+
let o2;
|
|
4574
|
+
let len = reader.read(8);
|
|
4575
|
+
while (len) {
|
|
4576
|
+
if ((len & Packet.Name.COPY) === Packet.Name.COPY) {
|
|
4577
|
+
len -= Packet.Name.COPY;
|
|
4578
|
+
len = len << 8;
|
|
4579
|
+
const pos = len + reader.read(8);
|
|
4580
|
+
if (!o2)
|
|
4581
|
+
o2 = reader.offset;
|
|
4582
|
+
reader.offset = pos * 8;
|
|
4583
|
+
len = reader.read(8);
|
|
4584
|
+
continue;
|
|
4585
|
+
} else {
|
|
4586
|
+
let part = "";
|
|
4587
|
+
while (len--)
|
|
4588
|
+
part += String.fromCharCode(reader.read(8));
|
|
4589
|
+
name.push(part);
|
|
4590
|
+
len = reader.read(8);
|
|
4591
|
+
}
|
|
4592
|
+
}
|
|
4593
|
+
if (o2)
|
|
4594
|
+
reader.offset = o2;
|
|
4595
|
+
return name.join(".");
|
|
4596
|
+
},
|
|
4597
|
+
encode: function(domain, writer) {
|
|
4598
|
+
writer = writer || new Packet.Writer();
|
|
4599
|
+
(domain || "").split(".").filter(function(part) {
|
|
4600
|
+
return !!part;
|
|
4601
|
+
}).forEach(function(part) {
|
|
4602
|
+
writer.write(part.length, 8);
|
|
4603
|
+
part.split("").map(function(c2) {
|
|
4604
|
+
writer.write(c2.charCodeAt(0), 8);
|
|
4605
|
+
return c2.charCodeAt(0);
|
|
4606
|
+
});
|
|
4607
|
+
});
|
|
4608
|
+
writer.write(0, 8);
|
|
4609
|
+
return writer.toBuffer();
|
|
4610
|
+
}
|
|
4611
|
+
};
|
|
4612
|
+
Packet.Resource.A = function(address) {
|
|
4613
|
+
this.type = Packet.TYPE.A;
|
|
4614
|
+
this.class = Packet.CLASS.IN;
|
|
4615
|
+
this.address = address;
|
|
4616
|
+
return this;
|
|
4617
|
+
};
|
|
4618
|
+
Packet.Resource.A.encode = function(record, writer) {
|
|
4619
|
+
writer = writer || new Packet.Writer();
|
|
4620
|
+
const parts = record.address.split(".");
|
|
4621
|
+
writer.write(parts.length, 16);
|
|
4622
|
+
parts.forEach(function(part) {
|
|
4623
|
+
writer.write(parseInt(part, 10), 8);
|
|
4624
|
+
});
|
|
4625
|
+
return writer.toBuffer();
|
|
4626
|
+
};
|
|
4627
|
+
Packet.Resource.A.decode = function(reader, length) {
|
|
4628
|
+
const parts = [];
|
|
4629
|
+
while (length--)
|
|
4630
|
+
parts.push(reader.read(8));
|
|
4631
|
+
this.address = parts.join(".");
|
|
4632
|
+
return this;
|
|
4633
|
+
};
|
|
4634
|
+
Packet.Resource.MX = function(exchange, priority) {
|
|
4635
|
+
this.type = Packet.TYPE.MX;
|
|
4636
|
+
this.class = Packet.CLASS.IN;
|
|
4637
|
+
this.exchange = exchange;
|
|
4638
|
+
this.priority = priority;
|
|
4639
|
+
return this;
|
|
4640
|
+
};
|
|
4641
|
+
Packet.Resource.MX.encode = function(record, writer) {
|
|
4642
|
+
writer = writer || new Packet.Writer();
|
|
4643
|
+
const len = Packet.Name.encode(record.exchange).length;
|
|
4644
|
+
writer.write(len + 2, 16);
|
|
4645
|
+
writer.write(record.priority, 16);
|
|
4646
|
+
Packet.Name.encode(record.exchange, writer);
|
|
4647
|
+
return writer.toBuffer();
|
|
4648
|
+
};
|
|
4649
|
+
Packet.Resource.MX.decode = function(reader, length) {
|
|
4650
|
+
this.priority = reader.read(16);
|
|
4651
|
+
this.exchange = Packet.Name.decode(reader);
|
|
4652
|
+
return this;
|
|
4653
|
+
};
|
|
4654
|
+
Packet.Resource.AAAA = {
|
|
4655
|
+
decode: function(reader, length) {
|
|
4656
|
+
const parts = [];
|
|
4657
|
+
while (length) {
|
|
4658
|
+
length -= 2;
|
|
4659
|
+
parts.push(reader.read(16));
|
|
4660
|
+
}
|
|
4661
|
+
this.address = toIPv6(parts);
|
|
4662
|
+
return this;
|
|
4663
|
+
},
|
|
4664
|
+
encode: function(record, writer) {
|
|
4665
|
+
writer = writer || new Packet.Writer();
|
|
4666
|
+
const parts = fromIPv6(record.address);
|
|
4667
|
+
writer.write(parts.length * 2, 16);
|
|
4668
|
+
parts.forEach(function(part) {
|
|
4669
|
+
writer.write(parseInt(part, 16), 16);
|
|
4670
|
+
});
|
|
4671
|
+
return writer.toBuffer();
|
|
4672
|
+
}
|
|
4673
|
+
};
|
|
4674
|
+
Packet.Resource.NS = {
|
|
4675
|
+
decode: function(reader, length) {
|
|
4676
|
+
this.ns = Packet.Name.decode(reader);
|
|
4677
|
+
return this;
|
|
4678
|
+
},
|
|
4679
|
+
encode: function(record, writer) {
|
|
4680
|
+
writer = writer || new Packet.Writer();
|
|
4681
|
+
writer.write(Packet.Name.encode(record.ns).length, 16);
|
|
4682
|
+
Packet.Name.encode(record.ns, writer);
|
|
4683
|
+
return writer.toBuffer();
|
|
4684
|
+
}
|
|
4685
|
+
};
|
|
4686
|
+
Packet.Resource.PTR = Packet.Resource.CNAME = {
|
|
4687
|
+
decode: function(reader, length) {
|
|
4688
|
+
this.domain = Packet.Name.decode(reader);
|
|
4689
|
+
return this;
|
|
4690
|
+
},
|
|
4691
|
+
encode: function(record, writer) {
|
|
4692
|
+
writer = writer || new Packet.Writer();
|
|
4693
|
+
writer.write(Packet.Name.encode(record.domain).length, 16);
|
|
4694
|
+
Packet.Name.encode(record.domain, writer);
|
|
4695
|
+
return writer.toBuffer();
|
|
4696
|
+
}
|
|
4697
|
+
};
|
|
4698
|
+
Packet.Resource.SPF = Packet.Resource.TXT = {
|
|
4699
|
+
decode: function(reader, length) {
|
|
4700
|
+
const parts = [];
|
|
4701
|
+
let bytesRead = 0;
|
|
4702
|
+
let chunkLength = 0;
|
|
4703
|
+
while (bytesRead < length) {
|
|
4704
|
+
chunkLength = reader.read(8);
|
|
4705
|
+
bytesRead++;
|
|
4706
|
+
while (chunkLength--) {
|
|
4707
|
+
parts.push(reader.read(8));
|
|
4708
|
+
bytesRead++;
|
|
4709
|
+
}
|
|
4710
|
+
}
|
|
4711
|
+
this.data = Buffer.from(parts).toString("utf8");
|
|
4712
|
+
return this;
|
|
4713
|
+
},
|
|
4714
|
+
encode: function(record, writer) {
|
|
4715
|
+
writer = writer || new Packet.Writer();
|
|
4716
|
+
const characterStrings = Array.isArray(record.data) ? record.data : [record.data];
|
|
4717
|
+
const characterStringBuffers = characterStrings.map(function(characterString) {
|
|
4718
|
+
if (Buffer.isBuffer(characterString)) {
|
|
4719
|
+
return characterString;
|
|
4720
|
+
}
|
|
4721
|
+
if (typeof characterString === "string") {
|
|
4722
|
+
return Buffer.from(characterString, "utf8");
|
|
4723
|
+
}
|
|
4724
|
+
return false;
|
|
4725
|
+
}).filter(function(characterString) {
|
|
4726
|
+
return characterString;
|
|
4727
|
+
});
|
|
4728
|
+
const bufferLength = characterStringBuffers.reduce(function(sum, characterStringBuffer) {
|
|
4729
|
+
return sum + characterStringBuffer.length;
|
|
4730
|
+
}, 0);
|
|
4731
|
+
writer.write(bufferLength + characterStringBuffers.length, 16);
|
|
4732
|
+
characterStringBuffers.forEach(function(buffer) {
|
|
4733
|
+
writer.write(buffer.length, 8);
|
|
4734
|
+
buffer.forEach(function(c2) {
|
|
4735
|
+
writer.write(c2, 8);
|
|
4736
|
+
});
|
|
4737
|
+
});
|
|
4738
|
+
return writer.toBuffer();
|
|
4739
|
+
}
|
|
4740
|
+
};
|
|
4741
|
+
Packet.Resource.SOA = {
|
|
4742
|
+
decode: function(reader, length) {
|
|
4743
|
+
this.primary = Packet.Name.decode(reader);
|
|
4744
|
+
this.admin = Packet.Name.decode(reader);
|
|
4745
|
+
this.serial = reader.read(32);
|
|
4746
|
+
this.refresh = reader.read(32);
|
|
4747
|
+
this.retry = reader.read(32);
|
|
4748
|
+
this.expiration = reader.read(32);
|
|
4749
|
+
this.minimum = reader.read(32);
|
|
4750
|
+
return this;
|
|
4751
|
+
},
|
|
4752
|
+
encode: function(record, writer) {
|
|
4753
|
+
writer = writer || new Packet.Writer();
|
|
4754
|
+
let len = 0;
|
|
4755
|
+
len += Packet.Name.encode(record.primary).length;
|
|
4756
|
+
len += Packet.Name.encode(record.admin).length;
|
|
4757
|
+
len += 32 * 5 / 8;
|
|
4758
|
+
writer.write(len, 16);
|
|
4759
|
+
Packet.Name.encode(record.primary, writer);
|
|
4760
|
+
Packet.Name.encode(record.admin, writer);
|
|
4761
|
+
writer.write(record.serial, 32);
|
|
4762
|
+
writer.write(record.refresh, 32);
|
|
4763
|
+
writer.write(record.retry, 32);
|
|
4764
|
+
writer.write(record.expiration, 32);
|
|
4765
|
+
writer.write(record.minimum, 32);
|
|
4766
|
+
return writer.toBuffer();
|
|
4767
|
+
}
|
|
4768
|
+
};
|
|
4769
|
+
Packet.Resource.SRV = {
|
|
4770
|
+
decode: function(reader, length) {
|
|
4771
|
+
this.priority = reader.read(16);
|
|
4772
|
+
this.weight = reader.read(16);
|
|
4773
|
+
this.port = reader.read(16);
|
|
4774
|
+
this.target = Packet.Name.decode(reader);
|
|
4775
|
+
return this;
|
|
4776
|
+
},
|
|
4777
|
+
encode: function(record, writer) {
|
|
4778
|
+
writer = writer || new Packet.Writer();
|
|
4779
|
+
const { length } = Packet.Name.encode(record.target);
|
|
4780
|
+
writer.write(length + 6, 16);
|
|
4781
|
+
writer.write(record.priority, 16);
|
|
4782
|
+
writer.write(record.weight, 16);
|
|
4783
|
+
writer.write(record.port, 16);
|
|
4784
|
+
Packet.Name.encode(record.target, writer);
|
|
4785
|
+
return writer.toBuffer();
|
|
4786
|
+
}
|
|
4787
|
+
};
|
|
4788
|
+
Packet.Resource.EDNS = function(rdata) {
|
|
4789
|
+
return {
|
|
4790
|
+
type: Packet.TYPE.EDNS,
|
|
4791
|
+
class: 512,
|
|
4792
|
+
// Supported UDP Payload size
|
|
4793
|
+
ttl: 0,
|
|
4794
|
+
// Extended RCODE and flags
|
|
4795
|
+
rdata
|
|
4796
|
+
// Objects of type Packet.Resource.EDNS.*
|
|
4797
|
+
};
|
|
4798
|
+
};
|
|
4799
|
+
Packet.Resource.EDNS.decode = function(reader, length) {
|
|
4800
|
+
this.type = Packet.TYPE.EDNS;
|
|
4801
|
+
this.class = 512;
|
|
4802
|
+
this.ttl = 0;
|
|
4803
|
+
this.rdata = [];
|
|
4804
|
+
while (length) {
|
|
4805
|
+
const optionCode = reader.read(16);
|
|
4806
|
+
const optionLength = reader.read(16);
|
|
4807
|
+
const decoder = Object.keys(Packet.EDNS_OPTION_CODE).filter(function(type) {
|
|
4808
|
+
return optionCode === Packet.EDNS_OPTION_CODE[type];
|
|
4809
|
+
})[0];
|
|
4810
|
+
if (decoder in Packet.Resource.EDNS && Packet.Resource.EDNS[decoder].decode) {
|
|
4811
|
+
const rdata = Packet.Resource.EDNS[decoder].decode(reader, optionLength);
|
|
4812
|
+
this.rdata.push(rdata);
|
|
4813
|
+
} else {
|
|
4814
|
+
reader.read(optionLength);
|
|
4815
|
+
debug("node-dns > unknown EDNS rdata decoder %s(%j)", decoder, optionCode);
|
|
4816
|
+
}
|
|
4817
|
+
length = length - 4 - optionLength;
|
|
4818
|
+
}
|
|
4819
|
+
return this;
|
|
4820
|
+
};
|
|
4821
|
+
Packet.Resource.EDNS.encode = function(record, writer) {
|
|
4822
|
+
const rdataWriter = new Packet.Writer();
|
|
4823
|
+
for (const rdata of record.rdata) {
|
|
4824
|
+
const encoder = Object.keys(Packet.EDNS_OPTION_CODE).filter(function(type) {
|
|
4825
|
+
return rdata.ednsCode === Packet.EDNS_OPTION_CODE[type];
|
|
4826
|
+
})[0];
|
|
4827
|
+
if (encoder in Packet.Resource.EDNS && Packet.Resource.EDNS[encoder].encode) {
|
|
4828
|
+
const w3 = new Packet.Writer();
|
|
4829
|
+
Packet.Resource.EDNS[encoder].encode(rdata, w3);
|
|
4830
|
+
rdataWriter.write(rdata.ednsCode, 16);
|
|
4831
|
+
rdataWriter.write(w3.buffer.length / 8, 16);
|
|
4832
|
+
rdataWriter.writeBuffer(w3);
|
|
4833
|
+
} else {
|
|
4834
|
+
debug("node-dns > unknown EDNS rdata encoder %s(%j)", encoder, rdata.ednsCode);
|
|
4835
|
+
}
|
|
4836
|
+
}
|
|
4837
|
+
writer = writer || new Packet.Writer();
|
|
4838
|
+
writer.write(rdataWriter.buffer.length / 8, 16);
|
|
4839
|
+
writer.writeBuffer(rdataWriter);
|
|
4840
|
+
return writer.toBuffer();
|
|
4841
|
+
};
|
|
4842
|
+
Packet.Resource.EDNS.ECS = function(clientIp) {
|
|
4843
|
+
const [ip, prefixLength] = clientIp.split("/");
|
|
4844
|
+
const numPrefixLength = parseInt(prefixLength) || 32;
|
|
4845
|
+
return {
|
|
4846
|
+
ednsCode: Packet.EDNS_OPTION_CODE.ECS,
|
|
4847
|
+
family: 1,
|
|
4848
|
+
sourcePrefixLength: numPrefixLength,
|
|
4849
|
+
scopePrefixLength: 0,
|
|
4850
|
+
ip
|
|
4851
|
+
};
|
|
4852
|
+
};
|
|
4853
|
+
Packet.Resource.EDNS.ECS.decode = function(reader, length) {
|
|
4854
|
+
const rdata = {};
|
|
4855
|
+
rdata.ednsCode = Packet.EDNS_OPTION_CODE.ECS;
|
|
4856
|
+
rdata.family = reader.read(16);
|
|
4857
|
+
rdata.sourcePrefixLength = reader.read(8);
|
|
4858
|
+
rdata.scopePrefixLength = reader.read(8);
|
|
4859
|
+
length -= 4;
|
|
4860
|
+
if (rdata.family !== 1) {
|
|
4861
|
+
debug("node-dns > unimplemented address family");
|
|
4862
|
+
reader.read(length * 8);
|
|
4863
|
+
return rdata;
|
|
4864
|
+
}
|
|
4865
|
+
const ipv4Octets = [];
|
|
4866
|
+
while (length--) {
|
|
4867
|
+
const octet = reader.read(8);
|
|
4868
|
+
ipv4Octets.push(octet);
|
|
4869
|
+
}
|
|
4870
|
+
while (ipv4Octets.length < 4) {
|
|
4871
|
+
ipv4Octets.push(0);
|
|
4872
|
+
}
|
|
4873
|
+
rdata.ip = ipv4Octets.join(".");
|
|
4874
|
+
return rdata;
|
|
4875
|
+
};
|
|
4876
|
+
Packet.Resource.EDNS.ECS.encode = function(record, writer) {
|
|
4877
|
+
const ip = record.ip.split(".").map((s) => parseInt(s));
|
|
4878
|
+
writer.write(record.family, 16);
|
|
4879
|
+
writer.write(record.sourcePrefixLength, 8);
|
|
4880
|
+
writer.write(record.scopePrefixLength, 8);
|
|
4881
|
+
writer.write(ip[0], 8);
|
|
4882
|
+
writer.write(ip[1], 8);
|
|
4883
|
+
writer.write(ip[2], 8);
|
|
4884
|
+
writer.write(ip[3], 8);
|
|
4885
|
+
};
|
|
4886
|
+
Packet.Resource.CAA = {
|
|
4887
|
+
encode: function(record, writer) {
|
|
4888
|
+
writer = writer || new Packet.Writer();
|
|
4889
|
+
const buffer = Buffer.from(record.tag + record.value, "utf8");
|
|
4890
|
+
writer.write(2 + buffer.length, 16);
|
|
4891
|
+
writer.write(record.flags, 8);
|
|
4892
|
+
writer.write(record.tag.length, 8);
|
|
4893
|
+
buffer.forEach(function(c2) {
|
|
4894
|
+
writer.write(c2, 8);
|
|
4895
|
+
});
|
|
4896
|
+
return writer.toBuffer();
|
|
4897
|
+
}
|
|
4898
|
+
};
|
|
4899
|
+
Packet.Reader = BufferReader;
|
|
4900
|
+
Packet.Writer = BufferWriter;
|
|
4901
|
+
Packet.createResponseFromRequest = function(request2) {
|
|
4902
|
+
const response = new Packet(request2);
|
|
4903
|
+
response.header.qr = 1;
|
|
4904
|
+
response.additionals = [];
|
|
4905
|
+
return response;
|
|
4906
|
+
};
|
|
4907
|
+
Packet.createResourceFromQuestion = function(base, record) {
|
|
4908
|
+
const resource = new Packet.Resource(base);
|
|
4909
|
+
Object.assign(resource, record);
|
|
4910
|
+
return resource;
|
|
4911
|
+
};
|
|
4912
|
+
Packet.readStream = (socket) => {
|
|
4913
|
+
let chunks = [];
|
|
4914
|
+
let chunklen = 0;
|
|
4915
|
+
let received = false;
|
|
4916
|
+
let expected = false;
|
|
4917
|
+
return new Promise((resolve9, reject) => {
|
|
4918
|
+
const processMessage = () => {
|
|
4919
|
+
if (received)
|
|
4920
|
+
return;
|
|
4921
|
+
received = true;
|
|
4922
|
+
const buffer = Buffer.concat(chunks, chunklen);
|
|
4923
|
+
resolve9(buffer.slice(2));
|
|
4924
|
+
};
|
|
4925
|
+
socket.on("end", processMessage);
|
|
4926
|
+
socket.on("error", reject);
|
|
4927
|
+
socket.on("readable", () => {
|
|
4928
|
+
let chunk;
|
|
4929
|
+
while ((chunk = socket.read()) !== null) {
|
|
4930
|
+
chunks.push(chunk);
|
|
4931
|
+
chunklen += chunk.length;
|
|
4932
|
+
}
|
|
4933
|
+
if (!expected && chunklen >= 2) {
|
|
4934
|
+
if (chunks.length > 1) {
|
|
4935
|
+
chunks = [Buffer.concat(chunks, chunklen)];
|
|
4936
|
+
}
|
|
4937
|
+
expected = chunks[0].readUInt16BE(0);
|
|
4938
|
+
}
|
|
4939
|
+
if (chunklen >= 2 + expected) {
|
|
4940
|
+
processMessage();
|
|
4941
|
+
}
|
|
4942
|
+
});
|
|
4943
|
+
});
|
|
4944
|
+
};
|
|
4945
|
+
Packet.prototype.toBase64URL = function() {
|
|
4946
|
+
const buffer = this.toBuffer();
|
|
4947
|
+
const base64 = buffer.toString("base64");
|
|
4948
|
+
return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
4949
|
+
};
|
|
4950
|
+
module2.exports = Packet;
|
|
4951
|
+
module2.exports.toIPv6 = toIPv6;
|
|
4952
|
+
module2.exports.fromIPv6 = fromIPv6;
|
|
4953
|
+
}
|
|
4954
|
+
});
|
|
4955
|
+
|
|
4956
|
+
// ../../node_modules/dns2/server/udp.js
|
|
4957
|
+
var require_udp = __commonJS({
|
|
4958
|
+
"../../node_modules/dns2/server/udp.js"(exports, module2) {
|
|
4959
|
+
var udp = require("dgram");
|
|
4960
|
+
var Packet = require_packet();
|
|
4961
|
+
var Server = class extends udp.Socket {
|
|
4962
|
+
constructor(options) {
|
|
4963
|
+
let type = "udp4";
|
|
4964
|
+
if (typeof options === "object") {
|
|
4965
|
+
type = options.type;
|
|
4966
|
+
}
|
|
4967
|
+
super(type);
|
|
4968
|
+
if (typeof options === "function") {
|
|
4969
|
+
this.on("request", options);
|
|
4970
|
+
}
|
|
4971
|
+
this.on("message", this.handle.bind(this));
|
|
4972
|
+
}
|
|
4973
|
+
handle(data, rinfo) {
|
|
4974
|
+
try {
|
|
4975
|
+
const message = Packet.parse(data);
|
|
4976
|
+
this.emit("request", message, this.response.bind(this, rinfo), rinfo);
|
|
4977
|
+
} catch (e) {
|
|
4978
|
+
this.emit("requestError", e);
|
|
4979
|
+
}
|
|
4980
|
+
}
|
|
4981
|
+
response(rinfo, message) {
|
|
4982
|
+
if (message instanceof Packet) {
|
|
4983
|
+
message = message.toBuffer();
|
|
4984
|
+
}
|
|
4985
|
+
return new Promise((resolve9, reject) => {
|
|
4986
|
+
this.send(message, rinfo.port, rinfo.address, (err) => {
|
|
4987
|
+
if (err)
|
|
4988
|
+
return reject(err);
|
|
4989
|
+
resolve9(message);
|
|
4990
|
+
});
|
|
4991
|
+
});
|
|
4992
|
+
}
|
|
4993
|
+
listen(port, address) {
|
|
4994
|
+
return new Promise((resolve9) => this.bind(port, address, resolve9));
|
|
4995
|
+
}
|
|
4996
|
+
};
|
|
4997
|
+
module2.exports = Server;
|
|
4998
|
+
}
|
|
4999
|
+
});
|
|
5000
|
+
|
|
5001
|
+
// ../../node_modules/dns2/server/tcp.js
|
|
5002
|
+
var require_tcp = __commonJS({
|
|
5003
|
+
"../../node_modules/dns2/server/tcp.js"(exports, module2) {
|
|
5004
|
+
var tcp = require("net");
|
|
5005
|
+
var Packet = require_packet();
|
|
5006
|
+
var Server = class extends tcp.Server {
|
|
5007
|
+
constructor(options) {
|
|
5008
|
+
super();
|
|
5009
|
+
if (typeof options === "function") {
|
|
5010
|
+
this.on("request", options);
|
|
5011
|
+
}
|
|
5012
|
+
this.on("connection", this.handle.bind(this));
|
|
5013
|
+
}
|
|
5014
|
+
async handle(client) {
|
|
5015
|
+
try {
|
|
5016
|
+
const data = await Packet.readStream(client);
|
|
5017
|
+
const message = Packet.parse(data);
|
|
5018
|
+
this.emit("request", message, this.response.bind(this, client), client);
|
|
5019
|
+
} catch (e) {
|
|
5020
|
+
this.emit("requestError", e);
|
|
5021
|
+
client.destroy();
|
|
5022
|
+
}
|
|
5023
|
+
}
|
|
5024
|
+
response(client, message) {
|
|
5025
|
+
if (message instanceof Packet) {
|
|
5026
|
+
message = message.toBuffer();
|
|
5027
|
+
}
|
|
5028
|
+
const len = Buffer.alloc(2);
|
|
5029
|
+
len.writeUInt16BE(message.length);
|
|
5030
|
+
client.end(Buffer.concat([len, message]));
|
|
5031
|
+
}
|
|
5032
|
+
};
|
|
5033
|
+
module2.exports = Server;
|
|
5034
|
+
}
|
|
5035
|
+
});
|
|
5036
|
+
|
|
5037
|
+
// ../../node_modules/dns2/server/doh.js
|
|
5038
|
+
var require_doh = __commonJS({
|
|
5039
|
+
"../../node_modules/dns2/server/doh.js"(exports, module2) {
|
|
5040
|
+
var http = require("http");
|
|
5041
|
+
var https = require("https");
|
|
5042
|
+
var { URL: URL2 } = require("url");
|
|
5043
|
+
var Packet = require_packet();
|
|
5044
|
+
var EventEmitter = require("events");
|
|
5045
|
+
var { debuglog } = require("util");
|
|
5046
|
+
var debug = debuglog("dns2-server");
|
|
5047
|
+
var decodeBase64URL = (str) => {
|
|
5048
|
+
let queryData = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
5049
|
+
const pad = queryData.length % 4;
|
|
5050
|
+
if (pad === 1)
|
|
5051
|
+
return;
|
|
5052
|
+
if (pad) {
|
|
5053
|
+
queryData += new Array(5 - pad).join("=");
|
|
5054
|
+
}
|
|
5055
|
+
return queryData;
|
|
5056
|
+
};
|
|
5057
|
+
var readStream = (stream) => new Promise((resolve9, reject) => {
|
|
5058
|
+
let buffer = "";
|
|
5059
|
+
stream.on("error", reject).on("data", (chunk) => {
|
|
5060
|
+
buffer += chunk;
|
|
5061
|
+
}).on("end", () => resolve9(buffer));
|
|
5062
|
+
});
|
|
5063
|
+
var Server = class extends EventEmitter {
|
|
5064
|
+
constructor(options) {
|
|
5065
|
+
super();
|
|
5066
|
+
const { ssl } = Object.assign(this, { cors: true }, options);
|
|
5067
|
+
this.server = (ssl ? https.createServer(options) : http.createServer()).on("request", this.handleRequest.bind(this)).on("listening", () => this.emit("listening", this.address())).on("error", (error) => this.emit("error", error)).on("close", () => {
|
|
5068
|
+
this.server.removeAllListeners();
|
|
5069
|
+
this.emit("close");
|
|
5070
|
+
});
|
|
5071
|
+
return this;
|
|
5072
|
+
}
|
|
5073
|
+
async handleRequest(client, res) {
|
|
5074
|
+
try {
|
|
5075
|
+
const { method, url, headers } = client;
|
|
5076
|
+
const { pathname, searchParams: query } = new URL2(url, "http://unused/");
|
|
5077
|
+
const { cors } = this;
|
|
5078
|
+
if (cors === true) {
|
|
5079
|
+
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
5080
|
+
} else if (typeof cors === "string") {
|
|
5081
|
+
res.setHeader("Access-Control-Allow-Origin", cors);
|
|
5082
|
+
res.setHeader("Vary", "Origin");
|
|
5083
|
+
} else if (typeof cors === "function") {
|
|
5084
|
+
const isAllowed = cors(headers.origin);
|
|
5085
|
+
res.setHeader("Access-Control-Allow-Origin", isAllowed ? headers.origin : "false");
|
|
5086
|
+
res.setHeader("Vary", "Origin");
|
|
5087
|
+
}
|
|
5088
|
+
debug("request", method, url);
|
|
5089
|
+
if (method !== "GET" && method !== "POST") {
|
|
5090
|
+
res.writeHead(405, { "Content-Type": "text/plain" });
|
|
5091
|
+
res.write("405 Method not allowed\n");
|
|
5092
|
+
res.end();
|
|
5093
|
+
return;
|
|
5094
|
+
}
|
|
5095
|
+
if (pathname !== "/dns-query") {
|
|
5096
|
+
res.writeHead(404, { "Content-Type": "text/plain" });
|
|
5097
|
+
res.write("404 Not Found\n");
|
|
5098
|
+
res.end();
|
|
5099
|
+
return;
|
|
5100
|
+
}
|
|
5101
|
+
const contentType = headers.accept;
|
|
5102
|
+
if (contentType !== "application/dns-message") {
|
|
5103
|
+
res.writeHead(400, { "Content-Type": "text/plain" });
|
|
5104
|
+
res.write("400 Bad Request: Illegal content type\n");
|
|
5105
|
+
res.end();
|
|
5106
|
+
return;
|
|
5107
|
+
}
|
|
5108
|
+
let queryData;
|
|
5109
|
+
if (method === "GET") {
|
|
5110
|
+
const dns = query.get("dns");
|
|
5111
|
+
if (!dns) {
|
|
5112
|
+
res.writeHead(400, { "Content-Type": "text/plain" });
|
|
5113
|
+
res.write("400 Bad Request: No query defined\n");
|
|
5114
|
+
res.end();
|
|
5115
|
+
return;
|
|
5116
|
+
}
|
|
5117
|
+
const base64 = decodeBase64URL(dns);
|
|
5118
|
+
if (!base64) {
|
|
5119
|
+
res.writeHead(400, { "Content-Type": "text/plain" });
|
|
5120
|
+
res.write("400 Bad Request: Invalid query data\n");
|
|
5121
|
+
res.end();
|
|
5122
|
+
return;
|
|
5123
|
+
}
|
|
5124
|
+
queryData = Buffer.from(base64, "base64");
|
|
5125
|
+
} else if (method === "POST") {
|
|
5126
|
+
queryData = await readStream(client);
|
|
5127
|
+
}
|
|
5128
|
+
const message = Packet.parse(queryData);
|
|
5129
|
+
this.emit("request", message, this.response.bind(this, res), client);
|
|
5130
|
+
} catch (e) {
|
|
5131
|
+
this.emit("requestError", e);
|
|
5132
|
+
res.destroy();
|
|
5133
|
+
}
|
|
5134
|
+
}
|
|
5135
|
+
/**
|
|
5136
|
+
* Send of the response to the client
|
|
5137
|
+
* @param {*} res
|
|
5138
|
+
* @param {*} message
|
|
5139
|
+
*/
|
|
5140
|
+
response(res, message) {
|
|
5141
|
+
debug("response");
|
|
5142
|
+
res.setHeader("Content-Type", "application/dns-message");
|
|
5143
|
+
res.writeHead(200);
|
|
5144
|
+
res.end(message.toBuffer());
|
|
5145
|
+
}
|
|
5146
|
+
/**
|
|
5147
|
+
* listen
|
|
5148
|
+
* @param {*} port
|
|
5149
|
+
* @returns
|
|
5150
|
+
*/
|
|
5151
|
+
listen(port, address) {
|
|
5152
|
+
return this.server.listen(port || this.port, address);
|
|
5153
|
+
}
|
|
5154
|
+
address() {
|
|
5155
|
+
return this.server.address();
|
|
5156
|
+
}
|
|
5157
|
+
close() {
|
|
5158
|
+
return this.server.close();
|
|
5159
|
+
}
|
|
5160
|
+
};
|
|
5161
|
+
module2.exports = Server;
|
|
5162
|
+
}
|
|
5163
|
+
});
|
|
5164
|
+
|
|
5165
|
+
// ../../node_modules/dns2/server/dns.js
|
|
5166
|
+
var require_dns = __commonJS({
|
|
5167
|
+
"../../node_modules/dns2/server/dns.js"(exports, module2) {
|
|
5168
|
+
var EventEmitter = require("events");
|
|
5169
|
+
var DOHServer = require_doh();
|
|
5170
|
+
var TCPServer = require_tcp();
|
|
5171
|
+
var UDPServer = require_udp();
|
|
5172
|
+
var DNSServer = class extends EventEmitter {
|
|
5173
|
+
constructor(options = {}) {
|
|
5174
|
+
super();
|
|
5175
|
+
this.servers = {};
|
|
5176
|
+
if (options.doh) {
|
|
5177
|
+
this.servers.doh = new DOHServer(options.doh).on("error", (error) => this.emit("error", error, "doh"));
|
|
5178
|
+
}
|
|
5179
|
+
if (options.tcp) {
|
|
5180
|
+
this.servers.tcp = new TCPServer().on("error", (error) => this.emit("error", error, "tcp"));
|
|
5181
|
+
}
|
|
5182
|
+
if (options.udp) {
|
|
5183
|
+
this.servers.udp = new UDPServer(typeof options.udp === "object" ? options.udp : void 0).on("error", (error) => this.emit("error", error, "udp"));
|
|
5184
|
+
}
|
|
5185
|
+
const servers = Object.values(this.servers);
|
|
5186
|
+
this.closed = Promise.all(
|
|
5187
|
+
servers.map((server) => new Promise((resolve9) => server.once("close", resolve9)))
|
|
5188
|
+
).then(() => {
|
|
5189
|
+
this.emit("close");
|
|
5190
|
+
});
|
|
5191
|
+
this.listening = Promise.all(
|
|
5192
|
+
servers.map((server) => new Promise((resolve9) => server.once("listening", resolve9)))
|
|
5193
|
+
).then(() => {
|
|
5194
|
+
const addresses = this.addresses();
|
|
5195
|
+
this.emit("listening", addresses);
|
|
5196
|
+
return addresses;
|
|
5197
|
+
});
|
|
5198
|
+
const emitRequest = (request2, send, client) => this.emit("request", request2, send, client);
|
|
5199
|
+
const emitRequestError = (error) => this.emit("requestError", error);
|
|
5200
|
+
for (const server of servers) {
|
|
5201
|
+
server.on("request", emitRequest);
|
|
5202
|
+
server.on("requestError", emitRequestError);
|
|
5203
|
+
}
|
|
5204
|
+
if (options.handle) {
|
|
5205
|
+
this.on("request", options.handle.bind(options));
|
|
5206
|
+
}
|
|
5207
|
+
}
|
|
5208
|
+
addresses() {
|
|
5209
|
+
const addresses = {};
|
|
5210
|
+
const { udp, tcp, doh } = this.servers;
|
|
5211
|
+
if (udp) {
|
|
5212
|
+
addresses.udp = udp.address();
|
|
5213
|
+
}
|
|
5214
|
+
if (tcp) {
|
|
5215
|
+
addresses.tcp = tcp.address();
|
|
5216
|
+
}
|
|
5217
|
+
if (doh) {
|
|
5218
|
+
addresses.doh = doh.address();
|
|
5219
|
+
}
|
|
5220
|
+
return addresses;
|
|
5221
|
+
}
|
|
5222
|
+
listen(options = {}) {
|
|
5223
|
+
for (const serverType of Object.keys(this.servers)) {
|
|
5224
|
+
const server = this.servers[serverType];
|
|
5225
|
+
const serverOptions = options[serverType];
|
|
5226
|
+
if (serverOptions && serverOptions.port) {
|
|
5227
|
+
server.listen(serverOptions.port, serverOptions.address);
|
|
5228
|
+
} else {
|
|
5229
|
+
server.listen(serverOptions);
|
|
5230
|
+
}
|
|
5231
|
+
}
|
|
5232
|
+
return this.listening;
|
|
5233
|
+
}
|
|
5234
|
+
close() {
|
|
5235
|
+
const { doh, udp, tcp } = this.servers;
|
|
5236
|
+
if (udp) {
|
|
5237
|
+
udp.close();
|
|
5238
|
+
}
|
|
5239
|
+
if (tcp) {
|
|
5240
|
+
tcp.close();
|
|
5241
|
+
}
|
|
5242
|
+
if (doh) {
|
|
5243
|
+
doh.close();
|
|
5244
|
+
}
|
|
5245
|
+
return this.closed;
|
|
5246
|
+
}
|
|
5247
|
+
};
|
|
5248
|
+
module2.exports = DNSServer;
|
|
5249
|
+
}
|
|
5250
|
+
});
|
|
5251
|
+
|
|
5252
|
+
// ../../node_modules/dns2/server/index.js
|
|
5253
|
+
var require_server = __commonJS({
|
|
5254
|
+
"../../node_modules/dns2/server/index.js"(exports, module2) {
|
|
5255
|
+
var UDPServer = require_udp();
|
|
5256
|
+
var TCPServer = require_tcp();
|
|
5257
|
+
var DOHServer = require_doh();
|
|
5258
|
+
var DNSServer = require_dns();
|
|
5259
|
+
var createUDPServer = (options) => {
|
|
5260
|
+
return new UDPServer(options);
|
|
5261
|
+
};
|
|
5262
|
+
var createTCPServer = (options) => {
|
|
5263
|
+
return new TCPServer(options);
|
|
5264
|
+
};
|
|
5265
|
+
var createDOHServer = (options) => {
|
|
5266
|
+
return new DOHServer(options);
|
|
5267
|
+
};
|
|
5268
|
+
var createServer = (options) => {
|
|
5269
|
+
return new DNSServer(options);
|
|
5270
|
+
};
|
|
5271
|
+
module2.exports = {
|
|
5272
|
+
UDPServer,
|
|
5273
|
+
TCPServer,
|
|
5274
|
+
DOHServer,
|
|
5275
|
+
DNSServer,
|
|
5276
|
+
createTCPServer,
|
|
5277
|
+
createUDPServer,
|
|
5278
|
+
createDOHServer,
|
|
5279
|
+
createServer
|
|
5280
|
+
};
|
|
5281
|
+
}
|
|
5282
|
+
});
|
|
5283
|
+
|
|
5284
|
+
// ../../node_modules/dns2/client/tcp.js
|
|
5285
|
+
var require_tcp2 = __commonJS({
|
|
5286
|
+
"../../node_modules/dns2/client/tcp.js"(exports, module2) {
|
|
5287
|
+
var tcp = require("net");
|
|
5288
|
+
var Packet = require_packet();
|
|
5289
|
+
module2.exports = ({ dns = "1.1.1.1", port = 53 } = {}) => {
|
|
5290
|
+
return async (name, type = "A", cls = Packet.CLASS.IN, { clientIp, recursive = true } = {}) => {
|
|
5291
|
+
const packet = new Packet();
|
|
5292
|
+
if (recursive) {
|
|
5293
|
+
packet.header.rd = 1;
|
|
5294
|
+
}
|
|
5295
|
+
if (clientIp) {
|
|
5296
|
+
packet.additionals.push(Packet.Resource.EDNS([
|
|
5297
|
+
Packet.Resource.EDNS.ECS(clientIp)
|
|
5298
|
+
]));
|
|
5299
|
+
}
|
|
5300
|
+
packet.questions.push({
|
|
5301
|
+
name,
|
|
5302
|
+
class: cls,
|
|
5303
|
+
type: Packet.TYPE[type]
|
|
5304
|
+
});
|
|
5305
|
+
const message = packet.toBuffer();
|
|
5306
|
+
const len = Buffer.alloc(2);
|
|
5307
|
+
len.writeUInt16BE(message.length);
|
|
5308
|
+
const client = tcp.connect({ host: dns, port });
|
|
5309
|
+
client.end(Buffer.concat([len, message]));
|
|
5310
|
+
const data = await Packet.readStream(client);
|
|
5311
|
+
if (!data.length) {
|
|
5312
|
+
throw new Error("Empty TCP response");
|
|
5313
|
+
}
|
|
5314
|
+
return Packet.parse(data);
|
|
5315
|
+
};
|
|
5316
|
+
};
|
|
5317
|
+
}
|
|
5318
|
+
});
|
|
5319
|
+
|
|
5320
|
+
// ../../node_modules/dns2/client/doh.js
|
|
5321
|
+
var require_doh2 = __commonJS({
|
|
5322
|
+
"../../node_modules/dns2/client/doh.js"(exports, module2) {
|
|
5323
|
+
var Packet = require_packet();
|
|
5324
|
+
var defaultGet = (url) => new Promise((resolve9, reject) => {
|
|
5325
|
+
const headers = {
|
|
5326
|
+
accept: "application/dns-message"
|
|
5327
|
+
};
|
|
5328
|
+
const base = url.startsWith("https") ? require("https") : require("http");
|
|
5329
|
+
const req = base.get(url, { headers }, resolve9);
|
|
5330
|
+
req.on("error", reject);
|
|
5331
|
+
});
|
|
5332
|
+
var readStream = (stream) => {
|
|
5333
|
+
const buffer = [];
|
|
5334
|
+
return new Promise((resolve9, reject) => {
|
|
5335
|
+
stream.on("error", reject).on("data", (chunk) => buffer.push(chunk)).on("end", () => resolve9(Buffer.concat(buffer)));
|
|
5336
|
+
});
|
|
5337
|
+
};
|
|
5338
|
+
var DOHClient = ({ dns, http, get = defaultGet } = {}) => {
|
|
5339
|
+
return (name, type = "A", cls = Packet.CLASS.IN, { clientIp, recursive = true } = {}) => {
|
|
5340
|
+
const packet = new Packet();
|
|
5341
|
+
if (recursive) {
|
|
5342
|
+
packet.header.rd = 1;
|
|
5343
|
+
}
|
|
5344
|
+
if (clientIp) {
|
|
5345
|
+
packet.additionals.push(Packet.Resource.EDNS([
|
|
5346
|
+
Packet.Resource.EDNS.ECS(clientIp)
|
|
5347
|
+
]));
|
|
5348
|
+
}
|
|
5349
|
+
packet.questions.push({
|
|
5350
|
+
name,
|
|
5351
|
+
class: cls,
|
|
5352
|
+
type: Packet.TYPE[type]
|
|
5353
|
+
});
|
|
5354
|
+
const query = packet.toBase64URL();
|
|
5355
|
+
return Promise.resolve(get(`http${http ? "" : "s"}://${dns}/dns-query?dns=${query}`)).then(readStream).then(Packet.parse);
|
|
5356
|
+
};
|
|
5357
|
+
};
|
|
5358
|
+
module2.exports = DOHClient;
|
|
5359
|
+
}
|
|
5360
|
+
});
|
|
5361
|
+
|
|
5362
|
+
// ../../node_modules/dns2/client/udp.js
|
|
5363
|
+
var require_udp2 = __commonJS({
|
|
5364
|
+
"../../node_modules/dns2/client/udp.js"(exports, module2) {
|
|
5365
|
+
var udp = require("dgram");
|
|
5366
|
+
var Packet = require_packet();
|
|
5367
|
+
var { equal } = require("assert");
|
|
5368
|
+
var { debuglog } = require("util");
|
|
5369
|
+
var debug = debuglog("dns2");
|
|
5370
|
+
module2.exports = ({ dns = "8.8.8.8", port = 53, socketType = "udp4" } = {}) => {
|
|
5371
|
+
return (name, type = "A", cls = Packet.CLASS.IN, { clientIp, recursive = true } = {}) => {
|
|
5372
|
+
const query = new Packet();
|
|
5373
|
+
query.header.id = Math.random() * 1e4 | 0;
|
|
5374
|
+
if (recursive) {
|
|
5375
|
+
query.header.rd = 1;
|
|
5376
|
+
}
|
|
5377
|
+
if (clientIp) {
|
|
5378
|
+
query.additionals.push(Packet.Resource.EDNS([
|
|
5379
|
+
Packet.Resource.EDNS.ECS(clientIp)
|
|
5380
|
+
]));
|
|
5381
|
+
}
|
|
5382
|
+
query.questions.push({
|
|
5383
|
+
name,
|
|
5384
|
+
class: cls,
|
|
5385
|
+
type: Packet.TYPE[type]
|
|
5386
|
+
});
|
|
5387
|
+
const client = new udp.Socket(socketType);
|
|
5388
|
+
return new Promise((resolve9, reject) => {
|
|
5389
|
+
client.once("message", function onMessage(message) {
|
|
5390
|
+
client.close();
|
|
5391
|
+
const response = Packet.parse(message);
|
|
5392
|
+
equal(response.header.id, query.header.id);
|
|
5393
|
+
resolve9(response);
|
|
5394
|
+
});
|
|
5395
|
+
debug("send", dns, query.toBuffer());
|
|
5396
|
+
client.send(query.toBuffer(), port, dns, (err) => err && reject(err));
|
|
5397
|
+
});
|
|
5398
|
+
};
|
|
5399
|
+
};
|
|
5400
|
+
}
|
|
5401
|
+
});
|
|
5402
|
+
|
|
5403
|
+
// ../../node_modules/dns2/client/google.js
|
|
5404
|
+
var require_google = __commonJS({
|
|
5405
|
+
"../../node_modules/dns2/client/google.js"(exports, module2) {
|
|
5406
|
+
var https = require("https");
|
|
5407
|
+
var get = (url) => new Promise((resolve9) => https.get(url, resolve9));
|
|
5408
|
+
var readStream = (stream) => {
|
|
5409
|
+
const buffer = [];
|
|
5410
|
+
return new Promise((resolve9, reject) => {
|
|
5411
|
+
stream.on("error", reject).on("data", (chunk) => {
|
|
5412
|
+
buffer.push(chunk);
|
|
5413
|
+
}).on("end", () => resolve9(Buffer.concat(buffer)));
|
|
5414
|
+
});
|
|
5415
|
+
};
|
|
5416
|
+
var GoogleClient = () => (name, type = "ANY") => {
|
|
5417
|
+
return Promise.resolve().then(() => get(`https://dns.google.com/resolve?name=${name}&type=${type}`)).then(readStream).then(JSON.parse);
|
|
5418
|
+
};
|
|
5419
|
+
module2.exports = GoogleClient;
|
|
5420
|
+
}
|
|
5421
|
+
});
|
|
5422
|
+
|
|
5423
|
+
// ../../node_modules/dns2/index.js
|
|
5424
|
+
var require_dns2 = __commonJS({
|
|
5425
|
+
"../../node_modules/dns2/index.js"(exports, module2) {
|
|
5426
|
+
var {
|
|
5427
|
+
TCPServer,
|
|
5428
|
+
UDPServer,
|
|
5429
|
+
DOHServer,
|
|
5430
|
+
createTCPServer,
|
|
5431
|
+
createUDPServer,
|
|
5432
|
+
createDOHServer,
|
|
5433
|
+
createServer
|
|
5434
|
+
} = require_server();
|
|
5435
|
+
var EventEmitter = require("events");
|
|
5436
|
+
var DNS = class extends EventEmitter {
|
|
5437
|
+
constructor(options) {
|
|
5438
|
+
super();
|
|
5439
|
+
Object.assign(this, {
|
|
5440
|
+
port: 53,
|
|
5441
|
+
retries: 3,
|
|
5442
|
+
timeout: 3,
|
|
5443
|
+
recursive: true,
|
|
5444
|
+
resolverProtocol: "UDP",
|
|
5445
|
+
nameServers: [
|
|
5446
|
+
"8.8.8.8",
|
|
5447
|
+
"114.114.114.114"
|
|
5448
|
+
],
|
|
5449
|
+
rootServers: [
|
|
5450
|
+
"a",
|
|
5451
|
+
"b",
|
|
5452
|
+
"c",
|
|
5453
|
+
"d",
|
|
5454
|
+
"e",
|
|
5455
|
+
"f",
|
|
5456
|
+
"g",
|
|
5457
|
+
"h",
|
|
5458
|
+
"i",
|
|
5459
|
+
"j",
|
|
5460
|
+
"k",
|
|
5461
|
+
"l",
|
|
5462
|
+
"m"
|
|
5463
|
+
].map((x2) => `${x2}.root-servers.net`)
|
|
5464
|
+
}, options);
|
|
5465
|
+
}
|
|
5466
|
+
/**
|
|
5467
|
+
* query
|
|
5468
|
+
* @param {*} questions
|
|
5469
|
+
*/
|
|
5470
|
+
query(name, type, cls, clientIp) {
|
|
5471
|
+
const { port, nameServers, recursive, resolverProtocol = "UDP" } = this;
|
|
5472
|
+
const createResolver = DNS[resolverProtocol + "Client"];
|
|
5473
|
+
return Promise.race(nameServers.map((address) => {
|
|
5474
|
+
const resolve9 = createResolver({ dns: address, port, recursive });
|
|
5475
|
+
return resolve9(name, type, cls, clientIp);
|
|
5476
|
+
}));
|
|
5477
|
+
}
|
|
5478
|
+
/**
|
|
5479
|
+
* resolve
|
|
5480
|
+
* @param {*} domain
|
|
5481
|
+
* @param {*} type
|
|
5482
|
+
* @param {*} cls
|
|
5483
|
+
*/
|
|
5484
|
+
resolve(domain, type = "ANY", cls = DNS.Packet.CLASS.IN, clientIp = void 0) {
|
|
5485
|
+
return this.query(domain, type, cls, clientIp);
|
|
5486
|
+
}
|
|
5487
|
+
resolveA(domain, clientIp) {
|
|
5488
|
+
return this.resolve(domain, "A", void 0, clientIp);
|
|
5489
|
+
}
|
|
5490
|
+
resolveAAAA(domain) {
|
|
5491
|
+
return this.resolve(domain, "AAAA");
|
|
5492
|
+
}
|
|
5493
|
+
resolveMX(domain) {
|
|
5494
|
+
return this.resolve(domain, "MX");
|
|
5495
|
+
}
|
|
5496
|
+
resolveCNAME(domain) {
|
|
5497
|
+
return this.resolve(domain, "CNAME");
|
|
5498
|
+
}
|
|
5499
|
+
resolvePTR(domain) {
|
|
5500
|
+
return this.resolve(domain, "PTR");
|
|
5501
|
+
}
|
|
5502
|
+
};
|
|
5503
|
+
DNS.TCPServer = TCPServer;
|
|
5504
|
+
DNS.UDPServer = UDPServer;
|
|
5505
|
+
DNS.DOHServer = DOHServer;
|
|
5506
|
+
DNS.createUDPServer = createUDPServer;
|
|
5507
|
+
DNS.createTCPServer = createTCPServer;
|
|
5508
|
+
DNS.createDOHServer = createDOHServer;
|
|
5509
|
+
DNS.createServer = createServer;
|
|
5510
|
+
DNS.TCPClient = require_tcp2();
|
|
5511
|
+
DNS.DOHClient = require_doh2();
|
|
5512
|
+
DNS.UDPClient = require_udp2();
|
|
5513
|
+
DNS.GoogleClient = require_google();
|
|
5514
|
+
DNS.Packet = require_packet();
|
|
5515
|
+
module2.exports = DNS;
|
|
5516
|
+
}
|
|
5517
|
+
});
|
|
5518
|
+
|
|
4192
5519
|
// node_modules/undici/lib/core/symbols.js
|
|
4193
5520
|
var require_symbols = __commonJS({
|
|
4194
5521
|
"node_modules/undici/lib/core/symbols.js"(exports, module2) {
|
|
@@ -53155,8 +54482,6 @@ var space = (n = 1) => {
|
|
|
53155
54482
|
return hidden("\u200A".repeat(n));
|
|
53156
54483
|
};
|
|
53157
54484
|
var logRaw = (msg) => {
|
|
53158
|
-
if (process.env.VITEST)
|
|
53159
|
-
return;
|
|
53160
54485
|
process.stdout.write(`${msg}
|
|
53161
54486
|
`);
|
|
53162
54487
|
};
|
|
@@ -54509,9 +55834,9 @@ var getConfirmRenderers = (config14) => {
|
|
|
54509
55834
|
cancel: handleCancel
|
|
54510
55835
|
};
|
|
54511
55836
|
};
|
|
55837
|
+
var spinnerFrames = ["\u2524", "\u2518", "\u2534", "\u2514", "\u251C", "\u250C", "\u252C", "\u2510"];
|
|
55838
|
+
var ellipsisFrames = ["", ".", "..", "...", " ..", " .", ""];
|
|
54512
55839
|
var spinner = () => {
|
|
54513
|
-
const spinnerFrames = ["\u2524", "\u2518", "\u2534", "\u2514", "\u251C", "\u250C", "\u252C", "\u2510"];
|
|
54514
|
-
const ellipsisFrames = ["", ".", "..", "...", " ..", " .", ""];
|
|
54515
55840
|
const color = brandColor;
|
|
54516
55841
|
const frameRate = 120;
|
|
54517
55842
|
let loop = null;
|
|
@@ -59412,7 +60737,7 @@ var Yargs = YargsFactory(esm_default);
|
|
|
59412
60737
|
var yargs_default = Yargs;
|
|
59413
60738
|
|
|
59414
60739
|
// package.json
|
|
59415
|
-
var version = "0.0.0-
|
|
60740
|
+
var version = "0.0.0-77a43d2a";
|
|
59416
60741
|
|
|
59417
60742
|
// src/common.ts
|
|
59418
60743
|
var import_fs6 = require("fs");
|
|
@@ -59477,11 +60802,10 @@ var runCommand = async (command2, opts = {}) => {
|
|
|
59477
60802
|
doneText: opts.doneText,
|
|
59478
60803
|
promise() {
|
|
59479
60804
|
const [executable, ...args] = command2;
|
|
59480
|
-
const squelch = opts.silent || process.env.VITEST;
|
|
59481
60805
|
const cmd = (0, import_cross_spawn.spawn)(executable, [...args], {
|
|
59482
60806
|
// TODO: ideally inherit stderr, but npm install uses this for warnings
|
|
59483
60807
|
// stdio: [ioMode, ioMode, "inherit"],
|
|
59484
|
-
stdio:
|
|
60808
|
+
stdio: opts.silent ? "pipe" : "inherit",
|
|
59485
60809
|
env: {
|
|
59486
60810
|
...process.env,
|
|
59487
60811
|
...opts.env
|
|
@@ -59489,7 +60813,7 @@ var runCommand = async (command2, opts = {}) => {
|
|
|
59489
60813
|
cwd: opts.cwd
|
|
59490
60814
|
});
|
|
59491
60815
|
let output = ``;
|
|
59492
|
-
if (opts
|
|
60816
|
+
if (opts.captureOutput ?? opts.silent) {
|
|
59493
60817
|
cmd.stdout?.on("data", (data) => {
|
|
59494
60818
|
output += data;
|
|
59495
60819
|
});
|
|
@@ -59687,7 +61011,7 @@ async function getWorkerdCompatibilityDate() {
|
|
|
59687
61011
|
}
|
|
59688
61012
|
|
|
59689
61013
|
// src/helpers/poll.ts
|
|
59690
|
-
var
|
|
61014
|
+
var import_dns2 = __toESM(require_dns2());
|
|
59691
61015
|
var import_undici = __toESM(require_undici());
|
|
59692
61016
|
var TIMEOUT = 1e3 * 60 * 5;
|
|
59693
61017
|
var POLL_INTERVAL = 1e3;
|
|
@@ -59696,14 +61020,28 @@ var poll = async (url) => {
|
|
|
59696
61020
|
const domain = new URL(url).host;
|
|
59697
61021
|
const s = spinner();
|
|
59698
61022
|
s.start("Waiting for DNS to propagate");
|
|
61023
|
+
await sleep(10 * 1e3);
|
|
61024
|
+
await pollDns(domain, start, s);
|
|
61025
|
+
if (await pollHttp(url, start, s))
|
|
61026
|
+
return true;
|
|
61027
|
+
s.stop(
|
|
61028
|
+
`${brandColor(
|
|
61029
|
+
"timed out"
|
|
61030
|
+
)} while waiting for ${url} - try accessing it in a few minutes.`
|
|
61031
|
+
);
|
|
61032
|
+
return false;
|
|
61033
|
+
};
|
|
61034
|
+
var pollDns = async (domain, start, s) => {
|
|
59699
61035
|
while (Date.now() - start < TIMEOUT) {
|
|
59700
61036
|
s.update(`Waiting for DNS to propagate (${secondsSince(start)}s)`);
|
|
59701
|
-
if (await
|
|
61037
|
+
if (await isDomainResolvable(domain)) {
|
|
59702
61038
|
s.stop(`${brandColor("DNS propagation")} ${dim("complete")}.`);
|
|
59703
|
-
|
|
61039
|
+
return;
|
|
59704
61040
|
}
|
|
59705
61041
|
await sleep(POLL_INTERVAL);
|
|
59706
61042
|
}
|
|
61043
|
+
};
|
|
61044
|
+
var pollHttp = async (url, start, s) => {
|
|
59707
61045
|
s.start("Waiting for deployment to become available");
|
|
59708
61046
|
while (Date.now() - start < TIMEOUT) {
|
|
59709
61047
|
s.update(
|
|
@@ -59727,27 +61065,31 @@ var poll = async (url) => {
|
|
|
59727
61065
|
}
|
|
59728
61066
|
await sleep(POLL_INTERVAL);
|
|
59729
61067
|
}
|
|
59730
|
-
s.stop(
|
|
59731
|
-
`${brandColor(
|
|
59732
|
-
"timed out"
|
|
59733
|
-
)} while waiting for ${url} - try accessing it in a few minutes.`
|
|
59734
|
-
);
|
|
59735
|
-
return false;
|
|
59736
61068
|
};
|
|
59737
|
-
async
|
|
61069
|
+
var isDomainResolvable = async (domain) => {
|
|
59738
61070
|
try {
|
|
59739
|
-
const
|
|
59740
|
-
|
|
59741
|
-
|
|
59742
|
-
|
|
59743
|
-
|
|
59744
|
-
|
|
59745
|
-
|
|
59746
|
-
return (await resolver.resolve4(domain)).length > 0;
|
|
59747
|
-
} catch (e) {
|
|
61071
|
+
const nameServers = await lookupSubdomainNameservers(domain);
|
|
61072
|
+
if (nameServers.length === 0)
|
|
61073
|
+
return false;
|
|
61074
|
+
const dns = new import_dns2.default({ nameServers });
|
|
61075
|
+
const res = await dns.resolve(domain, "A");
|
|
61076
|
+
return res.answers.length > 0;
|
|
61077
|
+
} catch (error) {
|
|
59748
61078
|
return false;
|
|
59749
61079
|
}
|
|
59750
|
-
}
|
|
61080
|
+
};
|
|
61081
|
+
var lookupSubdomainNameservers = async (domain) => {
|
|
61082
|
+
const nameServers = await lookupDomainLevelNameservers(domain);
|
|
61083
|
+
const dns = new import_dns2.default({ nameServers });
|
|
61084
|
+
const res = await dns.resolve(domain, "NS");
|
|
61085
|
+
return res.authorities.filter((r2) => Boolean(r2.ns)).map((r2) => r2.ns);
|
|
61086
|
+
};
|
|
61087
|
+
var lookupDomainLevelNameservers = async (domain) => {
|
|
61088
|
+
const baseDomain = domain.split(".").slice(-2).join(".");
|
|
61089
|
+
const dns = new import_dns2.default({});
|
|
61090
|
+
const nameservers = await dns.resolve(baseDomain, "NS");
|
|
61091
|
+
return nameservers.answers.map((n) => n.ns);
|
|
61092
|
+
};
|
|
59751
61093
|
async function sleep(ms) {
|
|
59752
61094
|
return new Promise((res) => setTimeout(res, ms));
|
|
59753
61095
|
}
|
|
@@ -59804,7 +61146,7 @@ var runDeploy = async (ctx) => {
|
|
|
59804
61146
|
const result = await runCommand(deployCmd, {
|
|
59805
61147
|
silent: true,
|
|
59806
61148
|
cwd: ctx.project.path,
|
|
59807
|
-
env: { CLOUDFLARE_ACCOUNT_ID: ctx.account.id },
|
|
61149
|
+
env: { CLOUDFLARE_ACCOUNT_ID: ctx.account.id, NODE_ENV: "production" },
|
|
59808
61150
|
startText: `Deploying your application`,
|
|
59809
61151
|
doneText: `${brandColor("deployed")} ${dim(`via \`${deployCmd}\``)}`
|
|
59810
61152
|
});
|
|
@@ -59853,7 +61195,7 @@ var chooseAccount = async (ctx) => {
|
|
|
59853
61195
|
};
|
|
59854
61196
|
var printSummary = async (ctx) => {
|
|
59855
61197
|
const nextSteps = [
|
|
59856
|
-
[`Navigate to the new directory
|
|
61198
|
+
[`Navigate to the new directory`, `cd ${ctx.project.name}`],
|
|
59857
61199
|
[
|
|
59858
61200
|
`Run the development server`,
|
|
59859
61201
|
`${npm} run ${ctx.framework?.config.devCommand ?? "start"}`
|
|
@@ -59864,7 +61206,7 @@ var printSummary = async (ctx) => {
|
|
|
59864
61206
|
],
|
|
59865
61207
|
[
|
|
59866
61208
|
`Read the documentation`,
|
|
59867
|
-
`https://developers.cloudflare.com/${ctx.framework ? "pages" : "workers"}`
|
|
61209
|
+
`https://developers.cloudflare.com/${ctx.framework ? ctx.framework.config.type === "workers" ? "workers" : "pages" : "workers"}`
|
|
59868
61210
|
],
|
|
59869
61211
|
[`Stuck? Join us at`, `https://discord.gg/cloudflaredev`]
|
|
59870
61212
|
];
|
|
@@ -60004,7 +61346,7 @@ var import_path8 = require("path");
|
|
|
60004
61346
|
var import_process3 = require("process");
|
|
60005
61347
|
|
|
60006
61348
|
// src/frameworks/angular/index.ts
|
|
60007
|
-
var
|
|
61349
|
+
var import_promises = require("node:fs/promises");
|
|
60008
61350
|
var import_node_path = require("node:path");
|
|
60009
61351
|
|
|
60010
61352
|
// src/helpers/files.ts
|
|
@@ -60027,6 +61369,9 @@ var readJSON = (path3) => {
|
|
|
60027
61369
|
const contents = readFile(path3);
|
|
60028
61370
|
return contents ? JSON.parse(contents) : contents;
|
|
60029
61371
|
};
|
|
61372
|
+
var writeJSON = (path3, object, stringifySpace) => {
|
|
61373
|
+
writeFile2(path3, JSON.stringify(object, null, stringifySpace));
|
|
61374
|
+
};
|
|
60030
61375
|
var probePaths = (paths, errorMsg = "Failed to find required file.") => {
|
|
60031
61376
|
for (const path3 of paths) {
|
|
60032
61377
|
if ((0, import_fs7.existsSync)(path3)) {
|
|
@@ -60039,6 +61384,35 @@ var probePaths = (paths, errorMsg = "Failed to find required file.") => {
|
|
|
60039
61384
|
var usesTypescript = (projectRoot = ".") => {
|
|
60040
61385
|
return (0, import_fs7.existsSync)(`${projectRoot}/tsconfig.json`);
|
|
60041
61386
|
};
|
|
61387
|
+
var eslintRcExts = ["js", "cjs", "yaml", "yml", "json"];
|
|
61388
|
+
var usesEslint = (ctx) => {
|
|
61389
|
+
for (const ext of eslintRcExts) {
|
|
61390
|
+
const eslintRcFilename = `.eslintrc.${ext}`;
|
|
61391
|
+
if ((0, import_fs7.existsSync)(`${ctx.project.path}/${eslintRcFilename}`)) {
|
|
61392
|
+
return {
|
|
61393
|
+
used: true,
|
|
61394
|
+
configType: eslintRcFilename
|
|
61395
|
+
};
|
|
61396
|
+
}
|
|
61397
|
+
}
|
|
61398
|
+
if ((0, import_fs7.existsSync)(`${ctx.project.path}/eslint.config.js`)) {
|
|
61399
|
+
return {
|
|
61400
|
+
used: true,
|
|
61401
|
+
configType: "eslint.config.js"
|
|
61402
|
+
};
|
|
61403
|
+
}
|
|
61404
|
+
try {
|
|
61405
|
+
const pkgJson = readJSON(`${ctx.project.path}/package.json`);
|
|
61406
|
+
if (pkgJson.eslintConfig) {
|
|
61407
|
+
return {
|
|
61408
|
+
used: true,
|
|
61409
|
+
configType: "package.json"
|
|
61410
|
+
};
|
|
61411
|
+
}
|
|
61412
|
+
} catch {
|
|
61413
|
+
}
|
|
61414
|
+
return { used: false };
|
|
61415
|
+
};
|
|
60042
61416
|
var compatDateFlag = () => {
|
|
60043
61417
|
const date = /* @__PURE__ */ new Date();
|
|
60044
61418
|
return `--compatibility-date=${date.toISOString().slice(0, 10)}`;
|
|
@@ -60082,7 +61456,7 @@ var angular_default = config;
|
|
|
60082
61456
|
async function installCFWorker(ctx) {
|
|
60083
61457
|
const s = spinner();
|
|
60084
61458
|
s.start(`Adding Cloudflare Pages adapter code`);
|
|
60085
|
-
await (0,
|
|
61459
|
+
await (0, import_promises.cp)(
|
|
60086
61460
|
// eslint-disable-next-line no-restricted-globals
|
|
60087
61461
|
(0, import_node_path.resolve)(__dirname, "./angular/templates"),
|
|
60088
61462
|
(0, import_node_path.resolve)(ctx.project.path),
|
|
@@ -60124,7 +61498,7 @@ async function updateAppCode() {
|
|
|
60124
61498
|
"providers: [provideHttpClient(withFetch()), provideClientHydration(), "
|
|
60125
61499
|
);
|
|
60126
61500
|
writeFile2((0, import_node_path.resolve)(appConfigPath), newAppConfig);
|
|
60127
|
-
await (0,
|
|
61501
|
+
await (0, import_promises.rm)((0, import_node_path.resolve)("server.ts"));
|
|
60128
61502
|
s.stop(`${brandColor(`updated`)} ${dim(appConfigPath)}`);
|
|
60129
61503
|
}
|
|
60130
61504
|
function updateAngularJson(ctx) {
|
|
@@ -60243,7 +61617,7 @@ var generate5 = async (ctx) => {
|
|
|
60243
61617
|
const version2 = getFrameworkVersion(ctx);
|
|
60244
61618
|
await runFrameworkGenerator(
|
|
60245
61619
|
ctx,
|
|
60246
|
-
`${dlx5} create-hono@${version2} ${ctx.project.name} --template cloudflare-
|
|
61620
|
+
`${dlx5} create-hono@${version2} ${ctx.project.name} --template cloudflare-workers`
|
|
60247
61621
|
);
|
|
60248
61622
|
logRaw("");
|
|
60249
61623
|
};
|
|
@@ -60252,7 +61626,8 @@ var config5 = {
|
|
|
60252
61626
|
displayName: "Hono",
|
|
60253
61627
|
packageScripts: {},
|
|
60254
61628
|
deployCommand: "deploy",
|
|
60255
|
-
devCommand: "dev"
|
|
61629
|
+
devCommand: "dev",
|
|
61630
|
+
type: "workers"
|
|
60256
61631
|
};
|
|
60257
61632
|
var hono_default = config5;
|
|
60258
61633
|
|
|
@@ -60344,14 +61719,50 @@ var configure3 = async (ctx) => {
|
|
|
60344
61719
|
);
|
|
60345
61720
|
writeFile2(handlerPath, handlerFile);
|
|
60346
61721
|
updateStatus("Created an example API route handler");
|
|
61722
|
+
const installEslintPlugin = await shouldInstallNextOnPagesEslintPlugin(ctx);
|
|
61723
|
+
if (installEslintPlugin) {
|
|
61724
|
+
await writeEslintrc(ctx);
|
|
61725
|
+
}
|
|
60347
61726
|
process.chdir(projectName);
|
|
60348
|
-
const packages = [
|
|
61727
|
+
const packages = [
|
|
61728
|
+
"@cloudflare/next-on-pages@1",
|
|
61729
|
+
"vercel",
|
|
61730
|
+
...installEslintPlugin ? ["eslint-plugin-next-on-pages"] : []
|
|
61731
|
+
];
|
|
60349
61732
|
await installPackages(packages, {
|
|
60350
61733
|
dev: true,
|
|
60351
61734
|
startText: "Adding the Cloudflare Pages adapter",
|
|
60352
61735
|
doneText: `${brandColor(`installed`)} ${dim(packages.join(", "))}`
|
|
60353
61736
|
});
|
|
60354
61737
|
};
|
|
61738
|
+
var shouldInstallNextOnPagesEslintPlugin = async (ctx) => {
|
|
61739
|
+
const eslintUsage = usesEslint(ctx);
|
|
61740
|
+
if (!eslintUsage.used)
|
|
61741
|
+
return false;
|
|
61742
|
+
if (eslintUsage.configType !== ".eslintrc.json") {
|
|
61743
|
+
warn(
|
|
61744
|
+
`Expected .eslintrc.json from Next.js scaffolding but found ${eslintUsage.configType} instead`
|
|
61745
|
+
);
|
|
61746
|
+
return false;
|
|
61747
|
+
}
|
|
61748
|
+
return await processArgument(ctx.args, "eslint-plugin", {
|
|
61749
|
+
type: "confirm",
|
|
61750
|
+
question: "Do you want to use the next-on-pages eslint-plugin?",
|
|
61751
|
+
label: "eslint-plugin",
|
|
61752
|
+
defaultValue: true
|
|
61753
|
+
});
|
|
61754
|
+
};
|
|
61755
|
+
var writeEslintrc = async (ctx) => {
|
|
61756
|
+
const eslintConfig = readJSON(`${ctx.project.name}/.eslintrc.json`);
|
|
61757
|
+
eslintConfig.plugins ??= [];
|
|
61758
|
+
eslintConfig.plugins.push("eslint-plugin-next-on-pages");
|
|
61759
|
+
if (typeof eslintConfig.extends === "string") {
|
|
61760
|
+
eslintConfig.extends = [eslintConfig.extends];
|
|
61761
|
+
}
|
|
61762
|
+
eslintConfig.extends ??= [];
|
|
61763
|
+
eslintConfig.extends.push("plugin:eslint-plugin-next-on-pages/recommended");
|
|
61764
|
+
writeJSON(`${ctx.project.name}/.eslintrc.json`, eslintConfig, 2);
|
|
61765
|
+
};
|
|
60355
61766
|
var config6 = {
|
|
60356
61767
|
generate: generate6,
|
|
60357
61768
|
configure: configure3,
|
|
@@ -60370,7 +61781,7 @@ var config6 = {
|
|
|
60370
61781
|
"--src-dir",
|
|
60371
61782
|
"--app",
|
|
60372
61783
|
"--import-alias",
|
|
60373
|
-
|
|
61784
|
+
"@/*"
|
|
60374
61785
|
],
|
|
60375
61786
|
compatibilityFlags: ["nodejs_compat"]
|
|
60376
61787
|
};
|
|
@@ -60388,6 +61799,7 @@ var generate7 = async (ctx) => {
|
|
|
60388
61799
|
};
|
|
60389
61800
|
var configure4 = async (ctx) => {
|
|
60390
61801
|
process.chdir(ctx.project.path);
|
|
61802
|
+
writeFile2("./.node-version", "17");
|
|
60391
61803
|
await npmInstall();
|
|
60392
61804
|
};
|
|
60393
61805
|
var config7 = {
|
|
@@ -60395,8 +61807,9 @@ var config7 = {
|
|
|
60395
61807
|
configure: configure4,
|
|
60396
61808
|
displayName: "Nuxt",
|
|
60397
61809
|
packageScripts: {
|
|
61810
|
+
build: (cmd) => `NITRO_PRESET=cloudflare-pages ${cmd}`,
|
|
60398
61811
|
"pages:dev": `wrangler pages dev ${compatDateFlag()} --proxy 3000 -- npm run dev`,
|
|
60399
|
-
"pages:deploy":
|
|
61812
|
+
"pages:deploy": "npm run build && wrangler pages deploy ./dist"
|
|
60400
61813
|
}
|
|
60401
61814
|
};
|
|
60402
61815
|
var nuxt_default = config7;
|
|
@@ -60746,11 +62159,29 @@ var updatePackageScripts = async (ctx) => {
|
|
|
60746
62159
|
const { packageScripts } = ctx.framework?.config ?? {};
|
|
60747
62160
|
if (packageScripts) {
|
|
60748
62161
|
const s = spinner();
|
|
60749
|
-
|
|
62162
|
+
const updatingScripts = Object.entries(packageScripts).filter(
|
|
62163
|
+
([_3, cmdOrUpdater]) => typeof cmdOrUpdater === "function"
|
|
62164
|
+
).length > 0;
|
|
62165
|
+
s.start(
|
|
62166
|
+
`${updatingScripts ? "Updating" : "Adding"} command scripts`,
|
|
62167
|
+
"for development and deployment"
|
|
62168
|
+
);
|
|
60750
62169
|
const pkgJsonPath = (0, import_path8.resolve)("package.json");
|
|
60751
62170
|
const pkgConfig = readJSON(pkgJsonPath);
|
|
60752
|
-
Object.entries(packageScripts).forEach(([target,
|
|
60753
|
-
|
|
62171
|
+
Object.entries(packageScripts).forEach(([target, cmdOrUpdater]) => {
|
|
62172
|
+
if (typeof cmdOrUpdater === "string") {
|
|
62173
|
+
const command2 = cmdOrUpdater;
|
|
62174
|
+
pkgConfig.scripts[target] = command2;
|
|
62175
|
+
} else {
|
|
62176
|
+
const existingCommand = pkgConfig.scripts[target];
|
|
62177
|
+
if (!existingCommand) {
|
|
62178
|
+
throw new Error(
|
|
62179
|
+
`Could not find ${target} script to update during ${ctx.framework} setup`
|
|
62180
|
+
);
|
|
62181
|
+
}
|
|
62182
|
+
const updater = cmdOrUpdater;
|
|
62183
|
+
pkgConfig.scripts[target] = updater(existingCommand);
|
|
62184
|
+
}
|
|
60754
62185
|
});
|
|
60755
62186
|
writeFile2(pkgJsonPath, JSON.stringify(pkgConfig, null, 2));
|
|
60756
62187
|
s.stop(`${brandColor("added")} ${dim("commands to `package.json`")}`);
|
|
@@ -60759,6 +62190,8 @@ var updatePackageScripts = async (ctx) => {
|
|
|
60759
62190
|
var createProject = async (ctx) => {
|
|
60760
62191
|
if (ctx.args.deploy === false)
|
|
60761
62192
|
return;
|
|
62193
|
+
if (ctx.framework?.config.type === "workers")
|
|
62194
|
+
return;
|
|
60762
62195
|
if (!ctx.account?.id) {
|
|
60763
62196
|
crash("Failed to read Cloudflare account.");
|
|
60764
62197
|
return;
|
|
@@ -60785,7 +62218,7 @@ var createProject = async (ctx) => {
|
|
|
60785
62218
|
};
|
|
60786
62219
|
|
|
60787
62220
|
// src/workers.ts
|
|
60788
|
-
var
|
|
62221
|
+
var import_promises2 = require("fs/promises");
|
|
60789
62222
|
var import_os = require("os");
|
|
60790
62223
|
var import_path9 = require("path");
|
|
60791
62224
|
var import_process4 = require("process");
|
|
@@ -60810,14 +62243,12 @@ var runWorkersGenerator = async (args) => {
|
|
|
60810
62243
|
await printSummary(ctx);
|
|
60811
62244
|
};
|
|
60812
62245
|
async function getTemplate(ctx) {
|
|
60813
|
-
|
|
60814
|
-
|
|
60815
|
-
|
|
60816
|
-
|
|
60817
|
-
|
|
60818
|
-
|
|
60819
|
-
});
|
|
60820
|
-
}
|
|
62246
|
+
ctx.args.ts = await processArgument(ctx.args, "ts", {
|
|
62247
|
+
type: "confirm",
|
|
62248
|
+
question: "Do you want to use TypeScript?",
|
|
62249
|
+
label: "typescript",
|
|
62250
|
+
defaultValue: C3_DEFAULTS.ts
|
|
62251
|
+
});
|
|
60821
62252
|
const preexisting = ctx.args.type === "pre-existing";
|
|
60822
62253
|
const template = preexisting ? "hello-world" : ctx.args.type;
|
|
60823
62254
|
const path3 = (0, import_path9.resolve)(
|
|
@@ -60834,7 +62265,7 @@ async function copyFiles(ctx) {
|
|
|
60834
62265
|
const { template, path: srcdir } = await getTemplate(ctx);
|
|
60835
62266
|
const destdir = ctx.project.path;
|
|
60836
62267
|
updateStatus(`Copying files from "${template}" template`);
|
|
60837
|
-
await (0,
|
|
62268
|
+
await (0, import_promises2.cp)(srcdir, destdir, { recursive: true });
|
|
60838
62269
|
}
|
|
60839
62270
|
async function copyExistingWorkerFiles(ctx) {
|
|
60840
62271
|
const { preexisting } = await getTemplate(ctx);
|
|
@@ -60852,7 +62283,7 @@ async function copyExistingWorkerFiles(ctx) {
|
|
|
60852
62283
|
}
|
|
60853
62284
|
);
|
|
60854
62285
|
}
|
|
60855
|
-
const tempdir = await (0,
|
|
62286
|
+
const tempdir = await (0, import_promises2.mkdtemp)(
|
|
60856
62287
|
(0, import_path9.join)((0, import_os.tmpdir)(), "c3-wrangler-init--from-dash-")
|
|
60857
62288
|
);
|
|
60858
62289
|
await runCommand(
|
|
@@ -60868,15 +62299,15 @@ async function copyExistingWorkerFiles(ctx) {
|
|
|
60868
62299
|
)}`
|
|
60869
62300
|
}
|
|
60870
62301
|
);
|
|
60871
|
-
for (const filename of await (0,
|
|
60872
|
-
await (0,
|
|
62302
|
+
for (const filename of await (0, import_promises2.readdir)((0, import_path9.join)(ctx.project.path, "src"))) {
|
|
62303
|
+
await (0, import_promises2.rm)((0, import_path9.join)(ctx.project.path, "src", filename));
|
|
60873
62304
|
}
|
|
60874
|
-
await (0,
|
|
62305
|
+
await (0, import_promises2.cp)(
|
|
60875
62306
|
(0, import_path9.join)(tempdir, ctx.args.existingScript, "src"),
|
|
60876
62307
|
(0, import_path9.join)(ctx.project.path, "src"),
|
|
60877
62308
|
{ recursive: true }
|
|
60878
62309
|
);
|
|
60879
|
-
await (0,
|
|
62310
|
+
await (0, import_promises2.cp)(
|
|
60880
62311
|
(0, import_path9.join)(tempdir, ctx.args.existingScript, "wrangler.toml"),
|
|
60881
62312
|
(0, import_path9.join)(ctx.project.path, "wrangler.toml")
|
|
60882
62313
|
);
|
|
@@ -60888,8 +62319,8 @@ async function updateFiles(ctx) {
|
|
|
60888
62319
|
wranglertoml: (0, import_path9.resolve)(ctx.project.path, "wrangler.toml")
|
|
60889
62320
|
};
|
|
60890
62321
|
const contents = {
|
|
60891
|
-
packagejson: JSON.parse(await (0,
|
|
60892
|
-
wranglertoml: await (0,
|
|
62322
|
+
packagejson: JSON.parse(await (0, import_promises2.readFile)(paths.packagejson, "utf-8")),
|
|
62323
|
+
wranglertoml: await (0, import_promises2.readFile)(paths.wranglertoml, "utf-8")
|
|
60893
62324
|
};
|
|
60894
62325
|
if (contents.packagejson.name === "<TBD>") {
|
|
60895
62326
|
contents.packagejson.name = ctx.project.name;
|
|
@@ -60898,11 +62329,11 @@ async function updateFiles(ctx) {
|
|
|
60898
62329
|
/^compatibility_date\s*=\s*"<TBD>"/m,
|
|
60899
62330
|
`compatibility_date = "${await getWorkerdCompatibilityDate()}"`
|
|
60900
62331
|
);
|
|
60901
|
-
await (0,
|
|
62332
|
+
await (0, import_promises2.writeFile)(
|
|
60902
62333
|
paths.packagejson,
|
|
60903
62334
|
JSON.stringify(contents.packagejson, null, 2)
|
|
60904
62335
|
);
|
|
60905
|
-
await (0,
|
|
62336
|
+
await (0, import_promises2.writeFile)(paths.wranglertoml, contents.wranglertoml);
|
|
60906
62337
|
}
|
|
60907
62338
|
|
|
60908
62339
|
// src/cli.ts
|