1// happy xmas 2var log = require('npmlog') 3 4module.exports = function (args, cb) { 5 var s = process.platform === 'win32' ? ' *' : ' \u2605' 6 var f = '\uFF0F' 7 var b = '\uFF3C' 8 var x = process.platform === 'win32' ? ' ' : '' 9 var o = [ 10 '\u0069', '\u0020', '\u0020', '\u0020', '\u0020', '\u0020', 11 '\u0020', '\u0020', '\u0020', '\u0020', '\u0020', '\u0020', 12 '\u0020', '\u2E1B', '\u2042', '\u2E2E', '&', '@', '\uFF61' 13 ] 14 var oc = [33, 34, 35, 36, 37] 15 var l = '\u005e' 16 17 function w (s) { process.stderr.write(s) } 18 19 w('\n') 20 ;(function T (H) { 21 for (var i = 0; i < H; i++) w(' ') 22 w(x + '\u001b[33m' + s + '\n') 23 var M = H * 2 - 1 24 for (var L = 1; L <= H; L++) { 25 var O = L * 2 - 2 26 var S = (M - O) / 2 27 for (i = 0; i < S; i++) w(' ') 28 w(x + '\u001b[21m') 29 w(x + '\u001b[32m' + f) 30 for (i = 0; i < O; i++) { 31 w( 32 '\u001b[' + oc[Math.floor(Math.random() * oc.length)] + 'm' + 33 o[Math.floor(Math.random() * o.length)] 34 ) 35 } 36 w(x + '\u001b[32m' + b + '\n') 37 w(x + '\u001b[0m') 38 } 39 w(' ') 40 for (i = 1; i < H; i++) w('\u001b[32m' + l) 41 w('| ' + x + ' |') 42 for (i = 1; i < H; i++) w('\u001b[32m' + l) 43 if (H > 10) { 44 w('\n ') 45 for (i = 1; i < H; i++) w(' ') 46 w('| ' + x + ' |') 47 for (i = 1; i < H; i++) w(' ') 48 } 49 })(20) 50 w('\n\n') 51 log.heading = '' 52 log.addLevel('npm', 100000, log.headingStyle) 53 log.npm('loves you', 'Happy Xmas, JavaScripters!') 54 cb() 55} 56var dg = false 57Object.defineProperty(module.exports, 'usage', {get: function () { 58 if (dg) module.exports([], function () {}) 59 dg = true 60 return ' ' 61}}) 62