@incajs/cli 0.0.8 → 0.0.10
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/README.md +2 -2
- package/dist/adapter/types.d.mts +10 -21
- package/dist/adapter/vite/build.d.mts +2 -1
- package/dist/adapter/vite/captureOutput.d.mts +2 -1
- package/dist/adapter/vite/config.d.mts +3 -1
- package/dist/adapter/vite/createBundler.d.mts +4 -0
- package/dist/adapter/vite/hmr.d.mts +25 -2
- package/dist/adapter/vite/index.d.mts +1 -3
- package/dist/adapter/vite/unsupported.d.mts +2 -1
- package/dist/adapter/vite/watch.d.mts +2 -1
- package/dist/adapterCore.d.mts +10 -0
- package/dist/chunks/{defaults-DNvHueCI.js → defaults-CKuLLRFh.js} +342 -266
- package/dist/chunks/{dist-BvTGFq3F.js → dist-AuwuGWnE.js} +28 -28
- package/dist/chunks/jsonc-BDHXk_1o.js +40 -0
- package/dist/chunks/{ohash-CHaRSTtv.js → ohash-Cc4pJh84.js} +1 -1
- package/dist/chunks/rolldown-runtime-Dy4uBu1J.js +11 -0
- package/dist/cli.js +487 -376
- package/dist/config/types.d.mts +1 -1
- package/dist/config.js +1 -1
- package/dist/dev-client/hostClient.d.mts +2 -0
- package/dist/dev.d.mts +10 -4
- package/dist/error.d.mts +5 -1
- package/dist/hmr-runtime.js +114 -112
- package/dist/log.d.mts +4 -0
- package/dist/retryOnEdit.d.mts +32 -0
- package/dist/watchForEdit.d.mts +27 -0
- package/package.json +11 -10
- package/dist/chunks/jsonc-BdzClvC8.js +0 -46
package/dist/cli.js
CHANGED
|
@@ -1,149 +1,151 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import a from "
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import w from "
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
1
|
+
import { t as e } from "./chunks/rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
+
import { i as t, n, o as r, r as i, t as a } from "./chunks/defaults-CKuLLRFh.js";
|
|
3
|
+
import o from "node:path";
|
|
4
|
+
import { existsSync as s, lstatSync as c, realpathSync as l, statSync as u, watch as d } from "node:fs";
|
|
5
|
+
import { chmod as f, cp as p, link as m, mkdir as h, readFile as g, readdir as _, rm as v, writeFile as y } from "node:fs/promises";
|
|
6
|
+
import { styleText as b } from "node:util";
|
|
7
|
+
import { fileURLToPath as x } from "node:url";
|
|
8
|
+
import { DevEnvironment as S, build as C, buildErrorMessage as w, createServer as T } from "vite";
|
|
9
|
+
import E from "@vitejs/plugin-vue";
|
|
10
|
+
import { createRequire as ee } from "node:module";
|
|
11
|
+
import { spawn as te } from "node:child_process";
|
|
12
|
+
import { once as D } from "node:events";
|
|
13
|
+
import ne from "node:readline";
|
|
14
|
+
import { setTimeout as re } from "node:timers/promises";
|
|
15
|
+
import { randomUUID as ie } from "node:crypto";
|
|
15
16
|
//#region src/error.mts
|
|
16
17
|
var O = class extends Error {
|
|
17
18
|
code;
|
|
19
|
+
path;
|
|
18
20
|
name = "IncaError";
|
|
19
|
-
constructor(e, t) {
|
|
20
|
-
super(t), this.code = e;
|
|
21
|
+
constructor(e, t, n) {
|
|
22
|
+
super(t), this.code = e, this.path = n;
|
|
21
23
|
}
|
|
22
|
-
},
|
|
24
|
+
}, ae = {
|
|
23
25
|
name: "inca",
|
|
24
26
|
packageJson: "inca",
|
|
25
27
|
rcFile: !1,
|
|
26
28
|
globalRc: !1,
|
|
27
29
|
giget: !1,
|
|
28
30
|
extend: !1
|
|
29
|
-
},
|
|
30
|
-
function
|
|
31
|
-
return e === e.trim() && e !== "" && e !== "." && e !== ".." && !
|
|
31
|
+
}, oe = /[/\\:*?"<>|\0]/;
|
|
32
|
+
function se(e) {
|
|
33
|
+
return e === e.trim() && e !== "" && e !== "." && e !== ".." && !oe.test(e);
|
|
32
34
|
}
|
|
33
35
|
function k(e) {
|
|
34
|
-
if (!(typeof e == "string" &&
|
|
36
|
+
if (!(typeof e == "string" && se(e))) throw new O("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 \`/\\:*?"<>|\``);
|
|
35
37
|
}
|
|
36
|
-
var
|
|
37
|
-
function
|
|
38
|
-
let n = (e) =>
|
|
39
|
-
return r === "" || r !== ".." && !r.startsWith(`..${
|
|
38
|
+
var ce = process.platform === "darwin" || process.platform === "win32";
|
|
39
|
+
function le(e, t) {
|
|
40
|
+
let n = (e) => ce ? e.toLowerCase() : e, r = o.relative(n(e), n(t));
|
|
41
|
+
return r === "" || r !== ".." && !r.startsWith(`..${o.sep}`) && !o.isAbsolute(r);
|
|
40
42
|
}
|
|
41
43
|
function A(e) {
|
|
42
|
-
let t =
|
|
43
|
-
for (let e; !
|
|
44
|
-
return
|
|
44
|
+
let t = o.resolve(e), n = t;
|
|
45
|
+
for (let e; !c(n, { throwIfNoEntry: !1 }) && (e = o.dirname(n)) !== n;) n = e;
|
|
46
|
+
return o.join(l.native(n), o.relative(n, t));
|
|
45
47
|
}
|
|
46
48
|
function j(e, t, n) {
|
|
47
|
-
let r =
|
|
49
|
+
let r = o.resolve(e, t), i;
|
|
48
50
|
try {
|
|
49
51
|
let t = A(r);
|
|
50
52
|
i = [
|
|
51
53
|
e,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
o.join(e, "src"),
|
|
55
|
+
o.join(e, "node_modules"),
|
|
54
56
|
...n ? [n] : []
|
|
55
|
-
].some((e) =>
|
|
57
|
+
].some((e) => le(t, A(e)));
|
|
56
58
|
} catch {
|
|
57
59
|
i = !0;
|
|
58
60
|
}
|
|
59
61
|
if (i) throw new O("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"`);
|
|
60
62
|
}
|
|
61
|
-
function
|
|
62
|
-
let r =
|
|
63
|
+
function ue(e, t, n) {
|
|
64
|
+
let r = o.resolve(e, t ?? a.outDir);
|
|
63
65
|
return j(e, r, n), r;
|
|
64
66
|
}
|
|
65
|
-
async function
|
|
66
|
-
let { config: t, layers:
|
|
67
|
+
async function M(e) {
|
|
68
|
+
let { config: t, layers: n } = await r({
|
|
67
69
|
cwd: e,
|
|
68
|
-
...
|
|
69
|
-
}), i =
|
|
70
|
+
...ae
|
|
71
|
+
}), i = n?.find((e) => e.configFile === "package.json");
|
|
70
72
|
return {
|
|
71
73
|
config: t,
|
|
72
74
|
usedPackageJsonKey: Object.keys(i?.config ?? {}).length > 0
|
|
73
75
|
};
|
|
74
76
|
}
|
|
75
|
-
async function
|
|
76
|
-
let { config: t } = await
|
|
77
|
+
async function de(e) {
|
|
78
|
+
let { config: t } = await M(e), n = t.entry ? o.resolve(e, t.entry) : void 0;
|
|
77
79
|
return {
|
|
78
80
|
entry: n,
|
|
79
|
-
outDir:
|
|
81
|
+
outDir: ue(e, t.outDir, n)
|
|
80
82
|
};
|
|
81
83
|
}
|
|
82
|
-
async function
|
|
83
|
-
let
|
|
84
|
+
async function fe(e) {
|
|
85
|
+
let t = o.join(e, "package.json"), r;
|
|
84
86
|
try {
|
|
85
|
-
|
|
87
|
+
r = await g(t, "utf8");
|
|
86
88
|
} catch {
|
|
87
|
-
throw new O("ERR_INCA_PACKAGE_JSON_NOT_FOUND", `no package.json found at ${
|
|
89
|
+
throw new O("ERR_INCA_PACKAGE_JSON_NOT_FOUND", `no package.json found at ${t}`);
|
|
88
90
|
}
|
|
89
|
-
let c = JSON.parse(
|
|
90
|
-
if (!d) throw new O("ERR_INCA_PRODUCT_NAME_MISSING", `${
|
|
91
|
+
let c = JSON.parse(r), { config: l, usedPackageJsonKey: u } = await M(e), d = l.productName ?? i(c.name);
|
|
92
|
+
if (!d) throw new O("ERR_INCA_PRODUCT_NAME_MISSING", `${t} needs a "name", or "productName" in inca.config.ts`);
|
|
91
93
|
k(d);
|
|
92
|
-
let f = l.version ?? c.version ??
|
|
93
|
-
if (l.icon && (
|
|
94
|
-
let
|
|
94
|
+
let f = l.version ?? c.version ?? a.version, p = l.identifier ?? n(d), m;
|
|
95
|
+
if (l.icon && (m = o.resolve(e, l.icon), !s(m))) throw new O("ERR_INCA_ICON_NOT_FOUND", `"icon" points to ${m}, which doesn't exist`, m);
|
|
96
|
+
let h = l.entry ? o.resolve(e, l.entry) : void 0, _ = ue(e, l.outDir, h);
|
|
95
97
|
return {
|
|
96
98
|
productName: d,
|
|
97
99
|
identifier: p,
|
|
98
100
|
identifierIsDefault: l.identifier === void 0,
|
|
99
101
|
version: f,
|
|
100
|
-
icon:
|
|
102
|
+
icon: m,
|
|
101
103
|
window: l.window,
|
|
102
|
-
entry:
|
|
104
|
+
entry: h,
|
|
103
105
|
outDir: _,
|
|
104
106
|
usedPackageJsonKey: u
|
|
105
107
|
};
|
|
106
108
|
}
|
|
107
|
-
function
|
|
109
|
+
function pe(e) {
|
|
108
110
|
return {
|
|
109
111
|
name: e.productName,
|
|
110
112
|
identifier: e.identifier,
|
|
111
113
|
window: e.window
|
|
112
114
|
};
|
|
113
115
|
}
|
|
114
|
-
async function
|
|
115
|
-
let { config:
|
|
116
|
+
async function N(e) {
|
|
117
|
+
let { config: t } = await M(e), r = {};
|
|
116
118
|
try {
|
|
117
|
-
|
|
119
|
+
r = JSON.parse(await g(o.join(e, "package.json"), "utf8"));
|
|
118
120
|
} catch {}
|
|
119
|
-
let
|
|
120
|
-
|
|
121
|
+
let a = t.productName ?? i(r.name);
|
|
122
|
+
a && k(a);
|
|
121
123
|
let s = {
|
|
122
|
-
name:
|
|
123
|
-
identifier:
|
|
124
|
-
window:
|
|
124
|
+
name: a,
|
|
125
|
+
identifier: t.identifier ?? (a ? n(a) : void 0),
|
|
126
|
+
window: t.window
|
|
125
127
|
};
|
|
126
128
|
return Object.values(s).some((e) => e !== void 0) ? s : void 0;
|
|
127
129
|
}
|
|
128
130
|
//#endregion
|
|
129
131
|
//#region src/adapter/vite/captureOutput.mts
|
|
130
|
-
function
|
|
132
|
+
function P(e, t, n) {
|
|
131
133
|
return {
|
|
132
134
|
outDir: e,
|
|
133
|
-
entryFile:
|
|
135
|
+
entryFile: o.join(e, t.entryFile),
|
|
134
136
|
files: t.files,
|
|
135
137
|
changed: n
|
|
136
138
|
};
|
|
137
139
|
}
|
|
138
|
-
function
|
|
140
|
+
function me(e, t) {
|
|
139
141
|
return {
|
|
140
142
|
name: "inca:capture-output",
|
|
141
|
-
writeBundle(
|
|
142
|
-
let
|
|
143
|
-
if (!
|
|
144
|
-
|
|
145
|
-
entryFile:
|
|
146
|
-
files:
|
|
143
|
+
writeBundle(n, r) {
|
|
144
|
+
let i = Object.keys(r), a = Object.values(r).find((e) => e.type === "chunk" && e.isEntry);
|
|
145
|
+
if (!a) throw new e.IncaError("ERR_INCA_BUILD_NO_ENTRY_CHUNK", "build produced no entry chunk");
|
|
146
|
+
t({
|
|
147
|
+
entryFile: a.fileName,
|
|
148
|
+
files: i
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
};
|
|
@@ -155,7 +157,7 @@ function I(e) {
|
|
|
155
157
|
let t = JSON.stringify(e, void 0, 2);
|
|
156
158
|
if (t !== void 0 && t !== "{}") return `${t}\n`;
|
|
157
159
|
}
|
|
158
|
-
function
|
|
160
|
+
function he(e) {
|
|
159
161
|
let t = I(e);
|
|
160
162
|
return {
|
|
161
163
|
name: "inca:emit-config",
|
|
@@ -170,7 +172,7 @@ function pe(e) {
|
|
|
170
172
|
}
|
|
171
173
|
//#endregion
|
|
172
174
|
//#region src/adapter/vite/logger.mts
|
|
173
|
-
var
|
|
175
|
+
var ge = "Build failed with ", _e = "Pre-transform error";
|
|
174
176
|
function L(e, t, n = !1) {
|
|
175
177
|
let r = /* @__PURE__ */ new WeakSet(), i = /* @__PURE__ */ new Set(), a = {
|
|
176
178
|
hasWarned: !1,
|
|
@@ -184,7 +186,7 @@ function L(e, t, n = !1) {
|
|
|
184
186
|
i.has(e) || (i.add(e), a.warn(e));
|
|
185
187
|
},
|
|
186
188
|
error(e, n) {
|
|
187
|
-
a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(
|
|
189
|
+
a.hasWarned = !0, n?.error && r.add(n.error), !e.includes(ge) && (e.includes(_e) || t.write(`${e.replace(/\n\s+at .*/g, "")}\n`));
|
|
188
190
|
},
|
|
189
191
|
clearScreen() {},
|
|
190
192
|
hasErrorLogged(e) {
|
|
@@ -195,7 +197,7 @@ function L(e, t, n = !1) {
|
|
|
195
197
|
}
|
|
196
198
|
//#endregion
|
|
197
199
|
//#region src/adapter/vite/unsupported.mts
|
|
198
|
-
var
|
|
200
|
+
var ve = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, ye = [{
|
|
199
201
|
code: "ERR_INCA_UNSUPPORTED_STYLE",
|
|
200
202
|
name: "a <style> block",
|
|
201
203
|
matches: (e) => e.includes("vue&type=style"),
|
|
@@ -203,52 +205,52 @@ var ge = /\.(?:css|pcss|postcss|sass|scss|less|styl|stylus)(?:\?|$)/, _e = [{
|
|
|
203
205
|
}, {
|
|
204
206
|
code: "ERR_INCA_UNSUPPORTED_STYLESHEET",
|
|
205
207
|
name: "a stylesheet import",
|
|
206
|
-
matches: (e) =>
|
|
208
|
+
matches: (e) => ve.test(e),
|
|
207
209
|
hint: "the renderer applies no stylesheet — use a :style binding instead"
|
|
208
210
|
}];
|
|
209
|
-
function R(e =
|
|
211
|
+
function R(e, t = ye) {
|
|
210
212
|
return {
|
|
211
213
|
name: "inca:reject-unsupported",
|
|
212
214
|
enforce: "pre",
|
|
213
|
-
transform(
|
|
214
|
-
let
|
|
215
|
-
if (!
|
|
216
|
-
let
|
|
217
|
-
throw new
|
|
215
|
+
transform(n, r) {
|
|
216
|
+
let i = t.find((e) => e.matches(r));
|
|
217
|
+
if (!i) return null;
|
|
218
|
+
let a = o.relative(process.cwd(), r.split("?")[0] ?? r);
|
|
219
|
+
throw new e.IncaError(i.code, `${i.code}: ${a} uses ${i.name}, unsupported for now: ${i.hint}`);
|
|
218
220
|
}
|
|
219
221
|
};
|
|
220
222
|
}
|
|
221
223
|
//#endregion
|
|
222
224
|
//#region src/adapter/vite/config.mts
|
|
223
|
-
var
|
|
224
|
-
function z({
|
|
225
|
+
var be = "bundle.js";
|
|
226
|
+
function z({ core: e, entry: t, outDir: n, mode: r, watch: i, onOutput: a, stdout: s, stderr: c, quiet: l, runtimeConfig: u }) {
|
|
225
227
|
return {
|
|
226
228
|
configFile: !1,
|
|
227
|
-
root:
|
|
228
|
-
mode:
|
|
229
|
+
root: o.dirname(t),
|
|
230
|
+
mode: r,
|
|
229
231
|
clearScreen: !1,
|
|
230
|
-
logLevel:
|
|
231
|
-
customLogger: L(
|
|
232
|
-
define: { "process.env.NODE_ENV": JSON.stringify(
|
|
232
|
+
logLevel: l ? "silent" : "info",
|
|
233
|
+
customLogger: L(s, c),
|
|
234
|
+
define: { "process.env.NODE_ENV": JSON.stringify(r) },
|
|
233
235
|
plugins: [
|
|
234
|
-
|
|
236
|
+
E({ template: { compilerOptions: {
|
|
235
237
|
runtimeModuleName: "@vue/runtime-core",
|
|
236
238
|
hoistStatic: !1
|
|
237
239
|
} } }),
|
|
238
|
-
R(),
|
|
239
|
-
|
|
240
|
-
|
|
240
|
+
R(e),
|
|
241
|
+
he(u),
|
|
242
|
+
me(e, a)
|
|
241
243
|
],
|
|
242
244
|
build: {
|
|
243
245
|
lib: {
|
|
244
|
-
entry:
|
|
246
|
+
entry: t,
|
|
245
247
|
formats: ["es"],
|
|
246
|
-
fileName: () =>
|
|
248
|
+
fileName: () => be
|
|
247
249
|
},
|
|
248
|
-
outDir:
|
|
249
|
-
emptyOutDir:
|
|
250
|
-
minify:
|
|
251
|
-
watch:
|
|
250
|
+
outDir: n,
|
|
251
|
+
emptyOutDir: r === "production",
|
|
252
|
+
minify: r === "production",
|
|
253
|
+
watch: i ? {} : void 0,
|
|
252
254
|
rolldownOptions: { output: {
|
|
253
255
|
chunkFileNames: "chunks/[name]-[hash].js",
|
|
254
256
|
assetFileNames: "assets/[name]-[hash][extname]"
|
|
@@ -258,65 +260,73 @@ function z({ entry: e, outDir: t, mode: n, watch: r, onOutput: i, stdout: o, std
|
|
|
258
260
|
}
|
|
259
261
|
//#endregion
|
|
260
262
|
//#region src/adapter/vite/build.mts
|
|
261
|
-
async function
|
|
262
|
-
let
|
|
263
|
-
if (await
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
async function xe(e, { entry: t, outDir: n, runtimeConfig: r, stdout: i = process.stdout, stderr: a = process.stderr, quiet: o = !1 }) {
|
|
264
|
+
let s;
|
|
265
|
+
if (await C(z({
|
|
266
|
+
core: e,
|
|
267
|
+
entry: t,
|
|
268
|
+
outDir: n,
|
|
269
|
+
runtimeConfig: r,
|
|
267
270
|
mode: "production",
|
|
268
271
|
watch: !1,
|
|
269
|
-
stdout:
|
|
270
|
-
stderr:
|
|
271
|
-
quiet:
|
|
272
|
+
stdout: i,
|
|
273
|
+
stderr: a,
|
|
274
|
+
quiet: o,
|
|
272
275
|
onOutput: (e) => {
|
|
273
|
-
|
|
276
|
+
s = P(n, e);
|
|
274
277
|
}
|
|
275
|
-
})), !
|
|
276
|
-
return
|
|
278
|
+
})), !s) throw new e.IncaError("ERR_INCA_BUILD_NO_OUTPUT", "build produced no output");
|
|
279
|
+
return s;
|
|
277
280
|
}
|
|
278
281
|
//#endregion
|
|
279
282
|
//#region src/adapter/vite/hmr.mts
|
|
283
|
+
function Se(e, t) {
|
|
284
|
+
let n = w(t, [], !1), r = [t.stack, n].filter((e) => e).join("\n");
|
|
285
|
+
return {
|
|
286
|
+
...e.bundlerFault(t.message),
|
|
287
|
+
stack: r || null
|
|
288
|
+
};
|
|
289
|
+
}
|
|
280
290
|
function B(e) {
|
|
281
|
-
return
|
|
291
|
+
return o.join(e, "node_modules/.inca/hmr");
|
|
282
292
|
}
|
|
283
|
-
function
|
|
284
|
-
let e =
|
|
285
|
-
for (; !o
|
|
286
|
-
let t =
|
|
293
|
+
function Ce() {
|
|
294
|
+
let e = o.dirname(x(import.meta.url));
|
|
295
|
+
for (; !s(o.join(e, "package.json"));) {
|
|
296
|
+
let t = o.dirname(e);
|
|
287
297
|
if (t === e) throw Error("could not locate @incajs/cli's own package.json");
|
|
288
298
|
e = t;
|
|
289
299
|
}
|
|
290
|
-
return
|
|
300
|
+
return o.join(e, "dist/hmr-runtime.js");
|
|
291
301
|
}
|
|
292
|
-
function
|
|
293
|
-
let n =
|
|
302
|
+
function we(e, t) {
|
|
303
|
+
let n = o.relative(e, t).split(o.sep).join("/");
|
|
294
304
|
return n.startsWith(".") ? n : `./${n}`;
|
|
295
305
|
}
|
|
296
|
-
async function
|
|
306
|
+
async function Te(e, t, n) {
|
|
297
307
|
let r = B(e);
|
|
298
|
-
await
|
|
299
|
-
let i =
|
|
300
|
-
return await
|
|
308
|
+
await h(r, { recursive: !0 });
|
|
309
|
+
let i = o.join(r, "entry.js"), a = we(r, n ?? Ce()), s = t.split(o.sep).join("/");
|
|
310
|
+
return await y(i, `import { start } from ${JSON.stringify(a)};\nstart(${JSON.stringify(s)}).catch((err) => console.error(err));\n`), i;
|
|
301
311
|
}
|
|
302
|
-
function
|
|
312
|
+
function Ee(e) {
|
|
303
313
|
if (e.type === "error") return e.err;
|
|
304
314
|
if (e.type === "custom" && e.event === "vite:invoke") return e.data?.data?.error;
|
|
305
315
|
}
|
|
306
|
-
function
|
|
316
|
+
function De(e) {
|
|
307
317
|
if (e.type !== "custom" || e.event !== "vite:invoke") return !1;
|
|
308
318
|
let t = e.data;
|
|
309
319
|
return t.name === "fetchModule" && !t.data?.error;
|
|
310
320
|
}
|
|
311
|
-
function
|
|
321
|
+
function Oe(e, t, n, r, i) {
|
|
312
322
|
let a = /* @__PURE__ */ new Map(), o = { send: s };
|
|
313
323
|
function s(a) {
|
|
314
324
|
if (a.type === "full-reload") {
|
|
315
325
|
t();
|
|
316
326
|
return;
|
|
317
327
|
}
|
|
318
|
-
let o =
|
|
319
|
-
o ? (n(o), i.current = void 0) :
|
|
328
|
+
let o = Ee(a);
|
|
329
|
+
o ? (n(o), i.current = void 0) : De(a) && i.current && (r({
|
|
320
330
|
file: i.current.file,
|
|
321
331
|
took: Date.now() - i.current.at
|
|
322
332
|
}), i.current = void 0), e(a);
|
|
@@ -338,7 +348,7 @@ function Te(e, t, n, r, i) {
|
|
|
338
348
|
}
|
|
339
349
|
};
|
|
340
350
|
}
|
|
341
|
-
function
|
|
351
|
+
function ke() {
|
|
342
352
|
let e = "\0inca:vite-client-shim";
|
|
343
353
|
return {
|
|
344
354
|
name: "inca:shim-vite-client",
|
|
@@ -351,7 +361,7 @@ function Ee() {
|
|
|
351
361
|
}
|
|
352
362
|
};
|
|
353
363
|
}
|
|
354
|
-
function
|
|
364
|
+
function Ae(e) {
|
|
355
365
|
return {
|
|
356
366
|
name: "inca:file-changed",
|
|
357
367
|
hotUpdate(t) {
|
|
@@ -366,16 +376,16 @@ function De(e) {
|
|
|
366
376
|
}
|
|
367
377
|
};
|
|
368
378
|
}
|
|
369
|
-
async function
|
|
370
|
-
let
|
|
371
|
-
|
|
372
|
-
let
|
|
379
|
+
async function je(e, { entry: t, cwd: n, runtimeConfig: r, runtimePath: i, stdout: a = process.stdout, stderr: s = process.stderr, quiet: c = !1, notify: l, reload: u, onError: d, onUpdate: f = () => {} }) {
|
|
380
|
+
let p = await Te(n, t, i), m = I(r);
|
|
381
|
+
m && await y(o.join(B(n), F), m);
|
|
382
|
+
let h = { current: void 0 }, { channel: g, dispatch: _ } = Oe(l, u, (t) => d(Se(e, t)), f, h), v = await T({
|
|
373
383
|
configFile: !1,
|
|
374
|
-
root:
|
|
384
|
+
root: o.dirname(t),
|
|
375
385
|
mode: "development",
|
|
376
386
|
clearScreen: !1,
|
|
377
|
-
logLevel:
|
|
378
|
-
customLogger: L(
|
|
387
|
+
logLevel: c ? "silent" : "info",
|
|
388
|
+
customLogger: L(a, s, c),
|
|
379
389
|
define: { "process.env.NODE_ENV": JSON.stringify("development") },
|
|
380
390
|
server: {
|
|
381
391
|
middlewareMode: !0,
|
|
@@ -386,39 +396,74 @@ async function Oe({ entry: e, cwd: t, runtimeConfig: n, runtimePath: r, stdout:
|
|
|
386
396
|
consumer: "client",
|
|
387
397
|
dev: {
|
|
388
398
|
moduleRunnerTransform: !0,
|
|
389
|
-
createEnvironment: (e, t) => new
|
|
399
|
+
createEnvironment: (e, t) => new S(e, t, {
|
|
390
400
|
hot: !0,
|
|
391
|
-
transport:
|
|
401
|
+
transport: g
|
|
392
402
|
})
|
|
393
403
|
}
|
|
394
404
|
} },
|
|
395
405
|
plugins: [
|
|
396
|
-
|
|
406
|
+
E({ template: { compilerOptions: {
|
|
397
407
|
runtimeModuleName: "@vue/runtime-core",
|
|
398
408
|
hoistStatic: !1
|
|
399
409
|
} } }),
|
|
400
|
-
R(),
|
|
401
|
-
|
|
402
|
-
|
|
410
|
+
R(e),
|
|
411
|
+
ke(),
|
|
412
|
+
Ae(h)
|
|
403
413
|
]
|
|
404
414
|
});
|
|
405
415
|
return {
|
|
406
|
-
entryFile:
|
|
407
|
-
dispatch:
|
|
416
|
+
entryFile: p,
|
|
417
|
+
dispatch: _,
|
|
408
418
|
close: () => v.close()
|
|
409
419
|
};
|
|
410
420
|
}
|
|
411
421
|
//#endregion
|
|
422
|
+
//#region src/adapter/vite/watch.mts
|
|
423
|
+
async function Me(e, { onBuild: t, onError: n, stdout: r = process.stdout, stderr: i = process.stderr, quiet: a = !1, ...o }) {
|
|
424
|
+
let { outDir: s } = o, c, l = await C(z({
|
|
425
|
+
core: e,
|
|
426
|
+
...o,
|
|
427
|
+
watch: !0,
|
|
428
|
+
stdout: r,
|
|
429
|
+
stderr: i,
|
|
430
|
+
quiet: a,
|
|
431
|
+
onOutput: (e) => {
|
|
432
|
+
t(P(s, e, c)), c = void 0;
|
|
433
|
+
}
|
|
434
|
+
}));
|
|
435
|
+
return l.on("change", (e) => {
|
|
436
|
+
c ??= {
|
|
437
|
+
file: e,
|
|
438
|
+
at: Date.now()
|
|
439
|
+
};
|
|
440
|
+
}), l.on("event", (t) => {
|
|
441
|
+
if (t.code !== "ERROR") return;
|
|
442
|
+
c = void 0;
|
|
443
|
+
let { errors: r } = t.error;
|
|
444
|
+
n(e.bundlerFault(r?.[0]?.message ?? t.error.message));
|
|
445
|
+
}), { close: () => l.close() };
|
|
446
|
+
}
|
|
447
|
+
//#endregion
|
|
448
|
+
//#region src/adapter/vite/createBundler.mts
|
|
449
|
+
function Ne(e) {
|
|
450
|
+
return {
|
|
451
|
+
watch: (t) => Me(e, t),
|
|
452
|
+
build: (t) => xe(e, t),
|
|
453
|
+
hmr: (t) => je(e, t)
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
//#endregion
|
|
412
457
|
//#region src/dev-client/hostBin.mts
|
|
413
458
|
var V = "INCA_HOST_BIN";
|
|
414
459
|
function H() {
|
|
415
460
|
let e = process.platform === "darwin" || process.platform === "linux" ? process.platform : void 0, t = process.arch === "arm64" || process.arch === "x64" ? process.arch : void 0;
|
|
416
461
|
return e && t ? `@incajs/host-${e}-${t}` : void 0;
|
|
417
462
|
}
|
|
418
|
-
function
|
|
463
|
+
function Pe() {
|
|
419
464
|
let e = H();
|
|
420
465
|
if (e) try {
|
|
421
|
-
return
|
|
466
|
+
return ee(import.meta.url).resolve(`${e}/bin/inca-host`);
|
|
422
467
|
} catch {
|
|
423
468
|
return;
|
|
424
469
|
}
|
|
@@ -426,13 +471,13 @@ function ke() {
|
|
|
426
471
|
function U() {
|
|
427
472
|
let e = process.env[V];
|
|
428
473
|
if (e) return e;
|
|
429
|
-
let t =
|
|
474
|
+
let t = Pe();
|
|
430
475
|
if (t) return t;
|
|
431
476
|
let n = H();
|
|
432
477
|
throw new O("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 ${V} isn't set to one`);
|
|
433
478
|
}
|
|
434
479
|
function W(e) {
|
|
435
|
-
if (!
|
|
480
|
+
if (!u(e, { throwIfNoEntry: !1 })?.isFile()) throw new O("ERR_INCA_HOST_BIN_NOT_FOUND", `no host binary at ${e} — check that it was built`);
|
|
436
481
|
}
|
|
437
482
|
//#endregion
|
|
438
483
|
//#region src/dev-client/hostError.mts
|
|
@@ -443,14 +488,14 @@ var G = class extends Error {
|
|
|
443
488
|
super(e), this.code = t, this.hostStack = n, this.name = "HostError";
|
|
444
489
|
}
|
|
445
490
|
};
|
|
446
|
-
function
|
|
491
|
+
function Fe(e) {
|
|
447
492
|
return typeof e == "object" && !!e && e.jsonrpc === "2.0";
|
|
448
493
|
}
|
|
449
494
|
//#endregion
|
|
450
495
|
//#region src/dev-client/hostClient.mts
|
|
451
|
-
var
|
|
496
|
+
var Ie = (e) => {
|
|
452
497
|
process.stderr.write(e.endsWith("\n") ? e : `${e}\n`);
|
|
453
|
-
},
|
|
498
|
+
}, Le = -32e3, Re = class {
|
|
454
499
|
#e;
|
|
455
500
|
#t;
|
|
456
501
|
#n = 1;
|
|
@@ -462,16 +507,19 @@ var je = (e) => {
|
|
|
462
507
|
async start() {
|
|
463
508
|
let e = this.#e.hostBin ?? U();
|
|
464
509
|
W(e);
|
|
465
|
-
let t =
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
510
|
+
let t = te(e, ["--dev", this.#e.entryFile], {
|
|
511
|
+
stdio: [
|
|
512
|
+
"pipe",
|
|
513
|
+
"pipe",
|
|
514
|
+
"pipe"
|
|
515
|
+
],
|
|
516
|
+
env: this.#e.env
|
|
517
|
+
});
|
|
470
518
|
this.#t = t;
|
|
471
|
-
let n = this.#e.onStderr ??
|
|
519
|
+
let n = this.#e.onStderr ?? Ie;
|
|
472
520
|
t.stderr.setEncoding("utf8"), t.stderr.on("data", (e) => n(e)), t.stdin.on("error", (e) => {
|
|
473
521
|
e.code !== "EPIPE" && n(`inca-host stdin: ${e.message}\n`);
|
|
474
|
-
}),
|
|
522
|
+
}), ne.createInterface({ input: t.stdout }).on("line", (e) => {
|
|
475
523
|
this.#a(e, n);
|
|
476
524
|
}), t.on("exit", (e, t) => {
|
|
477
525
|
let n = /* @__PURE__ */ Error(`inca-host exited (code=${String(e)}, signal=${String(t)}) before answering`);
|
|
@@ -481,7 +529,7 @@ var je = (e) => {
|
|
|
481
529
|
let r = !1;
|
|
482
530
|
t.on("error", (e) => {
|
|
483
531
|
r && n(`inca-host: ${e.message}\n`);
|
|
484
|
-
}), await
|
|
532
|
+
}), await D(t, "spawn"), r = !0;
|
|
485
533
|
}
|
|
486
534
|
#a(e, t) {
|
|
487
535
|
let n;
|
|
@@ -491,7 +539,7 @@ var je = (e) => {
|
|
|
491
539
|
t(`[stray stdout] ${e}`);
|
|
492
540
|
return;
|
|
493
541
|
}
|
|
494
|
-
if (!
|
|
542
|
+
if (!Fe(n)) {
|
|
495
543
|
t(`[stray stdout] ${e}`);
|
|
496
544
|
return;
|
|
497
545
|
}
|
|
@@ -502,7 +550,7 @@ var je = (e) => {
|
|
|
502
550
|
if (n.id === null) {
|
|
503
551
|
if (!("error" in n)) return;
|
|
504
552
|
let { code: e, message: r, data: i } = n.error;
|
|
505
|
-
e ===
|
|
553
|
+
e === Le ? this.#e.onAppError?.({
|
|
506
554
|
message: r,
|
|
507
555
|
stack: i?.stack ?? null
|
|
508
556
|
}) : t(`[host error ${String(e)}] ${r}\n`);
|
|
@@ -532,7 +580,7 @@ var je = (e) => {
|
|
|
532
580
|
}
|
|
533
581
|
}
|
|
534
582
|
async #s(e) {
|
|
535
|
-
let t =
|
|
583
|
+
let t = D(e, "exit");
|
|
536
584
|
e.kill(), await t;
|
|
537
585
|
}
|
|
538
586
|
async call(e, t, n) {
|
|
@@ -573,35 +621,35 @@ var je = (e) => {
|
|
|
573
621
|
let t = this.#t;
|
|
574
622
|
if (!t || t.exitCode !== null || t.signalCode !== null) return;
|
|
575
623
|
this.#i = !0;
|
|
576
|
-
let n =
|
|
577
|
-
this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"),
|
|
624
|
+
let n = D(t, "exit");
|
|
625
|
+
this.call("shutdown").catch(() => {}), await Promise.race([n.then(() => "exited"), re(e, void 0, { ref: !1 }).then(() => "timeout")]) === "timeout" && (t.kill(), await n);
|
|
578
626
|
}
|
|
579
|
-
},
|
|
627
|
+
}, ze = "[inca]", Be = new Intl.DateTimeFormat(void 0, {
|
|
580
628
|
hour: "numeric",
|
|
581
629
|
minute: "numeric",
|
|
582
630
|
second: "numeric"
|
|
583
|
-
});
|
|
584
|
-
function
|
|
585
|
-
let r =
|
|
586
|
-
return t.timestamp ? `${
|
|
631
|
+
}), K = { timestamp: !0 };
|
|
632
|
+
function q(e, t, n) {
|
|
633
|
+
let r = b(["bold", n], ze, { stream: e });
|
|
634
|
+
return t.timestamp ? `${b("dim", Be.format(/* @__PURE__ */ new Date()), { stream: e })} ${r}` : r;
|
|
587
635
|
}
|
|
588
|
-
function
|
|
589
|
-
e.write(`${
|
|
636
|
+
function J(e, t, n = {}) {
|
|
637
|
+
e.write(`${q(e, n, "cyan")} ${t}\n`);
|
|
590
638
|
}
|
|
591
|
-
function
|
|
639
|
+
function Y(e) {
|
|
592
640
|
let t = e.code;
|
|
593
641
|
return typeof t == "string" ? t : null;
|
|
594
642
|
}
|
|
595
|
-
function
|
|
643
|
+
function Ve(e) {
|
|
596
644
|
return /\bERR_INCA_[A-Z0-9_]+/.exec(e)?.[0] ?? null;
|
|
597
645
|
}
|
|
598
|
-
function
|
|
646
|
+
function He(e) {
|
|
599
647
|
let t = e.stack;
|
|
600
648
|
if (!t) return null;
|
|
601
649
|
for (let n of [`${e.name}: ${e.message}`, e.message]) if (t.startsWith(n)) return t.slice(n.length).replace(/^\r?\n/, "") || null;
|
|
602
650
|
return t;
|
|
603
651
|
}
|
|
604
|
-
function
|
|
652
|
+
function Ue(e) {
|
|
605
653
|
let t = /^(?:\w*Error: )?(ERR_INCA_[A-Z0-9_]+): /.exec(e);
|
|
606
654
|
return t ? {
|
|
607
655
|
message: e.slice(t[0].length),
|
|
@@ -613,84 +661,58 @@ function Re(e) {
|
|
|
613
661
|
code: null
|
|
614
662
|
};
|
|
615
663
|
}
|
|
616
|
-
function
|
|
664
|
+
function X(e) {
|
|
617
665
|
return e instanceof G ? {
|
|
618
666
|
message: e.message,
|
|
619
667
|
stack: e.hostStack,
|
|
620
|
-
code:
|
|
668
|
+
code: Y(e)
|
|
621
669
|
} : e instanceof Error ? {
|
|
622
670
|
message: e.message,
|
|
623
|
-
stack:
|
|
624
|
-
code:
|
|
671
|
+
stack: He(e),
|
|
672
|
+
code: Y(e) ?? Ve(e.message)
|
|
625
673
|
} : {
|
|
626
674
|
message: String(e),
|
|
627
675
|
stack: null,
|
|
628
676
|
code: null
|
|
629
677
|
};
|
|
630
678
|
}
|
|
631
|
-
function
|
|
632
|
-
return e.split("\n").map((e) => /^\s*at\b/.test(e) ?
|
|
633
|
-
}
|
|
634
|
-
function X(e, t, n, r = {}) {
|
|
635
|
-
n.stack && e.write(`${ze(n.stack, e)}\n`);
|
|
636
|
-
let i = n.code ? ` (${v("bold", n.code, { stream: e })})` : "";
|
|
637
|
-
e.write(`${K(e, r, "red")} ${t}${i}: ${n.message}\n`);
|
|
679
|
+
function We(e, t) {
|
|
680
|
+
return e.split("\n").map((e) => /^\s*at\b/.test(e) ? b("dim", e, { stream: t }) : e).join("\n");
|
|
638
681
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
...a,
|
|
644
|
-
watch: !0,
|
|
645
|
-
stdout: n,
|
|
646
|
-
stderr: r,
|
|
647
|
-
quiet: i,
|
|
648
|
-
onOutput: (t) => {
|
|
649
|
-
e(de(o, t, s)), s = void 0;
|
|
650
|
-
}
|
|
651
|
-
}));
|
|
652
|
-
return c.on("change", (e) => {
|
|
653
|
-
s ??= {
|
|
654
|
-
file: e,
|
|
655
|
-
at: Date.now()
|
|
656
|
-
};
|
|
657
|
-
}), c.on("event", (e) => {
|
|
658
|
-
if (e.code !== "ERROR") return;
|
|
659
|
-
s = void 0;
|
|
660
|
-
let { errors: n } = e.error;
|
|
661
|
-
t(Re(n?.[0]?.message ?? e.error.message));
|
|
662
|
-
}), { close: () => c.close() };
|
|
682
|
+
function Z(e, t, n, r = {}) {
|
|
683
|
+
n.stack && e.write(`${We(n.stack, e)}\n`);
|
|
684
|
+
let i = n.code ? ` (${b("bold", n.code, { stream: e })})` : "";
|
|
685
|
+
e.write(`${q(e, r, "red")} ${t}${i}: ${n.message}\n`);
|
|
663
686
|
}
|
|
664
687
|
//#endregion
|
|
665
688
|
//#region src/defaultBundler.mts
|
|
666
|
-
var
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
};
|
|
689
|
+
var Ge = Ne(/* @__PURE__ */ e({
|
|
690
|
+
IncaError: () => O,
|
|
691
|
+
bundlerFault: () => Ue
|
|
692
|
+
}));
|
|
671
693
|
//#endregion
|
|
672
694
|
//#region src/entry.mts
|
|
673
|
-
async function
|
|
674
|
-
let t =
|
|
675
|
-
if (
|
|
676
|
-
let n =
|
|
677
|
-
if (
|
|
695
|
+
async function Ke(e) {
|
|
696
|
+
let t = o.join(e, "src/main.mts");
|
|
697
|
+
if (s(t)) return t;
|
|
698
|
+
let n = o.join(e, "src/App.vue");
|
|
699
|
+
if (s(n)) return qe(n, e);
|
|
678
700
|
throw new O("ERR_INCA_ENTRY_NOT_FOUND", `no app entry found — expected ${t} or ${n}`);
|
|
679
701
|
}
|
|
680
|
-
async function
|
|
681
|
-
let n =
|
|
682
|
-
await
|
|
683
|
-
let r =
|
|
684
|
-
return await
|
|
702
|
+
async function qe(e, t) {
|
|
703
|
+
let n = o.join(t, "node_modules/.inca");
|
|
704
|
+
await h(n, { recursive: !0 });
|
|
705
|
+
let r = o.join(n, "entry.mts"), i = JSON.stringify(e.split(o.sep).join("/"));
|
|
706
|
+
return await y(r, `import { createIncaApp } from "incajs/vue";\nimport App from ${i};\ncreateIncaApp(App).mount();\n`), r;
|
|
685
707
|
}
|
|
686
708
|
//#endregion
|
|
687
709
|
//#region src/build.mts
|
|
688
|
-
async function
|
|
689
|
-
let t = e.cwd ?? process.cwd(), n = e.config ?? await
|
|
690
|
-
j(t, r,
|
|
691
|
-
let s = e.runtimeConfig ?? await
|
|
710
|
+
async function Je(e = {}) {
|
|
711
|
+
let t = e.cwd ?? process.cwd(), n = e.config ?? await de(t), r = o.resolve(t, n.outDir), i = e.bundler ?? Ge, a = e.entry ?? n.entry ?? await Ke(t);
|
|
712
|
+
j(t, r, a);
|
|
713
|
+
let s = e.runtimeConfig ?? await N(t);
|
|
692
714
|
return i.build({
|
|
693
|
-
entry:
|
|
715
|
+
entry: a,
|
|
694
716
|
outDir: r,
|
|
695
717
|
runtimeConfig: s,
|
|
696
718
|
stdout: e.stdout,
|
|
@@ -699,77 +721,77 @@ async function We(e = {}) {
|
|
|
699
721
|
}
|
|
700
722
|
//#endregion
|
|
701
723
|
//#region src/dev-lock.mts
|
|
702
|
-
function
|
|
703
|
-
return
|
|
724
|
+
function Ye(e) {
|
|
725
|
+
return o.join(e, "node_modules/.inca/dev.pid");
|
|
704
726
|
}
|
|
705
|
-
function
|
|
727
|
+
function Xe(e) {
|
|
706
728
|
try {
|
|
707
729
|
return process.kill(e, 0), !0;
|
|
708
730
|
} catch (e) {
|
|
709
731
|
return e.code === "EPERM";
|
|
710
732
|
}
|
|
711
733
|
}
|
|
712
|
-
var
|
|
713
|
-
function
|
|
734
|
+
var Ze = ie();
|
|
735
|
+
function Q(e) {
|
|
714
736
|
return new O("ERR_INCA_DEV_RUNNING", `inca dev is already running for this app (pid ${String(e)})`);
|
|
715
737
|
}
|
|
716
|
-
async function
|
|
717
|
-
let t =
|
|
718
|
-
await
|
|
738
|
+
async function Qe(e) {
|
|
739
|
+
let t = Ye(e), n = `${String(process.pid)}:${Ze}`, r = `${t}.${ie()}`;
|
|
740
|
+
await h(o.dirname(t), { recursive: !0 }), await y(r, n);
|
|
719
741
|
let i = process.pid;
|
|
720
742
|
try {
|
|
721
743
|
for (let e = 0; e < 5; e++) {
|
|
722
744
|
try {
|
|
723
|
-
return await
|
|
745
|
+
return await m(r, t), $e(t, n);
|
|
724
746
|
} catch (e) {
|
|
725
747
|
if (e.code !== "EEXIST") throw e;
|
|
726
748
|
}
|
|
727
|
-
let e = await
|
|
749
|
+
let e = await g(t, "utf8").catch(() => ""), a = Number.parseInt(e, 10);
|
|
728
750
|
if (a === process.pid) {
|
|
729
|
-
if (e === n) throw
|
|
730
|
-
} else if (Number.isSafeInteger(a) && a > 0 &&
|
|
731
|
-
i = Number.isSafeInteger(a) && a > 0 ? a : i, await
|
|
751
|
+
if (e === n) throw Q(a);
|
|
752
|
+
} else if (Number.isSafeInteger(a) && a > 0 && Xe(a)) throw Q(a);
|
|
753
|
+
i = Number.isSafeInteger(a) && a > 0 ? a : i, await v(t, { force: !0 });
|
|
732
754
|
}
|
|
733
|
-
throw
|
|
755
|
+
throw Q(i);
|
|
734
756
|
} finally {
|
|
735
|
-
await
|
|
757
|
+
await v(r, { force: !0 });
|
|
736
758
|
}
|
|
737
759
|
}
|
|
738
|
-
function
|
|
760
|
+
function $e(e, t) {
|
|
739
761
|
let n = !1;
|
|
740
762
|
return async () => {
|
|
741
|
-
n || (n = !0, await
|
|
763
|
+
n || (n = !0, await g(e, "utf8").catch(() => "") === t && await v(e, { force: !0 }));
|
|
742
764
|
};
|
|
743
765
|
}
|
|
744
766
|
//#endregion
|
|
745
767
|
//#region src/plist.mts
|
|
746
|
-
function
|
|
768
|
+
function $(e) {
|
|
747
769
|
return e.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
748
770
|
}
|
|
749
|
-
function
|
|
750
|
-
return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${
|
|
771
|
+
function et(e) {
|
|
772
|
+
return typeof e == "boolean" ? e ? "<true/>" : "<false/>" : `<string>${$(e)}</string>`;
|
|
751
773
|
}
|
|
752
|
-
function
|
|
774
|
+
function tt(e) {
|
|
753
775
|
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
754
776
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
755
777
|
<plist version="1.0">
|
|
756
778
|
<dict>
|
|
757
|
-
${Object.entries(e).map(([e, t]) => `\t<key>${
|
|
779
|
+
${Object.entries(e).map(([e, t]) => `\t<key>${$(e)}</key>\n\t${et(t)}`).join("\n")}\n</dict>
|
|
758
780
|
</plist>
|
|
759
781
|
`;
|
|
760
782
|
}
|
|
761
783
|
//#endregion
|
|
762
784
|
//#region src/macos-app.mts
|
|
763
|
-
async function
|
|
785
|
+
async function nt(e) {
|
|
764
786
|
let { appPath: t, metadata: n, hostBin: r } = e;
|
|
765
|
-
await
|
|
787
|
+
await v(t, {
|
|
766
788
|
recursive: !0,
|
|
767
789
|
force: !0
|
|
768
790
|
});
|
|
769
|
-
let i =
|
|
770
|
-
await
|
|
771
|
-
let c =
|
|
772
|
-
e.link ? await
|
|
791
|
+
let i = o.join(t, "Contents"), a = o.join(i, "MacOS"), s = o.join(i, "Resources");
|
|
792
|
+
await h(a, { recursive: !0 }), await h(s, { recursive: !0 });
|
|
793
|
+
let c = o.join(a, n.productName);
|
|
794
|
+
e.link ? await m(r, c).catch(() => p(r, c)) : await p(r, c), await f(c, 493);
|
|
773
795
|
let l = {
|
|
774
796
|
CFBundleName: n.productName,
|
|
775
797
|
CFBundleDisplayName: n.productName,
|
|
@@ -782,201 +804,290 @@ async function $e(e) {
|
|
|
782
804
|
NSHighResolutionCapable: !0
|
|
783
805
|
};
|
|
784
806
|
if (n.icon) {
|
|
785
|
-
let e =
|
|
786
|
-
await
|
|
807
|
+
let e = o.basename(n.icon);
|
|
808
|
+
await p(n.icon, o.join(s, e)), l.CFBundleIconFile = e;
|
|
787
809
|
}
|
|
788
|
-
return await
|
|
810
|
+
return await y(o.join(i, "Info.plist"), tt(l)), await y(o.join(i, "PkgInfo"), "APPL????"), {
|
|
789
811
|
appPath: t,
|
|
790
812
|
executablePath: c,
|
|
791
813
|
resourcesDir: s
|
|
792
814
|
};
|
|
793
815
|
}
|
|
794
816
|
//#endregion
|
|
817
|
+
//#region src/watchForEdit.mts
|
|
818
|
+
var rt = /^(?:inca\.config\.[a-z0-9]+|package\.json)$/, it = ["main.mts", "App.vue"];
|
|
819
|
+
function at(e, t = {}) {
|
|
820
|
+
let n = t.debounceMs ?? 100, r = /* @__PURE__ */ new Set(), i, a = !1, c = () => {}, l = new Promise((e) => {
|
|
821
|
+
c = e;
|
|
822
|
+
}), u = () => {
|
|
823
|
+
a || (clearTimeout(i), i = setTimeout(c, n), i.unref());
|
|
824
|
+
}, f = (e, t) => {
|
|
825
|
+
let n = e;
|
|
826
|
+
for (let e; !s(n) && (e = o.dirname(n)) !== n;) n = e;
|
|
827
|
+
let i = n === e ? void 0 : o.relative(n, e).split(o.sep)[0], a = d(n);
|
|
828
|
+
a.on("change", (e, n) => {
|
|
829
|
+
let r = n === null ? null : String(n);
|
|
830
|
+
(r === null || (i === void 0 ? t(r) : r === i)) && u();
|
|
831
|
+
}), a.on("error", () => {
|
|
832
|
+
a.close(), r.delete(a), u();
|
|
833
|
+
}), r.add(a);
|
|
834
|
+
}, p = () => {
|
|
835
|
+
a = !0, clearTimeout(i);
|
|
836
|
+
for (let e of r) e.close();
|
|
837
|
+
r.clear();
|
|
838
|
+
};
|
|
839
|
+
try {
|
|
840
|
+
f(e, (e) => e === "src" || rt.test(e)), f(o.join(e, "src"), (e) => it.includes(e));
|
|
841
|
+
} catch (e) {
|
|
842
|
+
throw p(), e;
|
|
843
|
+
}
|
|
844
|
+
return {
|
|
845
|
+
edited: l,
|
|
846
|
+
add(e) {
|
|
847
|
+
if (a) return;
|
|
848
|
+
let t = o.resolve(e);
|
|
849
|
+
f(o.dirname(t), (e) => e === o.basename(t));
|
|
850
|
+
},
|
|
851
|
+
close: p
|
|
852
|
+
};
|
|
853
|
+
}
|
|
854
|
+
//#endregion
|
|
855
|
+
//#region src/retryOnEdit.mts
|
|
856
|
+
function ot(e, t) {
|
|
857
|
+
return new Promise((n) => {
|
|
858
|
+
let r = () => n(!1);
|
|
859
|
+
t.addEventListener("abort", r, { once: !0 }), e.then(() => {
|
|
860
|
+
t.removeEventListener("abort", r), n(!0);
|
|
861
|
+
});
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
async function st(e) {
|
|
865
|
+
let { cwd: t, signal: n, stdout: r, stderr: i, debounceMs: a } = e, o = !1;
|
|
866
|
+
for (;;) {
|
|
867
|
+
let c = at(t, { debounceMs: a });
|
|
868
|
+
try {
|
|
869
|
+
return await e.attempt(c);
|
|
870
|
+
} catch (e) {
|
|
871
|
+
let t = e instanceof O ? e.path : void 0;
|
|
872
|
+
if (t) try {
|
|
873
|
+
c.add(t);
|
|
874
|
+
} catch (t) {
|
|
875
|
+
throw Z(i, "build failed", X(e), K), t;
|
|
876
|
+
}
|
|
877
|
+
if (!n.aborted && !o && t && s(t)) {
|
|
878
|
+
o = !0;
|
|
879
|
+
continue;
|
|
880
|
+
}
|
|
881
|
+
if (o = !1, Z(i, "build failed", X(e), K), n.aborted || (J(r, "waiting for a change to retry", K), !await ot(c.edited, n))) return;
|
|
882
|
+
J(r, "retrying", K);
|
|
883
|
+
} finally {
|
|
884
|
+
c.close();
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
//#endregion
|
|
795
889
|
//#region src/dev.mts
|
|
796
|
-
var
|
|
797
|
-
async function
|
|
890
|
+
var ct = 1e4, lt = ["ERR_INCA_PACKAGE_JSON_NOT_FOUND", "ERR_INCA_PRODUCT_NAME_MISSING"];
|
|
891
|
+
async function ut(e, t) {
|
|
798
892
|
try {
|
|
799
|
-
return await
|
|
893
|
+
return await fe(e);
|
|
800
894
|
} catch (e) {
|
|
801
|
-
if (!(e instanceof O) || !
|
|
802
|
-
|
|
895
|
+
if (!(e instanceof O) || !lt.includes(e.code)) throw e;
|
|
896
|
+
J(t, `running unnamed — ${e.message}`, K);
|
|
803
897
|
return;
|
|
804
898
|
}
|
|
805
899
|
}
|
|
806
|
-
async function
|
|
900
|
+
async function dt(e, t, n, r) {
|
|
807
901
|
if (process.platform === "darwin" && t) try {
|
|
808
|
-
return (await
|
|
809
|
-
appPath:
|
|
902
|
+
return (await nt({
|
|
903
|
+
appPath: o.join(e, "node_modules/.inca", `${t.productName}.app`),
|
|
810
904
|
metadata: t,
|
|
811
905
|
hostBin: n,
|
|
812
906
|
link: !0
|
|
813
907
|
})).executablePath;
|
|
814
908
|
} catch (e) {
|
|
815
|
-
|
|
909
|
+
J(r, `running unbundled — ${X(e).message}`, K);
|
|
816
910
|
return;
|
|
817
911
|
}
|
|
818
912
|
}
|
|
819
|
-
function
|
|
820
|
-
let t = S(e, [], !1), n = [e.stack, t].filter((e) => e).join("\n");
|
|
821
|
-
return {
|
|
822
|
-
message: e.message,
|
|
823
|
-
stack: n || null,
|
|
824
|
-
code: null
|
|
825
|
-
};
|
|
826
|
-
}
|
|
827
|
-
async function at(e, t) {
|
|
913
|
+
async function ft(e, t) {
|
|
828
914
|
let n = new Set(t), r;
|
|
829
915
|
try {
|
|
830
|
-
r = await
|
|
916
|
+
r = await _(e, {
|
|
831
917
|
recursive: !0,
|
|
832
918
|
withFileTypes: !0
|
|
833
919
|
});
|
|
834
920
|
} catch {
|
|
835
921
|
return;
|
|
836
922
|
}
|
|
837
|
-
await Promise.all(r.filter((e) => e.isFile()).map((t) =>
|
|
923
|
+
await Promise.all(r.filter((e) => e.isFile()).map((t) => o.relative(e, o.join(t.parentPath, t.name))).filter((e) => !n.has(e)).map((t) => v(o.join(e, t), { force: !0 })));
|
|
838
924
|
}
|
|
839
|
-
|
|
840
|
-
let
|
|
925
|
+
function pt(e) {
|
|
926
|
+
let { NO_COLOR: t, FORCE_COLOR: n } = process.env;
|
|
927
|
+
if (!(!e.isTTY || t || n)) return {
|
|
928
|
+
...process.env,
|
|
929
|
+
FORCE_COLOR: "1"
|
|
930
|
+
};
|
|
931
|
+
}
|
|
932
|
+
async function mt(e) {
|
|
933
|
+
let t = e.cwd ?? process.cwd(), n = await Qe(t);
|
|
841
934
|
try {
|
|
842
|
-
let
|
|
843
|
-
W(
|
|
844
|
-
let
|
|
845
|
-
|
|
846
|
-
let
|
|
847
|
-
|
|
935
|
+
let n = e.hostBin ?? U();
|
|
936
|
+
W(n);
|
|
937
|
+
let r = e.bundler ?? Ge, i = e.stdout ?? process.stdout, a = e.stderr ?? process.stderr, s = e.experimentalHmr ? r.hmr?.bind(r) : void 0;
|
|
938
|
+
if (e.experimentalHmr && !s) throw new O("ERR_INCA_HMR_UNSUPPORTED", "--experimental-hmr was set, but the configured bundler has no HMR support");
|
|
939
|
+
let c = await st({
|
|
940
|
+
cwd: t,
|
|
941
|
+
signal: e.signal,
|
|
942
|
+
stdout: i,
|
|
943
|
+
stderr: a,
|
|
944
|
+
async attempt() {
|
|
945
|
+
let n = await de(t), r = o.resolve(t, n.outDir), a = e.entry ?? n.entry ?? await Ke(t);
|
|
946
|
+
j(t, r, a);
|
|
947
|
+
let s = await ut(t, i);
|
|
948
|
+
return {
|
|
949
|
+
outDir: r,
|
|
950
|
+
entry: a,
|
|
951
|
+
metadata: s,
|
|
952
|
+
runtimeConfig: s ? pe(s) : await N(t)
|
|
953
|
+
};
|
|
954
|
+
}
|
|
848
955
|
});
|
|
849
|
-
|
|
956
|
+
if (!c) return;
|
|
957
|
+
let { outDir: l, entry: u, metadata: d, runtimeConfig: f } = c, p = await dt(t, d, n, i) ?? n, m, h = !1, g = !1, _ = !1, v, y = Promise.resolve(), x = () => {}, S = new Promise((e) => {
|
|
958
|
+
x = e;
|
|
959
|
+
});
|
|
960
|
+
async function C() {
|
|
850
961
|
try {
|
|
851
|
-
return await
|
|
962
|
+
return await m?.call("reload", void 0, ct), !0;
|
|
852
963
|
} catch (e) {
|
|
853
|
-
return
|
|
964
|
+
return Z(a, "reload failed", X(e), K), !1;
|
|
854
965
|
}
|
|
855
966
|
}
|
|
856
|
-
async function
|
|
857
|
-
let n = new
|
|
967
|
+
async function w(e, t) {
|
|
968
|
+
let n = new Re({
|
|
858
969
|
entryFile: e,
|
|
859
|
-
hostBin:
|
|
860
|
-
|
|
970
|
+
hostBin: p,
|
|
971
|
+
env: pt(a),
|
|
972
|
+
onStderr: (e) => a.write(e),
|
|
861
973
|
onReady: () => {
|
|
862
|
-
|
|
974
|
+
h = !0, J(i, "ready", K), g && (g = !1, C());
|
|
863
975
|
},
|
|
864
|
-
onAppError: (e) =>
|
|
976
|
+
onAppError: (e) => Z(a, "app error", e, K),
|
|
865
977
|
onExit: (e, t) => {
|
|
866
|
-
|
|
978
|
+
_ = !h, v = {
|
|
867
979
|
code: e,
|
|
868
980
|
signal: t
|
|
869
|
-
},
|
|
981
|
+
}, J(i, "host exited — stopping", K), x();
|
|
870
982
|
},
|
|
871
983
|
integrations: t
|
|
872
984
|
});
|
|
873
985
|
try {
|
|
874
986
|
await n.start();
|
|
875
987
|
} catch (e) {
|
|
876
|
-
|
|
988
|
+
Z(a, "failed to start inca-host", X(e), K);
|
|
877
989
|
return;
|
|
878
990
|
}
|
|
879
|
-
|
|
991
|
+
m = n;
|
|
880
992
|
}
|
|
881
|
-
async function
|
|
882
|
-
if (await
|
|
883
|
-
await
|
|
993
|
+
async function T(e) {
|
|
994
|
+
if (await ft(e.outDir, e.files), !m) {
|
|
995
|
+
await w(e.entryFile);
|
|
884
996
|
return;
|
|
885
997
|
}
|
|
886
|
-
if (!
|
|
887
|
-
|
|
998
|
+
if (!h) {
|
|
999
|
+
g = !0;
|
|
888
1000
|
return;
|
|
889
1001
|
}
|
|
890
|
-
if (await
|
|
891
|
-
let n =
|
|
892
|
-
|
|
1002
|
+
if (await C() && e.changed) {
|
|
1003
|
+
let n = b("dim", o.relative(t, e.changed.file), { stream: i }), r = Date.now() - e.changed.at;
|
|
1004
|
+
J(i, `${b("green", "reload")} ${n} (${r}ms)`, K);
|
|
893
1005
|
}
|
|
894
1006
|
}
|
|
895
|
-
let
|
|
896
|
-
if (
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
entry: l,
|
|
1007
|
+
let E;
|
|
1008
|
+
if (s) {
|
|
1009
|
+
let e = await s({
|
|
1010
|
+
entry: u,
|
|
900
1011
|
cwd: t,
|
|
901
|
-
runtimeConfig:
|
|
902
|
-
stdout:
|
|
903
|
-
stderr:
|
|
904
|
-
notify: (e) =>
|
|
905
|
-
reload: () => void
|
|
906
|
-
onError: (e) =>
|
|
1012
|
+
runtimeConfig: f,
|
|
1013
|
+
stdout: i,
|
|
1014
|
+
stderr: a,
|
|
1015
|
+
notify: (e) => m?.notify("vite", e),
|
|
1016
|
+
reload: () => void C(),
|
|
1017
|
+
onError: (e) => Z(a, "build failed", e, K),
|
|
907
1018
|
onUpdate: ({ file: e, took: n }) => {
|
|
908
|
-
let r =
|
|
909
|
-
|
|
1019
|
+
let r = b("dim", o.relative(t, e), { stream: i });
|
|
1020
|
+
J(i, `${b("green", "update")} ${r} (${n}ms)`, K);
|
|
910
1021
|
}
|
|
911
1022
|
});
|
|
912
|
-
await
|
|
913
|
-
} else
|
|
914
|
-
entry:
|
|
915
|
-
outDir:
|
|
916
|
-
runtimeConfig:
|
|
1023
|
+
await w(e.entryFile, { vite: (t) => e.dispatch(t) }), E = e, m || x();
|
|
1024
|
+
} else E = await r.watch({
|
|
1025
|
+
entry: u,
|
|
1026
|
+
outDir: l,
|
|
1027
|
+
runtimeConfig: f,
|
|
917
1028
|
mode: "development",
|
|
918
|
-
stdout:
|
|
919
|
-
stderr:
|
|
1029
|
+
stdout: i,
|
|
1030
|
+
stderr: a,
|
|
920
1031
|
onBuild: (e) => {
|
|
921
|
-
y = y.then(() =>
|
|
1032
|
+
y = y.then(() => T(e));
|
|
922
1033
|
},
|
|
923
1034
|
onError: (e) => {
|
|
924
|
-
|
|
1035
|
+
Z(a, "build failed", e, K);
|
|
925
1036
|
}
|
|
926
1037
|
});
|
|
927
|
-
if (e.signal.aborted ?
|
|
928
|
-
if (
|
|
929
|
-
let { code: e, signal: t } =
|
|
1038
|
+
if (e.signal.aborted ? x() : e.signal.addEventListener("abort", () => x(), { once: !0 }), await S, await y, await m?.stop(), await E.close(), _) throw new O("ERR_INCA_HOST_EXITED_EARLY", "the host exited before it was ready");
|
|
1039
|
+
if (v && v.code !== 0 && v.signal !== "SIGINT" && v.signal !== "SIGTERM") {
|
|
1040
|
+
let { code: e, signal: t } = v;
|
|
930
1041
|
throw new O("ERR_INCA_HOST_CRASHED", `the host exited with ${t ? `signal ${t}` : `code ${e}`}`);
|
|
931
1042
|
}
|
|
932
1043
|
} finally {
|
|
933
|
-
await
|
|
1044
|
+
await n();
|
|
934
1045
|
}
|
|
935
1046
|
}
|
|
936
1047
|
//#endregion
|
|
937
1048
|
//#region src/package.mts
|
|
938
|
-
function
|
|
1049
|
+
function ht() {
|
|
939
1050
|
if (process.platform === "darwin") return "macos";
|
|
940
1051
|
if (process.platform === "linux") return "linux";
|
|
941
1052
|
throw new O("ERR_INCA_PLATFORM_UNSUPPORTED", `inca package doesn't support ${process.platform} yet`);
|
|
942
1053
|
}
|
|
943
|
-
async function
|
|
1054
|
+
async function gt(e, t) {
|
|
944
1055
|
await Promise.all(e.files.map(async (n) => {
|
|
945
|
-
let r =
|
|
946
|
-
await
|
|
1056
|
+
let r = o.join(t, n);
|
|
1057
|
+
await h(o.dirname(r), { recursive: !0 }), await p(o.join(e.outDir, n), r);
|
|
947
1058
|
}));
|
|
948
1059
|
}
|
|
949
|
-
function
|
|
1060
|
+
function _t(e, t) {
|
|
950
1061
|
let n = e.files.map((e) => e.split("/")[0] ?? e).find((e) => e.toLowerCase() === t.toLowerCase());
|
|
951
1062
|
if (n !== void 0) throw new O("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`);
|
|
952
1063
|
}
|
|
953
|
-
async function
|
|
954
|
-
let { appPath: r, resourcesDir: i } = await
|
|
955
|
-
appPath:
|
|
1064
|
+
async function vt({ metadata: e, output: t, hostBin: n }) {
|
|
1065
|
+
let { appPath: r, resourcesDir: i } = await nt({
|
|
1066
|
+
appPath: o.join(t.outDir, `${e.productName}.app`),
|
|
956
1067
|
metadata: e,
|
|
957
1068
|
hostBin: n
|
|
958
1069
|
});
|
|
959
|
-
return await
|
|
1070
|
+
return await gt(t, i), r;
|
|
960
1071
|
}
|
|
961
|
-
async function
|
|
962
|
-
let i = e
|
|
963
|
-
|
|
964
|
-
let
|
|
965
|
-
await
|
|
1072
|
+
async function yt({ metadata: e, output: n, hostBin: r }) {
|
|
1073
|
+
let i = t(e.productName);
|
|
1074
|
+
_t(n, i);
|
|
1075
|
+
let a = o.join(n.outDir, i);
|
|
1076
|
+
await v(a, {
|
|
966
1077
|
recursive: !0,
|
|
967
1078
|
force: !0
|
|
968
|
-
}), await
|
|
969
|
-
let s =
|
|
970
|
-
return await
|
|
971
|
-
}
|
|
972
|
-
async function
|
|
973
|
-
let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ??
|
|
974
|
-
i.usedPackageJsonKey &&
|
|
975
|
-
let a = await
|
|
1079
|
+
}), await h(a, { recursive: !0 });
|
|
1080
|
+
let s = o.join(a, i);
|
|
1081
|
+
return await p(r, s), await f(s, 493), await gt(n, a), a;
|
|
1082
|
+
}
|
|
1083
|
+
async function bt(e = {}) {
|
|
1084
|
+
let t = e.cwd ?? process.cwd(), n = e.stdout ?? process.stdout, r = e.target ?? ht(), i = await fe(t);
|
|
1085
|
+
i.usedPackageJsonKey && J(n, "the \"inca\" key in package.json is deprecated — move these settings to inca.config.ts"), i.identifierIsDefault && J(n, `no "identifier" set in inca.config.ts — using generated identifier ${i.identifier}`);
|
|
1086
|
+
let a = await Je({
|
|
976
1087
|
cwd: t,
|
|
977
1088
|
entry: e.entry,
|
|
978
1089
|
config: i,
|
|
979
|
-
runtimeConfig:
|
|
1090
|
+
runtimeConfig: pe(i),
|
|
980
1091
|
bundler: e.bundler,
|
|
981
1092
|
stdout: n,
|
|
982
1093
|
stderr: e.stderr
|
|
@@ -987,40 +1098,40 @@ async function ft(e = {}) {
|
|
|
987
1098
|
output: a,
|
|
988
1099
|
hostBin: o
|
|
989
1100
|
};
|
|
990
|
-
return { appPath: r === "macos" ? await
|
|
1101
|
+
return { appPath: r === "macos" ? await vt(s) : await yt(s) };
|
|
991
1102
|
}
|
|
992
1103
|
//#endregion
|
|
993
1104
|
//#region src/cli.mts
|
|
994
|
-
var
|
|
995
|
-
function
|
|
996
|
-
return
|
|
1105
|
+
var xt = "Usage: inca <dev|build|package>";
|
|
1106
|
+
function St(e) {
|
|
1107
|
+
return o.relative(process.cwd(), e);
|
|
997
1108
|
}
|
|
998
|
-
async function
|
|
1109
|
+
async function Ct(e = process.argv) {
|
|
999
1110
|
let t = e[2];
|
|
1000
1111
|
if (t === "build") {
|
|
1001
1112
|
try {
|
|
1002
|
-
let e = await
|
|
1003
|
-
|
|
1113
|
+
let e = await Je();
|
|
1114
|
+
J(process.stdout, `built ${St(e.entryFile)}`);
|
|
1004
1115
|
} catch (e) {
|
|
1005
|
-
|
|
1116
|
+
Z(process.stderr, "build failed", X(e)), process.exitCode = 1;
|
|
1006
1117
|
}
|
|
1007
1118
|
return;
|
|
1008
1119
|
}
|
|
1009
1120
|
if (t === "package") {
|
|
1010
1121
|
try {
|
|
1011
|
-
let { appPath: e } = await
|
|
1012
|
-
|
|
1122
|
+
let { appPath: e } = await bt();
|
|
1123
|
+
J(process.stdout, `packaged ${St(e)}`);
|
|
1013
1124
|
} catch (e) {
|
|
1014
|
-
|
|
1125
|
+
Z(process.stderr, "package failed", X(e)), process.exitCode = 1;
|
|
1015
1126
|
}
|
|
1016
1127
|
return;
|
|
1017
1128
|
}
|
|
1018
1129
|
if (t !== "dev") {
|
|
1019
|
-
process.stderr.write(`${
|
|
1130
|
+
process.stderr.write(`${xt}\n`), process.exitCode = 1;
|
|
1020
1131
|
return;
|
|
1021
1132
|
}
|
|
1022
1133
|
let n = new AbortController(), r = () => {
|
|
1023
|
-
n.signal.aborted || (
|
|
1134
|
+
n.signal.aborted || (J(process.stderr, "shutting down", { timestamp: !0 }), n.abort());
|
|
1024
1135
|
};
|
|
1025
1136
|
process.on("SIGINT", r), process.on("SIGTERM", r);
|
|
1026
1137
|
let i = e.includes("--experimental-hmr") || ![
|
|
@@ -1028,15 +1139,15 @@ async function mt(e = process.argv) {
|
|
|
1028
1139
|
"0",
|
|
1029
1140
|
"false"
|
|
1030
1141
|
].includes(process.env.INCA_EXPERIMENTAL_HMR ?? "");
|
|
1031
|
-
i &&
|
|
1142
|
+
i && J(process.stdout, "experimental HMR active", { timestamp: !0 });
|
|
1032
1143
|
try {
|
|
1033
|
-
await
|
|
1144
|
+
await mt({
|
|
1034
1145
|
signal: n.signal,
|
|
1035
1146
|
experimentalHmr: i
|
|
1036
1147
|
});
|
|
1037
1148
|
} catch (e) {
|
|
1038
|
-
|
|
1149
|
+
Z(process.stderr, "dev failed", X(e), { timestamp: !0 }), process.exitCode = 1;
|
|
1039
1150
|
}
|
|
1040
1151
|
}
|
|
1041
1152
|
//#endregion
|
|
1042
|
-
export {
|
|
1153
|
+
export { Ct as run };
|