@hoowu/cocos-plugin-o2-web-assets
Version:
适用于 O2 平台 的 Web + Assets 项目的发布构建处理流程
58 lines (57 loc) • 2.89 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.onError = exports.unload = exports.onAfterBuild = exports.load = exports.throwError = void 0;
const const_1 = require("./const");
const helpers_1 = require("./helpers");
exports.throwError = true;
const load = function () {
return __awaiter(this, void 0, void 0, function* () {
console.log(`[${const_1.PACKAGE_NAME}] hook流程开始`);
const allAssets = yield Editor.Message.request("asset-db", "query-assets");
console.info(`[${const_1.PACKAGE_NAME}] 所有资源: `, allAssets);
});
};
exports.load = load;
const onAfterBuild = function (options, result) {
return __awaiter(this, void 0, void 0, function* () {
const { removeHtmlFile, removeCssFile, renameAssetsToRemote, renameCconbExtension, } = options.packages[const_1.PACKAGE_NAME];
if (removeHtmlFile) {
console.log(`[${const_1.PACKAGE_NAME}] 清理 *.html 文件: `, result.paths.dir);
(0, helpers_1.removeFile)(result.paths.dir, "index.html");
}
if (removeCssFile) {
console.log(`[${const_1.PACKAGE_NAME}] 清理 *.css 文件: `, result.paths.dir);
(0, helpers_1.removeFile)(result.paths.dir, "style.css");
}
if (renameCconbExtension) {
console.log(`[${const_1.PACKAGE_NAME}] 处理 .cconb 文件重命名: `, renameCconbExtension);
(0, helpers_1.renameFiles)(result.paths.assets, ".cconb", renameCconbExtension);
}
if (renameAssetsToRemote) {
console.log(`[${const_1.PACKAGE_NAME}] 处理资源目录改名: `, result.paths.assets);
(0, helpers_1.renameDir)(result.paths.assets, "remote");
}
});
};
exports.onAfterBuild = onAfterBuild;
const unload = function () {
return __awaiter(this, void 0, void 0, function* () {
console.log(`[${const_1.PACKAGE_NAME}] hook流程结束`);
});
};
exports.unload = unload;
const onError = function (options, result) {
return __awaiter(this, void 0, void 0, function* () {
console.warn(`${const_1.PACKAGE_NAME} hook流程发生错误: `, options, result);
});
};
exports.onError = onError;