ffbt
Version:
Build a Typescript app without pain
35 lines (34 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const HtmlWebpackPlugin = require("html-webpack-plugin");
const path_1 = require("path");
const fs_1 = require("fs");
const layer = (projectConfig) => {
const pathToTemplate = path_1.resolve(projectConfig.paths.projectWorkingDirectory, "index.ejs");
const settingsForCustomTemplate = {
template: pathToTemplate,
templateParameters: (compilation, assets, options) => {
return {
envName: projectConfig.env._name,
env: projectConfig.env,
files: assets,
htmlWebpackPluginOptions: options,
};
},
};
const settingsForDefaultTemplate = {
title: "New Project",
};
const pluginSettings = fs_1.existsSync(pathToTemplate)
? settingsForCustomTemplate
: settingsForDefaultTemplate;
return {
plugins: [
new HtmlWebpackPlugin(Object.assign(Object.assign(Object.assign({}, projectConfig.env.htmlWebpackPluginConfig), pluginSettings), { minify: projectConfig.env.optimizeBundle && {
collapseWhitespace: true,
removeComments: true,
} }))
]
};
};
module.exports = layer;