webpack-flat-bundle
Version:
Plugin and utility function that enables you to make use of webpack for flat output multi entry processing
26 lines (22 loc) • 671 B
JavaScript
const glob = require('glob');
const path = require('path');
const fileNameGenerator = (file, relativeRoot) =>
path
.resolve(file)
.replace(`${path.resolve(relativeRoot)}`, '')
.substr(1)
.split('.')
.shift();
const globEntries = (
entryPattern,
config = {
relativeRoot: process.cwd(),
},
) =>
entryPattern.reduce((outputAccumulator, pattern) =>
Object.assign(outputAccumulator, glob.sync(pattern).reduce((accumulator, file) =>
Object.assign(accumulator, { [fileNameGenerator(file, config.relativeRoot)]: file })
, {}))
, {});
module.exports = globEntries;
module.exports.fileNameGenerator = fileNameGenerator;