create-cloudflare 2.1.0 → 2.1.1

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 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) {
@@ -54507,9 +55834,9 @@ var getConfirmRenderers = (config14) => {
54507
55834
  cancel: handleCancel
54508
55835
  };
54509
55836
  };
55837
+ var spinnerFrames = ["\u2524", "\u2518", "\u2534", "\u2514", "\u251C", "\u250C", "\u252C", "\u2510"];
55838
+ var ellipsisFrames = ["", ".", "..", "...", " ..", " .", ""];
54510
55839
  var spinner = () => {
54511
- const spinnerFrames = ["\u2524", "\u2518", "\u2534", "\u2514", "\u251C", "\u250C", "\u252C", "\u2510"];
54512
- const ellipsisFrames = ["", ".", "..", "...", " ..", " .", ""];
54513
55840
  const color = brandColor;
54514
55841
  const frameRate = 120;
54515
55842
  let loop = null;
@@ -59410,7 +60737,44 @@ var Yargs = YargsFactory(esm_default);
59410
60737
  var yargs_default = Yargs;
59411
60738
 
59412
60739
  // package.json
59413
- var version = "2.1.0";
60740
+ var version = "2.1.1";
60741
+ var devDependencies = {
60742
+ "@babel/parser": "^7.21.3",
60743
+ "@babel/types": "^7.21.4",
60744
+ "@clack/prompts": "^0.6.3",
60745
+ "@cloudflare/eslint-config-worker": "*",
60746
+ "@cloudflare/workers-tsconfig": "*",
60747
+ "@cloudflare/workers-types": "^4.20230419.0",
60748
+ "@types/command-exists": "^1.2.0",
60749
+ "@types/cross-spawn": "^6.0.2",
60750
+ "@types/dns2": "^2.0.3",
60751
+ "@types/esprima": "^4.0.3",
60752
+ "@types/node": "^18.15.3",
60753
+ "@types/which-pm-runs": "^1.0.0",
60754
+ "@types/yargs": "^17.0.22",
60755
+ "@typescript-eslint/eslint-plugin": "^5.55.0",
60756
+ "@typescript-eslint/parser": "^5.55.0",
60757
+ chalk: "^5.2.0",
60758
+ "command-exists": "^1.2.9",
60759
+ "cross-spawn": "^7.0.3",
60760
+ dns2: "^2.1.0",
60761
+ esbuild: "^0.17.12",
60762
+ execa: "^7.1.1",
60763
+ haikunator: "^2.1.2",
60764
+ "log-update": "^5.0.1",
60765
+ open: "^8.4.0",
60766
+ pnpm: "^8.6.11",
60767
+ recast: "^0.22.0",
60768
+ semver: "^7.5.1",
60769
+ typescript: "^5.0.2",
60770
+ undici: "5.20.0",
60771
+ "vite-tsconfig-paths": "^4.0.8",
60772
+ vitest: "^0.30.0",
60773
+ "which-pm-runs": "^1.1.0",
60774
+ wrangler: "*",
60775
+ yargs: "^17.7.1",
60776
+ yarn: "^1.22.19"
60777
+ };
59414
60778
 
59415
60779
  // src/common.ts
59416
60780
  var import_fs6 = require("fs");
@@ -59426,7 +60790,19 @@ var import_cross_spawn = __toESM(require_cross_spawn());
59426
60790
  var import_semver = __toESM(require_semver2());
59427
60791
  var import_which_pm_runs = __toESM(require_which_pm_runs());
59428
60792
  var detectPackageManager = () => {
59429
- const { name, version: version2 } = (0, import_which_pm_runs.default)() ?? { name: "npm", version: "0.0.0" };
60793
+ let { name, version: version2 } = (0, import_which_pm_runs.default)() ?? { name: "npm", version: "0.0.0" };
60794
+ if (process.env.TEST_PM) {
60795
+ switch (process.env.TEST_PM) {
60796
+ case "pnpm":
60797
+ name = "pnpm";
60798
+ version2 = devDependencies["pnpm"].replace("^", "");
60799
+ break;
60800
+ case "yarn":
60801
+ name = "yarn";
60802
+ version2 = devDependencies["yarn"].replace("^", "");
60803
+ break;
60804
+ }
60805
+ }
59430
60806
  switch (name) {
59431
60807
  case "pnpm":
59432
60808
  if (import_semver.default.gt(version2, "6.0.0")) {
@@ -59607,6 +60983,20 @@ var npmInstall = async () => {
59607
60983
  doneText: `${brandColor("installed")} ${dim(`via \`${npm12} install\``)}`
59608
60984
  });
59609
60985
  };
60986
+ var resetPackageManager = async (ctx) => {
60987
+ const { npm: npm12 } = detectPackageManager();
60988
+ if (npm12 === "npm")
60989
+ return;
60990
+ const nodeModulesPath = import_path5.default.join(ctx.project.path, "node_modules");
60991
+ (0, import_fs5.rmSync)(nodeModulesPath, { recursive: true });
60992
+ const lockfilePath = import_path5.default.join(ctx.project.path, "package-lock.json");
60993
+ (0, import_fs5.rmSync)(lockfilePath);
60994
+ await runCommand(`${npm12} install`, {
60995
+ silent: true,
60996
+ startText: "Installing dependencies",
60997
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm12} install\``)}`
60998
+ });
60999
+ };
59610
61000
  var installWrangler = async () => {
59611
61001
  const { npm: npm12 } = detectPackageManager();
59612
61002
  if ((0, import_fs5.existsSync)(import_path5.default.resolve("node_modules", "wrangler"))) {
@@ -59684,7 +61074,7 @@ async function getWorkerdCompatibilityDate() {
59684
61074
  }
59685
61075
 
59686
61076
  // src/helpers/poll.ts
59687
- var import_promises = require("node:dns/promises");
61077
+ var import_dns2 = __toESM(require_dns2());
59688
61078
  var import_undici = __toESM(require_undici());
59689
61079
  var TIMEOUT = 1e3 * 60 * 5;
59690
61080
  var POLL_INTERVAL = 1e3;
@@ -59693,14 +61083,28 @@ var poll = async (url) => {
59693
61083
  const domain = new URL(url).host;
59694
61084
  const s = spinner();
59695
61085
  s.start("Waiting for DNS to propagate");
61086
+ await sleep(10 * 1e3);
61087
+ await pollDns(domain, start, s);
61088
+ if (await pollHttp(url, start, s))
61089
+ return true;
61090
+ s.stop(
61091
+ `${brandColor(
61092
+ "timed out"
61093
+ )} while waiting for ${url} - try accessing it in a few minutes.`
61094
+ );
61095
+ return false;
61096
+ };
61097
+ var pollDns = async (domain, start, s) => {
59696
61098
  while (Date.now() - start < TIMEOUT) {
59697
61099
  s.update(`Waiting for DNS to propagate (${secondsSince(start)}s)`);
59698
- if (await dnsLookup(domain)) {
61100
+ if (await isDomainResolvable(domain)) {
59699
61101
  s.stop(`${brandColor("DNS propagation")} ${dim("complete")}.`);
59700
- break;
61102
+ return;
59701
61103
  }
59702
61104
  await sleep(POLL_INTERVAL);
59703
61105
  }
61106
+ };
61107
+ var pollHttp = async (url, start, s) => {
59704
61108
  s.start("Waiting for deployment to become available");
59705
61109
  while (Date.now() - start < TIMEOUT) {
59706
61110
  s.update(
@@ -59724,27 +61128,31 @@ var poll = async (url) => {
59724
61128
  }
59725
61129
  await sleep(POLL_INTERVAL);
59726
61130
  }
59727
- s.stop(
59728
- `${brandColor(
59729
- "timed out"
59730
- )} while waiting for ${url} - try accessing it in a few minutes.`
59731
- );
59732
- return false;
59733
61131
  };
59734
- async function dnsLookup(domain) {
61132
+ var isDomainResolvable = async (domain) => {
59735
61133
  try {
59736
- const resolver = new import_promises.Resolver({ timeout: TIMEOUT, tries: 1 });
59737
- resolver.setServers([
59738
- "1.1.1.1",
59739
- "1.0.0.1",
59740
- "2606:4700:4700::1111",
59741
- "2606:4700:4700::1001"
59742
- ]);
59743
- return (await resolver.resolve4(domain)).length > 0;
59744
- } catch (e) {
61134
+ const nameServers = await lookupSubdomainNameservers(domain);
61135
+ if (nameServers.length === 0)
61136
+ return false;
61137
+ const dns = new import_dns2.default({ nameServers });
61138
+ const res = await dns.resolve(domain, "A");
61139
+ return res.answers.length > 0;
61140
+ } catch (error) {
59745
61141
  return false;
59746
61142
  }
59747
- }
61143
+ };
61144
+ var lookupSubdomainNameservers = async (domain) => {
61145
+ const nameServers = await lookupDomainLevelNameservers(domain);
61146
+ const dns = new import_dns2.default({ nameServers });
61147
+ const res = await dns.resolve(domain, "NS");
61148
+ return res.authorities.filter((r2) => Boolean(r2.ns)).map((r2) => r2.ns);
61149
+ };
61150
+ var lookupDomainLevelNameservers = async (domain) => {
61151
+ const baseDomain = domain.split(".").slice(-2).join(".");
61152
+ const dns = new import_dns2.default({});
61153
+ const nameservers = await dns.resolve(baseDomain, "NS");
61154
+ return nameservers.answers.map((n) => n.ns);
61155
+ };
59748
61156
  async function sleep(ms) {
59749
61157
  return new Promise((res) => setTimeout(res, ms));
59750
61158
  }
@@ -59801,7 +61209,7 @@ var runDeploy = async (ctx) => {
59801
61209
  const result = await runCommand(deployCmd, {
59802
61210
  silent: true,
59803
61211
  cwd: ctx.project.path,
59804
- env: { CLOUDFLARE_ACCOUNT_ID: ctx.account.id },
61212
+ env: { CLOUDFLARE_ACCOUNT_ID: ctx.account.id, NODE_ENV: "production" },
59805
61213
  startText: `Deploying your application`,
59806
61214
  doneText: `${brandColor("deployed")} ${dim(`via \`${deployCmd}\``)}`
59807
61215
  });
@@ -59861,7 +61269,7 @@ var printSummary = async (ctx) => {
59861
61269
  ],
59862
61270
  [
59863
61271
  `Read the documentation`,
59864
- `https://developers.cloudflare.com/${ctx.framework ? "pages" : "workers"}`
61272
+ `https://developers.cloudflare.com/${ctx.framework ? ctx.framework.config.type === "workers" ? "workers" : "pages" : "workers"}`
59865
61273
  ],
59866
61274
  [`Stuck? Join us at`, `https://discord.gg/cloudflaredev`]
59867
61275
  ];
@@ -59898,6 +61306,7 @@ var printSummary = async (ctx) => {
59898
61306
  }
59899
61307
  }
59900
61308
  endSection("See you again soon!");
61309
+ process.exit(0);
59901
61310
  };
59902
61311
  var offerGit = async (ctx) => {
59903
61312
  const gitInstalled = await isGitInstalled();
@@ -60001,7 +61410,7 @@ var import_path8 = require("path");
60001
61410
  var import_process3 = require("process");
60002
61411
 
60003
61412
  // src/frameworks/angular/index.ts
60004
- var import_promises2 = require("node:fs/promises");
61413
+ var import_promises = require("node:fs/promises");
60005
61414
  var import_node_path = require("node:path");
60006
61415
 
60007
61416
  // src/helpers/files.ts
@@ -60111,7 +61520,7 @@ var angular_default = config;
60111
61520
  async function installCFWorker(ctx) {
60112
61521
  const s = spinner();
60113
61522
  s.start(`Adding Cloudflare Pages adapter code`);
60114
- await (0, import_promises2.cp)(
61523
+ await (0, import_promises.cp)(
60115
61524
  // eslint-disable-next-line no-restricted-globals
60116
61525
  (0, import_node_path.resolve)(__dirname, "./angular/templates"),
60117
61526
  (0, import_node_path.resolve)(ctx.project.path),
@@ -60153,7 +61562,7 @@ async function updateAppCode() {
60153
61562
  "providers: [provideHttpClient(withFetch()), provideClientHydration(), "
60154
61563
  );
60155
61564
  writeFile2((0, import_node_path.resolve)(appConfigPath), newAppConfig);
60156
- await (0, import_promises2.rm)((0, import_node_path.resolve)("server.ts"));
61565
+ await (0, import_promises.rm)((0, import_node_path.resolve)("server.ts"));
60157
61566
  s.stop(`${brandColor(`updated`)} ${dim(appConfigPath)}`);
60158
61567
  }
60159
61568
  function updateAngularJson(ctx) {
@@ -60272,7 +61681,7 @@ var generate5 = async (ctx) => {
60272
61681
  const version2 = getFrameworkVersion(ctx);
60273
61682
  await runFrameworkGenerator(
60274
61683
  ctx,
60275
- `${dlx5} create-hono@${version2} ${ctx.project.name} --template cloudflare-pages`
61684
+ `${dlx5} create-hono@${version2} ${ctx.project.name} --template cloudflare-workers`
60276
61685
  );
60277
61686
  logRaw("");
60278
61687
  };
@@ -60281,7 +61690,8 @@ var config5 = {
60281
61690
  displayName: "Hono",
60282
61691
  packageScripts: {},
60283
61692
  deployCommand: "deploy",
60284
- devCommand: "dev"
61693
+ devCommand: "dev",
61694
+ type: "workers"
60285
61695
  };
60286
61696
  var hono_default = config5;
60287
61697
 
@@ -60422,7 +61832,7 @@ var config6 = {
60422
61832
  configure: configure3,
60423
61833
  displayName: "Next",
60424
61834
  packageScripts: {
60425
- "pages:build": `${npx3} @cloudflare/next-on-pages@1`,
61835
+ "pages:build": `${dlx6} @cloudflare/next-on-pages@1`,
60426
61836
  "pages:deploy": `${npm5} run pages:build && wrangler pages deploy .vercel/output/static`,
60427
61837
  "pages:watch": `${npx3} @cloudflare/next-on-pages@1 --watch`,
60428
61838
  "pages:dev": `${npx3} wrangler pages dev .vercel/output/static --compatibility-flag=nodejs_compat`
@@ -60435,7 +61845,7 @@ var config6 = {
60435
61845
  "--src-dir",
60436
61846
  "--app",
60437
61847
  "--import-alias",
60438
- '"@/*"'
61848
+ "@/*"
60439
61849
  ],
60440
61850
  compatibilityFlags: ["nodejs_compat"]
60441
61851
  };
@@ -60505,8 +61915,12 @@ var generate9 = async (ctx) => {
60505
61915
  );
60506
61916
  logRaw("");
60507
61917
  };
61918
+ var configure6 = async (ctx) => {
61919
+ await resetPackageManager(ctx);
61920
+ };
60508
61921
  var config9 = {
60509
61922
  generate: generate9,
61923
+ configure: configure6,
60510
61924
  displayName: "React",
60511
61925
  packageScripts: {
60512
61926
  "pages:dev": `wrangler pages dev ${compatDateFlag()} --port 3000 -- ${npm7} start`,
@@ -60559,7 +61973,7 @@ var generate11 = async (ctx) => {
60559
61973
  await runFrameworkGenerator(ctx, `${dlx11} create-solid@${version2}`);
60560
61974
  logRaw("");
60561
61975
  };
60562
- var configure6 = async () => {
61976
+ var configure7 = async () => {
60563
61977
  const pkg = "solid-start-cloudflare-pages";
60564
61978
  await installPackages([pkg], {
60565
61979
  dev: true,
@@ -60574,7 +61988,7 @@ var configure6 = async () => {
60574
61988
  };
60575
61989
  var config11 = {
60576
61990
  generate: generate11,
60577
- configure: configure6,
61991
+ configure: configure7,
60578
61992
  displayName: "Solid",
60579
61993
  packageScripts: {
60580
61994
  "pages:dev": `wrangler pages dev ${compatDateFlag()} --proxy 3000 -- ${npm9} run dev`,
@@ -60639,7 +62053,7 @@ var generate12 = async (ctx) => {
60639
62053
  );
60640
62054
  logRaw("");
60641
62055
  };
60642
- var configure7 = async (ctx) => {
62056
+ var configure8 = async (ctx) => {
60643
62057
  process.chdir(ctx.project.path);
60644
62058
  await npmInstall();
60645
62059
  const pkg = `@sveltejs/adapter-cloudflare`;
@@ -60674,7 +62088,7 @@ var configure7 = async (ctx) => {
60674
62088
  };
60675
62089
  var config12 = {
60676
62090
  generate: generate12,
60677
- configure: configure7,
62091
+ configure: configure8,
60678
62092
  displayName: "Svelte",
60679
62093
  packageScripts: {
60680
62094
  "pages:dev": `wrangler pages dev ${compatDateFlag()} --proxy 5173 -- ${npm10} run dev`,
@@ -60692,7 +62106,7 @@ var versionMap_default = {
60692
62106
  hono: "0.2.6",
60693
62107
  next: "13.4.2",
60694
62108
  nuxt: "3.4.2",
60695
- qwik: "1.1.x",
62109
+ qwik: "1.2.7",
60696
62110
  react: "5.0.1",
60697
62111
  remix: "1.16.0",
60698
62112
  solid: "0.2.26",
@@ -60772,11 +62186,11 @@ var runPagesGenerator = async (args) => {
60772
62186
  },
60773
62187
  args
60774
62188
  };
60775
- const { generate: generate14, configure: configure8 } = FrameworkMap[framework];
62189
+ const { generate: generate14, configure: configure9 } = FrameworkMap[framework];
60776
62190
  await generate14({ ...ctx });
60777
62191
  startSection("Configuring your application for Cloudflare", "Step 2 of 3");
60778
- if (configure8) {
60779
- await configure8({ ...ctx });
62192
+ if (configure9) {
62193
+ await configure9({ ...ctx });
60780
62194
  }
60781
62195
  await updatePackageScripts(ctx);
60782
62196
  await offerGit(ctx);
@@ -60844,6 +62258,8 @@ var updatePackageScripts = async (ctx) => {
60844
62258
  var createProject = async (ctx) => {
60845
62259
  if (ctx.args.deploy === false)
60846
62260
  return;
62261
+ if (ctx.framework?.config.type === "workers")
62262
+ return;
60847
62263
  if (!ctx.account?.id) {
60848
62264
  crash("Failed to read Cloudflare account.");
60849
62265
  return;
@@ -60857,7 +62273,9 @@ var createProject = async (ctx) => {
60857
62273
  await retry(
60858
62274
  CREATE_PROJECT_RETRIES,
60859
62275
  async () => runCommand(cmd, {
60860
- silent: true,
62276
+ // Make this command more verbose in test mode to aid
62277
+ // troubleshooting API errors
62278
+ silent: process.env.VITEST == void 0,
60861
62279
  cwd: ctx.project.path,
60862
62280
  env: { CLOUDFLARE_ACCOUNT_ID },
60863
62281
  startText: "Creating Pages project",
@@ -60865,12 +62283,12 @@ var createProject = async (ctx) => {
60865
62283
  })
60866
62284
  );
60867
62285
  } catch (error) {
60868
- crash("Failed to create pages application. See output above.");
62286
+ crash("Failed to create pages project. See output above.");
60869
62287
  }
60870
62288
  };
60871
62289
 
60872
62290
  // src/workers.ts
60873
- var import_promises3 = require("fs/promises");
62291
+ var import_promises2 = require("fs/promises");
60874
62292
  var import_os = require("os");
60875
62293
  var import_path9 = require("path");
60876
62294
  var import_process4 = require("process");
@@ -60917,7 +62335,7 @@ async function copyFiles(ctx) {
60917
62335
  const { template, path: srcdir } = await getTemplate(ctx);
60918
62336
  const destdir = ctx.project.path;
60919
62337
  updateStatus(`Copying files from "${template}" template`);
60920
- await (0, import_promises3.cp)(srcdir, destdir, { recursive: true });
62338
+ await (0, import_promises2.cp)(srcdir, destdir, { recursive: true });
60921
62339
  }
60922
62340
  async function copyExistingWorkerFiles(ctx) {
60923
62341
  const { preexisting } = await getTemplate(ctx);
@@ -60935,7 +62353,7 @@ async function copyExistingWorkerFiles(ctx) {
60935
62353
  }
60936
62354
  );
60937
62355
  }
60938
- const tempdir = await (0, import_promises3.mkdtemp)(
62356
+ const tempdir = await (0, import_promises2.mkdtemp)(
60939
62357
  (0, import_path9.join)((0, import_os.tmpdir)(), "c3-wrangler-init--from-dash-")
60940
62358
  );
60941
62359
  await runCommand(
@@ -60951,15 +62369,15 @@ async function copyExistingWorkerFiles(ctx) {
60951
62369
  )}`
60952
62370
  }
60953
62371
  );
60954
- for (const filename of await (0, import_promises3.readdir)((0, import_path9.join)(ctx.project.path, "src"))) {
60955
- await (0, import_promises3.rm)((0, import_path9.join)(ctx.project.path, "src", filename));
62372
+ for (const filename of await (0, import_promises2.readdir)((0, import_path9.join)(ctx.project.path, "src"))) {
62373
+ await (0, import_promises2.rm)((0, import_path9.join)(ctx.project.path, "src", filename));
60956
62374
  }
60957
- await (0, import_promises3.cp)(
62375
+ await (0, import_promises2.cp)(
60958
62376
  (0, import_path9.join)(tempdir, ctx.args.existingScript, "src"),
60959
62377
  (0, import_path9.join)(ctx.project.path, "src"),
60960
62378
  { recursive: true }
60961
62379
  );
60962
- await (0, import_promises3.cp)(
62380
+ await (0, import_promises2.cp)(
60963
62381
  (0, import_path9.join)(tempdir, ctx.args.existingScript, "wrangler.toml"),
60964
62382
  (0, import_path9.join)(ctx.project.path, "wrangler.toml")
60965
62383
  );
@@ -60971,8 +62389,8 @@ async function updateFiles(ctx) {
60971
62389
  wranglertoml: (0, import_path9.resolve)(ctx.project.path, "wrangler.toml")
60972
62390
  };
60973
62391
  const contents = {
60974
- packagejson: JSON.parse(await (0, import_promises3.readFile)(paths.packagejson, "utf-8")),
60975
- wranglertoml: await (0, import_promises3.readFile)(paths.wranglertoml, "utf-8")
62392
+ packagejson: JSON.parse(await (0, import_promises2.readFile)(paths.packagejson, "utf-8")),
62393
+ wranglertoml: await (0, import_promises2.readFile)(paths.wranglertoml, "utf-8")
60976
62394
  };
60977
62395
  if (contents.packagejson.name === "<TBD>") {
60978
62396
  contents.packagejson.name = ctx.project.name;
@@ -60981,11 +62399,11 @@ async function updateFiles(ctx) {
60981
62399
  /^compatibility_date\s*=\s*"<TBD>"/m,
60982
62400
  `compatibility_date = "${await getWorkerdCompatibilityDate()}"`
60983
62401
  );
60984
- await (0, import_promises3.writeFile)(
62402
+ await (0, import_promises2.writeFile)(
60985
62403
  paths.packagejson,
60986
62404
  JSON.stringify(contents.packagejson, null, 2)
60987
62405
  );
60988
- await (0, import_promises3.writeFile)(paths.wranglertoml, contents.wranglertoml);
62406
+ await (0, import_promises2.writeFile)(paths.wranglertoml, contents.wranglertoml);
60989
62407
  }
60990
62408
 
60991
62409
  // src/cli.ts