UNPKG

948 BJavaScriptView Raw
1'use strict';
2
3var fs = require('fs');
4var util = require('util');
5var path = require('path');
6var _ = require('lodash');
7var DefaultRegistry = require('undertaker-registry');
8var cwd = require('cwd');
9
10function loadJSON(file) {
11 var res = {};
12 try {
13 res = JSON.parse(fs.readFileSync(cwd(file), 'utf8'));
14 } catch(err){}
15 return res;
16}
17
18function ConfigRegistry(defaults) {
19
20 DefaultRegistry.call(this);
21
22 var config = this.config = _.merge(defaults, loadJSON('ngfactory.json'));
23 // Get the current working directory of the user's current project
24 config.cwd = cwd();
25 // Load the package.json in the base of the user's current project
26 config.pkg = loadJSON('package.json');
27
28}
29
30util.inherits(ConfigRegistry, DefaultRegistry);
31
32ConfigRegistry.prototype.set = function set(name, fn) {
33 this._tasks[name] = fn.bind(this.config);
34 this._tasks[name].displayName = name;
35 return this._tasks[name];
36};
37
38module.exports = ConfigRegistry;