@lynx-js/rspeedy
Version:
A webpack/rspack-based frontend toolchain for Lynx
41 lines (40 loc) • 2.35 kB
JavaScript
import { debug, isDebug } from "./src_index_ts.js";
async function applyDebugPlugins(rsbuildInstance, config) {
const debugPlugins = Object.freeze([
import("./0~emitOnErrors.plugin.js").then(({ pluginEmitOnErrors })=>pluginEmitOnErrors()),
import("./0~inspect.plugin.js").then(({ pluginInspect })=>pluginInspect(config))
]);
rsbuildInstance.addPlugins(await Promise.all(debugPlugins));
}
async function applyDefaultPlugins(rsbuildInstance, config) {
const defaultPlugins = Object.freeze([
import("./0~api.plugin.js").then(({ pluginAPI })=>pluginAPI(config)),
import("./0~chunkLoading.plugin.js").then(({ pluginChunkLoading })=>pluginChunkLoading()),
import("@lynx-js/debug-metadata-rsbuild-plugin").then(({ pluginLynxDebugMetadata })=>pluginLynxDebugMetadata()),
import("./0~dev.plugin.js").then(({ pluginDev })=>pluginDev(config.dev, config.server)),
import("./0~minify.plugin.js").then(({ pluginMinify })=>pluginMinify(config.output?.minify)),
import("./0~optimization.plugin.js").then(({ pluginOptimization })=>pluginOptimization()),
import("./0~output.plugin.js").then(({ pluginOutput })=>pluginOutput(config.output)),
import("./0~resolve.plugin.js").then(({ pluginResolve })=>pluginResolve()),
import("./0~rsdoctor.plugin.js").then(({ pluginRsdoctor })=>pluginRsdoctor(config.tools?.rsdoctor)),
import("./0~sourcemap.plugin.js").then(({ pluginSourcemap })=>pluginSourcemap()),
import("./0~statsJson.plugin.js").then(({ pluginStatsJson })=>pluginStatsJson(config)),
import("./0~swc.plugin.js").then(({ pluginSwc })=>pluginSwc()),
import("./0~target.plugin.js").then(({ pluginTarget })=>pluginTarget())
]);
const promises = [
Promise.all(defaultPlugins).then((plugins)=>{
rsbuildInstance.addPlugins(plugins);
})
];
if (isDebug()) {
debug('apply Rspeedy default debug plugins');
promises.push(applyDebugPlugins(rsbuildInstance, config));
}
await Promise.all(promises);
const { pluginCssMinimizer, PLUGIN_CSS_MINIMIZER_NAME } = await import("@rsbuild/plugin-css-minimizer");
if (!rsbuildInstance.isPluginExists(PLUGIN_CSS_MINIMIZER_NAME)) rsbuildInstance.addPlugins([
pluginCssMinimizer()
]);
}
export { applyDefaultPlugins };