@roots/bud-extensions
Version:
bud.js core module
32 lines (31 loc) • 1.19 kB
JavaScript
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 };