@roots/bud-extensions
Version:
bud.js core module
35 lines (34 loc) • 1.48 kB
JavaScript
import { __decorate } from "tslib";
import { DynamicOption, Extension } from '@roots/bud-framework/extension';
import { bind, disabled, label, options, } from '@roots/bud-framework/extension/decorators';
import { default as InterpolateHtmlWebpackPlugin, } from './plugin/index.js';
/**
* Interpolate html webpack plugin configuration
*/
let BudInterpolateHtmlExtension = class BudInterpolateHtmlExtension extends Extension {
/**
* {@link Extension.make}
*/
async make(bud, options) {
const InterpolateHtmlWebpackPlugin = await bud.module.import(`@roots/bud-extensions/interpolate-html-webpack-plugin/plugin`, import.meta.url);
const { getHooks } = await bud.module.import(`@roots/bud-support/html-webpack-plugin`, import.meta.url);
return new InterpolateHtmlWebpackPlugin(getHooks, {
...(options ?? {}),
...(bud.extensions.get(`@roots/bud-extensions/webpack-define-plugin`)
?.options ?? {}),
...(bud.env.getPublicEnv() ?? {}),
});
}
};
__decorate([
bind
], BudInterpolateHtmlExtension.prototype, "make", null);
BudInterpolateHtmlExtension = __decorate([
label(`@roots/bud-extensions/interpolate-html-webpack-plugin`),
options({
APP_TITLE: DynamicOption.make(app => app.label),
NO_SCRIPT: `You need to enable JavaScript to run this app`,
}),
disabled
], BudInterpolateHtmlExtension);
export { BudInterpolateHtmlExtension as default };