@incajs/cli 0.0.11 → 0.0.13

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
@@ -1,34 +1,34 @@
1
1
  import { t as e } from "./chunks/rolldown-runtime-Dy4uBu1J.js";
2
- import { c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./chunks/dist-Bc5Uk6dY.js";
2
+ import { c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./chunks/dist-C64iuQVW.js";
3
3
  import { i as c, n as l, r as u, t as d } from "./chunks/defaults-TOBTBbDy.js";
4
- import f, { resolve as p } from "node:path";
5
- import { existsSync as m, lstatSync as h, readFileSync as g, realpathSync as _, statSync as v, watch as y } from "node:fs";
6
- import { chmod as b, cp as x, link as S, mkdir as C, readFile as w, readdir as T, rm as E, writeFile as D } from "node:fs/promises";
7
- import * as ee from "node:util";
4
+ import f, { existsSync as p, lstatSync as m, readFileSync as h, realpathSync as g, statSync as _, watch as v } from "node:fs";
5
+ import y, { resolve as b } from "node:path";
6
+ import { chmod as x, cp as S, link as C, mkdir as w, readFile as T, readdir as ee, rm as E, writeFile as D } from "node:fs/promises";
7
+ import * as te from "node:util";
8
8
  import { styleText as O } from "node:util";
9
- import { fileURLToPath as te, pathToFileURL as ne } from "node:url";
9
+ import { fileURLToPath as ne, pathToFileURL as re } from "node:url";
10
10
  import { homedir as k } from "node:os";
11
- import { DevEnvironment as re, build as A, buildErrorMessage as ie, createServer as ae } from "vite";
12
- import oe from "@vitejs/plugin-vue";
13
- import { createRequire as se } from "node:module";
14
- import { spawn as ce } from "node:child_process";
11
+ import { DevEnvironment as ie, build as A, buildErrorMessage as ae, createServer as oe } from "vite";
12
+ import se from "@vitejs/plugin-vue";
13
+ import { createRequire as ce } from "node:module";
14
+ import { spawn as le } from "node:child_process";
15
15
  import { once as j } from "node:events";
16
- import le from "node:readline";
17
- import { setTimeout as ue } from "node:timers/promises";
18
- import { randomUUID as de } from "node:crypto";
16
+ import ue from "node:readline";
17
+ import { setTimeout as de } from "node:timers/promises";
18
+ import { randomUUID as fe } from "node:crypto";
19
19
  //#region ../../node_modules/.pnpm/rc9@3.1.0/node_modules/rc9/dist/_chunks/libs/flat.mjs
20
- function fe(e) {
20
+ function pe(e) {
21
21
  return e && e.constructor && typeof e.constructor.isBuffer == "function" && e.constructor.isBuffer(e);
22
22
  }
23
23
  function M(e) {
24
24
  return e;
25
25
  }
26
- function pe(e, t) {
26
+ function me(e, t) {
27
27
  t ||= {};
28
28
  let n = t.delimiter || ".", r = t.maxDepth, i = t.transformKey || M, a = {};
29
29
  function o(e, s, c) {
30
30
  c ||= 1, Object.keys(e).forEach(function(l) {
31
- let u = e[l], d = t.safe && Array.isArray(u), f = Object.prototype.toString.call(u), p = fe(u), m = f === "[object Object]" || f === "[object Array]", h = s ? s + n + i(l) : i(l);
31
+ let u = e[l], d = t.safe && Array.isArray(u), f = Object.prototype.toString.call(u), p = pe(u), m = f === "[object Object]" || f === "[object Array]", h = s ? s + n + i(l) : i(l);
32
32
  if (!d && !p && m && Object.keys(u).length && (!t.maxDepth || c < r)) return o(u, h, c + 1);
33
33
  a[h] = u;
34
34
  });
@@ -38,7 +38,7 @@ function pe(e, t) {
38
38
  function N(e, t) {
39
39
  t ||= {};
40
40
  let n = t.delimiter || ".", r = t.overwrite || !1, i = t.transformKey || M, a = {};
41
- if (fe(e) || Object.prototype.toString.call(e) !== "[object Object]") return e;
41
+ if (pe(e) || Object.prototype.toString.call(e) !== "[object Object]") return e;
42
42
  function o(e) {
43
43
  let n = Number(e);
44
44
  return isNaN(n) || e.indexOf(".") !== -1 || t.object ? e : n;
@@ -56,7 +56,7 @@ function N(e, t) {
56
56
  }
57
57
  return e = Object.keys(e).reduce(function(n, r) {
58
58
  let i = Object.prototype.toString.call(e[r]);
59
- return i !== "[object Object]" && i !== "[object Array]" || c(e[r]) ? (n[r] = e[r], n) : s(r, n, pe(e[r], t));
59
+ return i !== "[object Object]" && i !== "[object Array]" || c(e[r]) ? (n[r] = e[r], n) : s(r, n, me(e[r], t));
60
60
  }, {}), Object.keys(e).forEach(function(s) {
61
61
  let c = s.split(n).map(i), l = o(c.shift()), u = o(c[0]), d = a;
62
62
  for (; u !== void 0;) {
@@ -70,18 +70,15 @@ function N(e, t) {
70
70
  }
71
71
  //#endregion
72
72
  //#region ../../node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs
73
- var me = /"(?:_|\\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*:/, he = /"(?: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*:/, ge = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;
74
- function _e(e, t) {
75
- if (e === "__proto__" || e === "constructor" && t && typeof t == "object" && "prototype" in t) {
76
- ve(e);
77
- return;
78
- }
79
- return t;
73
+ var he = /"(?:_|\\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*:/, ge = /"(?: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*:/, _e = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;
74
+ function ve(e, t) {
75
+ if (e === "__proto__" || e === "constructor" && t && typeof t == "object" && "prototype" in t) ye(e);
76
+ else return t;
80
77
  }
81
- function ve(e) {
78
+ function ye(e) {
82
79
  console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);
83
80
  }
84
- function ye(e, t = {}) {
81
+ function be(e, t = {}) {
85
82
  if (typeof e != "string") return e;
86
83
  if (e[0] === "\"" && e[e.length - 1] === "\"" && e.indexOf("\\") === -1) return e.slice(1, -1);
87
84
  let n = e.trim();
@@ -94,14 +91,14 @@ function ye(e, t = {}) {
94
91
  case "infinity": return Infinity;
95
92
  case "-infinity": return -Infinity;
96
93
  }
97
- if (!ge.test(e)) {
94
+ if (!_e.test(e)) {
98
95
  if (t.strict) throw SyntaxError("[destr] Invalid JSON");
99
96
  return e;
100
97
  }
101
98
  try {
102
- if (me.test(e) || he.test(e)) {
99
+ if (he.test(e) || ge.test(e)) {
103
100
  if (t.strict) throw Error("[destr] Possible prototype pollution");
104
- return JSON.parse(e, _e);
101
+ return JSON.parse(e, ve);
105
102
  }
106
103
  return JSON.parse(e);
107
104
  } catch (n) {
@@ -126,70 +123,68 @@ function F(e, t, n = ".", r) {
126
123
  }
127
124
  return i;
128
125
  }
129
- function be(e) {
126
+ function xe(e) {
130
127
  return (...t) => t.reduce((t, n) => F(t, n, "", e), {});
131
128
  }
132
- var I = be(), xe = /^\s*([^\s=]+)\s*=\s*(.*)?\s*$/, Se = /\n|\r|\r\n/, Ce = {
129
+ var I = xe(), Se = /^\s*([^\s=]+)\s*=\s*(.*)?\s*$/, Ce = /\n|\r|\r\n/, we = {
133
130
  name: ".conf",
134
131
  dir: process.cwd(),
135
132
  flat: !1
136
133
  };
137
- function we(e) {
134
+ function Te(e) {
138
135
  return typeof e == "string" && (e = { name: e }), {
139
- ...Ce,
136
+ ...we,
140
137
  ...e
141
138
  };
142
139
  }
143
- function Te(e, t = {}) {
144
- let n = {}, r = e.split(Se);
140
+ function Ee(e, t = {}) {
141
+ let n = {}, r = e.split(Ce);
145
142
  for (let e of r) {
146
- let t = e.match(xe);
143
+ let t = e.match(Se);
147
144
  if (!t) continue;
148
145
  let r = t[1];
149
146
  if (!r || r === "__proto__" || r === "constructor") continue;
150
- let i = ye((t[2] || "").trim());
147
+ let i = be((t[2] || "").trim());
151
148
  if (r.endsWith("[]")) {
152
149
  let e = r.slice(0, Math.max(0, r.length - 2));
153
150
  n[e] = (n[e] || []).concat(i);
154
- continue;
155
- }
156
- n[r] = i;
151
+ } else n[r] = i;
157
152
  }
158
153
  return t.flat ? n : N(n, { overwrite: !0 });
159
154
  }
160
- function Ee(e, t) {
161
- return m(e) ? Te(g(e, "utf8"), t) : {};
155
+ function De(e, t) {
156
+ return p(e) ? Ee(h(e, "utf8"), t) : {};
162
157
  }
163
158
  function L(e) {
164
- return e = we(e), Ee(p(e.dir, e.name), e);
159
+ return e = Te(e), De(b(e.dir, e.name), e);
165
160
  }
166
- function De() {
167
- return process.env.XDG_CONFIG_HOME || p(k(), ".config");
161
+ function Oe() {
162
+ return process.env.XDG_CONFIG_HOME || b(k(), ".config");
168
163
  }
169
- function Oe(e) {
170
- return e = we(e), e.dir = De(), L(e);
164
+ function ke(e) {
165
+ return e = Te(e), e.dir = Oe(), L(e);
171
166
  }
172
167
  //#endregion
173
168
  //#region ../../node_modules/.pnpm/c12@4.0.0-rc.2_magicast@0.5.4/node_modules/c12/dist/index.mjs
174
- async function ke(e) {
175
- let t = e.env ?? process.env, n = await Ae({
169
+ async function Ae(e) {
170
+ let t = e.env ?? process.env, n = await je({
176
171
  cwd: e.cwd,
177
172
  fileName: e.fileName ?? ".env",
178
173
  env: t,
179
174
  interpolate: e.interpolate ?? !0,
180
175
  expandFileReferences: e.expandFileReferences ?? !1,
181
176
  parse: e.parse
182
- }), r = Le(t);
177
+ }), r = Re(t);
183
178
  for (let e in n) e.startsWith("_") || (t[e] === void 0 || r.has(e)) && (t[e] = n[e]);
184
179
  return n;
185
180
  }
186
- async function Ae(e) {
187
- let n = Object.create(null), r = t(e.cwd || "."), i = e.fileName || ".env", a = typeof i == "string" ? [i] : i, o = Le(e.env || {});
181
+ async function je(e) {
182
+ let n = Object.create(null), r = t(e.cwd || "."), i = e.fileName || ".env", a = typeof i == "string" ? [i] : i, o = Re(e.env || {});
188
183
  Object.assign(n, e.env);
189
184
  for (let i of a) {
190
185
  let a = t(r, i);
191
- if (!v(a, { throwIfNoEntry: !1 })?.isFile()) continue;
192
- let s = await je(a, e.parse);
186
+ if (!_(a, { throwIfNoEntry: !1 })?.isFile()) continue;
187
+ let s = await Me(a, e.parse);
193
188
  for (let e in s) e in n && !o.has(e) || (n[e] = s[e], o.add(e));
194
189
  }
195
190
  if (e.expandFileReferences) {
@@ -197,15 +192,15 @@ async function Ae(e) {
197
192
  let t = e.slice(0, -5);
198
193
  if (n[t] === void 0) {
199
194
  let r = n[e];
200
- r && v(r, { throwIfNoEntry: !1 })?.isFile() && (n[t] = g(r, "utf8").trim(), o.add(t));
195
+ r && _(r, { throwIfNoEntry: !1 })?.isFile() && (n[t] = h(r, "utf8").trim(), o.add(t));
201
196
  }
202
197
  }
203
198
  }
204
- return e.interpolate && Me(n), n;
199
+ return e.interpolate && Ne(n), n;
205
200
  }
206
- var R = ee.parseEnv;
207
- async function je(e, t) {
208
- let n = g(e, "utf8");
201
+ var R = te.parseEnv;
202
+ async function Me(e, t) {
203
+ let n = h(e, "utf8");
209
204
  if (t) return t(n);
210
205
  if (!R) try {
211
206
  let e = await import("./chunks/__vite-optional-peer-dep_dotenv_c12-CxKvRg9-.js");
@@ -215,7 +210,7 @@ async function je(e, t) {
215
210
  }
216
211
  return R(n);
217
212
  }
218
- function Me(e, t = {}, n = (e) => e) {
213
+ function Ne(e, t = {}, n = (e) => e) {
219
214
  function r(n) {
220
215
  return t[n] === void 0 ? e[n] : t[n];
221
216
  }
@@ -228,7 +223,7 @@ function Me(e, t = {}, n = (e) => e) {
228
223
  a += "$", o += 2;
229
224
  continue;
230
225
  }
231
- let s = n === "$" ? Fe(e, o) : void 0;
226
+ let s = n === "$" ? Ie(e, o) : void 0;
232
227
  if (!s) {
233
228
  a += n, o++;
234
229
  continue;
@@ -247,11 +242,11 @@ function Me(e, t = {}, n = (e) => e) {
247
242
  }
248
243
  for (let t in e) e[t] = i(r(t));
249
244
  }
250
- var Ne = /\w+/y, Pe = /[\w:]+/y;
251
- function Fe(e, t) {
245
+ var Pe = /\w+/y, Fe = /[\w:]+/y;
246
+ function Ie(e, t) {
252
247
  let n = t + 1, r = e[n] === "{";
253
248
  r && n++;
254
- let i = r ? Pe : Ne;
249
+ let i = r ? Fe : Pe;
255
250
  i.lastIndex = n;
256
251
  let a = i.exec(e);
257
252
  if (!a) return;
@@ -267,7 +262,7 @@ function Fe(e, t) {
267
262
  if (e[n] === "-") {
268
263
  let t = "-";
269
264
  o.endsWith(":") && (o = o.slice(0, -1), t = ":-");
270
- let r = o ? Ie(e, n + 1) : void 0;
265
+ let r = o ? Le(e, n + 1) : void 0;
271
266
  return r ? {
272
267
  key: o,
273
268
  operator: t,
@@ -280,38 +275,35 @@ function Fe(e, t) {
280
275
  end: n
281
276
  };
282
277
  }
283
- function Ie(e, t) {
278
+ function Le(e, t) {
284
279
  let n = "", r = 1;
285
280
  for (let i = t; i < e.length; i++) {
286
281
  let t = e[i];
287
282
  if (t === "\\" && i + 1 < e.length) {
288
283
  let r = e[i + 1];
289
284
  n += r === "{" || r === "}" ? r : t + r, i++;
290
- continue;
291
- }
292
- if (t === "$" && e[i + 1] === "{") {
293
- r++, n += "${", i++;
294
- continue;
285
+ } else if (t === "$" && e[i + 1] === "{") r++, n += "${", i++;
286
+ else {
287
+ if (t === "{" && r++, t === "}" && (r--, r === 0)) return {
288
+ value: n,
289
+ end: i + 1
290
+ };
291
+ n += t;
295
292
  }
296
- if (t === "{" && r++, t === "}" && (r--, r === 0)) return {
297
- value: n,
298
- end: i + 1
299
- };
300
- n += t;
301
293
  }
302
294
  }
303
- function Le(e) {
295
+ function Re(e) {
304
296
  let t = globalThis.__c12_dotenv_vars__ ||= /* @__PURE__ */ new Map();
305
297
  return t.has(e) || t.set(e, /* @__PURE__ */ new Set()), t.get(e);
306
298
  }
307
- var Re = (e) => e?.replace(/\\/g, "/"), ze = 0, Be = {
299
+ var ze = (e) => e?.replace(/\\/g, "/"), Be = 0, Ve = {
308
300
  ".json": () => JSON.parse,
309
- ".yaml": () => import("./chunks/yaml-N2dF3WHm.js").then((e) => e.parseYAML),
310
- ".yml": () => import("./chunks/yaml-N2dF3WHm.js").then((e) => e.parseYAML),
301
+ ".yaml": () => import("./chunks/yaml-U_oPOIGK.js").then((e) => e.parseYAML),
302
+ ".yml": () => import("./chunks/yaml-U_oPOIGK.js").then((e) => e.parseYAML),
311
303
  ".jsonc": () => import("./chunks/jsonc-BDHXk_1o.js").then((e) => e.n).then((e) => (t) => e.parseJSONC(t, { allowTrailingComma: !0 })),
312
- ".json5": () => import("./chunks/json5-feUuPtTt.js").then((e) => e.parseJSON5),
313
- ".toml": () => import("./chunks/toml-BERh2MAo.js").then((e) => e.parseTOML)
314
- }, Ve = Object.freeze([
304
+ ".json5": () => import("./chunks/json5-RapVXICN.js").then((e) => e.parseJSON5),
305
+ ".toml": () => import("./chunks/toml-CgS7wGvD.js").then((e) => e.parseTOML)
306
+ }, He = Object.freeze([
315
307
  ".js",
316
308
  ".ts",
317
309
  ".mjs",
@@ -325,7 +317,7 @@ var Re = (e) => e?.replace(/\\/g, "/"), ze = 0, Be = {
325
317
  ".yml",
326
318
  ".toml"
327
319
  ]);
328
- async function He(e) {
320
+ async function Ue(e) {
329
321
  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 = {
330
322
  extendKey: "extends",
331
323
  ...e.extend
@@ -343,7 +335,7 @@ async function He(e) {
343
335
  packageJson: void 0,
344
336
  defaultConfig: e.defaultConfig
345
337
  };
346
- e.dotenv && await ke({
338
+ e.dotenv && await Ae({
347
339
  cwd: e.cwd,
348
340
  ...e.dotenv === !0 ? {} : e.dotenv
349
341
  });
@@ -354,11 +346,11 @@ async function He(e) {
354
346
  name: e.rcFile,
355
347
  dir: e.cwd
356
348
  })), e.globalRc) {
357
- let { findWorkspaceDir: n } = await import("./chunks/dist-Bp_FYhnk.js"), r = await n(e.cwd).catch(() => {});
349
+ let { findWorkspaceDir: n } = await import("./chunks/dist-DrnNGO2a.js"), r = await n(e.cwd).catch(() => {});
358
350
  r && t.push(L({
359
351
  name: e.rcFile,
360
352
  dir: r
361
- })), t.push(Oe({ name: e.rcFile })), t.push(L({
353
+ })), t.push(ke({ name: e.rcFile })), t.push(L({
362
354
  name: e.rcFile,
363
355
  dir: k()
364
356
  }));
@@ -366,7 +358,7 @@ async function He(e) {
366
358
  i.rc = n({}, ...t);
367
359
  }
368
360
  if (e.packageJson) {
369
- let t = (Array.isArray(e.packageJson) ? e.packageJson : [typeof e.packageJson == "string" ? e.packageJson : e.name]).filter((e) => e && typeof e == "string"), { readPackageJSON: r } = await import("./chunks/dist-Bp_FYhnk.js"), a = await r(e.cwd).catch(() => {});
361
+ let t = (Array.isArray(e.packageJson) ? e.packageJson : [typeof e.packageJson == "string" ? e.packageJson : e.name]).filter((e) => e && typeof e == "string"), { readPackageJSON: r } = await import("./chunks/dist-DrnNGO2a.js"), a = await r(e.cwd).catch(() => {});
370
362
  i.packageJson = n({}, ...t.map((e) => a?.[e]));
371
363
  }
372
364
  let o = {};
@@ -377,7 +369,7 @@ async function He(e) {
377
369
  rawConfigs: i
378
370
  }) : t);
379
371
  }
380
- 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 Ue(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 = [...[
372
+ 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 We(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 = [...[
381
373
  o.overrides && {
382
374
  config: o.overrides,
383
375
  configFile: void 0,
@@ -398,9 +390,9 @@ async function He(e) {
398
390
  }
399
391
  ].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];
400
392
  if (e.configFileRequired && !r._configFile) throw Error(`Required config (${r.configFile}) cannot be resolved.`);
401
- return e.schema != null && (r.config = await Ke(r.config, e.schema)), r;
393
+ return e.schema != null && (r.config = await qe(r.config, e.schema)), r;
402
394
  }
403
- async function Ue(e, t) {
395
+ async function We(e, t) {
404
396
  if (e._layers = e._layers || [], !t.extend) return;
405
397
  let n = t.extend.extendKey;
406
398
  typeof n == "string" && (n = [n]);
@@ -413,71 +405,67 @@ async function Ue(e, t) {
413
405
  continue;
414
406
  }
415
407
  let a = await z(n, t, i);
416
- if (!a.config) {
417
- console.warn(`Cannot extend config from \`${n}\` in ${t.cwd}`);
418
- continue;
419
- }
420
- await Ue(a.config, {
408
+ a.config ? (await We(a.config, {
421
409
  ...t,
422
410
  cwd: a.cwd
423
- }), e._layers.push(a), a.config._layers && (e._layers.push(...a.config._layers), delete a.config._layers);
411
+ }), 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}`);
424
412
  }
425
413
  }
426
- var We = [
414
+ var Ge = [
427
415
  "gh:",
428
416
  "github:",
429
417
  "gitlab:",
430
418
  "bitbucket:",
431
419
  "https://",
432
420
  "http://"
433
- ], Ge = /^(@[\da-z~-][\d._a-z~-]*\/)?[\da-z~-][\d._a-z~-]*($|\/.*)/;
421
+ ], Ke = /^(@[\da-z~-][\d._a-z~-]*\/)?[\da-z~-][\d._a-z~-]*($|\/.*)/;
434
422
  async function z(e, o, s = {}) {
435
423
  if (o.resolve) {
436
424
  let t = await o.resolve(e, o);
437
425
  if (t) return t;
438
426
  }
439
- let c = o.merger || I, l = Object.keys(s.giget?.providers || {}).map((e) => `${e}:`), u = l.length > 0 ? [.../* @__PURE__ */ new Set([...l, ...We])] : We;
427
+ let c = o.merger || I, l = Object.keys(s.giget?.providers || {}).map((e) => `${e}:`), u = l.length > 0 ? [.../* @__PURE__ */ new Set([...l, ...Ge])] : Ge;
440
428
  if (o.giget !== !1 && u.some((t) => e.startsWith(t))) {
441
429
  let { downloadTemplate: n } = await import("./chunks/__vite-optional-peer-dep_giget_c12-BYcrHYBM.js").catch((t) => {
442
430
  throw Error(`Extending config from \`${e}\` requires \`giget\` peer dependency to be installed.\n\nInstall it with: \`npx nypm i giget\``, { cause: t });
443
431
  }), { 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);
444
- u = r(f) === ".c12" ? i(f, l) : m(d) ? i(d, ".c12", l) : process.env.XDG_CACHE_HOME ? t(process.env.XDG_CACHE_HOME, "c12", l) : t(k(), ".cache/c12", l);
445
- let p = s.install ? I(s.install === !0 ? {} : s.install, { ignoreWorkspace: !0 }) : !1;
446
- m(u) && !p && await E(u, { recursive: !0 }), e = (await n(e, {
432
+ 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);
433
+ let m = s.install ? I(s.install === !0 ? {} : s.install, { ignoreWorkspace: !0 }) : !1;
434
+ p(u) && !m && await E(u, { recursive: !0 }), e = (await n(e, {
447
435
  dir: u,
448
- install: p,
449
- force: !!p,
436
+ install: m,
437
+ force: !!m,
450
438
  auth: s.auth,
451
439
  ...o.giget,
452
440
  ...s.giget
453
441
  })).dir;
454
442
  }
455
- Ge.test(e) && (e = B(e, o) || e);
456
- let d = n(e), f = qe(t(o.cwd, e)) ?? (!d || d === r(e)), p = t(o.cwd, f ? e : a(e));
443
+ Ke.test(e) && (e = B(e, o) || e);
444
+ let d = n(e), f = Je(t(o.cwd, e)) ?? (!d || d === r(e)), m = t(o.cwd, f ? e : a(e));
457
445
  f && (e = o.configFile);
458
446
  let h = {
459
447
  config: void 0,
460
448
  configFile: void 0,
461
- cwd: p,
449
+ cwd: m,
462
450
  source: e,
463
451
  sourceOptions: s
464
452
  };
465
- if (h.configFile = B(t(p, e), o) || B(t(p, ".config", e.replace(/\.config$/, "")), o) || B(t(p, ".config", e), o) || e, !m(h.configFile)) return h;
453
+ if (h.configFile = B(t(m, e), o) || B(t(m, ".config", e.replace(/\.config$/, "")), o) || B(t(m, ".config", e), o) || e, !p(h.configFile)) return h;
466
454
  h._configFile = h.configFile;
467
455
  let g = n(h.configFile) || "";
468
- if (g in Be) h.config = (await Be[g]())(await w(h.configFile, "utf8"));
456
+ if (g in Ve) h.config = (await Ve[g]())(await T(h.configFile, "utf8"));
469
457
  else {
470
458
  let e = o.resolveModule || ((e) => e.default || e);
471
459
  if (o.import) h.config = e(await o.import(h.configFile));
472
460
  else {
473
- let t = ne(h.configFile);
474
- t.search = `_${++ze}`, h.config = await import(t.href).then(e, async (t) => {
461
+ let t = re(h.configFile);
462
+ t.search = `_${++Be}`, h.config = await import(t.href).then(e, async (t) => {
475
463
  let { createJiti: n } = await import("./chunks/__vite-optional-peer-dep_jiti_c12-DZVJNj6v.js").catch(() => {
476
464
  throw Error(`Failed to load config file \`${h.configFile}\`: ${t?.message}. Hint install \`jiti\` for compatibility.`, { cause: t });
477
465
  }), r = n(i(o.cwd || ".", o.configFile || "/"), {
478
466
  interopDefault: !0,
479
467
  moduleCache: !1,
480
- extensions: [...Ve],
468
+ extensions: [...He],
481
469
  ...o.jitiOptions
482
470
  });
483
471
  return o.import = (e) => r.import(e), e(await o.import(h.configFile));
@@ -486,9 +474,9 @@ async function z(e, o, s = {}) {
486
474
  }
487
475
  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 });
488
476
  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);
489
- return _.length > 0 && (h.config = (o.envMerger || c)({}, ..._, h.config)), h.meta = I(h.sourceOptions.meta, h.config.$meta), delete h.config.$meta, h.sourceOptions.overrides && (h.config = c(h.sourceOptions.overrides, h.config)), h.configFile = Re(h.configFile), h.source = Re(h.source), h;
477
+ return _.length > 0 && (h.config = (o.envMerger || c)({}, ..._, h.config)), h.meta = I(h.sourceOptions.meta, h.config.$meta), delete h.config.$meta, h.sourceOptions.overrides && (h.config = c(h.sourceOptions.overrides, h.config)), h.configFile = ze(h.configFile), h.source = ze(h.source), h;
490
478
  }
491
- async function Ke(e, t) {
479
+ async function qe(e, t) {
492
480
  if (typeof t?.["~standard"]?.validate != "function") throw TypeError("Invalid `schema` option: expected a Standard Schema (https://standardschema.dev).");
493
481
  let n = await t["~standard"].validate(e);
494
482
  if (n.issues) {
@@ -503,16 +491,16 @@ async function Ke(e, t) {
503
491
  function B(e, t) {
504
492
  let n = s(e, {
505
493
  try: !0,
506
- from: ne(i(t.cwd || ".", t.configFile || "/")),
494
+ from: re(i(t.cwd || ".", t.configFile || "/")),
507
495
  suffixes: ["", "/index"],
508
- extensions: Ve,
496
+ extensions: He,
509
497
  cache: !1
510
498
  });
511
499
  return n ? o(n) : void 0;
512
500
  }
513
- function qe(e) {
501
+ function Je(e) {
514
502
  try {
515
- return v(e).isDirectory();
503
+ return _(e).isDirectory();
516
504
  } catch {
517
505
  return null;
518
506
  }
@@ -526,50 +514,50 @@ var V = class extends Error {
526
514
  constructor(e, t, n) {
527
515
  super(t), this.code = e, this.path = n;
528
516
  }
529
- }, Je = {
517
+ }, Ye = {
530
518
  name: "inca",
531
519
  packageJson: "inca",
532
520
  rcFile: !1,
533
521
  globalRc: !1,
534
522
  giget: !1,
535
523
  extend: !1
536
- }, Ye = /[/\\:*?"<>|\0]/;
537
- function Xe(e) {
538
- return e === e.trim() && e !== "" && e !== "." && e !== ".." && !Ye.test(e);
524
+ }, Xe = /[/\\:*?"<>|\0]/;
525
+ function Ze(e) {
526
+ return e === e.trim() && e !== "" && e !== "." && e !== ".." && !Xe.test(e);
539
527
  }
540
528
  function H(e) {
541
- if (!(typeof e == "string" && Xe(e))) throw new V("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 \`/\\:*?"<>|\``);
529
+ if (!(typeof e == "string" && Ze(e))) throw new V("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 \`/\\:*?"<>|\``);
542
530
  }
543
- var Ze = process.platform === "darwin" || process.platform === "win32";
544
- function Qe(e, t) {
545
- let n = (e) => Ze ? e.toLowerCase() : e, r = f.relative(n(e), n(t));
546
- return r === "" || r !== ".." && !r.startsWith(`..${f.sep}`) && !f.isAbsolute(r);
531
+ var Qe = process.platform === "darwin" || process.platform === "win32";
532
+ function $e(e, t) {
533
+ let n = (e) => Qe ? e.toLowerCase() : e, r = y.relative(n(e), n(t));
534
+ return r === "" || r !== ".." && !r.startsWith(`..${y.sep}`) && !y.isAbsolute(r);
547
535
  }
548
536
  function U(e) {
549
- let t = f.resolve(e), n = t;
550
- for (let e; !h(n, { throwIfNoEntry: !1 }) && (e = f.dirname(n)) !== n;) n = e;
551
- return f.join(_.native(n), f.relative(n, t));
537
+ let t = y.resolve(e), n = t;
538
+ for (let e; !m(n, { throwIfNoEntry: !1 }) && (e = y.dirname(n)) !== n;) n = e;
539
+ return y.join(g.native(n), y.relative(n, t));
552
540
  }
553
541
  function W(e, t, n) {
554
- let r = f.resolve(e, t), i;
542
+ let r = y.resolve(e, t), i;
555
543
  try {
556
544
  let t = U(r);
557
545
  i = [
558
546
  e,
559
- f.join(e, "src"),
560
- f.join(e, "node_modules"),
547
+ y.join(e, "src"),
548
+ y.join(e, "node_modules"),
561
549
  ...n ? [n] : []
562
- ].some((e) => Qe(t, U(e)));
550
+ ].some((e) => $e(t, U(e)));
563
551
  } catch {
564
552
  i = !0;
565
553
  }
566
554
  if (i) throw new V("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"`);
567
555
  }
568
- function $e(e, t, n) {
569
- let r = f.resolve(e, t ?? d.outDir);
556
+ function et(e, t, n) {
557
+ let r = y.resolve(e, t ?? d.outDir);
570
558
  return W(e, r, n), r;
571
559
  }
572
- function et(e, t) {
560
+ function tt(e, t) {
573
561
  try {
574
562
  return JSON.parse(e);
575
563
  } catch (e) {
@@ -577,56 +565,56 @@ function et(e, t) {
577
565
  }
578
566
  }
579
567
  async function G(e) {
580
- let { config: t, layers: n } = await He({
568
+ let { config: t, layers: n } = await Ue({
581
569
  cwd: e,
582
- ...Je
570
+ ...Ye
583
571
  }), r = n?.find((e) => e.configFile === "package.json");
584
572
  return {
585
573
  config: t,
586
574
  usedPackageJsonKey: Object.keys(r?.config ?? {}).length > 0
587
575
  };
588
576
  }
589
- async function tt(e) {
590
- let { config: t } = await G(e), n = t.entry ? f.resolve(e, t.entry) : void 0;
577
+ async function nt(e) {
578
+ let { config: t } = await G(e), n = t.entry ? y.resolve(e, t.entry) : void 0;
591
579
  return {
592
580
  entry: n,
593
- outDir: $e(e, t.outDir, n)
581
+ outDir: et(e, t.outDir, n)
594
582
  };
595
583
  }
596
- async function nt(e) {
597
- let t = f.join(e, "package.json"), n;
584
+ async function rt(e) {
585
+ let t = y.join(e, "package.json"), n;
598
586
  try {
599
- n = await w(t, "utf8");
587
+ n = await T(t, "utf8");
600
588
  } catch {
601
589
  throw new V("ERR_INCA_PACKAGE_JSON_NOT_FOUND", `no package.json found at ${t}`);
602
590
  }
603
- let r = et(n, t), { config: i, usedPackageJsonKey: a } = await G(e), o = i.productName ?? u(r.name);
591
+ let r = tt(n, t), { config: i, usedPackageJsonKey: a } = await G(e), o = i.productName ?? u(r.name);
604
592
  if (!o) throw new V("ERR_INCA_PRODUCT_NAME_MISSING", `${t} needs a "name", or "productName" in inca.config.ts`);
605
593
  H(o);
606
- let s = i.version ?? r.version ?? d.version, c = i.identifier ?? l(o), p;
607
- if (i.icon && (p = f.resolve(e, i.icon), !m(p))) throw new V("ERR_INCA_ICON_NOT_FOUND", `"icon" points to ${p}, which doesn't exist`, p);
608
- let h = i.entry ? f.resolve(e, i.entry) : void 0, g = $e(e, i.outDir, h);
594
+ let s = i.version ?? r.version ?? d.version, c = i.identifier ?? l(o), f;
595
+ if (i.icon && (f = y.resolve(e, i.icon), !p(f))) throw new V("ERR_INCA_ICON_NOT_FOUND", `"icon" points to ${f}, which doesn't exist`, f);
596
+ let m = i.entry ? y.resolve(e, i.entry) : void 0, h = et(e, i.outDir, m);
609
597
  return {
610
598
  productName: o,
611
599
  identifier: c,
612
600
  identifierIsDefault: i.identifier === void 0,
613
601
  version: s,
614
- icon: p,
602
+ icon: f,
615
603
  window: i.window,
616
- entry: h,
617
- outDir: g,
604
+ entry: m,
605
+ outDir: h,
618
606
  usedPackageJsonKey: a
619
607
  };
620
608
  }
621
- function rt(e) {
609
+ function it(e) {
622
610
  return {
623
611
  name: e.productName,
624
612
  identifier: e.identifier,
625
613
  window: e.window
626
614
  };
627
615
  }
628
- async function it(e) {
629
- let { config: t } = await G(e), n = f.join(e, "package.json"), r = await w(n, "utf8").catch(() => void 0), i = r === void 0 ? {} : et(r, n), a = t.productName ?? u(i.name);
616
+ async function at(e) {
617
+ let { config: t } = await G(e), n = y.join(e, "package.json"), r = await T(n, "utf8").catch(() => void 0), i = r === void 0 ? {} : tt(r, n), a = t.productName ?? u(i.name);
630
618
  a && H(a);
631
619
  let o = {
632
620
  name: a,
@@ -637,15 +625,15 @@ async function it(e) {
637
625
  }
638
626
  //#endregion
639
627
  //#region src/adapter/vite/captureOutput.mts
640
- function at(e, t, n) {
628
+ function ot(e, t, n) {
641
629
  return {
642
630
  outDir: e,
643
- entryFile: f.join(e, t.entryFile),
631
+ entryFile: y.join(e, t.entryFile),
644
632
  files: t.files,
645
633
  changed: n
646
634
  };
647
635
  }
648
- function ot(e, t) {
636
+ function st(e, t) {
649
637
  return {
650
638
  name: "inca:capture-output",
651
639
  writeBundle(n, r) {
@@ -660,19 +648,19 @@ function ot(e, t) {
660
648
  }
661
649
  //#endregion
662
650
  //#region src/adapter/vite/emitConfig.mts
663
- var st = "inca.json";
664
- function ct(e) {
651
+ var ct = "inca.json";
652
+ function lt(e) {
665
653
  let t = JSON.stringify(e, void 0, 2);
666
654
  if (t !== void 0 && t !== "{}") return `${t}\n`;
667
655
  }
668
- function lt(e) {
669
- let t = ct(e);
656
+ function ut(e) {
657
+ let t = lt(e);
670
658
  return {
671
659
  name: "inca:emit-config",
672
660
  generateBundle() {
673
661
  t && this.emitFile({
674
662
  type: "asset",
675
- fileName: st,
663
+ fileName: ct,
676
664
  source: t
677
665
  });
678
666
  }
@@ -680,8 +668,8 @@ function lt(e) {
680
668
  }
681
669
  //#endregion
682
670
  //#region src/adapter/vite/logger.mts
683
- var ut = "Build failed with ", dt = "Pre-transform error";
684
- function ft(e, t, n = !1) {
671
+ var dt = "Build failed with ", ft = "Pre-transform error";
672
+ function pt(e, t, n = !1) {
685
673
  let r = /* @__PURE__ */ new WeakSet(), i = /* @__PURE__ */ new Set(), a = {
686
674
  hasWarned: !1,
687
675
  info(t) {
@@ -694,7 +682,7 @@ function ft(e, t, n = !1) {
694
682
  i.has(e) || (i.add(e), a.warn(e));
695
683
  },
696
684
  error(e, n) {
697
- a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(ut) && (e.includes(dt) || t.write(`${e.replace(/\n\s+at .*/g, "")}\n`));
685
+ a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(dt) && (e.includes(ft) || t.write(`${e.replace(/\n\s+at .*/g, "")}\n`));
698
686
  },
699
687
  clearScreen() {},
700
688
  hasErrorLogged(e) {
@@ -705,7 +693,7 @@ function ft(e, t, n = !1) {
705
693
  }
706
694
  //#endregion
707
695
  //#region src/adapter/vite/unsupported.mts
708
- var pt = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, mt = [{
696
+ var mt = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, ht = [{
709
697
  code: "ERR_INCA_UNSUPPORTED_STYLE",
710
698
  name: "a <style> block",
711
699
  matches: (e) => e.includes("vue&type=style"),
@@ -713,52 +701,52 @@ var pt = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, mt = [{
713
701
  }, {
714
702
  code: "ERR_INCA_UNSUPPORTED_STYLESHEET",
715
703
  name: "a stylesheet import",
716
- matches: (e) => pt.test(e),
704
+ matches: (e) => mt.test(e),
717
705
  hint: "the renderer applies no stylesheet — use a :style binding instead"
718
706
  }];
719
- function ht(e, t = mt) {
707
+ function gt(e, t = ht) {
720
708
  return {
721
709
  name: "inca:reject-unsupported",
722
710
  enforce: "pre",
723
711
  transform(n, r) {
724
712
  let i = t.find((e) => e.matches(r));
725
713
  if (!i) return null;
726
- let a = f.relative(process.cwd(), r.split("?")[0] ?? r);
714
+ let a = y.relative(process.cwd(), r.split("?")[0] ?? r);
727
715
  throw new e.IncaError(i.code, `${i.code}: ${a} uses ${i.name}, unsupported for now: ${i.hint}`);
728
716
  }
729
717
  };
730
718
  }
731
719
  //#endregion
732
720
  //#region src/adapter/vite/config.mts
733
- var gt = "bundle.js";
734
- function _t({ core: e, runtimeModuleName: t, entry: n, outDir: r, mode: i, watch: a, onOutput: o, stdout: s, stderr: c, quiet: l, runtimeConfig: u }) {
721
+ var _t = "bundle.js";
722
+ function vt({ core: e, runtimeModuleName: t, entry: n, outDir: r, mode: i, watch: a, onOutput: o, stdout: s, stderr: c, quiet: l, runtimeConfig: u }) {
735
723
  return {
736
724
  configFile: !1,
737
- root: f.dirname(n),
725
+ root: y.dirname(n),
738
726
  mode: i,
739
727
  clearScreen: !1,
740
728
  logLevel: l ? "silent" : "info",
741
- customLogger: ft(s, c),
729
+ customLogger: pt(s, c),
742
730
  define: { "process.env.NODE_ENV": JSON.stringify(i) },
743
731
  plugins: [
744
- oe({ template: { compilerOptions: {
732
+ se({ template: { compilerOptions: {
745
733
  runtimeModuleName: t,
746
734
  hoistStatic: !1
747
735
  } } }),
748
- ht(e),
749
- lt(u),
750
- ot(e, o)
736
+ gt(e),
737
+ ut(u),
738
+ st(e, o)
751
739
  ],
752
740
  build: {
753
741
  lib: {
754
742
  entry: n,
755
743
  formats: ["es"],
756
- fileName: () => gt
744
+ fileName: () => _t
757
745
  },
758
746
  outDir: r,
759
747
  emptyOutDir: i === "production",
760
748
  minify: i === "production",
761
- watch: a ? {} : void 0,
749
+ watch: a ? { buildDelay: 30 } : void 0,
762
750
  rolldownOptions: { output: {
763
751
  chunkFileNames: "chunks/[name]-[hash].js",
764
752
  assetFileNames: "assets/[name]-[hash][extname]"
@@ -768,9 +756,9 @@ function _t({ core: e, runtimeModuleName: t, entry: n, outDir: r, mode: i, watch
768
756
  }
769
757
  //#endregion
770
758
  //#region src/adapter/vite/build.mts
771
- async function vt(e, t, { entry: n, outDir: r, runtimeConfig: i, stdout: a = process.stdout, stderr: o = process.stderr, quiet: s = !1 }) {
759
+ async function yt(e, t, { entry: n, outDir: r, runtimeConfig: i, stdout: a = process.stdout, stderr: o = process.stderr, quiet: s = !1 }) {
772
760
  let c;
773
- if (await A(_t({
761
+ if (await A(vt({
774
762
  core: e,
775
763
  runtimeModuleName: t,
776
764
  entry: n,
@@ -782,60 +770,60 @@ async function vt(e, t, { entry: n, outDir: r, runtimeConfig: i, stdout: a = pro
782
770
  stderr: o,
783
771
  quiet: s,
784
772
  onOutput: (e) => {
785
- c = at(r, e);
773
+ c = ot(r, e);
786
774
  }
787
775
  })), !c) throw new e.IncaError("ERR_INCA_BUILD_NO_OUTPUT", "build produced no output");
788
776
  return c;
789
777
  }
790
778
  //#endregion
791
779
  //#region src/adapter/vite/hmr.mts
792
- function yt(e, t) {
793
- let n = ie(t, [], !1), r = [t.stack, n].filter((e) => e).join("\n");
780
+ function bt(e, t) {
781
+ let n = ae(t, [], !1), r = [t.stack, n].filter((e) => e).join("\n");
794
782
  return {
795
783
  ...e.bundlerFault(t.message),
796
784
  stack: r || null
797
785
  };
798
786
  }
799
- function bt(e) {
800
- return f.join(e, "node_modules/.inca/hmr");
787
+ function xt(e) {
788
+ return y.join(e, "node_modules/.inca/hmr");
801
789
  }
802
- function xt() {
803
- let e = f.dirname(te(import.meta.url));
804
- for (; !m(f.join(e, "package.json"));) {
805
- let t = f.dirname(e);
790
+ function St() {
791
+ let e = y.dirname(ne(import.meta.url));
792
+ for (; !p(y.join(e, "package.json"));) {
793
+ let t = y.dirname(e);
806
794
  if (t === e) throw Error("could not locate @incajs/cli's own package.json");
807
795
  e = t;
808
796
  }
809
- return f.join(e, "dist/hmr-runtime.js");
797
+ return y.join(e, "dist/hmr-runtime.js");
810
798
  }
811
- function St(e, t) {
812
- let n = f.relative(e, t).split(f.sep).join("/");
799
+ function Ct(e, t) {
800
+ let n = y.relative(e, t).split(y.sep).join("/");
813
801
  return n.startsWith(".") ? n : `./${n}`;
814
802
  }
815
- async function Ct(e, t, n) {
816
- let r = bt(e);
817
- await C(r, { recursive: !0 });
818
- let i = f.join(r, "entry.js"), a = St(r, n ?? xt()), o = t.split(f.sep).join("/");
819
- return await D(i, `import { start } from ${JSON.stringify(a)};\nstart(${JSON.stringify(o)}).catch((err) => console.error(err));\n`), i;
803
+ async function wt(e, t, n) {
804
+ let r = xt(e);
805
+ await w(r, { recursive: !0 });
806
+ let i = y.join(r, "entry.js"), a = Ct(r, n ?? St()), o = t.split(y.sep).join("/");
807
+ return await D(i, `import { start } from ${JSON.stringify(a)};\nawait start(${JSON.stringify(o)});\n`), i;
820
808
  }
821
- function wt(e) {
809
+ function Tt(e) {
822
810
  if (e.type === "error") return e.err;
823
811
  if (e.type === "custom" && e.event === "vite:invoke") return e.data?.data?.error;
824
812
  }
825
- function Tt(e) {
813
+ function Et(e) {
826
814
  if (e.type !== "custom" || e.event !== "vite:invoke") return !1;
827
815
  let t = e.data;
828
816
  return t.name === "fetchModule" && !t.data?.error;
829
817
  }
830
- function Et(e, t, n, r, i) {
818
+ function Dt(e, t, n, r, i) {
831
819
  let a = /* @__PURE__ */ new Map(), o = { send: s };
832
820
  function s(a) {
833
821
  if (a.type === "full-reload") {
834
822
  t();
835
823
  return;
836
824
  }
837
- let o = wt(a);
838
- o ? (n(o), i.current = void 0) : Tt(a) && i.current && (r({
825
+ let o = Tt(a);
826
+ o ? (n(o), i.current = void 0) : Et(a) && i.current && (r({
839
827
  file: i.current.file,
840
828
  took: Date.now() - i.current.at
841
829
  }), i.current = void 0), e(a);
@@ -857,7 +845,7 @@ function Et(e, t, n, r, i) {
857
845
  }
858
846
  };
859
847
  }
860
- function Dt() {
848
+ function Ot() {
861
849
  let e = "\0inca:vite-client-shim";
862
850
  return {
863
851
  name: "inca:shim-vite-client",
@@ -870,7 +858,7 @@ function Dt() {
870
858
  }
871
859
  };
872
860
  }
873
- function Ot(e) {
861
+ function kt(e) {
874
862
  return {
875
863
  name: "inca:file-changed",
876
864
  hotUpdate(t) {
@@ -885,52 +873,56 @@ function Ot(e) {
885
873
  }
886
874
  };
887
875
  }
888
- async function kt(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: p = () => {} }) {
889
- let m = await Ct(r, n, a), h = ct(i), g = f.join(bt(r), st);
890
- h ? await D(g, h) : await E(g, { force: !0 });
891
- let _ = { current: void 0 }, { channel: v, dispatch: y } = Et(l, u, (t) => d(yt(e, t)), p, _), b = await ae({
876
+ async function At(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 = () => {} }) {
877
+ let p = await wt(r, n, a), m = lt(i), h = y.join(xt(r), ct);
878
+ m ? await D(h, m) : await E(h, { force: !0 });
879
+ let g = { current: void 0 }, { channel: _, dispatch: v } = Dt(l, u, (t) => d(bt(e, t)), f, g), b = await oe({
892
880
  configFile: !1,
893
- root: f.dirname(n),
881
+ root: y.dirname(n),
894
882
  mode: "development",
895
883
  clearScreen: !1,
896
884
  logLevel: c ? "silent" : "info",
897
- customLogger: ft(o, s, c),
885
+ customLogger: pt(o, s, c),
898
886
  define: { "process.env.NODE_ENV": JSON.stringify("development") },
899
887
  server: {
900
888
  middlewareMode: !0,
901
- ws: !1
889
+ ws: !1,
890
+ watch: { awaitWriteFinish: {
891
+ stabilityThreshold: 20,
892
+ pollInterval: 10
893
+ } }
902
894
  },
903
895
  optimizeDeps: { noDiscovery: !0 },
904
896
  environments: { client: {
905
897
  consumer: "client",
906
898
  dev: {
907
899
  moduleRunnerTransform: !0,
908
- createEnvironment: (e, t) => new re(e, t, {
900
+ createEnvironment: (e, t) => new ie(e, t, {
909
901
  hot: !0,
910
- transport: v
902
+ transport: _
911
903
  })
912
904
  }
913
905
  } },
914
906
  plugins: [
915
- oe({ template: { compilerOptions: {
907
+ se({ template: { compilerOptions: {
916
908
  runtimeModuleName: t,
917
909
  hoistStatic: !1
918
910
  } } }),
919
- ht(e),
920
- Dt(),
921
- Ot(_)
911
+ gt(e),
912
+ Ot(),
913
+ kt(g)
922
914
  ]
923
915
  });
924
916
  return {
925
- entryFile: m,
926
- dispatch: y,
917
+ entryFile: p,
918
+ dispatch: v,
927
919
  close: () => b.close()
928
920
  };
929
921
  }
930
922
  //#endregion
931
923
  //#region src/adapter/vite/watch.mts
932
- async function At(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, stderr: a = process.stderr, quiet: o = !1, ...s }) {
933
- let { outDir: c } = s, l, u = await A(_t({
924
+ async function jt(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, stderr: a = process.stderr, quiet: o = !1, ...s }) {
925
+ let { outDir: c } = s, l, u = await A(vt({
934
926
  core: e,
935
927
  runtimeModuleName: t,
936
928
  ...s,
@@ -939,7 +931,7 @@ async function At(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, st
939
931
  stderr: a,
940
932
  quiet: o,
941
933
  onOutput: (e) => {
942
- n(at(c, e, l)), l = void 0;
934
+ n(ot(c, e, l)), l = void 0;
943
935
  }
944
936
  }));
945
937
  return u.on("change", (e) => {
@@ -956,56 +948,56 @@ async function At(e, t, { onBuild: n, onError: r, stdout: i = process.stdout, st
956
948
  }
957
949
  //#endregion
958
950
  //#region src/adapter/vite/createBundler.mts
959
- function jt(e, t) {
951
+ function Mt(e, t) {
960
952
  return {
961
- watch: (n) => At(e, t, n),
962
- build: (n) => vt(e, t, n),
963
- hmr: (n) => kt(e, t, n)
953
+ watch: (n) => jt(e, t, n),
954
+ build: (n) => yt(e, t, n),
955
+ hmr: (n) => At(e, t, n)
964
956
  };
965
957
  }
966
958
  //#endregion
967
959
  //#region src/dev-client/hostBin.mts
968
- var Mt = "INCA_HOST_BIN";
969
- function Nt() {
960
+ var Nt = "INCA_HOST_BIN";
961
+ function Pt() {
970
962
  let e = process.platform === "darwin" || process.platform === "linux" ? process.platform : void 0, t = process.arch === "arm64" || process.arch === "x64" ? process.arch : void 0;
971
963
  return e && t ? `@incajs/host-${e}-${t}` : void 0;
972
964
  }
973
- function Pt() {
974
- let e = Nt();
965
+ function Ft() {
966
+ let e = Pt();
975
967
  if (e) try {
976
- return se(import.meta.url).resolve(`${e}/bin/inca-host`);
968
+ return ce(import.meta.url).resolve(`${e}/bin/inca-host`);
977
969
  } catch {
978
970
  return;
979
971
  }
980
972
  }
981
973
  function K() {
982
- let e = process.env[Mt];
974
+ let e = process.env[Nt];
983
975
  if (e) return e;
984
- let t = Pt();
976
+ let t = Ft();
985
977
  if (t) return t;
986
- let n = Nt();
987
- throw new V("ERR_INCA_HOST_BIN_UNRESOLVED", `no inca-host binary found — ${n ? `no ${n} package is installed for it` : `this platform (${process.platform}/${process.arch}) has no published package`}, and ${Mt} isn't set to one`);
978
+ let n = Pt();
979
+ throw new V("ERR_INCA_HOST_BIN_UNRESOLVED", `no inca-host binary found — ${n ? `no ${n} package is installed for it` : `this platform (${process.platform}/${process.arch}) has no published package`}, and ${Nt} isn't set to one`);
988
980
  }
989
981
  function q(e) {
990
- if (!v(e, { throwIfNoEntry: !1 })?.isFile()) throw new V("ERR_INCA_HOST_BIN_NOT_FOUND", `no host binary at ${e} — check that it was built`);
982
+ if (!_(e, { throwIfNoEntry: !1 })?.isFile()) throw new V("ERR_INCA_HOST_BIN_NOT_FOUND", `no host binary at ${e} — check that it was built`);
991
983
  }
992
984
  //#endregion
993
985
  //#region src/dev-client/hostError.mts
994
- var Ft = class extends Error {
986
+ var It = class extends Error {
995
987
  code;
996
988
  hostStack;
997
989
  constructor(e, t, n = null) {
998
990
  super(e), this.code = t, this.hostStack = n, this.name = "HostError";
999
991
  }
1000
992
  };
1001
- function It(e) {
993
+ function Lt(e) {
1002
994
  return typeof e == "object" && !!e && e.jsonrpc === "2.0";
1003
995
  }
1004
996
  //#endregion
1005
997
  //#region src/dev-client/hostClient.mts
1006
- var Lt = (e) => {
998
+ var Rt = (e) => {
1007
999
  process.stderr.write(e.endsWith("\n") ? e : `${e}\n`);
1008
- }, Rt = -32e3, zt = class {
1000
+ }, zt = -32e3, Bt = class {
1009
1001
  #e;
1010
1002
  #t;
1011
1003
  #n = 1;
@@ -1017,7 +1009,7 @@ var Lt = (e) => {
1017
1009
  async start() {
1018
1010
  let e = this.#e.hostBin ?? K();
1019
1011
  q(e);
1020
- let t = ce(e, ["--dev", this.#e.entryFile], {
1012
+ let t = le(e, ["--dev", this.#e.entryFile], {
1021
1013
  stdio: [
1022
1014
  "pipe",
1023
1015
  "pipe",
@@ -1026,10 +1018,10 @@ var Lt = (e) => {
1026
1018
  env: this.#e.env
1027
1019
  });
1028
1020
  this.#t = t;
1029
- let n = this.#e.onStderr ?? Lt;
1021
+ let n = this.#e.onStderr ?? Rt;
1030
1022
  t.stderr.setEncoding("utf8"), t.stderr.on("data", (e) => n(e)), t.stdin.on("error", (e) => {
1031
1023
  e.code !== "EPIPE" && n(`inca-host stdin: ${e.message}\n`);
1032
- }), le.createInterface({ input: t.stdout }).on("line", (e) => {
1024
+ }), ue.createInterface({ input: t.stdout }).on("line", (e) => {
1033
1025
  this.#a(e, n);
1034
1026
  }), t.on("exit", (e, t) => {
1035
1027
  let n = /* @__PURE__ */ Error(`inca-host exited (code=${String(e)}, signal=${String(t)}) before answering`);
@@ -1049,7 +1041,7 @@ var Lt = (e) => {
1049
1041
  t(`[stray stdout] ${e}`);
1050
1042
  return;
1051
1043
  }
1052
- if (!It(n)) {
1044
+ if (!Lt(n)) {
1053
1045
  t(`[stray stdout] ${e}`);
1054
1046
  return;
1055
1047
  }
@@ -1060,14 +1052,14 @@ var Lt = (e) => {
1060
1052
  if (n.id === null) {
1061
1053
  if (!("error" in n)) return;
1062
1054
  let { code: e, message: r, data: i } = n.error;
1063
- e === Rt ? this.#e.onAppError?.({
1055
+ e === zt ? this.#e.onAppError?.({
1064
1056
  message: r,
1065
1057
  stack: i?.stack ?? null
1066
1058
  }) : t(`[host error ${String(e)}] ${r}\n`);
1067
1059
  return;
1068
1060
  }
1069
1061
  let r = this.#r.get(n.id);
1070
- r && (this.#r.delete(n.id), "error" in n ? r.reject(new Ft(n.error.message, n.error.code, n.error.data?.stack ?? null)) : r.resolve(n.result));
1062
+ r && (this.#r.delete(n.id), "error" in n ? r.reject(new It(n.error.message, n.error.code, n.error.data?.stack ?? null)) : r.resolve(n.result));
1071
1063
  }
1072
1064
  #o(e, t, n) {
1073
1065
  switch (e) {
@@ -1132,34 +1124,34 @@ var Lt = (e) => {
1132
1124
  if (!t || t.exitCode !== null || t.signalCode !== null) return;
1133
1125
  this.#i = !0;
1134
1126
  let n = j(t, "exit");
1135
- this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"), ue(e, void 0, { ref: !1 }).then(() => "timeout")]) === "timeout" && (t.kill(), await n);
1127
+ this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"), de(e, void 0, { ref: !1 }).then(() => "timeout")]) === "timeout" && (t.kill(), await n);
1136
1128
  }
1137
- }, Bt = "[inca]", Vt = new Intl.DateTimeFormat(void 0, {
1129
+ }, Vt = "[inca]", Ht = new Intl.DateTimeFormat(void 0, {
1138
1130
  hour: "numeric",
1139
1131
  minute: "numeric",
1140
1132
  second: "numeric"
1141
1133
  }), J = { timestamp: !0 };
1142
- function Ht(e, t, n) {
1143
- let r = O(["bold", n], Bt, { stream: e });
1144
- return t.timestamp ? `${O("dim", Vt.format(/* @__PURE__ */ new Date()), { stream: e })} ${r}` : r;
1134
+ function Ut(e, t, n) {
1135
+ let r = O(["bold", n], Vt, { stream: e });
1136
+ return t.timestamp ? `${O("dim", Ht.format(/* @__PURE__ */ new Date()), { stream: e })} ${r}` : r;
1145
1137
  }
1146
1138
  function Y(e, t, n = {}) {
1147
- e.write(`${Ht(e, n, "cyan")} ${t}\n`);
1139
+ e.write(`${Ut(e, n, "cyan")} ${t}\n`);
1148
1140
  }
1149
- function Ut(e) {
1141
+ function Wt(e) {
1150
1142
  let t = e.code;
1151
1143
  return typeof t == "string" ? t : null;
1152
1144
  }
1153
- function Wt(e) {
1145
+ function Gt(e) {
1154
1146
  return /\bERR_INCA_[A-Z0-9_]+/.exec(e)?.[0] ?? null;
1155
1147
  }
1156
- function Gt(e) {
1148
+ function Kt(e) {
1157
1149
  let t = e.stack;
1158
1150
  if (!t) return null;
1159
1151
  for (let n of [`${e.name}: ${e.message}`, e.message]) if (t.startsWith(n)) return t.slice(n.length).replace(/^\r?\n/, "") || null;
1160
1152
  return t;
1161
1153
  }
1162
- function Kt(e) {
1154
+ function qt(e) {
1163
1155
  let t = /^(?:\w*Error: )?(ERR_INCA_[A-Z0-9_]+): /.exec(e);
1164
1156
  return t ? {
1165
1157
  message: e.slice(t[0].length),
@@ -1172,57 +1164,57 @@ function Kt(e) {
1172
1164
  };
1173
1165
  }
1174
1166
  function X(e) {
1175
- return e instanceof Ft ? {
1167
+ return e instanceof It ? {
1176
1168
  message: e.message,
1177
1169
  stack: e.hostStack,
1178
- code: Ut(e)
1170
+ code: Wt(e)
1179
1171
  } : e instanceof Error ? {
1180
1172
  message: e.message,
1181
- stack: Gt(e),
1182
- code: Ut(e) ?? Wt(e.message)
1173
+ stack: Kt(e),
1174
+ code: Wt(e) ?? Gt(e.message)
1183
1175
  } : {
1184
1176
  message: String(e),
1185
1177
  stack: null,
1186
1178
  code: null
1187
1179
  };
1188
1180
  }
1189
- function qt(e, t) {
1181
+ function Jt(e, t) {
1190
1182
  return e.split("\n").map((e) => /^\s*at\b/.test(e) ? O("dim", e, { stream: t }) : e).join("\n");
1191
1183
  }
1192
1184
  function Z(e, t, n, r = {}) {
1193
- n.stack && e.write(`${qt(n.stack, e)}\n`);
1185
+ n.stack && e.write(`${Jt(n.stack, e)}\n`);
1194
1186
  let i = n.code ? ` (${O("bold", n.code, { stream: e })})` : "";
1195
- e.write(`${Ht(e, r, "red")} ${t}${i}: ${n.message}\n`);
1187
+ e.write(`${Ut(e, r, "red")} ${t}${i}: ${n.message}\n`);
1196
1188
  }
1197
1189
  //#endregion
1198
1190
  //#region src/defaultBundler.mts
1199
- var Jt = jt(/* @__PURE__ */ e({
1191
+ var Yt = Mt(/* @__PURE__ */ e({
1200
1192
  IncaError: () => V,
1201
- bundlerFault: () => Kt
1193
+ bundlerFault: () => qt
1202
1194
  }), "incajs/vue/runtime"), Q = [
1203
1195
  "main.mts",
1204
1196
  "main.ts",
1205
1197
  "main.js"
1206
1198
  ];
1207
- async function Yt(e) {
1208
- let t = Q.map((t) => f.join(e, "src", t)).find((e) => m(e));
1199
+ async function Xt(e) {
1200
+ let t = Q.map((t) => y.join(e, "src", t)).find((e) => p(e));
1209
1201
  if (t) return t;
1210
- let n = f.join(e, "src/App.vue");
1211
- if (m(n)) return Xt(n, e);
1212
- throw new V("ERR_INCA_ENTRY_NOT_FOUND", `no app entry found — check that ${f.join(e, "src/main.ts")} or ${n} exists`);
1213
- }
1214
- async function Xt(e, t) {
1215
- let n = f.join(t, "node_modules/.inca");
1216
- await C(n, { recursive: !0 });
1217
- let r = f.join(n, "entry.mts"), i = JSON.stringify(e.split(f.sep).join("/"));
1202
+ let n = y.join(e, "src/App.vue");
1203
+ if (p(n)) return Zt(n, e);
1204
+ throw new V("ERR_INCA_ENTRY_NOT_FOUND", `no app entry found — check that ${y.join(e, "src/main.ts")} or ${n} exists`);
1205
+ }
1206
+ async function Zt(e, t) {
1207
+ let n = y.join(t, "node_modules/.inca");
1208
+ await w(n, { recursive: !0 });
1209
+ let r = y.join(n, "entry.mts"), i = JSON.stringify(e.split(y.sep).join("/"));
1218
1210
  return await D(r, `import { createIncaApp } from "incajs/vue";\nimport App from ${i};\ncreateIncaApp(App).mount();\n`), r;
1219
1211
  }
1220
1212
  //#endregion
1221
1213
  //#region src/build.mts
1222
- async function Zt(e = {}) {
1223
- let t = e.cwd ?? process.cwd(), n = e.config ?? await tt(t), r = f.resolve(t, n.outDir), i = e.bundler ?? Jt, a = e.entry ?? n.entry ?? await Yt(t);
1214
+ async function Qt(e = {}) {
1215
+ let t = e.cwd ?? process.cwd(), n = e.config ?? await nt(t), r = y.resolve(t, n.outDir), i = e.bundler ?? Yt, a = e.entry ?? n.entry ?? await Xt(t);
1224
1216
  W(t, r, a);
1225
- let o = e.runtimeConfig ?? await it(t);
1217
+ let o = e.runtimeConfig ?? await at(t);
1226
1218
  return i.build({
1227
1219
  entry: a,
1228
1220
  outDir: r,
@@ -1233,35 +1225,35 @@ async function Zt(e = {}) {
1233
1225
  }
1234
1226
  //#endregion
1235
1227
  //#region src/devLock.mts
1236
- function Qt(e) {
1237
- return f.join(e, "node_modules/.inca/dev.pid");
1238
- }
1239
1228
  function $t(e) {
1229
+ return y.join(e, "node_modules/.inca/dev.pid");
1230
+ }
1231
+ function en(e) {
1240
1232
  try {
1241
1233
  return process.kill(e, 0), !0;
1242
1234
  } catch (e) {
1243
1235
  return e.code === "EPERM";
1244
1236
  }
1245
1237
  }
1246
- var en = de();
1238
+ var tn = fe();
1247
1239
  function $(e) {
1248
1240
  return new V("ERR_INCA_DEV_RUNNING", `inca dev is already running for this app (pid ${String(e)})`);
1249
1241
  }
1250
- async function tn(e) {
1251
- let t = Qt(e), n = `${String(process.pid)}:${en}`, r = `${t}.${de()}`;
1252
- await C(f.dirname(t), { recursive: !0 }), await D(r, n);
1242
+ async function nn(e) {
1243
+ let t = $t(e), n = `${String(process.pid)}:${tn}`, r = `${t}.${fe()}`;
1244
+ await w(y.dirname(t), { recursive: !0 }), await D(r, n);
1253
1245
  let i = process.pid;
1254
1246
  try {
1255
1247
  for (let e = 0; e < 5; e++) {
1256
1248
  try {
1257
- return await S(r, t), nn(t, n);
1249
+ return await C(r, t), rn(t, n);
1258
1250
  } catch (e) {
1259
1251
  if (e.code !== "EEXIST") throw e;
1260
1252
  }
1261
- let e = await w(t, "utf8").catch(() => ""), a = Number.parseInt(e, 10);
1253
+ let e = await T(t, "utf8").catch(() => ""), a = Number.parseInt(e, 10);
1262
1254
  if (a === process.pid) {
1263
1255
  if (e === n) throw $(a);
1264
- } else if (Number.isSafeInteger(a) && a > 0 && $t(a)) throw $(a);
1256
+ } else if (Number.isSafeInteger(a) && a > 0 && en(a)) throw $(a);
1265
1257
  i = Number.isSafeInteger(a) && a > 0 ? a : i, await E(t, { force: !0 });
1266
1258
  }
1267
1259
  throw $(i);
@@ -1269,41 +1261,41 @@ async function tn(e) {
1269
1261
  await E(r, { force: !0 });
1270
1262
  }
1271
1263
  }
1272
- function nn(e, t) {
1264
+ function rn(e, t) {
1273
1265
  let n = !1;
1274
1266
  return async () => {
1275
- n || (n = !0, await w(e, "utf8").catch(() => "") === t && await E(e, { force: !0 }));
1267
+ n || (n = !0, await T(e, "utf8").catch(() => "") === t && await E(e, { force: !0 }));
1276
1268
  };
1277
1269
  }
1278
1270
  //#endregion
1279
1271
  //#region src/plist.mts
1280
- function rn(e) {
1281
- return e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
1282
- }
1283
1272
  function an(e) {
1284
- return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${rn(e)}</string>`;
1273
+ return e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
1285
1274
  }
1286
1275
  function on(e) {
1276
+ return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${an(e)}</string>`;
1277
+ }
1278
+ function sn(e) {
1287
1279
  return `<?xml version="1.0" encoding="UTF-8"?>
1288
1280
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1289
1281
  <plist version="1.0">
1290
1282
  <dict>
1291
- ${Object.entries(e).map(([e, t]) => `\t<key>${rn(e)}</key>\n\t${an(t)}`).join("\n")}\n</dict>
1283
+ ${Object.entries(e).map(([e, t]) => `\t<key>${an(e)}</key>\n\t${on(t)}`).join("\n")}\n</dict>
1292
1284
  </plist>
1293
1285
  `;
1294
1286
  }
1295
1287
  //#endregion
1296
1288
  //#region src/macosApp.mts
1297
- async function sn(e) {
1289
+ async function cn(e) {
1298
1290
  let { appPath: t, metadata: n, hostBin: r } = e;
1299
1291
  await E(t, {
1300
1292
  recursive: !0,
1301
1293
  force: !0
1302
1294
  });
1303
- let i = f.join(t, "Contents"), a = f.join(i, "MacOS"), o = f.join(i, "Resources");
1304
- await C(a, { recursive: !0 }), await C(o, { recursive: !0 });
1305
- let s = f.join(a, n.productName);
1306
- e.link ? await S(r, s).catch(() => x(r, s)) : await x(r, s), await b(s, 493);
1295
+ let i = y.join(t, "Contents"), a = y.join(i, "MacOS"), o = y.join(i, "Resources");
1296
+ await w(a, { recursive: !0 }), await w(o, { recursive: !0 });
1297
+ let s = y.join(a, n.productName);
1298
+ e.link ? await C(r, s).catch(() => S(r, s)) : await S(r, s), await x(s, 493);
1307
1299
  let c = {
1308
1300
  CFBundleName: n.productName,
1309
1301
  CFBundleDisplayName: n.productName,
@@ -1316,10 +1308,10 @@ async function sn(e) {
1316
1308
  NSHighResolutionCapable: !0
1317
1309
  };
1318
1310
  if (n.icon) {
1319
- let e = f.basename(n.icon);
1320
- await x(n.icon, f.join(o, e)), c.CFBundleIconFile = e;
1311
+ let e = y.basename(n.icon);
1312
+ await S(n.icon, y.join(o, e)), c.CFBundleIconFile = e;
1321
1313
  }
1322
- return await D(f.join(i, "Info.plist"), on(c)), await D(f.join(i, "PkgInfo"), "APPL????"), {
1314
+ return await D(y.join(i, "Info.plist"), sn(c)), await D(y.join(i, "PkgInfo"), "APPL????"), {
1323
1315
  appPath: t,
1324
1316
  executablePath: s,
1325
1317
  resourcesDir: o
@@ -1327,16 +1319,16 @@ async function sn(e) {
1327
1319
  }
1328
1320
  //#endregion
1329
1321
  //#region src/watchForEdit.mts
1330
- var cn = /^(?:inca\.config\.[a-z0-9]+|package\.json)$/, ln = [...Q, "App.vue"];
1331
- function un(e, t = {}) {
1322
+ var ln = /^(?:inca\.config\.[a-z0-9]+|package\.json)$/, un = [...Q, "App.vue"];
1323
+ function dn(e, t = {}) {
1332
1324
  let n = t.debounceMs ?? 100, r = /* @__PURE__ */ new Set(), i, a = !1, o = () => {}, s = new Promise((e) => {
1333
1325
  o = e;
1334
1326
  }), c = () => {
1335
1327
  a || (clearTimeout(i), i = setTimeout(o, n), i.unref());
1336
1328
  }, l = (e, t) => {
1337
1329
  let n = e;
1338
- for (let e; !m(n) && (e = f.dirname(n)) !== n;) n = e;
1339
- let i = n === e ? void 0 : f.relative(n, e).split(f.sep)[0], a = y(n);
1330
+ for (let e; !p(n) && (e = y.dirname(n)) !== n;) n = e;
1331
+ let i = n === e ? void 0 : y.relative(n, e).split(y.sep)[0], a = v(n);
1340
1332
  a.on("change", (e, n) => {
1341
1333
  let r = n === null ? null : String(n);
1342
1334
  (r === null || (i === void 0 ? t(r) : r === i)) && c();
@@ -1349,7 +1341,7 @@ function un(e, t = {}) {
1349
1341
  r.clear();
1350
1342
  };
1351
1343
  try {
1352
- l(e, (e) => e === "src" || cn.test(e)), l(f.join(e, "src"), (e) => ln.includes(e));
1344
+ l(e, (e) => e === "src" || ln.test(e)), l(y.join(e, "src"), (e) => un.includes(e));
1353
1345
  } catch (e) {
1354
1346
  throw u(), e;
1355
1347
  }
@@ -1357,15 +1349,15 @@ function un(e, t = {}) {
1357
1349
  edited: s,
1358
1350
  add(e) {
1359
1351
  if (a) return;
1360
- let t = f.resolve(e);
1361
- l(f.dirname(t), (e) => e === f.basename(t));
1352
+ let t = y.resolve(e);
1353
+ l(y.dirname(t), (e) => e === y.basename(t));
1362
1354
  },
1363
1355
  close: u
1364
1356
  };
1365
1357
  }
1366
1358
  //#endregion
1367
1359
  //#region src/retryOnEdit.mts
1368
- function dn(e, t) {
1360
+ function fn(e, t) {
1369
1361
  return new Promise((n) => {
1370
1362
  let r = () => n(!1);
1371
1363
  t.addEventListener("abort", r, { once: !0 }), e.then(() => {
@@ -1373,10 +1365,10 @@ function dn(e, t) {
1373
1365
  });
1374
1366
  });
1375
1367
  }
1376
- async function fn(e) {
1368
+ async function pn(e) {
1377
1369
  let { cwd: t, signal: n, stdout: r, stderr: i, debounceMs: a } = e, o = !1;
1378
1370
  for (;;) {
1379
- let s = un(t, { debounceMs: a });
1371
+ let s = dn(t, { debounceMs: a });
1380
1372
  try {
1381
1373
  return await e.attempt(s);
1382
1374
  } catch (e) {
@@ -1386,11 +1378,11 @@ async function fn(e) {
1386
1378
  } catch (t) {
1387
1379
  throw Z(i, "build failed", X(e), J), t;
1388
1380
  }
1389
- if (!n.aborted && !o && t && m(t)) {
1381
+ if (!n.aborted && !o && t && p(t)) {
1390
1382
  o = !0;
1391
1383
  continue;
1392
1384
  }
1393
- if (o = !1, Z(i, "build failed", X(e), J), n.aborted || (Y(r, "waiting for a change to retry", J), !await dn(s.edited, n))) return;
1385
+ if (o = !1, Z(i, "build failed", X(e), J), n.aborted || (Y(r, "waiting for a change to retry", J), !await fn(s.edited, n))) return;
1394
1386
  Y(r, "retrying", J);
1395
1387
  } finally {
1396
1388
  s.close();
@@ -1399,20 +1391,20 @@ async function fn(e) {
1399
1391
  }
1400
1392
  //#endregion
1401
1393
  //#region src/dev.mts
1402
- var pn = 1e4, mn = ["ERR_INCA_PACKAGE_JSON_NOT_FOUND", "ERR_INCA_PRODUCT_NAME_MISSING"];
1403
- async function hn(e, t) {
1394
+ var mn = 1e4, hn = ["ERR_INCA_PACKAGE_JSON_NOT_FOUND", "ERR_INCA_PRODUCT_NAME_MISSING"];
1395
+ async function gn(e, t) {
1404
1396
  try {
1405
- return await nt(e);
1397
+ return await rt(e);
1406
1398
  } catch (e) {
1407
- if (!(e instanceof V) || !mn.includes(e.code)) throw e;
1399
+ if (!(e instanceof V) || !hn.includes(e.code)) throw e;
1408
1400
  Y(t, `running unnamed — ${e.message}`, J);
1409
1401
  return;
1410
1402
  }
1411
1403
  }
1412
- async function gn(e, t, n, r) {
1404
+ async function _n(e, t, n, r) {
1413
1405
  if (process.platform === "darwin" && t) try {
1414
- return (await sn({
1415
- appPath: f.join(e, "node_modules/.inca", `${t.productName}.app`),
1406
+ return (await cn({
1407
+ appPath: y.join(e, "node_modules/.inca", `${t.productName}.app`),
1416
1408
  metadata: t,
1417
1409
  hostBin: n,
1418
1410
  link: !0
@@ -1422,72 +1414,72 @@ async function gn(e, t, n, r) {
1422
1414
  return;
1423
1415
  }
1424
1416
  }
1425
- async function _n(e, t) {
1417
+ async function vn(e, t) {
1426
1418
  let n = new Set(t), r;
1427
1419
  try {
1428
- r = await T(e, {
1420
+ r = await ee(e, {
1429
1421
  recursive: !0,
1430
1422
  withFileTypes: !0
1431
1423
  });
1432
1424
  } catch {
1433
1425
  return;
1434
1426
  }
1435
- await Promise.all(r.filter((e) => e.isFile()).map((t) => f.relative(e, f.join(t.parentPath, t.name))).filter((e) => !n.has(e)).map((t) => E(f.join(e, t), { force: !0 })));
1427
+ 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) => E(y.join(e, t), { force: !0 })));
1436
1428
  }
1437
- function vn(e) {
1429
+ function yn(e) {
1438
1430
  let { NO_COLOR: t, FORCE_COLOR: n } = process.env;
1439
1431
  if (!(!e.isTTY || t || n)) return {
1440
1432
  ...process.env,
1441
1433
  FORCE_COLOR: "1"
1442
1434
  };
1443
1435
  }
1444
- async function yn(e) {
1445
- let t = e.cwd ?? process.cwd(), n = await tn(t);
1436
+ async function bn(e) {
1437
+ let t = e.cwd ?? process.cwd(), n = await nn(t);
1446
1438
  try {
1447
1439
  let n = e.hostBin ?? K();
1448
1440
  q(n);
1449
- let r = e.bundler ?? Jt, i = e.stdout ?? process.stdout, a = e.stderr ?? process.stderr, o = e.experimentalHmr ? r.hmr?.bind(r) : void 0;
1441
+ let r = e.bundler ?? Yt, i = e.stdout ?? process.stdout, a = e.stderr ?? process.stderr, o = e.experimentalHmr ? r.hmr?.bind(r) : void 0;
1450
1442
  if (e.experimentalHmr && !o) throw new V("ERR_INCA_HMR_UNSUPPORTED", "--experimental-hmr was set, but the configured bundler has no HMR support");
1451
- let s = await fn({
1443
+ let s = await pn({
1452
1444
  cwd: t,
1453
1445
  signal: e.signal,
1454
1446
  stdout: i,
1455
1447
  stderr: a,
1456
1448
  async attempt() {
1457
- let n = await tt(t), r = f.resolve(t, n.outDir), a = e.entry ?? n.entry ?? await Yt(t);
1449
+ let n = await nt(t), r = y.resolve(t, n.outDir), a = e.entry ?? n.entry ?? await Xt(t);
1458
1450
  W(t, r, a);
1459
- let o = await hn(t, i);
1451
+ let o = await gn(t, i);
1460
1452
  return {
1461
1453
  outDir: r,
1462
1454
  entry: a,
1463
1455
  metadata: o,
1464
- runtimeConfig: o ? rt(o) : await it(t)
1456
+ runtimeConfig: o ? it(o) : await at(t)
1465
1457
  };
1466
1458
  }
1467
1459
  });
1468
1460
  if (!s) return;
1469
- let { outDir: c, entry: l, metadata: u, runtimeConfig: d } = s, p = await gn(t, u, n, i) ?? n, m, h = !1, g = !1, _ = !1, v, y = Promise.resolve(), b = () => {}, x = new Promise((e) => {
1461
+ let { outDir: c, entry: l, metadata: u, runtimeConfig: d } = s, f = await _n(t, u, n, i) ?? n, p, m = !1, h = !1, g = !1, _, v = Promise.resolve(), b = () => {}, x = new Promise((e) => {
1470
1462
  b = e;
1471
1463
  });
1472
1464
  async function S() {
1473
1465
  try {
1474
- return await m?.call("reload", void 0, pn), !0;
1466
+ return await p?.call("reload", void 0, mn), !0;
1475
1467
  } catch (e) {
1476
1468
  return Z(a, "reload failed", X(e), J), !1;
1477
1469
  }
1478
1470
  }
1479
1471
  async function C(e, t) {
1480
- let n = new zt({
1472
+ let n = new Bt({
1481
1473
  entryFile: e,
1482
- hostBin: p,
1483
- env: vn(a),
1474
+ hostBin: f,
1475
+ env: yn(a),
1484
1476
  onStderr: (e) => a.write(e),
1485
1477
  onReady: () => {
1486
- h = !0, Y(i, "ready", J), g && (g = !1, S());
1478
+ m = !0, Y(i, "ready", J), h && (h = !1, S());
1487
1479
  },
1488
1480
  onAppError: (e) => Z(a, "app error", e, J),
1489
1481
  onExit: (e, t) => {
1490
- _ = !h, v = {
1482
+ g = !m, _ = {
1491
1483
  code: e,
1492
1484
  signal: t
1493
1485
  }, Y(i, "host exited — stopping", J), b();
@@ -1500,19 +1492,13 @@ async function yn(e) {
1500
1492
  Z(a, "failed to start inca-host", X(e), J);
1501
1493
  return;
1502
1494
  }
1503
- m = n;
1495
+ p = n;
1504
1496
  }
1505
1497
  async function w(e) {
1506
- if (await _n(e.outDir, e.files), !m) {
1507
- await C(e.entryFile);
1508
- return;
1509
- }
1510
- if (!h) {
1511
- g = !0;
1512
- return;
1513
- }
1514
- if (await S() && e.changed) {
1515
- let n = O("dim", f.relative(t, e.changed.file), { stream: i }), r = Date.now() - e.changed.at;
1498
+ if (await vn(e.outDir, e.files), !p) await C(e.entryFile);
1499
+ else if (!m) h = !0;
1500
+ else if (await S() && e.changed) {
1501
+ let n = O("dim", y.relative(t, e.changed.file), { stream: i }), r = Date.now() - e.changed.at;
1516
1502
  Y(i, `${O("green", "reload")} ${n} (${r}ms)`, J);
1517
1503
  }
1518
1504
  }
@@ -1524,15 +1510,18 @@ async function yn(e) {
1524
1510
  runtimeConfig: d,
1525
1511
  stdout: i,
1526
1512
  stderr: a,
1527
- notify: (e) => m?.notify("vite", e),
1528
- reload: () => void S(),
1513
+ notify: (e) => p?.notify("vite", e),
1514
+ reload: () => {
1515
+ m ? S() : h = !0;
1516
+ },
1529
1517
  onError: (e) => Z(a, "build failed", e, J),
1530
1518
  onUpdate: ({ file: e, took: n }) => {
1531
- let r = O("dim", f.relative(t, e), { stream: i });
1519
+ if (!m) return;
1520
+ let r = O("dim", y.relative(t, e), { stream: i });
1532
1521
  Y(i, `${O("green", "update")} ${r} (${n}ms)`, J);
1533
1522
  }
1534
1523
  });
1535
- await C(e.entryFile, { vite: (t) => e.dispatch(t) }), T = e, m || b();
1524
+ await C(e.entryFile, { vite: (t) => e.dispatch(t) }), T = e, p || b();
1536
1525
  } else T = await r.watch({
1537
1526
  entry: l,
1538
1527
  outDir: c,
@@ -1541,15 +1530,15 @@ async function yn(e) {
1541
1530
  stdout: i,
1542
1531
  stderr: a,
1543
1532
  onBuild: (e) => {
1544
- y = y.then(() => w(e));
1533
+ v = v.then(() => w(e));
1545
1534
  },
1546
1535
  onError: (e) => {
1547
1536
  Z(a, "build failed", e, J);
1548
1537
  }
1549
1538
  });
1550
- if (e.signal.aborted ? b() : e.signal.addEventListener("abort", () => b(), { once: !0 }), await x, await y, await m?.stop(), await T.close(), _) throw new V("ERR_INCA_HOST_EXITED_EARLY", "the host exited before it was ready");
1551
- if (v && v.code !== 0 && v.signal !== "SIGINT" && v.signal !== "SIGTERM") {
1552
- let { code: e, signal: t } = v;
1539
+ if (e.signal.aborted ? b() : e.signal.addEventListener("abort", () => b(), { once: !0 }), await x, await v, await p?.stop(), await T.close(), g) throw new V("ERR_INCA_HOST_EXITED_EARLY", "the host exited before it was ready");
1540
+ if (_ && _.code !== 0 && _.signal !== "SIGINT" && _.signal !== "SIGTERM") {
1541
+ let { code: e, signal: t } = _;
1553
1542
  throw new V("ERR_INCA_HOST_CRASHED", `the host exited with ${t ? `signal ${t}` : `code ${e}`}`);
1554
1543
  }
1555
1544
  } finally {
@@ -1558,48 +1547,48 @@ async function yn(e) {
1558
1547
  }
1559
1548
  //#endregion
1560
1549
  //#region src/package.mts
1561
- function bn() {
1550
+ function xn() {
1562
1551
  if (process.platform === "darwin") return "macos";
1563
1552
  if (process.platform === "linux") return "linux";
1564
1553
  throw new V("ERR_INCA_PLATFORM_UNSUPPORTED", `inca package doesn't support ${process.platform} yet`);
1565
1554
  }
1566
- async function xn(e, t) {
1555
+ async function Sn(e, t) {
1567
1556
  await Promise.all(e.files.map(async (n) => {
1568
- let r = f.join(t, n);
1569
- await C(f.dirname(r), { recursive: !0 }), await x(f.join(e.outDir, n), r);
1557
+ let r = y.join(t, n);
1558
+ await w(y.dirname(r), { recursive: !0 }), await S(y.join(e.outDir, n), r);
1570
1559
  }));
1571
1560
  }
1572
- function Sn(e, t) {
1561
+ function Cn(e, t) {
1573
1562
  let n = e.files.map((e) => e.split("/")[0] ?? e).find((e) => e.toLowerCase() === t.toLowerCase());
1574
1563
  if (n !== void 0) throw new V("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`);
1575
1564
  }
1576
- async function Cn({ metadata: e, output: t, hostBin: n }) {
1577
- let { appPath: r, resourcesDir: i } = await sn({
1578
- appPath: f.join(t.outDir, `${e.productName}.app`),
1565
+ async function wn({ metadata: e, output: t, hostBin: n }) {
1566
+ let { appPath: r, resourcesDir: i } = await cn({
1567
+ appPath: y.join(t.outDir, `${e.productName}.app`),
1579
1568
  metadata: e,
1580
1569
  hostBin: n
1581
1570
  });
1582
- return await xn(t, i), r;
1571
+ return await Sn(t, i), r;
1583
1572
  }
1584
- async function wn({ metadata: e, output: t, hostBin: n }) {
1573
+ async function Tn({ metadata: e, output: t, hostBin: n }) {
1585
1574
  let r = c(e.productName);
1586
- Sn(t, r);
1587
- let i = f.join(t.outDir, r);
1575
+ Cn(t, r);
1576
+ let i = y.join(t.outDir, r);
1588
1577
  await E(i, {
1589
1578
  recursive: !0,
1590
1579
  force: !0
1591
- }), await C(i, { recursive: !0 });
1592
- let a = f.join(i, r);
1593
- return await x(n, a), await b(a, 493), await xn(t, i), i;
1580
+ }), await w(i, { recursive: !0 });
1581
+ let a = y.join(i, r);
1582
+ return await S(n, a), await x(a, 493), await Sn(t, i), i;
1594
1583
  }
1595
- async function Tn(e = {}) {
1596
- let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ?? bn(), i = await nt(t);
1584
+ async function En(e = {}) {
1585
+ let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ?? xn(), i = await rt(t);
1597
1586
  i.usedPackageJsonKey && Y(n, "the \"inca\" key in package.json is deprecated — move these settings to inca.config.ts"), i.identifierIsDefault && Y(n, `no "identifier" set in inca.config.ts — using generated identifier ${i.identifier}`);
1598
- let a = await Zt({
1587
+ let a = await Qt({
1599
1588
  cwd: t,
1600
1589
  entry: e.entry,
1601
1590
  config: i,
1602
- runtimeConfig: rt(i),
1591
+ runtimeConfig: it(i),
1603
1592
  bundler: e.bundler,
1604
1593
  stdout: n,
1605
1594
  stderr: e.stderr
@@ -1610,20 +1599,29 @@ async function Tn(e = {}) {
1610
1599
  output: a,
1611
1600
  hostBin: o
1612
1601
  };
1613
- return { appPath: r === "macos" ? await Cn(s) : await wn(s) };
1602
+ return { appPath: r === "macos" ? await wn(s) : await Tn(s) };
1614
1603
  }
1615
1604
  //#endregion
1616
1605
  //#region src/cli.mts
1617
- var En = "Usage: inca <dev|build|package>";
1618
- function Dn(e) {
1619
- return f.relative(process.cwd(), e);
1620
- }
1621
- async function On(e = process.argv) {
1606
+ var Dn = "Usage: inca <dev|build|package>";
1607
+ function On(e) {
1608
+ return y.relative(process.cwd(), e);
1609
+ }
1610
+ function kn() {
1611
+ for (let e of [
1612
+ 0,
1613
+ 1,
1614
+ 2
1615
+ ]) try {
1616
+ f.closeSync(e);
1617
+ } catch {}
1618
+ }
1619
+ async function An(e = process.argv) {
1622
1620
  let t = e[2];
1623
1621
  if (t === "build") {
1624
1622
  try {
1625
- let e = await Zt();
1626
- Y(process.stdout, `built ${Dn(e.entryFile)}`);
1623
+ let e = await Qt();
1624
+ Y(process.stdout, `built ${On(e.entryFile)}`);
1627
1625
  } catch (e) {
1628
1626
  Z(process.stderr, "build failed", X(e)), process.exitCode = 1;
1629
1627
  }
@@ -1631,15 +1629,15 @@ async function On(e = process.argv) {
1631
1629
  }
1632
1630
  if (t === "package") {
1633
1631
  try {
1634
- let { appPath: e } = await Tn();
1635
- Y(process.stdout, `packaged ${Dn(e)}`);
1632
+ let { appPath: e } = await En();
1633
+ Y(process.stdout, `packaged ${On(e)}`);
1636
1634
  } catch (e) {
1637
1635
  Z(process.stderr, "package failed", X(e)), process.exitCode = 1;
1638
1636
  }
1639
1637
  return;
1640
1638
  }
1641
1639
  if (t !== "dev") {
1642
- process.stderr.write(`${En}\n`), process.exitCode = 1;
1640
+ process.stderr.write(`${Dn}\n`), process.exitCode = 1;
1643
1641
  return;
1644
1642
  }
1645
1643
  let n = new AbortController(), r = () => {
@@ -1653,13 +1651,13 @@ async function On(e = process.argv) {
1653
1651
  ].includes(process.env.INCA_EXPERIMENTAL_HMR ?? "");
1654
1652
  i && Y(process.stdout, "experimental HMR active", { timestamp: !0 });
1655
1653
  try {
1656
- await yn({
1654
+ await bn({
1657
1655
  signal: n.signal,
1658
1656
  experimentalHmr: i
1659
- });
1657
+ }), n.signal.aborted && kn();
1660
1658
  } catch (e) {
1661
1659
  Z(process.stderr, "dev failed", X(e), { timestamp: !0 }), process.exitCode = 1;
1662
1660
  }
1663
1661
  }
1664
1662
  //#endregion
1665
- export { On as run };
1663
+ export { An as run };