create-towns-protocol-app 0.0.429 → 0.0.431
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 +30 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -25,9 +25,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
|
|
28
|
-
// ../../node_modules/minimist/index.js
|
|
28
|
+
// ../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js
|
|
29
29
|
var require_minimist = __commonJS({
|
|
30
|
-
"../../node_modules/minimist/index.js"(exports2, module2) {
|
|
30
|
+
"../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js"(exports2, module2) {
|
|
31
31
|
"use strict";
|
|
32
32
|
function hasKey(obj, keys) {
|
|
33
33
|
var o = obj;
|
|
@@ -247,9 +247,9 @@ var require_minimist = __commonJS({
|
|
|
247
247
|
}
|
|
248
248
|
});
|
|
249
249
|
|
|
250
|
-
// ../../node_modules/picocolors/picocolors.js
|
|
250
|
+
// ../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js
|
|
251
251
|
var require_picocolors = __commonJS({
|
|
252
|
-
"../../node_modules/picocolors/picocolors.js"(exports2, module2) {
|
|
252
|
+
"../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports2, module2) {
|
|
253
253
|
"use strict";
|
|
254
254
|
var p = process || {};
|
|
255
255
|
var argv2 = p.argv || [];
|
|
@@ -320,9 +320,9 @@ var require_picocolors = __commonJS({
|
|
|
320
320
|
}
|
|
321
321
|
});
|
|
322
322
|
|
|
323
|
-
// ../../node_modules/isexe/windows.js
|
|
323
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js
|
|
324
324
|
var require_windows = __commonJS({
|
|
325
|
-
"../../node_modules/isexe/windows.js"(exports2, module2) {
|
|
325
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js"(exports2, module2) {
|
|
326
326
|
"use strict";
|
|
327
327
|
module2.exports = isexe;
|
|
328
328
|
isexe.sync = sync;
|
|
@@ -361,9 +361,9 @@ var require_windows = __commonJS({
|
|
|
361
361
|
}
|
|
362
362
|
});
|
|
363
363
|
|
|
364
|
-
// ../../node_modules/isexe/mode.js
|
|
364
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js
|
|
365
365
|
var require_mode = __commonJS({
|
|
366
|
-
"../../node_modules/isexe/mode.js"(exports2, module2) {
|
|
366
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js"(exports2, module2) {
|
|
367
367
|
"use strict";
|
|
368
368
|
module2.exports = isexe;
|
|
369
369
|
isexe.sync = sync;
|
|
@@ -395,9 +395,9 @@ var require_mode = __commonJS({
|
|
|
395
395
|
}
|
|
396
396
|
});
|
|
397
397
|
|
|
398
|
-
// ../../node_modules/isexe/index.js
|
|
398
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js
|
|
399
399
|
var require_isexe = __commonJS({
|
|
400
|
-
"../../node_modules/isexe/index.js"(exports2, module2) {
|
|
400
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js"(exports2, module2) {
|
|
401
401
|
"use strict";
|
|
402
402
|
var fs2 = require("fs");
|
|
403
403
|
var core;
|
|
@@ -451,9 +451,9 @@ var require_isexe = __commonJS({
|
|
|
451
451
|
}
|
|
452
452
|
});
|
|
453
453
|
|
|
454
|
-
// ../../node_modules/
|
|
454
|
+
// ../../node_modules/.bun/which@2.0.2/node_modules/which/which.js
|
|
455
455
|
var require_which = __commonJS({
|
|
456
|
-
"../../node_modules/
|
|
456
|
+
"../../node_modules/.bun/which@2.0.2/node_modules/which/which.js"(exports2, module2) {
|
|
457
457
|
"use strict";
|
|
458
458
|
var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
|
|
459
459
|
var path5 = require("path");
|
|
@@ -548,9 +548,9 @@ var require_which = __commonJS({
|
|
|
548
548
|
}
|
|
549
549
|
});
|
|
550
550
|
|
|
551
|
-
// ../../node_modules/path-key/index.js
|
|
551
|
+
// ../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js
|
|
552
552
|
var require_path_key = __commonJS({
|
|
553
|
-
"../../node_modules/path-key/index.js"(exports2, module2) {
|
|
553
|
+
"../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js"(exports2, module2) {
|
|
554
554
|
"use strict";
|
|
555
555
|
var pathKey = (options = {}) => {
|
|
556
556
|
const environment = options.env || process.env;
|
|
@@ -565,9 +565,9 @@ var require_path_key = __commonJS({
|
|
|
565
565
|
}
|
|
566
566
|
});
|
|
567
567
|
|
|
568
|
-
// ../../node_modules/cross-spawn/lib/util/resolveCommand.js
|
|
568
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js
|
|
569
569
|
var require_resolveCommand = __commonJS({
|
|
570
|
-
"../../node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
|
|
570
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
|
|
571
571
|
"use strict";
|
|
572
572
|
var path5 = require("path");
|
|
573
573
|
var which = require_which();
|
|
@@ -607,9 +607,9 @@ var require_resolveCommand = __commonJS({
|
|
|
607
607
|
}
|
|
608
608
|
});
|
|
609
609
|
|
|
610
|
-
// ../../node_modules/cross-spawn/lib/util/escape.js
|
|
610
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js
|
|
611
611
|
var require_escape = __commonJS({
|
|
612
|
-
"../../node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
|
|
612
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
|
|
613
613
|
"use strict";
|
|
614
614
|
var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
|
|
615
615
|
function escapeCommand(arg) {
|
|
@@ -632,17 +632,17 @@ var require_escape = __commonJS({
|
|
|
632
632
|
}
|
|
633
633
|
});
|
|
634
634
|
|
|
635
|
-
// ../../node_modules/shebang-regex/index.js
|
|
635
|
+
// ../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js
|
|
636
636
|
var require_shebang_regex = __commonJS({
|
|
637
|
-
"../../node_modules/shebang-regex/index.js"(exports2, module2) {
|
|
637
|
+
"../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js"(exports2, module2) {
|
|
638
638
|
"use strict";
|
|
639
639
|
module2.exports = /^#!(.*)/;
|
|
640
640
|
}
|
|
641
641
|
});
|
|
642
642
|
|
|
643
|
-
// ../../node_modules/shebang-command/index.js
|
|
643
|
+
// ../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js
|
|
644
644
|
var require_shebang_command = __commonJS({
|
|
645
|
-
"../../node_modules/shebang-command/index.js"(exports2, module2) {
|
|
645
|
+
"../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js"(exports2, module2) {
|
|
646
646
|
"use strict";
|
|
647
647
|
var shebangRegex = require_shebang_regex();
|
|
648
648
|
module2.exports = (string = "") => {
|
|
@@ -660,9 +660,9 @@ var require_shebang_command = __commonJS({
|
|
|
660
660
|
}
|
|
661
661
|
});
|
|
662
662
|
|
|
663
|
-
// ../../node_modules/cross-spawn/lib/util/readShebang.js
|
|
663
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js
|
|
664
664
|
var require_readShebang = __commonJS({
|
|
665
|
-
"../../node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
|
|
665
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
|
|
666
666
|
"use strict";
|
|
667
667
|
var fs2 = require("fs");
|
|
668
668
|
var shebangCommand = require_shebang_command();
|
|
@@ -682,9 +682,9 @@ var require_readShebang = __commonJS({
|
|
|
682
682
|
}
|
|
683
683
|
});
|
|
684
684
|
|
|
685
|
-
// ../../node_modules/cross-spawn/lib/parse.js
|
|
685
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js
|
|
686
686
|
var require_parse = __commonJS({
|
|
687
|
-
"../../node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
|
|
687
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
|
|
688
688
|
"use strict";
|
|
689
689
|
var path5 = require("path");
|
|
690
690
|
var resolveCommand = require_resolveCommand();
|
|
@@ -744,9 +744,9 @@ var require_parse = __commonJS({
|
|
|
744
744
|
}
|
|
745
745
|
});
|
|
746
746
|
|
|
747
|
-
// ../../node_modules/cross-spawn/lib/enoent.js
|
|
747
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js
|
|
748
748
|
var require_enoent = __commonJS({
|
|
749
|
-
"../../node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
|
|
749
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
|
|
750
750
|
"use strict";
|
|
751
751
|
var isWin = process.platform === "win32";
|
|
752
752
|
function notFoundError(original, syscall) {
|
|
@@ -794,9 +794,9 @@ var require_enoent = __commonJS({
|
|
|
794
794
|
}
|
|
795
795
|
});
|
|
796
796
|
|
|
797
|
-
// ../../node_modules/cross-spawn/index.js
|
|
797
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js
|
|
798
798
|
var require_cross_spawn = __commonJS({
|
|
799
|
-
"../../node_modules/cross-spawn/index.js"(exports2, module2) {
|
|
799
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"(exports2, module2) {
|
|
800
800
|
"use strict";
|
|
801
801
|
var cp = require("child_process");
|
|
802
802
|
var parse2 = require_parse();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/minimist/index.js","../../../node_modules/picocolors/picocolors.js","../../../node_modules/isexe/windows.js","../../../node_modules/isexe/mode.js","../../../node_modules/isexe/index.js","../../../node_modules/cross-spawn/node_modules/which/which.js","../../../node_modules/path-key/index.js","../../../node_modules/cross-spawn/lib/util/resolveCommand.js","../../../node_modules/cross-spawn/lib/util/escape.js","../../../node_modules/shebang-regex/index.js","../../../node_modules/shebang-command/index.js","../../../node_modules/cross-spawn/lib/util/readShebang.js","../../../node_modules/cross-spawn/lib/parse.js","../../../node_modules/cross-spawn/lib/enoent.js","../../../node_modules/cross-spawn/index.js","../src/index.ts","../src/utils.ts","../src/modules/vite-react.ts","../src/modules/clone-playground.ts"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","let p = process || {}, argv = p.argv || [], env = p.env || {}\nlet isColorSupported =\n\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI)\n\nlet formatter = (open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input, index = string.indexOf(close, open.length)\n\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\", cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet f = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","import minimist from 'minimist'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport { getPackageManager, type CreateRiverBuildAppConfig, formatTargetDir } from './utils'\nimport { buildRiverReactApp } from './modules/vite-react'\nimport { clonePlayground } from './modules/clone-playground'\n\nconst argv = minimist<{\n template?: string\n help?: boolean\n}>(process.argv.slice(2), {\n default: { help: false, template: 'playground' },\n alias: { h: 'help', t: 'template' },\n string: ['_'],\n})\n\n// prettier-ignore\nconst helpMessage = `\\\nUsage: create-towns-protocol-app [OPTION]... [DIRECTORY]\n\nCreate a new Towns Protocol app.\nWith no arguments, creates a new app in the current directory.\n\nOptions:\n -t, --template NAME use a specific template\n\nAvailable templates:\n${picocolors.yellow ('react-ts react playground' )}\n`\n\ntype Template = 'react-ts' | 'react' | 'playground'\n\nconst build = {\n 'react-ts': buildRiverReactApp,\n react: buildRiverReactApp,\n playground: clonePlayground,\n} satisfies Record<Template, (cfg: CreateRiverBuildAppConfig) => Promise<void>>\n\nasync function init() {\n const targetDir = formatTargetDir(argv._[0]) || '.'\n const packageName = targetDir === '.' ? path.basename(process.cwd()) : targetDir\n const projectDir = targetDir === '.' ? process.cwd() : path.join(process.cwd(), targetDir)\n const pkgManager = getPackageManager()\n const template = (argv.template || argv.t) as Template\n\n const help = argv.help\n if (help) {\n console.log(helpMessage)\n return\n }\n\n console.log(picocolors.blue(`\\nScaffolding project in ${packageName}...`))\n await build[template]({\n projectDir,\n packageName,\n targetDir,\n viteTemplate: template !== 'playground' ? template : undefined,\n })\n console.log(picocolors.green('\\nDone! 🎉'))\n console.log(picocolors.blue('\\nNow run: cd ' + targetDir + ' && ' + pkgManager + ` install`))\n console.log(picocolors.blue('\\nThen run: ' + pkgManager + ' dev'))\n}\n\ninit().catch((e) => {\n console.error(e)\n process.exit(1)\n})\n","import { readFileSync, writeFileSync } from 'node:fs'\nimport path from 'node:path'\nimport playgroundPackageJson from '../../playground/package.json' with { type: 'json' }\n\nexport type CreateRiverBuildAppConfig = {\n projectDir: string\n packageName: string\n targetDir: string\n viteTemplate?: 'react-ts' | 'react'\n}\n\nexport const getPackageManager = () => {\n if (process.env.npm_config_user_agent) {\n const agent = process.env.npm_config_user_agent\n if (agent.startsWith('yarn')) return 'yarn'\n if (agent.startsWith('npm')) return 'npm'\n if (agent.startsWith('pnpm')) return 'pnpm'\n if (agent.startsWith('bun')) return 'bun'\n }\n // Default to npm if no user agent is found\n return 'npm'\n}\n\ntype PackageJson = typeof playgroundPackageJson\n\nexport const addDependencies = async (\n projectDir: string,\n cfg: (currentDeps: PackageJson) => {\n dependencies: Array<string | string[]>\n devDependencies?: Array<string | string[]>\n },\n) => {\n const packageJsonPath = path.join(projectDir, 'package.json')\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))\n const { dependencies, devDependencies } = cfg(packageJson)\n\n if (devDependencies && devDependencies.length > 0) {\n if (!packageJson.devDependencies) {\n packageJson.devDependencies = {}\n }\n for (const dep of devDependencies) {\n if (Array.isArray(dep)) {\n packageJson.devDependencies[dep[0]] = dep[1]\n } else {\n packageJson.devDependencies[dep] = 'latest'\n }\n }\n }\n\n if (!packageJson.dependencies) {\n packageJson.dependencies = {}\n }\n for (const dep of dependencies) {\n if (Array.isArray(dep)) {\n packageJson.dependencies[dep[0]] = dep[1]\n } else {\n packageJson.dependencies[dep] = 'latest'\n }\n }\n\n writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\\n')\n}\n\nexport const formatTargetDir = (targetDir: string | undefined) =>\n targetDir?.trim().replace(/\\/+$/g, '')\n","import spawn from 'cross-spawn'\nimport { addDependencies, getPackageManager, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport { readFileSync, writeFileSync } from 'node:fs'\nimport picocolors from 'picocolors'\n\nexport const buildRiverReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const result = await scaffoldViteReactApp(cfg)\n\n if (result.signal === 'SIGINT' || result.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result.status !== 0) {\n console.error(picocolors.red('\\nFailed to scaffold project.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nVite project created successfully.'))\n console.log(picocolors.blue('\\nAdding River SDK dependencies...'))\n\n await addDependencies(cfg.projectDir, () => ({\n dependencies: ['@towns-protocol/react-sdk', '@towns-protocol/sdk'],\n devDependencies: ['vite-plugin-node-polyfills'],\n }))\n\n console.log(picocolors.green('\\nRiver SDK dependencies added successfully.'))\n console.log(picocolors.blue('\\nUpdating vite.config.ts...'))\n\n await updateViteConfigWithPolyfills(cfg)\n\n console.log(picocolors.green('\\nvite.config.ts updated successfully.'))\n}\n\nconst scaffoldViteReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir, packageName, viteTemplate = 'react-ts' } = cfg\n const pkgManager = getPackageManager()\n\n const createViteCommand = (() => {\n const nameForViteScript = targetDir === '.' ? '.' : packageName\n switch (pkgManager) {\n case 'yarn':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'pnpm':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'bun':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n default:\n // npm requires the -- flag to pass args to the template\n return [\n 'create',\n 'vite@latest',\n nameForViteScript,\n '--',\n '--template',\n viteTemplate,\n ]\n }\n })()\n\n return spawn.sync(pkgManager, createViteCommand, { stdio: 'inherit' })\n}\n\nconst updateViteConfigWithPolyfills = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir, viteTemplate } = cfg\n const isJsTemplate = viteTemplate === 'react'\n const viteConfigPath = path.join(projectDir, isJsTemplate ? 'vite.config.js' : 'vite.config.ts')\n let viteConfig = readFileSync(viteConfigPath, 'utf8')\n\n // Add import for vite-plugin-node-polyfills\n viteConfig = `import { nodePolyfills } from 'vite-plugin-node-polyfills'\\n${viteConfig}`\n\n // Add nodePolyfills to plugins array\n viteConfig = viteConfig.replace(/plugins:\\s*\\[([\\s\\S]*?)\\]/, (_, pluginsContent) => {\n const trimmedContent = pluginsContent.trim()\n const separator = trimmedContent ? ',\\n ' : ''\n return `plugins: [${pluginsContent}${separator}nodePolyfills()\\n ]`\n })\n\n writeFileSync(viteConfigPath, viteConfig)\n}\n","import spawn from 'cross-spawn'\nimport { addDependencies, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport fs from 'node:fs'\nimport * as jsoncParser from 'jsonc-parser'\n\nexport const clonePlayground = async (cfg: CreateRiverBuildAppConfig) => {\n console.log(picocolors.blue('\\nCloning Towns Protocol Playground...'))\n\n const result = await cloneRepo(cfg)\n if (!result) return\n if (result?.signal === 'SIGINT' || result?.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result && result.status !== 0) {\n console.error(picocolors.red('\\nFailed to clone playground.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nPlayground cloned successfully.'))\n console.log(picocolors.blue('\\nUpdating dependencies...'))\n\n await updateDependencies(cfg)\n console.log(picocolors.green('\\nDependencies updated successfully.'))\n\n await fixTsConfig(cfg)\n spawn.sync('git', ['init'], {\n stdio: 'inherit',\n cwd: cfg.targetDir,\n })\n}\n\nconst cloneRepo = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir } = cfg\n const tempDir = `${targetDir}-temp`\n\n // Clone with minimal data to a temporary directory\n const latestSdkTag = getLatestSdkTag()\n if (!latestSdkTag) {\n console.error(picocolors.red('\\nFailed to get latest SDK tag.'))\n return\n }\n\n const cloneResult = spawn.sync(\n 'git',\n [\n 'clone',\n '--no-checkout',\n '--depth',\n '1',\n '--sparse',\n '--branch',\n latestSdkTag,\n 'https://github.com/towns-protocol/towns.git',\n tempDir,\n ],\n { stdio: 'inherit' },\n )\n if (cloneResult.status !== 0) return cloneResult\n\n // Set up sparse checkout\n const sparseResult = spawn.sync('git', ['sparse-checkout', 'set', 'packages/playground'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (sparseResult.status !== 0) return sparseResult\n\n // Checkout the content\n const checkoutResult = spawn.sync('git', ['checkout'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (checkoutResult.status !== 0) return checkoutResult\n\n // Verify playground directory exists\n const playgroundDir = path.join(tempDir, 'packages/playground')\n const baseTsConfigPath = path.join(tempDir, 'packages/tsconfig.base.json')\n\n if (!fs.existsSync(playgroundDir)) {\n console.error(picocolors.red(`\\nPlayground directory not found at ${playgroundDir}`))\n return\n }\n\n // Move playground contents to target directory\n fs.mkdirSync(targetDir, { recursive: true })\n fs.cpSync(playgroundDir, targetDir, { recursive: true })\n\n // Copy tsconfig.base.json if it exists (since playground uses the config from monorepo)\n if (fs.existsSync(baseTsConfigPath)) {\n fs.copyFileSync(baseTsConfigPath, path.join(targetDir, 'tsconfig.base.json'))\n }\n // Clean up temporary directory\n fs.rmSync(tempDir, { recursive: true, force: true })\n return checkoutResult\n}\n\nconst updateDependencies = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n\n // Update package.json with latest Towns Protocol dependencies\n await addDependencies(projectDir, (json) => {\n const allTownsProtocolDeps = Object.keys(json.dependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n const allTownsProtocolDevDeps = Object.keys(json.devDependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n return {\n dependencies: allTownsProtocolDeps,\n devDependencies: [\n ...allTownsProtocolDevDeps,\n // hardcoded for now. if we add ^ in front of the version (e.g. ^5.1.6)\n // it will make npm install to get the latest 5.x.x\n ['typescript', '5.8.2'],\n ],\n }\n })\n}\n\nconst fixTsConfig = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n const tsConfigPath = path.join(projectDir, 'tsconfig.json')\n\n if (fs.existsSync(tsConfigPath)) {\n const tsConfigContent = fs.readFileSync(tsConfigPath, 'utf8')\n // TSConfig is a JSON with comments, so we need to parse it with jsonc-parser\n const tsConfig = jsoncParser.parse(tsConfigContent)\n\n if (tsConfig.extends === './../tsconfig.base.json') {\n // Create an edit to replace the extends value\n const edits = jsoncParser.modify(tsConfigContent, ['extends'], './tsconfig.base.json', {\n formattingOptions: { tabSize: 2 },\n })\n\n // Apply the edit\n const updatedContent = jsoncParser.applyEdits(tsConfigContent, edits)\n fs.writeFileSync(tsConfigPath, updatedContent)\n }\n }\n}\n\nfunction getLatestSdkTag(): string | null {\n const tagsResult = spawn.sync(\n 'git',\n ['ls-remote', '--tags', 'https://github.com/towns-protocol/towns.git', 'sdk-*'],\n { encoding: 'utf8' },\n )\n\n if (tagsResult.status !== 0 || !tagsResult.stdout) return null\n\n const tags = tagsResult.stdout\n .split('\\n')\n .filter(Boolean)\n .map((line) => {\n const [_hash, ref] = line.split('\\t')\n const tag = ref.replace('refs/tags/', '').replace(/\\^{}$/, '')\n\n // Extract version numbers from tags like sdk-hash-1.2.3\n const match = tag.match(/^sdk-[0-9a-f]+-(\\d+)\\.(\\d+)\\.(\\d+)$/)\n if (!match) return null\n\n return {\n tag,\n version: [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])],\n }\n })\n .filter(\n (item): item is { tag: string; version: number[] } =>\n item !== null && Array.isArray(item.version) && item.version.length === 3,\n )\n .sort((a, b) => {\n // Compare version numbers\n for (let i = 0; i < 3; i++) {\n if (a.version[i] !== b.version[i]) {\n return b.version[i] - a.version[i]\n }\n }\n return 0\n })\n\n return tags.length > 0 ? tags[0].tag : null\n}\n"],"mappings":"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","names":["exports","module","key","argv","arg","value","i","exports","module","argv","exports","module","fs","path","exports","module","fs","path","exports","module","fs","path","exports","module","path","exports","module","exports","module","path","exports","module","exports","module","exports","module","path","exports","module","fs","exports","module","path","parse","exports","module","exports","module","parse","spawn","import_node_path","import_picocolors","path","import_node_path","import_node_fs","picocolors","spawn","path","import_cross_spawn","import_node_path","import_picocolors","import_node_fs","picocolors","spawn","path","fs","minimist","picocolors","path"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js","../../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js","../../../node_modules/.bun/which@2.0.2/node_modules/which/which.js","../../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js","../../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","../../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js","../src/index.ts","../src/utils.ts","../src/modules/vite-react.ts","../src/modules/clone-playground.ts"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","let p = process || {}, argv = p.argv || [], env = p.env || {}\nlet isColorSupported =\n\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI)\n\nlet formatter = (open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input, index = string.indexOf(close, open.length)\n\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\", cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet f = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","import minimist from 'minimist'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport { getPackageManager, type CreateRiverBuildAppConfig, formatTargetDir } from './utils'\nimport { buildRiverReactApp } from './modules/vite-react'\nimport { clonePlayground } from './modules/clone-playground'\n\nconst argv = minimist<{\n template?: string\n help?: boolean\n}>(process.argv.slice(2), {\n default: { help: false, template: 'playground' },\n alias: { h: 'help', t: 'template' },\n string: ['_'],\n})\n\n// prettier-ignore\nconst helpMessage = `\\\nUsage: create-towns-protocol-app [OPTION]... [DIRECTORY]\n\nCreate a new Towns Protocol app.\nWith no arguments, creates a new app in the current directory.\n\nOptions:\n -t, --template NAME use a specific template\n\nAvailable templates:\n${picocolors.yellow ('react-ts react playground' )}\n`\n\ntype Template = 'react-ts' | 'react' | 'playground'\n\nconst build = {\n 'react-ts': buildRiverReactApp,\n react: buildRiverReactApp,\n playground: clonePlayground,\n} satisfies Record<Template, (cfg: CreateRiverBuildAppConfig) => Promise<void>>\n\nasync function init() {\n const targetDir = formatTargetDir(argv._[0]) || '.'\n const packageName = targetDir === '.' ? path.basename(process.cwd()) : targetDir\n const projectDir = targetDir === '.' ? process.cwd() : path.join(process.cwd(), targetDir)\n const pkgManager = getPackageManager()\n const template = (argv.template || argv.t) as Template\n\n const help = argv.help\n if (help) {\n console.log(helpMessage)\n return\n }\n\n console.log(picocolors.blue(`\\nScaffolding project in ${packageName}...`))\n await build[template]({\n projectDir,\n packageName,\n targetDir,\n viteTemplate: template !== 'playground' ? template : undefined,\n })\n console.log(picocolors.green('\\nDone! 🎉'))\n console.log(picocolors.blue('\\nNow run: cd ' + targetDir + ' && ' + pkgManager + ` install`))\n console.log(picocolors.blue('\\nThen run: ' + pkgManager + ' dev'))\n}\n\ninit().catch((e) => {\n console.error(e)\n process.exit(1)\n})\n","import { readFileSync, writeFileSync } from 'node:fs'\nimport path from 'node:path'\nimport playgroundPackageJson from '../../playground/package.json' with { type: 'json' }\n\nexport type CreateRiverBuildAppConfig = {\n projectDir: string\n packageName: string\n targetDir: string\n viteTemplate?: 'react-ts' | 'react'\n}\n\nexport const getPackageManager = () => {\n if (process.env.npm_config_user_agent) {\n const agent = process.env.npm_config_user_agent\n if (agent.startsWith('yarn')) return 'yarn'\n if (agent.startsWith('npm')) return 'npm'\n if (agent.startsWith('pnpm')) return 'pnpm'\n if (agent.startsWith('bun')) return 'bun'\n }\n // Default to npm if no user agent is found\n return 'npm'\n}\n\ntype PackageJson = typeof playgroundPackageJson\n\nexport const addDependencies = async (\n projectDir: string,\n cfg: (currentDeps: PackageJson) => {\n dependencies: Array<string | string[]>\n devDependencies?: Array<string | string[]>\n },\n) => {\n const packageJsonPath = path.join(projectDir, 'package.json')\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))\n const { dependencies, devDependencies } = cfg(packageJson)\n\n if (devDependencies && devDependencies.length > 0) {\n if (!packageJson.devDependencies) {\n packageJson.devDependencies = {}\n }\n for (const dep of devDependencies) {\n if (Array.isArray(dep)) {\n packageJson.devDependencies[dep[0]] = dep[1]\n } else {\n packageJson.devDependencies[dep] = 'latest'\n }\n }\n }\n\n if (!packageJson.dependencies) {\n packageJson.dependencies = {}\n }\n for (const dep of dependencies) {\n if (Array.isArray(dep)) {\n packageJson.dependencies[dep[0]] = dep[1]\n } else {\n packageJson.dependencies[dep] = 'latest'\n }\n }\n\n writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\\n')\n}\n\nexport const formatTargetDir = (targetDir: string | undefined) =>\n targetDir?.trim().replace(/\\/+$/g, '')\n","import spawn from 'cross-spawn'\nimport { addDependencies, getPackageManager, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport { readFileSync, writeFileSync } from 'node:fs'\nimport picocolors from 'picocolors'\n\nexport const buildRiverReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const result = await scaffoldViteReactApp(cfg)\n\n if (result.signal === 'SIGINT' || result.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result.status !== 0) {\n console.error(picocolors.red('\\nFailed to scaffold project.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nVite project created successfully.'))\n console.log(picocolors.blue('\\nAdding River SDK dependencies...'))\n\n await addDependencies(cfg.projectDir, () => ({\n dependencies: ['@towns-protocol/react-sdk', '@towns-protocol/sdk'],\n devDependencies: ['vite-plugin-node-polyfills'],\n }))\n\n console.log(picocolors.green('\\nRiver SDK dependencies added successfully.'))\n console.log(picocolors.blue('\\nUpdating vite.config.ts...'))\n\n await updateViteConfigWithPolyfills(cfg)\n\n console.log(picocolors.green('\\nvite.config.ts updated successfully.'))\n}\n\nconst scaffoldViteReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir, packageName, viteTemplate = 'react-ts' } = cfg\n const pkgManager = getPackageManager()\n\n const createViteCommand = (() => {\n const nameForViteScript = targetDir === '.' ? '.' : packageName\n switch (pkgManager) {\n case 'yarn':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'pnpm':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'bun':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n default:\n // npm requires the -- flag to pass args to the template\n return [\n 'create',\n 'vite@latest',\n nameForViteScript,\n '--',\n '--template',\n viteTemplate,\n ]\n }\n })()\n\n return spawn.sync(pkgManager, createViteCommand, { stdio: 'inherit' })\n}\n\nconst updateViteConfigWithPolyfills = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir, viteTemplate } = cfg\n const isJsTemplate = viteTemplate === 'react'\n const viteConfigPath = path.join(projectDir, isJsTemplate ? 'vite.config.js' : 'vite.config.ts')\n let viteConfig = readFileSync(viteConfigPath, 'utf8')\n\n // Add import for vite-plugin-node-polyfills\n viteConfig = `import { nodePolyfills } from 'vite-plugin-node-polyfills'\\n${viteConfig}`\n\n // Add nodePolyfills to plugins array\n viteConfig = viteConfig.replace(/plugins:\\s*\\[([\\s\\S]*?)\\]/, (_, pluginsContent) => {\n const trimmedContent = pluginsContent.trim()\n const separator = trimmedContent ? ',\\n ' : ''\n return `plugins: [${pluginsContent}${separator}nodePolyfills()\\n ]`\n })\n\n writeFileSync(viteConfigPath, viteConfig)\n}\n","import spawn from 'cross-spawn'\nimport { addDependencies, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport fs from 'node:fs'\nimport * as jsoncParser from 'jsonc-parser'\n\nexport const clonePlayground = async (cfg: CreateRiverBuildAppConfig) => {\n console.log(picocolors.blue('\\nCloning Towns Protocol Playground...'))\n\n const result = await cloneRepo(cfg)\n if (!result) return\n if (result?.signal === 'SIGINT' || result?.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result && result.status !== 0) {\n console.error(picocolors.red('\\nFailed to clone playground.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nPlayground cloned successfully.'))\n console.log(picocolors.blue('\\nUpdating dependencies...'))\n\n await updateDependencies(cfg)\n console.log(picocolors.green('\\nDependencies updated successfully.'))\n\n await fixTsConfig(cfg)\n spawn.sync('git', ['init'], {\n stdio: 'inherit',\n cwd: cfg.targetDir,\n })\n}\n\nconst cloneRepo = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir } = cfg\n const tempDir = `${targetDir}-temp`\n\n // Clone with minimal data to a temporary directory\n const latestSdkTag = getLatestSdkTag()\n if (!latestSdkTag) {\n console.error(picocolors.red('\\nFailed to get latest SDK tag.'))\n return\n }\n\n const cloneResult = spawn.sync(\n 'git',\n [\n 'clone',\n '--no-checkout',\n '--depth',\n '1',\n '--sparse',\n '--branch',\n latestSdkTag,\n 'https://github.com/towns-protocol/towns.git',\n tempDir,\n ],\n { stdio: 'inherit' },\n )\n if (cloneResult.status !== 0) return cloneResult\n\n // Set up sparse checkout\n const sparseResult = spawn.sync('git', ['sparse-checkout', 'set', 'packages/playground'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (sparseResult.status !== 0) return sparseResult\n\n // Checkout the content\n const checkoutResult = spawn.sync('git', ['checkout'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (checkoutResult.status !== 0) return checkoutResult\n\n // Verify playground directory exists\n const playgroundDir = path.join(tempDir, 'packages/playground')\n const baseTsConfigPath = path.join(tempDir, 'packages/tsconfig.base.json')\n\n if (!fs.existsSync(playgroundDir)) {\n console.error(picocolors.red(`\\nPlayground directory not found at ${playgroundDir}`))\n return\n }\n\n // Move playground contents to target directory\n fs.mkdirSync(targetDir, { recursive: true })\n fs.cpSync(playgroundDir, targetDir, { recursive: true })\n\n // Copy tsconfig.base.json if it exists (since playground uses the config from monorepo)\n if (fs.existsSync(baseTsConfigPath)) {\n fs.copyFileSync(baseTsConfigPath, path.join(targetDir, 'tsconfig.base.json'))\n }\n // Clean up temporary directory\n fs.rmSync(tempDir, { recursive: true, force: true })\n return checkoutResult\n}\n\nconst updateDependencies = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n\n // Update package.json with latest Towns Protocol dependencies\n await addDependencies(projectDir, (json) => {\n const allTownsProtocolDeps = Object.keys(json.dependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n const allTownsProtocolDevDeps = Object.keys(json.devDependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n return {\n dependencies: allTownsProtocolDeps,\n devDependencies: [\n ...allTownsProtocolDevDeps,\n // hardcoded for now. if we add ^ in front of the version (e.g. ^5.1.6)\n // it will make npm install to get the latest 5.x.x\n ['typescript', '5.8.2'],\n ],\n }\n })\n}\n\nconst fixTsConfig = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n const tsConfigPath = path.join(projectDir, 'tsconfig.json')\n\n if (fs.existsSync(tsConfigPath)) {\n const tsConfigContent = fs.readFileSync(tsConfigPath, 'utf8')\n // TSConfig is a JSON with comments, so we need to parse it with jsonc-parser\n const tsConfig = jsoncParser.parse(tsConfigContent)\n\n if (tsConfig.extends === './../tsconfig.base.json') {\n // Create an edit to replace the extends value\n const edits = jsoncParser.modify(tsConfigContent, ['extends'], './tsconfig.base.json', {\n formattingOptions: { tabSize: 2 },\n })\n\n // Apply the edit\n const updatedContent = jsoncParser.applyEdits(tsConfigContent, edits)\n fs.writeFileSync(tsConfigPath, updatedContent)\n }\n }\n}\n\nfunction getLatestSdkTag(): string | null {\n const tagsResult = spawn.sync(\n 'git',\n ['ls-remote', '--tags', 'https://github.com/towns-protocol/towns.git', 'sdk-*'],\n { encoding: 'utf8' },\n )\n\n if (tagsResult.status !== 0 || !tagsResult.stdout) return null\n\n const tags = tagsResult.stdout\n .split('\\n')\n .filter(Boolean)\n .map((line) => {\n const [_hash, ref] = line.split('\\t')\n const tag = ref.replace('refs/tags/', '').replace(/\\^{}$/, '')\n\n // Extract version numbers from tags like sdk-hash-1.2.3\n const match = tag.match(/^sdk-[0-9a-f]+-(\\d+)\\.(\\d+)\\.(\\d+)$/)\n if (!match) return null\n\n return {\n tag,\n version: [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])],\n }\n })\n .filter(\n (item): item is { tag: string; version: number[] } =>\n item !== null && Array.isArray(item.version) && item.version.length === 3,\n )\n .sort((a, b) => {\n // Compare version numbers\n for (let i = 0; i < 3; i++) {\n if (a.version[i] !== b.version[i]) {\n return b.version[i] - a.version[i]\n }\n }\n return 0\n })\n\n return tags.length > 0 ? tags[0].tag : null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,0EAAAA,UAAAC,SAAA;AAAA;AAEA,aAAS,OAAO,KAAK,MAAM;AAC1B,UAAI,IAAI;AACR,WAAK,MAAM,GAAG,EAAE,EAAE,QAAQ,SAAUC,MAAK;AACxC,YAAI,EAAEA,IAAG,KAAK,CAAC;AAAA,MAChB,CAAC;AAED,UAAI,MAAM,KAAK,KAAK,SAAS,CAAC;AAC9B,aAAO,OAAO;AAAA,IACf;AAEA,aAAS,SAAS,GAAG;AACpB,UAAI,OAAO,MAAM,UAAU;AAAE,eAAO;AAAA,MAAM;AAC1C,UAAK,iBAAkB,KAAK,CAAC,GAAG;AAAE,eAAO;AAAA,MAAM;AAC/C,aAAQ,6CAA8C,KAAK,CAAC;AAAA,IAC7D;AAEA,aAAS,qBAAqB,KAAK,KAAK;AACvC,aAAQ,QAAQ,iBAAiB,OAAO,IAAI,GAAG,MAAM,cAAe,QAAQ;AAAA,IAC7E;AAEA,IAAAD,QAAO,UAAU,SAAU,MAAM,MAAM;AACtC,UAAI,CAAC,MAAM;AAAE,eAAO,CAAC;AAAA,MAAG;AAExB,UAAI,QAAQ;AAAA,QACX,OAAO,CAAC;AAAA,QACR,SAAS,CAAC;AAAA,QACV,WAAW;AAAA,MACZ;AAEA,UAAI,OAAO,KAAK,YAAY,YAAY;AACvC,cAAM,YAAY,KAAK;AAAA,MACxB;AAEA,UAAI,OAAO,KAAK,YAAY,aAAa,KAAK,SAAS;AACtD,cAAM,WAAW;AAAA,MAClB,OAAO;AACN,SAAC,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAUC,MAAK;AAC9D,gBAAM,MAAMA,IAAG,IAAI;AAAA,QACpB,CAAC;AAAA,MACF;AAEA,UAAI,UAAU,CAAC;AAEf,eAAS,eAAeA,MAAK;AAC5B,eAAO,QAAQA,IAAG,EAAE,KAAK,SAAU,GAAG;AACrC,iBAAO,MAAM,MAAM,CAAC;AAAA,QACrB,CAAC;AAAA,MACF;AAEA,aAAO,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,QAAQ,SAAUA,MAAK;AACpD,gBAAQA,IAAG,IAAI,CAAC,EAAE,OAAO,KAAK,MAAMA,IAAG,CAAC;AACxC,gBAAQA,IAAG,EAAE,QAAQ,SAAU,GAAG;AACjC,kBAAQ,CAAC,IAAI,CAACA,IAAG,EAAE,OAAO,QAAQA,IAAG,EAAE,OAAO,SAAU,GAAG;AAC1D,mBAAO,MAAM;AAAA,UACd,CAAC,CAAC;AAAA,QACH,CAAC;AAAA,MACF,CAAC;AAED,OAAC,EAAE,OAAO,KAAK,MAAM,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAUA,MAAK;AAC7D,cAAM,QAAQA,IAAG,IAAI;AACrB,YAAI,QAAQA,IAAG,GAAG;AACjB,WAAC,EAAE,OAAO,QAAQA,IAAG,CAAC,EAAE,QAAQ,SAAU,GAAG;AAC5C,kBAAM,QAAQ,CAAC,IAAI;AAAA,UACpB,CAAC;AAAA,QACF;AAAA,MACD,CAAC;AAED,UAAI,WAAW,KAAK,WAAW,CAAC;AAEhC,UAAIC,QAAO,EAAE,GAAG,CAAC,EAAE;AAEnB,eAAS,WAAWD,MAAKE,MAAK;AAC7B,eAAQ,MAAM,YAAa,YAAa,KAAKA,IAAG,KAC5C,MAAM,QAAQF,IAAG,KACjB,MAAM,MAAMA,IAAG,KACf,QAAQA,IAAG;AAAA,MAChB;AAEA,eAAS,OAAO,KAAK,MAAMG,QAAO;AACjC,YAAI,IAAI;AACR,iBAASC,KAAI,GAAGA,KAAI,KAAK,SAAS,GAAGA,MAAK;AACzC,cAAIJ,OAAM,KAAKI,EAAC;AAChB,cAAI,qBAAqB,GAAGJ,IAAG,GAAG;AAAE;AAAA,UAAQ;AAC5C,cAAI,EAAEA,IAAG,MAAM,QAAW;AAAE,cAAEA,IAAG,IAAI,CAAC;AAAA,UAAG;AACzC,cACC,EAAEA,IAAG,MAAM,OAAO,aACf,EAAEA,IAAG,MAAM,OAAO,aAClB,EAAEA,IAAG,MAAM,OAAO,WACpB;AACD,cAAEA,IAAG,IAAI,CAAC;AAAA,UACX;AACA,cAAI,EAAEA,IAAG,MAAM,MAAM,WAAW;AAAE,cAAEA,IAAG,IAAI,CAAC;AAAA,UAAG;AAC/C,cAAI,EAAEA,IAAG;AAAA,QACV;AAEA,YAAI,UAAU,KAAK,KAAK,SAAS,CAAC;AAClC,YAAI,qBAAqB,GAAG,OAAO,GAAG;AAAE;AAAA,QAAQ;AAChD,YACC,MAAM,OAAO,aACV,MAAM,OAAO,aACb,MAAM,OAAO,WACf;AACD,cAAI,CAAC;AAAA,QACN;AACA,YAAI,MAAM,MAAM,WAAW;AAAE,cAAI,CAAC;AAAA,QAAG;AACrC,YAAI,EAAE,OAAO,MAAM,UAAa,MAAM,MAAM,OAAO,KAAK,OAAO,EAAE,OAAO,MAAM,WAAW;AACxF,YAAE,OAAO,IAAIG;AAAA,QACd,WAAW,MAAM,QAAQ,EAAE,OAAO,CAAC,GAAG;AACrC,YAAE,OAAO,EAAE,KAAKA,MAAK;AAAA,QACtB,OAAO;AACN,YAAE,OAAO,IAAI,CAAC,EAAE,OAAO,GAAGA,MAAK;AAAA,QAChC;AAAA,MACD;AAEA,eAAS,OAAOH,MAAK,KAAKE,MAAK;AAC9B,YAAIA,QAAO,MAAM,aAAa,CAAC,WAAWF,MAAKE,IAAG,GAAG;AACpD,cAAI,MAAM,UAAUA,IAAG,MAAM,OAAO;AAAE;AAAA,UAAQ;AAAA,QAC/C;AAEA,YAAIC,SAAQ,CAAC,MAAM,QAAQH,IAAG,KAAK,SAAS,GAAG,IAC5C,OAAO,GAAG,IACV;AACH,eAAOC,OAAMD,KAAI,MAAM,GAAG,GAAGG,MAAK;AAElC,SAAC,QAAQH,IAAG,KAAK,CAAC,GAAG,QAAQ,SAAU,GAAG;AACzC,iBAAOC,OAAM,EAAE,MAAM,GAAG,GAAGE,MAAK;AAAA,QACjC,CAAC;AAAA,MACF;AAEA,aAAO,KAAK,MAAM,KAAK,EAAE,QAAQ,SAAUH,MAAK;AAC/C,eAAOA,MAAK,SAASA,IAAG,MAAM,SAAY,QAAQ,SAASA,IAAG,CAAC;AAAA,MAChE,CAAC;AAED,UAAI,WAAW,CAAC;AAEhB,UAAI,KAAK,QAAQ,IAAI,MAAM,IAAI;AAC9B,mBAAW,KAAK,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC;AAC5C,eAAO,KAAK,MAAM,GAAG,KAAK,QAAQ,IAAI,CAAC;AAAA,MACxC;AAEA,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACrC,YAAI,MAAM,KAAK,CAAC;AAChB,YAAI;AACJ,YAAI;AAEJ,YAAK,SAAU,KAAK,GAAG,GAAG;AAIzB,cAAI,IAAI,IAAI,MAAM,uBAAuB;AACzC,gBAAM,EAAE,CAAC;AACT,cAAI,QAAQ,EAAE,CAAC;AACf,cAAI,MAAM,MAAM,GAAG,GAAG;AACrB,oBAAQ,UAAU;AAAA,UACnB;AACA,iBAAO,KAAK,OAAO,GAAG;AAAA,QACvB,WAAY,WAAY,KAAK,GAAG,GAAG;AAClC,gBAAM,IAAI,MAAM,YAAY,EAAE,CAAC;AAC/B,iBAAO,KAAK,OAAO,GAAG;AAAA,QACvB,WAAY,QAAS,KAAK,GAAG,GAAG;AAC/B,gBAAM,IAAI,MAAM,SAAS,EAAE,CAAC;AAC5B,iBAAO,KAAK,IAAI,CAAC;AACjB,cACC,SAAS,UACN,CAAE,cAAe,KAAK,IAAI,KAC1B,CAAC,MAAM,MAAM,GAAG,KAChB,CAAC,MAAM,aACN,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,OACzC;AACD,mBAAO,KAAK,MAAM,GAAG;AACrB,iBAAK;AAAA,UACN,WAAY,iBAAkB,KAAK,IAAI,GAAG;AACzC,mBAAO,KAAK,SAAS,QAAQ,GAAG;AAChC,iBAAK;AAAA,UACN,OAAO;AACN,mBAAO,KAAK,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG;AAAA,UAChD;AAAA,QACD,WAAY,UAAW,KAAK,GAAG,GAAG;AACjC,cAAI,UAAU,IAAI,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE;AAEvC,cAAI,SAAS;AACb,mBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,mBAAO,IAAI,MAAM,IAAI,CAAC;AAEtB,gBAAI,SAAS,KAAK;AACjB,qBAAO,QAAQ,CAAC,GAAG,MAAM,GAAG;AAC5B;AAAA,YACD;AAEA,gBAAK,WAAY,KAAK,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,KAAK;AACrD,qBAAO,QAAQ,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,GAAG;AACrC,uBAAS;AACT;AAAA,YACD;AAEA,gBACE,WAAY,KAAK,QAAQ,CAAC,CAAC,KACxB,0BAA2B,KAAK,IAAI,GACvC;AACD,qBAAO,QAAQ,CAAC,GAAG,MAAM,GAAG;AAC5B,uBAAS;AACT;AAAA,YACD;AAEA,gBAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG;AACjD,qBAAO,QAAQ,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG;AACxC,uBAAS;AACT;AAAA,YACD,OAAO;AACN,qBAAO,QAAQ,CAAC,GAAG,MAAM,QAAQ,QAAQ,CAAC,CAAC,IAAI,KAAK,MAAM,GAAG;AAAA,YAC9D;AAAA,UACD;AAEA,gBAAM,IAAI,MAAM,EAAE,EAAE,CAAC;AACrB,cAAI,CAAC,UAAU,QAAQ,KAAK;AAC3B,gBACC,KAAK,IAAI,CAAC,KACP,CAAE,cAAe,KAAK,KAAK,IAAI,CAAC,CAAC,KACjC,CAAC,MAAM,MAAM,GAAG,MACf,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,OACzC;AACD,qBAAO,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG;AAC5B,mBAAK;AAAA,YACN,WAAW,KAAK,IAAI,CAAC,KAAM,iBAAkB,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG;AAC/D,qBAAO,KAAK,KAAK,IAAI,CAAC,MAAM,QAAQ,GAAG;AACvC,mBAAK;AAAA,YACN,OAAO;AACN,qBAAO,KAAK,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG;AAAA,YAChD;AAAA,UACD;AAAA,QACD,OAAO;AACN,cAAI,CAAC,MAAM,aAAa,MAAM,UAAU,GAAG,MAAM,OAAO;AACvD,YAAAC,MAAK,EAAE,KAAK,MAAM,QAAQ,KAAK,CAAC,SAAS,GAAG,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,UAClE;AACA,cAAI,KAAK,WAAW;AACnB,YAAAA,MAAK,EAAE,KAAK,MAAMA,MAAK,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC;AAC3C;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAEA,aAAO,KAAK,QAAQ,EAAE,QAAQ,SAAU,GAAG;AAC1C,YAAI,CAAC,OAAOA,OAAM,EAAE,MAAM,GAAG,CAAC,GAAG;AAChC,iBAAOA,OAAM,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC;AAEtC,WAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,SAAU,GAAG;AACvC,mBAAOA,OAAM,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC;AAAA,UACvC,CAAC;AAAA,QACF;AAAA,MACD,CAAC;AAED,UAAI,KAAK,IAAI,GAAG;AACf,QAAAA,MAAK,IAAI,IAAI,SAAS,MAAM;AAAA,MAC7B,OAAO;AACN,iBAAS,QAAQ,SAAU,GAAG;AAC7B,UAAAA,MAAK,EAAE,KAAK,CAAC;AAAA,QACd,CAAC;AAAA,MACF;AAEA,aAAOA;AAAA,IACR;AAAA;AAAA;;;ACtQA;AAAA,mFAAAI,UAAAC,SAAA;AAAA;AAAA,QAAI,IAAI,WAAW,CAAC;AAApB,QAAuBC,QAAO,EAAE,QAAQ,CAAC;AAAzC,QAA4C,MAAM,EAAE,OAAO,CAAC;AAC5D,QAAI,mBACH,EAAE,CAAC,CAAC,IAAI,YAAYA,MAAK,SAAS,YAAY,OAC7C,CAAC,CAAC,IAAI,eAAeA,MAAK,SAAS,SAAS,KAAK,EAAE,aAAa,YAAa,EAAE,UAAU,CAAC,GAAG,SAAS,IAAI,SAAS,UAAW,CAAC,CAAC,IAAI;AAEtI,QAAI,YAAY,CAAC,MAAM,OAAO,UAAU,SACvC,WAAS;AACR,UAAI,SAAS,KAAK,OAAO,QAAQ,OAAO,QAAQ,OAAO,KAAK,MAAM;AAClE,aAAO,CAAC,QAAQ,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,IAAI,QAAQ,OAAO,SAAS;AAAA,IAC9F;AAED,QAAI,eAAe,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrD,UAAI,SAAS,IAAI,SAAS;AAC1B,SAAG;AACF,kBAAU,OAAO,UAAU,QAAQ,KAAK,IAAI;AAC5C,iBAAS,QAAQ,MAAM;AACvB,gBAAQ,OAAO,QAAQ,OAAO,MAAM;AAAA,MACrC,SAAS,CAAC;AACV,aAAO,SAAS,OAAO,UAAU,MAAM;AAAA,IACxC;AAEA,QAAI,eAAe,CAAC,UAAU,qBAAqB;AAClD,UAAI,IAAI,UAAU,YAAY,MAAM;AACpC,aAAO;AAAA,QACN,kBAAkB;AAAA,QAClB,OAAO,EAAE,WAAW,SAAS;AAAA,QAC7B,MAAM,EAAE,WAAW,YAAY,iBAAiB;AAAA,QAChD,KAAK,EAAE,WAAW,YAAY,iBAAiB;AAAA,QAC/C,QAAQ,EAAE,WAAW,UAAU;AAAA,QAC/B,WAAW,EAAE,WAAW,UAAU;AAAA,QAClC,SAAS,EAAE,WAAW,UAAU;AAAA,QAChC,QAAQ,EAAE,WAAW,UAAU;AAAA,QAC/B,eAAe,EAAE,WAAW,UAAU;AAAA,QAEtC,OAAO,EAAE,YAAY,UAAU;AAAA,QAC/B,KAAK,EAAE,YAAY,UAAU;AAAA,QAC7B,OAAO,EAAE,YAAY,UAAU;AAAA,QAC/B,QAAQ,EAAE,YAAY,UAAU;AAAA,QAChC,MAAM,EAAE,YAAY,UAAU;AAAA,QAC9B,SAAS,EAAE,YAAY,UAAU;AAAA,QACjC,MAAM,EAAE,YAAY,UAAU;AAAA,QAC9B,OAAO,EAAE,YAAY,UAAU;AAAA,QAC/B,MAAM,EAAE,YAAY,UAAU;AAAA,QAE9B,SAAS,EAAE,YAAY,UAAU;AAAA,QACjC,OAAO,EAAE,YAAY,UAAU;AAAA,QAC/B,SAAS,EAAE,YAAY,UAAU;AAAA,QACjC,UAAU,EAAE,YAAY,UAAU;AAAA,QAClC,QAAQ,EAAE,YAAY,UAAU;AAAA,QAChC,WAAW,EAAE,YAAY,UAAU;AAAA,QACnC,QAAQ,EAAE,YAAY,UAAU;AAAA,QAChC,SAAS,EAAE,YAAY,UAAU;AAAA,QAEjC,aAAa,EAAE,YAAY,UAAU;AAAA,QACrC,WAAW,EAAE,YAAY,UAAU;AAAA,QACnC,aAAa,EAAE,YAAY,UAAU;AAAA,QACrC,cAAc,EAAE,YAAY,UAAU;AAAA,QACtC,YAAY,EAAE,YAAY,UAAU;AAAA,QACpC,eAAe,EAAE,YAAY,UAAU;AAAA,QACvC,YAAY,EAAE,YAAY,UAAU;AAAA,QACpC,aAAa,EAAE,YAAY,UAAU;AAAA,QAErC,eAAe,EAAE,aAAa,UAAU;AAAA,QACxC,aAAa,EAAE,aAAa,UAAU;AAAA,QACtC,eAAe,EAAE,aAAa,UAAU;AAAA,QACxC,gBAAgB,EAAE,aAAa,UAAU;AAAA,QACzC,cAAc,EAAE,aAAa,UAAU;AAAA,QACvC,iBAAiB,EAAE,aAAa,UAAU;AAAA,QAC1C,cAAc,EAAE,aAAa,UAAU;AAAA,QACvC,eAAe,EAAE,aAAa,UAAU;AAAA,MACzC;AAAA,IACD;AAEA,IAAAD,QAAO,UAAU,aAAa;AAC9B,IAAAA,QAAO,QAAQ,eAAe;AAAA;AAAA;;;AC1E9B;AAAA,sEAAAE,UAAAC,SAAA;AAAA;AAAA,IAAAA,QAAO,UAAU;AACjB,UAAM,OAAO;AAEb,QAAIC,MAAK,QAAQ,IAAI;AAErB,aAAS,aAAcC,OAAM,SAAS;AACpC,UAAI,UAAU,QAAQ,YAAY,SAChC,QAAQ,UAAU,QAAQ,IAAI;AAEhC,UAAI,CAAC,SAAS;AACZ,eAAO;AAAA,MACT;AAEA,gBAAU,QAAQ,MAAM,GAAG;AAC3B,UAAI,QAAQ,QAAQ,EAAE,MAAM,IAAI;AAC9B,eAAO;AAAA,MACT;AACA,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAI,IAAI,QAAQ,CAAC,EAAE,YAAY;AAC/B,YAAI,KAAKA,MAAK,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,MAAM,GAAG;AACnD,iBAAO;AAAA,QACT;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,aAAS,UAAW,MAAMA,OAAM,SAAS;AACvC,UAAI,CAAC,KAAK,eAAe,KAAK,CAAC,KAAK,OAAO,GAAG;AAC5C,eAAO;AAAA,MACT;AACA,aAAO,aAAaA,OAAM,OAAO;AAAA,IACnC;AAEA,aAAS,MAAOA,OAAM,SAAS,IAAI;AACjC,MAAAD,IAAG,KAAKC,OAAM,SAAU,IAAI,MAAM;AAChC,WAAG,IAAI,KAAK,QAAQ,UAAU,MAAMA,OAAM,OAAO,CAAC;AAAA,MACpD,CAAC;AAAA,IACH;AAEA,aAAS,KAAMA,OAAM,SAAS;AAC5B,aAAO,UAAUD,IAAG,SAASC,KAAI,GAAGA,OAAM,OAAO;AAAA,IACnD;AAAA;AAAA;;;ACzCA;AAAA,mEAAAC,UAAAC,SAAA;AAAA;AAAA,IAAAA,QAAO,UAAU;AACjB,UAAM,OAAO;AAEb,QAAIC,MAAK,QAAQ,IAAI;AAErB,aAAS,MAAOC,OAAM,SAAS,IAAI;AACjC,MAAAD,IAAG,KAAKC,OAAM,SAAU,IAAI,MAAM;AAChC,WAAG,IAAI,KAAK,QAAQ,UAAU,MAAM,OAAO,CAAC;AAAA,MAC9C,CAAC;AAAA,IACH;AAEA,aAAS,KAAMA,OAAM,SAAS;AAC5B,aAAO,UAAUD,IAAG,SAASC,KAAI,GAAG,OAAO;AAAA,IAC7C;AAEA,aAAS,UAAW,MAAM,SAAS;AACjC,aAAO,KAAK,OAAO,KAAK,UAAU,MAAM,OAAO;AAAA,IACjD;AAEA,aAAS,UAAW,MAAM,SAAS;AACjC,UAAI,MAAM,KAAK;AACf,UAAI,MAAM,KAAK;AACf,UAAI,MAAM,KAAK;AAEf,UAAI,QAAQ,QAAQ,QAAQ,SAC1B,QAAQ,MAAM,QAAQ,UAAU,QAAQ,OAAO;AACjD,UAAI,QAAQ,QAAQ,QAAQ,SAC1B,QAAQ,MAAM,QAAQ,UAAU,QAAQ,OAAO;AAEjD,UAAI,IAAI,SAAS,OAAO,CAAC;AACzB,UAAI,IAAI,SAAS,OAAO,CAAC;AACzB,UAAI,IAAI,SAAS,OAAO,CAAC;AACzB,UAAI,KAAK,IAAI;AAEb,UAAI,MAAO,MAAM,KACd,MAAM,KAAM,QAAQ,SACpB,MAAM,KAAM,QAAQ,SACpB,MAAM,MAAO,UAAU;AAE1B,aAAO;AAAA,IACT;AAAA;AAAA;;;ACxCA;AAAA,oEAAAC,UAAAC,SAAA;AAAA;AAAA,QAAIC,MAAK,QAAQ,IAAI;AACrB,QAAI;AACJ,QAAI,QAAQ,aAAa,WAAW,OAAO,iBAAiB;AAC1D,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAEA,IAAAD,QAAO,UAAU;AACjB,UAAM,OAAO;AAEb,aAAS,MAAOE,OAAM,SAAS,IAAI;AACjC,UAAI,OAAO,YAAY,YAAY;AACjC,aAAK;AACL,kBAAU,CAAC;AAAA,MACb;AAEA,UAAI,CAAC,IAAI;AACP,YAAI,OAAO,YAAY,YAAY;AACjC,gBAAM,IAAI,UAAU,uBAAuB;AAAA,QAC7C;AAEA,eAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAC5C,gBAAMA,OAAM,WAAW,CAAC,GAAG,SAAU,IAAI,IAAI;AAC3C,gBAAI,IAAI;AACN,qBAAO,EAAE;AAAA,YACX,OAAO;AACL,sBAAQ,EAAE;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAEA,WAAKA,OAAM,WAAW,CAAC,GAAG,SAAU,IAAI,IAAI;AAE1C,YAAI,IAAI;AACN,cAAI,GAAG,SAAS,YAAY,WAAW,QAAQ,cAAc;AAC3D,iBAAK;AACL,iBAAK;AAAA,UACP;AAAA,QACF;AACA,WAAG,IAAI,EAAE;AAAA,MACX,CAAC;AAAA,IACH;AAEA,aAAS,KAAMA,OAAM,SAAS;AAE5B,UAAI;AACF,eAAO,KAAK,KAAKA,OAAM,WAAW,CAAC,CAAC;AAAA,MACtC,SAAS,IAAI;AACX,YAAI,WAAW,QAAQ,gBAAgB,GAAG,SAAS,UAAU;AAC3D,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACxDA;AAAA,oEAAAC,UAAAC,SAAA;AAAA;AAAA,QAAM,YAAY,QAAQ,aAAa,WACnC,QAAQ,IAAI,WAAW,YACvB,QAAQ,IAAI,WAAW;AAE3B,QAAMC,QAAO,QAAQ,MAAM;AAC3B,QAAM,QAAQ,YAAY,MAAM;AAChC,QAAM,QAAQ;AAEd,QAAM,mBAAmB,CAAC,QACxB,OAAO,OAAO,IAAI,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAElE,QAAM,cAAc,CAAC,KAAK,QAAQ;AAChC,YAAM,QAAQ,IAAI,SAAS;AAI3B,YAAM,UAAU,IAAI,MAAM,IAAI,KAAK,aAAa,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,IAEjE;AAAA;AAAA,QAEE,GAAI,YAAY,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC;AAAA,QACnC,IAAI,IAAI,QAAQ,QAAQ,IAAI;AAAA,QACe,IAAI,MAAM,KAAK;AAAA,MAC5D;AAEJ,YAAM,aAAa,YACf,IAAI,WAAW,QAAQ,IAAI,WAAW,wBACtC;AACJ,YAAM,UAAU,YAAY,WAAW,MAAM,KAAK,IAAI,CAAC,EAAE;AAEzD,UAAI,WAAW;AACb,YAAI,IAAI,QAAQ,GAAG,MAAM,MAAM,QAAQ,CAAC,MAAM;AAC5C,kBAAQ,QAAQ,EAAE;AAAA,MACtB;AAEA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,QAAM,QAAQ,CAAC,KAAK,KAAK,OAAO;AAC9B,UAAI,OAAO,QAAQ,YAAY;AAC7B,aAAK;AACL,cAAM,CAAC;AAAA,MACT;AACA,UAAI,CAAC;AACH,cAAM,CAAC;AAET,YAAM,EAAE,SAAS,SAAS,WAAW,IAAI,YAAY,KAAK,GAAG;AAC7D,YAAM,QAAQ,CAAC;AAEf,YAAM,OAAO,OAAK,IAAI,QAAQ,CAAC,SAAS,WAAW;AACjD,YAAI,MAAM,QAAQ;AAChB,iBAAO,IAAI,OAAO,MAAM,SAAS,QAAQ,KAAK,IAC1C,OAAO,iBAAiB,GAAG,CAAC;AAElC,cAAM,QAAQ,QAAQ,CAAC;AACvB,cAAM,WAAW,SAAS,KAAK,KAAK,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI;AAE7D,cAAM,OAAOA,MAAK,KAAK,UAAU,GAAG;AACpC,cAAM,IAAI,CAAC,YAAY,YAAY,KAAK,GAAG,IAAI,IAAI,MAAM,GAAG,CAAC,IAAI,OAC7D;AAEJ,gBAAQ,QAAQ,GAAG,GAAG,CAAC,CAAC;AAAA,MAC1B,CAAC;AAED,YAAM,UAAU,CAAC,GAAG,GAAG,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC7D,YAAI,OAAO,QAAQ;AACjB,iBAAO,QAAQ,KAAK,IAAI,CAAC,CAAC;AAC5B,cAAM,MAAM,QAAQ,EAAE;AACtB,cAAM,IAAI,KAAK,EAAE,SAAS,WAAW,GAAG,CAAC,IAAI,OAAO;AAClD,cAAI,CAAC,MAAM,IAAI;AACb,gBAAI,IAAI;AACN,oBAAM,KAAK,IAAI,GAAG;AAAA;AAElB,qBAAO,QAAQ,IAAI,GAAG;AAAA,UAC1B;AACA,iBAAO,QAAQ,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC;AAAA,QACtC,CAAC;AAAA,MACH,CAAC;AAED,aAAO,KAAK,KAAK,CAAC,EAAE,KAAK,SAAO,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,KAAK,CAAC;AAAA,IAC7D;AAEA,QAAM,YAAY,CAAC,KAAK,QAAQ;AAC9B,YAAM,OAAO,CAAC;AAEd,YAAM,EAAE,SAAS,SAAS,WAAW,IAAI,YAAY,KAAK,GAAG;AAC7D,YAAM,QAAQ,CAAC;AAEf,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAM;AACxC,cAAM,QAAQ,QAAQ,CAAC;AACvB,cAAM,WAAW,SAAS,KAAK,KAAK,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI;AAE7D,cAAM,OAAOA,MAAK,KAAK,UAAU,GAAG;AACpC,cAAM,IAAI,CAAC,YAAY,YAAY,KAAK,GAAG,IAAI,IAAI,MAAM,GAAG,CAAC,IAAI,OAC7D;AAEJ,iBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAM;AACxC,gBAAM,MAAM,IAAI,QAAQ,CAAC;AACzB,cAAI;AACF,kBAAM,KAAK,MAAM,KAAK,KAAK,EAAE,SAAS,WAAW,CAAC;AAClD,gBAAI,IAAI;AACN,kBAAI,IAAI;AACN,sBAAM,KAAK,GAAG;AAAA;AAEd,uBAAO;AAAA,YACX;AAAA,UACF,SAAS,IAAI;AAAA,UAAC;AAAA,QAChB;AAAA,MACF;AAEA,UAAI,IAAI,OAAO,MAAM;AACnB,eAAO;AAET,UAAI,IAAI;AACN,eAAO;AAET,YAAM,iBAAiB,GAAG;AAAA,IAC5B;AAEA,IAAAD,QAAO,UAAU;AACjB,UAAM,OAAO;AAAA;AAAA;;;AC5Hb;AAAA,0EAAAE,UAAAC,SAAA;AAAA;AAEA,QAAM,UAAU,CAAC,UAAU,CAAC,MAAM;AACjC,YAAM,cAAc,QAAQ,OAAO,QAAQ;AAC3C,YAAM,WAAW,QAAQ,YAAY,QAAQ;AAE7C,UAAI,aAAa,SAAS;AACzB,eAAO;AAAA,MACR;AAEA,aAAO,OAAO,KAAK,WAAW,EAAE,QAAQ,EAAE,KAAK,SAAO,IAAI,YAAY,MAAM,MAAM,KAAK;AAAA,IACxF;AAEA,IAAAA,QAAO,UAAU;AAEjB,IAAAA,QAAO,QAAQ,UAAU;AAAA;AAAA;;;ACfzB;AAAA,kGAAAC,UAAAC,SAAA;AAAA;AAEA,QAAMC,QAAO,QAAQ,MAAM;AAC3B,QAAM,QAAQ;AACd,QAAM,aAAa;AAEnB,aAAS,sBAAsB,QAAQ,gBAAgB;AACnD,YAAM,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAC1C,YAAM,MAAM,QAAQ,IAAI;AACxB,YAAM,eAAe,OAAO,QAAQ,OAAO;AAE3C,YAAM,kBAAkB,gBAAgB,QAAQ,UAAU,UAAa,CAAC,QAAQ,MAAM;AAItF,UAAI,iBAAiB;AACjB,YAAI;AACA,kBAAQ,MAAM,OAAO,QAAQ,GAAG;AAAA,QACpC,SAAS,KAAK;AAAA,QAEd;AAAA,MACJ;AAEA,UAAI;AAEJ,UAAI;AACA,mBAAW,MAAM,KAAK,OAAO,SAAS;AAAA,UAClC,MAAM,IAAI,WAAW,EAAE,IAAI,CAAC,CAAC;AAAA,UAC7B,SAAS,iBAAiBA,MAAK,YAAY;AAAA,QAC/C,CAAC;AAAA,MACL,SAAS,GAAG;AAAA,MAEZ,UAAE;AACE,YAAI,iBAAiB;AACjB,kBAAQ,MAAM,GAAG;AAAA,QACrB;AAAA,MACJ;AAIA,UAAI,UAAU;AACV,mBAAWA,MAAK,QAAQ,eAAe,OAAO,QAAQ,MAAM,IAAI,QAAQ;AAAA,MAC5E;AAEA,aAAO;AAAA,IACX;AAEA,aAAS,eAAe,QAAQ;AAC5B,aAAO,sBAAsB,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAAA,IAC9E;AAEA,IAAAD,QAAO,UAAU;AAAA;AAAA;;;ACnDjB;AAAA,0FAAAE,UAAAC,SAAA;AAAA;AAGA,QAAM,kBAAkB;AAExB,aAAS,cAAc,KAAK;AAExB,YAAM,IAAI,QAAQ,iBAAiB,KAAK;AAExC,aAAO;AAAA,IACX;AAEA,aAAS,eAAe,KAAK,uBAAuB;AAEhD,YAAM,GAAG,GAAG;AAQZ,YAAM,IAAI,QAAQ,mBAAmB,SAAS;AAK9C,YAAM,IAAI,QAAQ,kBAAkB,MAAM;AAK1C,YAAM,IAAI,GAAG;AAGb,YAAM,IAAI,QAAQ,iBAAiB,KAAK;AAGxC,UAAI,uBAAuB;AACvB,cAAM,IAAI,QAAQ,iBAAiB,KAAK;AAAA,MAC5C;AAEA,aAAO;AAAA,IACX;AAEA,IAAAA,QAAO,QAAQ,UAAU;AACzB,IAAAA,QAAO,QAAQ,WAAW;AAAA;AAAA;;;AC9C1B;AAAA,oFAAAC,UAAAC,SAAA;AAAA;AACA,IAAAA,QAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA,wFAAAC,UAAAC,SAAA;AAAA;AACA,QAAM,eAAe;AAErB,IAAAA,QAAO,UAAU,CAAC,SAAS,OAAO;AACjC,YAAM,QAAQ,OAAO,MAAM,YAAY;AAEvC,UAAI,CAAC,OAAO;AACX,eAAO;AAAA,MACR;AAEA,YAAM,CAACC,OAAM,QAAQ,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAAE,MAAM,GAAG;AAC/D,YAAM,SAASA,MAAK,MAAM,GAAG,EAAE,IAAI;AAEnC,UAAI,WAAW,OAAO;AACrB,eAAO;AAAA,MACR;AAEA,aAAO,WAAW,GAAG,MAAM,IAAI,QAAQ,KAAK;AAAA,IAC7C;AAAA;AAAA;;;AClBA;AAAA,+FAAAC,UAAAC,SAAA;AAAA;AAEA,QAAMC,MAAK,QAAQ,IAAI;AACvB,QAAM,iBAAiB;AAEvB,aAAS,YAAY,SAAS;AAE1B,YAAM,OAAO;AACb,YAAM,SAAS,OAAO,MAAM,IAAI;AAEhC,UAAI;AAEJ,UAAI;AACA,aAAKA,IAAG,SAAS,SAAS,GAAG;AAC7B,QAAAA,IAAG,SAAS,IAAI,QAAQ,GAAG,MAAM,CAAC;AAClC,QAAAA,IAAG,UAAU,EAAE;AAAA,MACnB,SAAS,GAAG;AAAA,MAAc;AAG1B,aAAO,eAAe,OAAO,SAAS,CAAC;AAAA,IAC3C;AAEA,IAAAD,QAAO,UAAU;AAAA;AAAA;;;ACtBjB;AAAA,oFAAAE,UAAAC,SAAA;AAAA;AAEA,QAAMC,QAAO,QAAQ,MAAM;AAC3B,QAAM,iBAAiB;AACvB,QAAM,SAAS;AACf,QAAM,cAAc;AAEpB,QAAM,QAAQ,QAAQ,aAAa;AACnC,QAAM,qBAAqB;AAC3B,QAAM,kBAAkB;AAExB,aAAS,cAAc,QAAQ;AAC3B,aAAO,OAAO,eAAe,MAAM;AAEnC,YAAM,UAAU,OAAO,QAAQ,YAAY,OAAO,IAAI;AAEtD,UAAI,SAAS;AACT,eAAO,KAAK,QAAQ,OAAO,IAAI;AAC/B,eAAO,UAAU;AAEjB,eAAO,eAAe,MAAM;AAAA,MAChC;AAEA,aAAO,OAAO;AAAA,IAClB;AAEA,aAAS,cAAc,QAAQ;AAC3B,UAAI,CAAC,OAAO;AACR,eAAO;AAAA,MACX;AAGA,YAAM,cAAc,cAAc,MAAM;AAGxC,YAAM,aAAa,CAAC,mBAAmB,KAAK,WAAW;AAIvD,UAAI,OAAO,QAAQ,cAAc,YAAY;AAKzC,cAAM,6BAA6B,gBAAgB,KAAK,WAAW;AAInE,eAAO,UAAUA,MAAK,UAAU,OAAO,OAAO;AAG9C,eAAO,UAAU,OAAO,QAAQ,OAAO,OAAO;AAC9C,eAAO,OAAO,OAAO,KAAK,IAAI,CAAC,QAAQ,OAAO,SAAS,KAAK,0BAA0B,CAAC;AAEvF,cAAM,eAAe,CAAC,OAAO,OAAO,EAAE,OAAO,OAAO,IAAI,EAAE,KAAK,GAAG;AAElE,eAAO,OAAO,CAAC,MAAM,MAAM,MAAM,IAAI,YAAY,GAAG;AACpD,eAAO,UAAU,QAAQ,IAAI,WAAW;AACxC,eAAO,QAAQ,2BAA2B;AAAA,MAC9C;AAEA,aAAO;AAAA,IACX;AAEA,aAASC,OAAM,SAAS,MAAM,SAAS;AAEnC,UAAI,QAAQ,CAAC,MAAM,QAAQ,IAAI,GAAG;AAC9B,kBAAU;AACV,eAAO;AAAA,MACX;AAEA,aAAO,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC;AAC/B,gBAAU,OAAO,OAAO,CAAC,GAAG,OAAO;AAGnC,YAAM,SAAS;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,UAAU;AAAA,UACN;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAGA,aAAO,QAAQ,QAAQ,SAAS,cAAc,MAAM;AAAA,IACxD;AAEA,IAAAF,QAAO,UAAUE;AAAA;AAAA;;;AC1FjB;AAAA,qFAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,QAAQ,QAAQ,aAAa;AAEnC,aAAS,cAAc,UAAU,SAAS;AACtC,aAAO,OAAO,OAAO,IAAI,MAAM,GAAG,OAAO,IAAI,SAAS,OAAO,SAAS,GAAG;AAAA,QACrE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS,GAAG,OAAO,IAAI,SAAS,OAAO;AAAA,QACvC,MAAM,SAAS;AAAA,QACf,WAAW,SAAS;AAAA,MACxB,CAAC;AAAA,IACL;AAEA,aAAS,iBAAiB,IAAI,QAAQ;AAClC,UAAI,CAAC,OAAO;AACR;AAAA,MACJ;AAEA,YAAM,eAAe,GAAG;AAExB,SAAG,OAAO,SAAU,MAAM,MAAM;AAI5B,YAAI,SAAS,QAAQ;AACjB,gBAAM,MAAM,aAAa,MAAM,MAAM;AAErC,cAAI,KAAK;AACL,mBAAO,aAAa,KAAK,IAAI,SAAS,GAAG;AAAA,UAC7C;AAAA,QACJ;AAEA,eAAO,aAAa,MAAM,IAAI,SAAS;AAAA,MAC3C;AAAA,IACJ;AAEA,aAAS,aAAa,QAAQ,QAAQ;AAClC,UAAI,SAAS,WAAW,KAAK,CAAC,OAAO,MAAM;AACvC,eAAO,cAAc,OAAO,UAAU,OAAO;AAAA,MACjD;AAEA,aAAO;AAAA,IACX;AAEA,aAAS,iBAAiB,QAAQ,QAAQ;AACtC,UAAI,SAAS,WAAW,KAAK,CAAC,OAAO,MAAM;AACvC,eAAO,cAAc,OAAO,UAAU,WAAW;AAAA,MACrD;AAEA,aAAO;AAAA,IACX;AAEA,IAAAA,QAAO,UAAU;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA;AAAA;;;AC1DA;AAAA,gFAAAC,UAAAC,SAAA;AAAA;AAEA,QAAM,KAAK,QAAQ,eAAe;AAClC,QAAMC,SAAQ;AACd,QAAM,SAAS;AAEf,aAASC,OAAM,SAAS,MAAM,SAAS;AAEnC,YAAM,SAASD,OAAM,SAAS,MAAM,OAAO;AAG3C,YAAM,UAAU,GAAG,MAAM,OAAO,SAAS,OAAO,MAAM,OAAO,OAAO;AAIpE,aAAO,iBAAiB,SAAS,MAAM;AAEvC,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,SAAS,MAAM,SAAS;AAEvC,YAAM,SAASA,OAAM,SAAS,MAAM,OAAO;AAG3C,YAAM,SAAS,GAAG,UAAU,OAAO,SAAS,OAAO,MAAM,OAAO,OAAO;AAGvE,aAAO,QAAQ,OAAO,SAAS,OAAO,iBAAiB,OAAO,QAAQ,MAAM;AAE5E,aAAO;AAAA,IACX;AAEA,IAAAD,QAAO,UAAUE;AACjB,IAAAF,QAAO,QAAQ,QAAQE;AACvB,IAAAF,QAAO,QAAQ,OAAO;AAEtB,IAAAA,QAAO,QAAQ,SAASC;AACxB,IAAAD,QAAO,QAAQ,UAAU;AAAA;AAAA;;;ACtCzB,sBAAqB;AACrB,IAAAG,oBAAiB;AACjB,IAAAC,qBAAuB;;;ACFvB,qBAA4C;AAC5C,uBAAiB;AAUV,IAAM,oBAAoB,MAAM;AACnC,MAAI,QAAQ,IAAI,uBAAuB;AACnC,UAAM,QAAQ,QAAQ,IAAI;AAC1B,QAAI,MAAM,WAAW,MAAM,EAAG,QAAO;AACrC,QAAI,MAAM,WAAW,KAAK,EAAG,QAAO;AACpC,QAAI,MAAM,WAAW,MAAM,EAAG,QAAO;AACrC,QAAI,MAAM,WAAW,KAAK,EAAG,QAAO;AAAA,EACxC;AAEA,SAAO;AACX;AAIO,IAAM,kBAAkB,OAC3B,YACA,QAIC;AACD,QAAM,kBAAkB,iBAAAC,QAAK,KAAK,YAAY,cAAc;AAC5D,QAAM,cAAc,KAAK,UAAM,6BAAa,iBAAiB,MAAM,CAAC;AACpE,QAAM,EAAE,cAAc,gBAAgB,IAAI,IAAI,WAAW;AAEzD,MAAI,mBAAmB,gBAAgB,SAAS,GAAG;AAC/C,QAAI,CAAC,YAAY,iBAAiB;AAC9B,kBAAY,kBAAkB,CAAC;AAAA,IACnC;AACA,eAAW,OAAO,iBAAiB;AAC/B,UAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,oBAAY,gBAAgB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,MAC/C,OAAO;AACH,oBAAY,gBAAgB,GAAG,IAAI;AAAA,MACvC;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,CAAC,YAAY,cAAc;AAC3B,gBAAY,eAAe,CAAC;AAAA,EAChC;AACA,aAAW,OAAO,cAAc;AAC5B,QAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,kBAAY,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAAA,IAC5C,OAAO;AACH,kBAAY,aAAa,GAAG,IAAI;AAAA,IACpC;AAAA,EACJ;AAEA,oCAAc,iBAAiB,KAAK,UAAU,aAAa,MAAM,CAAC,IAAI,IAAI;AAC9E;AAEO,IAAM,kBAAkB,CAAC,cAC5B,WAAW,KAAK,EAAE,QAAQ,SAAS,EAAE;;;AChEzC,yBAAkB;AAElB,IAAAC,oBAAiB;AACjB,IAAAC,kBAA4C;AAC5C,wBAAuB;AAEhB,IAAM,qBAAqB,OAAO,QAAmC;AACxE,QAAM,SAAS,MAAM,qBAAqB,GAAG;AAE7C,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,WAAW;AAC3D,YAAQ,IAAI,uBAAuB;AACnC,YAAQ,KAAK,CAAC;AAAA,EAClB;AACA,MAAI,OAAO,WAAW,GAAG;AACrB,YAAQ,MAAM,kBAAAC,QAAW,IAAI,+BAA+B,CAAC;AAC7D,YAAQ,KAAK,CAAC;AAAA,EAClB;AAEA,UAAQ,IAAI,kBAAAA,QAAW,MAAM,sCAAsC,CAAC;AACpE,UAAQ,IAAI,kBAAAA,QAAW,KAAK,oCAAoC,CAAC;AAEjE,QAAM,gBAAgB,IAAI,YAAY,OAAO;AAAA,IACzC,cAAc,CAAC,6BAA6B,qBAAqB;AAAA,IACjE,iBAAiB,CAAC,4BAA4B;AAAA,EAClD,EAAE;AAEF,UAAQ,IAAI,kBAAAA,QAAW,MAAM,8CAA8C,CAAC;AAC5E,UAAQ,IAAI,kBAAAA,QAAW,KAAK,8BAA8B,CAAC;AAE3D,QAAM,8BAA8B,GAAG;AAEvC,UAAQ,IAAI,kBAAAA,QAAW,MAAM,wCAAwC,CAAC;AAC1E;AAEA,IAAM,uBAAuB,OAAO,QAAmC;AACnE,QAAM,EAAE,WAAW,aAAa,eAAe,WAAW,IAAI;AAC9D,QAAM,aAAa,kBAAkB;AAErC,QAAM,qBAAqB,MAAM;AAC7B,UAAM,oBAAoB,cAAc,MAAM,MAAM;AACpD,YAAQ,YAAY;AAAA,MAChB,KAAK;AACD,eAAO,CAAC,UAAU,QAAQ,mBAAmB,cAAc,YAAY;AAAA,MAC3E,KAAK;AACD,eAAO,CAAC,UAAU,QAAQ,mBAAmB,cAAc,YAAY;AAAA,MAC3E,KAAK;AACD,eAAO,CAAC,UAAU,QAAQ,mBAAmB,cAAc,YAAY;AAAA,MAC3E;AAEI,eAAO;AAAA,UACH;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,IACR;AAAA,EACJ,GAAG;AAEH,SAAO,mBAAAC,QAAM,KAAK,YAAY,mBAAmB,EAAE,OAAO,UAAU,CAAC;AACzE;AAEA,IAAM,gCAAgC,OAAO,QAAmC;AAC5E,QAAM,EAAE,YAAY,aAAa,IAAI;AACrC,QAAM,eAAe,iBAAiB;AACtC,QAAM,iBAAiB,kBAAAC,QAAK,KAAK,YAAY,eAAe,mBAAmB,gBAAgB;AAC/F,MAAI,iBAAa,8BAAa,gBAAgB,MAAM;AAGpD,eAAa;AAAA,EAA+D,UAAU;AAGtF,eAAa,WAAW,QAAQ,6BAA6B,CAAC,GAAG,mBAAmB;AAChF,UAAM,iBAAiB,eAAe,KAAK;AAC3C,UAAM,YAAY,iBAAiB,YAAY;AAC/C,WAAO,aAAa,cAAc,GAAG,SAAS;AAAA;AAAA,EAClD,CAAC;AAED,qCAAc,gBAAgB,UAAU;AAC5C;;;AChFA,IAAAC,sBAAkB;AAElB,IAAAC,oBAAiB;AACjB,IAAAC,qBAAuB;AACvB,IAAAC,kBAAe;AACf,kBAA6B;AAEtB,IAAM,kBAAkB,OAAO,QAAmC;AACrE,UAAQ,IAAI,mBAAAC,QAAW,KAAK,wCAAwC,CAAC;AAErE,QAAM,SAAS,MAAM,UAAU,GAAG;AAClC,MAAI,CAAC,OAAQ;AACb,MAAI,QAAQ,WAAW,YAAY,QAAQ,WAAW,WAAW;AAC7D,YAAQ,IAAI,uBAAuB;AACnC,YAAQ,KAAK,CAAC;AAAA,EAClB;AACA,MAAI,UAAU,OAAO,WAAW,GAAG;AAC/B,YAAQ,MAAM,mBAAAA,QAAW,IAAI,+BAA+B,CAAC;AAC7D,YAAQ,KAAK,CAAC;AAAA,EAClB;AAEA,UAAQ,IAAI,mBAAAA,QAAW,MAAM,mCAAmC,CAAC;AACjE,UAAQ,IAAI,mBAAAA,QAAW,KAAK,4BAA4B,CAAC;AAEzD,QAAM,mBAAmB,GAAG;AAC5B,UAAQ,IAAI,mBAAAA,QAAW,MAAM,sCAAsC,CAAC;AAEpE,QAAM,YAAY,GAAG;AACrB,sBAAAC,QAAM,KAAK,OAAO,CAAC,MAAM,GAAG;AAAA,IACxB,OAAO;AAAA,IACP,KAAK,IAAI;AAAA,EACb,CAAC;AACL;AAEA,IAAM,YAAY,OAAO,QAAmC;AACxD,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,UAAU,GAAG,SAAS;AAG5B,QAAM,eAAe,gBAAgB;AACrC,MAAI,CAAC,cAAc;AACf,YAAQ,MAAM,mBAAAD,QAAW,IAAI,iCAAiC,CAAC;AAC/D;AAAA,EACJ;AAEA,QAAM,cAAc,oBAAAC,QAAM;AAAA,IACtB;AAAA,IACA;AAAA,MACI;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,EAAE,OAAO,UAAU;AAAA,EACvB;AACA,MAAI,YAAY,WAAW,EAAG,QAAO;AAGrC,QAAM,eAAe,oBAAAA,QAAM,KAAK,OAAO,CAAC,mBAAmB,OAAO,qBAAqB,GAAG;AAAA,IACtF,OAAO;AAAA,IACP,KAAK;AAAA,EACT,CAAC;AACD,MAAI,aAAa,WAAW,EAAG,QAAO;AAGtC,QAAM,iBAAiB,oBAAAA,QAAM,KAAK,OAAO,CAAC,UAAU,GAAG;AAAA,IACnD,OAAO;AAAA,IACP,KAAK;AAAA,EACT,CAAC;AACD,MAAI,eAAe,WAAW,EAAG,QAAO;AAGxC,QAAM,gBAAgB,kBAAAC,QAAK,KAAK,SAAS,qBAAqB;AAC9D,QAAM,mBAAmB,kBAAAA,QAAK,KAAK,SAAS,6BAA6B;AAEzE,MAAI,CAAC,gBAAAC,QAAG,WAAW,aAAa,GAAG;AAC/B,YAAQ,MAAM,mBAAAH,QAAW,IAAI;AAAA,oCAAuC,aAAa,EAAE,CAAC;AACpF;AAAA,EACJ;AAGA,kBAAAG,QAAG,UAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAC3C,kBAAAA,QAAG,OAAO,eAAe,WAAW,EAAE,WAAW,KAAK,CAAC;AAGvD,MAAI,gBAAAA,QAAG,WAAW,gBAAgB,GAAG;AACjC,oBAAAA,QAAG,aAAa,kBAAkB,kBAAAD,QAAK,KAAK,WAAW,oBAAoB,CAAC;AAAA,EAChF;AAEA,kBAAAC,QAAG,OAAO,SAAS,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AACnD,SAAO;AACX;AAEA,IAAM,qBAAqB,OAAO,QAAmC;AACjE,QAAM,EAAE,WAAW,IAAI;AAGvB,QAAM,gBAAgB,YAAY,CAAC,SAAS;AACxC,UAAM,uBAAuB,OAAO,KAAK,KAAK,YAAY,EAAE;AAAA,MAAO,CAAC,QAChE,IAAI,WAAW,iBAAiB;AAAA,IACpC;AACA,UAAM,0BAA0B,OAAO,KAAK,KAAK,eAAe,EAAE;AAAA,MAAO,CAAC,QACtE,IAAI,WAAW,iBAAiB;AAAA,IACpC;AACA,WAAO;AAAA,MACH,cAAc;AAAA,MACd,iBAAiB;AAAA,QACb,GAAG;AAAA;AAAA;AAAA,QAGH,CAAC,cAAc,OAAO;AAAA,MAC1B;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;AAEA,IAAM,cAAc,OAAO,QAAmC;AAC1D,QAAM,EAAE,WAAW,IAAI;AACvB,QAAM,eAAe,kBAAAD,QAAK,KAAK,YAAY,eAAe;AAE1D,MAAI,gBAAAC,QAAG,WAAW,YAAY,GAAG;AAC7B,UAAM,kBAAkB,gBAAAA,QAAG,aAAa,cAAc,MAAM;AAE5D,UAAM,WAAuB,kBAAM,eAAe;AAElD,QAAI,SAAS,YAAY,2BAA2B;AAEhD,YAAM,QAAoB,mBAAO,iBAAiB,CAAC,SAAS,GAAG,wBAAwB;AAAA,QACnF,mBAAmB,EAAE,SAAS,EAAE;AAAA,MACpC,CAAC;AAGD,YAAM,iBAA6B,uBAAW,iBAAiB,KAAK;AACpE,sBAAAA,QAAG,cAAc,cAAc,cAAc;AAAA,IACjD;AAAA,EACJ;AACJ;AAEA,SAAS,kBAAiC;AACtC,QAAM,aAAa,oBAAAF,QAAM;AAAA,IACrB;AAAA,IACA,CAAC,aAAa,UAAU,+CAA+C,OAAO;AAAA,IAC9E,EAAE,UAAU,OAAO;AAAA,EACvB;AAEA,MAAI,WAAW,WAAW,KAAK,CAAC,WAAW,OAAQ,QAAO;AAE1D,QAAM,OAAO,WAAW,OACnB,MAAM,IAAI,EACV,OAAO,OAAO,EACd,IAAI,CAAC,SAAS;AACX,UAAM,CAAC,OAAO,GAAG,IAAI,KAAK,MAAM,GAAI;AACpC,UAAM,MAAM,IAAI,QAAQ,cAAc,EAAE,EAAE,QAAQ,SAAS,EAAE;AAG7D,UAAM,QAAQ,IAAI,MAAM,qCAAqC;AAC7D,QAAI,CAAC,MAAO,QAAO;AAEnB,WAAO;AAAA,MACH;AAAA,MACA,SAAS,CAAC,SAAS,MAAM,CAAC,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,CAAC;AAAA,IACxE;AAAA,EACJ,CAAC,EACA;AAAA,IACG,CAAC,SACG,SAAS,QAAQ,MAAM,QAAQ,KAAK,OAAO,KAAK,KAAK,QAAQ,WAAW;AAAA,EAChF,EACC,KAAK,CAAC,GAAG,MAAM;AAEZ,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,UAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;AAC/B,eAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;AAAA,MACrC;AAAA,IACJ;AACA,WAAO;AAAA,EACX,CAAC;AAEL,SAAO,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,MAAM;AAC3C;;;AHhLA,IAAM,WAAO,gBAAAG,SAGV,QAAQ,KAAK,MAAM,CAAC,GAAG;AAAA,EACtB,SAAS,EAAE,MAAM,OAAO,UAAU,aAAa;AAAA,EAC/C,OAAO,EAAE,GAAG,QAAQ,GAAG,WAAW;AAAA,EAClC,QAAQ,CAAC,GAAG;AAChB,CAAC;AAGD,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUlB,mBAAAC,QAAW,OAAW,wCAA0C,CAAC;AAAA;AAKnE,IAAM,QAAQ;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,YAAY;AAChB;AAEA,eAAe,OAAO;AAClB,QAAM,YAAY,gBAAgB,KAAK,EAAE,CAAC,CAAC,KAAK;AAChD,QAAM,cAAc,cAAc,MAAM,kBAAAC,QAAK,SAAS,QAAQ,IAAI,CAAC,IAAI;AACvE,QAAM,aAAa,cAAc,MAAM,QAAQ,IAAI,IAAI,kBAAAA,QAAK,KAAK,QAAQ,IAAI,GAAG,SAAS;AACzF,QAAM,aAAa,kBAAkB;AACrC,QAAM,WAAY,KAAK,YAAY,KAAK;AAExC,QAAM,OAAO,KAAK;AAClB,MAAI,MAAM;AACN,YAAQ,IAAI,WAAW;AACvB;AAAA,EACJ;AAEA,UAAQ,IAAI,mBAAAD,QAAW,KAAK;AAAA,yBAA4B,WAAW,KAAK,CAAC;AACzE,QAAM,MAAM,QAAQ,EAAE;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,aAAa,eAAe,WAAW;AAAA,EACzD,CAAC;AACD,UAAQ,IAAI,mBAAAA,QAAW,MAAM,mBAAY,CAAC;AAC1C,UAAQ,IAAI,mBAAAA,QAAW,KAAK,mBAAmB,YAAY,SAAS,aAAa,UAAU,CAAC;AAC5F,UAAQ,IAAI,mBAAAA,QAAW,KAAK,iBAAiB,aAAa,MAAM,CAAC;AACrE;AAEA,KAAK,EAAE,MAAM,CAAC,MAAM;AAChB,UAAQ,MAAM,CAAC;AACf,UAAQ,KAAK,CAAC;AAClB,CAAC;","names":["exports","module","key","argv","arg","value","i","exports","module","argv","exports","module","fs","path","exports","module","fs","path","exports","module","fs","path","exports","module","path","exports","module","exports","module","path","exports","module","exports","module","exports","module","path","exports","module","fs","exports","module","path","parse","exports","module","exports","module","parse","spawn","import_node_path","import_picocolors","path","import_node_path","import_node_fs","picocolors","spawn","path","import_cross_spawn","import_node_path","import_picocolors","import_node_fs","picocolors","spawn","path","fs","minimist","picocolors","path"]}
|
package/dist/index.mjs
CHANGED
|
@@ -30,9 +30,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
30
30
|
mod
|
|
31
31
|
));
|
|
32
32
|
|
|
33
|
-
// ../../node_modules/minimist/index.js
|
|
33
|
+
// ../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js
|
|
34
34
|
var require_minimist = __commonJS({
|
|
35
|
-
"../../node_modules/minimist/index.js"(exports, module) {
|
|
35
|
+
"../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js"(exports, module) {
|
|
36
36
|
"use strict";
|
|
37
37
|
function hasKey(obj, keys) {
|
|
38
38
|
var o = obj;
|
|
@@ -252,9 +252,9 @@ var require_minimist = __commonJS({
|
|
|
252
252
|
}
|
|
253
253
|
});
|
|
254
254
|
|
|
255
|
-
// ../../node_modules/picocolors/picocolors.js
|
|
255
|
+
// ../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js
|
|
256
256
|
var require_picocolors = __commonJS({
|
|
257
|
-
"../../node_modules/picocolors/picocolors.js"(exports, module) {
|
|
257
|
+
"../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports, module) {
|
|
258
258
|
"use strict";
|
|
259
259
|
var p = process || {};
|
|
260
260
|
var argv2 = p.argv || [];
|
|
@@ -325,9 +325,9 @@ var require_picocolors = __commonJS({
|
|
|
325
325
|
}
|
|
326
326
|
});
|
|
327
327
|
|
|
328
|
-
// ../../node_modules/isexe/windows.js
|
|
328
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js
|
|
329
329
|
var require_windows = __commonJS({
|
|
330
|
-
"../../node_modules/isexe/windows.js"(exports, module) {
|
|
330
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js"(exports, module) {
|
|
331
331
|
"use strict";
|
|
332
332
|
module.exports = isexe;
|
|
333
333
|
isexe.sync = sync;
|
|
@@ -366,9 +366,9 @@ var require_windows = __commonJS({
|
|
|
366
366
|
}
|
|
367
367
|
});
|
|
368
368
|
|
|
369
|
-
// ../../node_modules/isexe/mode.js
|
|
369
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js
|
|
370
370
|
var require_mode = __commonJS({
|
|
371
|
-
"../../node_modules/isexe/mode.js"(exports, module) {
|
|
371
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js"(exports, module) {
|
|
372
372
|
"use strict";
|
|
373
373
|
module.exports = isexe;
|
|
374
374
|
isexe.sync = sync;
|
|
@@ -400,9 +400,9 @@ var require_mode = __commonJS({
|
|
|
400
400
|
}
|
|
401
401
|
});
|
|
402
402
|
|
|
403
|
-
// ../../node_modules/isexe/index.js
|
|
403
|
+
// ../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js
|
|
404
404
|
var require_isexe = __commonJS({
|
|
405
|
-
"../../node_modules/isexe/index.js"(exports, module) {
|
|
405
|
+
"../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js"(exports, module) {
|
|
406
406
|
"use strict";
|
|
407
407
|
var fs2 = __require("fs");
|
|
408
408
|
var core;
|
|
@@ -456,9 +456,9 @@ var require_isexe = __commonJS({
|
|
|
456
456
|
}
|
|
457
457
|
});
|
|
458
458
|
|
|
459
|
-
// ../../node_modules/
|
|
459
|
+
// ../../node_modules/.bun/which@2.0.2/node_modules/which/which.js
|
|
460
460
|
var require_which = __commonJS({
|
|
461
|
-
"../../node_modules/
|
|
461
|
+
"../../node_modules/.bun/which@2.0.2/node_modules/which/which.js"(exports, module) {
|
|
462
462
|
"use strict";
|
|
463
463
|
var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
|
|
464
464
|
var path5 = __require("path");
|
|
@@ -553,9 +553,9 @@ var require_which = __commonJS({
|
|
|
553
553
|
}
|
|
554
554
|
});
|
|
555
555
|
|
|
556
|
-
// ../../node_modules/path-key/index.js
|
|
556
|
+
// ../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js
|
|
557
557
|
var require_path_key = __commonJS({
|
|
558
|
-
"../../node_modules/path-key/index.js"(exports, module) {
|
|
558
|
+
"../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js"(exports, module) {
|
|
559
559
|
"use strict";
|
|
560
560
|
var pathKey = (options = {}) => {
|
|
561
561
|
const environment = options.env || process.env;
|
|
@@ -570,9 +570,9 @@ var require_path_key = __commonJS({
|
|
|
570
570
|
}
|
|
571
571
|
});
|
|
572
572
|
|
|
573
|
-
// ../../node_modules/cross-spawn/lib/util/resolveCommand.js
|
|
573
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js
|
|
574
574
|
var require_resolveCommand = __commonJS({
|
|
575
|
-
"../../node_modules/cross-spawn/lib/util/resolveCommand.js"(exports, module) {
|
|
575
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports, module) {
|
|
576
576
|
"use strict";
|
|
577
577
|
var path5 = __require("path");
|
|
578
578
|
var which = require_which();
|
|
@@ -612,9 +612,9 @@ var require_resolveCommand = __commonJS({
|
|
|
612
612
|
}
|
|
613
613
|
});
|
|
614
614
|
|
|
615
|
-
// ../../node_modules/cross-spawn/lib/util/escape.js
|
|
615
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js
|
|
616
616
|
var require_escape = __commonJS({
|
|
617
|
-
"../../node_modules/cross-spawn/lib/util/escape.js"(exports, module) {
|
|
617
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js"(exports, module) {
|
|
618
618
|
"use strict";
|
|
619
619
|
var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
|
|
620
620
|
function escapeCommand(arg) {
|
|
@@ -637,17 +637,17 @@ var require_escape = __commonJS({
|
|
|
637
637
|
}
|
|
638
638
|
});
|
|
639
639
|
|
|
640
|
-
// ../../node_modules/shebang-regex/index.js
|
|
640
|
+
// ../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js
|
|
641
641
|
var require_shebang_regex = __commonJS({
|
|
642
|
-
"../../node_modules/shebang-regex/index.js"(exports, module) {
|
|
642
|
+
"../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js"(exports, module) {
|
|
643
643
|
"use strict";
|
|
644
644
|
module.exports = /^#!(.*)/;
|
|
645
645
|
}
|
|
646
646
|
});
|
|
647
647
|
|
|
648
|
-
// ../../node_modules/shebang-command/index.js
|
|
648
|
+
// ../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js
|
|
649
649
|
var require_shebang_command = __commonJS({
|
|
650
|
-
"../../node_modules/shebang-command/index.js"(exports, module) {
|
|
650
|
+
"../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js"(exports, module) {
|
|
651
651
|
"use strict";
|
|
652
652
|
var shebangRegex = require_shebang_regex();
|
|
653
653
|
module.exports = (string = "") => {
|
|
@@ -665,9 +665,9 @@ var require_shebang_command = __commonJS({
|
|
|
665
665
|
}
|
|
666
666
|
});
|
|
667
667
|
|
|
668
|
-
// ../../node_modules/cross-spawn/lib/util/readShebang.js
|
|
668
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js
|
|
669
669
|
var require_readShebang = __commonJS({
|
|
670
|
-
"../../node_modules/cross-spawn/lib/util/readShebang.js"(exports, module) {
|
|
670
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js"(exports, module) {
|
|
671
671
|
"use strict";
|
|
672
672
|
var fs2 = __require("fs");
|
|
673
673
|
var shebangCommand = require_shebang_command();
|
|
@@ -687,9 +687,9 @@ var require_readShebang = __commonJS({
|
|
|
687
687
|
}
|
|
688
688
|
});
|
|
689
689
|
|
|
690
|
-
// ../../node_modules/cross-spawn/lib/parse.js
|
|
690
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js
|
|
691
691
|
var require_parse = __commonJS({
|
|
692
|
-
"../../node_modules/cross-spawn/lib/parse.js"(exports, module) {
|
|
692
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js"(exports, module) {
|
|
693
693
|
"use strict";
|
|
694
694
|
var path5 = __require("path");
|
|
695
695
|
var resolveCommand = require_resolveCommand();
|
|
@@ -749,9 +749,9 @@ var require_parse = __commonJS({
|
|
|
749
749
|
}
|
|
750
750
|
});
|
|
751
751
|
|
|
752
|
-
// ../../node_modules/cross-spawn/lib/enoent.js
|
|
752
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js
|
|
753
753
|
var require_enoent = __commonJS({
|
|
754
|
-
"../../node_modules/cross-spawn/lib/enoent.js"(exports, module) {
|
|
754
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js"(exports, module) {
|
|
755
755
|
"use strict";
|
|
756
756
|
var isWin = process.platform === "win32";
|
|
757
757
|
function notFoundError(original, syscall) {
|
|
@@ -799,9 +799,9 @@ var require_enoent = __commonJS({
|
|
|
799
799
|
}
|
|
800
800
|
});
|
|
801
801
|
|
|
802
|
-
// ../../node_modules/cross-spawn/index.js
|
|
802
|
+
// ../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js
|
|
803
803
|
var require_cross_spawn = __commonJS({
|
|
804
|
-
"../../node_modules/cross-spawn/index.js"(exports, module) {
|
|
804
|
+
"../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"(exports, module) {
|
|
805
805
|
"use strict";
|
|
806
806
|
var cp = __require("child_process");
|
|
807
807
|
var parse2 = require_parse();
|
|
@@ -829,11 +829,11 @@ var require_cross_spawn = __commonJS({
|
|
|
829
829
|
// src/index.ts
|
|
830
830
|
var import_minimist = __toESM(require_minimist());
|
|
831
831
|
var import_picocolors3 = __toESM(require_picocolors());
|
|
832
|
-
import path4 from "
|
|
832
|
+
import path4 from "path";
|
|
833
833
|
|
|
834
834
|
// src/utils.ts
|
|
835
|
-
import { readFileSync, writeFileSync } from "
|
|
836
|
-
import path from "
|
|
835
|
+
import { readFileSync, writeFileSync } from "fs";
|
|
836
|
+
import path from "path";
|
|
837
837
|
var getPackageManager = () => {
|
|
838
838
|
if (process.env.npm_config_user_agent) {
|
|
839
839
|
const agent = process.env.npm_config_user_agent;
|
|
@@ -877,8 +877,8 @@ var formatTargetDir = (targetDir) => targetDir?.trim().replace(/\/+$/g, "");
|
|
|
877
877
|
// src/modules/vite-react.ts
|
|
878
878
|
var import_cross_spawn = __toESM(require_cross_spawn());
|
|
879
879
|
var import_picocolors = __toESM(require_picocolors());
|
|
880
|
-
import path2 from "
|
|
881
|
-
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2 } from "
|
|
880
|
+
import path2 from "path";
|
|
881
|
+
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
882
882
|
var buildRiverReactApp = async (cfg) => {
|
|
883
883
|
const result = await scaffoldViteReactApp(cfg);
|
|
884
884
|
if (result.signal === "SIGINT" || result.signal === "SIGTERM") {
|
|
@@ -944,8 +944,8 @@ ${viteConfig}`;
|
|
|
944
944
|
// src/modules/clone-playground.ts
|
|
945
945
|
var import_cross_spawn2 = __toESM(require_cross_spawn());
|
|
946
946
|
var import_picocolors2 = __toESM(require_picocolors());
|
|
947
|
-
import path3 from "
|
|
948
|
-
import fs from "
|
|
947
|
+
import path3 from "path";
|
|
948
|
+
import fs from "fs";
|
|
949
949
|
import * as jsoncParser from "jsonc-parser";
|
|
950
950
|
var clonePlayground = async (cfg) => {
|
|
951
951
|
console.log(import_picocolors2.default.blue("\nCloning Towns Protocol Playground..."));
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/minimist/index.js","../../../node_modules/picocolors/picocolors.js","../../../node_modules/isexe/windows.js","../../../node_modules/isexe/mode.js","../../../node_modules/isexe/index.js","../../../node_modules/cross-spawn/node_modules/which/which.js","../../../node_modules/path-key/index.js","../../../node_modules/cross-spawn/lib/util/resolveCommand.js","../../../node_modules/cross-spawn/lib/util/escape.js","../../../node_modules/shebang-regex/index.js","../../../node_modules/shebang-command/index.js","../../../node_modules/cross-spawn/lib/util/readShebang.js","../../../node_modules/cross-spawn/lib/parse.js","../../../node_modules/cross-spawn/lib/enoent.js","../../../node_modules/cross-spawn/index.js","../src/index.ts","../src/utils.ts","../src/modules/vite-react.ts","../src/modules/clone-playground.ts"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","let p = process || {}, argv = p.argv || [], env = p.env || {}\nlet isColorSupported =\n\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI)\n\nlet formatter = (open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input, index = string.indexOf(close, open.length)\n\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\", cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet f = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","import minimist from 'minimist'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport { getPackageManager, type CreateRiverBuildAppConfig, formatTargetDir } from './utils'\nimport { buildRiverReactApp } from './modules/vite-react'\nimport { clonePlayground } from './modules/clone-playground'\n\nconst argv = minimist<{\n template?: string\n help?: boolean\n}>(process.argv.slice(2), {\n default: { help: false, template: 'playground' },\n alias: { h: 'help', t: 'template' },\n string: ['_'],\n})\n\n// prettier-ignore\nconst helpMessage = `\\\nUsage: create-towns-protocol-app [OPTION]... [DIRECTORY]\n\nCreate a new Towns Protocol app.\nWith no arguments, creates a new app in the current directory.\n\nOptions:\n -t, --template NAME use a specific template\n\nAvailable templates:\n${picocolors.yellow ('react-ts react playground' )}\n`\n\ntype Template = 'react-ts' | 'react' | 'playground'\n\nconst build = {\n 'react-ts': buildRiverReactApp,\n react: buildRiverReactApp,\n playground: clonePlayground,\n} satisfies Record<Template, (cfg: CreateRiverBuildAppConfig) => Promise<void>>\n\nasync function init() {\n const targetDir = formatTargetDir(argv._[0]) || '.'\n const packageName = targetDir === '.' ? path.basename(process.cwd()) : targetDir\n const projectDir = targetDir === '.' ? process.cwd() : path.join(process.cwd(), targetDir)\n const pkgManager = getPackageManager()\n const template = (argv.template || argv.t) as Template\n\n const help = argv.help\n if (help) {\n console.log(helpMessage)\n return\n }\n\n console.log(picocolors.blue(`\\nScaffolding project in ${packageName}...`))\n await build[template]({\n projectDir,\n packageName,\n targetDir,\n viteTemplate: template !== 'playground' ? template : undefined,\n })\n console.log(picocolors.green('\\nDone! 🎉'))\n console.log(picocolors.blue('\\nNow run: cd ' + targetDir + ' && ' + pkgManager + ` install`))\n console.log(picocolors.blue('\\nThen run: ' + pkgManager + ' dev'))\n}\n\ninit().catch((e) => {\n console.error(e)\n process.exit(1)\n})\n","import { readFileSync, writeFileSync } from 'node:fs'\nimport path from 'node:path'\nimport playgroundPackageJson from '../../playground/package.json' with { type: 'json' }\n\nexport type CreateRiverBuildAppConfig = {\n projectDir: string\n packageName: string\n targetDir: string\n viteTemplate?: 'react-ts' | 'react'\n}\n\nexport const getPackageManager = () => {\n if (process.env.npm_config_user_agent) {\n const agent = process.env.npm_config_user_agent\n if (agent.startsWith('yarn')) return 'yarn'\n if (agent.startsWith('npm')) return 'npm'\n if (agent.startsWith('pnpm')) return 'pnpm'\n if (agent.startsWith('bun')) return 'bun'\n }\n // Default to npm if no user agent is found\n return 'npm'\n}\n\ntype PackageJson = typeof playgroundPackageJson\n\nexport const addDependencies = async (\n projectDir: string,\n cfg: (currentDeps: PackageJson) => {\n dependencies: Array<string | string[]>\n devDependencies?: Array<string | string[]>\n },\n) => {\n const packageJsonPath = path.join(projectDir, 'package.json')\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))\n const { dependencies, devDependencies } = cfg(packageJson)\n\n if (devDependencies && devDependencies.length > 0) {\n if (!packageJson.devDependencies) {\n packageJson.devDependencies = {}\n }\n for (const dep of devDependencies) {\n if (Array.isArray(dep)) {\n packageJson.devDependencies[dep[0]] = dep[1]\n } else {\n packageJson.devDependencies[dep] = 'latest'\n }\n }\n }\n\n if (!packageJson.dependencies) {\n packageJson.dependencies = {}\n }\n for (const dep of dependencies) {\n if (Array.isArray(dep)) {\n packageJson.dependencies[dep[0]] = dep[1]\n } else {\n packageJson.dependencies[dep] = 'latest'\n }\n }\n\n writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\\n')\n}\n\nexport const formatTargetDir = (targetDir: string | undefined) =>\n targetDir?.trim().replace(/\\/+$/g, '')\n","import spawn from 'cross-spawn'\nimport { addDependencies, getPackageManager, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport { readFileSync, writeFileSync } from 'node:fs'\nimport picocolors from 'picocolors'\n\nexport const buildRiverReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const result = await scaffoldViteReactApp(cfg)\n\n if (result.signal === 'SIGINT' || result.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result.status !== 0) {\n console.error(picocolors.red('\\nFailed to scaffold project.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nVite project created successfully.'))\n console.log(picocolors.blue('\\nAdding River SDK dependencies...'))\n\n await addDependencies(cfg.projectDir, () => ({\n dependencies: ['@towns-protocol/react-sdk', '@towns-protocol/sdk'],\n devDependencies: ['vite-plugin-node-polyfills'],\n }))\n\n console.log(picocolors.green('\\nRiver SDK dependencies added successfully.'))\n console.log(picocolors.blue('\\nUpdating vite.config.ts...'))\n\n await updateViteConfigWithPolyfills(cfg)\n\n console.log(picocolors.green('\\nvite.config.ts updated successfully.'))\n}\n\nconst scaffoldViteReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir, packageName, viteTemplate = 'react-ts' } = cfg\n const pkgManager = getPackageManager()\n\n const createViteCommand = (() => {\n const nameForViteScript = targetDir === '.' ? '.' : packageName\n switch (pkgManager) {\n case 'yarn':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'pnpm':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'bun':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n default:\n // npm requires the -- flag to pass args to the template\n return [\n 'create',\n 'vite@latest',\n nameForViteScript,\n '--',\n '--template',\n viteTemplate,\n ]\n }\n })()\n\n return spawn.sync(pkgManager, createViteCommand, { stdio: 'inherit' })\n}\n\nconst updateViteConfigWithPolyfills = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir, viteTemplate } = cfg\n const isJsTemplate = viteTemplate === 'react'\n const viteConfigPath = path.join(projectDir, isJsTemplate ? 'vite.config.js' : 'vite.config.ts')\n let viteConfig = readFileSync(viteConfigPath, 'utf8')\n\n // Add import for vite-plugin-node-polyfills\n viteConfig = `import { nodePolyfills } from 'vite-plugin-node-polyfills'\\n${viteConfig}`\n\n // Add nodePolyfills to plugins array\n viteConfig = viteConfig.replace(/plugins:\\s*\\[([\\s\\S]*?)\\]/, (_, pluginsContent) => {\n const trimmedContent = pluginsContent.trim()\n const separator = trimmedContent ? ',\\n ' : ''\n return `plugins: [${pluginsContent}${separator}nodePolyfills()\\n ]`\n })\n\n writeFileSync(viteConfigPath, viteConfig)\n}\n","import spawn from 'cross-spawn'\nimport { addDependencies, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport fs from 'node:fs'\nimport * as jsoncParser from 'jsonc-parser'\n\nexport const clonePlayground = async (cfg: CreateRiverBuildAppConfig) => {\n console.log(picocolors.blue('\\nCloning Towns Protocol Playground...'))\n\n const result = await cloneRepo(cfg)\n if (!result) return\n if (result?.signal === 'SIGINT' || result?.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result && result.status !== 0) {\n console.error(picocolors.red('\\nFailed to clone playground.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nPlayground cloned successfully.'))\n console.log(picocolors.blue('\\nUpdating dependencies...'))\n\n await updateDependencies(cfg)\n console.log(picocolors.green('\\nDependencies updated successfully.'))\n\n await fixTsConfig(cfg)\n spawn.sync('git', ['init'], {\n stdio: 'inherit',\n cwd: cfg.targetDir,\n })\n}\n\nconst cloneRepo = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir } = cfg\n const tempDir = `${targetDir}-temp`\n\n // Clone with minimal data to a temporary directory\n const latestSdkTag = getLatestSdkTag()\n if (!latestSdkTag) {\n console.error(picocolors.red('\\nFailed to get latest SDK tag.'))\n return\n }\n\n const cloneResult = spawn.sync(\n 'git',\n [\n 'clone',\n '--no-checkout',\n '--depth',\n '1',\n '--sparse',\n '--branch',\n latestSdkTag,\n 'https://github.com/towns-protocol/towns.git',\n tempDir,\n ],\n { stdio: 'inherit' },\n )\n if (cloneResult.status !== 0) return cloneResult\n\n // Set up sparse checkout\n const sparseResult = spawn.sync('git', ['sparse-checkout', 'set', 'packages/playground'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (sparseResult.status !== 0) return sparseResult\n\n // Checkout the content\n const checkoutResult = spawn.sync('git', ['checkout'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (checkoutResult.status !== 0) return checkoutResult\n\n // Verify playground directory exists\n const playgroundDir = path.join(tempDir, 'packages/playground')\n const baseTsConfigPath = path.join(tempDir, 'packages/tsconfig.base.json')\n\n if (!fs.existsSync(playgroundDir)) {\n console.error(picocolors.red(`\\nPlayground directory not found at ${playgroundDir}`))\n return\n }\n\n // Move playground contents to target directory\n fs.mkdirSync(targetDir, { recursive: true })\n fs.cpSync(playgroundDir, targetDir, { recursive: true })\n\n // Copy tsconfig.base.json if it exists (since playground uses the config from monorepo)\n if (fs.existsSync(baseTsConfigPath)) {\n fs.copyFileSync(baseTsConfigPath, path.join(targetDir, 'tsconfig.base.json'))\n }\n // Clean up temporary directory\n fs.rmSync(tempDir, { recursive: true, force: true })\n return checkoutResult\n}\n\nconst updateDependencies = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n\n // Update package.json with latest Towns Protocol dependencies\n await addDependencies(projectDir, (json) => {\n const allTownsProtocolDeps = Object.keys(json.dependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n const allTownsProtocolDevDeps = Object.keys(json.devDependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n return {\n dependencies: allTownsProtocolDeps,\n devDependencies: [\n ...allTownsProtocolDevDeps,\n // hardcoded for now. if we add ^ in front of the version (e.g. ^5.1.6)\n // it will make npm install to get the latest 5.x.x\n ['typescript', '5.8.2'],\n ],\n }\n })\n}\n\nconst fixTsConfig = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n const tsConfigPath = path.join(projectDir, 'tsconfig.json')\n\n if (fs.existsSync(tsConfigPath)) {\n const tsConfigContent = fs.readFileSync(tsConfigPath, 'utf8')\n // TSConfig is a JSON with comments, so we need to parse it with jsonc-parser\n const tsConfig = jsoncParser.parse(tsConfigContent)\n\n if (tsConfig.extends === './../tsconfig.base.json') {\n // Create an edit to replace the extends value\n const edits = jsoncParser.modify(tsConfigContent, ['extends'], './tsconfig.base.json', {\n formattingOptions: { tabSize: 2 },\n })\n\n // Apply the edit\n const updatedContent = jsoncParser.applyEdits(tsConfigContent, edits)\n fs.writeFileSync(tsConfigPath, updatedContent)\n }\n }\n}\n\nfunction getLatestSdkTag(): string | null {\n const tagsResult = spawn.sync(\n 'git',\n ['ls-remote', '--tags', 'https://github.com/towns-protocol/towns.git', 'sdk-*'],\n { encoding: 'utf8' },\n )\n\n if (tagsResult.status !== 0 || !tagsResult.stdout) return null\n\n const tags = tagsResult.stdout\n .split('\\n')\n .filter(Boolean)\n .map((line) => {\n const [_hash, ref] = line.split('\\t')\n const tag = ref.replace('refs/tags/', '').replace(/\\^{}$/, '')\n\n // Extract version numbers from tags like sdk-hash-1.2.3\n const match = tag.match(/^sdk-[0-9a-f]+-(\\d+)\\.(\\d+)\\.(\\d+)$/)\n if (!match) return null\n\n return {\n tag,\n version: [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])],\n }\n })\n .filter(\n (item): item is { tag: string; version: number[] } =>\n item !== null && Array.isArray(item.version) && item.version.length === 3,\n )\n .sort((a, b) => {\n // Compare version numbers\n for (let i = 0; i < 3; i++) {\n if (a.version[i] !== b.version[i]) {\n return b.version[i] - a.version[i]\n }\n }\n return 0\n })\n\n return tags.length > 0 ? tags[0].tag : null\n}\n"],"mappings":"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","names":["key","argv","arg","value","i","argv","fs","path","fs","path","fs","path","path","path","path","fs","path","parse","parse","spawn","import_picocolors","path","path","readFileSync","writeFileSync","picocolors","spawn","import_cross_spawn","import_picocolors","path","picocolors","spawn","minimist","picocolors","path"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/minimist@1.2.8/node_modules/minimist/index.js","../../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/windows.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/mode.js","../../../node_modules/.bun/isexe@2.0.0/node_modules/isexe/index.js","../../../node_modules/.bun/which@2.0.2/node_modules/which/which.js","../../../node_modules/.bun/path-key@3.1.1/node_modules/path-key/index.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js","../../../node_modules/.bun/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","../../../node_modules/.bun/shebang-command@2.0.0/node_modules/shebang-command/index.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js","../../../node_modules/.bun/cross-spawn@7.0.6/node_modules/cross-spawn/index.js","../src/index.ts","../src/utils.ts","../src/modules/vite-react.ts","../src/modules/clone-playground.ts"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","let p = process || {}, argv = p.argv || [], env = p.env || {}\nlet isColorSupported =\n\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI)\n\nlet formatter = (open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input, index = string.indexOf(close, open.length)\n\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\", cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet f = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n // It's slightly altered to disable JS backtracking to avoid hanging on specially crafted input\n // Please see https://github.com/moxystudio/node-cross-spawn/pull/160 for more information\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(?=(\\\\+?)?)\\1\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(?=(\\\\+?)?)\\1$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed);\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","import minimist from 'minimist'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport { getPackageManager, type CreateRiverBuildAppConfig, formatTargetDir } from './utils'\nimport { buildRiverReactApp } from './modules/vite-react'\nimport { clonePlayground } from './modules/clone-playground'\n\nconst argv = minimist<{\n template?: string\n help?: boolean\n}>(process.argv.slice(2), {\n default: { help: false, template: 'playground' },\n alias: { h: 'help', t: 'template' },\n string: ['_'],\n})\n\n// prettier-ignore\nconst helpMessage = `\\\nUsage: create-towns-protocol-app [OPTION]... [DIRECTORY]\n\nCreate a new Towns Protocol app.\nWith no arguments, creates a new app in the current directory.\n\nOptions:\n -t, --template NAME use a specific template\n\nAvailable templates:\n${picocolors.yellow ('react-ts react playground' )}\n`\n\ntype Template = 'react-ts' | 'react' | 'playground'\n\nconst build = {\n 'react-ts': buildRiverReactApp,\n react: buildRiverReactApp,\n playground: clonePlayground,\n} satisfies Record<Template, (cfg: CreateRiverBuildAppConfig) => Promise<void>>\n\nasync function init() {\n const targetDir = formatTargetDir(argv._[0]) || '.'\n const packageName = targetDir === '.' ? path.basename(process.cwd()) : targetDir\n const projectDir = targetDir === '.' ? process.cwd() : path.join(process.cwd(), targetDir)\n const pkgManager = getPackageManager()\n const template = (argv.template || argv.t) as Template\n\n const help = argv.help\n if (help) {\n console.log(helpMessage)\n return\n }\n\n console.log(picocolors.blue(`\\nScaffolding project in ${packageName}...`))\n await build[template]({\n projectDir,\n packageName,\n targetDir,\n viteTemplate: template !== 'playground' ? template : undefined,\n })\n console.log(picocolors.green('\\nDone! 🎉'))\n console.log(picocolors.blue('\\nNow run: cd ' + targetDir + ' && ' + pkgManager + ` install`))\n console.log(picocolors.blue('\\nThen run: ' + pkgManager + ' dev'))\n}\n\ninit().catch((e) => {\n console.error(e)\n process.exit(1)\n})\n","import { readFileSync, writeFileSync } from 'node:fs'\nimport path from 'node:path'\nimport playgroundPackageJson from '../../playground/package.json' with { type: 'json' }\n\nexport type CreateRiverBuildAppConfig = {\n projectDir: string\n packageName: string\n targetDir: string\n viteTemplate?: 'react-ts' | 'react'\n}\n\nexport const getPackageManager = () => {\n if (process.env.npm_config_user_agent) {\n const agent = process.env.npm_config_user_agent\n if (agent.startsWith('yarn')) return 'yarn'\n if (agent.startsWith('npm')) return 'npm'\n if (agent.startsWith('pnpm')) return 'pnpm'\n if (agent.startsWith('bun')) return 'bun'\n }\n // Default to npm if no user agent is found\n return 'npm'\n}\n\ntype PackageJson = typeof playgroundPackageJson\n\nexport const addDependencies = async (\n projectDir: string,\n cfg: (currentDeps: PackageJson) => {\n dependencies: Array<string | string[]>\n devDependencies?: Array<string | string[]>\n },\n) => {\n const packageJsonPath = path.join(projectDir, 'package.json')\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))\n const { dependencies, devDependencies } = cfg(packageJson)\n\n if (devDependencies && devDependencies.length > 0) {\n if (!packageJson.devDependencies) {\n packageJson.devDependencies = {}\n }\n for (const dep of devDependencies) {\n if (Array.isArray(dep)) {\n packageJson.devDependencies[dep[0]] = dep[1]\n } else {\n packageJson.devDependencies[dep] = 'latest'\n }\n }\n }\n\n if (!packageJson.dependencies) {\n packageJson.dependencies = {}\n }\n for (const dep of dependencies) {\n if (Array.isArray(dep)) {\n packageJson.dependencies[dep[0]] = dep[1]\n } else {\n packageJson.dependencies[dep] = 'latest'\n }\n }\n\n writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\\n')\n}\n\nexport const formatTargetDir = (targetDir: string | undefined) =>\n targetDir?.trim().replace(/\\/+$/g, '')\n","import spawn from 'cross-spawn'\nimport { addDependencies, getPackageManager, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport { readFileSync, writeFileSync } from 'node:fs'\nimport picocolors from 'picocolors'\n\nexport const buildRiverReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const result = await scaffoldViteReactApp(cfg)\n\n if (result.signal === 'SIGINT' || result.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result.status !== 0) {\n console.error(picocolors.red('\\nFailed to scaffold project.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nVite project created successfully.'))\n console.log(picocolors.blue('\\nAdding River SDK dependencies...'))\n\n await addDependencies(cfg.projectDir, () => ({\n dependencies: ['@towns-protocol/react-sdk', '@towns-protocol/sdk'],\n devDependencies: ['vite-plugin-node-polyfills'],\n }))\n\n console.log(picocolors.green('\\nRiver SDK dependencies added successfully.'))\n console.log(picocolors.blue('\\nUpdating vite.config.ts...'))\n\n await updateViteConfigWithPolyfills(cfg)\n\n console.log(picocolors.green('\\nvite.config.ts updated successfully.'))\n}\n\nconst scaffoldViteReactApp = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir, packageName, viteTemplate = 'react-ts' } = cfg\n const pkgManager = getPackageManager()\n\n const createViteCommand = (() => {\n const nameForViteScript = targetDir === '.' ? '.' : packageName\n switch (pkgManager) {\n case 'yarn':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'pnpm':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n case 'bun':\n return ['create', 'vite', nameForViteScript, '--template', viteTemplate]\n default:\n // npm requires the -- flag to pass args to the template\n return [\n 'create',\n 'vite@latest',\n nameForViteScript,\n '--',\n '--template',\n viteTemplate,\n ]\n }\n })()\n\n return spawn.sync(pkgManager, createViteCommand, { stdio: 'inherit' })\n}\n\nconst updateViteConfigWithPolyfills = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir, viteTemplate } = cfg\n const isJsTemplate = viteTemplate === 'react'\n const viteConfigPath = path.join(projectDir, isJsTemplate ? 'vite.config.js' : 'vite.config.ts')\n let viteConfig = readFileSync(viteConfigPath, 'utf8')\n\n // Add import for vite-plugin-node-polyfills\n viteConfig = `import { nodePolyfills } from 'vite-plugin-node-polyfills'\\n${viteConfig}`\n\n // Add nodePolyfills to plugins array\n viteConfig = viteConfig.replace(/plugins:\\s*\\[([\\s\\S]*?)\\]/, (_, pluginsContent) => {\n const trimmedContent = pluginsContent.trim()\n const separator = trimmedContent ? ',\\n ' : ''\n return `plugins: [${pluginsContent}${separator}nodePolyfills()\\n ]`\n })\n\n writeFileSync(viteConfigPath, viteConfig)\n}\n","import spawn from 'cross-spawn'\nimport { addDependencies, type CreateRiverBuildAppConfig } from '../utils'\nimport path from 'node:path'\nimport picocolors from 'picocolors'\nimport fs from 'node:fs'\nimport * as jsoncParser from 'jsonc-parser'\n\nexport const clonePlayground = async (cfg: CreateRiverBuildAppConfig) => {\n console.log(picocolors.blue('\\nCloning Towns Protocol Playground...'))\n\n const result = await cloneRepo(cfg)\n if (!result) return\n if (result?.signal === 'SIGINT' || result?.signal === 'SIGTERM') {\n console.log('\\nOperation cancelled')\n process.exit(1)\n }\n if (result && result.status !== 0) {\n console.error(picocolors.red('\\nFailed to clone playground.'))\n process.exit(1)\n }\n\n console.log(picocolors.green('\\nPlayground cloned successfully.'))\n console.log(picocolors.blue('\\nUpdating dependencies...'))\n\n await updateDependencies(cfg)\n console.log(picocolors.green('\\nDependencies updated successfully.'))\n\n await fixTsConfig(cfg)\n spawn.sync('git', ['init'], {\n stdio: 'inherit',\n cwd: cfg.targetDir,\n })\n}\n\nconst cloneRepo = async (cfg: CreateRiverBuildAppConfig) => {\n const { targetDir } = cfg\n const tempDir = `${targetDir}-temp`\n\n // Clone with minimal data to a temporary directory\n const latestSdkTag = getLatestSdkTag()\n if (!latestSdkTag) {\n console.error(picocolors.red('\\nFailed to get latest SDK tag.'))\n return\n }\n\n const cloneResult = spawn.sync(\n 'git',\n [\n 'clone',\n '--no-checkout',\n '--depth',\n '1',\n '--sparse',\n '--branch',\n latestSdkTag,\n 'https://github.com/towns-protocol/towns.git',\n tempDir,\n ],\n { stdio: 'inherit' },\n )\n if (cloneResult.status !== 0) return cloneResult\n\n // Set up sparse checkout\n const sparseResult = spawn.sync('git', ['sparse-checkout', 'set', 'packages/playground'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (sparseResult.status !== 0) return sparseResult\n\n // Checkout the content\n const checkoutResult = spawn.sync('git', ['checkout'], {\n stdio: 'inherit',\n cwd: tempDir,\n })\n if (checkoutResult.status !== 0) return checkoutResult\n\n // Verify playground directory exists\n const playgroundDir = path.join(tempDir, 'packages/playground')\n const baseTsConfigPath = path.join(tempDir, 'packages/tsconfig.base.json')\n\n if (!fs.existsSync(playgroundDir)) {\n console.error(picocolors.red(`\\nPlayground directory not found at ${playgroundDir}`))\n return\n }\n\n // Move playground contents to target directory\n fs.mkdirSync(targetDir, { recursive: true })\n fs.cpSync(playgroundDir, targetDir, { recursive: true })\n\n // Copy tsconfig.base.json if it exists (since playground uses the config from monorepo)\n if (fs.existsSync(baseTsConfigPath)) {\n fs.copyFileSync(baseTsConfigPath, path.join(targetDir, 'tsconfig.base.json'))\n }\n // Clean up temporary directory\n fs.rmSync(tempDir, { recursive: true, force: true })\n return checkoutResult\n}\n\nconst updateDependencies = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n\n // Update package.json with latest Towns Protocol dependencies\n await addDependencies(projectDir, (json) => {\n const allTownsProtocolDeps = Object.keys(json.dependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n const allTownsProtocolDevDeps = Object.keys(json.devDependencies).filter((dep) =>\n dep.startsWith('@towns-protocol'),\n )\n return {\n dependencies: allTownsProtocolDeps,\n devDependencies: [\n ...allTownsProtocolDevDeps,\n // hardcoded for now. if we add ^ in front of the version (e.g. ^5.1.6)\n // it will make npm install to get the latest 5.x.x\n ['typescript', '5.8.2'],\n ],\n }\n })\n}\n\nconst fixTsConfig = async (cfg: CreateRiverBuildAppConfig) => {\n const { projectDir } = cfg\n const tsConfigPath = path.join(projectDir, 'tsconfig.json')\n\n if (fs.existsSync(tsConfigPath)) {\n const tsConfigContent = fs.readFileSync(tsConfigPath, 'utf8')\n // TSConfig is a JSON with comments, so we need to parse it with jsonc-parser\n const tsConfig = jsoncParser.parse(tsConfigContent)\n\n if (tsConfig.extends === './../tsconfig.base.json') {\n // Create an edit to replace the extends value\n const edits = jsoncParser.modify(tsConfigContent, ['extends'], './tsconfig.base.json', {\n formattingOptions: { tabSize: 2 },\n })\n\n // Apply the edit\n const updatedContent = jsoncParser.applyEdits(tsConfigContent, edits)\n fs.writeFileSync(tsConfigPath, updatedContent)\n }\n }\n}\n\nfunction getLatestSdkTag(): string | null {\n const tagsResult = spawn.sync(\n 'git',\n ['ls-remote', '--tags', 'https://github.com/towns-protocol/towns.git', 'sdk-*'],\n { encoding: 'utf8' },\n )\n\n if (tagsResult.status !== 0 || !tagsResult.stdout) return null\n\n const tags = tagsResult.stdout\n .split('\\n')\n .filter(Boolean)\n .map((line) => {\n const [_hash, ref] = line.split('\\t')\n const tag = ref.replace('refs/tags/', '').replace(/\\^{}$/, '')\n\n // Extract version numbers from tags like sdk-hash-1.2.3\n const match = tag.match(/^sdk-[0-9a-f]+-(\\d+)\\.(\\d+)\\.(\\d+)$/)\n if (!match) return null\n\n return {\n tag,\n version: [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])],\n }\n })\n .filter(\n (item): item is { tag: string; version: number[] } =>\n item !== null && Array.isArray(item.version) && item.version.length === 3,\n )\n .sort((a, b) => {\n // Compare version numbers\n for (let i = 0; i < 3; i++) {\n if (a.version[i] !== b.version[i]) {\n return b.version[i] - a.version[i]\n }\n }\n return 0\n })\n\n return tags.length > 0 ? tags[0].tag : null\n}\n"],"mappings":"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","names":["key","argv","arg","value","i","argv","fs","path","fs","path","fs","path","path","path","path","fs","path","parse","parse","spawn","import_picocolors","path","path","readFileSync","writeFileSync","picocolors","spawn","import_cross_spawn","import_picocolors","path","picocolors","spawn","minimist","picocolors","path"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-towns-protocol-app",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.431",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "tsup",
|
|
6
6
|
"watch": "tsup --watch"
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "02cd0a82c6fe5e92ce21456e2aa910978b46a1bf"
|
|
34
34
|
}
|