rolldown 1.0.0-beta.10-commit.885ee53 → 1.0.0-beta.10-commit.bf212da

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 (32) hide show
  1. package/dist/cli.cjs +5 -5
  2. package/dist/cli.mjs +1075 -1036
  3. package/dist/config.cjs +3 -3
  4. package/dist/config.d.mts +2 -2
  5. package/dist/config.mjs +5 -4
  6. package/dist/experimental-index.cjs +2 -2
  7. package/dist/experimental-index.d.mts +2 -2
  8. package/dist/experimental-index.mjs +12 -3
  9. package/dist/filter-index.d.mts +2 -2
  10. package/dist/filter-index.mjs +2 -1
  11. package/dist/index.cjs +2 -2
  12. package/dist/index.d.mts +2 -2
  13. package/dist/index.mjs +4 -3
  14. package/dist/parallel-plugin-worker.cjs +2 -2
  15. package/dist/parallel-plugin-worker.mjs +34 -28
  16. package/dist/parallel-plugin.d.mts +2 -2
  17. package/dist/parse-ast-index.cjs +1 -1
  18. package/dist/parse-ast-index.d.mts +1 -1
  19. package/dist/parse-ast-index.mjs +2 -1
  20. package/dist/shared/chunk--iN_1bjD.mjs +33 -0
  21. package/dist/shared/{define-config-CpexVifn.d.mts → define-config-BL025qn5.d.mts} +1 -1
  22. package/dist/shared/{load-config-DTXGCmId.cjs → load-config-DEyy-phc.cjs} +1 -1
  23. package/dist/shared/{load-config-WuIFSl0A.mjs → load-config-ZOGX0N6a.mjs} +19 -14
  24. package/dist/shared/{misc-BN0nse6C.mjs → misc-DGAe2XOW.mjs} +4 -1
  25. package/dist/shared/{parse-ast-index-PSQWLeSo.mjs → parse-ast-index-BkTjw5qC.mjs} +30 -40
  26. package/dist/shared/{parse-ast-index-BvK1MT-L.cjs → parse-ast-index-D7OUxwJp.cjs} +1 -1
  27. package/dist/shared/prompt-Dc0i9ubg.mjs +854 -0
  28. package/dist/shared/{src-DrHV5x1X.cjs → src-BOhIOXwi.cjs} +86 -16
  29. package/dist/shared/{src-BB5r5vkG.mjs → src-aebl8_bs.mjs} +1428 -1110
  30. package/package.json +20 -20
  31. package/dist/shared/prompt-C3zHEaSG.mjs +0 -852
  32. /package/dist/shared/{binding-Dod8fhx9.d.mts → binding-CHPrEDXp.d.mts} +0 -0
package/dist/cli.mjs CHANGED
@@ -1,7 +1,8 @@
1
- import { __commonJS, __toESM } from "./shared/parse-ast-index-PSQWLeSo.mjs";
2
- import { description, getInputCliKeys, getJsonSchema, getOutputCliKeys, rolldown, validateCliOptions, version, watch } from "./shared/src-BB5r5vkG.mjs";
3
- import { arraify } from "./shared/misc-BN0nse6C.mjs";
4
- import { loadConfig } from "./shared/load-config-WuIFSl0A.mjs";
1
+ import { __commonJS, __esm, __toESM } from "./shared/chunk--iN_1bjD.mjs";
2
+ import { description, getInputCliKeys, getJsonSchema, getOutputCliKeys, init_rolldown, init_validator, init_watch, rolldown, validateCliOptions, version, watch } from "./shared/src-aebl8_bs.mjs";
3
+ import "./shared/parse-ast-index-BkTjw5qC.mjs";
4
+ import { arraify, init_misc } from "./shared/misc-DGAe2XOW.mjs";
5
+ import { init_load_config, loadConfig } from "./shared/load-config-ZOGX0N6a.mjs";
5
6
  import path, { sep } from "node:path";
6
7
  import colors from "ansis";
7
8
  import process$1 from "node:process";
@@ -10,38 +11,6 @@ import * as tty from "node:tty";
10
11
  import { performance } from "node:perf_hooks";
11
12
 
12
13
  //#region ../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/core.mjs
13
- const LogLevels = {
14
- silent: Number.NEGATIVE_INFINITY,
15
- fatal: 0,
16
- error: 0,
17
- warn: 1,
18
- log: 2,
19
- info: 3,
20
- success: 3,
21
- fail: 3,
22
- ready: 3,
23
- start: 3,
24
- box: 3,
25
- debug: 4,
26
- trace: 5,
27
- verbose: Number.POSITIVE_INFINITY
28
- };
29
- const LogTypes = {
30
- silent: { level: -1 },
31
- fatal: { level: LogLevels.fatal },
32
- error: { level: LogLevels.error },
33
- warn: { level: LogLevels.warn },
34
- log: { level: LogLevels.log },
35
- info: { level: LogLevels.info },
36
- success: { level: LogLevels.success },
37
- fail: { level: LogLevels.fail },
38
- ready: { level: LogLevels.info },
39
- start: { level: LogLevels.info },
40
- box: { level: LogLevels.info },
41
- debug: { level: LogLevels.debug },
42
- trace: { level: LogLevels.trace },
43
- verbose: { level: LogLevels.verbose }
44
- };
45
14
  function isPlainObject$1(value) {
46
15
  if (value === null || typeof value !== "object") return false;
47
16
  const prototype = Object.getPrototypeOf(value);
@@ -67,7 +36,6 @@ function _defu(baseObject, defaults, namespace = ".", merger) {
67
36
  function createDefu(merger) {
68
37
  return (...arguments_) => arguments_.reduce((p, c$1) => _defu(p, c$1, "", merger), {});
69
38
  }
70
- const defu = createDefu();
71
39
  function isPlainObject(obj) {
72
40
  return Object.prototype.toString.call(obj) === "[object Object]";
73
41
  }
@@ -77,322 +45,358 @@ function isLogObj(arg) {
77
45
  if (arg.stack) return false;
78
46
  return true;
79
47
  }
80
- let paused = false;
81
- const queue = [];
82
- var Consola = class Consola {
83
- options;
84
- _lastLog;
85
- _mockFn;
86
- /**
87
- * Creates an instance of Consola with specified options or defaults.
88
- *
89
- * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance.
90
- */
91
- constructor(options$1 = {}) {
92
- const types = options$1.types || LogTypes;
93
- this.options = defu({
94
- ...options$1,
95
- defaults: { ...options$1.defaults },
96
- level: _normalizeLogLevel(options$1.level, types),
97
- reporters: [...options$1.reporters || []]
98
- }, {
99
- types: LogTypes,
100
- throttle: 1e3,
101
- throttleMin: 5,
102
- formatOptions: {
103
- date: true,
104
- colors: false,
105
- compact: true
48
+ function _normalizeLogLevel(input, types = {}, defaultLevel = 3) {
49
+ if (input === void 0) return defaultLevel;
50
+ if (typeof input === "number") return input;
51
+ if (types[input] && types[input].level !== void 0) return types[input].level;
52
+ return defaultLevel;
53
+ }
54
+ function createConsola$1(options$1 = {}) {
55
+ return new Consola(options$1);
56
+ }
57
+ var LogLevels, LogTypes, defu, paused, queue, Consola;
58
+ var init_core = __esm({ "../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/core.mjs"() {
59
+ LogLevels = {
60
+ silent: Number.NEGATIVE_INFINITY,
61
+ fatal: 0,
62
+ error: 0,
63
+ warn: 1,
64
+ log: 2,
65
+ info: 3,
66
+ success: 3,
67
+ fail: 3,
68
+ ready: 3,
69
+ start: 3,
70
+ box: 3,
71
+ debug: 4,
72
+ trace: 5,
73
+ verbose: Number.POSITIVE_INFINITY
74
+ };
75
+ LogTypes = {
76
+ silent: { level: -1 },
77
+ fatal: { level: LogLevels.fatal },
78
+ error: { level: LogLevels.error },
79
+ warn: { level: LogLevels.warn },
80
+ log: { level: LogLevels.log },
81
+ info: { level: LogLevels.info },
82
+ success: { level: LogLevels.success },
83
+ fail: { level: LogLevels.fail },
84
+ ready: { level: LogLevels.info },
85
+ start: { level: LogLevels.info },
86
+ box: { level: LogLevels.info },
87
+ debug: { level: LogLevels.debug },
88
+ trace: { level: LogLevels.trace },
89
+ verbose: { level: LogLevels.verbose }
90
+ };
91
+ defu = createDefu();
92
+ paused = false;
93
+ queue = [];
94
+ Consola = class Consola {
95
+ options;
96
+ _lastLog;
97
+ _mockFn;
98
+ /**
99
+ * Creates an instance of Consola with specified options or defaults.
100
+ *
101
+ * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance.
102
+ */
103
+ constructor(options$1 = {}) {
104
+ const types = options$1.types || LogTypes;
105
+ this.options = defu({
106
+ ...options$1,
107
+ defaults: { ...options$1.defaults },
108
+ level: _normalizeLogLevel(options$1.level, types),
109
+ reporters: [...options$1.reporters || []]
110
+ }, {
111
+ types: LogTypes,
112
+ throttle: 1e3,
113
+ throttleMin: 5,
114
+ formatOptions: {
115
+ date: true,
116
+ colors: false,
117
+ compact: true
118
+ }
119
+ });
120
+ for (const type in types) {
121
+ const defaults = {
122
+ type,
123
+ ...this.options.defaults,
124
+ ...types[type]
125
+ };
126
+ this[type] = this._wrapLogFn(defaults);
127
+ this[type].raw = this._wrapLogFn(defaults, true);
106
128
  }
107
- });
108
- for (const type in types) {
109
- const defaults = {
110
- type,
111
- ...this.options.defaults,
112
- ...types[type]
113
- };
114
- this[type] = this._wrapLogFn(defaults);
115
- this[type].raw = this._wrapLogFn(defaults, true);
129
+ if (this.options.mockFn) this.mockTypes();
130
+ this._lastLog = {};
116
131
  }
117
- if (this.options.mockFn) this.mockTypes();
118
- this._lastLog = {};
119
- }
120
- /**
121
- * Gets the current log level of the Consola instance.
122
- *
123
- * @returns {number} The current log level.
124
- */
125
- get level() {
126
- return this.options.level;
127
- }
128
- /**
129
- * Sets the minimum log level that will be output by the instance.
130
- *
131
- * @param {number} level - The new log level to set.
132
- */
133
- set level(level) {
134
- this.options.level = _normalizeLogLevel(level, this.options.types, this.options.level);
135
- }
136
- /**
137
- * Displays a prompt to the user and returns the response.
138
- * Throw an error if `prompt` is not supported by the current configuration.
139
- *
140
- * @template T
141
- * @param {string} message - The message to display in the prompt.
142
- * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}.
143
- * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}.
144
- */
145
- prompt(message, opts) {
146
- if (!this.options.prompt) throw new Error("prompt is not supported!");
147
- return this.options.prompt(message, opts);
148
- }
149
- /**
150
- * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides.
151
- *
152
- * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}.
153
- * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
154
- */
155
- create(options$1) {
156
- const instance = new Consola({
157
- ...this.options,
158
- ...options$1
159
- });
160
- if (this._mockFn) instance.mockTypes(this._mockFn);
161
- return instance;
162
- }
163
- /**
164
- * Creates a new Consola instance with the specified default log object properties.
165
- *
166
- * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}.
167
- * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
168
- */
169
- withDefaults(defaults) {
170
- return this.create({
171
- ...this.options,
172
- defaults: {
173
- ...this.options.defaults,
174
- ...defaults
175
- }
176
- });
177
- }
178
- /**
179
- * Creates a new Consola instance with a specified tag, which will be included in every log.
180
- *
181
- * @param {string} tag - The tag to include in each log of the new instance.
182
- * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
183
- */
184
- withTag(tag) {
185
- return this.withDefaults({ tag: this.options.defaults.tag ? this.options.defaults.tag + ":" + tag : tag });
186
- }
187
- /**
188
- * Adds a custom reporter to the Consola instance.
189
- * Reporters will be called for each log message, depending on their implementation and log level.
190
- *
191
- * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}.
192
- * @returns {Consola} The current Consola instance.
193
- */
194
- addReporter(reporter) {
195
- this.options.reporters.push(reporter);
196
- return this;
197
- }
198
- /**
199
- * Removes a custom reporter from the Consola instance.
200
- * If no reporter is specified, all reporters will be removed.
201
- *
202
- * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}.
203
- * @returns {Consola} The current Consola instance.
204
- */
205
- removeReporter(reporter) {
206
- if (reporter) {
207
- const i$1 = this.options.reporters.indexOf(reporter);
208
- if (i$1 !== -1) return this.options.reporters.splice(i$1, 1);
209
- } else this.options.reporters.splice(0);
210
- return this;
211
- }
212
- /**
213
- * Replaces all reporters of the Consola instance with the specified array of reporters.
214
- *
215
- * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}.
216
- * @returns {Consola} The current Consola instance.
217
- */
218
- setReporters(reporters) {
219
- this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];
220
- return this;
221
- }
222
- wrapAll() {
223
- this.wrapConsole();
224
- this.wrapStd();
225
- }
226
- restoreAll() {
227
- this.restoreConsole();
228
- this.restoreStd();
229
- }
230
- /**
231
- * Overrides console methods with Consola logging methods for consistent logging.
232
- */
233
- wrapConsole() {
234
- for (const type in this.options.types) {
235
- if (!console["__" + type]) console["__" + type] = console[type];
236
- console[type] = this[type].raw;
132
+ /**
133
+ * Gets the current log level of the Consola instance.
134
+ *
135
+ * @returns {number} The current log level.
136
+ */
137
+ get level() {
138
+ return this.options.level;
237
139
  }
238
- }
239
- /**
240
- * Restores the original console methods, removing Consola overrides.
241
- */
242
- restoreConsole() {
243
- for (const type in this.options.types) if (console["__" + type]) {
244
- console[type] = console["__" + type];
245
- delete console["__" + type];
140
+ /**
141
+ * Sets the minimum log level that will be output by the instance.
142
+ *
143
+ * @param {number} level - The new log level to set.
144
+ */
145
+ set level(level) {
146
+ this.options.level = _normalizeLogLevel(level, this.options.types, this.options.level);
246
147
  }
247
- }
248
- /**
249
- * Overrides standard output and error streams to redirect them through Consola.
250
- */
251
- wrapStd() {
252
- this._wrapStream(this.options.stdout, "log");
253
- this._wrapStream(this.options.stderr, "log");
254
- }
255
- _wrapStream(stream, type) {
256
- if (!stream) return;
257
- if (!stream.__write) stream.__write = stream.write;
258
- stream.write = (data) => {
259
- this[type].raw(String(data).trim());
260
- };
261
- }
262
- /**
263
- * Restores the original standard output and error streams, removing the Consola redirection.
264
- */
265
- restoreStd() {
266
- this._restoreStream(this.options.stdout);
267
- this._restoreStream(this.options.stderr);
268
- }
269
- _restoreStream(stream) {
270
- if (!stream) return;
271
- if (stream.__write) {
272
- stream.write = stream.__write;
273
- delete stream.__write;
148
+ /**
149
+ * Displays a prompt to the user and returns the response.
150
+ * Throw an error if `prompt` is not supported by the current configuration.
151
+ *
152
+ * @template T
153
+ * @param {string} message - The message to display in the prompt.
154
+ * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}.
155
+ * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}.
156
+ */
157
+ prompt(message, opts) {
158
+ if (!this.options.prompt) throw new Error("prompt is not supported!");
159
+ return this.options.prompt(message, opts);
274
160
  }
275
- }
276
- /**
277
- * Pauses logging, queues incoming logs until resumed.
278
- */
279
- pauseLogs() {
280
- paused = true;
281
- }
282
- /**
283
- * Resumes logging, processing any queued logs.
284
- */
285
- resumeLogs() {
286
- paused = false;
287
- const _queue = queue.splice(0);
288
- for (const item of _queue) item[0]._logFn(item[1], item[2]);
289
- }
290
- /**
291
- * Replaces logging methods with mocks if a mock function is provided.
292
- *
293
- * @param {ConsolaOptions["mockFn"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions["mockFn"]}.
294
- */
295
- mockTypes(mockFn) {
296
- const _mockFn = mockFn || this.options.mockFn;
297
- this._mockFn = _mockFn;
298
- if (typeof _mockFn !== "function") return;
299
- for (const type in this.options.types) {
300
- this[type] = _mockFn(type, this.options.types[type]) || this[type];
301
- this[type].raw = this[type];
161
+ /**
162
+ * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides.
163
+ *
164
+ * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}.
165
+ * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
166
+ */
167
+ create(options$1) {
168
+ const instance = new Consola({
169
+ ...this.options,
170
+ ...options$1
171
+ });
172
+ if (this._mockFn) instance.mockTypes(this._mockFn);
173
+ return instance;
302
174
  }
303
- }
304
- _wrapLogFn(defaults, isRaw) {
305
- return (...args) => {
306
- if (paused) {
307
- queue.push([
308
- this,
309
- defaults,
310
- args,
311
- isRaw
312
- ]);
313
- return;
175
+ /**
176
+ * Creates a new Consola instance with the specified default log object properties.
177
+ *
178
+ * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}.
179
+ * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
180
+ */
181
+ withDefaults(defaults) {
182
+ return this.create({
183
+ ...this.options,
184
+ defaults: {
185
+ ...this.options.defaults,
186
+ ...defaults
187
+ }
188
+ });
189
+ }
190
+ /**
191
+ * Creates a new Consola instance with a specified tag, which will be included in every log.
192
+ *
193
+ * @param {string} tag - The tag to include in each log of the new instance.
194
+ * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.
195
+ */
196
+ withTag(tag) {
197
+ return this.withDefaults({ tag: this.options.defaults.tag ? this.options.defaults.tag + ":" + tag : tag });
198
+ }
199
+ /**
200
+ * Adds a custom reporter to the Consola instance.
201
+ * Reporters will be called for each log message, depending on their implementation and log level.
202
+ *
203
+ * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}.
204
+ * @returns {Consola} The current Consola instance.
205
+ */
206
+ addReporter(reporter) {
207
+ this.options.reporters.push(reporter);
208
+ return this;
209
+ }
210
+ /**
211
+ * Removes a custom reporter from the Consola instance.
212
+ * If no reporter is specified, all reporters will be removed.
213
+ *
214
+ * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}.
215
+ * @returns {Consola} The current Consola instance.
216
+ */
217
+ removeReporter(reporter) {
218
+ if (reporter) {
219
+ const i$1 = this.options.reporters.indexOf(reporter);
220
+ if (i$1 !== -1) return this.options.reporters.splice(i$1, 1);
221
+ } else this.options.reporters.splice(0);
222
+ return this;
223
+ }
224
+ /**
225
+ * Replaces all reporters of the Consola instance with the specified array of reporters.
226
+ *
227
+ * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}.
228
+ * @returns {Consola} The current Consola instance.
229
+ */
230
+ setReporters(reporters) {
231
+ this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];
232
+ return this;
233
+ }
234
+ wrapAll() {
235
+ this.wrapConsole();
236
+ this.wrapStd();
237
+ }
238
+ restoreAll() {
239
+ this.restoreConsole();
240
+ this.restoreStd();
241
+ }
242
+ /**
243
+ * Overrides console methods with Consola logging methods for consistent logging.
244
+ */
245
+ wrapConsole() {
246
+ for (const type in this.options.types) {
247
+ if (!console["__" + type]) console["__" + type] = console[type];
248
+ console[type] = this[type].raw;
314
249
  }
315
- return this._logFn(defaults, args, isRaw);
316
- };
317
- }
318
- _logFn(defaults, args, isRaw) {
319
- if ((defaults.level || 0) > this.level) return false;
320
- const logObj = {
321
- date: /* @__PURE__ */ new Date(),
322
- args: [],
323
- ...defaults,
324
- level: _normalizeLogLevel(defaults.level, this.options.types)
325
- };
326
- if (!isRaw && args.length === 1 && isLogObj(args[0])) Object.assign(logObj, args[0]);
327
- else logObj.args = [...args];
328
- if (logObj.message) {
329
- logObj.args.unshift(logObj.message);
330
- delete logObj.message;
331
- }
332
- if (logObj.additional) {
333
- if (!Array.isArray(logObj.additional)) logObj.additional = logObj.additional.split("\n");
334
- logObj.args.push("\n" + logObj.additional.join("\n"));
335
- delete logObj.additional;
336
- }
337
- logObj.type = typeof logObj.type === "string" ? logObj.type.toLowerCase() : "log";
338
- logObj.tag = typeof logObj.tag === "string" ? logObj.tag : "";
339
- const resolveLog = (newLog = false) => {
340
- const repeated = (this._lastLog.count || 0) - this.options.throttleMin;
341
- if (this._lastLog.object && repeated > 0) {
342
- const args2 = [...this._lastLog.object.args];
343
- if (repeated > 1) args2.push(`(repeated ${repeated} times)`);
344
- this._log({
345
- ...this._lastLog.object,
346
- args: args2
347
- });
348
- this._lastLog.count = 1;
250
+ }
251
+ /**
252
+ * Restores the original console methods, removing Consola overrides.
253
+ */
254
+ restoreConsole() {
255
+ for (const type in this.options.types) if (console["__" + type]) {
256
+ console[type] = console["__" + type];
257
+ delete console["__" + type];
349
258
  }
350
- if (newLog) {
351
- this._lastLog.object = logObj;
352
- this._log(logObj);
259
+ }
260
+ /**
261
+ * Overrides standard output and error streams to redirect them through Consola.
262
+ */
263
+ wrapStd() {
264
+ this._wrapStream(this.options.stdout, "log");
265
+ this._wrapStream(this.options.stderr, "log");
266
+ }
267
+ _wrapStream(stream, type) {
268
+ if (!stream) return;
269
+ if (!stream.__write) stream.__write = stream.write;
270
+ stream.write = (data) => {
271
+ this[type].raw(String(data).trim());
272
+ };
273
+ }
274
+ /**
275
+ * Restores the original standard output and error streams, removing the Consola redirection.
276
+ */
277
+ restoreStd() {
278
+ this._restoreStream(this.options.stdout);
279
+ this._restoreStream(this.options.stderr);
280
+ }
281
+ _restoreStream(stream) {
282
+ if (!stream) return;
283
+ if (stream.__write) {
284
+ stream.write = stream.__write;
285
+ delete stream.__write;
353
286
  }
354
- };
355
- clearTimeout(this._lastLog.timeout);
356
- const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;
357
- this._lastLog.time = logObj.date;
358
- if (diffTime < this.options.throttle) try {
359
- const serializedLog = JSON.stringify([
360
- logObj.type,
361
- logObj.tag,
362
- logObj.args
363
- ]);
364
- const isSameLog = this._lastLog.serialized === serializedLog;
365
- this._lastLog.serialized = serializedLog;
366
- if (isSameLog) {
367
- this._lastLog.count = (this._lastLog.count || 0) + 1;
368
- if (this._lastLog.count > this.options.throttleMin) {
369
- this._lastLog.timeout = setTimeout(resolveLog, this.options.throttle);
287
+ }
288
+ /**
289
+ * Pauses logging, queues incoming logs until resumed.
290
+ */
291
+ pauseLogs() {
292
+ paused = true;
293
+ }
294
+ /**
295
+ * Resumes logging, processing any queued logs.
296
+ */
297
+ resumeLogs() {
298
+ paused = false;
299
+ const _queue = queue.splice(0);
300
+ for (const item of _queue) item[0]._logFn(item[1], item[2]);
301
+ }
302
+ /**
303
+ * Replaces logging methods with mocks if a mock function is provided.
304
+ *
305
+ * @param {ConsolaOptions["mockFn"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions["mockFn"]}.
306
+ */
307
+ mockTypes(mockFn) {
308
+ const _mockFn = mockFn || this.options.mockFn;
309
+ this._mockFn = _mockFn;
310
+ if (typeof _mockFn !== "function") return;
311
+ for (const type in this.options.types) {
312
+ this[type] = _mockFn(type, this.options.types[type]) || this[type];
313
+ this[type].raw = this[type];
314
+ }
315
+ }
316
+ _wrapLogFn(defaults, isRaw) {
317
+ return (...args) => {
318
+ if (paused) {
319
+ queue.push([
320
+ this,
321
+ defaults,
322
+ args,
323
+ isRaw
324
+ ]);
370
325
  return;
371
326
  }
327
+ return this._logFn(defaults, args, isRaw);
328
+ };
329
+ }
330
+ _logFn(defaults, args, isRaw) {
331
+ if ((defaults.level || 0) > this.level) return false;
332
+ const logObj = {
333
+ date: /* @__PURE__ */ new Date(),
334
+ args: [],
335
+ ...defaults,
336
+ level: _normalizeLogLevel(defaults.level, this.options.types)
337
+ };
338
+ if (!isRaw && args.length === 1 && isLogObj(args[0])) Object.assign(logObj, args[0]);
339
+ else logObj.args = [...args];
340
+ if (logObj.message) {
341
+ logObj.args.unshift(logObj.message);
342
+ delete logObj.message;
372
343
  }
373
- } catch {}
374
- resolveLog(true);
375
- }
376
- _log(logObj) {
377
- for (const reporter of this.options.reporters) reporter.log(logObj, { options: this.options });
378
- }
379
- };
380
- function _normalizeLogLevel(input, types = {}, defaultLevel = 3) {
381
- if (input === void 0) return defaultLevel;
382
- if (typeof input === "number") return input;
383
- if (types[input] && types[input].level !== void 0) return types[input].level;
384
- return defaultLevel;
385
- }
386
- Consola.prototype.add = Consola.prototype.addReporter;
387
- Consola.prototype.remove = Consola.prototype.removeReporter;
388
- Consola.prototype.clear = Consola.prototype.removeReporter;
389
- Consola.prototype.withScope = Consola.prototype.withTag;
390
- Consola.prototype.mock = Consola.prototype.mockTypes;
391
- Consola.prototype.pause = Consola.prototype.pauseLogs;
392
- Consola.prototype.resume = Consola.prototype.resumeLogs;
393
- function createConsola$1(options$1 = {}) {
394
- return new Consola(options$1);
395
- }
344
+ if (logObj.additional) {
345
+ if (!Array.isArray(logObj.additional)) logObj.additional = logObj.additional.split("\n");
346
+ logObj.args.push("\n" + logObj.additional.join("\n"));
347
+ delete logObj.additional;
348
+ }
349
+ logObj.type = typeof logObj.type === "string" ? logObj.type.toLowerCase() : "log";
350
+ logObj.tag = typeof logObj.tag === "string" ? logObj.tag : "";
351
+ const resolveLog = (newLog = false) => {
352
+ const repeated = (this._lastLog.count || 0) - this.options.throttleMin;
353
+ if (this._lastLog.object && repeated > 0) {
354
+ const args2 = [...this._lastLog.object.args];
355
+ if (repeated > 1) args2.push(`(repeated ${repeated} times)`);
356
+ this._log({
357
+ ...this._lastLog.object,
358
+ args: args2
359
+ });
360
+ this._lastLog.count = 1;
361
+ }
362
+ if (newLog) {
363
+ this._lastLog.object = logObj;
364
+ this._log(logObj);
365
+ }
366
+ };
367
+ clearTimeout(this._lastLog.timeout);
368
+ const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;
369
+ this._lastLog.time = logObj.date;
370
+ if (diffTime < this.options.throttle) try {
371
+ const serializedLog = JSON.stringify([
372
+ logObj.type,
373
+ logObj.tag,
374
+ logObj.args
375
+ ]);
376
+ const isSameLog = this._lastLog.serialized === serializedLog;
377
+ this._lastLog.serialized = serializedLog;
378
+ if (isSameLog) {
379
+ this._lastLog.count = (this._lastLog.count || 0) + 1;
380
+ if (this._lastLog.count > this.options.throttleMin) {
381
+ this._lastLog.timeout = setTimeout(resolveLog, this.options.throttle);
382
+ return;
383
+ }
384
+ }
385
+ } catch {}
386
+ resolveLog(true);
387
+ }
388
+ _log(logObj) {
389
+ for (const reporter of this.options.reporters) reporter.log(logObj, { options: this.options });
390
+ }
391
+ };
392
+ Consola.prototype.add = Consola.prototype.addReporter;
393
+ Consola.prototype.remove = Consola.prototype.removeReporter;
394
+ Consola.prototype.clear = Consola.prototype.removeReporter;
395
+ Consola.prototype.withScope = Consola.prototype.withTag;
396
+ Consola.prototype.mock = Consola.prototype.mockTypes;
397
+ Consola.prototype.pause = Consola.prototype.pauseLogs;
398
+ Consola.prototype.resume = Consola.prototype.resumeLogs;
399
+ } });
396
400
 
397
401
  //#endregion
398
402
  //#region ../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs
@@ -405,69 +409,64 @@ function writeStream(data, stream) {
405
409
  const write = stream.__write || stream.write;
406
410
  return write.call(stream, data);
407
411
  }
408
- const bracket = (x) => x ? `[${x}]` : "";
409
- var BasicReporter = class {
410
- formatStack(stack, message, opts) {
411
- const indent = " ".repeat((opts?.errorLevel || 0) + 1);
412
- return indent + parseStack(stack, message).join(`
412
+ var bracket, BasicReporter;
413
+ var init_consola_DRwqZj3T = __esm({ "../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs"() {
414
+ bracket = (x) => x ? `[${x}]` : "";
415
+ BasicReporter = class {
416
+ formatStack(stack, message, opts) {
417
+ const indent = " ".repeat((opts?.errorLevel || 0) + 1);
418
+ return indent + parseStack(stack, message).join(`
413
419
  ${indent}`);
414
- }
415
- formatError(err, opts) {
416
- const message = err.message ?? formatWithOptions(opts, err);
417
- const stack = err.stack ? this.formatStack(err.stack, message, opts) : "";
418
- const level = opts?.errorLevel || 0;
419
- const causedPrefix = level > 0 ? `${" ".repeat(level)}[cause]: ` : "";
420
- const causedError = err.cause ? "\n\n" + this.formatError(err.cause, {
421
- ...opts,
422
- errorLevel: level + 1
423
- }) : "";
424
- return causedPrefix + message + "\n" + stack + causedError;
425
- }
426
- formatArgs(args, opts) {
427
- const _args = args.map((arg) => {
428
- if (arg && typeof arg.stack === "string") return this.formatError(arg, opts);
429
- return arg;
430
- });
431
- return formatWithOptions(opts, ..._args);
432
- }
433
- formatDate(date, opts) {
434
- return opts.date ? date.toLocaleTimeString() : "";
435
- }
436
- filterAndJoin(arr) {
437
- return arr.filter(Boolean).join(" ");
438
- }
439
- formatLogObj(logObj, opts) {
440
- const message = this.formatArgs(logObj.args, opts);
441
- if (logObj.type === "box") return "\n" + [
442
- bracket(logObj.tag),
443
- logObj.title && logObj.title,
444
- ...message.split("\n")
445
- ].filter(Boolean).map((l$1) => " > " + l$1).join("\n") + "\n";
446
- return this.filterAndJoin([
447
- bracket(logObj.type),
448
- bracket(logObj.tag),
449
- message
450
- ]);
451
- }
452
- log(logObj, ctx) {
453
- const line = this.formatLogObj(logObj, {
454
- columns: ctx.options.stdout.columns || 0,
455
- ...ctx.options.formatOptions
456
- });
457
- return writeStream(line + "\n", logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout);
458
- }
459
- };
420
+ }
421
+ formatError(err, opts) {
422
+ const message = err.message ?? formatWithOptions(opts, err);
423
+ const stack = err.stack ? this.formatStack(err.stack, message, opts) : "";
424
+ const level = opts?.errorLevel || 0;
425
+ const causedPrefix = level > 0 ? `${" ".repeat(level)}[cause]: ` : "";
426
+ const causedError = err.cause ? "\n\n" + this.formatError(err.cause, {
427
+ ...opts,
428
+ errorLevel: level + 1
429
+ }) : "";
430
+ return causedPrefix + message + "\n" + stack + causedError;
431
+ }
432
+ formatArgs(args, opts) {
433
+ const _args = args.map((arg) => {
434
+ if (arg && typeof arg.stack === "string") return this.formatError(arg, opts);
435
+ return arg;
436
+ });
437
+ return formatWithOptions(opts, ..._args);
438
+ }
439
+ formatDate(date, opts) {
440
+ return opts.date ? date.toLocaleTimeString() : "";
441
+ }
442
+ filterAndJoin(arr) {
443
+ return arr.filter(Boolean).join(" ");
444
+ }
445
+ formatLogObj(logObj, opts) {
446
+ const message = this.formatArgs(logObj.args, opts);
447
+ if (logObj.type === "box") return "\n" + [
448
+ bracket(logObj.tag),
449
+ logObj.title && logObj.title,
450
+ ...message.split("\n")
451
+ ].filter(Boolean).map((l$1) => " > " + l$1).join("\n") + "\n";
452
+ return this.filterAndJoin([
453
+ bracket(logObj.type),
454
+ bracket(logObj.tag),
455
+ message
456
+ ]);
457
+ }
458
+ log(logObj, ctx) {
459
+ const line = this.formatLogObj(logObj, {
460
+ columns: ctx.options.stdout.columns || 0,
461
+ ...ctx.options.formatOptions
462
+ });
463
+ return writeStream(line + "\n", logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout);
464
+ }
465
+ };
466
+ } });
460
467
 
461
468
  //#endregion
462
469
  //#region ../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs
463
- const { env = {}, argv = [], platform = "" } = typeof process === "undefined" ? {} : process;
464
- const isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
465
- const isForced = "FORCE_COLOR" in env || argv.includes("--color");
466
- const isWindows = platform === "win32";
467
- const isDumbTerminal = env.TERM === "dumb";
468
- const isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;
469
- const isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
470
- const isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);
471
470
  function replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {
472
471
  return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
473
472
  }
@@ -480,135 +479,15 @@ function filterEmpty(open, close, replace = open, at = open.length + 1) {
480
479
  function init(open, close, replace) {
481
480
  return filterEmpty(`\x1B[${open}m`, `\x1B[${close}m`, replace);
482
481
  }
483
- const colorDefs = {
484
- reset: init(0, 0),
485
- bold: init(1, 22, "\x1B[22m\x1B[1m"),
486
- dim: init(2, 22, "\x1B[22m\x1B[2m"),
487
- italic: init(3, 23),
488
- underline: init(4, 24),
489
- inverse: init(7, 27),
490
- hidden: init(8, 28),
491
- strikethrough: init(9, 29),
492
- black: init(30, 39),
493
- red: init(31, 39),
494
- green: init(32, 39),
495
- yellow: init(33, 39),
496
- blue: init(34, 39),
497
- magenta: init(35, 39),
498
- cyan: init(36, 39),
499
- white: init(37, 39),
500
- gray: init(90, 39),
501
- bgBlack: init(40, 49),
502
- bgRed: init(41, 49),
503
- bgGreen: init(42, 49),
504
- bgYellow: init(43, 49),
505
- bgBlue: init(44, 49),
506
- bgMagenta: init(45, 49),
507
- bgCyan: init(46, 49),
508
- bgWhite: init(47, 49),
509
- blackBright: init(90, 39),
510
- redBright: init(91, 39),
511
- greenBright: init(92, 39),
512
- yellowBright: init(93, 39),
513
- blueBright: init(94, 39),
514
- magentaBright: init(95, 39),
515
- cyanBright: init(96, 39),
516
- whiteBright: init(97, 39),
517
- bgBlackBright: init(100, 49),
518
- bgRedBright: init(101, 49),
519
- bgGreenBright: init(102, 49),
520
- bgYellowBright: init(103, 49),
521
- bgBlueBright: init(104, 49),
522
- bgMagentaBright: init(105, 49),
523
- bgCyanBright: init(106, 49),
524
- bgWhiteBright: init(107, 49)
525
- };
526
482
  function createColors(useColor = isColorSupported) {
527
483
  return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String]));
528
484
  }
529
- const colors$1 = createColors();
530
485
  function getColor$1(color, fallback = "reset") {
531
486
  return colors$1[color] || colors$1[fallback];
532
487
  }
533
- const ansiRegex$1 = [String.raw`[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d\/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)`, String.raw`(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))`].join("|");
534
488
  function stripAnsi(text) {
535
489
  return text.replace(new RegExp(ansiRegex$1, "g"), "");
536
490
  }
537
- const boxStylePresets = {
538
- solid: {
539
- tl: "┌",
540
- tr: "┐",
541
- bl: "└",
542
- br: "┘",
543
- h: "─",
544
- v: "│"
545
- },
546
- double: {
547
- tl: "╔",
548
- tr: "╗",
549
- bl: "╚",
550
- br: "╝",
551
- h: "═",
552
- v: "║"
553
- },
554
- doubleSingle: {
555
- tl: "╓",
556
- tr: "╖",
557
- bl: "╙",
558
- br: "╜",
559
- h: "─",
560
- v: "║"
561
- },
562
- doubleSingleRounded: {
563
- tl: "╭",
564
- tr: "╮",
565
- bl: "╰",
566
- br: "╯",
567
- h: "─",
568
- v: "║"
569
- },
570
- singleThick: {
571
- tl: "┏",
572
- tr: "┓",
573
- bl: "┗",
574
- br: "┛",
575
- h: "━",
576
- v: "┃"
577
- },
578
- singleDouble: {
579
- tl: "╒",
580
- tr: "╕",
581
- bl: "╘",
582
- br: "╛",
583
- h: "═",
584
- v: "│"
585
- },
586
- singleDoubleRounded: {
587
- tl: "╭",
588
- tr: "╮",
589
- bl: "╰",
590
- br: "╯",
591
- h: "═",
592
- v: "│"
593
- },
594
- rounded: {
595
- tl: "╭",
596
- tr: "╮",
597
- bl: "╰",
598
- br: "╯",
599
- h: "─",
600
- v: "│"
601
- }
602
- };
603
- const defaultStyle = {
604
- borderColor: "white",
605
- borderStyle: "rounded",
606
- valign: "center",
607
- padding: 2,
608
- marginLeft: 1,
609
- marginTop: 1,
610
- marginBottom: 1
611
- };
612
491
  function box(text, _opts = {}) {
613
492
  const opts = {
614
493
  ..._opts,
@@ -646,121 +525,140 @@ function box(text, _opts = {}) {
646
525
  if (opts.style.marginBottom > 0) boxLines.push("".repeat(opts.style.marginBottom));
647
526
  return boxLines.join("\n");
648
527
  }
528
+ var env, argv, platform, isDisabled, isForced, isWindows, isDumbTerminal, isCompatibleTerminal, isCI, isColorSupported, colorDefs, colors$1, ansiRegex$1, boxStylePresets, defaultStyle;
529
+ var init_consola_DXBYu_KD = __esm({ "../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs"() {
530
+ ({env = {}, argv = [], platform = ""} = typeof process === "undefined" ? {} : process);
531
+ isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
532
+ isForced = "FORCE_COLOR" in env || argv.includes("--color");
533
+ isWindows = platform === "win32";
534
+ isDumbTerminal = env.TERM === "dumb";
535
+ isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;
536
+ isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
537
+ isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);
538
+ colorDefs = {
539
+ reset: init(0, 0),
540
+ bold: init(1, 22, "\x1B[22m\x1B[1m"),
541
+ dim: init(2, 22, "\x1B[22m\x1B[2m"),
542
+ italic: init(3, 23),
543
+ underline: init(4, 24),
544
+ inverse: init(7, 27),
545
+ hidden: init(8, 28),
546
+ strikethrough: init(9, 29),
547
+ black: init(30, 39),
548
+ red: init(31, 39),
549
+ green: init(32, 39),
550
+ yellow: init(33, 39),
551
+ blue: init(34, 39),
552
+ magenta: init(35, 39),
553
+ cyan: init(36, 39),
554
+ white: init(37, 39),
555
+ gray: init(90, 39),
556
+ bgBlack: init(40, 49),
557
+ bgRed: init(41, 49),
558
+ bgGreen: init(42, 49),
559
+ bgYellow: init(43, 49),
560
+ bgBlue: init(44, 49),
561
+ bgMagenta: init(45, 49),
562
+ bgCyan: init(46, 49),
563
+ bgWhite: init(47, 49),
564
+ blackBright: init(90, 39),
565
+ redBright: init(91, 39),
566
+ greenBright: init(92, 39),
567
+ yellowBright: init(93, 39),
568
+ blueBright: init(94, 39),
569
+ magentaBright: init(95, 39),
570
+ cyanBright: init(96, 39),
571
+ whiteBright: init(97, 39),
572
+ bgBlackBright: init(100, 49),
573
+ bgRedBright: init(101, 49),
574
+ bgGreenBright: init(102, 49),
575
+ bgYellowBright: init(103, 49),
576
+ bgBlueBright: init(104, 49),
577
+ bgMagentaBright: init(105, 49),
578
+ bgCyanBright: init(106, 49),
579
+ bgWhiteBright: init(107, 49)
580
+ };
581
+ colors$1 = createColors();
582
+ ansiRegex$1 = [String.raw`[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d\/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)`, String.raw`(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))`].join("|");
583
+ boxStylePresets = {
584
+ solid: {
585
+ tl: "┌",
586
+ tr: "┐",
587
+ bl: "└",
588
+ br: "┘",
589
+ h: "─",
590
+ v: "│"
591
+ },
592
+ double: {
593
+ tl: "╔",
594
+ tr: "╗",
595
+ bl: "╚",
596
+ br: "╝",
597
+ h: "═",
598
+ v: "║"
599
+ },
600
+ doubleSingle: {
601
+ tl: "╓",
602
+ tr: "╖",
603
+ bl: "╙",
604
+ br: "╜",
605
+ h: "─",
606
+ v: "║"
607
+ },
608
+ doubleSingleRounded: {
609
+ tl: "╭",
610
+ tr: "╮",
611
+ bl: "╰",
612
+ br: "╯",
613
+ h: "─",
614
+ v: "║"
615
+ },
616
+ singleThick: {
617
+ tl: "┏",
618
+ tr: "┓",
619
+ bl: "┗",
620
+ br: "┛",
621
+ h: "━",
622
+ v: "┃"
623
+ },
624
+ singleDouble: {
625
+ tl: "╒",
626
+ tr: "╕",
627
+ bl: "╘",
628
+ br: "╛",
629
+ h: "═",
630
+ v: "│"
631
+ },
632
+ singleDoubleRounded: {
633
+ tl: "╭",
634
+ tr: "╮",
635
+ bl: "╰",
636
+ br: "╯",
637
+ h: "═",
638
+ v: "│"
639
+ },
640
+ rounded: {
641
+ tl: "╭",
642
+ tr: "╮",
643
+ bl: "╰",
644
+ br: "╯",
645
+ h: "─",
646
+ v: "│"
647
+ }
648
+ };
649
+ defaultStyle = {
650
+ borderColor: "white",
651
+ borderStyle: "rounded",
652
+ valign: "center",
653
+ padding: 2,
654
+ marginLeft: 1,
655
+ marginTop: 1,
656
+ marginBottom: 1
657
+ };
658
+ } });
649
659
 
650
660
  //#endregion
651
661
  //#region ../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/index.mjs
652
- const r = Object.create(null), i = (e) => globalThis.process?.env || import.meta.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (e ? r : globalThis), o = new Proxy(r, {
653
- get(e, s$1) {
654
- return i()[s$1] ?? r[s$1];
655
- },
656
- has(e, s$1) {
657
- const E = i();
658
- return s$1 in E || s$1 in r;
659
- },
660
- set(e, s$1, E) {
661
- const B = i(true);
662
- return B[s$1] = E, true;
663
- },
664
- deleteProperty(e, s$1) {
665
- if (!s$1) return false;
666
- const E = i(true);
667
- return delete E[s$1], true;
668
- },
669
- ownKeys() {
670
- const e = i(true);
671
- return Object.keys(e);
672
- }
673
- }), t = typeof process < "u" && process.env && process.env.NODE_ENV || "", f = [
674
- ["APPVEYOR"],
675
- [
676
- "AWS_AMPLIFY",
677
- "AWS_APP_ID",
678
- { ci: true }
679
- ],
680
- ["AZURE_PIPELINES", "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],
681
- ["AZURE_STATIC", "INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],
682
- ["APPCIRCLE", "AC_APPCIRCLE"],
683
- ["BAMBOO", "bamboo_planKey"],
684
- ["BITBUCKET", "BITBUCKET_COMMIT"],
685
- ["BITRISE", "BITRISE_IO"],
686
- ["BUDDY", "BUDDY_WORKSPACE_ID"],
687
- ["BUILDKITE"],
688
- ["CIRCLE", "CIRCLECI"],
689
- ["CIRRUS", "CIRRUS_CI"],
690
- [
691
- "CLOUDFLARE_PAGES",
692
- "CF_PAGES",
693
- { ci: true }
694
- ],
695
- ["CODEBUILD", "CODEBUILD_BUILD_ARN"],
696
- ["CODEFRESH", "CF_BUILD_ID"],
697
- ["DRONE"],
698
- ["DRONE", "DRONE_BUILD_EVENT"],
699
- ["DSARI"],
700
- ["GITHUB_ACTIONS"],
701
- ["GITLAB", "GITLAB_CI"],
702
- ["GITLAB", "CI_MERGE_REQUEST_ID"],
703
- ["GOCD", "GO_PIPELINE_LABEL"],
704
- ["LAYERCI"],
705
- ["HUDSON", "HUDSON_URL"],
706
- ["JENKINS", "JENKINS_URL"],
707
- ["MAGNUM"],
708
- ["NETLIFY"],
709
- [
710
- "NETLIFY",
711
- "NETLIFY_LOCAL",
712
- { ci: false }
713
- ],
714
- ["NEVERCODE"],
715
- ["RENDER"],
716
- ["SAIL", "SAILCI"],
717
- ["SEMAPHORE"],
718
- ["SCREWDRIVER"],
719
- ["SHIPPABLE"],
720
- ["SOLANO", "TDDIUM"],
721
- ["STRIDER"],
722
- ["TEAMCITY", "TEAMCITY_VERSION"],
723
- ["TRAVIS"],
724
- ["VERCEL", "NOW_BUILDER"],
725
- [
726
- "VERCEL",
727
- "VERCEL",
728
- { ci: false }
729
- ],
730
- [
731
- "VERCEL",
732
- "VERCEL_ENV",
733
- { ci: false }
734
- ],
735
- ["APPCENTER", "APPCENTER_BUILD_ID"],
736
- [
737
- "CODESANDBOX",
738
- "CODESANDBOX_SSE",
739
- { ci: false }
740
- ],
741
- [
742
- "CODESANDBOX",
743
- "CODESANDBOX_HOST",
744
- { ci: false }
745
- ],
746
- ["STACKBLITZ"],
747
- ["STORMKIT"],
748
- ["CLEAVR"],
749
- ["ZEABUR"],
750
- [
751
- "CODESPHERE",
752
- "CODESPHERE_APP_ID",
753
- { ci: true }
754
- ],
755
- ["RAILWAY", "RAILWAY_PROJECT_ID"],
756
- ["RAILWAY", "RAILWAY_SERVICE_ID"],
757
- ["DENO-DEPLOY", "DENO_DEPLOYMENT_ID"],
758
- [
759
- "FIREBASE_APP_HOSTING",
760
- "FIREBASE_APP_HOSTING",
761
- { ci: true }
762
- ]
763
- ];
764
662
  function b() {
765
663
  if (globalThis.process?.env) for (const e of f) {
766
664
  const s$1 = e[1] || e[0];
@@ -777,44 +675,18 @@ function b() {
777
675
  ci: false
778
676
  };
779
677
  }
780
- const l = b();
781
- l.name;
782
678
  function n(e) {
783
679
  return e ? e !== "false" : false;
784
680
  }
785
- const I = globalThis.process?.platform || "", T = n(o.CI) || l.ci !== false, a = n(globalThis.process?.stdout && globalThis.process?.stdout.isTTY), g = n(o.DEBUG), R = t === "test" || n(o.TEST);
786
- n(o.MINIMAL);
787
- const A = /^win/i.test(I);
788
- !n(o.NO_COLOR) && (n(o.FORCE_COLOR) || (a || A) && o.TERM);
789
- const C = (globalThis.process?.versions?.node || "").replace(/^v/, "") || null;
790
- Number(C?.split(".")[0]);
791
- const y = globalThis.process || Object.create(null), _ = { versions: {} };
792
- new Proxy(y, { get(e, s$1) {
793
- if (s$1 === "env") return o;
794
- if (s$1 in e) return e[s$1];
795
- if (s$1 in _) return _[s$1];
796
- } });
797
- const c = globalThis.process?.release?.name === "node", O = !!globalThis.Bun || !!globalThis.process?.versions?.bun, D = !!globalThis.Deno, L = !!globalThis.fastly, S = !!globalThis.Netlify, u = !!globalThis.EdgeRuntime, N = globalThis.navigator?.userAgent === "Cloudflare-Workers", F = [
798
- [S, "netlify"],
799
- [u, "edge-light"],
800
- [N, "workerd"],
801
- [L, "fastly"],
802
- [D, "deno"],
803
- [O, "bun"],
804
- [c, "node"]
805
- ];
806
681
  function G() {
807
682
  const e = F.find((s$1) => s$1[0]);
808
683
  if (e) return { name: e[1] };
809
684
  }
810
- const P = G();
811
- P?.name;
812
685
  function ansiRegex({ onlyFirst = false } = {}) {
813
686
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
814
687
  const pattern = [`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`, "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
815
688
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
816
689
  }
817
- const regex = ansiRegex();
818
690
  function stripAnsi$1(string) {
819
691
  if (typeof string !== "string") throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
820
692
  return string.replace(regex, "");
@@ -836,11 +708,6 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
836
708
  if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) return 2;
837
709
  return 1;
838
710
  }
839
- const emojiRegex = () => {
840
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
841
- };
842
- const segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split("") };
843
- const defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
844
711
  function stringWidth$1(string, options$1 = {}) {
845
712
  if (typeof string !== "string" || string.length === 0) return 0;
846
713
  const { ambiguousIsNarrow = true, countAnsiEscapeCodes = false } = options$1;
@@ -870,74 +737,11 @@ function isUnicodeSupported() {
870
737
  if (process$1.platform !== "win32") return TERM !== "linux";
871
738
  return Boolean(env$1.WT_SESSION) || Boolean(env$1.TERMINUS_SUBLIME) || env$1.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$1.TERMINAL_EMULATOR === "JetBrains-JediTerm";
872
739
  }
873
- const TYPE_COLOR_MAP = {
874
- info: "cyan",
875
- fail: "red",
876
- success: "green",
877
- ready: "green",
878
- start: "magenta"
879
- };
880
- const LEVEL_COLOR_MAP = {
881
- 0: "red",
882
- 1: "yellow"
883
- };
884
- const unicode = isUnicodeSupported();
885
- const s = (c$1, fallback) => unicode ? c$1 : fallback;
886
- const TYPE_ICONS = {
887
- error: s("✖", "×"),
888
- fatal: s("✖", "×"),
889
- ready: s("✔", "√"),
890
- warn: s("⚠", "‼"),
891
- info: s("ℹ", "i"),
892
- success: s("✔", "√"),
893
- debug: s("⚙", "D"),
894
- trace: s("→", "→"),
895
- fail: s("✖", "×"),
896
- start: s("◐", "o"),
897
- log: ""
898
- };
899
740
  function stringWidth(str) {
900
741
  const hasICU = typeof Intl === "object";
901
742
  if (!hasICU || !Intl.Segmenter) return stripAnsi(str).length;
902
743
  return stringWidth$1(str);
903
744
  }
904
- var FancyReporter = class extends BasicReporter {
905
- formatStack(stack, message, opts) {
906
- const indent = " ".repeat((opts?.errorLevel || 0) + 1);
907
- return `
908
- ${indent}` + parseStack(stack, message).map((line) => " " + line.replace(/^at +/, (m) => colors$1.gray(m)).replace(/\((.+)\)/, (_$1, m) => `(${colors$1.cyan(m)})`)).join(`
909
- ${indent}`);
910
- }
911
- formatType(logObj, isBadge, opts) {
912
- const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || "gray";
913
- if (isBadge) return getBgColor(typeColor)(colors$1.black(` ${logObj.type.toUpperCase()} `));
914
- const _type = typeof TYPE_ICONS[logObj.type] === "string" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;
915
- return _type ? getColor(typeColor)(_type) : "";
916
- }
917
- formatLogObj(logObj, opts) {
918
- const [message, ...additional] = this.formatArgs(logObj.args, opts).split("\n");
919
- if (logObj.type === "box") return box(characterFormat(message + (additional.length > 0 ? "\n" + additional.join("\n") : "")), {
920
- title: logObj.title ? characterFormat(logObj.title) : void 0,
921
- style: logObj.style
922
- });
923
- const date = this.formatDate(logObj.date, opts);
924
- const coloredDate = date && colors$1.gray(date);
925
- const isBadge = logObj.badge ?? logObj.level < 2;
926
- const type = this.formatType(logObj, isBadge, opts);
927
- const tag = logObj.tag ? colors$1.gray(logObj.tag) : "";
928
- let line;
929
- const left = this.filterAndJoin([type, characterFormat(message)]);
930
- const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);
931
- const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;
932
- line = space > 0 && (opts.columns || 0) >= 80 ? left + " ".repeat(space) + right : (right ? `${colors$1.gray(`[${right}]`)} ` : "") + left;
933
- line += characterFormat(additional.length > 0 ? "\n" + additional.join("\n") : "");
934
- if (logObj.type === "trace") {
935
- const _err = new Error("Trace: " + logObj.message);
936
- line += this.formatStack(_err.stack || "", _err.message);
937
- }
938
- return isBadge ? "\n" + line + "\n" : line;
939
- }
940
- };
941
745
  function characterFormat(str) {
942
746
  return str.replace(/`([^`]+)`/gm, (_$1, m) => colors$1.cyan(m)).replace(/\s+_([^_]+)_\s+/gm, (_$1, m) => ` ${colors$1.underline(m)} `);
943
747
  }
@@ -955,7 +759,7 @@ function createConsola(options$1 = {}) {
955
759
  defaults: { level },
956
760
  stdout: process.stdout,
957
761
  stderr: process.stderr,
958
- prompt: (...args) => import("./shared/prompt-C3zHEaSG.mjs").then((m) => m.prompt(...args)),
762
+ prompt: (...args) => import("./shared/prompt-Dc0i9ubg.mjs").then((m) => m.prompt(...args)),
959
763
  reporters: options$1.reporters || [options$1.fancy ?? !(T || R) ? new FancyReporter() : new BasicReporter()],
960
764
  ...options$1
961
765
  });
@@ -966,14 +770,222 @@ function _getDefaultLogLevel() {
966
770
  if (R) return LogLevels.warn;
967
771
  return LogLevels.info;
968
772
  }
969
- const consola = createConsola();
773
+ var r, i, o, t, f, l, I, T, a, g, R, A, C, y, _, c, O, D, L, S, u, N, F, P, regex, emojiRegex, segmenter, defaultIgnorableCodePointRegex, TYPE_COLOR_MAP, LEVEL_COLOR_MAP, unicode, s, TYPE_ICONS, FancyReporter, consola;
774
+ var init_dist = __esm({ "../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/index.mjs"() {
775
+ init_core();
776
+ init_consola_DRwqZj3T();
777
+ init_consola_DXBYu_KD();
778
+ r = Object.create(null), i = (e) => globalThis.process?.env || import.meta.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (e ? r : globalThis), o = new Proxy(r, {
779
+ get(e, s$1) {
780
+ return i()[s$1] ?? r[s$1];
781
+ },
782
+ has(e, s$1) {
783
+ const E = i();
784
+ return s$1 in E || s$1 in r;
785
+ },
786
+ set(e, s$1, E) {
787
+ const B = i(true);
788
+ return B[s$1] = E, true;
789
+ },
790
+ deleteProperty(e, s$1) {
791
+ if (!s$1) return false;
792
+ const E = i(true);
793
+ return delete E[s$1], true;
794
+ },
795
+ ownKeys() {
796
+ const e = i(true);
797
+ return Object.keys(e);
798
+ }
799
+ }), t = typeof process < "u" && process.env && process.env.NODE_ENV || "", f = [
800
+ ["APPVEYOR"],
801
+ [
802
+ "AWS_AMPLIFY",
803
+ "AWS_APP_ID",
804
+ { ci: true }
805
+ ],
806
+ ["AZURE_PIPELINES", "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],
807
+ ["AZURE_STATIC", "INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],
808
+ ["APPCIRCLE", "AC_APPCIRCLE"],
809
+ ["BAMBOO", "bamboo_planKey"],
810
+ ["BITBUCKET", "BITBUCKET_COMMIT"],
811
+ ["BITRISE", "BITRISE_IO"],
812
+ ["BUDDY", "BUDDY_WORKSPACE_ID"],
813
+ ["BUILDKITE"],
814
+ ["CIRCLE", "CIRCLECI"],
815
+ ["CIRRUS", "CIRRUS_CI"],
816
+ [
817
+ "CLOUDFLARE_PAGES",
818
+ "CF_PAGES",
819
+ { ci: true }
820
+ ],
821
+ ["CODEBUILD", "CODEBUILD_BUILD_ARN"],
822
+ ["CODEFRESH", "CF_BUILD_ID"],
823
+ ["DRONE"],
824
+ ["DRONE", "DRONE_BUILD_EVENT"],
825
+ ["DSARI"],
826
+ ["GITHUB_ACTIONS"],
827
+ ["GITLAB", "GITLAB_CI"],
828
+ ["GITLAB", "CI_MERGE_REQUEST_ID"],
829
+ ["GOCD", "GO_PIPELINE_LABEL"],
830
+ ["LAYERCI"],
831
+ ["HUDSON", "HUDSON_URL"],
832
+ ["JENKINS", "JENKINS_URL"],
833
+ ["MAGNUM"],
834
+ ["NETLIFY"],
835
+ [
836
+ "NETLIFY",
837
+ "NETLIFY_LOCAL",
838
+ { ci: false }
839
+ ],
840
+ ["NEVERCODE"],
841
+ ["RENDER"],
842
+ ["SAIL", "SAILCI"],
843
+ ["SEMAPHORE"],
844
+ ["SCREWDRIVER"],
845
+ ["SHIPPABLE"],
846
+ ["SOLANO", "TDDIUM"],
847
+ ["STRIDER"],
848
+ ["TEAMCITY", "TEAMCITY_VERSION"],
849
+ ["TRAVIS"],
850
+ ["VERCEL", "NOW_BUILDER"],
851
+ [
852
+ "VERCEL",
853
+ "VERCEL",
854
+ { ci: false }
855
+ ],
856
+ [
857
+ "VERCEL",
858
+ "VERCEL_ENV",
859
+ { ci: false }
860
+ ],
861
+ ["APPCENTER", "APPCENTER_BUILD_ID"],
862
+ [
863
+ "CODESANDBOX",
864
+ "CODESANDBOX_SSE",
865
+ { ci: false }
866
+ ],
867
+ [
868
+ "CODESANDBOX",
869
+ "CODESANDBOX_HOST",
870
+ { ci: false }
871
+ ],
872
+ ["STACKBLITZ"],
873
+ ["STORMKIT"],
874
+ ["CLEAVR"],
875
+ ["ZEABUR"],
876
+ [
877
+ "CODESPHERE",
878
+ "CODESPHERE_APP_ID",
879
+ { ci: true }
880
+ ],
881
+ ["RAILWAY", "RAILWAY_PROJECT_ID"],
882
+ ["RAILWAY", "RAILWAY_SERVICE_ID"],
883
+ ["DENO-DEPLOY", "DENO_DEPLOYMENT_ID"],
884
+ [
885
+ "FIREBASE_APP_HOSTING",
886
+ "FIREBASE_APP_HOSTING",
887
+ { ci: true }
888
+ ]
889
+ ];
890
+ l = b();
891
+ l.name;
892
+ I = globalThis.process?.platform || "", T = n(o.CI) || l.ci !== false, a = n(globalThis.process?.stdout && globalThis.process?.stdout.isTTY), g = n(o.DEBUG), R = t === "test" || n(o.TEST);
893
+ n(o.MINIMAL);
894
+ A = /^win/i.test(I);
895
+ !n(o.NO_COLOR) && (n(o.FORCE_COLOR) || (a || A) && o.TERM);
896
+ C = (globalThis.process?.versions?.node || "").replace(/^v/, "") || null;
897
+ Number(C?.split(".")[0]);
898
+ y = globalThis.process || Object.create(null), _ = { versions: {} };
899
+ new Proxy(y, { get(e, s$1) {
900
+ if (s$1 === "env") return o;
901
+ if (s$1 in e) return e[s$1];
902
+ if (s$1 in _) return _[s$1];
903
+ } });
904
+ c = globalThis.process?.release?.name === "node", O = !!globalThis.Bun || !!globalThis.process?.versions?.bun, D = !!globalThis.Deno, L = !!globalThis.fastly, S = !!globalThis.Netlify, u = !!globalThis.EdgeRuntime, N = globalThis.navigator?.userAgent === "Cloudflare-Workers", F = [
905
+ [S, "netlify"],
906
+ [u, "edge-light"],
907
+ [N, "workerd"],
908
+ [L, "fastly"],
909
+ [D, "deno"],
910
+ [O, "bun"],
911
+ [c, "node"]
912
+ ];
913
+ P = G();
914
+ P?.name;
915
+ regex = ansiRegex();
916
+ emojiRegex = () => {
917
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
918
+ };
919
+ segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split("") };
920
+ defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
921
+ TYPE_COLOR_MAP = {
922
+ info: "cyan",
923
+ fail: "red",
924
+ success: "green",
925
+ ready: "green",
926
+ start: "magenta"
927
+ };
928
+ LEVEL_COLOR_MAP = {
929
+ 0: "red",
930
+ 1: "yellow"
931
+ };
932
+ unicode = isUnicodeSupported();
933
+ s = (c$1, fallback) => unicode ? c$1 : fallback;
934
+ TYPE_ICONS = {
935
+ error: s("✖", "×"),
936
+ fatal: s("✖", "×"),
937
+ ready: s("✔", "√"),
938
+ warn: s("⚠", "‼"),
939
+ info: s("ℹ", "i"),
940
+ success: s("✔", "√"),
941
+ debug: s("⚙", "D"),
942
+ trace: s("→", "→"),
943
+ fail: s("✖", "×"),
944
+ start: s("◐", "o"),
945
+ log: ""
946
+ };
947
+ FancyReporter = class extends BasicReporter {
948
+ formatStack(stack, message, opts) {
949
+ const indent = " ".repeat((opts?.errorLevel || 0) + 1);
950
+ return `
951
+ ${indent}` + parseStack(stack, message).map((line) => " " + line.replace(/^at +/, (m) => colors$1.gray(m)).replace(/\((.+)\)/, (_$1, m) => `(${colors$1.cyan(m)})`)).join(`
952
+ ${indent}`);
953
+ }
954
+ formatType(logObj, isBadge, opts) {
955
+ const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || "gray";
956
+ if (isBadge) return getBgColor(typeColor)(colors$1.black(` ${logObj.type.toUpperCase()} `));
957
+ const _type = typeof TYPE_ICONS[logObj.type] === "string" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;
958
+ return _type ? getColor(typeColor)(_type) : "";
959
+ }
960
+ formatLogObj(logObj, opts) {
961
+ const [message, ...additional] = this.formatArgs(logObj.args, opts).split("\n");
962
+ if (logObj.type === "box") return box(characterFormat(message + (additional.length > 0 ? "\n" + additional.join("\n") : "")), {
963
+ title: logObj.title ? characterFormat(logObj.title) : void 0,
964
+ style: logObj.style
965
+ });
966
+ const date = this.formatDate(logObj.date, opts);
967
+ const coloredDate = date && colors$1.gray(date);
968
+ const isBadge = logObj.badge ?? logObj.level < 2;
969
+ const type = this.formatType(logObj, isBadge, opts);
970
+ const tag = logObj.tag ? colors$1.gray(logObj.tag) : "";
971
+ let line;
972
+ const left = this.filterAndJoin([type, characterFormat(message)]);
973
+ const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);
974
+ const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;
975
+ line = space > 0 && (opts.columns || 0) >= 80 ? left + " ".repeat(space) + right : (right ? `${colors$1.gray(`[${right}]`)} ` : "") + left;
976
+ line += characterFormat(additional.length > 0 ? "\n" + additional.join("\n") : "");
977
+ if (logObj.type === "trace") {
978
+ const _err = new Error("Trace: " + logObj.message);
979
+ line += this.formatStack(_err.stack || "", _err.message);
980
+ }
981
+ return isBadge ? "\n" + line + "\n" : line;
982
+ }
983
+ };
984
+ consola = createConsola();
985
+ } });
970
986
 
971
987
  //#endregion
972
988
  //#region src/cli/logger.ts
973
- /**
974
- * Console logger
975
- */
976
- const logger = process.env.ROLLDOWN_TEST ? createTestingLogger() : createConsola({ formatOptions: { date: false } });
977
989
  function createTestingLogger() {
978
990
  const types = [
979
991
  "silent",
@@ -995,52 +1007,53 @@ function createTestingLogger() {
995
1007
  for (const type of types) ret[type] = console.log;
996
1008
  return ret;
997
1009
  }
1010
+ var logger;
1011
+ var init_logger = __esm({ "src/cli/logger.ts"() {
1012
+ init_dist();
1013
+ logger = process.env.ROLLDOWN_TEST ? createTestingLogger() : createConsola({ formatOptions: { date: false } });
1014
+ } });
998
1015
 
999
1016
  //#endregion
1000
1017
  //#region src/cli/arguments/alias.ts
1001
- const alias = {
1002
- config: {
1003
- abbreviation: "c",
1004
- hint: "filename"
1005
- },
1006
- help: { abbreviation: "h" },
1007
- version: { abbreviation: "v" },
1008
- watch: { abbreviation: "w" },
1009
- dir: { abbreviation: "d" },
1010
- file: { abbreviation: "o" },
1011
- external: { abbreviation: "e" },
1012
- format: { abbreviation: "f" },
1013
- name: { abbreviation: "n" },
1014
- globals: { abbreviation: "g" },
1015
- sourcemap: {
1016
- abbreviation: "s",
1017
- default: true
1018
- },
1019
- minify: { abbreviation: "m" },
1020
- platform: { abbreviation: "p" },
1021
- assetFileNames: { hint: "name" },
1022
- chunkFileNames: { hint: "name" },
1023
- entryFileNames: { hint: "name" },
1024
- externalLiveBindings: {
1025
- default: true,
1026
- reverse: true
1027
- },
1028
- treeshake: {
1029
- default: true,
1030
- reverse: true
1031
- },
1032
- moduleTypes: { hint: "types" }
1033
- };
1018
+ var alias;
1019
+ var init_alias = __esm({ "src/cli/arguments/alias.ts"() {
1020
+ alias = {
1021
+ config: {
1022
+ abbreviation: "c",
1023
+ hint: "filename"
1024
+ },
1025
+ help: { abbreviation: "h" },
1026
+ version: { abbreviation: "v" },
1027
+ watch: { abbreviation: "w" },
1028
+ dir: { abbreviation: "d" },
1029
+ file: { abbreviation: "o" },
1030
+ external: { abbreviation: "e" },
1031
+ format: { abbreviation: "f" },
1032
+ name: { abbreviation: "n" },
1033
+ globals: { abbreviation: "g" },
1034
+ sourcemap: {
1035
+ abbreviation: "s",
1036
+ default: true
1037
+ },
1038
+ minify: { abbreviation: "m" },
1039
+ platform: { abbreviation: "p" },
1040
+ assetFileNames: { hint: "name" },
1041
+ chunkFileNames: { hint: "name" },
1042
+ entryFileNames: { hint: "name" },
1043
+ externalLiveBindings: {
1044
+ default: true,
1045
+ reverse: true
1046
+ },
1047
+ treeshake: {
1048
+ default: true,
1049
+ reverse: true
1050
+ },
1051
+ moduleTypes: { hint: "types" }
1052
+ };
1053
+ } });
1034
1054
 
1035
1055
  //#endregion
1036
1056
  //#region src/cli/arguments/utils.ts
1037
- const priority = [
1038
- "object",
1039
- "array",
1040
- "string",
1041
- "number",
1042
- "boolean"
1043
- ];
1044
1057
  function getSchemaType(schema) {
1045
1058
  if ("anyOf" in schema) {
1046
1059
  const types = schema.anyOf.map(getSchemaType);
@@ -1082,6 +1095,16 @@ function camelCaseToKebabCase(str) {
1082
1095
  function kebabCaseToCamelCase(str) {
1083
1096
  return str.replace(/-./g, (match) => match[1].toUpperCase());
1084
1097
  }
1098
+ var priority;
1099
+ var init_utils = __esm({ "src/cli/arguments/utils.ts"() {
1100
+ priority = [
1101
+ "object",
1102
+ "array",
1103
+ "string",
1104
+ "number",
1105
+ "boolean"
1106
+ ];
1107
+ } });
1085
1108
 
1086
1109
  //#endregion
1087
1110
  //#region src/cli/arguments/normalize.ts
@@ -1124,25 +1147,14 @@ function normalizeCliOptions(cliOptions, positionals) {
1124
1147
  else result.input.input = positionals;
1125
1148
  return result;
1126
1149
  }
1150
+ var init_normalize = __esm({ "src/cli/arguments/normalize.ts"() {
1151
+ init_validator();
1152
+ init_logger();
1153
+ init_utils();
1154
+ } });
1127
1155
 
1128
1156
  //#endregion
1129
1157
  //#region src/cli/arguments/index.ts
1130
- const objectSchema = getJsonSchema();
1131
- const flattenedSchema = flattenSchema(objectSchema.properties);
1132
- const options = Object.fromEntries(Object.entries(flattenedSchema).filter(([_key, schema]) => getSchemaType(schema) !== "never").map(([key, schema]) => {
1133
- const config = Object.getOwnPropertyDescriptor(alias, key)?.value;
1134
- const type = getSchemaType(schema);
1135
- const result = {
1136
- type: type === "boolean" ? "boolean" : "string",
1137
- description: schema?.description ?? config?.description ?? "",
1138
- hint: config?.hint
1139
- };
1140
- if (config && config?.abbreviation) result.short = config?.abbreviation;
1141
- if (config && config.reverse) if (result.description.startsWith("enable")) result.description = result.description.replace("enable", "disable");
1142
- else result.description = `disable ${result.description}`;
1143
- key = camelCaseToKebabCase(key);
1144
- return [config?.reverse ? `no-${key}` : key, result];
1145
- }));
1146
1158
  function parseCliArguments() {
1147
1159
  const { values, tokens, positionals } = parseArgs({
1148
1160
  options,
@@ -1214,211 +1226,216 @@ function parseCliArguments() {
1214
1226
  });
1215
1227
  return normalizeCliOptions(values, positionals);
1216
1228
  }
1229
+ var objectSchema, flattenedSchema, options;
1230
+ var init_arguments = __esm({ "src/cli/arguments/index.ts"() {
1231
+ init_validator();
1232
+ init_logger();
1233
+ init_alias();
1234
+ init_normalize();
1235
+ init_utils();
1236
+ objectSchema = getJsonSchema();
1237
+ flattenedSchema = flattenSchema(objectSchema.properties);
1238
+ options = Object.fromEntries(Object.entries(flattenedSchema).filter(([_key, schema]) => getSchemaType(schema) !== "never").map(([key, schema]) => {
1239
+ const config = Object.getOwnPropertyDescriptor(alias, key)?.value;
1240
+ const type = getSchemaType(schema);
1241
+ const result = {
1242
+ type: type === "boolean" ? "boolean" : "string",
1243
+ description: schema?.description ?? config?.description ?? "",
1244
+ hint: config?.hint
1245
+ };
1246
+ if (config && config?.abbreviation) result.short = config?.abbreviation;
1247
+ if (config && config.reverse) if (result.description.startsWith("enable")) result.description = result.description.replace("enable", "disable");
1248
+ else result.description = `disable ${result.description}`;
1249
+ key = camelCaseToKebabCase(key);
1250
+ return [config?.reverse ? `no-${key}` : key, result];
1251
+ }));
1252
+ } });
1217
1253
 
1218
1254
  //#endregion
1219
1255
  //#region ../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js
1220
- /**
1221
- * This is not the set of all possible signals.
1222
- *
1223
- * It IS, however, the set of all signals that trigger
1224
- * an exit on either Linux or BSD systems. Linux is a
1225
- * superset of the signal names supported on BSD, and
1226
- * the unknown signals just fail to register, so we can
1227
- * catch that easily enough.
1228
- *
1229
- * Windows signals are a different set, since there are
1230
- * signals that terminate Windows processes, but don't
1231
- * terminate (or don't even exist) on Posix systems.
1232
- *
1233
- * Don't bother with SIGKILL. It's uncatchable, which
1234
- * means that we can't fire any callbacks anyway.
1235
- *
1236
- * If a user does happen to register a handler on a non-
1237
- * fatal signal like SIGWINCH or something, and then
1238
- * exit, it'll end up firing `process.emit('exit')`, so
1239
- * the handler will be fired anyway.
1240
- *
1241
- * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised
1242
- * artificially, inherently leave the process in a
1243
- * state from which it is not safe to try and enter JS
1244
- * listeners.
1245
- */
1246
- const signals = [];
1247
- signals.push("SIGHUP", "SIGINT", "SIGTERM");
1248
- if (process.platform !== "win32") signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
1249
- if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
1256
+ var signals;
1257
+ var init_signals = __esm({ "../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js"() {
1258
+ signals = [];
1259
+ signals.push("SIGHUP", "SIGINT", "SIGTERM");
1260
+ if (process.platform !== "win32") signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
1261
+ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
1262
+ } });
1250
1263
 
1251
1264
  //#endregion
1252
1265
  //#region ../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
1253
- const processOk = (process$3) => !!process$3 && typeof process$3 === "object" && typeof process$3.removeListener === "function" && typeof process$3.emit === "function" && typeof process$3.reallyExit === "function" && typeof process$3.listeners === "function" && typeof process$3.kill === "function" && typeof process$3.pid === "number" && typeof process$3.on === "function";
1254
- const kExitEmitter = Symbol.for("signal-exit emitter");
1255
- const global = globalThis;
1256
- const ObjectDefineProperty = Object.defineProperty.bind(Object);
1257
- var Emitter = class {
1258
- emitted = {
1259
- afterExit: false,
1260
- exit: false
1261
- };
1262
- listeners = {
1263
- afterExit: [],
1264
- exit: []
1265
- };
1266
- count = 0;
1267
- id = Math.random();
1268
- constructor() {
1269
- if (global[kExitEmitter]) return global[kExitEmitter];
1270
- ObjectDefineProperty(global, kExitEmitter, {
1271
- value: this,
1272
- writable: false,
1273
- enumerable: false,
1274
- configurable: false
1275
- });
1276
- }
1277
- on(ev, fn) {
1278
- this.listeners[ev].push(fn);
1279
- }
1280
- removeListener(ev, fn) {
1281
- const list = this.listeners[ev];
1282
- const i$1 = list.indexOf(fn);
1283
- /* c8 ignore start */
1284
- if (i$1 === -1) return;
1285
- /* c8 ignore stop */
1286
- if (i$1 === 0 && list.length === 1) list.length = 0;
1287
- else list.splice(i$1, 1);
1288
- }
1289
- emit(ev, code, signal) {
1290
- if (this.emitted[ev]) return false;
1291
- this.emitted[ev] = true;
1292
- let ret = false;
1293
- for (const fn of this.listeners[ev]) ret = fn(code, signal) === true || ret;
1294
- if (ev === "exit") ret = this.emit("afterExit", code, signal) || ret;
1295
- return ret;
1296
- }
1297
- };
1298
- var SignalExitBase = class {};
1299
- const signalExitWrap = (handler) => {
1300
- return {
1301
- onExit(cb, opts) {
1302
- return handler.onExit(cb, opts);
1303
- },
1304
- load() {
1305
- return handler.load();
1306
- },
1307
- unload() {
1308
- return handler.unload();
1266
+ var processOk, kExitEmitter, global, ObjectDefineProperty, Emitter, SignalExitBase, signalExitWrap, SignalExitFallback, SignalExit, process$2, onExit, load, unload;
1267
+ var init_mjs = __esm({ "../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js"() {
1268
+ init_signals();
1269
+ processOk = (process$3) => !!process$3 && typeof process$3 === "object" && typeof process$3.removeListener === "function" && typeof process$3.emit === "function" && typeof process$3.reallyExit === "function" && typeof process$3.listeners === "function" && typeof process$3.kill === "function" && typeof process$3.pid === "number" && typeof process$3.on === "function";
1270
+ kExitEmitter = Symbol.for("signal-exit emitter");
1271
+ global = globalThis;
1272
+ ObjectDefineProperty = Object.defineProperty.bind(Object);
1273
+ Emitter = class {
1274
+ emitted = {
1275
+ afterExit: false,
1276
+ exit: false
1277
+ };
1278
+ listeners = {
1279
+ afterExit: [],
1280
+ exit: []
1281
+ };
1282
+ count = 0;
1283
+ id = Math.random();
1284
+ constructor() {
1285
+ if (global[kExitEmitter]) return global[kExitEmitter];
1286
+ ObjectDefineProperty(global, kExitEmitter, {
1287
+ value: this,
1288
+ writable: false,
1289
+ enumerable: false,
1290
+ configurable: false
1291
+ });
1309
1292
  }
1310
- };
1311
- };
1312
- var SignalExitFallback = class extends SignalExitBase {
1313
- onExit() {
1314
- return () => {};
1315
- }
1316
- load() {}
1317
- unload() {}
1318
- };
1319
- var SignalExit = class extends SignalExitBase {
1320
- /* c8 ignore start */
1321
- #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
1322
- /* c8 ignore stop */
1323
- #emitter = new Emitter();
1324
- #process;
1325
- #originalProcessEmit;
1326
- #originalProcessReallyExit;
1327
- #sigListeners = {};
1328
- #loaded = false;
1329
- constructor(process$3) {
1330
- super();
1331
- this.#process = process$3;
1332
- this.#sigListeners = {};
1333
- for (const sig of signals) this.#sigListeners[sig] = () => {
1334
- const listeners = this.#process.listeners(sig);
1335
- let { count } = this.#emitter;
1293
+ on(ev, fn) {
1294
+ this.listeners[ev].push(fn);
1295
+ }
1296
+ removeListener(ev, fn) {
1297
+ const list = this.listeners[ev];
1298
+ const i$1 = list.indexOf(fn);
1336
1299
  /* c8 ignore start */
1337
- const p = process$3;
1338
- if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") count += p.__signal_exit_emitter__.count;
1300
+ if (i$1 === -1) return;
1339
1301
  /* c8 ignore stop */
1340
- if (listeners.length === count) {
1341
- this.unload();
1342
- const ret = this.#emitter.emit("exit", null, sig);
1343
- /* c8 ignore start */
1344
- const s$1 = sig === "SIGHUP" ? this.#hupSig : sig;
1345
- if (!ret) process$3.kill(process$3.pid, s$1);
1302
+ if (i$1 === 0 && list.length === 1) list.length = 0;
1303
+ else list.splice(i$1, 1);
1304
+ }
1305
+ emit(ev, code, signal) {
1306
+ if (this.emitted[ev]) return false;
1307
+ this.emitted[ev] = true;
1308
+ let ret = false;
1309
+ for (const fn of this.listeners[ev]) ret = fn(code, signal) === true || ret;
1310
+ if (ev === "exit") ret = this.emit("afterExit", code, signal) || ret;
1311
+ return ret;
1312
+ }
1313
+ };
1314
+ SignalExitBase = class {};
1315
+ signalExitWrap = (handler) => {
1316
+ return {
1317
+ onExit(cb, opts) {
1318
+ return handler.onExit(cb, opts);
1319
+ },
1320
+ load() {
1321
+ return handler.load();
1322
+ },
1323
+ unload() {
1324
+ return handler.unload();
1346
1325
  }
1347
1326
  };
1348
- this.#originalProcessReallyExit = process$3.reallyExit;
1349
- this.#originalProcessEmit = process$3.emit;
1350
- }
1351
- onExit(cb, opts) {
1327
+ };
1328
+ SignalExitFallback = class extends SignalExitBase {
1329
+ onExit() {
1330
+ return () => {};
1331
+ }
1332
+ load() {}
1333
+ unload() {}
1334
+ };
1335
+ SignalExit = class extends SignalExitBase {
1352
1336
  /* c8 ignore start */
1353
- if (!processOk(this.#process)) return () => {};
1337
+ #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
1354
1338
  /* c8 ignore stop */
1355
- if (this.#loaded === false) this.load();
1356
- const ev = opts?.alwaysLast ? "afterExit" : "exit";
1357
- this.#emitter.on(ev, cb);
1358
- return () => {
1359
- this.#emitter.removeListener(ev, cb);
1360
- if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) this.unload();
1361
- };
1362
- }
1363
- load() {
1364
- if (this.#loaded) return;
1365
- this.#loaded = true;
1366
- this.#emitter.count += 1;
1367
- for (const sig of signals) try {
1368
- const fn = this.#sigListeners[sig];
1369
- if (fn) this.#process.on(sig, fn);
1370
- } catch (_$1) {}
1371
- this.#process.emit = (ev, ...a$1) => {
1372
- return this.#processEmit(ev, ...a$1);
1373
- };
1374
- this.#process.reallyExit = (code) => {
1375
- return this.#processReallyExit(code);
1376
- };
1377
- }
1378
- unload() {
1379
- if (!this.#loaded) return;
1380
- this.#loaded = false;
1381
- signals.forEach((sig) => {
1382
- const listener = this.#sigListeners[sig];
1339
+ #emitter = new Emitter();
1340
+ #process;
1341
+ #originalProcessEmit;
1342
+ #originalProcessReallyExit;
1343
+ #sigListeners = {};
1344
+ #loaded = false;
1345
+ constructor(process$3) {
1346
+ super();
1347
+ this.#process = process$3;
1348
+ this.#sigListeners = {};
1349
+ for (const sig of signals) this.#sigListeners[sig] = () => {
1350
+ const listeners = this.#process.listeners(sig);
1351
+ let { count } = this.#emitter;
1352
+ /* c8 ignore start */
1353
+ const p = process$3;
1354
+ if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") count += p.__signal_exit_emitter__.count;
1355
+ /* c8 ignore stop */
1356
+ if (listeners.length === count) {
1357
+ this.unload();
1358
+ const ret = this.#emitter.emit("exit", null, sig);
1359
+ /* c8 ignore start */
1360
+ const s$1 = sig === "SIGHUP" ? this.#hupSig : sig;
1361
+ if (!ret) process$3.kill(process$3.pid, s$1);
1362
+ }
1363
+ };
1364
+ this.#originalProcessReallyExit = process$3.reallyExit;
1365
+ this.#originalProcessEmit = process$3.emit;
1366
+ }
1367
+ onExit(cb, opts) {
1383
1368
  /* c8 ignore start */
1384
- if (!listener) throw new Error("Listener not defined for signal: " + sig);
1369
+ if (!processOk(this.#process)) return () => {};
1385
1370
  /* c8 ignore stop */
1386
- try {
1387
- this.#process.removeListener(sig, listener);
1371
+ if (this.#loaded === false) this.load();
1372
+ const ev = opts?.alwaysLast ? "afterExit" : "exit";
1373
+ this.#emitter.on(ev, cb);
1374
+ return () => {
1375
+ this.#emitter.removeListener(ev, cb);
1376
+ if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) this.unload();
1377
+ };
1378
+ }
1379
+ load() {
1380
+ if (this.#loaded) return;
1381
+ this.#loaded = true;
1382
+ this.#emitter.count += 1;
1383
+ for (const sig of signals) try {
1384
+ const fn = this.#sigListeners[sig];
1385
+ if (fn) this.#process.on(sig, fn);
1388
1386
  } catch (_$1) {}
1389
- /* c8 ignore stop */
1390
- });
1391
- this.#process.emit = this.#originalProcessEmit;
1392
- this.#process.reallyExit = this.#originalProcessReallyExit;
1393
- this.#emitter.count -= 1;
1394
- }
1395
- #processReallyExit(code) {
1396
- /* c8 ignore start */
1397
- if (!processOk(this.#process)) return 0;
1398
- this.#process.exitCode = code || 0;
1399
- /* c8 ignore stop */
1400
- this.#emitter.emit("exit", this.#process.exitCode, null);
1401
- return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
1402
- }
1403
- #processEmit(ev, ...args) {
1404
- const og = this.#originalProcessEmit;
1405
- if (ev === "exit" && processOk(this.#process)) {
1406
- if (typeof args[0] === "number") this.#process.exitCode = args[0];
1407
- /* c8 ignore start */
1408
- const ret = og.call(this.#process, ev, ...args);
1387
+ this.#process.emit = (ev, ...a$1) => {
1388
+ return this.#processEmit(ev, ...a$1);
1389
+ };
1390
+ this.#process.reallyExit = (code) => {
1391
+ return this.#processReallyExit(code);
1392
+ };
1393
+ }
1394
+ unload() {
1395
+ if (!this.#loaded) return;
1396
+ this.#loaded = false;
1397
+ signals.forEach((sig) => {
1398
+ const listener = this.#sigListeners[sig];
1399
+ /* c8 ignore start */
1400
+ if (!listener) throw new Error("Listener not defined for signal: " + sig);
1401
+ /* c8 ignore stop */
1402
+ try {
1403
+ this.#process.removeListener(sig, listener);
1404
+ } catch (_$1) {}
1405
+ /* c8 ignore stop */
1406
+ });
1407
+ this.#process.emit = this.#originalProcessEmit;
1408
+ this.#process.reallyExit = this.#originalProcessReallyExit;
1409
+ this.#emitter.count -= 1;
1410
+ }
1411
+ #processReallyExit(code) {
1409
1412
  /* c8 ignore start */
1410
- this.#emitter.emit("exit", this.#process.exitCode, null);
1413
+ if (!processOk(this.#process)) return 0;
1414
+ this.#process.exitCode = code || 0;
1411
1415
  /* c8 ignore stop */
1412
- return ret;
1413
- } else return og.call(this.#process, ev, ...args);
1414
- }
1415
- };
1416
- const process$2 = globalThis.process;
1417
- const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
1416
+ this.#emitter.emit("exit", this.#process.exitCode, null);
1417
+ return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
1418
+ }
1419
+ #processEmit(ev, ...args) {
1420
+ const og = this.#originalProcessEmit;
1421
+ if (ev === "exit" && processOk(this.#process)) {
1422
+ if (typeof args[0] === "number") this.#process.exitCode = args[0];
1423
+ /* c8 ignore start */
1424
+ const ret = og.call(this.#process, ev, ...args);
1425
+ /* c8 ignore start */
1426
+ this.#emitter.emit("exit", this.#process.exitCode, null);
1427
+ /* c8 ignore stop */
1428
+ return ret;
1429
+ } else return og.call(this.#process, ev, ...args);
1430
+ }
1431
+ };
1432
+ process$2 = globalThis.process;
1433
+ ({onExit, load, unload} = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback()));
1434
+ } });
1418
1435
 
1419
1436
  //#endregion
1420
- //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.1/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js
1421
- var require_usingCtx = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.1/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
1437
+ //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js
1438
+ var require_usingCtx = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
1422
1439
  function _usingCtx() {
1423
1440
  var r$1 = "function" == typeof SuppressedError ? SuppressedError : function(r$2, e$1) {
1424
1441
  var n$2 = Error();
@@ -1478,7 +1495,6 @@ var require_usingCtx = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runti
1478
1495
 
1479
1496
  //#endregion
1480
1497
  //#region src/cli/commands/bundle.ts
1481
- var import_usingCtx = __toESM(require_usingCtx());
1482
1498
  async function bundleWithConfig(configPath, cliOptions) {
1483
1499
  if (cliOptions.watch) {
1484
1500
  process.env.ROLLUP_WATCH = "true";
@@ -1614,20 +1630,9 @@ function collectOutputLayoutAdjustmentSizes(entries) {
1614
1630
  sizePad
1615
1631
  };
1616
1632
  }
1617
- const numberFormatter = new Intl.NumberFormat("en", {
1618
- maximumFractionDigits: 2,
1619
- minimumFractionDigits: 2
1620
- });
1621
1633
  function displaySize(bytes) {
1622
1634
  return `${numberFormatter.format(bytes / 1e3)} kB`;
1623
1635
  }
1624
- const CHUNK_GROUPS = [{
1625
- type: "asset",
1626
- color: "green"
1627
- }, {
1628
- type: "chunk",
1629
- color: "cyan"
1630
- }];
1631
1636
  function printOutputEntries(entries, sizeAdjustment, distPath) {
1632
1637
  for (const group of CHUNK_GROUPS) {
1633
1638
  const filtered = entries.filter((e) => e.type === group.type);
@@ -1652,40 +1657,30 @@ function relativeId(id) {
1652
1657
  if (!path.isAbsolute(id)) return id;
1653
1658
  return path.relative(path.resolve(), id);
1654
1659
  }
1660
+ var import_usingCtx, numberFormatter, CHUNK_GROUPS;
1661
+ var init_bundle = __esm({ "src/cli/commands/bundle.ts"() {
1662
+ init_mjs();
1663
+ init_rolldown();
1664
+ init_watch();
1665
+ init_load_config();
1666
+ init_misc();
1667
+ init_logger();
1668
+ import_usingCtx = __toESM(require_usingCtx());
1669
+ numberFormatter = new Intl.NumberFormat("en", {
1670
+ maximumFractionDigits: 2,
1671
+ minimumFractionDigits: 2
1672
+ });
1673
+ CHUNK_GROUPS = [{
1674
+ type: "asset",
1675
+ color: "green"
1676
+ }, {
1677
+ type: "chunk",
1678
+ color: "cyan"
1679
+ }];
1680
+ } });
1655
1681
 
1656
1682
  //#endregion
1657
1683
  //#region src/cli/commands/help.ts
1658
- const introduction = `${colors.gray(`${description} (rolldown v${version})`)}
1659
-
1660
- ${colors.bold(colors.underline("USAGE"))} ${colors.cyan("rolldown -c <config>")} or ${colors.cyan("rolldown <input> <options>")}`;
1661
- const examples = [
1662
- {
1663
- title: "Bundle with a config file `rolldown.config.mjs`",
1664
- command: "rolldown -c rolldown.config.mjs"
1665
- },
1666
- {
1667
- title: "Bundle the `src/main.ts` to `dist` with `cjs` format",
1668
- command: "rolldown src/main.ts -d dist -f cjs"
1669
- },
1670
- {
1671
- title: "Bundle the `src/main.ts` and handle the `.png` assets to Data URL",
1672
- command: "rolldown src/main.ts -d dist --moduleTypes .png=dataurl"
1673
- },
1674
- {
1675
- title: "Bundle the `src/main.tsx` and minify the output with sourcemap",
1676
- command: "rolldown src/main.tsx -d dist -m -s"
1677
- },
1678
- {
1679
- title: "Create self-executing IIFE using external jQuery as `$` and `_`",
1680
- command: "rolldown src/main.ts -d dist -n bundle -f iife -e jQuery,window._ -g jQuery=$"
1681
- }
1682
- ];
1683
- const notes = [
1684
- "Due to the API limitation, you need to pass `-s` for `.map` sourcemap file as the last argument.",
1685
- "If you are using the configuration, please pass the `-c` as the last argument if you ignore the default configuration file.",
1686
- "CLI options will override the configuration file.",
1687
- "For more information, please visit https://rolldown.rs/."
1688
- ];
1689
1684
  function showHelp() {
1690
1685
  logger.log(introduction);
1691
1686
  logger.log("");
@@ -1718,28 +1713,72 @@ function showHelp() {
1718
1713
  logger.log(` * ${colors.gray(note)}`);
1719
1714
  });
1720
1715
  }
1716
+ var introduction, examples, notes;
1717
+ var init_help = __esm({ "src/cli/commands/help.ts"() {
1718
+ init_arguments();
1719
+ init_utils();
1720
+ init_logger();
1721
+ introduction = `${colors.gray(`${description} (rolldown v${version})`)}
1722
+
1723
+ ${colors.bold(colors.underline("USAGE"))} ${colors.cyan("rolldown -c <config>")} or ${colors.cyan("rolldown <input> <options>")}`;
1724
+ examples = [
1725
+ {
1726
+ title: "Bundle with a config file `rolldown.config.mjs`",
1727
+ command: "rolldown -c rolldown.config.mjs"
1728
+ },
1729
+ {
1730
+ title: "Bundle the `src/main.ts` to `dist` with `cjs` format",
1731
+ command: "rolldown src/main.ts -d dist -f cjs"
1732
+ },
1733
+ {
1734
+ title: "Bundle the `src/main.ts` and handle the `.png` assets to Data URL",
1735
+ command: "rolldown src/main.ts -d dist --moduleTypes .png=dataurl"
1736
+ },
1737
+ {
1738
+ title: "Bundle the `src/main.tsx` and minify the output with sourcemap",
1739
+ command: "rolldown src/main.tsx -d dist -m -s"
1740
+ },
1741
+ {
1742
+ title: "Create self-executing IIFE using external jQuery as `$` and `_`",
1743
+ command: "rolldown src/main.ts -d dist -n bundle -f iife -e jQuery,window._ -g jQuery=$"
1744
+ }
1745
+ ];
1746
+ notes = [
1747
+ "Due to the API limitation, you need to pass `-s` for `.map` sourcemap file as the last argument.",
1748
+ "If you are using the configuration, please pass the `-c` as the last argument if you ignore the default configuration file.",
1749
+ "CLI options will override the configuration file.",
1750
+ "For more information, please visit https://rolldown.rs/."
1751
+ ];
1752
+ } });
1721
1753
 
1722
1754
  //#endregion
1723
1755
  //#region src/cli/index.ts
1724
- async function main() {
1725
- const cliOptions = parseCliArguments();
1726
- if (cliOptions.config || cliOptions.config === "") {
1727
- await bundleWithConfig(cliOptions.config, cliOptions);
1728
- return;
1729
- }
1730
- if ("input" in cliOptions.input) {
1731
- await bundleWithCliOptions(cliOptions);
1732
- return;
1733
- }
1734
- if (cliOptions.version) {
1735
- logger.log(`rolldown v${version}`);
1736
- return;
1756
+ var require_cli = __commonJS({ "src/cli/index.ts"() {
1757
+ init_arguments();
1758
+ init_bundle();
1759
+ init_help();
1760
+ init_logger();
1761
+ async function main() {
1762
+ const cliOptions = parseCliArguments();
1763
+ if (cliOptions.config || cliOptions.config === "") {
1764
+ await bundleWithConfig(cliOptions.config, cliOptions);
1765
+ return;
1766
+ }
1767
+ if ("input" in cliOptions.input) {
1768
+ await bundleWithCliOptions(cliOptions);
1769
+ return;
1770
+ }
1771
+ if (cliOptions.version) {
1772
+ logger.log(`rolldown v${version}`);
1773
+ return;
1774
+ }
1775
+ showHelp();
1737
1776
  }
1738
- showHelp();
1739
- }
1740
- main().catch((err) => {
1741
- logger.error(err);
1742
- process$1.exit(1);
1743
- });
1777
+ main().catch((err) => {
1778
+ logger.error(err);
1779
+ process$1.exit(1);
1780
+ });
1781
+ } });
1744
1782
 
1745
- //#endregion
1783
+ //#endregion
1784
+ export default require_cli();