concat-webpack-plugin
Version:
Webpack plugin to concat the files after output
25 lines (24 loc) • 1.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConcatWebpackPlugin = void 0;
const tslib_1 = require("tslib");
const path_1 = tslib_1.__importDefault(require("path"));
const concat_1 = tslib_1.__importDefault(require("concat"));
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const globby_1 = tslib_1.__importDefault(require("globby"));
class ConcatWebpackPlugin {
constructor(outputFile) {
this.outputFile = outputFile;
}
apply(compiler) {
compiler.hooks.afterEmit.tapPromise(this.constructor.name, async () => {
var _a;
const { output } = compiler.options;
const outputPath = (_a = output.path) !== null && _a !== void 0 ? _a : path_1.default.dirname(output.filename);
const sourceFiles = path_1.default.join(outputPath, '*.js');
await fs_extra_1.default.ensureDir(path_1.default.dirname(this.outputFile));
await concat_1.default(globby_1.default.sync(sourceFiles), this.outputFile);
});
}
}
exports.ConcatWebpackPlugin = ConcatWebpackPlugin;
;