zephyr-rspress-plugin
Version:
Rspress plugin for Zephyr
98 lines (97 loc) • 4.69 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, getters, values)=>{
var define = (defs, kind)=>{
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
[kind]: defs[key]
});
};
define(getters, "get");
define(values, "value");
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
zephyrRspressSSGPlugin: ()=>zephyrRspressSSGPlugin
});
const external_node_path_namespaceObject = require("node:path");
const external_zephyr_edge_contract_namespaceObject = require("zephyr-edge-contract");
const external_zephyr_agent_namespaceObject = require("zephyr-agent");
const setupZeDeploy_js_namespaceObject = require("./internal/assets/setupZeDeploy.js");
const rewriteRspressModuleFederationAssets_js_namespaceObject = require("./internal/assets/rewriteRspressModuleFederationAssets.js");
const showFiles_js_namespaceObject = require("./internal/files/showFiles.js");
const walkFiles_js_namespaceObject = require("./internal/files/walkFiles.js");
const afterBuildHooks_js_namespaceObject = require("./internal/lifecycle/afterBuildHooks.js");
const zephyrRspressSSGPlugin = (config, options)=>{
if (options?.target !== void 0) (0, external_zephyr_edge_contract_namespaceObject.assertZephyrBuildTarget)(options.target, 'zephyrRspressSSGPlugin({ target })');
const { zephyr_engine_defer, zephyr_defer_create } = external_zephyr_agent_namespaceObject.ZephyrEngine.defer_create();
const root = (0, external_node_path_namespaceObject.resolve)(config.root ?? '');
let waitForAfterBuildHooks = async ()=>{};
zephyr_defer_create({
builder: 'rspack',
context: root,
...options?.target === void 0 ? {} : {
target: options.target
}
});
return {
name: 'zephyr-rspress-plugin-ssg',
beforeBuild (buildConfig = config) {
waitForAfterBuildHooks = (0, afterBuildHooks_js_namespaceObject.trackAfterBuildHooks)(buildConfig.plugins ?? []);
},
async afterBuild (buildConfig = config) {
try {
await waitForAfterBuildHooks(buildConfig);
const outDir = (0, external_node_path_namespaceObject.resolve)(buildConfig.outDir ?? './doc_build');
const files = await (0, walkFiles_js_namespaceObject.walkFiles)(outDir, '', options?.target);
if (0 === files.length) {
external_zephyr_agent_namespaceObject.ze_log.upload('No files found in output directory.');
const zephyr_engine = await zephyr_engine_defer;
if (zephyr_engine.hasActiveBuild) zephyr_engine.build_failed();
return;
}
if (options?.target !== 'tap-app') await (0, rewriteRspressModuleFederationAssets_js_namespaceObject.rewriteRspressModuleFederationAssets)(outDir, files);
await (0, showFiles_js_namespaceObject.showFiles)(outDir, files);
await (0, setupZeDeploy_js_namespaceObject.setupZeDeploy)({
deferEngine: zephyr_engine_defer,
outDir,
files,
hooks: options?.hooks,
...options?.mfConfig === void 0 ? {} : {
mfConfig: options.mfConfig
}
});
} catch (error) {
try {
const zephyr_engine = await zephyr_engine_defer;
if (zephyr_engine.hasActiveBuild) zephyr_engine.build_failed();
} catch {}
(0, external_zephyr_agent_namespaceObject.handleGlobalError)(error);
}
}
};
};
exports.zephyrRspressSSGPlugin = __webpack_exports__.zephyrRspressSSGPlugin;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"zephyrRspressSSGPlugin"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});
//# sourceMappingURL=zephyrRspressSSGPlugin.js.map