UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

141 lines (140 loc) 6.26 kB
Object.defineProperty(exports, "__esModule", { value: true }); var ProjectData_1 = require("./ProjectData"); var FileUtil = require("../lib/FileUtil"); var project = require("../actions/Project"); var manager; (function (manager) { function copyToLibs() { var moduleDir = ProjectData_1.data.getLibraryFolder(); FileUtil.remove(moduleDir); ProjectData_1.data.getModulesConfig("web").forEach(function (m) { FileUtil.copy(m.sourceDir, ProjectData_1.data.getFilePath(m.targetDir)); }); } manager.copyToLibs = copyToLibs; function generateManifest(gameFileList, options, manifestPath) { var initial = []; var game = []; ProjectData_1.data.getModulesConfig(options.platform).forEach(function (m) { m.target.forEach(function (m) { initial.push(options.debug ? m.debug : m.release); }); }); if (options.debug) { gameFileList.forEach(function (m) { game.push("bin-debug/" + m); }); } else { game.push("main.min.js"); } var manifest = { initial: initial, game: game }; if (manifestPath) { FileUtil.save(manifestPath, JSON.stringify(manifest, undefined, "\t")); } else { return manifest; } } manager.generateManifest = generateManifest; function modifyNativeRequire(manifestPath) { var options = egret.args; var indexPath = ProjectData_1.data.getFilePath('index.html'); var requirePath = FileUtil.joinPath(options.templateDir, "runtime", "native_require.js"); var requireContent = FileUtil.read(requirePath); if (requireContent == "") { globals.exit(10021); } if (!ProjectData_1.data.useTemplate) { var manifest = JSON.parse(FileUtil.read(manifestPath)); var fileList = manifest.initial.concat(manifest.game); var listStr_1 = "\n"; fileList.forEach(function (filepath) { filepath = filepath.replace(".web.", ".native."); listStr_1 += '\t"' + filepath + '",\n'; }); var reg_1 = /\/\/----auto game_file_list start----[\s\S]*\/\/----auto game_file_list end----/; var replaceStr_1 = '\/\/----auto game_file_list start----' + listStr_1 + '\t\/\/----auto game_file_list end----'; requireContent = requireContent.replace(reg_1, replaceStr_1); } var optionStr = project.getNativeProjectInfo(indexPath); var reg = /\/\/----auto option start----[\s\S]*\/\/----auto option end----/; var replaceStr = '\/\/----auto option start----\n\t\t' + optionStr + '\n\t\t\/\/----auto option end----'; requireContent = requireContent.replace(reg, replaceStr); FileUtil.save(requirePath, requireContent); } manager.modifyNativeRequire = modifyNativeRequire; function copyLibsForPublish(target, mode) { if (mode === void 0) { mode = 'debug'; } var result = []; var options = egret.args; ProjectData_1.data.getModulesConfig(target).forEach(function (m) { m.target.forEach(function (m) { var filename = mode == 'debug' ? m.debug : m.release; result.push(filename); }); }); if (ProjectData_1.data.isWasmProject()) { var arr = [ "egret.asm.js", "egret.asm.js.mem", "egret.webassembly.js", "egret.webassembly.wasm" ]; arr.forEach(function (item) { result.push(FileUtil.joinPath("libs", item)); }); } return result; } manager.copyLibsForPublish = copyLibsForPublish; function copyManifestForNative(toPath) { var options = egret.args; var manifest = JSON.parse(FileUtil.read(FileUtil.joinPath(options.projectDir, "manifest.json"))); var fileLength = manifest.initial.length; for (var i = 0; i < fileLength; i++) { if (manifest.initial[i].indexOf(".web.") != -1) { manifest.initial[i] = manifest.initial[i].replace(".web.", ".native."); } } FileUtil.save(toPath, JSON.stringify(manifest)); } manager.copyManifestForNative = copyManifestForNative; function modifyIndex(manifestPath, indexPath) { if (!ProjectData_1.data.useTemplate) { var manifest = JSON.parse(FileUtil.read(manifestPath, true)); var libs = manifest.initial; var libsScriptsStr = ""; libs.forEach(function (m) { libsScriptsStr += getScript("lib", m); }); var game = manifest.game; var gameStr = ""; game.forEach(function (m) { gameStr += getScript("lib", m); }); var reg = /<!--(\s)*modules_files_start(\s)*-->[\s\S]*<!--(\s)*modules_files_end(\s)*-->/; var replaceStr = '<!--modules_files_start-->\n' + libsScriptsStr + '\t<!--modules_files_end-->'; var htmlContent = FileUtil.read(indexPath, true); htmlContent = htmlContent.replace(reg, replaceStr); var reg = /<!--(\s)*game_files_start(\s)*-->[\s\S]*<!--(\s)*game_files_end(\s)*-->/; var replaceStr = '<!--game_files_start-->\n' + gameStr + '\t<!--game_files_end-->'; htmlContent = htmlContent.replace(reg, replaceStr); var reg = /<!--(\s)*other_libs_files_start(\s)*-->[\s\S]*<!--(\s)*other_libs_files_end(\s)*-->/; var replaceStr = ''; htmlContent = htmlContent.replace(reg, replaceStr); FileUtil.save(indexPath, htmlContent); } } manager.modifyIndex = modifyIndex; function getScript(type, src) { switch (type) { case 'lib': return "\t<script egret=\"" + type + "\" src=\"" + src + "\"></script>\n"; break; case 'game': return "\t<script egret=\"" + type + "\" src=\"" + src + "\"></script>\n"; break; } } })(manager = exports.manager || (exports.manager = {}));