-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrunner.js
More file actions
executable file
·41 lines (34 loc) · 820 Bytes
/
Copy pathrunner.js
File metadata and controls
executable file
·41 lines (34 loc) · 820 Bytes
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
#!/usr/bin/env node
/* eslint-disable no-console, no-sync */
const fs = require("fs");
const webpack = require("webpack");
const load = require("webpack-to-memory");
function getNodeModules() {
const nodeModules = {};
fs.readdirSync("node_modules")
.filter((folder) => {
return [".bin"].indexOf(folder) === -1;
})
.forEach((folder) => {
nodeModules[folder] = `commonjs ${folder}`;
});
return nodeModules;
}
function getWebpackConfig(filename) {
return {
entry: filename,
target: "node",
externals: getNodeModules(),
module: {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
}]
}
};
}
load(webpack(getWebpackConfig(process.argv[2])))
.catch((errors) => {
console.error(errors[0]);
});