2017-12-29 08:23:12 -08:00
|
|
|
const glob = require("glob");
|
|
|
|
|
const path = require("path");
|
|
|
|
|
|
|
|
|
|
const package = require("./package.json");
|
|
|
|
|
|
|
|
|
|
const getEntriesAndSources = () => {
|
|
|
|
|
return package.shenanigans.entries === undefined
|
|
|
|
|
? [
|
|
|
|
|
{
|
2018-01-08 07:53:46 -08:00
|
|
|
entry: `./src/index.js`,
|
2017-12-29 08:23:12 -08:00
|
|
|
name: package.shenanigans.name,
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
: package.shenanigans.entries;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const getExternals = (shenanigans) => {
|
|
|
|
|
const output = {};
|
|
|
|
|
|
|
|
|
|
if (shenanigans.externals === undefined) {
|
|
|
|
|
return output;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (const external of shenanigans.externals) {
|
|
|
|
|
output[external.name] = external.name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return output;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const externals = getExternals(package.shenanigans);
|
|
|
|
|
const entriesAndSources = getEntriesAndSources();
|
|
|
|
|
|
|
|
|
|
const entry = {};
|
|
|
|
|
|
|
|
|
|
for (const pair of entriesAndSources) {
|
|
|
|
|
entry[pair.name] = pair.entry;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
2018-01-08 07:53:46 -08:00
|
|
|
entry,
|
2017-12-29 08:23:12 -08:00
|
|
|
externals,
|
2018-03-04 18:58:39 -08:00
|
|
|
mode: "production",
|
2017-12-29 08:23:12 -08:00
|
|
|
output: {
|
|
|
|
|
filename: "[name].js",
|
|
|
|
|
libraryTarget: "amd",
|
|
|
|
|
path: path.join(__dirname, "dist"),
|
2018-03-04 18:58:39 -08:00
|
|
|
},
|
|
|
|
|
performance: {
|
|
|
|
|
hints: false
|
2017-12-29 08:23:12 -08:00
|
|
|
}
|
|
|
|
|
};
|