@outfitter/config 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,1137 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
- var __create = Object.create;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __toESM = (mod, isNodeMode, target) => {
8
- target = mod != null ? __create(__getProtoOf(mod)) : {};
9
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
- for (let key of __getOwnPropNames(mod))
11
- if (!__hasOwnProp.call(to, key))
12
- __defProp(to, key, {
13
- get: () => mod[key],
14
- enumerable: true
15
- });
16
- return to;
17
- };
18
2
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
19
3
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
20
4
 
21
- // ../../node_modules/.bun/json5@2.2.3/node_modules/json5/lib/unicode.js
22
- var require_unicode = __commonJS((exports, module) => {
23
- exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
24
- exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
25
- exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
26
- });
27
-
28
- // ../../node_modules/.bun/json5@2.2.3/node_modules/json5/lib/util.js
29
- var require_util = __commonJS((exports, module) => {
30
- var unicode = require_unicode();
31
- module.exports = {
32
- isSpaceSeparator(c) {
33
- return typeof c === "string" && unicode.Space_Separator.test(c);
34
- },
35
- isIdStartChar(c) {
36
- return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c));
37
- },
38
- isIdContinueChar(c) {
39
- return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "‌" || c === "‍" || unicode.ID_Continue.test(c));
40
- },
41
- isDigit(c) {
42
- return typeof c === "string" && /[0-9]/.test(c);
43
- },
44
- isHexDigit(c) {
45
- return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
46
- }
47
- };
48
- });
49
-
50
- // ../../node_modules/.bun/json5@2.2.3/node_modules/json5/lib/parse.js
51
- var require_parse = __commonJS((exports, module) => {
52
- var util = require_util();
53
- var source;
54
- var parseState;
55
- var stack;
56
- var pos;
57
- var line;
58
- var column;
59
- var token;
60
- var key;
61
- var root;
62
- module.exports = function parse(text, reviver) {
63
- source = String(text);
64
- parseState = "start";
65
- stack = [];
66
- pos = 0;
67
- line = 1;
68
- column = 0;
69
- token = undefined;
70
- key = undefined;
71
- root = undefined;
72
- do {
73
- token = lex();
74
- parseStates[parseState]();
75
- } while (token.type !== "eof");
76
- if (typeof reviver === "function") {
77
- return internalize({ "": root }, "", reviver);
78
- }
79
- return root;
80
- };
81
- function internalize(holder, name, reviver) {
82
- const value = holder[name];
83
- if (value != null && typeof value === "object") {
84
- if (Array.isArray(value)) {
85
- for (let i = 0;i < value.length; i++) {
86
- const key2 = String(i);
87
- const replacement = internalize(value, key2, reviver);
88
- if (replacement === undefined) {
89
- delete value[key2];
90
- } else {
91
- Object.defineProperty(value, key2, {
92
- value: replacement,
93
- writable: true,
94
- enumerable: true,
95
- configurable: true
96
- });
97
- }
98
- }
99
- } else {
100
- for (const key2 in value) {
101
- const replacement = internalize(value, key2, reviver);
102
- if (replacement === undefined) {
103
- delete value[key2];
104
- } else {
105
- Object.defineProperty(value, key2, {
106
- value: replacement,
107
- writable: true,
108
- enumerable: true,
109
- configurable: true
110
- });
111
- }
112
- }
113
- }
114
- }
115
- return reviver.call(holder, name, value);
116
- }
117
- var lexState;
118
- var buffer;
119
- var doubleQuote;
120
- var sign;
121
- var c;
122
- function lex() {
123
- lexState = "default";
124
- buffer = "";
125
- doubleQuote = false;
126
- sign = 1;
127
- for (;; ) {
128
- c = peek();
129
- const token2 = lexStates[lexState]();
130
- if (token2) {
131
- return token2;
132
- }
133
- }
134
- }
135
- function peek() {
136
- if (source[pos]) {
137
- return String.fromCodePoint(source.codePointAt(pos));
138
- }
139
- }
140
- function read() {
141
- const c2 = peek();
142
- if (c2 === `
143
- `) {
144
- line++;
145
- column = 0;
146
- } else if (c2) {
147
- column += c2.length;
148
- } else {
149
- column++;
150
- }
151
- if (c2) {
152
- pos += c2.length;
153
- }
154
- return c2;
155
- }
156
- var lexStates = {
157
- default() {
158
- switch (c) {
159
- case "\t":
160
- case "\v":
161
- case "\f":
162
- case " ":
163
- case " ":
164
- case "\uFEFF":
165
- case `
166
- `:
167
- case "\r":
168
- case "\u2028":
169
- case "\u2029":
170
- read();
171
- return;
172
- case "/":
173
- read();
174
- lexState = "comment";
175
- return;
176
- case undefined:
177
- read();
178
- return newToken("eof");
179
- }
180
- if (util.isSpaceSeparator(c)) {
181
- read();
182
- return;
183
- }
184
- return lexStates[parseState]();
185
- },
186
- comment() {
187
- switch (c) {
188
- case "*":
189
- read();
190
- lexState = "multiLineComment";
191
- return;
192
- case "/":
193
- read();
194
- lexState = "singleLineComment";
195
- return;
196
- }
197
- throw invalidChar(read());
198
- },
199
- multiLineComment() {
200
- switch (c) {
201
- case "*":
202
- read();
203
- lexState = "multiLineCommentAsterisk";
204
- return;
205
- case undefined:
206
- throw invalidChar(read());
207
- }
208
- read();
209
- },
210
- multiLineCommentAsterisk() {
211
- switch (c) {
212
- case "*":
213
- read();
214
- return;
215
- case "/":
216
- read();
217
- lexState = "default";
218
- return;
219
- case undefined:
220
- throw invalidChar(read());
221
- }
222
- read();
223
- lexState = "multiLineComment";
224
- },
225
- singleLineComment() {
226
- switch (c) {
227
- case `
228
- `:
229
- case "\r":
230
- case "\u2028":
231
- case "\u2029":
232
- read();
233
- lexState = "default";
234
- return;
235
- case undefined:
236
- read();
237
- return newToken("eof");
238
- }
239
- read();
240
- },
241
- value() {
242
- switch (c) {
243
- case "{":
244
- case "[":
245
- return newToken("punctuator", read());
246
- case "n":
247
- read();
248
- literal("ull");
249
- return newToken("null", null);
250
- case "t":
251
- read();
252
- literal("rue");
253
- return newToken("boolean", true);
254
- case "f":
255
- read();
256
- literal("alse");
257
- return newToken("boolean", false);
258
- case "-":
259
- case "+":
260
- if (read() === "-") {
261
- sign = -1;
262
- }
263
- lexState = "sign";
264
- return;
265
- case ".":
266
- buffer = read();
267
- lexState = "decimalPointLeading";
268
- return;
269
- case "0":
270
- buffer = read();
271
- lexState = "zero";
272
- return;
273
- case "1":
274
- case "2":
275
- case "3":
276
- case "4":
277
- case "5":
278
- case "6":
279
- case "7":
280
- case "8":
281
- case "9":
282
- buffer = read();
283
- lexState = "decimalInteger";
284
- return;
285
- case "I":
286
- read();
287
- literal("nfinity");
288
- return newToken("numeric", Infinity);
289
- case "N":
290
- read();
291
- literal("aN");
292
- return newToken("numeric", NaN);
293
- case '"':
294
- case "'":
295
- doubleQuote = read() === '"';
296
- buffer = "";
297
- lexState = "string";
298
- return;
299
- }
300
- throw invalidChar(read());
301
- },
302
- identifierNameStartEscape() {
303
- if (c !== "u") {
304
- throw invalidChar(read());
305
- }
306
- read();
307
- const u = unicodeEscape();
308
- switch (u) {
309
- case "$":
310
- case "_":
311
- break;
312
- default:
313
- if (!util.isIdStartChar(u)) {
314
- throw invalidIdentifier();
315
- }
316
- break;
317
- }
318
- buffer += u;
319
- lexState = "identifierName";
320
- },
321
- identifierName() {
322
- switch (c) {
323
- case "$":
324
- case "_":
325
- case "‌":
326
- case "‍":
327
- buffer += read();
328
- return;
329
- case "\\":
330
- read();
331
- lexState = "identifierNameEscape";
332
- return;
333
- }
334
- if (util.isIdContinueChar(c)) {
335
- buffer += read();
336
- return;
337
- }
338
- return newToken("identifier", buffer);
339
- },
340
- identifierNameEscape() {
341
- if (c !== "u") {
342
- throw invalidChar(read());
343
- }
344
- read();
345
- const u = unicodeEscape();
346
- switch (u) {
347
- case "$":
348
- case "_":
349
- case "‌":
350
- case "‍":
351
- break;
352
- default:
353
- if (!util.isIdContinueChar(u)) {
354
- throw invalidIdentifier();
355
- }
356
- break;
357
- }
358
- buffer += u;
359
- lexState = "identifierName";
360
- },
361
- sign() {
362
- switch (c) {
363
- case ".":
364
- buffer = read();
365
- lexState = "decimalPointLeading";
366
- return;
367
- case "0":
368
- buffer = read();
369
- lexState = "zero";
370
- return;
371
- case "1":
372
- case "2":
373
- case "3":
374
- case "4":
375
- case "5":
376
- case "6":
377
- case "7":
378
- case "8":
379
- case "9":
380
- buffer = read();
381
- lexState = "decimalInteger";
382
- return;
383
- case "I":
384
- read();
385
- literal("nfinity");
386
- return newToken("numeric", sign * Infinity);
387
- case "N":
388
- read();
389
- literal("aN");
390
- return newToken("numeric", NaN);
391
- }
392
- throw invalidChar(read());
393
- },
394
- zero() {
395
- switch (c) {
396
- case ".":
397
- buffer += read();
398
- lexState = "decimalPoint";
399
- return;
400
- case "e":
401
- case "E":
402
- buffer += read();
403
- lexState = "decimalExponent";
404
- return;
405
- case "x":
406
- case "X":
407
- buffer += read();
408
- lexState = "hexadecimal";
409
- return;
410
- }
411
- return newToken("numeric", sign * 0);
412
- },
413
- decimalInteger() {
414
- switch (c) {
415
- case ".":
416
- buffer += read();
417
- lexState = "decimalPoint";
418
- return;
419
- case "e":
420
- case "E":
421
- buffer += read();
422
- lexState = "decimalExponent";
423
- return;
424
- }
425
- if (util.isDigit(c)) {
426
- buffer += read();
427
- return;
428
- }
429
- return newToken("numeric", sign * Number(buffer));
430
- },
431
- decimalPointLeading() {
432
- if (util.isDigit(c)) {
433
- buffer += read();
434
- lexState = "decimalFraction";
435
- return;
436
- }
437
- throw invalidChar(read());
438
- },
439
- decimalPoint() {
440
- switch (c) {
441
- case "e":
442
- case "E":
443
- buffer += read();
444
- lexState = "decimalExponent";
445
- return;
446
- }
447
- if (util.isDigit(c)) {
448
- buffer += read();
449
- lexState = "decimalFraction";
450
- return;
451
- }
452
- return newToken("numeric", sign * Number(buffer));
453
- },
454
- decimalFraction() {
455
- switch (c) {
456
- case "e":
457
- case "E":
458
- buffer += read();
459
- lexState = "decimalExponent";
460
- return;
461
- }
462
- if (util.isDigit(c)) {
463
- buffer += read();
464
- return;
465
- }
466
- return newToken("numeric", sign * Number(buffer));
467
- },
468
- decimalExponent() {
469
- switch (c) {
470
- case "+":
471
- case "-":
472
- buffer += read();
473
- lexState = "decimalExponentSign";
474
- return;
475
- }
476
- if (util.isDigit(c)) {
477
- buffer += read();
478
- lexState = "decimalExponentInteger";
479
- return;
480
- }
481
- throw invalidChar(read());
482
- },
483
- decimalExponentSign() {
484
- if (util.isDigit(c)) {
485
- buffer += read();
486
- lexState = "decimalExponentInteger";
487
- return;
488
- }
489
- throw invalidChar(read());
490
- },
491
- decimalExponentInteger() {
492
- if (util.isDigit(c)) {
493
- buffer += read();
494
- return;
495
- }
496
- return newToken("numeric", sign * Number(buffer));
497
- },
498
- hexadecimal() {
499
- if (util.isHexDigit(c)) {
500
- buffer += read();
501
- lexState = "hexadecimalInteger";
502
- return;
503
- }
504
- throw invalidChar(read());
505
- },
506
- hexadecimalInteger() {
507
- if (util.isHexDigit(c)) {
508
- buffer += read();
509
- return;
510
- }
511
- return newToken("numeric", sign * Number(buffer));
512
- },
513
- string() {
514
- switch (c) {
515
- case "\\":
516
- read();
517
- buffer += escape();
518
- return;
519
- case '"':
520
- if (doubleQuote) {
521
- read();
522
- return newToken("string", buffer);
523
- }
524
- buffer += read();
525
- return;
526
- case "'":
527
- if (!doubleQuote) {
528
- read();
529
- return newToken("string", buffer);
530
- }
531
- buffer += read();
532
- return;
533
- case `
534
- `:
535
- case "\r":
536
- throw invalidChar(read());
537
- case "\u2028":
538
- case "\u2029":
539
- separatorChar(c);
540
- break;
541
- case undefined:
542
- throw invalidChar(read());
543
- }
544
- buffer += read();
545
- },
546
- start() {
547
- switch (c) {
548
- case "{":
549
- case "[":
550
- return newToken("punctuator", read());
551
- }
552
- lexState = "value";
553
- },
554
- beforePropertyName() {
555
- switch (c) {
556
- case "$":
557
- case "_":
558
- buffer = read();
559
- lexState = "identifierName";
560
- return;
561
- case "\\":
562
- read();
563
- lexState = "identifierNameStartEscape";
564
- return;
565
- case "}":
566
- return newToken("punctuator", read());
567
- case '"':
568
- case "'":
569
- doubleQuote = read() === '"';
570
- lexState = "string";
571
- return;
572
- }
573
- if (util.isIdStartChar(c)) {
574
- buffer += read();
575
- lexState = "identifierName";
576
- return;
577
- }
578
- throw invalidChar(read());
579
- },
580
- afterPropertyName() {
581
- if (c === ":") {
582
- return newToken("punctuator", read());
583
- }
584
- throw invalidChar(read());
585
- },
586
- beforePropertyValue() {
587
- lexState = "value";
588
- },
589
- afterPropertyValue() {
590
- switch (c) {
591
- case ",":
592
- case "}":
593
- return newToken("punctuator", read());
594
- }
595
- throw invalidChar(read());
596
- },
597
- beforeArrayValue() {
598
- if (c === "]") {
599
- return newToken("punctuator", read());
600
- }
601
- lexState = "value";
602
- },
603
- afterArrayValue() {
604
- switch (c) {
605
- case ",":
606
- case "]":
607
- return newToken("punctuator", read());
608
- }
609
- throw invalidChar(read());
610
- },
611
- end() {
612
- throw invalidChar(read());
613
- }
614
- };
615
- function newToken(type, value) {
616
- return {
617
- type,
618
- value,
619
- line,
620
- column
621
- };
622
- }
623
- function literal(s) {
624
- for (const c2 of s) {
625
- const p = peek();
626
- if (p !== c2) {
627
- throw invalidChar(read());
628
- }
629
- read();
630
- }
631
- }
632
- function escape() {
633
- const c2 = peek();
634
- switch (c2) {
635
- case "b":
636
- read();
637
- return "\b";
638
- case "f":
639
- read();
640
- return "\f";
641
- case "n":
642
- read();
643
- return `
644
- `;
645
- case "r":
646
- read();
647
- return "\r";
648
- case "t":
649
- read();
650
- return "\t";
651
- case "v":
652
- read();
653
- return "\v";
654
- case "0":
655
- read();
656
- if (util.isDigit(peek())) {
657
- throw invalidChar(read());
658
- }
659
- return "\x00";
660
- case "x":
661
- read();
662
- return hexEscape();
663
- case "u":
664
- read();
665
- return unicodeEscape();
666
- case `
667
- `:
668
- case "\u2028":
669
- case "\u2029":
670
- read();
671
- return "";
672
- case "\r":
673
- read();
674
- if (peek() === `
675
- `) {
676
- read();
677
- }
678
- return "";
679
- case "1":
680
- case "2":
681
- case "3":
682
- case "4":
683
- case "5":
684
- case "6":
685
- case "7":
686
- case "8":
687
- case "9":
688
- throw invalidChar(read());
689
- case undefined:
690
- throw invalidChar(read());
691
- }
692
- return read();
693
- }
694
- function hexEscape() {
695
- let buffer2 = "";
696
- let c2 = peek();
697
- if (!util.isHexDigit(c2)) {
698
- throw invalidChar(read());
699
- }
700
- buffer2 += read();
701
- c2 = peek();
702
- if (!util.isHexDigit(c2)) {
703
- throw invalidChar(read());
704
- }
705
- buffer2 += read();
706
- return String.fromCodePoint(parseInt(buffer2, 16));
707
- }
708
- function unicodeEscape() {
709
- let buffer2 = "";
710
- let count = 4;
711
- while (count-- > 0) {
712
- const c2 = peek();
713
- if (!util.isHexDigit(c2)) {
714
- throw invalidChar(read());
715
- }
716
- buffer2 += read();
717
- }
718
- return String.fromCodePoint(parseInt(buffer2, 16));
719
- }
720
- var parseStates = {
721
- start() {
722
- if (token.type === "eof") {
723
- throw invalidEOF();
724
- }
725
- push();
726
- },
727
- beforePropertyName() {
728
- switch (token.type) {
729
- case "identifier":
730
- case "string":
731
- key = token.value;
732
- parseState = "afterPropertyName";
733
- return;
734
- case "punctuator":
735
- pop();
736
- return;
737
- case "eof":
738
- throw invalidEOF();
739
- }
740
- },
741
- afterPropertyName() {
742
- if (token.type === "eof") {
743
- throw invalidEOF();
744
- }
745
- parseState = "beforePropertyValue";
746
- },
747
- beforePropertyValue() {
748
- if (token.type === "eof") {
749
- throw invalidEOF();
750
- }
751
- push();
752
- },
753
- beforeArrayValue() {
754
- if (token.type === "eof") {
755
- throw invalidEOF();
756
- }
757
- if (token.type === "punctuator" && token.value === "]") {
758
- pop();
759
- return;
760
- }
761
- push();
762
- },
763
- afterPropertyValue() {
764
- if (token.type === "eof") {
765
- throw invalidEOF();
766
- }
767
- switch (token.value) {
768
- case ",":
769
- parseState = "beforePropertyName";
770
- return;
771
- case "}":
772
- pop();
773
- }
774
- },
775
- afterArrayValue() {
776
- if (token.type === "eof") {
777
- throw invalidEOF();
778
- }
779
- switch (token.value) {
780
- case ",":
781
- parseState = "beforeArrayValue";
782
- return;
783
- case "]":
784
- pop();
785
- }
786
- },
787
- end() {}
788
- };
789
- function push() {
790
- let value;
791
- switch (token.type) {
792
- case "punctuator":
793
- switch (token.value) {
794
- case "{":
795
- value = {};
796
- break;
797
- case "[":
798
- value = [];
799
- break;
800
- }
801
- break;
802
- case "null":
803
- case "boolean":
804
- case "numeric":
805
- case "string":
806
- value = token.value;
807
- break;
808
- }
809
- if (root === undefined) {
810
- root = value;
811
- } else {
812
- const parent = stack[stack.length - 1];
813
- if (Array.isArray(parent)) {
814
- parent.push(value);
815
- } else {
816
- Object.defineProperty(parent, key, {
817
- value,
818
- writable: true,
819
- enumerable: true,
820
- configurable: true
821
- });
822
- }
823
- }
824
- if (value !== null && typeof value === "object") {
825
- stack.push(value);
826
- if (Array.isArray(value)) {
827
- parseState = "beforeArrayValue";
828
- } else {
829
- parseState = "beforePropertyName";
830
- }
831
- } else {
832
- const current = stack[stack.length - 1];
833
- if (current == null) {
834
- parseState = "end";
835
- } else if (Array.isArray(current)) {
836
- parseState = "afterArrayValue";
837
- } else {
838
- parseState = "afterPropertyValue";
839
- }
840
- }
841
- }
842
- function pop() {
843
- stack.pop();
844
- const current = stack[stack.length - 1];
845
- if (current == null) {
846
- parseState = "end";
847
- } else if (Array.isArray(current)) {
848
- parseState = "afterArrayValue";
849
- } else {
850
- parseState = "afterPropertyValue";
851
- }
852
- }
853
- function invalidChar(c2) {
854
- if (c2 === undefined) {
855
- return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
856
- }
857
- return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`);
858
- }
859
- function invalidEOF() {
860
- return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
861
- }
862
- function invalidIdentifier() {
863
- column -= 5;
864
- return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
865
- }
866
- function separatorChar(c2) {
867
- console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
868
- }
869
- function formatChar(c2) {
870
- const replacements = {
871
- "'": "\\'",
872
- '"': "\\\"",
873
- "\\": "\\\\",
874
- "\b": "\\b",
875
- "\f": "\\f",
876
- "\n": "\\n",
877
- "\r": "\\r",
878
- "\t": "\\t",
879
- "\v": "\\v",
880
- "\x00": "\\0",
881
- "\u2028": "\\u2028",
882
- "\u2029": "\\u2029"
883
- };
884
- if (replacements[c2]) {
885
- return replacements[c2];
886
- }
887
- if (c2 < " ") {
888
- const hexString = c2.charCodeAt(0).toString(16);
889
- return "\\x" + ("00" + hexString).substring(hexString.length);
890
- }
891
- return c2;
892
- }
893
- function syntaxError(message) {
894
- const err = new SyntaxError(message);
895
- err.lineNumber = line;
896
- err.columnNumber = column;
897
- return err;
898
- }
899
- });
900
-
901
- // ../../node_modules/.bun/json5@2.2.3/node_modules/json5/lib/stringify.js
902
- var require_stringify = __commonJS((exports, module) => {
903
- var util = require_util();
904
- module.exports = function stringify(value, replacer, space) {
905
- const stack = [];
906
- let indent = "";
907
- let propertyList;
908
- let replacerFunc;
909
- let gap = "";
910
- let quote;
911
- if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
912
- space = replacer.space;
913
- quote = replacer.quote;
914
- replacer = replacer.replacer;
915
- }
916
- if (typeof replacer === "function") {
917
- replacerFunc = replacer;
918
- } else if (Array.isArray(replacer)) {
919
- propertyList = [];
920
- for (const v of replacer) {
921
- let item;
922
- if (typeof v === "string") {
923
- item = v;
924
- } else if (typeof v === "number" || v instanceof String || v instanceof Number) {
925
- item = String(v);
926
- }
927
- if (item !== undefined && propertyList.indexOf(item) < 0) {
928
- propertyList.push(item);
929
- }
930
- }
931
- }
932
- if (space instanceof Number) {
933
- space = Number(space);
934
- } else if (space instanceof String) {
935
- space = String(space);
936
- }
937
- if (typeof space === "number") {
938
- if (space > 0) {
939
- space = Math.min(10, Math.floor(space));
940
- gap = " ".substr(0, space);
941
- }
942
- } else if (typeof space === "string") {
943
- gap = space.substr(0, 10);
944
- }
945
- return serializeProperty("", { "": value });
946
- function serializeProperty(key, holder) {
947
- let value2 = holder[key];
948
- if (value2 != null) {
949
- if (typeof value2.toJSON5 === "function") {
950
- value2 = value2.toJSON5(key);
951
- } else if (typeof value2.toJSON === "function") {
952
- value2 = value2.toJSON(key);
953
- }
954
- }
955
- if (replacerFunc) {
956
- value2 = replacerFunc.call(holder, key, value2);
957
- }
958
- if (value2 instanceof Number) {
959
- value2 = Number(value2);
960
- } else if (value2 instanceof String) {
961
- value2 = String(value2);
962
- } else if (value2 instanceof Boolean) {
963
- value2 = value2.valueOf();
964
- }
965
- switch (value2) {
966
- case null:
967
- return "null";
968
- case true:
969
- return "true";
970
- case false:
971
- return "false";
972
- }
973
- if (typeof value2 === "string") {
974
- return quoteString(value2, false);
975
- }
976
- if (typeof value2 === "number") {
977
- return String(value2);
978
- }
979
- if (typeof value2 === "object") {
980
- return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
981
- }
982
- return;
983
- }
984
- function quoteString(value2) {
985
- const quotes = {
986
- "'": 0.1,
987
- '"': 0.2
988
- };
989
- const replacements = {
990
- "'": "\\'",
991
- '"': "\\\"",
992
- "\\": "\\\\",
993
- "\b": "\\b",
994
- "\f": "\\f",
995
- "\n": "\\n",
996
- "\r": "\\r",
997
- "\t": "\\t",
998
- "\v": "\\v",
999
- "\x00": "\\0",
1000
- "\u2028": "\\u2028",
1001
- "\u2029": "\\u2029"
1002
- };
1003
- let product = "";
1004
- for (let i = 0;i < value2.length; i++) {
1005
- const c = value2[i];
1006
- switch (c) {
1007
- case "'":
1008
- case '"':
1009
- quotes[c]++;
1010
- product += c;
1011
- continue;
1012
- case "\x00":
1013
- if (util.isDigit(value2[i + 1])) {
1014
- product += "\\x00";
1015
- continue;
1016
- }
1017
- }
1018
- if (replacements[c]) {
1019
- product += replacements[c];
1020
- continue;
1021
- }
1022
- if (c < " ") {
1023
- let hexString = c.charCodeAt(0).toString(16);
1024
- product += "\\x" + ("00" + hexString).substring(hexString.length);
1025
- continue;
1026
- }
1027
- product += c;
1028
- }
1029
- const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b);
1030
- product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
1031
- return quoteChar + product + quoteChar;
1032
- }
1033
- function serializeObject(value2) {
1034
- if (stack.indexOf(value2) >= 0) {
1035
- throw TypeError("Converting circular structure to JSON5");
1036
- }
1037
- stack.push(value2);
1038
- let stepback = indent;
1039
- indent = indent + gap;
1040
- let keys = propertyList || Object.keys(value2);
1041
- let partial = [];
1042
- for (const key of keys) {
1043
- const propertyString = serializeProperty(key, value2);
1044
- if (propertyString !== undefined) {
1045
- let member = serializeKey(key) + ":";
1046
- if (gap !== "") {
1047
- member += " ";
1048
- }
1049
- member += propertyString;
1050
- partial.push(member);
1051
- }
1052
- }
1053
- let final;
1054
- if (partial.length === 0) {
1055
- final = "{}";
1056
- } else {
1057
- let properties;
1058
- if (gap === "") {
1059
- properties = partial.join(",");
1060
- final = "{" + properties + "}";
1061
- } else {
1062
- let separator = `,
1063
- ` + indent;
1064
- properties = partial.join(separator);
1065
- final = `{
1066
- ` + indent + properties + `,
1067
- ` + stepback + "}";
1068
- }
1069
- }
1070
- stack.pop();
1071
- indent = stepback;
1072
- return final;
1073
- }
1074
- function serializeKey(key) {
1075
- if (key.length === 0) {
1076
- return quoteString(key, true);
1077
- }
1078
- const firstChar = String.fromCodePoint(key.codePointAt(0));
1079
- if (!util.isIdStartChar(firstChar)) {
1080
- return quoteString(key, true);
1081
- }
1082
- for (let i = firstChar.length;i < key.length; i++) {
1083
- if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
1084
- return quoteString(key, true);
1085
- }
1086
- }
1087
- return key;
1088
- }
1089
- function serializeArray(value2) {
1090
- if (stack.indexOf(value2) >= 0) {
1091
- throw TypeError("Converting circular structure to JSON5");
1092
- }
1093
- stack.push(value2);
1094
- let stepback = indent;
1095
- indent = indent + gap;
1096
- let partial = [];
1097
- for (let i = 0;i < value2.length; i++) {
1098
- const propertyString = serializeProperty(String(i), value2);
1099
- partial.push(propertyString !== undefined ? propertyString : "null");
1100
- }
1101
- let final;
1102
- if (partial.length === 0) {
1103
- final = "[]";
1104
- } else {
1105
- if (gap === "") {
1106
- let properties = partial.join(",");
1107
- final = "[" + properties + "]";
1108
- } else {
1109
- let separator = `,
1110
- ` + indent;
1111
- let properties = partial.join(separator);
1112
- final = `[
1113
- ` + indent + properties + `,
1114
- ` + stepback + "]";
1115
- }
1116
- }
1117
- stack.pop();
1118
- indent = stepback;
1119
- return final;
1120
- }
1121
- };
1122
- });
1123
-
1124
- // ../../node_modules/.bun/json5@2.2.3/node_modules/json5/lib/index.js
1125
- var require_lib = __commonJS((exports, module) => {
1126
- var parse = require_parse();
1127
- var stringify = require_stringify();
1128
- var JSON5 = {
1129
- parse,
1130
- stringify
1131
- };
1132
- module.exports = JSON5;
1133
- });
1134
-
1135
5
  // ../../node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js
1136
6
  var require_identity = __commonJS((exports) => {
1137
7
  var ALIAS = Symbol.for("yaml.alias");
@@ -2442,7 +1312,7 @@ ${indent}`);
2442
1312
  });
2443
1313
 
2444
1314
  // ../../node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js
2445
- var require_stringify2 = __commonJS((exports) => {
1315
+ var require_stringify = __commonJS((exports) => {
2446
1316
  var anchors = require_anchors();
2447
1317
  var identity = require_identity();
2448
1318
  var stringifyComment = require_stringifyComment();
@@ -2565,7 +1435,7 @@ ${ctx.indent}${str}`;
2565
1435
  var require_stringifyPair = __commonJS((exports) => {
2566
1436
  var identity = require_identity();
2567
1437
  var Scalar = require_Scalar();
2568
- var stringify2 = require_stringify2();
1438
+ var stringify2 = require_stringify();
2569
1439
  var stringifyComment = require_stringifyComment();
2570
1440
  function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
2571
1441
  const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
@@ -2774,7 +1644,7 @@ var require_merge = __commonJS((exports) => {
2774
1644
  var require_addPairToJSMap = __commonJS((exports) => {
2775
1645
  var log = require_log();
2776
1646
  var merge = require_merge();
2777
- var stringify2 = require_stringify2();
1647
+ var stringify2 = require_stringify();
2778
1648
  var identity = require_identity();
2779
1649
  var toJS = require_toJS();
2780
1650
  function addPairToJSMap(ctx, map, { key, value }) {
@@ -2872,7 +1742,7 @@ var require_Pair = __commonJS((exports) => {
2872
1742
  // ../../node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js
2873
1743
  var require_stringifyCollection = __commonJS((exports) => {
2874
1744
  var identity = require_identity();
2875
- var stringify2 = require_stringify2();
1745
+ var stringify2 = require_stringify();
2876
1746
  var stringifyComment = require_stringifyComment();
2877
1747
  function stringifyCollection(collection, ctx, options) {
2878
1748
  const flow = ctx.inFlow ?? collection.flow;
@@ -4205,7 +3075,7 @@ var require_Schema = __commonJS((exports) => {
4205
3075
  // ../../node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js
4206
3076
  var require_stringifyDocument = __commonJS((exports) => {
4207
3077
  var identity = require_identity();
4208
- var stringify2 = require_stringify2();
3078
+ var stringify2 = require_stringify();
4209
3079
  var stringifyComment = require_stringifyComment();
4210
3080
  function stringifyDocument(doc, options) {
4211
3081
  const lines = [];
@@ -8034,6 +6904,39 @@ var require_public_api = __commonJS((exports) => {
8034
6904
  exports.stringify = stringify2;
8035
6905
  });
8036
6906
 
6907
+ // src/environment.ts
6908
+ var VALID_ENVIRONMENTS = new Set([
6909
+ "development",
6910
+ "production",
6911
+ "test"
6912
+ ]);
6913
+ var ENVIRONMENT_DEFAULTS = {
6914
+ development: {
6915
+ logLevel: "debug",
6916
+ verbose: true,
6917
+ errorDetail: "full"
6918
+ },
6919
+ production: {
6920
+ logLevel: null,
6921
+ verbose: false,
6922
+ errorDetail: "message"
6923
+ },
6924
+ test: {
6925
+ logLevel: null,
6926
+ verbose: false,
6927
+ errorDetail: "full"
6928
+ }
6929
+ };
6930
+ function getEnvironment() {
6931
+ const value = process.env["OUTFITTER_ENV"];
6932
+ if (value !== undefined && VALID_ENVIRONMENTS.has(value)) {
6933
+ return value;
6934
+ }
6935
+ return "production";
6936
+ }
6937
+ function getEnvironmentDefaults(env) {
6938
+ return { ...ENVIRONMENT_DEFAULTS[env] };
6939
+ }
8037
6940
  // src/env.ts
8038
6941
  import { z } from "zod";
8039
6942
  var portSchema = z.string().regex(/^\d+$/).transform(Number).pipe(z.number().int().positive().max(65535));
@@ -8067,7 +6970,6 @@ function getEnvBoolean(key) {
8067
6970
  }
8068
6971
 
8069
6972
  // src/index.ts
8070
- var import_json5 = __toESM(require_lib(), 1);
8071
6973
  import { existsSync, readFileSync } from "node:fs";
8072
6974
  import { dirname, isAbsolute, join, resolve } from "node:path";
8073
6975
  import {
@@ -9161,7 +8063,7 @@ function parseConfigFile(content, filename) {
9161
8063
  }
9162
8064
  case "jsonc":
9163
8065
  case "json5": {
9164
- const parsed = import_json5.default.parse(content);
8066
+ const parsed = Bun.JSON5.parse(content);
9165
8067
  return Result.ok(parsed);
9166
8068
  }
9167
8069
  default: {
@@ -9356,6 +8258,8 @@ export {
9356
8258
  mapEnvToConfig,
9357
8259
  loadConfig,
9358
8260
  getStateDir,
8261
+ getEnvironmentDefaults,
8262
+ getEnvironment,
9359
8263
  getEnvBoolean,
9360
8264
  getDataDir,
9361
8265
  getConfigDir,