UNPKG

@roots/bud-extensions

Version:

bud.js core module

32 lines (31 loc) 1.19 kB
import { __decorate } from "tslib"; import { dirname, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { DynamicOption, Extension, } from '@roots/bud-framework/extension'; import { disabled, label, options, } from '@roots/bud-framework/extension/decorators'; /** * HTML Webpack plugin configuration */ let BudHtmlWebpackPlugin = class BudHtmlWebpackPlugin extends Extension { get interpolatePlugin() { return this.app.extensions.get(`@roots/bud-extensions/interpolate-html-webpack-plugin`); } /** * {@link Extension.make} */ async make(bud, options) { const Plugin = await bud.module.import(`@roots/bud-support/html-webpack-plugin`, import.meta.url); return new Plugin(options); } }; BudHtmlWebpackPlugin = __decorate([ label(`@roots/bud-extensions/html-webpack-plugin`), options({ filename: `index.html`, inject: true, publicPath: DynamicOption.make(app => app.publicPath()), template: resolve(dirname(fileURLToPath(import.meta.url)), `..`, `..`, `vendor`, `template.html`), }), disabled ], BudHtmlWebpackPlugin); export { BudHtmlWebpackPlugin as default };