create-noderize
Advanced tools
Comparing version 0.4.6 to 0.5.0
2111
dist/index.js
@@ -11,3 +11,3 @@ #!/usr/bin/env node | ||
root["create-noderize"] = factory(root["@babel/runtime/helpers/interopRequireDefault"], root["@babel/runtime/regenerator"], root["@babel/runtime/helpers/extends"], root["@babel/runtime/helpers/asyncToGenerator"]); | ||
})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__) { | ||
})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
@@ -75,3 +75,3 @@ /******/ // The module cache | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 1); | ||
/******/ return __webpack_require__(__webpack_require__.s = 2); | ||
/******/ }) | ||
@@ -89,5 +89,865 @@ /************************************************************************/ | ||
module.exports = __webpack_require__(2); | ||
/* MIT license */ | ||
var cssKeywords = __webpack_require__(13); | ||
// NOTE: conversions should only return primitive values (i.e. arrays, or | ||
// values that give correct `typeof` results). | ||
// do not use box values types (i.e. Number(), String(), etc.) | ||
var reverseKeywords = {}; | ||
for (var key in cssKeywords) { | ||
if (cssKeywords.hasOwnProperty(key)) { | ||
reverseKeywords[cssKeywords[key]] = key; | ||
} | ||
} | ||
var convert = module.exports = { | ||
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']} | ||
}; | ||
// hide .channels and .labels properties | ||
for (var model in convert) { | ||
if (convert.hasOwnProperty(model)) { | ||
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); | ||
} | ||
var channels = convert[model].channels; | ||
var labels = convert[model].labels; | ||
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) { | ||
var r = rgb[0] / 255; | ||
var g = rgb[1] / 255; | ||
var b = rgb[2] / 255; | ||
var min = Math.min(r, g, b); | ||
var max = Math.max(r, g, b); | ||
var delta = max - min; | ||
var h; | ||
var s; | ||
var l; | ||
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; | ||
} | ||
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) { | ||
var r = rgb[0]; | ||
var g = rgb[1]; | ||
var b = rgb[2]; | ||
var min = Math.min(r, g, b); | ||
var max = Math.max(r, g, b); | ||
var delta = max - min; | ||
var h; | ||
var s; | ||
var v; | ||
if (max === 0) { | ||
s = 0; | ||
} else { | ||
s = (delta / max * 1000) / 10; | ||
} | ||
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; | ||
} | ||
v = ((max / 255) * 1000) / 10; | ||
return [h, s, v]; | ||
}; | ||
convert.rgb.hwb = function (rgb) { | ||
var r = rgb[0]; | ||
var g = rgb[1]; | ||
var b = rgb[2]; | ||
var h = convert.rgb.hsl(rgb)[0]; | ||
var 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) { | ||
var r = rgb[0] / 255; | ||
var g = rgb[1] / 255; | ||
var b = rgb[2] / 255; | ||
var c; | ||
var m; | ||
var y; | ||
var k; | ||
k = Math.min(1 - r, 1 - g, 1 - b); | ||
c = (1 - r - k) / (1 - k) || 0; | ||
m = (1 - g - k) / (1 - k) || 0; | ||
y = (1 - b - k) / (1 - k) || 0; | ||
return [c * 100, m * 100, y * 100, k * 100]; | ||
}; | ||
/** | ||
* See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance | ||
* */ | ||
function comparativeDistance(x, y) { | ||
return ( | ||
Math.pow(x[0] - y[0], 2) + | ||
Math.pow(x[1] - y[1], 2) + | ||
Math.pow(x[2] - y[2], 2) | ||
); | ||
} | ||
convert.rgb.keyword = function (rgb) { | ||
var reversed = reverseKeywords[rgb]; | ||
if (reversed) { | ||
return reversed; | ||
} | ||
var currentClosestDistance = Infinity; | ||
var currentClosestKeyword; | ||
for (var keyword in cssKeywords) { | ||
if (cssKeywords.hasOwnProperty(keyword)) { | ||
var value = cssKeywords[keyword]; | ||
// Compute comparative distance | ||
var distance = comparativeDistance(rgb, value); | ||
// Check if its less, if so set as closest | ||
if (distance < currentClosestDistance) { | ||
currentClosestDistance = distance; | ||
currentClosestKeyword = keyword; | ||
} | ||
} | ||
} | ||
return currentClosestKeyword; | ||
}; | ||
convert.keyword.rgb = function (keyword) { | ||
return cssKeywords[keyword]; | ||
}; | ||
convert.rgb.xyz = function (rgb) { | ||
var r = rgb[0] / 255; | ||
var g = rgb[1] / 255; | ||
var b = rgb[2] / 255; | ||
// assume sRGB | ||
r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); | ||
g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); | ||
b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); | ||
var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); | ||
var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); | ||
var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); | ||
return [x * 100, y * 100, z * 100]; | ||
}; | ||
convert.rgb.lab = function (rgb) { | ||
var xyz = convert.rgb.xyz(rgb); | ||
var x = xyz[0]; | ||
var y = xyz[1]; | ||
var z = xyz[2]; | ||
var l; | ||
var a; | ||
var b; | ||
x /= 95.047; | ||
y /= 100; | ||
z /= 108.883; | ||
x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); | ||
y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); | ||
z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); | ||
l = (116 * y) - 16; | ||
a = 500 * (x - y); | ||
b = 200 * (y - z); | ||
return [l, a, b]; | ||
}; | ||
convert.hsl.rgb = function (hsl) { | ||
var h = hsl[0] / 360; | ||
var s = hsl[1] / 100; | ||
var l = hsl[2] / 100; | ||
var t1; | ||
var t2; | ||
var t3; | ||
var rgb; | ||
var 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; | ||
} | ||
t1 = 2 * l - t2; | ||
rgb = [0, 0, 0]; | ||
for (var 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) { | ||
var h = hsl[0]; | ||
var s = hsl[1] / 100; | ||
var l = hsl[2] / 100; | ||
var smin = s; | ||
var lmin = Math.max(l, 0.01); | ||
var sv; | ||
var v; | ||
l *= 2; | ||
s *= (l <= 1) ? l : 2 - l; | ||
smin *= lmin <= 1 ? lmin : 2 - lmin; | ||
v = (l + s) / 2; | ||
sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); | ||
return [h, sv * 100, v * 100]; | ||
}; | ||
convert.hsv.rgb = function (hsv) { | ||
var h = hsv[0] / 60; | ||
var s = hsv[1] / 100; | ||
var v = hsv[2] / 100; | ||
var hi = Math.floor(h) % 6; | ||
var f = h - Math.floor(h); | ||
var p = 255 * v * (1 - s); | ||
var q = 255 * v * (1 - (s * f)); | ||
var 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) { | ||
var h = hsv[0]; | ||
var s = hsv[1] / 100; | ||
var v = hsv[2] / 100; | ||
var vmin = Math.max(v, 0.01); | ||
var lmin; | ||
var sl; | ||
var l; | ||
l = (2 - s) * v; | ||
lmin = (2 - s) * vmin; | ||
sl = s * vmin; | ||
sl /= (lmin <= 1) ? lmin : 2 - lmin; | ||
sl = sl || 0; | ||
l /= 2; | ||
return [h, sl * 100, l * 100]; | ||
}; | ||
// http://dev.w3.org/csswg/css-color/#hwb-to-rgb | ||
convert.hwb.rgb = function (hwb) { | ||
var h = hwb[0] / 360; | ||
var wh = hwb[1] / 100; | ||
var bl = hwb[2] / 100; | ||
var ratio = wh + bl; | ||
var i; | ||
var v; | ||
var f; | ||
var n; | ||
// wh + bl cant be > 1 | ||
if (ratio > 1) { | ||
wh /= ratio; | ||
bl /= ratio; | ||
} | ||
i = Math.floor(6 * h); | ||
v = 1 - bl; | ||
f = 6 * h - i; | ||
if ((i & 0x01) !== 0) { | ||
f = 1 - f; | ||
} | ||
n = wh + f * (v - wh); // linear interpolation | ||
var r; | ||
var g; | ||
var 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) { | ||
var c = cmyk[0] / 100; | ||
var m = cmyk[1] / 100; | ||
var y = cmyk[2] / 100; | ||
var k = cmyk[3] / 100; | ||
var r; | ||
var g; | ||
var b; | ||
r = 1 - Math.min(1, c * (1 - k) + k); | ||
g = 1 - Math.min(1, m * (1 - k) + k); | ||
b = 1 - Math.min(1, y * (1 - k) + k); | ||
return [r * 255, g * 255, b * 255]; | ||
}; | ||
convert.xyz.rgb = function (xyz) { | ||
var x = xyz[0] / 100; | ||
var y = xyz[1] / 100; | ||
var z = xyz[2] / 100; | ||
var r; | ||
var g; | ||
var 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.2040) + (z * 1.0570); | ||
// assume sRGB | ||
r = r > 0.0031308 | ||
? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) | ||
: r * 12.92; | ||
g = g > 0.0031308 | ||
? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) | ||
: g * 12.92; | ||
b = b > 0.0031308 | ||
? ((1.055 * Math.pow(b, 1.0 / 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) { | ||
var x = xyz[0]; | ||
var y = xyz[1]; | ||
var z = xyz[2]; | ||
var l; | ||
var a; | ||
var b; | ||
x /= 95.047; | ||
y /= 100; | ||
z /= 108.883; | ||
x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); | ||
y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); | ||
z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); | ||
l = (116 * y) - 16; | ||
a = 500 * (x - y); | ||
b = 200 * (y - z); | ||
return [l, a, b]; | ||
}; | ||
convert.lab.xyz = function (lab) { | ||
var l = lab[0]; | ||
var a = lab[1]; | ||
var b = lab[2]; | ||
var x; | ||
var y; | ||
var z; | ||
y = (l + 16) / 116; | ||
x = a / 500 + y; | ||
z = y - b / 200; | ||
var y2 = Math.pow(y, 3); | ||
var x2 = Math.pow(x, 3); | ||
var z2 = Math.pow(z, 3); | ||
y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; | ||
x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; | ||
z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; | ||
x *= 95.047; | ||
y *= 100; | ||
z *= 108.883; | ||
return [x, y, z]; | ||
}; | ||
convert.lab.lch = function (lab) { | ||
var l = lab[0]; | ||
var a = lab[1]; | ||
var b = lab[2]; | ||
var hr; | ||
var h; | ||
var c; | ||
hr = Math.atan2(b, a); | ||
h = hr * 360 / 2 / Math.PI; | ||
if (h < 0) { | ||
h += 360; | ||
} | ||
c = Math.sqrt(a * a + b * b); | ||
return [l, c, h]; | ||
}; | ||
convert.lch.lab = function (lch) { | ||
var l = lch[0]; | ||
var c = lch[1]; | ||
var h = lch[2]; | ||
var a; | ||
var b; | ||
var hr; | ||
hr = h / 360 * 2 * Math.PI; | ||
a = c * Math.cos(hr); | ||
b = c * Math.sin(hr); | ||
return [l, a, b]; | ||
}; | ||
convert.rgb.ansi16 = function (args) { | ||
var r = args[0]; | ||
var g = args[1]; | ||
var b = args[2]; | ||
var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization | ||
value = Math.round(value / 50); | ||
if (value === 0) { | ||
return 30; | ||
} | ||
var 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) { | ||
// optimization here; we already know the value and don't need to get | ||
// it converted for us. | ||
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); | ||
}; | ||
convert.rgb.ansi256 = function (args) { | ||
var r = args[0]; | ||
var g = args[1]; | ||
var b = args[2]; | ||
// we use the extended greyscale palette here, with the exception of | ||
// black and white. normal palette only has 4 greyscale shades. | ||
if (r === g && g === b) { | ||
if (r < 8) { | ||
return 16; | ||
} | ||
if (r > 248) { | ||
return 231; | ||
} | ||
return Math.round(((r - 8) / 247) * 24) + 232; | ||
} | ||
var 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) { | ||
var color = args % 10; | ||
// handle greyscale | ||
if (color === 0 || color === 7) { | ||
if (args > 50) { | ||
color += 3.5; | ||
} | ||
color = color / 10.5 * 255; | ||
return [color, color, color]; | ||
} | ||
var mult = (~~(args > 50) + 1) * 0.5; | ||
var r = ((color & 1) * mult) * 255; | ||
var g = (((color >> 1) & 1) * mult) * 255; | ||
var b = (((color >> 2) & 1) * mult) * 255; | ||
return [r, g, b]; | ||
}; | ||
convert.ansi256.rgb = function (args) { | ||
// handle greyscale | ||
if (args >= 232) { | ||
var c = (args - 232) * 10 + 8; | ||
return [c, c, c]; | ||
} | ||
args -= 16; | ||
var rem; | ||
var r = Math.floor(args / 36) / 5 * 255; | ||
var g = Math.floor((rem = args % 36) / 6) / 5 * 255; | ||
var b = (rem % 6) / 5 * 255; | ||
return [r, g, b]; | ||
}; | ||
convert.rgb.hex = function (args) { | ||
var integer = ((Math.round(args[0]) & 0xFF) << 16) | ||
+ ((Math.round(args[1]) & 0xFF) << 8) | ||
+ (Math.round(args[2]) & 0xFF); | ||
var string = integer.toString(16).toUpperCase(); | ||
return '000000'.substring(string.length) + string; | ||
}; | ||
convert.hex.rgb = function (args) { | ||
var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); | ||
if (!match) { | ||
return [0, 0, 0]; | ||
} | ||
var colorString = match[0]; | ||
if (match[0].length === 3) { | ||
colorString = colorString.split('').map(function (char) { | ||
return char + char; | ||
}).join(''); | ||
} | ||
var integer = parseInt(colorString, 16); | ||
var r = (integer >> 16) & 0xFF; | ||
var g = (integer >> 8) & 0xFF; | ||
var b = integer & 0xFF; | ||
return [r, g, b]; | ||
}; | ||
convert.rgb.hcg = function (rgb) { | ||
var r = rgb[0] / 255; | ||
var g = rgb[1] / 255; | ||
var b = rgb[2] / 255; | ||
var max = Math.max(Math.max(r, g), b); | ||
var min = Math.min(Math.min(r, g), b); | ||
var chroma = (max - min); | ||
var grayscale; | ||
var 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 + 4; | ||
} | ||
hue /= 6; | ||
hue %= 1; | ||
return [hue * 360, chroma * 100, grayscale * 100]; | ||
}; | ||
convert.hsl.hcg = function (hsl) { | ||
var s = hsl[1] / 100; | ||
var l = hsl[2] / 100; | ||
var c = 1; | ||
var f = 0; | ||
if (l < 0.5) { | ||
c = 2.0 * s * l; | ||
} else { | ||
c = 2.0 * s * (1.0 - l); | ||
} | ||
if (c < 1.0) { | ||
f = (l - 0.5 * c) / (1.0 - c); | ||
} | ||
return [hsl[0], c * 100, f * 100]; | ||
}; | ||
convert.hsv.hcg = function (hsv) { | ||
var s = hsv[1] / 100; | ||
var v = hsv[2] / 100; | ||
var c = s * v; | ||
var f = 0; | ||
if (c < 1.0) { | ||
f = (v - c) / (1 - c); | ||
} | ||
return [hsv[0], c * 100, f * 100]; | ||
}; | ||
convert.hcg.rgb = function (hcg) { | ||
var h = hcg[0] / 360; | ||
var c = hcg[1] / 100; | ||
var g = hcg[2] / 100; | ||
if (c === 0.0) { | ||
return [g * 255, g * 255, g * 255]; | ||
} | ||
var pure = [0, 0, 0]; | ||
var hi = (h % 1) * 6; | ||
var v = hi % 1; | ||
var w = 1 - v; | ||
var 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.0 - c) * g; | ||
return [ | ||
(c * pure[0] + mg) * 255, | ||
(c * pure[1] + mg) * 255, | ||
(c * pure[2] + mg) * 255 | ||
]; | ||
}; | ||
convert.hcg.hsv = function (hcg) { | ||
var c = hcg[1] / 100; | ||
var g = hcg[2] / 100; | ||
var v = c + g * (1.0 - c); | ||
var f = 0; | ||
if (v > 0.0) { | ||
f = c / v; | ||
} | ||
return [hcg[0], f * 100, v * 100]; | ||
}; | ||
convert.hcg.hsl = function (hcg) { | ||
var c = hcg[1] / 100; | ||
var g = hcg[2] / 100; | ||
var l = g * (1.0 - c) + 0.5 * c; | ||
var s = 0; | ||
if (l > 0.0 && l < 0.5) { | ||
s = c / (2 * l); | ||
} else | ||
if (l >= 0.5 && l < 1.0) { | ||
s = c / (2 * (1 - l)); | ||
} | ||
return [hcg[0], s * 100, l * 100]; | ||
}; | ||
convert.hcg.hwb = function (hcg) { | ||
var c = hcg[1] / 100; | ||
var g = hcg[2] / 100; | ||
var v = c + g * (1.0 - c); | ||
return [hcg[0], (v - c) * 100, (1 - v) * 100]; | ||
}; | ||
convert.hwb.hcg = function (hwb) { | ||
var w = hwb[1] / 100; | ||
var b = hwb[2] / 100; | ||
var v = 1 - b; | ||
var c = v - w; | ||
var 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 = convert.gray.hsv = function (args) { | ||
return [0, 0, args[0]]; | ||
}; | ||
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) { | ||
var val = Math.round(gray[0] / 100 * 255) & 0xFF; | ||
var integer = (val << 16) + (val << 8) + val; | ||
var string = integer.toString(16).toUpperCase(); | ||
return '000000'.substring(string.length) + string; | ||
}; | ||
convert.rgb.gray = function (rgb) { | ||
var val = (rgb[0] + rgb[1] + rgb[2]) / 3; | ||
return [val / 255 * 100]; | ||
}; | ||
/***/ }), | ||
@@ -97,2 +957,9 @@ /* 2 */ | ||
module.exports = __webpack_require__(3); | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
@@ -103,5 +970,5 @@ | ||
var _run = __webpack_require__(3); | ||
var _run = __webpack_require__(4); | ||
var _minimist = _interopRequireDefault(__webpack_require__(11)); | ||
var _minimist = _interopRequireDefault(__webpack_require__(23)); | ||
@@ -114,3 +981,3 @@ // Parse args | ||
/***/ }), | ||
/* 3 */ | ||
/* 4 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -128,16 +995,18 @@ | ||
var _regenerator = _interopRequireDefault(__webpack_require__(4)); | ||
var _regenerator = _interopRequireDefault(__webpack_require__(5)); | ||
var _extends2 = _interopRequireDefault(__webpack_require__(5)); | ||
var _extends2 = _interopRequireDefault(__webpack_require__(6)); | ||
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(6)); | ||
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(7)); | ||
var _chalk = _interopRequireDefault(__webpack_require__(7)); | ||
var _chalk = _interopRequireDefault(__webpack_require__(8)); | ||
var _path = __webpack_require__(8); | ||
var _path = __webpack_require__(19); | ||
var _fsExtra = _interopRequireDefault(__webpack_require__(9)); | ||
var _fsExtra = _interopRequireDefault(__webpack_require__(20)); | ||
var _child_process = __webpack_require__(10); | ||
var _child_process = __webpack_require__(21); | ||
var _consola = _interopRequireDefault(__webpack_require__(22)); | ||
function run() { | ||
@@ -179,3 +1048,4 @@ return _run.apply(this, arguments); | ||
printWarn("No path given!"); | ||
_consola.default.warn("No path given!"); | ||
process.exit(1); | ||
@@ -202,3 +1072,4 @@ return _context.abrupt("return"); | ||
printWarn("Path exists!"); | ||
_consola.default.warn("Path exists!"); | ||
process.exit(1); | ||
@@ -208,4 +1079,5 @@ return _context.abrupt("return"); | ||
case 18: | ||
printInfo("Copying..."); // Copy from template | ||
_consola.default.start("Copying..."); // Copy from template | ||
_context.prev = 19; | ||
@@ -229,4 +1101,5 @@ _context.next = 22; | ||
case 29: | ||
printInfo("Setting up..."); // Set the "name" field in package.json | ||
_consola.default.info("Setting up..."); // Set the "name" field in package.json | ||
_context.prev = 30; | ||
@@ -257,3 +1130,3 @@ childPackagePath = (0, _path.resolve)(path, "package.json"); // Read | ||
case 39: | ||
_context.next = 46; | ||
_context.next = 47; | ||
break; | ||
@@ -264,48 +1137,61 @@ | ||
_context.t4 = _context["catch"](30); | ||
printError("Error saving package.json.", _context.t4); | ||
_consola.default.error("Error saving package.json."); | ||
_consola.default.error(_context.t4); | ||
process.exit(1); | ||
return _context.abrupt("return"); | ||
case 46: | ||
_context.prev = 46; | ||
_context.next = 49; | ||
case 47: | ||
_context.prev = 47; | ||
_context.next = 50; | ||
return _fsExtra.default.rename((0, _path.resolve)(path, "gitignore"), (0, _path.resolve)(path, ".gitignore")); | ||
case 49: | ||
_context.next = 56; | ||
case 50: | ||
_context.next = 58; | ||
break; | ||
case 51: | ||
_context.prev = 51; | ||
_context.t5 = _context["catch"](46); | ||
printError("Error moving .gitignore.", _context.t5); | ||
case 52: | ||
_context.prev = 52; | ||
_context.t5 = _context["catch"](47); | ||
_consola.default.error("Error moving .gitignore."); | ||
_consola.default.error(_context.t5); | ||
process.exit(1); | ||
return _context.abrupt("return"); | ||
case 56: | ||
case 58: | ||
if (!typescript) { | ||
_context.next = 67; | ||
_context.next = 70; | ||
break; | ||
} | ||
_context.prev = 57; | ||
_context.next = 60; | ||
_context.prev = 59; | ||
_context.next = 62; | ||
return _fsExtra.default.rename((0, _path.resolve)(path, "src", "index.js"), (0, _path.resolve)(path, "src", "index.ts")); | ||
case 60: | ||
_context.next = 67; | ||
case 62: | ||
_context.next = 70; | ||
break; | ||
case 62: | ||
_context.prev = 62; | ||
_context.t6 = _context["catch"](57); | ||
printError("Error moving src/index.js to src/index.ts.", _context.t6); | ||
case 64: | ||
_context.prev = 64; | ||
_context.t6 = _context["catch"](59); | ||
_consola.default.error("Error moving src/index.js to src/index.ts."); | ||
_consola.default.error(_context.t6); | ||
process.exit(1); | ||
return _context.abrupt("return"); | ||
case 67: | ||
printInfo("Installing packages..."); | ||
case 70: | ||
_consola.default.info("Installing packages..."); | ||
console.log(); | ||
useYarn = forceYarn ? true : forceNpm ? false : shouldUseYarn(); | ||
_context.prev = 70; | ||
_context.prev = 73; | ||
@@ -337,22 +1223,31 @@ // Install latest | ||
_context.next = 80; | ||
_context.next = 84; | ||
break; | ||
case 75: | ||
_context.prev = 75; | ||
_context.t7 = _context["catch"](70); | ||
printError("Error installing packages.", _context.t7); | ||
case 78: | ||
_context.prev = 78; | ||
_context.t7 = _context["catch"](73); | ||
_consola.default.error("Error installing packages."); | ||
_consola.default.error(_context.t7); | ||
process.exit(1); | ||
return _context.abrupt("return"); | ||
case 80: | ||
case 84: | ||
runCommand = useYarn ? "yarn" : "npm run"; | ||
console.log(); | ||
printDone("Done! Your Noderize app is ready!"); | ||
printDone("You may visit your app with ".concat(_chalk.default.cyan("cd ".concat(name)))); | ||
printDone("Develop by using ".concat(_chalk.default.cyan("".concat(runCommand, " watch")))); | ||
printDone("Build a production version using ".concat(_chalk.default.cyan("".concat(runCommand, " build")))); | ||
printDone("Visit documentation at ".concat(_chalk.default.cyan("https://noderize.js.org"))); | ||
case 87: | ||
_consola.default.success("Done! Your Noderize app is ready!"); | ||
_consola.default.success("You may visit your app with ".concat(_chalk.default.cyan("cd ".concat(name)))); | ||
_consola.default.success("Develop by using ".concat(_chalk.default.cyan("".concat(runCommand, " watch")))); | ||
_consola.default.success("Build a production version using ".concat(_chalk.default.cyan("".concat(runCommand, " build")))); | ||
_consola.default.success("Visit documentation at ".concat(_chalk.default.cyan("https://noderize.js.org"))); | ||
case 91: | ||
case "end": | ||
@@ -362,3 +1257,3 @@ return _context.stop(); | ||
} | ||
}, _callee, this, [[19, 24], [30, 41], [46, 51], [57, 62], [70, 75]]); | ||
}, _callee, this, [[19, 24], [30, 41], [47, 52], [59, 64], [73, 78]]); | ||
})); | ||
@@ -379,45 +1274,1101 @@ return _run.apply(this, arguments); | ||
function printInfo(text) { | ||
console.log("".concat(_chalk.default.blueBright("[INFO]"), " ").concat(text)); | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_5__; | ||
/***/ }), | ||
/* 6 */ | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_6__; | ||
/***/ }), | ||
/* 7 */ | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_7__; | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
const escapeStringRegexp = __webpack_require__(9); | ||
const ansiStyles = __webpack_require__(10); | ||
const stdoutColor = __webpack_require__(15).stdout; | ||
const template = __webpack_require__(18); | ||
const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); | ||
// `supportsColor.level` → `ansiStyles.color[name]` mapping | ||
const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; | ||
// `color-convert` models to exclude from the Chalk API due to conflicts and such | ||
const skipModels = new Set(['gray']); | ||
const styles = Object.create(null); | ||
function applyOptions(obj, options) { | ||
options = options || {}; | ||
// Detect level if not set manually | ||
const scLevel = stdoutColor ? stdoutColor.level : 0; | ||
obj.level = options.level === undefined ? scLevel : options.level; | ||
obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; | ||
} | ||
function printDone(text) { | ||
console.log("".concat(_chalk.default.greenBright("[DONE]"), " ").concat(text)); | ||
function Chalk(options) { | ||
// We check for this.template here since calling `chalk.constructor()` | ||
// by itself will have a `this` of a previously constructed chalk object | ||
if (!this || !(this instanceof Chalk) || this.template) { | ||
const chalk = {}; | ||
applyOptions(chalk, options); | ||
chalk.template = function () { | ||
const args = [].slice.call(arguments); | ||
return chalkTag.apply(null, [chalk.template].concat(args)); | ||
}; | ||
Object.setPrototypeOf(chalk, Chalk.prototype); | ||
Object.setPrototypeOf(chalk.template, chalk); | ||
chalk.template.constructor = Chalk; | ||
return chalk.template; | ||
} | ||
applyOptions(this, options); | ||
} | ||
function printWarn(text) { | ||
console.warn("".concat(_chalk.default.yellowBright("[WARN]"), " ").concat(text)); | ||
// Use bright blue on Windows as the normal blue color is illegible | ||
if (isSimpleWindowsTerm) { | ||
ansiStyles.blue.open = '\u001B[94m'; | ||
} | ||
function printError(text, error) { | ||
console.error("".concat(_chalk.default.redBright("[ERROR]"), " ").concat(text)); | ||
console.error(error); | ||
for (const key of Object.keys(ansiStyles)) { | ||
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); | ||
styles[key] = { | ||
get() { | ||
const codes = ansiStyles[key]; | ||
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); | ||
} | ||
}; | ||
} | ||
styles.visible = { | ||
get() { | ||
return build.call(this, this._styles || [], true, 'visible'); | ||
} | ||
}; | ||
ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); | ||
for (const model of Object.keys(ansiStyles.color.ansi)) { | ||
if (skipModels.has(model)) { | ||
continue; | ||
} | ||
styles[model] = { | ||
get() { | ||
const level = this.level; | ||
return function () { | ||
const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); | ||
const codes = { | ||
open, | ||
close: ansiStyles.color.close, | ||
closeRe: ansiStyles.color.closeRe | ||
}; | ||
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); | ||
}; | ||
} | ||
}; | ||
} | ||
ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); | ||
for (const model of Object.keys(ansiStyles.bgColor.ansi)) { | ||
if (skipModels.has(model)) { | ||
continue; | ||
} | ||
const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); | ||
styles[bgModel] = { | ||
get() { | ||
const level = this.level; | ||
return function () { | ||
const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); | ||
const codes = { | ||
open, | ||
close: ansiStyles.bgColor.close, | ||
closeRe: ansiStyles.bgColor.closeRe | ||
}; | ||
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); | ||
}; | ||
} | ||
}; | ||
} | ||
const proto = Object.defineProperties(() => {}, styles); | ||
function build(_styles, _empty, key) { | ||
const builder = function () { | ||
return applyStyle.apply(builder, arguments); | ||
}; | ||
builder._styles = _styles; | ||
builder._empty = _empty; | ||
const self = this; | ||
Object.defineProperty(builder, 'level', { | ||
enumerable: true, | ||
get() { | ||
return self.level; | ||
}, | ||
set(level) { | ||
self.level = level; | ||
} | ||
}); | ||
Object.defineProperty(builder, 'enabled', { | ||
enumerable: true, | ||
get() { | ||
return self.enabled; | ||
}, | ||
set(enabled) { | ||
self.enabled = enabled; | ||
} | ||
}); | ||
// See below for fix regarding invisible grey/dim combination on Windows | ||
builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; | ||
// `__proto__` is used because we must return a function, but there is | ||
// no way to create a function with a different prototype | ||
builder.__proto__ = proto; // eslint-disable-line no-proto | ||
return builder; | ||
} | ||
function applyStyle() { | ||
// Support varags, but simply cast to string in case there's only one arg | ||
const args = arguments; | ||
const argsLen = args.length; | ||
let str = String(arguments[0]); | ||
if (argsLen === 0) { | ||
return ''; | ||
} | ||
if (argsLen > 1) { | ||
// Don't slice `arguments`, it prevents V8 optimizations | ||
for (let a = 1; a < argsLen; a++) { | ||
str += ' ' + args[a]; | ||
} | ||
} | ||
if (!this.enabled || this.level <= 0 || !str) { | ||
return this._empty ? '' : str; | ||
} | ||
// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, | ||
// see https://github.com/chalk/chalk/issues/58 | ||
// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. | ||
const originalDim = ansiStyles.dim.open; | ||
if (isSimpleWindowsTerm && this.hasGrey) { | ||
ansiStyles.dim.open = ''; | ||
} | ||
for (const code of this._styles.slice().reverse()) { | ||
// Replace any instances already present with a re-opening code | ||
// otherwise only the part of the string until said closing code | ||
// will be colored, and the rest will simply be 'plain'. | ||
str = code.open + str.replace(code.closeRe, code.open) + code.close; | ||
// Close the styling before a linebreak and reopen | ||
// after next line to fix a bleed issue on macOS | ||
// https://github.com/chalk/chalk/pull/92 | ||
str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); | ||
} | ||
// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue | ||
ansiStyles.dim.open = originalDim; | ||
return str; | ||
} | ||
function chalkTag(chalk, strings) { | ||
if (!Array.isArray(strings)) { | ||
// If chalk() was called by itself or with a string, | ||
// return the string itself as a string. | ||
return [].slice.call(arguments, 1).join(' '); | ||
} | ||
const args = [].slice.call(arguments, 2); | ||
const parts = [strings.raw[0]]; | ||
for (let i = 1; i < strings.length; i++) { | ||
parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); | ||
parts.push(String(strings.raw[i])); | ||
} | ||
return template(chalk, parts.join('')); | ||
} | ||
Object.defineProperties(Chalk.prototype, styles); | ||
module.exports = Chalk(); // eslint-disable-line new-cap | ||
module.exports.supportsColor = stdoutColor; | ||
module.exports.default = module.exports; // For TypeScript | ||
/***/ }), | ||
/* 4 */ | ||
/***/ (function(module, exports) { | ||
/* 9 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_4__; | ||
"use strict"; | ||
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; | ||
module.exports = function (str) { | ||
if (typeof str !== 'string') { | ||
throw new TypeError('Expected a string'); | ||
} | ||
return str.replace(matchOperatorsRe, '\\$&'); | ||
}; | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, exports) { | ||
/* 10 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_5__; | ||
"use strict"; | ||
/* WEBPACK VAR INJECTION */(function(module) { | ||
const colorConvert = __webpack_require__(12); | ||
const wrapAnsi16 = (fn, offset) => function () { | ||
const code = fn.apply(colorConvert, arguments); | ||
return `\u001B[${code + offset}m`; | ||
}; | ||
const wrapAnsi256 = (fn, offset) => function () { | ||
const code = fn.apply(colorConvert, arguments); | ||
return `\u001B[${38 + offset};5;${code}m`; | ||
}; | ||
const wrapAnsi16m = (fn, offset) => function () { | ||
const rgb = fn.apply(colorConvert, arguments); | ||
return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; | ||
}; | ||
function assembleStyles() { | ||
const codes = new Map(); | ||
const styles = { | ||
modifier: { | ||
reset: [0, 0], | ||
// 21 isn't widely supported and 22 does the same thing | ||
bold: [1, 22], | ||
dim: [2, 22], | ||
italic: [3, 23], | ||
underline: [4, 24], | ||
inverse: [7, 27], | ||
hidden: [8, 28], | ||
strikethrough: [9, 29] | ||
}, | ||
color: { | ||
black: [30, 39], | ||
red: [31, 39], | ||
green: [32, 39], | ||
yellow: [33, 39], | ||
blue: [34, 39], | ||
magenta: [35, 39], | ||
cyan: [36, 39], | ||
white: [37, 39], | ||
gray: [90, 39], | ||
// Bright color | ||
redBright: [91, 39], | ||
greenBright: [92, 39], | ||
yellowBright: [93, 39], | ||
blueBright: [94, 39], | ||
magentaBright: [95, 39], | ||
cyanBright: [96, 39], | ||
whiteBright: [97, 39] | ||
}, | ||
bgColor: { | ||
bgBlack: [40, 49], | ||
bgRed: [41, 49], | ||
bgGreen: [42, 49], | ||
bgYellow: [43, 49], | ||
bgBlue: [44, 49], | ||
bgMagenta: [45, 49], | ||
bgCyan: [46, 49], | ||
bgWhite: [47, 49], | ||
// Bright color | ||
bgBlackBright: [100, 49], | ||
bgRedBright: [101, 49], | ||
bgGreenBright: [102, 49], | ||
bgYellowBright: [103, 49], | ||
bgBlueBright: [104, 49], | ||
bgMagentaBright: [105, 49], | ||
bgCyanBright: [106, 49], | ||
bgWhiteBright: [107, 49] | ||
} | ||
}; | ||
// Fix humans | ||
styles.color.grey = styles.color.gray; | ||
for (const groupName of Object.keys(styles)) { | ||
const group = styles[groupName]; | ||
for (const styleName of Object.keys(group)) { | ||
const style = group[styleName]; | ||
styles[styleName] = { | ||
open: `\u001B[${style[0]}m`, | ||
close: `\u001B[${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 | ||
}); | ||
} | ||
const rgb2rgb = (r, g, b) => [r, g, b]; | ||
styles.color.close = '\u001B[39m'; | ||
styles.bgColor.close = '\u001B[49m'; | ||
styles.color.ansi = {}; | ||
styles.color.ansi256 = {}; | ||
styles.color.ansi16m = { | ||
rgb: wrapAnsi16m(rgb2rgb, 0) | ||
}; | ||
styles.bgColor.ansi = {}; | ||
styles.bgColor.ansi256 = {}; | ||
styles.bgColor.ansi16m = { | ||
rgb: wrapAnsi16m(rgb2rgb, 10) | ||
}; | ||
for (const key of Object.keys(colorConvert)) { | ||
if (typeof colorConvert[key] !== 'object') { | ||
continue; | ||
} | ||
const suite = colorConvert[key]; | ||
if ('ansi16' in suite) { | ||
styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); | ||
styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); | ||
} | ||
if ('ansi256' in suite) { | ||
styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); | ||
styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); | ||
} | ||
if ('rgb' in suite) { | ||
styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); | ||
styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); | ||
} | ||
} | ||
return styles; | ||
} | ||
// Make the export immutable | ||
Object.defineProperty(module, 'exports', { | ||
enumerable: true, | ||
get: assembleStyles | ||
}); | ||
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(11)(module))) | ||
/***/ }), | ||
/* 6 */ | ||
/* 11 */ | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_6__; | ||
module.exports = function(module) { | ||
if(!module.webpackPolyfill) { | ||
module.deprecate = function() {}; | ||
module.paths = []; | ||
// module.parent = undefined by default | ||
if(!module.children) module.children = []; | ||
Object.defineProperty(module, "loaded", { | ||
enumerable: true, | ||
get: function() { | ||
return module.l; | ||
} | ||
}); | ||
Object.defineProperty(module, "id", { | ||
enumerable: true, | ||
get: function() { | ||
return module.i; | ||
} | ||
}); | ||
module.webpackPolyfill = 1; | ||
} | ||
return module; | ||
}; | ||
/***/ }), | ||
/* 7 */ | ||
/* 12 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var conversions = __webpack_require__(1); | ||
var route = __webpack_require__(14); | ||
var convert = {}; | ||
var models = Object.keys(conversions); | ||
function wrapRaw(fn) { | ||
var wrappedFn = function (args) { | ||
if (args === undefined || args === null) { | ||
return args; | ||
} | ||
if (arguments.length > 1) { | ||
args = Array.prototype.slice.call(arguments); | ||
} | ||
return fn(args); | ||
}; | ||
// preserve .conversion property if there is one | ||
if ('conversion' in fn) { | ||
wrappedFn.conversion = fn.conversion; | ||
} | ||
return wrappedFn; | ||
} | ||
function wrapRounded(fn) { | ||
var wrappedFn = function (args) { | ||
if (args === undefined || args === null) { | ||
return args; | ||
} | ||
if (arguments.length > 1) { | ||
args = Array.prototype.slice.call(arguments); | ||
} | ||
var result = fn(args); | ||
// we're assuming the result is an array here. | ||
// see notice in conversions.js; don't use box types | ||
// in conversion functions. | ||
if (typeof result === 'object') { | ||
for (var len = result.length, i = 0; i < len; i++) { | ||
result[i] = Math.round(result[i]); | ||
} | ||
} | ||
return result; | ||
}; | ||
// preserve .conversion property if there is one | ||
if ('conversion' in fn) { | ||
wrappedFn.conversion = fn.conversion; | ||
} | ||
return wrappedFn; | ||
} | ||
models.forEach(function (fromModel) { | ||
convert[fromModel] = {}; | ||
Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); | ||
Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); | ||
var routes = route(fromModel); | ||
var routeModels = Object.keys(routes); | ||
routeModels.forEach(function (toModel) { | ||
var fn = routes[toModel]; | ||
convert[fromModel][toModel] = wrapRounded(fn); | ||
convert[fromModel][toModel].raw = wrapRaw(fn); | ||
}); | ||
}); | ||
module.exports = convert; | ||
/***/ }), | ||
/* 13 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
module.exports = { | ||
"aliceblue": [240, 248, 255], | ||
"antiquewhite": [250, 235, 215], | ||
"aqua": [0, 255, 255], | ||
"aquamarine": [127, 255, 212], | ||
"azure": [240, 255, 255], | ||
"beige": [245, 245, 220], | ||
"bisque": [255, 228, 196], | ||
"black": [0, 0, 0], | ||
"blanchedalmond": [255, 235, 205], | ||
"blue": [0, 0, 255], | ||
"blueviolet": [138, 43, 226], | ||
"brown": [165, 42, 42], | ||
"burlywood": [222, 184, 135], | ||
"cadetblue": [95, 158, 160], | ||
"chartreuse": [127, 255, 0], | ||
"chocolate": [210, 105, 30], | ||
"coral": [255, 127, 80], | ||
"cornflowerblue": [100, 149, 237], | ||
"cornsilk": [255, 248, 220], | ||
"crimson": [220, 20, 60], | ||
"cyan": [0, 255, 255], | ||
"darkblue": [0, 0, 139], | ||
"darkcyan": [0, 139, 139], | ||
"darkgoldenrod": [184, 134, 11], | ||
"darkgray": [169, 169, 169], | ||
"darkgreen": [0, 100, 0], | ||
"darkgrey": [169, 169, 169], | ||
"darkkhaki": [189, 183, 107], | ||
"darkmagenta": [139, 0, 139], | ||
"darkolivegreen": [85, 107, 47], | ||
"darkorange": [255, 140, 0], | ||
"darkorchid": [153, 50, 204], | ||
"darkred": [139, 0, 0], | ||
"darksalmon": [233, 150, 122], | ||
"darkseagreen": [143, 188, 143], | ||
"darkslateblue": [72, 61, 139], | ||
"darkslategray": [47, 79, 79], | ||
"darkslategrey": [47, 79, 79], | ||
"darkturquoise": [0, 206, 209], | ||
"darkviolet": [148, 0, 211], | ||
"deeppink": [255, 20, 147], | ||
"deepskyblue": [0, 191, 255], | ||
"dimgray": [105, 105, 105], | ||
"dimgrey": [105, 105, 105], | ||
"dodgerblue": [30, 144, 255], | ||
"firebrick": [178, 34, 34], | ||
"floralwhite": [255, 250, 240], | ||
"forestgreen": [34, 139, 34], | ||
"fuchsia": [255, 0, 255], | ||
"gainsboro": [220, 220, 220], | ||
"ghostwhite": [248, 248, 255], | ||
"gold": [255, 215, 0], | ||
"goldenrod": [218, 165, 32], | ||
"gray": [128, 128, 128], | ||
"green": [0, 128, 0], | ||
"greenyellow": [173, 255, 47], | ||
"grey": [128, 128, 128], | ||
"honeydew": [240, 255, 240], | ||
"hotpink": [255, 105, 180], | ||
"indianred": [205, 92, 92], | ||
"indigo": [75, 0, 130], | ||
"ivory": [255, 255, 240], | ||
"khaki": [240, 230, 140], | ||
"lavender": [230, 230, 250], | ||
"lavenderblush": [255, 240, 245], | ||
"lawngreen": [124, 252, 0], | ||
"lemonchiffon": [255, 250, 205], | ||
"lightblue": [173, 216, 230], | ||
"lightcoral": [240, 128, 128], | ||
"lightcyan": [224, 255, 255], | ||
"lightgoldenrodyellow": [250, 250, 210], | ||
"lightgray": [211, 211, 211], | ||
"lightgreen": [144, 238, 144], | ||
"lightgrey": [211, 211, 211], | ||
"lightpink": [255, 182, 193], | ||
"lightsalmon": [255, 160, 122], | ||
"lightseagreen": [32, 178, 170], | ||
"lightskyblue": [135, 206, 250], | ||
"lightslategray": [119, 136, 153], | ||
"lightslategrey": [119, 136, 153], | ||
"lightsteelblue": [176, 196, 222], | ||
"lightyellow": [255, 255, 224], | ||
"lime": [0, 255, 0], | ||
"limegreen": [50, 205, 50], | ||
"linen": [250, 240, 230], | ||
"magenta": [255, 0, 255], | ||
"maroon": [128, 0, 0], | ||
"mediumaquamarine": [102, 205, 170], | ||
"mediumblue": [0, 0, 205], | ||
"mediumorchid": [186, 85, 211], | ||
"mediumpurple": [147, 112, 219], | ||
"mediumseagreen": [60, 179, 113], | ||
"mediumslateblue": [123, 104, 238], | ||
"mediumspringgreen": [0, 250, 154], | ||
"mediumturquoise": [72, 209, 204], | ||
"mediumvioletred": [199, 21, 133], | ||
"midnightblue": [25, 25, 112], | ||
"mintcream": [245, 255, 250], | ||
"mistyrose": [255, 228, 225], | ||
"moccasin": [255, 228, 181], | ||
"navajowhite": [255, 222, 173], | ||
"navy": [0, 0, 128], | ||
"oldlace": [253, 245, 230], | ||
"olive": [128, 128, 0], | ||
"olivedrab": [107, 142, 35], | ||
"orange": [255, 165, 0], | ||
"orangered": [255, 69, 0], | ||
"orchid": [218, 112, 214], | ||
"palegoldenrod": [238, 232, 170], | ||
"palegreen": [152, 251, 152], | ||
"paleturquoise": [175, 238, 238], | ||
"palevioletred": [219, 112, 147], | ||
"papayawhip": [255, 239, 213], | ||
"peachpuff": [255, 218, 185], | ||
"peru": [205, 133, 63], | ||
"pink": [255, 192, 203], | ||
"plum": [221, 160, 221], | ||
"powderblue": [176, 224, 230], | ||
"purple": [128, 0, 128], | ||
"rebeccapurple": [102, 51, 153], | ||
"red": [255, 0, 0], | ||
"rosybrown": [188, 143, 143], | ||
"royalblue": [65, 105, 225], | ||
"saddlebrown": [139, 69, 19], | ||
"salmon": [250, 128, 114], | ||
"sandybrown": [244, 164, 96], | ||
"seagreen": [46, 139, 87], | ||
"seashell": [255, 245, 238], | ||
"sienna": [160, 82, 45], | ||
"silver": [192, 192, 192], | ||
"skyblue": [135, 206, 235], | ||
"slateblue": [106, 90, 205], | ||
"slategray": [112, 128, 144], | ||
"slategrey": [112, 128, 144], | ||
"snow": [255, 250, 250], | ||
"springgreen": [0, 255, 127], | ||
"steelblue": [70, 130, 180], | ||
"tan": [210, 180, 140], | ||
"teal": [0, 128, 128], | ||
"thistle": [216, 191, 216], | ||
"tomato": [255, 99, 71], | ||
"turquoise": [64, 224, 208], | ||
"violet": [238, 130, 238], | ||
"wheat": [245, 222, 179], | ||
"white": [255, 255, 255], | ||
"whitesmoke": [245, 245, 245], | ||
"yellow": [255, 255, 0], | ||
"yellowgreen": [154, 205, 50] | ||
}; | ||
/***/ }), | ||
/* 14 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var conversions = __webpack_require__(1); | ||
/* | ||
this function routes a model to all other models. | ||
all functions that are routed have a property `.conversion` attached | ||
to the returned synthetic function. This property is an array | ||
of strings, each with the steps in between the 'from' and 'to' | ||
color models (inclusive). | ||
conversions that are not possible simply are not included. | ||
*/ | ||
function buildGraph() { | ||
var graph = {}; | ||
// https://jsperf.com/object-keys-vs-for-in-with-closure/3 | ||
var models = Object.keys(conversions); | ||
for (var len = models.length, i = 0; i < len; i++) { | ||
graph[models[i]] = { | ||
// http://jsperf.com/1-vs-infinity | ||
// micro-opt, but this is simple. | ||
distance: -1, | ||
parent: null | ||
}; | ||
} | ||
return graph; | ||
} | ||
// https://en.wikipedia.org/wiki/Breadth-first_search | ||
function deriveBFS(fromModel) { | ||
var graph = buildGraph(); | ||
var queue = [fromModel]; // unshift -> queue -> pop | ||
graph[fromModel].distance = 0; | ||
while (queue.length) { | ||
var current = queue.pop(); | ||
var adjacents = Object.keys(conversions[current]); | ||
for (var len = adjacents.length, i = 0; i < len; i++) { | ||
var adjacent = adjacents[i]; | ||
var 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) { | ||
var path = [graph[toModel].parent, toModel]; | ||
var fn = conversions[graph[toModel].parent][toModel]; | ||
var cur = graph[toModel].parent; | ||
while (graph[cur].parent) { | ||
path.unshift(graph[cur].parent); | ||
fn = link(conversions[graph[cur].parent][cur], fn); | ||
cur = graph[cur].parent; | ||
} | ||
fn.conversion = path; | ||
return fn; | ||
} | ||
module.exports = function (fromModel) { | ||
var graph = deriveBFS(fromModel); | ||
var conversion = {}; | ||
var models = Object.keys(graph); | ||
for (var len = models.length, i = 0; i < len; i++) { | ||
var toModel = models[i]; | ||
var node = graph[toModel]; | ||
if (node.parent === null) { | ||
// no possible conversion, or this node is the source model. | ||
continue; | ||
} | ||
conversion[toModel] = wrapConversion(toModel, graph); | ||
} | ||
return conversion; | ||
}; | ||
/***/ }), | ||
/* 15 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
const os = __webpack_require__(16); | ||
const hasFlag = __webpack_require__(17); | ||
const env = process.env; | ||
let forceColor; | ||
if (hasFlag('no-color') || | ||
hasFlag('no-colors') || | ||
hasFlag('color=false')) { | ||
forceColor = false; | ||
} else if (hasFlag('color') || | ||
hasFlag('colors') || | ||
hasFlag('color=true') || | ||
hasFlag('color=always')) { | ||
forceColor = true; | ||
} | ||
if ('FORCE_COLOR' in env) { | ||
forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; | ||
} | ||
function translateLevel(level) { | ||
if (level === 0) { | ||
return false; | ||
} | ||
return { | ||
level, | ||
hasBasic: true, | ||
has256: level >= 2, | ||
has16m: level >= 3 | ||
}; | ||
} | ||
function supportsColor(stream) { | ||
if (forceColor === false) { | ||
return 0; | ||
} | ||
if (hasFlag('color=16m') || | ||
hasFlag('color=full') || | ||
hasFlag('color=truecolor')) { | ||
return 3; | ||
} | ||
if (hasFlag('color=256')) { | ||
return 2; | ||
} | ||
if (stream && !stream.isTTY && forceColor !== true) { | ||
return 0; | ||
} | ||
const min = forceColor ? 1 : 0; | ||
if (process.platform === 'win32') { | ||
// Node.js 7.5.0 is the first version of Node.js to include a patch to | ||
// libuv that enables 256 color output on Windows. Anything earlier and it | ||
// won't work. However, here we target Node.js 8 at minimum as it is an LTS | ||
// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows | ||
// release that supports 256 colors. Windows 10 build 14931 is the first release | ||
// that supports 16m/TrueColor. | ||
const osRelease = os.release().split('.'); | ||
if ( | ||
Number(process.versions.node.split('.')[0]) >= 8 && | ||
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'].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 ('TERM_PROGRAM' in env) { | ||
const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); | ||
switch (env.TERM_PROGRAM) { | ||
case 'iTerm.app': | ||
return version >= 3 ? 3 : 2; | ||
case 'Hyper': | ||
return 3; | ||
case 'Apple_Terminal': | ||
return 2; | ||
// No default | ||
} | ||
} | ||
if (/-256(color)?$/i.test(env.TERM)) { | ||
return 2; | ||
} | ||
if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { | ||
return 1; | ||
} | ||
if ('COLORTERM' in env) { | ||
return 1; | ||
} | ||
if (env.TERM === 'dumb') { | ||
return min; | ||
} | ||
return min; | ||
} | ||
function getSupportLevel(stream) { | ||
const level = supportsColor(stream); | ||
return translateLevel(level); | ||
} | ||
module.exports = { | ||
supportsColor: getSupportLevel, | ||
stdout: getSupportLevel(process.stdout), | ||
stderr: getSupportLevel(process.stderr) | ||
}; | ||
/***/ }), | ||
/* 16 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("chalk"); | ||
module.exports = require("os"); | ||
/***/ }), | ||
/* 8 */ | ||
/* 17 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
module.exports = (flag, argv) => { | ||
argv = argv || process.argv; | ||
const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); | ||
const pos = argv.indexOf(prefix + flag); | ||
const terminatorPos = argv.indexOf('--'); | ||
return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); | ||
}; | ||
/***/ }), | ||
/* 18 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; | ||
const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; | ||
const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; | ||
const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; | ||
const ESCAPES = new Map([ | ||
['n', '\n'], | ||
['r', '\r'], | ||
['t', '\t'], | ||
['b', '\b'], | ||
['f', '\f'], | ||
['v', '\v'], | ||
['0', '\0'], | ||
['\\', '\\'], | ||
['e', '\u001B'], | ||
['a', '\u0007'] | ||
]); | ||
function unescape(c) { | ||
if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) { | ||
return String.fromCharCode(parseInt(c.slice(1), 16)); | ||
} | ||
return ESCAPES.get(c) || c; | ||
} | ||
function parseArguments(name, args) { | ||
const results = []; | ||
const chunks = args.trim().split(/\s*,\s*/g); | ||
let matches; | ||
for (const chunk of chunks) { | ||
if (!isNaN(chunk)) { | ||
results.push(Number(chunk)); | ||
} else if ((matches = chunk.match(STRING_REGEX))) { | ||
results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); | ||
} 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(chalk, 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 = chalk; | ||
for (const styleName of Object.keys(enabled)) { | ||
if (Array.isArray(enabled[styleName])) { | ||
if (!(styleName in current)) { | ||
throw new Error(`Unknown Chalk style: ${styleName}`); | ||
} | ||
if (enabled[styleName].length > 0) { | ||
current = current[styleName].apply(current, enabled[styleName]); | ||
} else { | ||
current = current[styleName]; | ||
} | ||
} | ||
} | ||
return current; | ||
} | ||
module.exports = (chalk, tmp) => { | ||
const styles = []; | ||
const chunks = []; | ||
let chunk = []; | ||
// eslint-disable-next-line max-params | ||
tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { | ||
if (escapeChar) { | ||
chunk.push(unescape(escapeChar)); | ||
} else if (style) { | ||
const str = chunk.join(''); | ||
chunk = []; | ||
chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); | ||
styles.push({inverse, styles: parseStyle(style)}); | ||
} else if (close) { | ||
if (styles.length === 0) { | ||
throw new Error('Found extraneous } in Chalk template literal'); | ||
} | ||
chunks.push(buildStyle(chalk, styles)(chunk.join(''))); | ||
chunk = []; | ||
styles.pop(); | ||
} else { | ||
chunk.push(chr); | ||
} | ||
}); | ||
chunks.push(chunk.join('')); | ||
if (styles.length > 0) { | ||
const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; | ||
throw new Error(errMsg); | ||
} | ||
return chunks.join(''); | ||
}; | ||
/***/ }), | ||
/* 19 */ | ||
/***/ (function(module, exports) { | ||
@@ -428,3 +2379,3 @@ | ||
/***/ }), | ||
/* 9 */ | ||
/* 20 */ | ||
/***/ (function(module, exports) { | ||
@@ -435,3 +2386,3 @@ | ||
/***/ }), | ||
/* 10 */ | ||
/* 21 */ | ||
/***/ (function(module, exports) { | ||
@@ -442,5 +2393,11 @@ | ||
/***/ }), | ||
/* 11 */ | ||
/* 22 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("consola"); | ||
/***/ }), | ||
/* 23 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("minimist"); | ||
@@ -447,0 +2404,0 @@ |
@@ -10,6 +10,10 @@ { | ||
}, | ||
"version": "0.4.6", | ||
"version": "0.5.0", | ||
"license": "MIT", | ||
"bin": "dist/index.js", | ||
"files": ["src", "dist", "template"], | ||
"files": [ | ||
"src", | ||
"dist", | ||
"template" | ||
], | ||
"scripts": { | ||
@@ -23,7 +27,8 @@ "scripts": "node -r source-map-support/register ../scripts/dist/index.js", | ||
"clean": "npm run scripts -- clean", | ||
"lint": "npm run scripts -- lint", | ||
"prepack": "npm run clean && npm run build -- --env production" | ||
}, | ||
"dependencies": { | ||
"@noderize/runtime": "^0.4.6", | ||
"chalk": "^2.3.1", | ||
"@noderize/runtime": "^0.5.0", | ||
"consola": "^1.2.0", | ||
"fs-extra": "^5.0.0", | ||
@@ -30,0 +35,0 @@ "minimist": "^1.2.0" |
@@ -5,2 +5,3 @@ import chalk from "chalk"; | ||
import { execSync } from "child_process"; | ||
import log from "consola"; | ||
@@ -12,3 +13,3 @@ export async function run( | ||
if (!name) { | ||
printWarn(`No path given!`); | ||
log.warn(`No path given!`); | ||
process.exit(1); | ||
@@ -23,3 +24,3 @@ return; | ||
if (await fs.exists(path)) { | ||
printWarn(`Path exists!`); | ||
log.warn(`Path exists!`); | ||
process.exit(1); | ||
@@ -29,3 +30,3 @@ return; | ||
printInfo(`Copying...`); | ||
log.start(`Copying...`); | ||
@@ -41,3 +42,3 @@ // Copy from template | ||
printInfo(`Setting up...`); | ||
log.info(`Setting up...`); | ||
@@ -56,3 +57,4 @@ // Set the "name" field in package.json | ||
} catch (error) { | ||
printError(`Error saving package.json.`, error); | ||
log.error(`Error saving package.json.`); | ||
log.error(error); | ||
process.exit(1); | ||
@@ -66,3 +68,4 @@ return; | ||
} catch (error) { | ||
printError(`Error moving .gitignore.`, error); | ||
log.error(`Error moving .gitignore.`); | ||
log.error(error); | ||
process.exit(1); | ||
@@ -80,3 +83,4 @@ return; | ||
} catch (error) { | ||
printError(`Error moving src/index.js to src/index.ts.`, error); | ||
log.error(`Error moving src/index.js to src/index.ts.`); | ||
log.error(error); | ||
process.exit(1); | ||
@@ -87,3 +91,3 @@ return; | ||
printInfo(`Installing packages...`); | ||
log.info(`Installing packages...`); | ||
console.log(); | ||
@@ -114,3 +118,4 @@ | ||
} catch (error) { | ||
printError(`Error installing packages.`, error); | ||
log.error(`Error installing packages.`); | ||
log.error(error); | ||
process.exit(1); | ||
@@ -123,9 +128,11 @@ return; | ||
console.log(); | ||
printDone(`Done! Your Noderize app is ready!`); | ||
printDone(`You may visit your app with ${chalk.cyan(`cd ${name}`)}`); | ||
printDone(`Develop by using ${chalk.cyan(`${runCommand} watch`)}`); | ||
printDone( | ||
log.success(`Done! Your Noderize app is ready!`); | ||
log.success(`You may visit your app with ${chalk.cyan(`cd ${name}`)}`); | ||
log.success(`Develop by using ${chalk.cyan(`${runCommand} watch`)}`); | ||
log.success( | ||
`Build a production version using ${chalk.cyan(`${runCommand} build`)}` | ||
); | ||
printDone(`Visit documentation at ${chalk.cyan(`https://noderize.js.org`)}`); | ||
log.success( | ||
`Visit documentation at ${chalk.cyan(`https://noderize.js.org`)}` | ||
); | ||
} | ||
@@ -141,18 +148,1 @@ | ||
} | ||
function printInfo(text) { | ||
console.log(`${chalk.blueBright("[INFO]")} ${text}`); | ||
} | ||
function printDone(text) { | ||
console.log(`${chalk.greenBright("[DONE]")} ${text}`); | ||
} | ||
function printWarn(text) { | ||
console.warn(`${chalk.yellowBright("[WARN]")} ${text}`); | ||
} | ||
function printError(text, error) { | ||
console.error(`${chalk.redBright("[ERROR]")} ${text}`); | ||
console.error(error); | ||
} |
@@ -11,4 +11,5 @@ { | ||
"test": "noderize-scripts test", | ||
"lint": "noderize-scripts lint", | ||
"clean": "noderize-scripts clean" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62335
2046
9
4
3
+ Addedconsola@^1.2.0
+ Added@noderize/runtime@0.5.1(transitive)
+ Addedci-info@1.6.0(transitive)
+ Addedconsola@1.4.5(transitive)
+ Addedfigures@2.0.0(transitive)
+ Addedis-ci@1.2.1(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedstd-env@1.3.1(transitive)
- Removedchalk@^2.3.1
- Removed@noderize/runtime@0.4.6(transitive)
Updated@noderize/runtime@^0.5.0