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