1 | 'use strict';
|
2 |
|
3 | var utils = require('./utils');
|
4 | var plugins = require('lazy-cache')(require);
|
5 | var fn = require;
|
6 | require = plugins;
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | require('assemble-loader', 'loader');
|
13 | require('base-argv', 'argv');
|
14 | require('base-cli-process', 'cli');
|
15 | require('base-config', 'config');
|
16 | require('base-runtimes', 'runtimes');
|
17 | require = fn;
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | plugins.logger = function(options) {
|
24 | return function() {
|
25 | if (!utils.isValid(this, 'assemble-logger')) return;
|
26 | function logger(prop, color) {
|
27 | color = color || 'dim';
|
28 | return function(msg) {
|
29 | var rest = [].slice.call(arguments, 1);
|
30 | return console.log
|
31 | .bind(console, utils.log.timestamp + (prop ? (' ' + utils.log[prop]) : ''))
|
32 | .apply(console, [utils.log[color](msg)].concat(rest));
|
33 | };
|
34 | };
|
35 |
|
36 | Object.defineProperty(this, 'log', {
|
37 | configurable: true,
|
38 | get: function() {
|
39 | function log() {
|
40 | return console.log.apply(console, arguments);
|
41 | }
|
42 | log.path = function(msg) {
|
43 | return logger(null, 'dim').apply(null, arguments);
|
44 | };
|
45 | log.time = function(msg) {
|
46 | return logger(null, 'dim').apply(null, arguments);
|
47 | };
|
48 | log.warn = function(msg) {
|
49 | return logger('warning', 'yellow').apply(null, arguments);
|
50 | };
|
51 | log.success = function() {
|
52 | return logger('success', 'green').apply(null, arguments);
|
53 | };
|
54 |
|
55 | log.info = function() {
|
56 | return logger('info', 'cyan').apply(null, arguments);
|
57 | };
|
58 |
|
59 | log.error = function() {
|
60 | return logger('error', 'red').apply(null, arguments);
|
61 | };
|
62 | log.__proto__ = utils.log;
|
63 | return log;
|
64 | }
|
65 | });
|
66 | };
|
67 | };
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | module.exports = plugins;
|