Skip to content
This repository was archived by the owner on Dec 10, 2019. It is now read-only.

Commit f194aec

Browse files
committed
plugin copying front-end files to public/
1 parent b40f668 commit f194aec

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

index.js

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
"use strict";
22

33
var fs = require('fs-extra'),
4+
glob = require('glob'),
45
path = require('path');
56

67
function plugin_init(patternlab) {
78

9+
if(!patternlab) {
10+
console.error('patternlab object not provided to plugin-init');
11+
process.exit(1);
12+
}
13+
814
//write the plugin json to public/patternlab-components
915
var pluginConfig = {
1016
"name":"pattern-lab\/plugin-node-tab",
@@ -16,7 +22,32 @@ function plugin_init(patternlab) {
1622
}
1723

1824
var pluginConfigPathName = path.resolve(patternlab.config.paths.public.root, 'patternlab-components', 'packages');
19-
fs.outputFileSync(pluginConfigPathName + '/plugin-tab.json', JSON.stringify(pluginConfig, null, 2));
25+
try {
26+
fs.outputFileSync(pluginConfigPathName + '/plugin-tab.json', JSON.stringify(pluginConfig, null, 2));
27+
} catch (ex) {
28+
console.trace('Error occurred while writing pluginFile configuration');
29+
console.log(ex);
30+
}
31+
32+
//write the plugin dist folder to public/pattern-lab
33+
var pluginFiles = glob.sync(__dirname +'/dist/**/*');
34+
35+
if (pluginFiles && pluginFiles.length > 0) {
36+
for (let i = 0; i < pluginFiles.length; i++) {
37+
try {
38+
var fileStat = fs.statSync(pluginFiles[i]);
39+
if (fileStat.isFile()) {
40+
var relativePath = path.relative(__dirname, pluginFiles[i]).replace('dist', ''); //dist is dropped
41+
var writePath = path.join(patternlab.config.paths.public.root,'patternlab-components', 'pattern-lab', 'plugin-node-tab', relativePath);
42+
fs.copySync(pluginFiles[i], writePath);
43+
}
44+
} catch (ex) {
45+
console.trace('Error occurred while copying pluginFile', pluginFiles[i]);
46+
console.log(ex);
47+
}
48+
}
49+
}
50+
2051
}
2152

2253
module.exports = plugin_init;

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"description": "",
55
"main": "index.js",
66
"dependencies": {
7-
"fs-extra": "^0.30.0"
7+
"fs-extra": "^0.30.0",
8+
"glob": "^7.0.0"
89
},
910
"repository": {
1011
"type": "git",

0 commit comments

Comments
 (0)