react-doctor 0.9.12-dev.28a1a9f → 0.9.12-dev.3eda608

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 (44) hide show
  1. package/README.md +27 -0
  2. package/dist/active-run-trace-dlIZeEvb.js +18 -0
  3. package/dist/active-scan-abort-registry-DwG6tSPy.js +28 -0
  4. package/dist/{build-section-divider-CdnczCsb.js → build-section-divider-I2zZDzJ9.js} +8 -22
  5. package/dist/{ci-CvrWkFyG.js → ci-DAWNYwqh.js} +12 -11
  6. package/dist/cli.js +76 -24
  7. package/dist/{design-C6QoD6j5.js → design-CT-fWB1q.js} +4 -4
  8. package/dist/{devtools-D8NTVj81.js → devtools-BiC-AP3B.js} +3 -3
  9. package/dist/{exit-gracefully-dQBRJxyW.js → exit-gracefully-BFTG5jEM.js} +15 -9
  10. package/dist/get-east-asian-width-Cglw13G7.js +444 -0
  11. package/dist/{report-error-DspMW6A2.js → handle-error-wVABvSAi.js} +6 -61
  12. package/dist/index.d.ts +32 -0
  13. package/dist/index.js +76 -2
  14. package/dist/{inspect-CEYHtLuK.js → inspect-BimAQ5xM.js} +16 -15
  15. package/dist/{install-BPQG8X-S.js → install-Oi0h_G7g.js} +9 -8
  16. package/dist/{install-doctor-script-BZJlaCgz.js → install-doctor-script-02_POH23.js} +6 -441
  17. package/dist/{install-github-workflow-DQIDvKig.js → install-github-workflow-CDDxuboB.js} +6 -6
  18. package/dist/{install-react-doctor-C3iiSm4r.js → install-react-doctor-CTsuBvs7.js} +8 -8
  19. package/dist/{run-scan-app-lYmDIiT4.js → jsx-runtime-KCzhtnA2.js} +280 -2774
  20. package/dist/{print-branded-header-B594Zejh.js → print-branded-header-Btnndqn7.js} +4 -4
  21. package/dist/prompt-runtime-scan-url-CkdYtR0M.js +240 -0
  22. package/dist/{read-object-file-CIVH-Cg-.js → read-object-file-DhRQQnN-.js} +4 -4
  23. package/dist/{record-metric-CFPfyOEW.js → record-metric-Bca1TzEP.js} +95 -8
  24. package/dist/report-error-89sVIL94.js +64 -0
  25. package/dist/{report-workflow-result-GxDOhexG.js → report-workflow-result-CA8lTeDk.js} +5 -5
  26. package/dist/{resolve-scope-CNV3HRNo.js → resolve-scope-poO8hFkD.js} +6 -6
  27. package/dist/{rules-C1Nt63By.js → rules-B16IRDyg.js} +6 -6
  28. package/dist/run-scan-app-NI3PasUA.js +2508 -0
  29. package/dist/runtime-scan/browser-probe.iife.js +855 -0
  30. package/dist/runtime-scan-B9Nytu3v.js +770 -0
  31. package/dist/sanitize-runtime-url-pzQIwyc8.js +76 -0
  32. package/dist/{scan-D-Y1Qifl.js → scan-DoM4T1ov.js} +10 -22
  33. package/dist/{should-fail-scan-gate-XdfNPXf9.js → should-fail-scan-gate-CFyk-8U3.js} +12 -111
  34. package/dist/{should-skip-prompts-DXyhnzjP.js → should-skip-prompts--6z1nvz1.js} +4 -4
  35. package/dist/should-use-tui-6f8qLHfp.js +25 -0
  36. package/dist/skills/improve-threejs/SKILL.md +102 -0
  37. package/dist/skills/performance/SKILL.md +113 -0
  38. package/dist/skills/react-doctor/SKILL.md +6 -0
  39. package/dist/{unref-stdin-CwYEtpri.js → telemetry-runtime-AGGMneW6.js} +5 -23
  40. package/dist/unref-stdin-BKT_s38a.js +12 -0
  41. package/dist/{version-tT7fsrFN.js → version-Nk1e-_N3.js} +4 -4
  42. package/dist/{why-4B0HPeQG.js → why-BujUNbke.js} +4 -4
  43. package/dist/with-run-span-Yaips-em.js +110 -0
  44. package/package.json +5 -4
@@ -1,11 +1,11 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bb776093-c0aa-5d9a-bd4f-178aaf858439")}catch(e){}}();
3
- import { Cn as info$1, Gt as highlighter, O as RUN_GIT_MAX_BUFFER_BYTES, Rn as runSync, Sn as error$1, Tn as warn, wn as log, z as isNonInteractiveEnvironment } from "./record-metric-CFPfyOEW.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0db83de4-6810-5e48-ae59-db0c1f65d986")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment, Cn as error$1, En as warn, Kt as highlighter, Tn as log, k as RUN_GIT_MAX_BUFFER_BYTES, wn as info$1, zn as runSync } from "./record-metric-Bca1TzEP.js";
4
+ import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-Cglw13G7.js";
4
5
  import { execFileSync } from "node:child_process";
5
6
  import * as path$1 from "node:path";
6
7
  import * as fs$1 from "node:fs";
7
8
  import process$1 from "node:process";
8
- import os from "node:os";
9
9
  import { stripVTControlCharacters } from "node:util";
10
10
  import tty from "node:tty";
11
11
  //#region src/cli/utils/cli-logger.ts
@@ -120,408 +120,6 @@ const packageHasNestedRecordKey = (projectRoot, key, nestedKey) => {
120
120
  };
121
121
  const ensureTrailingNewline = (content) => content.endsWith("\n") ? content : `${content}\n`;
122
122
  //#endregion
123
- //#region ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
124
- const ANSI_BACKGROUND_OFFSET = 10;
125
- const wrapAnsi16 = (offset = 0) => (code) => `\u001B[${code + offset}m`;
126
- const wrapAnsi256 = (offset = 0) => (code) => `\u001B[${38 + offset};5;${code}m`;
127
- const wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
128
- const styles$1 = {
129
- modifier: {
130
- reset: [0, 0],
131
- bold: [1, 22],
132
- dim: [2, 22],
133
- italic: [3, 23],
134
- underline: [4, 24],
135
- overline: [53, 55],
136
- inverse: [7, 27],
137
- hidden: [8, 28],
138
- strikethrough: [9, 29]
139
- },
140
- color: {
141
- black: [30, 39],
142
- red: [31, 39],
143
- green: [32, 39],
144
- yellow: [33, 39],
145
- blue: [34, 39],
146
- magenta: [35, 39],
147
- cyan: [36, 39],
148
- white: [37, 39],
149
- blackBright: [90, 39],
150
- gray: [90, 39],
151
- grey: [90, 39],
152
- redBright: [91, 39],
153
- greenBright: [92, 39],
154
- yellowBright: [93, 39],
155
- blueBright: [94, 39],
156
- magentaBright: [95, 39],
157
- cyanBright: [96, 39],
158
- whiteBright: [97, 39]
159
- },
160
- bgColor: {
161
- bgBlack: [40, 49],
162
- bgRed: [41, 49],
163
- bgGreen: [42, 49],
164
- bgYellow: [43, 49],
165
- bgBlue: [44, 49],
166
- bgMagenta: [45, 49],
167
- bgCyan: [46, 49],
168
- bgWhite: [47, 49],
169
- bgBlackBright: [100, 49],
170
- bgGray: [100, 49],
171
- bgGrey: [100, 49],
172
- bgRedBright: [101, 49],
173
- bgGreenBright: [102, 49],
174
- bgYellowBright: [103, 49],
175
- bgBlueBright: [104, 49],
176
- bgMagentaBright: [105, 49],
177
- bgCyanBright: [106, 49],
178
- bgWhiteBright: [107, 49]
179
- }
180
- };
181
- Object.keys(styles$1.modifier);
182
- const foregroundColorNames = Object.keys(styles$1.color);
183
- const backgroundColorNames = Object.keys(styles$1.bgColor);
184
- [...foregroundColorNames, ...backgroundColorNames];
185
- function assembleStyles() {
186
- const codes = /* @__PURE__ */ new Map();
187
- for (const [groupName, group] of Object.entries(styles$1)) {
188
- for (const [styleName, style] of Object.entries(group)) {
189
- styles$1[styleName] = {
190
- open: `\u001B[${style[0]}m`,
191
- close: `\u001B[${style[1]}m`
192
- };
193
- group[styleName] = styles$1[styleName];
194
- codes.set(style[0], style[1]);
195
- }
196
- Object.defineProperty(styles$1, groupName, {
197
- value: group,
198
- enumerable: false
199
- });
200
- }
201
- Object.defineProperty(styles$1, "codes", {
202
- value: codes,
203
- enumerable: false
204
- });
205
- styles$1.color.close = "\x1B[39m";
206
- styles$1.bgColor.close = "\x1B[49m";
207
- styles$1.color.ansi = wrapAnsi16();
208
- styles$1.color.ansi256 = wrapAnsi256();
209
- styles$1.color.ansi16m = wrapAnsi16m();
210
- styles$1.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
211
- styles$1.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
212
- styles$1.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
213
- Object.defineProperties(styles$1, {
214
- rgbToAnsi256: {
215
- value(red, green, blue) {
216
- if (red === green && green === blue) {
217
- if (red < 8) return 16;
218
- if (red > 248) return 231;
219
- return Math.round((red - 8) / 247 * 24) + 232;
220
- }
221
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
222
- },
223
- enumerable: false
224
- },
225
- hexToRgb: {
226
- value(hex) {
227
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
228
- if (!matches) return [
229
- 0,
230
- 0,
231
- 0
232
- ];
233
- let [colorString] = matches;
234
- if (colorString.length === 3) colorString = [...colorString].map((character) => character + character).join("");
235
- const integer = Number.parseInt(colorString, 16);
236
- return [
237
- integer >> 16 & 255,
238
- integer >> 8 & 255,
239
- integer & 255
240
- ];
241
- },
242
- enumerable: false
243
- },
244
- hexToAnsi256: {
245
- value: (hex) => styles$1.rgbToAnsi256(...styles$1.hexToRgb(hex)),
246
- enumerable: false
247
- },
248
- ansi256ToAnsi: {
249
- value(code) {
250
- if (code < 8) return 30 + code;
251
- if (code < 16) return 90 + (code - 8);
252
- let red;
253
- let green;
254
- let blue;
255
- if (code >= 232) {
256
- red = ((code - 232) * 10 + 8) / 255;
257
- green = red;
258
- blue = red;
259
- } else {
260
- code -= 16;
261
- const remainder = code % 36;
262
- red = Math.floor(code / 36) / 5;
263
- green = Math.floor(remainder / 6) / 5;
264
- blue = remainder % 6 / 5;
265
- }
266
- const value = Math.max(red, green, blue) * 2;
267
- if (value === 0) return 30;
268
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
269
- if (value === 2) result += 60;
270
- return result;
271
- },
272
- enumerable: false
273
- },
274
- rgbToAnsi: {
275
- value: (red, green, blue) => styles$1.ansi256ToAnsi(styles$1.rgbToAnsi256(red, green, blue)),
276
- enumerable: false
277
- },
278
- hexToAnsi: {
279
- value: (hex) => styles$1.ansi256ToAnsi(styles$1.hexToAnsi256(hex)),
280
- enumerable: false
281
- }
282
- });
283
- return styles$1;
284
- }
285
- const ansiStyles = assembleStyles();
286
- //#endregion
287
- //#region ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
288
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
289
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
290
- const position = argv.indexOf(prefix + flag);
291
- const terminatorPosition = argv.indexOf("--");
292
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
293
- }
294
- const { env: env$1 } = process$1;
295
- let flagForceColor;
296
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
297
- else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
298
- function envForceColor() {
299
- if ("FORCE_COLOR" in env$1) {
300
- if (env$1.FORCE_COLOR === "true") return 1;
301
- if (env$1.FORCE_COLOR === "false") return 0;
302
- return env$1.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env$1.FORCE_COLOR, 10), 3);
303
- }
304
- }
305
- function translateLevel(level) {
306
- if (level === 0) return false;
307
- return {
308
- level,
309
- hasBasic: true,
310
- has256: level >= 2,
311
- has16m: level >= 3
312
- };
313
- }
314
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
315
- const noFlagForceColor = envForceColor();
316
- if (noFlagForceColor !== void 0) flagForceColor = noFlagForceColor;
317
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
318
- if (forceColor === 0) return 0;
319
- if (sniffFlags) {
320
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) return 3;
321
- if (hasFlag("color=256")) return 2;
322
- }
323
- if ("TF_BUILD" in env$1 && "AGENT_NAME" in env$1) return 1;
324
- if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
325
- const min = forceColor || 0;
326
- if (env$1.TERM === "dumb") return min;
327
- if (process$1.platform === "win32") {
328
- const osRelease = os.release().split(".");
329
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
330
- return 1;
331
- }
332
- if ("CI" in env$1) {
333
- if ([
334
- "GITHUB_ACTIONS",
335
- "GITEA_ACTIONS",
336
- "CIRCLECI"
337
- ].some((key) => key in env$1)) return 3;
338
- if ([
339
- "TRAVIS",
340
- "APPVEYOR",
341
- "GITLAB_CI",
342
- "BUILDKITE",
343
- "DRONE"
344
- ].some((sign) => sign in env$1) || env$1.CI_NAME === "codeship") return 1;
345
- return min;
346
- }
347
- if ("TEAMCITY_VERSION" in env$1) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$1.TEAMCITY_VERSION) ? 1 : 0;
348
- if (env$1.COLORTERM === "truecolor") return 3;
349
- if (env$1.TERM === "xterm-kitty") return 3;
350
- if (env$1.TERM === "xterm-ghostty") return 3;
351
- if (env$1.TERM === "wezterm") return 3;
352
- if ("TERM_PROGRAM" in env$1) {
353
- const version = Number.parseInt((env$1.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
354
- switch (env$1.TERM_PROGRAM) {
355
- case "iTerm.app": return version >= 3 ? 3 : 2;
356
- case "Apple_Terminal": return 2;
357
- }
358
- }
359
- if (/-256(color)?$/i.test(env$1.TERM)) return 2;
360
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$1.TERM)) return 1;
361
- if ("COLORTERM" in env$1) return 1;
362
- return min;
363
- }
364
- function createSupportsColor(stream, options = {}) {
365
- return translateLevel(_supportsColor(stream, {
366
- streamIsTTY: stream && stream.isTTY,
367
- ...options
368
- }));
369
- }
370
- const supportsColor = {
371
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
372
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
373
- };
374
- //#endregion
375
- //#region ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/utilities.js
376
- function stringReplaceAll(string, substring, replacer) {
377
- let index = string.indexOf(substring);
378
- if (index === -1) return string;
379
- const substringLength = substring.length;
380
- let endIndex = 0;
381
- let returnValue = "";
382
- do {
383
- returnValue += string.slice(endIndex, index) + substring + replacer;
384
- endIndex = index + substringLength;
385
- index = string.indexOf(substring, endIndex);
386
- } while (index !== -1);
387
- returnValue += string.slice(endIndex);
388
- return returnValue;
389
- }
390
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
391
- let endIndex = 0;
392
- let returnValue = "";
393
- do {
394
- const gotCR = string[index - 1] === "\r";
395
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
396
- endIndex = index + 1;
397
- index = string.indexOf("\n", endIndex);
398
- } while (index !== -1);
399
- returnValue += string.slice(endIndex);
400
- return returnValue;
401
- }
402
- //#endregion
403
- //#region ../../node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/index.js
404
- const { stdout: stdoutColor, stderr: stderrColor } = supportsColor;
405
- const GENERATOR = Symbol("GENERATOR");
406
- const STYLER = Symbol("STYLER");
407
- const IS_EMPTY = Symbol("IS_EMPTY");
408
- const levelMapping = [
409
- "ansi",
410
- "ansi",
411
- "ansi256",
412
- "ansi16m"
413
- ];
414
- const styles = Object.create(null);
415
- const applyOptions = (object, options = {}) => {
416
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) throw new Error("The `level` option should be an integer from 0 to 3");
417
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
418
- object.level = options.level === void 0 ? colorLevel : options.level;
419
- };
420
- const chalkFactory = (options) => {
421
- const chalk = (...strings) => strings.join(" ");
422
- applyOptions(chalk, options);
423
- Object.setPrototypeOf(chalk, createChalk.prototype);
424
- return chalk;
425
- };
426
- function createChalk(options) {
427
- return chalkFactory(options);
428
- }
429
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
430
- for (const [styleName, style] of Object.entries(ansiStyles)) styles[styleName] = { get() {
431
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
432
- Object.defineProperty(this, styleName, { value: builder });
433
- return builder;
434
- } };
435
- styles.visible = { get() {
436
- const builder = createBuilder(this, this[STYLER], true);
437
- Object.defineProperty(this, "visible", { value: builder });
438
- return builder;
439
- } };
440
- const getModelAnsi = (model, level, type, ...arguments_) => {
441
- if (model === "rgb") {
442
- if (level === "ansi16m") return ansiStyles[type].ansi16m(...arguments_);
443
- if (level === "ansi256") return ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));
444
- return ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));
445
- }
446
- if (model === "hex") return getModelAnsi("rgb", level, type, ...ansiStyles.hexToRgb(...arguments_));
447
- return ansiStyles[type][model](...arguments_);
448
- };
449
- for (const model of [
450
- "rgb",
451
- "hex",
452
- "ansi256"
453
- ]) {
454
- styles[model] = { get() {
455
- const { level } = this;
456
- return function(...arguments_) {
457
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansiStyles.color.close, this[STYLER]);
458
- return createBuilder(this, styler, this[IS_EMPTY]);
459
- };
460
- } };
461
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
462
- styles[bgModel] = { get() {
463
- const { level } = this;
464
- return function(...arguments_) {
465
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansiStyles.bgColor.close, this[STYLER]);
466
- return createBuilder(this, styler, this[IS_EMPTY]);
467
- };
468
- } };
469
- }
470
- const proto = Object.defineProperties(() => {}, {
471
- ...styles,
472
- level: {
473
- enumerable: true,
474
- get() {
475
- return this[GENERATOR].level;
476
- },
477
- set(level) {
478
- this[GENERATOR].level = level;
479
- }
480
- }
481
- });
482
- const createStyler = (open, close, parent) => {
483
- let openAll;
484
- let closeAll;
485
- if (parent === void 0) {
486
- openAll = open;
487
- closeAll = close;
488
- } else {
489
- openAll = parent.openAll + open;
490
- closeAll = close + parent.closeAll;
491
- }
492
- return {
493
- open,
494
- close,
495
- openAll,
496
- closeAll,
497
- parent
498
- };
499
- };
500
- const createBuilder = (self, _styler, _isEmpty) => {
501
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
502
- Object.setPrototypeOf(builder, proto);
503
- builder[GENERATOR] = self;
504
- builder[STYLER] = _styler;
505
- builder[IS_EMPTY] = _isEmpty;
506
- return builder;
507
- };
508
- const applyStyle = (self, string) => {
509
- if (self.level <= 0 || !string) return self[IS_EMPTY] ? "" : string;
510
- let styler = self[STYLER];
511
- if (styler === void 0) return string;
512
- const { openAll, closeAll } = styler;
513
- if (string.includes("\x1B")) while (styler !== void 0) {
514
- string = stringReplaceAll(string, styler.close, styler.open);
515
- styler = styler.parent;
516
- }
517
- const lfIndex = string.indexOf("\n");
518
- if (lfIndex !== -1) string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
519
- return openAll + string + closeAll;
520
- };
521
- Object.defineProperties(createChalk.prototype, styles);
522
- const chalk = createChalk();
523
- createChalk({ level: stderrColor ? stderrColor.level : 0 });
524
- //#endregion
525
123
  //#region ../../node_modules/.pnpm/mimic-function@5.0.1/node_modules/mimic-function/index.js
526
124
  const copyProperty = (to, from, property, ignoreNonConfigurable) => {
527
125
  if (property === "length" || property === "prototype") return;
@@ -2549,39 +2147,6 @@ const success = green(_isUnicodeSupported ? "✔" : "√");
2549
2147
  const warning = yellow(_isUnicodeSupported ? "⚠" : "‼");
2550
2148
  const error = red(_isUnicodeSupported ? "✖" : "×");
2551
2149
  //#endregion
2552
- //#region ../../node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
2553
- function ansiRegex({ onlyFirst = false } = {}) {
2554
- return new RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`, onlyFirst ? void 0 : "g");
2555
- }
2556
- //#endregion
2557
- //#region ../../node_modules/.pnpm/strip-ansi@7.1.2/node_modules/strip-ansi/index.js
2558
- const regex = ansiRegex();
2559
- function stripAnsi(string) {
2560
- if (typeof string !== "string") throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
2561
- return string.replace(regex, "");
2562
- }
2563
- //#endregion
2564
- //#region ../../node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/lookup.js
2565
- function isAmbiguous(x) {
2566
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
2567
- }
2568
- function isFullWidth(x) {
2569
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
2570
- }
2571
- function isWide(x) {
2572
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
2573
- }
2574
- //#endregion
2575
- //#region ../../node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/index.js
2576
- function validate(codePoint) {
2577
- if (!Number.isSafeInteger(codePoint)) throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
2578
- }
2579
- function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
2580
- validate(codePoint);
2581
- if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) return 2;
2582
- return 1;
2583
- }
2584
- //#endregion
2585
2150
  //#region ../../node_modules/.pnpm/string-width@8.1.1/node_modules/string-width/index.js
2586
2151
  /**
2587
2152
  Logic:
@@ -3245,7 +2810,7 @@ const installReactDoctorScriptStep = (projectRoot) => {
3245
2810
  }
3246
2811
  };
3247
2812
  //#endregion
3248
- export { packageHasNestedRecordKey as A, SIMPLE_GIT_HOOKS_CONFIG_FILE as C, getPackageJsonPath as D, ensureTrailingNewline as E, runGitRaw as F, writeJsonFile as I, cliLogger as L, readPackageJson as M, resolveGitPath as N, isRecord as O, runGit as P, REACT_DOCTOR_COMMAND as S, VITE_PLUS_HOOKS_PATH as T, LEFTHOOK_CONFIG_FILES as _, installReactDoctorScriptStep as a, OVERCOMMIT_CONFIG_FILE as b, spinner as c, stripAnsi as d, isUnicodeSupported as f, HUSKY_HOOKS_PATH as g, HOOK_RELATIVE_PATH as h, hasDoctorScript as i, packageHasRecordKey as j, packageHasDependency as k, isFullWidth as l, HOOK_FILE_NAME as m, findNearestPackageDirectory as n, isSpinnerSilent as o, chalk as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, isWide as u, LEGACY_HOOK_RUNNER_RELATIVE_PATH as v, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as w, PRE_COMMIT_CONFIG_FILE as x, NON_BLOCKING_REACT_DOCTOR_COMMAND as y };
2813
+ export { runGit as A, getPackageJsonPath as C, packageHasRecordKey as D, packageHasNestedRecordKey as E, writeJsonFile as M, cliLogger as N, readPackageJson as O, ensureTrailingNewline as S, packageHasDependency as T, PRE_COMMIT_CONFIG_FILE as _, installReactDoctorScriptStep as a, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as b, spinner as c, HOOK_RELATIVE_PATH as d, HUSKY_HOOKS_PATH as f, OVERCOMMIT_CONFIG_FILE as g, NON_BLOCKING_REACT_DOCTOR_COMMAND as h, hasDoctorScript as i, runGitRaw as j, resolveGitPath as k, isUnicodeSupported as l, LEGACY_HOOK_RUNNER_RELATIVE_PATH as m, findNearestPackageDirectory as n, isSpinnerSilent as o, LEFTHOOK_CONFIG_FILES as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, HOOK_FILE_NAME as u, REACT_DOCTOR_COMMAND as v, isRecord as w, VITE_PLUS_HOOKS_PATH as x, SIMPLE_GIT_HOOKS_CONFIG_FILE as y };
3249
2814
 
3250
- //# sourceMappingURL=install-doctor-script-BZJlaCgz.js.map
3251
- //# debugId=bb776093-c0aa-5d9a-bd4f-178aaf858439
2815
+ //# sourceMappingURL=install-doctor-script-02_POH23.js.map
2816
+ //# debugId=0db83de4-6810-5e48-ae59-db0c1f65d986
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f62c21fa-e7e2-5cf4-9ca4-aa3e9d56b5f9")}catch(e){}}();
3
- import { C as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-CFPfyOEW.js";
4
- import { t as unrefStdin } from "./unref-stdin-CwYEtpri.js";
5
- import { L as cliLogger } from "./install-doctor-script-BZJlaCgz.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d7d63ba8-2c22-55a6-b729-1f9d991f19d7")}catch(e){}}();
3
+ import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-Bca1TzEP.js";
4
+ import { t as unrefStdin } from "./unref-stdin-BKT_s38a.js";
5
+ import { N as cliLogger } from "./install-doctor-script-02_POH23.js";
6
6
  import { createRequire } from "node:module";
7
7
  import { execFile } from "node:child_process";
8
8
  import * as path$1 from "node:path";
@@ -263,5 +263,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
263
263
  //#endregion
264
264
  export { readReactDoctorWorkflow as a, workflowUsesV1Action as c, detectDefaultBranch as d, runCommand as f, isReactDoctorWorkflowInstalled as i, prompts as l, getReactDoctorWorkflowPath as n, upgradeReactDoctorWorkflowInPlace as o, installReactDoctorWorkflow as r, upgradeWorkflowActionToV2 as s, buildWorkflowContent as t, isCommandAvailable as u };
265
265
 
266
- //# sourceMappingURL=install-github-workflow-DQIDvKig.js.map
267
- //# debugId=f62c21fa-e7e2-5cf4-9ca4-aa3e9d56b5f9
266
+ //# sourceMappingURL=install-github-workflow-CDDxuboB.js.map
267
+ //# debugId=d7d63ba8-2c22-55a6-b729-1f9d991f19d7
@@ -1,10 +1,10 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9dd03041-4f0a-59bf-8b00-9eb4f35a4c83")}catch(e){}}();
3
- import { Gt as highlighter, R as CliInputError, S as CI_TRUST_COMPANIES, hr as SKILL_NAME, sr as GITHUB_ACTIONS_SETUP_URL, t as recordCount, w as METRIC, yr as isErrnoException } from "./record-metric-CFPfyOEW.js";
4
- import { A as packageHasNestedRecordKey, D as getPackageJsonPath, E as ensureTrailingNewline, I as writeJsonFile, L as cliLogger, M as readPackageJson, N as resolveGitPath, O as isRecord, P as runGit, S as REACT_DOCTOR_COMMAND, T as VITE_PLUS_HOOKS_PATH, _ as LEFTHOOK_CONFIG_FILES, a as installReactDoctorScriptStep, b as OVERCOMMIT_CONFIG_FILE, c as spinner, g as HUSKY_HOOKS_PATH, h as HOOK_RELATIVE_PATH, j as packageHasRecordKey, k as packageHasDependency, m as HOOK_FILE_NAME, n as findNearestPackageDirectory, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, v as LEGACY_HOOK_RUNNER_RELATIVE_PATH, x as PRE_COMMIT_CONFIG_FILE, y as NON_BLOCKING_REACT_DOCTOR_COMMAND } from "./install-doctor-script-BZJlaCgz.js";
5
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-DQIDvKig.js";
6
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DXyhnzjP.js";
7
- import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-GxDOhexG.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="637b5d51-14e6-543f-bf46-1556d58f9131")}catch(e){}}();
3
+ import { C as CI_TRUST_COMPANIES, Kt as highlighter, T as METRIC, br as isErrnoException, cr as GITHUB_ACTIONS_SETUP_URL, gr as SKILL_NAME, t as recordCount, z as CliInputError } from "./record-metric-Bca1TzEP.js";
4
+ import { A as runGit, C as getPackageJsonPath, D as packageHasRecordKey, E as packageHasNestedRecordKey, M as writeJsonFile, N as cliLogger, O as readPackageJson, S as ensureTrailingNewline, T as packageHasDependency, _ as PRE_COMMIT_CONFIG_FILE, a as installReactDoctorScriptStep, c as spinner, d as HOOK_RELATIVE_PATH, f as HUSKY_HOOKS_PATH, g as OVERCOMMIT_CONFIG_FILE, h as NON_BLOCKING_REACT_DOCTOR_COMMAND, k as resolveGitPath, m as LEGACY_HOOK_RUNNER_RELATIVE_PATH, n as findNearestPackageDirectory, p as LEFTHOOK_CONFIG_FILES, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, u as HOOK_FILE_NAME, v as REACT_DOCTOR_COMMAND, w as isRecord, x as VITE_PLUS_HOOKS_PATH } from "./install-doctor-script-02_POH23.js";
5
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-CDDxuboB.js";
6
+ import { t as shouldSkipPrompts } from "./should-skip-prompts--6z1nvz1.js";
7
+ import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-CA8lTeDk.js";
8
8
  import { execFile } from "node:child_process";
9
9
  import * as path$1 from "node:path";
10
10
  import * as fs$1 from "node:fs";
@@ -1152,5 +1152,5 @@ const runInstallReactDoctor = async (options = {}) => {
1152
1152
  //#endregion
1153
1153
  export { askUpgradeActionVersion as a, recordCiPromptDecision as c, installReactDoctorAgentHooks as i, hasHandledActionUpgrade as l, runInstallReactDoctor as n, askAddToGitHubActions as o, findAgentsWithOutdatedReactDoctorHooks as r, hasHandledCiPrompt as s, getSkillSourceDirectory as t, recordActionUpgradeDecision as u };
1154
1154
 
1155
- //# sourceMappingURL=install-react-doctor-C3iiSm4r.js.map
1156
- //# debugId=9dd03041-4f0a-59bf-8b00-9eb4f35a4c83
1155
+ //# sourceMappingURL=install-react-doctor-CTsuBvs7.js.map
1156
+ //# debugId=637b5d51-14e6-543f-bf46-1556d58f9131