UNPKG

ffbt

Version:

Build a Typescript app without pain

35 lines (34 loc) 1.28 kB
"use strict"; 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;