5129 lines
157 KiB
JavaScript
5129 lines
157 KiB
JavaScript
var __create = Object.create;
|
|
var __defProp = Object.defineProperty;
|
|
var __defProps = Object.defineProperties;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __getProtoOf = Object.getPrototypeOf;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var __spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (__hasOwnProp.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
if (__getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(b)) {
|
|
if (__propIsEnum.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
var __objRest = (source, exclude) => {
|
|
var target = {};
|
|
for (var prop in source)
|
|
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
target[prop] = source[prop];
|
|
if (source != null && __getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(source)) {
|
|
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
target[prop] = source[prop];
|
|
}
|
|
return target;
|
|
};
|
|
var __commonJS = (cb, mod) => function __require() {
|
|
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
};
|
|
var __export = (target, all) => {
|
|
__markAsModule(target);
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __reExport = (target, module2, desc) => {
|
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
for (let key of __getOwnPropNames(module2))
|
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
}
|
|
return target;
|
|
};
|
|
var __toModule = (module2) => {
|
|
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
};
|
|
|
|
// pnp:color-name-npm-1.1.4-025792b0ea-b044585952.zip/node_modules/color-name/index.js
|
|
var require_color_name = __commonJS({
|
|
"pnp:color-name-npm-1.1.4-025792b0ea-b044585952.zip/node_modules/color-name/index.js"(exports, module2) {
|
|
"use strict";
|
|
module2.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]
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/conversions.js
|
|
var require_conversions = __commonJS({
|
|
"pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/conversions.js"(exports, module2) {
|
|
var cssKeywords = require_color_name();
|
|
var reverseKeywords = {};
|
|
for (const 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"] }
|
|
};
|
|
module2.exports = convert;
|
|
for (const 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);
|
|
}
|
|
const { 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) {
|
|
const r = rgb[0] / 255;
|
|
const g = rgb[1] / 255;
|
|
const b = rgb[2] / 255;
|
|
const min = Math.min(r, g, b);
|
|
const max = Math.max(r, g, b);
|
|
const delta = max - min;
|
|
let h;
|
|
let s;
|
|
if (max === min) {
|
|
h = 0;
|
|
} else if (r === max) {
|
|
h = (g - b) / delta;
|
|
} else if (g === max) {
|
|
h = 2 + (b - r) / delta;
|
|
} else if (b === max) {
|
|
h = 4 + (r - g) / delta;
|
|
}
|
|
h = Math.min(h * 60, 360);
|
|
if (h < 0) {
|
|
h += 360;
|
|
}
|
|
const l = (min + max) / 2;
|
|
if (max === min) {
|
|
s = 0;
|
|
} else if (l <= 0.5) {
|
|
s = delta / (max + min);
|
|
} else {
|
|
s = delta / (2 - max - min);
|
|
}
|
|
return [h, s * 100, l * 100];
|
|
};
|
|
convert.rgb.hsv = function(rgb) {
|
|
let rdif;
|
|
let gdif;
|
|
let bdif;
|
|
let h;
|
|
let s;
|
|
const r = rgb[0] / 255;
|
|
const g = rgb[1] / 255;
|
|
const b = rgb[2] / 255;
|
|
const v = Math.max(r, g, b);
|
|
const diff = v - Math.min(r, g, b);
|
|
const diffc = function(c) {
|
|
return (v - c) / 6 / diff + 1 / 2;
|
|
};
|
|
if (diff === 0) {
|
|
h = 0;
|
|
s = 0;
|
|
} else {
|
|
s = diff / v;
|
|
rdif = diffc(r);
|
|
gdif = diffc(g);
|
|
bdif = diffc(b);
|
|
if (r === v) {
|
|
h = bdif - gdif;
|
|
} else if (g === v) {
|
|
h = 1 / 3 + rdif - bdif;
|
|
} else if (b === v) {
|
|
h = 2 / 3 + gdif - rdif;
|
|
}
|
|
if (h < 0) {
|
|
h += 1;
|
|
} else if (h > 1) {
|
|
h -= 1;
|
|
}
|
|
}
|
|
return [
|
|
h * 360,
|
|
s * 100,
|
|
v * 100
|
|
];
|
|
};
|
|
convert.rgb.hwb = function(rgb) {
|
|
const r = rgb[0];
|
|
const g = rgb[1];
|
|
let b = rgb[2];
|
|
const h = convert.rgb.hsl(rgb)[0];
|
|
const w = 1 / 255 * Math.min(r, Math.min(g, b));
|
|
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
|
|
return [h, w * 100, b * 100];
|
|
};
|
|
convert.rgb.cmyk = function(rgb) {
|
|
const r = rgb[0] / 255;
|
|
const g = rgb[1] / 255;
|
|
const b = rgb[2] / 255;
|
|
const k = Math.min(1 - r, 1 - g, 1 - b);
|
|
const c = (1 - r - k) / (1 - k) || 0;
|
|
const m = (1 - g - k) / (1 - k) || 0;
|
|
const 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) {
|
|
const reversed = reverseKeywords[rgb];
|
|
if (reversed) {
|
|
return reversed;
|
|
}
|
|
let currentClosestDistance = Infinity;
|
|
let currentClosestKeyword;
|
|
for (const keyword of Object.keys(cssKeywords)) {
|
|
const value = cssKeywords[keyword];
|
|
const distance = comparativeDistance(rgb, value);
|
|
if (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;
|
|
let g = rgb[1] / 255;
|
|
let 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;
|
|
const x = r * 0.4124 + g * 0.3576 + b * 0.1805;
|
|
const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
|
|
const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
|
|
return [x * 100, y * 100, z * 100];
|
|
};
|
|
convert.rgb.lab = function(rgb) {
|
|
const xyz = convert.rgb.xyz(rgb);
|
|
let x = xyz[0];
|
|
let y = xyz[1];
|
|
let 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;
|
|
const l = 116 * y - 16;
|
|
const a = 500 * (x - y);
|
|
const b = 200 * (y - z);
|
|
return [l, a, b];
|
|
};
|
|
convert.hsl.rgb = function(hsl) {
|
|
const h = hsl[0] / 360;
|
|
const s = hsl[1] / 100;
|
|
const l = hsl[2] / 100;
|
|
let t2;
|
|
let t3;
|
|
let val;
|
|
if (s === 0) {
|
|
val = l * 255;
|
|
return [val, val, val];
|
|
}
|
|
if (l < 0.5) {
|
|
t2 = l * (1 + s);
|
|
} else {
|
|
t2 = l + s - l * s;
|
|
}
|
|
const t1 = 2 * l - t2;
|
|
const rgb = [0, 0, 0];
|
|
for (let i = 0; i < 3; i++) {
|
|
t3 = h + 1 / 3 * -(i - 1);
|
|
if (t3 < 0) {
|
|
t3++;
|
|
}
|
|
if (t3 > 1) {
|
|
t3--;
|
|
}
|
|
if (6 * t3 < 1) {
|
|
val = t1 + (t2 - t1) * 6 * t3;
|
|
} else if (2 * t3 < 1) {
|
|
val = t2;
|
|
} else if (3 * t3 < 2) {
|
|
val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
|
|
} else {
|
|
val = t1;
|
|
}
|
|
rgb[i] = val * 255;
|
|
}
|
|
return rgb;
|
|
};
|
|
convert.hsl.hsv = function(hsl) {
|
|
const h = hsl[0];
|
|
let s = hsl[1] / 100;
|
|
let l = hsl[2] / 100;
|
|
let smin = s;
|
|
const lmin = Math.max(l, 0.01);
|
|
l *= 2;
|
|
s *= l <= 1 ? l : 2 - l;
|
|
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
const v = (l + s) / 2;
|
|
const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
|
|
return [h, sv * 100, v * 100];
|
|
};
|
|
convert.hsv.rgb = function(hsv) {
|
|
const h = hsv[0] / 60;
|
|
const s = hsv[1] / 100;
|
|
let v = hsv[2] / 100;
|
|
const hi = Math.floor(h) % 6;
|
|
const f = h - Math.floor(h);
|
|
const p = 255 * v * (1 - s);
|
|
const q = 255 * v * (1 - s * f);
|
|
const t = 255 * v * (1 - s * (1 - f));
|
|
v *= 255;
|
|
switch (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) {
|
|
const h = hsv[0];
|
|
const s = hsv[1] / 100;
|
|
const v = hsv[2] / 100;
|
|
const vmin = Math.max(v, 0.01);
|
|
let sl;
|
|
let l;
|
|
l = (2 - s) * v;
|
|
const lmin = (2 - s) * vmin;
|
|
sl = s * vmin;
|
|
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
sl = sl || 0;
|
|
l /= 2;
|
|
return [h, sl * 100, l * 100];
|
|
};
|
|
convert.hwb.rgb = function(hwb) {
|
|
const h = hwb[0] / 360;
|
|
let wh = hwb[1] / 100;
|
|
let bl = hwb[2] / 100;
|
|
const ratio = wh + bl;
|
|
let f;
|
|
if (ratio > 1) {
|
|
wh /= ratio;
|
|
bl /= ratio;
|
|
}
|
|
const i = Math.floor(6 * h);
|
|
const v = 1 - bl;
|
|
f = 6 * h - i;
|
|
if ((i & 1) !== 0) {
|
|
f = 1 - f;
|
|
}
|
|
const n = wh + f * (v - wh);
|
|
let r;
|
|
let g;
|
|
let 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) {
|
|
const c = cmyk[0] / 100;
|
|
const m = cmyk[1] / 100;
|
|
const y = cmyk[2] / 100;
|
|
const k = cmyk[3] / 100;
|
|
const r = 1 - Math.min(1, c * (1 - k) + k);
|
|
const g = 1 - Math.min(1, m * (1 - k) + k);
|
|
const b = 1 - Math.min(1, y * (1 - k) + k);
|
|
return [r * 255, g * 255, b * 255];
|
|
};
|
|
convert.xyz.rgb = function(xyz) {
|
|
const x = xyz[0] / 100;
|
|
const y = xyz[1] / 100;
|
|
const z = xyz[2] / 100;
|
|
let r;
|
|
let g;
|
|
let b;
|
|
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);
|
|
return [r * 255, g * 255, b * 255];
|
|
};
|
|
convert.xyz.lab = function(xyz) {
|
|
let x = xyz[0];
|
|
let y = xyz[1];
|
|
let 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;
|
|
const l = 116 * y - 16;
|
|
const a = 500 * (x - y);
|
|
const b = 200 * (y - z);
|
|
return [l, a, b];
|
|
};
|
|
convert.lab.xyz = function(lab) {
|
|
const l = lab[0];
|
|
const a = lab[1];
|
|
const b = lab[2];
|
|
let x;
|
|
let y;
|
|
let z;
|
|
y = (l + 16) / 116;
|
|
x = a / 500 + y;
|
|
z = y - b / 200;
|
|
const y2 = y ** 3;
|
|
const x2 = x ** 3;
|
|
const z2 = z ** 3;
|
|
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;
|
|
return [x, y, z];
|
|
};
|
|
convert.lab.lch = function(lab) {
|
|
const l = lab[0];
|
|
const a = lab[1];
|
|
const b = lab[2];
|
|
let h;
|
|
const hr = Math.atan2(b, a);
|
|
h = hr * 360 / 2 / Math.PI;
|
|
if (h < 0) {
|
|
h += 360;
|
|
}
|
|
const c = Math.sqrt(a * a + b * b);
|
|
return [l, c, h];
|
|
};
|
|
convert.lch.lab = function(lch) {
|
|
const l = lch[0];
|
|
const c = lch[1];
|
|
const h = lch[2];
|
|
const hr = h / 360 * 2 * Math.PI;
|
|
const a = c * Math.cos(hr);
|
|
const b = c * Math.sin(hr);
|
|
return [l, a, b];
|
|
};
|
|
convert.rgb.ansi16 = function(args, saturation = null) {
|
|
const [r, g, b] = args;
|
|
let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
|
|
value = Math.round(value / 50);
|
|
if (value === 0) {
|
|
return 30;
|
|
}
|
|
let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
|
|
if (value === 2) {
|
|
ansi += 60;
|
|
}
|
|
return ansi;
|
|
};
|
|
convert.hsv.ansi16 = function(args) {
|
|
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
|
|
};
|
|
convert.rgb.ansi256 = function(args) {
|
|
const r = args[0];
|
|
const g = args[1];
|
|
const b = args[2];
|
|
if (r === g && g === b) {
|
|
if (r < 8) {
|
|
return 16;
|
|
}
|
|
if (r > 248) {
|
|
return 231;
|
|
}
|
|
return Math.round((r - 8) / 247 * 24) + 232;
|
|
}
|
|
const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
|
|
return ansi;
|
|
};
|
|
convert.ansi16.rgb = function(args) {
|
|
let color = args % 10;
|
|
if (color === 0 || color === 7) {
|
|
if (args > 50) {
|
|
color += 3.5;
|
|
}
|
|
color = color / 10.5 * 255;
|
|
return [color, color, color];
|
|
}
|
|
const mult = (~~(args > 50) + 1) * 0.5;
|
|
const r = (color & 1) * mult * 255;
|
|
const g = (color >> 1 & 1) * mult * 255;
|
|
const b = (color >> 2 & 1) * mult * 255;
|
|
return [r, g, b];
|
|
};
|
|
convert.ansi256.rgb = function(args) {
|
|
if (args >= 232) {
|
|
const c = (args - 232) * 10 + 8;
|
|
return [c, c, c];
|
|
}
|
|
args -= 16;
|
|
let rem;
|
|
const r = Math.floor(args / 36) / 5 * 255;
|
|
const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
|
|
const b = rem % 6 / 5 * 255;
|
|
return [r, g, b];
|
|
};
|
|
convert.rgb.hex = function(args) {
|
|
const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
|
|
const string = integer.toString(16).toUpperCase();
|
|
return "000000".substring(string.length) + string;
|
|
};
|
|
convert.hex.rgb = function(args) {
|
|
const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
|
|
if (!match) {
|
|
return [0, 0, 0];
|
|
}
|
|
let colorString = match[0];
|
|
if (match[0].length === 3) {
|
|
colorString = colorString.split("").map((char) => {
|
|
return char + char;
|
|
}).join("");
|
|
}
|
|
const integer = parseInt(colorString, 16);
|
|
const r = integer >> 16 & 255;
|
|
const g = integer >> 8 & 255;
|
|
const b = integer & 255;
|
|
return [r, g, b];
|
|
};
|
|
convert.rgb.hcg = function(rgb) {
|
|
const r = rgb[0] / 255;
|
|
const g = rgb[1] / 255;
|
|
const b = rgb[2] / 255;
|
|
const max = Math.max(Math.max(r, g), b);
|
|
const min = Math.min(Math.min(r, g), b);
|
|
const chroma = max - min;
|
|
let grayscale;
|
|
let hue;
|
|
if (chroma < 1) {
|
|
grayscale = min / (1 - chroma);
|
|
} else {
|
|
grayscale = 0;
|
|
}
|
|
if (chroma <= 0) {
|
|
hue = 0;
|
|
} else if (max === r) {
|
|
hue = (g - b) / chroma % 6;
|
|
} else if (max === g) {
|
|
hue = 2 + (b - r) / chroma;
|
|
} else {
|
|
hue = 4 + (r - g) / chroma;
|
|
}
|
|
hue /= 6;
|
|
hue %= 1;
|
|
return [hue * 360, chroma * 100, grayscale * 100];
|
|
};
|
|
convert.hsl.hcg = function(hsl) {
|
|
const s = hsl[1] / 100;
|
|
const l = hsl[2] / 100;
|
|
const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
|
|
let f = 0;
|
|
if (c < 1) {
|
|
f = (l - 0.5 * c) / (1 - c);
|
|
}
|
|
return [hsl[0], c * 100, f * 100];
|
|
};
|
|
convert.hsv.hcg = function(hsv) {
|
|
const s = hsv[1] / 100;
|
|
const v = hsv[2] / 100;
|
|
const c = s * v;
|
|
let f = 0;
|
|
if (c < 1) {
|
|
f = (v - c) / (1 - c);
|
|
}
|
|
return [hsv[0], c * 100, f * 100];
|
|
};
|
|
convert.hcg.rgb = function(hcg) {
|
|
const h = hcg[0] / 360;
|
|
const c = hcg[1] / 100;
|
|
const g = hcg[2] / 100;
|
|
if (c === 0) {
|
|
return [g * 255, g * 255, g * 255];
|
|
}
|
|
const pure = [0, 0, 0];
|
|
const hi = h % 1 * 6;
|
|
const v = hi % 1;
|
|
const w = 1 - v;
|
|
let 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;
|
|
}
|
|
mg = (1 - c) * g;
|
|
return [
|
|
(c * pure[0] + mg) * 255,
|
|
(c * pure[1] + mg) * 255,
|
|
(c * pure[2] + mg) * 255
|
|
];
|
|
};
|
|
convert.hcg.hsv = function(hcg) {
|
|
const c = hcg[1] / 100;
|
|
const g = hcg[2] / 100;
|
|
const v = c + g * (1 - c);
|
|
let f = 0;
|
|
if (v > 0) {
|
|
f = c / v;
|
|
}
|
|
return [hcg[0], f * 100, v * 100];
|
|
};
|
|
convert.hcg.hsl = function(hcg) {
|
|
const c = hcg[1] / 100;
|
|
const g = hcg[2] / 100;
|
|
const l = g * (1 - c) + 0.5 * c;
|
|
let s = 0;
|
|
if (l > 0 && l < 0.5) {
|
|
s = c / (2 * l);
|
|
} else if (l >= 0.5 && l < 1) {
|
|
s = c / (2 * (1 - l));
|
|
}
|
|
return [hcg[0], s * 100, l * 100];
|
|
};
|
|
convert.hcg.hwb = function(hcg) {
|
|
const c = hcg[1] / 100;
|
|
const g = hcg[2] / 100;
|
|
const v = c + g * (1 - c);
|
|
return [hcg[0], (v - c) * 100, (1 - v) * 100];
|
|
};
|
|
convert.hwb.hcg = function(hwb) {
|
|
const w = hwb[1] / 100;
|
|
const b = hwb[2] / 100;
|
|
const v = 1 - b;
|
|
const c = v - w;
|
|
let g = 0;
|
|
if (c < 1) {
|
|
g = (v - c) / (1 - c);
|
|
}
|
|
return [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) {
|
|
const val = Math.round(gray[0] / 100 * 255) & 255;
|
|
const integer = (val << 16) + (val << 8) + val;
|
|
const string = integer.toString(16).toUpperCase();
|
|
return "000000".substring(string.length) + string;
|
|
};
|
|
convert.rgb.gray = function(rgb) {
|
|
const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
|
|
return [val / 255 * 100];
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/route.js
|
|
var require_route = __commonJS({
|
|
"pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/route.js"(exports, module2) {
|
|
var conversions = require_conversions();
|
|
function buildGraph() {
|
|
const graph = {};
|
|
const models = Object.keys(conversions);
|
|
for (let len = models.length, i = 0; i < len; i++) {
|
|
graph[models[i]] = {
|
|
distance: -1,
|
|
parent: null
|
|
};
|
|
}
|
|
return graph;
|
|
}
|
|
function deriveBFS(fromModel) {
|
|
const graph = buildGraph();
|
|
const queue = [fromModel];
|
|
graph[fromModel].distance = 0;
|
|
while (queue.length) {
|
|
const current = queue.pop();
|
|
const adjacents = Object.keys(conversions[current]);
|
|
for (let len = adjacents.length, i = 0; i < len; i++) {
|
|
const adjacent = adjacents[i];
|
|
const node = graph[adjacent];
|
|
if (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) {
|
|
const path2 = [graph[toModel].parent, toModel];
|
|
let fn = conversions[graph[toModel].parent][toModel];
|
|
let cur = graph[toModel].parent;
|
|
while (graph[cur].parent) {
|
|
path2.unshift(graph[cur].parent);
|
|
fn = link(conversions[graph[cur].parent][cur], fn);
|
|
cur = graph[cur].parent;
|
|
}
|
|
fn.conversion = path2;
|
|
return fn;
|
|
}
|
|
module2.exports = function(fromModel) {
|
|
const graph = deriveBFS(fromModel);
|
|
const conversion = {};
|
|
const models = Object.keys(graph);
|
|
for (let len = models.length, i = 0; i < len; i++) {
|
|
const toModel = models[i];
|
|
const node = graph[toModel];
|
|
if (node.parent === null) {
|
|
continue;
|
|
}
|
|
conversion[toModel] = wrapConversion(toModel, graph);
|
|
}
|
|
return conversion;
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/index.js
|
|
var require_color_convert = __commonJS({
|
|
"pnp:color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/index.js"(exports, module2) {
|
|
var conversions = require_conversions();
|
|
var route = require_route();
|
|
var convert = {};
|
|
var models = Object.keys(conversions);
|
|
function wrapRaw(fn) {
|
|
const wrappedFn = function(...args) {
|
|
const arg0 = args[0];
|
|
if (arg0 === void 0 || arg0 === null) {
|
|
return arg0;
|
|
}
|
|
if (arg0.length > 1) {
|
|
args = arg0;
|
|
}
|
|
return fn(args);
|
|
};
|
|
if ("conversion" in fn) {
|
|
wrappedFn.conversion = fn.conversion;
|
|
}
|
|
return wrappedFn;
|
|
}
|
|
function wrapRounded(fn) {
|
|
const wrappedFn = function(...args) {
|
|
const arg0 = args[0];
|
|
if (arg0 === void 0 || arg0 === null) {
|
|
return arg0;
|
|
}
|
|
if (arg0.length > 1) {
|
|
args = arg0;
|
|
}
|
|
const 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;
|
|
};
|
|
if ("conversion" in fn) {
|
|
wrappedFn.conversion = fn.conversion;
|
|
}
|
|
return wrappedFn;
|
|
}
|
|
models.forEach((fromModel) => {
|
|
convert[fromModel] = {};
|
|
Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
|
|
Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
|
|
const routes = route(fromModel);
|
|
const routeModels = Object.keys(routes);
|
|
routeModels.forEach((toModel) => {
|
|
const fn = routes[toModel];
|
|
convert[fromModel][toModel] = wrapRounded(fn);
|
|
convert[fromModel][toModel].raw = wrapRaw(fn);
|
|
});
|
|
});
|
|
module2.exports = convert;
|
|
}
|
|
});
|
|
|
|
// pnp:ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip/node_modules/ansi-styles/index.js
|
|
var require_ansi_styles = __commonJS({
|
|
"pnp:ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip/node_modules/ansi-styles/index.js"(exports, module2) {
|
|
"use strict";
|
|
var wrapAnsi16 = (fn, offset) => (...args) => {
|
|
const code = fn(...args);
|
|
return `[${code + offset}m`;
|
|
};
|
|
var wrapAnsi256 = (fn, offset) => (...args) => {
|
|
const code = fn(...args);
|
|
return `[${38 + offset};5;${code}m`;
|
|
};
|
|
var wrapAnsi16m = (fn, offset) => (...args) => {
|
|
const rgb = fn(...args);
|
|
return `[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
|
|
};
|
|
var ansi2ansi = (n) => n;
|
|
var rgb2rgb = (r, g, b) => [r, g, b];
|
|
var setLazyProperty = (object, property, get) => {
|
|
Object.defineProperty(object, property, {
|
|
get: () => {
|
|
const value = get();
|
|
Object.defineProperty(object, property, {
|
|
value,
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return value;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
};
|
|
var colorConvert;
|
|
var makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
|
|
if (colorConvert === void 0) {
|
|
colorConvert = require_color_convert();
|
|
}
|
|
const offset = isBackground ? 10 : 0;
|
|
const styles = {};
|
|
for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
|
|
const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
|
|
if (sourceSpace === targetSpace) {
|
|
styles[name] = wrap(identity, offset);
|
|
} else if (typeof suite === "object") {
|
|
styles[name] = wrap(suite[targetSpace], offset);
|
|
}
|
|
}
|
|
return styles;
|
|
};
|
|
function assembleStyles() {
|
|
const codes = new Map();
|
|
const styles = {
|
|
modifier: {
|
|
reset: [0, 0],
|
|
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],
|
|
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],
|
|
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 (const [groupName, group] of Object.entries(styles)) {
|
|
for (const [styleName, style] of Object.entries(group)) {
|
|
styles[styleName] = {
|
|
open: `[${style[0]}m`,
|
|
close: `[${style[1]}m`
|
|
};
|
|
group[styleName] = styles[styleName];
|
|
codes.set(style[0], style[1]);
|
|
}
|
|
Object.defineProperty(styles, groupName, {
|
|
value: group,
|
|
enumerable: false
|
|
});
|
|
}
|
|
Object.defineProperty(styles, "codes", {
|
|
value: codes,
|
|
enumerable: false
|
|
});
|
|
styles.color.close = "[39m";
|
|
styles.bgColor.close = "[49m";
|
|
setLazyProperty(styles.color, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, false));
|
|
setLazyProperty(styles.color, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, false));
|
|
setLazyProperty(styles.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, false));
|
|
setLazyProperty(styles.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, true));
|
|
setLazyProperty(styles.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, true));
|
|
setLazyProperty(styles.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, true));
|
|
return styles;
|
|
}
|
|
Object.defineProperty(module2, "exports", {
|
|
enumerable: true,
|
|
get: assembleStyles
|
|
});
|
|
}
|
|
});
|
|
|
|
// pnp:has-flag-npm-4.0.0-32af9f0536-261a135703.zip/node_modules/has-flag/index.js
|
|
var require_has_flag = __commonJS({
|
|
"pnp:has-flag-npm-4.0.0-32af9f0536-261a135703.zip/node_modules/has-flag/index.js"(exports, module2) {
|
|
"use strict";
|
|
module2.exports = (flag, argv = process.argv) => {
|
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
const position = argv.indexOf(prefix + flag);
|
|
const terminatorPosition = argv.indexOf("--");
|
|
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip/node_modules/supports-color/index.js
|
|
var require_supports_color = __commonJS({
|
|
"pnp:supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip/node_modules/supports-color/index.js"(exports, module2) {
|
|
"use strict";
|
|
var os = require("os");
|
|
var tty = require("tty");
|
|
var hasFlag = require_has_flag();
|
|
var { env } = process;
|
|
var forceColor;
|
|
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
forceColor = 0;
|
|
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
forceColor = 1;
|
|
}
|
|
if ("FORCE_COLOR" in env) {
|
|
if (env.FORCE_COLOR === "true") {
|
|
forceColor = 1;
|
|
} else if (env.FORCE_COLOR === "false") {
|
|
forceColor = 0;
|
|
} else {
|
|
forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
|
|
}
|
|
}
|
|
function translateLevel(level) {
|
|
if (level === 0) {
|
|
return false;
|
|
}
|
|
return {
|
|
level,
|
|
hasBasic: true,
|
|
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;
|
|
}
|
|
const min = forceColor || 0;
|
|
if (env.TERM === "dumb") {
|
|
return min;
|
|
}
|
|
if (process.platform === "win32") {
|
|
const osRelease = os.release().split(".");
|
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
}
|
|
return 1;
|
|
}
|
|
if ("CI" in env) {
|
|
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
|
|
return 1;
|
|
}
|
|
return 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) {
|
|
const version2 = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
switch (env.TERM_PROGRAM) {
|
|
case "iTerm.app":
|
|
return version2 >= 3 ? 3 : 2;
|
|
case "Apple_Terminal":
|
|
return 2;
|
|
}
|
|
}
|
|
if (/-256(color)?$/i.test(env.TERM)) {
|
|
return 2;
|
|
}
|
|
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
return 1;
|
|
}
|
|
if ("COLORTERM" in env) {
|
|
return 1;
|
|
}
|
|
return min;
|
|
}
|
|
function getSupportLevel(stream) {
|
|
const level = supportsColor(stream, stream && stream.isTTY);
|
|
return translateLevel(level);
|
|
}
|
|
module2.exports = {
|
|
supportsColor: getSupportLevel,
|
|
stdout: translateLevel(supportsColor(true, tty.isatty(1))),
|
|
stderr: translateLevel(supportsColor(true, tty.isatty(2)))
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/util.js
|
|
var require_util = __commonJS({
|
|
"pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/util.js"(exports, module2) {
|
|
"use strict";
|
|
var stringReplaceAll = (string, substring, replacer) => {
|
|
let index = string.indexOf(substring);
|
|
if (index === -1) {
|
|
return string;
|
|
}
|
|
const substringLength = substring.length;
|
|
let endIndex = 0;
|
|
let returnValue = "";
|
|
do {
|
|
returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
|
|
endIndex = index + substringLength;
|
|
index = string.indexOf(substring, endIndex);
|
|
} while (index !== -1);
|
|
returnValue += string.substr(endIndex);
|
|
return returnValue;
|
|
};
|
|
var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
|
|
let endIndex = 0;
|
|
let returnValue = "";
|
|
do {
|
|
const gotCR = string[index - 1] === "\r";
|
|
returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
|
|
endIndex = index + 1;
|
|
index = string.indexOf("\n", endIndex);
|
|
} while (index !== -1);
|
|
returnValue += string.substr(endIndex);
|
|
return returnValue;
|
|
};
|
|
module2.exports = {
|
|
stringReplaceAll,
|
|
stringEncaseCRLFWithFirstIndex
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/templates.js
|
|
var require_templates = __commonJS({
|
|
"pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/templates.js"(exports, module2) {
|
|
"use strict";
|
|
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;
|
|
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
|
|
var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
|
|
var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
|
|
var ESCAPES = new Map([
|
|
["n", "\n"],
|
|
["r", "\r"],
|
|
["t", " "],
|
|
["b", "\b"],
|
|
["f", "\f"],
|
|
["v", "\v"],
|
|
["0", "\0"],
|
|
["\\", "\\"],
|
|
["e", ""],
|
|
["a", "\x07"]
|
|
]);
|
|
function unescape(c) {
|
|
const u = c[0] === "u";
|
|
const bracket = c[1] === "{";
|
|
if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
|
|
return String.fromCharCode(parseInt(c.slice(1), 16));
|
|
}
|
|
if (u && bracket) {
|
|
return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
|
|
}
|
|
return ESCAPES.get(c) || c;
|
|
}
|
|
function parseArguments(name, arguments_) {
|
|
const results = [];
|
|
const chunks = arguments_.trim().split(/\s*,\s*/g);
|
|
let matches;
|
|
for (const chunk of chunks) {
|
|
const 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;
|
|
const results = [];
|
|
let matches;
|
|
while ((matches = STYLE_REGEX.exec(style)) !== null) {
|
|
const name = matches[1];
|
|
if (matches[2]) {
|
|
const args = parseArguments(name, matches[2]);
|
|
results.push([name].concat(args));
|
|
} else {
|
|
results.push([name]);
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
function buildStyle(chalk5, styles) {
|
|
const enabled = {};
|
|
for (const layer of styles) {
|
|
for (const style of layer.styles) {
|
|
enabled[style[0]] = layer.inverse ? null : style.slice(1);
|
|
}
|
|
}
|
|
let current = chalk5;
|
|
for (const [styleName, styles2] of Object.entries(enabled)) {
|
|
if (!Array.isArray(styles2)) {
|
|
continue;
|
|
}
|
|
if (!(styleName in current)) {
|
|
throw new Error(`Unknown Chalk style: ${styleName}`);
|
|
}
|
|
current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
|
|
}
|
|
return current;
|
|
}
|
|
module2.exports = (chalk5, temporary) => {
|
|
const styles = [];
|
|
const chunks = [];
|
|
let chunk = [];
|
|
temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
|
|
if (escapeCharacter) {
|
|
chunk.push(unescape(escapeCharacter));
|
|
} else if (style) {
|
|
const string = chunk.join("");
|
|
chunk = [];
|
|
chunks.push(styles.length === 0 ? string : buildStyle(chalk5, 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(chalk5, styles)(chunk.join("")));
|
|
chunk = [];
|
|
styles.pop();
|
|
} else {
|
|
chunk.push(character);
|
|
}
|
|
});
|
|
chunks.push(chunk.join(""));
|
|
if (styles.length > 0) {
|
|
const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
|
|
throw new Error(errMessage);
|
|
}
|
|
return chunks.join("");
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/index.js
|
|
var require_source = __commonJS({
|
|
"pnp:chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/source/index.js"(exports, module2) {
|
|
"use strict";
|
|
var ansiStyles = require_ansi_styles();
|
|
var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color();
|
|
var {
|
|
stringReplaceAll,
|
|
stringEncaseCRLFWithFirstIndex
|
|
} = require_util();
|
|
var { isArray } = Array;
|
|
var levelMapping = [
|
|
"ansi",
|
|
"ansi",
|
|
"ansi256",
|
|
"ansi16m"
|
|
];
|
|
var styles = Object.create(null);
|
|
var 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");
|
|
}
|
|
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
object.level = options.level === void 0 ? colorLevel : options.level;
|
|
};
|
|
var ChalkClass = class {
|
|
constructor(options) {
|
|
return chalkFactory(options);
|
|
}
|
|
};
|
|
var chalkFactory = (options) => {
|
|
const chalk6 = {};
|
|
applyOptions(chalk6, options);
|
|
chalk6.template = (...arguments_) => chalkTag(chalk6.template, ...arguments_);
|
|
Object.setPrototypeOf(chalk6, Chalk.prototype);
|
|
Object.setPrototypeOf(chalk6.template, chalk6);
|
|
chalk6.template.constructor = () => {
|
|
throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
|
|
};
|
|
chalk6.template.Instance = ChalkClass;
|
|
return chalk6.template;
|
|
};
|
|
function Chalk(options) {
|
|
return chalkFactory(options);
|
|
}
|
|
for (const [styleName, style] of Object.entries(ansiStyles)) {
|
|
styles[styleName] = {
|
|
get() {
|
|
const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
|
|
Object.defineProperty(this, styleName, { value: builder });
|
|
return builder;
|
|
}
|
|
};
|
|
}
|
|
styles.visible = {
|
|
get() {
|
|
const builder = createBuilder(this, this._styler, true);
|
|
Object.defineProperty(this, "visible", { value: builder });
|
|
return builder;
|
|
}
|
|
};
|
|
var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
|
|
for (const model of usedModels) {
|
|
styles[model] = {
|
|
get() {
|
|
const { level } = this;
|
|
return function(...arguments_) {
|
|
const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
|
|
return createBuilder(this, styler, this._isEmpty);
|
|
};
|
|
}
|
|
};
|
|
}
|
|
for (const model of usedModels) {
|
|
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
styles[bgModel] = {
|
|
get() {
|
|
const { level } = this;
|
|
return function(...arguments_) {
|
|
const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
|
|
return createBuilder(this, styler, this._isEmpty);
|
|
};
|
|
}
|
|
};
|
|
}
|
|
var proto = Object.defineProperties(() => {
|
|
}, __spreadProps(__spreadValues({}, styles), {
|
|
level: {
|
|
enumerable: true,
|
|
get() {
|
|
return this._generator.level;
|
|
},
|
|
set(level) {
|
|
this._generator.level = level;
|
|
}
|
|
}
|
|
}));
|
|
var createStyler = (open, close, parent) => {
|
|
let openAll;
|
|
let closeAll;
|
|
if (parent === void 0) {
|
|
openAll = open;
|
|
closeAll = close;
|
|
} else {
|
|
openAll = parent.openAll + open;
|
|
closeAll = close + parent.closeAll;
|
|
}
|
|
return {
|
|
open,
|
|
close,
|
|
openAll,
|
|
closeAll,
|
|
parent
|
|
};
|
|
};
|
|
var createBuilder = (self, _styler, _isEmpty) => {
|
|
const builder = (...arguments_) => {
|
|
if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
|
|
return applyStyle(builder, chalkTag(builder, ...arguments_));
|
|
}
|
|
return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
};
|
|
Object.setPrototypeOf(builder, proto);
|
|
builder._generator = self;
|
|
builder._styler = _styler;
|
|
builder._isEmpty = _isEmpty;
|
|
return builder;
|
|
};
|
|
var applyStyle = (self, string) => {
|
|
if (self.level <= 0 || !string) {
|
|
return self._isEmpty ? "" : string;
|
|
}
|
|
let styler = self._styler;
|
|
if (styler === void 0) {
|
|
return string;
|
|
}
|
|
const { openAll, closeAll } = styler;
|
|
if (string.indexOf("") !== -1) {
|
|
while (styler !== void 0) {
|
|
string = stringReplaceAll(string, styler.close, styler.open);
|
|
styler = styler.parent;
|
|
}
|
|
}
|
|
const lfIndex = string.indexOf("\n");
|
|
if (lfIndex !== -1) {
|
|
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
}
|
|
return openAll + string + closeAll;
|
|
};
|
|
var template;
|
|
var chalkTag = (chalk6, ...strings) => {
|
|
const [firstString] = strings;
|
|
if (!isArray(firstString) || !isArray(firstString.raw)) {
|
|
return strings.join(" ");
|
|
}
|
|
const arguments_ = strings.slice(1);
|
|
const parts = [firstString.raw[0]];
|
|
for (let i = 1; i < firstString.length; i++) {
|
|
parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"), String(firstString.raw[i]));
|
|
}
|
|
if (template === void 0) {
|
|
template = require_templates();
|
|
}
|
|
return template(chalk6, parts.join(""));
|
|
};
|
|
Object.defineProperties(Chalk.prototype, styles);
|
|
var chalk5 = Chalk();
|
|
chalk5.supportsColor = stdoutColor;
|
|
chalk5.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
chalk5.stderr.supportsColor = stderrColor;
|
|
module2.exports = chalk5;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/lowercase.js
|
|
var require_lowercase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/lowercase.js"(exports, module2) {
|
|
"use strict";
|
|
function lowercase(str) {
|
|
str = String(str);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
return str.toLowerCase();
|
|
}
|
|
lowercase.isLowercase = function(str) {
|
|
return str && !/[A-Z]+/.test(str);
|
|
};
|
|
module2.exports = lowercase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/uppercase.js
|
|
var require_uppercase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/uppercase.js"(exports, module2) {
|
|
"use strict";
|
|
function uppercase(str) {
|
|
str = String(str);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
return str.toUpperCase();
|
|
}
|
|
uppercase.isUppercase = function(str) {
|
|
return str && !/[a-z]+/.test(str);
|
|
};
|
|
module2.exports = uppercase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/camelcase.js
|
|
var require_camelcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/camelcase.js"(exports, module2) {
|
|
"use strict";
|
|
var lowercase = require_lowercase();
|
|
var uppercase = require_uppercase();
|
|
var replacing = {
|
|
from: /[\-_:\.\s]([a-zA-Z])([a-zA-Z]*)/g,
|
|
to: function(match, $1, $2, offset, src) {
|
|
const len = $1.length;
|
|
return uppercase($1) + $2;
|
|
}
|
|
};
|
|
function camelcase2(str) {
|
|
if (camelcase2.isCamelcase(str)) {
|
|
return str;
|
|
}
|
|
str = String(str).replace(/^[\-_:\.\s]/, "");
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
if (uppercase.isUppercase(str)) {
|
|
str = lowercase(str);
|
|
}
|
|
return lowercase(str[0]) + str.replace(replacing.from, replacing.to).slice(1).replace(/^([A-Z]+)([A-Z])/, (match, $1, $2) => lowercase($1) + $2);
|
|
}
|
|
camelcase2.isCamelcase = function(str) {
|
|
return str && /^[a-zA-Z]+$/.test(str) && lowercase(str[0]) === str[0];
|
|
};
|
|
module2.exports = camelcase2;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/capitalcase.js
|
|
var require_capitalcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/capitalcase.js"(exports, module2) {
|
|
"use strict";
|
|
var uppercase = require_uppercase();
|
|
function capitalcase(str) {
|
|
str = String(str);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
return uppercase(str[0]) + str.slice(1);
|
|
}
|
|
module2.exports = capitalcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/snakecase.js
|
|
var require_snakecase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/snakecase.js"(exports, module2) {
|
|
"use strict";
|
|
var lowercase = require_lowercase();
|
|
var uppercase = require_uppercase();
|
|
var JOINER = "_";
|
|
var replacing = {
|
|
from: /([A-Z]+)/g,
|
|
to(match, $1, offset, src) {
|
|
const prefix = offset === 0 ? "" : JOINER;
|
|
const len = $1.length;
|
|
if (len === 1) {
|
|
return prefix + lowercase($1);
|
|
}
|
|
const next = src.slice(offset + $1.length);
|
|
const isOneWord = uppercase.isUppercase($1) && next[0] === JOINER;
|
|
if (isOneWord) {
|
|
return prefix + lowercase($1);
|
|
}
|
|
const replaced = lowercase($1.substr(0, len - 1)) + JOINER + lowercase($1[len - 1]);
|
|
return prefix + replaced;
|
|
}
|
|
};
|
|
function snakecase(str) {
|
|
if (snakecase.isSnakecase(str)) {
|
|
return str;
|
|
}
|
|
str = String(str).replace(/[\-.:\s]/g, JOINER);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
if (uppercase.isUppercase(str)) {
|
|
str = lowercase(str);
|
|
}
|
|
return str.replace(replacing.from, replacing.to).replace(/_+/g, "_");
|
|
}
|
|
snakecase.isSnakecase = function(str) {
|
|
return str && /^[a-z_]+$/.test(str);
|
|
};
|
|
module2.exports = snakecase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/constcase.js
|
|
var require_constcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/constcase.js"(exports, module2) {
|
|
"use strict";
|
|
var uppercase = require_uppercase();
|
|
var snakecase = require_snakecase();
|
|
function constcase2(str) {
|
|
if (constcase2.isConstcase(str)) {
|
|
return str;
|
|
}
|
|
return uppercase(snakecase(str));
|
|
}
|
|
constcase2.isConstcase = function(str) {
|
|
return str && /^[A-Z_]+$/.test(str);
|
|
};
|
|
module2.exports = constcase2;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/cramcase.js
|
|
var require_cramcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/cramcase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function cramcase(str) {
|
|
return snakecase(str).replace(/_/g, "");
|
|
}
|
|
module2.exports = cramcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/decapitalcase.js
|
|
var require_decapitalcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/decapitalcase.js"(exports, module2) {
|
|
"use strict";
|
|
var lowercase = require_lowercase();
|
|
function capitalcase(str) {
|
|
str = String(str);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
return lowercase(str[0]) + str.slice(1);
|
|
}
|
|
module2.exports = capitalcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/dotcase.js
|
|
var require_dotcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/dotcase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function dotcase(str) {
|
|
return snakecase(str).replace(/_/g, ".");
|
|
}
|
|
module2.exports = dotcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/enumcase.js
|
|
var require_enumcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/enumcase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function enumcase(str) {
|
|
return snakecase(str).replace(/_/g, ":");
|
|
}
|
|
module2.exports = enumcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/pascalcase.js
|
|
var require_pascalcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/pascalcase.js"(exports, module2) {
|
|
"use strict";
|
|
var camelcase2 = require_camelcase();
|
|
var capitalcase = require_capitalcase();
|
|
function pascalcase(str) {
|
|
return capitalcase(camelcase2(str));
|
|
}
|
|
module2.exports = pascalcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/pathcase.js
|
|
var require_pathcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/pathcase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function pathcase(str) {
|
|
return snakecase(str).replace(/_/g, "/");
|
|
}
|
|
module2.exports = pathcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/trimcase.js
|
|
var require_trimcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/trimcase.js"(exports, module2) {
|
|
"use strict";
|
|
function trimcase(str) {
|
|
return String(str).trim();
|
|
}
|
|
module2.exports = trimcase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/sentencecase.js
|
|
var require_sentencecase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/sentencecase.js"(exports, module2) {
|
|
"use strict";
|
|
var lowercase = require_lowercase();
|
|
var trimcase = require_trimcase();
|
|
var snakecase = require_snakecase();
|
|
var capitalcase = require_capitalcase();
|
|
var JOINER = " ";
|
|
function sentencecase(str) {
|
|
str = String(str).replace(/^[\-_\.\s]/g, JOINER);
|
|
if (!str) {
|
|
return str;
|
|
}
|
|
return capitalcase(snakecase(trimcase(str)).replace(/_/g, JOINER));
|
|
}
|
|
module2.exports = sentencecase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/spacecase.js
|
|
var require_spacecase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/spacecase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function spacecase(str) {
|
|
return snakecase(str).replace(/_/g, " ");
|
|
}
|
|
module2.exports = spacecase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/spinalcase.js
|
|
var require_spinalcase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/spinalcase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
function spinalcase2(str) {
|
|
return snakecase(str).replace(/_/g, "-");
|
|
}
|
|
module2.exports = spinalcase2;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/titlecase.js
|
|
var require_titlecase = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/titlecase.js"(exports, module2) {
|
|
"use strict";
|
|
var snakecase = require_snakecase();
|
|
var lowercase = require_lowercase();
|
|
var trimcase = require_trimcase();
|
|
var capitalcase = require_capitalcase();
|
|
var LOWERCASE_WORDS = "a,the,and,or,not,but,for,of".split(",");
|
|
function titlecase(str) {
|
|
return snakecase(str).split(/_/g).map(trimcase).map(function(word) {
|
|
var lower = !!~LOWERCASE_WORDS.indexOf(word);
|
|
if (lower) {
|
|
return lowercase(word);
|
|
} else {
|
|
return capitalcase(word);
|
|
}
|
|
}).join(" ");
|
|
}
|
|
module2.exports = titlecase;
|
|
}
|
|
});
|
|
|
|
// pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/index.js
|
|
var require_lib = __commonJS({
|
|
"pnp:stringcase-npm-4.3.1-2f1c329337-741a448632.zip/node_modules/stringcase/lib/index.js"(exports, module2) {
|
|
"use strict";
|
|
var camelcase2 = require_camelcase();
|
|
var capitalcase = require_capitalcase();
|
|
var constcase2 = require_constcase();
|
|
var cramcase = require_cramcase();
|
|
var decapitalcase = require_decapitalcase();
|
|
var dotcase = require_dotcase();
|
|
var enumcase = require_enumcase();
|
|
var lowercase = require_lowercase();
|
|
var pascalcase = require_pascalcase();
|
|
var pathcase = require_pathcase();
|
|
var sentencecase = require_sentencecase();
|
|
var snakecase = require_snakecase();
|
|
var spacecase = require_spacecase();
|
|
var spinalcase2 = require_spinalcase();
|
|
var titlecase = require_titlecase();
|
|
var trimcase = require_trimcase();
|
|
var uppercase = require_uppercase();
|
|
exports.camelcase = camelcase2;
|
|
exports.capitalcase = capitalcase;
|
|
exports.constcase = constcase2;
|
|
exports.cramcase = cramcase;
|
|
exports.decapitalcase = decapitalcase;
|
|
exports.dotcase = dotcase;
|
|
exports.enumcase = enumcase;
|
|
exports.lowercase = lowercase;
|
|
exports.pascalcase = pascalcase;
|
|
exports.pathcase = pathcase;
|
|
exports.sentencecase = sentencecase;
|
|
exports.snakecase = snakecase;
|
|
exports.spacecase = spacecase;
|
|
exports.spinalcase = spinalcase2;
|
|
exports.titlecase = titlecase;
|
|
exports.trimcase = trimcase;
|
|
exports.uppercase = uppercase;
|
|
module2.exports = {
|
|
camelcase: camelcase2,
|
|
capitalcase,
|
|
constcase: constcase2,
|
|
cramcase,
|
|
decapitalcase,
|
|
dotcase,
|
|
enumcase,
|
|
lowercase,
|
|
pascalcase,
|
|
pathcase,
|
|
sentencecase,
|
|
snakecase,
|
|
spacecase,
|
|
spinalcase: spinalcase2,
|
|
titlecase,
|
|
trimcase,
|
|
uppercase
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/old.js
|
|
var require_old = __commonJS({
|
|
"pnp:fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/old.js"(exports) {
|
|
var pathModule = require("path");
|
|
var isWindows = process.platform === "win32";
|
|
var fs4 = require("fs");
|
|
var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
|
|
function rethrow() {
|
|
var callback;
|
|
if (DEBUG) {
|
|
var backtrace = new Error();
|
|
callback = debugCallback;
|
|
} else
|
|
callback = missingCallback;
|
|
return callback;
|
|
function debugCallback(err) {
|
|
if (err) {
|
|
backtrace.message = err.message;
|
|
err = backtrace;
|
|
missingCallback(err);
|
|
}
|
|
}
|
|
function missingCallback(err) {
|
|
if (err) {
|
|
if (process.throwDeprecation)
|
|
throw err;
|
|
else if (!process.noDeprecation) {
|
|
var msg = "fs: missing callback " + (err.stack || err.message);
|
|
if (process.traceDeprecation)
|
|
console.trace(msg);
|
|
else
|
|
console.error(msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function maybeCallback(cb) {
|
|
return typeof cb === "function" ? cb : rethrow();
|
|
}
|
|
var normalize = pathModule.normalize;
|
|
if (isWindows) {
|
|
nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
|
|
} else {
|
|
nextPartRe = /(.*?)(?:[\/]+|$)/g;
|
|
}
|
|
var nextPartRe;
|
|
if (isWindows) {
|
|
splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
|
|
} else {
|
|
splitRootRe = /^[\/]*/;
|
|
}
|
|
var splitRootRe;
|
|
exports.realpathSync = function realpathSync(p, cache) {
|
|
p = pathModule.resolve(p);
|
|
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
|
|
return cache[p];
|
|
}
|
|
var original = p, seenLinks = {}, knownHard = {};
|
|
var pos;
|
|
var current;
|
|
var base;
|
|
var previous;
|
|
start();
|
|
function start() {
|
|
var m = splitRootRe.exec(p);
|
|
pos = m[0].length;
|
|
current = m[0];
|
|
base = m[0];
|
|
previous = "";
|
|
if (isWindows && !knownHard[base]) {
|
|
fs4.lstatSync(base);
|
|
knownHard[base] = true;
|
|
}
|
|
}
|
|
while (pos < p.length) {
|
|
nextPartRe.lastIndex = pos;
|
|
var result = nextPartRe.exec(p);
|
|
previous = current;
|
|
current += result[0];
|
|
base = previous + result[1];
|
|
pos = nextPartRe.lastIndex;
|
|
if (knownHard[base] || cache && cache[base] === base) {
|
|
continue;
|
|
}
|
|
var resolvedLink;
|
|
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
|
|
resolvedLink = cache[base];
|
|
} else {
|
|
var stat = fs4.lstatSync(base);
|
|
if (!stat.isSymbolicLink()) {
|
|
knownHard[base] = true;
|
|
if (cache)
|
|
cache[base] = base;
|
|
continue;
|
|
}
|
|
var linkTarget = null;
|
|
if (!isWindows) {
|
|
var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
|
|
if (seenLinks.hasOwnProperty(id)) {
|
|
linkTarget = seenLinks[id];
|
|
}
|
|
}
|
|
if (linkTarget === null) {
|
|
fs4.statSync(base);
|
|
linkTarget = fs4.readlinkSync(base);
|
|
}
|
|
resolvedLink = pathModule.resolve(previous, linkTarget);
|
|
if (cache)
|
|
cache[base] = resolvedLink;
|
|
if (!isWindows)
|
|
seenLinks[id] = linkTarget;
|
|
}
|
|
p = pathModule.resolve(resolvedLink, p.slice(pos));
|
|
start();
|
|
}
|
|
if (cache)
|
|
cache[original] = p;
|
|
return p;
|
|
};
|
|
exports.realpath = function realpath(p, cache, cb) {
|
|
if (typeof cb !== "function") {
|
|
cb = maybeCallback(cache);
|
|
cache = null;
|
|
}
|
|
p = pathModule.resolve(p);
|
|
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
|
|
return process.nextTick(cb.bind(null, null, cache[p]));
|
|
}
|
|
var original = p, seenLinks = {}, knownHard = {};
|
|
var pos;
|
|
var current;
|
|
var base;
|
|
var previous;
|
|
start();
|
|
function start() {
|
|
var m = splitRootRe.exec(p);
|
|
pos = m[0].length;
|
|
current = m[0];
|
|
base = m[0];
|
|
previous = "";
|
|
if (isWindows && !knownHard[base]) {
|
|
fs4.lstat(base, function(err) {
|
|
if (err)
|
|
return cb(err);
|
|
knownHard[base] = true;
|
|
LOOP();
|
|
});
|
|
} else {
|
|
process.nextTick(LOOP);
|
|
}
|
|
}
|
|
function LOOP() {
|
|
if (pos >= p.length) {
|
|
if (cache)
|
|
cache[original] = p;
|
|
return cb(null, p);
|
|
}
|
|
nextPartRe.lastIndex = pos;
|
|
var result = nextPartRe.exec(p);
|
|
previous = current;
|
|
current += result[0];
|
|
base = previous + result[1];
|
|
pos = nextPartRe.lastIndex;
|
|
if (knownHard[base] || cache && cache[base] === base) {
|
|
return process.nextTick(LOOP);
|
|
}
|
|
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
|
|
return gotResolvedLink(cache[base]);
|
|
}
|
|
return fs4.lstat(base, gotStat);
|
|
}
|
|
function gotStat(err, stat) {
|
|
if (err)
|
|
return cb(err);
|
|
if (!stat.isSymbolicLink()) {
|
|
knownHard[base] = true;
|
|
if (cache)
|
|
cache[base] = base;
|
|
return process.nextTick(LOOP);
|
|
}
|
|
if (!isWindows) {
|
|
var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
|
|
if (seenLinks.hasOwnProperty(id)) {
|
|
return gotTarget(null, seenLinks[id], base);
|
|
}
|
|
}
|
|
fs4.stat(base, function(err2) {
|
|
if (err2)
|
|
return cb(err2);
|
|
fs4.readlink(base, function(err3, target) {
|
|
if (!isWindows)
|
|
seenLinks[id] = target;
|
|
gotTarget(err3, target);
|
|
});
|
|
});
|
|
}
|
|
function gotTarget(err, target, base2) {
|
|
if (err)
|
|
return cb(err);
|
|
var resolvedLink = pathModule.resolve(previous, target);
|
|
if (cache)
|
|
cache[base2] = resolvedLink;
|
|
gotResolvedLink(resolvedLink);
|
|
}
|
|
function gotResolvedLink(resolvedLink) {
|
|
p = pathModule.resolve(resolvedLink, p.slice(pos));
|
|
start();
|
|
}
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/index.js
|
|
var require_fs = __commonJS({
|
|
"pnp:fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/index.js"(exports, module2) {
|
|
module2.exports = realpath;
|
|
realpath.realpath = realpath;
|
|
realpath.sync = realpathSync;
|
|
realpath.realpathSync = realpathSync;
|
|
realpath.monkeypatch = monkeypatch;
|
|
realpath.unmonkeypatch = unmonkeypatch;
|
|
var fs4 = require("fs");
|
|
var origRealpath = fs4.realpath;
|
|
var origRealpathSync = fs4.realpathSync;
|
|
var version2 = process.version;
|
|
var ok = /^v[0-5]\./.test(version2);
|
|
var old = require_old();
|
|
function newError(er) {
|
|
return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG");
|
|
}
|
|
function realpath(p, cache, cb) {
|
|
if (ok) {
|
|
return origRealpath(p, cache, cb);
|
|
}
|
|
if (typeof cache === "function") {
|
|
cb = cache;
|
|
cache = null;
|
|
}
|
|
origRealpath(p, cache, function(er, result) {
|
|
if (newError(er)) {
|
|
old.realpath(p, cache, cb);
|
|
} else {
|
|
cb(er, result);
|
|
}
|
|
});
|
|
}
|
|
function realpathSync(p, cache) {
|
|
if (ok) {
|
|
return origRealpathSync(p, cache);
|
|
}
|
|
try {
|
|
return origRealpathSync(p, cache);
|
|
} catch (er) {
|
|
if (newError(er)) {
|
|
return old.realpathSync(p, cache);
|
|
} else {
|
|
throw er;
|
|
}
|
|
}
|
|
}
|
|
function monkeypatch() {
|
|
fs4.realpath = realpath;
|
|
fs4.realpathSync = realpathSync;
|
|
}
|
|
function unmonkeypatch() {
|
|
fs4.realpath = origRealpath;
|
|
fs4.realpathSync = origRealpathSync;
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/index.js
|
|
var require_concat_map = __commonJS({
|
|
"pnp:concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/index.js"(exports, module2) {
|
|
module2.exports = function(xs, fn) {
|
|
var res = [];
|
|
for (var i = 0; i < xs.length; i++) {
|
|
var x = fn(xs[i], i);
|
|
if (isArray(x))
|
|
res.push.apply(res, x);
|
|
else
|
|
res.push(x);
|
|
}
|
|
return res;
|
|
};
|
|
var isArray = Array.isArray || function(xs) {
|
|
return Object.prototype.toString.call(xs) === "[object Array]";
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:balanced-match-npm-1.0.0-951a2ad706-9b67bfe558.zip/node_modules/balanced-match/index.js
|
|
var require_balanced_match = __commonJS({
|
|
"pnp:balanced-match-npm-1.0.0-951a2ad706-9b67bfe558.zip/node_modules/balanced-match/index.js"(exports, module2) {
|
|
"use strict";
|
|
module2.exports = balanced;
|
|
function balanced(a, b, str) {
|
|
if (a instanceof RegExp)
|
|
a = maybeMatch(a, str);
|
|
if (b instanceof RegExp)
|
|
b = maybeMatch(b, str);
|
|
var r = range(a, b, str);
|
|
return r && {
|
|
start: r[0],
|
|
end: r[1],
|
|
pre: str.slice(0, r[0]),
|
|
body: str.slice(r[0] + a.length, r[1]),
|
|
post: str.slice(r[1] + b.length)
|
|
};
|
|
}
|
|
function maybeMatch(reg, str) {
|
|
var m = str.match(reg);
|
|
return m ? m[0] : null;
|
|
}
|
|
balanced.range = range;
|
|
function range(a, b, str) {
|
|
var begs, beg, left, right, result;
|
|
var ai = str.indexOf(a);
|
|
var bi = str.indexOf(b, ai + 1);
|
|
var i = ai;
|
|
if (ai >= 0 && bi > 0) {
|
|
begs = [];
|
|
left = str.length;
|
|
while (i >= 0 && !result) {
|
|
if (i == ai) {
|
|
begs.push(i);
|
|
ai = str.indexOf(a, i + 1);
|
|
} else if (begs.length == 1) {
|
|
result = [begs.pop(), bi];
|
|
} else {
|
|
beg = begs.pop();
|
|
if (beg < left) {
|
|
left = beg;
|
|
right = bi;
|
|
}
|
|
bi = str.indexOf(b, i + 1);
|
|
}
|
|
i = ai < bi && ai >= 0 ? ai : bi;
|
|
}
|
|
if (begs.length) {
|
|
result = [left, right];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/index.js
|
|
var require_brace_expansion = __commonJS({
|
|
"pnp:brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/index.js"(exports, module2) {
|
|
var concatMap = require_concat_map();
|
|
var balanced = require_balanced_match();
|
|
module2.exports = expandTop;
|
|
var escSlash = "\0SLASH" + Math.random() + "\0";
|
|
var escOpen = "\0OPEN" + Math.random() + "\0";
|
|
var escClose = "\0CLOSE" + Math.random() + "\0";
|
|
var escComma = "\0COMMA" + Math.random() + "\0";
|
|
var escPeriod = "\0PERIOD" + Math.random() + "\0";
|
|
function numeric(str) {
|
|
return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
|
|
}
|
|
function escapeBraces(str) {
|
|
return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
|
|
}
|
|
function unescapeBraces(str) {
|
|
return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
|
|
}
|
|
function parseCommaParts(str) {
|
|
if (!str)
|
|
return [""];
|
|
var parts = [];
|
|
var m = balanced("{", "}", str);
|
|
if (!m)
|
|
return str.split(",");
|
|
var pre = m.pre;
|
|
var body = m.body;
|
|
var post = m.post;
|
|
var p = pre.split(",");
|
|
p[p.length - 1] += "{" + body + "}";
|
|
var postParts = parseCommaParts(post);
|
|
if (post.length) {
|
|
p[p.length - 1] += postParts.shift();
|
|
p.push.apply(p, postParts);
|
|
}
|
|
parts.push.apply(parts, p);
|
|
return parts;
|
|
}
|
|
function expandTop(str) {
|
|
if (!str)
|
|
return [];
|
|
if (str.substr(0, 2) === "{}") {
|
|
str = "\\{\\}" + str.substr(2);
|
|
}
|
|
return expand(escapeBraces(str), true).map(unescapeBraces);
|
|
}
|
|
function embrace(str) {
|
|
return "{" + str + "}";
|
|
}
|
|
function isPadded(el) {
|
|
return /^-?0\d/.test(el);
|
|
}
|
|
function lte(i, y) {
|
|
return i <= y;
|
|
}
|
|
function gte(i, y) {
|
|
return i >= y;
|
|
}
|
|
function expand(str, isTop) {
|
|
var expansions = [];
|
|
var m = balanced("{", "}", str);
|
|
if (!m || /\$$/.test(m.pre))
|
|
return [str];
|
|
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
var isSequence = isNumericSequence || isAlphaSequence;
|
|
var isOptions = m.body.indexOf(",") >= 0;
|
|
if (!isSequence && !isOptions) {
|
|
if (m.post.match(/,.*\}/)) {
|
|
str = m.pre + "{" + m.body + escClose + m.post;
|
|
return expand(str);
|
|
}
|
|
return [str];
|
|
}
|
|
var n;
|
|
if (isSequence) {
|
|
n = m.body.split(/\.\./);
|
|
} else {
|
|
n = parseCommaParts(m.body);
|
|
if (n.length === 1) {
|
|
n = expand(n[0], false).map(embrace);
|
|
if (n.length === 1) {
|
|
var post = m.post.length ? expand(m.post, false) : [""];
|
|
return post.map(function(p) {
|
|
return m.pre + n[0] + p;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
var pre = m.pre;
|
|
var post = m.post.length ? expand(m.post, false) : [""];
|
|
var N;
|
|
if (isSequence) {
|
|
var x = numeric(n[0]);
|
|
var y = numeric(n[1]);
|
|
var width = Math.max(n[0].length, n[1].length);
|
|
var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
|
|
var test = lte;
|
|
var reverse = y < x;
|
|
if (reverse) {
|
|
incr *= -1;
|
|
test = gte;
|
|
}
|
|
var pad = n.some(isPadded);
|
|
N = [];
|
|
for (var i = x; test(i, y); i += incr) {
|
|
var c;
|
|
if (isAlphaSequence) {
|
|
c = String.fromCharCode(i);
|
|
if (c === "\\")
|
|
c = "";
|
|
} else {
|
|
c = String(i);
|
|
if (pad) {
|
|
var need = width - c.length;
|
|
if (need > 0) {
|
|
var z = new Array(need + 1).join("0");
|
|
if (i < 0)
|
|
c = "-" + z + c.slice(1);
|
|
else
|
|
c = z + c;
|
|
}
|
|
}
|
|
}
|
|
N.push(c);
|
|
}
|
|
} else {
|
|
N = concatMap(n, function(el) {
|
|
return expand(el, false);
|
|
});
|
|
}
|
|
for (var j = 0; j < N.length; j++) {
|
|
for (var k = 0; k < post.length; k++) {
|
|
var expansion = pre + N[j] + post[k];
|
|
if (!isTop || isSequence || expansion)
|
|
expansions.push(expansion);
|
|
}
|
|
}
|
|
return expansions;
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:minimatch-npm-3.0.4-6e76f51c23-66ac295f8a.zip/node_modules/minimatch/minimatch.js
|
|
var require_minimatch = __commonJS({
|
|
"pnp:minimatch-npm-3.0.4-6e76f51c23-66ac295f8a.zip/node_modules/minimatch/minimatch.js"(exports, module2) {
|
|
module2.exports = minimatch;
|
|
minimatch.Minimatch = Minimatch;
|
|
var path2 = { sep: "/" };
|
|
try {
|
|
path2 = require("path");
|
|
} catch (er) {
|
|
}
|
|
var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
|
|
var expand = require_brace_expansion();
|
|
var plTypes = {
|
|
"!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
|
|
"?": { open: "(?:", close: ")?" },
|
|
"+": { open: "(?:", close: ")+" },
|
|
"*": { open: "(?:", close: ")*" },
|
|
"@": { open: "(?:", close: ")" }
|
|
};
|
|
var qmark = "[^/]";
|
|
var star = qmark + "*?";
|
|
var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
|
|
var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
|
|
var reSpecials = charSet("().*{}+?[]^$\\!");
|
|
function charSet(s) {
|
|
return s.split("").reduce(function(set, c) {
|
|
set[c] = true;
|
|
return set;
|
|
}, {});
|
|
}
|
|
var slashSplit = /\/+/;
|
|
minimatch.filter = filter;
|
|
function filter(pattern, options) {
|
|
options = options || {};
|
|
return function(p, i, list) {
|
|
return minimatch(p, pattern, options);
|
|
};
|
|
}
|
|
function ext(a, b) {
|
|
a = a || {};
|
|
b = b || {};
|
|
var t = {};
|
|
Object.keys(b).forEach(function(k) {
|
|
t[k] = b[k];
|
|
});
|
|
Object.keys(a).forEach(function(k) {
|
|
t[k] = a[k];
|
|
});
|
|
return t;
|
|
}
|
|
minimatch.defaults = function(def) {
|
|
if (!def || !Object.keys(def).length)
|
|
return minimatch;
|
|
var orig = minimatch;
|
|
var m = function minimatch2(p, pattern, options) {
|
|
return orig.minimatch(p, pattern, ext(def, options));
|
|
};
|
|
m.Minimatch = function Minimatch2(pattern, options) {
|
|
return new orig.Minimatch(pattern, ext(def, options));
|
|
};
|
|
return m;
|
|
};
|
|
Minimatch.defaults = function(def) {
|
|
if (!def || !Object.keys(def).length)
|
|
return Minimatch;
|
|
return minimatch.defaults(def).Minimatch;
|
|
};
|
|
function minimatch(p, pattern, options) {
|
|
if (typeof pattern !== "string") {
|
|
throw new TypeError("glob pattern string required");
|
|
}
|
|
if (!options)
|
|
options = {};
|
|
if (!options.nocomment && pattern.charAt(0) === "#") {
|
|
return false;
|
|
}
|
|
if (pattern.trim() === "")
|
|
return p === "";
|
|
return new Minimatch(pattern, options).match(p);
|
|
}
|
|
function Minimatch(pattern, options) {
|
|
if (!(this instanceof Minimatch)) {
|
|
return new Minimatch(pattern, options);
|
|
}
|
|
if (typeof pattern !== "string") {
|
|
throw new TypeError("glob pattern string required");
|
|
}
|
|
if (!options)
|
|
options = {};
|
|
pattern = pattern.trim();
|
|
if (path2.sep !== "/") {
|
|
pattern = pattern.split(path2.sep).join("/");
|
|
}
|
|
this.options = options;
|
|
this.set = [];
|
|
this.pattern = pattern;
|
|
this.regexp = null;
|
|
this.negate = false;
|
|
this.comment = false;
|
|
this.empty = false;
|
|
this.make();
|
|
}
|
|
Minimatch.prototype.debug = function() {
|
|
};
|
|
Minimatch.prototype.make = make;
|
|
function make() {
|
|
if (this._made)
|
|
return;
|
|
var pattern = this.pattern;
|
|
var options = this.options;
|
|
if (!options.nocomment && pattern.charAt(0) === "#") {
|
|
this.comment = true;
|
|
return;
|
|
}
|
|
if (!pattern) {
|
|
this.empty = true;
|
|
return;
|
|
}
|
|
this.parseNegate();
|
|
var set = this.globSet = this.braceExpand();
|
|
if (options.debug)
|
|
this.debug = console.error;
|
|
this.debug(this.pattern, set);
|
|
set = this.globParts = set.map(function(s) {
|
|
return s.split(slashSplit);
|
|
});
|
|
this.debug(this.pattern, set);
|
|
set = set.map(function(s, si, set2) {
|
|
return s.map(this.parse, this);
|
|
}, this);
|
|
this.debug(this.pattern, set);
|
|
set = set.filter(function(s) {
|
|
return s.indexOf(false) === -1;
|
|
});
|
|
this.debug(this.pattern, set);
|
|
this.set = set;
|
|
}
|
|
Minimatch.prototype.parseNegate = parseNegate;
|
|
function parseNegate() {
|
|
var pattern = this.pattern;
|
|
var negate = false;
|
|
var options = this.options;
|
|
var negateOffset = 0;
|
|
if (options.nonegate)
|
|
return;
|
|
for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
|
|
negate = !negate;
|
|
negateOffset++;
|
|
}
|
|
if (negateOffset)
|
|
this.pattern = pattern.substr(negateOffset);
|
|
this.negate = negate;
|
|
}
|
|
minimatch.braceExpand = function(pattern, options) {
|
|
return braceExpand(pattern, options);
|
|
};
|
|
Minimatch.prototype.braceExpand = braceExpand;
|
|
function braceExpand(pattern, options) {
|
|
if (!options) {
|
|
if (this instanceof Minimatch) {
|
|
options = this.options;
|
|
} else {
|
|
options = {};
|
|
}
|
|
}
|
|
pattern = typeof pattern === "undefined" ? this.pattern : pattern;
|
|
if (typeof pattern === "undefined") {
|
|
throw new TypeError("undefined pattern");
|
|
}
|
|
if (options.nobrace || !pattern.match(/\{.*\}/)) {
|
|
return [pattern];
|
|
}
|
|
return expand(pattern);
|
|
}
|
|
Minimatch.prototype.parse = parse;
|
|
var SUBPARSE = {};
|
|
function parse(pattern, isSub) {
|
|
if (pattern.length > 1024 * 64) {
|
|
throw new TypeError("pattern is too long");
|
|
}
|
|
var options = this.options;
|
|
if (!options.noglobstar && pattern === "**")
|
|
return GLOBSTAR;
|
|
if (pattern === "")
|
|
return "";
|
|
var re = "";
|
|
var hasMagic = !!options.nocase;
|
|
var escaping = false;
|
|
var patternListStack = [];
|
|
var negativeLists = [];
|
|
var stateChar;
|
|
var inClass = false;
|
|
var reClassStart = -1;
|
|
var classStart = -1;
|
|
var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
|
|
var self = this;
|
|
function clearStateChar() {
|
|
if (stateChar) {
|
|
switch (stateChar) {
|
|
case "*":
|
|
re += star;
|
|
hasMagic = true;
|
|
break;
|
|
case "?":
|
|
re += qmark;
|
|
hasMagic = true;
|
|
break;
|
|
default:
|
|
re += "\\" + stateChar;
|
|
break;
|
|
}
|
|
self.debug("clearStateChar %j %j", stateChar, re);
|
|
stateChar = false;
|
|
}
|
|
}
|
|
for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
|
|
this.debug("%s %s %s %j", pattern, i, re, c);
|
|
if (escaping && reSpecials[c]) {
|
|
re += "\\" + c;
|
|
escaping = false;
|
|
continue;
|
|
}
|
|
switch (c) {
|
|
case "/":
|
|
return false;
|
|
case "\\":
|
|
clearStateChar();
|
|
escaping = true;
|
|
continue;
|
|
case "?":
|
|
case "*":
|
|
case "+":
|
|
case "@":
|
|
case "!":
|
|
this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c);
|
|
if (inClass) {
|
|
this.debug(" in class");
|
|
if (c === "!" && i === classStart + 1)
|
|
c = "^";
|
|
re += c;
|
|
continue;
|
|
}
|
|
self.debug("call clearStateChar %j", stateChar);
|
|
clearStateChar();
|
|
stateChar = c;
|
|
if (options.noext)
|
|
clearStateChar();
|
|
continue;
|
|
case "(":
|
|
if (inClass) {
|
|
re += "(";
|
|
continue;
|
|
}
|
|
if (!stateChar) {
|
|
re += "\\(";
|
|
continue;
|
|
}
|
|
patternListStack.push({
|
|
type: stateChar,
|
|
start: i - 1,
|
|
reStart: re.length,
|
|
open: plTypes[stateChar].open,
|
|
close: plTypes[stateChar].close
|
|
});
|
|
re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
|
|
this.debug("plType %j %j", stateChar, re);
|
|
stateChar = false;
|
|
continue;
|
|
case ")":
|
|
if (inClass || !patternListStack.length) {
|
|
re += "\\)";
|
|
continue;
|
|
}
|
|
clearStateChar();
|
|
hasMagic = true;
|
|
var pl = patternListStack.pop();
|
|
re += pl.close;
|
|
if (pl.type === "!") {
|
|
negativeLists.push(pl);
|
|
}
|
|
pl.reEnd = re.length;
|
|
continue;
|
|
case "|":
|
|
if (inClass || !patternListStack.length || escaping) {
|
|
re += "\\|";
|
|
escaping = false;
|
|
continue;
|
|
}
|
|
clearStateChar();
|
|
re += "|";
|
|
continue;
|
|
case "[":
|
|
clearStateChar();
|
|
if (inClass) {
|
|
re += "\\" + c;
|
|
continue;
|
|
}
|
|
inClass = true;
|
|
classStart = i;
|
|
reClassStart = re.length;
|
|
re += c;
|
|
continue;
|
|
case "]":
|
|
if (i === classStart + 1 || !inClass) {
|
|
re += "\\" + c;
|
|
escaping = false;
|
|
continue;
|
|
}
|
|
if (inClass) {
|
|
var cs = pattern.substring(classStart + 1, i);
|
|
try {
|
|
RegExp("[" + cs + "]");
|
|
} catch (er) {
|
|
var sp = this.parse(cs, SUBPARSE);
|
|
re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
|
|
hasMagic = hasMagic || sp[1];
|
|
inClass = false;
|
|
continue;
|
|
}
|
|
}
|
|
hasMagic = true;
|
|
inClass = false;
|
|
re += c;
|
|
continue;
|
|
default:
|
|
clearStateChar();
|
|
if (escaping) {
|
|
escaping = false;
|
|
} else if (reSpecials[c] && !(c === "^" && inClass)) {
|
|
re += "\\";
|
|
}
|
|
re += c;
|
|
}
|
|
}
|
|
if (inClass) {
|
|
cs = pattern.substr(classStart + 1);
|
|
sp = this.parse(cs, SUBPARSE);
|
|
re = re.substr(0, reClassStart) + "\\[" + sp[0];
|
|
hasMagic = hasMagic || sp[1];
|
|
}
|
|
for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
|
|
var tail = re.slice(pl.reStart + pl.open.length);
|
|
this.debug("setting tail", re, pl);
|
|
tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
|
|
if (!$2) {
|
|
$2 = "\\";
|
|
}
|
|
return $1 + $1 + $2 + "|";
|
|
});
|
|
this.debug("tail=%j\n %s", tail, tail, pl, re);
|
|
var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
|
|
hasMagic = true;
|
|
re = re.slice(0, pl.reStart) + t + "\\(" + tail;
|
|
}
|
|
clearStateChar();
|
|
if (escaping) {
|
|
re += "\\\\";
|
|
}
|
|
var addPatternStart = false;
|
|
switch (re.charAt(0)) {
|
|
case ".":
|
|
case "[":
|
|
case "(":
|
|
addPatternStart = true;
|
|
}
|
|
for (var n = negativeLists.length - 1; n > -1; n--) {
|
|
var nl = negativeLists[n];
|
|
var nlBefore = re.slice(0, nl.reStart);
|
|
var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
|
|
var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
|
|
var nlAfter = re.slice(nl.reEnd);
|
|
nlLast += nlAfter;
|
|
var openParensBefore = nlBefore.split("(").length - 1;
|
|
var cleanAfter = nlAfter;
|
|
for (i = 0; i < openParensBefore; i++) {
|
|
cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
|
|
}
|
|
nlAfter = cleanAfter;
|
|
var dollar = "";
|
|
if (nlAfter === "" && isSub !== SUBPARSE) {
|
|
dollar = "$";
|
|
}
|
|
var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
|
|
re = newRe;
|
|
}
|
|
if (re !== "" && hasMagic) {
|
|
re = "(?=.)" + re;
|
|
}
|
|
if (addPatternStart) {
|
|
re = patternStart + re;
|
|
}
|
|
if (isSub === SUBPARSE) {
|
|
return [re, hasMagic];
|
|
}
|
|
if (!hasMagic) {
|
|
return globUnescape(pattern);
|
|
}
|
|
var flags = options.nocase ? "i" : "";
|
|
try {
|
|
var regExp = new RegExp("^" + re + "$", flags);
|
|
} catch (er) {
|
|
return new RegExp("$.");
|
|
}
|
|
regExp._glob = pattern;
|
|
regExp._src = re;
|
|
return regExp;
|
|
}
|
|
minimatch.makeRe = function(pattern, options) {
|
|
return new Minimatch(pattern, options || {}).makeRe();
|
|
};
|
|
Minimatch.prototype.makeRe = makeRe;
|
|
function makeRe() {
|
|
if (this.regexp || this.regexp === false)
|
|
return this.regexp;
|
|
var set = this.set;
|
|
if (!set.length) {
|
|
this.regexp = false;
|
|
return this.regexp;
|
|
}
|
|
var options = this.options;
|
|
var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
|
|
var flags = options.nocase ? "i" : "";
|
|
var re = set.map(function(pattern) {
|
|
return pattern.map(function(p) {
|
|
return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
|
|
}).join("\\/");
|
|
}).join("|");
|
|
re = "^(?:" + re + ")$";
|
|
if (this.negate)
|
|
re = "^(?!" + re + ").*$";
|
|
try {
|
|
this.regexp = new RegExp(re, flags);
|
|
} catch (ex) {
|
|
this.regexp = false;
|
|
}
|
|
return this.regexp;
|
|
}
|
|
minimatch.match = function(list, pattern, options) {
|
|
options = options || {};
|
|
var mm = new Minimatch(pattern, options);
|
|
list = list.filter(function(f) {
|
|
return mm.match(f);
|
|
});
|
|
if (mm.options.nonull && !list.length) {
|
|
list.push(pattern);
|
|
}
|
|
return list;
|
|
};
|
|
Minimatch.prototype.match = match;
|
|
function match(f, partial) {
|
|
this.debug("match", f, this.pattern);
|
|
if (this.comment)
|
|
return false;
|
|
if (this.empty)
|
|
return f === "";
|
|
if (f === "/" && partial)
|
|
return true;
|
|
var options = this.options;
|
|
if (path2.sep !== "/") {
|
|
f = f.split(path2.sep).join("/");
|
|
}
|
|
f = f.split(slashSplit);
|
|
this.debug(this.pattern, "split", f);
|
|
var set = this.set;
|
|
this.debug(this.pattern, "set", set);
|
|
var filename;
|
|
var i;
|
|
for (i = f.length - 1; i >= 0; i--) {
|
|
filename = f[i];
|
|
if (filename)
|
|
break;
|
|
}
|
|
for (i = 0; i < set.length; i++) {
|
|
var pattern = set[i];
|
|
var file = f;
|
|
if (options.matchBase && pattern.length === 1) {
|
|
file = [filename];
|
|
}
|
|
var hit = this.matchOne(file, pattern, partial);
|
|
if (hit) {
|
|
if (options.flipNegate)
|
|
return true;
|
|
return !this.negate;
|
|
}
|
|
}
|
|
if (options.flipNegate)
|
|
return false;
|
|
return this.negate;
|
|
}
|
|
Minimatch.prototype.matchOne = function(file, pattern, partial) {
|
|
var options = this.options;
|
|
this.debug("matchOne", { "this": this, file, pattern });
|
|
this.debug("matchOne", file.length, pattern.length);
|
|
for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
|
|
this.debug("matchOne loop");
|
|
var p = pattern[pi];
|
|
var f = file[fi];
|
|
this.debug(pattern, p, f);
|
|
if (p === false)
|
|
return false;
|
|
if (p === GLOBSTAR) {
|
|
this.debug("GLOBSTAR", [pattern, p, f]);
|
|
var fr = fi;
|
|
var pr = pi + 1;
|
|
if (pr === pl) {
|
|
this.debug("** at the end");
|
|
for (; fi < fl; fi++) {
|
|
if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
while (fr < fl) {
|
|
var swallowee = file[fr];
|
|
this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
|
|
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
|
|
this.debug("globstar found match!", fr, fl, swallowee);
|
|
return true;
|
|
} else {
|
|
if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
|
|
this.debug("dot detected!", file, fr, pattern, pr);
|
|
break;
|
|
}
|
|
this.debug("globstar swallow a segment, and continue");
|
|
fr++;
|
|
}
|
|
}
|
|
if (partial) {
|
|
this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
|
|
if (fr === fl)
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
var hit;
|
|
if (typeof p === "string") {
|
|
if (options.nocase) {
|
|
hit = f.toLowerCase() === p.toLowerCase();
|
|
} else {
|
|
hit = f === p;
|
|
}
|
|
this.debug("string match", p, f, hit);
|
|
} else {
|
|
hit = f.match(p);
|
|
this.debug("pattern match", p, f, hit);
|
|
}
|
|
if (!hit)
|
|
return false;
|
|
}
|
|
if (fi === fl && pi === pl) {
|
|
return true;
|
|
} else if (fi === fl) {
|
|
return partial;
|
|
} else if (pi === pl) {
|
|
var emptyFileEnd = fi === fl - 1 && file[fi] === "";
|
|
return emptyFileEnd;
|
|
}
|
|
throw new Error("wtf?");
|
|
};
|
|
function globUnescape(s) {
|
|
return s.replace(/\\(.)/g, "$1");
|
|
}
|
|
function regExpEscape(s) {
|
|
return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/inherits_browser.js
|
|
var require_inherits_browser = __commonJS({
|
|
"pnp:inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/inherits_browser.js"(exports, module2) {
|
|
if (typeof Object.create === "function") {
|
|
module2.exports = function inherits(ctor, superCtor) {
|
|
if (superCtor) {
|
|
ctor.super_ = superCtor;
|
|
ctor.prototype = Object.create(superCtor.prototype, {
|
|
constructor: {
|
|
value: ctor,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
}
|
|
};
|
|
} else {
|
|
module2.exports = function inherits(ctor, superCtor) {
|
|
if (superCtor) {
|
|
ctor.super_ = superCtor;
|
|
var TempCtor = function() {
|
|
};
|
|
TempCtor.prototype = superCtor.prototype;
|
|
ctor.prototype = new TempCtor();
|
|
ctor.prototype.constructor = ctor;
|
|
}
|
|
};
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/inherits.js
|
|
var require_inherits = __commonJS({
|
|
"pnp:inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/inherits.js"(exports, module2) {
|
|
try {
|
|
util = require("util");
|
|
if (typeof util.inherits !== "function")
|
|
throw "";
|
|
module2.exports = util.inherits;
|
|
} catch (e) {
|
|
module2.exports = require_inherits_browser();
|
|
}
|
|
var util;
|
|
}
|
|
});
|
|
|
|
// pnp:path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip/node_modules/path-is-absolute/index.js
|
|
var require_path_is_absolute = __commonJS({
|
|
"pnp:path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip/node_modules/path-is-absolute/index.js"(exports, module2) {
|
|
"use strict";
|
|
function posix(path2) {
|
|
return path2.charAt(0) === "/";
|
|
}
|
|
function win32(path2) {
|
|
var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
|
|
var result = splitDeviceRe.exec(path2);
|
|
var device = result[1] || "";
|
|
var isUnc = Boolean(device && device.charAt(1) !== ":");
|
|
return Boolean(result[2] || isUnc);
|
|
}
|
|
module2.exports = process.platform === "win32" ? win32 : posix;
|
|
module2.exports.posix = posix;
|
|
module2.exports.win32 = win32;
|
|
}
|
|
});
|
|
|
|
// pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/common.js
|
|
var require_common = __commonJS({
|
|
"pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/common.js"(exports) {
|
|
exports.setopts = setopts;
|
|
exports.ownProp = ownProp;
|
|
exports.makeAbs = makeAbs;
|
|
exports.finish = finish;
|
|
exports.mark = mark;
|
|
exports.isIgnored = isIgnored;
|
|
exports.childrenIgnored = childrenIgnored;
|
|
function ownProp(obj, field) {
|
|
return Object.prototype.hasOwnProperty.call(obj, field);
|
|
}
|
|
var path2 = require("path");
|
|
var minimatch = require_minimatch();
|
|
var isAbsolute = require_path_is_absolute();
|
|
var Minimatch = minimatch.Minimatch;
|
|
function alphasort(a, b) {
|
|
return a.localeCompare(b, "en");
|
|
}
|
|
function setupIgnores(self, options) {
|
|
self.ignore = options.ignore || [];
|
|
if (!Array.isArray(self.ignore))
|
|
self.ignore = [self.ignore];
|
|
if (self.ignore.length) {
|
|
self.ignore = self.ignore.map(ignoreMap);
|
|
}
|
|
}
|
|
function ignoreMap(pattern) {
|
|
var gmatcher = null;
|
|
if (pattern.slice(-3) === "/**") {
|
|
var gpattern = pattern.replace(/(\/\*\*)+$/, "");
|
|
gmatcher = new Minimatch(gpattern, { dot: true });
|
|
}
|
|
return {
|
|
matcher: new Minimatch(pattern, { dot: true }),
|
|
gmatcher
|
|
};
|
|
}
|
|
function setopts(self, pattern, options) {
|
|
if (!options)
|
|
options = {};
|
|
if (options.matchBase && pattern.indexOf("/") === -1) {
|
|
if (options.noglobstar) {
|
|
throw new Error("base matching requires globstar");
|
|
}
|
|
pattern = "**/" + pattern;
|
|
}
|
|
self.silent = !!options.silent;
|
|
self.pattern = pattern;
|
|
self.strict = options.strict !== false;
|
|
self.realpath = !!options.realpath;
|
|
self.realpathCache = options.realpathCache || Object.create(null);
|
|
self.follow = !!options.follow;
|
|
self.dot = !!options.dot;
|
|
self.mark = !!options.mark;
|
|
self.nodir = !!options.nodir;
|
|
if (self.nodir)
|
|
self.mark = true;
|
|
self.sync = !!options.sync;
|
|
self.nounique = !!options.nounique;
|
|
self.nonull = !!options.nonull;
|
|
self.nosort = !!options.nosort;
|
|
self.nocase = !!options.nocase;
|
|
self.stat = !!options.stat;
|
|
self.noprocess = !!options.noprocess;
|
|
self.absolute = !!options.absolute;
|
|
self.maxLength = options.maxLength || Infinity;
|
|
self.cache = options.cache || Object.create(null);
|
|
self.statCache = options.statCache || Object.create(null);
|
|
self.symlinks = options.symlinks || Object.create(null);
|
|
setupIgnores(self, options);
|
|
self.changedCwd = false;
|
|
var cwd = process.cwd();
|
|
if (!ownProp(options, "cwd"))
|
|
self.cwd = cwd;
|
|
else {
|
|
self.cwd = path2.resolve(options.cwd);
|
|
self.changedCwd = self.cwd !== cwd;
|
|
}
|
|
self.root = options.root || path2.resolve(self.cwd, "/");
|
|
self.root = path2.resolve(self.root);
|
|
if (process.platform === "win32")
|
|
self.root = self.root.replace(/\\/g, "/");
|
|
self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd);
|
|
if (process.platform === "win32")
|
|
self.cwdAbs = self.cwdAbs.replace(/\\/g, "/");
|
|
self.nomount = !!options.nomount;
|
|
options.nonegate = true;
|
|
options.nocomment = true;
|
|
self.minimatch = new Minimatch(pattern, options);
|
|
self.options = self.minimatch.options;
|
|
}
|
|
function finish(self) {
|
|
var nou = self.nounique;
|
|
var all = nou ? [] : Object.create(null);
|
|
for (var i = 0, l = self.matches.length; i < l; i++) {
|
|
var matches = self.matches[i];
|
|
if (!matches || Object.keys(matches).length === 0) {
|
|
if (self.nonull) {
|
|
var literal = self.minimatch.globSet[i];
|
|
if (nou)
|
|
all.push(literal);
|
|
else
|
|
all[literal] = true;
|
|
}
|
|
} else {
|
|
var m = Object.keys(matches);
|
|
if (nou)
|
|
all.push.apply(all, m);
|
|
else
|
|
m.forEach(function(m2) {
|
|
all[m2] = true;
|
|
});
|
|
}
|
|
}
|
|
if (!nou)
|
|
all = Object.keys(all);
|
|
if (!self.nosort)
|
|
all = all.sort(alphasort);
|
|
if (self.mark) {
|
|
for (var i = 0; i < all.length; i++) {
|
|
all[i] = self._mark(all[i]);
|
|
}
|
|
if (self.nodir) {
|
|
all = all.filter(function(e) {
|
|
var notDir = !/\/$/.test(e);
|
|
var c = self.cache[e] || self.cache[makeAbs(self, e)];
|
|
if (notDir && c)
|
|
notDir = c !== "DIR" && !Array.isArray(c);
|
|
return notDir;
|
|
});
|
|
}
|
|
}
|
|
if (self.ignore.length)
|
|
all = all.filter(function(m2) {
|
|
return !isIgnored(self, m2);
|
|
});
|
|
self.found = all;
|
|
}
|
|
function mark(self, p) {
|
|
var abs = makeAbs(self, p);
|
|
var c = self.cache[abs];
|
|
var m = p;
|
|
if (c) {
|
|
var isDir = c === "DIR" || Array.isArray(c);
|
|
var slash = p.slice(-1) === "/";
|
|
if (isDir && !slash)
|
|
m += "/";
|
|
else if (!isDir && slash)
|
|
m = m.slice(0, -1);
|
|
if (m !== p) {
|
|
var mabs = makeAbs(self, m);
|
|
self.statCache[mabs] = self.statCache[abs];
|
|
self.cache[mabs] = self.cache[abs];
|
|
}
|
|
}
|
|
return m;
|
|
}
|
|
function makeAbs(self, f) {
|
|
var abs = f;
|
|
if (f.charAt(0) === "/") {
|
|
abs = path2.join(self.root, f);
|
|
} else if (isAbsolute(f) || f === "") {
|
|
abs = f;
|
|
} else if (self.changedCwd) {
|
|
abs = path2.resolve(self.cwd, f);
|
|
} else {
|
|
abs = path2.resolve(f);
|
|
}
|
|
if (process.platform === "win32")
|
|
abs = abs.replace(/\\/g, "/");
|
|
return abs;
|
|
}
|
|
function isIgnored(self, path3) {
|
|
if (!self.ignore.length)
|
|
return false;
|
|
return self.ignore.some(function(item) {
|
|
return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3));
|
|
});
|
|
}
|
|
function childrenIgnored(self, path3) {
|
|
if (!self.ignore.length)
|
|
return false;
|
|
return self.ignore.some(function(item) {
|
|
return !!(item.gmatcher && item.gmatcher.match(path3));
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/sync.js
|
|
var require_sync = __commonJS({
|
|
"pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/sync.js"(exports, module2) {
|
|
module2.exports = globSync;
|
|
globSync.GlobSync = GlobSync;
|
|
var fs4 = require("fs");
|
|
var rp = require_fs();
|
|
var minimatch = require_minimatch();
|
|
var Minimatch = minimatch.Minimatch;
|
|
var Glob2 = require_glob().Glob;
|
|
var util = require("util");
|
|
var path2 = require("path");
|
|
var assert = require("assert");
|
|
var isAbsolute = require_path_is_absolute();
|
|
var common = require_common();
|
|
var setopts = common.setopts;
|
|
var ownProp = common.ownProp;
|
|
var childrenIgnored = common.childrenIgnored;
|
|
var isIgnored = common.isIgnored;
|
|
function globSync(pattern, options) {
|
|
if (typeof options === "function" || arguments.length === 3)
|
|
throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
|
|
return new GlobSync(pattern, options).found;
|
|
}
|
|
function GlobSync(pattern, options) {
|
|
if (!pattern)
|
|
throw new Error("must provide pattern");
|
|
if (typeof options === "function" || arguments.length === 3)
|
|
throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
|
|
if (!(this instanceof GlobSync))
|
|
return new GlobSync(pattern, options);
|
|
setopts(this, pattern, options);
|
|
if (this.noprocess)
|
|
return this;
|
|
var n = this.minimatch.set.length;
|
|
this.matches = new Array(n);
|
|
for (var i = 0; i < n; i++) {
|
|
this._process(this.minimatch.set[i], i, false);
|
|
}
|
|
this._finish();
|
|
}
|
|
GlobSync.prototype._finish = function() {
|
|
assert(this instanceof GlobSync);
|
|
if (this.realpath) {
|
|
var self = this;
|
|
this.matches.forEach(function(matchset, index) {
|
|
var set = self.matches[index] = Object.create(null);
|
|
for (var p in matchset) {
|
|
try {
|
|
p = self._makeAbs(p);
|
|
var real = rp.realpathSync(p, self.realpathCache);
|
|
set[real] = true;
|
|
} catch (er) {
|
|
if (er.syscall === "stat")
|
|
set[self._makeAbs(p)] = true;
|
|
else
|
|
throw er;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
common.finish(this);
|
|
};
|
|
GlobSync.prototype._process = function(pattern, index, inGlobStar) {
|
|
assert(this instanceof GlobSync);
|
|
var n = 0;
|
|
while (typeof pattern[n] === "string") {
|
|
n++;
|
|
}
|
|
var prefix;
|
|
switch (n) {
|
|
case pattern.length:
|
|
this._processSimple(pattern.join("/"), index);
|
|
return;
|
|
case 0:
|
|
prefix = null;
|
|
break;
|
|
default:
|
|
prefix = pattern.slice(0, n).join("/");
|
|
break;
|
|
}
|
|
var remain = pattern.slice(n);
|
|
var read;
|
|
if (prefix === null)
|
|
read = ".";
|
|
else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
|
|
if (!prefix || !isAbsolute(prefix))
|
|
prefix = "/" + prefix;
|
|
read = prefix;
|
|
} else
|
|
read = prefix;
|
|
var abs = this._makeAbs(read);
|
|
if (childrenIgnored(this, read))
|
|
return;
|
|
var isGlobStar = remain[0] === minimatch.GLOBSTAR;
|
|
if (isGlobStar)
|
|
this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
|
|
else
|
|
this._processReaddir(prefix, read, abs, remain, index, inGlobStar);
|
|
};
|
|
GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) {
|
|
var entries = this._readdir(abs, inGlobStar);
|
|
if (!entries)
|
|
return;
|
|
var pn = remain[0];
|
|
var negate = !!this.minimatch.negate;
|
|
var rawGlob = pn._glob;
|
|
var dotOk = this.dot || rawGlob.charAt(0) === ".";
|
|
var matchedEntries = [];
|
|
for (var i = 0; i < entries.length; i++) {
|
|
var e = entries[i];
|
|
if (e.charAt(0) !== "." || dotOk) {
|
|
var m;
|
|
if (negate && !prefix) {
|
|
m = !e.match(pn);
|
|
} else {
|
|
m = e.match(pn);
|
|
}
|
|
if (m)
|
|
matchedEntries.push(e);
|
|
}
|
|
}
|
|
var len = matchedEntries.length;
|
|
if (len === 0)
|
|
return;
|
|
if (remain.length === 1 && !this.mark && !this.stat) {
|
|
if (!this.matches[index])
|
|
this.matches[index] = Object.create(null);
|
|
for (var i = 0; i < len; i++) {
|
|
var e = matchedEntries[i];
|
|
if (prefix) {
|
|
if (prefix.slice(-1) !== "/")
|
|
e = prefix + "/" + e;
|
|
else
|
|
e = prefix + e;
|
|
}
|
|
if (e.charAt(0) === "/" && !this.nomount) {
|
|
e = path2.join(this.root, e);
|
|
}
|
|
this._emitMatch(index, e);
|
|
}
|
|
return;
|
|
}
|
|
remain.shift();
|
|
for (var i = 0; i < len; i++) {
|
|
var e = matchedEntries[i];
|
|
var newPattern;
|
|
if (prefix)
|
|
newPattern = [prefix, e];
|
|
else
|
|
newPattern = [e];
|
|
this._process(newPattern.concat(remain), index, inGlobStar);
|
|
}
|
|
};
|
|
GlobSync.prototype._emitMatch = function(index, e) {
|
|
if (isIgnored(this, e))
|
|
return;
|
|
var abs = this._makeAbs(e);
|
|
if (this.mark)
|
|
e = this._mark(e);
|
|
if (this.absolute) {
|
|
e = abs;
|
|
}
|
|
if (this.matches[index][e])
|
|
return;
|
|
if (this.nodir) {
|
|
var c = this.cache[abs];
|
|
if (c === "DIR" || Array.isArray(c))
|
|
return;
|
|
}
|
|
this.matches[index][e] = true;
|
|
if (this.stat)
|
|
this._stat(e);
|
|
};
|
|
GlobSync.prototype._readdirInGlobStar = function(abs) {
|
|
if (this.follow)
|
|
return this._readdir(abs, false);
|
|
var entries;
|
|
var lstat;
|
|
var stat;
|
|
try {
|
|
lstat = fs4.lstatSync(abs);
|
|
} catch (er) {
|
|
if (er.code === "ENOENT") {
|
|
return null;
|
|
}
|
|
}
|
|
var isSym = lstat && lstat.isSymbolicLink();
|
|
this.symlinks[abs] = isSym;
|
|
if (!isSym && lstat && !lstat.isDirectory())
|
|
this.cache[abs] = "FILE";
|
|
else
|
|
entries = this._readdir(abs, false);
|
|
return entries;
|
|
};
|
|
GlobSync.prototype._readdir = function(abs, inGlobStar) {
|
|
var entries;
|
|
if (inGlobStar && !ownProp(this.symlinks, abs))
|
|
return this._readdirInGlobStar(abs);
|
|
if (ownProp(this.cache, abs)) {
|
|
var c = this.cache[abs];
|
|
if (!c || c === "FILE")
|
|
return null;
|
|
if (Array.isArray(c))
|
|
return c;
|
|
}
|
|
try {
|
|
return this._readdirEntries(abs, fs4.readdirSync(abs));
|
|
} catch (er) {
|
|
this._readdirError(abs, er);
|
|
return null;
|
|
}
|
|
};
|
|
GlobSync.prototype._readdirEntries = function(abs, entries) {
|
|
if (!this.mark && !this.stat) {
|
|
for (var i = 0; i < entries.length; i++) {
|
|
var e = entries[i];
|
|
if (abs === "/")
|
|
e = abs + e;
|
|
else
|
|
e = abs + "/" + e;
|
|
this.cache[e] = true;
|
|
}
|
|
}
|
|
this.cache[abs] = entries;
|
|
return entries;
|
|
};
|
|
GlobSync.prototype._readdirError = function(f, er) {
|
|
switch (er.code) {
|
|
case "ENOTSUP":
|
|
case "ENOTDIR":
|
|
var abs = this._makeAbs(f);
|
|
this.cache[abs] = "FILE";
|
|
if (abs === this.cwdAbs) {
|
|
var error = new Error(er.code + " invalid cwd " + this.cwd);
|
|
error.path = this.cwd;
|
|
error.code = er.code;
|
|
throw error;
|
|
}
|
|
break;
|
|
case "ENOENT":
|
|
case "ELOOP":
|
|
case "ENAMETOOLONG":
|
|
case "UNKNOWN":
|
|
this.cache[this._makeAbs(f)] = false;
|
|
break;
|
|
default:
|
|
this.cache[this._makeAbs(f)] = false;
|
|
if (this.strict)
|
|
throw er;
|
|
if (!this.silent)
|
|
console.error("glob error", er);
|
|
break;
|
|
}
|
|
};
|
|
GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) {
|
|
var entries = this._readdir(abs, inGlobStar);
|
|
if (!entries)
|
|
return;
|
|
var remainWithoutGlobStar = remain.slice(1);
|
|
var gspref = prefix ? [prefix] : [];
|
|
var noGlobStar = gspref.concat(remainWithoutGlobStar);
|
|
this._process(noGlobStar, index, false);
|
|
var len = entries.length;
|
|
var isSym = this.symlinks[abs];
|
|
if (isSym && inGlobStar)
|
|
return;
|
|
for (var i = 0; i < len; i++) {
|
|
var e = entries[i];
|
|
if (e.charAt(0) === "." && !this.dot)
|
|
continue;
|
|
var instead = gspref.concat(entries[i], remainWithoutGlobStar);
|
|
this._process(instead, index, true);
|
|
var below = gspref.concat(entries[i], remain);
|
|
this._process(below, index, true);
|
|
}
|
|
};
|
|
GlobSync.prototype._processSimple = function(prefix, index) {
|
|
var exists = this._stat(prefix);
|
|
if (!this.matches[index])
|
|
this.matches[index] = Object.create(null);
|
|
if (!exists)
|
|
return;
|
|
if (prefix && isAbsolute(prefix) && !this.nomount) {
|
|
var trail = /[\/\\]$/.test(prefix);
|
|
if (prefix.charAt(0) === "/") {
|
|
prefix = path2.join(this.root, prefix);
|
|
} else {
|
|
prefix = path2.resolve(this.root, prefix);
|
|
if (trail)
|
|
prefix += "/";
|
|
}
|
|
}
|
|
if (process.platform === "win32")
|
|
prefix = prefix.replace(/\\/g, "/");
|
|
this._emitMatch(index, prefix);
|
|
};
|
|
GlobSync.prototype._stat = function(f) {
|
|
var abs = this._makeAbs(f);
|
|
var needDir = f.slice(-1) === "/";
|
|
if (f.length > this.maxLength)
|
|
return false;
|
|
if (!this.stat && ownProp(this.cache, abs)) {
|
|
var c = this.cache[abs];
|
|
if (Array.isArray(c))
|
|
c = "DIR";
|
|
if (!needDir || c === "DIR")
|
|
return c;
|
|
if (needDir && c === "FILE")
|
|
return false;
|
|
}
|
|
var exists;
|
|
var stat = this.statCache[abs];
|
|
if (!stat) {
|
|
var lstat;
|
|
try {
|
|
lstat = fs4.lstatSync(abs);
|
|
} catch (er) {
|
|
if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
|
|
this.statCache[abs] = false;
|
|
return false;
|
|
}
|
|
}
|
|
if (lstat && lstat.isSymbolicLink()) {
|
|
try {
|
|
stat = fs4.statSync(abs);
|
|
} catch (er) {
|
|
stat = lstat;
|
|
}
|
|
} else {
|
|
stat = lstat;
|
|
}
|
|
}
|
|
this.statCache[abs] = stat;
|
|
var c = true;
|
|
if (stat)
|
|
c = stat.isDirectory() ? "DIR" : "FILE";
|
|
this.cache[abs] = this.cache[abs] || c;
|
|
if (needDir && c === "FILE")
|
|
return false;
|
|
return c;
|
|
};
|
|
GlobSync.prototype._mark = function(p) {
|
|
return common.mark(this, p);
|
|
};
|
|
GlobSync.prototype._makeAbs = function(f) {
|
|
return common.makeAbs(this, f);
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/wrappy.js
|
|
var require_wrappy = __commonJS({
|
|
"pnp:wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/wrappy.js"(exports, module2) {
|
|
module2.exports = wrappy;
|
|
function wrappy(fn, cb) {
|
|
if (fn && cb)
|
|
return wrappy(fn)(cb);
|
|
if (typeof fn !== "function")
|
|
throw new TypeError("need wrapper function");
|
|
Object.keys(fn).forEach(function(k) {
|
|
wrapper[k] = fn[k];
|
|
});
|
|
return wrapper;
|
|
function wrapper() {
|
|
var args = new Array(arguments.length);
|
|
for (var i = 0; i < args.length; i++) {
|
|
args[i] = arguments[i];
|
|
}
|
|
var ret = fn.apply(this, args);
|
|
var cb2 = args[args.length - 1];
|
|
if (typeof ret === "function" && ret !== cb2) {
|
|
Object.keys(cb2).forEach(function(k) {
|
|
ret[k] = cb2[k];
|
|
});
|
|
}
|
|
return ret;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/once.js
|
|
var require_once = __commonJS({
|
|
"pnp:once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/once.js"(exports, module2) {
|
|
var wrappy = require_wrappy();
|
|
module2.exports = wrappy(once);
|
|
module2.exports.strict = wrappy(onceStrict);
|
|
once.proto = once(function() {
|
|
Object.defineProperty(Function.prototype, "once", {
|
|
value: function() {
|
|
return once(this);
|
|
},
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Function.prototype, "onceStrict", {
|
|
value: function() {
|
|
return onceStrict(this);
|
|
},
|
|
configurable: true
|
|
});
|
|
});
|
|
function once(fn) {
|
|
var f = function() {
|
|
if (f.called)
|
|
return f.value;
|
|
f.called = true;
|
|
return f.value = fn.apply(this, arguments);
|
|
};
|
|
f.called = false;
|
|
return f;
|
|
}
|
|
function onceStrict(fn) {
|
|
var f = function() {
|
|
if (f.called)
|
|
throw new Error(f.onceError);
|
|
f.called = true;
|
|
return f.value = fn.apply(this, arguments);
|
|
};
|
|
var name = fn.name || "Function wrapped with `once`";
|
|
f.onceError = name + " shouldn't be called more than once";
|
|
f.called = false;
|
|
return f;
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/inflight.js
|
|
var require_inflight = __commonJS({
|
|
"pnp:inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/inflight.js"(exports, module2) {
|
|
var wrappy = require_wrappy();
|
|
var reqs = Object.create(null);
|
|
var once = require_once();
|
|
module2.exports = wrappy(inflight);
|
|
function inflight(key, cb) {
|
|
if (reqs[key]) {
|
|
reqs[key].push(cb);
|
|
return null;
|
|
} else {
|
|
reqs[key] = [cb];
|
|
return makeres(key);
|
|
}
|
|
}
|
|
function makeres(key) {
|
|
return once(function RES() {
|
|
var cbs = reqs[key];
|
|
var len = cbs.length;
|
|
var args = slice(arguments);
|
|
try {
|
|
for (var i = 0; i < len; i++) {
|
|
cbs[i].apply(null, args);
|
|
}
|
|
} finally {
|
|
if (cbs.length > len) {
|
|
cbs.splice(0, len);
|
|
process.nextTick(function() {
|
|
RES.apply(null, args);
|
|
});
|
|
} else {
|
|
delete reqs[key];
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function slice(args) {
|
|
var length = args.length;
|
|
var array = [];
|
|
for (var i = 0; i < length; i++)
|
|
array[i] = args[i];
|
|
return array;
|
|
}
|
|
}
|
|
});
|
|
|
|
// pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/glob.js
|
|
var require_glob = __commonJS({
|
|
"pnp:glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/glob.js"(exports, module2) {
|
|
module2.exports = glob2;
|
|
var fs4 = require("fs");
|
|
var rp = require_fs();
|
|
var minimatch = require_minimatch();
|
|
var Minimatch = minimatch.Minimatch;
|
|
var inherits = require_inherits();
|
|
var EE = require("events").EventEmitter;
|
|
var path2 = require("path");
|
|
var assert = require("assert");
|
|
var isAbsolute = require_path_is_absolute();
|
|
var globSync = require_sync();
|
|
var common = require_common();
|
|
var setopts = common.setopts;
|
|
var ownProp = common.ownProp;
|
|
var inflight = require_inflight();
|
|
var util = require("util");
|
|
var childrenIgnored = common.childrenIgnored;
|
|
var isIgnored = common.isIgnored;
|
|
var once = require_once();
|
|
function glob2(pattern, options, cb) {
|
|
if (typeof options === "function")
|
|
cb = options, options = {};
|
|
if (!options)
|
|
options = {};
|
|
if (options.sync) {
|
|
if (cb)
|
|
throw new TypeError("callback provided to sync glob");
|
|
return globSync(pattern, options);
|
|
}
|
|
return new Glob2(pattern, options, cb);
|
|
}
|
|
glob2.sync = globSync;
|
|
var GlobSync = glob2.GlobSync = globSync.GlobSync;
|
|
glob2.glob = glob2;
|
|
function extend(origin, add) {
|
|
if (add === null || typeof add !== "object") {
|
|
return origin;
|
|
}
|
|
var keys = Object.keys(add);
|
|
var i = keys.length;
|
|
while (i--) {
|
|
origin[keys[i]] = add[keys[i]];
|
|
}
|
|
return origin;
|
|
}
|
|
glob2.hasMagic = function(pattern, options_) {
|
|
var options = extend({}, options_);
|
|
options.noprocess = true;
|
|
var g = new Glob2(pattern, options);
|
|
var set = g.minimatch.set;
|
|
if (!pattern)
|
|
return false;
|
|
if (set.length > 1)
|
|
return true;
|
|
for (var j = 0; j < set[0].length; j++) {
|
|
if (typeof set[0][j] !== "string")
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
glob2.Glob = Glob2;
|
|
inherits(Glob2, EE);
|
|
function Glob2(pattern, options, cb) {
|
|
if (typeof options === "function") {
|
|
cb = options;
|
|
options = null;
|
|
}
|
|
if (options && options.sync) {
|
|
if (cb)
|
|
throw new TypeError("callback provided to sync glob");
|
|
return new GlobSync(pattern, options);
|
|
}
|
|
if (!(this instanceof Glob2))
|
|
return new Glob2(pattern, options, cb);
|
|
setopts(this, pattern, options);
|
|
this._didRealPath = false;
|
|
var n = this.minimatch.set.length;
|
|
this.matches = new Array(n);
|
|
if (typeof cb === "function") {
|
|
cb = once(cb);
|
|
this.on("error", cb);
|
|
this.on("end", function(matches) {
|
|
cb(null, matches);
|
|
});
|
|
}
|
|
var self = this;
|
|
this._processing = 0;
|
|
this._emitQueue = [];
|
|
this._processQueue = [];
|
|
this.paused = false;
|
|
if (this.noprocess)
|
|
return this;
|
|
if (n === 0)
|
|
return done();
|
|
var sync = true;
|
|
for (var i = 0; i < n; i++) {
|
|
this._process(this.minimatch.set[i], i, false, done);
|
|
}
|
|
sync = false;
|
|
function done() {
|
|
--self._processing;
|
|
if (self._processing <= 0) {
|
|
if (sync) {
|
|
process.nextTick(function() {
|
|
self._finish();
|
|
});
|
|
} else {
|
|
self._finish();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Glob2.prototype._finish = function() {
|
|
assert(this instanceof Glob2);
|
|
if (this.aborted)
|
|
return;
|
|
if (this.realpath && !this._didRealpath)
|
|
return this._realpath();
|
|
common.finish(this);
|
|
this.emit("end", this.found);
|
|
};
|
|
Glob2.prototype._realpath = function() {
|
|
if (this._didRealpath)
|
|
return;
|
|
this._didRealpath = true;
|
|
var n = this.matches.length;
|
|
if (n === 0)
|
|
return this._finish();
|
|
var self = this;
|
|
for (var i = 0; i < this.matches.length; i++)
|
|
this._realpathSet(i, next);
|
|
function next() {
|
|
if (--n === 0)
|
|
self._finish();
|
|
}
|
|
};
|
|
Glob2.prototype._realpathSet = function(index, cb) {
|
|
var matchset = this.matches[index];
|
|
if (!matchset)
|
|
return cb();
|
|
var found = Object.keys(matchset);
|
|
var self = this;
|
|
var n = found.length;
|
|
if (n === 0)
|
|
return cb();
|
|
var set = this.matches[index] = Object.create(null);
|
|
found.forEach(function(p, i) {
|
|
p = self._makeAbs(p);
|
|
rp.realpath(p, self.realpathCache, function(er, real) {
|
|
if (!er)
|
|
set[real] = true;
|
|
else if (er.syscall === "stat")
|
|
set[p] = true;
|
|
else
|
|
self.emit("error", er);
|
|
if (--n === 0) {
|
|
self.matches[index] = set;
|
|
cb();
|
|
}
|
|
});
|
|
});
|
|
};
|
|
Glob2.prototype._mark = function(p) {
|
|
return common.mark(this, p);
|
|
};
|
|
Glob2.prototype._makeAbs = function(f) {
|
|
return common.makeAbs(this, f);
|
|
};
|
|
Glob2.prototype.abort = function() {
|
|
this.aborted = true;
|
|
this.emit("abort");
|
|
};
|
|
Glob2.prototype.pause = function() {
|
|
if (!this.paused) {
|
|
this.paused = true;
|
|
this.emit("pause");
|
|
}
|
|
};
|
|
Glob2.prototype.resume = function() {
|
|
if (this.paused) {
|
|
this.emit("resume");
|
|
this.paused = false;
|
|
if (this._emitQueue.length) {
|
|
var eq = this._emitQueue.slice(0);
|
|
this._emitQueue.length = 0;
|
|
for (var i = 0; i < eq.length; i++) {
|
|
var e = eq[i];
|
|
this._emitMatch(e[0], e[1]);
|
|
}
|
|
}
|
|
if (this._processQueue.length) {
|
|
var pq = this._processQueue.slice(0);
|
|
this._processQueue.length = 0;
|
|
for (var i = 0; i < pq.length; i++) {
|
|
var p = pq[i];
|
|
this._processing--;
|
|
this._process(p[0], p[1], p[2], p[3]);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
Glob2.prototype._process = function(pattern, index, inGlobStar, cb) {
|
|
assert(this instanceof Glob2);
|
|
assert(typeof cb === "function");
|
|
if (this.aborted)
|
|
return;
|
|
this._processing++;
|
|
if (this.paused) {
|
|
this._processQueue.push([pattern, index, inGlobStar, cb]);
|
|
return;
|
|
}
|
|
var n = 0;
|
|
while (typeof pattern[n] === "string") {
|
|
n++;
|
|
}
|
|
var prefix;
|
|
switch (n) {
|
|
case pattern.length:
|
|
this._processSimple(pattern.join("/"), index, cb);
|
|
return;
|
|
case 0:
|
|
prefix = null;
|
|
break;
|
|
default:
|
|
prefix = pattern.slice(0, n).join("/");
|
|
break;
|
|
}
|
|
var remain = pattern.slice(n);
|
|
var read;
|
|
if (prefix === null)
|
|
read = ".";
|
|
else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
|
|
if (!prefix || !isAbsolute(prefix))
|
|
prefix = "/" + prefix;
|
|
read = prefix;
|
|
} else
|
|
read = prefix;
|
|
var abs = this._makeAbs(read);
|
|
if (childrenIgnored(this, read))
|
|
return cb();
|
|
var isGlobStar = remain[0] === minimatch.GLOBSTAR;
|
|
if (isGlobStar)
|
|
this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
|
|
else
|
|
this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb);
|
|
};
|
|
Glob2.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) {
|
|
var self = this;
|
|
this._readdir(abs, inGlobStar, function(er, entries) {
|
|
return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
|
|
});
|
|
};
|
|
Glob2.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
|
|
if (!entries)
|
|
return cb();
|
|
var pn = remain[0];
|
|
var negate = !!this.minimatch.negate;
|
|
var rawGlob = pn._glob;
|
|
var dotOk = this.dot || rawGlob.charAt(0) === ".";
|
|
var matchedEntries = [];
|
|
for (var i = 0; i < entries.length; i++) {
|
|
var e = entries[i];
|
|
if (e.charAt(0) !== "." || dotOk) {
|
|
var m;
|
|
if (negate && !prefix) {
|
|
m = !e.match(pn);
|
|
} else {
|
|
m = e.match(pn);
|
|
}
|
|
if (m)
|
|
matchedEntries.push(e);
|
|
}
|
|
}
|
|
var len = matchedEntries.length;
|
|
if (len === 0)
|
|
return cb();
|
|
if (remain.length === 1 && !this.mark && !this.stat) {
|
|
if (!this.matches[index])
|
|
this.matches[index] = Object.create(null);
|
|
for (var i = 0; i < len; i++) {
|
|
var e = matchedEntries[i];
|
|
if (prefix) {
|
|
if (prefix !== "/")
|
|
e = prefix + "/" + e;
|
|
else
|
|
e = prefix + e;
|
|
}
|
|
if (e.charAt(0) === "/" && !this.nomount) {
|
|
e = path2.join(this.root, e);
|
|
}
|
|
this._emitMatch(index, e);
|
|
}
|
|
return cb();
|
|
}
|
|
remain.shift();
|
|
for (var i = 0; i < len; i++) {
|
|
var e = matchedEntries[i];
|
|
var newPattern;
|
|
if (prefix) {
|
|
if (prefix !== "/")
|
|
e = prefix + "/" + e;
|
|
else
|
|
e = prefix + e;
|
|
}
|
|
this._process([e].concat(remain), index, inGlobStar, cb);
|
|
}
|
|
cb();
|
|
};
|
|
Glob2.prototype._emitMatch = function(index, e) {
|
|
if (this.aborted)
|
|
return;
|
|
if (isIgnored(this, e))
|
|
return;
|
|
if (this.paused) {
|
|
this._emitQueue.push([index, e]);
|
|
return;
|
|
}
|
|
var abs = isAbsolute(e) ? e : this._makeAbs(e);
|
|
if (this.mark)
|
|
e = this._mark(e);
|
|
if (this.absolute)
|
|
e = abs;
|
|
if (this.matches[index][e])
|
|
return;
|
|
if (this.nodir) {
|
|
var c = this.cache[abs];
|
|
if (c === "DIR" || Array.isArray(c))
|
|
return;
|
|
}
|
|
this.matches[index][e] = true;
|
|
var st = this.statCache[abs];
|
|
if (st)
|
|
this.emit("stat", e, st);
|
|
this.emit("match", e);
|
|
};
|
|
Glob2.prototype._readdirInGlobStar = function(abs, cb) {
|
|
if (this.aborted)
|
|
return;
|
|
if (this.follow)
|
|
return this._readdir(abs, false, cb);
|
|
var lstatkey = "lstat\0" + abs;
|
|
var self = this;
|
|
var lstatcb = inflight(lstatkey, lstatcb_);
|
|
if (lstatcb)
|
|
fs4.lstat(abs, lstatcb);
|
|
function lstatcb_(er, lstat) {
|
|
if (er && er.code === "ENOENT")
|
|
return cb();
|
|
var isSym = lstat && lstat.isSymbolicLink();
|
|
self.symlinks[abs] = isSym;
|
|
if (!isSym && lstat && !lstat.isDirectory()) {
|
|
self.cache[abs] = "FILE";
|
|
cb();
|
|
} else
|
|
self._readdir(abs, false, cb);
|
|
}
|
|
};
|
|
Glob2.prototype._readdir = function(abs, inGlobStar, cb) {
|
|
if (this.aborted)
|
|
return;
|
|
cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb);
|
|
if (!cb)
|
|
return;
|
|
if (inGlobStar && !ownProp(this.symlinks, abs))
|
|
return this._readdirInGlobStar(abs, cb);
|
|
if (ownProp(this.cache, abs)) {
|
|
var c = this.cache[abs];
|
|
if (!c || c === "FILE")
|
|
return cb();
|
|
if (Array.isArray(c))
|
|
return cb(null, c);
|
|
}
|
|
var self = this;
|
|
fs4.readdir(abs, readdirCb(this, abs, cb));
|
|
};
|
|
function readdirCb(self, abs, cb) {
|
|
return function(er, entries) {
|
|
if (er)
|
|
self._readdirError(abs, er, cb);
|
|
else
|
|
self._readdirEntries(abs, entries, cb);
|
|
};
|
|
}
|
|
Glob2.prototype._readdirEntries = function(abs, entries, cb) {
|
|
if (this.aborted)
|
|
return;
|
|
if (!this.mark && !this.stat) {
|
|
for (var i = 0; i < entries.length; i++) {
|
|
var e = entries[i];
|
|
if (abs === "/")
|
|
e = abs + e;
|
|
else
|
|
e = abs + "/" + e;
|
|
this.cache[e] = true;
|
|
}
|
|
}
|
|
this.cache[abs] = entries;
|
|
return cb(null, entries);
|
|
};
|
|
Glob2.prototype._readdirError = function(f, er, cb) {
|
|
if (this.aborted)
|
|
return;
|
|
switch (er.code) {
|
|
case "ENOTSUP":
|
|
case "ENOTDIR":
|
|
var abs = this._makeAbs(f);
|
|
this.cache[abs] = "FILE";
|
|
if (abs === this.cwdAbs) {
|
|
var error = new Error(er.code + " invalid cwd " + this.cwd);
|
|
error.path = this.cwd;
|
|
error.code = er.code;
|
|
this.emit("error", error);
|
|
this.abort();
|
|
}
|
|
break;
|
|
case "ENOENT":
|
|
case "ELOOP":
|
|
case "ENAMETOOLONG":
|
|
case "UNKNOWN":
|
|
this.cache[this._makeAbs(f)] = false;
|
|
break;
|
|
default:
|
|
this.cache[this._makeAbs(f)] = false;
|
|
if (this.strict) {
|
|
this.emit("error", er);
|
|
this.abort();
|
|
}
|
|
if (!this.silent)
|
|
console.error("glob error", er);
|
|
break;
|
|
}
|
|
return cb();
|
|
};
|
|
Glob2.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) {
|
|
var self = this;
|
|
this._readdir(abs, inGlobStar, function(er, entries) {
|
|
self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
|
|
});
|
|
};
|
|
Glob2.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
|
|
if (!entries)
|
|
return cb();
|
|
var remainWithoutGlobStar = remain.slice(1);
|
|
var gspref = prefix ? [prefix] : [];
|
|
var noGlobStar = gspref.concat(remainWithoutGlobStar);
|
|
this._process(noGlobStar, index, false, cb);
|
|
var isSym = this.symlinks[abs];
|
|
var len = entries.length;
|
|
if (isSym && inGlobStar)
|
|
return cb();
|
|
for (var i = 0; i < len; i++) {
|
|
var e = entries[i];
|
|
if (e.charAt(0) === "." && !this.dot)
|
|
continue;
|
|
var instead = gspref.concat(entries[i], remainWithoutGlobStar);
|
|
this._process(instead, index, true, cb);
|
|
var below = gspref.concat(entries[i], remain);
|
|
this._process(below, index, true, cb);
|
|
}
|
|
cb();
|
|
};
|
|
Glob2.prototype._processSimple = function(prefix, index, cb) {
|
|
var self = this;
|
|
this._stat(prefix, function(er, exists) {
|
|
self._processSimple2(prefix, index, er, exists, cb);
|
|
});
|
|
};
|
|
Glob2.prototype._processSimple2 = function(prefix, index, er, exists, cb) {
|
|
if (!this.matches[index])
|
|
this.matches[index] = Object.create(null);
|
|
if (!exists)
|
|
return cb();
|
|
if (prefix && isAbsolute(prefix) && !this.nomount) {
|
|
var trail = /[\/\\]$/.test(prefix);
|
|
if (prefix.charAt(0) === "/") {
|
|
prefix = path2.join(this.root, prefix);
|
|
} else {
|
|
prefix = path2.resolve(this.root, prefix);
|
|
if (trail)
|
|
prefix += "/";
|
|
}
|
|
}
|
|
if (process.platform === "win32")
|
|
prefix = prefix.replace(/\\/g, "/");
|
|
this._emitMatch(index, prefix);
|
|
cb();
|
|
};
|
|
Glob2.prototype._stat = function(f, cb) {
|
|
var abs = this._makeAbs(f);
|
|
var needDir = f.slice(-1) === "/";
|
|
if (f.length > this.maxLength)
|
|
return cb();
|
|
if (!this.stat && ownProp(this.cache, abs)) {
|
|
var c = this.cache[abs];
|
|
if (Array.isArray(c))
|
|
c = "DIR";
|
|
if (!needDir || c === "DIR")
|
|
return cb(null, c);
|
|
if (needDir && c === "FILE")
|
|
return cb();
|
|
}
|
|
var exists;
|
|
var stat = this.statCache[abs];
|
|
if (stat !== void 0) {
|
|
if (stat === false)
|
|
return cb(null, stat);
|
|
else {
|
|
var type = stat.isDirectory() ? "DIR" : "FILE";
|
|
if (needDir && type === "FILE")
|
|
return cb();
|
|
else
|
|
return cb(null, type, stat);
|
|
}
|
|
}
|
|
var self = this;
|
|
var statcb = inflight("stat\0" + abs, lstatcb_);
|
|
if (statcb)
|
|
fs4.lstat(abs, statcb);
|
|
function lstatcb_(er, lstat) {
|
|
if (lstat && lstat.isSymbolicLink()) {
|
|
return fs4.stat(abs, function(er2, stat2) {
|
|
if (er2)
|
|
self._stat2(f, abs, null, lstat, cb);
|
|
else
|
|
self._stat2(f, abs, er2, stat2, cb);
|
|
});
|
|
} else {
|
|
self._stat2(f, abs, er, lstat, cb);
|
|
}
|
|
}
|
|
};
|
|
Glob2.prototype._stat2 = function(f, abs, er, stat, cb) {
|
|
if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
|
|
this.statCache[abs] = false;
|
|
return cb();
|
|
}
|
|
var needDir = f.slice(-1) === "/";
|
|
this.statCache[abs] = stat;
|
|
if (abs.slice(-1) === "/" && stat && !stat.isDirectory())
|
|
return cb(null, false, stat);
|
|
var c = true;
|
|
if (stat)
|
|
c = stat.isDirectory() ? "DIR" : "FILE";
|
|
this.cache[abs] = this.cache[abs] || c;
|
|
if (needDir && c === "FILE")
|
|
return cb();
|
|
return cb(null, c, stat);
|
|
};
|
|
}
|
|
});
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/index.ts
|
|
__export(exports, {
|
|
ExitCode: () => ExitCode,
|
|
Parameter: () => Parameter,
|
|
Target: () => Target,
|
|
chalk: () => chalk4,
|
|
chdir: () => chdir,
|
|
createParameter: () => createParameter,
|
|
createTarget: () => createTarget,
|
|
exec: () => exec,
|
|
glob: () => glob,
|
|
logger: () => logger,
|
|
rm: () => rm,
|
|
runner: () => runner,
|
|
setup: () => setup,
|
|
sleep: () => sleep
|
|
});
|
|
var import_chalk4 = __toModule(require_source());
|
|
var import_module = __toModule(require("module"));
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/package.json
|
|
var version = "0.8.1";
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/chdir.ts
|
|
var import_fs = __toModule(require("fs"));
|
|
var import_path = __toModule(require("path"));
|
|
var import_url = __toModule(require("url"));
|
|
var chdir = (directory, relativeTo) => {
|
|
if (relativeTo) {
|
|
if (relativeTo.startsWith("file://")) {
|
|
relativeTo = import_url.default.fileURLToPath(relativeTo);
|
|
}
|
|
try {
|
|
const stat = import_fs.default.statSync(relativeTo);
|
|
if (!stat.isDirectory()) {
|
|
relativeTo = import_path.default.dirname(relativeTo);
|
|
}
|
|
} catch {
|
|
relativeTo = import_path.default.dirname(relativeTo);
|
|
}
|
|
directory = import_path.default.resolve(relativeTo, directory);
|
|
}
|
|
process.chdir(directory);
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/exec.ts
|
|
var import_chalk = __toModule(require_source());
|
|
var import_child_process = __toModule(require("child_process"));
|
|
var import_fs2 = __toModule(require("fs"));
|
|
var import_path2 = __toModule(require("path"));
|
|
var children = new Set();
|
|
var killChildren = () => {
|
|
for (const child of children) {
|
|
child.kill("SIGTERM");
|
|
children.delete(child);
|
|
console.log("killed child process");
|
|
}
|
|
};
|
|
var trap = (signals, handler) => {
|
|
let readline;
|
|
if (process.platform === "win32") {
|
|
readline = require("readline").createInterface({
|
|
input: process.stdin,
|
|
output: process.stdout
|
|
});
|
|
}
|
|
for (const signal of signals) {
|
|
const handleSignal = () => handler(signal);
|
|
if (signal === "EXIT") {
|
|
process.on("exit", handleSignal);
|
|
continue;
|
|
}
|
|
if (readline) {
|
|
readline.on("SIG" + signal, handleSignal);
|
|
}
|
|
process.on("SIG" + signal, handleSignal);
|
|
}
|
|
};
|
|
var ExitCode = class extends Error {
|
|
constructor(code, signal) {
|
|
super("Process exited with code: " + code);
|
|
this.code = null;
|
|
this.signal = null;
|
|
this.code = code;
|
|
this.signal = signal || null;
|
|
}
|
|
};
|
|
var exec = (executable, args = [], options = {}) => {
|
|
const _a = options, {
|
|
silent = false,
|
|
throw: canThrow = true
|
|
} = _a, spawnOptions = __objRest(_a, [
|
|
"silent",
|
|
"throw"
|
|
]);
|
|
return new Promise((resolve, reject) => {
|
|
if (import_fs2.default.existsSync(executable)) {
|
|
executable = (0, import_path2.resolve)(executable);
|
|
}
|
|
if (process.env.JUKE_DEBUG) {
|
|
console.log(import_chalk.default.grey("$", executable, ...args));
|
|
}
|
|
const child = (0, import_child_process.spawn)(executable, args, spawnOptions);
|
|
children.add(child);
|
|
let stdout = "";
|
|
let stderr = "";
|
|
let combined = "";
|
|
child.stdout.on("data", (data) => {
|
|
if (!silent) {
|
|
process.stdout.write(data);
|
|
}
|
|
stdout += data;
|
|
combined += data;
|
|
});
|
|
child.stderr.on("data", (data) => {
|
|
if (!silent) {
|
|
process.stderr.write(data);
|
|
}
|
|
stderr += data;
|
|
combined += data;
|
|
});
|
|
child.on("error", (err) => reject(err));
|
|
child.on("exit", (code, signal) => {
|
|
children.delete(child);
|
|
if (code !== 0 && canThrow) {
|
|
const error = new ExitCode(code);
|
|
error.code = code;
|
|
error.signal = signal;
|
|
reject(error);
|
|
return;
|
|
}
|
|
resolve({
|
|
code,
|
|
signal,
|
|
stdout,
|
|
stderr,
|
|
combined
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/logger.ts
|
|
var import_chalk2 = __toModule(require_source());
|
|
var logger = {
|
|
log: (...args) => {
|
|
console.log(...args);
|
|
},
|
|
error: (...args) => {
|
|
console.log(import_chalk2.default.bold(import_chalk2.default.redBright("=>"), import_chalk2.default.whiteBright(...args)));
|
|
},
|
|
action: (...args) => {
|
|
console.log(import_chalk2.default.bold(import_chalk2.default.greenBright("=>"), import_chalk2.default.whiteBright(...args)));
|
|
},
|
|
warn: (...args) => {
|
|
console.log(import_chalk2.default.bold(import_chalk2.default.yellowBright("=>"), import_chalk2.default.whiteBright(...args)));
|
|
},
|
|
info: (...args) => {
|
|
console.log(import_chalk2.default.bold(import_chalk2.default.blueBright("::"), import_chalk2.default.whiteBright(...args)));
|
|
},
|
|
debug: (...args) => {
|
|
if (process.env.JUKE_DEBUG) {
|
|
console.log(import_chalk2.default.gray(...args));
|
|
}
|
|
}
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/string.ts
|
|
var import_stringcase = __toModule(require_lib());
|
|
var toKebabCase = (str) => (0, import_stringcase.spinalcase)(str);
|
|
var toCamelCase = (str) => (0, import_stringcase.camelcase)(str);
|
|
var toConstCase = (str) => (0, import_stringcase.constcase)(str);
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/parameter.ts
|
|
var Parameter = class {
|
|
constructor(config) {
|
|
this.type = config.type;
|
|
this.name = config.name;
|
|
this.alias = config.alias;
|
|
}
|
|
isString() {
|
|
return this.type === "string" || this.type === "string[]";
|
|
}
|
|
isNumber() {
|
|
return this.type === "number" || this.type === "number[]";
|
|
}
|
|
isBoolean() {
|
|
return this.type === "boolean" || this.type === "boolean[]";
|
|
}
|
|
isArray() {
|
|
return this.type.endsWith("[]");
|
|
}
|
|
toKebabCase() {
|
|
if (!this.name)
|
|
return;
|
|
return toKebabCase(this.name);
|
|
}
|
|
toConstCase() {
|
|
if (!this.name)
|
|
return;
|
|
return toConstCase(this.name);
|
|
}
|
|
toCamelCase() {
|
|
if (!this.name)
|
|
return;
|
|
return toCamelCase(this.name);
|
|
}
|
|
};
|
|
var createParameter = (config) => new Parameter(config);
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/runner.ts
|
|
var import_chalk3 = __toModule(require_source());
|
|
var import_events = __toModule(require("events"));
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/argparse.ts
|
|
var stringToBoolean = (str) => str !== void 0 && str !== null && str !== "false" && str !== "0" && str !== "null";
|
|
var prepareArgs = (args, singleTarget = false) => {
|
|
let inGlobalContext = true;
|
|
const globalFlags = [];
|
|
const taskArgs = [];
|
|
let currentTaskArgs;
|
|
while (args.length !== 0) {
|
|
const arg = args.shift();
|
|
if (!arg) {
|
|
continue;
|
|
}
|
|
if (arg === "--") {
|
|
inGlobalContext = false;
|
|
continue;
|
|
}
|
|
if (arg.startsWith("-")) {
|
|
if (inGlobalContext) {
|
|
globalFlags.push(arg);
|
|
} else if (currentTaskArgs) {
|
|
currentTaskArgs.push(arg);
|
|
}
|
|
continue;
|
|
}
|
|
inGlobalContext = false;
|
|
if (singleTarget) {
|
|
if (!currentTaskArgs) {
|
|
currentTaskArgs = [arg];
|
|
} else {
|
|
currentTaskArgs.push(arg);
|
|
}
|
|
continue;
|
|
}
|
|
if (currentTaskArgs) {
|
|
taskArgs.push(currentTaskArgs);
|
|
}
|
|
currentTaskArgs = [arg];
|
|
}
|
|
if (currentTaskArgs) {
|
|
taskArgs.push(currentTaskArgs);
|
|
}
|
|
return { globalFlags, taskArgs };
|
|
};
|
|
var parseArgs = (args, parameters) => {
|
|
args = [...args];
|
|
const parameterMap = new Map();
|
|
const pushValue = (key, value) => {
|
|
const values = parameterMap.get(key);
|
|
if (!values) {
|
|
parameterMap.set(key, [value]);
|
|
return;
|
|
}
|
|
values.push(value);
|
|
};
|
|
let currentSet = [];
|
|
let currentSetType;
|
|
while (true) {
|
|
if (currentSet.length === 0) {
|
|
const arg2 = args.shift();
|
|
if (!arg2) {
|
|
break;
|
|
}
|
|
if (arg2.startsWith("--")) {
|
|
currentSet = [arg2.substr(2)];
|
|
currentSetType = "long";
|
|
} else if (arg2.startsWith("-")) {
|
|
currentSet = Array.from(arg2);
|
|
currentSetType = "short";
|
|
} else {
|
|
currentSet = [];
|
|
currentSetType = void 0;
|
|
}
|
|
}
|
|
const arg = currentSet.shift();
|
|
if (currentSetType === "short") {
|
|
const parameter = parameters.find((p) => p.alias === arg);
|
|
if (!parameter) {
|
|
continue;
|
|
}
|
|
if (parameter.isBoolean()) {
|
|
pushValue(parameter, true);
|
|
continue;
|
|
}
|
|
if (currentSet.length === 0) {
|
|
continue;
|
|
}
|
|
const string = currentSet.join("");
|
|
currentSet = [];
|
|
if (parameter.isNumber()) {
|
|
pushValue(parameter, parseFloat(string));
|
|
continue;
|
|
}
|
|
pushValue(parameter, string);
|
|
continue;
|
|
}
|
|
if (currentSetType === "long") {
|
|
const equalsIndex = arg.indexOf("=");
|
|
let name = arg;
|
|
let value = null;
|
|
if (equalsIndex >= 0) {
|
|
name = arg.substr(0, equalsIndex);
|
|
value = arg.substr(equalsIndex + 1);
|
|
if (value === "") {
|
|
value = null;
|
|
}
|
|
}
|
|
const parameter = parameters.find((p) => p.name === name || p.toKebabCase() === name || p.toCamelCase() === name);
|
|
if (!parameter) {
|
|
continue;
|
|
}
|
|
if (parameter.isBoolean()) {
|
|
const noEqualsSign = equalsIndex < 0;
|
|
pushValue(parameter, noEqualsSign || stringToBoolean(value));
|
|
continue;
|
|
}
|
|
if (value === null) {
|
|
continue;
|
|
}
|
|
if (parameter.isNumber()) {
|
|
pushValue(parameter, parseFloat(value));
|
|
continue;
|
|
}
|
|
pushValue(parameter, value);
|
|
continue;
|
|
}
|
|
}
|
|
for (const [key, value] of Object.entries(process.env)) {
|
|
const parameter = parameters.find((p) => p.name === key || p.toConstCase() === key);
|
|
if (!parameter || parameterMap.has(parameter)) {
|
|
continue;
|
|
}
|
|
let values = [];
|
|
if (value !== void 0) {
|
|
if (parameter.isArray()) {
|
|
values = value.split(",");
|
|
} else {
|
|
values = [value];
|
|
}
|
|
}
|
|
for (const value2 of values) {
|
|
if (parameter.isBoolean()) {
|
|
pushValue(parameter, stringToBoolean(value2));
|
|
continue;
|
|
}
|
|
if (value2 === "") {
|
|
continue;
|
|
}
|
|
if (parameter.isNumber()) {
|
|
pushValue(parameter, parseFloat(value2));
|
|
continue;
|
|
}
|
|
pushValue(parameter, value2);
|
|
continue;
|
|
}
|
|
}
|
|
return parameterMap;
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/fs.ts
|
|
var import_fs3 = __toModule(require("fs"));
|
|
var import_glob = __toModule(require_glob());
|
|
var File = class {
|
|
constructor(path2) {
|
|
this.path = path2;
|
|
}
|
|
get stat() {
|
|
if (this._stat === void 0) {
|
|
try {
|
|
this._stat = import_fs3.default.statSync(this.path);
|
|
} catch {
|
|
this._stat = null;
|
|
}
|
|
}
|
|
return this._stat;
|
|
}
|
|
exists() {
|
|
return this.stat !== null;
|
|
}
|
|
get mtime() {
|
|
return this.stat && this.stat.mtime;
|
|
}
|
|
touch() {
|
|
const time = new Date();
|
|
try {
|
|
import_fs3.default.utimesSync(this.path, time, time);
|
|
} catch (err) {
|
|
import_fs3.default.closeSync(import_fs3.default.openSync(this.path, "w"));
|
|
}
|
|
}
|
|
};
|
|
var Glob = class {
|
|
constructor(path2) {
|
|
this.path = path2;
|
|
this.path = path2;
|
|
}
|
|
toFiles() {
|
|
const paths = import_glob.glob.sync(this.path, {
|
|
strict: false,
|
|
silent: true
|
|
});
|
|
return paths.map((path2) => new File(path2)).filter((file) => file.exists());
|
|
}
|
|
};
|
|
var compareFiles = (sources, targets) => {
|
|
let bestSource = null;
|
|
let bestTarget = null;
|
|
for (const file of sources) {
|
|
if (!bestSource || file.mtime > bestSource.mtime) {
|
|
bestSource = file;
|
|
}
|
|
}
|
|
for (const file of targets) {
|
|
if (!file.exists()) {
|
|
return `target '${file.path}' is missing`;
|
|
}
|
|
if (!bestTarget || file.mtime < bestTarget.mtime) {
|
|
bestTarget = file;
|
|
}
|
|
}
|
|
if (!bestSource) {
|
|
if (bestTarget) {
|
|
return false;
|
|
}
|
|
return "no known sources or targets";
|
|
}
|
|
if (!bestTarget) {
|
|
return "no targets were specified";
|
|
}
|
|
if (bestSource.mtime > bestTarget.mtime) {
|
|
return `source '${bestSource.path}' is newer than target '${bestTarget.path}'`;
|
|
}
|
|
return false;
|
|
};
|
|
var glob = (globPath) => {
|
|
const unsafePaths = import_glob.glob.sync(globPath, {
|
|
strict: false,
|
|
silent: true
|
|
});
|
|
const safePaths = [];
|
|
for (let path2 of unsafePaths) {
|
|
try {
|
|
import_fs3.default.lstatSync(path2);
|
|
safePaths.push(path2);
|
|
} catch {
|
|
}
|
|
}
|
|
return safePaths;
|
|
};
|
|
var rm = (path2, options = {}) => {
|
|
for (const p of glob(path2)) {
|
|
try {
|
|
if (options.recursive && import_fs3.default.rmSync) {
|
|
import_fs3.default.rmSync(p, options);
|
|
} else if (options.recursive) {
|
|
import_fs3.default.rmdirSync(p, { recursive: true });
|
|
} else {
|
|
import_fs3.default.unlinkSync(p);
|
|
}
|
|
} catch (err) {
|
|
if (!options.force) {
|
|
throw err;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/runner.ts
|
|
var runner = new class Runner {
|
|
constructor() {
|
|
this.config = {};
|
|
this.targets = [];
|
|
this.parameters = [];
|
|
this.workers = [];
|
|
}
|
|
configure(config) {
|
|
this.config = config;
|
|
this.targets = config.targets || [];
|
|
this.parameters = config.parameters || [];
|
|
}
|
|
async start() {
|
|
const startedAt = Date.now();
|
|
const { globalFlags, taskArgs } = prepareArgs(process.argv.slice(2), this.config.singleTarget);
|
|
const globalParameterMap = parseArgs(globalFlags, this.parameters);
|
|
const targetsToRun = new Map();
|
|
const showListOfTargets = () => {
|
|
logger.info("Available targets:");
|
|
for (const target of this.targets) {
|
|
logger.log(" - " + import_chalk3.default.cyan(target.name));
|
|
}
|
|
logger.info("Available parameters:");
|
|
for (const parameter of this.parameters) {
|
|
logger.log(" --" + parameter.name + (parameter.alias ? `, -${parameter.alias}` : "") + ` (type: ${parameter.type})`);
|
|
}
|
|
};
|
|
if (globalFlags.includes("-h") || globalFlags.includes("--help")) {
|
|
showListOfTargets();
|
|
process.exit(1);
|
|
}
|
|
for (const [taskName, ...args] of taskArgs) {
|
|
const target = this.targets.find((t) => t.name === taskName);
|
|
if (!target) {
|
|
const nameStr = import_chalk3.default.cyan(taskName);
|
|
logger.error(`Task '${nameStr}' was not found.`);
|
|
showListOfTargets();
|
|
process.exit(1);
|
|
}
|
|
targetsToRun.set(target, { args });
|
|
}
|
|
if (targetsToRun.size === 0) {
|
|
if (!this.config.default) {
|
|
logger.error(`No task was provided in arguments.`);
|
|
showListOfTargets();
|
|
process.exit(1);
|
|
}
|
|
targetsToRun.set(this.config.default, {
|
|
args: []
|
|
});
|
|
}
|
|
let toVisit = Array.from(targetsToRun.entries());
|
|
while (true) {
|
|
const node = toVisit.shift();
|
|
if (!node) {
|
|
break;
|
|
}
|
|
const [target, meta] = node;
|
|
if (!meta.context) {
|
|
const localParameterMap = parseArgs(meta.args, target.parameters);
|
|
meta.context = {
|
|
get: (parameter) => {
|
|
let value = localParameterMap.get(parameter);
|
|
if (value === void 0) {
|
|
value = globalParameterMap.get(parameter);
|
|
}
|
|
if (parameter.isArray()) {
|
|
return value || [];
|
|
} else {
|
|
const returnValue = value && value[0];
|
|
return returnValue !== void 0 ? returnValue : null;
|
|
}
|
|
},
|
|
args: meta.args
|
|
};
|
|
}
|
|
if (!meta.dependsOn) {
|
|
const optionalDependsOn = (typeof target.dependsOn === "function" ? await target.dependsOn(meta.context) : target.dependsOn) || [];
|
|
meta.dependsOn = optionalDependsOn.filter((dep) => typeof dep === "object" && dep !== null);
|
|
}
|
|
for (const dependency of meta.dependsOn) {
|
|
if (!targetsToRun.has(dependency)) {
|
|
const depMeta = { args: meta.args };
|
|
targetsToRun.set(dependency, depMeta);
|
|
toVisit.push([dependency, depMeta]);
|
|
} else {
|
|
logger.debug("Dropped a possible circular dependency", dependency);
|
|
}
|
|
}
|
|
}
|
|
for (const [target, meta] of targetsToRun.entries()) {
|
|
const context = meta.context;
|
|
const dependsOn = meta.dependsOn;
|
|
const spawnedWorker = new Worker(target, context, dependsOn);
|
|
this.workers.push(spawnedWorker);
|
|
spawnedWorker.onFinish(() => {
|
|
for (const worker of this.workers) {
|
|
if (worker === spawnedWorker) {
|
|
continue;
|
|
}
|
|
worker.resolveDependency(target);
|
|
}
|
|
});
|
|
spawnedWorker.onFail(() => {
|
|
for (const worker of this.workers) {
|
|
if (worker === spawnedWorker) {
|
|
continue;
|
|
}
|
|
worker.rejectDependency(target);
|
|
}
|
|
});
|
|
}
|
|
const resolutions = await Promise.all(this.workers.map((worker) => new Promise((resolve) => {
|
|
worker.onFinish(() => resolve(true));
|
|
worker.onFail(() => resolve(false));
|
|
worker.start();
|
|
})));
|
|
const hasFailedWorkers = resolutions.includes(false);
|
|
if (!hasFailedWorkers) {
|
|
const time = (Date.now() - startedAt) / 1e3 + "s";
|
|
const timeStr = import_chalk3.default.magenta(time);
|
|
logger.action(`Done in ${timeStr}`);
|
|
}
|
|
return Number(hasFailedWorkers);
|
|
}
|
|
}();
|
|
var Worker = class {
|
|
constructor(target, context, dependsOn) {
|
|
this.target = target;
|
|
this.context = context;
|
|
this.dependsOn = dependsOn;
|
|
this.emitter = new import_events.default();
|
|
this.hasFailed = false;
|
|
this.dependencies = new Set(dependsOn);
|
|
this.debugLog("ready");
|
|
}
|
|
resolveDependency(target) {
|
|
var _a;
|
|
this.dependencies.delete(target);
|
|
(_a = this.generator) == null ? void 0 : _a.next();
|
|
}
|
|
rejectDependency(target) {
|
|
var _a;
|
|
this.dependencies.delete(target);
|
|
this.hasFailed = true;
|
|
(_a = this.generator) == null ? void 0 : _a.next();
|
|
}
|
|
start() {
|
|
this.generator = this.process();
|
|
this.generator.next();
|
|
}
|
|
onFinish(fn) {
|
|
this.emitter.once("finish", fn);
|
|
}
|
|
onFail(fn) {
|
|
this.emitter.once("fail", fn);
|
|
}
|
|
debugLog(...args) {
|
|
logger.debug(`${this.target.name}:`, ...args);
|
|
}
|
|
async *process() {
|
|
const nameStr = import_chalk3.default.cyan(this.target.name);
|
|
this.debugLog("Waiting for dependencies");
|
|
while (true) {
|
|
if (this.dependencies.size === 0) {
|
|
break;
|
|
}
|
|
yield;
|
|
}
|
|
if (this.hasFailed) {
|
|
const nameStr2 = import_chalk3.default.cyan(this.target.name);
|
|
logger.error(`Target '${nameStr2}' failed`);
|
|
this.emitter.emit("fail");
|
|
return;
|
|
}
|
|
if (this.target.onlyWhen) {
|
|
const result = await this.target.onlyWhen(this.context);
|
|
if (!result) {
|
|
logger.info(`Skipping '${nameStr}' (condition unmet)`);
|
|
this.emitter.emit("finish");
|
|
return;
|
|
}
|
|
this.debugLog("Needs rebuild based on onlyWhen condition");
|
|
}
|
|
this.debugLog("Comparing inputs and outputs");
|
|
const fileMapper = async (fileIo) => {
|
|
const optionalPaths = (typeof fileIo === "function" ? await fileIo(this.context) : fileIo) || [];
|
|
const paths = optionalPaths.filter((path2) => typeof path2 === "string");
|
|
return paths.flatMap((path2) => path2.includes("*") ? new Glob(path2).toFiles() : new File(path2));
|
|
};
|
|
const inputs = await fileMapper(this.target.inputs);
|
|
const outputs = await fileMapper(this.target.outputs);
|
|
if (inputs.length > 0) {
|
|
const needsRebuild = compareFiles(inputs, outputs);
|
|
if (!needsRebuild) {
|
|
logger.info(`Skipping '${nameStr}' (up to date)`);
|
|
this.emitter.emit("finish");
|
|
return;
|
|
} else {
|
|
this.debugLog("Needs rebuild, reason:", needsRebuild);
|
|
}
|
|
} else {
|
|
this.debugLog("Nothing to compare");
|
|
}
|
|
if (this.hasFailed) {
|
|
const nameStr2 = import_chalk3.default.cyan(this.target.name);
|
|
logger.error(`Target '${nameStr2}' failed (at file comparison stage)`);
|
|
this.emitter.emit("fail");
|
|
return;
|
|
}
|
|
if (this.target.executes) {
|
|
logger.action(`Starting '${nameStr}'`);
|
|
const startedAt = Date.now();
|
|
try {
|
|
await this.target.executes(this.context);
|
|
} catch (err) {
|
|
const time2 = (Date.now() - startedAt) / 1e3 + "s";
|
|
const timeStr2 = import_chalk3.default.magenta(time2);
|
|
if (err instanceof ExitCode) {
|
|
const codeStr = import_chalk3.default.red(err.code);
|
|
logger.error(`Target '${nameStr}' failed in ${timeStr2}, exit code: ${codeStr}`);
|
|
} else {
|
|
logger.error(`Target '${nameStr}' failed in ${timeStr2}, unhandled exception:`);
|
|
console.error(err);
|
|
}
|
|
this.emitter.emit("fail");
|
|
return;
|
|
}
|
|
const time = (Date.now() - startedAt) / 1e3 + "s";
|
|
const timeStr = import_chalk3.default.magenta(time);
|
|
logger.action(`Finished '${nameStr}' in ${timeStr}`);
|
|
}
|
|
if (outputs.length > 0) {
|
|
for (const file of outputs) {
|
|
file.touch();
|
|
}
|
|
}
|
|
this.emitter.emit("finish");
|
|
}
|
|
};
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/target.ts
|
|
var Target = class {
|
|
constructor(target) {
|
|
this.name = target.name;
|
|
this.dependsOn = target.dependsOn || [];
|
|
this.executes = target.executes;
|
|
this.inputs = target.inputs || [];
|
|
this.outputs = target.outputs || [];
|
|
this.parameters = target.parameters || [];
|
|
this.onlyWhen = target.onlyWhen;
|
|
}
|
|
};
|
|
var createTarget = (config) => new Target(config);
|
|
|
|
// pnp:/Users/style/Documents/Projects/juke-build/src/index.ts
|
|
var chalk4 = import_chalk4.default;
|
|
var lastExitCode = null;
|
|
var setup = async (config) => {
|
|
logger.info(`Juke Build version ${version}`);
|
|
if (!config.file) {
|
|
logger.error(`Field 'file' is required in Juke.setup()`);
|
|
process.exit(1);
|
|
}
|
|
let buildModule = await import(config.file);
|
|
const isCommonJs = Boolean((0, import_module.createRequire)(config.file).cache[config.file]);
|
|
if (isCommonJs) {
|
|
buildModule = buildModule.default;
|
|
}
|
|
const targets = [];
|
|
const parameters = [];
|
|
for (const name of Object.keys(buildModule)) {
|
|
if (name === "default") {
|
|
continue;
|
|
}
|
|
const obj = buildModule[name];
|
|
if (obj instanceof Target) {
|
|
if (!obj.name) {
|
|
obj.name = name !== "Target" ? toKebabCase(name.replace(/Target$/, "")) : "target";
|
|
}
|
|
targets.push(obj);
|
|
continue;
|
|
}
|
|
if (obj instanceof Parameter) {
|
|
if (!obj.name) {
|
|
obj.name = name !== "Parameter" ? toKebabCase(name.replace(/Parameter$/, "")) : "parameter";
|
|
}
|
|
parameters.push(obj);
|
|
continue;
|
|
}
|
|
}
|
|
const DefaultTarget = buildModule.default || buildModule.DefaultTarget || buildModule.Default;
|
|
if (DefaultTarget && !(DefaultTarget instanceof Target)) {
|
|
logger.error(`Default export is not a valid 'Target' object.`);
|
|
process.exit(1);
|
|
}
|
|
runner.configure({
|
|
parameters,
|
|
targets,
|
|
default: DefaultTarget,
|
|
singleTarget: config.singleTarget
|
|
});
|
|
return runner.start().then((code) => {
|
|
lastExitCode = code;
|
|
return code;
|
|
});
|
|
};
|
|
var sleep = (time) => new Promise((resolve) => setTimeout(resolve, time));
|
|
trap(["EXIT", "BREAK", "HUP", "INT", "TERM"], (signal) => {
|
|
if (signal !== "EXIT") {
|
|
console.log("Received", signal);
|
|
}
|
|
killChildren();
|
|
if (signal !== "EXIT") {
|
|
process.exit(1);
|
|
} else if (lastExitCode !== null) {
|
|
process.exit(lastExitCode);
|
|
}
|
|
});
|
|
var exceptionHandler = (err) => {
|
|
console.log(err);
|
|
killChildren();
|
|
process.exit(1);
|
|
};
|
|
process.on("unhandledRejection", exceptionHandler);
|
|
process.on("uncaughtException", exceptionHandler);
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
ExitCode,
|
|
Parameter,
|
|
Target,
|
|
chalk,
|
|
chdir,
|
|
createParameter,
|
|
createTarget,
|
|
exec,
|
|
glob,
|
|
logger,
|
|
rm,
|
|
runner,
|
|
setup,
|
|
sleep
|
|
});
|