@vercel/static-build 2.9.9 → 2.9.11

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.
Files changed (2) hide show
  1. package/dist/index.js +1485 -236
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -6,6 +6,9 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __esm = (fn, res) => function __init() {
10
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
+ };
9
12
  var __commonJS = (cb, mod) => function __require() {
10
13
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
14
  };
@@ -66,7 +69,7 @@ var require_ms = __commonJS({
66
69
  options = options || {};
67
70
  var type = typeof val;
68
71
  if (type === "string" && val.length > 0) {
69
- return parse(val);
72
+ return parse2(val);
70
73
  } else if (type === "number" && isFinite(val)) {
71
74
  return options.long ? fmtLong(val) : fmtShort(val);
72
75
  }
@@ -74,7 +77,7 @@ var require_ms = __commonJS({
74
77
  "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
75
78
  );
76
79
  };
77
- function parse(str) {
80
+ function parse2(str) {
78
81
  str = String(str);
79
82
  if (str.length > 100) {
80
83
  return;
@@ -6104,18 +6107,18 @@ var require_dist = __commonJS({
6104
6107
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
6105
6108
  var index_exports = {};
6106
6109
  __export2(index_exports, {
6107
- TomlDate: () => TomlDate,
6108
- TomlError: () => TomlError,
6110
+ TomlDate: () => TomlDate2,
6111
+ TomlError: () => TomlError2,
6109
6112
  default: () => index_default,
6110
- parse: () => parse,
6111
- stringify: () => stringify
6113
+ parse: () => parse2,
6114
+ stringify: () => stringify2
6112
6115
  });
6113
6116
  module2.exports = __toCommonJS2(index_exports);
6114
- function getLineColFromPtr(string, ptr) {
6117
+ function getLineColFromPtr2(string, ptr) {
6115
6118
  let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
6116
6119
  return [lines.length, lines.pop().length + 1];
6117
6120
  }
6118
- function makeCodeBlock(string, line, column) {
6121
+ function makeCodeBlock2(string, line, column) {
6119
6122
  let lines = string.split(/\r\n|\n|\r/g);
6120
6123
  let codeblock = "";
6121
6124
  let numberLen = (Math.log10(line + 1) | 0) + 1;
@@ -6134,10 +6137,10 @@ var require_dist = __commonJS({
6134
6137
  }
6135
6138
  return codeblock;
6136
6139
  }
6137
- var TomlError = class extends Error {
6140
+ var TomlError2 = class extends Error {
6138
6141
  constructor(message, options) {
6139
- const [line, column] = getLineColFromPtr(options.toml, options.ptr);
6140
- const codeblock = makeCodeBlock(options.toml, line, column);
6142
+ const [line, column] = getLineColFromPtr2(options.toml, options.ptr);
6143
+ const codeblock = makeCodeBlock2(options.toml, line, column);
6141
6144
  super(`Invalid TOML document: ${message}
6142
6145
 
6143
6146
  ${codeblock}`, options);
@@ -6149,19 +6152,19 @@ ${codeblock}`, options);
6149
6152
  this.codeblock = codeblock;
6150
6153
  }
6151
6154
  };
6152
- function isEscaped(str, ptr) {
6155
+ function isEscaped2(str, ptr) {
6153
6156
  let i = 0;
6154
6157
  while (str[ptr - ++i] === "\\")
6155
6158
  ;
6156
6159
  return --i && i % 2;
6157
6160
  }
6158
- function indexOfNewline(str, start = 0, end = str.length) {
6161
+ function indexOfNewline2(str, start = 0, end = str.length) {
6159
6162
  let idx = str.indexOf("\n", start);
6160
6163
  if (str[idx - 1] === "\r")
6161
6164
  idx--;
6162
6165
  return idx <= end ? idx : -1;
6163
6166
  }
6164
- function skipComment(str, ptr) {
6167
+ function skipComment2(str, ptr) {
6165
6168
  for (let i = ptr; i < str.length; i++) {
6166
6169
  let c = str[i];
6167
6170
  if (c === "\n")
@@ -6169,7 +6172,7 @@ ${codeblock}`, options);
6169
6172
  if (c === "\r" && str[i + 1] === "\n")
6170
6173
  return i + 1;
6171
6174
  if (c < " " && c !== " " || c === "\x7F") {
6172
- throw new TomlError("control characters are not allowed in comments", {
6175
+ throw new TomlError2("control characters are not allowed in comments", {
6173
6176
  toml: str,
6174
6177
  ptr
6175
6178
  });
@@ -6177,39 +6180,39 @@ ${codeblock}`, options);
6177
6180
  }
6178
6181
  return str.length;
6179
6182
  }
6180
- function skipVoid(str, ptr, banNewLines, banComments) {
6183
+ function skipVoid2(str, ptr, banNewLines, banComments) {
6181
6184
  let c;
6182
6185
  while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
6183
6186
  ptr++;
6184
- return banComments || c !== "#" ? ptr : skipVoid(str, skipComment(str, ptr), banNewLines);
6187
+ return banComments || c !== "#" ? ptr : skipVoid2(str, skipComment2(str, ptr), banNewLines);
6185
6188
  }
6186
- function skipUntil(str, ptr, sep, end, banNewLines = false) {
6189
+ function skipUntil2(str, ptr, sep, end, banNewLines = false) {
6187
6190
  if (!end) {
6188
- ptr = indexOfNewline(str, ptr);
6191
+ ptr = indexOfNewline2(str, ptr);
6189
6192
  return ptr < 0 ? str.length : ptr;
6190
6193
  }
6191
6194
  for (let i = ptr; i < str.length; i++) {
6192
6195
  let c = str[i];
6193
6196
  if (c === "#") {
6194
- i = indexOfNewline(str, i);
6197
+ i = indexOfNewline2(str, i);
6195
6198
  } else if (c === sep) {
6196
6199
  return i + 1;
6197
6200
  } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
6198
6201
  return i;
6199
6202
  }
6200
6203
  }
6201
- throw new TomlError("cannot find end of structure", {
6204
+ throw new TomlError2("cannot find end of structure", {
6202
6205
  toml: str,
6203
6206
  ptr
6204
6207
  });
6205
6208
  }
6206
- function getStringEnd(str, seek) {
6209
+ function getStringEnd2(str, seek) {
6207
6210
  let first = str[seek];
6208
6211
  let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
6209
6212
  seek += target.length - 1;
6210
6213
  do
6211
6214
  seek = str.indexOf(target, ++seek);
6212
- while (seek > -1 && first !== "'" && isEscaped(str, seek));
6215
+ while (seek > -1 && first !== "'" && isEscaped2(str, seek));
6213
6216
  if (seek > -1) {
6214
6217
  seek += target.length;
6215
6218
  if (target.length > 1) {
@@ -6221,15 +6224,15 @@ ${codeblock}`, options);
6221
6224
  }
6222
6225
  return seek;
6223
6226
  }
6224
- var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
6225
- var _hasDate, _hasTime, _offset, _a;
6226
- var TomlDate = (_a = class extends Date {
6227
+ var DATE_TIME_RE2 = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
6228
+ var _hasDate2, _hasTime2, _offset2, _a;
6229
+ var TomlDate2 = (_a = class extends Date {
6227
6230
  constructor(date) {
6228
6231
  let hasDate = true;
6229
6232
  let hasTime = true;
6230
6233
  let offset = "Z";
6231
6234
  if (typeof date === "string") {
6232
- let match = date.match(DATE_TIME_RE);
6235
+ let match = date.match(DATE_TIME_RE2);
6233
6236
  if (match) {
6234
6237
  if (!match[1]) {
6235
6238
  hasDate = false;
@@ -6250,29 +6253,29 @@ ${codeblock}`, options);
6250
6253
  }
6251
6254
  }
6252
6255
  super(date);
6253
- __privateAdd(this, _hasDate, false);
6254
- __privateAdd(this, _hasTime, false);
6255
- __privateAdd(this, _offset, null);
6256
+ __privateAdd(this, _hasDate2, false);
6257
+ __privateAdd(this, _hasTime2, false);
6258
+ __privateAdd(this, _offset2, null);
6256
6259
  if (!isNaN(this.getTime())) {
6257
- __privateSet(this, _hasDate, hasDate);
6258
- __privateSet(this, _hasTime, hasTime);
6259
- __privateSet(this, _offset, offset);
6260
+ __privateSet(this, _hasDate2, hasDate);
6261
+ __privateSet(this, _hasTime2, hasTime);
6262
+ __privateSet(this, _offset2, offset);
6260
6263
  }
6261
6264
  }
6262
6265
  isDateTime() {
6263
- return __privateGet(this, _hasDate) && __privateGet(this, _hasTime);
6266
+ return __privateGet(this, _hasDate2) && __privateGet(this, _hasTime2);
6264
6267
  }
6265
6268
  isLocal() {
6266
- return !__privateGet(this, _hasDate) || !__privateGet(this, _hasTime) || !__privateGet(this, _offset);
6269
+ return !__privateGet(this, _hasDate2) || !__privateGet(this, _hasTime2) || !__privateGet(this, _offset2);
6267
6270
  }
6268
6271
  isDate() {
6269
- return __privateGet(this, _hasDate) && !__privateGet(this, _hasTime);
6272
+ return __privateGet(this, _hasDate2) && !__privateGet(this, _hasTime2);
6270
6273
  }
6271
6274
  isTime() {
6272
- return __privateGet(this, _hasTime) && !__privateGet(this, _hasDate);
6275
+ return __privateGet(this, _hasTime2) && !__privateGet(this, _hasDate2);
6273
6276
  }
6274
6277
  isValid() {
6275
- return __privateGet(this, _hasDate) || __privateGet(this, _hasTime);
6278
+ return __privateGet(this, _hasDate2) || __privateGet(this, _hasTime2);
6276
6279
  }
6277
6280
  toISOString() {
6278
6281
  let iso = super.toISOString();
@@ -6280,43 +6283,43 @@ ${codeblock}`, options);
6280
6283
  return iso.slice(0, 10);
6281
6284
  if (this.isTime())
6282
6285
  return iso.slice(11, 23);
6283
- if (__privateGet(this, _offset) === null)
6286
+ if (__privateGet(this, _offset2) === null)
6284
6287
  return iso.slice(0, -1);
6285
- if (__privateGet(this, _offset) === "Z")
6288
+ if (__privateGet(this, _offset2) === "Z")
6286
6289
  return iso;
6287
- let offset = +__privateGet(this, _offset).slice(1, 3) * 60 + +__privateGet(this, _offset).slice(4, 6);
6288
- offset = __privateGet(this, _offset)[0] === "-" ? offset : -offset;
6290
+ let offset = +__privateGet(this, _offset2).slice(1, 3) * 60 + +__privateGet(this, _offset2).slice(4, 6);
6291
+ offset = __privateGet(this, _offset2)[0] === "-" ? offset : -offset;
6289
6292
  let offsetDate = new Date(this.getTime() - offset * 6e4);
6290
- return offsetDate.toISOString().slice(0, -1) + __privateGet(this, _offset);
6293
+ return offsetDate.toISOString().slice(0, -1) + __privateGet(this, _offset2);
6291
6294
  }
6292
6295
  static wrapAsOffsetDateTime(jsDate, offset = "Z") {
6293
6296
  let date = new _a(jsDate);
6294
- __privateSet(date, _offset, offset);
6297
+ __privateSet(date, _offset2, offset);
6295
6298
  return date;
6296
6299
  }
6297
6300
  static wrapAsLocalDateTime(jsDate) {
6298
6301
  let date = new _a(jsDate);
6299
- __privateSet(date, _offset, null);
6302
+ __privateSet(date, _offset2, null);
6300
6303
  return date;
6301
6304
  }
6302
6305
  static wrapAsLocalDate(jsDate) {
6303
6306
  let date = new _a(jsDate);
6304
- __privateSet(date, _hasTime, false);
6305
- __privateSet(date, _offset, null);
6307
+ __privateSet(date, _hasTime2, false);
6308
+ __privateSet(date, _offset2, null);
6306
6309
  return date;
6307
6310
  }
6308
6311
  static wrapAsLocalTime(jsDate) {
6309
6312
  let date = new _a(jsDate);
6310
- __privateSet(date, _hasDate, false);
6311
- __privateSet(date, _offset, null);
6313
+ __privateSet(date, _hasDate2, false);
6314
+ __privateSet(date, _offset2, null);
6312
6315
  return date;
6313
6316
  }
6314
- }, _hasDate = new WeakMap(), _hasTime = new WeakMap(), _offset = new WeakMap(), _a);
6315
- var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
6316
- var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
6317
- var LEADING_ZERO = /^[+-]?0[0-9_]/;
6318
- var ESCAPE_REGEX = /^[0-9a-f]{4,8}$/i;
6319
- var ESC_MAP = {
6317
+ }, _hasDate2 = new WeakMap(), _hasTime2 = new WeakMap(), _offset2 = new WeakMap(), _a);
6318
+ var INT_REGEX2 = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
6319
+ var FLOAT_REGEX2 = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
6320
+ var LEADING_ZERO2 = /^[+-]?0[0-9_]/;
6321
+ var ESCAPE_REGEX2 = /^[0-9a-f]{4,8}$/i;
6322
+ var ESC_MAP2 = {
6320
6323
  b: "\b",
6321
6324
  t: " ",
6322
6325
  n: "\n",
@@ -6325,7 +6328,7 @@ ${codeblock}`, options);
6325
6328
  '"': '"',
6326
6329
  "\\": "\\"
6327
6330
  };
6328
- function parseString(str, ptr = 0, endPtr = str.length) {
6331
+ function parseString2(str, ptr = 0, endPtr = str.length) {
6329
6332
  let isLiteral = str[ptr] === "'";
6330
6333
  let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
6331
6334
  if (isMultiline) {
@@ -6343,13 +6346,13 @@ ${codeblock}`, options);
6343
6346
  let c = str[ptr++];
6344
6347
  if (c === "\n" || c === "\r" && str[ptr] === "\n") {
6345
6348
  if (!isMultiline) {
6346
- throw new TomlError("newlines are not allowed in strings", {
6349
+ throw new TomlError2("newlines are not allowed in strings", {
6347
6350
  toml: str,
6348
6351
  ptr: ptr - 1
6349
6352
  });
6350
6353
  }
6351
6354
  } else if (c < " " && c !== " " || c === "\x7F") {
6352
- throw new TomlError("control characters are not allowed in strings", {
6355
+ throw new TomlError2("control characters are not allowed in strings", {
6353
6356
  toml: str,
6354
6357
  ptr: ptr - 1
6355
6358
  });
@@ -6358,8 +6361,8 @@ ${codeblock}`, options);
6358
6361
  isEscape = false;
6359
6362
  if (c === "u" || c === "U") {
6360
6363
  let code = str.slice(ptr, ptr += c === "u" ? 4 : 8);
6361
- if (!ESCAPE_REGEX.test(code)) {
6362
- throw new TomlError("invalid unicode escape", {
6364
+ if (!ESCAPE_REGEX2.test(code)) {
6365
+ throw new TomlError2("invalid unicode escape", {
6363
6366
  toml: str,
6364
6367
  ptr: tmp
6365
6368
  });
@@ -6367,24 +6370,24 @@ ${codeblock}`, options);
6367
6370
  try {
6368
6371
  parsed += String.fromCodePoint(parseInt(code, 16));
6369
6372
  } catch {
6370
- throw new TomlError("invalid unicode escape", {
6373
+ throw new TomlError2("invalid unicode escape", {
6371
6374
  toml: str,
6372
6375
  ptr: tmp
6373
6376
  });
6374
6377
  }
6375
6378
  } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
6376
- ptr = skipVoid(str, ptr - 1, true);
6379
+ ptr = skipVoid2(str, ptr - 1, true);
6377
6380
  if (str[ptr] !== "\n" && str[ptr] !== "\r") {
6378
- throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
6381
+ throw new TomlError2("invalid escape: only line-ending whitespace may be escaped", {
6379
6382
  toml: str,
6380
6383
  ptr: tmp
6381
6384
  });
6382
6385
  }
6383
- ptr = skipVoid(str, ptr);
6384
- } else if (c in ESC_MAP) {
6385
- parsed += ESC_MAP[c];
6386
+ ptr = skipVoid2(str, ptr);
6387
+ } else if (c in ESC_MAP2) {
6388
+ parsed += ESC_MAP2[c];
6386
6389
  } else {
6387
- throw new TomlError("unrecognized escape sequence", {
6390
+ throw new TomlError2("unrecognized escape sequence", {
6388
6391
  toml: str,
6389
6392
  ptr: tmp
6390
6393
  });
@@ -6398,7 +6401,7 @@ ${codeblock}`, options);
6398
6401
  }
6399
6402
  return parsed + str.slice(sliceStart, endPtr - 1);
6400
6403
  }
6401
- function parseValue(value, toml, ptr, integersAsBigInt) {
6404
+ function parseValue2(value, toml, ptr, integersAsBigInt) {
6402
6405
  if (value === "true")
6403
6406
  return true;
6404
6407
  if (value === "false")
@@ -6411,10 +6414,10 @@ ${codeblock}`, options);
6411
6414
  return NaN;
6412
6415
  if (value === "-0")
6413
6416
  return integersAsBigInt ? 0n : 0;
6414
- let isInt = INT_REGEX.test(value);
6415
- if (isInt || FLOAT_REGEX.test(value)) {
6416
- if (LEADING_ZERO.test(value)) {
6417
- throw new TomlError("leading zeroes are not allowed", {
6417
+ let isInt = INT_REGEX2.test(value);
6418
+ if (isInt || FLOAT_REGEX2.test(value)) {
6419
+ if (LEADING_ZERO2.test(value)) {
6420
+ throw new TomlError2("leading zeroes are not allowed", {
6418
6421
  toml,
6419
6422
  ptr
6420
6423
  });
@@ -6422,14 +6425,14 @@ ${codeblock}`, options);
6422
6425
  value = value.replace(/_/g, "");
6423
6426
  let numeric = +value;
6424
6427
  if (isNaN(numeric)) {
6425
- throw new TomlError("invalid number", {
6428
+ throw new TomlError2("invalid number", {
6426
6429
  toml,
6427
6430
  ptr
6428
6431
  });
6429
6432
  }
6430
6433
  if (isInt) {
6431
6434
  if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
6432
- throw new TomlError("integer value cannot be represented losslessly", {
6435
+ throw new TomlError2("integer value cannot be represented losslessly", {
6433
6436
  toml,
6434
6437
  ptr
6435
6438
  });
@@ -6439,27 +6442,27 @@ ${codeblock}`, options);
6439
6442
  }
6440
6443
  return numeric;
6441
6444
  }
6442
- const date = new TomlDate(value);
6445
+ const date = new TomlDate2(value);
6443
6446
  if (!date.isValid()) {
6444
- throw new TomlError("invalid value", {
6447
+ throw new TomlError2("invalid value", {
6445
6448
  toml,
6446
6449
  ptr
6447
6450
  });
6448
6451
  }
6449
6452
  return date;
6450
6453
  }
6451
- function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
6454
+ function sliceAndTrimEndOf2(str, startPtr, endPtr, allowNewLines) {
6452
6455
  let value = str.slice(startPtr, endPtr);
6453
6456
  let commentIdx = value.indexOf("#");
6454
6457
  if (commentIdx > -1) {
6455
- skipComment(str, commentIdx);
6458
+ skipComment2(str, commentIdx);
6456
6459
  value = value.slice(0, commentIdx);
6457
6460
  }
6458
6461
  let trimmed = value.trimEnd();
6459
6462
  if (!allowNewLines) {
6460
6463
  let newlineIdx = value.indexOf("\n", trimmed.length);
6461
6464
  if (newlineIdx > -1) {
6462
- throw new TomlError("newlines are not allowed in inline tables", {
6465
+ throw new TomlError2("newlines are not allowed in inline tables", {
6463
6466
  toml: str,
6464
6467
  ptr: startPtr + newlineIdx
6465
6468
  });
@@ -6467,21 +6470,21 @@ ${codeblock}`, options);
6467
6470
  }
6468
6471
  return [trimmed, commentIdx];
6469
6472
  }
6470
- function extractValue(str, ptr, end, depth, integersAsBigInt) {
6473
+ function extractValue2(str, ptr, end, depth, integersAsBigInt) {
6471
6474
  if (depth === 0) {
6472
- throw new TomlError("document contains excessively nested structures. aborting.", {
6475
+ throw new TomlError2("document contains excessively nested structures. aborting.", {
6473
6476
  toml: str,
6474
6477
  ptr
6475
6478
  });
6476
6479
  }
6477
6480
  let c = str[ptr];
6478
6481
  if (c === "[" || c === "{") {
6479
- let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
6480
- let newPtr = end ? skipUntil(str, endPtr2, ",", end) : endPtr2;
6482
+ let [value, endPtr2] = c === "[" ? parseArray2(str, ptr, depth, integersAsBigInt) : parseInlineTable2(str, ptr, depth, integersAsBigInt);
6483
+ let newPtr = end ? skipUntil2(str, endPtr2, ",", end) : endPtr2;
6481
6484
  if (endPtr2 - newPtr && end === "}") {
6482
- let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
6485
+ let nextNewLine = indexOfNewline2(str, endPtr2, newPtr);
6483
6486
  if (nextNewLine > -1) {
6484
- throw new TomlError("newlines are not allowed in inline tables", {
6487
+ throw new TomlError2("newlines are not allowed in inline tables", {
6485
6488
  toml: str,
6486
6489
  ptr: nextNewLine
6487
6490
  });
@@ -6491,12 +6494,12 @@ ${codeblock}`, options);
6491
6494
  }
6492
6495
  let endPtr;
6493
6496
  if (c === '"' || c === "'") {
6494
- endPtr = getStringEnd(str, ptr);
6495
- let parsed = parseString(str, ptr, endPtr);
6497
+ endPtr = getStringEnd2(str, ptr);
6498
+ let parsed = parseString2(str, ptr, endPtr);
6496
6499
  if (end) {
6497
- endPtr = skipVoid(str, endPtr, end !== "]");
6500
+ endPtr = skipVoid2(str, endPtr, end !== "]");
6498
6501
  if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
6499
- throw new TomlError("unexpected character encountered", {
6502
+ throw new TomlError2("unexpected character encountered", {
6500
6503
  toml: str,
6501
6504
  ptr: endPtr
6502
6505
  });
@@ -6505,30 +6508,30 @@ ${codeblock}`, options);
6505
6508
  }
6506
6509
  return [parsed, endPtr];
6507
6510
  }
6508
- endPtr = skipUntil(str, ptr, ",", end);
6509
- let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","), end === "]");
6511
+ endPtr = skipUntil2(str, ptr, ",", end);
6512
+ let slice = sliceAndTrimEndOf2(str, ptr, endPtr - +(str[endPtr - 1] === ","), end === "]");
6510
6513
  if (!slice[0]) {
6511
- throw new TomlError("incomplete key-value declaration: no value specified", {
6514
+ throw new TomlError2("incomplete key-value declaration: no value specified", {
6512
6515
  toml: str,
6513
6516
  ptr
6514
6517
  });
6515
6518
  }
6516
6519
  if (end && slice[1] > -1) {
6517
- endPtr = skipVoid(str, ptr + slice[1]);
6520
+ endPtr = skipVoid2(str, ptr + slice[1]);
6518
6521
  endPtr += +(str[endPtr] === ",");
6519
6522
  }
6520
6523
  return [
6521
- parseValue(slice[0], str, ptr, integersAsBigInt),
6524
+ parseValue2(slice[0], str, ptr, integersAsBigInt),
6522
6525
  endPtr
6523
6526
  ];
6524
6527
  }
6525
- var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
6526
- function parseKey(str, ptr, end = "=") {
6528
+ var KEY_PART_RE2 = /^[a-zA-Z0-9-_]+[ \t]*$/;
6529
+ function parseKey2(str, ptr, end = "=") {
6527
6530
  let dot = ptr - 1;
6528
6531
  let parsed = [];
6529
6532
  let endPtr = str.indexOf(end, ptr);
6530
6533
  if (endPtr < 0) {
6531
- throw new TomlError("incomplete key-value: cannot find end of key", {
6534
+ throw new TomlError2("incomplete key-value: cannot find end of key", {
6532
6535
  toml: str,
6533
6536
  ptr
6534
6537
  });
@@ -6538,29 +6541,29 @@ ${codeblock}`, options);
6538
6541
  if (c !== " " && c !== " ") {
6539
6542
  if (c === '"' || c === "'") {
6540
6543
  if (c === str[ptr + 1] && c === str[ptr + 2]) {
6541
- throw new TomlError("multiline strings are not allowed in keys", {
6544
+ throw new TomlError2("multiline strings are not allowed in keys", {
6542
6545
  toml: str,
6543
6546
  ptr
6544
6547
  });
6545
6548
  }
6546
- let eos = getStringEnd(str, ptr);
6549
+ let eos = getStringEnd2(str, ptr);
6547
6550
  if (eos < 0) {
6548
- throw new TomlError("unfinished string encountered", {
6551
+ throw new TomlError2("unfinished string encountered", {
6549
6552
  toml: str,
6550
6553
  ptr
6551
6554
  });
6552
6555
  }
6553
6556
  dot = str.indexOf(".", eos);
6554
6557
  let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
6555
- let newLine = indexOfNewline(strEnd);
6558
+ let newLine = indexOfNewline2(strEnd);
6556
6559
  if (newLine > -1) {
6557
- throw new TomlError("newlines are not allowed in keys", {
6560
+ throw new TomlError2("newlines are not allowed in keys", {
6558
6561
  toml: str,
6559
6562
  ptr: ptr + dot + newLine
6560
6563
  });
6561
6564
  }
6562
6565
  if (strEnd.trimStart()) {
6563
- throw new TomlError("found extra tokens after the string part", {
6566
+ throw new TomlError2("found extra tokens after the string part", {
6564
6567
  toml: str,
6565
6568
  ptr: eos
6566
6569
  });
@@ -6568,18 +6571,18 @@ ${codeblock}`, options);
6568
6571
  if (endPtr < eos) {
6569
6572
  endPtr = str.indexOf(end, eos);
6570
6573
  if (endPtr < 0) {
6571
- throw new TomlError("incomplete key-value: cannot find end of key", {
6574
+ throw new TomlError2("incomplete key-value: cannot find end of key", {
6572
6575
  toml: str,
6573
6576
  ptr
6574
6577
  });
6575
6578
  }
6576
6579
  }
6577
- parsed.push(parseString(str, ptr, eos));
6580
+ parsed.push(parseString2(str, ptr, eos));
6578
6581
  } else {
6579
6582
  dot = str.indexOf(".", ptr);
6580
6583
  let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
6581
- if (!KEY_PART_RE.test(part)) {
6582
- throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
6584
+ if (!KEY_PART_RE2.test(part)) {
6585
+ throw new TomlError2("only letter, numbers, dashes and underscores are allowed in keys", {
6583
6586
  toml: str,
6584
6587
  ptr
6585
6588
  });
@@ -6588,9 +6591,9 @@ ${codeblock}`, options);
6588
6591
  }
6589
6592
  }
6590
6593
  } while (dot + 1 && dot < endPtr);
6591
- return [parsed, skipVoid(str, endPtr + 1, true, true)];
6594
+ return [parsed, skipVoid2(str, endPtr + 1, true, true)];
6592
6595
  }
6593
- function parseInlineTable(str, ptr, depth, integersAsBigInt) {
6596
+ function parseInlineTable2(str, ptr, depth, integersAsBigInt) {
6594
6597
  let res = {};
6595
6598
  let seen = /* @__PURE__ */ new Set();
6596
6599
  let c;
@@ -6599,22 +6602,22 @@ ${codeblock}`, options);
6599
6602
  while ((c = str[ptr++]) !== "}" && c) {
6600
6603
  let err = { toml: str, ptr: ptr - 1 };
6601
6604
  if (c === "\n") {
6602
- throw new TomlError("newlines are not allowed in inline tables", err);
6605
+ throw new TomlError2("newlines are not allowed in inline tables", err);
6603
6606
  } else if (c === "#") {
6604
- throw new TomlError("inline tables cannot contain comments", err);
6607
+ throw new TomlError2("inline tables cannot contain comments", err);
6605
6608
  } else if (c === ",") {
6606
- throw new TomlError("expected key-value, found comma", err);
6609
+ throw new TomlError2("expected key-value, found comma", err);
6607
6610
  } else if (c !== " " && c !== " ") {
6608
6611
  let k;
6609
6612
  let t = res;
6610
6613
  let hasOwn = false;
6611
- let [key, keyEndPtr] = parseKey(str, ptr - 1);
6614
+ let [key, keyEndPtr] = parseKey2(str, ptr - 1);
6612
6615
  for (let i = 0; i < key.length; i++) {
6613
6616
  if (i)
6614
6617
  t = hasOwn ? t[k] : t[k] = {};
6615
6618
  k = key[i];
6616
6619
  if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
6617
- throw new TomlError("trying to redefine an already defined value", {
6620
+ throw new TomlError2("trying to redefine an already defined value", {
6618
6621
  toml: str,
6619
6622
  ptr
6620
6623
  });
@@ -6624,12 +6627,12 @@ ${codeblock}`, options);
6624
6627
  }
6625
6628
  }
6626
6629
  if (hasOwn) {
6627
- throw new TomlError("trying to redefine an already defined value", {
6630
+ throw new TomlError2("trying to redefine an already defined value", {
6628
6631
  toml: str,
6629
6632
  ptr
6630
6633
  });
6631
6634
  }
6632
- let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
6635
+ let [value, valueEndPtr] = extractValue2(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
6633
6636
  seen.add(value);
6634
6637
  t[k] = value;
6635
6638
  ptr = valueEndPtr;
@@ -6637,46 +6640,46 @@ ${codeblock}`, options);
6637
6640
  }
6638
6641
  }
6639
6642
  if (comma) {
6640
- throw new TomlError("trailing commas are not allowed in inline tables", {
6643
+ throw new TomlError2("trailing commas are not allowed in inline tables", {
6641
6644
  toml: str,
6642
6645
  ptr: comma
6643
6646
  });
6644
6647
  }
6645
6648
  if (!c) {
6646
- throw new TomlError("unfinished table encountered", {
6649
+ throw new TomlError2("unfinished table encountered", {
6647
6650
  toml: str,
6648
6651
  ptr
6649
6652
  });
6650
6653
  }
6651
6654
  return [res, ptr];
6652
6655
  }
6653
- function parseArray(str, ptr, depth, integersAsBigInt) {
6656
+ function parseArray2(str, ptr, depth, integersAsBigInt) {
6654
6657
  let res = [];
6655
6658
  let c;
6656
6659
  ptr++;
6657
6660
  while ((c = str[ptr++]) !== "]" && c) {
6658
6661
  if (c === ",") {
6659
- throw new TomlError("expected value, found comma", {
6662
+ throw new TomlError2("expected value, found comma", {
6660
6663
  toml: str,
6661
6664
  ptr: ptr - 1
6662
6665
  });
6663
6666
  } else if (c === "#")
6664
- ptr = skipComment(str, ptr);
6667
+ ptr = skipComment2(str, ptr);
6665
6668
  else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
6666
- let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
6669
+ let e = extractValue2(str, ptr - 1, "]", depth - 1, integersAsBigInt);
6667
6670
  res.push(e[0]);
6668
6671
  ptr = e[1];
6669
6672
  }
6670
6673
  }
6671
6674
  if (!c) {
6672
- throw new TomlError("unfinished array encountered", {
6675
+ throw new TomlError2("unfinished array encountered", {
6673
6676
  toml: str,
6674
6677
  ptr
6675
6678
  });
6676
6679
  }
6677
6680
  return [res, ptr];
6678
6681
  }
6679
- function peekTable(key, table, meta, type) {
6682
+ function peekTable2(key, table, meta, type) {
6680
6683
  let t = table;
6681
6684
  let m = meta;
6682
6685
  let k;
@@ -6735,25 +6738,25 @@ ${codeblock}`, options);
6735
6738
  }
6736
6739
  return [k, t, state.c];
6737
6740
  }
6738
- function parse(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
6741
+ function parse2(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
6739
6742
  let res = {};
6740
6743
  let meta = {};
6741
6744
  let tbl = res;
6742
6745
  let m = meta;
6743
- for (let ptr = skipVoid(toml, 0); ptr < toml.length; ) {
6746
+ for (let ptr = skipVoid2(toml, 0); ptr < toml.length; ) {
6744
6747
  if (toml[ptr] === "[") {
6745
6748
  let isTableArray = toml[++ptr] === "[";
6746
- let k = parseKey(toml, ptr += +isTableArray, "]");
6749
+ let k = parseKey2(toml, ptr += +isTableArray, "]");
6747
6750
  if (isTableArray) {
6748
6751
  if (toml[k[1] - 1] !== "]") {
6749
- throw new TomlError("expected end of table declaration", {
6752
+ throw new TomlError2("expected end of table declaration", {
6750
6753
  toml,
6751
6754
  ptr: k[1] - 1
6752
6755
  });
6753
6756
  }
6754
6757
  k[1]++;
6755
6758
  }
6756
- let p = peekTable(
6759
+ let p = peekTable2(
6757
6760
  k[0],
6758
6761
  res,
6759
6762
  meta,
@@ -6761,7 +6764,7 @@ ${codeblock}`, options);
6761
6764
  /* Type.EXPLICIT */
6762
6765
  );
6763
6766
  if (!p) {
6764
- throw new TomlError("trying to redefine an already defined table or value", {
6767
+ throw new TomlError2("trying to redefine an already defined table or value", {
6765
6768
  toml,
6766
6769
  ptr
6767
6770
  });
@@ -6770,8 +6773,8 @@ ${codeblock}`, options);
6770
6773
  tbl = p[1];
6771
6774
  ptr = k[1];
6772
6775
  } else {
6773
- let k = parseKey(toml, ptr);
6774
- let p = peekTable(
6776
+ let k = parseKey2(toml, ptr);
6777
+ let p = peekTable2(
6775
6778
  k[0],
6776
6779
  tbl,
6777
6780
  m,
@@ -6779,28 +6782,28 @@ ${codeblock}`, options);
6779
6782
  /* Type.DOTTED */
6780
6783
  );
6781
6784
  if (!p) {
6782
- throw new TomlError("trying to redefine an already defined table or value", {
6785
+ throw new TomlError2("trying to redefine an already defined table or value", {
6783
6786
  toml,
6784
6787
  ptr
6785
6788
  });
6786
6789
  }
6787
- let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
6790
+ let v = extractValue2(toml, k[1], void 0, maxDepth, integersAsBigInt);
6788
6791
  p[1][p[0]] = v[0];
6789
6792
  ptr = v[1];
6790
6793
  }
6791
- ptr = skipVoid(toml, ptr, true);
6794
+ ptr = skipVoid2(toml, ptr, true);
6792
6795
  if (toml[ptr] && toml[ptr] !== "\n" && toml[ptr] !== "\r") {
6793
- throw new TomlError("each key-value declaration must be followed by an end-of-line", {
6796
+ throw new TomlError2("each key-value declaration must be followed by an end-of-line", {
6794
6797
  toml,
6795
6798
  ptr
6796
6799
  });
6797
6800
  }
6798
- ptr = skipVoid(toml, ptr);
6801
+ ptr = skipVoid2(toml, ptr);
6799
6802
  }
6800
6803
  return res;
6801
6804
  }
6802
- var BARE_KEY = /^[a-z0-9-_]+$/i;
6803
- function extendedTypeOf(obj) {
6805
+ var BARE_KEY2 = /^[a-z0-9-_]+$/i;
6806
+ function extendedTypeOf2(obj) {
6804
6807
  let type = typeof obj;
6805
6808
  if (type === "object") {
6806
6809
  if (Array.isArray(obj))
@@ -6810,17 +6813,17 @@ ${codeblock}`, options);
6810
6813
  }
6811
6814
  return type;
6812
6815
  }
6813
- function isArrayOfTables(obj) {
6816
+ function isArrayOfTables2(obj) {
6814
6817
  for (let i = 0; i < obj.length; i++) {
6815
- if (extendedTypeOf(obj[i]) !== "object")
6818
+ if (extendedTypeOf2(obj[i]) !== "object")
6816
6819
  return false;
6817
6820
  }
6818
6821
  return obj.length != 0;
6819
6822
  }
6820
- function formatString(s) {
6823
+ function formatString2(s) {
6821
6824
  return JSON.stringify(s).replace(/\x7f/g, "\\u007f");
6822
6825
  }
6823
- function stringifyValue(val, type, depth, numberAsFloat) {
6826
+ function stringifyValue2(val, type, depth, numberAsFloat) {
6824
6827
  if (depth === 0) {
6825
6828
  throw new Error("Could not stringify the object: maximum object depth exceeded");
6826
6829
  }
@@ -6839,7 +6842,7 @@ ${codeblock}`, options);
6839
6842
  return val.toString();
6840
6843
  }
6841
6844
  if (type === "string") {
6842
- return formatString(val);
6845
+ return formatString2(val);
6843
6846
  }
6844
6847
  if (type === "date") {
6845
6848
  if (isNaN(val.getTime())) {
@@ -6848,13 +6851,13 @@ ${codeblock}`, options);
6848
6851
  return val.toISOString();
6849
6852
  }
6850
6853
  if (type === "object") {
6851
- return stringifyInlineTable(val, depth, numberAsFloat);
6854
+ return stringifyInlineTable2(val, depth, numberAsFloat);
6852
6855
  }
6853
6856
  if (type === "array") {
6854
- return stringifyArray(val, depth, numberAsFloat);
6857
+ return stringifyArray2(val, depth, numberAsFloat);
6855
6858
  }
6856
6859
  }
6857
- function stringifyInlineTable(obj, depth, numberAsFloat) {
6860
+ function stringifyInlineTable2(obj, depth, numberAsFloat) {
6858
6861
  let keys = Object.keys(obj);
6859
6862
  if (keys.length === 0)
6860
6863
  return "{}";
@@ -6863,13 +6866,13 @@ ${codeblock}`, options);
6863
6866
  let k = keys[i];
6864
6867
  if (i)
6865
6868
  res += ", ";
6866
- res += BARE_KEY.test(k) ? k : formatString(k);
6869
+ res += BARE_KEY2.test(k) ? k : formatString2(k);
6867
6870
  res += " = ";
6868
- res += stringifyValue(obj[k], extendedTypeOf(obj[k]), depth - 1, numberAsFloat);
6871
+ res += stringifyValue2(obj[k], extendedTypeOf2(obj[k]), depth - 1, numberAsFloat);
6869
6872
  }
6870
6873
  return res + " }";
6871
6874
  }
6872
- function stringifyArray(array, depth, numberAsFloat) {
6875
+ function stringifyArray2(array, depth, numberAsFloat) {
6873
6876
  if (array.length === 0)
6874
6877
  return "[]";
6875
6878
  let res = "[ ";
@@ -6879,11 +6882,11 @@ ${codeblock}`, options);
6879
6882
  if (array[i] === null || array[i] === void 0) {
6880
6883
  throw new TypeError("arrays cannot contain null or undefined values");
6881
6884
  }
6882
- res += stringifyValue(array[i], extendedTypeOf(array[i]), depth - 1, numberAsFloat);
6885
+ res += stringifyValue2(array[i], extendedTypeOf2(array[i]), depth - 1, numberAsFloat);
6883
6886
  }
6884
6887
  return res + " ]";
6885
6888
  }
6886
- function stringifyArrayTable(array, key, depth, numberAsFloat) {
6889
+ function stringifyArrayTable2(array, key, depth, numberAsFloat) {
6887
6890
  if (depth === 0) {
6888
6891
  throw new Error("Could not stringify the object: maximum object depth exceeded");
6889
6892
  }
@@ -6891,11 +6894,11 @@ ${codeblock}`, options);
6891
6894
  for (let i = 0; i < array.length; i++) {
6892
6895
  res += `${res && "\n"}[[${key}]]
6893
6896
  `;
6894
- res += stringifyTable(0, array[i], key, depth, numberAsFloat);
6897
+ res += stringifyTable2(0, array[i], key, depth, numberAsFloat);
6895
6898
  }
6896
6899
  return res;
6897
6900
  }
6898
- function stringifyTable(tableKey, obj, prefix, depth, numberAsFloat) {
6901
+ function stringifyTable2(tableKey, obj, prefix, depth, numberAsFloat) {
6899
6902
  if (depth === 0) {
6900
6903
  throw new Error("Could not stringify the object: maximum object depth exceeded");
6901
6904
  }
@@ -6905,20 +6908,20 @@ ${codeblock}`, options);
6905
6908
  for (let i = 0; i < keys.length; i++) {
6906
6909
  let k = keys[i];
6907
6910
  if (obj[k] !== null && obj[k] !== void 0) {
6908
- let type = extendedTypeOf(obj[k]);
6911
+ let type = extendedTypeOf2(obj[k]);
6909
6912
  if (type === "symbol" || type === "function") {
6910
6913
  throw new TypeError(`cannot serialize values of type '${type}'`);
6911
6914
  }
6912
- let key = BARE_KEY.test(k) ? k : formatString(k);
6913
- if (type === "array" && isArrayOfTables(obj[k])) {
6914
- tables += (tables && "\n") + stringifyArrayTable(obj[k], prefix ? `${prefix}.${key}` : key, depth - 1, numberAsFloat);
6915
+ let key = BARE_KEY2.test(k) ? k : formatString2(k);
6916
+ if (type === "array" && isArrayOfTables2(obj[k])) {
6917
+ tables += (tables && "\n") + stringifyArrayTable2(obj[k], prefix ? `${prefix}.${key}` : key, depth - 1, numberAsFloat);
6915
6918
  } else if (type === "object") {
6916
6919
  let tblKey = prefix ? `${prefix}.${key}` : key;
6917
- tables += (tables && "\n") + stringifyTable(tblKey, obj[k], tblKey, depth - 1, numberAsFloat);
6920
+ tables += (tables && "\n") + stringifyTable2(tblKey, obj[k], tblKey, depth - 1, numberAsFloat);
6918
6921
  } else {
6919
6922
  preamble += key;
6920
6923
  preamble += " = ";
6921
- preamble += stringifyValue(obj[k], type, depth, numberAsFloat);
6924
+ preamble += stringifyValue2(obj[k], type, depth, numberAsFloat);
6922
6925
  preamble += "\n";
6923
6926
  }
6924
6927
  }
@@ -6929,16 +6932,16 @@ ${preamble}` : `[${tableKey}]`;
6929
6932
  return preamble && tables ? `${preamble}
6930
6933
  ${tables}` : preamble || tables;
6931
6934
  }
6932
- function stringify(obj, { maxDepth = 1e3, numbersAsFloat = false } = {}) {
6933
- if (extendedTypeOf(obj) !== "object") {
6935
+ function stringify2(obj, { maxDepth = 1e3, numbersAsFloat = false } = {}) {
6936
+ if (extendedTypeOf2(obj) !== "object") {
6934
6937
  throw new TypeError("stringify can only be called with an object");
6935
6938
  }
6936
- let str = stringifyTable(0, obj, "", maxDepth, numbersAsFloat);
6939
+ let str = stringifyTable2(0, obj, "", maxDepth, numbersAsFloat);
6937
6940
  if (str[str.length - 1] !== "\n")
6938
6941
  return str + "\n";
6939
6942
  return str;
6940
6943
  }
6941
- var index_default = { parse, stringify, TomlDate, TomlError };
6944
+ var index_default = { parse: parse2, stringify: stringify2, TomlDate: TomlDate2, TomlError: TomlError2 };
6942
6945
  }
6943
6946
  });
6944
6947
 
@@ -7316,7 +7319,7 @@ var require_frameworks = __commonJS({
7316
7319
  description: "A new Remix app \u2014 the result of running `npx create-remix`.",
7317
7320
  website: "https://remix.run",
7318
7321
  sort: 6,
7319
- supersedes: ["hydrogen", "vite"],
7322
+ supersedes: ["hydrogen", "vite", "node"],
7320
7323
  useRuntime: { src: "package.json", use: "@vercel/remix-builder" },
7321
7324
  ignoreRuntimes: ["@vercel/node"],
7322
7325
  detectors: {
@@ -7361,7 +7364,7 @@ var require_frameworks = __commonJS({
7361
7364
  description: "A user-obsessed, standards-focused, multi-strategy router you can deploy anywhere.",
7362
7365
  website: "https://reactrouter.com",
7363
7366
  sort: 7,
7364
- supersedes: ["hydrogen", "vite"],
7367
+ supersedes: ["hydrogen", "vite", "node"],
7365
7368
  useRuntime: { src: "package.json", use: "@vercel/remix-builder" },
7366
7369
  ignoreRuntimes: ["@vercel/node"],
7367
7370
  detectors: {
@@ -9479,6 +9482,7 @@ var require_frameworks = __commonJS({
9479
9482
  tagline: "Web framework built on Web Standards",
9480
9483
  description: "Fast, lightweight, built on Web Standards. Support for any JavaScript runtime.",
9481
9484
  website: "https://hono.dev",
9485
+ supersedes: ["node"],
9482
9486
  useRuntime: { src: "index.js", use: "@vercel/hono" },
9483
9487
  defaultRoutes: [
9484
9488
  {
@@ -9666,6 +9670,7 @@ var require_frameworks = __commonJS({
9666
9670
  tagline: "Fast, unopinionated, minimalist web framework for Node.js",
9667
9671
  description: "Fast, unopinionated, minimalist web framework for Node.js",
9668
9672
  website: "https://expressjs.com",
9673
+ supersedes: ["node"],
9669
9674
  useRuntime: { src: "index.js", use: "@vercel/express" },
9670
9675
  defaultRoutes: [
9671
9676
  {
@@ -9851,6 +9856,7 @@ var require_frameworks = __commonJS({
9851
9856
  tagline: "Universal, Tiny, and Fast Servers",
9852
9857
  description: "H(TTP) server framework built on top of web standards for high performance and composability.",
9853
9858
  website: "https://h3.dev/",
9859
+ supersedes: ["node"],
9854
9860
  useRuntime: { src: "index.js", use: "@vercel/h3" },
9855
9861
  defaultRoutes: [
9856
9862
  {
@@ -10036,6 +10042,7 @@ var require_frameworks = __commonJS({
10036
10042
  tagline: "Expressive middleware for Node.js using ES2017 async functions",
10037
10043
  description: "Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.",
10038
10044
  website: "https://koajs.com",
10045
+ supersedes: ["node"],
10039
10046
  useRuntime: { src: "index.js", use: "@vercel/koa" },
10040
10047
  defaultRoutes: [
10041
10048
  {
@@ -10221,6 +10228,7 @@ var require_frameworks = __commonJS({
10221
10228
  tagline: "Framework for building efficient, scalable Node.js server-side applications",
10222
10229
  description: "A progressive Node.js framework for building efficient, reliable and scalable server-side applications.",
10223
10230
  website: "https://nestjs.com/",
10231
+ supersedes: ["node"],
10224
10232
  useRuntime: { src: "index.js", use: "@vercel/nestjs" },
10225
10233
  defaultRoutes: [
10226
10234
  {
@@ -10454,6 +10462,7 @@ var require_frameworks = __commonJS({
10454
10462
  tagline: "Ergonomic framework for humans",
10455
10463
  description: "TypeScript with End-to-End Type Safety, type integrity, and exceptional developer experience. Supercharged by Bun.",
10456
10464
  website: "https://elysiajs.com/",
10465
+ supersedes: ["node"],
10457
10466
  useRuntime: { src: "index.js", use: "@vercel/elysia" },
10458
10467
  defaultRoutes: [
10459
10468
  {
@@ -10639,6 +10648,7 @@ var require_frameworks = __commonJS({
10639
10648
  tagline: "Fast and low overhead web framework, for Node.js",
10640
10649
  description: "Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture.",
10641
10650
  website: "https://fastify.dev/",
10651
+ supersedes: ["node"],
10642
10652
  useRuntime: { src: "index.js", use: "@vercel/fastify" },
10643
10653
  defaultRoutes: [
10644
10654
  {
@@ -11005,21 +11015,55 @@ var require_frameworks = __commonJS({
11005
11015
  {
11006
11016
  name: "Node",
11007
11017
  slug: "node",
11008
- experimental: true,
11009
11018
  runtimeFramework: true,
11010
11019
  logo: "https://api-frameworks.vercel.sh/framework-logos/node.svg",
11011
11020
  tagline: "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.",
11012
11021
  description: "A generic Node.js application deployed as a serverless function.",
11013
11022
  website: "https://nodejs.org",
11014
- useRuntime: { src: "server.ts", use: "@vercel/backends" },
11023
+ useRuntime: { src: "package.json", use: "@vercel/backends" },
11015
11024
  ignoreRuntimes: ["@vercel/node"],
11016
11025
  detectors: {
11017
11026
  every: [
11027
+ {
11028
+ path: "package.json"
11029
+ }
11030
+ ],
11031
+ some: [
11032
+ {
11033
+ path: "server.cjs"
11034
+ },
11035
+ {
11036
+ path: "server.js"
11037
+ },
11038
+ {
11039
+ path: "server.mjs"
11040
+ },
11041
+ {
11042
+ path: "server.mts"
11043
+ },
11018
11044
  {
11019
11045
  path: "server.ts"
11020
11046
  },
11021
11047
  {
11022
- path: "package.json"
11048
+ path: "server.cts"
11049
+ },
11050
+ {
11051
+ path: "src/server.cjs"
11052
+ },
11053
+ {
11054
+ path: "src/server.js"
11055
+ },
11056
+ {
11057
+ path: "src/server.mjs"
11058
+ },
11059
+ {
11060
+ path: "src/server.mts"
11061
+ },
11062
+ {
11063
+ path: "src/server.ts"
11064
+ },
11065
+ {
11066
+ path: "src/server.cts"
11023
11067
  }
11024
11068
  ]
11025
11069
  },
@@ -11032,7 +11076,7 @@ var require_frameworks = __commonJS({
11032
11076
  value: null
11033
11077
  },
11034
11078
  devCommand: {
11035
- placeholder: "`npm run dev` or `npx ts-node server.ts`",
11079
+ placeholder: "`npm run dev`, `node server.js`, or `npx ts-node server.ts`",
11036
11080
  value: null
11037
11081
  },
11038
11082
  outputDirectory: {
@@ -13441,7 +13485,7 @@ var require_ensure = __commonJS({
13441
13485
  // ../../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/utils.js
13442
13486
  var require_utils3 = __commonJS({
13443
13487
  "../../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/utils.js"(exports, module2) {
13444
- function stringify(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
13488
+ function stringify2(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
13445
13489
  const EOF = finalEOL ? EOL : "";
13446
13490
  const str = JSON.stringify(obj, replacer, spaces);
13447
13491
  return str.replace(/\n/g, EOL) + EOF;
@@ -13451,7 +13495,7 @@ var require_utils3 = __commonJS({
13451
13495
  content = content.toString("utf8");
13452
13496
  return content.replace(/^\uFEFF/, "");
13453
13497
  }
13454
- module2.exports = { stringify, stripBom };
13498
+ module2.exports = { stringify: stringify2, stripBom };
13455
13499
  }
13456
13500
  });
13457
13501
 
@@ -13465,7 +13509,7 @@ var require_jsonfile = __commonJS({
13465
13509
  _fs = require("fs");
13466
13510
  }
13467
13511
  var universalify = require_universalify();
13468
- var { stringify, stripBom } = require_utils3();
13512
+ var { stringify: stringify2, stripBom } = require_utils3();
13469
13513
  async function _readFile(file, options = {}) {
13470
13514
  if (typeof options === "string") {
13471
13515
  options = { encoding: options };
@@ -13509,13 +13553,13 @@ var require_jsonfile = __commonJS({
13509
13553
  }
13510
13554
  async function _writeFile(file, obj, options = {}) {
13511
13555
  const fs5 = options.fs || _fs;
13512
- const str = stringify(obj, options);
13556
+ const str = stringify2(obj, options);
13513
13557
  await universalify.fromCallback(fs5.writeFile)(file, str, options);
13514
13558
  }
13515
13559
  var writeFile = universalify.fromPromise(_writeFile);
13516
13560
  function writeFileSync(file, obj, options = {}) {
13517
13561
  const fs5 = options.fs || _fs;
13518
- const str = stringify(obj, options);
13562
+ const str = stringify2(obj, options);
13519
13563
  return fs5.writeFileSync(file, str, options);
13520
13564
  }
13521
13565
  var jsonfile = {
@@ -13589,10 +13633,10 @@ var require_output = __commonJS({
13589
13633
  var require_output_json = __commonJS({
13590
13634
  "../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/output-json.js"(exports, module2) {
13591
13635
  "use strict";
13592
- var { stringify } = require_utils3();
13636
+ var { stringify: stringify2 } = require_utils3();
13593
13637
  var { outputFile } = require_output();
13594
13638
  async function outputJson(file, data, options = {}) {
13595
- const str = stringify(data, options);
13639
+ const str = stringify2(data, options);
13596
13640
  await outputFile(file, str, options);
13597
13641
  }
13598
13642
  module2.exports = outputJson;
@@ -13603,10 +13647,10 @@ var require_output_json = __commonJS({
13603
13647
  var require_output_json_sync = __commonJS({
13604
13648
  "../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/output-json-sync.js"(exports, module2) {
13605
13649
  "use strict";
13606
- var { stringify } = require_utils3();
13650
+ var { stringify: stringify2 } = require_utils3();
13607
13651
  var { outputFileSync } = require_output();
13608
13652
  function outputJsonSync(file, data, options) {
13609
- const str = stringify(data, options);
13653
+ const str = stringify2(data, options);
13610
13654
  outputFileSync(file, str, options);
13611
13655
  }
13612
13656
  module2.exports = outputJsonSync;
@@ -14201,7 +14245,7 @@ var require_semver = __commonJS({
14201
14245
  var require_parse = __commonJS({
14202
14246
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/parse.js"(exports, module2) {
14203
14247
  var SemVer = require_semver();
14204
- var parse = (version2, options, throwErrors = false) => {
14248
+ var parse2 = (version2, options, throwErrors = false) => {
14205
14249
  if (version2 instanceof SemVer) {
14206
14250
  return version2;
14207
14251
  }
@@ -14214,16 +14258,16 @@ var require_parse = __commonJS({
14214
14258
  throw er;
14215
14259
  }
14216
14260
  };
14217
- module2.exports = parse;
14261
+ module2.exports = parse2;
14218
14262
  }
14219
14263
  });
14220
14264
 
14221
14265
  // ../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/valid.js
14222
14266
  var require_valid = __commonJS({
14223
14267
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/valid.js"(exports, module2) {
14224
- var parse = require_parse();
14268
+ var parse2 = require_parse();
14225
14269
  var valid = (version2, options) => {
14226
- const v = parse(version2, options);
14270
+ const v = parse2(version2, options);
14227
14271
  return v ? v.version : null;
14228
14272
  };
14229
14273
  module2.exports = valid;
@@ -14233,9 +14277,9 @@ var require_valid = __commonJS({
14233
14277
  // ../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/clean.js
14234
14278
  var require_clean = __commonJS({
14235
14279
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/clean.js"(exports, module2) {
14236
- var parse = require_parse();
14280
+ var parse2 = require_parse();
14237
14281
  var clean = (version2, options) => {
14238
- const s = parse(version2.trim().replace(/^[=v]+/, ""), options);
14282
+ const s = parse2(version2.trim().replace(/^[=v]+/, ""), options);
14239
14283
  return s ? s.version : null;
14240
14284
  };
14241
14285
  module2.exports = clean;
@@ -14268,10 +14312,10 @@ var require_inc = __commonJS({
14268
14312
  // ../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/diff.js
14269
14313
  var require_diff = __commonJS({
14270
14314
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/diff.js"(exports, module2) {
14271
- var parse = require_parse();
14315
+ var parse2 = require_parse();
14272
14316
  var diff = (version1, version2) => {
14273
- const v1 = parse(version1, null, true);
14274
- const v2 = parse(version2, null, true);
14317
+ const v1 = parse2(version1, null, true);
14318
+ const v2 = parse2(version2, null, true);
14275
14319
  const comparison = v1.compare(v2);
14276
14320
  if (comparison === 0) {
14277
14321
  return null;
@@ -14339,9 +14383,9 @@ var require_patch = __commonJS({
14339
14383
  // ../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/prerelease.js
14340
14384
  var require_prerelease = __commonJS({
14341
14385
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/prerelease.js"(exports, module2) {
14342
- var parse = require_parse();
14386
+ var parse2 = require_parse();
14343
14387
  var prerelease = (version2, options) => {
14344
- const parsed = parse(version2, options);
14388
+ const parsed = parse2(version2, options);
14345
14389
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
14346
14390
  };
14347
14391
  module2.exports = prerelease;
@@ -14513,7 +14557,7 @@ var require_cmp = __commonJS({
14513
14557
  var require_coerce = __commonJS({
14514
14558
  "../../node_modules/.pnpm/semver@7.5.2/node_modules/semver/functions/coerce.js"(exports, module2) {
14515
14559
  var SemVer = require_semver();
14516
- var parse = require_parse();
14560
+ var parse2 = require_parse();
14517
14561
  var { safeRe: re, t } = require_re();
14518
14562
  var coerce = (version2, options) => {
14519
14563
  if (version2 instanceof SemVer) {
@@ -14542,7 +14586,7 @@ var require_coerce = __commonJS({
14542
14586
  if (match === null) {
14543
14587
  return null;
14544
14588
  }
14545
- return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options);
14589
+ return parse2(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options);
14546
14590
  };
14547
14591
  module2.exports = coerce;
14548
14592
  }
@@ -16137,7 +16181,7 @@ var require_semver2 = __commonJS({
16137
16181
  var constants2 = require_constants();
16138
16182
  var SemVer = require_semver();
16139
16183
  var identifiers = require_identifiers();
16140
- var parse = require_parse();
16184
+ var parse2 = require_parse();
16141
16185
  var valid = require_valid();
16142
16186
  var clean = require_clean();
16143
16187
  var inc = require_inc();
@@ -16175,7 +16219,7 @@ var require_semver2 = __commonJS({
16175
16219
  var simplifyRange = require_simplify();
16176
16220
  var subset = require_subset();
16177
16221
  module2.exports = {
16178
- parse,
16222
+ parse: parse2,
16179
16223
  valid,
16180
16224
  clean,
16181
16225
  inc,
@@ -16480,7 +16524,7 @@ var require_dist4 = __commonJS({
16480
16524
  }
16481
16525
  return { ...defaults, ...options };
16482
16526
  }
16483
- function parse(contents, options) {
16527
+ function parse2(contents, options) {
16484
16528
  const config = {};
16485
16529
  const lines = contents.split(RE_LINES);
16486
16530
  for (const line of lines) {
@@ -16506,7 +16550,7 @@ var require_dist4 = __commonJS({
16506
16550
  if (!fs5.existsSync(path22)) {
16507
16551
  return {};
16508
16552
  }
16509
- return parse(fs5.readFileSync(path22, "utf-8"), options);
16553
+ return parse2(fs5.readFileSync(path22, "utf-8"), options);
16510
16554
  }
16511
16555
  function read(options) {
16512
16556
  options = withDefaults(options);
@@ -16546,7 +16590,7 @@ var require_dist4 = __commonJS({
16546
16590
  return update2(config, options);
16547
16591
  }
16548
16592
  exports.defaults = defaults;
16549
- exports.parse = parse;
16593
+ exports.parse = parse2;
16550
16594
  exports.parseFile = parseFile;
16551
16595
  exports.read = read;
16552
16596
  exports.readUser = readUser;
@@ -17085,9 +17129,9 @@ var require_minimatch = __commonJS({
17085
17129
  throw new TypeError("pattern is too long");
17086
17130
  }
17087
17131
  };
17088
- Minimatch.prototype.parse = parse;
17132
+ Minimatch.prototype.parse = parse2;
17089
17133
  var SUBPARSE = {};
17090
- function parse(pattern, isSub) {
17134
+ function parse2(pattern, isSub) {
17091
17135
  assertValidPattern(pattern);
17092
17136
  var options = this.options;
17093
17137
  if (pattern === "**") {
@@ -17616,8 +17660,8 @@ var require_semver3 = __commonJS({
17616
17660
  }
17617
17661
  }
17618
17662
  var i;
17619
- exports.parse = parse;
17620
- function parse(version2, options) {
17663
+ exports.parse = parse2;
17664
+ function parse2(version2, options) {
17621
17665
  if (!options || typeof options !== "object") {
17622
17666
  options = {
17623
17667
  loose: !!options,
@@ -17645,12 +17689,12 @@ var require_semver3 = __commonJS({
17645
17689
  }
17646
17690
  exports.valid = valid;
17647
17691
  function valid(version2, options) {
17648
- var v = parse(version2, options);
17692
+ var v = parse2(version2, options);
17649
17693
  return v ? v.version : null;
17650
17694
  }
17651
17695
  exports.clean = clean;
17652
17696
  function clean(version2, options) {
17653
- var s = parse(version2.trim().replace(/^[=v]+/, ""), options);
17697
+ var s = parse2(version2.trim().replace(/^[=v]+/, ""), options);
17654
17698
  return s ? s.version : null;
17655
17699
  }
17656
17700
  exports.SemVer = SemVer;
@@ -17882,8 +17926,8 @@ var require_semver3 = __commonJS({
17882
17926
  if (eq(version1, version2)) {
17883
17927
  return null;
17884
17928
  } else {
17885
- var v1 = parse(version1);
17886
- var v2 = parse(version2);
17929
+ var v1 = parse2(version1);
17930
+ var v2 = parse2(version2);
17887
17931
  var prefix = "";
17888
17932
  if (v1.prerelease.length || v2.prerelease.length) {
17889
17933
  prefix = "pre";
@@ -18587,7 +18631,7 @@ var require_semver3 = __commonJS({
18587
18631
  }
18588
18632
  exports.prerelease = prerelease;
18589
18633
  function prerelease(version2, options) {
18590
- var parsed = parse(version2, options);
18634
+ var parsed = parse2(version2, options);
18591
18635
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
18592
18636
  }
18593
18637
  exports.intersects = intersects;
@@ -18624,7 +18668,7 @@ var require_semver3 = __commonJS({
18624
18668
  if (match === null) {
18625
18669
  return null;
18626
18670
  }
18627
- return parse(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
18671
+ return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
18628
18672
  }
18629
18673
  }
18630
18674
  });
@@ -18756,7 +18800,7 @@ var require_dist5 = __commonJS({
18756
18800
  tokens.push({ type: "END", index: i, value: "" });
18757
18801
  return tokens;
18758
18802
  }
18759
- function parse(str, options) {
18803
+ function parse2(str, options) {
18760
18804
  if (options === void 0) {
18761
18805
  options = {};
18762
18806
  }
@@ -18838,9 +18882,9 @@ var require_dist5 = __commonJS({
18838
18882
  }
18839
18883
  return result;
18840
18884
  }
18841
- exports.parse = parse;
18885
+ exports.parse = parse2;
18842
18886
  function compile(str, options) {
18843
- return tokensToFunction(parse(str, options), options);
18887
+ return tokensToFunction(parse2(str, options), options);
18844
18888
  }
18845
18889
  exports.compile = compile;
18846
18890
  function tokensToFunction(tokens, options) {
@@ -18970,7 +19014,7 @@ var require_dist5 = __commonJS({
18970
19014
  return new RegExp("(?:" + parts.join("|") + ")", flags(options));
18971
19015
  }
18972
19016
  function stringToRegexp(path6, keys, options) {
18973
- return tokensToRegexp(parse(path6, options), keys, options);
19017
+ return tokensToRegexp(parse2(path6, options), keys, options);
18974
19018
  }
18975
19019
  function tokensToRegexp(tokens, keys, options) {
18976
19020
  if (options === void 0) {
@@ -19127,7 +19171,7 @@ var require_dist6 = __commonJS({
19127
19171
  tokens.push({ type: "END", index: i, value: "" });
19128
19172
  return tokens;
19129
19173
  }
19130
- function parse(str, options) {
19174
+ function parse2(str, options) {
19131
19175
  if (options === void 0) {
19132
19176
  options = {};
19133
19177
  }
@@ -19226,9 +19270,9 @@ var require_dist6 = __commonJS({
19226
19270
  }
19227
19271
  return result;
19228
19272
  }
19229
- exports.parse = parse;
19273
+ exports.parse = parse2;
19230
19274
  function compile(str, options) {
19231
- return tokensToFunction(parse(str, options), options);
19275
+ return tokensToFunction(parse2(str, options), options);
19232
19276
  }
19233
19277
  exports.compile = compile;
19234
19278
  function tokensToFunction(tokens, options) {
@@ -19360,7 +19404,7 @@ var require_dist6 = __commonJS({
19360
19404
  return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options));
19361
19405
  }
19362
19406
  function stringToRegexp(path6, keys, options) {
19363
- return tokensToRegexp(parse(path6, options), keys, options);
19407
+ return tokensToRegexp(parse2(path6, options), keys, options);
19364
19408
  }
19365
19409
  function tokensToRegexp(tokens, keys, options) {
19366
19410
  if (options === void 0) {
@@ -21268,6 +21312,925 @@ var require_types3 = __commonJS({
21268
21312
  }
21269
21313
  });
21270
21314
 
21315
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/error.js
21316
+ function getLineColFromPtr(string, ptr) {
21317
+ let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
21318
+ return [lines.length, lines.pop().length + 1];
21319
+ }
21320
+ function makeCodeBlock(string, line, column) {
21321
+ let lines = string.split(/\r\n|\n|\r/g);
21322
+ let codeblock = "";
21323
+ let numberLen = (Math.log10(line + 1) | 0) + 1;
21324
+ for (let i = line - 1; i <= line + 1; i++) {
21325
+ let l = lines[i - 1];
21326
+ if (!l)
21327
+ continue;
21328
+ codeblock += i.toString().padEnd(numberLen, " ");
21329
+ codeblock += ": ";
21330
+ codeblock += l;
21331
+ codeblock += "\n";
21332
+ if (i === line) {
21333
+ codeblock += " ".repeat(numberLen + column + 2);
21334
+ codeblock += "^\n";
21335
+ }
21336
+ }
21337
+ return codeblock;
21338
+ }
21339
+ var TomlError;
21340
+ var init_error = __esm({
21341
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/error.js"() {
21342
+ TomlError = class extends Error {
21343
+ constructor(message, options) {
21344
+ const [line, column] = getLineColFromPtr(options.toml, options.ptr);
21345
+ const codeblock = makeCodeBlock(options.toml, line, column);
21346
+ super(`Invalid TOML document: ${message}
21347
+
21348
+ ${codeblock}`, options);
21349
+ __publicField(this, "line");
21350
+ __publicField(this, "column");
21351
+ __publicField(this, "codeblock");
21352
+ this.line = line;
21353
+ this.column = column;
21354
+ this.codeblock = codeblock;
21355
+ }
21356
+ };
21357
+ }
21358
+ });
21359
+
21360
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/util.js
21361
+ function isEscaped(str, ptr) {
21362
+ let i = 0;
21363
+ while (str[ptr - ++i] === "\\")
21364
+ ;
21365
+ return --i && i % 2;
21366
+ }
21367
+ function indexOfNewline(str, start = 0, end = str.length) {
21368
+ let idx = str.indexOf("\n", start);
21369
+ if (str[idx - 1] === "\r")
21370
+ idx--;
21371
+ return idx <= end ? idx : -1;
21372
+ }
21373
+ function skipComment(str, ptr) {
21374
+ for (let i = ptr; i < str.length; i++) {
21375
+ let c = str[i];
21376
+ if (c === "\n")
21377
+ return i;
21378
+ if (c === "\r" && str[i + 1] === "\n")
21379
+ return i + 1;
21380
+ if (c < " " && c !== " " || c === "\x7F") {
21381
+ throw new TomlError("control characters are not allowed in comments", {
21382
+ toml: str,
21383
+ ptr
21384
+ });
21385
+ }
21386
+ }
21387
+ return str.length;
21388
+ }
21389
+ function skipVoid(str, ptr, banNewLines, banComments) {
21390
+ let c;
21391
+ while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
21392
+ ptr++;
21393
+ return banComments || c !== "#" ? ptr : skipVoid(str, skipComment(str, ptr), banNewLines);
21394
+ }
21395
+ function skipUntil(str, ptr, sep, end, banNewLines = false) {
21396
+ if (!end) {
21397
+ ptr = indexOfNewline(str, ptr);
21398
+ return ptr < 0 ? str.length : ptr;
21399
+ }
21400
+ for (let i = ptr; i < str.length; i++) {
21401
+ let c = str[i];
21402
+ if (c === "#") {
21403
+ i = indexOfNewline(str, i);
21404
+ } else if (c === sep) {
21405
+ return i + 1;
21406
+ } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
21407
+ return i;
21408
+ }
21409
+ }
21410
+ throw new TomlError("cannot find end of structure", {
21411
+ toml: str,
21412
+ ptr
21413
+ });
21414
+ }
21415
+ function getStringEnd(str, seek) {
21416
+ let first = str[seek];
21417
+ let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
21418
+ seek += target.length - 1;
21419
+ do
21420
+ seek = str.indexOf(target, ++seek);
21421
+ while (seek > -1 && first !== "'" && isEscaped(str, seek));
21422
+ if (seek > -1) {
21423
+ seek += target.length;
21424
+ if (target.length > 1) {
21425
+ if (str[seek] === first)
21426
+ seek++;
21427
+ if (str[seek] === first)
21428
+ seek++;
21429
+ }
21430
+ }
21431
+ return seek;
21432
+ }
21433
+ var init_util = __esm({
21434
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/util.js"() {
21435
+ init_error();
21436
+ }
21437
+ });
21438
+
21439
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/date.js
21440
+ var DATE_TIME_RE, _hasDate, _hasTime, _offset, _TomlDate, TomlDate;
21441
+ var init_date = __esm({
21442
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/date.js"() {
21443
+ DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
21444
+ _TomlDate = class _TomlDate extends Date {
21445
+ constructor(date) {
21446
+ let hasDate = true;
21447
+ let hasTime = true;
21448
+ let offset = "Z";
21449
+ if (typeof date === "string") {
21450
+ let match = date.match(DATE_TIME_RE);
21451
+ if (match) {
21452
+ if (!match[1]) {
21453
+ hasDate = false;
21454
+ date = `0000-01-01T${date}`;
21455
+ }
21456
+ hasTime = !!match[2];
21457
+ hasTime && date[10] === " " && (date = date.replace(" ", "T"));
21458
+ if (match[2] && +match[2] > 23) {
21459
+ date = "";
21460
+ } else {
21461
+ offset = match[3] || null;
21462
+ date = date.toUpperCase();
21463
+ if (!offset && hasTime)
21464
+ date += "Z";
21465
+ }
21466
+ } else {
21467
+ date = "";
21468
+ }
21469
+ }
21470
+ super(date);
21471
+ __privateAdd(this, _hasDate, false);
21472
+ __privateAdd(this, _hasTime, false);
21473
+ __privateAdd(this, _offset, null);
21474
+ if (!isNaN(this.getTime())) {
21475
+ __privateSet(this, _hasDate, hasDate);
21476
+ __privateSet(this, _hasTime, hasTime);
21477
+ __privateSet(this, _offset, offset);
21478
+ }
21479
+ }
21480
+ isDateTime() {
21481
+ return __privateGet(this, _hasDate) && __privateGet(this, _hasTime);
21482
+ }
21483
+ isLocal() {
21484
+ return !__privateGet(this, _hasDate) || !__privateGet(this, _hasTime) || !__privateGet(this, _offset);
21485
+ }
21486
+ isDate() {
21487
+ return __privateGet(this, _hasDate) && !__privateGet(this, _hasTime);
21488
+ }
21489
+ isTime() {
21490
+ return __privateGet(this, _hasTime) && !__privateGet(this, _hasDate);
21491
+ }
21492
+ isValid() {
21493
+ return __privateGet(this, _hasDate) || __privateGet(this, _hasTime);
21494
+ }
21495
+ toISOString() {
21496
+ let iso = super.toISOString();
21497
+ if (this.isDate())
21498
+ return iso.slice(0, 10);
21499
+ if (this.isTime())
21500
+ return iso.slice(11, 23);
21501
+ if (__privateGet(this, _offset) === null)
21502
+ return iso.slice(0, -1);
21503
+ if (__privateGet(this, _offset) === "Z")
21504
+ return iso;
21505
+ let offset = +__privateGet(this, _offset).slice(1, 3) * 60 + +__privateGet(this, _offset).slice(4, 6);
21506
+ offset = __privateGet(this, _offset)[0] === "-" ? offset : -offset;
21507
+ let offsetDate = new Date(this.getTime() - offset * 6e4);
21508
+ return offsetDate.toISOString().slice(0, -1) + __privateGet(this, _offset);
21509
+ }
21510
+ static wrapAsOffsetDateTime(jsDate, offset = "Z") {
21511
+ let date = new _TomlDate(jsDate);
21512
+ __privateSet(date, _offset, offset);
21513
+ return date;
21514
+ }
21515
+ static wrapAsLocalDateTime(jsDate) {
21516
+ let date = new _TomlDate(jsDate);
21517
+ __privateSet(date, _offset, null);
21518
+ return date;
21519
+ }
21520
+ static wrapAsLocalDate(jsDate) {
21521
+ let date = new _TomlDate(jsDate);
21522
+ __privateSet(date, _hasTime, false);
21523
+ __privateSet(date, _offset, null);
21524
+ return date;
21525
+ }
21526
+ static wrapAsLocalTime(jsDate) {
21527
+ let date = new _TomlDate(jsDate);
21528
+ __privateSet(date, _hasDate, false);
21529
+ __privateSet(date, _offset, null);
21530
+ return date;
21531
+ }
21532
+ };
21533
+ _hasDate = new WeakMap();
21534
+ _hasTime = new WeakMap();
21535
+ _offset = new WeakMap();
21536
+ TomlDate = _TomlDate;
21537
+ }
21538
+ });
21539
+
21540
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/primitive.js
21541
+ function parseString(str, ptr = 0, endPtr = str.length) {
21542
+ let isLiteral = str[ptr] === "'";
21543
+ let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
21544
+ if (isMultiline) {
21545
+ endPtr -= 2;
21546
+ if (str[ptr += 2] === "\r")
21547
+ ptr++;
21548
+ if (str[ptr] === "\n")
21549
+ ptr++;
21550
+ }
21551
+ let tmp = 0;
21552
+ let isEscape;
21553
+ let parsed = "";
21554
+ let sliceStart = ptr;
21555
+ while (ptr < endPtr - 1) {
21556
+ let c = str[ptr++];
21557
+ if (c === "\n" || c === "\r" && str[ptr] === "\n") {
21558
+ if (!isMultiline) {
21559
+ throw new TomlError("newlines are not allowed in strings", {
21560
+ toml: str,
21561
+ ptr: ptr - 1
21562
+ });
21563
+ }
21564
+ } else if (c < " " && c !== " " || c === "\x7F") {
21565
+ throw new TomlError("control characters are not allowed in strings", {
21566
+ toml: str,
21567
+ ptr: ptr - 1
21568
+ });
21569
+ }
21570
+ if (isEscape) {
21571
+ isEscape = false;
21572
+ if (c === "u" || c === "U") {
21573
+ let code = str.slice(ptr, ptr += c === "u" ? 4 : 8);
21574
+ if (!ESCAPE_REGEX.test(code)) {
21575
+ throw new TomlError("invalid unicode escape", {
21576
+ toml: str,
21577
+ ptr: tmp
21578
+ });
21579
+ }
21580
+ try {
21581
+ parsed += String.fromCodePoint(parseInt(code, 16));
21582
+ } catch {
21583
+ throw new TomlError("invalid unicode escape", {
21584
+ toml: str,
21585
+ ptr: tmp
21586
+ });
21587
+ }
21588
+ } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
21589
+ ptr = skipVoid(str, ptr - 1, true);
21590
+ if (str[ptr] !== "\n" && str[ptr] !== "\r") {
21591
+ throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
21592
+ toml: str,
21593
+ ptr: tmp
21594
+ });
21595
+ }
21596
+ ptr = skipVoid(str, ptr);
21597
+ } else if (c in ESC_MAP) {
21598
+ parsed += ESC_MAP[c];
21599
+ } else {
21600
+ throw new TomlError("unrecognized escape sequence", {
21601
+ toml: str,
21602
+ ptr: tmp
21603
+ });
21604
+ }
21605
+ sliceStart = ptr;
21606
+ } else if (!isLiteral && c === "\\") {
21607
+ tmp = ptr - 1;
21608
+ isEscape = true;
21609
+ parsed += str.slice(sliceStart, tmp);
21610
+ }
21611
+ }
21612
+ return parsed + str.slice(sliceStart, endPtr - 1);
21613
+ }
21614
+ function parseValue(value, toml, ptr, integersAsBigInt) {
21615
+ if (value === "true")
21616
+ return true;
21617
+ if (value === "false")
21618
+ return false;
21619
+ if (value === "-inf")
21620
+ return -Infinity;
21621
+ if (value === "inf" || value === "+inf")
21622
+ return Infinity;
21623
+ if (value === "nan" || value === "+nan" || value === "-nan")
21624
+ return NaN;
21625
+ if (value === "-0")
21626
+ return integersAsBigInt ? 0n : 0;
21627
+ let isInt = INT_REGEX.test(value);
21628
+ if (isInt || FLOAT_REGEX.test(value)) {
21629
+ if (LEADING_ZERO.test(value)) {
21630
+ throw new TomlError("leading zeroes are not allowed", {
21631
+ toml,
21632
+ ptr
21633
+ });
21634
+ }
21635
+ value = value.replace(/_/g, "");
21636
+ let numeric = +value;
21637
+ if (isNaN(numeric)) {
21638
+ throw new TomlError("invalid number", {
21639
+ toml,
21640
+ ptr
21641
+ });
21642
+ }
21643
+ if (isInt) {
21644
+ if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
21645
+ throw new TomlError("integer value cannot be represented losslessly", {
21646
+ toml,
21647
+ ptr
21648
+ });
21649
+ }
21650
+ if (isInt || integersAsBigInt === true)
21651
+ numeric = BigInt(value);
21652
+ }
21653
+ return numeric;
21654
+ }
21655
+ const date = new TomlDate(value);
21656
+ if (!date.isValid()) {
21657
+ throw new TomlError("invalid value", {
21658
+ toml,
21659
+ ptr
21660
+ });
21661
+ }
21662
+ return date;
21663
+ }
21664
+ var INT_REGEX, FLOAT_REGEX, LEADING_ZERO, ESCAPE_REGEX, ESC_MAP;
21665
+ var init_primitive = __esm({
21666
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/primitive.js"() {
21667
+ init_util();
21668
+ init_date();
21669
+ init_error();
21670
+ INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
21671
+ FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
21672
+ LEADING_ZERO = /^[+-]?0[0-9_]/;
21673
+ ESCAPE_REGEX = /^[0-9a-f]{4,8}$/i;
21674
+ ESC_MAP = {
21675
+ b: "\b",
21676
+ t: " ",
21677
+ n: "\n",
21678
+ f: "\f",
21679
+ r: "\r",
21680
+ '"': '"',
21681
+ "\\": "\\"
21682
+ };
21683
+ }
21684
+ });
21685
+
21686
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/extract.js
21687
+ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
21688
+ let value = str.slice(startPtr, endPtr);
21689
+ let commentIdx = value.indexOf("#");
21690
+ if (commentIdx > -1) {
21691
+ skipComment(str, commentIdx);
21692
+ value = value.slice(0, commentIdx);
21693
+ }
21694
+ let trimmed = value.trimEnd();
21695
+ if (!allowNewLines) {
21696
+ let newlineIdx = value.indexOf("\n", trimmed.length);
21697
+ if (newlineIdx > -1) {
21698
+ throw new TomlError("newlines are not allowed in inline tables", {
21699
+ toml: str,
21700
+ ptr: startPtr + newlineIdx
21701
+ });
21702
+ }
21703
+ }
21704
+ return [trimmed, commentIdx];
21705
+ }
21706
+ function extractValue(str, ptr, end, depth, integersAsBigInt) {
21707
+ if (depth === 0) {
21708
+ throw new TomlError("document contains excessively nested structures. aborting.", {
21709
+ toml: str,
21710
+ ptr
21711
+ });
21712
+ }
21713
+ let c = str[ptr];
21714
+ if (c === "[" || c === "{") {
21715
+ let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
21716
+ let newPtr = end ? skipUntil(str, endPtr2, ",", end) : endPtr2;
21717
+ if (endPtr2 - newPtr && end === "}") {
21718
+ let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
21719
+ if (nextNewLine > -1) {
21720
+ throw new TomlError("newlines are not allowed in inline tables", {
21721
+ toml: str,
21722
+ ptr: nextNewLine
21723
+ });
21724
+ }
21725
+ }
21726
+ return [value, newPtr];
21727
+ }
21728
+ let endPtr;
21729
+ if (c === '"' || c === "'") {
21730
+ endPtr = getStringEnd(str, ptr);
21731
+ let parsed = parseString(str, ptr, endPtr);
21732
+ if (end) {
21733
+ endPtr = skipVoid(str, endPtr, end !== "]");
21734
+ if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
21735
+ throw new TomlError("unexpected character encountered", {
21736
+ toml: str,
21737
+ ptr: endPtr
21738
+ });
21739
+ }
21740
+ endPtr += +(str[endPtr] === ",");
21741
+ }
21742
+ return [parsed, endPtr];
21743
+ }
21744
+ endPtr = skipUntil(str, ptr, ",", end);
21745
+ let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","), end === "]");
21746
+ if (!slice[0]) {
21747
+ throw new TomlError("incomplete key-value declaration: no value specified", {
21748
+ toml: str,
21749
+ ptr
21750
+ });
21751
+ }
21752
+ if (end && slice[1] > -1) {
21753
+ endPtr = skipVoid(str, ptr + slice[1]);
21754
+ endPtr += +(str[endPtr] === ",");
21755
+ }
21756
+ return [
21757
+ parseValue(slice[0], str, ptr, integersAsBigInt),
21758
+ endPtr
21759
+ ];
21760
+ }
21761
+ var init_extract = __esm({
21762
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/extract.js"() {
21763
+ init_primitive();
21764
+ init_struct();
21765
+ init_util();
21766
+ init_error();
21767
+ }
21768
+ });
21769
+
21770
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/struct.js
21771
+ function parseKey(str, ptr, end = "=") {
21772
+ let dot = ptr - 1;
21773
+ let parsed = [];
21774
+ let endPtr = str.indexOf(end, ptr);
21775
+ if (endPtr < 0) {
21776
+ throw new TomlError("incomplete key-value: cannot find end of key", {
21777
+ toml: str,
21778
+ ptr
21779
+ });
21780
+ }
21781
+ do {
21782
+ let c = str[ptr = ++dot];
21783
+ if (c !== " " && c !== " ") {
21784
+ if (c === '"' || c === "'") {
21785
+ if (c === str[ptr + 1] && c === str[ptr + 2]) {
21786
+ throw new TomlError("multiline strings are not allowed in keys", {
21787
+ toml: str,
21788
+ ptr
21789
+ });
21790
+ }
21791
+ let eos = getStringEnd(str, ptr);
21792
+ if (eos < 0) {
21793
+ throw new TomlError("unfinished string encountered", {
21794
+ toml: str,
21795
+ ptr
21796
+ });
21797
+ }
21798
+ dot = str.indexOf(".", eos);
21799
+ let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
21800
+ let newLine = indexOfNewline(strEnd);
21801
+ if (newLine > -1) {
21802
+ throw new TomlError("newlines are not allowed in keys", {
21803
+ toml: str,
21804
+ ptr: ptr + dot + newLine
21805
+ });
21806
+ }
21807
+ if (strEnd.trimStart()) {
21808
+ throw new TomlError("found extra tokens after the string part", {
21809
+ toml: str,
21810
+ ptr: eos
21811
+ });
21812
+ }
21813
+ if (endPtr < eos) {
21814
+ endPtr = str.indexOf(end, eos);
21815
+ if (endPtr < 0) {
21816
+ throw new TomlError("incomplete key-value: cannot find end of key", {
21817
+ toml: str,
21818
+ ptr
21819
+ });
21820
+ }
21821
+ }
21822
+ parsed.push(parseString(str, ptr, eos));
21823
+ } else {
21824
+ dot = str.indexOf(".", ptr);
21825
+ let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
21826
+ if (!KEY_PART_RE.test(part)) {
21827
+ throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
21828
+ toml: str,
21829
+ ptr
21830
+ });
21831
+ }
21832
+ parsed.push(part.trimEnd());
21833
+ }
21834
+ }
21835
+ } while (dot + 1 && dot < endPtr);
21836
+ return [parsed, skipVoid(str, endPtr + 1, true, true)];
21837
+ }
21838
+ function parseInlineTable(str, ptr, depth, integersAsBigInt) {
21839
+ let res = {};
21840
+ let seen = /* @__PURE__ */ new Set();
21841
+ let c;
21842
+ let comma = 0;
21843
+ ptr++;
21844
+ while ((c = str[ptr++]) !== "}" && c) {
21845
+ let err = { toml: str, ptr: ptr - 1 };
21846
+ if (c === "\n") {
21847
+ throw new TomlError("newlines are not allowed in inline tables", err);
21848
+ } else if (c === "#") {
21849
+ throw new TomlError("inline tables cannot contain comments", err);
21850
+ } else if (c === ",") {
21851
+ throw new TomlError("expected key-value, found comma", err);
21852
+ } else if (c !== " " && c !== " ") {
21853
+ let k;
21854
+ let t = res;
21855
+ let hasOwn = false;
21856
+ let [key, keyEndPtr] = parseKey(str, ptr - 1);
21857
+ for (let i = 0; i < key.length; i++) {
21858
+ if (i)
21859
+ t = hasOwn ? t[k] : t[k] = {};
21860
+ k = key[i];
21861
+ if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
21862
+ throw new TomlError("trying to redefine an already defined value", {
21863
+ toml: str,
21864
+ ptr
21865
+ });
21866
+ }
21867
+ if (!hasOwn && k === "__proto__") {
21868
+ Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
21869
+ }
21870
+ }
21871
+ if (hasOwn) {
21872
+ throw new TomlError("trying to redefine an already defined value", {
21873
+ toml: str,
21874
+ ptr
21875
+ });
21876
+ }
21877
+ let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
21878
+ seen.add(value);
21879
+ t[k] = value;
21880
+ ptr = valueEndPtr;
21881
+ comma = str[ptr - 1] === "," ? ptr - 1 : 0;
21882
+ }
21883
+ }
21884
+ if (comma) {
21885
+ throw new TomlError("trailing commas are not allowed in inline tables", {
21886
+ toml: str,
21887
+ ptr: comma
21888
+ });
21889
+ }
21890
+ if (!c) {
21891
+ throw new TomlError("unfinished table encountered", {
21892
+ toml: str,
21893
+ ptr
21894
+ });
21895
+ }
21896
+ return [res, ptr];
21897
+ }
21898
+ function parseArray(str, ptr, depth, integersAsBigInt) {
21899
+ let res = [];
21900
+ let c;
21901
+ ptr++;
21902
+ while ((c = str[ptr++]) !== "]" && c) {
21903
+ if (c === ",") {
21904
+ throw new TomlError("expected value, found comma", {
21905
+ toml: str,
21906
+ ptr: ptr - 1
21907
+ });
21908
+ } else if (c === "#")
21909
+ ptr = skipComment(str, ptr);
21910
+ else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
21911
+ let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
21912
+ res.push(e[0]);
21913
+ ptr = e[1];
21914
+ }
21915
+ }
21916
+ if (!c) {
21917
+ throw new TomlError("unfinished array encountered", {
21918
+ toml: str,
21919
+ ptr
21920
+ });
21921
+ }
21922
+ return [res, ptr];
21923
+ }
21924
+ var KEY_PART_RE;
21925
+ var init_struct = __esm({
21926
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/struct.js"() {
21927
+ init_primitive();
21928
+ init_extract();
21929
+ init_util();
21930
+ init_error();
21931
+ KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
21932
+ }
21933
+ });
21934
+
21935
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/parse.js
21936
+ function peekTable(key, table, meta, type) {
21937
+ let t = table;
21938
+ let m = meta;
21939
+ let k;
21940
+ let hasOwn = false;
21941
+ let state;
21942
+ for (let i = 0; i < key.length; i++) {
21943
+ if (i) {
21944
+ t = hasOwn ? t[k] : t[k] = {};
21945
+ m = (state = m[k]).c;
21946
+ if (type === 0 && (state.t === 1 || state.t === 2)) {
21947
+ return null;
21948
+ }
21949
+ if (state.t === 2) {
21950
+ let l = t.length - 1;
21951
+ t = t[l];
21952
+ m = m[l].c;
21953
+ }
21954
+ }
21955
+ k = key[i];
21956
+ if ((hasOwn = Object.hasOwn(t, k)) && m[k]?.t === 0 && m[k]?.d) {
21957
+ return null;
21958
+ }
21959
+ if (!hasOwn) {
21960
+ if (k === "__proto__") {
21961
+ Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
21962
+ Object.defineProperty(m, k, { enumerable: true, configurable: true, writable: true });
21963
+ }
21964
+ m[k] = {
21965
+ t: i < key.length - 1 && type === 2 ? 3 : type,
21966
+ d: false,
21967
+ i: 0,
21968
+ c: {}
21969
+ };
21970
+ }
21971
+ }
21972
+ state = m[k];
21973
+ if (state.t !== type && !(type === 1 && state.t === 3)) {
21974
+ return null;
21975
+ }
21976
+ if (type === 2) {
21977
+ if (!state.d) {
21978
+ state.d = true;
21979
+ t[k] = [];
21980
+ }
21981
+ t[k].push(t = {});
21982
+ state.c[state.i++] = state = { t: 1, d: false, i: 0, c: {} };
21983
+ }
21984
+ if (state.d) {
21985
+ return null;
21986
+ }
21987
+ state.d = true;
21988
+ if (type === 1) {
21989
+ t = hasOwn ? t[k] : t[k] = {};
21990
+ } else if (type === 0 && hasOwn) {
21991
+ return null;
21992
+ }
21993
+ return [k, t, state.c];
21994
+ }
21995
+ function parse(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
21996
+ let res = {};
21997
+ let meta = {};
21998
+ let tbl = res;
21999
+ let m = meta;
22000
+ for (let ptr = skipVoid(toml, 0); ptr < toml.length; ) {
22001
+ if (toml[ptr] === "[") {
22002
+ let isTableArray = toml[++ptr] === "[";
22003
+ let k = parseKey(toml, ptr += +isTableArray, "]");
22004
+ if (isTableArray) {
22005
+ if (toml[k[1] - 1] !== "]") {
22006
+ throw new TomlError("expected end of table declaration", {
22007
+ toml,
22008
+ ptr: k[1] - 1
22009
+ });
22010
+ }
22011
+ k[1]++;
22012
+ }
22013
+ let p = peekTable(
22014
+ k[0],
22015
+ res,
22016
+ meta,
22017
+ isTableArray ? 2 : 1
22018
+ /* Type.EXPLICIT */
22019
+ );
22020
+ if (!p) {
22021
+ throw new TomlError("trying to redefine an already defined table or value", {
22022
+ toml,
22023
+ ptr
22024
+ });
22025
+ }
22026
+ m = p[2];
22027
+ tbl = p[1];
22028
+ ptr = k[1];
22029
+ } else {
22030
+ let k = parseKey(toml, ptr);
22031
+ let p = peekTable(
22032
+ k[0],
22033
+ tbl,
22034
+ m,
22035
+ 0
22036
+ /* Type.DOTTED */
22037
+ );
22038
+ if (!p) {
22039
+ throw new TomlError("trying to redefine an already defined table or value", {
22040
+ toml,
22041
+ ptr
22042
+ });
22043
+ }
22044
+ let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
22045
+ p[1][p[0]] = v[0];
22046
+ ptr = v[1];
22047
+ }
22048
+ ptr = skipVoid(toml, ptr, true);
22049
+ if (toml[ptr] && toml[ptr] !== "\n" && toml[ptr] !== "\r") {
22050
+ throw new TomlError("each key-value declaration must be followed by an end-of-line", {
22051
+ toml,
22052
+ ptr
22053
+ });
22054
+ }
22055
+ ptr = skipVoid(toml, ptr);
22056
+ }
22057
+ return res;
22058
+ }
22059
+ var init_parse = __esm({
22060
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/parse.js"() {
22061
+ init_struct();
22062
+ init_extract();
22063
+ init_util();
22064
+ init_error();
22065
+ }
22066
+ });
22067
+
22068
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/stringify.js
22069
+ function extendedTypeOf(obj) {
22070
+ let type = typeof obj;
22071
+ if (type === "object") {
22072
+ if (Array.isArray(obj))
22073
+ return "array";
22074
+ if (obj instanceof Date)
22075
+ return "date";
22076
+ }
22077
+ return type;
22078
+ }
22079
+ function isArrayOfTables(obj) {
22080
+ for (let i = 0; i < obj.length; i++) {
22081
+ if (extendedTypeOf(obj[i]) !== "object")
22082
+ return false;
22083
+ }
22084
+ return obj.length != 0;
22085
+ }
22086
+ function formatString(s) {
22087
+ return JSON.stringify(s).replace(/\x7f/g, "\\u007f");
22088
+ }
22089
+ function stringifyValue(val, type, depth, numberAsFloat) {
22090
+ if (depth === 0) {
22091
+ throw new Error("Could not stringify the object: maximum object depth exceeded");
22092
+ }
22093
+ if (type === "number") {
22094
+ if (isNaN(val))
22095
+ return "nan";
22096
+ if (val === Infinity)
22097
+ return "inf";
22098
+ if (val === -Infinity)
22099
+ return "-inf";
22100
+ if (numberAsFloat && Number.isInteger(val))
22101
+ return val.toFixed(1);
22102
+ return val.toString();
22103
+ }
22104
+ if (type === "bigint" || type === "boolean") {
22105
+ return val.toString();
22106
+ }
22107
+ if (type === "string") {
22108
+ return formatString(val);
22109
+ }
22110
+ if (type === "date") {
22111
+ if (isNaN(val.getTime())) {
22112
+ throw new TypeError("cannot serialize invalid date");
22113
+ }
22114
+ return val.toISOString();
22115
+ }
22116
+ if (type === "object") {
22117
+ return stringifyInlineTable(val, depth, numberAsFloat);
22118
+ }
22119
+ if (type === "array") {
22120
+ return stringifyArray(val, depth, numberAsFloat);
22121
+ }
22122
+ }
22123
+ function stringifyInlineTable(obj, depth, numberAsFloat) {
22124
+ let keys = Object.keys(obj);
22125
+ if (keys.length === 0)
22126
+ return "{}";
22127
+ let res = "{ ";
22128
+ for (let i = 0; i < keys.length; i++) {
22129
+ let k = keys[i];
22130
+ if (i)
22131
+ res += ", ";
22132
+ res += BARE_KEY.test(k) ? k : formatString(k);
22133
+ res += " = ";
22134
+ res += stringifyValue(obj[k], extendedTypeOf(obj[k]), depth - 1, numberAsFloat);
22135
+ }
22136
+ return res + " }";
22137
+ }
22138
+ function stringifyArray(array, depth, numberAsFloat) {
22139
+ if (array.length === 0)
22140
+ return "[]";
22141
+ let res = "[ ";
22142
+ for (let i = 0; i < array.length; i++) {
22143
+ if (i)
22144
+ res += ", ";
22145
+ if (array[i] === null || array[i] === void 0) {
22146
+ throw new TypeError("arrays cannot contain null or undefined values");
22147
+ }
22148
+ res += stringifyValue(array[i], extendedTypeOf(array[i]), depth - 1, numberAsFloat);
22149
+ }
22150
+ return res + " ]";
22151
+ }
22152
+ function stringifyArrayTable(array, key, depth, numberAsFloat) {
22153
+ if (depth === 0) {
22154
+ throw new Error("Could not stringify the object: maximum object depth exceeded");
22155
+ }
22156
+ let res = "";
22157
+ for (let i = 0; i < array.length; i++) {
22158
+ res += `${res && "\n"}[[${key}]]
22159
+ `;
22160
+ res += stringifyTable(0, array[i], key, depth, numberAsFloat);
22161
+ }
22162
+ return res;
22163
+ }
22164
+ function stringifyTable(tableKey, obj, prefix, depth, numberAsFloat) {
22165
+ if (depth === 0) {
22166
+ throw new Error("Could not stringify the object: maximum object depth exceeded");
22167
+ }
22168
+ let preamble = "";
22169
+ let tables = "";
22170
+ let keys = Object.keys(obj);
22171
+ for (let i = 0; i < keys.length; i++) {
22172
+ let k = keys[i];
22173
+ if (obj[k] !== null && obj[k] !== void 0) {
22174
+ let type = extendedTypeOf(obj[k]);
22175
+ if (type === "symbol" || type === "function") {
22176
+ throw new TypeError(`cannot serialize values of type '${type}'`);
22177
+ }
22178
+ let key = BARE_KEY.test(k) ? k : formatString(k);
22179
+ if (type === "array" && isArrayOfTables(obj[k])) {
22180
+ tables += (tables && "\n") + stringifyArrayTable(obj[k], prefix ? `${prefix}.${key}` : key, depth - 1, numberAsFloat);
22181
+ } else if (type === "object") {
22182
+ let tblKey = prefix ? `${prefix}.${key}` : key;
22183
+ tables += (tables && "\n") + stringifyTable(tblKey, obj[k], tblKey, depth - 1, numberAsFloat);
22184
+ } else {
22185
+ preamble += key;
22186
+ preamble += " = ";
22187
+ preamble += stringifyValue(obj[k], type, depth, numberAsFloat);
22188
+ preamble += "\n";
22189
+ }
22190
+ }
22191
+ }
22192
+ if (tableKey && (preamble || !tables))
22193
+ preamble = preamble ? `[${tableKey}]
22194
+ ${preamble}` : `[${tableKey}]`;
22195
+ return preamble && tables ? `${preamble}
22196
+ ${tables}` : preamble || tables;
22197
+ }
22198
+ function stringify(obj, { maxDepth = 1e3, numbersAsFloat = false } = {}) {
22199
+ if (extendedTypeOf(obj) !== "object") {
22200
+ throw new TypeError("stringify can only be called with an object");
22201
+ }
22202
+ let str = stringifyTable(0, obj, "", maxDepth, numbersAsFloat);
22203
+ if (str[str.length - 1] !== "\n")
22204
+ return str + "\n";
22205
+ return str;
22206
+ }
22207
+ var BARE_KEY;
22208
+ var init_stringify = __esm({
22209
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/stringify.js"() {
22210
+ BARE_KEY = /^[a-z0-9-_]+$/i;
22211
+ }
22212
+ });
22213
+
22214
+ // ../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/index.js
22215
+ var dist_exports = {};
22216
+ __export(dist_exports, {
22217
+ TomlDate: () => TomlDate,
22218
+ TomlError: () => TomlError,
22219
+ default: () => dist_default,
22220
+ parse: () => parse,
22221
+ stringify: () => stringify
22222
+ });
22223
+ var dist_default;
22224
+ var init_dist = __esm({
22225
+ "../../node_modules/.pnpm/smol-toml@1.5.2/node_modules/smol-toml/dist/index.js"() {
22226
+ init_parse();
22227
+ init_stringify();
22228
+ init_date();
22229
+ init_error();
22230
+ dist_default = { parse, stringify, TomlDate, TomlError };
22231
+ }
22232
+ });
22233
+
21271
22234
  // ../fs-detectors/dist/services/utils.js
21272
22235
  var require_utils4 = __commonJS({
21273
22236
  "../fs-detectors/dist/services/utils.js"(exports, module2) {
@@ -21409,22 +22372,39 @@ var require_utils4 = __commonJS({
21409
22372
  }
21410
22373
  async function readVercelConfig(fs5) {
21411
22374
  const hasVercelJson = await fs5.hasPath("vercel.json");
21412
- if (!hasVercelJson) {
21413
- return { config: null, error: null };
22375
+ if (hasVercelJson) {
22376
+ try {
22377
+ const content = await fs5.readFile("vercel.json");
22378
+ const config = JSON.parse(content.toString());
22379
+ return { config, error: null };
22380
+ } catch {
22381
+ return {
22382
+ config: null,
22383
+ error: {
22384
+ code: "INVALID_VERCEL_JSON",
22385
+ message: "Failed to parse vercel.json. Ensure it contains valid JSON."
22386
+ }
22387
+ };
22388
+ }
21414
22389
  }
21415
- try {
21416
- const content = await fs5.readFile("vercel.json");
21417
- const config = JSON.parse(content.toString());
21418
- return { config, error: null };
21419
- } catch {
21420
- return {
21421
- config: null,
21422
- error: {
21423
- code: "INVALID_VERCEL_JSON",
21424
- message: "Failed to parse vercel.json. Ensure it contains valid JSON."
21425
- }
21426
- };
22390
+ const hasVercelToml = process.env.VERCEL_TOML_CONFIG_ENABLED === "1" && await fs5.hasPath("vercel.toml");
22391
+ if (hasVercelToml) {
22392
+ try {
22393
+ const { parse: tomlParse } = await Promise.resolve().then(() => (init_dist(), dist_exports));
22394
+ const content = await fs5.readFile("vercel.toml");
22395
+ const config = tomlParse(content.toString());
22396
+ return { config, error: null };
22397
+ } catch {
22398
+ return {
22399
+ config: null,
22400
+ error: {
22401
+ code: "INVALID_VERCEL_TOML",
22402
+ message: "Failed to parse vercel.toml. Ensure it contains valid TOML."
22403
+ }
22404
+ };
22405
+ }
21427
22406
  }
22407
+ return { config: null, error: null };
21428
22408
  }
21429
22409
  }
21430
22410
  });
@@ -23560,7 +24540,7 @@ var require_detect_builders = __commonJS({
23560
24540
  if (!hasNextApiFiles && (fileName.startsWith("pages/api") || fileName.startsWith("src/pages/api"))) {
23561
24541
  hasNextApiFiles = true;
23562
24542
  }
23563
- if (!fallbackEntrypoint && buildCommand && !fileName.includes("/") && fileName !== "now.json" && fileName !== "vercel.json") {
24543
+ if (!fallbackEntrypoint && buildCommand && !fileName.includes("/") && fileName !== "now.json" && fileName !== "vercel.json" && fileName !== "vercel.toml") {
23564
24544
  fallbackEntrypoint = fileName;
23565
24545
  }
23566
24546
  }
@@ -23696,6 +24676,14 @@ var require_detect_builders = __commonJS({
23696
24676
  return null;
23697
24677
  }
23698
24678
  }
24679
+ const nodeExtensions = [".js", ".mjs", ".ts", ".tsx"];
24680
+ if (process.env.VERCEL_NODE_FILTER_ENTRYPOINTS === "1" && nodeExtensions.some((ext) => fileName.endsWith(ext)) && options.workPath) {
24681
+ const fsPath = (0, import_path7.join)(options.workPath, fileName);
24682
+ const isEntrypoint = await (0, import_build_utils5.isNodeEntrypoint)({ fsPath });
24683
+ if (!isEntrypoint) {
24684
+ return null;
24685
+ }
24686
+ }
23699
24687
  const match = apiMatches.find(({ src = "**" }) => {
23700
24688
  return src === fileName || (0, import_minimatch.default)(fileName, src);
23701
24689
  });
@@ -29813,7 +30801,7 @@ var require_parse2 = __commonJS({
29813
30801
  var token;
29814
30802
  var key;
29815
30803
  var root;
29816
- module2.exports = function parse(text, reviver) {
30804
+ module2.exports = function parse2(text, reviver) {
29817
30805
  source = String(text);
29818
30806
  parseState = "start";
29819
30807
  stack = [];
@@ -30651,7 +31639,7 @@ var require_parse2 = __commonJS({
30651
31639
  var require_stringify = __commonJS({
30652
31640
  "../../node_modules/.pnpm/json5@2.2.2/node_modules/json5/lib/stringify.js"(exports, module2) {
30653
31641
  var util = require_util();
30654
- module2.exports = function stringify(value, replacer, space) {
31642
+ module2.exports = function stringify2(value, replacer, space) {
30655
31643
  const stack = [];
30656
31644
  let indent = "";
30657
31645
  let propertyList;
@@ -30869,11 +31857,11 @@ var require_stringify = __commonJS({
30869
31857
  // ../../node_modules/.pnpm/json5@2.2.2/node_modules/json5/lib/index.js
30870
31858
  var require_lib4 = __commonJS({
30871
31859
  "../../node_modules/.pnpm/json5@2.2.2/node_modules/json5/lib/index.js"(exports, module2) {
30872
- var parse = require_parse2();
30873
- var stringify = require_stringify();
31860
+ var parse2 = require_parse2();
31861
+ var stringify2 = require_stringify();
30874
31862
  var JSON5 = {
30875
- parse,
30876
- stringify
31863
+ parse: parse2,
31864
+ stringify: stringify2
30877
31865
  };
30878
31866
  module2.exports = JSON5;
30879
31867
  }
@@ -33277,4 +34265,265 @@ smol-toml/dist/index.cjs:
33277
34265
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33278
34266
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33279
34267
  *)
34268
+
34269
+ smol-toml/dist/error.js:
34270
+ (*!
34271
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34272
+ * SPDX-License-Identifier: BSD-3-Clause
34273
+ *
34274
+ * Redistribution and use in source and binary forms, with or without
34275
+ * modification, are permitted provided that the following conditions are met:
34276
+ *
34277
+ * 1. Redistributions of source code must retain the above copyright notice, this
34278
+ * list of conditions and the following disclaimer.
34279
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34280
+ * this list of conditions and the following disclaimer in the
34281
+ * documentation and/or other materials provided with the distribution.
34282
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34283
+ * may be used to endorse or promote products derived from this software without
34284
+ * specific prior written permission.
34285
+ *
34286
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34287
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34288
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34289
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34290
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34291
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34292
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34293
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34294
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34295
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34296
+ *)
34297
+
34298
+ smol-toml/dist/util.js:
34299
+ (*!
34300
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34301
+ * SPDX-License-Identifier: BSD-3-Clause
34302
+ *
34303
+ * Redistribution and use in source and binary forms, with or without
34304
+ * modification, are permitted provided that the following conditions are met:
34305
+ *
34306
+ * 1. Redistributions of source code must retain the above copyright notice, this
34307
+ * list of conditions and the following disclaimer.
34308
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34309
+ * this list of conditions and the following disclaimer in the
34310
+ * documentation and/or other materials provided with the distribution.
34311
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34312
+ * may be used to endorse or promote products derived from this software without
34313
+ * specific prior written permission.
34314
+ *
34315
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34316
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34317
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34318
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34319
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34320
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34321
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34322
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34323
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34324
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34325
+ *)
34326
+
34327
+ smol-toml/dist/date.js:
34328
+ (*!
34329
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34330
+ * SPDX-License-Identifier: BSD-3-Clause
34331
+ *
34332
+ * Redistribution and use in source and binary forms, with or without
34333
+ * modification, are permitted provided that the following conditions are met:
34334
+ *
34335
+ * 1. Redistributions of source code must retain the above copyright notice, this
34336
+ * list of conditions and the following disclaimer.
34337
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34338
+ * this list of conditions and the following disclaimer in the
34339
+ * documentation and/or other materials provided with the distribution.
34340
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34341
+ * may be used to endorse or promote products derived from this software without
34342
+ * specific prior written permission.
34343
+ *
34344
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34345
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34346
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34347
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34348
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34349
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34350
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34351
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34352
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34353
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34354
+ *)
34355
+
34356
+ smol-toml/dist/primitive.js:
34357
+ (*!
34358
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34359
+ * SPDX-License-Identifier: BSD-3-Clause
34360
+ *
34361
+ * Redistribution and use in source and binary forms, with or without
34362
+ * modification, are permitted provided that the following conditions are met:
34363
+ *
34364
+ * 1. Redistributions of source code must retain the above copyright notice, this
34365
+ * list of conditions and the following disclaimer.
34366
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34367
+ * this list of conditions and the following disclaimer in the
34368
+ * documentation and/or other materials provided with the distribution.
34369
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34370
+ * may be used to endorse or promote products derived from this software without
34371
+ * specific prior written permission.
34372
+ *
34373
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34374
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34375
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34376
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34377
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34378
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34379
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34380
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34381
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34382
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34383
+ *)
34384
+
34385
+ smol-toml/dist/extract.js:
34386
+ (*!
34387
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34388
+ * SPDX-License-Identifier: BSD-3-Clause
34389
+ *
34390
+ * Redistribution and use in source and binary forms, with or without
34391
+ * modification, are permitted provided that the following conditions are met:
34392
+ *
34393
+ * 1. Redistributions of source code must retain the above copyright notice, this
34394
+ * list of conditions and the following disclaimer.
34395
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34396
+ * this list of conditions and the following disclaimer in the
34397
+ * documentation and/or other materials provided with the distribution.
34398
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34399
+ * may be used to endorse or promote products derived from this software without
34400
+ * specific prior written permission.
34401
+ *
34402
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34403
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34404
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34405
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34406
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34407
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34408
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34409
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34410
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34411
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34412
+ *)
34413
+
34414
+ smol-toml/dist/struct.js:
34415
+ (*!
34416
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34417
+ * SPDX-License-Identifier: BSD-3-Clause
34418
+ *
34419
+ * Redistribution and use in source and binary forms, with or without
34420
+ * modification, are permitted provided that the following conditions are met:
34421
+ *
34422
+ * 1. Redistributions of source code must retain the above copyright notice, this
34423
+ * list of conditions and the following disclaimer.
34424
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34425
+ * this list of conditions and the following disclaimer in the
34426
+ * documentation and/or other materials provided with the distribution.
34427
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34428
+ * may be used to endorse or promote products derived from this software without
34429
+ * specific prior written permission.
34430
+ *
34431
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34432
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34433
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34434
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34435
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34436
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34437
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34438
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34439
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34440
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34441
+ *)
34442
+
34443
+ smol-toml/dist/parse.js:
34444
+ (*!
34445
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34446
+ * SPDX-License-Identifier: BSD-3-Clause
34447
+ *
34448
+ * Redistribution and use in source and binary forms, with or without
34449
+ * modification, are permitted provided that the following conditions are met:
34450
+ *
34451
+ * 1. Redistributions of source code must retain the above copyright notice, this
34452
+ * list of conditions and the following disclaimer.
34453
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34454
+ * this list of conditions and the following disclaimer in the
34455
+ * documentation and/or other materials provided with the distribution.
34456
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34457
+ * may be used to endorse or promote products derived from this software without
34458
+ * specific prior written permission.
34459
+ *
34460
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34461
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34462
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34463
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34464
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34465
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34466
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34467
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34468
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34469
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34470
+ *)
34471
+
34472
+ smol-toml/dist/stringify.js:
34473
+ (*!
34474
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34475
+ * SPDX-License-Identifier: BSD-3-Clause
34476
+ *
34477
+ * Redistribution and use in source and binary forms, with or without
34478
+ * modification, are permitted provided that the following conditions are met:
34479
+ *
34480
+ * 1. Redistributions of source code must retain the above copyright notice, this
34481
+ * list of conditions and the following disclaimer.
34482
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34483
+ * this list of conditions and the following disclaimer in the
34484
+ * documentation and/or other materials provided with the distribution.
34485
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34486
+ * may be used to endorse or promote products derived from this software without
34487
+ * specific prior written permission.
34488
+ *
34489
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34490
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34491
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34492
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34493
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34494
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34495
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34496
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34497
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34498
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34499
+ *)
34500
+
34501
+ smol-toml/dist/index.js:
34502
+ (*!
34503
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
34504
+ * SPDX-License-Identifier: BSD-3-Clause
34505
+ *
34506
+ * Redistribution and use in source and binary forms, with or without
34507
+ * modification, are permitted provided that the following conditions are met:
34508
+ *
34509
+ * 1. Redistributions of source code must retain the above copyright notice, this
34510
+ * list of conditions and the following disclaimer.
34511
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
34512
+ * this list of conditions and the following disclaimer in the
34513
+ * documentation and/or other materials provided with the distribution.
34514
+ * 3. Neither the name of the copyright holder nor the names of its contributors
34515
+ * may be used to endorse or promote products derived from this software without
34516
+ * specific prior written permission.
34517
+ *
34518
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34519
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34520
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34521
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34522
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34523
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
34524
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34525
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34526
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34527
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34528
+ *)
33280
34529
  */