• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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