@shopify/create-app
Version:
A CLI tool to create a new Shopify app.
1,197 lines (1,184 loc) • 9.94 MB
JavaScript
import {
require_has_flag,
require_supports_color
} from "./chunk-3I3GQNEW.js";
import {
require_balanced_match,
require_globby,
require_indent_string
} from "./chunk-IVFBSLUD.js";
import {
require_is_wsl
} from "./chunk-G2ZZKGSV.js";
import {
__commonJS,
__require,
init_cjs_shims
} from "./chunk-PKR7KJ6P.js";
// ../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/cli-ux/write.js
var require_write = __commonJS({
"../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/cli-ux/write.js"(exports) {
"use strict";
init_cjs_shims();
Object.defineProperty(exports, "__esModule", { value: !0 });
var stdout = (msg) => {
process.stdout.write(msg);
}, stderr = (msg) => {
process.stderr.write(msg);
};
exports.default = {
stderr,
stdout
};
}
});
// ../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/util/fs.js
var require_fs = __commonJS({
"../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/util/fs.js"(exports) {
"use strict";
init_cjs_shims();
Object.defineProperty(exports, "__esModule", { value: !0 });
exports.existsSync = exports.safeReadJson = exports.readJsonSync = exports.readJson = exports.fileExists = exports.dirExists = void 0;
var node_fs_1 = __require("node:fs"), promises_1 = __require("node:fs/promises"), dirExists = async (input) => {
let dirStat;
try {
dirStat = await (0, promises_1.stat)(input);
} catch {
throw new Error(`No directory found at ${input}`);
}
if (!dirStat.isDirectory())
throw new Error(`${input} exists but is not a directory`);
return input;
};
exports.dirExists = dirExists;
var fileExists = async (input) => {
let fileStat;
try {
fileStat = await (0, promises_1.stat)(input);
} catch {
throw new Error(`No file found at ${input}`);
}
if (!fileStat.isFile())
throw new Error(`${input} exists but is not a file`);
return input;
};
exports.fileExists = fileExists;
async function readJson(path) {
let contents = await (0, promises_1.readFile)(path, "utf8");
return JSON.parse(contents);
}
exports.readJson = readJson;
function readJsonSync(path, parse = !0) {
let contents = (0, node_fs_1.readFileSync)(path, "utf8");
return parse ? JSON.parse(contents) : contents;
}
exports.readJsonSync = readJsonSync;
async function safeReadJson(path) {
try {
return await readJson(path);
} catch {
}
}
exports.safeReadJson = safeReadJson;
function existsSync(path) {
return (0, node_fs_1.existsSync)(path);
}
exports.existsSync = existsSync;
}
});
// ../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/util/util.js
var require_util = __commonJS({
"../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/util/util.js"(exports) {
"use strict";
init_cjs_shims();
Object.defineProperty(exports, "__esModule", { value: !0 });
exports.mergeNestedObjects = exports.mapValues = exports.uniq = exports.isNotFalsy = exports.isTruthy = exports.capitalize = exports.sumBy = exports.maxBy = exports.isProd = exports.castArray = exports.sortBy = exports.last = exports.uniqBy = exports.compact = exports.pickBy = void 0;
function pickBy(obj, fn) {
return Object.entries(obj).reduce((o, [k, v]) => (fn(v) && (o[k] = v), o), {});
}
exports.pickBy = pickBy;
function compact(a) {
return a.filter((a2) => !!a2);
}
exports.compact = compact;
function uniqBy(arr, fn) {
return arr.filter((a, i) => {
let aVal = fn(a);
return !arr.some((b, j) => j > i && fn(b) === aVal);
});
}
exports.uniqBy = uniqBy;
function last(arr) {
if (arr)
return arr.at(-1);
}
exports.last = last;
function compare(a, b) {
if (a = a === void 0 ? 0 : a, b = b === void 0 ? 0 : b, Array.isArray(a) && Array.isArray(b)) {
if (a.length === 0 && b.length === 0)
return 0;
let diff = compare(a[0], b[0]);
return diff !== 0 ? diff : compare(a.slice(1), b.slice(1));
}
return a < b ? -1 : a > b ? 1 : 0;
}
function sortBy(arr, fn) {
return arr.sort((a, b) => compare(fn(a), fn(b)));
}
exports.sortBy = sortBy;
function castArray(input) {
return input === void 0 ? [] : Array.isArray(input) ? input : [input];
}
exports.castArray = castArray;
function isProd() {
return !["development", "test"].includes(process.env.NODE_ENV ?? "");
}
exports.isProd = isProd;
function maxBy(arr, fn) {
if (arr.length !== 0)
return arr.reduce((maxItem, i) => {
let curr = fn(i), max = fn(maxItem);
return curr > max ? i : maxItem;
});
}
exports.maxBy = maxBy;
function sumBy(arr, fn) {
return arr.reduce((sum, i) => sum + fn(i), 0);
}
exports.sumBy = sumBy;
function capitalize(s) {
return s ? s.charAt(0).toUpperCase() + s.slice(1).toLowerCase() : "";
}
exports.capitalize = capitalize;
function isTruthy(input) {
return ["1", "true", "y", "yes"].includes(input.toLowerCase());
}
exports.isTruthy = isTruthy;
function isNotFalsy(input) {
return !["0", "false", "n", "no"].includes(input.toLowerCase());
}
exports.isNotFalsy = isNotFalsy;
function uniq(arr) {
return [...new Set(arr)].sort();
}
exports.uniq = uniq;
function mapValues(obj, fn) {
return Object.entries(obj).reduce((o, [k, v]) => (o[k] = fn(v, k), o), {});
}
exports.mapValues = mapValues;
function get(obj, path) {
return path.split(".").reduce((o, p) => o?.[p], obj);
}
function mergeNestedObjects(objs, path) {
return Object.fromEntries(objs.flatMap((o) => Object.entries(get(o, path) ?? {})).reverse());
}
exports.mergeNestedObjects = mergeNestedObjects;
}
});
// ../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/args.js
var require_args = __commonJS({
"../../node_modules/.pnpm/@oclif+core@3.26.5/node_modules/@oclif/core/lib/args.js"(exports) {
"use strict";
init_cjs_shims();
Object.defineProperty(exports, "__esModule", { value: !0 });
exports.string = exports.url = exports.file = exports.directory = exports.integer = exports.boolean = exports.custom = void 0;
var node_url_1 = __require("node:url"), fs_1 = require_fs(), util_1 = require_util();
function custom(defaults) {
return (options = {}) => ({
parse: async (i, _context, _opts) => i,
...defaults,
...options,
input: [],
type: "option"
});
}
exports.custom = custom;
exports.boolean = custom({
parse: async (b) => !!b && (0, util_1.isNotFalsy)(b)
});
exports.integer = custom({
async parse(input, _, opts) {
if (!/^-?\d+$/.test(input))
throw new Error(`Expected an integer but received: ${input}`);
let num = Number.parseInt(input, 10);
if (opts.min !== void 0 && num < opts.min)
throw new Error(`Expected an integer greater than or equal to ${opts.min} but received: ${input}`);
if (opts.max !== void 0 && num > opts.max)
throw new Error(`Expected an integer less than or equal to ${opts.max} but received: ${input}`);
return num;
}
});
exports.directory = custom({
async parse(input, _, opts) {
return opts.exists ? (0, fs_1.dirExists)(input) : input;
}
});
exports.file = custom({
async parse(input, _, opts) {
return opts.exists ? (0, fs_1.fileExists)(input) : input;
}
});
exports.url = custom({
async parse(input) {
try {
return new node_url_1.URL(input);
} catch {
throw new Error(`Expected a valid url but received: ${input}`);
}
}
});
var stringArg = custom({});
exports.string = stringArg;
}
});
// ../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js
var require_color_name = __commonJS({
"../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js"(exports, module) {
"use strict";
init_cjs_shims();
module.exports = {
aliceblue: [240, 248, 255],
antiquewhite: [250, 235, 215],
aqua: [0, 255, 255],
aquamarine: [127, 255, 212],
azure: [240, 255, 255],
beige: [245, 245, 220],
bisque: [255, 228, 196],
black: [0, 0, 0],
blanchedalmond: [255, 235, 205],
blue: [0, 0, 255],
blueviolet: [138, 43, 226],
brown: [165, 42, 42],
burlywood: [222, 184, 135],
cadetblue: [95, 158, 160],
chartreuse: [127, 255, 0],
chocolate: [210, 105, 30],
coral: [255, 127, 80],
cornflowerblue: [100, 149, 237],
cornsilk: [255, 248, 220],
crimson: [220, 20, 60],
cyan: [0, 255, 255],
darkblue: [0, 0, 139],
darkcyan: [0, 139, 139],
darkgoldenrod: [184, 134, 11],
darkgray: [169, 169, 169],
darkgreen: [0, 100, 0],
darkgrey: [169, 169, 169],
darkkhaki: [189, 183, 107],
darkmagenta: [139, 0, 139],
darkolivegreen: [85, 107, 47],
darkorange: [255, 140, 0],
darkorchid: [153, 50, 204],
darkred: [139, 0, 0],
darksalmon: [233, 150, 122],
darkseagreen: [143, 188, 143],
darkslateblue: [72, 61, 139],
darkslategray: [47, 79, 79],
darkslategrey: [47, 79, 79],
darkturquoise: [0, 206, 209],
darkviolet: [148, 0, 211],
deeppink: [255, 20, 147],
deepskyblue: [0, 191, 255],
dimgray: [105, 105, 105],
dimgrey: [105, 105, 105],
dodgerblue: [30, 144, 255],
firebrick: [178, 34, 34],
floralwhite: [255, 250, 240],
forestgreen: [34, 139, 34],
fuchsia: [255, 0, 255],
gainsboro: [220, 220, 220],
ghostwhite: [248, 248, 255],
gold: [255, 215, 0],
goldenrod: [218, 165, 32],
gray: [128, 128, 128],
green: [0, 128, 0],
greenyellow: [173, 255, 47],
grey: [128, 128, 128],
honeydew: [240, 255, 240],
hotpink: [255, 105, 180],
indianred: [205, 92, 92],
indigo: [75, 0, 130],
ivory: [255, 255, 240],
khaki: [240, 230, 140],
lavender: [230, 230, 250],
lavenderblush: [255, 240, 245],
lawngreen: [124, 252, 0],
lemonchiffon: [255, 250, 205],
lightblue: [173, 216, 230],
lightcoral: [240, 128, 128],
lightcyan: [224, 255, 255],
lightgoldenrodyellow: [250, 250, 210],
lightgray: [211, 211, 211],
lightgreen: [144, 238, 144],
lightgrey: [211, 211, 211],
lightpink: [255, 182, 193],
lightsalmon: [255, 160, 122],
lightseagreen: [32, 178, 170],
lightskyblue: [135, 206, 250],
lightslategray: [119, 136, 153],
lightslategrey: [119, 136, 153],
lightsteelblue: [176, 196, 222],
lightyellow: [255, 255, 224],
lime: [0, 255, 0],
limegreen: [50, 205, 50],
linen: [250, 240, 230],
magenta: [255, 0, 255],
maroon: [128, 0, 0],
mediumaquamarine: [102, 205, 170],
mediumblue: [0, 0, 205],
mediumorchid: [186, 85, 211],
mediumpurple: [147, 112, 219],
mediumseagreen: [60, 179, 113],
mediumslateblue: [123, 104, 238],
mediumspringgreen: [0, 250, 154],
mediumturquoise: [72, 209, 204],
mediumvioletred: [199, 21, 133],
midnightblue: [25, 25, 112],
mintcream: [245, 255, 250],
mistyrose: [255, 228, 225],
moccasin: [255, 228, 181],
navajowhite: [255, 222, 173],
navy: [0, 0, 128],
oldlace: [253, 245, 230],
olive: [128, 128, 0],
olivedrab: [107, 142, 35],
orange: [255, 165, 0],
orangered: [255, 69, 0],
orchid: [218, 112, 214],
palegoldenrod: [238, 232, 170],
palegreen: [152, 251, 152],
paleturquoise: [175, 238, 238],
palevioletred: [219, 112, 147],
papayawhip: [255, 239, 213],
peachpuff: [255, 218, 185],
peru: [205, 133, 63],
pink: [255, 192, 203],
plum: [221, 160, 221],
powderblue: [176, 224, 230],
purple: [128, 0, 128],
rebeccapurple: [102, 51, 153],
red: [255, 0, 0],
rosybrown: [188, 143, 143],
royalblue: [65, 105, 225],
saddlebrown: [139, 69, 19],
salmon: [250, 128, 114],
sandybrown: [244, 164, 96],
seagreen: [46, 139, 87],
seashell: [255, 245, 238],
sienna: [160, 82, 45],
silver: [192, 192, 192],
skyblue: [135, 206, 235],
slateblue: [106, 90, 205],
slategray: [112, 128, 144],
slategrey: [112, 128, 144],
snow: [255, 250, 250],
springgreen: [0, 255, 127],
steelblue: [70, 130, 180],
tan: [210, 180, 140],
teal: [0, 128, 128],
thistle: [216, 191, 216],
tomato: [255, 99, 71],
turquoise: [64, 224, 208],
violet: [238, 130, 238],
wheat: [245, 222, 179],
white: [255, 255, 255],
whitesmoke: [245, 245, 245],
yellow: [255, 255, 0],
yellowgreen: [154, 205, 50]
};
}
});
// ../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js
var require_conversions = __commonJS({
"../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js"(exports, module) {
init_cjs_shims();
var cssKeywords = require_color_name(), reverseKeywords = {};
for (let key of Object.keys(cssKeywords))
reverseKeywords[cssKeywords[key]] = key;
var convert = {
rgb: { channels: 3, labels: "rgb" },
hsl: { channels: 3, labels: "hsl" },
hsv: { channels: 3, labels: "hsv" },
hwb: { channels: 3, labels: "hwb" },
cmyk: { channels: 4, labels: "cmyk" },
xyz: { channels: 3, labels: "xyz" },
lab: { channels: 3, labels: "lab" },
lch: { channels: 3, labels: "lch" },
hex: { channels: 1, labels: ["hex"] },
keyword: { channels: 1, labels: ["keyword"] },
ansi16: { channels: 1, labels: ["ansi16"] },
ansi256: { channels: 1, labels: ["ansi256"] },
hcg: { channels: 3, labels: ["h", "c", "g"] },
apple: { channels: 3, labels: ["r16", "g16", "b16"] },
gray: { channels: 1, labels: ["gray"] }
};
module.exports = convert;
for (let model of Object.keys(convert)) {
if (!("channels" in convert[model]))
throw new Error("missing channels property: " + model);
if (!("labels" in convert[model]))
throw new Error("missing channel labels property: " + model);
if (convert[model].labels.length !== convert[model].channels)
throw new Error("channel and label counts mismatch: " + model);
let { channels, labels } = convert[model];
delete convert[model].channels, delete convert[model].labels, Object.defineProperty(convert[model], "channels", { value: channels }), Object.defineProperty(convert[model], "labels", { value: labels });
}
convert.rgb.hsl = function(rgb) {
let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), delta = max - min, h, s;
max === min ? h = 0 : r === max ? h = (g - b) / delta : g === max ? h = 2 + (b - r) / delta : b === max && (h = 4 + (r - g) / delta), h = Math.min(h * 60, 360), h < 0 && (h += 360);
let l = (min + max) / 2;
return max === min ? s = 0 : l <= 0.5 ? s = delta / (max + min) : s = delta / (2 - max - min), [h, s * 100, l * 100];
};
convert.rgb.hsv = function(rgb) {
let rdif, gdif, bdif, h, s, r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255, v = Math.max(r, g, b), diff = v - Math.min(r, g, b), diffc = function(c) {
return (v - c) / 6 / diff + 1 / 2;
};
return diff === 0 ? (h = 0, s = 0) : (s = diff / v, rdif = diffc(r), gdif = diffc(g), bdif = diffc(b), r === v ? h = bdif - gdif : g === v ? h = 1 / 3 + rdif - bdif : b === v && (h = 2 / 3 + gdif - rdif), h < 0 ? h += 1 : h > 1 && (h -= 1)), [
h * 360,
s * 100,
v * 100
];
};
convert.rgb.hwb = function(rgb) {
let r = rgb[0], g = rgb[1], b = rgb[2], h = convert.rgb.hsl(rgb)[0], w = 1 / 255 * Math.min(r, Math.min(g, b));
return b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)), [h, w * 100, b * 100];
};
convert.rgb.cmyk = function(rgb) {
let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255, k = Math.min(1 - r, 1 - g, 1 - b), c = (1 - r - k) / (1 - k) || 0, m = (1 - g - k) / (1 - k) || 0, y = (1 - b - k) / (1 - k) || 0;
return [c * 100, m * 100, y * 100, k * 100];
};
function comparativeDistance(x, y) {
return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
}
convert.rgb.keyword = function(rgb) {
let reversed = reverseKeywords[rgb];
if (reversed)
return reversed;
let currentClosestDistance = 1 / 0, currentClosestKeyword;
for (let keyword of Object.keys(cssKeywords)) {
let value = cssKeywords[keyword], distance = comparativeDistance(rgb, value);
distance < currentClosestDistance && (currentClosestDistance = distance, currentClosestKeyword = keyword);
}
return currentClosestKeyword;
};
convert.keyword.rgb = function(keyword) {
return cssKeywords[keyword];
};
convert.rgb.xyz = function(rgb) {
let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;
r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92, g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92, b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
let x = r * 0.4124 + g * 0.3576 + b * 0.1805, y = r * 0.2126 + g * 0.7152 + b * 0.0722, z = r * 0.0193 + g * 0.1192 + b * 0.9505;
return [x * 100, y * 100, z * 100];
};
convert.rgb.lab = function(rgb) {
let xyz = convert.rgb.xyz(rgb), x = xyz[0], y = xyz[1], z = xyz[2];
x /= 95.047, y /= 100, z /= 108.883, x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116, y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116, z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
let l = 116 * y - 16, a = 500 * (x - y), b = 200 * (y - z);
return [l, a, b];
};
convert.hsl.rgb = function(hsl) {
let h = hsl[0] / 360, s = hsl[1] / 100, l = hsl[2] / 100, t2, t3, val;
if (s === 0)
return val = l * 255, [val, val, val];
l < 0.5 ? t2 = l * (1 + s) : t2 = l + s - l * s;
let t1 = 2 * l - t2, rgb = [0, 0, 0];
for (let i = 0; i < 3; i++)
t3 = h + 1 / 3 * -(i - 1), t3 < 0 && t3++, t3 > 1 && t3--, 6 * t3 < 1 ? val = t1 + (t2 - t1) * 6 * t3 : 2 * t3 < 1 ? val = t2 : 3 * t3 < 2 ? val = t1 + (t2 - t1) * (2 / 3 - t3) * 6 : val = t1, rgb[i] = val * 255;
return rgb;
};
convert.hsl.hsv = function(hsl) {
let h = hsl[0], s = hsl[1] / 100, l = hsl[2] / 100, smin = s, lmin = Math.max(l, 0.01);
l *= 2, s *= l <= 1 ? l : 2 - l, smin *= lmin <= 1 ? lmin : 2 - lmin;
let v = (l + s) / 2, sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
return [h, sv * 100, v * 100];
};
convert.hsv.rgb = function(hsv) {
let h = hsv[0] / 60, s = hsv[1] / 100, v = hsv[2] / 100, hi = Math.floor(h) % 6, f = h - Math.floor(h), p = 255 * v * (1 - s), q = 255 * v * (1 - s * f), t = 255 * v * (1 - s * (1 - f));
switch (v *= 255, hi) {
case 0:
return [v, t, p];
case 1:
return [q, v, p];
case 2:
return [p, v, t];
case 3:
return [p, q, v];
case 4:
return [t, p, v];
case 5:
return [v, p, q];
}
};
convert.hsv.hsl = function(hsv) {
let h = hsv[0], s = hsv[1] / 100, v = hsv[2] / 100, vmin = Math.max(v, 0.01), sl, l;
l = (2 - s) * v;
let lmin = (2 - s) * vmin;
return sl = s * vmin, sl /= lmin <= 1 ? lmin : 2 - lmin, sl = sl || 0, l /= 2, [h, sl * 100, l * 100];
};
convert.hwb.rgb = function(hwb) {
let h = hwb[0] / 360, wh = hwb[1] / 100, bl = hwb[2] / 100, ratio = wh + bl, f;
ratio > 1 && (wh /= ratio, bl /= ratio);
let i = Math.floor(6 * h), v = 1 - bl;
f = 6 * h - i, i & 1 && (f = 1 - f);
let n = wh + f * (v - wh), r, g, b;
switch (i) {
default:
case 6:
case 0:
r = v, g = n, b = wh;
break;
case 1:
r = n, g = v, b = wh;
break;
case 2:
r = wh, g = v, b = n;
break;
case 3:
r = wh, g = n, b = v;
break;
case 4:
r = n, g = wh, b = v;
break;
case 5:
r = v, g = wh, b = n;
break;
}
return [r * 255, g * 255, b * 255];
};
convert.cmyk.rgb = function(cmyk) {
let c = cmyk[0] / 100, m = cmyk[1] / 100, y = cmyk[2] / 100, k = cmyk[3] / 100, r = 1 - Math.min(1, c * (1 - k) + k), g = 1 - Math.min(1, m * (1 - k) + k), b = 1 - Math.min(1, y * (1 - k) + k);
return [r * 255, g * 255, b * 255];
};
convert.xyz.rgb = function(xyz) {
let x = xyz[0] / 100, y = xyz[1] / 100, z = xyz[2] / 100, r, g, b;
return r = x * 3.2406 + y * -1.5372 + z * -0.4986, g = x * -0.9689 + y * 1.8758 + z * 0.0415, b = x * 0.0557 + y * -0.204 + z * 1.057, r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92, g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92, b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92, r = Math.min(Math.max(0, r), 1), g = Math.min(Math.max(0, g), 1), b = Math.min(Math.max(0, b), 1), [r * 255, g * 255, b * 255];
};
convert.xyz.lab = function(xyz) {
let x = xyz[0], y = xyz[1], z = xyz[2];
x /= 95.047, y /= 100, z /= 108.883, x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116, y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116, z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
let l = 116 * y - 16, a = 500 * (x - y), b = 200 * (y - z);
return [l, a, b];
};
convert.lab.xyz = function(lab) {
let l = lab[0], a = lab[1], b = lab[2], x, y, z;
y = (l + 16) / 116, x = a / 500 + y, z = y - b / 200;
let y2 = y ** 3, x2 = x ** 3, z2 = z ** 3;
return y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787, x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787, z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787, x *= 95.047, y *= 100, z *= 108.883, [x, y, z];
};
convert.lab.lch = function(lab) {
let l = lab[0], a = lab[1], b = lab[2], h;
h = Math.atan2(b, a) * 360 / 2 / Math.PI, h < 0 && (h += 360);
let c = Math.sqrt(a * a + b * b);
return [l, c, h];
};
convert.lch.lab = function(lch) {
let l = lch[0], c = lch[1], hr = lch[2] / 360 * 2 * Math.PI, a = c * Math.cos(hr), b = c * Math.sin(hr);
return [l, a, b];
};
convert.rgb.ansi16 = function(args, saturation = null) {
let [r, g, b] = args, value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
if (value = Math.round(value / 50), value === 0)
return 30;
let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
return value === 2 && (ansi += 60), ansi;
};
convert.hsv.ansi16 = function(args) {
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
};
convert.rgb.ansi256 = function(args) {
let r = args[0], g = args[1], b = args[2];
return r === g && g === b ? r < 8 ? 16 : r > 248 ? 231 : Math.round((r - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
};
convert.ansi16.rgb = function(args) {
let color = args % 10;
if (color === 0 || color === 7)
return args > 50 && (color += 3.5), color = color / 10.5 * 255, [color, color, color];
let mult = (~~(args > 50) + 1) * 0.5, r = (color & 1) * mult * 255, g = (color >> 1 & 1) * mult * 255, b = (color >> 2 & 1) * mult * 255;
return [r, g, b];
};
convert.ansi256.rgb = function(args) {
if (args >= 232) {
let c = (args - 232) * 10 + 8;
return [c, c, c];
}
args -= 16;
let rem, r = Math.floor(args / 36) / 5 * 255, g = Math.floor((rem = args % 36) / 6) / 5 * 255, b = rem % 6 / 5 * 255;
return [r, g, b];
};
convert.rgb.hex = function(args) {
let string = (((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255)).toString(16).toUpperCase();
return "000000".substring(string.length) + string;
};
convert.hex.rgb = function(args) {
let match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if (!match)
return [0, 0, 0];
let colorString = match[0];
match[0].length === 3 && (colorString = colorString.split("").map((char) => char + char).join(""));
let integer = parseInt(colorString, 16), r = integer >> 16 & 255, g = integer >> 8 & 255, b = integer & 255;
return [r, g, b];
};
convert.rgb.hcg = function(rgb) {
let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255, max = Math.max(Math.max(r, g), b), min = Math.min(Math.min(r, g), b), chroma = max - min, grayscale, hue;
return chroma < 1 ? grayscale = min / (1 - chroma) : grayscale = 0, chroma <= 0 ? hue = 0 : max === r ? hue = (g - b) / chroma % 6 : max === g ? hue = 2 + (b - r) / chroma : hue = 4 + (r - g) / chroma, hue /= 6, hue %= 1, [hue * 360, chroma * 100, grayscale * 100];
};
convert.hsl.hcg = function(hsl) {
let s = hsl[1] / 100, l = hsl[2] / 100, c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l), f = 0;
return c < 1 && (f = (l - 0.5 * c) / (1 - c)), [hsl[0], c * 100, f * 100];
};
convert.hsv.hcg = function(hsv) {
let s = hsv[1] / 100, v = hsv[2] / 100, c = s * v, f = 0;
return c < 1 && (f = (v - c) / (1 - c)), [hsv[0], c * 100, f * 100];
};
convert.hcg.rgb = function(hcg) {
let h = hcg[0] / 360, c = hcg[1] / 100, g = hcg[2] / 100;
if (c === 0)
return [g * 255, g * 255, g * 255];
let pure = [0, 0, 0], hi = h % 1 * 6, v = hi % 1, w = 1 - v, mg = 0;
switch (Math.floor(hi)) {
case 0:
pure[0] = 1, pure[1] = v, pure[2] = 0;
break;
case 1:
pure[0] = w, pure[1] = 1, pure[2] = 0;
break;
case 2:
pure[0] = 0, pure[1] = 1, pure[2] = v;
break;
case 3:
pure[0] = 0, pure[1] = w, pure[2] = 1;
break;
case 4:
pure[0] = v, pure[1] = 0, pure[2] = 1;
break;
default:
pure[0] = 1, pure[1] = 0, pure[2] = w;
}
return mg = (1 - c) * g, [
(c * pure[0] + mg) * 255,
(c * pure[1] + mg) * 255,
(c * pure[2] + mg) * 255
];
};
convert.hcg.hsv = function(hcg) {
let c = hcg[1] / 100, g = hcg[2] / 100, v = c + g * (1 - c), f = 0;
return v > 0 && (f = c / v), [hcg[0], f * 100, v * 100];
};
convert.hcg.hsl = function(hcg) {
let c = hcg[1] / 100, l = hcg[2] / 100 * (1 - c) + 0.5 * c, s = 0;
return l > 0 && l < 0.5 ? s = c / (2 * l) : l >= 0.5 && l < 1 && (s = c / (2 * (1 - l))), [hcg[0], s * 100, l * 100];
};
convert.hcg.hwb = function(hcg) {
let c = hcg[1] / 100, g = hcg[2] / 100, v = c + g * (1 - c);
return [hcg[0], (v - c) * 100, (1 - v) * 100];
};
convert.hwb.hcg = function(hwb) {
let w = hwb[1] / 100, v = 1 - hwb[2] / 100, c = v - w, g = 0;
return c < 1 && (g = (v - c) / (1 - c)), [hwb[0], c * 100, g * 100];
};
convert.apple.rgb = function(apple) {
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
};
convert.rgb.apple = function(rgb) {
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
};
convert.gray.rgb = function(args) {
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
};
convert.gray.hsl = function(args) {
return [0, 0, args[0]];
};
convert.gray.hsv = convert.gray.hsl;
convert.gray.hwb = function(gray) {
return [0, 100, gray[0]];
};
convert.gray.cmyk = function(gray) {
return [0, 0, 0, gray[0]];
};
convert.gray.lab = function(gray) {
return [gray[0], 0, 0];
};
convert.gray.hex = function(gray) {
let val = Math.round(gray[0] / 100 * 255) & 255, string = ((val << 16) + (val << 8) + val).toString(16).toUpperCase();
return "000000".substring(string.length) + string;
};
convert.rgb.gray = function(rgb) {
return [(rgb[0] + rgb[1] + rgb[2]) / 3 / 255 * 100];
};
}
});
// ../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js
var require_route = __commonJS({
"../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js"(exports, module) {
init_cjs_shims();
var conversions = require_conversions();
function buildGraph() {
let graph = {}, models = Object.keys(conversions);
for (let len = models.length, i = 0; i < len; i++)
graph[models[i]] = {
// http://jsperf.com/1-vs-infinity
// micro-opt, but this is simple.
distance: -1,
parent: null
};
return graph;
}
function deriveBFS(fromModel) {
let graph = buildGraph(), queue = [fromModel];
for (graph[fromModel].distance = 0; queue.length; ) {
let current = queue.pop(), adjacents = Object.keys(conversions[current]);
for (let len = adjacents.length, i = 0; i < len; i++) {
let adjacent = adjacents[i], node = graph[adjacent];
node.distance === -1 && (node.distance = graph[current].distance + 1, node.parent = current, queue.unshift(adjacent));
}
}
return graph;
}
function link(from, to) {
return function(args) {
return to(from(args));
};
}
function wrapConversion(toModel, graph) {
let path = [graph[toModel].parent, toModel], fn = conversions[graph[toModel].parent][toModel], cur = graph[toModel].parent;
for (; graph[cur].parent; )
path.unshift(graph[cur].parent), fn = link(conversions[graph[cur].parent][cur], fn), cur = graph[cur].parent;
return fn.conversion = path, fn;
}
module.exports = function(fromModel) {
let graph = deriveBFS(fromModel), conversion = {}, models = Object.keys(graph);
for (let len = models.length, i = 0; i < len; i++) {
let toModel = models[i];
graph[toModel].parent !== null && (conversion[toModel] = wrapConversion(toModel, graph));
}
return conversion;
};
}
});
// ../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js
var require_color_convert = __commonJS({
"../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js"(exports, module) {
init_cjs_shims();
var conversions = require_conversions(), route = require_route(), convert = {}, models = Object.keys(conversions);
function wrapRaw(fn) {
let wrappedFn = function(...args) {
let arg0 = args[0];
return arg0 == null ? arg0 : (arg0.length > 1 && (args = arg0), fn(args));
};
return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn;
}
function wrapRounded(fn) {
let wrappedFn = function(...args) {
let arg0 = args[0];
if (arg0 == null)
return arg0;
arg0.length > 1 && (args = arg0);
let result = fn(args);
if (typeof result == "object")
for (let len = result.length, i = 0; i < len; i++)
result[i] = Math.round(result[i]);
return result;
};
return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn;
}
models.forEach((fromModel) => {
convert[fromModel] = {}, Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels }), Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
let routes = route(fromModel);
Object.keys(routes).forEach((toModel) => {
let fn = routes[toModel];
convert[fromModel][toModel] = wrapRounded(fn), convert[fromModel][toModel].raw = wrapRaw(fn);
});
});
module.exports = convert;
}
});
// ../../node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js
var require_ansi_styles = __commonJS({
"../../node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js"(exports, module) {
"use strict";
init_cjs_shims();
var wrapAnsi16 = (fn, offset) => (...args) => `\x1B[${fn(...args) + offset}m`, wrapAnsi256 = (fn, offset) => (...args) => {
let code = fn(...args);
return `\x1B[${38 + offset};5;${code}m`;
}, wrapAnsi16m = (fn, offset) => (...args) => {
let rgb = fn(...args);
return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
}, ansi2ansi = (n) => n, rgb2rgb = (r, g, b) => [r, g, b], setLazyProperty = (object, property, get) => {
Object.defineProperty(object, property, {
get: () => {
let value = get();
return Object.defineProperty(object, property, {
value,
enumerable: !0,
configurable: !0
}), value;
},
enumerable: !0,
configurable: !0
});
}, colorConvert, makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
colorConvert === void 0 && (colorConvert = require_color_convert());
let offset = isBackground ? 10 : 0, styles = {};
for (let [sourceSpace, suite] of Object.entries(colorConvert)) {
let name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
sourceSpace === targetSpace ? styles[name] = wrap(identity, offset) : typeof suite == "object" && (styles[name] = wrap(suite[targetSpace], offset));
}
return styles;
};
function assembleStyles() {
let codes = /* @__PURE__ */ new Map(), styles = {
modifier: {
reset: [0, 0],
// 21 isn't widely supported and 22 does the same thing
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
// Bright color
blackBright: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
// Bright color
bgBlackBright: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
styles.color.gray = styles.color.blackBright, styles.bgColor.bgGray = styles.bgColor.bgBlackBright, styles.color.grey = styles.color.blackBright, styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
for (let [groupName, group] of Object.entries(styles)) {
for (let [styleName, style] of Object.entries(group))
styles[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
}, group[styleName] = styles[styleName], codes.set(style[0], style[1]);
Object.defineProperty(styles, groupName, {
value: group,
enumerable: !1
});
}
return Object.defineProperty(styles, "codes", {
value: codes,
enumerable: !1
}), styles.color.close = "\x1B[39m", styles.bgColor.close = "\x1B[49m", setLazyProperty(styles.color, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, !1)), setLazyProperty(styles.color, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, !1)), setLazyProperty(styles.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, !1)), setLazyProperty(styles.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, !0)), setLazyProperty(styles.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, !0)), setLazyProperty(styles.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, !0)), styles;
}
Object.defineProperty(module, "exports", {
enumerable: !0,
get: assembleStyles
});
}
});
// ../../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js
var require_supports_color2 = __commonJS({
"../../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js"(exports, module) {
"use strict";
init_cjs_shims();
var os = __require("os"), tty = __require("tty"), hasFlag = require_has_flag(), { env } = process, forceColor;
hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never") ? forceColor = 0 : (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) && (forceColor = 1);
"FORCE_COLOR" in env && (env.FORCE_COLOR === "true" ? forceColor = 1 : env.FORCE_COLOR === "false" ? forceColor = 0 : forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3));
function translateLevel(level) {
return level === 0 ? !1 : {
level,
hasBasic: !0,
has256: level >= 2,
has16m: level >= 3
};
}
function supportsColor(haveStream, streamIsTTY) {
if (forceColor === 0)
return 0;
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor"))
return 3;
if (hasFlag("color=256"))
return 2;
if (haveStream && !streamIsTTY && forceColor === void 0)
return 0;
let min = forceColor || 0;
if (env.TERM === "dumb")
return min;
if (process.platform === "win32") {
let osRelease = os.release().split(".");
return Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586 ? Number(osRelease[2]) >= 14931 ? 3 : 2 : 1;
}
if ("CI" in env)
return ["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship" ? 1 : min;
if ("TEAMCITY_VERSION" in env)
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
if (env.COLORTERM === "truecolor")
return 3;
if ("TERM_PROGRAM" in env) {
let version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app":
return version >= 3 ? 3 : 2;
case "Apple_Terminal":
return 2;
}
}
return /-256(color)?$/i.test(env.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM) || "COLORTERM" in env ? 1 : min;
}
function getSupportLevel(stream) {
let level = supportsColor(stream, stream && stream.isTTY);
return translateLevel(level);
}
module.exports = {
supportsColor: getSupportLevel,
stdout: translateLevel(supportsColor(!0, tty.isatty(1))),
stderr: translateLevel(supportsColor(!0, tty.isatty(2)))
};
}
});
// ../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js
var require_util2 = __commonJS({
"../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js"(exports, module) {
"use strict";
init_cjs_shims();
var stringReplaceAll = (string, substring, replacer) => {
let index = string.indexOf(substring);
if (index === -1)
return string;
let substringLength = substring.length, endIndex = 0, returnValue = "";
do
returnValue += string.substr(endIndex, index - endIndex) + substring + replacer, endIndex = index + substringLength, index = string.indexOf(substring, endIndex);
while (index !== -1);
return returnValue += string.substr(endIndex), returnValue;
}, stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
let endIndex = 0, returnValue = "";
do {
let gotCR = string[index - 1] === "\r";
returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? `\r
` : `
`) + postfix, endIndex = index + 1, index = string.indexOf(`
`, endIndex);
} while (index !== -1);
return returnValue += string.substr(endIndex), returnValue;
};
module.exports = {
stringReplaceAll,
stringEncaseCRLFWithFirstIndex
};
}
});
// ../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js
var require_templates = __commonJS({
"../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js"(exports, module) {
"use strict";
init_cjs_shims();
var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi, STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g, STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/, ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi, ESCAPES = /* @__PURE__ */ new Map([
["n", `
`],
["r", "\r"],
["t", " "],
["b", "\b"],
["f", "\f"],
["v", "\v"],
["0", "\0"],
["\\", "\\"],
["e", "\x1B"],
["a", "\x07"]
]);
function unescape(c) {
let u = c[0] === "u", bracket = c[1] === "{";
return u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3 ? String.fromCharCode(parseInt(c.slice(1), 16)) : u && bracket ? String.fromCodePoint(parseInt(c.slice(2, -1), 16)) : ESCAPES.get(c) || c;
}
function parseArguments(name, arguments_) {
let results = [], chunks = arguments_.trim().split(/\s*,\s*/g), matches;
for (let chunk of chunks) {
let number = Number(chunk);
if (!Number.isNaN(number))
results.push(number);
else if (matches = chunk.match(STRING_REGEX))
results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));
else
throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
}
return results;
}
function parseStyle(style) {
STYLE_REGEX.lastIndex = 0;
let results = [], matches;
for (; (matches = STYLE_REGEX.exec(style)) !== null; ) {
let name = matches[1];
if (matches[2]) {
let args = parseArguments(name, matches[2]);
results.push([name].concat(args));
} else
results.push([name]);
}
return results;
}
function buildStyle(chalk, styles) {
let enabled = {};
for (let layer of styles)
for (let style of layer.styles)
enabled[style[0]] = layer.inverse ? null : style.slice(1);
let current = chalk;
for (let [styleName, styles2] of Object.entries(enabled))
if (Array.isArray(styles2)) {
if (!(styleName in current))
throw new Error(`Unknown Chalk style: ${styleName}`);
current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
}
return current;
}
module.exports = (chalk, temporary) => {
let styles = [], chunks = [], chunk = [];
if (temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
if (escapeCharacter)
chunk.push(unescape(escapeCharacter));
else if (style) {
let string = chunk.join("");
chunk = [], chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)), styles.push({ inverse, styles: parseStyle(style) });
} else if (close) {
if (styles.length === 0)
throw new Error("Found extraneous } in Chalk template literal");
chunks.push(buildStyle(chalk, styles)(chunk.join(""))), chunk = [], styles.pop();
} else
chunk.push(character);
}), chunks.push(chunk.join("")), styles.length > 0) {
let errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
throw new Error(errMessage);
}
return chunks.join("");
};
}
});
// ../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js
var require_source = __commonJS({
"../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js"(exports, module) {
"use strict";
init_cjs_shims();
var ansiStyles = require_ansi_styles(), { stdout: stdoutColor, stderr: stderrColor } = require_supports_color2(), {
stringReplaceAll,
stringEncaseCRLFWithFirstIndex
} = require_util2(), { isArray } = Array, levelMapping = [
"ansi",
"ansi",
"ansi256",
"ansi16m"
], styles = /* @__PURE__ */ Object.create(null), applyOptions = (object, options = {}) => {
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");
let colorLevel = stdoutColor ? stdoutColor.level : 0;
object.level = options.level === void 0 ? colorLevel : options.level;
}, ChalkClass = class {
constructor(options) {
return chalkFactory(options);
}
}, chalkFactory = (options) => {
let chalk2 = {};
return applyOptions(chalk2, options), chalk2.template = (...arguments_) => chalkTag(chalk2.template, ...arguments_), Object.setPrototypeOf(chalk2, Chalk.prototype), Object.setPrototypeOf(chalk2.template, chalk2), chalk2.template.constructor = () => {
throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
}, chalk2.template.Instance = ChalkClass, chalk2.template;
};
function Chalk(options) {
return chalkFactory(options);
}
for (let [styleName, style] of Object.entries(ansiStyles))
styles[styleName] = {
get() {
let builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
return Object.defineProperty(this, styleName, { value: builder }), builder;
}
};
styles.visible = {
get() {
let builder = createBuilder(this, this._styler, !0);
return Object.defineProperty(this, "visible", { value: builder }), builder;
}
};
var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
for (let model of usedModels)
styles[model] = {
get() {
let { level } = this;
return function(...arguments_) {
let styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
return createBuilder(this, styler, this._isEmpty);
};
}
};
for (let model of usedModels) {
let bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
styles[bgModel] = {
get() {
let { level } = this;
return function(...arguments_) {
let styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
return createBuilder(this, styler, this._isEmpty);
};
}
};
}
var proto = Object.defineProperties(() => {
}, {
...styles,
level: {
enumerable: !0,
get() {
return this._generator.level;
},
set(level) {
this._generator.level = level;
}
}
}), createStyler = (open, close, parent) => {
let openAll, closeAll;
return parent === void 0 ? (openAll = open, closeAll = close) : (openAll = parent.openAll + open, closeAll = close + parent.closeAll), {
open,
close,
openAll,
closeAll,
parent
};
}, createBuilder = (self, _styler, _isEmpty) => {
let builder = (...arguments_) => isArray(arguments_[0]) && isArray(arguments_[0].raw) ? applyStyle(builder, chalkTag(builder, ...arguments_)) : applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
return Object.setPrototypeOf(builder, proto), builder._generator = self, builder._styler = _styler, builder._isEmpty = _isEmpty, builder;
}, applyStyle = (self, string) => {
if (self.level <= 0 || !string)
return self._isEmpty ? "" : string;
let styler = self._styler;
if (styler === void 0)
return string;
let { openAll, closeAll } = styler;
if (string.indexOf("\x1B") !== -1)
for (; styler !== void 0; )
string = stringReplaceAll(string, styler.close, styler.open), styler = styler.parent;
let lfIndex = string.indexOf(`
`);
return lfIndex !== -1 && (string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex)), openAll + string + closeAll;
}, template, chalkTag = (chalk2, ...strings) => {
let [firstString] = strings;
if (!isArray(firstString) || !isArray(firstStrin