forked from pattern-lab/patternlab-node
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpostinstall.js
More file actions
47 lines (38 loc) · 1.59 KB
/
postinstall.js
File metadata and controls
47 lines (38 loc) · 1.59 KB
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
"use strict";
try {
console.log('Beginning Pattern Lab postinstall...');
var path = require('path');
var fs = require('fs-extra');
var smPath = path.resolve(__dirname, '..', 'lib/starterkit_manager.js');
var pmPath = path.resolve(__dirname, '..', 'lib/plugin_manager.js');
var uPath = path.resolve(__dirname, '..', 'lib/utilities.js');
var sm = require(smPath);
var pm = require(pmPath);
var u = require(uPath);
//get the config
var configPath = path.resolve(process.cwd(), 'patternlab-config.json');
var config = fs.readJSONSync(path.resolve(configPath), 'utf8');
//determine if any starterkits are already installed
var starterkit_manager = new sm(config);
var foundStarterkits = starterkit_manager.detect_starterkits();
//todo - enhance to support multiple kits with prompt for each or all
if (foundStarterkits && foundStarterkits.length > 0) {
starterkit_manager.load_starterkit(foundStarterkits[0], true);
} else {
console.log('No starterkits found to automatically load.');
}
//determine if any plugins are already installed
var plugin_manager = new pm(config, configPath);
var foundPlugins = plugin_manager.detect_plugins();
if (foundPlugins && foundPlugins.length > 0) {
for (var i = 0; i < foundPlugins.length; i++) {
console.log('Found plugin', foundPlugins[i]);
plugin_manager.install_plugin(foundPlugins[i]);
}
}
u.debug('Pattern Lab postinstall complete.');
} catch (ex) {
console.log(ex);
u.warning('An error occurred during Pattern Lab Node postinstall.');
u.warning('Pattern Lab postinstall completed with errors.');
}