emsdk-env 0.10.0 → 0.11.0

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.
Files changed (41) hide show
  1. package/dist/build-BbwVl0T6.js +1379 -0
  2. package/dist/build-BbwVl0T6.js.map +1 -0
  3. package/dist/build-TpHGBYTu.cjs +1388 -0
  4. package/dist/build-TpHGBYTu.cjs.map +1 -0
  5. package/dist/build.d.ts +22 -0
  6. package/dist/build.d.ts.map +1 -0
  7. package/dist/commands.d.ts +14 -0
  8. package/dist/commands.d.ts.map +1 -0
  9. package/dist/emsdk.d.ts +22 -0
  10. package/dist/emsdk.d.ts.map +1 -0
  11. package/dist/env.d.ts +16 -0
  12. package/dist/env.d.ts.map +1 -0
  13. package/dist/fs-utils.d.ts +13 -0
  14. package/dist/fs-utils.d.ts.map +1 -0
  15. package/dist/generated/packageMetadata.d.ts +18 -0
  16. package/dist/generated/packageMetadata.d.ts.map +1 -0
  17. package/dist/index.cjs +11 -14
  18. package/dist/index.d.ts +17 -338
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.mjs +10 -15
  21. package/dist/logger.d.ts +13 -0
  22. package/dist/logger.d.ts.map +1 -0
  23. package/dist/{vite.d.ts → types.d.ts} +299 -268
  24. package/dist/types.d.ts.map +1 -0
  25. package/dist/vite/index.d.ts +24 -0
  26. package/dist/vite/index.d.ts.map +1 -0
  27. package/dist/vite/logger.d.ts +14 -0
  28. package/dist/vite/logger.d.ts.map +1 -0
  29. package/dist/vite/types.d.ts +17 -0
  30. package/dist/vite/types.d.ts.map +1 -0
  31. package/dist/vite.cjs +735 -712
  32. package/dist/vite.cjs.map +1 -1
  33. package/dist/vite.mjs +729 -712
  34. package/dist/vite.mjs.map +1 -1
  35. package/package.json +22 -21
  36. package/dist/build-BE9Z95iJ.js +0 -1668
  37. package/dist/build-BE9Z95iJ.js.map +0 -1
  38. package/dist/build-BGtsNe6D.cjs +0 -1689
  39. package/dist/build-BGtsNe6D.cjs.map +0 -1
  40. package/dist/index.cjs.map +0 -1
  41. package/dist/index.mjs.map +0 -1
package/dist/vite.cjs CHANGED
@@ -1,723 +1,746 @@
1
1
  /*!
2
- * name: emsdk-env
3
- * version: 0.10.0
4
- * description: Emscripten environment builder
5
- * author: Kouji Matsui (@kekyo@mi.kekyo.net)
6
- * license: MIT
7
- * repository.url: https://github.com/kekyo/emsdk-env
8
- * git.commit.hash: 7ee173408d930a3cc7444806156538a24a617b55
9
- */
10
-
11
- "use strict";
12
- const path = require("path");
13
- const build = require("./build-BGtsNe6D.cjs");
14
- function getDefaultExportFromCjs(x) {
15
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
16
- }
17
- var browser = { exports: {} };
18
- var ms;
19
- var hasRequiredMs;
20
- function requireMs() {
21
- if (hasRequiredMs) return ms;
22
- hasRequiredMs = 1;
23
- var s = 1e3;
24
- var m = s * 60;
25
- var h = m * 60;
26
- var d = h * 24;
27
- var w = d * 7;
28
- var y = d * 365.25;
29
- ms = function(val, options) {
30
- options = options || {};
31
- var type = typeof val;
32
- if (type === "string" && val.length > 0) {
33
- return parse(val);
34
- } else if (type === "number" && isFinite(val)) {
35
- return options.long ? fmtLong(val) : fmtShort(val);
36
- }
37
- throw new Error(
38
- "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
39
- );
40
- };
41
- function parse(str) {
42
- str = String(str);
43
- if (str.length > 100) {
44
- return;
45
- }
46
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
47
- str
48
- );
49
- if (!match) {
50
- return;
51
- }
52
- var n = parseFloat(match[1]);
53
- var type = (match[2] || "ms").toLowerCase();
54
- switch (type) {
55
- case "years":
56
- case "year":
57
- case "yrs":
58
- case "yr":
59
- case "y":
60
- return n * y;
61
- case "weeks":
62
- case "week":
63
- case "w":
64
- return n * w;
65
- case "days":
66
- case "day":
67
- case "d":
68
- return n * d;
69
- case "hours":
70
- case "hour":
71
- case "hrs":
72
- case "hr":
73
- case "h":
74
- return n * h;
75
- case "minutes":
76
- case "minute":
77
- case "mins":
78
- case "min":
79
- case "m":
80
- return n * m;
81
- case "seconds":
82
- case "second":
83
- case "secs":
84
- case "sec":
85
- case "s":
86
- return n * s;
87
- case "milliseconds":
88
- case "millisecond":
89
- case "msecs":
90
- case "msec":
91
- case "ms":
92
- return n;
93
- default:
94
- return void 0;
95
- }
96
- }
97
- function fmtShort(ms2) {
98
- var msAbs = Math.abs(ms2);
99
- if (msAbs >= d) {
100
- return Math.round(ms2 / d) + "d";
101
- }
102
- if (msAbs >= h) {
103
- return Math.round(ms2 / h) + "h";
104
- }
105
- if (msAbs >= m) {
106
- return Math.round(ms2 / m) + "m";
107
- }
108
- if (msAbs >= s) {
109
- return Math.round(ms2 / s) + "s";
110
- }
111
- return ms2 + "ms";
112
- }
113
- function fmtLong(ms2) {
114
- var msAbs = Math.abs(ms2);
115
- if (msAbs >= d) {
116
- return plural(ms2, msAbs, d, "day");
117
- }
118
- if (msAbs >= h) {
119
- return plural(ms2, msAbs, h, "hour");
120
- }
121
- if (msAbs >= m) {
122
- return plural(ms2, msAbs, m, "minute");
123
- }
124
- if (msAbs >= s) {
125
- return plural(ms2, msAbs, s, "second");
126
- }
127
- return ms2 + " ms";
128
- }
129
- function plural(ms2, msAbs, n, name) {
130
- var isPlural = msAbs >= n * 1.5;
131
- return Math.round(ms2 / n) + " " + name + (isPlural ? "s" : "");
132
- }
133
- return ms;
134
- }
135
- var common;
136
- var hasRequiredCommon;
137
- function requireCommon() {
138
- if (hasRequiredCommon) return common;
139
- hasRequiredCommon = 1;
140
- function setup(env) {
141
- createDebug2.debug = createDebug2;
142
- createDebug2.default = createDebug2;
143
- createDebug2.coerce = coerce;
144
- createDebug2.disable = disable;
145
- createDebug2.enable = enable;
146
- createDebug2.enabled = enabled;
147
- createDebug2.humanize = requireMs();
148
- createDebug2.destroy = destroy;
149
- Object.keys(env).forEach((key) => {
150
- createDebug2[key] = env[key];
151
- });
152
- createDebug2.names = [];
153
- createDebug2.skips = [];
154
- createDebug2.formatters = {};
155
- function selectColor(namespace) {
156
- let hash = 0;
157
- for (let i = 0; i < namespace.length; i++) {
158
- hash = (hash << 5) - hash + namespace.charCodeAt(i);
159
- hash |= 0;
160
- }
161
- return createDebug2.colors[Math.abs(hash) % createDebug2.colors.length];
162
- }
163
- createDebug2.selectColor = selectColor;
164
- function createDebug2(namespace) {
165
- let prevTime;
166
- let enableOverride = null;
167
- let namespacesCache;
168
- let enabledCache;
169
- function debug(...args) {
170
- if (!debug.enabled) {
171
- return;
172
- }
173
- const self = debug;
174
- const curr = Number(/* @__PURE__ */ new Date());
175
- const ms2 = curr - (prevTime || curr);
176
- self.diff = ms2;
177
- self.prev = prevTime;
178
- self.curr = curr;
179
- prevTime = curr;
180
- args[0] = createDebug2.coerce(args[0]);
181
- if (typeof args[0] !== "string") {
182
- args.unshift("%O");
183
- }
184
- let index = 0;
185
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
186
- if (match === "%%") {
187
- return "%";
188
- }
189
- index++;
190
- const formatter = createDebug2.formatters[format];
191
- if (typeof formatter === "function") {
192
- const val = args[index];
193
- match = formatter.call(self, val);
194
- args.splice(index, 1);
195
- index--;
196
- }
197
- return match;
198
- });
199
- createDebug2.formatArgs.call(self, args);
200
- const logFn = self.log || createDebug2.log;
201
- logFn.apply(self, args);
202
- }
203
- debug.namespace = namespace;
204
- debug.useColors = createDebug2.useColors();
205
- debug.color = createDebug2.selectColor(namespace);
206
- debug.extend = extend;
207
- debug.destroy = createDebug2.destroy;
208
- Object.defineProperty(debug, "enabled", {
209
- enumerable: true,
210
- configurable: false,
211
- get: () => {
212
- if (enableOverride !== null) {
213
- return enableOverride;
214
- }
215
- if (namespacesCache !== createDebug2.namespaces) {
216
- namespacesCache = createDebug2.namespaces;
217
- enabledCache = createDebug2.enabled(namespace);
218
- }
219
- return enabledCache;
220
- },
221
- set: (v) => {
222
- enableOverride = v;
223
- }
224
- });
225
- if (typeof createDebug2.init === "function") {
226
- createDebug2.init(debug);
227
- }
228
- return debug;
229
- }
230
- function extend(namespace, delimiter) {
231
- const newDebug = createDebug2(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
232
- newDebug.log = this.log;
233
- return newDebug;
234
- }
235
- function enable(namespaces) {
236
- createDebug2.save(namespaces);
237
- createDebug2.namespaces = namespaces;
238
- createDebug2.names = [];
239
- createDebug2.skips = [];
240
- const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
241
- for (const ns of split) {
242
- if (ns[0] === "-") {
243
- createDebug2.skips.push(ns.slice(1));
244
- } else {
245
- createDebug2.names.push(ns);
246
- }
247
- }
248
- }
249
- function matchesTemplate(search, template) {
250
- let searchIndex = 0;
251
- let templateIndex = 0;
252
- let starIndex = -1;
253
- let matchIndex = 0;
254
- while (searchIndex < search.length) {
255
- if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
256
- if (template[templateIndex] === "*") {
257
- starIndex = templateIndex;
258
- matchIndex = searchIndex;
259
- templateIndex++;
260
- } else {
261
- searchIndex++;
262
- templateIndex++;
263
- }
264
- } else if (starIndex !== -1) {
265
- templateIndex = starIndex + 1;
266
- matchIndex++;
267
- searchIndex = matchIndex;
268
- } else {
269
- return false;
270
- }
271
- }
272
- while (templateIndex < template.length && template[templateIndex] === "*") {
273
- templateIndex++;
274
- }
275
- return templateIndex === template.length;
276
- }
277
- function disable() {
278
- const namespaces = [
279
- ...createDebug2.names,
280
- ...createDebug2.skips.map((namespace) => "-" + namespace)
281
- ].join(",");
282
- createDebug2.enable("");
283
- return namespaces;
284
- }
285
- function enabled(name) {
286
- for (const skip of createDebug2.skips) {
287
- if (matchesTemplate(name, skip)) {
288
- return false;
289
- }
290
- }
291
- for (const ns of createDebug2.names) {
292
- if (matchesTemplate(name, ns)) {
293
- return true;
294
- }
295
- }
296
- return false;
297
- }
298
- function coerce(val) {
299
- if (val instanceof Error) {
300
- return val.stack || val.message;
301
- }
302
- return val;
303
- }
304
- function destroy() {
305
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
306
- }
307
- createDebug2.enable(createDebug2.load());
308
- return createDebug2;
309
- }
310
- common = setup;
311
- return common;
312
- }
313
- var hasRequiredBrowser;
314
- function requireBrowser() {
315
- if (hasRequiredBrowser) return browser.exports;
316
- hasRequiredBrowser = 1;
317
- (function(module2, exports$1) {
318
- exports$1.formatArgs = formatArgs;
319
- exports$1.save = save;
320
- exports$1.load = load;
321
- exports$1.useColors = useColors;
322
- exports$1.storage = localstorage();
323
- exports$1.destroy = /* @__PURE__ */ (() => {
324
- let warned = false;
325
- return () => {
326
- if (!warned) {
327
- warned = true;
328
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
329
- }
330
- };
331
- })();
332
- exports$1.colors = [
333
- "#0000CC",
334
- "#0000FF",
335
- "#0033CC",
336
- "#0033FF",
337
- "#0066CC",
338
- "#0066FF",
339
- "#0099CC",
340
- "#0099FF",
341
- "#00CC00",
342
- "#00CC33",
343
- "#00CC66",
344
- "#00CC99",
345
- "#00CCCC",
346
- "#00CCFF",
347
- "#3300CC",
348
- "#3300FF",
349
- "#3333CC",
350
- "#3333FF",
351
- "#3366CC",
352
- "#3366FF",
353
- "#3399CC",
354
- "#3399FF",
355
- "#33CC00",
356
- "#33CC33",
357
- "#33CC66",
358
- "#33CC99",
359
- "#33CCCC",
360
- "#33CCFF",
361
- "#6600CC",
362
- "#6600FF",
363
- "#6633CC",
364
- "#6633FF",
365
- "#66CC00",
366
- "#66CC33",
367
- "#9900CC",
368
- "#9900FF",
369
- "#9933CC",
370
- "#9933FF",
371
- "#99CC00",
372
- "#99CC33",
373
- "#CC0000",
374
- "#CC0033",
375
- "#CC0066",
376
- "#CC0099",
377
- "#CC00CC",
378
- "#CC00FF",
379
- "#CC3300",
380
- "#CC3333",
381
- "#CC3366",
382
- "#CC3399",
383
- "#CC33CC",
384
- "#CC33FF",
385
- "#CC6600",
386
- "#CC6633",
387
- "#CC9900",
388
- "#CC9933",
389
- "#CCCC00",
390
- "#CCCC33",
391
- "#FF0000",
392
- "#FF0033",
393
- "#FF0066",
394
- "#FF0099",
395
- "#FF00CC",
396
- "#FF00FF",
397
- "#FF3300",
398
- "#FF3333",
399
- "#FF3366",
400
- "#FF3399",
401
- "#FF33CC",
402
- "#FF33FF",
403
- "#FF6600",
404
- "#FF6633",
405
- "#FF9900",
406
- "#FF9933",
407
- "#FFCC00",
408
- "#FFCC33"
409
- ];
410
- function useColors() {
411
- if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
412
- return true;
413
- }
414
- if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
415
- return false;
416
- }
417
- let m;
418
- return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
419
- typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
420
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
421
- typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
422
- typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
423
- }
424
- function formatArgs(args) {
425
- args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
426
- if (!this.useColors) {
427
- return;
428
- }
429
- const c = "color: " + this.color;
430
- args.splice(1, 0, c, "color: inherit");
431
- let index = 0;
432
- let lastC = 0;
433
- args[0].replace(/%[a-zA-Z%]/g, (match) => {
434
- if (match === "%%") {
435
- return;
436
- }
437
- index++;
438
- if (match === "%c") {
439
- lastC = index;
440
- }
441
- });
442
- args.splice(lastC, 0, c);
443
- }
444
- exports$1.log = console.debug || console.log || (() => {
445
- });
446
- function save(namespaces) {
447
- try {
448
- if (namespaces) {
449
- exports$1.storage.setItem("debug", namespaces);
450
- } else {
451
- exports$1.storage.removeItem("debug");
452
- }
453
- } catch (error) {
454
- }
455
- }
456
- function load() {
457
- let r;
458
- try {
459
- r = exports$1.storage.getItem("debug") || exports$1.storage.getItem("DEBUG");
460
- } catch (error) {
461
- }
462
- if (!r && typeof process !== "undefined" && "env" in process) {
463
- r = process.env.DEBUG;
464
- }
465
- return r;
466
- }
467
- function localstorage() {
468
- try {
469
- return localStorage;
470
- } catch (error) {
471
- }
472
- }
473
- module2.exports = requireCommon()(exports$1);
474
- const { formatters } = module2.exports;
475
- formatters.j = function(v) {
476
- try {
477
- return JSON.stringify(v);
478
- } catch (error) {
479
- return "[UnexpectedJSONParseError]: " + error.message;
480
- }
481
- };
482
- })(browser, browser.exports);
483
- return browser.exports;
484
- }
485
- var browserExports = requireBrowser();
486
- const __screwUpDefaultImportModule0 = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);
487
- const createDebug = __resolveDefaultExport(__screwUpDefaultImportModule0);
2
+ * name: emsdk-env
3
+ * version: 0.11.0
4
+ * description: Emscripten environment builder
5
+ * author: Kouji Matsui (@kekyo@mi.kekyo.net)
6
+ * license: MIT
7
+ * repository.url: https://github.com/kekyo/emsdk-env
8
+ * git.commit.hash: 0cf3fec6df406458fa2cf19fe561648e1ad4e369
9
+ */
10
+ Object.defineProperties(exports, {
11
+ __esModule: { value: true },
12
+ [Symbol.toStringTag]: { value: "Module" }
13
+ });
14
+ //#region \0rolldown/runtime.js
15
+ var __create = Object.create;
16
+ var __defProp = Object.defineProperty;
17
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
18
+ var __getOwnPropNames = Object.getOwnPropertyNames;
19
+ var __getProtoOf = Object.getPrototypeOf;
20
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
21
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
22
+ var __copyProps = (to, from, except, desc) => {
23
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
24
+ key = keys[i];
25
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
26
+ get: ((k) => from[k]).bind(null, key),
27
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
28
+ });
29
+ }
30
+ return to;
31
+ };
32
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
33
+ value: mod,
34
+ enumerable: true
35
+ }) : target, mod));
36
+ //#endregion
37
+ const require_build = require("./build-TpHGBYTu.cjs");
38
+ let path = require("path");
39
+ //#region node_modules/ms/index.js
40
+ var require_ms = /* @__PURE__ */ __commonJSMin(((exports, module) => {
41
+ /**
42
+ * Helpers.
43
+ */
44
+ var s = 1e3;
45
+ var m = s * 60;
46
+ var h = m * 60;
47
+ var d = h * 24;
48
+ var w = d * 7;
49
+ var y = d * 365.25;
50
+ /**
51
+ * Parse or format the given `val`.
52
+ *
53
+ * Options:
54
+ *
55
+ * - `long` verbose formatting [false]
56
+ *
57
+ * @param {String|Number} val
58
+ * @param {Object} [options]
59
+ * @throws {Error} throw an error if val is not a non-empty string or a number
60
+ * @return {String|Number}
61
+ * @api public
62
+ */
63
+ module.exports = function(val, options) {
64
+ options = options || {};
65
+ var type = typeof val;
66
+ if (type === "string" && val.length > 0) return parse(val);
67
+ else if (type === "number" && isFinite(val)) return options.long ? fmtLong(val) : fmtShort(val);
68
+ throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
69
+ };
70
+ /**
71
+ * Parse the given `str` and return milliseconds.
72
+ *
73
+ * @param {String} str
74
+ * @return {Number}
75
+ * @api private
76
+ */
77
+ function parse(str) {
78
+ str = String(str);
79
+ if (str.length > 100) return;
80
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
81
+ if (!match) return;
82
+ var n = parseFloat(match[1]);
83
+ switch ((match[2] || "ms").toLowerCase()) {
84
+ case "years":
85
+ case "year":
86
+ case "yrs":
87
+ case "yr":
88
+ case "y": return n * y;
89
+ case "weeks":
90
+ case "week":
91
+ case "w": return n * w;
92
+ case "days":
93
+ case "day":
94
+ case "d": return n * d;
95
+ case "hours":
96
+ case "hour":
97
+ case "hrs":
98
+ case "hr":
99
+ case "h": return n * h;
100
+ case "minutes":
101
+ case "minute":
102
+ case "mins":
103
+ case "min":
104
+ case "m": return n * m;
105
+ case "seconds":
106
+ case "second":
107
+ case "secs":
108
+ case "sec":
109
+ case "s": return n * s;
110
+ case "milliseconds":
111
+ case "millisecond":
112
+ case "msecs":
113
+ case "msec":
114
+ case "ms": return n;
115
+ default: return;
116
+ }
117
+ }
118
+ /**
119
+ * Short format for `ms`.
120
+ *
121
+ * @param {Number} ms
122
+ * @return {String}
123
+ * @api private
124
+ */
125
+ function fmtShort(ms) {
126
+ var msAbs = Math.abs(ms);
127
+ if (msAbs >= d) return Math.round(ms / d) + "d";
128
+ if (msAbs >= h) return Math.round(ms / h) + "h";
129
+ if (msAbs >= m) return Math.round(ms / m) + "m";
130
+ if (msAbs >= s) return Math.round(ms / s) + "s";
131
+ return ms + "ms";
132
+ }
133
+ /**
134
+ * Long format for `ms`.
135
+ *
136
+ * @param {Number} ms
137
+ * @return {String}
138
+ * @api private
139
+ */
140
+ function fmtLong(ms) {
141
+ var msAbs = Math.abs(ms);
142
+ if (msAbs >= d) return plural(ms, msAbs, d, "day");
143
+ if (msAbs >= h) return plural(ms, msAbs, h, "hour");
144
+ if (msAbs >= m) return plural(ms, msAbs, m, "minute");
145
+ if (msAbs >= s) return plural(ms, msAbs, s, "second");
146
+ return ms + " ms";
147
+ }
148
+ /**
149
+ * Pluralization helper.
150
+ */
151
+ function plural(ms, msAbs, n, name) {
152
+ var isPlural = msAbs >= n * 1.5;
153
+ return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
154
+ }
155
+ }));
156
+ //#endregion
157
+ //#region node_modules/debug/src/common.js
158
+ var require_common = /* @__PURE__ */ __commonJSMin(((exports, module) => {
159
+ /**
160
+ * This is the common logic for both the Node.js and web browser
161
+ * implementations of `debug()`.
162
+ */
163
+ function setup(env) {
164
+ createDebug.debug = createDebug;
165
+ createDebug.default = createDebug;
166
+ createDebug.coerce = coerce;
167
+ createDebug.disable = disable;
168
+ createDebug.enable = enable;
169
+ createDebug.enabled = enabled;
170
+ createDebug.humanize = require_ms();
171
+ createDebug.destroy = destroy;
172
+ Object.keys(env).forEach((key) => {
173
+ createDebug[key] = env[key];
174
+ });
175
+ /**
176
+ * The currently active debug mode names, and names to skip.
177
+ */
178
+ createDebug.names = [];
179
+ createDebug.skips = [];
180
+ /**
181
+ * Map of special "%n" handling functions, for the debug "format" argument.
182
+ *
183
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
184
+ */
185
+ createDebug.formatters = {};
186
+ /**
187
+ * Selects a color for a debug namespace
188
+ * @param {String} namespace The namespace string for the debug instance to be colored
189
+ * @return {Number|String} An ANSI color code for the given namespace
190
+ * @api private
191
+ */
192
+ function selectColor(namespace) {
193
+ let hash = 0;
194
+ for (let i = 0; i < namespace.length; i++) {
195
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
196
+ hash |= 0;
197
+ }
198
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
199
+ }
200
+ createDebug.selectColor = selectColor;
201
+ /**
202
+ * Create a debugger with the given `namespace`.
203
+ *
204
+ * @param {String} namespace
205
+ * @return {Function}
206
+ * @api public
207
+ */
208
+ function createDebug(namespace) {
209
+ let prevTime;
210
+ let enableOverride = null;
211
+ let namespacesCache;
212
+ let enabledCache;
213
+ function debug(...args) {
214
+ if (!debug.enabled) return;
215
+ const self = debug;
216
+ const curr = Number(/* @__PURE__ */ new Date());
217
+ self.diff = curr - (prevTime || curr);
218
+ self.prev = prevTime;
219
+ self.curr = curr;
220
+ prevTime = curr;
221
+ args[0] = createDebug.coerce(args[0]);
222
+ if (typeof args[0] !== "string") args.unshift("%O");
223
+ let index = 0;
224
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
225
+ if (match === "%%") return "%";
226
+ index++;
227
+ const formatter = createDebug.formatters[format];
228
+ if (typeof formatter === "function") {
229
+ const val = args[index];
230
+ match = formatter.call(self, val);
231
+ args.splice(index, 1);
232
+ index--;
233
+ }
234
+ return match;
235
+ });
236
+ createDebug.formatArgs.call(self, args);
237
+ (self.log || createDebug.log).apply(self, args);
238
+ }
239
+ debug.namespace = namespace;
240
+ debug.useColors = createDebug.useColors();
241
+ debug.color = createDebug.selectColor(namespace);
242
+ debug.extend = extend;
243
+ debug.destroy = createDebug.destroy;
244
+ Object.defineProperty(debug, "enabled", {
245
+ enumerable: true,
246
+ configurable: false,
247
+ get: () => {
248
+ if (enableOverride !== null) return enableOverride;
249
+ if (namespacesCache !== createDebug.namespaces) {
250
+ namespacesCache = createDebug.namespaces;
251
+ enabledCache = createDebug.enabled(namespace);
252
+ }
253
+ return enabledCache;
254
+ },
255
+ set: (v) => {
256
+ enableOverride = v;
257
+ }
258
+ });
259
+ if (typeof createDebug.init === "function") createDebug.init(debug);
260
+ return debug;
261
+ }
262
+ function extend(namespace, delimiter) {
263
+ const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
264
+ newDebug.log = this.log;
265
+ return newDebug;
266
+ }
267
+ /**
268
+ * Enables a debug mode by namespaces. This can include modes
269
+ * separated by a colon and wildcards.
270
+ *
271
+ * @param {String} namespaces
272
+ * @api public
273
+ */
274
+ function enable(namespaces) {
275
+ createDebug.save(namespaces);
276
+ createDebug.namespaces = namespaces;
277
+ createDebug.names = [];
278
+ createDebug.skips = [];
279
+ const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
280
+ for (const ns of split) if (ns[0] === "-") createDebug.skips.push(ns.slice(1));
281
+ else createDebug.names.push(ns);
282
+ }
283
+ /**
284
+ * Checks if the given string matches a namespace template, honoring
285
+ * asterisks as wildcards.
286
+ *
287
+ * @param {String} search
288
+ * @param {String} template
289
+ * @return {Boolean}
290
+ */
291
+ function matchesTemplate(search, template) {
292
+ let searchIndex = 0;
293
+ let templateIndex = 0;
294
+ let starIndex = -1;
295
+ let matchIndex = 0;
296
+ while (searchIndex < search.length) if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) if (template[templateIndex] === "*") {
297
+ starIndex = templateIndex;
298
+ matchIndex = searchIndex;
299
+ templateIndex++;
300
+ } else {
301
+ searchIndex++;
302
+ templateIndex++;
303
+ }
304
+ else if (starIndex !== -1) {
305
+ templateIndex = starIndex + 1;
306
+ matchIndex++;
307
+ searchIndex = matchIndex;
308
+ } else return false;
309
+ while (templateIndex < template.length && template[templateIndex] === "*") templateIndex++;
310
+ return templateIndex === template.length;
311
+ }
312
+ /**
313
+ * Disable debug output.
314
+ *
315
+ * @return {String} namespaces
316
+ * @api public
317
+ */
318
+ function disable() {
319
+ const namespaces = [...createDebug.names, ...createDebug.skips.map((namespace) => "-" + namespace)].join(",");
320
+ createDebug.enable("");
321
+ return namespaces;
322
+ }
323
+ /**
324
+ * Returns true if the given mode name is enabled, false otherwise.
325
+ *
326
+ * @param {String} name
327
+ * @return {Boolean}
328
+ * @api public
329
+ */
330
+ function enabled(name) {
331
+ for (const skip of createDebug.skips) if (matchesTemplate(name, skip)) return false;
332
+ for (const ns of createDebug.names) if (matchesTemplate(name, ns)) return true;
333
+ return false;
334
+ }
335
+ /**
336
+ * Coerce `val`.
337
+ *
338
+ * @param {Mixed} val
339
+ * @return {Mixed}
340
+ * @api private
341
+ */
342
+ function coerce(val) {
343
+ if (val instanceof Error) return val.stack || val.message;
344
+ return val;
345
+ }
346
+ /**
347
+ * XXX DO NOT USE. This is a temporary stub function.
348
+ * XXX It WILL be removed in the next major release.
349
+ */
350
+ function destroy() {
351
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
352
+ }
353
+ createDebug.enable(createDebug.load());
354
+ return createDebug;
355
+ }
356
+ module.exports = setup;
357
+ }));
358
+ var createDebug = __resolveDefaultExport((/* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
359
+ /**
360
+ * This is the web browser implementation of `debug()`.
361
+ */
362
+ exports.formatArgs = formatArgs;
363
+ exports.save = save;
364
+ exports.load = load;
365
+ exports.useColors = useColors;
366
+ exports.storage = localstorage();
367
+ exports.destroy = (() => {
368
+ let warned = false;
369
+ return () => {
370
+ if (!warned) {
371
+ warned = true;
372
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
373
+ }
374
+ };
375
+ })();
376
+ /**
377
+ * Colors.
378
+ */
379
+ exports.colors = [
380
+ "#0000CC",
381
+ "#0000FF",
382
+ "#0033CC",
383
+ "#0033FF",
384
+ "#0066CC",
385
+ "#0066FF",
386
+ "#0099CC",
387
+ "#0099FF",
388
+ "#00CC00",
389
+ "#00CC33",
390
+ "#00CC66",
391
+ "#00CC99",
392
+ "#00CCCC",
393
+ "#00CCFF",
394
+ "#3300CC",
395
+ "#3300FF",
396
+ "#3333CC",
397
+ "#3333FF",
398
+ "#3366CC",
399
+ "#3366FF",
400
+ "#3399CC",
401
+ "#3399FF",
402
+ "#33CC00",
403
+ "#33CC33",
404
+ "#33CC66",
405
+ "#33CC99",
406
+ "#33CCCC",
407
+ "#33CCFF",
408
+ "#6600CC",
409
+ "#6600FF",
410
+ "#6633CC",
411
+ "#6633FF",
412
+ "#66CC00",
413
+ "#66CC33",
414
+ "#9900CC",
415
+ "#9900FF",
416
+ "#9933CC",
417
+ "#9933FF",
418
+ "#99CC00",
419
+ "#99CC33",
420
+ "#CC0000",
421
+ "#CC0033",
422
+ "#CC0066",
423
+ "#CC0099",
424
+ "#CC00CC",
425
+ "#CC00FF",
426
+ "#CC3300",
427
+ "#CC3333",
428
+ "#CC3366",
429
+ "#CC3399",
430
+ "#CC33CC",
431
+ "#CC33FF",
432
+ "#CC6600",
433
+ "#CC6633",
434
+ "#CC9900",
435
+ "#CC9933",
436
+ "#CCCC00",
437
+ "#CCCC33",
438
+ "#FF0000",
439
+ "#FF0033",
440
+ "#FF0066",
441
+ "#FF0099",
442
+ "#FF00CC",
443
+ "#FF00FF",
444
+ "#FF3300",
445
+ "#FF3333",
446
+ "#FF3366",
447
+ "#FF3399",
448
+ "#FF33CC",
449
+ "#FF33FF",
450
+ "#FF6600",
451
+ "#FF6633",
452
+ "#FF9900",
453
+ "#FF9933",
454
+ "#FFCC00",
455
+ "#FFCC33"
456
+ ];
457
+ /**
458
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
459
+ * and the Firebug extension (any Firefox version) are known
460
+ * to support "%c" CSS customizations.
461
+ *
462
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
463
+ */
464
+ function useColors() {
465
+ if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) return true;
466
+ if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return false;
467
+ let m;
468
+ return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
469
+ }
470
+ /**
471
+ * Colorize log arguments if enabled.
472
+ *
473
+ * @api public
474
+ */
475
+ function formatArgs(args) {
476
+ args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
477
+ if (!this.useColors) return;
478
+ const c = "color: " + this.color;
479
+ args.splice(1, 0, c, "color: inherit");
480
+ let index = 0;
481
+ let lastC = 0;
482
+ args[0].replace(/%[a-zA-Z%]/g, (match) => {
483
+ if (match === "%%") return;
484
+ index++;
485
+ if (match === "%c") lastC = index;
486
+ });
487
+ args.splice(lastC, 0, c);
488
+ }
489
+ /**
490
+ * Invokes `console.debug()` when available.
491
+ * No-op when `console.debug` is not a "function".
492
+ * If `console.debug` is not available, falls back
493
+ * to `console.log`.
494
+ *
495
+ * @api public
496
+ */
497
+ exports.log = console.debug || console.log || (() => {});
498
+ /**
499
+ * Save `namespaces`.
500
+ *
501
+ * @param {String} namespaces
502
+ * @api private
503
+ */
504
+ function save(namespaces) {
505
+ try {
506
+ if (namespaces) exports.storage.setItem("debug", namespaces);
507
+ else exports.storage.removeItem("debug");
508
+ } catch (error) {}
509
+ }
510
+ /**
511
+ * Load `namespaces`.
512
+ *
513
+ * @return {String} returns the previously persisted debug modes
514
+ * @api private
515
+ */
516
+ function load() {
517
+ let r;
518
+ try {
519
+ r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG");
520
+ } catch (error) {}
521
+ if (!r && typeof process !== "undefined" && "env" in process) r = process.env.DEBUG;
522
+ return r;
523
+ }
524
+ /**
525
+ * Localstorage attempts to return the localstorage.
526
+ *
527
+ * This is necessary because safari throws
528
+ * when a user disables cookies/localstorage
529
+ * and you attempt to access it.
530
+ *
531
+ * @return {LocalStorage}
532
+ * @api private
533
+ */
534
+ function localstorage() {
535
+ try {
536
+ return localStorage;
537
+ } catch (error) {}
538
+ }
539
+ module.exports = require_common()(exports);
540
+ var { formatters } = module.exports;
541
+ /**
542
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
543
+ */
544
+ formatters.j = function(v) {
545
+ try {
546
+ return JSON.stringify(v);
547
+ } catch (error) {
548
+ return "[UnexpectedJSONParseError]: " + error.message;
549
+ }
550
+ };
551
+ })))(), 1)).default, false);
488
552
  globalThis.__screwUpIsInCJS_93c24de65540 = true;
489
- function __resolveDefaultExport(module2, isESM) {
490
- const __isInCJS = typeof globalThis !== "undefined" && globalThis.__screwUpIsInCJS_93c24de65540 === true;
491
- const maybe = module2;
492
- const hasDefault = !!(maybe && typeof maybe === "object" && "default" in maybe);
493
- const unwrapNamespaceDefault = (value) => {
494
- if (!value || typeof value !== "object") {
495
- return value;
496
- }
497
- const inner = value;
498
- const isModule = inner.__esModule === true || typeof Symbol !== "undefined" && inner[Symbol.toStringTag] === "Module";
499
- if (isModule && "default" in inner) {
500
- return inner.default;
501
- }
502
- return value;
503
- };
504
- const resolvedDefault = hasDefault ? unwrapNamespaceDefault(maybe.default) : void 0;
505
- if (__isInCJS) {
506
- return hasDefault ? resolvedDefault != null ? resolvedDefault : module2 : module2;
507
- }
508
- return hasDefault ? resolvedDefault != null ? resolvedDefault : module2 : module2;
553
+ function __resolveDefaultExport(module, isESM) {
554
+ const __isInCJS = typeof globalThis !== "undefined" && globalThis.__screwUpIsInCJS_93c24de65540 === true;
555
+ const maybe = module;
556
+ const hasDefault = !!(maybe && typeof maybe === "object" && "default" in maybe);
557
+ const unwrapNamespaceDefault = (value) => {
558
+ if (!value || typeof value !== "object") return value;
559
+ const inner = value;
560
+ if ((inner.__esModule === true || typeof Symbol !== "undefined" && inner[Symbol.toStringTag] === "Module") && "default" in inner) return inner.default;
561
+ return value;
562
+ };
563
+ const resolvedDefault = hasDefault ? unwrapNamespaceDefault(maybe.default) : void 0;
564
+ if (__isInCJS) return hasDefault ? resolvedDefault !== null && resolvedDefault !== void 0 ? resolvedDefault : module : module;
565
+ if (isESM) {
566
+ if (hasDefault) return resolvedDefault;
567
+ throw new Error("Default export not found.");
568
+ }
569
+ return hasDefault ? resolvedDefault !== null && resolvedDefault !== void 0 ? resolvedDefault : module : module;
509
570
  }
510
- const createViteLoggerAdapter = (viteLogger, logLevel, prefix) => {
511
- const debug = createDebug("vite:plugin:emsdk-vite");
512
- return {
513
- debug: (msg) => {
514
- debug(msg);
515
- },
516
- info: logLevel !== "silent" ? (msg) => viteLogger.info(`[${prefix}]: ${msg}`) : () => {
517
- },
518
- warn: logLevel === "warn" || logLevel === "info" || logLevel === "error" ? (msg) => viteLogger.warn(`[${prefix}]: ${msg}`) : () => {
519
- },
520
- error: logLevel !== "silent" ? (msg) => viteLogger.error(`[${prefix}]: ${msg}`) : () => {
521
- }
522
- };
571
+ var createViteLoggerAdapter = (viteLogger, logLevel, prefix) => {
572
+ const debug = createDebug("vite:plugin:emsdk-vite");
573
+ return {
574
+ debug: (msg) => {
575
+ debug(msg);
576
+ },
577
+ info: logLevel !== "silent" ? (msg) => viteLogger.info(`[${prefix}]: ${msg}`) : () => {},
578
+ warn: logLevel === "warn" || logLevel === "info" || logLevel === "error" ? (msg) => viteLogger.warn(`[${prefix}]: ${msg}`) : () => {},
579
+ error: logLevel !== "silent" ? (msg) => viteLogger.error(`[${prefix}]: ${msg}`) : () => {}
580
+ };
523
581
  };
524
- const version = "0.10.0";
525
- const git_commit_hash = "7ee173408d930a3cc7444806156538a24a617b55";
526
- const DEFAULT_WASM_SRC_DIR = "wasm";
527
- const DEFAULT_WASM_INCLUDE_DIR = "include";
528
- const buildRuns = /* @__PURE__ */ new Map();
529
- const resolvePath = (rootDir, value) => path.isAbsolute(value) ? value : path.resolve(rootDir, value);
530
- const expandPlaceholders = (value, env, label) => value.replace(/\{([A-Z0-9_]+)\}/g, (_match, key) => {
531
- const replacement = env[key];
532
- if (replacement === void 0) {
533
- throw new Error(`Unknown placeholder {${key}} in ${label}.`);
534
- }
535
- return replacement;
582
+ //#endregion
583
+ //#region src/generated/packageMetadata.ts
584
+ var version = "0.11.0";
585
+ var git_commit_hash = "0cf3fec6df406458fa2cf19fe561648e1ad4e369";
586
+ //#endregion
587
+ //#region src/vite/index.ts
588
+ var DEFAULT_WASM_SRC_DIR = "wasm";
589
+ var DEFAULT_WASM_INCLUDE_DIR = "include";
590
+ var buildRuns = /* @__PURE__ */ new Map();
591
+ var resolvePath = (rootDir, value) => (0, path.isAbsolute)(value) ? value : (0, path.resolve)(rootDir, value);
592
+ var expandPlaceholders = (value, env, label) => value.replace(/\{([A-Z0-9_]+)\}/g, (_match, key) => {
593
+ const replacement = env[key];
594
+ if (replacement === void 0) throw new Error(`Unknown placeholder {${key}} in ${label}.`);
595
+ return replacement;
536
596
  });
537
- const expandArray = (values, env, label) => values.map((value) => expandPlaceholders(value, env, label));
538
- const resolveIncludeDirs = (includeDirs, env, rootDir) => {
539
- const expanded = expandArray(includeDirs, env, "includeDirs");
540
- return expanded.map((value) => resolvePath(rootDir, value));
597
+ var expandArray = (values, env, label) => values.map((value) => expandPlaceholders(value, env, label));
598
+ var resolveIncludeDirs = (includeDirs, env, rootDir) => {
599
+ return expandArray(includeDirs, env, "includeDirs").map((value) => resolvePath(rootDir, value));
541
600
  };
542
- const createBuildOptions = (options, resolvedConfig, logger) => {
543
- const {
544
- emsdk,
545
- srcDir,
546
- includeDir,
547
- imports,
548
- outDir,
549
- libDir,
550
- generatedLoader,
551
- buildDir,
552
- cleanupBuildDir,
553
- parallel,
554
- ...rule
555
- } = options;
556
- return {
557
- rule,
558
- root: resolvedConfig.root,
559
- logger,
560
- ...emsdk !== void 0 ? { emsdk } : {},
561
- ...srcDir !== void 0 ? { srcDir } : {},
562
- ...includeDir !== void 0 ? { includeDir } : {},
563
- ...imports !== void 0 ? { imports } : {},
564
- ...outDir !== void 0 ? { outDir } : {},
565
- ...libDir !== void 0 ? { libDir } : {},
566
- ...generatedLoader !== void 0 ? { generatedLoader } : {},
567
- ...buildDir !== void 0 ? { buildDir } : {},
568
- ...cleanupBuildDir !== void 0 ? { cleanupBuildDir } : {},
569
- ...parallel !== void 0 ? { parallel } : {}
570
- };
601
+ var createBuildOptions = (options, resolvedConfig, logger) => {
602
+ const { emsdk, srcDir, includeDir, imports, outDir, libDir, generatedLoader, buildDir, cleanupBuildDir, parallel, ...rule } = options;
603
+ return {
604
+ rule,
605
+ root: resolvedConfig.root,
606
+ logger,
607
+ ...emsdk !== void 0 ? { emsdk } : {},
608
+ ...srcDir !== void 0 ? { srcDir } : {},
609
+ ...includeDir !== void 0 ? { includeDir } : {},
610
+ ...imports !== void 0 ? { imports } : {},
611
+ ...outDir !== void 0 ? { outDir } : {},
612
+ ...libDir !== void 0 ? { libDir } : {},
613
+ ...generatedLoader !== void 0 ? { generatedLoader } : {},
614
+ ...buildDir !== void 0 ? { buildDir } : {},
615
+ ...cleanupBuildDir !== void 0 ? { cleanupBuildDir } : {},
616
+ ...parallel !== void 0 ? { parallel } : {}
617
+ };
571
618
  };
572
- const isSubPath = (parentDir, targetPath) => {
573
- const rel = path.relative(parentDir, targetPath);
574
- if (rel === "") {
575
- return true;
576
- }
577
- return !rel.startsWith("..") && !path.isAbsolute(rel);
619
+ var isSubPath = (parentDir, targetPath) => {
620
+ const rel = (0, path.relative)(parentDir, targetPath);
621
+ if (rel === "") return true;
622
+ return !rel.startsWith("..") && !(0, path.isAbsolute)(rel);
578
623
  };
579
- const resolveWatchTargets = (options, resolvedConfig) => {
580
- var _a, _b, _c;
581
- const rootDir = resolvedConfig.root;
582
- const baseEnv = {
583
- ROOT: rootDir
584
- };
585
- const rawSrcDir = expandPlaceholders(
586
- (_a = options.srcDir) != null ? _a : DEFAULT_WASM_SRC_DIR,
587
- baseEnv,
588
- "srcDir"
589
- );
590
- const rawIncludeDir = expandPlaceholders(
591
- (_b = options.includeDir) != null ? _b : DEFAULT_WASM_INCLUDE_DIR,
592
- baseEnv,
593
- "includeDir"
594
- );
595
- const srcDir = resolvePath(rootDir, rawSrcDir);
596
- const includeDir = resolvePath(rootDir, rawIncludeDir);
597
- const envWithDirs = {
598
- ROOT: rootDir,
599
- SRC_DIR: srcDir,
600
- INCLUDE_DIR: includeDir
601
- };
602
- const patterns = /* @__PURE__ */ new Set();
603
- const baseDirs = /* @__PURE__ */ new Set();
604
- const resolvedIncludeDirs = [];
605
- patterns.add(srcDir);
606
- baseDirs.add(srcDir);
607
- const addIncludePatterns = (targetIncludeDirs, targetName) => {
608
- if (!targetIncludeDirs || targetIncludeDirs.length === 0) {
609
- return;
610
- }
611
- const env = targetName ? { ...envWithDirs, TARGET_NAME: targetName } : envWithDirs;
612
- const resolvedDirs = resolveIncludeDirs(targetIncludeDirs, env, rootDir);
613
- for (const dir of resolvedDirs) {
614
- patterns.add(dir);
615
- baseDirs.add(dir);
616
- resolvedIncludeDirs.push(dir);
617
- }
618
- };
619
- const commonIncludeDirs = ((_c = options.common) == null ? void 0 : _c.includeDirs) === void 0 ? [rawIncludeDir] : options.common.includeDirs;
620
- addIncludePatterns(commonIncludeDirs, void 0);
621
- for (const [targetName, target] of Object.entries(options.targets)) {
622
- addIncludePatterns(target.includeDirs, targetName);
623
- }
624
- return {
625
- srcDir,
626
- includeDirs: resolvedIncludeDirs,
627
- patterns: [...patterns],
628
- baseDirs: [...baseDirs]
629
- };
624
+ var resolveWatchTargets = (options, resolvedConfig) => {
625
+ var _options$srcDir, _options$includeDir, _options$common;
626
+ const rootDir = resolvedConfig.root;
627
+ const baseEnv = { ROOT: rootDir };
628
+ const rawSrcDir = expandPlaceholders((_options$srcDir = options.srcDir) !== null && _options$srcDir !== void 0 ? _options$srcDir : DEFAULT_WASM_SRC_DIR, baseEnv, "srcDir");
629
+ const rawIncludeDir = expandPlaceholders((_options$includeDir = options.includeDir) !== null && _options$includeDir !== void 0 ? _options$includeDir : DEFAULT_WASM_INCLUDE_DIR, baseEnv, "includeDir");
630
+ const srcDir = resolvePath(rootDir, rawSrcDir);
631
+ const envWithDirs = {
632
+ ROOT: rootDir,
633
+ SRC_DIR: srcDir,
634
+ INCLUDE_DIR: resolvePath(rootDir, rawIncludeDir)
635
+ };
636
+ const patterns = /* @__PURE__ */ new Set();
637
+ const baseDirs = /* @__PURE__ */ new Set();
638
+ const resolvedIncludeDirs = [];
639
+ patterns.add(srcDir);
640
+ baseDirs.add(srcDir);
641
+ const addIncludePatterns = (targetIncludeDirs, targetName) => {
642
+ if (!targetIncludeDirs || targetIncludeDirs.length === 0) return;
643
+ const resolvedDirs = resolveIncludeDirs(targetIncludeDirs, targetName ? {
644
+ ...envWithDirs,
645
+ TARGET_NAME: targetName
646
+ } : envWithDirs, rootDir);
647
+ for (const dir of resolvedDirs) {
648
+ patterns.add(dir);
649
+ baseDirs.add(dir);
650
+ resolvedIncludeDirs.push(dir);
651
+ }
652
+ };
653
+ addIncludePatterns(((_options$common = options.common) === null || _options$common === void 0 ? void 0 : _options$common.includeDirs) === void 0 ? [rawIncludeDir] : options.common.includeDirs, void 0);
654
+ for (const [targetName, target] of Object.entries(options.targets)) addIncludePatterns(target.includeDirs, targetName);
655
+ return {
656
+ srcDir,
657
+ includeDirs: resolvedIncludeDirs,
658
+ patterns: [...patterns],
659
+ baseDirs: [...baseDirs]
660
+ };
630
661
  };
631
- const setupDevServer = async (server, options, resolvedConfig, logger) => {
632
- const buildOptions = createBuildOptions(options, resolvedConfig, logger);
633
- const watchTargets = resolveWatchTargets(options, resolvedConfig);
634
- logger.debug(`watch root: ${resolvedConfig.root}`);
635
- logger.debug(`watch srcDir: ${watchTargets.srcDir}`);
636
- logger.debug(
637
- `watch includeDirs: ${watchTargets.includeDirs.length > 0 ? watchTargets.includeDirs.join(", ") : "(none)"}`
638
- );
639
- logger.debug(`watch patterns: ${watchTargets.patterns.join(", ")}`);
640
- logger.debug(`watch baseDirs: ${watchTargets.baseDirs.join(", ")}`);
641
- if (watchTargets.patterns.length > 0) {
642
- server.watcher.add(watchTargets.patterns);
643
- }
644
- let buildQueue = Promise.resolve();
645
- const queueBuild = async (shouldReload) => {
646
- buildQueue = buildQueue.then(async () => {
647
- try {
648
- await build.buildWasm(buildOptions);
649
- if (shouldReload) {
650
- server.ws.send({ type: "full-reload" });
651
- }
652
- } catch (error) {
653
- const message = error instanceof Error ? error.message : "Unknown wasm build error.";
654
- logger.error(`Wasm build failed: ${message}`);
655
- }
656
- });
657
- return buildQueue;
658
- };
659
- const onWatchEvent = async (eventPath) => {
660
- const resolvedPath = path.isAbsolute(eventPath) ? eventPath : path.resolve(resolvedConfig.root, eventPath);
661
- if (!watchTargets.baseDirs.some((dir) => isSubPath(dir, resolvedPath))) {
662
- return;
663
- }
664
- await queueBuild(true);
665
- };
666
- server.watcher.on("add", onWatchEvent);
667
- server.watcher.on("change", onWatchEvent);
668
- server.watcher.on("unlink", onWatchEvent);
669
- await queueBuild(false);
662
+ var setupDevServer = async (server, options, resolvedConfig, logger) => {
663
+ const buildOptions = createBuildOptions(options, resolvedConfig, logger);
664
+ const watchTargets = resolveWatchTargets(options, resolvedConfig);
665
+ logger.debug(`watch root: ${resolvedConfig.root}`);
666
+ logger.debug(`watch srcDir: ${watchTargets.srcDir}`);
667
+ logger.debug(`watch includeDirs: ${watchTargets.includeDirs.length > 0 ? watchTargets.includeDirs.join(", ") : "(none)"}`);
668
+ logger.debug(`watch patterns: ${watchTargets.patterns.join(", ")}`);
669
+ logger.debug(`watch baseDirs: ${watchTargets.baseDirs.join(", ")}`);
670
+ if (watchTargets.patterns.length > 0) server.watcher.add(watchTargets.patterns);
671
+ let buildQueue = Promise.resolve();
672
+ const queueBuild = async (shouldReload) => {
673
+ buildQueue = buildQueue.then(async () => {
674
+ try {
675
+ await require_build.buildWasm(buildOptions);
676
+ if (shouldReload) server.ws.send({ type: "full-reload" });
677
+ } catch (error) {
678
+ const message = error instanceof Error ? error.message : "Unknown wasm build error.";
679
+ logger.error(`Wasm build failed: ${message}`);
680
+ }
681
+ });
682
+ return buildQueue;
683
+ };
684
+ const onWatchEvent = async (eventPath) => {
685
+ const resolvedPath = (0, path.isAbsolute)(eventPath) ? eventPath : (0, path.resolve)(resolvedConfig.root, eventPath);
686
+ if (!watchTargets.baseDirs.some((dir) => isSubPath(dir, resolvedPath))) return;
687
+ await queueBuild(true);
688
+ };
689
+ server.watcher.on("add", onWatchEvent);
690
+ server.watcher.on("change", onWatchEvent);
691
+ server.watcher.on("unlink", onWatchEvent);
692
+ await queueBuild(false);
670
693
  };
671
- const emsdkEnv = (options) => {
672
- let resolvedConfig;
673
- let logger = build.createConsoleLogger("emsdk-env");
674
- return {
675
- name: "emsdkEnv",
676
- enforce: "pre",
677
- configResolved: (config) => {
678
- var _a;
679
- resolvedConfig = config;
680
- logger = createViteLoggerAdapter(
681
- resolvedConfig.logger,
682
- (_a = resolvedConfig.logLevel) != null ? _a : "info",
683
- "emsdk-env"
684
- );
685
- logger.info(`${version}-${git_commit_hash}: Started.`);
686
- },
687
- buildStart: async () => {
688
- if (!resolvedConfig) {
689
- throw new Error("Vite config was not resolved.");
690
- }
691
- if (resolvedConfig.command !== "build") {
692
- return;
693
- }
694
- const buildOptions = createBuildOptions(options, resolvedConfig, logger);
695
- const buildKey = resolvedConfig.root;
696
- const existing = buildRuns.get(buildKey);
697
- if (existing) {
698
- await existing;
699
- return;
700
- }
701
- const run = (async () => {
702
- try {
703
- await build.buildWasm(buildOptions);
704
- } finally {
705
- buildRuns.delete(buildKey);
706
- }
707
- })();
708
- buildRuns.set(buildKey, run);
709
- await run;
710
- },
711
- configureServer: async (server) => {
712
- if (!resolvedConfig) {
713
- throw new Error("Vite config was not resolved.");
714
- }
715
- if (resolvedConfig.command !== "serve") {
716
- return;
717
- }
718
- await setupDevServer(server, options, resolvedConfig, logger);
719
- }
720
- };
694
+ /**
695
+ * Vite plugin that builds C/C++ sources into WASM using the Emscripten SDK.
696
+ *
697
+ * In dev (`vite serve`), it watches source/include directories and rebuilds on
698
+ * changes. In build (`vite build`), it performs a one-shot build before bundling.
699
+ *
700
+ * @param options - Plugin options including build rules.
701
+ * @returns Vite plugin instance.
702
+ */
703
+ var emsdkEnv = (options) => {
704
+ let resolvedConfig;
705
+ let logger = require_build.createConsoleLogger("emsdk-env");
706
+ return {
707
+ name: "emsdkEnv",
708
+ enforce: "pre",
709
+ configResolved: (config) => {
710
+ var _resolvedConfig$logLe;
711
+ resolvedConfig = config;
712
+ logger = createViteLoggerAdapter(resolvedConfig.logger, (_resolvedConfig$logLe = resolvedConfig.logLevel) !== null && _resolvedConfig$logLe !== void 0 ? _resolvedConfig$logLe : "info", "emsdk-env");
713
+ logger.info(`${version}-${git_commit_hash}: Started.`);
714
+ },
715
+ buildStart: async () => {
716
+ if (!resolvedConfig) throw new Error("Vite config was not resolved.");
717
+ if (resolvedConfig.command !== "build") return;
718
+ const buildOptions = createBuildOptions(options, resolvedConfig, logger);
719
+ const buildKey = resolvedConfig.root;
720
+ const existing = buildRuns.get(buildKey);
721
+ if (existing) {
722
+ await existing;
723
+ return;
724
+ }
725
+ const run = (async () => {
726
+ try {
727
+ await require_build.buildWasm(buildOptions);
728
+ } finally {
729
+ buildRuns.delete(buildKey);
730
+ }
731
+ })();
732
+ buildRuns.set(buildKey, run);
733
+ await run;
734
+ },
735
+ configureServer: async (server) => {
736
+ if (!resolvedConfig) throw new Error("Vite config was not resolved.");
737
+ if (resolvedConfig.command !== "serve") return;
738
+ await setupDevServer(server, options, resolvedConfig, logger);
739
+ }
740
+ };
721
741
  };
722
- module.exports = emsdkEnv;
723
- //# sourceMappingURL=vite.cjs.map
742
+ //#endregion
743
+ exports.__toESM = __toESM;
744
+ exports.default = emsdkEnv;
745
+
746
+ //# sourceMappingURL=vite.cjs.map