@akonwi/kit 0.12.2 → 0.14.0
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/kit +0 -0
- package/dist/runtime/parser.worker.js +442 -66
- package/package.json +6 -6
package/dist/kit
CHANGED
|
Binary file
|
|
@@ -3254,11 +3254,48 @@ import { mkdir as mkdir3 } from "fs/promises";
|
|
|
3254
3254
|
import * as path2 from "path";
|
|
3255
3255
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
3256
3256
|
import * as path from "path";
|
|
3257
|
-
import { isMainThread } from "worker_threads";
|
|
3258
3257
|
import { basename as basename2, join as join22 } from "path";
|
|
3258
|
+
import { existsSync } from "fs";
|
|
3259
3259
|
import { mkdir as mkdir2, writeFile as writeFileNode } from "fs/promises";
|
|
3260
3260
|
import { dirname as dirname2, isAbsolute, resolve } from "path";
|
|
3261
3261
|
import { fileURLToPath } from "url";
|
|
3262
|
+
var __create2 = Object.create;
|
|
3263
|
+
var __getProtoOf2 = Object.getPrototypeOf;
|
|
3264
|
+
var __defProp3 = Object.defineProperty;
|
|
3265
|
+
var __getOwnPropNames2 = Object.getOwnPropertyNames;
|
|
3266
|
+
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
|
3267
|
+
function __accessProp2(key) {
|
|
3268
|
+
return this[key];
|
|
3269
|
+
}
|
|
3270
|
+
var __toESMCache_node2;
|
|
3271
|
+
var __toESMCache_esm2;
|
|
3272
|
+
var __toESM2 = (mod, isNodeMode, target) => {
|
|
3273
|
+
var canCache = mod != null && typeof mod === "object";
|
|
3274
|
+
if (canCache) {
|
|
3275
|
+
var cache = isNodeMode ? __toESMCache_node2 ??= new WeakMap : __toESMCache_esm2 ??= new WeakMap;
|
|
3276
|
+
var cached = cache.get(mod);
|
|
3277
|
+
if (cached)
|
|
3278
|
+
return cached;
|
|
3279
|
+
}
|
|
3280
|
+
target = mod != null ? __create2(__getProtoOf2(mod)) : {};
|
|
3281
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp3(target, "default", { value: mod, enumerable: true }) : target;
|
|
3282
|
+
for (let key of __getOwnPropNames2(mod))
|
|
3283
|
+
if (!__hasOwnProp2.call(to, key))
|
|
3284
|
+
__defProp3(to, key, {
|
|
3285
|
+
get: __accessProp2.bind(mod, key),
|
|
3286
|
+
enumerable: true
|
|
3287
|
+
});
|
|
3288
|
+
if (canCache)
|
|
3289
|
+
cache.set(mod, to);
|
|
3290
|
+
return to;
|
|
3291
|
+
};
|
|
3292
|
+
var __commonJS2 = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
3293
|
+
var require_emoji_regex = __commonJS2((exports, module2) => {
|
|
3294
|
+
module2.exports = () => {
|
|
3295
|
+
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
3296
|
+
};
|
|
3297
|
+
});
|
|
3298
|
+
|
|
3262
3299
|
class DownloadUtils {
|
|
3263
3300
|
static hashUrl(url) {
|
|
3264
3301
|
let hash = 0;
|
|
@@ -3406,9 +3443,7 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
|
|
|
3406
3443
|
}
|
|
3407
3444
|
return 1;
|
|
3408
3445
|
}
|
|
3409
|
-
var
|
|
3410
|
-
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
3411
|
-
};
|
|
3446
|
+
var import_emoji_regex = __toESM2(require_emoji_regex(), 1);
|
|
3412
3447
|
var segmenter = new Intl.Segmenter;
|
|
3413
3448
|
var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
|
|
3414
3449
|
function stringWidth(string, options = {}) {
|
|
@@ -3447,7 +3482,7 @@ function stringWidth(string, options = {}) {
|
|
|
3447
3482
|
if (defaultIgnorableCodePointRegex.test(character)) {
|
|
3448
3483
|
continue;
|
|
3449
3484
|
}
|
|
3450
|
-
if (
|
|
3485
|
+
if (import_emoji_regex.default().test(character)) {
|
|
3451
3486
|
width += 2;
|
|
3452
3487
|
continue;
|
|
3453
3488
|
}
|
|
@@ -3463,17 +3498,43 @@ var stripANSI = bun?.stripANSI ?? stripAnsi;
|
|
|
3463
3498
|
var writeFile2 = bun?.write ?? writeFilePortable;
|
|
3464
3499
|
async function resolveBundledFilePath(loadBundledFile, fallbackPath, metaUrl) {
|
|
3465
3500
|
if (!bun) {
|
|
3466
|
-
const path22 =
|
|
3467
|
-
|
|
3501
|
+
const path22 = resolveFallbackFilePath(fallbackPath, metaUrl);
|
|
3502
|
+
if (existsSync(path22)) {
|
|
3503
|
+
return path22;
|
|
3504
|
+
}
|
|
3505
|
+
return await loadBundledFilePath(loadBundledFile, metaUrl) ?? path22;
|
|
3468
3506
|
}
|
|
3469
|
-
|
|
3507
|
+
return normalizeLoadedFilePath((await loadBundledFile()).default, metaUrl);
|
|
3508
|
+
}
|
|
3509
|
+
function resolveFallbackFilePath(fallbackPath, metaUrl) {
|
|
3510
|
+
const path22 = typeof fallbackPath === "function" ? fallbackPath() : fallbackPath;
|
|
3511
|
+
return fileURLToPath(path22 instanceof URL ? path22 : new URL(path22, metaUrl));
|
|
3512
|
+
}
|
|
3513
|
+
function normalizeLoadedFilePath(loadedPath, baseUrl) {
|
|
3470
3514
|
if (loadedPath.startsWith("file:")) {
|
|
3471
3515
|
return fileURLToPath(loadedPath);
|
|
3472
3516
|
}
|
|
3473
3517
|
if (isAbsolute(loadedPath)) {
|
|
3474
3518
|
return loadedPath;
|
|
3475
3519
|
}
|
|
3476
|
-
return resolve(dirname2(fileURLToPath(
|
|
3520
|
+
return resolve(dirname2(fileURLToPath(baseUrl)), loadedPath);
|
|
3521
|
+
}
|
|
3522
|
+
async function loadBundledFilePath(loadBundledFile, metaUrl) {
|
|
3523
|
+
const specifier = extractBundledImportSpecifier(loadBundledFile);
|
|
3524
|
+
if (!specifier) {
|
|
3525
|
+
return;
|
|
3526
|
+
}
|
|
3527
|
+
try {
|
|
3528
|
+
const moduleUrl = new URL(specifier, metaUrl);
|
|
3529
|
+
const loaded = await import(moduleUrl.href);
|
|
3530
|
+
return normalizeLoadedFilePath(loaded.default, moduleUrl.href);
|
|
3531
|
+
} catch {
|
|
3532
|
+
return;
|
|
3533
|
+
}
|
|
3534
|
+
}
|
|
3535
|
+
function extractBundledImportSpecifier(loadBundledFile) {
|
|
3536
|
+
const match = String(loadBundledFile).match(/\bimport\(\s*(["'`])([^"'`]+)\1/);
|
|
3537
|
+
return match?.[2];
|
|
3477
3538
|
}
|
|
3478
3539
|
function standardSleep(msOrDate) {
|
|
3479
3540
|
const ms = msOrDate instanceof Date ? msOrDate.getTime() - Date.now() : msOrDate;
|
|
@@ -3488,7 +3549,269 @@ async function writeFilePortable(destination, data, options) {
|
|
|
3488
3549
|
await writeFileNode(destinationPath, bytes, { mode: options?.mode });
|
|
3489
3550
|
return bytes.byteLength;
|
|
3490
3551
|
}
|
|
3491
|
-
var
|
|
3552
|
+
var WORKER_UNAVAILABLE = "OpenTUI tree-sitter workers are not available for this runtime yet.";
|
|
3553
|
+
var globalWithWorker = globalThis;
|
|
3554
|
+
var nodeWorkerThreads = getBuiltinModule("node:worker_threads");
|
|
3555
|
+
var runtimeBridge = loadWorkerRuntime(nodeWorkerThreads);
|
|
3556
|
+
|
|
3557
|
+
class UnsupportedWorker {
|
|
3558
|
+
onmessage = null;
|
|
3559
|
+
onerror = null;
|
|
3560
|
+
constructor() {
|
|
3561
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3562
|
+
}
|
|
3563
|
+
postMessage() {
|
|
3564
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3565
|
+
}
|
|
3566
|
+
terminate() {
|
|
3567
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3568
|
+
}
|
|
3569
|
+
addEventListener() {
|
|
3570
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3571
|
+
}
|
|
3572
|
+
removeEventListener() {
|
|
3573
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
var Worker = loadWorkerConstructor();
|
|
3577
|
+
var isWorkerRuntime = runtimeBridge !== undefined;
|
|
3578
|
+
function postWorkerMessage(value) {
|
|
3579
|
+
if (!runtimeBridge) {
|
|
3580
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3581
|
+
}
|
|
3582
|
+
runtimeBridge.postMessage(value);
|
|
3583
|
+
}
|
|
3584
|
+
function setWorkerMessageHandler(handler) {
|
|
3585
|
+
if (!runtimeBridge) {
|
|
3586
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3587
|
+
}
|
|
3588
|
+
return runtimeBridge.setMessageHandler(handler);
|
|
3589
|
+
}
|
|
3590
|
+
function getBuiltinModule(id) {
|
|
3591
|
+
if (typeof process === "undefined") {
|
|
3592
|
+
return;
|
|
3593
|
+
}
|
|
3594
|
+
const loader = process.getBuiltinModule;
|
|
3595
|
+
if (typeof loader !== "function") {
|
|
3596
|
+
return;
|
|
3597
|
+
}
|
|
3598
|
+
try {
|
|
3599
|
+
return loader(id);
|
|
3600
|
+
} catch {
|
|
3601
|
+
return;
|
|
3602
|
+
}
|
|
3603
|
+
}
|
|
3604
|
+
function loadWorkerConstructor() {
|
|
3605
|
+
if (typeof globalWithWorker.Worker === "function") {
|
|
3606
|
+
return globalWithWorker.Worker;
|
|
3607
|
+
}
|
|
3608
|
+
if (nodeWorkerThreads) {
|
|
3609
|
+
return createNodeWorkerConstructor(nodeWorkerThreads);
|
|
3610
|
+
}
|
|
3611
|
+
return UnsupportedWorker;
|
|
3612
|
+
}
|
|
3613
|
+
function createNodeWorkerConstructor(node) {
|
|
3614
|
+
return class NodeWorkerShim {
|
|
3615
|
+
onmessage = null;
|
|
3616
|
+
onerror = null;
|
|
3617
|
+
errorListeners = new Set;
|
|
3618
|
+
messageListeners = new Set;
|
|
3619
|
+
worker;
|
|
3620
|
+
terminationPromise;
|
|
3621
|
+
constructor(specifier, options = {}) {
|
|
3622
|
+
const resolvedSpecifier = resolveWorkerImportSpecifier(specifier);
|
|
3623
|
+
this.worker = new node.Worker(createWorkerBootstrapSource(resolvedSpecifier), {
|
|
3624
|
+
eval: true,
|
|
3625
|
+
type: "module",
|
|
3626
|
+
name: options.name
|
|
3627
|
+
});
|
|
3628
|
+
this.worker.on("message", this.handleMessage);
|
|
3629
|
+
this.worker.on("error", this.handleError);
|
|
3630
|
+
}
|
|
3631
|
+
postMessage(value) {
|
|
3632
|
+
this.worker.postMessage(value);
|
|
3633
|
+
}
|
|
3634
|
+
terminate() {
|
|
3635
|
+
if (this.terminationPromise) {
|
|
3636
|
+
return this.terminationPromise;
|
|
3637
|
+
}
|
|
3638
|
+
this.worker.off("message", this.handleMessage);
|
|
3639
|
+
this.worker.off("error", this.handleError);
|
|
3640
|
+
const termination = this.worker.terminate().catch((error) => {
|
|
3641
|
+
this.terminationPromise = undefined;
|
|
3642
|
+
this.worker.on("message", this.handleMessage);
|
|
3643
|
+
this.worker.on("error", this.handleError);
|
|
3644
|
+
throw error;
|
|
3645
|
+
});
|
|
3646
|
+
this.terminationPromise = termination;
|
|
3647
|
+
return termination;
|
|
3648
|
+
}
|
|
3649
|
+
addEventListener(type, listener) {
|
|
3650
|
+
if (type === "message") {
|
|
3651
|
+
this.messageListeners.add(listener);
|
|
3652
|
+
return;
|
|
3653
|
+
}
|
|
3654
|
+
this.errorListeners.add(listener);
|
|
3655
|
+
}
|
|
3656
|
+
removeEventListener(type, listener) {
|
|
3657
|
+
if (type === "message") {
|
|
3658
|
+
this.messageListeners.delete(listener);
|
|
3659
|
+
return;
|
|
3660
|
+
}
|
|
3661
|
+
this.errorListeners.delete(listener);
|
|
3662
|
+
}
|
|
3663
|
+
handleMessage = (data) => {
|
|
3664
|
+
const event = { data };
|
|
3665
|
+
this.onmessage?.(event);
|
|
3666
|
+
for (const listener of this.messageListeners) {
|
|
3667
|
+
listener(event);
|
|
3668
|
+
}
|
|
3669
|
+
};
|
|
3670
|
+
handleError = (error) => {
|
|
3671
|
+
const event = {
|
|
3672
|
+
error,
|
|
3673
|
+
message: error.message
|
|
3674
|
+
};
|
|
3675
|
+
this.onerror?.(event);
|
|
3676
|
+
for (const listener of this.errorListeners) {
|
|
3677
|
+
listener(event);
|
|
3678
|
+
}
|
|
3679
|
+
};
|
|
3680
|
+
};
|
|
3681
|
+
}
|
|
3682
|
+
function createWorkerBootstrapSource(specifier) {
|
|
3683
|
+
return `
|
|
3684
|
+
import { parentPort } from "node:worker_threads"
|
|
3685
|
+
|
|
3686
|
+
const pendingMessages = []
|
|
3687
|
+
let messageHandler = null
|
|
3688
|
+
|
|
3689
|
+
globalThis.self ??= globalThis
|
|
3690
|
+
globalThis.postMessage ??= (value) => parentPort?.postMessage(value)
|
|
3691
|
+
globalThis.__opentuiWorkerMessageBridge = true
|
|
3692
|
+
Object.defineProperty(globalThis, "onmessage", {
|
|
3693
|
+
configurable: true,
|
|
3694
|
+
get: () => messageHandler,
|
|
3695
|
+
set: (handler) => {
|
|
3696
|
+
messageHandler = typeof handler === "function" ? handler : null
|
|
3697
|
+
if (!messageHandler) return
|
|
3698
|
+
|
|
3699
|
+
const messages = pendingMessages.splice(0)
|
|
3700
|
+
for (const data of messages) {
|
|
3701
|
+
messageHandler({ data })
|
|
3702
|
+
}
|
|
3703
|
+
},
|
|
3704
|
+
})
|
|
3705
|
+
parentPort?.on("message", (data) => {
|
|
3706
|
+
if (messageHandler) {
|
|
3707
|
+
messageHandler({ data })
|
|
3708
|
+
} else {
|
|
3709
|
+
pendingMessages.push(data)
|
|
3710
|
+
}
|
|
3711
|
+
})
|
|
3712
|
+
|
|
3713
|
+
await import(${JSON.stringify(specifier)})
|
|
3714
|
+
`;
|
|
3715
|
+
}
|
|
3716
|
+
function resolveWorkerImportSpecifier(specifier) {
|
|
3717
|
+
if (specifier instanceof URL) {
|
|
3718
|
+
return specifier.href;
|
|
3719
|
+
}
|
|
3720
|
+
if (isRuntimeSpecifier(specifier)) {
|
|
3721
|
+
return specifier;
|
|
3722
|
+
}
|
|
3723
|
+
const nodePath2 = getBuiltinModule("node:path");
|
|
3724
|
+
const nodeUrl = getBuiltinModule("node:url");
|
|
3725
|
+
if (!nodePath2 || !nodeUrl) {
|
|
3726
|
+
throw new Error(WORKER_UNAVAILABLE);
|
|
3727
|
+
}
|
|
3728
|
+
const absolutePath = nodePath2.isAbsolute(specifier) ? specifier : nodePath2.resolve(specifier);
|
|
3729
|
+
return nodeUrl.pathToFileURL(absolutePath).href;
|
|
3730
|
+
}
|
|
3731
|
+
function isRuntimeSpecifier(specifier) {
|
|
3732
|
+
return specifier.startsWith("file:") || specifier.startsWith("data:") || specifier.startsWith("node:") || specifier.startsWith("http:") || specifier.startsWith("https:");
|
|
3733
|
+
}
|
|
3734
|
+
function loadWorkerRuntime(node) {
|
|
3735
|
+
if (node?.parentPort && node.isMainThread === false) {
|
|
3736
|
+
if (globalWithWorker.__opentuiWorkerMessageBridge) {
|
|
3737
|
+
return createGlobalWorkerRuntimeBridge();
|
|
3738
|
+
}
|
|
3739
|
+
return {
|
|
3740
|
+
postMessage(value) {
|
|
3741
|
+
node.parentPort?.postMessage(value);
|
|
3742
|
+
},
|
|
3743
|
+
setMessageHandler(handler) {
|
|
3744
|
+
const listener = (data) => {
|
|
3745
|
+
handler({ data });
|
|
3746
|
+
};
|
|
3747
|
+
node.parentPort?.on("message", listener);
|
|
3748
|
+
return () => {
|
|
3749
|
+
node.parentPort?.off("message", listener);
|
|
3750
|
+
};
|
|
3751
|
+
}
|
|
3752
|
+
};
|
|
3753
|
+
}
|
|
3754
|
+
if (!isGlobalWorkerRuntime()) {
|
|
3755
|
+
return;
|
|
3756
|
+
}
|
|
3757
|
+
return createGlobalWorkerRuntimeBridge();
|
|
3758
|
+
}
|
|
3759
|
+
function createGlobalWorkerRuntimeBridge() {
|
|
3760
|
+
let currentRegistration;
|
|
3761
|
+
return {
|
|
3762
|
+
postMessage(value) {
|
|
3763
|
+
globalWithWorker.postMessage?.(value);
|
|
3764
|
+
},
|
|
3765
|
+
setMessageHandler(handler) {
|
|
3766
|
+
const previousHandler = getGlobalWorkerMessageHandler();
|
|
3767
|
+
if (currentRegistration && previousHandler !== currentRegistration.listener) {
|
|
3768
|
+
currentRegistration = undefined;
|
|
3769
|
+
}
|
|
3770
|
+
const listener = (event) => {
|
|
3771
|
+
const normalizedEvent = normalizeWorkerMessageEvent(event);
|
|
3772
|
+
handler(normalizedEvent);
|
|
3773
|
+
};
|
|
3774
|
+
const registration = {
|
|
3775
|
+
active: true,
|
|
3776
|
+
fallbackHandler: currentRegistration ? currentRegistration.fallbackHandler : previousHandler,
|
|
3777
|
+
listener,
|
|
3778
|
+
previous: currentRegistration
|
|
3779
|
+
};
|
|
3780
|
+
currentRegistration = registration;
|
|
3781
|
+
setGlobalWorkerMessageHandler(listener);
|
|
3782
|
+
return () => {
|
|
3783
|
+
registration.active = false;
|
|
3784
|
+
if (currentRegistration !== registration || getGlobalWorkerMessageHandler() !== listener) {
|
|
3785
|
+
return;
|
|
3786
|
+
}
|
|
3787
|
+
let previous = registration.previous;
|
|
3788
|
+
while (previous && !previous.active) {
|
|
3789
|
+
previous = previous.previous;
|
|
3790
|
+
}
|
|
3791
|
+
currentRegistration = previous;
|
|
3792
|
+
setGlobalWorkerMessageHandler(previous?.listener ?? registration.fallbackHandler);
|
|
3793
|
+
};
|
|
3794
|
+
}
|
|
3795
|
+
};
|
|
3796
|
+
}
|
|
3797
|
+
function isGlobalWorkerRuntime() {
|
|
3798
|
+
if (typeof globalWithWorker.postMessage !== "function") {
|
|
3799
|
+
return false;
|
|
3800
|
+
}
|
|
3801
|
+
return typeof document === "undefined" && typeof globalWithWorker.close === "function" && "onmessage" in globalThis;
|
|
3802
|
+
}
|
|
3803
|
+
function normalizeWorkerMessageEvent(event) {
|
|
3804
|
+
if (event && typeof event === "object" && "data" in event) {
|
|
3805
|
+
return event;
|
|
3806
|
+
}
|
|
3807
|
+
return { data: event };
|
|
3808
|
+
}
|
|
3809
|
+
function getGlobalWorkerMessageHandler() {
|
|
3810
|
+
return globalThis.onmessage ?? null;
|
|
3811
|
+
}
|
|
3812
|
+
function setGlobalWorkerMessageHandler(handler) {
|
|
3813
|
+
globalThis.onmessage = handler;
|
|
3814
|
+
}
|
|
3492
3815
|
|
|
3493
3816
|
class ParserWorker {
|
|
3494
3817
|
bufferParsers = new Map;
|
|
@@ -3699,7 +4022,7 @@ class ParserWorker {
|
|
|
3699
4022
|
async handleInitializeParser(bufferId, version, content, filetype, messageId) {
|
|
3700
4023
|
const filetypeParser = await this.resolveFiletypeParser(filetype);
|
|
3701
4024
|
if (!filetypeParser) {
|
|
3702
|
-
|
|
4025
|
+
postWorkerMessage({
|
|
3703
4026
|
type: "PARSER_INIT_RESPONSE",
|
|
3704
4027
|
bufferId,
|
|
3705
4028
|
messageId,
|
|
@@ -3712,7 +4035,7 @@ class ParserWorker {
|
|
|
3712
4035
|
parser.setLanguage(filetypeParser.language);
|
|
3713
4036
|
const tree = parser.parse(content);
|
|
3714
4037
|
if (!tree) {
|
|
3715
|
-
|
|
4038
|
+
postWorkerMessage({
|
|
3716
4039
|
type: "PARSER_INIT_RESPONSE",
|
|
3717
4040
|
bufferId,
|
|
3718
4041
|
messageId,
|
|
@@ -3730,14 +4053,14 @@ class ParserWorker {
|
|
|
3730
4053
|
injectionMapping: filetypeParser.injectionMapping
|
|
3731
4054
|
};
|
|
3732
4055
|
this.bufferParsers.set(bufferId, parserState);
|
|
3733
|
-
|
|
4056
|
+
postWorkerMessage({
|
|
3734
4057
|
type: "PARSER_INIT_RESPONSE",
|
|
3735
4058
|
bufferId,
|
|
3736
4059
|
messageId,
|
|
3737
4060
|
hasParser: true
|
|
3738
4061
|
});
|
|
3739
4062
|
const highlights = await this.initialQuery(parserState);
|
|
3740
|
-
|
|
4063
|
+
postWorkerMessage({
|
|
3741
4064
|
type: "HIGHLIGHT_RESPONSE",
|
|
3742
4065
|
bufferId,
|
|
3743
4066
|
version,
|
|
@@ -4059,7 +4382,7 @@ class ParserWorker {
|
|
|
4059
4382
|
async handleOneShotHighlight(content, filetype, messageId) {
|
|
4060
4383
|
const reusableState = await this.getReusableParser(filetype);
|
|
4061
4384
|
if (!reusableState) {
|
|
4062
|
-
|
|
4385
|
+
postWorkerMessage({
|
|
4063
4386
|
type: "ONESHOT_HIGHLIGHT_RESPONSE",
|
|
4064
4387
|
messageId,
|
|
4065
4388
|
hasParser: false,
|
|
@@ -4071,7 +4394,7 @@ class ParserWorker {
|
|
|
4071
4394
|
` : content;
|
|
4072
4395
|
const tree = reusableState.parser.parse(parseContent);
|
|
4073
4396
|
if (!tree) {
|
|
4074
|
-
|
|
4397
|
+
postWorkerMessage({
|
|
4075
4398
|
type: "ONESHOT_HIGHLIGHT_RESPONSE",
|
|
4076
4399
|
messageId,
|
|
4077
4400
|
hasParser: false,
|
|
@@ -4096,7 +4419,7 @@ class ParserWorker {
|
|
|
4096
4419
|
injectionRanges = injectionResult.injectionRanges;
|
|
4097
4420
|
}
|
|
4098
4421
|
const highlights = this.getSimpleHighlights(matches, injectionRanges);
|
|
4099
|
-
|
|
4422
|
+
postWorkerMessage({
|
|
4100
4423
|
type: "ONESHOT_HIGHLIGHT_RESPONSE",
|
|
4101
4424
|
messageId,
|
|
4102
4425
|
hasParser: true,
|
|
@@ -4135,81 +4458,132 @@ class ParserWorker {
|
|
|
4135
4458
|
}
|
|
4136
4459
|
}
|
|
4137
4460
|
}
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4461
|
+
function logMessage(type, ...args2) {
|
|
4462
|
+
postWorkerMessage({
|
|
4463
|
+
type: "WORKER_LOG",
|
|
4464
|
+
logType: type,
|
|
4465
|
+
data: args2
|
|
4466
|
+
});
|
|
4467
|
+
}
|
|
4468
|
+
function postWorkerError(bufferId, error) {
|
|
4469
|
+
postWorkerMessage({
|
|
4470
|
+
type: "ERROR",
|
|
4471
|
+
bufferId,
|
|
4472
|
+
error: error instanceof Error ? error.stack || error.message : String(error)
|
|
4473
|
+
});
|
|
4474
|
+
}
|
|
4475
|
+
if (isWorkerRuntime) {
|
|
4146
4476
|
const worker = new ParserWorker;
|
|
4147
4477
|
console.log = (...args2) => logMessage("log", ...args2);
|
|
4148
4478
|
console.error = (...args2) => logMessage("error", ...args2);
|
|
4149
4479
|
console.warn = (...args2) => logMessage("warn", ...args2);
|
|
4150
|
-
|
|
4151
|
-
const
|
|
4480
|
+
setWorkerMessageHandler(async (event) => {
|
|
4481
|
+
const message = event.data;
|
|
4482
|
+
const messageType = String(event.data.type ?? "unknown");
|
|
4152
4483
|
try {
|
|
4153
|
-
switch (type) {
|
|
4484
|
+
switch (message.type) {
|
|
4154
4485
|
case "INIT":
|
|
4155
4486
|
try {
|
|
4156
|
-
await worker.initialize({ dataPath });
|
|
4157
|
-
|
|
4487
|
+
await worker.initialize({ dataPath: message.dataPath });
|
|
4488
|
+
postWorkerMessage({ type: "INIT_RESPONSE" });
|
|
4158
4489
|
} catch (error) {
|
|
4159
|
-
|
|
4490
|
+
postWorkerMessage({
|
|
4160
4491
|
type: "INIT_RESPONSE",
|
|
4161
4492
|
error: error instanceof Error ? error.stack || error.message : String(error)
|
|
4162
4493
|
});
|
|
4163
4494
|
}
|
|
4164
4495
|
break;
|
|
4165
4496
|
case "ADD_FILETYPE_PARSER":
|
|
4166
|
-
worker.addFiletypeParser(filetypeParser);
|
|
4497
|
+
worker.addFiletypeParser(message.filetypeParser);
|
|
4167
4498
|
break;
|
|
4168
|
-
case "PRELOAD_PARSER":
|
|
4169
|
-
const maybeParser = await worker.preloadParser(filetype);
|
|
4170
|
-
|
|
4499
|
+
case "PRELOAD_PARSER": {
|
|
4500
|
+
const maybeParser = await worker.preloadParser(message.filetype);
|
|
4501
|
+
postWorkerMessage({
|
|
4502
|
+
type: "PRELOAD_PARSER_RESPONSE",
|
|
4503
|
+
messageId: message.messageId,
|
|
4504
|
+
hasParser: !!maybeParser
|
|
4505
|
+
});
|
|
4171
4506
|
break;
|
|
4507
|
+
}
|
|
4172
4508
|
case "INITIALIZE_PARSER":
|
|
4173
|
-
await worker.handleInitializeParser(bufferId, version, content, filetype, messageId);
|
|
4509
|
+
await worker.handleInitializeParser(message.bufferId, message.version, message.content, message.filetype, message.messageId);
|
|
4174
4510
|
break;
|
|
4175
|
-
case "HANDLE_EDITS":
|
|
4176
|
-
const response = await worker.handleEdits(bufferId, content, edits);
|
|
4511
|
+
case "HANDLE_EDITS": {
|
|
4512
|
+
const response = await worker.handleEdits(message.bufferId, message.content, message.edits);
|
|
4177
4513
|
if (response.highlights && response.highlights.length > 0) {
|
|
4178
|
-
|
|
4514
|
+
postWorkerMessage({
|
|
4515
|
+
type: "HIGHLIGHT_RESPONSE",
|
|
4516
|
+
bufferId: message.bufferId,
|
|
4517
|
+
version: message.version,
|
|
4518
|
+
highlights: response.highlights
|
|
4519
|
+
});
|
|
4179
4520
|
} else if (response.warning) {
|
|
4180
|
-
|
|
4521
|
+
postWorkerMessage({
|
|
4522
|
+
type: "WARNING",
|
|
4523
|
+
bufferId: message.bufferId,
|
|
4524
|
+
warning: response.warning
|
|
4525
|
+
});
|
|
4181
4526
|
} else if (response.error) {
|
|
4182
|
-
|
|
4527
|
+
postWorkerMessage({
|
|
4528
|
+
type: "ERROR",
|
|
4529
|
+
bufferId: message.bufferId,
|
|
4530
|
+
error: response.error
|
|
4531
|
+
});
|
|
4183
4532
|
}
|
|
4184
4533
|
break;
|
|
4534
|
+
}
|
|
4185
4535
|
case "GET_PERFORMANCE":
|
|
4186
|
-
|
|
4536
|
+
postWorkerMessage({
|
|
4537
|
+
type: "PERFORMANCE_RESPONSE",
|
|
4538
|
+
performance: worker.performance,
|
|
4539
|
+
messageId: message.messageId
|
|
4540
|
+
});
|
|
4187
4541
|
break;
|
|
4188
|
-
case "RESET_BUFFER":
|
|
4189
|
-
const resetResponse = await worker.handleResetBuffer(bufferId, version, content);
|
|
4542
|
+
case "RESET_BUFFER": {
|
|
4543
|
+
const resetResponse = await worker.handleResetBuffer(message.bufferId, message.version, message.content);
|
|
4190
4544
|
if (resetResponse.highlights && resetResponse.highlights.length > 0) {
|
|
4191
|
-
|
|
4545
|
+
postWorkerMessage({
|
|
4546
|
+
type: "HIGHLIGHT_RESPONSE",
|
|
4547
|
+
bufferId: message.bufferId,
|
|
4548
|
+
version: message.version,
|
|
4549
|
+
highlights: resetResponse.highlights
|
|
4550
|
+
});
|
|
4192
4551
|
} else if (resetResponse.warning) {
|
|
4193
|
-
|
|
4552
|
+
postWorkerMessage({
|
|
4553
|
+
type: "WARNING",
|
|
4554
|
+
bufferId: message.bufferId,
|
|
4555
|
+
warning: resetResponse.warning
|
|
4556
|
+
});
|
|
4194
4557
|
} else if (resetResponse.error) {
|
|
4195
|
-
|
|
4558
|
+
postWorkerMessage({
|
|
4559
|
+
type: "ERROR",
|
|
4560
|
+
bufferId: message.bufferId,
|
|
4561
|
+
error: resetResponse.error
|
|
4562
|
+
});
|
|
4196
4563
|
}
|
|
4197
4564
|
break;
|
|
4565
|
+
}
|
|
4198
4566
|
case "DISPOSE_BUFFER":
|
|
4199
|
-
worker.disposeBuffer(bufferId);
|
|
4200
|
-
|
|
4567
|
+
worker.disposeBuffer(message.bufferId);
|
|
4568
|
+
postWorkerMessage({
|
|
4569
|
+
type: "BUFFER_DISPOSED",
|
|
4570
|
+
bufferId: message.bufferId
|
|
4571
|
+
});
|
|
4201
4572
|
break;
|
|
4202
4573
|
case "ONESHOT_HIGHLIGHT":
|
|
4203
|
-
await worker.handleOneShotHighlight(content, filetype, messageId);
|
|
4574
|
+
await worker.handleOneShotHighlight(message.content, message.filetype, message.messageId);
|
|
4204
4575
|
break;
|
|
4205
4576
|
case "UPDATE_DATA_PATH":
|
|
4206
4577
|
try {
|
|
4207
|
-
await worker.updateDataPath(dataPath);
|
|
4208
|
-
|
|
4578
|
+
await worker.updateDataPath(message.dataPath);
|
|
4579
|
+
postWorkerMessage({
|
|
4580
|
+
type: "UPDATE_DATA_PATH_RESPONSE",
|
|
4581
|
+
messageId: message.messageId
|
|
4582
|
+
});
|
|
4209
4583
|
} catch (error) {
|
|
4210
|
-
|
|
4584
|
+
postWorkerMessage({
|
|
4211
4585
|
type: "UPDATE_DATA_PATH_RESPONSE",
|
|
4212
|
-
messageId,
|
|
4586
|
+
messageId: message.messageId,
|
|
4213
4587
|
error: error instanceof Error ? error.message : String(error)
|
|
4214
4588
|
});
|
|
4215
4589
|
}
|
|
@@ -4217,28 +4591,30 @@ if (!isMainThread) {
|
|
|
4217
4591
|
case "CLEAR_CACHE":
|
|
4218
4592
|
try {
|
|
4219
4593
|
await worker.clearCache();
|
|
4220
|
-
|
|
4594
|
+
postWorkerMessage({
|
|
4595
|
+
type: "CLEAR_CACHE_RESPONSE",
|
|
4596
|
+
messageId: message.messageId
|
|
4597
|
+
});
|
|
4221
4598
|
} catch (error) {
|
|
4222
|
-
|
|
4599
|
+
postWorkerMessage({
|
|
4223
4600
|
type: "CLEAR_CACHE_RESPONSE",
|
|
4224
|
-
messageId,
|
|
4601
|
+
messageId: message.messageId,
|
|
4225
4602
|
error: error instanceof Error ? error.message : String(error)
|
|
4226
4603
|
});
|
|
4227
4604
|
}
|
|
4228
4605
|
break;
|
|
4229
4606
|
default:
|
|
4230
|
-
|
|
4607
|
+
postWorkerMessage({
|
|
4231
4608
|
type: "ERROR",
|
|
4232
|
-
|
|
4233
|
-
error: `Unknown message type: ${type}`
|
|
4609
|
+
error: `Unknown message type: ${messageType}`
|
|
4234
4610
|
});
|
|
4235
4611
|
}
|
|
4236
4612
|
} catch (error) {
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
}
|
|
4613
|
+
if ("bufferId" in message) {
|
|
4614
|
+
postWorkerError(message.bufferId, error);
|
|
4615
|
+
} else {
|
|
4616
|
+
postWorkerError(undefined, error);
|
|
4617
|
+
}
|
|
4242
4618
|
}
|
|
4243
|
-
};
|
|
4619
|
+
});
|
|
4244
4620
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akonwi/kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"author": "Akonwi Ngoh <akonwi@gmail.com>",
|
|
5
5
|
"description": "A TUI coding agent",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,12 +50,12 @@
|
|
|
50
50
|
"typecheck": "tsc --noEmit"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@earendil-works/pi-agent-core": "
|
|
54
|
-
"@earendil-works/pi-ai": "
|
|
53
|
+
"@earendil-works/pi-agent-core": "0.80.2",
|
|
54
|
+
"@earendil-works/pi-ai": "0.80.2",
|
|
55
55
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
56
|
-
"@opentui/core": "0.
|
|
57
|
-
"@opentui/keymap": "0.
|
|
58
|
-
"@opentui/solid": "0.
|
|
56
|
+
"@opentui/core": "0.4.1",
|
|
57
|
+
"@opentui/keymap": "0.4.1",
|
|
58
|
+
"@opentui/solid": "0.4.1",
|
|
59
59
|
"@pierre/diffs": "^1.1.16",
|
|
60
60
|
"diff": "^9.0.0",
|
|
61
61
|
"glob": "^13.0.6",
|