@incajs/cli 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -9,25 +9,25 @@ import { chmod as C, cp as w, link as te, mkdir as T, readFile as E, readdir as
9
9
  import { fileURLToPath as re, pathToFileURL as ie } from "node:url";
10
10
  import { homedir as k } from "node:os";
11
11
  import { createRequire as ae } from "node:module";
12
- import { spawn as oe } from "node:child_process";
12
+ import { spawn as oe, spawnSync as se } from "node:child_process";
13
13
  import { once as A } from "node:events";
14
- import se from "node:readline";
15
- import { setTimeout as ce } from "node:timers/promises";
16
- import { DevEnvironment as le, build as ue, buildErrorMessage as de, createServer as fe } from "vite";
17
- import pe from "@vitejs/plugin-vue";
18
- import { randomUUID as me } from "node:crypto";
14
+ import ce from "node:readline";
15
+ import { setTimeout as le } from "node:timers/promises";
16
+ import { DevEnvironment as ue, build as de, buildErrorMessage as fe, createServer as pe } from "vite";
17
+ import me from "@vitejs/plugin-vue";
18
+ import { randomUUID as he } from "node:crypto";
19
19
  //#region ../../node_modules/.pnpm/citty@0.2.2/node_modules/citty/dist/_chunks/libs/scule.mjs
20
- var he = /\d/, ge = [
20
+ var ge = /\d/, _e = [
21
21
  "-",
22
22
  "_",
23
23
  "/",
24
24
  "."
25
25
  ];
26
- function _e(e = "") {
27
- if (!he.test(e)) return e !== e.toLowerCase();
26
+ function ve(e = "") {
27
+ if (!ge.test(e)) return e !== e.toLowerCase();
28
28
  }
29
- function ve(e, t) {
30
- let n = t ?? ge, r = [];
29
+ function ye(e, t) {
30
+ let n = t ?? _e, r = [];
31
31
  if (!e || typeof e != "string") return r;
32
32
  let i = "", a, o;
33
33
  for (let t of e) {
@@ -36,7 +36,7 @@ function ve(e, t) {
36
36
  r.push(i), i = "", a = void 0;
37
37
  continue;
38
38
  }
39
- let s = _e(t);
39
+ let s = ve(t);
40
40
  if (o === !1) {
41
41
  if (a === !1 && s === !0) {
42
42
  r.push(i), i = t, a = s;
@@ -52,30 +52,30 @@ function ve(e, t) {
52
52
  }
53
53
  return r.push(i), r;
54
54
  }
55
- function ye(e) {
55
+ function be(e) {
56
56
  return e ? e[0].toUpperCase() + e.slice(1) : "";
57
57
  }
58
- function be(e) {
58
+ function xe(e) {
59
59
  return e ? e[0].toLowerCase() + e.slice(1) : "";
60
60
  }
61
- function xe(e, t) {
62
- return e ? (Array.isArray(e) ? e : ve(e)).map((e) => ye(t?.normalize ? e.toLowerCase() : e)).join("") : "";
61
+ function Se(e, t) {
62
+ return e ? (Array.isArray(e) ? e : ye(e)).map((e) => be(t?.normalize ? e.toLowerCase() : e)).join("") : "";
63
63
  }
64
64
  function j(e, t) {
65
- return be(xe(e || "", t));
65
+ return xe(Se(e || "", t));
66
66
  }
67
- function Se(e, t) {
68
- return e ? (Array.isArray(e) ? e : ve(e)).map((e) => e.toLowerCase()).join(t ?? "-") : "";
67
+ function Ce(e, t) {
68
+ return e ? (Array.isArray(e) ? e : ye(e)).map((e) => e.toLowerCase()).join(t ?? "-") : "";
69
69
  }
70
- function Ce(e) {
71
- return Se(e || "", "_");
70
+ function we(e) {
71
+ return Ce(e || "", "_");
72
72
  }
73
73
  //#endregion
74
74
  //#region ../../node_modules/.pnpm/citty@0.2.2/node_modules/citty/dist/index.mjs
75
75
  function M(e) {
76
76
  return Array.isArray(e) ? e : e === void 0 ? [] : [e];
77
77
  }
78
- function we(e, t = "") {
78
+ function Te(e, t = "") {
79
79
  let n = [];
80
80
  for (let t of e) for (let [e, r] of t.entries()) n[e] = Math.max(n[e] || 0, r.length);
81
81
  return e.map((e) => e.map((e, r) => t + e[r === 0 ? "padStart" : "padEnd"](n[r])).join(" ")).join("\n");
@@ -89,7 +89,7 @@ var P = class extends Error {
89
89
  super(e), this.name = "CLIError", this.code = t;
90
90
  }
91
91
  };
92
- function Te(e = [], t = {}) {
92
+ function Ee(e = [], t = {}) {
93
93
  let n = new Set(t.boolean || []), r = new Set(t.string || []), i = t.alias || {}, a = t.default || {}, o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
94
94
  for (let [e, t] of Object.entries(i)) {
95
95
  let n = t;
@@ -162,28 +162,28 @@ function Te(e = [], t = {}) {
162
162
  for (let [e, t] of o.entries()) h[e] !== void 0 && h[t] === void 0 && (h[t] = h[e]), h[t] !== void 0 && h[e] === void 0 && (h[e] = h[t]), h[e] !== h[t] && a[t] === h[t] && (h[t] = h[e]);
163
163
  return h;
164
164
  }
165
- var Ee = /* @__PURE__ */ (() => {
165
+ var De = /* @__PURE__ */ (() => {
166
166
  let e = globalThis.process?.env ?? {};
167
167
  return e.NO_COLOR === "1" || e.TERM === "dumb" || e.TEST || e.CI;
168
- })(), F = (e, t = 39) => (n) => Ee ? n : `\u001B[${e}m${n}\u001B[${t}m`, I = /* @__PURE__ */ F(1, 22), L = /* @__PURE__ */ F(36), R = /* @__PURE__ */ F(90), z = /* @__PURE__ */ F(4, 24);
169
- function De(e, t) {
168
+ })(), F = (e, t = 39) => (n) => De ? n : `\u001B[${e}m${n}\u001B[${t}m`, I = /* @__PURE__ */ F(1, 22), L = /* @__PURE__ */ F(36), R = /* @__PURE__ */ F(90), z = /* @__PURE__ */ F(4, 24);
169
+ function Oe(e, t) {
170
170
  let n = {
171
171
  boolean: [],
172
172
  string: [],
173
173
  alias: {},
174
174
  default: {}
175
- }, r = Oe(t);
175
+ }, r = ke(t);
176
176
  for (let e of r) {
177
177
  if (e.type === "positional") continue;
178
178
  e.type === "string" || e.type === "enum" ? n.string.push(e.name) : e.type === "boolean" && n.boolean.push(e.name), e.default !== void 0 && (n.default[e.name] = e.default), e.alias && (n.alias[e.name] = e.alias);
179
- let t = j(e.name), r = Se(e.name);
179
+ let t = j(e.name), r = Ce(e.name);
180
180
  if (t !== e.name || r !== e.name) {
181
181
  let i = M(n.alias[e.name] || []);
182
182
  t !== e.name && !i.includes(t) && i.push(t), r !== e.name && !i.includes(r) && i.push(r), i.length > 0 && (n.alias[e.name] = i);
183
183
  }
184
184
  }
185
- let i = Te(e, n), [ ...a] = i._, o = new Proxy(i, { get(e, t) {
186
- return e[t] ?? e[j(t)] ?? e[Se(t)];
185
+ let i = Ee(e, n), [ ...a] = i._, o = new Proxy(i, { get(e, t) {
186
+ return e[t] ?? e[j(t)] ?? e[Ce(t)];
187
187
  } });
188
188
  for (let [, e] of r.entries()) if (e.type === "positional") {
189
189
  let t = a.shift();
@@ -196,7 +196,7 @@ function De(e, t) {
196
196
  } else if (e.required && o[e.name] === void 0) throw new P(`Missing required argument: --${e.name}`, "EARG");
197
197
  return o;
198
198
  }
199
- function Oe(e) {
199
+ function ke(e) {
200
200
  let t = [];
201
201
  for (let [n, r] of Object.entries(e || {})) t.push({
202
202
  ...r,
@@ -205,25 +205,25 @@ function Oe(e) {
205
205
  });
206
206
  return t;
207
207
  }
208
- async function ke(e) {
208
+ async function Ae(e) {
209
209
  return Promise.all(e.map((e) => N(e)));
210
210
  }
211
211
  function B(e) {
212
212
  return e;
213
213
  }
214
214
  async function V(e, t) {
215
- let n = await N(e.args || {}), r = De(t.rawArgs, n), i = {
215
+ let n = await N(e.args || {}), r = Oe(t.rawArgs, n), i = {
216
216
  rawArgs: t.rawArgs,
217
217
  args: r,
218
218
  data: t.data,
219
219
  cmd: e
220
- }, a = await ke(e.plugins ?? []), o, s;
220
+ }, a = await Ae(e.plugins ?? []), o, s;
221
221
  try {
222
222
  for (let e of a) await e.setup?.(i);
223
223
  typeof e.setup == "function" && await e.setup(i);
224
224
  let r = await N(e.subCommands);
225
225
  if (r && Object.keys(r).length > 0) {
226
- let i = Ae(t.rawArgs, n), a = t.rawArgs[i];
226
+ let i = je(t.rawArgs, n), a = t.rawArgs[i];
227
227
  if (a) {
228
228
  let e = await U(r, a);
229
229
  if (!e) throw new P(`Unknown command ${L(a)}`, "E_UNKNOWN_COMMAND");
@@ -261,7 +261,7 @@ async function V(e, t) {
261
261
  async function H(e, t, n) {
262
262
  let r = await N(e.subCommands);
263
263
  if (r && Object.keys(r).length > 0) {
264
- let n = Ae(t, await N(e.args || {})), i = t[n], a = await U(r, i);
264
+ let n = je(t, await N(e.args || {})), i = t[n], a = await U(r, i);
265
265
  if (a) return H(a, t.slice(n + 1), e);
266
266
  }
267
267
  return [e, n];
@@ -273,40 +273,40 @@ async function U(e, t) {
273
273
  if (r?.alias && M(r.alias).includes(t)) return e;
274
274
  }
275
275
  }
276
- function Ae(e, t) {
276
+ function je(e, t) {
277
277
  for (let n = 0; n < e.length; n++) {
278
278
  let r = e[n];
279
279
  if (r === "--") return -1;
280
- if (r.startsWith("-")) !r.includes("=") && je(r, t) && n++;
280
+ if (r.startsWith("-")) !r.includes("=") && Me(r, t) && n++;
281
281
  else return n;
282
282
  }
283
283
  return -1;
284
284
  }
285
- function je(e, t) {
285
+ function Me(e, t) {
286
286
  let n = e.replace(/^-{1,2}/, ""), r = j(n);
287
287
  for (let [e, i] of Object.entries(t)) if ((i.type === "string" || i.type === "enum") && (r === j(e) || (Array.isArray(i.alias) ? i.alias : i.alias ? [i.alias] : []).includes(n))) return !0;
288
288
  return !1;
289
289
  }
290
- async function Me(e, t) {
290
+ async function Ne(e, t) {
291
291
  try {
292
- console.log(await Pe(e, t) + "\n");
292
+ console.log(await Fe(e, t) + "\n");
293
293
  } catch (e) {
294
294
  console.error(e);
295
295
  }
296
296
  }
297
- var Ne = /^no[-A-Z]/;
298
- async function Pe(e, t) {
299
- let n = await N(e.meta || {}), r = Oe(await N(e.args || {})), i = await N(t?.meta || {}), a = `${i.name ? `${i.name} ` : ""}` + (n.name || process.argv[1]), o = [], s = [], c = [], l = [];
297
+ var Pe = /^no[-A-Z]/;
298
+ async function Fe(e, t) {
299
+ let n = await N(e.meta || {}), r = ke(await N(e.args || {})), i = await N(t?.meta || {}), a = `${i.name ? `${i.name} ` : ""}` + (n.name || process.argv[1]), o = [], s = [], c = [], l = [];
300
300
  for (let e of r) if (e.type === "positional") {
301
301
  let t = e.name.toUpperCase(), n = e.required !== !1 && e.default === void 0;
302
- s.push([L(t + W(e)), Fe(e, n)]), l.push(n ? `<${t}>` : `[${t}]`);
302
+ s.push([L(t + Ie(e)), Le(e, n)]), l.push(n ? `<${t}>` : `[${t}]`);
303
303
  } else {
304
- let t = e.required === !0 && e.default === void 0, n = [...(e.alias || []).map((e) => `-${e}`), `--${e.name}`].join(", ") + W(e);
305
- if (o.push([L(n), Fe(e, t)]), e.type === "boolean" && (e.default === !0 || e.negativeDescription) && !Ne.test(e.name)) {
304
+ let t = e.required === !0 && e.default === void 0, n = [...(e.alias || []).map((e) => `-${e}`), `--${e.name}`].join(", ") + Ie(e);
305
+ if (o.push([L(n), Le(e, t)]), e.type === "boolean" && (e.default === !0 || e.negativeDescription) && !Pe.test(e.name)) {
306
306
  let n = [...(e.alias || []).map((e) => `--no-${e}`), `--no-${e.name}`].join(", ");
307
307
  o.push([L(n), [e.negativeDescription, t ? R("(Required)") : ""].filter(Boolean).join(" ")]);
308
308
  }
309
- t && l.push(`--${e.name}` + W(e));
309
+ t && l.push(`--${e.name}` + Ie(e));
310
310
  }
311
311
  if (e.subCommands) {
312
312
  let t = [], n = await N(e.subCommands);
@@ -321,13 +321,13 @@ async function Pe(e, t) {
321
321
  let u = [], d = n.version || i.version;
322
322
  u.push(R(`${n.description} (${a + (d ? ` v${d}` : "")})`), "");
323
323
  let f = o.length > 0 || s.length > 0;
324
- return u.push(`${z(I("USAGE"))} ${L(`${a}${f ? " [OPTIONS]" : ""} ${l.join(" ")}`)}`, ""), s.length > 0 && (u.push(z(I("ARGUMENTS")), ""), u.push(we(s, " ")), u.push("")), o.length > 0 && (u.push(z(I("OPTIONS")), ""), u.push(we(o, " ")), u.push("")), c.length > 0 && (u.push(z(I("COMMANDS")), ""), u.push(we(c, " ")), u.push("", `Use ${L(`${a} <command> --help`)} for more information about a command.`)), u.filter((e) => typeof e == "string").join("\n");
324
+ return u.push(`${z(I("USAGE"))} ${L(`${a}${f ? " [OPTIONS]" : ""} ${l.join(" ")}`)}`, ""), s.length > 0 && (u.push(z(I("ARGUMENTS")), ""), u.push(Te(s, " ")), u.push("")), o.length > 0 && (u.push(z(I("OPTIONS")), ""), u.push(Te(o, " ")), u.push("")), c.length > 0 && (u.push(z(I("COMMANDS")), ""), u.push(Te(c, " ")), u.push("", `Use ${L(`${a} <command> --help`)} for more information about a command.`)), u.filter((e) => typeof e == "string").join("\n");
325
325
  }
326
- function W(e) {
327
- let t = e.valueHint ? `=<${e.valueHint}>` : "", n = t || `=<${Ce(e.name)}>`;
326
+ function Ie(e) {
327
+ let t = e.valueHint ? `=<${e.valueHint}>` : "", n = t || `=<${we(e.name)}>`;
328
328
  return !e.type || e.type === "positional" || e.type === "boolean" ? t : e.type === "enum" && e.options?.length ? `=<${e.options.join("|")}>` : n;
329
329
  }
330
- function Fe(e, t) {
330
+ function Le(e, t) {
331
331
  let n = t ? R("(Required)") : "", r = e.default === void 0 ? "" : R(`(Default: ${e.default})`);
332
332
  return [
333
333
  e.description,
@@ -335,10 +335,10 @@ function Fe(e, t) {
335
335
  r
336
336
  ].filter(Boolean).join(" ");
337
337
  }
338
- async function Ie(e, t = {}) {
339
- let n = t.rawArgs || process.argv.slice(2), r = t.showUsage || Me;
338
+ async function Re(e, t = {}) {
339
+ let n = t.rawArgs || process.argv.slice(2), r = t.showUsage || Ne;
340
340
  try {
341
- let t = await Le(e);
341
+ let t = await ze(e);
342
342
  if (t.help.length > 0 && n.some((e) => t.help.includes(e))) await r(...await H(e, n)), process.exit(0);
343
343
  else if (n.length === 1 && t.version.includes(n[0])) {
344
344
  let t = typeof e.meta == "function" ? await e.meta() : await e.meta;
@@ -349,47 +349,47 @@ async function Ie(e, t = {}) {
349
349
  t instanceof P ? (await r(...await H(e, n)), console.error(t.message)) : console.error(t, "\n"), process.exit(1);
350
350
  }
351
351
  }
352
- async function Le(e) {
352
+ async function ze(e) {
353
353
  let t = await N(e.args || {}), n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
354
354
  for (let [e, i] of Object.entries(t)) {
355
355
  n.add(e);
356
356
  for (let e of M(i.alias)) r.add(e);
357
357
  }
358
358
  return {
359
- help: Re("help", "h", n, r),
360
- version: Re("version", "v", n, r)
359
+ help: Be("help", "h", n, r),
360
+ version: Be("version", "v", n, r)
361
361
  };
362
362
  }
363
- function Re(e, t, n, r) {
363
+ function Be(e, t, n, r) {
364
364
  return n.has(e) || r.has(e) ? [] : n.has(t) || r.has(t) ? [`--${e}`] : [`--${e}`, `-${t}`];
365
365
  }
366
366
  //#endregion
367
367
  //#region package.json
368
- var ze = "0.0.19", Be = "Commands to develop, bundle, and package Incarnative.js apps.";
368
+ var Ve = "0.0.21", He = "Commands to develop, bundle, and package Incarnative.js apps.";
369
369
  //#endregion
370
370
  //#region ../../node_modules/.pnpm/rc9@3.1.0/node_modules/rc9/dist/_chunks/libs/flat.mjs
371
- function Ve(e) {
371
+ function Ue(e) {
372
372
  return e && e.constructor && typeof e.constructor.isBuffer == "function" && e.constructor.isBuffer(e);
373
373
  }
374
- function He(e) {
374
+ function We(e) {
375
375
  return e;
376
376
  }
377
- function Ue(e, t) {
377
+ function Ge(e, t) {
378
378
  t ||= {};
379
- let n = t.delimiter || ".", r = t.maxDepth, i = t.transformKey || He, a = {};
379
+ let n = t.delimiter || ".", r = t.maxDepth, i = t.transformKey || We, a = {};
380
380
  function o(e, s, c) {
381
381
  c ||= 1, Object.keys(e).forEach(function(l) {
382
- let u = e[l], d = t.safe && Array.isArray(u), f = Object.prototype.toString.call(u), p = Ve(u), m = f === "[object Object]" || f === "[object Array]", h = s ? s + n + i(l) : i(l);
382
+ let u = e[l], d = t.safe && Array.isArray(u), f = Object.prototype.toString.call(u), p = Ue(u), m = f === "[object Object]" || f === "[object Array]", h = s ? s + n + i(l) : i(l);
383
383
  if (!d && !p && m && Object.keys(u).length && (!t.maxDepth || c < r)) return o(u, h, c + 1);
384
384
  a[h] = u;
385
385
  });
386
386
  }
387
387
  return o(e), a;
388
388
  }
389
- function We(e, t) {
389
+ function Ke(e, t) {
390
390
  t ||= {};
391
- let n = t.delimiter || ".", r = t.overwrite || !1, i = t.transformKey || He, a = {};
392
- if (Ve(e) || Object.prototype.toString.call(e) !== "[object Object]") return e;
391
+ let n = t.delimiter || ".", r = t.overwrite || !1, i = t.transformKey || We, a = {};
392
+ if (Ue(e) || Object.prototype.toString.call(e) !== "[object Object]") return e;
393
393
  function o(e) {
394
394
  let n = Number(e);
395
395
  return isNaN(n) || e.indexOf(".") !== -1 || t.object ? e : n;
@@ -407,7 +407,7 @@ function We(e, t) {
407
407
  }
408
408
  return e = Object.keys(e).reduce(function(n, r) {
409
409
  let i = Object.prototype.toString.call(e[r]);
410
- return i !== "[object Object]" && i !== "[object Array]" || c(e[r]) ? (n[r] = e[r], n) : s(r, n, Ue(e[r], t));
410
+ return i !== "[object Object]" && i !== "[object Array]" || c(e[r]) ? (n[r] = e[r], n) : s(r, n, Ge(e[r], t));
411
411
  }, {}), Object.keys(e).forEach(function(s) {
412
412
  let c = s.split(n).map(i), l = o(c.shift()), u = o(c[0]), d = a;
413
413
  for (; u !== void 0;) {
@@ -416,20 +416,20 @@ function We(e, t) {
416
416
  if (!r && !n && d[l] !== void 0) return;
417
417
  (r && !n || !r && d[l] == null) && (d[l] = typeof u == "number" && !t.object ? [] : {}), d = d[l], c.length > 0 && (l = o(c.shift()), u = o(c[0]));
418
418
  }
419
- d[l] = We(e[s], t);
419
+ d[l] = Ke(e[s], t);
420
420
  }), a;
421
421
  }
422
422
  //#endregion
423
423
  //#region ../../node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs
424
- var Ge = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/, Ke = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/, qe = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;
425
- function Je(e, t) {
426
- if (e === "__proto__" || e === "constructor" && t && typeof t == "object" && "prototype" in t) Ye(e);
424
+ var qe = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/, Je = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/, Ye = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;
425
+ function Xe(e, t) {
426
+ if (e === "__proto__" || e === "constructor" && t && typeof t == "object" && "prototype" in t) Ze(e);
427
427
  else return t;
428
428
  }
429
- function Ye(e) {
429
+ function Ze(e) {
430
430
  console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);
431
431
  }
432
- function Xe(e, t = {}) {
432
+ function Qe(e, t = {}) {
433
433
  if (typeof e != "string") return e;
434
434
  if (e[0] === "\"" && e[e.length - 1] === "\"" && e.indexOf("\\") === -1) return e.slice(1, -1);
435
435
  let n = e.trim();
@@ -442,14 +442,14 @@ function Xe(e, t = {}) {
442
442
  case "infinity": return Infinity;
443
443
  case "-infinity": return -Infinity;
444
444
  }
445
- if (!qe.test(e)) {
445
+ if (!Ye.test(e)) {
446
446
  if (t.strict) throw SyntaxError("[destr] Invalid JSON");
447
447
  return e;
448
448
  }
449
449
  try {
450
- if (Ge.test(e) || Ke.test(e)) {
450
+ if (qe.test(e) || Je.test(e)) {
451
451
  if (t.strict) throw Error("[destr] Possible prototype pollution");
452
- return JSON.parse(e, Je);
452
+ return JSON.parse(e, Xe);
453
453
  }
454
454
  return JSON.parse(e);
455
455
  } catch (n) {
@@ -459,83 +459,83 @@ function Xe(e, t = {}) {
459
459
  }
460
460
  //#endregion
461
461
  //#region ../../node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs
462
- function G(e) {
462
+ function $e(e) {
463
463
  if (typeof e != "object" || !e) return !1;
464
464
  let t = Object.getPrototypeOf(e);
465
465
  return t !== null && t !== Object.prototype && Object.getPrototypeOf(t) !== null || Symbol.iterator in e ? !1 : Symbol.toStringTag in e ? Object.prototype.toString.call(e) === "[object Module]" : !0;
466
466
  }
467
- function Ze(e, t, n = ".", r) {
468
- if (!G(t)) return Ze(e, {}, n, r);
467
+ function et(e, t, n = ".", r) {
468
+ if (!$e(t)) return et(e, {}, n, r);
469
469
  let i = { ...t };
470
470
  for (let t of Object.keys(e)) {
471
471
  if (t === "__proto__" || t === "constructor") continue;
472
472
  let a = e[t];
473
- a != null && (r && r(i, t, a, n) || (i[t] = Array.isArray(a) && Array.isArray(i[t]) ? [...a, ...i[t]] : G(a) && G(i[t]) ? Ze(a, i[t], (n ? `${n}.` : "") + t.toString(), r) : a));
473
+ a != null && (r && r(i, t, a, n) || (i[t] = Array.isArray(a) && Array.isArray(i[t]) ? [...a, ...i[t]] : $e(a) && $e(i[t]) ? et(a, i[t], (n ? `${n}.` : "") + t.toString(), r) : a));
474
474
  }
475
475
  return i;
476
476
  }
477
- function Qe(e) {
478
- return (...t) => t.reduce((t, n) => Ze(t, n, "", e), {});
477
+ function tt(e) {
478
+ return (...t) => t.reduce((t, n) => et(t, n, "", e), {});
479
479
  }
480
- var K = Qe(), $e = /^\s*([^\s=]+)\s*=\s*(.*)?\s*$/, et = /\n|\r|\r\n/, tt = {
480
+ var W = tt(), nt = /^\s*([^\s=]+)\s*=\s*(.*)?\s*$/, rt = /\n|\r|\r\n/, it = {
481
481
  name: ".conf",
482
482
  dir: process.cwd(),
483
483
  flat: !1
484
484
  };
485
- function nt(e) {
485
+ function at(e) {
486
486
  return typeof e == "string" && (e = { name: e }), {
487
- ...tt,
487
+ ...it,
488
488
  ...e
489
489
  };
490
490
  }
491
- function rt(e, t = {}) {
492
- let n = {}, r = e.split(et);
491
+ function ot(e, t = {}) {
492
+ let n = {}, r = e.split(rt);
493
493
  for (let e of r) {
494
- let t = e.match($e);
494
+ let t = e.match(nt);
495
495
  if (!t) continue;
496
496
  let r = t[1];
497
497
  if (!r || r === "__proto__" || r === "constructor") continue;
498
- let i = Xe((t[2] || "").trim());
498
+ let i = Qe((t[2] || "").trim());
499
499
  if (r.endsWith("[]")) {
500
500
  let e = r.slice(0, Math.max(0, r.length - 2));
501
501
  n[e] = (n[e] || []).concat(i);
502
502
  } else n[r] = i;
503
503
  }
504
- return t.flat ? n : We(n, { overwrite: !0 });
504
+ return t.flat ? n : Ke(n, { overwrite: !0 });
505
505
  }
506
- function it(e, t) {
507
- return p(e) ? rt(h(e, "utf8"), t) : {};
506
+ function st(e, t) {
507
+ return p(e) ? ot(h(e, "utf8"), t) : {};
508
508
  }
509
- function q(e) {
510
- return e = nt(e), it(b(e.dir, e.name), e);
509
+ function G(e) {
510
+ return e = at(e), st(b(e.dir, e.name), e);
511
511
  }
512
- function at() {
512
+ function ct() {
513
513
  return process.env.XDG_CONFIG_HOME || b(k(), ".config");
514
514
  }
515
- function ot(e) {
516
- return e = nt(e), e.dir = at(), q(e);
515
+ function lt(e) {
516
+ return e = at(e), e.dir = ct(), G(e);
517
517
  }
518
518
  //#endregion
519
519
  //#region ../../node_modules/.pnpm/c12@4.0.0-rc.2_magicast@0.5.4/node_modules/c12/dist/index.mjs
520
- async function st(e) {
521
- let t = e.env ?? process.env, n = await ct({
520
+ async function ut(e) {
521
+ let t = e.env ?? process.env, n = await dt({
522
522
  cwd: e.cwd,
523
523
  fileName: e.fileName ?? ".env",
524
524
  env: t,
525
525
  interpolate: e.interpolate ?? !0,
526
526
  expandFileReferences: e.expandFileReferences ?? !1,
527
527
  parse: e.parse
528
- }), r = gt(t);
528
+ }), r = yt(t);
529
529
  for (let e in n) e.startsWith("_") || (t[e] === void 0 || r.has(e)) && (t[e] = n[e]);
530
530
  return n;
531
531
  }
532
- async function ct(e) {
533
- let n = Object.create(null), r = t(e.cwd || "."), i = e.fileName || ".env", a = typeof i == "string" ? [i] : i, o = gt(e.env || {});
532
+ async function dt(e) {
533
+ let n = Object.create(null), r = t(e.cwd || "."), i = e.fileName || ".env", a = typeof i == "string" ? [i] : i, o = yt(e.env || {});
534
534
  Object.assign(n, e.env);
535
535
  for (let i of a) {
536
536
  let a = t(r, i);
537
537
  if (!_(a, { throwIfNoEntry: !1 })?.isFile()) continue;
538
- let s = await ut(a, e.parse);
538
+ let s = await pt(a, e.parse);
539
539
  for (let e in s) e in n && !o.has(e) || (n[e] = s[e], o.add(e));
540
540
  }
541
541
  if (e.expandFileReferences) {
@@ -547,21 +547,21 @@ async function ct(e) {
547
547
  }
548
548
  }
549
549
  }
550
- return e.interpolate && dt(n), n;
550
+ return e.interpolate && mt(n), n;
551
551
  }
552
- var lt = ee.parseEnv;
553
- async function ut(e, t) {
552
+ var ft = ee.parseEnv;
553
+ async function pt(e, t) {
554
554
  let n = h(e, "utf8");
555
555
  if (t) return t(n);
556
- if (!lt) try {
556
+ if (!ft) try {
557
557
  let e = await import("./chunks/__vite-optional-peer-dep_dotenv_c12-CxKvRg9-.js");
558
- lt = (t) => e.parse(t);
558
+ ft = (t) => e.parse(t);
559
559
  } catch {
560
560
  throw Error("Failed to parse .env file: `node:util.parseEnv` is not available and `dotenv` package is not installed. Please upgrade your runtime, install `dotenv` as a dependency or provide a custom `parse` option.");
561
561
  }
562
- return lt(n);
562
+ return ft(n);
563
563
  }
564
- function dt(e, t = {}, n = (e) => e) {
564
+ function mt(e, t = {}, n = (e) => e) {
565
565
  function r(n) {
566
566
  return t[n] === void 0 ? e[n] : t[n];
567
567
  }
@@ -574,7 +574,7 @@ function dt(e, t = {}, n = (e) => e) {
574
574
  a += "$", o += 2;
575
575
  continue;
576
576
  }
577
- let s = n === "$" ? mt(e, o) : void 0;
577
+ let s = n === "$" ? _t(e, o) : void 0;
578
578
  if (!s) {
579
579
  a += n, o++;
580
580
  continue;
@@ -593,11 +593,11 @@ function dt(e, t = {}, n = (e) => e) {
593
593
  }
594
594
  for (let t in e) e[t] = i(r(t));
595
595
  }
596
- var ft = /\w+/y, pt = /[\w:]+/y;
597
- function mt(e, t) {
596
+ var ht = /\w+/y, gt = /[\w:]+/y;
597
+ function _t(e, t) {
598
598
  let n = t + 1, r = e[n] === "{";
599
599
  r && n++;
600
- let i = r ? pt : ft;
600
+ let i = r ? gt : ht;
601
601
  i.lastIndex = n;
602
602
  let a = i.exec(e);
603
603
  if (!a) return;
@@ -613,7 +613,7 @@ function mt(e, t) {
613
613
  if (e[n] === "-") {
614
614
  let t = "-";
615
615
  o.endsWith(":") && (o = o.slice(0, -1), t = ":-");
616
- let r = o ? ht(e, n + 1) : void 0;
616
+ let r = o ? vt(e, n + 1) : void 0;
617
617
  return r ? {
618
618
  key: o,
619
619
  operator: t,
@@ -626,7 +626,7 @@ function mt(e, t) {
626
626
  end: n
627
627
  };
628
628
  }
629
- function ht(e, t) {
629
+ function vt(e, t) {
630
630
  let n = "", r = 1;
631
631
  for (let i = t; i < e.length; i++) {
632
632
  let t = e[i];
@@ -643,18 +643,18 @@ function ht(e, t) {
643
643
  }
644
644
  }
645
645
  }
646
- function gt(e) {
646
+ function yt(e) {
647
647
  let t = globalThis.__c12_dotenv_vars__ ||= /* @__PURE__ */ new Map();
648
648
  return t.has(e) || t.set(e, /* @__PURE__ */ new Set()), t.get(e);
649
649
  }
650
- var _t = (e) => e?.replace(/\\/g, "/"), vt = 0, yt = {
650
+ var bt = (e) => e?.replace(/\\/g, "/"), xt = 0, St = {
651
651
  ".json": () => JSON.parse,
652
652
  ".yaml": () => import("./chunks/yaml-U_oPOIGK.js").then((e) => e.parseYAML),
653
653
  ".yml": () => import("./chunks/yaml-U_oPOIGK.js").then((e) => e.parseYAML),
654
654
  ".jsonc": () => import("./chunks/jsonc-BDHXk_1o.js").then((e) => e.n).then((e) => (t) => e.parseJSONC(t, { allowTrailingComma: !0 })),
655
655
  ".json5": () => import("./chunks/json5-RapVXICN.js").then((e) => e.parseJSON5),
656
656
  ".toml": () => import("./chunks/toml-CgS7wGvD.js").then((e) => e.parseTOML)
657
- }, bt = Object.freeze([
657
+ }, Ct = Object.freeze([
658
658
  ".js",
659
659
  ".ts",
660
660
  ".mjs",
@@ -668,12 +668,12 @@ var _t = (e) => e?.replace(/\\/g, "/"), vt = 0, yt = {
668
668
  ".yml",
669
669
  ".toml"
670
670
  ]);
671
- async function xt(e) {
671
+ async function wt(e) {
672
672
  e.cwd = t(process.cwd(), e.cwd || "."), e.name = e.name || "config", e.envName = e.envName ?? process.env.NODE_ENV, e.configFile = e.configFile ?? (e.name === "config" ? "config" : `${e.name}.config`), e.rcFile = e.rcFile ?? `.${e.name}rc`, e.extend !== !1 && (e.extend = {
673
673
  extendKey: "extends",
674
674
  ...e.extend
675
675
  });
676
- let n = e.merger || K, r = {
676
+ let n = e.merger || W, r = {
677
677
  config: {},
678
678
  cwd: e.cwd,
679
679
  configFile: t(e.cwd, e.configFile),
@@ -686,22 +686,22 @@ async function xt(e) {
686
686
  packageJson: void 0,
687
687
  defaultConfig: e.defaultConfig
688
688
  };
689
- e.dotenv && await st({
689
+ e.dotenv && await ut({
690
690
  cwd: e.cwd,
691
691
  ...e.dotenv === !0 ? {} : e.dotenv
692
692
  });
693
- let a = await Tt(".", e);
693
+ let a = await Ot(".", e);
694
694
  if (a.configFile && (i.main = a.config, r.configFile = a.configFile, r._configFile = a._configFile), a.meta && (r.meta = a.meta), e.rcFile) {
695
695
  let t = [];
696
- if (t.push(q({
696
+ if (t.push(G({
697
697
  name: e.rcFile,
698
698
  dir: e.cwd
699
699
  })), e.globalRc) {
700
700
  let { findWorkspaceDir: n } = await import("./chunks/dist-DrnNGO2a.js"), r = await n(e.cwd).catch(() => {});
701
- r && t.push(q({
701
+ r && t.push(G({
702
702
  name: e.rcFile,
703
703
  dir: r
704
- })), t.push(ot({ name: e.rcFile })), t.push(q({
704
+ })), t.push(lt({ name: e.rcFile })), t.push(G({
705
705
  name: e.rcFile,
706
706
  dir: k()
707
707
  }));
@@ -720,7 +720,7 @@ async function xt(e) {
720
720
  rawConfigs: i
721
721
  }) : t);
722
722
  }
723
- if (Array.isArray(o.main) ? r.config = o.main : (r.config = n(o.overrides, o.main, o.rc, o.packageJson, o.defaultConfig), e.extend && (await St(r.config, e), r.layers = r.config._layers, delete r.config._layers, r.config = n(r.config, ...r.layers.map((e) => e.config)))), r.layers = [...[
723
+ if (Array.isArray(o.main) ? r.config = o.main : (r.config = n(o.overrides, o.main, o.rc, o.packageJson, o.defaultConfig), e.extend && (await Tt(r.config, e), r.layers = r.config._layers, delete r.config._layers, r.config = n(r.config, ...r.layers.map((e) => e.config)))), r.layers = [...[
724
724
  o.overrides && {
725
725
  config: o.overrides,
726
726
  configFile: void 0,
@@ -741,9 +741,9 @@ async function xt(e) {
741
741
  }
742
742
  ].filter((e) => e && e.config), ...r.layers], e.defaults && (r.config = n(r.config, e.defaults)), e.omit$Keys) for (let e in r.config) e.startsWith("$") && delete r.config[e];
743
743
  if (e.configFileRequired && !r._configFile) throw Error(`Required config (${r.configFile}) cannot be resolved.`);
744
- return e.schema != null && (r.config = await Et(r.config, e.schema)), r;
744
+ return e.schema != null && (r.config = await kt(r.config, e.schema)), r;
745
745
  }
746
- async function St(e, t) {
746
+ async function Tt(e, t) {
747
747
  if (e._layers = e._layers || [], !t.extend) return;
748
748
  let n = t.extend.extendKey;
749
749
  typeof n == "string" && (n = [n]);
@@ -755,33 +755,33 @@ async function St(e, t) {
755
755
  console.warn(`Cannot extend config from \`${JSON.stringify(r)}\` in ${t.cwd}`);
756
756
  continue;
757
757
  }
758
- let a = await Tt(n, t, i);
759
- a.config ? (await St(a.config, {
758
+ let a = await Ot(n, t, i);
759
+ a.config ? (await Tt(a.config, {
760
760
  ...t,
761
761
  cwd: a.cwd
762
762
  }), e._layers.push(a), a.config._layers && (e._layers.push(...a.config._layers), delete a.config._layers)) : console.warn(`Cannot extend config from \`${n}\` in ${t.cwd}`);
763
763
  }
764
764
  }
765
- var Ct = [
765
+ var Et = [
766
766
  "gh:",
767
767
  "github:",
768
768
  "gitlab:",
769
769
  "bitbucket:",
770
770
  "https://",
771
771
  "http://"
772
- ], wt = /^(@[\da-z~-][\d._a-z~-]*\/)?[\da-z~-][\d._a-z~-]*($|\/.*)/;
773
- async function Tt(e, o, s = {}) {
772
+ ], Dt = /^(@[\da-z~-][\d._a-z~-]*\/)?[\da-z~-][\d._a-z~-]*($|\/.*)/;
773
+ async function Ot(e, o, s = {}) {
774
774
  if (o.resolve) {
775
775
  let t = await o.resolve(e, o);
776
776
  if (t) return t;
777
777
  }
778
- let c = o.merger || K, l = Object.keys(s.giget?.providers || {}).map((e) => `${e}:`), u = l.length > 0 ? [.../* @__PURE__ */ new Set([...l, ...Ct])] : Ct;
778
+ let c = o.merger || W, l = Object.keys(s.giget?.providers || {}).map((e) => `${e}:`), u = l.length > 0 ? [.../* @__PURE__ */ new Set([...l, ...Et])] : Et;
779
779
  if (o.giget !== !1 && u.some((t) => e.startsWith(t))) {
780
780
  let { downloadTemplate: n } = await import("./chunks/__vite-optional-peer-dep_giget_c12-BYcrHYBM.js").catch((t) => {
781
781
  throw Error(`Extending config from \`${e}\` requires \`giget\` peer dependency to be installed.\n\nInstall it with: \`npx nypm i giget\``, { cause: t });
782
782
  }), { digest: c } = await import("./chunks/ohash-Cc4pJh84.js").then((e) => e.dist_exports), l = e.replace(/\W+/g, "_").split("_").splice(0, 3).join("_") + "_" + c(e).slice(0, 10).replace(/[-_]/g, ""), u, d = t(o.cwd, "node_modules"), f = a(o.cwd);
783
783
  u = r(f) === ".c12" ? i(f, l) : p(d) ? i(d, ".c12", l) : process.env.XDG_CACHE_HOME ? t(process.env.XDG_CACHE_HOME, "c12", l) : t(k(), ".cache/c12", l);
784
- let m = s.install ? K(s.install === !0 ? {} : s.install, { ignoreWorkspace: !0 }) : !1;
784
+ let m = s.install ? W(s.install === !0 ? {} : s.install, { ignoreWorkspace: !0 }) : !1;
785
785
  p(u) && !m && await D(u, { recursive: !0 }), e = (await n(e, {
786
786
  dir: u,
787
787
  install: m,
@@ -791,8 +791,8 @@ async function Tt(e, o, s = {}) {
791
791
  ...s.giget
792
792
  })).dir;
793
793
  }
794
- wt.test(e) && (e = J(e, o) || e);
795
- let d = n(e), f = Dt(t(o.cwd, e)) ?? (!d || d === r(e)), m = t(o.cwd, f ? e : a(e));
794
+ Dt.test(e) && (e = K(e, o) || e);
795
+ let d = n(e), f = At(t(o.cwd, e)) ?? (!d || d === r(e)), m = t(o.cwd, f ? e : a(e));
796
796
  f && (e = o.configFile);
797
797
  let h = {
798
798
  config: void 0,
@@ -801,22 +801,22 @@ async function Tt(e, o, s = {}) {
801
801
  source: e,
802
802
  sourceOptions: s
803
803
  };
804
- if (h.configFile = J(t(m, e), o) || J(t(m, ".config", e.replace(/\.config$/, "")), o) || J(t(m, ".config", e), o) || e, !p(h.configFile)) return h;
804
+ if (h.configFile = K(t(m, e), o) || K(t(m, ".config", e.replace(/\.config$/, "")), o) || K(t(m, ".config", e), o) || e, !p(h.configFile)) return h;
805
805
  h._configFile = h.configFile;
806
806
  let g = n(h.configFile) || "";
807
- if (g in yt) h.config = (await yt[g]())(await E(h.configFile, "utf8"));
807
+ if (g in St) h.config = (await St[g]())(await E(h.configFile, "utf8"));
808
808
  else {
809
809
  let e = o.resolveModule || ((e) => e.default || e);
810
810
  if (o.import) h.config = e(await o.import(h.configFile));
811
811
  else {
812
812
  let t = ie(h.configFile);
813
- t.search = `_${++vt}`, h.config = await import(t.href).then(e, async (t) => {
813
+ t.search = `_${++xt}`, h.config = await import(t.href).then(e, async (t) => {
814
814
  let { createJiti: n } = await import("./chunks/__vite-optional-peer-dep_jiti_c12-DZVJNj6v.js").catch(() => {
815
815
  throw Error(`Failed to load config file \`${h.configFile}\`: ${t?.message}. Hint install \`jiti\` for compatibility.`, { cause: t });
816
816
  }), r = n(i(o.cwd || ".", o.configFile || "/"), {
817
817
  interopDefault: !0,
818
818
  moduleCache: !1,
819
- extensions: [...bt],
819
+ extensions: [...Ct],
820
820
  ...o.jitiOptions
821
821
  });
822
822
  return o.import = (e) => r.import(e), e(await o.import(h.configFile));
@@ -825,9 +825,9 @@ async function Tt(e, o, s = {}) {
825
825
  }
826
826
  typeof h.config == "function" && (h.config = await h.config(o.context)), h.config && typeof h.config == "object" && !Array.isArray(h.config) && !Object.isExtensible(h.config) && (h.config = { ...h.config });
827
827
  let _ = (Array.isArray(o.envName) ? o.envName : [o.envName]).filter(Boolean).reverse().flatMap((e) => [h.config.$env?.[e], h.config["$" + e]]).filter((e) => e && Object.keys(e).length > 0);
828
- return _.length > 0 && (h.config = (o.envMerger || c)({}, ..._, h.config)), h.meta = K(h.sourceOptions.meta, h.config.$meta), delete h.config.$meta, h.sourceOptions.overrides && (h.config = c(h.sourceOptions.overrides, h.config)), h.configFile = _t(h.configFile), h.source = _t(h.source), h;
828
+ return _.length > 0 && (h.config = (o.envMerger || c)({}, ..._, h.config)), h.meta = W(h.sourceOptions.meta, h.config.$meta), delete h.config.$meta, h.sourceOptions.overrides && (h.config = c(h.sourceOptions.overrides, h.config)), h.configFile = bt(h.configFile), h.source = bt(h.source), h;
829
829
  }
830
- async function Et(e, t) {
830
+ async function kt(e, t) {
831
831
  if (typeof t?.["~standard"]?.validate != "function") throw TypeError("Invalid `schema` option: expected a Standard Schema (https://standardschema.dev).");
832
832
  let n = await t["~standard"].validate(e);
833
833
  if (n.issues) {
@@ -839,17 +839,17 @@ async function Et(e, t) {
839
839
  }
840
840
  return n.value;
841
841
  }
842
- function J(e, t) {
842
+ function K(e, t) {
843
843
  let n = s(e, {
844
844
  try: !0,
845
845
  from: ie(i(t.cwd || ".", t.configFile || "/")),
846
846
  suffixes: ["", "/index"],
847
- extensions: bt,
847
+ extensions: Ct,
848
848
  cache: !1
849
849
  });
850
850
  return n ? o(n) : void 0;
851
851
  }
852
- function Dt(e) {
852
+ function At(e) {
853
853
  try {
854
854
  return _(e).isDirectory();
855
855
  } catch {
@@ -858,94 +858,94 @@ function Dt(e) {
858
858
  }
859
859
  //#endregion
860
860
  //#region src/error.mts
861
- var Y = class extends Error {
861
+ var q = class extends Error {
862
862
  code;
863
863
  path;
864
864
  name = "IncaError";
865
865
  constructor(e, t, n) {
866
866
  super(t), this.code = e, this.path = n;
867
867
  }
868
- }, Ot = {
868
+ }, jt = {
869
869
  name: "inca",
870
870
  packageJson: "inca",
871
871
  rcFile: !1,
872
872
  globalRc: !1,
873
873
  giget: !1,
874
874
  extend: !1
875
- }, kt = /[/\\:*?"<>|\0]/;
876
- function At(e) {
877
- return e === e.trim() && e !== "" && e !== "." && e !== ".." && !kt.test(e);
875
+ }, Mt = /[/\\:*?"<>|\0]/;
876
+ function Nt(e) {
877
+ return e === e.trim() && e !== "" && e !== "." && e !== ".." && !Mt.test(e);
878
878
  }
879
- function jt(e) {
880
- if (!(typeof e == "string" && At(e))) throw new Y("ERR_INCA_PRODUCT_NAME_INVALID", `${JSON.stringify(e)} can't name a directory. set a "productName" in inca.config.ts with no leading or trailing space, and none of \`/\\:*?"<>|\``);
879
+ function Pt(e) {
880
+ if (!(typeof e == "string" && Nt(e))) throw new q("ERR_INCA_PRODUCT_NAME_INVALID", `${JSON.stringify(e)} can't name a directory. set a "productName" in inca.config.ts with no leading or trailing space, and none of \`/\\:*?"<>|\``);
881
881
  }
882
- var Mt = process.platform === "darwin" || process.platform === "win32";
883
- function Nt(e, t) {
884
- let n = (e) => Mt ? e.toLowerCase() : e, r = y.relative(n(e), n(t));
882
+ var Ft = process.platform === "darwin" || process.platform === "win32";
883
+ function It(e, t) {
884
+ let n = (e) => Ft ? e.toLowerCase() : e, r = y.relative(n(e), n(t));
885
885
  return r === "" || r !== ".." && !r.startsWith(`..${y.sep}`) && !y.isAbsolute(r);
886
886
  }
887
- function Pt(e) {
887
+ function Lt(e) {
888
888
  let t = y.resolve(e), n = t;
889
889
  for (let e; !m(n, { throwIfNoEntry: !1 }) && (e = y.dirname(n)) !== n;) n = e;
890
890
  return y.join(g.native(n), y.relative(n, t));
891
891
  }
892
- function Ft(e, t, n) {
892
+ function Rt(e, t, n) {
893
893
  let r = y.resolve(e, t), i;
894
894
  try {
895
- let t = Pt(r);
895
+ let t = Lt(r);
896
896
  i = [
897
897
  e,
898
898
  y.join(e, "src"),
899
899
  y.join(e, "node_modules"),
900
900
  ...n ? [n] : []
901
- ].some((e) => Nt(t, Pt(e)));
901
+ ].some((e) => It(t, Lt(e)));
902
902
  } catch {
903
903
  i = !0;
904
904
  }
905
- if (i) throw new Y("ERR_INCA_OUT_DIR_INVALID", `"outDir" resolves to ${r}, which holds the app's own files. Set it to a directory the build can own, such as "dist"`);
905
+ if (i) throw new q("ERR_INCA_OUT_DIR_INVALID", `"outDir" resolves to ${r}, which holds the app's own files. Set it to a directory the build can own, such as "dist"`);
906
906
  }
907
- function It(e, t, n) {
907
+ function zt(e, t, n) {
908
908
  let r = y.resolve(e, t ?? d.outDir);
909
- return Ft(e, r, n), r;
909
+ return Rt(e, r, n), r;
910
910
  }
911
- function Lt(e, t) {
911
+ function Bt(e, t) {
912
912
  try {
913
913
  return JSON.parse(e);
914
914
  } catch (e) {
915
- throw new Y("ERR_INCA_PACKAGE_JSON_INVALID", `${t} holds malformed JSON: ${e.message}`, t);
915
+ throw new q("ERR_INCA_PACKAGE_JSON_INVALID", `${t} holds malformed JSON: ${e.message}`, t);
916
916
  }
917
917
  }
918
- async function Rt(e) {
919
- let { config: t, layers: n } = await xt({
918
+ async function Vt(e) {
919
+ let { config: t, layers: n } = await wt({
920
920
  cwd: e,
921
- ...Ot
921
+ ...jt
922
922
  }), r = n?.find((e) => e.configFile === "package.json");
923
923
  return {
924
924
  config: t,
925
925
  usedPackageJsonKey: Object.keys(r?.config ?? {}).length > 0
926
926
  };
927
927
  }
928
- async function zt(e) {
929
- let { config: t } = await Rt(e), n = t.entry ? y.resolve(e, t.entry) : void 0;
928
+ async function Ht(e) {
929
+ let { config: t } = await Vt(e), n = t.entry ? y.resolve(e, t.entry) : void 0;
930
930
  return {
931
931
  entry: n,
932
- outDir: It(e, t.outDir, n),
932
+ outDir: zt(e, t.outDir, n),
933
933
  sourcemap: t.sourcemap ?? d.sourcemap
934
934
  };
935
935
  }
936
- async function Bt(e) {
936
+ async function Ut(e) {
937
937
  let t = y.join(e, "package.json"), n;
938
938
  try {
939
939
  n = await E(t, "utf8");
940
940
  } catch {
941
- throw new Y("ERR_INCA_PACKAGE_JSON_NOT_FOUND", `no package.json found at ${t}`);
941
+ throw new q("ERR_INCA_PACKAGE_JSON_NOT_FOUND", `no package.json found at ${t}`);
942
942
  }
943
- let r = Lt(n, t), { config: i, usedPackageJsonKey: a } = await Rt(e), o = i.productName ?? u(r.name);
944
- if (!o) throw new Y("ERR_INCA_PRODUCT_NAME_MISSING", `${t} needs a "name", or "productName" in inca.config.ts`);
945
- jt(o);
943
+ let r = Bt(n, t), { config: i, usedPackageJsonKey: a } = await Vt(e), o = i.productName ?? u(r.name);
944
+ if (!o) throw new q("ERR_INCA_PRODUCT_NAME_MISSING", `${t} needs a "name", or "productName" in inca.config.ts`);
945
+ Pt(o);
946
946
  let s = i.version ?? r.version ?? d.version, c = i.identifier ?? l(o), f;
947
- if (i.icon && (f = y.resolve(e, i.icon), !p(f))) throw new Y("ERR_INCA_ICON_NOT_FOUND", `"icon" points to ${f}, which doesn't exist`, f);
948
- let m = i.entry ? y.resolve(e, i.entry) : void 0, h = It(e, i.outDir, m);
947
+ if (i.icon && (f = y.resolve(e, i.icon), !p(f))) throw new q("ERR_INCA_ICON_NOT_FOUND", `"icon" points to ${f}, which doesn't exist`, f);
948
+ let m = i.entry ? y.resolve(e, i.entry) : void 0, h = zt(e, i.outDir, m);
949
949
  return {
950
950
  productName: o,
951
951
  identifier: c,
@@ -959,16 +959,16 @@ async function Bt(e) {
959
959
  usedPackageJsonKey: a
960
960
  };
961
961
  }
962
- function Vt(e) {
962
+ function Wt(e) {
963
963
  return {
964
964
  name: e.productName,
965
965
  identifier: e.identifier,
966
966
  window: e.window
967
967
  };
968
968
  }
969
- async function Ht(e) {
970
- let { config: t } = await Rt(e), n = y.join(e, "package.json"), r = await E(n, "utf8").catch(() => void 0), i = r === void 0 ? {} : Lt(r, n), a = t.productName ?? u(i.name);
971
- a && jt(a);
969
+ async function Gt(e) {
970
+ let { config: t } = await Vt(e), n = y.join(e, "package.json"), r = await E(n, "utf8").catch(() => void 0), i = r === void 0 ? {} : Bt(r, n), a = t.productName ?? u(i.name);
971
+ a && Pt(a);
972
972
  let o = {
973
973
  name: a,
974
974
  identifier: t.identifier ?? (a ? l(a) : void 0),
@@ -978,47 +978,47 @@ async function Ht(e) {
978
978
  }
979
979
  //#endregion
980
980
  //#region src/dev-client/hostBin.mts
981
- var Ut = "INCA_HOST_BIN";
982
- function Wt() {
981
+ var Kt = "INCA_HOST_BIN";
982
+ function qt() {
983
983
  let e = process.platform === "darwin" || process.platform === "linux" ? process.platform : void 0, t = process.arch === "arm64" || process.arch === "x64" ? process.arch : void 0;
984
984
  return e && t ? `@incajs/host-${e}-${t}` : void 0;
985
985
  }
986
- function Gt() {
987
- let e = Wt();
986
+ function Jt() {
987
+ let e = qt();
988
988
  if (e) try {
989
989
  return ae(import.meta.url).resolve(`${e}/bin/inca-host`);
990
990
  } catch {
991
991
  return;
992
992
  }
993
993
  }
994
- function Kt() {
995
- let e = process.env[Ut];
994
+ function J() {
995
+ let e = process.env[Kt];
996
996
  if (e) return e;
997
- let t = Gt();
997
+ let t = Jt();
998
998
  if (t) return t;
999
- let n = Wt();
1000
- throw new Y("ERR_INCA_HOST_BIN_UNRESOLVED", `no host binary found. ${n ? `no ${n} package is installed for it` : `this platform (${process.platform}/${process.arch}) has no published package`}, and ${Ut} isn't set to one`);
999
+ let n = qt();
1000
+ throw new q("ERR_INCA_HOST_BIN_UNRESOLVED", `no host binary found. ${n ? `no ${n} package is installed for it` : `this platform (${process.platform}/${process.arch}) has no published package`}, and ${Kt} isn't set to one`);
1001
1001
  }
1002
- function qt(e) {
1003
- if (!_(e, { throwIfNoEntry: !1 })?.isFile()) throw new Y("ERR_INCA_HOST_BIN_NOT_FOUND", `no host binary at ${e}. check that it was built`);
1002
+ function Y(e) {
1003
+ if (!_(e, { throwIfNoEntry: !1 })?.isFile()) throw new q("ERR_INCA_HOST_BIN_NOT_FOUND", `no host binary at ${e}. check that it was built`);
1004
1004
  }
1005
1005
  //#endregion
1006
1006
  //#region src/dev-client/hostError.mts
1007
- var Jt = class extends Error {
1007
+ var Yt = class extends Error {
1008
1008
  code;
1009
1009
  hostStack;
1010
1010
  constructor(e, t, n = null) {
1011
1011
  super(e), this.code = t, this.hostStack = n, this.name = "HostError";
1012
1012
  }
1013
1013
  };
1014
- function Yt(e) {
1014
+ function Xt(e) {
1015
1015
  return typeof e == "object" && !!e && e.jsonrpc === "2.0";
1016
1016
  }
1017
1017
  //#endregion
1018
1018
  //#region src/dev-client/hostClient.mts
1019
- var Xt = (e) => {
1019
+ var Zt = (e) => {
1020
1020
  process.stderr.write(e.endsWith("\n") ? e : `${e}\n`);
1021
- }, Zt = -32e3, Qt = class {
1021
+ }, Qt = -32e3, $t = class {
1022
1022
  #e;
1023
1023
  #t;
1024
1024
  #n = 1;
@@ -1028,8 +1028,8 @@ var Xt = (e) => {
1028
1028
  this.#e = e;
1029
1029
  }
1030
1030
  async start() {
1031
- let e = this.#e.hostBin ?? Kt();
1032
- qt(e);
1031
+ let e = this.#e.hostBin ?? J();
1032
+ Y(e);
1033
1033
  let t = oe(e, ["--dev", this.#e.entryFile], {
1034
1034
  stdio: [
1035
1035
  "pipe",
@@ -1039,10 +1039,10 @@ var Xt = (e) => {
1039
1039
  env: this.#e.env
1040
1040
  });
1041
1041
  this.#t = t;
1042
- let n = this.#e.onStderr ?? Xt;
1042
+ let n = this.#e.onStderr ?? Zt;
1043
1043
  t.stderr.setEncoding("utf8"), t.stderr.on("data", (e) => n(e)), t.stdin.on("error", (e) => {
1044
1044
  e.code !== "EPIPE" && n(`host stdin: ${e.message}\n`);
1045
- }), se.createInterface({ input: t.stdout }).on("line", (e) => {
1045
+ }), ce.createInterface({ input: t.stdout }).on("line", (e) => {
1046
1046
  this.#a(e, n);
1047
1047
  }), t.on("exit", (e, t) => {
1048
1048
  let n = /* @__PURE__ */ Error(`the host exited (code=${String(e)}, signal=${String(t)}) before answering`);
@@ -1062,7 +1062,7 @@ var Xt = (e) => {
1062
1062
  t(`[stray stdout] ${e}`);
1063
1063
  return;
1064
1064
  }
1065
- if (!Yt(n)) {
1065
+ if (!Xt(n)) {
1066
1066
  t(`[stray stdout] ${e}`);
1067
1067
  return;
1068
1068
  }
@@ -1073,14 +1073,14 @@ var Xt = (e) => {
1073
1073
  if (n.id === null) {
1074
1074
  if (!("error" in n)) return;
1075
1075
  let { code: e, message: r, data: i } = n.error;
1076
- e === Zt ? this.#e.onAppError?.({
1076
+ e === Qt ? this.#e.onAppError?.({
1077
1077
  message: r,
1078
1078
  stack: i?.stack ?? null
1079
1079
  }) : t(`[host error ${String(e)}] ${r}\n`);
1080
1080
  return;
1081
1081
  }
1082
1082
  let r = this.#r.get(n.id);
1083
- r && (this.#r.delete(n.id), "error" in n ? r.reject(new Jt(n.error.message, n.error.code, n.error.data?.stack ?? null)) : r.resolve(n.result));
1083
+ r && (this.#r.delete(n.id), "error" in n ? r.reject(new Yt(n.error.message, n.error.code, n.error.data?.stack ?? null)) : r.resolve(n.result));
1084
1084
  }
1085
1085
  #o(e, t, n) {
1086
1086
  switch (e) {
@@ -1145,37 +1145,37 @@ var Xt = (e) => {
1145
1145
  if (!t || t.exitCode !== null || t.signalCode !== null) return;
1146
1146
  this.#i = !0;
1147
1147
  let n = A(t, "exit");
1148
- this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"), ce(e, void 0, { ref: !1 }).then(() => "timeout")]) === "timeout" && (t.kill(), await n);
1148
+ this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"), le(e, void 0, { ref: !1 }).then(() => "timeout")]) === "timeout" && (t.kill(), await n);
1149
1149
  }
1150
- }, $t = "[inca]", en = new Intl.DateTimeFormat(void 0, {
1150
+ }, en = "[inca]", tn = new Intl.DateTimeFormat(void 0, {
1151
1151
  hour: "numeric",
1152
1152
  minute: "numeric",
1153
1153
  second: "numeric"
1154
1154
  }), X = { timestamp: !0 };
1155
- function tn(e, t, n) {
1156
- let r = S(["bold", n], $t, { stream: e });
1157
- return t.timestamp ? `${S("dim", en.format(/* @__PURE__ */ new Date()), { stream: e })} ${r}` : r;
1155
+ function nn(e, t, n) {
1156
+ let r = S(["bold", n], en, { stream: e });
1157
+ return t.timestamp ? `${S("dim", tn.format(/* @__PURE__ */ new Date()), { stream: e })} ${r}` : r;
1158
1158
  }
1159
1159
  function Z(e, t, n = {}) {
1160
- e.write(`${tn(e, n, "cyan")} ${t}\n`);
1160
+ e.write(`${nn(e, n, "cyan")} ${t}\n`);
1161
1161
  }
1162
- function nn(e, t, n = {}) {
1163
- e.write(`${tn(e, n, "yellow")} ${t}\n`);
1162
+ function rn(e, t, n = {}) {
1163
+ e.write(`${nn(e, n, "yellow")} ${t}\n`);
1164
1164
  }
1165
- function rn(e) {
1165
+ function an(e) {
1166
1166
  let t = e.code;
1167
1167
  return typeof t == "string" ? t : null;
1168
1168
  }
1169
- function an(e) {
1169
+ function on(e) {
1170
1170
  return /\bERR_INCA_[A-Z0-9_]+/.exec(e)?.[0] ?? null;
1171
1171
  }
1172
- function on(e) {
1172
+ function sn(e) {
1173
1173
  let t = e.stack;
1174
1174
  if (!t) return null;
1175
1175
  for (let n of [`${e.name}: ${e.message}`, e.message]) if (t.startsWith(n)) return t.slice(n.length).replace(/^\r?\n/, "") || null;
1176
1176
  return t;
1177
1177
  }
1178
- function sn(e) {
1178
+ function cn(e) {
1179
1179
  let t = /^(?:\w*Error: )?(ERR_INCA_[A-Z0-9_]+): /.exec(e);
1180
1180
  return t ? {
1181
1181
  message: e.slice(t[0].length),
@@ -1188,37 +1188,37 @@ function sn(e) {
1188
1188
  };
1189
1189
  }
1190
1190
  function Q(e) {
1191
- return e instanceof Jt ? {
1191
+ return e instanceof Yt ? {
1192
1192
  message: e.message,
1193
1193
  stack: e.hostStack,
1194
- code: rn(e)
1194
+ code: an(e)
1195
1195
  } : e instanceof Error ? {
1196
1196
  message: e.message,
1197
- stack: on(e),
1198
- code: rn(e) ?? an(e.message)
1197
+ stack: sn(e),
1198
+ code: an(e) ?? on(e.message)
1199
1199
  } : {
1200
1200
  message: String(e),
1201
1201
  stack: null,
1202
1202
  code: null
1203
1203
  };
1204
1204
  }
1205
- function cn(e, t) {
1205
+ function ln(e, t) {
1206
1206
  return e.split("\n").map((e) => /^\s*at\b/.test(e) ? S("dim", e, { stream: t }) : e).join("\n");
1207
1207
  }
1208
1208
  function $(e, t, n, r = {}) {
1209
- n.stack && e.write(`${cn(n.stack, e)}\n`);
1209
+ n.stack && e.write(`${ln(n.stack, e)}\n`);
1210
1210
  let i = n.code ? ` (${S("bold", n.code, { stream: e })})` : "";
1211
- e.write(`${tn(e, r, "red")} ${t}${i}: ${n.message}\n`);
1211
+ e.write(`${nn(e, r, "red")} ${t}${i}: ${n.message}\n`);
1212
1212
  }
1213
1213
  //#endregion
1214
1214
  //#region src/adapterCore.mts
1215
- var ln = /* @__PURE__ */ e({
1216
- IncaError: () => Y,
1217
- bundlerFault: () => sn
1215
+ var un = /* @__PURE__ */ e({
1216
+ IncaError: () => q,
1217
+ bundlerFault: () => cn
1218
1218
  });
1219
1219
  //#endregion
1220
1220
  //#region src/vite/captureOutput.mts
1221
- function un(e, t, n) {
1221
+ function dn(e, t, n) {
1222
1222
  return {
1223
1223
  outDir: e,
1224
1224
  entryFile: y.join(e, t.entryFile),
@@ -1226,7 +1226,7 @@ function un(e, t, n) {
1226
1226
  changed: n
1227
1227
  };
1228
1228
  }
1229
- function dn(e, t) {
1229
+ function fn(e, t) {
1230
1230
  return {
1231
1231
  name: "inca:capture-output",
1232
1232
  writeBundle(n, r) {
@@ -1241,19 +1241,19 @@ function dn(e, t) {
1241
1241
  }
1242
1242
  //#endregion
1243
1243
  //#region src/vite/emitConfig.mts
1244
- var fn = "inca.json";
1245
- function pn(e) {
1244
+ var pn = "inca.json";
1245
+ function mn(e) {
1246
1246
  let t = JSON.stringify(e, void 0, 2);
1247
1247
  if (t !== void 0 && t !== "{}") return `${t}\n`;
1248
1248
  }
1249
- function mn(e) {
1250
- let t = pn(e);
1249
+ function hn(e) {
1250
+ let t = mn(e);
1251
1251
  return {
1252
1252
  name: "inca:emit-config",
1253
1253
  generateBundle() {
1254
1254
  t && this.emitFile({
1255
1255
  type: "asset",
1256
- fileName: fn,
1256
+ fileName: pn,
1257
1257
  source: t
1258
1258
  });
1259
1259
  }
@@ -1261,8 +1261,8 @@ function mn(e) {
1261
1261
  }
1262
1262
  //#endregion
1263
1263
  //#region src/vite/logger.mts
1264
- var hn = "Build failed with ", gn = "Pre-transform error";
1265
- function _n(e, t, n = !1) {
1264
+ var gn = "Build failed with ", _n = "Pre-transform error";
1265
+ function vn(e, t, n = !1) {
1266
1266
  let r = /* @__PURE__ */ new WeakSet(), i = /* @__PURE__ */ new Set(), a = {
1267
1267
  hasWarned: !1,
1268
1268
  info(t) {
@@ -1275,7 +1275,7 @@ function _n(e, t, n = !1) {
1275
1275
  i.has(e) || (i.add(e), a.warn(e));
1276
1276
  },
1277
1277
  error(e, n) {
1278
- a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(hn) && (e.includes(gn) || t.write(`${e.replace(/\n\s+at .*/g, "")}\n`));
1278
+ a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(gn) && (e.includes(_n) || t.write(`${e.replace(/\n\s+at .*/g, "")}\n`));
1279
1279
  },
1280
1280
  clearScreen() {},
1281
1281
  hasErrorLogged(e) {
@@ -1286,7 +1286,7 @@ function _n(e, t, n = !1) {
1286
1286
  }
1287
1287
  //#endregion
1288
1288
  //#region src/vite/unsupported.mts
1289
- var vn = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, yn = [{
1289
+ var yn = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, bn = [{
1290
1290
  code: "ERR_INCA_UNSUPPORTED_STYLE",
1291
1291
  name: "a <style> block",
1292
1292
  matches: (e) => e.includes("vue&type=style"),
@@ -1294,10 +1294,10 @@ var vn = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, yn = [{
1294
1294
  }, {
1295
1295
  code: "ERR_INCA_UNSUPPORTED_STYLESHEET",
1296
1296
  name: "a stylesheet import",
1297
- matches: (e) => vn.test(e),
1297
+ matches: (e) => yn.test(e),
1298
1298
  hint: "the renderer applies no stylesheet. use a :style binding instead"
1299
1299
  }];
1300
- function bn(e, t = yn) {
1300
+ function xn(e, t = bn) {
1301
1301
  return {
1302
1302
  name: "inca:reject-unsupported",
1303
1303
  enforce: "pre",
@@ -1311,70 +1311,75 @@ function bn(e, t = yn) {
1311
1311
  }
1312
1312
  //#endregion
1313
1313
  //#region src/vite/config.mts
1314
- var xn = "bundle.js";
1315
- function Sn({ core: e, runtimeModuleName: t, entry: n, outDir: r, mode: i, sourcemap: a = !1, watch: o, onOutput: s, stdout: c, stderr: l, quiet: u, runtimeConfig: d }) {
1316
- let f = i === "development" || a;
1314
+ var Sn = "bundle.js";
1315
+ function Cn({ core: e, runtimeModuleName: t, entry: n, root: r = y.dirname(n), envDir: i, publicDir: a, outDir: o, mode: s, sourcemap: c = !1, watch: l, onOutput: u, stdout: d, stderr: f, quiet: p, runtimeConfig: m }) {
1316
+ let h = s === "development" || c;
1317
1317
  return {
1318
1318
  configFile: !1,
1319
- root: y.dirname(n),
1320
- mode: i,
1319
+ root: r,
1320
+ envDir: i,
1321
+ publicDir: a,
1322
+ mode: s,
1321
1323
  clearScreen: !1,
1322
- logLevel: u ? "silent" : "info",
1323
- customLogger: _n(c, l),
1324
- define: { "process.env.NODE_ENV": JSON.stringify(i) },
1324
+ logLevel: p ? "silent" : "info",
1325
+ customLogger: vn(d, f),
1326
+ define: { "process.env.NODE_ENV": JSON.stringify(s) },
1325
1327
  plugins: [
1326
- pe({ template: { compilerOptions: {
1328
+ me({ template: { compilerOptions: {
1327
1329
  runtimeModuleName: t,
1328
1330
  hoistStatic: !1
1329
1331
  } } }),
1330
- bn(e),
1331
- mn(d),
1332
- dn(e, s)
1332
+ xn(e),
1333
+ hn(m),
1334
+ fn(e, u)
1333
1335
  ],
1334
1336
  build: {
1335
1337
  lib: {
1336
1338
  entry: n,
1337
1339
  formats: ["es"],
1338
- fileName: () => xn
1340
+ fileName: () => Sn
1339
1341
  },
1340
- outDir: r,
1341
- emptyOutDir: i === "production",
1342
- minify: i === "production",
1343
- sourcemap: f,
1344
- watch: o ? { buildDelay: 30 } : void 0,
1342
+ outDir: o,
1343
+ emptyOutDir: s === "production",
1344
+ minify: s === "production",
1345
+ sourcemap: h,
1346
+ watch: l ? { buildDelay: 30 } : void 0,
1345
1347
  rolldownOptions: { output: {
1346
1348
  chunkFileNames: "chunks/[name]-[hash].js",
1347
1349
  assetFileNames: "assets/[name]-[hash][extname]",
1348
- sourcemapExcludeSources: f
1350
+ sourcemapExcludeSources: h
1349
1351
  } }
1350
1352
  }
1351
1353
  };
1352
1354
  }
1353
1355
  //#endregion
1354
1356
  //#region src/vite/build.mts
1355
- async function Cn(e, t, { entry: n, outDir: r, sourcemap: i, runtimeConfig: a, stdout: o = process.stdout, stderr: s = process.stderr, quiet: c = !1 }) {
1356
- let l;
1357
- if (await ue(Sn({
1357
+ async function wn(e, t, { entry: n, root: r, envDir: i, publicDir: a, outDir: o, sourcemap: s, runtimeConfig: c, stdout: l = process.stdout, stderr: u = process.stderr, quiet: d = !1 }) {
1358
+ let f;
1359
+ if (await de(Cn({
1358
1360
  core: e,
1359
1361
  runtimeModuleName: t,
1360
1362
  entry: n,
1361
- outDir: r,
1362
- runtimeConfig: a,
1363
+ root: r,
1364
+ envDir: i,
1365
+ publicDir: a,
1366
+ outDir: o,
1367
+ runtimeConfig: c,
1363
1368
  mode: "production",
1364
- sourcemap: i,
1369
+ sourcemap: s,
1365
1370
  watch: !1,
1366
- stdout: o,
1367
- stderr: s,
1368
- quiet: c,
1371
+ stdout: l,
1372
+ stderr: u,
1373
+ quiet: d,
1369
1374
  onOutput: (e) => {
1370
- l = un(r, e);
1375
+ f = dn(o, e);
1371
1376
  }
1372
- })), !l) throw new e.IncaError("ERR_INCA_BUILD_NO_OUTPUT", "build produced no output");
1373
- return l;
1377
+ })), !f) throw new e.IncaError("ERR_INCA_BUILD_NO_OUTPUT", "build produced no output");
1378
+ return f;
1374
1379
  }
1375
1380
  //#endregion
1376
1381
  //#region ../../node_modules/.pnpm/ts-dedent@2.3.0/node_modules/ts-dedent/esm/index.js
1377
- function wn(e) {
1382
+ function Tn(e) {
1378
1383
  var t = [...arguments].slice(1), n = Array.from(typeof e == "string" ? [e] : e);
1379
1384
  n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, "");
1380
1385
  var r = n.reduce(function(e, t) {
@@ -1401,17 +1406,17 @@ function wn(e) {
1401
1406
  }
1402
1407
  //#endregion
1403
1408
  //#region src/vite/hmr.mts
1404
- function Tn(e, t) {
1405
- let n = de(t, [], !1), r = [t.stack, n].filter((e) => e).join("\n");
1409
+ function En(e, t) {
1410
+ let n = fe(t, [], !1), r = [t.stack, n].filter((e) => e).join("\n");
1406
1411
  return {
1407
1412
  ...e.bundlerFault(t.message),
1408
1413
  stack: r || null
1409
1414
  };
1410
1415
  }
1411
- function En(e) {
1416
+ function Dn(e) {
1412
1417
  return y.join(e, "node_modules/.inca/hmr");
1413
1418
  }
1414
- function Dn() {
1419
+ function On() {
1415
1420
  let e = y.dirname(re(import.meta.url));
1416
1421
  for (; !p(y.join(e, "package.json"));) {
1417
1422
  let t = y.dirname(e);
@@ -1420,35 +1425,35 @@ function Dn() {
1420
1425
  }
1421
1426
  return y.join(e, "dist/vite-runtime.js");
1422
1427
  }
1423
- function On(e, t) {
1428
+ function kn(e, t) {
1424
1429
  let n = y.relative(e, t).split(y.sep).join("/");
1425
1430
  return n.startsWith(".") ? n : `./${n}`;
1426
1431
  }
1427
- var kn = /^[A-Za-z_$][\w$]*$/;
1428
- function An(e) {
1432
+ var An = /^[A-Za-z_$][\w$]*$/;
1433
+ function jn(e) {
1429
1434
  let t = {};
1430
- for (let [n, r] of Object.entries(e ?? {})) if (kn.test(n)) try {
1435
+ for (let [n, r] of Object.entries(e ?? {})) if (An.test(n)) try {
1431
1436
  t[n] = JSON.parse(typeof r == "string" ? r : JSON.stringify(r));
1432
1437
  } catch {}
1433
1438
  return t;
1434
1439
  }
1435
- async function jn(e, t, n, r) {
1436
- let i = En(e), a = y.join(i, "entry.js"), o = On(i, r ?? Dn()), s = t.split(y.sep).join("/");
1437
- return await O(a, wn`
1440
+ async function Mn(e, t, n, r) {
1441
+ let i = Dn(e), a = y.join(i, "entry.js"), o = kn(i, r ?? On()), s = t.split(y.sep).join("/");
1442
+ return await O(a, Tn`
1438
1443
  import { start } from ${JSON.stringify(o)};
1439
1444
  await start(${JSON.stringify(s)}, ${JSON.stringify(n)});
1440
1445
  `), a;
1441
1446
  }
1442
- function Mn(e) {
1447
+ function Nn(e) {
1443
1448
  if (e.type === "error") return e.err;
1444
1449
  if (e.type === "custom" && e.event === "vite:invoke") return e.data?.data?.error;
1445
1450
  }
1446
- function Nn(e) {
1451
+ function Pn(e) {
1447
1452
  if (e.type !== "custom" || e.event !== "vite:invoke") return !1;
1448
1453
  let t = e.data;
1449
1454
  return t.name === "fetchModule" && !t.data?.error;
1450
1455
  }
1451
- function Pn(e, t, n, r, i) {
1456
+ function Fn(e, t, n, r, i) {
1452
1457
  let a = /* @__PURE__ */ new Map(), o = { send: s };
1453
1458
  function s(a) {
1454
1459
  if (a.type === "full-reload") {
@@ -1456,8 +1461,8 @@ function Pn(e, t, n, r, i) {
1456
1461
  i.current = void 0, t(e);
1457
1462
  return;
1458
1463
  }
1459
- let o = Mn(a);
1460
- o ? (n(o), i.current = void 0) : Nn(a) && i.current && (r({
1464
+ let o = Nn(a);
1465
+ o ? (n(o), i.current = void 0) : Pn(a) && i.current && (r({
1461
1466
  file: i.current.file,
1462
1467
  took: Date.now() - i.current.at
1463
1468
  }), i.current = void 0), e(a);
@@ -1479,7 +1484,7 @@ function Pn(e, t, n, r, i) {
1479
1484
  }
1480
1485
  };
1481
1486
  }
1482
- function Fn() {
1487
+ function In() {
1483
1488
  let e = "\0inca:vite-client-shim";
1484
1489
  return {
1485
1490
  name: "inca:shim-vite-client",
@@ -1492,7 +1497,7 @@ function Fn() {
1492
1497
  }
1493
1498
  };
1494
1499
  }
1495
- function In(e) {
1500
+ function Ln(e) {
1496
1501
  return {
1497
1502
  name: "inca:file-changed",
1498
1503
  hotUpdate(t) {
@@ -1507,17 +1512,19 @@ function In(e) {
1507
1512
  }
1508
1513
  };
1509
1514
  }
1510
- async function Ln(e, t, { entry: n, cwd: r, runtimeConfig: i, runtimePath: a, stdout: o = process.stdout, stderr: s = process.stderr, quiet: c = !1, notify: l, reload: u, onError: d, onUpdate: f = () => {} }) {
1511
- await T(En(r), { recursive: !0 });
1512
- let p = pn(i), m = y.join(En(r), fn);
1513
- p ? await O(m, p) : await D(m, { force: !0 });
1514
- let h = { current: void 0 }, { channel: g, dispatch: _ } = Pn(l, u, (t) => d(Tn(e, t)), f, h), v = await fe({
1515
+ async function Rn(e, t, { entry: n, root: r = y.dirname(n), envDir: i, publicDir: a, cwd: o, runtimeConfig: s, runtimePath: c, stdout: l = process.stdout, stderr: u = process.stderr, quiet: d = !1, notify: f, reload: p, onError: m, onUpdate: h = () => {} }) {
1516
+ await T(Dn(o), { recursive: !0 });
1517
+ let g = mn(s), _ = y.join(Dn(o), pn);
1518
+ g ? await O(_, g) : await D(_, { force: !0 });
1519
+ let v = { current: void 0 }, { channel: b, dispatch: ee } = Fn(f, p, (t) => m(En(e, t)), h, v), x = await pe({
1515
1520
  configFile: !1,
1516
- root: y.dirname(n),
1521
+ root: r,
1522
+ envDir: i,
1523
+ publicDir: a,
1517
1524
  mode: "development",
1518
1525
  clearScreen: !1,
1519
- logLevel: c ? "silent" : "info",
1520
- customLogger: _n(o, s, c),
1526
+ logLevel: d ? "silent" : "info",
1527
+ customLogger: vn(l, u, d),
1521
1528
  define: { "process.env.NODE_ENV": JSON.stringify("development") },
1522
1529
  server: {
1523
1530
  middlewareMode: !0,
@@ -1532,37 +1539,37 @@ async function Ln(e, t, { entry: n, cwd: r, runtimeConfig: i, runtimePath: a, st
1532
1539
  consumer: "client",
1533
1540
  dev: {
1534
1541
  moduleRunnerTransform: !0,
1535
- createEnvironment: (e, t) => new le(e, t, {
1542
+ createEnvironment: (e, t) => new ue(e, t, {
1536
1543
  hot: !0,
1537
- transport: g
1544
+ transport: b
1538
1545
  })
1539
1546
  }
1540
1547
  } },
1541
1548
  plugins: [
1542
- pe({ template: { compilerOptions: {
1549
+ me({ template: { compilerOptions: {
1543
1550
  runtimeModuleName: t,
1544
1551
  hoistStatic: !1
1545
1552
  } } }),
1546
- bn(e),
1547
- Fn(),
1548
- In(h)
1553
+ xn(e),
1554
+ In(),
1555
+ Ln(v)
1549
1556
  ]
1550
- }), b;
1557
+ }), S;
1551
1558
  try {
1552
- b = await jn(r, n, An(v.environments.client.config.define), a);
1559
+ S = await Mn(o, n, jn(x.environments.client.config.define), c);
1553
1560
  } catch (e) {
1554
- throw await v.close(), e;
1561
+ throw await x.close(), e;
1555
1562
  }
1556
1563
  return {
1557
- entryFile: b,
1558
- dispatch: _,
1559
- close: () => v.close()
1564
+ entryFile: S,
1565
+ dispatch: ee,
1566
+ close: () => x.close()
1560
1567
  };
1561
1568
  }
1562
1569
  //#endregion
1563
1570
  //#region src/vite/watch.mts
1564
- async function Rn(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, stderr: a = process.stderr, quiet: o = !1, ...s }) {
1565
- let { outDir: c } = s, l, u = await ue(Sn({
1571
+ async function zn(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, stderr: a = process.stderr, quiet: o = !1, ...s }) {
1572
+ let { outDir: c } = s, l, u = await de(Cn({
1566
1573
  core: e,
1567
1574
  runtimeModuleName: t,
1568
1575
  ...s,
@@ -1571,7 +1578,7 @@ async function Rn(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, st
1571
1578
  stderr: a,
1572
1579
  quiet: o,
1573
1580
  onOutput: (e) => {
1574
- n(un(c, e, l)), l = void 0;
1581
+ n(dn(c, e, l)), l = void 0;
1575
1582
  }
1576
1583
  }));
1577
1584
  return u.on("change", (e) => {
@@ -1588,45 +1595,54 @@ async function Rn(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, st
1588
1595
  }
1589
1596
  //#endregion
1590
1597
  //#region src/vite/createBundler.mts
1591
- function zn(e, t) {
1598
+ function Bn(e, t) {
1592
1599
  return {
1593
- watch: (n) => Rn(e, t, n),
1594
- build: (n) => Cn(e, t, n),
1595
- hmr: (n) => Ln(e, t, n)
1600
+ watch: (n) => zn(e, t, n),
1601
+ build: (n) => wn(e, t, n),
1602
+ hmr: (n) => Rn(e, t, n)
1596
1603
  };
1597
1604
  }
1598
1605
  //#endregion
1599
1606
  //#region src/defaultBundler.mts
1600
- var Bn = zn(ln, "incajs/vue/runtime"), Vn = [
1607
+ var Vn = Bn(un, "incajs/vue/runtime"), Hn = [
1601
1608
  "main.mts",
1602
1609
  "main.ts",
1603
1610
  "main.js"
1604
1611
  ];
1605
- async function Hn(e) {
1606
- let t = Vn.map((t) => y.join(e, "src", t)).find((e) => p(e));
1612
+ function Un(e) {
1613
+ return y.join(e, "node_modules/.inca/entry.mts");
1614
+ }
1615
+ function Wn(e, t) {
1616
+ return t === Un(e) ? y.join(e, "src") : y.dirname(t);
1617
+ }
1618
+ async function Gn(e) {
1619
+ let t = Hn.map((t) => y.join(e, "src", t)).find((e) => p(e));
1607
1620
  if (t) return t;
1608
1621
  let n = y.join(e, "src/App.vue");
1609
- if (p(n)) return Un(n, e);
1610
- throw new Y("ERR_INCA_ENTRY_NOT_FOUND", `no app entry found. check that ${y.join(e, "src/main.ts")} or ${n} exists`);
1611
- }
1612
- async function Un(e, t) {
1613
- let n = y.join(t, "node_modules/.inca");
1614
- await T(n, { recursive: !0 });
1615
- let r = y.join(n, "entry.mts"), i = JSON.stringify(e.split(y.sep).join("/"));
1616
- return await O(r, wn`
1622
+ if (p(n)) return Kn(n, e);
1623
+ throw new q("ERR_INCA_ENTRY_NOT_FOUND", `no app entry found. check that ${y.join(e, "src/main.ts")} or ${n} exists`);
1624
+ }
1625
+ async function Kn(e, t) {
1626
+ let n = Un(t);
1627
+ await T(y.dirname(n), { recursive: !0 });
1628
+ let r = JSON.stringify(e.split(y.sep).join("/"));
1629
+ return await O(n, Tn`
1617
1630
  import { createIncaApp } from "incajs/vue";
1618
- import App from ${i};
1631
+ import App from ${r};
1619
1632
  createIncaApp(App).mount();
1620
- `), r;
1633
+ `), n;
1621
1634
  }
1622
1635
  //#endregion
1623
1636
  //#region src/build.mts
1624
- async function Wn(e = {}) {
1625
- let t = e.cwd ?? process.cwd(), n = e.config ?? await zt(t), r = y.resolve(t, n.outDir), i = e.bundler ?? Bn, a = e.entry ?? n.entry ?? await Hn(t);
1626
- Ft(t, r, a);
1627
- let o = e.runtimeConfig ?? await Ht(t);
1637
+ async function qn(e = {}) {
1638
+ let t = e.cwd ?? process.cwd(), n = e.config ?? await Ht(t), r = y.resolve(t, n.outDir), i = e.bundler ?? Vn, a = e.entry ?? n.entry ?? await Gn(t);
1639
+ Rt(t, r, a);
1640
+ let o = e.runtimeConfig ?? await Gt(t);
1628
1641
  return i.build({
1629
1642
  entry: a,
1643
+ root: Wn(t, a),
1644
+ envDir: t,
1645
+ publicDir: y.join(t, "public"),
1630
1646
  outDir: r,
1631
1647
  sourcemap: e.sourcemap ?? n.sourcemap,
1632
1648
  runtimeConfig: o,
@@ -1636,43 +1652,43 @@ async function Wn(e = {}) {
1636
1652
  }
1637
1653
  //#endregion
1638
1654
  //#region src/devLock.mts
1639
- function Gn(e) {
1655
+ function Jn(e) {
1640
1656
  return y.join(e, "node_modules/.inca/dev.pid");
1641
1657
  }
1642
- function Kn(e) {
1658
+ function Yn(e) {
1643
1659
  try {
1644
1660
  return process.kill(e, 0), !0;
1645
1661
  } catch (e) {
1646
1662
  return e.code === "EPERM";
1647
1663
  }
1648
1664
  }
1649
- var qn = me();
1650
- function Jn(e) {
1651
- return new Y("ERR_INCA_DEV_RUNNING", `inca dev is already running for this app (pid ${String(e)})`);
1665
+ var Xn = he();
1666
+ function Zn(e) {
1667
+ return new q("ERR_INCA_DEV_RUNNING", `inca dev is already running for this app (pid ${String(e)})`);
1652
1668
  }
1653
- async function Yn(e) {
1654
- let t = Gn(e), n = `${String(process.pid)}:${qn}`, r = `${t}.${me()}`;
1669
+ async function Qn(e) {
1670
+ let t = Jn(e), n = `${String(process.pid)}:${Xn}`, r = `${t}.${he()}`;
1655
1671
  await T(y.dirname(t), { recursive: !0 }), await O(r, n);
1656
1672
  let i = process.pid;
1657
1673
  try {
1658
1674
  for (let e = 0; e < 5; e++) {
1659
1675
  try {
1660
- return await te(r, t), Xn(t, n);
1676
+ return await te(r, t), $n(t, n);
1661
1677
  } catch (e) {
1662
1678
  if (e.code !== "EEXIST") throw e;
1663
1679
  }
1664
1680
  let e = await E(t, "utf8").catch(() => ""), a = Number.parseInt(e, 10);
1665
1681
  if (a === process.pid) {
1666
- if (e === n) throw Jn(a);
1667
- } else if (Number.isSafeInteger(a) && a > 0 && Kn(a)) throw Jn(a);
1682
+ if (e === n) throw Zn(a);
1683
+ } else if (Number.isSafeInteger(a) && a > 0 && Yn(a)) throw Zn(a);
1668
1684
  i = Number.isSafeInteger(a) && a > 0 ? a : i, await D(t, { force: !0 });
1669
1685
  }
1670
- throw Jn(i);
1686
+ throw Zn(i);
1671
1687
  } finally {
1672
1688
  await D(r, { force: !0 });
1673
1689
  }
1674
1690
  }
1675
- function Xn(e, t) {
1691
+ function $n(e, t) {
1676
1692
  let n = !1;
1677
1693
  return async () => {
1678
1694
  n || (n = !0, await E(e, "utf8").catch(() => "") === t && await D(e, { force: !0 }));
@@ -1680,26 +1696,26 @@ function Xn(e, t) {
1680
1696
  }
1681
1697
  //#endregion
1682
1698
  //#region src/plist.mts
1683
- function Zn(e) {
1699
+ function er(e) {
1684
1700
  return e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
1685
1701
  }
1686
- function Qn(e) {
1687
- return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${Zn(e)}</string>`;
1702
+ function tr(e) {
1703
+ return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${er(e)}</string>`;
1688
1704
  }
1689
- function $n(e) {
1690
- return wn`
1705
+ function nr(e) {
1706
+ return Tn`
1691
1707
  <?xml version="1.0" encoding="UTF-8"?>
1692
1708
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1693
1709
  <plist version="1.0">
1694
1710
  <dict>
1695
- ${Object.entries(e).map(([e, t]) => `\t<key>${Zn(e)}</key>\n\t${Qn(t)}`).join("\n")}
1711
+ ${Object.entries(e).map(([e, t]) => `\t<key>${er(e)}</key>\n\t${tr(t)}`).join("\n")}
1696
1712
  </dict>
1697
1713
  </plist>
1698
1714
  `;
1699
1715
  }
1700
1716
  //#endregion
1701
1717
  //#region src/macosApp.mts
1702
- async function er(e) {
1718
+ async function rr(e) {
1703
1719
  let { appPath: t, metadata: n, hostBin: r } = e;
1704
1720
  await D(t, {
1705
1721
  recursive: !0,
@@ -1724,7 +1740,7 @@ async function er(e) {
1724
1740
  let e = y.basename(n.icon);
1725
1741
  await w(n.icon, y.join(o, e)), c.CFBundleIconFile = e;
1726
1742
  }
1727
- return await O(y.join(i, "Info.plist"), $n(c)), await O(y.join(i, "PkgInfo"), "APPL????"), {
1743
+ return await O(y.join(i, "Info.plist"), nr(c)), await O(y.join(i, "PkgInfo"), "APPL????"), {
1728
1744
  appPath: t,
1729
1745
  executablePath: s,
1730
1746
  resourcesDir: o
@@ -1732,8 +1748,8 @@ async function er(e) {
1732
1748
  }
1733
1749
  //#endregion
1734
1750
  //#region src/watchForEdit.mts
1735
- var tr = /^(?:inca\.config\.[a-z0-9]+|package\.json)$/, nr = [...Vn, "App.vue"];
1736
- function rr(e, t = {}) {
1751
+ var ir = /^(?:inca\.config\.[a-z0-9]+|package\.json)$/, ar = [...Hn, "App.vue"];
1752
+ function or(e, t = {}) {
1737
1753
  let n = t.debounceMs ?? 100, r = /* @__PURE__ */ new Set(), i, a = !1, o = () => {}, s = new Promise((e) => {
1738
1754
  o = e;
1739
1755
  }), c = () => {
@@ -1754,7 +1770,7 @@ function rr(e, t = {}) {
1754
1770
  r.clear();
1755
1771
  };
1756
1772
  try {
1757
- l(e, (e) => e === "src" || tr.test(e)), l(y.join(e, "src"), (e) => nr.includes(e));
1773
+ l(e, (e) => e === "src" || ir.test(e)), l(y.join(e, "src"), (e) => ar.includes(e));
1758
1774
  } catch (e) {
1759
1775
  throw u(), e;
1760
1776
  }
@@ -1770,7 +1786,7 @@ function rr(e, t = {}) {
1770
1786
  }
1771
1787
  //#endregion
1772
1788
  //#region src/retryOnEdit.mts
1773
- function ir(e, t) {
1789
+ function sr(e, t) {
1774
1790
  return new Promise((n) => {
1775
1791
  let r = () => n(!1);
1776
1792
  t.addEventListener("abort", r, { once: !0 }), e.then(() => {
@@ -1778,14 +1794,14 @@ function ir(e, t) {
1778
1794
  });
1779
1795
  });
1780
1796
  }
1781
- async function ar(e) {
1797
+ async function cr(e) {
1782
1798
  let { cwd: t, signal: n, stdout: r, stderr: i, debounceMs: a } = e, o = !1;
1783
1799
  for (;;) {
1784
- let s = rr(t, { debounceMs: a });
1800
+ let s = or(t, { debounceMs: a });
1785
1801
  try {
1786
1802
  return await e.attempt(s);
1787
1803
  } catch (e) {
1788
- let t = e instanceof Y ? e.path : void 0;
1804
+ let t = e instanceof q ? e.path : void 0;
1789
1805
  if (t) try {
1790
1806
  s.add(t);
1791
1807
  } catch (t) {
@@ -1795,7 +1811,7 @@ async function ar(e) {
1795
1811
  o = !0;
1796
1812
  continue;
1797
1813
  }
1798
- if (o = !1, $(i, "build failed", Q(e), X), n.aborted || (Z(r, "waiting for a change to retry", X), !await ir(s.edited, n))) return;
1814
+ if (o = !1, $(i, "build failed", Q(e), X), n.aborted || (Z(r, "waiting for a change to retry", X), !await sr(s.edited, n))) return;
1799
1815
  Z(r, "retrying", X);
1800
1816
  } finally {
1801
1817
  s.close();
@@ -1804,19 +1820,19 @@ async function ar(e) {
1804
1820
  }
1805
1821
  //#endregion
1806
1822
  //#region src/dev.mts
1807
- var or = 1e4, sr = ["ERR_INCA_PACKAGE_JSON_NOT_FOUND", "ERR_INCA_PRODUCT_NAME_MISSING"];
1808
- async function cr(e, t) {
1823
+ var lr = 1e4, ur = ["ERR_INCA_PACKAGE_JSON_NOT_FOUND", "ERR_INCA_PRODUCT_NAME_MISSING"];
1824
+ async function dr(e, t) {
1809
1825
  try {
1810
- return await Bt(e);
1826
+ return await Ut(e);
1811
1827
  } catch (e) {
1812
- if (!(e instanceof Y) || !sr.includes(e.code)) throw e;
1828
+ if (!(e instanceof q) || !ur.includes(e.code)) throw e;
1813
1829
  Z(t, `running unnamed. ${e.message}`, X);
1814
1830
  return;
1815
1831
  }
1816
1832
  }
1817
- async function lr(e, t, n, r) {
1833
+ async function fr(e, t, n, r) {
1818
1834
  if (process.platform === "darwin" && t) try {
1819
- return (await er({
1835
+ return (await rr({
1820
1836
  appPath: y.join(e, "node_modules/.inca", `${t.productName}.app`),
1821
1837
  metadata: t,
1822
1838
  hostBin: n,
@@ -1827,7 +1843,7 @@ async function lr(e, t, n, r) {
1827
1843
  return;
1828
1844
  }
1829
1845
  }
1830
- async function ur(e, t) {
1846
+ async function pr(e, t) {
1831
1847
  let n = new Set(t), r;
1832
1848
  try {
1833
1849
  r = await ne(e, {
@@ -1839,44 +1855,44 @@ async function ur(e, t) {
1839
1855
  }
1840
1856
  await Promise.all(r.filter((e) => e.isFile()).map((t) => y.relative(e, y.join(t.parentPath, t.name))).filter((e) => !n.has(e)).map((t) => D(y.join(e, t), { force: !0 })));
1841
1857
  }
1842
- function dr(e) {
1858
+ function mr(e) {
1843
1859
  let { NO_COLOR: t, FORCE_COLOR: n } = process.env;
1844
1860
  if (!(!e.isTTY || t || n)) return {
1845
1861
  ...process.env,
1846
1862
  FORCE_COLOR: "1"
1847
1863
  };
1848
1864
  }
1849
- async function fr(e) {
1850
- let t = e.cwd ?? process.cwd(), n = await Yn(t);
1865
+ async function hr(e) {
1866
+ let t = e.cwd ?? process.cwd(), n = await Qn(t);
1851
1867
  try {
1852
- let n = e.hostBin ?? Kt();
1853
- qt(n);
1854
- let r = e.bundler ?? Bn, i = e.stdout ?? process.stdout, a = e.stderr ?? process.stderr, o = e.experimentalHmr ? r.hmr?.bind(r) : void 0;
1855
- if (e.experimentalHmr && !o) throw new Y("ERR_INCA_HMR_UNSUPPORTED", "--experimental-hmr was set, but the configured bundler has no HMR support");
1856
- let s = await ar({
1868
+ let n = e.hostBin ?? J();
1869
+ Y(n);
1870
+ let r = e.bundler ?? Vn, i = e.stdout ?? process.stdout, a = e.stderr ?? process.stderr, o = e.experimentalHmr ? r.hmr?.bind(r) : void 0;
1871
+ if (e.experimentalHmr && !o) throw new q("ERR_INCA_HMR_UNSUPPORTED", "--experimental-hmr was set, but the configured bundler has no HMR support");
1872
+ let s = await cr({
1857
1873
  cwd: t,
1858
1874
  signal: e.signal,
1859
1875
  stdout: i,
1860
1876
  stderr: a,
1861
1877
  async attempt() {
1862
- let n = await zt(t), r = y.resolve(t, n.outDir), a = e.entry ?? n.entry ?? await Hn(t);
1863
- Ft(t, r, a);
1864
- let o = await cr(t, i);
1878
+ let n = await Ht(t), r = y.resolve(t, n.outDir), a = e.entry ?? n.entry ?? await Gn(t);
1879
+ Rt(t, r, a);
1880
+ let o = await dr(t, i);
1865
1881
  return {
1866
1882
  outDir: r,
1867
1883
  entry: a,
1868
1884
  metadata: o,
1869
- runtimeConfig: o ? Vt(o) : await Ht(t)
1885
+ runtimeConfig: o ? Wt(o) : await Gt(t)
1870
1886
  };
1871
1887
  }
1872
1888
  });
1873
1889
  if (!s) return;
1874
- let { outDir: c, entry: l, metadata: u, runtimeConfig: d } = s, f = await lr(t, u, n, i) ?? n, p, m = !1, h = !1, g = !1, _, v = Promise.resolve(), b = () => {}, ee = new Promise((e) => {
1890
+ let { outDir: c, entry: l, metadata: u, runtimeConfig: d } = s, f = await fr(t, u, n, i) ?? n, p, m = !1, h = !1, g = !1, _, v = Promise.resolve(), b = () => {}, ee = new Promise((e) => {
1875
1891
  b = e;
1876
1892
  });
1877
1893
  async function x() {
1878
1894
  try {
1879
- return await p?.call("reload", void 0, or), !0;
1895
+ return await p?.call("reload", void 0, lr), !0;
1880
1896
  } catch (e) {
1881
1897
  return $(a, "reload failed", Q(e), X), !1;
1882
1898
  }
@@ -1887,10 +1903,10 @@ async function fr(e) {
1887
1903
  Z(i, `${S("green", "reload")} ${n} (${r}ms)`, X);
1888
1904
  }
1889
1905
  async function w(e, t) {
1890
- let n = new Qt({
1906
+ let n = new $t({
1891
1907
  entryFile: e,
1892
1908
  hostBin: f,
1893
- env: dr(a),
1909
+ env: mr(a),
1894
1910
  onStderr: (e) => a.write(e),
1895
1911
  onReady: () => {
1896
1912
  m = !0, Z(i, "ready", X), h && (h = !1, x());
@@ -1913,12 +1929,15 @@ async function fr(e) {
1913
1929
  p = n;
1914
1930
  }
1915
1931
  async function te(e) {
1916
- await ur(e.outDir, e.files), p ? m ? await x() && C(e.changed) : h = !0 : await w(e.entryFile);
1932
+ await pr(e.outDir, e.files), p ? m ? await x() && C(e.changed) : h = !0 : await w(e.entryFile);
1917
1933
  }
1918
1934
  let T;
1919
1935
  if (o) {
1920
1936
  let e = await o({
1921
1937
  entry: l,
1938
+ root: Wn(t, l),
1939
+ envDir: t,
1940
+ publicDir: y.join(t, "public"),
1922
1941
  cwd: t,
1923
1942
  runtimeConfig: d,
1924
1943
  stdout: i,
@@ -1939,6 +1958,9 @@ async function fr(e) {
1939
1958
  await w(e.entryFile, { vite: (t) => e.dispatch(t) }), T = e, p || b();
1940
1959
  } else T = await r.watch({
1941
1960
  entry: l,
1961
+ root: Wn(t, l),
1962
+ envDir: t,
1963
+ publicDir: y.join(t, "public"),
1942
1964
  outDir: c,
1943
1965
  runtimeConfig: d,
1944
1966
  mode: "development",
@@ -1951,10 +1973,10 @@ async function fr(e) {
1951
1973
  $(a, "build failed", e, X);
1952
1974
  }
1953
1975
  });
1954
- if (e.signal.aborted ? b() : e.signal.addEventListener("abort", () => b(), { once: !0 }), await ee, await v, await p?.stop(), await T.close(), g) throw new Y("ERR_INCA_HOST_EXITED_EARLY", "the host exited before it was ready");
1976
+ if (e.signal.aborted ? b() : e.signal.addEventListener("abort", () => b(), { once: !0 }), await ee, await v, await p?.stop(), await T.close(), g) throw new q("ERR_INCA_HOST_EXITED_EARLY", "the host exited before it was ready");
1955
1977
  if (_ && _.code !== 0 && _.signal !== "SIGINT" && _.signal !== "SIGTERM") {
1956
1978
  let { code: e, signal: t } = _;
1957
- throw new Y("ERR_INCA_HOST_CRASHED", `the host exited with ${t ? `signal ${t}` : `code ${e}`}`);
1979
+ throw new q("ERR_INCA_HOST_CRASHED", `the host exited with ${t ? `signal ${t}` : `code ${e}`}`);
1958
1980
  }
1959
1981
  } finally {
1960
1982
  await n();
@@ -1962,72 +1984,116 @@ async function fr(e) {
1962
1984
  }
1963
1985
  //#endregion
1964
1986
  //#region src/package.mts
1965
- function pr() {
1987
+ function gr() {
1966
1988
  if (process.platform === "darwin") return "macos";
1967
1989
  if (process.platform === "linux") return "linux";
1968
- throw new Y("ERR_INCA_PLATFORM_UNSUPPORTED", `inca package doesn't support ${process.platform} yet`);
1990
+ throw new q("ERR_INCA_PLATFORM_UNSUPPORTED", `inca package doesn't support ${process.platform} yet`);
1969
1991
  }
1970
- async function mr(e, t) {
1992
+ async function _r(e, t) {
1971
1993
  await Promise.all(e.files.map(async (n) => {
1972
1994
  let r = y.join(t, n);
1973
1995
  await T(y.dirname(r), { recursive: !0 }), await w(y.join(e.outDir, n), r);
1974
1996
  }));
1975
1997
  }
1976
- function hr(e, t) {
1998
+ function vr(e, t) {
1977
1999
  let n = e.files.map((e) => e.split("/")[0] ?? e).find((e) => e.toLowerCase() === t.toLowerCase());
1978
- if (n !== void 0) throw new Y("ERR_INCA_PRODUCT_NAME_INVALID", `the packaged app's directory "${t}" collides with "${n}" in the build output. Set a different "productName" in inca.config.ts`);
2000
+ if (n !== void 0) throw new q("ERR_INCA_PRODUCT_NAME_INVALID", `the packaged app's directory "${t}" collides with "${n}" in the build output. Set a different "productName" in inca.config.ts`);
1979
2001
  }
1980
- async function gr({ metadata: e, output: t, hostBin: n }) {
1981
- let { appPath: r, resourcesDir: i } = await er({
2002
+ async function yr({ metadata: e, output: t, hostBin: n }) {
2003
+ let { appPath: r, resourcesDir: i } = await rr({
1982
2004
  appPath: y.join(t.outDir, `${e.productName}.app`),
1983
2005
  metadata: e,
1984
2006
  hostBin: n
1985
2007
  });
1986
- return await mr(t, i), r;
2008
+ return await _r(t, i), r;
1987
2009
  }
1988
- async function _r({ metadata: e, output: t, hostBin: n }) {
2010
+ async function br({ metadata: e, output: t, hostBin: n }) {
1989
2011
  let r = c(e.productName);
1990
- hr(t, r);
2012
+ vr(t, r);
1991
2013
  let i = y.join(t.outDir, r);
1992
2014
  await D(i, {
1993
2015
  recursive: !0,
1994
2016
  force: !0
1995
2017
  }), await T(i, { recursive: !0 });
1996
2018
  let a = y.join(i, r);
1997
- return await w(n, a), await C(a, 493), await mr(t, i), i;
2019
+ return await w(n, a), await C(a, 493), await _r(t, i), i;
1998
2020
  }
1999
- async function vr(e = {}) {
2000
- let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ?? pr(), i = await Bt(t);
2021
+ async function xr(e = {}) {
2022
+ let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ?? gr(), i = await Ut(t);
2001
2023
  i.usedPackageJsonKey && Z(n, "the \"inca\" key in package.json is deprecated. move these settings to inca.config.ts"), i.identifierIsDefault && Z(n, `no "identifier" set in inca.config.ts. using generated identifier ${i.identifier}`);
2002
- let a = await Wn({
2024
+ let a = await qn({
2003
2025
  cwd: t,
2004
2026
  entry: e.entry,
2005
2027
  config: i,
2006
2028
  sourcemap: e.sourcemap,
2007
- runtimeConfig: Vt(i),
2029
+ runtimeConfig: Wt(i),
2008
2030
  bundler: e.bundler,
2009
2031
  stdout: n,
2010
2032
  stderr: e.stderr
2011
- }), o = e.hostBin ?? Kt();
2012
- qt(o);
2033
+ }), o = e.hostBin ?? J();
2034
+ Y(o);
2013
2035
  let s = {
2014
2036
  metadata: i,
2015
2037
  output: a,
2016
2038
  hostBin: o
2017
2039
  };
2018
- return { appPath: r === "macos" ? await gr(s) : await _r(s) };
2040
+ return { appPath: r === "macos" ? await yr(s) : await br(s) };
2041
+ }
2042
+ //#endregion
2043
+ //#region src/printConfig.mts
2044
+ var Sr = {
2045
+ productName: "a string",
2046
+ identifier: "a string",
2047
+ window: "an object",
2048
+ "window.width": "a number",
2049
+ "window.height": "a number",
2050
+ "window.title": "a string",
2051
+ "window.resizable": "true or false",
2052
+ "window.minWidth": "a number",
2053
+ "window.minHeight": "a number"
2054
+ };
2055
+ function Cr(e) {
2056
+ return typeof e == "number" ? "a number" : typeof e == "string" ? "a string" : typeof e == "boolean" ? "true or false" : "an object";
2057
+ }
2058
+ function wr(e, t, n) {
2059
+ let r = `failed to read ${t}: `, i = e.split("\n")[0] ?? "";
2060
+ if (!i.startsWith(r)) return;
2061
+ let a = i.slice(r.length), o = a.indexOf("]: "), s;
2062
+ try {
2063
+ s = JSON.parse(a.slice(0, o + 1));
2064
+ } catch {
2065
+ return;
2066
+ }
2067
+ if (!Array.isArray(s)) return;
2068
+ let [c, ...l] = s, u = [c === "name" ? "productName" : c, ...l].join("."), d = Sr[u];
2069
+ if (!d) return;
2070
+ let f = s.reduce((e, t) => e?.[t], n), p = Cr(f) === d ? "the host can't use it" : `it must be ${d}`;
2071
+ return new q("ERR_INCA_CONFIG_INVALID", `${u} in inca.config.ts is ${JSON.stringify(f)}. ${p}`);
2072
+ }
2073
+ async function Tr(e = {}) {
2074
+ let t = e.cwd ?? process.cwd(), n = e.hostBin ?? J();
2075
+ Y(n);
2076
+ let r = await Gt(t) ?? {}, i = y.join(t, "node_modules/.inca/config"), a = y.join(i, "bundle.js"), o = y.join(i, "inca.json");
2077
+ await T(i, { recursive: !0 }), await O(a, ""), await O(o, JSON.stringify(r, void 0, 2));
2078
+ let s = se(n, ["--print-config", a], { encoding: "utf8" });
2079
+ if (s.error) throw s.error;
2080
+ if (s.status !== 0) {
2081
+ let e = wr(s.stderr, o, r);
2082
+ if (e) throw e;
2083
+ }
2084
+ return (e.stdout ?? process.stdout).write(s.stdout), (e.stderr ?? process.stderr).write(s.stderr), s.status ?? 1;
2019
2085
  }
2020
2086
  //#endregion
2021
2087
  //#region src/cli.mts
2022
- function yr(e) {
2088
+ function Er(e) {
2023
2089
  return y.relative(process.cwd(), e);
2024
2090
  }
2025
- var br = {
2091
+ var Dr = {
2026
2092
  type: "boolean",
2027
2093
  description: "Write a source map",
2028
2094
  negativeDescription: "Skip the source map"
2029
2095
  };
2030
- function xr() {
2096
+ function Or() {
2031
2097
  for (let e of [
2032
2098
  0,
2033
2099
  1,
@@ -2036,35 +2102,47 @@ function xr() {
2036
2102
  f.closeSync(e);
2037
2103
  } catch {}
2038
2104
  }
2039
- var Sr = B({
2105
+ var kr = B({
2040
2106
  meta: {
2041
2107
  name: "build",
2042
2108
  description: "Bundle the app into dist"
2043
2109
  },
2044
- args: { sourcemap: br },
2110
+ args: { sourcemap: Dr },
2045
2111
  async run({ args: e }) {
2046
2112
  try {
2047
- let t = await Wn({ sourcemap: e.sourcemap });
2048
- Z(process.stdout, `built ${yr(t.entryFile)}`);
2113
+ let t = await qn({ sourcemap: e.sourcemap });
2114
+ Z(process.stdout, `built ${Er(t.entryFile)}`);
2049
2115
  } catch (e) {
2050
2116
  $(process.stderr, "build failed", Q(e)), process.exitCode = 1;
2051
2117
  }
2052
2118
  }
2053
- }), Cr = B({
2119
+ }), Ar = B({
2054
2120
  meta: {
2055
2121
  name: "package",
2056
2122
  description: "Package the app as an application bundle"
2057
2123
  },
2058
- args: { sourcemap: br },
2124
+ args: { sourcemap: Dr },
2059
2125
  async run({ args: e }) {
2060
2126
  try {
2061
- let { appPath: t } = await vr({ sourcemap: e.sourcemap });
2062
- Z(process.stdout, `packaged ${yr(t)}`);
2127
+ let { appPath: t } = await xr({ sourcemap: e.sourcemap });
2128
+ Z(process.stdout, `packaged ${Er(t)}`);
2063
2129
  } catch (e) {
2064
2130
  $(process.stderr, "package failed", Q(e)), process.exitCode = 1;
2065
2131
  }
2066
2132
  }
2067
- }), wr = B({
2133
+ }), jr = B({
2134
+ meta: {
2135
+ name: "config",
2136
+ description: "Print the settings the host applies to the app"
2137
+ },
2138
+ async run() {
2139
+ try {
2140
+ process.exitCode = await Tr();
2141
+ } catch (e) {
2142
+ $(process.stderr, "config failed", Q(e)), process.exitCode = 1;
2143
+ }
2144
+ }
2145
+ }), Mr = B({
2068
2146
  meta: {
2069
2147
  name: "dev",
2070
2148
  description: "Run the app in a development window"
@@ -2074,7 +2152,7 @@ var Sr = B({
2074
2152
  description: "Apply edits without a reload (or set INCA_EXPERIMENTAL_HMR)"
2075
2153
  } },
2076
2154
  async run({ args: e }) {
2077
- "sourcemap" in e && nn(process.stderr, "dev ignores --sourcemap and --no-sourcemap", { timestamp: !0 });
2155
+ "sourcemap" in e && rn(process.stderr, "dev ignores --sourcemap and --no-sourcemap", { timestamp: !0 });
2078
2156
  let t = new AbortController(), n = () => {
2079
2157
  t.signal.aborted || (Z(process.stderr, "shutting down", { timestamp: !0 }), t.abort());
2080
2158
  };
@@ -2086,28 +2164,29 @@ var Sr = B({
2086
2164
  ].includes(process.env.INCA_EXPERIMENTAL_HMR ?? "");
2087
2165
  r && Z(process.stdout, "experimental HMR active", { timestamp: !0 });
2088
2166
  try {
2089
- await fr({
2167
+ await hr({
2090
2168
  signal: t.signal,
2091
2169
  experimentalHmr: r
2092
- }), t.signal.aborted && xr();
2170
+ }), t.signal.aborted && Or();
2093
2171
  } catch (e) {
2094
2172
  $(process.stderr, "dev failed", Q(e), { timestamp: !0 }), process.exitCode = 1;
2095
2173
  }
2096
2174
  }
2097
- }), Tr = B({
2175
+ }), Nr = B({
2098
2176
  meta: {
2099
2177
  name: "inca",
2100
- version: ze,
2101
- description: Be
2178
+ version: Ve,
2179
+ description: He
2102
2180
  },
2103
2181
  subCommands: {
2104
- dev: wr,
2105
- build: Sr,
2106
- package: Cr
2182
+ dev: Mr,
2183
+ build: kr,
2184
+ package: Ar,
2185
+ config: jr
2107
2186
  }
2108
2187
  });
2109
- async function Er(e = process.argv) {
2110
- await Ie(Tr, { rawArgs: e.slice(2) });
2188
+ async function Pr(e = process.argv) {
2189
+ await Re(Nr, { rawArgs: e.slice(2) });
2111
2190
  }
2112
2191
  //#endregion
2113
- export { Er as run };
2192
+ export { Pr as run };