alinea
Version:
Headless git-based CMS
811 lines (805 loc) • 30 kB
JavaScript
import "../../chunks/chunk-NZLE2WMY.js";
// src/cli/util/ExternalPlugin.ts
import { dirname, normalize, relative } from "alinea/core/util/Paths";
// node_modules/get-tsconfig/dist/index.mjs
import p2 from "node:path";
import C from "node:fs";
import Te from "node:module";
// node_modules/resolve-pkg-maps/dist/index.mjs
var A = (r) => r !== null && typeof r == "object";
var a = (r, t) => Object.assign(new Error(`[${r}]: ${t}`), { code: r });
var _ = "ERR_INVALID_PACKAGE_CONFIG";
var E = "ERR_INVALID_PACKAGE_TARGET";
var I = "ERR_PACKAGE_PATH_NOT_EXPORTED";
var R = /^\d+$/;
var O = /^(\.{1,2}|node_modules)$/i;
var w = /\/|\\/;
var h = ((r) => (r.Export = "exports", r.Import = "imports", r))(h || {});
var f = (r, t, e, o, c) => {
if (t == null) return [];
if (typeof t == "string") {
const [n, ...i] = t.split(w);
if (n === ".." || i.some((l2) => O.test(l2))) throw a(E, `Invalid "${r}" target "${t}" defined in the package config`);
return [c ? t.replace(/\*/g, c) : t];
}
if (Array.isArray(t)) return t.flatMap((n) => f(r, n, e, o, c));
if (A(t)) {
for (const n of Object.keys(t)) {
if (R.test(n)) throw a(_, "Cannot contain numeric property keys");
if (n === "default" || o.includes(n)) return f(r, t[n], e, o, c);
}
return [];
}
throw a(E, `Invalid "${r}" target "${t}"`);
};
var s = "*";
var m = (r, t) => {
const e = r.indexOf(s), o = t.indexOf(s);
return e === o ? t.length > r.length : o > e;
};
function d(r, t) {
if (!t.includes(s) && r.hasOwnProperty(t)) return [t];
let e, o;
for (const c of Object.keys(r)) if (c.includes(s)) {
const [n, i, l2] = c.split(s);
if (l2 === void 0 && t.startsWith(n) && t.endsWith(i)) {
const g = t.slice(n.length, -i.length || void 0);
g && (!e || m(e, c)) && (e = c, o = g);
}
}
return [e, o];
}
var p = (r) => Object.keys(r).reduce((t, e) => {
const o = e === "" || e[0] !== ".";
if (t === void 0 || t === o) return o;
throw a(_, '"exports" cannot contain some keys starting with "." and some not');
}, void 0);
var u = /^\w+:/;
var v = (r, t, e) => {
if (!r) throw new Error('"exports" is required');
t = t === "" ? "." : `./${t}`, (typeof r == "string" || Array.isArray(r) || A(r) && p(r)) && (r = { ".": r });
const [o, c] = d(r, t), n = f(h.Export, r[o], t, e, c);
if (n.length === 0) throw a(I, t === "." ? 'No "exports" main defined' : `Package subpath '${t}' is not defined by "exports"`);
for (const i of n) if (!i.startsWith("./") && !u.test(i)) throw a(E, `Invalid "exports" target "${i}" defined in the package config`);
return n;
};
// node_modules/get-tsconfig/dist/index.mjs
import Oe from "fs";
var we = Object.defineProperty;
var l = (e, t) => we(e, "name", { value: t, configurable: true });
function L(e) {
return e.startsWith("\\\\?\\") ? e : e.replace(/\\/g, "/");
}
l(L, "slash");
var J = l((e) => {
const t = C[e];
return (i, ...n) => {
const o = `${e}:${n.join(":")}`;
let s2 = i == null ? void 0 : i.get(o);
return s2 === void 0 && (s2 = Reflect.apply(t, C, n), i == null || i.set(o, s2)), s2;
};
}, "cacheFs");
var y = J("existsSync");
var Ae = J("readFileSync");
var I2 = J("statSync");
var ee = l((e, t, i) => {
for (; ; ) {
const n = p2.posix.join(e, t);
if (y(i, n)) return n;
const o = p2.dirname(e);
if (o === e) return;
e = o;
}
}, "findUp");
var M = /^\.{1,2}(\/.*)?$/;
var P = l((e) => {
const t = L(e);
return M.test(t) ? t : `./${t}`;
}, "normalizeRelativePath");
function je(e, t = false) {
const i = e.length;
let n = 0, o = "", s2 = 0, r = 16, f2 = 0, c = 0, a2 = 0, v2 = 0, b = 0;
function A2(u2, m2) {
let g = 0, B = 0;
for (; g < u2 || !m2; ) {
let j = e.charCodeAt(n);
if (j >= 48 && j <= 57) B = B * 16 + j - 48;
else if (j >= 65 && j <= 70) B = B * 16 + j - 65 + 10;
else if (j >= 97 && j <= 102) B = B * 16 + j - 97 + 10;
else break;
n++, g++;
}
return g < u2 && (B = -1), B;
}
l(A2, "scanHexDigits");
function T(u2) {
n = u2, o = "", s2 = 0, r = 16, b = 0;
}
l(T, "setPosition");
function O2() {
let u2 = n;
if (e.charCodeAt(n) === 48) n++;
else for (n++; n < e.length && F(e.charCodeAt(n)); ) n++;
if (n < e.length && e.charCodeAt(n) === 46) if (n++, n < e.length && F(e.charCodeAt(n))) for (n++; n < e.length && F(e.charCodeAt(n)); ) n++;
else return b = 3, e.substring(u2, n);
let m2 = n;
if (n < e.length && (e.charCodeAt(n) === 69 || e.charCodeAt(n) === 101)) if (n++, (n < e.length && e.charCodeAt(n) === 43 || e.charCodeAt(n) === 45) && n++, n < e.length && F(e.charCodeAt(n))) {
for (n++; n < e.length && F(e.charCodeAt(n)); ) n++;
m2 = n;
} else b = 3;
return e.substring(u2, m2);
}
l(O2, "scanNumber");
function w2() {
let u2 = "", m2 = n;
for (; ; ) {
if (n >= i) {
u2 += e.substring(m2, n), b = 2;
break;
}
const g = e.charCodeAt(n);
if (g === 34) {
u2 += e.substring(m2, n), n++;
break;
}
if (g === 92) {
if (u2 += e.substring(m2, n), n++, n >= i) {
b = 2;
break;
}
switch (e.charCodeAt(n++)) {
case 34:
u2 += '"';
break;
case 92:
u2 += "\\";
break;
case 47:
u2 += "/";
break;
case 98:
u2 += "\b";
break;
case 102:
u2 += "\f";
break;
case 110:
u2 += `
`;
break;
case 114:
u2 += "\r";
break;
case 116:
u2 += " ";
break;
case 117:
const j = A2(4, true);
j >= 0 ? u2 += String.fromCharCode(j) : b = 4;
break;
default:
b = 5;
}
m2 = n;
continue;
}
if (g >= 0 && g <= 31) if (x(g)) {
u2 += e.substring(m2, n), b = 2;
break;
} else b = 6;
n++;
}
return u2;
}
l(w2, "scanString");
function $() {
if (o = "", b = 0, s2 = n, c = f2, v2 = a2, n >= i) return s2 = i, r = 17;
let u2 = e.charCodeAt(n);
if (R2(u2)) {
do
n++, o += String.fromCharCode(u2), u2 = e.charCodeAt(n);
while (R2(u2));
return r = 15;
}
if (x(u2)) return n++, o += String.fromCharCode(u2), u2 === 13 && e.charCodeAt(n) === 10 && (n++, o += `
`), f2++, a2 = n, r = 14;
switch (u2) {
case 123:
return n++, r = 1;
case 125:
return n++, r = 2;
case 91:
return n++, r = 3;
case 93:
return n++, r = 4;
case 58:
return n++, r = 6;
case 44:
return n++, r = 5;
case 34:
return n++, o = w2(), r = 10;
case 47:
const m2 = n - 1;
if (e.charCodeAt(n + 1) === 47) {
for (n += 2; n < i && !x(e.charCodeAt(n)); ) n++;
return o = e.substring(m2, n), r = 12;
}
if (e.charCodeAt(n + 1) === 42) {
n += 2;
const g = i - 1;
let B = false;
for (; n < g; ) {
const j = e.charCodeAt(n);
if (j === 42 && e.charCodeAt(n + 1) === 47) {
n += 2, B = true;
break;
}
n++, x(j) && (j === 13 && e.charCodeAt(n) === 10 && n++, f2++, a2 = n);
}
return B || (n++, b = 1), o = e.substring(m2, n), r = 13;
}
return o += String.fromCharCode(u2), n++, r = 16;
case 45:
if (o += String.fromCharCode(u2), n++, n === i || !F(e.charCodeAt(n))) return r = 16;
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
return o += O2(), r = 11;
default:
for (; n < i && E2(u2); ) n++, u2 = e.charCodeAt(n);
if (s2 !== n) {
switch (o = e.substring(s2, n), o) {
case "true":
return r = 8;
case "false":
return r = 9;
case "null":
return r = 7;
}
return r = 16;
}
return o += String.fromCharCode(u2), n++, r = 16;
}
}
l($, "scanNext");
function E2(u2) {
if (R2(u2) || x(u2)) return false;
switch (u2) {
case 125:
case 93:
case 123:
case 91:
case 34:
case 58:
case 44:
case 47:
return false;
}
return true;
}
l(E2, "isUnknownContentCharacter");
function U() {
let u2;
do
u2 = $();
while (u2 >= 12 && u2 <= 15);
return u2;
}
return l(U, "scanNextNonTrivia"), { setPosition: T, getPosition: l(() => n, "getPosition"), scan: t ? U : $, getToken: l(() => r, "getToken"), getTokenValue: l(() => o, "getTokenValue"), getTokenOffset: l(() => s2, "getTokenOffset"), getTokenLength: l(() => n - s2, "getTokenLength"), getTokenStartLine: l(() => c, "getTokenStartLine"), getTokenStartCharacter: l(() => s2 - v2, "getTokenStartCharacter"), getTokenError: l(() => b, "getTokenError") };
}
l(je, "createScanner");
function R2(e) {
return e === 32 || e === 9;
}
l(R2, "isWhiteSpace");
function x(e) {
return e === 10 || e === 13;
}
l(x, "isLineBreak");
function F(e) {
return e >= 48 && e <= 57;
}
l(F, "isDigit");
var ne;
(function(e) {
e[e.lineFeed = 10] = "lineFeed", e[e.carriageReturn = 13] = "carriageReturn", e[e.space = 32] = "space", e[e._0 = 48] = "_0", e[e._1 = 49] = "_1", e[e._2 = 50] = "_2", e[e._3 = 51] = "_3", e[e._4 = 52] = "_4", e[e._5 = 53] = "_5", e[e._6 = 54] = "_6", e[e._7 = 55] = "_7", e[e._8 = 56] = "_8", e[e._9 = 57] = "_9", e[e.a = 97] = "a", e[e.b = 98] = "b", e[e.c = 99] = "c", e[e.d = 100] = "d", e[e.e = 101] = "e", e[e.f = 102] = "f", e[e.g = 103] = "g", e[e.h = 104] = "h", e[e.i = 105] = "i", e[e.j = 106] = "j", e[e.k = 107] = "k", e[e.l = 108] = "l", e[e.m = 109] = "m", e[e.n = 110] = "n", e[e.o = 111] = "o", e[e.p = 112] = "p", e[e.q = 113] = "q", e[e.r = 114] = "r", e[e.s = 115] = "s", e[e.t = 116] = "t", e[e.u = 117] = "u", e[e.v = 118] = "v", e[e.w = 119] = "w", e[e.x = 120] = "x", e[e.y = 121] = "y", e[e.z = 122] = "z", e[e.A = 65] = "A", e[e.B = 66] = "B", e[e.C = 67] = "C", e[e.D = 68] = "D", e[e.E = 69] = "E", e[e.F = 70] = "F", e[e.G = 71] = "G", e[e.H = 72] = "H", e[e.I = 73] = "I", e[e.J = 74] = "J", e[e.K = 75] = "K", e[e.L = 76] = "L", e[e.M = 77] = "M", e[e.N = 78] = "N", e[e.O = 79] = "O", e[e.P = 80] = "P", e[e.Q = 81] = "Q", e[e.R = 82] = "R", e[e.S = 83] = "S", e[e.T = 84] = "T", e[e.U = 85] = "U", e[e.V = 86] = "V", e[e.W = 87] = "W", e[e.X = 88] = "X", e[e.Y = 89] = "Y", e[e.Z = 90] = "Z", e[e.asterisk = 42] = "asterisk", e[e.backslash = 92] = "backslash", e[e.closeBrace = 125] = "closeBrace", e[e.closeBracket = 93] = "closeBracket", e[e.colon = 58] = "colon", e[e.comma = 44] = "comma", e[e.dot = 46] = "dot", e[e.doubleQuote = 34] = "doubleQuote", e[e.minus = 45] = "minus", e[e.openBrace = 123] = "openBrace", e[e.openBracket = 91] = "openBracket", e[e.plus = 43] = "plus", e[e.slash = 47] = "slash", e[e.formFeed = 12] = "formFeed", e[e.tab = 9] = "tab";
})(ne || (ne = {})), new Array(20).fill(0).map((e, t) => " ".repeat(t));
var N = 200;
new Array(N).fill(0).map((e, t) => `
` + " ".repeat(t)), new Array(N).fill(0).map((e, t) => "\r" + " ".repeat(t)), new Array(N).fill(0).map((e, t) => `\r
` + " ".repeat(t)), new Array(N).fill(0).map((e, t) => `
` + " ".repeat(t)), new Array(N).fill(0).map((e, t) => "\r" + " ".repeat(t)), new Array(N).fill(0).map((e, t) => `\r
` + " ".repeat(t));
var V;
(function(e) {
e.DEFAULT = { allowTrailingComma: false };
})(V || (V = {}));
function _e(e, t = [], i = V.DEFAULT) {
let n = null, o = [];
const s2 = [];
function r(c) {
Array.isArray(o) ? o.push(c) : n !== null && (o[n] = c);
}
return l(r, "onValue"), $e(e, { onObjectBegin: l(() => {
const c = {};
r(c), s2.push(o), o = c, n = null;
}, "onObjectBegin"), onObjectProperty: l((c) => {
n = c;
}, "onObjectProperty"), onObjectEnd: l(() => {
o = s2.pop();
}, "onObjectEnd"), onArrayBegin: l(() => {
const c = [];
r(c), s2.push(o), o = c, n = null;
}, "onArrayBegin"), onArrayEnd: l(() => {
o = s2.pop();
}, "onArrayEnd"), onLiteralValue: r, onError: l((c, a2, v2) => {
t.push({ error: c, offset: a2, length: v2 });
}, "onError") }, i), o[0];
}
l(_e, "parse$1");
function $e(e, t, i = V.DEFAULT) {
const n = je(e, false), o = [];
function s2(k) {
return k ? () => k(n.getTokenOffset(), n.getTokenLength(), n.getTokenStartLine(), n.getTokenStartCharacter()) : () => true;
}
l(s2, "toNoArgVisit");
function r(k) {
return k ? () => k(n.getTokenOffset(), n.getTokenLength(), n.getTokenStartLine(), n.getTokenStartCharacter(), () => o.slice()) : () => true;
}
l(r, "toNoArgVisitWithPath");
function f2(k) {
return k ? (_2) => k(_2, n.getTokenOffset(), n.getTokenLength(), n.getTokenStartLine(), n.getTokenStartCharacter()) : () => true;
}
l(f2, "toOneArgVisit");
function c(k) {
return k ? (_2) => k(_2, n.getTokenOffset(), n.getTokenLength(), n.getTokenStartLine(), n.getTokenStartCharacter(), () => o.slice()) : () => true;
}
l(c, "toOneArgVisitWithPath");
const a2 = r(t.onObjectBegin), v2 = c(t.onObjectProperty), b = s2(t.onObjectEnd), A2 = r(t.onArrayBegin), T = s2(t.onArrayEnd), O2 = c(t.onLiteralValue), w2 = f2(t.onSeparator), $ = s2(t.onComment), E2 = f2(t.onError), U = i && i.disallowComments, u2 = i && i.allowTrailingComma;
function m2() {
for (; ; ) {
const k = n.scan();
switch (n.getTokenError()) {
case 4:
g(14);
break;
case 5:
g(15);
break;
case 3:
g(13);
break;
case 1:
U || g(11);
break;
case 2:
g(12);
break;
case 6:
g(16);
break;
}
switch (k) {
case 12:
case 13:
U ? g(10) : $();
break;
case 16:
g(1);
break;
case 15:
case 14:
break;
default:
return k;
}
}
}
l(m2, "scanNext");
function g(k, _2 = [], K = []) {
if (E2(k), _2.length + K.length > 0) {
let S = n.getToken();
for (; S !== 17; ) {
if (_2.indexOf(S) !== -1) {
m2();
break;
} else if (K.indexOf(S) !== -1) break;
S = m2();
}
}
}
l(g, "handleError");
function B(k) {
const _2 = n.getTokenValue();
return k ? O2(_2) : (v2(_2), o.push(_2)), m2(), true;
}
l(B, "parseString");
function j() {
switch (n.getToken()) {
case 11:
const k = n.getTokenValue();
let _2 = Number(k);
isNaN(_2) && (g(2), _2 = 0), O2(_2);
break;
case 7:
O2(null);
break;
case 8:
O2(true);
break;
case 9:
O2(false);
break;
default:
return false;
}
return m2(), true;
}
l(j, "parseLiteral");
function me() {
return n.getToken() !== 10 ? (g(3, [], [2, 5]), false) : (B(false), n.getToken() === 6 ? (w2(":"), m2(), d2() || g(4, [], [2, 5])) : g(5, [], [2, 5]), o.pop(), true);
}
l(me, "parseProperty");
function ke() {
a2(), m2();
let k = false;
for (; n.getToken() !== 2 && n.getToken() !== 17; ) {
if (n.getToken() === 5) {
if (k || g(4, [], []), w2(","), m2(), n.getToken() === 2 && u2) break;
} else k && g(6, [], []);
me() || g(4, [], [2, 5]), k = true;
}
return b(), n.getToken() !== 2 ? g(7, [2], []) : m2(), true;
}
l(ke, "parseObject");
function be() {
A2(), m2();
let k = true, _2 = false;
for (; n.getToken() !== 4 && n.getToken() !== 17; ) {
if (n.getToken() === 5) {
if (_2 || g(4, [], []), w2(","), m2(), n.getToken() === 4 && u2) break;
} else _2 && g(6, [], []);
k ? (o.push(0), k = false) : o[o.length - 1]++, d2() || g(4, [], [4, 5]), _2 = true;
}
return T(), k || o.pop(), n.getToken() !== 4 ? g(8, [4], []) : m2(), true;
}
l(be, "parseArray");
function d2() {
switch (n.getToken()) {
case 3:
return be();
case 1:
return ke();
case 10:
return B(true);
default:
return j();
}
}
return l(d2, "parseValue"), m2(), n.getToken() === 17 ? i.allowEmptyContent ? true : (g(4, [], []), false) : d2() ? (n.getToken() !== 17 && g(9, [], []), true) : (g(4, [], []), false);
}
l($e, "visit");
var te;
(function(e) {
e[e.None = 0] = "None", e[e.UnexpectedEndOfComment = 1] = "UnexpectedEndOfComment", e[e.UnexpectedEndOfString = 2] = "UnexpectedEndOfString", e[e.UnexpectedEndOfNumber = 3] = "UnexpectedEndOfNumber", e[e.InvalidUnicode = 4] = "InvalidUnicode", e[e.InvalidEscapeCharacter = 5] = "InvalidEscapeCharacter", e[e.InvalidCharacter = 6] = "InvalidCharacter";
})(te || (te = {}));
var ie;
(function(e) {
e[e.OpenBraceToken = 1] = "OpenBraceToken", e[e.CloseBraceToken = 2] = "CloseBraceToken", e[e.OpenBracketToken = 3] = "OpenBracketToken", e[e.CloseBracketToken = 4] = "CloseBracketToken", e[e.CommaToken = 5] = "CommaToken", e[e.ColonToken = 6] = "ColonToken", e[e.NullKeyword = 7] = "NullKeyword", e[e.TrueKeyword = 8] = "TrueKeyword", e[e.FalseKeyword = 9] = "FalseKeyword", e[e.StringLiteral = 10] = "StringLiteral", e[e.NumericLiteral = 11] = "NumericLiteral", e[e.LineCommentTrivia = 12] = "LineCommentTrivia", e[e.BlockCommentTrivia = 13] = "BlockCommentTrivia", e[e.LineBreakTrivia = 14] = "LineBreakTrivia", e[e.Trivia = 15] = "Trivia", e[e.Unknown = 16] = "Unknown", e[e.EOF = 17] = "EOF";
})(ie || (ie = {}));
var Be = _e;
var oe;
(function(e) {
e[e.InvalidSymbol = 1] = "InvalidSymbol", e[e.InvalidNumberFormat = 2] = "InvalidNumberFormat", e[e.PropertyNameExpected = 3] = "PropertyNameExpected", e[e.ValueExpected = 4] = "ValueExpected", e[e.ColonExpected = 5] = "ColonExpected", e[e.CommaExpected = 6] = "CommaExpected", e[e.CloseBraceExpected = 7] = "CloseBraceExpected", e[e.CloseBracketExpected = 8] = "CloseBracketExpected", e[e.EndOfFileExpected = 9] = "EndOfFileExpected", e[e.InvalidCommentToken = 10] = "InvalidCommentToken", e[e.UnexpectedEndOfComment = 11] = "UnexpectedEndOfComment", e[e.UnexpectedEndOfString = 12] = "UnexpectedEndOfString", e[e.UnexpectedEndOfNumber = 13] = "UnexpectedEndOfNumber", e[e.InvalidUnicode = 14] = "InvalidUnicode", e[e.InvalidEscapeCharacter = 15] = "InvalidEscapeCharacter", e[e.InvalidCharacter = 16] = "InvalidCharacter";
})(oe || (oe = {}));
var se = l((e, t) => Be(Ae(t, e, "utf8")), "readJsonc");
var G = Symbol("implicitBaseUrl");
var D = "${configDir}";
var Le = l(() => {
const { findPnpApi: e } = Te;
return e && e(process.cwd());
}, "getPnpApi");
var z = l((e, t, i, n) => {
const o = `resolveFromPackageJsonPath:${e}:${t}:${i}`;
if (n != null && n.has(o)) return n.get(o);
const s2 = se(e, n);
if (!s2) return;
let r = t || "tsconfig.json";
if (!i && s2.exports) try {
const [f2] = v(s2.exports, t, ["require", "types"]);
r = f2;
} catch {
return false;
}
else !t && s2.tsconfig && (r = s2.tsconfig);
return r = p2.join(e, "..", r), n == null || n.set(o, r), r;
}, "resolveFromPackageJsonPath");
var Q = "package.json";
var H = "tsconfig.json";
var ye = l((e, t, i) => {
let n = e;
if (e === ".." && (n = p2.join(n, H)), e[0] === "." && (n = p2.resolve(t, n)), p2.isAbsolute(n)) {
if (y(i, n)) {
if (I2(i, n).isFile()) return n;
} else if (!n.endsWith(".json")) {
const T = `${n}.json`;
if (y(i, T)) return T;
}
return;
}
const [o, ...s2] = e.split("/"), r = o[0] === "@" ? `${o}/${s2.shift()}` : o, f2 = s2.join("/"), c = Le();
if (c) {
const { resolveRequest: T } = c;
try {
if (r === e) {
const O2 = T(p2.join(r, Q), t);
if (O2) {
const w2 = z(O2, f2, false, i);
if (w2 && y(i, w2)) return w2;
}
} else {
let O2;
try {
O2 = T(e, t, { extensions: [".json"] });
} catch {
O2 = T(p2.join(e, H), t);
}
if (O2) return O2;
}
} catch {
}
}
const a2 = ee(p2.resolve(t), p2.join("node_modules", r), i);
if (!a2 || !I2(i, a2).isDirectory()) return;
const v2 = p2.join(a2, Q);
if (y(i, v2)) {
const T = z(v2, f2, false, i);
if (T === false) return;
if (T && y(i, T) && I2(i, T).isFile()) return T;
}
const b = p2.join(a2, f2), A2 = b.endsWith(".json");
if (!A2) {
const T = `${b}.json`;
if (y(i, T)) return T;
}
if (y(i, b)) {
if (I2(i, b).isDirectory()) {
const T = p2.join(b, Q);
if (y(i, T)) {
const w2 = z(T, "", true, i);
if (w2 && y(i, w2)) return w2;
}
const O2 = p2.join(b, H);
if (y(i, O2)) return O2;
} else if (A2) return b;
}
}, "resolveExtendsPath");
var le = ["files", "include", "exclude"];
var Ee = l((e, t, i, n) => {
const o = ye(e, t, n);
if (!o) throw new Error(`File '${e}' not found.`);
if (i.has(o)) throw new Error(`Circularity detected while resolving configuration: ${o}`);
i.add(o);
const s2 = p2.dirname(o), r = re(o, n, i);
delete r.references;
const { compilerOptions: f2 } = r;
if (f2) {
const { baseUrl: c } = f2;
c && (f2.baseUrl = L(p2.relative(t, p2.join(s2, c))) || "./");
let { outDir: a2 } = f2;
a2 && (a2.startsWith(D) || (a2 = p2.relative(t, p2.join(s2, a2))), f2.outDir = L(a2) || "./");
}
for (const c of le) {
const a2 = r[c];
a2 && (r[c] = a2.map((v2) => v2.startsWith(D) ? v2 : L(p2.relative(t, p2.join(s2, v2)))));
}
return r;
}, "resolveExtends");
var re = l((e, t, i = /* @__PURE__ */ new Set()) => {
let n;
try {
n = se(e, t) || {};
} catch {
throw new Error(`Cannot resolve tsconfig at path: ${e}`);
}
if (typeof n != "object") throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);
const o = p2.dirname(e);
if (n.compilerOptions) {
const { compilerOptions: s2 } = n;
s2.paths && !s2.baseUrl && (s2[G] = o);
}
if (n.extends) {
const s2 = Array.isArray(n.extends) ? n.extends : [n.extends];
delete n.extends;
for (const r of s2.reverse()) {
const f2 = Ee(r, o, new Set(i), t), c = { ...f2, ...n, compilerOptions: { ...f2.compilerOptions, ...n.compilerOptions } };
f2.watchOptions && (c.watchOptions = { ...f2.watchOptions, ...n.watchOptions }), n = c;
}
}
if (n.compilerOptions) {
const { compilerOptions: s2 } = n, r = ["baseUrl", "rootDir"];
for (const c of r) {
const a2 = s2[c];
if (a2) {
const v2 = p2.resolve(o, a2), b = P(p2.relative(o, v2));
s2[c] = b;
}
}
let { outDir: f2 } = s2;
f2 && (Array.isArray(n.exclude) || (n.exclude = []), n.exclude.includes(f2) || n.exclude.push(f2), f2.startsWith(D) || (f2 = P(f2)), s2.outDir = f2);
} else n.compilerOptions = {};
if (n.include ? (n.include = n.include.map(L), n.files && delete n.files) : n.files && (n.files = n.files.map((s2) => s2.startsWith(D) ? s2 : P(s2))), n.watchOptions) {
const { watchOptions: s2 } = n;
s2.excludeDirectories && (s2.excludeDirectories = s2.excludeDirectories.map((r) => L(p2.resolve(o, r))));
}
return n;
}, "_parseTsconfig");
var X = l((e, t) => {
if (e.startsWith(D)) return L(p2.join(t, e.slice(D.length)));
}, "interpolateConfigDir");
var ue = l((e, t = /* @__PURE__ */ new Map()) => {
const i = p2.resolve(e), n = re(i, t), o = p2.dirname(i);
if (n.compilerOptions) {
let { outDir: s2 } = n.compilerOptions;
if (s2) {
const f2 = X(s2, o);
f2 && (s2 = P(p2.relative(o, f2)), n.compilerOptions.outDir = s2);
}
const { paths: r } = n.compilerOptions;
if (r) for (const f2 of Object.keys(r)) r[f2] = r[f2].map((c) => {
var a2;
return (a2 = X(c, o)) != null ? a2 : c;
});
}
for (const s2 of le) n[s2] && (n[s2] = n[s2].map((r) => {
var f2;
return (f2 = X(r, o)) != null ? f2 : r;
}));
return n;
}, "parseTsconfig");
var Ue = l((e = process.cwd(), t = "tsconfig.json", i = /* @__PURE__ */ new Map()) => {
const n = ee(L(e), t, i);
if (!n) return null;
const o = ue(n, i);
return { path: n, config: o };
}, "getTsconfig");
var Fe = /\*/g;
var fe = l((e, t) => {
const i = e.match(Fe);
if (i && i.length > 1) throw new Error(t);
}, "assertStarCount");
var Ne = l((e) => {
if (e.includes("*")) {
const [t, i] = e.split("*");
return { prefix: t, suffix: i };
}
return e;
}, "parsePattern");
var De = l(({ prefix: e, suffix: t }, i) => i.startsWith(e) && i.endsWith(t), "isPatternMatch");
var xe = l((e, t, i) => Object.entries(e).map(([n, o]) => (fe(n, `Pattern '${n}' can have at most one '*' character.`), { pattern: Ne(n), substitutions: o.map((s2) => {
if (fe(s2, `Substitution '${s2}' in pattern '${n}' can have at most one '*' character.`), !t && !M.test(s2)) throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");
return p2.resolve(i, s2);
}) })), "parsePaths");
var Se = l((e) => {
const { compilerOptions: t } = e.config;
if (!t) return null;
const { baseUrl: i, paths: n } = t;
if (!i && !n) return null;
const o = G in t && t[G], s2 = p2.resolve(p2.dirname(e.path), i || o || "."), r = n ? xe(n, i, s2) : [];
return (f2) => {
if (M.test(f2)) return [];
const c = [];
for (const A2 of r) {
if (A2.pattern === f2) return A2.substitutions.map(L);
typeof A2.pattern != "string" && c.push(A2);
}
let a2, v2 = -1;
for (const A2 of c) De(A2.pattern, f2) && A2.pattern.prefix.length > v2 && (v2 = A2.pattern.prefix.length, a2 = A2);
if (!a2) return i ? [L(p2.join(s2, f2))] : [];
const b = f2.slice(a2.pattern.prefix.length, f2.length - a2.pattern.suffix.length);
return a2.substitutions.map((A2) => L(A2.replace("*", b)));
};
}, "createPathsMatcher");
var ce = l((e) => {
let t = "";
for (let i = 0; i < e.length; i += 1) {
const n = e[i], o = n.toUpperCase();
t += n === o ? n.toLowerCase() : o;
}
return t;
}, "s");
var Ie = 65;
var Pe = 97;
var Ve = l(() => Math.floor(Math.random() * 26), "m");
var We = l((e) => Array.from({ length: e }, () => String.fromCodePoint(Ve() + (Math.random() > 0.5 ? Ie : Pe))).join(""), "S");
var he = l((e = Oe) => {
const t = process.execPath;
if (e.existsSync(t)) return !e.existsSync(ce(t));
const i = `/${We(10)}`;
e.writeFileSync(i, "");
const n = !e.existsSync(ce(i));
return e.unlinkSync(i), n;
}, "l");
var { join: W } = p2.posix;
var Y = { ts: [".ts", ".tsx", ".d.ts"], cts: [".cts", ".d.cts"], mts: [".mts", ".d.mts"] };
var de = l((e) => {
const t = [...Y.ts], i = [...Y.cts], n = [...Y.mts];
return e != null && e.allowJs && (t.push(".js", ".jsx"), i.push(".cjs"), n.push(".mjs")), [...t, ...i, ...n];
}, "getSupportedExtensions");
var Je = l((e) => {
const t = [];
if (!e) return t;
const { outDir: i, declarationDir: n } = e;
return i && t.push(i), n && t.push(n), t;
}, "getDefaultExcludeSpec");
var pe = l((e) => e.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`), "escapeForRegexp");
var Me = ["node_modules", "bower_components", "jspm_packages"];
var Z = `(?!(${Me.join("|")})(/|$))`;
var Re = /(?:^|\/)[^.*?]+$/;
var ae = "**/*";
var h2 = "[^/]";
var q = "[^./]";
var ge = process.platform === "win32";
var Ge = l(({ config: e, path: t }, i = he()) => {
if ("extends" in e) throw new Error("tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.");
if (!p2.isAbsolute(t)) throw new Error("The tsconfig path must be absolute");
ge && (t = L(t));
const n = p2.dirname(t), { files: o, include: s2, exclude: r, compilerOptions: f2 } = e, c = o == null ? void 0 : o.map((w2) => W(n, w2)), a2 = de(f2), v2 = i ? "" : "i", A2 = (r || Je(f2)).map((w2) => {
const $ = W(n, w2), E2 = pe($).replaceAll(String.raw`\*\*/`, "(.+/)?").replaceAll(String.raw`\*`, `${h2}*`).replaceAll(String.raw`\?`, h2);
return new RegExp(`^${E2}($|/)`, v2);
}), T = o || s2 ? s2 : [ae], O2 = T ? T.map((w2) => {
let $ = W(n, w2);
Re.test($) && ($ = W($, ae));
const E2 = pe($).replaceAll(String.raw`/\*\*`, `(/${Z}${q}${h2}*)*?`).replaceAll(/(\/)?\\\*/g, (U, u2) => {
const m2 = `(${q}|(\\.(?!min\\.js$))?)*`;
return u2 ? `/${Z}${q}${m2}` : m2;
}).replaceAll(/(\/)?\\\?/g, (U, u2) => {
const m2 = h2;
return u2 ? `/${Z}${m2}` : m2;
});
return new RegExp(`^${E2}$`, v2);
}) : void 0;
return (w2) => {
if (!p2.isAbsolute(w2)) throw new Error("filePath must be absolute");
if (ge && (w2 = L(w2)), c != null && c.includes(w2)) return e;
if (!(!a2.some(($) => w2.endsWith($)) || A2.some(($) => $.test(w2))) && O2 && O2.some(($) => $.test(w2))) return e;
};
}, "createFilesMatcher");
// src/cli/util/ExternalPlugin.ts
function externalPlugin(cwd) {
return {
name: "external",
setup(build) {
const tsConfig = Ue(cwd);
const rootDir = tsConfig && normalize(dirname(tsConfig.path));
const pathsMatcher = tsConfig && Se(tsConfig);
build.onResolve({ filter: /^[^\.].*/ }, async ({ path, ...args }) => {
if (path === "alinea/next") return { path: "alinea/core", external: true };
if (args.kind === "entry-point") return;
const extern = { path, external: true };
if (!tsConfig || !rootDir || !pathsMatcher) return extern;
const tryPaths = pathsMatcher(path);
if (tryPaths.length === 0) return extern;
for (const attempt of tryPaths) {
const location = relative(rootDir, attempt);
const resolved = await build.resolve(`./${location}`, {
kind: args.kind,
resolveDir: rootDir
});
if (resolved.errors.length === 0) return resolved;
}
return extern;
});
}
};
}
export {
externalPlugin
};