Files
bare-operating-system/packages/bare-os-seeder/kernel/lib/bare/bundles/bareUnionBundle.js
T
2026-04-04 01:20:57 -04:00

5409 lines
196 KiB
JavaScript

var __bare_os_bundle_exports__ = (() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error('Dynamic require of "' + x + '" is not supported');
});
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// ../../node_modules/bare-semver/lib/constants.js
var require_constants = __commonJS({
"../../node_modules/bare-semver/lib/constants.js"(exports, module) {
module.exports = {
EQ: 1,
LT: 2,
LTE: 3,
GT: 4,
GTE: 5
};
}
});
// ../../node_modules/bare-semver/lib/errors.js
var require_errors = __commonJS({
"../../node_modules/bare-semver/lib/errors.js"(exports, module) {
module.exports = class SemVerError extends Error {
constructor(msg, code, fn = SemVerError) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "SemVerError";
}
static INVALID_VERSION(msg, fn = SemVerError.INVALID_VERSION) {
return new SemVerError(msg, "INVALID_VERSION", fn);
}
static INVALID_RANGE(msg, fn = SemVerError.INVALID_RANGE) {
return new SemVerError(msg, "INVALID_RANGE", fn);
}
};
}
});
// ../../node_modules/bare-semver/lib/version.js
var require_version = __commonJS({
"../../node_modules/bare-semver/lib/version.js"(exports, module) {
var errors = require_errors();
var Version = class {
constructor(major, minor, patch, opts = {}) {
const { prerelease = [], build = [] } = opts;
this.major = major;
this.minor = minor;
this.patch = patch;
this.prerelease = prerelease;
this.build = build;
}
compare(version) {
return exports.compare(this, version);
}
toString() {
let result = `${this.major}.${this.minor}.${this.patch}`;
if (this.prerelease.length) {
result += "-" + this.prerelease.join(".");
}
if (this.build.length) {
result += "+" + this.build.join(".");
}
return result;
}
};
module.exports = exports = Version;
exports.parse = function parse(input, state = { position: 0, partial: false, range: false }) {
let i = state.position;
let c;
const unexpected = (expected) => {
let msg;
if (i >= input.length) {
msg = `Unexpected end of input in '${input}'`;
} else {
msg = `Unexpected token '${input[i]}' in '${input}' at position ${i}`;
}
if (expected) msg += `, ${expected}`;
throw errors.INVALID_VERSION(msg, unexpected);
};
const components = [0, 0, 0];
let k = 0;
while (k < 3) {
c = input[i];
if (k > 0) {
if (c === ".") c = input[++i];
else if (state.range) break;
else unexpected("expected '.'");
}
if (c === "0") {
i++;
k++;
} else if (c >= "1" && c <= "9") {
let j = 0;
do
c = input[i + ++j];
while (c >= "0" && c <= "9");
components[k++] = parseInt(input.substring(i, i + j));
i += j;
} else unexpected("expected /[0-9]/");
}
const prerelease = [];
if (k === 3 && input[i] === "-") {
i++;
while (true) {
c = input[i];
let tag = "";
let j = 0;
while (c >= "0" && c <= "9") c = input[i + ++j];
let isNumeric = false;
if (j) {
tag += input.substring(i, i + j);
c = input[i += j];
isNumeric = tag[0] !== "0" || tag.length === 1;
}
j = 0;
while (c >= "0" && c <= "9" || c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "-")
c = input[i + ++j];
if (j) {
tag += input.substring(i, i + j);
c = input[i += j];
} else if (!isNumeric) unexpected("expected /[a-zA-Z-]/");
prerelease.push(tag);
if (c === ".") c = input[++i];
else break;
}
}
const build = [];
if (k === 3 && input[i] === "+") {
i++;
while (true) {
c = input[i];
let tag = "";
let j = 0;
while (c >= "0" && c <= "9" || c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "-")
c = input[i + ++j];
if (j) {
tag += input.substring(i, i + j);
c = input[i += j];
} else unexpected("expected /[0-9a-zA-Z-]/");
build.push(tag);
if (c === ".") c = input[++i];
else break;
}
}
if (i < input.length && state.partial === false) {
unexpected("expected end of input");
}
state.position = i;
return new Version(...components, { prerelease, build });
};
var integer = /^[0-9]+$/;
exports.compare = function compare(a, b) {
if (a.major > b.major) return 1;
if (a.major < b.major) return -1;
if (a.minor > b.minor) return 1;
if (a.minor < b.minor) return -1;
if (a.patch > b.patch) return 1;
if (a.patch < b.patch) return -1;
if (a.prerelease.length === 0) return b.prerelease.length === 0 ? 0 : 1;
if (b.prerelease.length === 0) return -1;
let i = 0;
do {
let x = a.prerelease[i];
let y = b.prerelease[i];
if (x === void 0) return y === void 0 ? 0 : -1;
if (y === void 0) return 1;
if (x === y) continue;
const xInt = integer.test(x);
const yInt = integer.test(y);
if (xInt && yInt) {
x = +x;
y = +y;
} else {
if (xInt) return -1;
if (yInt) return 1;
}
return x > y ? 1 : -1;
} while (++i);
};
}
});
// ../../node_modules/bare-semver/lib/comparator.js
var require_comparator = __commonJS({
"../../node_modules/bare-semver/lib/comparator.js"(exports, module) {
var constants = require_constants();
var symbols = {
[constants.EQ]: "=",
[constants.LT]: "<",
[constants.LTE]: "<=",
[constants.GT]: ">",
[constants.GTE]: ">="
};
module.exports = class Comparator {
constructor(operator, version) {
this.operator = operator;
this.version = version;
}
test(version) {
const result = version.compare(this.version);
switch (this.operator) {
case constants.LT:
return result < 0;
case constants.LTE:
return result <= 0;
case constants.GT:
return result > 0;
case constants.GTE:
return result >= 0;
default:
return result === 0;
}
}
toString() {
return symbols[this.operator] + this.version;
}
};
}
});
// ../../node_modules/bare-semver/lib/range.js
var require_range = __commonJS({
"../../node_modules/bare-semver/lib/range.js"(exports, module) {
var constants = require_constants();
var errors = require_errors();
var Version = require_version();
var Comparator = require_comparator();
var Range = class {
constructor(comparators = []) {
this.comparators = comparators;
}
test(version) {
for (const set of this.comparators) {
let matches = true;
for (const comparator of set) {
if (comparator.test(version)) continue;
matches = false;
break;
}
if (matches) return true;
}
return false;
}
toString() {
let result = "";
let first = true;
for (const set of this.comparators) {
if (first) first = false;
else result += " || ";
result += set.join(" ");
}
return result;
}
};
module.exports = exports = Range;
exports.parse = function parse(input, state = { position: 0, partial: false }) {
let i = state.position;
let c;
const unexpected = (expected) => {
let msg;
if (i >= input.length) {
msg = `Unexpected end of input in '${input}'`;
} else {
msg = `Unexpected token '${input[i]}' in '${input}' at position ${i}`;
}
if (expected) msg += `, ${expected}`;
throw errors.INVALID_VERSION(msg, unexpected);
};
const comparators = [];
while (i < input.length) {
const set = [];
while (i < input.length) {
c = input[i];
let operator = constants.EQ;
if (c === "<") {
operator = constants.LT;
c = input[++i];
if (c === "=") {
operator = constants.LTE;
c = input[++i];
}
} else if (c === ">") {
operator = constants.GT;
c = input[++i];
if (c === "=") {
operator = constants.GTE;
c = input[++i];
}
} else if (c === "=") {
c = input[++i];
}
const state2 = { position: i, partial: true, range: true };
set.push(new Comparator(operator, Version.parse(input, state2)));
c = input[i = state2.position];
while (c === " ") c = input[++i];
if (c === "|" && input[i + 1] === "|") {
c = input[i += 2];
while (c === " ") c = input[++i];
break;
}
if (c && c !== "<" && c !== ">") unexpected("expected '||', '<', or '>'");
}
if (set.length) comparators.push(set);
}
if (i < input.length && state.partial === false) {
unexpected("expected end of input");
}
state.position = i;
return new Range(comparators);
};
}
});
// ../../node_modules/bare-semver/index.js
var require_bare_semver = __commonJS({
"../../node_modules/bare-semver/index.js"(exports) {
exports.constants = require_constants();
exports.errors = require_errors();
var Version = exports.Version = require_version();
var Range = exports.Range = require_range();
exports.Comparator = require_comparator();
exports.satisfies = function satisfies(version, range) {
if (typeof version === "string") version = Version.parse(version);
if (typeof range === "string") range = Range.parse(range);
return range.test(version);
};
}
});
// ../../node_modules/bare-module-resolve/lib/errors.js
var require_errors2 = __commonJS({
"../../node_modules/bare-module-resolve/lib/errors.js"(exports, module) {
module.exports = class ModuleResolveError extends Error {
constructor(msg, code, fn = ModuleResolveError) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "ModuleResolveError";
}
static INVALID_MODULE_SPECIFIER(msg) {
return new ModuleResolveError(
msg,
"INVALID_MODULE_SPECIFIER",
ModuleResolveError.INVALID_MODULE_SPECIFIER
);
}
static INVALID_PACKAGE_TARGET(msg) {
return new ModuleResolveError(
msg,
"INVALID_PACKAGE_TARGET",
ModuleResolveError.INVALID_PACKAGE_TARGET
);
}
static PACKAGE_PATH_NOT_EXPORTED(msg) {
return new ModuleResolveError(
msg,
"PACKAGE_PATH_NOT_EXPORTED",
ModuleResolveError.PACKAGE_PATH_NOT_EXPORTED
);
}
static PACKAGE_IMPORT_NOT_DEFINED(msg) {
return new ModuleResolveError(
msg,
"PACKAGE_IMPORT_NOT_DEFINED",
ModuleResolveError.PACKAGE_IMPORT_NOT_DEFINED
);
}
static UNSUPPORTED_ENGINE(msg) {
return new ModuleResolveError(msg, "UNSUPPORTED_ENGINE", ModuleResolveError.UNSUPPORTED_ENGINE);
}
};
}
});
// ../../node_modules/bare-module-resolve/index.js
var require_bare_module_resolve = __commonJS({
"../../node_modules/bare-module-resolve/index.js"(exports, module) {
var { satisfies } = require_bare_semver();
var errors = require_errors2();
module.exports = exports = function resolve(specifier, parentURL, opts, readPackage) {
if (typeof opts === "function") {
readPackage = opts;
opts = {};
} else if (typeof readPackage !== "function") {
readPackage = defaultReadPackage;
}
return {
*[Symbol.iterator]() {
const generator = exports.module(specifier, parentURL, opts);
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.package) {
next = generator.next(readPackage(value.package));
} else {
next = generator.next(yield value.resolution);
}
}
return next.value;
},
async *[Symbol.asyncIterator]() {
const generator = exports.module(specifier, parentURL, opts);
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.package) {
next = generator.next(await readPackage(value.package));
} else {
next = generator.next(yield value.resolution);
}
}
return next.value;
}
};
};
function defaultReadPackage() {
return null;
}
var UNRESOLVED = 0;
var YIELDED = 1;
var RESOLVED = YIELDED | 2;
exports.constants = {
UNRESOLVED,
YIELDED,
RESOLVED
};
exports.module = function* (specifier, parentURL, opts = {}) {
const { resolutions = null, imports = null } = opts;
if (exports.startsWithWindowsDriveLetter(specifier)) {
specifier = "/" + specifier;
}
let status;
if (resolutions) {
status = yield* exports.preresolved(specifier, resolutions, parentURL, opts);
if (status) return status;
}
status = yield* exports.url(specifier, parentURL, opts);
if (status) return status;
status = yield* exports.packageImports(specifier, parentURL, opts);
if (status) return status;
if (specifier === "." || specifier === ".." || specifier[0] === "/" || specifier[0] === "\\" || specifier.startsWith("./") || specifier.startsWith(".\\") || specifier.startsWith("../") || specifier.startsWith("..\\")) {
if (imports) {
status = yield* exports.packageImportsExports(specifier, imports, parentURL, true, opts);
if (status) return status;
}
status = yield* exports.deferred(specifier, opts);
if (status) return status;
status = yield* exports.file(specifier, parentURL, false, opts);
if (status === RESOLVED) return status;
return yield* exports.directory(specifier, parentURL, opts);
}
return yield* exports.package(specifier, parentURL, opts);
};
exports.url = function* (url, parentURL, opts = {}) {
const { imports = null, deferredProtocol = "deferred:", resolutions = null } = opts;
let resolution;
try {
resolution = new URL(url);
} catch {
return UNRESOLVED;
}
if (imports) {
const status = yield* exports.packageImportsExports(
resolution.href,
imports,
parentURL,
true,
opts
);
if (status) return status;
}
if (resolution.protocol === deferredProtocol) {
const specifier = resolution.pathname;
if (resolutions) {
const imports2 = resolutions[parentURL.href];
if (typeof imports2 === "object" && imports2 !== null) {
opts = {
...opts,
resolutions: { ...resolutions, [parentURL.href]: { ...imports2, [specifier]: null } }
};
}
}
return yield* exports.module(specifier, parentURL, opts);
}
if (resolution.protocol === "node:") {
const specifier = resolution.pathname;
if (specifier === "." || specifier === ".." || specifier[0] === "/" || specifier.startsWith("./") || specifier.startsWith("../")) {
throw errors.INVALID_MODULE_SPECIFIER(`Module specifier '${url}' is not a valid package name`);
}
return yield* exports.package(specifier, parentURL, opts);
}
const resolved = yield { resolution };
return resolved ? RESOLVED : YIELDED;
};
exports.preresolved = function* (specifier, resolutions, parentURL, opts = {}) {
const imports = resolutions[parentURL.href];
if (typeof imports === "object" && imports !== null) {
return yield* exports.packageImportsExports(specifier, imports, parentURL, true, opts);
}
return UNRESOLVED;
};
exports.deferred = function* (specifier, opts = {}) {
const { deferredProtocol = "deferred:", defer = [] } = opts;
if (defer.includes(specifier)) {
const resolved = yield { resolution: new URL(deferredProtocol + specifier) };
return resolved ? RESOLVED : YIELDED;
}
return UNRESOLVED;
};
exports.package = function* (packageSpecifier, parentURL, opts = {}) {
const { builtins = [] } = opts;
if (packageSpecifier === "") {
throw errors.INVALID_MODULE_SPECIFIER(
`Module specifier '${packageSpecifier}' is not a valid package name`
);
}
let packageName;
if (packageSpecifier[0] !== "@") {
packageName = packageSpecifier.split("/", 1).join();
} else {
if (!packageSpecifier.includes("/")) {
throw errors.INVALID_MODULE_SPECIFIER(
`Module specifier '${packageSpecifier}' is not a valid package name`
);
}
packageName = packageSpecifier.split("/", 2).join("/");
}
if (packageName[0] === "." || packageName.includes("\\") || packageName.includes("%")) {
throw errors.INVALID_MODULE_SPECIFIER(
`Module specifier '${packageSpecifier}' is not a valid package name`
);
}
let status;
status = yield* exports.builtinTarget(packageSpecifier, null, builtins, opts);
if (status) return status;
status = yield* exports.deferred(packageSpecifier, opts);
if (status) return status;
let packageSubpath = "." + packageSpecifier.substring(packageName.length);
status = yield* exports.packageSelf(packageName, packageSubpath, parentURL, opts);
if (status) return status;
parentURL = new URL(parentURL.href);
for (const packageURL of exports.lookupPackageRoot(packageName, parentURL)) {
const info = yield { package: packageURL };
if (info) {
if (info.engines) exports.validateEngines(packageURL, info.engines, opts);
if (info.exports) {
return yield* exports.packageExports(packageURL, packageSubpath, info.exports, opts);
}
if (packageSubpath === ".") {
if (typeof info.main === "string" && info.main !== "") {
packageSubpath = info.main;
} else {
return yield* exports.file("index", packageURL, true, opts);
}
}
status = yield* exports.file(packageSubpath, packageURL, false, opts);
if (status === RESOLVED) return status;
return yield* exports.directory(packageSubpath, packageURL, opts);
}
}
return UNRESOLVED;
};
exports.packageSelf = function* (packageName, packageSubpath, parentURL, opts = {}) {
for (const packageURL of exports.lookupPackageScope(parentURL, opts)) {
const info = yield { package: packageURL };
if (info) {
if (info.name !== packageName) return false;
if (info.exports) {
return yield* exports.packageExports(packageURL, packageSubpath, info.exports, opts);
}
if (packageSubpath === ".") {
if (typeof info.main === "string" && info.main !== "") {
packageSubpath = info.main;
} else {
return yield* exports.file("index", packageURL, true, opts);
}
}
const status = yield* exports.file(packageSubpath, packageURL, false, opts);
if (status === RESOLVED) return status;
return yield* exports.directory(packageSubpath, packageURL, opts);
}
}
return UNRESOLVED;
};
exports.packageExports = function* (packageURL, subpath, packageExports, opts = {}) {
if (subpath === ".") {
let mainExport;
if (typeof packageExports === "string" || Array.isArray(packageExports)) {
mainExport = packageExports;
} else if (typeof packageExports === "object" && packageExports !== null) {
const keys = Object.keys(packageExports);
if (keys.some((key) => key.startsWith("."))) {
if ("." in packageExports) mainExport = packageExports["."];
} else {
mainExport = packageExports;
}
}
if (mainExport) {
const status = yield* exports.packageTarget(packageURL, mainExport, null, false, opts);
if (status) return status;
}
} else if (typeof packageExports === "object" && packageExports !== null) {
const keys = Object.keys(packageExports);
if (keys.every((key) => key.startsWith("."))) {
const status = yield* exports.packageImportsExports(
subpath,
packageExports,
packageURL,
false,
opts
);
if (status) return status;
}
}
throw errors.PACKAGE_PATH_NOT_EXPORTED(
`Package subpath '${subpath}' is not defined by "exports" in '${packageURL}'`
);
};
exports.packageImports = function* (specifier, parentURL, opts = {}) {
const { imports = null } = opts;
if (specifier === "#" || specifier.startsWith("#/")) {
throw errors.INVALID_MODULE_SPECIFIER(
`Module specifier '${specifier}' is not a valid internal imports specifier`
);
}
for (const packageURL of exports.lookupPackageScope(parentURL, opts)) {
const info = yield { package: packageURL };
if (info) {
if (info.imports) {
const status = yield* exports.packageImportsExports(
specifier,
info.imports,
packageURL,
true,
opts
);
if (status) return status;
}
if (specifier.startsWith("#")) {
throw errors.PACKAGE_IMPORT_NOT_DEFINED(
`Package import specifier '${specifier}' is not defined by "imports" in '${packageURL}'`
);
}
break;
}
}
if (imports) {
const status = yield* exports.packageImportsExports(specifier, imports, parentURL, true, opts);
if (status) return status;
}
return UNRESOLVED;
};
exports.packageImportsExports = function* (matchKey, matchObject, packageURL, isImports, opts = {}) {
if (matchKey in matchObject && !matchKey.includes("*")) {
const target = matchObject[matchKey];
return yield* exports.packageTarget(packageURL, target, null, isImports, opts);
}
const expansionKeys = Object.keys(matchObject).filter((key) => key.includes("*")).sort(exports.patternKeyCompare);
for (const expansionKey of expansionKeys) {
const patternIndex = expansionKey.indexOf("*");
const patternBase = expansionKey.substring(0, patternIndex);
if (matchKey.startsWith(patternBase) && matchKey !== patternBase) {
const patternTrailer = expansionKey.substring(patternIndex + 1);
if (patternTrailer === "" || matchKey.endsWith(patternTrailer) && matchKey.length >= expansionKey.length) {
const target = matchObject[expansionKey];
const patternMatch = matchKey.substring(
patternBase.length,
matchKey.length - patternTrailer.length
);
return yield* exports.packageTarget(packageURL, target, patternMatch, isImports, opts);
}
}
}
return UNRESOLVED;
};
exports.validateEngines = function validateEngines(packageURL, packageEngines, opts = {}) {
const { engines = {} } = opts;
for (const [engine, range] of Object.entries(packageEngines)) {
if (engine in engines) {
const version = engines[engine];
if (!satisfies(version, range)) {
throw errors.UNSUPPORTED_ENGINE(
`Package not compatible with engine '${engine}' ${version}, requires range '${range}' defined by "engines" in '${packageURL}'`
);
}
}
}
};
exports.patternKeyCompare = function patternKeyCompare(keyA, keyB) {
const patternIndexA = keyA.indexOf("*");
const patternIndexB = keyB.indexOf("*");
const baseLengthA = patternIndexA === -1 ? keyA.length : patternIndexA + 1;
const baseLengthB = patternIndexB === -1 ? keyB.length : patternIndexB + 1;
if (baseLengthA > baseLengthB) return -1;
if (baseLengthB > baseLengthA) return 1;
if (patternIndexA === -1) return 1;
if (patternIndexB === -1) return -1;
if (keyA.length > keyB.length) return -1;
if (keyB.length > keyA.length) return 1;
return 0;
};
exports.packageTarget = function* (packageURL, target, patternMatch, isImports, opts = {}) {
const { conditions = [], matchedConditions = [] } = opts;
if (typeof target === "string") {
if (!target.startsWith("./") && !isImports) {
throw errors.INVALID_PACKAGE_TARGET(
`Invalid target '${target}' defined by "exports" in '${packageURL}'`
);
}
if (patternMatch !== null) {
target = target.replaceAll("*", patternMatch);
}
const status = yield* exports.url(target, packageURL, opts);
if (status) return status;
if (target === "." || target === ".." || target[0] === "/" || target.startsWith("./") || target.startsWith("../")) {
const resolved = yield { resolution: new URL(target, packageURL) };
return resolved ? RESOLVED : YIELDED;
}
return yield* exports.package(target, packageURL, opts);
}
if (Array.isArray(target)) {
for (const targetValue of target) {
const status = yield* exports.packageTarget(
packageURL,
targetValue,
patternMatch,
isImports,
opts
);
if (status) return status;
}
} else if (typeof target === "object" && target !== null) {
let status = UNRESOLVED;
for (const [condition, targetValue, subset] of exports.conditionMatches(
target,
conditions,
opts
)) {
matchedConditions.push(condition);
status |= yield* exports.packageTarget(packageURL, targetValue, patternMatch, isImports, {
...opts,
conditions: subset
});
matchedConditions.pop();
}
if (status) return status;
}
return UNRESOLVED;
};
exports.builtinTarget = function* (packageSpecifier, packageVersion, target, opts = {}) {
const { builtinProtocol = "builtin:", conditions = [], matchedConditions = [] } = opts;
if (typeof target === "string") {
const targetParts = target.split("@");
let targetName;
let targetVersion;
if (target[0] !== "@") {
targetName = targetParts[0];
targetVersion = targetParts[1] || null;
} else {
targetName = targetParts.slice(0, 2).join("@");
targetVersion = targetParts[2] || null;
}
if (packageSpecifier === targetName) {
if (packageVersion === null && targetVersion === null) {
const resolved = yield {
resolution: new URL(builtinProtocol + packageSpecifier)
};
return resolved ? RESOLVED : YIELDED;
}
let version = null;
if (packageVersion === null) {
version = targetVersion;
} else if (targetVersion === null || packageVersion === targetVersion) {
version = packageVersion;
}
if (version !== null) {
const resolved = yield {
resolution: new URL(builtinProtocol + packageSpecifier + "@" + version)
};
return resolved ? RESOLVED : YIELDED;
}
}
} else if (Array.isArray(target)) {
for (const targetValue of target) {
const status = yield* exports.builtinTarget(
packageSpecifier,
packageVersion,
targetValue,
opts
);
if (status) return status;
}
} else if (typeof target === "object" && target !== null) {
let status = UNRESOLVED;
for (const [condition, targetValue, subset] of exports.conditionMatches(
target,
conditions,
opts
)) {
matchedConditions.push(condition);
status |= yield* exports.builtinTarget(packageSpecifier, packageVersion, targetValue, {
...opts,
conditions: subset
});
matchedConditions.pop();
}
if (status) return status;
}
return UNRESOLVED;
};
exports.conditionMatches = function* conditionMatches(target, conditions, opts = {}) {
if (conditions.every((condition) => typeof condition === "string")) {
const keys = Object.keys(target);
for (const condition of keys) {
if (condition === "default" || conditions.includes(condition)) {
yield [condition, target[condition], conditions];
return true;
}
}
return false;
}
let yielded = false;
for (const subset of conditions) {
if (yield* conditionMatches(target, subset, opts)) {
yielded = true;
}
}
return yielded;
};
exports.lookupPackageRoot = function* (packageName, parentURL) {
parentURL = new URL(parentURL.href);
do {
const packageURL = new URL("node_modules/" + packageName + "/", parentURL);
const info = yield new URL("package.json", packageURL);
if (info) return info;
parentURL.pathname = parentURL.pathname.substring(0, parentURL.pathname.lastIndexOf("/"));
if (parentURL.pathname.length === 3 && exports.isWindowsDriveLetter(parentURL.pathname.substring(1))) {
break;
}
} while (parentURL.pathname !== "" && parentURL.pathname !== "/");
return null;
};
exports.lookupPackageScope = function* lookupPackageScope(scopeURL, opts = {}) {
const { resolutions = null } = opts;
if (resolutions) {
for (const { resolution } of exports.preresolved("#package", resolutions, scopeURL, opts)) {
if (resolution) return yield resolution;
}
}
scopeURL = new URL(scopeURL.href);
do {
if (scopeURL.pathname.endsWith("/node_modules")) break;
const info = yield new URL("package.json", scopeURL);
if (info) return info;
scopeURL.pathname = scopeURL.pathname.substring(0, scopeURL.pathname.lastIndexOf("/"));
if (scopeURL.pathname.length === 3 && exports.isWindowsDriveLetter(scopeURL.pathname.substring(1))) {
break;
}
} while (scopeURL.pathname !== "" && scopeURL.pathname !== "/");
return null;
};
exports.file = function* (filename, parentURL, isIndex, opts = {}) {
if (filename === "." || filename === ".." || filename[filename.length - 1] === "/" || filename[filename.length - 1] === "\\") {
return UNRESOLVED;
}
if (parentURL.protocol === "file:" && /%2f|%5c/i.test(filename)) {
throw errors.INVALID_MODULE_SPECIFIER(`Module specifier '${filename}' is invalid`);
}
const { extensions = [] } = opts;
let status = UNRESOLVED;
if (!isIndex) {
if (yield { resolution: new URL(filename, parentURL) }) {
return RESOLVED;
}
status = YIELDED;
}
for (const ext of extensions) {
if (filename.endsWith(ext)) continue;
if (yield { resolution: new URL(filename + ext, parentURL) }) {
return RESOLVED;
}
status = YIELDED;
}
return status;
};
exports.directory = function* (dirname, parentURL, opts = {}) {
let directoryURL;
if (dirname[dirname.length - 1] === "/" || dirname[dirname.length - 1] === "\\") {
directoryURL = new URL(dirname, parentURL);
} else {
directoryURL = new URL(dirname + "/", parentURL);
}
const info = yield { package: new URL("package.json", directoryURL) };
if (info) {
if (info.exports) {
return yield* exports.packageExports(directoryURL, ".", info.exports, opts);
}
if (typeof info.main === "string" && info.main !== "") {
const status = yield* exports.file(info.main, directoryURL, false, opts);
if (status === RESOLVED) return status;
return yield* exports.directory(info.main, directoryURL, opts);
}
}
return yield* exports.file("index", directoryURL, true, opts);
};
function isASCIIUpperAlpha(c) {
return c >= 65 && c <= 90;
}
function isASCIILowerAlpha(c) {
return c >= 97 && c <= 122;
}
function isASCIIAlpha(c) {
return isASCIIUpperAlpha(c) || isASCIILowerAlpha(c);
}
exports.isWindowsDriveLetter = function isWindowsDriveLetter(input) {
return input.length >= 2 && isASCIIAlpha(input.charCodeAt(0)) && (input.charCodeAt(1) === 58 || input.charCodeAt(1) === 124);
};
exports.startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(input) {
return input.length >= 2 && exports.isWindowsDriveLetter(input) && (input.length === 2 || input.charCodeAt(2) === 47 || input.charCodeAt(2) === 92 || input.charCodeAt(2) === 63 || input.charCodeAt(2) === 35);
};
}
});
// ../../node_modules/bare-addon-resolve/lib/errors.js
var require_errors3 = __commonJS({
"../../node_modules/bare-addon-resolve/lib/errors.js"(exports, module) {
module.exports = class AddonResolveError extends Error {
constructor(msg, code, fn = AddonResolveError) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "AddonResolveError";
}
static INVALID_ADDON_SPECIFIER(msg) {
return new AddonResolveError(
msg,
"INVALID_ADDON_SPECIFIER",
AddonResolveError.INVALID_ADDON_SPECIFIER
);
}
static INVALID_PACKAGE_NAME(msg) {
return new AddonResolveError(
msg,
"INVALID_PACKAGE_NAME",
AddonResolveError.INVALID_PACKAGE_NAME
);
}
};
}
});
// ../../node_modules/bare-addon-resolve/index.js
var require_bare_addon_resolve = __commonJS({
"../../node_modules/bare-addon-resolve/index.js"(exports, module) {
var resolve = require_bare_module_resolve();
var { Version } = require_bare_semver();
var errors = require_errors3();
module.exports = exports = function resolve2(specifier, parentURL, opts, readPackage) {
if (typeof opts === "function") {
readPackage = opts;
opts = {};
} else if (typeof readPackage !== "function") {
readPackage = defaultReadPackage;
}
return {
*[Symbol.iterator]() {
const generator = exports.addon(specifier, parentURL, opts);
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.package) {
next = generator.next(readPackage(value.package));
} else {
next = generator.next(yield value.resolution);
}
}
return next.value;
},
async *[Symbol.asyncIterator]() {
const generator = exports.addon(specifier, parentURL, opts);
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.package) {
next = generator.next(await readPackage(value.package));
} else {
next = generator.next(yield value.resolution);
}
}
return next.value;
}
};
};
function defaultReadPackage() {
return null;
}
var { UNRESOLVED, YIELDED, RESOLVED } = resolve.constants;
exports.constants = {
UNRESOLVED,
YIELDED,
RESOLVED
};
exports.addon = function* (specifier, parentURL, opts = {}) {
const { resolutions = null } = opts;
if (exports.startsWithWindowsDriveLetter(specifier)) {
specifier = "/" + specifier;
}
let status;
if (resolutions) {
status = yield* resolve.preresolved(specifier, resolutions, parentURL, opts);
if (status) return status;
}
status = yield* exports.url(specifier, parentURL, opts);
if (status) return status;
let version = null;
const i = specifier.lastIndexOf("@");
if (i > 0) {
version = specifier.substring(i + 1);
try {
Version.parse(version);
specifier = specifier.substring(0, i);
} catch {
version = null;
}
}
if (specifier === "." || specifier === ".." || specifier[0] === "/" || specifier[0] === "\\" || specifier.startsWith("./") || specifier.startsWith(".\\") || specifier.startsWith("../") || specifier.startsWith("..\\")) {
status = yield* exports.file(specifier, parentURL, opts);
if (status === RESOLVED) return status;
return yield* exports.directory(specifier, version, parentURL, opts);
}
return yield* exports.package(specifier, version, parentURL, opts);
};
exports.url = function* (url, parentURL, opts = {}) {
let resolution;
try {
resolution = new URL(url);
} catch {
return UNRESOLVED;
}
const resolved = yield { resolution };
return resolved ? RESOLVED : YIELDED;
};
exports.package = function* (packageSpecifier, packageVersion, parentURL, opts = {}) {
if (packageSpecifier === "") {
throw errors.INVALID_ADDON_SPECIFIER(
`Addon specifier '${packageSpecifier}' is not a valid package name`
);
}
let packageName;
if (packageSpecifier[0] !== "@") {
packageName = packageSpecifier.split("/", 1).join();
} else {
if (!packageSpecifier.includes("/")) {
throw errors.INVALID_ADDON_SPECIFIER(
`Addon specifier '${packageSpecifier}' is not a valid package name`
);
}
packageName = packageSpecifier.split("/", 2).join("/");
}
if (packageName[0] === "." || packageName.includes("\\") || packageName.includes("%")) {
throw errors.INVALID_ADDON_SPECIFIER(
`Addon specifier '${packageSpecifier}' is not a valid package name`
);
}
const packageSubpath = "." + packageSpecifier.substring(packageName.length);
const status = yield* exports.packageSelf(
packageName,
packageSubpath,
packageVersion,
parentURL,
opts
);
if (status) return status;
parentURL = new URL(parentURL.href);
do {
const packageURL = new URL("node_modules/" + packageName + "/", parentURL);
parentURL.pathname = parentURL.pathname.substring(0, parentURL.pathname.lastIndexOf("/"));
const info = yield { package: new URL("package.json", packageURL) };
if (info) {
return yield* exports.directory(packageSubpath, packageVersion, packageURL, opts);
}
} while (parentURL.pathname !== "" && parentURL.pathname !== "/");
return UNRESOLVED;
};
exports.packageSelf = function* (packageName, packageSubpath, packageVersion, parentURL, opts = {}) {
for (const packageURL of resolve.lookupPackageScope(parentURL, opts)) {
const info = yield { package: packageURL };
if (info) {
if (info.name === packageName) {
return yield* exports.directory(packageSubpath, packageVersion, packageURL, opts);
}
break;
}
}
return UNRESOLVED;
};
exports.lookupPrebuildsScope = function* lookupPrebuildsScope(url, opts = {}) {
const scopeURL = new URL(url.href);
do {
yield new URL("prebuilds/", scopeURL);
scopeURL.pathname = scopeURL.pathname.substring(0, scopeURL.pathname.lastIndexOf("/"));
if (scopeURL.pathname.length === 3 && exports.isWindowsDriveLetter(scopeURL.pathname.substring(1))) {
break;
}
} while (scopeURL.pathname !== "" && scopeURL.pathname !== "/");
};
exports.file = function* (filename, parentURL, opts = {}) {
if (filename === "." || filename === ".." || filename[filename.length - 1] === "/" || filename[filename.length - 1] === "\\") {
return UNRESOLVED;
}
if (parentURL.protocol === "file:" && /%2f|%5c/i.test(filename)) {
throw errors.INVALID_ADDON_SPECIFIER(`Addon specifier '${filename}' is invalid`);
}
const { extensions = [] } = opts;
let status = UNRESOLVED;
for (let ext of extensions) {
if (filename.endsWith(ext)) ext = "";
if (yield { resolution: new URL(filename + ext, parentURL) }) {
return RESOLVED;
}
status = YIELDED;
}
return status;
};
exports.directory = function* (dirname, version, parentURL, opts = {}) {
const {
host = null,
// Shorthand for single host resolution
hosts = host !== null ? [host] : [],
builtins = [],
matchedConditions = []
} = opts;
let directoryURL;
if (dirname[dirname.length - 1] === "/" || dirname[dirname.length - 1] === "\\") {
directoryURL = new URL(dirname, parentURL);
} else {
directoryURL = new URL(dirname + "/", parentURL);
}
const unversioned = version === null;
let name = null;
const info = yield { package: new URL("package.json", directoryURL) };
if (info) {
if (typeof info.name === "string" && info.name !== "") {
if (info.name.includes("__")) {
throw errors.INVALID_PACKAGE_NAME(`Package name '${info.name}' is invalid`);
}
name = info.name.replace(/\//g, "__").replace(/^@/, "");
} else {
return UNRESOLVED;
}
if (typeof info.version === "string" && info.version !== "") {
if (version !== null && info.version !== version) return UNRESOLVED;
version = info.version;
}
} else {
return UNRESOLVED;
}
let status;
status = yield* resolve.builtinTarget(name, version, builtins, opts);
if (status) return status;
for (const prebuildsURL of exports.lookupPrebuildsScope(directoryURL, opts)) {
status = UNRESOLVED;
for (const host2 of hosts) {
const conditions = host2.split("-");
const universal = supportsUniversalPrebuilds(host2) ? conditions.with(1, "universal").join("-") : null;
matchedConditions.push(...conditions);
if (version !== null) {
status |= yield* exports.file(host2 + "/" + name + "@" + version, prebuildsURL, opts);
if (universal) {
status |= yield* exports.file(universal + "/" + name + "@" + version, prebuildsURL, opts);
}
}
if (unversioned) {
status |= yield* exports.file(host2 + "/" + name, prebuildsURL, opts);
if (universal) {
status |= yield* exports.file(universal + "/" + name, prebuildsURL, opts);
}
}
for (const _ of conditions) matchedConditions.pop();
}
if (status === RESOLVED) return status;
}
return yield* exports.linked(name, version, opts);
};
exports.linked = function* (name, version = null, opts = {}) {
const {
linked = true,
host = null,
// Shorthand for single host resolution
hosts = host !== null ? [host] : [],
matchedConditions = []
} = opts;
if (linked === false || hosts.length === 0) return UNRESOLVED;
let status = UNRESOLVED;
for (const host2 of hosts) {
const [platform = null] = host2.split("-", 1);
if (platform === null) continue;
matchedConditions.push(platform);
status |= yield* platformArtefact(name, version, platform, opts);
matchedConditions.pop();
}
return status;
};
function* platformArtefact(name, version = null, platform, opts = {}) {
const { linkedProtocol = "linked:" } = opts;
if (platform === "darwin" || platform === "ios") {
if (version !== null) {
if (yield {
resolution: new URL(`${linkedProtocol}${name}.${version}.framework/${name}.${version}`)
}) {
return RESOLVED;
}
if (platform === "darwin") {
if (yield {
resolution: new URL(`${linkedProtocol}lib${name}.${version}.dylib`)
}) {
return RESOLVED;
}
}
}
if (yield {
resolution: new URL(`${linkedProtocol}${name}.framework/${name}`)
}) {
return RESOLVED;
}
if (platform === "darwin") {
if (yield {
resolution: new URL(`${linkedProtocol}lib${name}.dylib`)
}) {
return RESOLVED;
}
}
return YIELDED;
}
if (platform === "linux" || platform === "android") {
if (version !== null) {
if (yield {
resolution: new URL(`${linkedProtocol}lib${name}.${version}.so`)
}) {
return RESOLVED;
}
}
if (yield {
resolution: new URL(`${linkedProtocol}lib${name}.so`)
}) {
return RESOLVED;
}
return YIELDED;
}
if (platform === "win32") {
if (version !== null) {
if (yield {
resolution: new URL(`${linkedProtocol}${name}-${version}.dll`)
}) {
return RESOLVED;
}
}
if (yield {
resolution: new URL(`${linkedProtocol}${name}.dll`)
}) {
return RESOLVED;
}
}
return UNRESOLVED;
}
exports.isWindowsDriveLetter = resolve.isWindowsDriveLetter;
exports.startsWithWindowsDriveLetter = resolve.startsWithWindowsDriveLetter;
function supportsUniversalPrebuilds(host) {
return host === "darwin-arm64" || host === "darwin-x64" || host === "ios-arm64-simulator" || host === "ios-x64-simulator";
}
}
});
// ../../node_modules/require-addon/lib/node.js
var require_node = __commonJS({
"../../node_modules/require-addon/lib/node.js"(exports, module) {
if (typeof __require.addon === "function") {
module.exports = __require.addon.bind(__require);
} else {
let readPackage2 = function(packageURL) {
try {
return __require(url.fileURLToPath(packageURL));
} catch (err) {
return null;
}
}, isAlpine2 = function() {
return process.platform === "linux" && fs.existsSync("/etc/alpine-release");
};
readPackage = readPackage2, isAlpine = isAlpine2;
const url = __require("url");
const fs = __require("fs");
const resolve = require_bare_addon_resolve();
let host = process.platform + "-" + process.arch;
const conditions = ["addon", "node", process.platform, process.arch];
const extensions = [".node"];
if (isAlpine2()) {
host += "-musl";
conditions.push("musl");
}
module.exports = function addon(specifier, parentURL) {
if (typeof parentURL === "string") parentURL = url.pathToFileURL(parentURL);
const candidates = [];
let cause;
for (const resolution of resolve(
specifier,
parentURL,
{ host, conditions, extensions },
readPackage2
)) {
candidates.push(resolution);
switch (resolution.protocol) {
case "file:":
try {
return __require(url.fileURLToPath(resolution));
} catch (err2) {
cause = err2;
continue;
}
}
}
let message = `Cannot find addon '${specifier}' imported from '${parentURL.href}'`;
if (candidates.length > 0) {
message += "\nCandidates:";
message += "\n" + candidates.map((url2) => "- " + url2.href).join("\n");
}
const err = new Error(message, cause ? { cause } : {});
err.code = "ADDON_NOT_FOUND";
err.specifier = specifier;
err.referrer = parentURL;
err.candidates = candidates;
throw err;
};
}
var readPackage;
var isAlpine;
}
});
// ../../node_modules/bare-module-lexer/lib/binding/node.js
var require_node2 = __commonJS({
"../../node_modules/bare-module-lexer/lib/binding/node.js"(exports, module) {
__require.addon = require_node();
module.exports = __require.addon("../..", __filename);
}
});
// ../../node_modules/bare-module-lexer/index.js
var require_bare_module_lexer = __commonJS({
"../../node_modules/bare-module-lexer/index.js"(exports, module) {
var binding = require_node2();
module.exports = exports = function lex(input, encoding, opts = {}) {
if (typeof encoding === "object" && encoding !== null) {
opts = encoding;
encoding = null;
}
if (typeof input !== "string" && !ArrayBuffer.isView(input)) {
throw new TypeError(
`Input must be a string or buffer. Received type ${typeof input}`
);
}
return binding.lex(
typeof input === "string" ? Buffer.from(input, encoding) : input
);
};
exports.constants = {
/**
* CommonJS `require()`.
*/
REQUIRE: binding.REQUIRE,
/**
* ES module `import`.
*/
IMPORT: binding.IMPORT,
/**
* ES module `import()` if `IMPORT` is set.
*/
DYNAMIC: binding.DYNAMIC,
/**
* CommonJS `require.addon()` if `REQUIRE` is set, or ES module `import.meta.addon()` if `IMPORT` is set.
*/
ADDON: binding.ADDON,
/**
* CommonJS `require.asset()` if `REQUIRE` is set, or ES module `import.meta.asset()` if `IMPORT` is set.
*/
ASSET: binding.ASSET,
/**
* CommonJS `require.resolve()` or `require.addon.resolve()` if `REQUIRE` and optionally `ADDON` are set, or ES module
* `import.meta.resolve()` or `import.meta.addon.resolve()` if `IMPORT` and optionally `ADDON` are set.
*/
RESOLVE: binding.RESOLVE,
/**
* Re-export of a CommonJS `require()` if `REQUIRE` is set.
*/
REEXPORT: binding.REEXPORT
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/default.js
var require_default = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/default.js"(exports, module) {
var lex = require_bare_module_lexer();
var resolve = require_resolve();
module.exports = function(entry, parentURL, opts) {
if (entry.type & lex.constants.ADDON) {
return resolve.addon(entry.specifier || ".", parentURL, opts);
}
return resolve.module(entry.specifier, parentURL, opts);
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/runtime/node.js
var require_node3 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/runtime/node.js"(exports) {
exports.platform = process.platform;
exports.arch = process.arch;
exports.simulator = false;
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/runtime.js
var require_runtime = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/runtime.js"(exports, module) {
module.exports = require_node3();
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/bare.js
var require_bare = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/bare.js"(exports, module) {
var lex = require_bare_module_lexer();
var resolve = require_resolve();
var runtime = require_runtime();
module.exports = function(entry, parentURL, opts = {}) {
if (opts.target) {
const { target, ...rest } = opts;
rest.hosts = target;
opts = rest;
}
const {
linked = false,
platform = runtime.platform,
arch = runtime.arch,
simulator = runtime.simulator,
host = `${platform}-${arch}${simulator ? "-simulator" : ""}`,
hosts = [host]
} = opts;
let extensions;
let conditions = hosts.map((host2) => ["bare", "node", ...host2.split("-")]);
if (entry.type & lex.constants.ADDON) {
extensions = linked ? [] : [".bare", ".node"];
conditions = conditions.map((conditions2) => ["addon", ...conditions2]);
return resolve.addon(entry.specifier || ".", parentURL, {
extensions,
conditions,
hosts,
linked,
...opts
});
}
if (entry.type & lex.constants.ASSET) {
conditions = conditions.map((conditions2) => ["asset", ...conditions2]);
} else {
extensions = [".js", ".cjs", ".mjs", ".json", ".bare", ".node"];
if (entry.type & lex.constants.REQUIRE) {
conditions = conditions.map((conditions2) => ["require", ...conditions2]);
} else if (entry.type & lex.constants.IMPORT) {
conditions = conditions.map((conditions2) => ["import", ...conditions2]);
}
}
return resolve.module(entry.specifier, parentURL, {
extensions,
conditions,
...opts
});
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/node.js
var require_node4 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve/node.js"(exports, module) {
var lex = require_bare_module_lexer();
var resolve = require_resolve();
var runtime = require_runtime();
module.exports = function(entry, parentURL, opts = {}) {
if (opts.target) {
const { target, ...rest } = opts;
rest.hosts = target;
opts = rest;
}
const {
platform = runtime.platform,
arch = runtime.arch,
simulator = runtime.simulator,
host = `${platform}-${arch}${simulator ? "-simulator" : ""}`,
hosts = [host]
} = opts;
let extensions;
let conditions;
if (entry.type & lex.constants.ADDON) {
extensions = [".node"];
conditions = hosts.map((host2) => ["node", "addon", ...host2.split("-")]);
return resolve.addon(entry.specifier || ".", parentURL, {
extensions,
conditions,
hosts,
...opts
});
}
if (entry.type & lex.constants.ASSET) {
conditions = ["node", "asset"];
} else if (entry.type & lex.constants.REQUIRE) {
extensions = [".js", ".json", ".node"];
conditions = ["node", "require"];
} else if (entry.type & lex.constants.IMPORT) {
conditions = ["node", "import"];
} else {
conditions = ["node"];
}
return resolve.module(entry.specifier, parentURL, {
extensions,
conditions,
...opts
});
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve.js
var require_resolve = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/resolve.js"(exports) {
exports.module = require_bare_module_resolve().module;
exports.addon = require_bare_addon_resolve().addon;
exports.default = require_default();
exports.bare = require_bare();
exports.node = require_node4();
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/errors.js
var require_errors4 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/lib/errors.js"(exports, module) {
module.exports = class ModuleTraverseError extends Error {
constructor(msg, fn = ModuleTraverseError, code = fn.name) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "ModuleTraverseError";
}
static MODULE_NOT_FOUND(msg, specifier, referrer = null, candidates = []) {
const err = new ModuleTraverseError(msg, ModuleTraverseError.MODULE_NOT_FOUND);
err.specifier = specifier;
err.referrer = referrer;
err.candidates = candidates;
return err;
}
static ADDON_NOT_FOUND(msg, specifier, referrer = null, candidates = []) {
const err = new ModuleTraverseError(msg, ModuleTraverseError.ADDON_NOT_FOUND);
err.specifier = specifier;
err.referrer = referrer;
err.candidates = candidates;
return err;
}
static ASSET_NOT_FOUND(msg, specifier, referrer = null, candidates = []) {
const err = new ModuleTraverseError(msg, ModuleTraverseError.ASSET_NOT_FOUND);
err.specifier = specifier;
err.referrer = referrer;
err.candidates = candidates;
return err;
}
static INVALID_IMPORTS_MAP(msg) {
return new ModuleTraverseError(msg, ModuleTraverseError.INVALID_IMPORTS_MAP);
}
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/index.js
var require_bare_module_traverse = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module-traverse/index.js"(exports, module) {
var { lookupPackageScope, conditionMatches } = require_bare_module_resolve();
var lex = require_bare_module_lexer();
var resolve = require_resolve();
var errors = require_errors4();
var constants = {
SCRIPT: 1,
MODULE: 2,
JSON: 3,
BUNDLE: 4,
ADDON: 5,
BINARY: 6,
TEXT: 7,
ASSET: 8
};
module.exports = exports = function traverse(entry, opts, readModule, listPrefix) {
if (typeof opts === "function") {
listPrefix = readModule;
readModule = opts;
opts = {};
}
return {
*[Symbol.iterator]() {
const artifacts = { addons: [], assets: [] };
const queue = [exports.module(entry, null, {}, artifacts, /* @__PURE__ */ new Set(), opts)];
while (queue.length > 0) {
const generator = queue.pop();
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.module) {
next = generator.next(readModule(value.module));
} else if (value.prefix) {
const result = [];
if (typeof listPrefix === "function") {
for (const url of listPrefix(value.prefix)) {
result.push(url);
}
} else {
if (readModule(value.prefix) !== null) {
result.push(value.prefix);
}
}
next = generator.next(result);
} else {
if (value.children) queue.push(value.children);
else yield value.dependency;
next = generator.next();
}
}
}
return artifacts;
},
async *[Symbol.asyncIterator]() {
const artifacts = { addons: [], assets: [] };
const queue = [exports.module(entry, null, {}, artifacts, /* @__PURE__ */ new Set(), opts)];
while (queue.length > 0) {
const generator = queue.pop();
let next = generator.next();
while (next.done !== true) {
const value = next.value;
if (value.module) {
next = generator.next(await readModule(value.module));
} else if (value.prefix) {
const result = [];
if (typeof listPrefix === "function") {
for await (const url of listPrefix(value.prefix)) {
result.push(url);
}
} else {
if (await readModule(value.prefix) !== null) {
result.push(value.prefix);
}
}
next = generator.next(result);
} else {
if (value.children) queue.push(value.children);
else yield value.dependency;
next = generator.next();
}
}
}
return artifacts;
}
};
};
exports.constants = constants;
exports.resolve = resolve;
exports.module = function* (url, source, attributes, artifacts, visited, opts = {}) {
const { resolutions = null, defaultType = constants.SCRIPT } = opts;
if (visited.has(url.href)) return false;
if (source === null) {
source = yield { module: url };
if (source === null) {
throw errors.MODULE_NOT_FOUND(`Cannot find module '${url.href}'`, url.href);
}
}
visited.add(url.href);
if (resolutions) {
if (yield* exports.preresolved(url, source, resolutions, artifacts, visited, opts)) {
return true;
}
}
attributes = attributes || {};
const imports = {};
let info = null;
for (const packageURL of lookupPackageScope(url, opts)) {
const source2 = yield { module: packageURL };
if (source2 !== null) {
info = JSON.parse(source2);
imports["#package"] = packageURL.href;
yield {
children: exports.package(packageURL, source2, artifacts, visited, opts)
};
break;
}
}
if (typeof attributes.imports === "string") {
const url2 = new URL(attributes.imports);
const source2 = yield { module: url2 };
if (source2 !== null) {
opts = {
...opts,
imports: mixinImports(opts.imports, JSON.parse(source2), url2)
};
}
}
let type = 0;
if (typeof attributes.type === "string") {
switch (attributes.type) {
case "script":
type = constants.SCRIPT;
break;
case "module":
type = constants.MODULE;
break;
case "json":
type = constants.JSON;
break;
case "bundle":
type = constants.BUNDLE;
break;
case "addon":
type = constants.ADDON;
break;
case "binary":
type = constants.BINARY;
break;
case "text":
type = constants.TEXT;
break;
}
} else {
const match = url.pathname.match(/\.[a-z]+$/);
if (match !== null) {
const [extension] = match;
switch (extension) {
case ".js":
const isESM = defaultType === constants.MODULE || info !== null && info.type === "module";
type = isESM ? constants.MODULE : constants.SCRIPT;
break;
case ".cjs":
type = constants.SCRIPT;
break;
case ".mjs":
type = constants.MODULE;
break;
case ".json":
type = constants.JSON;
break;
case ".bundle":
type = constants.BUNDLE;
break;
case ".bare":
case ".node":
type = constants.ADDON;
break;
case ".bin":
type = constants.BINARY;
break;
case ".txt":
type = constants.TEXT;
break;
}
}
}
const lexer = { imports: [] };
if (type === constants.SCRIPT || type === constants.MODULE) {
yield* exports.imports(url, source, imports, artifacts, lexer, visited, opts);
} else if (type === constants.ADDON) {
yield* exports.addons(url, artifacts, visited, opts);
}
yield {
dependency: { url, source, imports: compressImportsMap(imports), lexer }
};
return true;
};
exports.package = function* (url, source, artifacts, visited, opts = {}) {
if (visited.has(url.href)) return false;
if (source === null) {
source = yield { module: url };
if (source === null) return false;
}
visited.add(url.href);
const info = JSON.parse(source);
if (info) {
yield { dependency: { url, source, imports: {}, lexer: { imports: [] } } };
if (info.assets) {
yield {
children: exports.assets(info.assets, url, artifacts, visited, opts)
};
}
return true;
}
return false;
};
exports.preresolved = function* (url, source, resolutions, artifacts, visited, opts = {}) {
const {
builtinProtocol = "builtin:",
linkedProtocol = "linked:",
deferredProtocol = "deferred:"
} = opts;
const imports = resolutions[url.href];
if (typeof imports !== "object" || imports === null) return false;
for (const [specifier, entry] of Object.entries(imports)) {
const stack = [entry];
while (stack.length > 0) {
const entry2 = stack.pop();
if (typeof entry2 === "string") {
const url2 = new URL(entry2);
if (specifier === "#package") {
yield {
children: exports.package(url2, null, artifacts, visited, opts)
};
} else if (url2.protocol !== builtinProtocol && url2.protocol !== linkedProtocol && url2.protocol !== deferredProtocol) {
yield {
children: exports.module(url2, null, {}, artifacts, visited, opts)
};
}
} else {
stack.unshift(...Object.values(entry2));
}
}
}
yield {
dependency: {
url,
source,
imports: compressImportsMap(imports),
lexer: { imports: [] }
}
};
return true;
};
exports.imports = function* (parentURL, source, imports, artifacts, lexer, visited, opts = {}) {
if (opts.target) opts = { ...opts, hosts: opts.target };
const {
resolve: resolve2 = exports.resolve.default,
builtinProtocol = "builtin:",
linkedProtocol = "linked:",
deferredProtocol = "deferred:",
matchedConditions = []
} = opts;
let yielded = false;
const queue = [];
for (const entry of lex(source).imports) {
let specifier = entry.specifier;
let condition = "default";
if (entry.type & lex.constants.ADDON) {
specifier = specifier || ".";
condition = "addon";
} else if (entry.type & lex.constants.ASSET) {
condition = "asset";
}
if (entry.attributes.imports) {
const specifier2 = entry.attributes.imports;
queue.push({
entry: {
type: 0,
specifier: specifier2,
names: [],
attributes: {},
position: [0, 0, 0]
},
specifier: specifier2,
condition: "default"
});
}
lexer.imports.push(entry);
queue.push({ entry, specifier, condition });
}
while (queue.length > 0) {
const { entry, specifier, condition } = queue.shift();
matchedConditions.push(condition);
const resolver = resolve2(entry, parentURL, { ...opts, matchedConditions });
const candidates = [];
let next = resolver.next();
let resolutions = 0;
while (next.done !== true) {
const value = next.value;
if (value.package) {
next = resolver.next(JSON.parse(yield { module: value.package }));
} else {
const url = value.resolution;
candidates.push(url);
let resolved = false;
if (url.protocol === builtinProtocol || url.protocol === linkedProtocol || url.protocol === deferredProtocol) {
addResolution(imports, specifier, matchedConditions, url);
resolved = yielded = true;
} else if (condition === "asset") {
const prefix = url;
for (const url2 of yield { prefix }) {
yield {
children: exports.module(url2, null, {}, artifacts, visited, opts)
};
addURL(artifacts.assets, url2);
resolved = yielded = true;
}
if (resolved) addResolution(imports, specifier, matchedConditions, url);
} else {
const source2 = yield { module: url };
if (source2 !== null) {
addResolution(imports, specifier, matchedConditions, url);
let attributes = entry.attributes;
if (attributes.imports) {
attributes = { ...attributes, imports: imports[attributes.imports].default };
}
yield {
children: exports.module(url, source2, attributes, artifacts, visited, opts)
};
resolved = yielded = true;
}
}
if (resolved) {
if (condition === "addon") addURL(artifacts.addons, url);
resolutions++;
}
next = resolver.next(resolved);
}
}
matchedConditions.pop();
if (resolutions === 0) {
let message = `Cannot find ${condition === "default" ? "module" : condition} '${specifier}' imported from '${parentURL.href}'`;
if (candidates.length > 0) {
message += "\nCandidates:";
message += "\n" + candidates.map((url) => "- " + url.href).join("\n");
}
switch (condition) {
case "addon":
throw errors.ADDON_NOT_FOUND(message, specifier, parentURL, candidates);
case "asset":
throw errors.ASSET_NOT_FOUND(message, specifier, parentURL, candidates);
default:
throw errors.MODULE_NOT_FOUND(message, specifier, parentURL, candidates);
}
}
}
return yielded;
};
var ADDON_EXTENSION = /\.(bare|node)$/;
exports.addons = function* (parentURL, artifacts, visited, opts = {}) {
let yielded = false;
if (ADDON_EXTENSION.test(parentURL.pathname)) {
const prefix = new URL(parentURL);
prefix.pathname = prefix.pathname.replace(ADDON_EXTENSION, "") + "/";
for (const url of yield { prefix }) {
yield {
children: exports.module(url, null, {}, artifacts, visited, opts)
};
addURL(artifacts.addons, url);
yielded = true;
}
}
return yielded;
};
exports.assets = function* (patterns, parentURL, artifacts, visited, opts = {}) {
const matches = yield* exports.patternMatches(patterns, parentURL, [], opts);
let yielded = false;
for (const url of matches) {
const source = yield { module: url };
if (source !== null) {
addURL(artifacts.assets, url);
yield {
children: exports.module(url, source, {}, artifacts, visited, opts)
};
yielded = true;
}
}
return yielded;
};
exports.patternMatches = function* patternMatches(pattern, parentURL, matches, opts = {}) {
const { conditions = [], matchedConditions = [] } = opts;
if (typeof pattern === "string") {
let patternNegate = false;
let patternBase;
let patternTrailer;
if (pattern[0] === "!") {
pattern = pattern.substring(1);
patternNegate = true;
}
const patternIndex = pattern.indexOf("*");
if (patternIndex === -1) {
patternBase = pattern;
patternTrailer = "";
} else {
patternBase = pattern.substring(0, patternIndex);
patternTrailer = pattern.substring(patternIndex + 1);
}
const prefix = new URL(patternBase, parentURL);
for (const url of yield { prefix }) {
if (patternIndex === -1) {
if (patternNegate) removeURL(matches, url);
else addURL(matches, url);
} else if (patternTrailer === "" || url.href.endsWith(patternTrailer)) {
addURL(matches, url);
} else if (patternNegate) {
removeURL(matches, url);
}
}
} else if (Array.isArray(pattern)) {
for (const patternValue of pattern) {
yield* patternMatches(patternValue, parentURL, matches, opts);
}
} else if (typeof pattern === "object" && pattern !== null) {
let yielded = false;
for (const [condition, patternValue, subset] of conditionMatches(pattern, conditions, opts)) {
matchedConditions.push(condition);
if (yield* patternMatches(patternValue, parentURL, matches, {
...opts,
conditions: subset
})) {
yielded = true;
}
matchedConditions.pop();
}
if (yielded) return true;
}
return matches;
};
function addURL(array, url) {
let lo = 0;
let hi = array.length - 1;
while (lo <= hi) {
const mid = lo + (hi - lo >> 1);
const found = array[mid];
if (found.href === url.href) return;
if (found.href < url.href) {
lo = mid + 1;
} else {
hi = mid - 1;
}
}
array.splice(lo, 0, url);
}
function removeURL(array, url) {
let lo = 0;
let hi = array.length - 1;
while (lo <= hi) {
const mid = lo + (hi - lo >> 1);
const found = array[mid];
if (found.href === url.href) break;
if (found.href < url.href) {
lo = mid + 1;
} else {
hi = mid - 1;
}
}
if (array[lo].href === url.href) array.splice(lo, 1);
}
function addResolution(imports, specifier, conditions, url) {
imports[specifier] = imports[specifier] || {};
let current = imports[specifier];
for (let i = 0, n = conditions.length - 1; i < n; i++) {
const key = conditions[i];
if (key in current === false) {
current[key] = {};
} else if (typeof current[key] !== "object") {
current[key] = { default: current[key] };
}
current = current[key];
}
const last = conditions[conditions.length - 1];
current[last] = url.href;
if ("default" in current) {
const value = current.default;
delete current.default;
current.default = value;
}
}
function compressImportsMap(imports) {
const entries = [];
for (const entry of Object.entries(imports)) {
entry[1] = compressImportsMapEntry(entry[1]);
entries.push(entry);
}
return Object.fromEntries(entries);
}
function compressImportsMapEntry(resolved) {
if (typeof resolved === "string") return resolved;
let entries = [];
let primary = null;
for (const entry of Object.entries(resolved)) {
entry[1] = compressImportsMapEntry(entry[1]);
entries.push(entry);
if (entry[0] === "default") primary = entry[1];
}
entries = entries.filter(
([condition, resolved2]) => condition === "default" || resolved2 !== primary
);
if (entries.length === 1) return entries[0][1];
return Object.fromEntries(entries);
}
function mixinImports(target, imports, url) {
if (typeof imports === "object" && imports !== null && "imports" in imports) {
imports = imports.imports;
}
if (typeof imports !== "object" || imports === null) {
throw errors.INVALID_IMPORTS_MAP(`Imports map at '${url.href}' is not valid`);
}
return { ...target, ...imports };
}
}
});
// ../../node_modules/bare-bundle/lib/errors.js
var require_errors5 = __commonJS({
"../../node_modules/bare-bundle/lib/errors.js"(exports, module) {
module.exports = class BundleError extends Error {
constructor(msg, fn = BundleError, opts = {}) {
const { cause, code = fn.name } = opts;
super(`${code}: ${msg}`, { cause });
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "BundleError";
}
static INVALID_BUNDLE_HEADER(msg, cause) {
return new BundleError(msg, BundleError.INVALID_BUNDLE_HEADER, { cause });
}
};
}
});
// ../../node_modules/bare-bundle/index.js
var require_bare_bundle = __commonJS({
"../../node_modules/bare-bundle/index.js"(exports, module) {
var errors = require_errors5();
var kind = Symbol.for("bare.bundle.kind");
var MemoryFile = class _MemoryFile {
constructor(data, opts = {}) {
const { executable = false, mode = executable ? 493 : 420 } = opts;
this._data = typeof data === "string" ? Buffer.from(data) : data;
this._mode = mode;
}
size() {
return this._data.byteLength;
}
mode() {
return this._mode;
}
read() {
return this._data;
}
inspect() {
return {
__proto__: { constructor: _MemoryFile },
data: this._data,
mode: this._mode.toString(8)
};
}
[Symbol.for("bare.inspect")]() {
return this.inspect();
}
[Symbol.for("nodejs.util.inspect.custom")]() {
return this.inspect();
}
};
module.exports = exports = class Bundle2 {
static get [kind]() {
return 0;
}
static get version() {
return 0;
}
constructor(opts = {}) {
const { File = MemoryFile } = opts;
this._File = File;
this._id = null;
this._main = null;
this._imports = {};
this._resolutions = {};
this._addons = [];
this._assets = [];
this._files = /* @__PURE__ */ new Map();
}
get [kind]() {
return Bundle2[kind];
}
get version() {
return Bundle2.version;
}
get id() {
return this._id;
}
set id(value) {
if (typeof value !== "string" && value !== null) {
throw new TypeError(`ID must be a string or null. Received type ${typeof value} (${value})`);
}
this._id = value;
}
get main() {
return this._main;
}
set main(value) {
if (typeof value !== "string" && value !== null) {
throw new TypeError(`Main must be a string or null. Received type ${typeof value} (${value})`);
}
this._main = value;
}
get imports() {
return this._imports;
}
set imports(value) {
this._imports = cloneImportsMap(value);
}
get resolutions() {
return this._resolutions;
}
set resolutions(value) {
this._resolutions = cloneResolutionsMap(value);
}
get addons() {
return this._addons;
}
set addons(value) {
this._addons = cloneFilesList(value, "Addons");
}
get assets() {
return this._assets;
}
set assets(value) {
this._assets = cloneFilesList(value, "Assets");
}
get files() {
return Object.fromEntries(this._files.entries());
}
*[Symbol.iterator]() {
for (const [key, file] of this._files) {
yield [key, file.read(), file.mode()];
}
}
empty() {
return this._files.size === 0;
}
keys() {
return this._files.keys();
}
exists(key) {
return this._files.has(key);
}
size(key) {
const file = this._files.get(key) || null;
if (file === null) return 0;
return file.size();
}
mode(key) {
const file = this._files.get(key) || null;
if (file === null) return 0;
return file.mode();
}
read(key) {
const file = this._files.get(key) || null;
if (file === null) return null;
return file.read();
}
write(key, data, opts = {}) {
if (typeof key !== "string") {
throw new TypeError(`File path must be a string. Received type ${typeof key} (${key})`);
}
const { main = false, alias = null, imports = null, addon = false, asset = false } = opts;
this._files.set(key, new MemoryFile(data, opts));
if (main) this._main = key;
if (alias) this._imports[alias] = key;
if (imports) this._resolutions[key] = cloneImportsMap(imports);
if (addon) this._addons.push(key);
if (asset) this._assets.push(key);
return this;
}
mount(root, opts = {}) {
const bundle = new Bundle2();
bundle._File = this._File;
bundle._id = this._id;
if (this._main) bundle._main = mountSpecifier(this._main, root);
bundle._imports = transformImportsMap(this._imports, root, null, opts, mountSpecifier);
bundle._resolutions = transformResolutionsMap(this._resolutions, root, opts, mountSpecifier);
for (const [key, file] of this._files) {
bundle._files.set(mountSpecifier(key, root), file);
}
bundle._addons = transformFilesList(this._addons, root, mountSpecifier);
bundle._assets = transformFilesList(this._assets, root, mountSpecifier);
return bundle;
}
unmount(root, opts = {}) {
const bundle = new Bundle2();
bundle._File = this._File;
bundle._id = this._id;
if (this._main) bundle._main = unmountSpecifier(this._main, root);
bundle._imports = transformImportsMap(this._imports, root, null, opts, unmountSpecifier);
bundle._resolutions = transformResolutionsMap(this._resolutions, root, opts, unmountSpecifier);
for (const [key, file] of this._files) {
bundle._files.set(unmountSpecifier(key, root), file);
}
bundle._addons = transformFilesList(this._addons, root, unmountSpecifier);
bundle._assets = transformFilesList(this._assets, root, unmountSpecifier);
return bundle;
}
toBuffer(opts = {}) {
const { indent = 0, shared = false } = opts;
const header = {
version: Bundle2.version,
id: this._id,
main: this._main,
imports: cloneImportsMap(this._imports),
resolutions: cloneResolutionsMap(this._resolutions),
addons: cloneFilesList(this._addons, "Addons"),
assets: cloneFilesList(this._assets, "Assets"),
files: {}
};
const keys = [...this._files.keys()].sort();
let offset = 0;
for (const key of keys) {
const length2 = this.size(key);
header.files[key] = { offset, length: length2, mode: this.mode(key) };
offset += length2;
}
const json = Buffer.from(`
${JSON.stringify(header, null, indent)}
`);
const length = Buffer.from(json.byteLength.toString(10));
const total = length.byteLength + json.byteLength + offset;
const storage = shared ? new SharedArrayBuffer(total) : new ArrayBuffer(total);
const buffer = Buffer.from(storage);
offset = 0;
buffer.set(length, offset);
offset += length.byteLength;
buffer.set(json, offset);
offset += json.byteLength;
for (const key of keys) {
buffer.set(this.read(key), offset);
offset += this.size(key);
}
return buffer;
}
inspect() {
return {
__proto__: { constructor: Bundle2 },
version: this.version,
id: this.id,
main: this.main,
imports: this.imports,
resolutions: this.resolutions,
addons: this.addons,
assets: this.assets,
files: this.files
};
}
[Symbol.for("bare.inspect")]() {
return this.inspect();
}
[Symbol.for("nodejs.util.inspect.custom")]() {
return this.inspect();
}
};
var Bundle = exports;
exports.errors = errors;
exports.isBundle = function isBundle(value) {
if (value instanceof Bundle) return true;
return typeof value === "object" && value !== null && value[kind] === Bundle[kind];
};
exports.from = function from(value) {
if (typeof value === "string") return fromString(value);
if (Buffer.isBuffer(value)) return fromBuffer(value);
return value;
};
function fromString(string) {
return fromBuffer(Buffer.from(string));
}
function fromBuffer(buffer) {
if (buffer[0] === 35 && buffer[1] === 33) {
let end2 = 2;
while (buffer[end2] !== 10) end2++;
buffer = buffer.subarray(end2 + 1);
}
let end = 0;
while (isDecimal(buffer[end])) end++;
const len = parseInt(buffer.toString("utf8", 0, end), 10);
let header;
try {
header = JSON.parse(buffer.toString("utf8", end, end + len));
} catch (err) {
throw errors.INVALID_BUNDLE_HEADER("Invalid bundle header", err);
}
const bundle = new Bundle();
if (header.id) bundle.id = header.id;
if (header.main) bundle.main = header.main;
if (header.imports) bundle.imports = header.imports;
if (header.resolutions) bundle.resolutions = header.resolutions;
if (header.addons) bundle.addons = header.addons;
if (header.assets) bundle.assets = header.assets;
let offset = end + len;
for (const [file, info] of Object.entries(header.files)) {
bundle.write(file, buffer.subarray(offset, offset + info.length), {
mode: info.mode || 420
});
offset += info.length;
}
return bundle;
}
function isDecimal(c) {
return c >= 48 && c <= 57;
}
function compareKeys([a], [b]) {
return a > b ? 1 : a < b ? -1 : 0;
}
function cloneImportsMap(value) {
if (typeof value === "object" && value !== null) {
const imports = {};
for (const entry of Object.entries(value).sort(compareKeys)) {
imports[entry[0]] = cloneImportsMapEntry(entry[1]);
}
return imports;
}
throw new TypeError(`Imports map must be an object. Received type ${typeof value} (${value})`);
}
function cloneImportsMapEntry(value) {
if (typeof value === "string") return value;
if (typeof value === "object" && value !== null) {
const imports = {};
for (const entry of Object.entries(value)) {
imports[entry[0]] = cloneImportsMapEntry(entry[1]);
}
return imports;
}
throw new TypeError(
`Imports map entry must be a string or object. Received type ${typeof value} (${value})`
);
}
function cloneResolutionsMap(value) {
if (typeof value === "object" && value !== null) {
const resolutions = {};
for (const entry of Object.entries(value).sort(compareKeys)) {
resolutions[entry[0]] = cloneImportsMap(entry[1]);
}
return resolutions;
}
throw new TypeError(`Resolutions map must be an object. Received type ${typeof value} (${value})`);
}
function cloneFilesList(value, name) {
if (Array.isArray(value)) {
const files = [];
for (const entry of value) {
if (typeof entry !== "string") {
throw new TypeError(
`${name} entry must be a string. Received type ${typeof entry} (${entry})`
);
}
files.push(entry);
}
return files.sort();
}
throw new TypeError(`${name} list must be an array. Received type ${typeof value} (${value})`);
}
function transformImportsMap(value, root, conditionalRoot, opts, fn) {
const { conditions = {} } = opts;
const imports = {};
for (const entry of Object.entries(value)) {
const condition = entry[0];
imports[condition] = transformImportsMapEntry(
entry[1],
root,
conditionalRoot || conditions[condition],
opts,
fn
);
}
return imports;
}
function transformImportsMapEntry(value, root, conditionalRoot, opts, fn) {
const { conditions = {} } = opts;
if (typeof value === "string") {
return fn(value, conditionalRoot || conditions.default || root);
}
return transformImportsMap(value, root, conditionalRoot, opts, fn);
}
function transformResolutionsMap(value, root, opts, fn) {
const resolutions = {};
for (const entry of Object.entries(value)) {
resolutions[fn(entry[0], root)] = transformImportsMap(entry[1], root, null, opts, fn);
}
return resolutions;
}
function transformFilesList(value, root, fn) {
const files = [];
for (const entry of value) {
files.push(fn(entry, root));
}
return files;
}
function mountSpecifier(specifier, root) {
if (startsWithWindowsDriveLetter(specifier)) {
specifier = "/" + specifier;
}
if (specifier[0] === "/" || specifier[0] === "\\") {
specifier = "." + specifier;
}
if (specifier.startsWith("./") || specifier.startsWith(".\\")) {
return new URL(specifier, root).href;
}
return specifier;
}
function unmountSpecifier(specifier, root) {
specifier = new URL(specifier);
if (typeof root === "string") root = new URL(root);
if (specifier.protocol !== root.protocol || specifier.host !== root.host || specifier.port !== root.port) {
return specifier.href;
}
const specifierPath = splitPath(specifier.pathname);
const rootPath = splitPath(root.pathname);
while (specifierPath.length > 0 && rootPath[0] === specifierPath[0]) {
specifierPath.shift();
rootPath.shift();
}
rootPath.fill("..");
return "/" + rootPath.concat(specifierPath).join("/");
}
function splitPath(path) {
const parts = path.split("/");
if (!parts[0]) parts.shift();
if (!parts[parts.length - 1]) parts.pop();
return parts;
}
function isASCIIUpperAlpha(c) {
return c >= 65 && c <= 90;
}
function isASCIILowerAlpha(c) {
return c >= 97 && c <= 122;
}
function isASCIIAlpha(c) {
return isASCIIUpperAlpha(c) || isASCIILowerAlpha(c);
}
function isWindowsDriveLetter(input) {
return input.length >= 2 && isASCIIAlpha(input.charCodeAt(0)) && (input.charCodeAt(1) === 58 || input.charCodeAt(1) === 124);
}
function startsWithWindowsDriveLetter(input) {
return input.length >= 2 && isWindowsDriveLetter(input) && (input.length === 2 || input.charCodeAt(2) === 47 || input.charCodeAt(2) === 92 || input.charCodeAt(2) === 63 || input.charCodeAt(2) === 35);
}
}
});
// ../../node_modules/bare-os/binding.js
var require_binding = __commonJS({
"../../node_modules/bare-os/binding.js"(exports, module) {
module.exports = __require.addon();
}
});
// ../../node_modules/bare-os/lib/errors.js
var require_errors6 = __commonJS({
"../../node_modules/bare-os/lib/errors.js"(exports, module) {
module.exports = class OSError extends Error {
constructor(msg, code, fn = OSError) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "OSError";
}
static UNKNOWN_SIGNAL(msg) {
return new OSError(msg, "UNKNOWN_SIGNAL", OSError.UNKNOWN_SIGNAL);
}
static TITLE_OVERFLOW(msg) {
return new OSError(msg, "TITLE_OVERFLOW", OSError.TITLE_OVERFLOW);
}
};
}
});
// ../../node_modules/bare-os/lib/constants.js
var require_constants2 = __commonJS({
"../../node_modules/bare-os/lib/constants.js"(exports, module) {
var binding = require_binding();
module.exports = {
signals: binding.signals,
errnos: binding.errnos,
priority: binding.priority
};
}
});
// ../../node_modules/bare-os/index.js
var require_bare_os = __commonJS({
"../../node_modules/bare-os/index.js"(exports) {
var binding = require_binding();
var errors = require_errors6();
var constants = require_constants2();
exports.constants = constants;
exports.EOL = binding.platform === "win32" ? "\r\n" : "\n";
exports.devNull = binding.platform === "win32" ? "\\\\.\\nul" : "/dev/null";
exports.platform = function platform() {
return binding.platform;
};
exports.arch = function arch() {
return binding.arch;
};
exports.type = binding.type;
exports.version = binding.version;
exports.release = binding.release;
exports.machine = binding.machine;
exports.execPath = binding.execPath;
exports.pid = binding.pid;
exports.ppid = binding.ppid;
exports.cwd = binding.cwd;
exports.chdir = binding.chdir;
exports.tmpdir = binding.tmpdir;
exports.homedir = binding.homedir;
exports.hostname = binding.hostname;
exports.userInfo = binding.userInfo;
exports.networkInterfaces = function networkInterfaces() {
const result = {};
for (const entry of binding.networkInterfaces()) {
const { name, ...properties } = entry;
if (result[name]) result[name].push(properties);
else result[name] = [properties];
}
return result;
};
exports.kill = function kill(pid, signal = constants.signals.SIGTERM) {
if (typeof signal === "string") {
if (signal in constants.signals === false) {
throw errors.UNKNOWN_SIGNAL("Unknown signal: " + signal);
}
signal = constants.signals[signal];
}
binding.kill(pid, signal);
};
exports.endianness = function endianness() {
return binding.isLittleEndian ? "LE" : "BE";
};
exports.availableParallelism = binding.availableParallelism;
exports.cpuUsage = function cpuUsage(previous) {
const current = binding.cpuUsage();
if (previous) {
return {
user: current.user - previous.user,
system: current.system - previous.system
};
}
return current;
};
exports.threadCpuUsage = function threadCpuUsage(previous) {
const current = binding.threadCpuUsage();
if (previous) {
return {
user: current.user - previous.user,
system: current.system - previous.system
};
}
return current;
};
exports.resourceUsage = binding.resourceUsage;
exports.memoryUsage = binding.memoryUsage;
exports.freemem = binding.freemem;
exports.totalmem = binding.totalmem;
exports.availableMemory = binding.availableMemory;
exports.constrainedMemory = binding.constrainedMemory;
exports.uptime = binding.uptime;
exports.loadavg = binding.loadavg;
exports.cpus = binding.cpus;
exports.getProcessTitle = binding.getProcessTitle;
exports.setProcessTitle = function setProcessTitle(title) {
if (typeof title !== "string") title = title.toString();
if (title.length >= 256) {
throw errors.TITLE_OVERFLOW("Process title is too long");
}
binding.setProcessTitle(title);
};
exports.getPriority = function getPriority(pid = 0) {
return binding.getPriority(pid);
};
exports.setPriority = function setPriority(pid, priority) {
if (priority === void 0) {
priority = pid;
pid = 0;
}
binding.setPriority(pid, priority);
};
exports.getEnvKeys = binding.getEnvKeys;
exports.getEnv = binding.getEnv;
exports.hasEnv = binding.hasEnv;
exports.setEnv = binding.setEnv;
exports.unsetEnv = binding.unsetEnv;
}
});
// ../../node_modules/bare-path/lib/constants.js
var require_constants3 = __commonJS({
"../../node_modules/bare-path/lib/constants.js"(exports, module) {
module.exports = {
CHAR_UPPERCASE_A: 65,
CHAR_LOWERCASE_A: 97,
CHAR_UPPERCASE_Z: 90,
CHAR_LOWERCASE_Z: 122,
CHAR_DOT: 46,
CHAR_FORWARD_SLASH: 47,
CHAR_BACKWARD_SLASH: 92,
CHAR_COLON: 58,
CHAR_QUESTION_MARK: 63
};
}
});
// ../../node_modules/bare-path/lib/shared.js
var require_shared = __commonJS({
"../../node_modules/bare-path/lib/shared.js"(exports) {
var {
CHAR_DOT,
CHAR_FORWARD_SLASH
} = require_constants3();
exports.normalizeString = function normalizeString(path, allowAboveRoot, separator, isPathSeparator) {
let res = "";
let lastSegmentLength = 0;
let lastSlash = -1;
let dots = 0;
let code = 0;
for (let i = 0; i <= path.length; ++i) {
if (i < path.length) {
code = path.charCodeAt(i);
} else if (isPathSeparator(code)) {
break;
} else {
code = CHAR_FORWARD_SLASH;
}
if (isPathSeparator(code)) {
if (lastSlash === i - 1 || dots === 1) ;
else if (dots === 2) {
if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== CHAR_DOT || res.charCodeAt(res.length - 2) !== CHAR_DOT) {
if (res.length > 2) {
const lastSlashIndex = res.lastIndexOf(separator);
if (lastSlashIndex === -1) {
res = "";
lastSegmentLength = 0;
} else {
res = res.substring(0, lastSlashIndex);
lastSegmentLength = res.length - 1 - res.lastIndexOf(separator);
}
lastSlash = i;
dots = 0;
continue;
} else if (res.length !== 0) {
res = "";
lastSegmentLength = 0;
lastSlash = i;
dots = 0;
continue;
}
}
if (allowAboveRoot) {
res += res.length > 0 ? `${separator}..` : "..";
lastSegmentLength = 2;
}
} else {
if (res.length > 0) {
res += `${separator}${path.substring(lastSlash + 1, i)}`;
} else {
res = path.substring(lastSlash + 1, i);
}
lastSegmentLength = i - lastSlash - 1;
}
lastSlash = i;
dots = 0;
} else if (code === CHAR_DOT && dots !== -1) {
++dots;
} else {
dots = -1;
}
}
return res;
};
}
});
// ../../node_modules/bare-path/lib/posix.js
var require_posix = __commonJS({
"../../node_modules/bare-path/lib/posix.js"(exports) {
var os = require_bare_os();
var { normalizeString } = require_shared();
var {
CHAR_DOT,
CHAR_FORWARD_SLASH
} = require_constants3();
function isPosixPathSeparator(code) {
return code === CHAR_FORWARD_SLASH;
}
exports.win32 = require_win32();
exports.posix = exports;
exports.sep = "/";
exports.delimiter = ":";
exports.resolve = function resolve(...args) {
let resolvedPath = "";
let resolvedAbsolute = false;
for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
const path = i >= 0 ? args[i] : os.cwd();
if (path.length === 0) {
continue;
}
resolvedPath = `${path}/${resolvedPath}`;
resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
}
resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, "/", isPosixPathSeparator);
if (resolvedAbsolute) {
return `/${resolvedPath}`;
}
return resolvedPath.length > 0 ? resolvedPath : ".";
};
exports.normalize = function normalize(path) {
if (path.length === 0) return ".";
const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
const trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH;
path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator);
if (path.length === 0) {
if (isAbsolute) return "/";
return trailingSeparator ? "./" : ".";
}
if (trailingSeparator) path += "/";
return isAbsolute ? `/${path}` : path;
};
exports.isAbsolute = function isAbsolute(path) {
return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;
};
exports.join = function join(...args) {
if (args.length === 0) return ".";
let joined;
for (let i = 0; i < args.length; ++i) {
const arg = args[i];
if (arg.length > 0) {
if (joined === void 0) joined = arg;
else joined += `/${arg}`;
}
}
if (joined === void 0) return ".";
return exports.normalize(joined);
};
exports.relative = function relative(from, to) {
if (from === to) return "";
from = exports.resolve(from);
to = exports.resolve(to);
if (from === to) return "";
const fromStart = 1;
const fromEnd = from.length;
const fromLen = fromEnd - fromStart;
const toStart = 1;
const toLen = to.length - toStart;
const length = fromLen < toLen ? fromLen : toLen;
let lastCommonSep = -1;
let i = 0;
for (; i < length; i++) {
const fromCode = from.charCodeAt(fromStart + i);
if (fromCode !== to.charCodeAt(toStart + i)) {
break;
} else if (fromCode === CHAR_FORWARD_SLASH) {
lastCommonSep = i;
}
}
if (i === length) {
if (toLen > length) {
if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) {
return to.substring(toStart + i + 1);
}
if (i === 0) {
return to.substring(toStart + i);
}
} else if (fromLen > length) {
if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) {
lastCommonSep = i;
} else if (i === 0) {
lastCommonSep = 0;
}
}
}
let out = "";
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) {
out += out.length === 0 ? ".." : "/..";
}
}
return `${out}${to.substring(toStart + lastCommonSep)}`;
};
exports.toNamespacedPath = function toNamespacedPath(path) {
return path;
};
exports.dirname = function dirname(path) {
if (path.length === 0) return ".";
const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
let end = -1;
let matchedSlash = true;
for (let i = path.length - 1; i >= 1; --i) {
if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
if (!matchedSlash) {
end = i;
break;
}
} else {
matchedSlash = false;
}
}
if (end === -1) return hasRoot ? "/" : ".";
if (hasRoot && end === 1) return "//";
return path.substring(0, end);
};
exports.basename = function basename(path, suffix) {
let start = 0;
let end = -1;
let matchedSlash = true;
if (suffix !== void 0 && suffix.length > 0 && suffix.length <= path.length) {
if (suffix === path) {
return "";
}
let extIdx = suffix.length - 1;
let firstNonSlashEnd = -1;
for (let i = path.length - 1; i >= 0; --i) {
const code = path.charCodeAt(i);
if (code === CHAR_FORWARD_SLASH) {
if (!matchedSlash) {
start = i + 1;
break;
}
} else {
if (firstNonSlashEnd === -1) {
matchedSlash = false;
firstNonSlashEnd = i + 1;
}
if (extIdx >= 0) {
if (code === suffix.charCodeAt(extIdx)) {
if (--extIdx === -1) {
end = i;
}
} else {
extIdx = -1;
end = firstNonSlashEnd;
}
}
}
}
if (start === end) end = firstNonSlashEnd;
else if (end === -1) end = path.length;
return path.substring(start, end);
}
for (let i = path.length - 1; i >= 0; --i) {
if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
if (!matchedSlash) {
start = i + 1;
break;
}
} else if (end === -1) {
matchedSlash = false;
end = i + 1;
}
}
if (end === -1) return "";
return path.substring(start, end);
};
exports.extname = function extname(path) {
let startDot = -1;
let startPart = 0;
let end = -1;
let matchedSlash = true;
let preDotState = 0;
for (let i = path.length - 1; i >= 0; --i) {
const code = path.charCodeAt(i);
if (code === CHAR_FORWARD_SLASH) {
if (!matchedSlash) {
startPart = i + 1;
break;
}
continue;
}
if (end === -1) {
matchedSlash = false;
end = i + 1;
}
if (code === CHAR_DOT) {
if (startDot === -1) startDot = i;
else if (preDotState !== 1) preDotState = 1;
} else if (startDot !== -1) {
preDotState = -1;
}
}
if (startDot === -1 || end === -1 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
return "";
}
return path.substring(startDot, end);
};
}
});
// ../../node_modules/bare-path/lib/win32.js
var require_win32 = __commonJS({
"../../node_modules/bare-path/lib/win32.js"(exports) {
var os = require_bare_os();
var { normalizeString } = require_shared();
var {
CHAR_UPPERCASE_A,
CHAR_LOWERCASE_A,
CHAR_UPPERCASE_Z,
CHAR_LOWERCASE_Z,
CHAR_DOT,
CHAR_FORWARD_SLASH,
CHAR_BACKWARD_SLASH,
CHAR_COLON,
CHAR_QUESTION_MARK
} = require_constants3();
function isWindowsPathSeparator(code) {
return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
}
function isWindowsDeviceRoot(code) {
return code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z || code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z;
}
exports.posix = require_posix();
exports.win32 = exports;
exports.sep = "\\";
exports.delimiter = ";";
exports.resolve = function resolve(...args) {
let resolvedDevice = "";
let resolvedTail = "";
let resolvedAbsolute = false;
for (let i = args.length - 1; i >= -1; i--) {
let path;
if (i >= 0) {
path = args[i];
if (path.length === 0) continue;
} else if (resolvedDevice.length === 0) {
path = os.cwd();
} else {
path = os.getEnv(`=${resolvedDevice}`) || os.cwd();
if (path === void 0 || path.substring(0, 2).toLowerCase() !== resolvedDevice.toLowerCase() && path.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
path = `${resolvedDevice}\\`;
}
}
const len = path.length;
let rootEnd = 0;
let device = "";
let isAbsolute = false;
const code = path.charCodeAt(0);
if (len === 1) {
if (isWindowsPathSeparator(code)) {
rootEnd = 1;
isAbsolute = true;
}
} else if (isWindowsPathSeparator(code)) {
isAbsolute = true;
if (isWindowsPathSeparator(path.charCodeAt(1))) {
let j = 2;
let last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
const firstPart = path.substring(last, j);
last = j;
while (j < len && isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j === len || j !== last) {
device = `\\\\${firstPart}\\${path.substring(last, j)}`;
rootEnd = j;
}
}
}
} else {
rootEnd = 1;
}
} else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
device = path.substring(0, 2);
rootEnd = 2;
if (len > 2 && isWindowsPathSeparator(path.charCodeAt(2))) {
isAbsolute = true;
rootEnd = 3;
}
}
if (device.length > 0) {
if (resolvedDevice.length > 0) {
if (device.toLowerCase() !== resolvedDevice.toLowerCase()) {
continue;
}
} else {
resolvedDevice = device;
}
}
if (resolvedAbsolute) {
if (resolvedDevice.length > 0) {
break;
}
} else {
resolvedTail = `${path.substring(rootEnd)}\\${resolvedTail}`;
resolvedAbsolute = isAbsolute;
if (isAbsolute && resolvedDevice.length > 0) {
break;
}
}
}
resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, "\\", isWindowsPathSeparator);
return resolvedAbsolute ? `${resolvedDevice}\\${resolvedTail}` : `${resolvedDevice}${resolvedTail}` || ".";
};
exports.normalize = function normalize(path) {
const len = path.length;
if (len === 0) return ".";
let rootEnd = 0;
let device;
let isAbsolute = false;
const code = path.charCodeAt(0);
if (len === 1) {
return code === CHAR_FORWARD_SLASH ? "\\" : path;
}
if (isWindowsPathSeparator(code)) {
isAbsolute = true;
if (isWindowsPathSeparator(path.charCodeAt(1))) {
let j = 2;
let last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
const firstPart = path.substring(last, j);
last = j;
while (j < len && isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j === len) {
return `\\\\${firstPart}\\${path.substring(last)}\\`;
}
if (j !== last) {
device = `\\\\${firstPart}\\${path.substring(last, j)}`;
rootEnd = j;
}
}
}
} else {
rootEnd = 1;
}
} else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
device = path.substring(0, 2);
rootEnd = 2;
if (len > 2 && isWindowsPathSeparator(path.charCodeAt(2))) {
isAbsolute = true;
rootEnd = 3;
}
}
let tail = rootEnd < len ? normalizeString(path.substring(rootEnd), !isAbsolute, "\\", isWindowsPathSeparator) : "";
if (tail.length === 0 && !isAbsolute) {
tail = ".";
}
if (tail.length > 0 && isWindowsPathSeparator(path.charCodeAt(len - 1))) {
tail += "\\";
}
if (device === void 0) {
return isAbsolute ? `\\${tail}` : tail;
}
return isAbsolute ? `${device}\\${tail}` : `${device}${tail}`;
};
exports.isAbsolute = function isAbsolute(path) {
const len = path.length;
if (len === 0) return false;
const code = path.charCodeAt(0);
return isWindowsPathSeparator(code) || len > 2 && isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON && isWindowsPathSeparator(path.charCodeAt(2));
};
exports.join = function join(...args) {
if (args.length === 0) return ".";
let joined;
let firstPart;
for (let i = 0; i < args.length; ++i) {
const arg = args[i];
if (arg.length > 0) {
if (joined === void 0) joined = firstPart = arg;
else joined += `\\${arg}`;
}
}
if (joined === void 0) return ".";
let needsReplace = true;
let slashCount = 0;
if (isWindowsPathSeparator(firstPart.charCodeAt(0))) {
++slashCount;
const firstLen = firstPart.length;
if (firstLen > 1 && isWindowsPathSeparator(firstPart.charCodeAt(1))) {
++slashCount;
if (firstLen > 2) {
if (isWindowsPathSeparator(firstPart.charCodeAt(2))) {
++slashCount;
} else {
needsReplace = false;
}
}
}
}
if (needsReplace) {
while (slashCount < joined.length && isWindowsPathSeparator(joined.charCodeAt(slashCount))) {
slashCount++;
}
if (slashCount >= 2) {
joined = `\\${joined.substring(slashCount)}`;
}
}
return exports.normalize(joined);
};
exports.relative = function relative(from, to) {
if (from === to) return "";
const fromOrig = exports.resolve(from);
const toOrig = exports.resolve(to);
if (fromOrig === toOrig) return "";
from = fromOrig.toLowerCase();
to = toOrig.toLowerCase();
if (from === to) return "";
let fromStart = 0;
while (fromStart < from.length && from.charCodeAt(fromStart) === CHAR_BACKWARD_SLASH) {
fromStart++;
}
let fromEnd = from.length;
while (fromEnd - 1 > fromStart && from.charCodeAt(fromEnd - 1) === CHAR_BACKWARD_SLASH) {
fromEnd--;
}
const fromLen = fromEnd - fromStart;
let toStart = 0;
while (toStart < to.length && to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {
toStart++;
}
let toEnd = to.length;
while (toEnd - 1 > toStart && to.charCodeAt(toEnd - 1) === CHAR_BACKWARD_SLASH) {
toEnd--;
}
const toLen = toEnd - toStart;
const length = fromLen < toLen ? fromLen : toLen;
let lastCommonSep = -1;
let i = 0;
for (; i < length; i++) {
const fromCode = from.charCodeAt(fromStart + i);
if (fromCode !== to.charCodeAt(toStart + i)) {
break;
} else if (fromCode === CHAR_BACKWARD_SLASH) {
lastCommonSep = i;
}
}
if (i !== length) {
if (lastCommonSep === -1) return toOrig;
} else {
if (toLen > length) {
if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {
return toOrig.substring(toStart + i + 1);
}
if (i === 2) {
return toOrig.substring(toStart + i);
}
}
if (fromLen > length) {
if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {
lastCommonSep = i;
} else if (i === 2) {
lastCommonSep = 3;
}
}
if (lastCommonSep === -1) lastCommonSep = 0;
}
let out = "";
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {
out += out.length === 0 ? ".." : "\\..";
}
}
toStart += lastCommonSep;
if (out.length > 0) {
return `${out}${toOrig.substring(toStart, toEnd)}`;
}
if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {
++toStart;
}
return toOrig.substring(toStart, toEnd);
};
exports.toNamespacedPath = function toNamespacedPath(path) {
if (path.length === 0) return path;
const resolvedPath = exports.resolve(path);
if (resolvedPath.length <= 2) return path;
if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {
if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {
const code = resolvedPath.charCodeAt(2);
if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {
return `\\\\?\\UNC\\${resolvedPath.substring(2)}`;
}
}
} else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0)) && resolvedPath.charCodeAt(1) === CHAR_COLON && resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
return `\\\\?\\${resolvedPath}`;
}
return path;
};
exports.dirname = function dirname(path) {
const len = path.length;
if (len === 0) return ".";
let rootEnd = -1;
let offset = 0;
const code = path.charCodeAt(0);
if (len === 1) {
return isWindowsPathSeparator(code) ? path : ".";
}
if (isWindowsPathSeparator(code)) {
rootEnd = offset = 1;
if (isWindowsPathSeparator(path.charCodeAt(1))) {
let j = 2;
let last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
last = j;
while (j < len && isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j < len && j !== last) {
last = j;
while (j < len && !isWindowsPathSeparator(path.charCodeAt(j))) {
j++;
}
if (j === len) {
return path;
}
if (j !== last) {
rootEnd = offset = j + 1;
}
}
}
}
} else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
rootEnd = len > 2 && isWindowsPathSeparator(path.charCodeAt(2)) ? 3 : 2;
offset = rootEnd;
}
let end = -1;
let matchedSlash = true;
for (let i = len - 1; i >= offset; --i) {
if (isWindowsPathSeparator(path.charCodeAt(i))) {
if (!matchedSlash) {
end = i;
break;
}
} else {
matchedSlash = false;
}
}
if (end === -1) {
if (rootEnd === -1) return ".";
end = rootEnd;
}
return path.substring(0, end);
};
exports.basename = function basename(path, suffix) {
let start = 0;
let end = -1;
let matchedSlash = true;
if (path.length >= 2 && isWindowsDeviceRoot(path.charCodeAt(0)) && path.charCodeAt(1) === CHAR_COLON) {
start = 2;
}
if (suffix !== void 0 && suffix.length > 0 && suffix.length <= path.length) {
if (suffix === path) return "";
let extIdx = suffix.length - 1;
let firstNonSlashEnd = -1;
for (let i = path.length - 1; i >= start; --i) {
const code = path.charCodeAt(i);
if (isWindowsPathSeparator(code)) {
if (!matchedSlash) {
start = i + 1;
break;
}
} else {
if (firstNonSlashEnd === -1) {
matchedSlash = false;
firstNonSlashEnd = i + 1;
}
if (extIdx >= 0) {
if (code === suffix.charCodeAt(extIdx)) {
if (--extIdx === -1) {
end = i;
}
} else {
extIdx = -1;
end = firstNonSlashEnd;
}
}
}
}
if (start === end) end = firstNonSlashEnd;
else if (end === -1) end = path.length;
return path.substring(start, end);
}
for (let i = path.length - 1; i >= start; --i) {
if (isWindowsPathSeparator(path.charCodeAt(i))) {
if (!matchedSlash) {
start = i + 1;
break;
}
} else if (end === -1) {
matchedSlash = false;
end = i + 1;
}
}
if (end === -1) return "";
return path.substring(start, end);
};
exports.extname = function extname(path) {
let start = 0;
let startDot = -1;
let startPart = 0;
let end = -1;
let matchedSlash = true;
let preDotState = 0;
if (path.length >= 2 && path.charCodeAt(1) === CHAR_COLON && isWindowsDeviceRoot(path.charCodeAt(0))) {
start = startPart = 2;
}
for (let i = path.length - 1; i >= start; --i) {
const code = path.charCodeAt(i);
if (isWindowsPathSeparator(code)) {
if (!matchedSlash) {
startPart = i + 1;
break;
}
continue;
}
if (end === -1) {
matchedSlash = false;
end = i + 1;
}
if (code === CHAR_DOT) {
if (startDot === -1) startDot = i;
else if (preDotState !== 1) preDotState = 1;
} else if (startDot !== -1) {
preDotState = -1;
}
}
if (startDot === -1 || end === -1 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
return "";
}
return path.substring(startDot, end);
};
}
});
// ../../node_modules/bare-path/index.js
var require_bare_path = __commonJS({
"../../node_modules/bare-path/index.js"(exports, module) {
if (Bare.platform === "win32") {
module.exports = require_win32();
} else {
module.exports = require_posix();
}
}
});
// ../../node_modules/bare-url/binding.js
var require_binding2 = __commonJS({
"../../node_modules/bare-url/binding.js"(exports, module) {
module.exports = __require.addon();
}
});
// ../../node_modules/bare-url/lib/errors.js
var require_errors7 = __commonJS({
"../../node_modules/bare-url/lib/errors.js"(exports, module) {
module.exports = class URLError extends Error {
constructor(msg, fn = URLError, code = fn.name) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) Error.captureStackTrace(this, fn);
}
get name() {
return "URLError";
}
static INVALID_URL(msg, input) {
const err = new URLError(msg, URLError.INVALID_URL);
err.input = input;
return err;
}
static INVALID_URL_SCHEME(msg = "Invalid URL") {
return new URLError(msg, URLError.INVALID_URL_SCHEME);
}
static INVALID_FILE_URL_HOST(msg = "Invalid file: URL host") {
return new URLError(msg, URLError.INVALID_FILE_URL_HOST);
}
static INVALID_FILE_URL_PATH(msg = "Invalid file: URL path") {
return new URLError(msg, URLError.INVALID_FILE_URL_PATH);
}
};
}
});
// ../../node_modules/bare-url/lib/url-search-params.js
var require_url_search_params = __commonJS({
"../../node_modules/bare-url/lib/url-search-params.js"(exports, module) {
var kind = Symbol.for("bare.url.search-params.kind");
var URLSearchParams = class _URLSearchParams {
static _urls = /* @__PURE__ */ new WeakMap();
static get [kind]() {
return 0;
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-urlsearchparams
constructor(init, url = null) {
this._params = /* @__PURE__ */ new Map();
if (url) _URLSearchParams._urls.set(this, url);
if (typeof init === "string") {
this._parse(init);
} else if (init) {
for (const [name, value] of typeof init[Symbol.iterator] === "function" ? init : Object.entries(init)) {
this.append(name, value);
}
}
}
get [kind]() {
return _URLSearchParams[kind];
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-size
get size() {
return this._params.length;
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-append
append(name, value = null) {
if (value === null) return;
let list = this._params.get(name);
if (list === void 0) {
list = [];
this._params.set(name, list);
}
list.push(value);
this._update();
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete
delete(name, value = null) {
if (value === null) this._params.delete(name);
else {
let list = this._params.get(name);
if (list === void 0) return;
list = list.filter((found) => found !== value);
if (list.length === 0) this._params.delete(name);
else this._params.set(name, list);
}
this._update();
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-get
get(name) {
const list = this._params.get(name);
if (list === void 0) return null;
return list[0];
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-getall
getAll(name) {
const list = this._params.get(name);
if (list === void 0) return [];
return Array.from(list);
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-has
has(name, value = null) {
const list = this._params.get(name);
if (list === void 0) return false;
if (value === null) return true;
return list.includes(value);
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-set
set(name, value = null) {
if (value === null) this._params.delete(name);
else this._params.set(name, [value]);
this._update();
}
toString() {
return this._serialize();
}
toJSON() {
return [...this];
}
*[Symbol.iterator]() {
for (const [name, values] of this._params) {
for (const value of values) yield [name, value];
}
}
[Symbol.for("bare.inspect")]() {
const object = {
__proto__: { constructor: _URLSearchParams }
};
for (const [name, values] of this._params) {
if (values.length === 1) object[name] = values[0];
else object[name] = values;
}
return object;
}
// https://url.spec.whatwg.org/#concept-urlsearchparams-update
_update() {
const url = _URLSearchParams._urls.get(this);
if (url === void 0) return;
url.search = this._serialize();
}
// https://url.spec.whatwg.org/#concept-urlencoded-parser
_parse(input) {
if (input[0] === "?") input = input.substring(1);
this._params = /* @__PURE__ */ new Map();
for (const sequence of input.split("&")) {
if (sequence.length === 0) continue;
let i = sequence.indexOf("=");
if (i === -1) i = sequence.length;
const name = decodeURIComponent(sequence.substring(0, i));
const value = decodeURIComponent(sequence.substring(i + 1, sequence.length));
let list = this._params.get(name);
if (list === void 0) {
list = [];
this._params.set(name, list);
}
list.push(value);
}
}
// https://url.spec.whatwg.org/#concept-urlencoded-serializer
_serialize() {
let output = "";
for (let [name, values] of this._params) {
name = encodeURIComponent(name);
for (const value of values) {
if (output) output += "&";
output += name + "=" + encodeURIComponent(value);
}
}
return output;
}
};
module.exports = exports = URLSearchParams;
exports.isURLSearchParams = function isURLSearchParams(value) {
if (value instanceof URLSearchParams) return true;
return typeof value === "object" && value !== null && value[kind] === URLSearchParams[kind];
};
}
});
// ../../node_modules/bare-url/index.js
var require_bare_url = __commonJS({
"../../node_modules/bare-url/index.js"(exports, module) {
var path = require_bare_path();
var binding = require_binding2();
var errors = require_errors7();
var URLSearchParams = require_url_search_params();
var kind = Symbol.for("bare.url.kind");
var isWindows = Bare.platform === "win32";
var URL2 = class _URL {
static get [kind]() {
return 0;
}
constructor(input, base, opts = {}) {
if (arguments.length === 0) throw errors.INVALID_URL();
input = String(input);
if (base !== void 0) base = String(base);
this._components = new Uint32Array(8);
this._parse(input, base, opts.throw !== false);
if (this._href) this._params = new URLSearchParams(this.search, this);
}
get [kind]() {
return _URL[kind];
}
// https://url.spec.whatwg.org/#dom-url-href
get href() {
return this._href;
}
set href(value) {
this._update(value);
this._params._parse(this.search);
}
// https://url.spec.whatwg.org/#dom-url-protocol
get protocol() {
return this._slice(0, this._components[0]) + ":";
}
set protocol(value) {
this._update(this._replace(value.replace(/:+$/, ""), 0, this._components[0]));
}
// https://url.spec.whatwg.org/#dom-url-username
get username() {
return this._slice(this._components[0] + 3, this._components[1]);
}
set username(value) {
if (cannotHaveCredentialsOrPort(this)) {
return;
}
if (this.username === "") value += "@";
this._update(this._replace(value, this._components[0] + 3, this._components[1]));
}
// https://url.spec.whatwg.org/#dom-url-password
get password() {
return this._href.slice(
this._components[1] + 1,
this._components[2] - 1
/* @ */
);
}
set password(value) {
if (cannotHaveCredentialsOrPort(this)) {
return;
}
let start = this._components[1] + 1;
let end = this._components[2] - 1;
if (this.password === "") {
value = ":" + value;
start--;
}
if (this.username === "") {
value += "@";
end++;
}
this._update(this._replace(value, start, end));
}
// https://url.spec.whatwg.org/#dom-url-host
get host() {
return this._slice(this._components[2], this._components[5]);
}
set host(value) {
if (hasOpaquePath(this)) {
return;
}
this._update(
this._replace(value, this._components[2], this._components[value.includes(":") ? 5 : 3])
);
}
// https://url.spec.whatwg.org/#dom-url-hostname
get hostname() {
return this._slice(this._components[2], this._components[3]);
}
set hostname(value) {
if (hasOpaquePath(this)) {
return;
}
this._update(this._replace(value, this._components[2], this._components[3]));
}
// https://url.spec.whatwg.org/#dom-url-port
get port() {
return this._slice(this._components[3] + 1, this._components[5]);
}
set port(value) {
if (cannotHaveCredentialsOrPort(this)) {
return;
}
let start = this._components[3] + 1;
if (this.port === "") {
value = ":" + value;
start--;
}
this._update(this._replace(value, start, this._components[5]));
}
// https://url.spec.whatwg.org/#dom-url-pathname
get pathname() {
return this._slice(
this._components[5],
this._components[6] - 1
/* ? */
);
}
set pathname(value) {
if (hasOpaquePath(this)) {
return;
}
if (value[0] !== "/" && value[0] !== "\\") {
value = "/" + value;
}
this._update(this._replace(
value,
this._components[5],
this._components[6] - 1
/* ? */
));
}
// https://url.spec.whatwg.org/#dom-url-search
get search() {
return this._slice(
this._components[6] - 1,
this._components[7] - 1
/* # */
);
}
set search(value) {
if (value && value[0] !== "?") value = "?" + value;
this._update(
this._replace(
value,
this._components[6] - 1,
this._components[7] - 1
/* # */
)
);
this._params._parse(this.search);
}
// https://url.spec.whatwg.org/#dom-url-searchparams
get searchParams() {
return this._params;
}
// https://url.spec.whatwg.org/#dom-url-hash
get hash() {
return this._slice(
this._components[7] - 1
/* # */
);
}
set hash(value) {
if (value && value[0] !== "#") value = "#" + value;
this._update(this._replace(
value,
this._components[7] - 1
/* # */
));
}
toString() {
return this._href;
}
toJSON() {
return this._href;
}
[Symbol.for("bare.inspect")]() {
return {
__proto__: { constructor: _URL },
href: this.href,
protocol: this.protocol,
username: this.username,
password: this.password,
host: this.host,
hostname: this.hostname,
port: this.port,
pathname: this.pathname,
search: this.search,
searchParams: this.searchParams,
hash: this.hash
};
}
_slice(start, end = this._href.length) {
return this._href.slice(start, end);
}
_replace(replacement, start, end = this._href.length) {
return this._slice(0, start) + replacement + this._slice(end);
}
_parse(input, base, shouldThrow) {
try {
this._href = binding.parse(
String(input),
base ? String(base) : null,
this._components,
shouldThrow
);
} catch (err) {
if (err instanceof TypeError) throw err;
throw errors.INVALID_URL(`Invalid URL '${input}'`, input);
}
}
_update(input) {
try {
this._parse(input, null, true);
} catch (err) {
if (err instanceof TypeError) throw err;
}
}
};
module.exports = exports = URL2;
function hasOpaquePath(url) {
return url.pathname[0] !== "/";
}
function cannotHaveCredentialsOrPort(url) {
return url.hostname === "" || url.protocol === "file:";
}
exports.URL = URL2;
exports.URLSearchParams = URLSearchParams;
exports.errors = errors;
exports.isURL = function isURL(value) {
if (value instanceof URL2) return true;
return typeof value === "object" && value !== null && value[kind] === URL2[kind];
};
exports.isURLSearchParams = URLSearchParams.isURLSearchParams;
exports.parse = function parse(input, base) {
const url = new URL2(input, base, { throw: false });
return url._href ? url : null;
};
exports.canParse = function canParse(input, base) {
return binding.canParse(String(input), base ? String(base) : null);
};
exports.fileURLToPath = function fileURLToPath(url) {
if (typeof url === "string") {
url = new URL2(url);
}
if (url.protocol !== "file:") {
throw errors.INVALID_URL_SCHEME("The URL must use the file: protocol");
}
if (isWindows) {
if (/%2f|%5c/i.test(url.pathname)) {
throw errors.INVALID_FILE_URL_PATH(
"The file: URL path must not include encoded \\ or / characters"
);
}
} else {
if (url.hostname) {
throw errors.INVALID_FILE_URL_HOST("The file: URL host must be 'localhost' or empty");
}
if (/%2f/i.test(url.pathname)) {
throw errors.INVALID_FILE_URL_PATH("The file: URL path must not include encoded / characters");
}
}
const pathname = path.normalize(decodeURIComponent(url.pathname));
if (isWindows) {
if (url.hostname) return "\\\\" + url.hostname + pathname;
const letter = pathname.charCodeAt(1) | 32;
if (letter < 97 || letter > 122 || pathname.charCodeAt(2) !== 58) {
throw errors.INVALID_FILE_URL_PATH("The file: URL path must be absolute");
}
return pathname.slice(1);
}
return pathname;
};
exports.pathToFileURL = function pathToFileURL(pathname) {
let resolved = path.resolve(pathname);
if (pathname[pathname.length - 1] === "/") {
resolved += "/";
} else if (isWindows && pathname[pathname.length - 1] === "\\") {
resolved += "\\";
}
resolved = resolved.replaceAll("%", "%25").replaceAll("#", "%23").replaceAll("?", "%3f").replaceAll("\n", "%0a").replaceAll("\r", "%0d").replaceAll(" ", "%09");
if (!isWindows) {
resolved = resolved.replaceAll("\\", "%5c");
}
return new URL2("file:" + resolved);
};
exports.format = function format(parts) {
const { protocol, auth, host, hostname, port, pathname, search, query, hash, slashes } = parts;
let result = "";
if (typeof protocol === "string") {
result += protocol;
if (protocol[protocol.length - 1] !== ":") {
result += ":";
}
if (slashes === true || /https?|ftp|gopher|file/.test(protocol)) {
result += "//";
}
}
if (typeof auth === "string") {
if (host || hostname) result += auth + "@";
}
if (typeof host === "string") result += host;
else {
result += hostname;
if (port) result += ":" + port;
}
if (typeof pathname === "string" && pathname !== "") {
if (pathname[0] !== "/") result += "/";
result += pathname;
}
if (typeof search === "string") {
if (search[0] !== "?") result += "?";
result += search;
} else if (typeof query === "object" && query !== null) {
result += "?" + new URLSearchParams(query);
}
if (typeof hash === "string") {
if (hash[0] !== "#") result += "#";
result += hash;
}
return result;
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module/lib/protocol.js
var require_protocol = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module/lib/protocol.js"(exports, module) {
module.exports = class ModuleProtocol {
constructor(methods = {}, context = null) {
for (const name of [
"preresolve",
"postresolve",
"resolve",
"exists",
"read",
"addon",
"asset"
]) {
const method = methods[name];
if (typeof method === "function") {
this[name] = context ? method.bind(this, context) : method.bind(this);
} else if (context) {
const method2 = context[name];
if (typeof method2 === "function") {
this[name] = method2;
}
}
}
}
preresolve(specifier, parentURL) {
return specifier;
}
postresolve(url) {
return url;
}
*resolve(specifier, parentURL, imports) {
}
exists(url, type) {
return false;
}
read(url) {
return null;
}
addon(url) {
return url;
}
asset(url) {
return url;
}
extend(methods) {
return new ModuleProtocol(methods, this);
}
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module/lib/constants.js
var require_constants4 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module/lib/constants.js"(exports, module) {
module.exports = {
states: {
EVALUATED: 1,
SYNTHESIZED: 2,
RUN: 4
},
types: {
SCRIPT: 1,
MODULE: 2,
JSON: 3,
BUNDLE: 4,
ADDON: 5,
BINARY: 6,
TEXT: 7,
ASSET: 8
}
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module/lib/errors.js
var require_errors8 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module/lib/errors.js"(exports, module) {
module.exports = class ModuleError extends Error {
constructor(msg, code, fn = ModuleError) {
super(`${code}: ${msg}`);
this.code = code;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn);
}
}
get name() {
return "ModuleError";
}
static MODULE_NOT_FOUND(msg, candidates = []) {
const err = new ModuleError(
msg,
"MODULE_NOT_FOUND",
ModuleError.MODULE_NOT_FOUND
);
err.candidates = candidates;
return err;
}
static ASSET_NOT_FOUND(msg) {
return new ModuleError(msg, "ASSET_NOT_FOUND", ModuleError.ASSET_NOT_FOUND);
}
static UNKNOWN_PROTOCOL(msg) {
return new ModuleError(
msg,
"UNKNOWN_PROTOCOL",
ModuleError.UNKNOWN_PROTOCOL
);
}
static INVALID_BUNDLE_EXTENSION(msg) {
return new ModuleError(
msg,
"INVALID_BUNDLE_EXTENSION",
ModuleError.INVALID_BUNDLE_EXTENSION
);
}
static INVALID_URL_PATH(msg) {
return new ModuleError(
msg,
"INVALID_URL_PATH",
ModuleError.INVALID_URL_PATH
);
}
static INVALID_IMPORTS_MAP(msg) {
return new ModuleError(
msg,
"INVALID_IMPORTS_MAP",
ModuleError.INVALID_IMPORTS_MAP
);
}
static TYPE_INCOMPATIBLE(msg) {
return new ModuleError(
msg,
"TYPE_INCOMPATIBLE",
ModuleError.TYPE_INCOMPATIBLE
);
}
};
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module/binding.js
var require_binding3 = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module/binding.js"(exports, module) {
module.exports = __require.addon();
}
});
// ../../node_modules/bare-union-bundle/node_modules/bare-module/index.js
var require_bare_module = __commonJS({
"../../node_modules/bare-union-bundle/node_modules/bare-module/index.js"(exports, module) {
var path = require_bare_path();
var resolve = require_bare_module_resolve();
var lex = require_bare_module_lexer();
var { isURL, fileURLToPath, pathToFileURL } = require_bare_url();
var Bundle = require_bare_bundle();
var Protocol = require_protocol();
var constants = require_constants4();
var errors = require_errors8();
var binding = require_binding3();
var kind = Symbol.for("bare.module.kind");
var isWindows = Bare.platform === "win32";
var { startsWithWindowsDriveLetter } = resolve;
module.exports = exports = class Module2 {
static get [kind]() {
return 0;
}
constructor(url) {
this._url = url;
this._state = 0;
this._type = 0;
this._defaultType = 0;
this._main = null;
this._exports = null;
this._imports = null;
this._resolutions = null;
this._builtins = null;
this._conditions = null;
this._protocol = null;
this._cache = null;
this._source = null;
this._function = null;
this._names = null;
this._handle = null;
Object.preventExtensions(this);
}
get [kind]() {
return Module2[kind];
}
get url() {
return this._url;
}
get type() {
return this._type;
}
get defaultType() {
return this._defaultType;
}
get main() {
return this._main;
}
get exports() {
return this._exports;
}
set exports(value) {
this._exports = value;
}
get imports() {
return this._imports;
}
get resolutions() {
return this._resolutions;
}
get builtins() {
return this._builtins;
}
get conditions() {
return Array.from(this._conditions);
}
get protocol() {
return this._protocol;
}
get cache() {
return this._cache;
}
// For Node.js compatibility
get filename() {
return urlToPath(this._url);
}
// For Node.js compatibility
get dirname() {
return urlToDirname(this._url);
}
// For Node.js compatibility
get id() {
return this.filename;
}
// For Node.js compatibility
get path() {
return this.dirname;
}
_transform(isImport, isDynamicImport) {
if (isDynamicImport) {
this._run();
} else if (isImport) {
this._synthesize();
} else {
this._evaluate();
}
return this;
}
_synthesize() {
if ((this._state & constants.states.SYNTHESIZED) !== 0) return;
this._state |= constants.states.SYNTHESIZED;
if (this._type === constants.types.MODULE) return;
const names = /* @__PURE__ */ new Set(["default"]);
const queue = [this];
const seen = /* @__PURE__ */ new Set();
while (queue.length) {
const module2 = queue.pop();
if (seen.has(module2)) continue;
seen.add(module2);
switch (module2._type) {
case constants.types.SCRIPT: {
const result = lex(module2._source);
for (const { name } of result.exports) names.add(name);
const referrer = module2;
for (const { specifier, type } of result.imports) {
if ((type & lex.constants.REEXPORT) !== 0 && (type & lex.constants.ADDON) === 0 && (type & lex.constants.ASSET) === 0) {
const resolved = Module2.resolve(specifier, referrer._url, {
isImport: true,
referrer
});
const module3 = Module2.load(resolved, {
isImport: true,
referrer
});
if (module3._names) {
for (const name of module3._names) names.add(name);
} else {
queue.push(module3);
}
}
}
break;
}
case constants.types.MODULE:
module2._evaluate();
for (const name of Object.keys(module2._exports)) names.add(name);
break;
case constants.types.JSON:
for (const name of Object.keys(module2._exports)) names.add(name);
}
}
this._names = Array.from(names);
this._handle = binding.createSyntheticModule(
this._url.href,
this._names,
Module2._handle
);
}
_evaluate() {
if ((this._state & constants.states.EVALUATED) !== 0) return;
this._state |= constants.states.EVALUATED;
if (this._type === constants.types.SCRIPT) {
const require2 = exports.createRequire(this._url, { module: this });
this._exports = {};
const fn = this._function;
fn(
require2,
this,
this._exports,
urlToPath(this._url),
urlToDirname(this._url)
);
} else if (this._type === constants.types.MODULE) {
this._run();
this._exports = binding.getNamespace(this._handle);
}
}
_run() {
if ((this._state & constants.states.RUN) !== 0) return;
this._state |= constants.states.RUN;
this._synthesize();
binding.runModule(this._handle, Module2._handle, Module2._onrun);
}
[Symbol.for("bare.inspect")]() {
return {
__proto__: { constructor: Module2 },
url: this.url,
type: this.type,
defaultType: this.defaultType,
main: this.main,
exports: this.exports,
imports: this.imports,
resolutions: this.resolutions,
builtins: this.builtins,
conditions: this.conditions
};
}
static _extensions = /* @__PURE__ */ Object.create(null);
static _protocol = null;
static _cache = module.cache || /* @__PURE__ */ Object.create(null);
static _conditions = ["bare", "node", Bare.platform, Bare.arch];
static _handle = binding.init(
this,
this._onimport,
this._onevaluate,
this._onmeta
);
static _onimport(specifier, attributes, referrerHref, isDynamicImport) {
const referrer = this._cache[referrerHref] || null;
if (referrer === null) {
throw errors.MODULE_NOT_FOUND(
`Cannot find referrer for module '${specifier}' imported from '${referrerHref}'`
);
}
const resolved = this.resolve(specifier, referrer._url, {
isImport: true,
referrer,
attributes
});
const module2 = this.load(resolved, {
isImport: true,
isDynamicImport,
referrer,
attributes
});
return module2._handle;
}
static _onevaluate(href) {
const module2 = this._cache[href] || null;
if (module2 === null) {
throw errors.MODULE_NOT_FOUND(`Cannot find module '${href}'`);
}
module2._evaluate();
for (const name of module2._names) {
let value;
if (name === "default" && (typeof module2._exports !== "object" || module2._exports === null || name in module2._exports === false)) {
value = module2._exports;
} else {
value = module2._exports[name];
}
binding.setExport(module2._handle, name, value);
}
}
static _onmeta(href, meta) {
const self = Module2;
const module2 = this._cache[href] || null;
if (module2 === null) {
throw errors.MODULE_NOT_FOUND(`Cannot find module '${href}'`);
}
const referrer = module2;
meta.url = module2._url.href;
meta.main = module2._main === module2;
meta.cache = module2._cache;
meta.resolve = function resolve2(specifier, parentURL = referrer._url) {
return self.resolve(specifier, toURL(parentURL, referrer._url), {
referrer
}).href;
};
meta.addon = function addon(specifier = ".", parentURL = referrer._url) {
const resolved = Bare.Addon.resolve(
specifier,
toURL(parentURL, referrer._url),
{ referrer }
);
const addon2 = Bare.Addon.load(resolved, { referrer });
return addon2._exports;
};
meta.addon.resolve = function resolve2(specifier = ".", parentURL = referrer._url) {
return Bare.Addon.resolve(specifier, toURL(parentURL, referrer._url), {
referrer
}).href;
};
meta.addon.host = Bare.Addon.host;
meta.asset = function asset(specifier, parentURL = referrer._url) {
return self.asset(specifier, toURL(parentURL, referrer._url), {
referrer
}).href;
};
}
static _onrun(reason, promise, err = reason) {
if (err) {
promise.catch(() => {
});
throw err;
} else {
promise.catch(
(err2) => queueMicrotask(() => {
throw err2;
})
);
}
}
static get protocol() {
return this._protocol;
}
static get cache() {
return this._cache;
}
static load(url, source = null, opts = {}) {
const self = Module2;
if (!ArrayBuffer.isView(source) && !Bundle.isBundle(source) && typeof source !== "string" && source !== null) {
opts = source;
source = null;
}
const {
isImport = false,
isDynamicImport = false,
referrer = null,
attributes,
type = typeForAttributes(attributes),
defaultType = referrer ? referrer._defaultType : 0,
cache = referrer ? referrer._cache : self._cache,
main = referrer ? referrer._main : null,
protocol = referrer ? referrer._protocol : self._protocol,
imports = referrer ? referrer._imports : null,
resolutions = referrer ? referrer._resolutions : null,
builtins = referrer ? referrer._builtins : null,
conditions = referrer ? referrer._conditions : self._conditions
} = opts;
let module2 = cache[url.href] || null;
if (module2 !== null) {
if (type !== 0 && type !== module2._type) {
throw errors.TYPE_INCOMPATIBLE(
`Module '${module2.url.href}' is not of type '${nameOfType(type)}'`
);
}
return module2._transform(isImport, isDynamicImport);
}
module2 = cache[url.href] = new Module2(url);
try {
switch (url.protocol) {
case "builtin:":
module2._exports = builtins[url.pathname];
break;
default: {
module2._defaultType = defaultType;
module2._cache = cache;
module2._main = main || module2;
module2._protocol = protocol;
module2._imports = imports;
module2._resolutions = resolutions;
module2._builtins = builtins;
module2._conditions = conditions;
if (typeof attributes === "object" && attributes !== null && typeof attributes.imports === "string") {
const resolved = self.resolve(attributes.imports, referrer._url, {
referrer: module2
});
const imports2 = self.load(resolved, {
referrer: module2,
type: constants.types.JSON
});
module2._imports = mixinImports(
module2._imports,
imports2._exports,
resolved
);
}
let extension = canonicalExtensionForType(type) || path.extname(url.pathname);
if (extension in self._extensions === false) {
if (defaultType) {
extension = canonicalExtensionForType(defaultType) || ".js";
} else {
extension = ".js";
}
}
self._extensions[extension](module2, source, referrer);
}
}
return module2._transform(isImport, isDynamicImport);
} catch (err) {
delete cache[url.href];
throw err;
}
}
static resolve(specifier, parentURL, opts = {}) {
const self = Module2;
if (typeof specifier !== "string") {
throw new TypeError(
`Specifier must be a string. Received type ${typeof specifier} (${specifier})`
);
}
const {
isImport = false,
referrer = null,
attributes,
type = typeForAttributes(attributes),
extensions = extensionsForType(type),
protocol = referrer ? referrer._protocol : self._protocol,
imports = referrer ? referrer._imports : null,
resolutions = referrer ? referrer._resolutions : null,
builtins = referrer ? referrer._builtins : null,
conditions = referrer ? referrer._conditions : self._conditions
} = opts;
const resolved = protocol.preresolve(specifier, parentURL);
const [resolution] = protocol.resolve(resolved, parentURL, imports);
if (resolution) return protocol.postresolve(resolution);
const candidates = [];
for (const resolution2 of resolve(
resolved,
parentURL,
{
conditions: isImport ? ["import", ...conditions] : ["require", ...conditions],
imports,
resolutions,
extensions,
builtins: builtins ? Object.keys(builtins) : [],
engines: Bare.versions
},
readPackage
)) {
candidates.push(resolution2);
switch (resolution2.protocol) {
case "builtin:":
return resolution2;
default:
if (protocol.exists(resolution2, type)) {
return protocol.postresolve(resolution2);
}
}
}
let message = `Cannot find module '${specifier}' imported from '${parentURL.href}'`;
if (candidates.length > 0) {
message += "\nCandidates:";
message += "\n" + candidates.map((url) => "- " + url.href).join("\n");
}
throw errors.MODULE_NOT_FOUND(message, candidates);
function readPackage(packageURL) {
if (protocol.exists(packageURL, constants.types.JSON)) {
return Module2.load(packageURL, { protocol })._exports;
}
return null;
}
}
static asset(specifier, parentURL, opts = {}) {
const self = Module2;
if (typeof specifier !== "string") {
throw new TypeError(
`Specifier must be a string. Received type ${typeof specifier} (${specifier})`
);
}
const {
referrer = null,
protocol = referrer ? referrer._protocol : self._protocol,
imports = referrer ? referrer._imports : null,
resolutions = referrer ? referrer._resolutions : null,
conditions = referrer ? referrer._conditions : self._conditions
} = opts;
const resolved = protocol.preresolve(specifier, parentURL);
const [resolution] = protocol.resolve(resolved, parentURL, imports);
if (resolution) return protocol.postresolve(resolution);
for (const resolution2 of resolve(
resolved,
parentURL,
{
conditions: ["asset", ...conditions],
imports,
resolutions,
engines: Bare.versions
},
readPackage
)) {
if (protocol.exists(resolution2, constants.types.ASSET)) {
return protocol.postresolve(
protocol.asset ? protocol.asset(resolution2) : resolution2
);
}
}
throw errors.ASSET_NOT_FOUND(
`Cannot find asset '${specifier}' imported from '${parentURL.href}'`
);
function readPackage(packageURL) {
if (protocol.exists(packageURL, constants.types.JSON)) {
return Module2.load(packageURL, { protocol })._exports;
}
return null;
}
}
};
var Module = exports;
function extensionsForType(type) {
switch (type) {
case constants.types.SCRIPT:
return [".js", ".cjs"];
case constants.types.MODULE:
return [".js", ".mjs"];
case constants.types.JSON:
return [".json"];
case constants.types.BUNDLE:
return [".json"];
case constants.types.ADDON:
return [".bare", ".node"];
case constants.types.BINARY:
return [".bin"];
case constants.types.TEXT:
return [".txt"];
default:
return [".js", ".cjs", ".mjs", ".json", ".bare", ".node"];
}
}
function canonicalExtensionForType(type) {
switch (type) {
case constants.types.SCRIPT:
return ".cjs";
case constants.types.MODULE:
return ".esm";
case constants.types.JSON:
return ".json";
case constants.types.BUNDLE:
return ".bundle";
case constants.types.ADDON:
return ".bare";
case constants.types.BINARY:
return ".bin";
case constants.types.TEXT:
return ".txt";
default:
return null;
}
}
function nameOfType(type) {
switch (type) {
case constants.types.SCRIPT:
return "script";
case constants.types.MODULE:
return "module";
case constants.types.JSON:
return "json";
case constants.types.BUNDLE:
return "bundle";
case constants.types.ADDON:
return "bare";
case constants.types.BINARY:
return "binary";
case constants.types.TEXT:
return "text";
default:
return null;
}
}
function typeForAttributes(attributes) {
if (typeof attributes !== "object" || attributes === null) return 0;
switch (attributes.type) {
case "script":
return constants.types.SCRIPT;
case "module":
return constants.types.MODULE;
case "json":
return constants.types.JSON;
case "bundle":
return constants.types.BUNDLE;
case "addon":
return constants.types.ADDON;
case "binary":
return constants.types.BINARY;
case "text":
return constants.types.TEXT;
default:
return 0;
}
}
function mixinImports(target, imports, url) {
if (typeof imports === "object" && imports !== null && "imports" in imports) {
imports = imports.imports;
}
if (typeof imports !== "object" || imports === null) {
throw errors.INVALID_IMPORTS_MAP(
`Imports map at '${url.href}' is not valid`
);
}
return { ...target, ...imports };
}
exports.Protocol = Protocol;
exports.constants = constants;
exports.builtinModules = [];
exports.isBuiltin = function isBuiltin() {
return false;
};
exports.createRequire = function createRequire(parentURL, opts = {}) {
const self = Module;
let {
module: module2 = null,
referrer = null,
type = constants.types.SCRIPT,
defaultType = referrer ? referrer._defaultType : constants.types.SCRIPT,
cache = referrer ? referrer._cache : self._cache,
main = referrer ? referrer._main : null,
protocol = referrer ? referrer._protocol : self._protocol,
imports = referrer ? referrer._imports : null,
resolutions = referrer ? referrer._resolutions : null,
builtins = referrer ? referrer._builtins : null,
conditions = referrer ? referrer._conditions : self._conditions
} = opts;
if (module2 === null) {
module2 = new Module(toURL(parentURL));
module2._type = type;
module2._defaultType = defaultType;
module2._cache = cache;
module2._main = main || module2;
module2._protocol = protocol;
module2._imports = imports;
module2._resolutions = resolutions;
module2._builtins = builtins;
module2._conditions = conditions;
}
referrer = module2;
function require2(specifier, opts2 = {}) {
const attributes = opts2 && opts2.with;
const resolved = self.resolve(specifier, referrer._url, {
referrer,
attributes
});
const module3 = self.load(resolved, { referrer, attributes });
return module3._exports;
}
require2.main = module2._main;
require2.cache = module2._cache;
require2.resolve = function resolve2(specifier, parentURL2 = referrer._url) {
return urlToPath(
self.resolve(specifier, toURL(parentURL2, referrer._url), { referrer })
);
};
require2.addon = function addon(specifier = ".", parentURL2 = referrer._url) {
const resolved = Bare.Addon.resolve(
specifier,
toURL(parentURL2, referrer._url),
{ referrer }
);
const addon2 = Bare.Addon.load(resolved, { referrer });
return addon2._exports;
};
require2.addon.host = Bare.Addon.host;
require2.addon.resolve = function resolve2(specifier = ".", parentURL2 = referrer._url) {
return urlToPath(
Bare.Addon.resolve(specifier, toURL(parentURL2, referrer._url), {
referrer
})
);
};
require2.asset = function asset(specifier, parentURL2 = referrer._url) {
return urlToPath(
self.asset(specifier, toURL(parentURL2, referrer._url), { referrer })
);
};
return require2;
};
if (Bare.simulator) Module._conditions.push("simulator");
Module._extensions[".js"] = function(module2, source, referrer) {
const self = Module;
const protocol = module2._protocol;
const resolutions = module2._resolutions;
let pkg;
for (const packageURL of resolve.lookupPackageScope(module2._url, {
resolutions
})) {
if (self._cache[packageURL.href]) {
pkg = self._cache[packageURL.href];
break;
}
if (protocol.exists(packageURL, constants.types.JSON)) {
pkg = self.load(packageURL, { protocol });
break;
}
}
const info = pkg && pkg._exports || {};
const isESM = (
// The default type is ES modules.
constants.types.MODULE === module2._defaultType || // The package is explicitly declared as an ES module.
info && info.type === "module"
);
return self._extensions[isESM ? ".mjs" : ".cjs"](module2, source, referrer);
};
Module._extensions[".cjs"] = function(module2, source, referrer) {
const protocol = module2._protocol;
module2._type = constants.types.SCRIPT;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
module2._source = source;
module2._function = binding.createFunction(
module2._url.href,
["require", "module", "exports", "__filename", "__dirname"],
source.toString(),
0
);
};
Module._extensions[".mjs"] = function(module2, source, referrer) {
const self = Module;
const protocol = module2._protocol;
module2._type = constants.types.MODULE;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
module2._source = source;
module2._handle = binding.createModule(
module2._url.href,
source.toString(),
0,
self._handle
);
};
Module._extensions[".json"] = function(module2, source, referrer) {
const protocol = module2._protocol;
module2._type = constants.types.JSON;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
module2._source = source;
module2._exports = JSON.parse(source.toString());
};
Module._extensions[".bare"] = function(module2, source, referrer) {
module2._type = constants.types.ADDON;
referrer = module2;
module2._exports = Bare.Addon.load(module2._url, { referrer }).exports;
};
Module._extensions[".node"] = function(module2, source, referrer) {
module2._type = constants.types.ADDON;
referrer = module2;
module2._exports = Bare.Addon.load(module2._url, { referrer }).exports;
};
Module._extensions[".bundle"] = function(module2, source, referrer) {
const self = Module;
const protocol = module2._protocol;
module2._type = constants.types.BUNDLE;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
referrer = module2;
const bundle = Bundle.from(source).mount(module2._url.href + "/");
module2._source = source;
module2._imports = bundle.imports;
module2._resolutions = bundle.resolutions;
module2._protocol = protocol.extend({
postresolve(context, url) {
return bundle.exists(url.href) ? url : context.postresolve(url);
},
exists(context, url) {
return bundle.exists(url.href) || context.exists(url);
},
read(context, url) {
return bundle.read(url.href) || context.read(url);
}
});
if (bundle.main) {
module2._exports = self.load(
new URL(bundle.main),
bundle.read(bundle.main),
{ referrer }
)._exports;
}
};
Module._extensions[".bin"] = function(module2, source, referrer) {
const protocol = module2._protocol;
module2._type = constants.types.BINARY;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
module2._source = module2._exports = source;
};
Module._extensions[".txt"] = function(module2, source, referrer) {
const protocol = module2._protocol;
module2._type = constants.types.TEXT;
if (source === null) source = protocol.read(module2._url);
if (typeof source === "string") source = Buffer.from(source);
module2._source = source;
module2._exports = source.toString();
};
Module._protocol = new Protocol({
postresolve(url) {
switch (url.protocol) {
case "file:":
return pathToFileURL(
binding.realpath(path.toNamespacedPath(fileURLToPath(url)))
);
default:
return url;
}
},
exists(url, type = 0) {
switch (url.protocol) {
case "file:":
return binding.exists(
path.toNamespacedPath(fileURLToPath(url)),
type === constants.types.ASSET ? binding.FILE | binding.DIR : binding.FILE
);
default:
return false;
}
},
read(url) {
switch (url.protocol) {
case "file:":
return Buffer.from(
binding.read(path.toNamespacedPath(fileURLToPath(url)))
);
default:
throw errors.UNKNOWN_PROTOCOL(`Cannot load module '${url.href}'`);
}
}
});
function toURL(value, base) {
if (isURL(value)) return value;
if (startsWithWindowsDriveLetter(value)) {
return pathToFileURL(value);
}
return URL.parse(value, base) || pathToFileURL(value);
}
function urlToPath(url) {
if (url.protocol === "file:") return fileURLToPath(url);
if (isWindows) {
if (/%2f|%5c/i.test(url.pathname)) {
throw errors.INVALID_URL_PATH(
"The URL path must not include encoded \\ or / characters"
);
}
} else {
if (/%2f/i.test(url.pathname)) {
throw errors.INVALID_URL_PATH(
"The URL path must not include encoded / characters"
);
}
}
return decodeURIComponent(url.pathname);
}
function urlToDirname(url) {
if (url.protocol === "file:") return path.dirname(fileURLToPath(url));
if (isWindows) {
if (/%2f|%5c/i.test(url.pathname)) {
throw errors.INVALID_URL_PATH(
"The URL path must not include encoded \\ or / characters"
);
}
} else {
if (/%2f/i.test(url.pathname)) {
throw errors.INVALID_URL_PATH(
"The URL path must not include encoded / characters"
);
}
}
return decodeURIComponent(new URL(".", url).pathname).replace(/\/$/, "");
}
}
});
// ../../node_modules/which-runtime/index.js
var require_which_runtime = __commonJS({
"../../node_modules/which-runtime/index.js"(exports) {
var { runtime, platform, arch } = typeof Bare !== "undefined" ? { runtime: "bare", platform: global.Bare.platform, arch: global.Bare.arch } : typeof process !== "undefined" ? { runtime: "node", platform: global.process.platform, arch: global.process.arch } : typeof Window !== "undefined" ? { runtime: "browser", platform: "unknown", arch: "unknown" } : { runtime: "unknown", platform: "unknown", arch: "unknown" };
exports.runtime = runtime;
exports.platform = platform;
exports.arch = arch;
exports.isBare = runtime === "bare";
exports.isBareKit = exports.isBare && typeof BareKit !== "undefined";
exports.isPear = typeof Pear !== "undefined";
exports.isNode = runtime === "node";
exports.isBrowser = runtime === "browser";
exports.isWindows = platform === "win32";
exports.isLinux = platform === "linux";
exports.isMac = platform === "darwin";
exports.isIOS = platform === "ios" || platform === "ios-simulator";
exports.isAndroid = platform === "android";
exports.isElectron = typeof process !== "undefined" && !!global.process.versions?.electron;
exports.isElectronRenderer = exports.isElectron && global.process.type === "renderer";
exports.isElectronWorker = exports.isElectron && global.process.type === "worker";
}
});
// ../../node_modules/url-file-url/index.js
var require_url_file_url = __commonJS({
"../../node_modules/url-file-url/index.js"(exports) {
var path = __require("path");
var { isWindows } = require_which_runtime();
exports.fileURLToPath = function fileURLToPath(url) {
if (typeof url === "string") {
url = new URL(url);
}
if (url.protocol !== "file:") {
throw new Error("The URL must use the file: protocol");
}
if (isWindows) {
if (/%2f|%5c/i.test(url.pathname)) {
throw new Error("The file: URL path must not include encoded \\ or / characters");
}
} else {
if (url.hostname) {
throw new Error("The file: URL host must be 'localhost' or empty");
}
if (/%2f/i.test(url.pathname)) {
throw new Error("The file: URL path must not include encoded / characters");
}
}
const pathname = path.normalize(decodeURIComponent(url.pathname));
if (isWindows) {
if (url.hostname) return "\\\\" + url.hostname + pathname;
const letter = pathname.charCodeAt(1) | 32;
if (letter < 97 || letter > 122 || pathname.charCodeAt(2) !== 58) {
throw new Error("The file: URL path must be absolute");
}
return pathname.slice(1);
}
return pathname;
};
exports.pathToFileURL = function pathToFileURL(pathname) {
let resolved = path.resolve(pathname);
if (pathname[pathname.length - 1] === "/") {
resolved += "/";
} else if (isWindows && pathname[pathname.length - 1] === "\\") {
resolved += "\\";
}
resolved = resolved.replaceAll("%", "%25").replaceAll("#", "%23").replaceAll("?", "%3f").replaceAll("\n", "%0a").replaceAll("\r", "%0d").replaceAll(" ", "%09");
if (!isWindows) {
resolved = resolved.replaceAll("\\", "%5c");
}
return new URL("file:" + resolved);
};
}
});
// ../../node_modules/b4a/index.js
var require_b4a = __commonJS({
"../../node_modules/b4a/index.js"(exports, module) {
function isBuffer(value) {
return Buffer.isBuffer(value) || value instanceof Uint8Array;
}
function isEncoding(encoding) {
return Buffer.isEncoding(encoding);
}
function alloc(size, fill2, encoding) {
return Buffer.alloc(size, fill2, encoding);
}
function allocUnsafe(size) {
return Buffer.allocUnsafe(size);
}
function allocUnsafeSlow(size) {
return Buffer.allocUnsafeSlow(size);
}
function byteLength(string, encoding) {
return Buffer.byteLength(string, encoding);
}
function compare(a, b) {
return Buffer.compare(a, b);
}
function concat(buffers, totalLength) {
return Buffer.concat(buffers, totalLength);
}
function copy(source, target, targetStart, start, end) {
return toBuffer(source).copy(target, targetStart, start, end);
}
function equals(a, b) {
return toBuffer(a).equals(b);
}
function fill(buffer, value, offset, end, encoding) {
return toBuffer(buffer).fill(value, offset, end, encoding);
}
function from(value, encodingOrOffset, length) {
return Buffer.from(value, encodingOrOffset, length);
}
function includes(buffer, value, byteOffset, encoding) {
return toBuffer(buffer).includes(value, byteOffset, encoding);
}
function indexOf(buffer, value, byfeOffset, encoding) {
return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
}
function lastIndexOf(buffer, value, byteOffset, encoding) {
return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
}
function swap16(buffer) {
return toBuffer(buffer).swap16();
}
function swap32(buffer) {
return toBuffer(buffer).swap32();
}
function swap64(buffer) {
return toBuffer(buffer).swap64();
}
function toBuffer(buffer) {
if (Buffer.isBuffer(buffer)) return buffer;
return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
}
function toString(buffer, encoding, start, end) {
return toBuffer(buffer).toString(encoding, start, end);
}
function write(buffer, string, offset, length, encoding) {
return toBuffer(buffer).write(string, offset, length, encoding);
}
function readDoubleBE(buffer, offset) {
return toBuffer(buffer).readDoubleBE(offset);
}
function readDoubleLE(buffer, offset) {
return toBuffer(buffer).readDoubleLE(offset);
}
function readFloatBE(buffer, offset) {
return toBuffer(buffer).readFloatBE(offset);
}
function readFloatLE(buffer, offset) {
return toBuffer(buffer).readFloatLE(offset);
}
function readInt32BE(buffer, offset) {
return toBuffer(buffer).readInt32BE(offset);
}
function readInt32LE(buffer, offset) {
return toBuffer(buffer).readInt32LE(offset);
}
function readUInt32BE(buffer, offset) {
return toBuffer(buffer).readUInt32BE(offset);
}
function readUInt32LE(buffer, offset) {
return toBuffer(buffer).readUInt32LE(offset);
}
function writeDoubleBE(buffer, value, offset) {
return toBuffer(buffer).writeDoubleBE(value, offset);
}
function writeDoubleLE(buffer, value, offset) {
return toBuffer(buffer).writeDoubleLE(value, offset);
}
function writeFloatBE(buffer, value, offset) {
return toBuffer(buffer).writeFloatBE(value, offset);
}
function writeFloatLE(buffer, value, offset) {
return toBuffer(buffer).writeFloatLE(value, offset);
}
function writeInt32BE(buffer, value, offset) {
return toBuffer(buffer).writeInt32BE(value, offset);
}
function writeInt32LE(buffer, value, offset) {
return toBuffer(buffer).writeInt32LE(value, offset);
}
function writeUInt32BE(buffer, value, offset) {
return toBuffer(buffer).writeUInt32BE(value, offset);
}
function writeUInt32LE(buffer, value, offset) {
return toBuffer(buffer).writeUInt32LE(value, offset);
}
module.exports = {
isBuffer,
isEncoding,
alloc,
allocUnsafe,
allocUnsafeSlow,
byteLength,
compare,
concat,
copy,
equals,
fill,
from,
includes,
indexOf,
lastIndexOf,
swap16,
swap32,
swap64,
toBuffer,
toString,
write,
readDoubleBE,
readDoubleLE,
readFloatBE,
readFloatLE,
readInt32BE,
readInt32LE,
readUInt32BE,
readUInt32LE,
writeDoubleBE,
writeDoubleLE,
writeFloatBE,
writeFloatLE,
writeInt32BE,
writeInt32LE,
writeUInt32BE,
writeUInt32LE
};
}
});
// ../../node_modules/bare-union-bundle/index.js
var require_bare_union_bundle = __commonJS({
"../../node_modules/bare-union-bundle/index.js"(exports, module) {
var traverse = require_bare_module_traverse();
var Bundle = require_bare_bundle();
var Module = require_bare_module();
var { fileURLToPath } = require_url_file_url();
var fs = __require("fs");
var b4a = require_b4a();
module.exports = class UnionBundle {
constructor(bundles) {
this.pending = bundles;
this.bundles = new Array(bundles.length);
}
static require(...files) {
const bundles = files.map((f) => Bundle.from(fs.readFileSync(f)));
return new UnionBundle(bundles);
}
get(key) {
for (let i = this.bundles.length - 1; i >= 0; i--) {
if (!this.bundles[i]) this.bundles[i] = loadBundle(this.pending[i]);
const source = this.bundles[i].read(key);
if (!source) continue;
return {
source,
imports: this.bundles[i].resolutions[key] || {}
};
}
return null;
}
checkout(n = this.bundles.length - 1) {
const bundle = new Bundle();
for (let i = n; i >= 0; i--) {
if (!this.bundles[i]) this.bundles[i] = loadBundle(this.pending[i]);
const b = this.bundles[i];
for (const k of b.keys()) {
const has = bundle.read(k);
if (has) continue;
bundle.write(k, b.read(k));
const resolutions = b.resolutions[k];
bundle.resolutions[k] = resolutions;
}
}
return bundle;
}
async add(root, entry, { skipModules = true } = {}) {
if (!root.pathname.endsWith("/")) root = new URL("./", root);
const nodeModules = new URL("./node_modules", root);
const bundle = new Bundle();
const resolutions = {};
for await (const dependency of traverse(
new URL(entry, root),
{ resolve: traverse.resolve.bare },
readModule,
listPrefix
)) {
if (dependency.url.href.startsWith(nodeModules.href) && skipModules) continue;
const p = dependency.url.pathname.replace(root.pathname, "/");
const imps = {};
for (const [k, v] of Object.entries(dependency.imports)) {
imps[k] = new URL(v).pathname.replace(root.pathname, "/");
}
const existing = this.get(p);
if (existing && b4a.equals(existing.source, dependency.source) && sameImports(existing.imports, imps)) continue;
bundle.write(p, dependency.source);
resolutions[p] = imps;
}
bundle.resolutions = resolutions;
return bundle;
}
load(root, entry, checkout, { cache = __require.cache, skipModules = true } = {}) {
const b = this.checkout(checkout);
const protocol = new Module.Protocol({
exists(url) {
return true;
},
read(url) {
const p = url.pathname;
return b.read(p);
}
});
const bundleCache = /* @__PURE__ */ Object.create(null);
const resolutions = /* @__PURE__ */ Object.create(null);
for (const [id, map] of Object.entries(b.resolutions)) {
const m = {};
for (const [k, v] of Object.entries(map)) {
const nm = v.startsWith("/node_modules") && skipModules ? findModule(cache, v, root) : null;
if (nm) {
m[k] = "bundle://host" + v;
bundleCache[m[k]] = nm;
} else {
m[k] = "bundle://layer" + v;
}
}
resolutions["bundle://layer" + id] = m;
}
return Module.load(new URL(entry, "bundle://layer/"), {
protocol,
resolutions,
cache: bundleCache
});
}
};
function sameImports(a, b) {
const x = Object.keys(a);
const y = Object.keys(b);
if (x.length !== y.length) return false;
for (let i = 0; i < x.length; i++) {
if (a[x[i]] !== b[x[i]]) return false;
}
return true;
}
async function readModule(url) {
return new Promise((resolve) => {
fs.readFile(fileURLToPath(url), (err, data) => {
resolve(err ? null : data);
});
});
}
async function openDir(url) {
return new Promise((resolve, reject) => {
fs.opendir(fileURLToPath(url), (err, dir) => {
err ? reject(err) : resolve(dir);
});
});
}
async function isFile(url) {
return new Promise((resolve) => {
fs.stat(fileURLToPath(url), (err, stat) => {
resolve(err === null && stat.isFile());
});
});
}
async function isDir(url) {
return new Promise((resolve) => {
fs.stat(fileURLToPath(url), (err, stat) => {
resolve(err === null && stat.isDirectory());
});
});
}
async function* listPrefix(url) {
if (await isFile(url)) return yield url;
if (url.pathname[url.pathname.length - 1] !== "/") {
url.pathname += "/";
}
if (await isDir(url)) {
for await (const entry of await openDir(url)) {
if (entry.isDirectory()) {
yield* listPrefix(new URL(entry.name, url));
} else {
yield new URL(entry.name, url);
}
}
}
}
function findModule(cache, v, root) {
let s = ".";
let prev = null;
while (true) {
const cand = new URL(s + v, root).href;
s += "/..";
if (prev === cand) break;
prev = cand;
const nm = cache[cand];
if (nm) return nm;
}
return null;
}
function loadBundle(b) {
return typeof b === "function" ? b() : b;
}
}
});
// ../../bare-lib-entry-bareUnionBundle.js
var bare_lib_entry_bareUnionBundle_exports = {};
__export(bare_lib_entry_bareUnionBundle_exports, {
default: () => bare_lib_entry_bareUnionBundle_default
});
var import_bare_union_bundle = __toESM(require_bare_union_bundle());
var bare_lib_entry_bareUnionBundle_default = import_bare_union_bundle.default;
return __toCommonJS(bare_lib_entry_bareUnionBundle_exports);
})();
;(function(){var g=globalThis;var s="__bare_os_stdlib__";g[s]=g[s]||{};var e=typeof __bare_os_bundle_exports__!=="undefined"?__bare_os_bundle_exports__:void 0;var v=e!=null&&typeof e==="object"&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;g[s]["bareUnionBundle"]=v;})();