HJ_Client/extensions/my_builder/dist/buildPublic.js
DESKTOP-15R5JU0\legu 62fef0360c init
2023-11-17 14:13:11 +08:00

50 lines
2.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.onAfterBuildPublic = exports.onAfterCompressSettingsPublic = exports.onBeforeCompressSettingsPublic = exports.onBeforeBuildPublic = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
const fixFiles_1 = require("./fixFiles");
const public_1 = require("./public");
let oldDiffFile;
/**构建开始之前调用 */
const onBeforeBuildPublic = async function (options, result) {
console.log('更新json、后端共享脚本');
const state = await Editor.Message.request('update_res', 'updates', 'json', 'shared');
console.log('更新结果:', state);
console.log('检测图片是否设置纹理压缩格式');
await (0, public_1.setTextureCompress)();
if (options.diffScript && (0, fs_1.existsSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/' + options.diffScript))) {
oldDiffFile = (0, fs_1.readFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts'));
(0, fs_1.writeFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts'), (0, fs_1.readFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/' + options.diffScript)));
}
};
exports.onBeforeBuildPublic = onBeforeBuildPublic;
/**开始压缩相关的 JSON 文件前调用 */
const onBeforeCompressSettingsPublic = async function (options, result) {
};
exports.onBeforeCompressSettingsPublic = onBeforeCompressSettingsPublic;
/**压缩完设置文件后调用 */
const onAfterCompressSettingsPublic = async function (options, result) {
};
exports.onAfterCompressSettingsPublic = onAfterCompressSettingsPublic;
/**构建完成之后调用 */
const onAfterBuildPublic = async function (options, result) {
if (options.macro) {
let path = (0, path_1.join)(result.dest, 'src');
(0, fs_1.readdirSync)(path).forEach(file => {
let splits = file.split('.');
if (splits[0] == 'settings' && splits[splits.length - 1] == 'json') {
let json = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(path, file), 'utf-8'));
Object.assign(json.engine.macros, options.macro);
(0, fs_1.writeFileSync)((0, path_1.join)(path, file), JSON.stringify(json, null, 2));
}
});
}
console.log('检测是否有构建后的文件添加替换');
await (0, fixFiles_1.fixFiles)(options, result);
if (oldDiffFile) {
(0, fs_1.writeFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts'), oldDiffFile);
}
};
exports.onAfterBuildPublic = onAfterBuildPublic;