UNPKG

alinea

Version:
811 lines (805 loc) 30 kB
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 };