ttmg-pack 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/src/constants/index.d.ts +30 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/libs/checkPkgs/checkMainpackage.d.ts +12 -0
- package/dist/src/libs/checkPkgs/checkProject.d.ts +10 -0
- package/dist/src/libs/checkPkgs/checkSubpackages.d.ts +3 -0
- package/dist/src/libs/checkPkgs/index.d.ts +8 -0
- package/dist/src/libs/index.d.ts +3 -0
- package/dist/src/libs/makePkgs/collectDeps.d.ts +1 -0
- package/dist/src/libs/makePkgs/collectMaps.d.ts +4 -0
- package/dist/src/libs/makePkgs/index.d.ts +4 -0
- package/dist/src/libs/makePkgs/pack.d.ts +12 -0
- package/dist/src/libs/makePkgs/partition.d.ts +9 -0
- package/dist/src/libs/makePkgs/setup.d.ts +3 -0
- package/dist/src/libs/mergePkgs/index.d.ts +5 -0
- package/dist/src/typings/index.d.ts +10 -0
- package/dist/src/typings/odr.d.ts +26 -0
- package/dist/src/utils/Deferred.d.ts +10 -0
- package/dist/src/utils/accBuffer.d.ts +4 -0
- package/dist/src/utils/collectAssets.d.ts +6 -0
- package/dist/src/utils/compress.d.ts +10 -0
- package/dist/src/utils/createBuffer.d.ts +1 -0
- package/dist/src/utils/deleteJsFilesSync.d.ts +5 -0
- package/dist/src/utils/deleteNoJsFilesSync.d.ts +1 -0
- package/dist/src/utils/ensureDirSync.d.ts +1 -0
- package/dist/src/utils/getDirSizeSync.d.ts +1 -0
- package/dist/src/utils/getMd5.d.ts +1 -0
- package/dist/src/utils/index.d.ts +13 -0
- package/dist/src/utils/logger.d.ts +14 -0
- package/dist/src/utils/removeEmptyDir.d.ts +6 -0
- package/dist/src/utils/removeSystemUseless.d.ts +1 -0
- package/dist/types/src/index.d.ts +5 -5
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("path"),n=require("fs"),t=require("winston");require("crypto"),require("zlib");var o=require("acorn"),r=require("glob"),i=require("magic-string");function s(e){var n=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),n.default=e,Object.freeze(n)}var c=s(e),a=s(n);const u="packageConfig.json",l="game.json",f="__GAME__",m=".txt",p="subpackages";function g(e){n.existsSync(e)||n.mkdirSync(e,{recursive:!0})}const y=new class{constructor(){this.logger=null}init(n){this.logger=t.createLogger({level:"info",format:t.format.combine(t.format.timestamp(),t.format.json()),transports:[new t.transports.File({filename:e.join(n,"pack.log")}),new t.transports.Console]})}info(e){this.logger.info(e)}error(e){this.logger.error(e)}warn(e){this.logger.warn(e)}debug(e){this.logger.debug(e)}setOutput(e){this.output=e}};function d(t){if(!n.existsSync(t))return!1;if(!n.statSync(t).isDirectory())return!1;let o=!0;const r=n.readdirSync(t);for(const i of r){const r=e.join(t,i);if(n.statSync(r).isDirectory()){d(r)||(o=!1)}else o=!1}return!!o&&(n.rmSync(t,{recursive:!0}),!0)}function h(t,o=[]){let r=0;if(!n.existsSync(t))return 0;const i=n.readdirSync(t,{withFileTypes:!0});for(const s of i){const i=e.join(t,s.name);s.isDirectory()?o.includes(s.name)||(r+=h(i,o)):s.isFile()&&(r+=n.statSync(i).size)}return r}const k=["node_modules","__MACOSX"],j=[".DS_Store","Thumbs.db"];async function S(t,o){y.info("开始基于源代码中的 game.json 生成 packageConfig.json");const r=e.join(t,l),i=JSON.parse(n.readFileSync(r,"utf-8")),s={};s[f]={url:"",md5:"",root:"",main:"game.js",output:`${f}${m}`},function(e){if(!e||0===e.length)return[];function n(e){return String(e).replace(/^\/+|\/+$/g,"")}function t(e){return String(e).trim().replace(/^\/+/,"")}function o(e){return e.endsWith("/")||!/\.[a-zA-Z0-9]+$/.test(e)}return e.map(e=>{const r=n(e.name);let i=t(e.root);const s=i.indexOf(r);return i=-1!==s?i.slice(s):r+(o(i)?"/game.js":"/"+i),o(i)&&(i=i.replace(/\/+$/,"")+"/game.js"),{main:i,root:r}})}(i.subpackages).forEach(e=>{s[e.root]={url:"",md5:"",root:`${p}/${e.root}`,main:`${p}/${e.main}`,output:`${e.root}${m}`}});const c={packages:s};return Object.keys(s).forEach(o=>{const r=e.join(t,s[o].main);if(!n.existsSync(r))throw y.error(`开发者源代码包中的子包 ${o} 中的 main 文件 ${s[o].main} 不存在`),new Error(`开发者源代码包中的子包 ${o} 中的 main 文件 ${s[o].main} 不存在`)}),n.existsSync(o)&&n.rmSync(o,{recursive:!0}),n.mkdirSync(o),n.writeFileSync(e.join(o,u),JSON.stringify(c,null,2)),y.info("基于源代码中的 game.json 生成 packageConfig.json 成功"),c}function b(e){const n=[];return Object.values(e).forEach(e=>{Object.values(e).forEach(e=>{n.push(...e)})}),n}function $(t,o=[".js",".ts",".jsx",".tsx"],r=[]){let i=[];if(!n.existsSync(t))return i;const s=n.readdirSync(t,{withFileTypes:!0});for(const n of s){const s=e.join(t,n.name);if(n.isDirectory()){if(r.includes(n.name))continue;i=i.concat($(s,o,[]))}else o.some(e=>n.name.endsWith(e))&&i.push(s)}return i}function w(t,i){const s=function(t){return n.readdirSync(t).filter(o=>{const r=e.join(t,o);return n.statSync(r).isDirectory()&&!["node_modules","dist","build","output"].includes(o)}).map(e=>e+"/")}(t),c=r.sync("**/*.js",{cwd:t,ignore:["node_modules/**","dist/**","build/**","output/**"]}),a=[];c.forEach(r=>{const i=e.join(t,r),c=n.readFileSync(i,"utf-8");let u;try{u=o.parse(c,{ecmaVersion:"latest",sourceType:"module"})}catch(e){return}v(u,o=>{if("CallExpression"===o.type&&"Identifier"===o.callee.type&&("require"===o.callee.name||"requireAsync"===o.callee.name)&&o.arguments.length>0&&"Literal"===o.arguments[0].type){const r=o.arguments[0].value;let c=null;if(r.startsWith("."))c=e.resolve(e.dirname(i),r);else if(r.startsWith("/"))c=e.resolve(t,"."+r);else for(const n of s)if(r.startsWith(n)){c=e.resolve(t,r);break}c&&!function(e){if(n.existsSync(e)&&n.statSync(e).isFile())return!0;const t=[".js",".ts",".jsx",".tsx"];for(const o of t)if(n.existsSync(e+o)&&n.statSync(e+o).isFile())return!0;return!1}(c)&&(c=null),a.push({file:e.relative(t,i),callee:o.callee.name,requirePath:r,resolvedPath:c?e.relative(t,c):""})}})});const u=a.map(e=>{let n="";Object.keys(i).forEach(t=>{e.resolvedPath&&e.resolvedPath.startsWith(i[t].root)&&(n=t)});let t="";return Object.keys(i).forEach(n=>{e.file.startsWith(i[n].root)&&(t=n)}),Object.assign(Object.assign({},e),{curModule:t,depModule:n})}),l=[".js",".ts",".jsx",".tsx"];return u.reduce((e,n)=>{return e[n.curModule]||(e[n.curModule]={}),n.curModule===n.depModule||n.resolvedPath&&(t=n.resolvedPath,l.some(e=>t.endsWith(e)))&&(e[n.curModule]=Object.assign(Object.assign({},e[n.curModule]),{[n.resolvedPath]:n.depModule})),e;var t},{})}function v(e,n){n(e);for(let t in e)if(e.hasOwnProperty(t)){const o=e[t];Array.isArray(o)?o.forEach(e=>e&&"string"==typeof e.type&&v(e,n)):o&&"string"==typeof o.type&&v(o,n)}}function x({gameEntry:t,gameOutput:o,pkgName:r,allDeps:s,allMaps:c,pkgConfig:a,destRoot:u}){let l=Date.now();y.info(`pack start,startTime:${l}`);const f=c[r],m={main:a.main,deps:s[r]||{},map:c[r]};g(u),n.writeFileSync(e.join(u,"moduleConfig.json"),JSON.stringify(m));for(const o in f){const s=f[o];if(!Array.isArray(s)||0===s.length)continue;const c=new i.Bundle({separator:"\n"});for(const r of s){const s=e.join(t,r);if(n.existsSync(s)&&(e.basename(s)!==o&&/\.js$/i.test(r))){const e=n.readFileSync(s,"utf-8"),t=r.replace(/\\/g,"/"),o=`define("game:${t}", ["require", "requireAsync", "module", "exports", "sandboxGlobal"], function(require, requireAsync, module, exports, sandboxGlobal){\nwith(sandboxGlobal){\n`,a="\n}\n});\n",u=new i(e,{filename:t}),l=new i(o).appendLeft(o.length,u.toString()).append(a);c.addSource({content:l,filename:t})}}const a=e.join(u,e.basename(o));n.writeFileSync(a,c.toString()+`\n//# sourceMappingURL=${o}.map`);const l=c.generateMap({hires:!0,includeContent:!0,file:o});n.writeFileSync(a+".map",l.toString()),y.info(`pack end,packName:${r}`)}}function O({pkgRoot:t,destRoot:o,packedFiles:r,gameEntry:i,gameOutput:s,skipDirs:c=[],isRoot:a=!0}){if(!n.existsSync(t))return;const u=n.readdirSync(t,{withFileTypes:!0});for(const l of u){const u=e.join(t,l.name),f=e.join(o,l.name);a&&l.isDirectory()&&c.includes(l.name)||(l.isDirectory()?O({pkgRoot:u,destRoot:f,gameOutput:s,packedFiles:r,gameEntry:i,skipDirs:c,isRoot:!1}):(g(e.dirname(f)),r.includes(e.relative(i,u))||n.copyFileSync(u,f)))}}async function M({gameEntry:t,gameOutput:o}){let r=Date.now();!function(t){!function t(o){let r;try{r=n.readdirSync(o)}catch(e){return void console.warn(`无法访问目录: ${o}`,e)}r.forEach(r=>{const i=e.join(o,r);try{const e=n.statSync(i);e.isDirectory()?k.includes(r)?(n.rmSync(i,{recursive:!0,force:!0}),console.log(`已删除无用目录: ${i}`)):t(i):e.isFile()&&j.includes(r)&&(n.rmSync(i,{force:!0}),console.log(`已删除无用文件: ${i}`))}catch(e){console.warn(`无法处理: ${i}`,e)}})}(t)}(t),y.info(`pack start,startTime:${r}`);const{packages:i}=await S(t,o),s=w(t,i),c=function(n,t){y.info("开始基于游戏源代码收集分包中的 JS 文件");const o={},r=Object.values(t).filter(e=>e.root&&""!==e.root).map(n=>n.root.split(e.sep)[0]).filter(Boolean),i=Array.from(new Set(r));for(const r in t){const s=t[r];let c,a;"__GAME__"===r?(a=$(n,[".js",".ts",".jsx",".tsx"],i),c=n):(c=e.join(n,s.root),a=$(c));const u=[];a.forEach(t=>{u.push(e.relative(n,t).replace(/\\/g,"/"))});const l=t[r].root;o[r]={[l?`${l}/game.pack.js`:"game.pack.js"]:u}}return y.info("基于游戏源代码收集分包中的 JS 文件完成"),o}(t,i);for(const n in c){y.info(`开始基于游戏源代码打包,包名:${n}`);let r=Date.now();const a=i[n],u=e.join(t,a.root),l=e.join(o,n,a.root);x({gameEntry:t,gameOutput:o,allDeps:s,allMaps:c,pkgName:n,pkgConfig:a,destRoot:l}),O({gameEntry:t,gameOutput:o,pkgRoot:u,destRoot:l,packedFiles:b(c),skipDirs:[p]});d(e.join(o,n)),y.info(`基于游戏源代码打包分包完成,包名:${n}`),y.info(`基于游戏源代码打包分包耗时,包名:${n},耗时:${Date.now()-r}ms`)}return y.info(`pack end,duration:${Date.now()-r}ms`),{}}function E(t,o){y.info("start check project");const{projectSizeLimit:r}=o;!function(t){y.info("start check config");const o=e.join(t,l);if(!n.existsSync(o)){const e="can not find game.json in game source code, please check it";throw y.error(e),new Error(e)}y.info("check config successfully")}(t),function(e,n){y.info("start check project size");const t=h(e,[]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Game size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Game size ${o}MB, check successfully!`),y.info("Game size check successfully!")}(t,r),y.info("check project successfully")}function D(e,n){y.info("start check main package");const{mainPackageSizeLimit:t}=n;y.info("check game.js");const o=c.join(e,"game.js");if(!a.existsSync(o)){const e="game.js must exist in main package!";throw y.error(e),new Error(e)}y.info("check game.js successfully"),function({entryDir:e,limit:n}){y.info("start check main package size");const t=h(e,["subpackages"]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Main package size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Main package size ${o}MB, check successfully!`)}({entryDir:e,limit:t}),y.info("check main package successfully")}function F(t,o){const{subpackageSizeLimit:r}=o;y.info("start check subpackages in game.json");const i=e.join(t,l),s=JSON.parse(n.readFileSync(i,"utf-8")).subpackages||[];(null==s?void 0:s.length)?s.forEach(o=>{if(!o.name||!o.root){const e="The subpackages configuration in game.json is invalid: the root or name field in one or more subpackages is empty. Please ensure that all subpackages have non-empty root and name values.";throw y.error(e),new Error(e)}const i=e.join(t,o.root);if(!n.existsSync(i)){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${o.name} entry dir, please check it`;throw y.error(e),new Error(e)}const s=o.root;if(!n.existsSync(e.join(t,s))){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${o.name} root, please check it`;throw y.error(e),new Error(e)}!function({entryDir:n,subPkgName:t,limit:o}){const r=e.join(n,"subpackages",t),i=h(r,[]),s=Math.round(i/1048576);if(s>o){const e=`${t} Sub package size ${s}MB, must not exceed ${o/1048576}MB`;throw y.error(e),new Error(e)}y.info(`${t} Sub package size ${s}MB, check successfully!`)}({entryDir:t,subPkgName:o.name,limit:r})}):y.info("subpackages is empty"),y.info("check subpackages in game.json successfully")}exports.pack=async function({source_dir:t,output_dir:o,enable_check:r=!1,enable_dev:i=!1}){let s=Date.now();y.init(o),y.info(`TTMG_PACK_VERSION: ${process.env.TTMG_COMPILE_VERSION}`),y.info(`pack start, startTime:${s}`);try{r&&await async function({entryDir:e,context:n}){y.info("开始校验项目"),E(e,n),D(e,n),F(e,n),y.info("校验项目完成")}({entryDir:t,context:{projectSizeLimit:209715200,subpackageSizeLimit:31457280,mainPackageSizeLimit:209715200}}),await M({gameEntry:t,gameOutput:o}),i&&function(t){y.info("mergePkgs start");const o=e.join(t,u);let r;try{r=JSON.parse(n.readFileSync(o,"utf-8"))}catch(e){return void y.error(`读取配置文件失败: ${o}, err: ${e.message}`)}const i=r.packages;if(i&&"object"==typeof i){for(const o of Object.keys(i)){const r=e.join(t,o);if(!n.existsSync(r)){y.warn(`package 目录不存在: ${r}`);continue}const i=n.readdirSync(r);for(const o of i){const i=e.join(r,o),s=e.join(t,o);try{const e=n.statSync(i);if(e.isFile())n.copyFileSync(i,s);else if(e.isDirectory())n.cpSync(i,s,{recursive:!0});else if(e.isSymbolicLink()){const t=n.readlinkSync(i);n.existsSync(s)&&n.rmSync(s,{force:!0}),n.symlinkSync(t,s,e.isDirectory()?"dir":"file")}y.info(`合并文件/目录: ${i} -> ${s}`)}catch(e){y.error(`处理文件失败: ${i}, err: ${e.message}`)}}try{n.rmSync(r,{recursive:!0,force:!0}),y.info(`已删除 package 目录: ${r}`)}catch(e){y.error(`删除 package 目录失败: ${r}, err: ${e.message}`)}}y.info("mergePkgs 完成")}else y.error("配置文件中 packages 字段无效, 请检查配置")}(o)}catch(e){y.error(`pack error:${e.message}`)}y.info(`pack end:${Date.now()-s}ms`)};
|
|
1
|
+
"use strict";var e=require("path"),n=require("fs"),t=require("winston");require("crypto"),require("zlib");var o=require("acorn"),r=require("glob"),i=require("magic-string");function s(e){var n=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),n.default=e,Object.freeze(n)}var c=s(e),a=s(n);const u="packageConfig.json",l="game.json",f="__GAME__",m=".txt",p="subpackages";function g(e){n.existsSync(e)||n.mkdirSync(e,{recursive:!0})}const y=new class{constructor(){this.logger=null}init(n){this.logger=t.createLogger({level:"info",format:t.format.combine(t.format.timestamp(),t.format.json()),transports:[new t.transports.File({filename:e.join(n,"pack.log")}),new t.transports.Console]})}info(e){this.logger.info(e)}error(e){this.logger.error(e)}warn(e){this.logger.warn(e)}debug(e){this.logger.debug(e)}setOutput(e){this.output=e}};function d(t){if(!n.existsSync(t))return!1;if(!n.statSync(t).isDirectory())return!1;let o=!0;const r=n.readdirSync(t);for(const i of r){const r=e.join(t,i);if(n.statSync(r).isDirectory()){d(r)||(o=!1)}else o=!1}return!!o&&(n.rmSync(t,{recursive:!0}),!0)}function h(t,o=[]){let r=0;if(!n.existsSync(t))return 0;const i=n.readdirSync(t,{withFileTypes:!0});for(const s of i){const i=e.join(t,s.name);s.isDirectory()?o.includes(s.name)||(r+=h(i,o)):s.isFile()&&(r+=n.statSync(i).size)}return r}const k=["node_modules","__MACOSX"],j=[".DS_Store","Thumbs.db"];async function S(t,o){y.info("开始基于源代码中的 game.json 生成 packageConfig.json");const r=e.join(t,l),i=JSON.parse(n.readFileSync(r,"utf-8")),s={};s[f]={url:"",md5:"",root:"",main:"game.js",output:`${f}${m}`},function(e){if(!e||0===e.length)return[];function n(e){return String(e).replace(/^\/+|\/+$/g,"")}function t(e){return String(e).trim().replace(/^\/+/,"")}function o(e){return e.endsWith("/")||!/\.[a-zA-Z0-9]+$/.test(e)}return e.map(e=>{const r=n(e.name);let i=t(e.root);const s=i.indexOf(r);return i=-1!==s?i.slice(s):r+(o(i)?"/game.js":"/"+i),o(i)&&(i=i.replace(/\/+$/,"")+"/game.js"),{main:i,root:r}})}(i.subpackages).forEach(e=>{s[e.root]={url:"",md5:"",root:`${p}/${e.root}`,main:`${p}/${e.main}`,output:`${e.root}${m}`}});const c={packages:s};return Object.keys(s).forEach(o=>{const r=e.join(t,s[o].main);if(!n.existsSync(r))throw y.error(`开发者源代码包中的子包 ${o} 中的 main 文件 ${s[o].main} 不存在`),new Error(`开发者源代码包中的子包 ${o} 中的 main 文件 ${s[o].main} 不存在`)}),n.existsSync(o)&&n.rmSync(o,{recursive:!0}),n.mkdirSync(o),n.writeFileSync(e.join(o,u),JSON.stringify(c,null,2)),y.info("基于源代码中的 game.json 生成 packageConfig.json 成功"),c}function b(e){const n=[];return Object.values(e).forEach(e=>{Object.values(e).forEach(e=>{n.push(...e)})}),n}function $(t,o=[".js",".ts",".jsx",".tsx"],r=[]){let i=[];if(!n.existsSync(t))return i;const s=n.readdirSync(t,{withFileTypes:!0});for(const n of s){const s=e.join(t,n.name);if(n.isDirectory()){if(r.includes(n.name))continue;i=i.concat($(s,o,[]))}else o.some(e=>n.name.endsWith(e))&&i.push(s)}return i}function w(t,i){const s=function(t){return n.readdirSync(t).filter(o=>{const r=e.join(t,o);return n.statSync(r).isDirectory()&&!["node_modules","dist","build","output"].includes(o)}).map(e=>e+"/")}(t),c=r.sync("**/*.js",{cwd:t,ignore:["node_modules/**","dist/**","build/**","output/**"]}),a=[];c.forEach(r=>{const i=e.join(t,r),c=n.readFileSync(i,"utf-8");let u;try{u=o.parse(c,{ecmaVersion:"latest",sourceType:"module"})}catch(e){return}v(u,o=>{if("CallExpression"===o.type&&"Identifier"===o.callee.type&&("require"===o.callee.name||"requireAsync"===o.callee.name)&&o.arguments.length>0&&"Literal"===o.arguments[0].type){const r=o.arguments[0].value;let c=null;if(r.startsWith("."))c=e.resolve(e.dirname(i),r);else if(r.startsWith("/"))c=e.resolve(t,"."+r);else for(const n of s)if(r.startsWith(n)){c=e.resolve(t,r);break}c&&!function(e){if(n.existsSync(e)&&n.statSync(e).isFile())return!0;const t=[".js",".ts",".jsx",".tsx"];for(const o of t)if(n.existsSync(e+o)&&n.statSync(e+o).isFile())return!0;return!1}(c)&&(c=null),a.push({file:e.relative(t,i),callee:o.callee.name,requirePath:r,resolvedPath:c?e.relative(t,c):""})}})});const u=a.map(e=>{let n="";Object.keys(i).forEach(t=>{e.resolvedPath&&e.resolvedPath.startsWith(i[t].root)&&(n=t)});let t="";return Object.keys(i).forEach(n=>{e.file.startsWith(i[n].root)&&(t=n)}),Object.assign(Object.assign({},e),{curModule:t,depModule:n})}),l=[".js",".ts",".jsx",".tsx"];return u.reduce((e,n)=>{return e[n.curModule]||(e[n.curModule]={}),n.curModule===n.depModule||n.resolvedPath&&(t=n.resolvedPath,l.some(e=>t.endsWith(e)))&&(e[n.curModule]=Object.assign(Object.assign({},e[n.curModule]),{[n.resolvedPath]:n.depModule})),e;var t},{})}function v(e,n){n(e);for(let t in e)if(e.hasOwnProperty(t)){const o=e[t];Array.isArray(o)?o.forEach(e=>e&&"string"==typeof e.type&&v(e,n)):o&&"string"==typeof o.type&&v(o,n)}}function x({gameEntry:t,gameOutput:o,pkgName:r,allDeps:s,allMaps:c,pkgConfig:a,destRoot:u}){let l=Date.now();y.info(`pack start,startTime:${l}`);const f=c[r],m={main:a.main,deps:s[r]||{},map:c[r]};g(u),n.writeFileSync(e.join(u,"moduleConfig.json"),JSON.stringify(m));for(const o in f){const s=f[o];if(!Array.isArray(s)||0===s.length)continue;const c=new i.Bundle({separator:"\n"});for(const r of s){const s=e.join(t,r);if(n.existsSync(s)&&(e.basename(s)!==o&&/\.js$/i.test(r))){const e=n.readFileSync(s,"utf-8"),t=r.replace(/\\/g,"/"),o=`define("game:${t}", ["require", "requireAsync", "module", "exports", "sandboxGlobal"], function(require, requireAsync, module, exports, sandboxGlobal){\nwith(sandboxGlobal){\n`,a="\n}\n});\n",u=new i(e,{filename:t}),l=new i(o).appendLeft(o.length,u.toString()).append(a);c.addSource({content:l,filename:t})}}const a=e.join(u,e.basename(o));n.writeFileSync(a,c.toString()+`\n//# sourceMappingURL=${o}.map`);const l=c.generateMap({hires:!0,includeContent:!0,file:o});n.writeFileSync(a+".map",l.toString()),y.info(`pack end,packName:${r}`)}}function O({pkgRoot:t,destRoot:o,packedFiles:r,gameEntry:i,gameOutput:s,skipDirs:c=[],isRoot:a=!0}){if(!n.existsSync(t))return;const u=n.readdirSync(t,{withFileTypes:!0});for(const l of u){const u=e.join(t,l.name),f=e.join(o,l.name);a&&l.isDirectory()&&c.includes(l.name)||(l.isDirectory()?O({pkgRoot:u,destRoot:f,gameOutput:s,packedFiles:r,gameEntry:i,skipDirs:c,isRoot:!1}):(g(e.dirname(f)),r.includes(e.relative(i,u))||n.copyFileSync(u,f)))}}async function M({gameEntry:t,gameOutput:o}){let r=Date.now();!function(t){!function t(o){let r;try{r=n.readdirSync(o)}catch(e){return void console.warn(`无法访问目录: ${o}`,e)}r.forEach(r=>{const i=e.join(o,r);try{const e=n.statSync(i);e.isDirectory()?k.includes(r)?(n.rmSync(i,{recursive:!0,force:!0}),console.log(`已删除无用目录: ${i}`)):t(i):e.isFile()&&j.includes(r)&&(n.rmSync(i,{force:!0}),console.log(`已删除无用文件: ${i}`))}catch(e){console.warn(`无法处理: ${i}`,e)}})}(t)}(t),y.info(`pack start,startTime:${r}`);const{packages:i}=await S(t,o),s=w(t,i),c=function(n,t){y.info("开始基于游戏源代码收集分包中的 JS 文件");const o={},r=Object.values(t).filter(e=>e.root&&""!==e.root).map(n=>n.root.split(e.sep)[0]).filter(Boolean),i=Array.from(new Set(r));for(const r in t){const s=t[r];let c,a;"__GAME__"===r?(a=$(n,[".js",".ts",".jsx",".tsx"],i),c=n):(c=e.join(n,s.root),a=$(c));const u=[];a.forEach(t=>{u.push(e.relative(n,t).replace(/\\/g,"/"))});const l=t[r].root;o[r]={[l?`${l}/game.pack.js`:"game.pack.js"]:u}}return y.info("基于游戏源代码收集分包中的 JS 文件完成"),o}(t,i);for(const n in c){y.info(`开始基于游戏源代码打包,包名:${n}`);let r=Date.now();const a=i[n],u=e.join(t,a.root),l=e.join(o,n,a.root);x({gameEntry:t,gameOutput:o,allDeps:s,allMaps:c,pkgName:n,pkgConfig:a,destRoot:l}),O({gameEntry:t,gameOutput:o,pkgRoot:u,destRoot:l,packedFiles:b(c),skipDirs:[p]});d(e.join(o,n)),y.info(`基于游戏源代码打包分包完成,包名:${n}`),y.info(`基于游戏源代码打包分包耗时,包名:${n},耗时:${Date.now()-r}ms`)}return y.info(`pack end,duration:${Date.now()-r}ms`),{}}function E(t,o){y.info("start check project");const{projectSizeLimit:r}=o;!function(t){y.info("start check config");const o=e.join(t,l);if(!n.existsSync(o)){const e="can not find game.json in game source code, please check it";throw y.error(e),new Error(e)}y.info("check config successfully")}(t),function(e,n){y.info("start check project size");const t=h(e,[]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Game size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Game size ${o}MB, check successfully!`),y.info("Game size check successfully!")}(t,r),y.info("check project successfully")}function D(e,n){y.info("start check main package");const{mainPackageSizeLimit:t}=n;y.info("check game.js");const o=c.join(e,"game.js");if(!a.existsSync(o)){const e="game.js must exist in main package!";throw y.error(e),new Error(e)}y.info("check game.js successfully"),function({entryDir:e,limit:n}){y.info("start check main package size");const t=h(e,["subpackages"]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Main package size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Main package size ${o}MB, check successfully!`)}({entryDir:e,limit:t}),y.info("check main package successfully")}function F(t,o){const{subpackageSizeLimit:r}=o;y.info("start check subpackages in game.json");const i=e.join(t,l),s=JSON.parse(n.readFileSync(i,"utf-8")).subpackages||[];(null==s?void 0:s.length)?s.forEach(o=>{if(!o.name||!o.root){const e="The subpackages configuration in game.json is invalid: the root or name field in one or more subpackages is empty. Please ensure that all subpackages have non-empty root and name values.";throw y.error(e),new Error(e)}const i=e.join(t,o.root);if(!n.existsSync(i)){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${o.name} entry dir, please check it`;throw y.error(e),new Error(e)}const s=o.root;if(!n.existsSync(e.join(t,s))){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${o.name} root, please check it`;throw y.error(e),new Error(e)}!function({entryDir:n,subPkgName:t,limit:o}){const r=e.join(n,"subpackages",t),i=h(r,[]),s=Math.round(i/1048576);if(s>o){const e=`${t} Sub package size ${s}MB, must not exceed ${o/1048576}MB`;throw y.error(e),new Error(e)}y.info(`${t} Sub package size ${s}MB, check successfully!`)}({entryDir:t,subPkgName:o.name,limit:r})}):y.info("subpackages is empty"),y.info("check subpackages in game.json successfully")}exports.preparePkgs=async function({entryDir:t,outputDir:o,enableCheck:r=!1,enableDev:i=!1}){let s=Date.now();y.init(o),y.info(`TTMG_PACK_VERSION: ${process.env.TTMG_COMPILE_VERSION}`),y.info(`pack start, startTime:${s}`);try{r&&await async function({entryDir:e,context:n}){y.info("开始校验项目"),E(e,n),D(e,n),F(e,n),y.info("校验项目完成")}({entryDir:t,context:{projectSizeLimit:209715200,subpackageSizeLimit:31457280,mainPackageSizeLimit:209715200}}),await M({gameEntry:t,gameOutput:o}),i&&function(t){y.info("mergePkgs start");const o=e.join(t,u);let r;try{r=JSON.parse(n.readFileSync(o,"utf-8"))}catch(e){return void y.error(`读取配置文件失败: ${o}, err: ${e.message}`)}const i=r.packages;if(i&&"object"==typeof i){for(const o of Object.keys(i)){const r=e.join(t,o);if(!n.existsSync(r)){y.warn(`package 目录不存在: ${r}`);continue}const i=n.readdirSync(r);for(const o of i){const i=e.join(r,o),s=e.join(t,o);try{const e=n.statSync(i);if(e.isFile())n.copyFileSync(i,s);else if(e.isDirectory())n.cpSync(i,s,{recursive:!0});else if(e.isSymbolicLink()){const t=n.readlinkSync(i);n.existsSync(s)&&n.rmSync(s,{force:!0}),n.symlinkSync(t,s,e.isDirectory()?"dir":"file")}y.info(`合并文件/目录: ${i} -> ${s}`)}catch(e){y.error(`处理文件失败: ${i}, err: ${e.message}`)}}try{n.rmSync(r,{recursive:!0,force:!0}),y.info(`已删除 package 目录: ${r}`)}catch(e){y.error(`删除 package 目录失败: ${r}, err: ${e.message}`)}}y.info("mergePkgs 完成")}else y.error("配置文件中 packages 字段无效, 请检查配置")}(o)}catch(e){y.error(`pack error:${e.message}`)}y.info(`pack end:${Date.now()-s}ms`)};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/constants/index.ts","../../src/utils/ensureDirSync.ts","../../src/utils/logger.ts","../../src/utils/removeEmptyDir.ts","../../src/utils/getDirSizeSync.ts","../../src/utils/removeSystemUseless.ts","../../src/libs/makePkgs/setup.ts","../../src/libs/makePkgs/collectMaps.ts","../../src/libs/makePkgs/collectDeps.ts","../../src/libs/makePkgs/pack.ts","../../src/libs/makePkgs/partition.ts","../../src/libs/makePkgs/index.ts","../../src/libs/checkPkgs/checkProject.ts","../../src/libs/checkPkgs/checkMainpackage.ts","../../src/libs/checkPkgs/checkSubpackages.ts","../../src/index.ts","../../src/libs/checkPkgs/index.ts","../../src/libs/mergePkgs/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GAME_PACK_CONFIG_FILE_NAME","GAME_ORIGIN_CONFIG_FILE_NAME","GAME_MAIN_PACKAGE_NAME","STTPKG_EXT","SUBPACKAGES_DIR_NAME","ensureDirSync","dir","fs","existsSync","mkdirSync","recursive","logger","constructor","this","init","output","winston","createLogger","level","format","combine","timestamp","json","transports","File","filename","path","join","Console","info","msg","error","warn","debug","setOutput","removeEmptyDir","statSync","isDirectory","isEmpty","files","readdirSync","file","fullPath","rmSync","getDirSizeSync","filterDirs","totalSize","entries","withFileTypes","entry","name","includes","isFile","size","uselessDirs","uselessFiles","async","setup","entryDir","outputDir","gameJsonPath","gameJson","JSON","parse","readFileSync","packages","url","md5","root","main","configs","length","normalizeName","String","replace","normalizeRoot","trim","str","endsWith","test","map","config","idx","indexOf","slice","transformSubPackages","subpackages","forEach","sub","result","Object","keys","pkg","pkgPath","Error","writeFileSync","stringify","flattenMaps","allMaps","list","values","arr","push","collectAllJsFiles","exts","excludeDirs","concat","some","ext","collectDeps","gameEntry","rootPrefixes","filter","getRootPrefixes","glob","sync","cwd","ignore","requireCalls","code","ast","acorn","ecmaVersion","sourceType","e","walkAst","node","type","callee","arguments","requirePath","value","resolvedPath","startsWith","resolve","dirname","prefix","filePath","fileExistsWithExtensions","relative","newRequireCalls","i","depModule","curModule","assign","reduce","acc","cur","f","cb","key","hasOwnProperty","child","Array","isArray","c","pack","gameOutput","pkgName","allDeps","pkgConfig","destRoot","startTime","Date","now","packMap","moduleConfig","deps","packFileName","relPaths","Bundle","separator","relPath","absPath","basename","fileId","defineHeader","defineFooter","fileMagic","MagicString","wrapped","appendLeft","toString","append","addSource","content","outFile","generateMap","hires","includeContent","partition","pkgRoot","packedFiles","skipDirs","isRoot","srcPath","destPath","copyFileSync","makePkgs","removeUselessDirs","err","console","stat","force","log","removeSystemUseless","subRoots","split","sep","Boolean","uniqueSubRoots","from","Set","srcRoot","jsFiles","packNameRoot","collectMaps","checkProject","context","projectSizeLimit","errMsg","checkConfig","limit","gameSize","gameSizeMB","Math","round","limitMB","checkProjectSize","checkMainPackage","mainPackageSizeLimit","gameJsPath","mainPkgSize","mainPkgSizeMB","checkMainPackageSize","checkSubpackages","subpackageSizeLimit","subpackageEntryDir","subpackageRoot","subPkgName","subPkgDir","subPkgSize","sizeMB","checkSubPackageSize","source_dir","output_dir","enable_check","enableCheck","enable_dev","enableDev","process","env","TTMG_COMPILE_VERSION","checkPkgs","gamePackConfigPath","gamePackConfig","message","pkgDir","cpSync","isSymbolicLink","linkTarget","readlinkSync","symlinkSync","mergePkgs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/constants/index.ts","../../src/utils/ensureDirSync.ts","../../src/utils/logger.ts","../../src/utils/removeEmptyDir.ts","../../src/utils/getDirSizeSync.ts","../../src/utils/removeSystemUseless.ts","../../src/libs/makePkgs/setup.ts","../../src/libs/makePkgs/collectMaps.ts","../../src/libs/makePkgs/collectDeps.ts","../../src/libs/makePkgs/pack.ts","../../src/libs/makePkgs/partition.ts","../../src/libs/makePkgs/index.ts","../../src/libs/checkPkgs/checkProject.ts","../../src/libs/checkPkgs/checkMainpackage.ts","../../src/libs/checkPkgs/checkSubpackages.ts","../../src/index.ts","../../src/libs/checkPkgs/index.ts","../../src/libs/mergePkgs/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GAME_PACK_CONFIG_FILE_NAME","GAME_ORIGIN_CONFIG_FILE_NAME","GAME_MAIN_PACKAGE_NAME","STTPKG_EXT","SUBPACKAGES_DIR_NAME","ensureDirSync","dir","fs","existsSync","mkdirSync","recursive","logger","constructor","this","init","output","winston","createLogger","level","format","combine","timestamp","json","transports","File","filename","path","join","Console","info","msg","error","warn","debug","setOutput","removeEmptyDir","statSync","isDirectory","isEmpty","files","readdirSync","file","fullPath","rmSync","getDirSizeSync","filterDirs","totalSize","entries","withFileTypes","entry","name","includes","isFile","size","uselessDirs","uselessFiles","async","setup","entryDir","outputDir","gameJsonPath","gameJson","JSON","parse","readFileSync","packages","url","md5","root","main","configs","length","normalizeName","String","replace","normalizeRoot","trim","str","endsWith","test","map","config","idx","indexOf","slice","transformSubPackages","subpackages","forEach","sub","result","Object","keys","pkg","pkgPath","Error","writeFileSync","stringify","flattenMaps","allMaps","list","values","arr","push","collectAllJsFiles","exts","excludeDirs","concat","some","ext","collectDeps","gameEntry","rootPrefixes","filter","getRootPrefixes","glob","sync","cwd","ignore","requireCalls","code","ast","acorn","ecmaVersion","sourceType","e","walkAst","node","type","callee","arguments","requirePath","value","resolvedPath","startsWith","resolve","dirname","prefix","filePath","fileExistsWithExtensions","relative","newRequireCalls","i","depModule","curModule","assign","reduce","acc","cur","f","cb","key","hasOwnProperty","child","Array","isArray","c","pack","gameOutput","pkgName","allDeps","pkgConfig","destRoot","startTime","Date","now","packMap","moduleConfig","deps","packFileName","relPaths","Bundle","separator","relPath","absPath","basename","fileId","defineHeader","defineFooter","fileMagic","MagicString","wrapped","appendLeft","toString","append","addSource","content","outFile","generateMap","hires","includeContent","partition","pkgRoot","packedFiles","skipDirs","isRoot","srcPath","destPath","copyFileSync","makePkgs","removeUselessDirs","err","console","stat","force","log","removeSystemUseless","subRoots","split","sep","Boolean","uniqueSubRoots","from","Set","srcRoot","jsFiles","packNameRoot","collectMaps","checkProject","context","projectSizeLimit","errMsg","checkConfig","limit","gameSize","gameSizeMB","Math","round","limitMB","checkProjectSize","checkMainPackage","mainPackageSizeLimit","gameJsPath","mainPkgSize","mainPkgSizeMB","checkMainPackageSize","checkSubpackages","subpackageSizeLimit","subpackageEntryDir","subpackageRoot","subPkgName","subPkgDir","subPkgSize","sizeMB","checkSubPackageSize","enableCheck","enableDev","process","env","TTMG_COMPILE_VERSION","checkPkgs","gamePackConfigPath","gamePackConfig","message","pkgDir","cpSync","isSymbolicLink","linkTarget","readlinkSync","symlinkSync","mergePkgs"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"path";import n from"path";import*as t from"fs";import o from"fs";import r from"winston";import"crypto";import"zlib";import s from"acorn";import i from"glob";import c,{Bundle as a}from"magic-string";const u="packageConfig.json",l="game.json",f="__GAME__",m=".txt",p="subpackages";function g(e){o.existsSync(e)||o.mkdirSync(e,{recursive:!0})}const y=new class{constructor(){this.logger=null}init(e){this.logger=r.createLogger({level:"info",format:r.format.combine(r.format.timestamp(),r.format.json()),transports:[new r.transports.File({filename:n.join(e,"pack.log")}),new r.transports.Console]})}info(e){this.logger.info(e)}error(e){this.logger.error(e)}warn(e){this.logger.warn(e)}debug(e){this.logger.debug(e)}setOutput(e){this.output=e}};function d(e){if(!o.existsSync(e))return!1;if(!o.statSync(e).isDirectory())return!1;let t=!0;const r=o.readdirSync(e);for(const s of r){const r=n.join(e,s);if(o.statSync(r).isDirectory()){d(r)||(t=!1)}else t=!1}return!!t&&(o.rmSync(e,{recursive:!0}),!0)}function h(e,t=[]){let r=0;if(!o.existsSync(e))return 0;const s=o.readdirSync(e,{withFileTypes:!0});for(const i of s){const s=n.join(e,i.name);i.isDirectory()?t.includes(i.name)||(r+=h(s,t)):i.isFile()&&(r+=o.statSync(s).size)}return r}const k=["node_modules","__MACOSX"],S=[".DS_Store","Thumbs.db"];async function j(e,t){y.info("开始基于源代码中的 game.json 生成 packageConfig.json");const r=n.join(e,l),s=JSON.parse(o.readFileSync(r,"utf-8")),i={};i[f]={url:"",md5:"",root:"",main:"game.js",output:`${f}${m}`},function(e){if(!e||0===e.length)return[];function n(e){return String(e).replace(/^\/+|\/+$/g,"")}function t(e){return String(e).trim().replace(/^\/+/,"")}function o(e){return e.endsWith("/")||!/\.[a-zA-Z0-9]+$/.test(e)}return e.map(e=>{const r=n(e.name);let s=t(e.root);const i=s.indexOf(r);return s=-1!==i?s.slice(i):r+(o(s)?"/game.js":"/"+s),o(s)&&(s=s.replace(/\/+$/,"")+"/game.js"),{main:s,root:r}})}(s.subpackages).forEach(e=>{i[e.root]={url:"",md5:"",root:`${p}/${e.root}`,main:`${p}/${e.main}`,output:`${e.root}${m}`}});const c={packages:i};return Object.keys(i).forEach(t=>{const r=n.join(e,i[t].main);if(!o.existsSync(r))throw y.error(`开发者源代码包中的子包 ${t} 中的 main 文件 ${i[t].main} 不存在`),new Error(`开发者源代码包中的子包 ${t} 中的 main 文件 ${i[t].main} 不存在`)}),o.existsSync(t)&&o.rmSync(t,{recursive:!0}),o.mkdirSync(t),o.writeFileSync(n.join(t,u),JSON.stringify(c,null,2)),y.info("基于源代码中的 game.json 生成 packageConfig.json 成功"),c}function $(e){const n=[];return Object.values(e).forEach(e=>{Object.values(e).forEach(e=>{n.push(...e)})}),n}function b(e,t=[".js",".ts",".jsx",".tsx"],r=[]){let s=[];if(!o.existsSync(e))return s;const i=o.readdirSync(e,{withFileTypes:!0});for(const o of i){const i=n.join(e,o.name);if(o.isDirectory()){if(r.includes(o.name))continue;s=s.concat(b(i,t,[]))}else t.some(e=>o.name.endsWith(e))&&s.push(i)}return s}function w(e,t){const r=function(e){return o.readdirSync(e).filter(t=>{const r=n.join(e,t);return o.statSync(r).isDirectory()&&!["node_modules","dist","build","output"].includes(t)}).map(e=>e+"/")}(e),c=i.sync("**/*.js",{cwd:e,ignore:["node_modules/**","dist/**","build/**","output/**"]}),a=[];c.forEach(t=>{const i=n.join(e,t),c=o.readFileSync(i,"utf-8");let u;try{u=s.parse(c,{ecmaVersion:"latest",sourceType:"module"})}catch(e){return}x(u,t=>{if("CallExpression"===t.type&&"Identifier"===t.callee.type&&("require"===t.callee.name||"requireAsync"===t.callee.name)&&t.arguments.length>0&&"Literal"===t.arguments[0].type){const s=t.arguments[0].value;let c=null;if(s.startsWith("."))c=n.resolve(n.dirname(i),s);else if(s.startsWith("/"))c=n.resolve(e,"."+s);else for(const t of r)if(s.startsWith(t)){c=n.resolve(e,s);break}c&&!function(e){if(o.existsSync(e)&&o.statSync(e).isFile())return!0;const n=[".js",".ts",".jsx",".tsx"];for(const t of n)if(o.existsSync(e+t)&&o.statSync(e+t).isFile())return!0;return!1}(c)&&(c=null),a.push({file:n.relative(e,i),callee:t.callee.name,requirePath:s,resolvedPath:c?n.relative(e,c):""})}})});const u=a.map(e=>{let n="";Object.keys(t).forEach(o=>{e.resolvedPath&&e.resolvedPath.startsWith(t[o].root)&&(n=o)});let o="";return Object.keys(t).forEach(n=>{e.file.startsWith(t[n].root)&&(o=n)}),Object.assign(Object.assign({},e),{curModule:o,depModule:n})}),l=[".js",".ts",".jsx",".tsx"];return u.reduce((e,n)=>{return e[n.curModule]||(e[n.curModule]={}),n.curModule===n.depModule||n.resolvedPath&&(t=n.resolvedPath,l.some(e=>t.endsWith(e)))&&(e[n.curModule]=Object.assign(Object.assign({},e[n.curModule]),{[n.resolvedPath]:n.depModule})),e;var t},{})}function x(e,n){n(e);for(let t in e)if(e.hasOwnProperty(t)){const o=e[t];Array.isArray(o)?o.forEach(e=>e&&"string"==typeof e.type&&x(e,n)):o&&"string"==typeof o.type&&x(o,n)}}function v({gameEntry:e,gameOutput:t,pkgName:r,allDeps:s,allMaps:i,pkgConfig:u,destRoot:l}){let f=Date.now();y.info(`pack start,startTime:${f}`);const m=i[r],p={main:u.main,deps:s[r]||{},map:i[r]};g(l),o.writeFileSync(n.join(l,"moduleConfig.json"),JSON.stringify(p));for(const t in m){const s=m[t];if(!Array.isArray(s)||0===s.length)continue;const i=new a({separator:"\n"});for(const r of s){const s=n.join(e,r);if(o.existsSync(s)&&(n.basename(s)!==t&&/\.js$/i.test(r))){const e=o.readFileSync(s,"utf-8"),n=r.replace(/\\/g,"/"),t=`define("game:${n}", ["require", "requireAsync", "module", "exports", "sandboxGlobal"], function(require, requireAsync, module, exports, sandboxGlobal){\nwith(sandboxGlobal){\n`,a="\n}\n});\n",u=new c(e,{filename:n}),l=new c(t).appendLeft(t.length,u.toString()).append(a);i.addSource({content:l,filename:n})}}const u=n.join(l,n.basename(t));o.writeFileSync(u,i.toString()+`\n//# sourceMappingURL=${t}.map`);const f=i.generateMap({hires:!0,includeContent:!0,file:t});o.writeFileSync(u+".map",f.toString()),y.info(`pack end,packName:${r}`)}}function M({pkgRoot:e,destRoot:t,packedFiles:r,gameEntry:s,gameOutput:i,skipDirs:c=[],isRoot:a=!0}){if(!o.existsSync(e))return;const u=o.readdirSync(e,{withFileTypes:!0});for(const l of u){const u=n.join(e,l.name),f=n.join(t,l.name);a&&l.isDirectory()&&c.includes(l.name)||(l.isDirectory()?M({pkgRoot:u,destRoot:f,gameOutput:i,packedFiles:r,gameEntry:s,skipDirs:c,isRoot:!1}):(g(n.dirname(f)),r.includes(n.relative(s,u))||o.copyFileSync(u,f)))}}async function E({gameEntry:e,gameOutput:t}){let r=Date.now();!function(e){!function e(t){let r;try{r=o.readdirSync(t)}catch(e){return void console.warn(`无法访问目录: ${t}`,e)}r.forEach(r=>{const s=n.join(t,r);try{const n=o.statSync(s);n.isDirectory()?k.includes(r)?(o.rmSync(s,{recursive:!0,force:!0}),console.log(`已删除无用目录: ${s}`)):e(s):n.isFile()&&S.includes(r)&&(o.rmSync(s,{force:!0}),console.log(`已删除无用文件: ${s}`))}catch(e){console.warn(`无法处理: ${s}`,e)}})}(e)}(e),y.info(`pack start,startTime:${r}`);const{packages:s}=await j(e,t),i=w(e,s),c=function(e,t){y.info("开始基于游戏源代码收集分包中的 JS 文件");const o={},r=Object.values(t).filter(e=>e.root&&""!==e.root).map(e=>e.root.split(n.sep)[0]).filter(Boolean),s=Array.from(new Set(r));for(const r in t){const i=t[r];let c,a;"__GAME__"===r?(a=b(e,[".js",".ts",".jsx",".tsx"],s),c=e):(c=n.join(e,i.root),a=b(c));const u=[];a.forEach(t=>{u.push(n.relative(e,t).replace(/\\/g,"/"))});const l=t[r].root;o[r]={[l?`${l}/game.pack.js`:"game.pack.js"]:u}}return y.info("基于游戏源代码收集分包中的 JS 文件完成"),o}(e,s);for(const o in c){y.info(`开始基于游戏源代码打包,包名:${o}`);let r=Date.now();const a=s[o],u=n.join(e,a.root),l=n.join(t,o,a.root);v({gameEntry:e,gameOutput:t,allDeps:i,allMaps:c,pkgName:o,pkgConfig:a,destRoot:l}),M({gameEntry:e,gameOutput:t,pkgRoot:u,destRoot:l,packedFiles:$(c),skipDirs:[p]});d(n.join(t,o)),y.info(`基于游戏源代码打包分包完成,包名:${o}`),y.info(`基于游戏源代码打包分包耗时,包名:${o},耗时:${Date.now()-r}ms`)}return y.info(`pack end,duration:${Date.now()-r}ms`),{}}function O(e,t){y.info("start check project");const{projectSizeLimit:r}=t;!function(e){y.info("start check config");const t=n.join(e,l);if(!o.existsSync(t)){const e="can not find game.json in game source code, please check it";throw y.error(e),new Error(e)}y.info("check config successfully")}(e),function(e,n){y.info("start check project size");const t=h(e,[]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Game size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Game size ${o}MB, check successfully!`),y.info("Game size check successfully!")}(e,r),y.info("check project successfully")}function D(n,o){y.info("start check main package");const{mainPackageSizeLimit:r}=o;y.info("check game.js");const s=e.join(n,"game.js");if(!t.existsSync(s)){const e="game.js must exist in main package!";throw y.error(e),new Error(e)}y.info("check game.js successfully"),function({entryDir:e,limit:n}){y.info("start check main package size");const t=h(e,["subpackages"]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Main package size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Main package size ${o}MB, check successfully!`)}({entryDir:n,limit:r}),y.info("check main package successfully")}function F(e,t){const{subpackageSizeLimit:r}=t;y.info("start check subpackages in game.json");const s=n.join(e,l),i=JSON.parse(o.readFileSync(s,"utf-8")).subpackages||[];(null==i?void 0:i.length)?i.forEach(t=>{if(!t.name||!t.root){const e="The subpackages configuration in game.json is invalid: the root or name field in one or more subpackages is empty. Please ensure that all subpackages have non-empty root and name values.";throw y.error(e),new Error(e)}const s=n.join(e,t.root);if(!o.existsSync(s)){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${t.name} entry dir, please check it`;throw y.error(e),new Error(e)}const i=t.root;if(!o.existsSync(n.join(e,i))){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${t.name} root, please check it`;throw y.error(e),new Error(e)}!function({entryDir:e,subPkgName:t,limit:o}){const r=n.join(e,"subpackages",t),s=h(r,[]),i=Math.round(s/1048576);if(i>o){const e=`${t} Sub package size ${i}MB, must not exceed ${o/1048576}MB`;throw y.error(e),new Error(e)}y.info(`${t} Sub package size ${i}MB, check successfully!`)}({entryDir:e,subPkgName:t.name,limit:r})}):y.info("subpackages is empty"),y.info("check subpackages in game.json successfully")}async function _({source_dir:e,output_dir:t,enable_check:r=!1,enable_dev:s=!1}){let i=Date.now();y.init(t),y.info(`TTMG_PACK_VERSION: ${process.env.TTMG_COMPILE_VERSION}`),y.info(`pack start, startTime:${i}`);try{r&&await async function({entryDir:e,context:n}){y.info("开始校验项目"),O(e,n),D(e,n),F(e,n),y.info("校验项目完成")}({entryDir:e,context:{projectSizeLimit:209715200,subpackageSizeLimit:31457280,mainPackageSizeLimit:209715200}}),await E({gameEntry:e,gameOutput:t}),s&&function(e){y.info("mergePkgs start");const t=n.join(e,u);let r;try{r=JSON.parse(o.readFileSync(t,"utf-8"))}catch(e){return void y.error(`读取配置文件失败: ${t}, err: ${e.message}`)}const s=r.packages;if(s&&"object"==typeof s){for(const t of Object.keys(s)){const r=n.join(e,t);if(!o.existsSync(r)){y.warn(`package 目录不存在: ${r}`);continue}const s=o.readdirSync(r);for(const t of s){const s=n.join(r,t),i=n.join(e,t);try{const e=o.statSync(s);if(e.isFile())o.copyFileSync(s,i);else if(e.isDirectory())o.cpSync(s,i,{recursive:!0});else if(e.isSymbolicLink()){const n=o.readlinkSync(s);o.existsSync(i)&&o.rmSync(i,{force:!0}),o.symlinkSync(n,i,e.isDirectory()?"dir":"file")}y.info(`合并文件/目录: ${s} -> ${i}`)}catch(e){y.error(`处理文件失败: ${s}, err: ${e.message}`)}}try{o.rmSync(r,{recursive:!0,force:!0}),y.info(`已删除 package 目录: ${r}`)}catch(e){y.error(`删除 package 目录失败: ${r}, err: ${e.message}`)}}y.info("mergePkgs 完成")}else y.error("配置文件中 packages 字段无效, 请检查配置")}(t)}catch(e){y.error(`pack error:${e.message}`)}y.info(`pack end:${Date.now()-i}ms`)}export{_ as pack};
|
|
1
|
+
import*as e from"path";import n from"path";import*as t from"fs";import o from"fs";import r from"winston";import"crypto";import"zlib";import s from"acorn";import i from"glob";import c,{Bundle as a}from"magic-string";const u="packageConfig.json",l="game.json",f="__GAME__",m=".txt",p="subpackages";function g(e){o.existsSync(e)||o.mkdirSync(e,{recursive:!0})}const y=new class{constructor(){this.logger=null}init(e){this.logger=r.createLogger({level:"info",format:r.format.combine(r.format.timestamp(),r.format.json()),transports:[new r.transports.File({filename:n.join(e,"pack.log")}),new r.transports.Console]})}info(e){this.logger.info(e)}error(e){this.logger.error(e)}warn(e){this.logger.warn(e)}debug(e){this.logger.debug(e)}setOutput(e){this.output=e}};function d(e){if(!o.existsSync(e))return!1;if(!o.statSync(e).isDirectory())return!1;let t=!0;const r=o.readdirSync(e);for(const s of r){const r=n.join(e,s);if(o.statSync(r).isDirectory()){d(r)||(t=!1)}else t=!1}return!!t&&(o.rmSync(e,{recursive:!0}),!0)}function h(e,t=[]){let r=0;if(!o.existsSync(e))return 0;const s=o.readdirSync(e,{withFileTypes:!0});for(const i of s){const s=n.join(e,i.name);i.isDirectory()?t.includes(i.name)||(r+=h(s,t)):i.isFile()&&(r+=o.statSync(s).size)}return r}const k=["node_modules","__MACOSX"],S=[".DS_Store","Thumbs.db"];async function j(e,t){y.info("开始基于源代码中的 game.json 生成 packageConfig.json");const r=n.join(e,l),s=JSON.parse(o.readFileSync(r,"utf-8")),i={};i[f]={url:"",md5:"",root:"",main:"game.js",output:`${f}${m}`},function(e){if(!e||0===e.length)return[];function n(e){return String(e).replace(/^\/+|\/+$/g,"")}function t(e){return String(e).trim().replace(/^\/+/,"")}function o(e){return e.endsWith("/")||!/\.[a-zA-Z0-9]+$/.test(e)}return e.map(e=>{const r=n(e.name);let s=t(e.root);const i=s.indexOf(r);return s=-1!==i?s.slice(i):r+(o(s)?"/game.js":"/"+s),o(s)&&(s=s.replace(/\/+$/,"")+"/game.js"),{main:s,root:r}})}(s.subpackages).forEach(e=>{i[e.root]={url:"",md5:"",root:`${p}/${e.root}`,main:`${p}/${e.main}`,output:`${e.root}${m}`}});const c={packages:i};return Object.keys(i).forEach(t=>{const r=n.join(e,i[t].main);if(!o.existsSync(r))throw y.error(`开发者源代码包中的子包 ${t} 中的 main 文件 ${i[t].main} 不存在`),new Error(`开发者源代码包中的子包 ${t} 中的 main 文件 ${i[t].main} 不存在`)}),o.existsSync(t)&&o.rmSync(t,{recursive:!0}),o.mkdirSync(t),o.writeFileSync(n.join(t,u),JSON.stringify(c,null,2)),y.info("基于源代码中的 game.json 生成 packageConfig.json 成功"),c}function $(e){const n=[];return Object.values(e).forEach(e=>{Object.values(e).forEach(e=>{n.push(...e)})}),n}function b(e,t=[".js",".ts",".jsx",".tsx"],r=[]){let s=[];if(!o.existsSync(e))return s;const i=o.readdirSync(e,{withFileTypes:!0});for(const o of i){const i=n.join(e,o.name);if(o.isDirectory()){if(r.includes(o.name))continue;s=s.concat(b(i,t,[]))}else t.some(e=>o.name.endsWith(e))&&s.push(i)}return s}function w(e,t){const r=function(e){return o.readdirSync(e).filter(t=>{const r=n.join(e,t);return o.statSync(r).isDirectory()&&!["node_modules","dist","build","output"].includes(t)}).map(e=>e+"/")}(e),c=i.sync("**/*.js",{cwd:e,ignore:["node_modules/**","dist/**","build/**","output/**"]}),a=[];c.forEach(t=>{const i=n.join(e,t),c=o.readFileSync(i,"utf-8");let u;try{u=s.parse(c,{ecmaVersion:"latest",sourceType:"module"})}catch(e){return}x(u,t=>{if("CallExpression"===t.type&&"Identifier"===t.callee.type&&("require"===t.callee.name||"requireAsync"===t.callee.name)&&t.arguments.length>0&&"Literal"===t.arguments[0].type){const s=t.arguments[0].value;let c=null;if(s.startsWith("."))c=n.resolve(n.dirname(i),s);else if(s.startsWith("/"))c=n.resolve(e,"."+s);else for(const t of r)if(s.startsWith(t)){c=n.resolve(e,s);break}c&&!function(e){if(o.existsSync(e)&&o.statSync(e).isFile())return!0;const n=[".js",".ts",".jsx",".tsx"];for(const t of n)if(o.existsSync(e+t)&&o.statSync(e+t).isFile())return!0;return!1}(c)&&(c=null),a.push({file:n.relative(e,i),callee:t.callee.name,requirePath:s,resolvedPath:c?n.relative(e,c):""})}})});const u=a.map(e=>{let n="";Object.keys(t).forEach(o=>{e.resolvedPath&&e.resolvedPath.startsWith(t[o].root)&&(n=o)});let o="";return Object.keys(t).forEach(n=>{e.file.startsWith(t[n].root)&&(o=n)}),Object.assign(Object.assign({},e),{curModule:o,depModule:n})}),l=[".js",".ts",".jsx",".tsx"];return u.reduce((e,n)=>{return e[n.curModule]||(e[n.curModule]={}),n.curModule===n.depModule||n.resolvedPath&&(t=n.resolvedPath,l.some(e=>t.endsWith(e)))&&(e[n.curModule]=Object.assign(Object.assign({},e[n.curModule]),{[n.resolvedPath]:n.depModule})),e;var t},{})}function x(e,n){n(e);for(let t in e)if(e.hasOwnProperty(t)){const o=e[t];Array.isArray(o)?o.forEach(e=>e&&"string"==typeof e.type&&x(e,n)):o&&"string"==typeof o.type&&x(o,n)}}function v({gameEntry:e,gameOutput:t,pkgName:r,allDeps:s,allMaps:i,pkgConfig:u,destRoot:l}){let f=Date.now();y.info(`pack start,startTime:${f}`);const m=i[r],p={main:u.main,deps:s[r]||{},map:i[r]};g(l),o.writeFileSync(n.join(l,"moduleConfig.json"),JSON.stringify(p));for(const t in m){const s=m[t];if(!Array.isArray(s)||0===s.length)continue;const i=new a({separator:"\n"});for(const r of s){const s=n.join(e,r);if(o.existsSync(s)&&(n.basename(s)!==t&&/\.js$/i.test(r))){const e=o.readFileSync(s,"utf-8"),n=r.replace(/\\/g,"/"),t=`define("game:${n}", ["require", "requireAsync", "module", "exports", "sandboxGlobal"], function(require, requireAsync, module, exports, sandboxGlobal){\nwith(sandboxGlobal){\n`,a="\n}\n});\n",u=new c(e,{filename:n}),l=new c(t).appendLeft(t.length,u.toString()).append(a);i.addSource({content:l,filename:n})}}const u=n.join(l,n.basename(t));o.writeFileSync(u,i.toString()+`\n//# sourceMappingURL=${t}.map`);const f=i.generateMap({hires:!0,includeContent:!0,file:t});o.writeFileSync(u+".map",f.toString()),y.info(`pack end,packName:${r}`)}}function M({pkgRoot:e,destRoot:t,packedFiles:r,gameEntry:s,gameOutput:i,skipDirs:c=[],isRoot:a=!0}){if(!o.existsSync(e))return;const u=o.readdirSync(e,{withFileTypes:!0});for(const l of u){const u=n.join(e,l.name),f=n.join(t,l.name);a&&l.isDirectory()&&c.includes(l.name)||(l.isDirectory()?M({pkgRoot:u,destRoot:f,gameOutput:i,packedFiles:r,gameEntry:s,skipDirs:c,isRoot:!1}):(g(n.dirname(f)),r.includes(n.relative(s,u))||o.copyFileSync(u,f)))}}async function E({gameEntry:e,gameOutput:t}){let r=Date.now();!function(e){!function e(t){let r;try{r=o.readdirSync(t)}catch(e){return void console.warn(`无法访问目录: ${t}`,e)}r.forEach(r=>{const s=n.join(t,r);try{const n=o.statSync(s);n.isDirectory()?k.includes(r)?(o.rmSync(s,{recursive:!0,force:!0}),console.log(`已删除无用目录: ${s}`)):e(s):n.isFile()&&S.includes(r)&&(o.rmSync(s,{force:!0}),console.log(`已删除无用文件: ${s}`))}catch(e){console.warn(`无法处理: ${s}`,e)}})}(e)}(e),y.info(`pack start,startTime:${r}`);const{packages:s}=await j(e,t),i=w(e,s),c=function(e,t){y.info("开始基于游戏源代码收集分包中的 JS 文件");const o={},r=Object.values(t).filter(e=>e.root&&""!==e.root).map(e=>e.root.split(n.sep)[0]).filter(Boolean),s=Array.from(new Set(r));for(const r in t){const i=t[r];let c,a;"__GAME__"===r?(a=b(e,[".js",".ts",".jsx",".tsx"],s),c=e):(c=n.join(e,i.root),a=b(c));const u=[];a.forEach(t=>{u.push(n.relative(e,t).replace(/\\/g,"/"))});const l=t[r].root;o[r]={[l?`${l}/game.pack.js`:"game.pack.js"]:u}}return y.info("基于游戏源代码收集分包中的 JS 文件完成"),o}(e,s);for(const o in c){y.info(`开始基于游戏源代码打包,包名:${o}`);let r=Date.now();const a=s[o],u=n.join(e,a.root),l=n.join(t,o,a.root);v({gameEntry:e,gameOutput:t,allDeps:i,allMaps:c,pkgName:o,pkgConfig:a,destRoot:l}),M({gameEntry:e,gameOutput:t,pkgRoot:u,destRoot:l,packedFiles:$(c),skipDirs:[p]});d(n.join(t,o)),y.info(`基于游戏源代码打包分包完成,包名:${o}`),y.info(`基于游戏源代码打包分包耗时,包名:${o},耗时:${Date.now()-r}ms`)}return y.info(`pack end,duration:${Date.now()-r}ms`),{}}function D(e,t){y.info("start check project");const{projectSizeLimit:r}=t;!function(e){y.info("start check config");const t=n.join(e,l);if(!o.existsSync(t)){const e="can not find game.json in game source code, please check it";throw y.error(e),new Error(e)}y.info("check config successfully")}(e),function(e,n){y.info("start check project size");const t=h(e,[]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Game size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Game size ${o}MB, check successfully!`),y.info("Game size check successfully!")}(e,r),y.info("check project successfully")}function O(n,o){y.info("start check main package");const{mainPackageSizeLimit:r}=o;y.info("check game.js");const s=e.join(n,"game.js");if(!t.existsSync(s)){const e="game.js must exist in main package!";throw y.error(e),new Error(e)}y.info("check game.js successfully"),function({entryDir:e,limit:n}){y.info("start check main package size");const t=h(e,["subpackages"]),o=Math.round(t/1048576),r=Math.round(n/1048576);if(t>n){const e=`Main package size ${o}MB, must not exceed ${r}MB`;throw y.error(e),new Error(e)}y.info(`Main package size ${o}MB, check successfully!`)}({entryDir:n,limit:r}),y.info("check main package successfully")}function F(e,t){const{subpackageSizeLimit:r}=t;y.info("start check subpackages in game.json");const s=n.join(e,l),i=JSON.parse(o.readFileSync(s,"utf-8")).subpackages||[];(null==i?void 0:i.length)?i.forEach(t=>{if(!t.name||!t.root){const e="The subpackages configuration in game.json is invalid: the root or name field in one or more subpackages is empty. Please ensure that all subpackages have non-empty root and name values.";throw y.error(e),new Error(e)}const s=n.join(e,t.root);if(!o.existsSync(s)){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${t.name} entry dir, please check it`;throw y.error(e),new Error(e)}const i=t.root;if(!o.existsSync(n.join(e,i))){const e=`The subpackages configuration in game.json is invalid: can not find subpackage ${t.name} root, please check it`;throw y.error(e),new Error(e)}!function({entryDir:e,subPkgName:t,limit:o}){const r=n.join(e,"subpackages",t),s=h(r,[]),i=Math.round(s/1048576);if(i>o){const e=`${t} Sub package size ${i}MB, must not exceed ${o/1048576}MB`;throw y.error(e),new Error(e)}y.info(`${t} Sub package size ${i}MB, check successfully!`)}({entryDir:e,subPkgName:t.name,limit:r})}):y.info("subpackages is empty"),y.info("check subpackages in game.json successfully")}async function z({entryDir:e,outputDir:t,enableCheck:r=!1,enableDev:s=!1}){let i=Date.now();y.init(t),y.info(`TTMG_PACK_VERSION: ${process.env.TTMG_COMPILE_VERSION}`),y.info(`pack start, startTime:${i}`);try{r&&await async function({entryDir:e,context:n}){y.info("开始校验项目"),D(e,n),O(e,n),F(e,n),y.info("校验项目完成")}({entryDir:e,context:{projectSizeLimit:209715200,subpackageSizeLimit:31457280,mainPackageSizeLimit:209715200}}),await E({gameEntry:e,gameOutput:t}),s&&function(e){y.info("mergePkgs start");const t=n.join(e,u);let r;try{r=JSON.parse(o.readFileSync(t,"utf-8"))}catch(e){return void y.error(`读取配置文件失败: ${t}, err: ${e.message}`)}const s=r.packages;if(s&&"object"==typeof s){for(const t of Object.keys(s)){const r=n.join(e,t);if(!o.existsSync(r)){y.warn(`package 目录不存在: ${r}`);continue}const s=o.readdirSync(r);for(const t of s){const s=n.join(r,t),i=n.join(e,t);try{const e=o.statSync(s);if(e.isFile())o.copyFileSync(s,i);else if(e.isDirectory())o.cpSync(s,i,{recursive:!0});else if(e.isSymbolicLink()){const n=o.readlinkSync(s);o.existsSync(i)&&o.rmSync(i,{force:!0}),o.symlinkSync(n,i,e.isDirectory()?"dir":"file")}y.info(`合并文件/目录: ${s} -> ${i}`)}catch(e){y.error(`处理文件失败: ${s}, err: ${e.message}`)}}try{o.rmSync(r,{recursive:!0,force:!0}),y.info(`已删除 package 目录: ${r}`)}catch(e){y.error(`删除 package 目录失败: ${r}, err: ${e.message}`)}}y.info("mergePkgs 完成")}else y.error("配置文件中 packages 字段无效, 请检查配置")}(t)}catch(e){y.error(`pack error:${e.message}`)}y.info(`pack end:${Date.now()-i}ms`)}export{z as preparePkgs};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/constants/index.ts","../../src/utils/ensureDirSync.ts","../../src/utils/logger.ts","../../src/utils/removeEmptyDir.ts","../../src/utils/getDirSizeSync.ts","../../src/utils/removeSystemUseless.ts","../../src/libs/makePkgs/setup.ts","../../src/libs/makePkgs/collectMaps.ts","../../src/libs/makePkgs/collectDeps.ts","../../src/libs/makePkgs/pack.ts","../../src/libs/makePkgs/partition.ts","../../src/libs/makePkgs/index.ts","../../src/libs/checkPkgs/checkProject.ts","../../src/libs/checkPkgs/checkMainpackage.ts","../../src/libs/checkPkgs/checkSubpackages.ts","../../src/index.ts","../../src/libs/checkPkgs/index.ts","../../src/libs/mergePkgs/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GAME_PACK_CONFIG_FILE_NAME","GAME_ORIGIN_CONFIG_FILE_NAME","GAME_MAIN_PACKAGE_NAME","STTPKG_EXT","SUBPACKAGES_DIR_NAME","ensureDirSync","dir","fs","existsSync","mkdirSync","recursive","logger","constructor","this","init","output","winston","createLogger","level","format","combine","timestamp","json","transports","File","filename","path","join","Console","info","msg","error","warn","debug","setOutput","removeEmptyDir","statSync","isDirectory","isEmpty","files","readdirSync","file","fullPath","rmSync","getDirSizeSync","filterDirs","totalSize","entries","withFileTypes","entry","name","includes","isFile","size","uselessDirs","uselessFiles","async","setup","entryDir","outputDir","gameJsonPath","gameJson","JSON","parse","readFileSync","packages","url","md5","root","main","configs","length","normalizeName","String","replace","normalizeRoot","trim","str","endsWith","test","map","config","idx","indexOf","slice","transformSubPackages","subpackages","forEach","sub","result","Object","keys","pkg","pkgPath","Error","writeFileSync","stringify","flattenMaps","allMaps","list","values","arr","push","collectAllJsFiles","exts","excludeDirs","concat","some","ext","collectDeps","gameEntry","rootPrefixes","filter","getRootPrefixes","glob","sync","cwd","ignore","requireCalls","code","ast","acorn","ecmaVersion","sourceType","e","walkAst","node","type","callee","arguments","requirePath","value","resolvedPath","startsWith","resolve","dirname","prefix","filePath","fileExistsWithExtensions","relative","newRequireCalls","i","depModule","curModule","assign","reduce","acc","cur","f","cb","key","hasOwnProperty","child","Array","isArray","c","pack","gameOutput","pkgName","allDeps","pkgConfig","destRoot","startTime","Date","now","packMap","moduleConfig","deps","packFileName","relPaths","Bundle","separator","relPath","absPath","basename","fileId","defineHeader","defineFooter","fileMagic","MagicString","wrapped","appendLeft","toString","append","addSource","content","outFile","generateMap","hires","includeContent","partition","pkgRoot","packedFiles","skipDirs","isRoot","srcPath","destPath","copyFileSync","makePkgs","removeUselessDirs","err","console","stat","force","log","removeSystemUseless","subRoots","split","sep","Boolean","uniqueSubRoots","from","Set","srcRoot","jsFiles","packNameRoot","collectMaps","checkProject","context","projectSizeLimit","errMsg","checkConfig","limit","gameSize","gameSizeMB","Math","round","limitMB","checkProjectSize","checkMainPackage","mainPackageSizeLimit","gameJsPath","mainPkgSize","mainPkgSizeMB","checkMainPackageSize","checkSubpackages","subpackageSizeLimit","subpackageEntryDir","subpackageRoot","subPkgName","subPkgDir","subPkgSize","sizeMB","checkSubPackageSize","source_dir","output_dir","enable_check","enableCheck","enable_dev","enableDev","process","env","TTMG_COMPILE_VERSION","checkPkgs","gamePackConfigPath","gamePackConfig","message","pkgDir","cpSync","isSymbolicLink","linkTarget","readlinkSync","symlinkSync","mergePkgs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/constants/index.ts","../../src/utils/ensureDirSync.ts","../../src/utils/logger.ts","../../src/utils/removeEmptyDir.ts","../../src/utils/getDirSizeSync.ts","../../src/utils/removeSystemUseless.ts","../../src/libs/makePkgs/setup.ts","../../src/libs/makePkgs/collectMaps.ts","../../src/libs/makePkgs/collectDeps.ts","../../src/libs/makePkgs/pack.ts","../../src/libs/makePkgs/partition.ts","../../src/libs/makePkgs/index.ts","../../src/libs/checkPkgs/checkProject.ts","../../src/libs/checkPkgs/checkMainpackage.ts","../../src/libs/checkPkgs/checkSubpackages.ts","../../src/index.ts","../../src/libs/checkPkgs/index.ts","../../src/libs/mergePkgs/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GAME_PACK_CONFIG_FILE_NAME","GAME_ORIGIN_CONFIG_FILE_NAME","GAME_MAIN_PACKAGE_NAME","STTPKG_EXT","SUBPACKAGES_DIR_NAME","ensureDirSync","dir","fs","existsSync","mkdirSync","recursive","logger","constructor","this","init","output","winston","createLogger","level","format","combine","timestamp","json","transports","File","filename","path","join","Console","info","msg","error","warn","debug","setOutput","removeEmptyDir","statSync","isDirectory","isEmpty","files","readdirSync","file","fullPath","rmSync","getDirSizeSync","filterDirs","totalSize","entries","withFileTypes","entry","name","includes","isFile","size","uselessDirs","uselessFiles","async","setup","entryDir","outputDir","gameJsonPath","gameJson","JSON","parse","readFileSync","packages","url","md5","root","main","configs","length","normalizeName","String","replace","normalizeRoot","trim","str","endsWith","test","map","config","idx","indexOf","slice","transformSubPackages","subpackages","forEach","sub","result","Object","keys","pkg","pkgPath","Error","writeFileSync","stringify","flattenMaps","allMaps","list","values","arr","push","collectAllJsFiles","exts","excludeDirs","concat","some","ext","collectDeps","gameEntry","rootPrefixes","filter","getRootPrefixes","glob","sync","cwd","ignore","requireCalls","code","ast","acorn","ecmaVersion","sourceType","e","walkAst","node","type","callee","arguments","requirePath","value","resolvedPath","startsWith","resolve","dirname","prefix","filePath","fileExistsWithExtensions","relative","newRequireCalls","i","depModule","curModule","assign","reduce","acc","cur","f","cb","key","hasOwnProperty","child","Array","isArray","c","pack","gameOutput","pkgName","allDeps","pkgConfig","destRoot","startTime","Date","now","packMap","moduleConfig","deps","packFileName","relPaths","Bundle","separator","relPath","absPath","basename","fileId","defineHeader","defineFooter","fileMagic","MagicString","wrapped","appendLeft","toString","append","addSource","content","outFile","generateMap","hires","includeContent","partition","pkgRoot","packedFiles","skipDirs","isRoot","srcPath","destPath","copyFileSync","makePkgs","removeUselessDirs","err","console","stat","force","log","removeSystemUseless","subRoots","split","sep","Boolean","uniqueSubRoots","from","Set","srcRoot","jsFiles","packNameRoot","collectMaps","checkProject","context","projectSizeLimit","errMsg","checkConfig","limit","gameSize","gameSizeMB","Math","round","limitMB","checkProjectSize","checkMainPackage","mainPackageSizeLimit","gameJsPath","mainPkgSize","mainPkgSizeMB","checkMainPackageSize","checkSubpackages","subpackageSizeLimit","subpackageEntryDir","subpackageRoot","subPkgName","subPkgDir","subPkgSize","sizeMB","checkSubPackageSize","preparePkgs","enableCheck","enableDev","process","env","TTMG_COMPILE_VERSION","checkPkgs","gamePackConfigPath","gamePackConfig","message","pkgDir","cpSync","isSymbolicLink","linkTarget","readlinkSync","symlinkSync","mergePkgs"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const GAME_PACK_CONFIG_FILE_NAME = "packageConfig.json";
|
|
2
|
+
export declare const GAME_ORIGIN_CONFIG_FILE_NAME = "game.json";
|
|
3
|
+
export declare const GAME_MODULE_CONFIG_FILE_NAME = "moduleConfig.json";
|
|
4
|
+
export declare const GAME_OUTPUT_CONFIG_FILE_NAME = "output.json";
|
|
5
|
+
export declare const GAME_MAIN_PACKAGE_NAME = "__GAME__";
|
|
6
|
+
export declare const TTPKG_TAG = "TPKG";
|
|
7
|
+
export declare const STTPKG_TAG = "SPKG";
|
|
8
|
+
export declare const TTPKG_VERSION = 2;
|
|
9
|
+
export declare const ARK_KEY_LEN = 32;
|
|
10
|
+
export declare const ARK_INT_LEN = 4;
|
|
11
|
+
export declare const UNIT32_LEN = 4;
|
|
12
|
+
export declare const UINT16_LEN = 2;
|
|
13
|
+
export declare const STTPKG_VERSION = 1;
|
|
14
|
+
export declare const ZSTD_COMPRESS_LEVEL = 19;
|
|
15
|
+
export declare const ROLL_FILE_EXT: string[];
|
|
16
|
+
export declare const EXT = "";
|
|
17
|
+
export declare const BROTLI_COMPRESS_TYPE = 1;
|
|
18
|
+
export declare const ZSTD_COMPRESS_TYPE = 3;
|
|
19
|
+
export declare const STTPKG_EXT = ".txt";
|
|
20
|
+
export declare const SUBPACKAGES_DIR_NAME = "subpackages";
|
|
21
|
+
export declare const ODR_CODE_DIR_SUFFIX = "_code";
|
|
22
|
+
export declare const ODR_ASSET_DIR_SUFFIX = "_asset";
|
|
23
|
+
export declare const TTMG_GAME_SIZE_LIMIT: number;
|
|
24
|
+
export declare const TTMG_GAME_MAIN_PACKAGE_SIZE_LIMIT: number;
|
|
25
|
+
export declare const TTMG_GAME_SUBPACKAGE_SIZE_LIMIT: number;
|
|
26
|
+
export declare const ONE_ODR_PKG_LIMIT: number;
|
|
27
|
+
export declare const AVAILABLE_ODR_TAG_LIST: string[];
|
|
28
|
+
export declare const PROJECT_SIZE_LIMIT: number;
|
|
29
|
+
export declare const SUBPACKAGE_SIZE_LIMIT: number;
|
|
30
|
+
export declare const MAINPACKAGE_SIZE_LIMIT: number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 检查主包大小是否超出限制
|
|
3
|
+
* @param param0
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export declare function checkMainPackageSize({ entryDir, limit, }: {
|
|
7
|
+
entryDir: string;
|
|
8
|
+
limit: number;
|
|
9
|
+
}): void;
|
|
10
|
+
export declare function checkMainPackage(entryDir: string, context: {
|
|
11
|
+
mainPackageSizeLimit: number;
|
|
12
|
+
}): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function checkConfig(entryDir: string): void;
|
|
2
|
+
/**
|
|
3
|
+
* 检查游戏大小是否超出限制
|
|
4
|
+
* @param param0
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function checkProjectSize(entryDir: string, limit: number): void;
|
|
8
|
+
export declare function checkProject(entryDir: string, context: {
|
|
9
|
+
projectSizeLimit: number;
|
|
10
|
+
}): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function collectDeps(gameEntry: any, packages: any): any;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function pack({ gameEntry, gameOutput, pkgName, allDeps, allMaps, pkgConfig, destRoot, }: {
|
|
2
|
+
gameOutput: string;
|
|
3
|
+
gameEntry: string;
|
|
4
|
+
pkgName: string;
|
|
5
|
+
allDeps: Record<string, string[]>;
|
|
6
|
+
allMaps: Record<string, Record<string, string[]>>;
|
|
7
|
+
pkgConfig: {
|
|
8
|
+
main: string;
|
|
9
|
+
root: string;
|
|
10
|
+
};
|
|
11
|
+
destRoot: string;
|
|
12
|
+
}): void;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 写入 iOS 客户端本地的 ODR 配置
|
|
3
|
+
*/
|
|
4
|
+
export interface ODRConfig {
|
|
5
|
+
[id: string]: {
|
|
6
|
+
tag: string;
|
|
7
|
+
packages: {
|
|
8
|
+
[packageName: string]: {
|
|
9
|
+
root: string;
|
|
10
|
+
main: string;
|
|
11
|
+
asset_md5: string;
|
|
12
|
+
asset_url: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface ODRPackage {
|
|
18
|
+
root: string;
|
|
19
|
+
main: string;
|
|
20
|
+
code_url: string;
|
|
21
|
+
asset_md5: string;
|
|
22
|
+
asset_url: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ODRPackages {
|
|
25
|
+
[packageName: string]: ODRPackage;
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class Deferred {
|
|
2
|
+
taskResolver: (val: unknown) => void;
|
|
3
|
+
taskRejecter: (reason?: any) => void;
|
|
4
|
+
task: Promise<unknown>;
|
|
5
|
+
constructor();
|
|
6
|
+
resolve(value: any): void;
|
|
7
|
+
reject(reason: any): void;
|
|
8
|
+
then(...params: any[]): Promise<unknown>;
|
|
9
|
+
catch(...params: any[]): Promise<unknown>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 压缩
|
|
3
|
+
*/
|
|
4
|
+
export declare function compressWithZStd(code: Buffer): Promise<Buffer>;
|
|
5
|
+
/**
|
|
6
|
+
* 用 Brotli 压缩字符串或 Buffer,返回 Promise<Buffer>
|
|
7
|
+
* @param {Buffer|string} code
|
|
8
|
+
* @returns {Promise<Buffer>}
|
|
9
|
+
*/
|
|
10
|
+
export declare function compressWithBrotli(code: Buffer): Promise<Buffer>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createBuffer(content: any, type: any): Buffer<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deleteNoJsFilesSync(dir: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ensureDirSync(dir: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDirSizeSync(dir: string, filterDirs?: string[]): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getMd5(content: any): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { ensureDirSync } from './ensureDirSync';
|
|
2
|
+
export { logger } from './logger';
|
|
3
|
+
export { removeEmptyDir } from './removeEmptyDir';
|
|
4
|
+
export { getMd5 } from './getMd5';
|
|
5
|
+
export { collectAssets } from './collectAssets';
|
|
6
|
+
export { accBuffer } from './accBuffer';
|
|
7
|
+
export { Deferred } from './Deferred';
|
|
8
|
+
export { compressWithBrotli, compressWithZStd } from './compress';
|
|
9
|
+
export { createBuffer } from './createBuffer';
|
|
10
|
+
export { getDirSizeSync } from './getDirSizeSync';
|
|
11
|
+
export { deleteJsFilesSync } from './deleteJsFilesSync';
|
|
12
|
+
export { deleteNoJsFilesSync } from './deleteNoJsFilesSync';
|
|
13
|
+
export { removeSystemUseless } from './removeSystemUseless';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import winston from 'winston';
|
|
2
|
+
declare class Logger {
|
|
3
|
+
logger: winston.Logger;
|
|
4
|
+
output: any;
|
|
5
|
+
constructor();
|
|
6
|
+
init(output: any): void;
|
|
7
|
+
info(msg: any): void;
|
|
8
|
+
error(msg: any): void;
|
|
9
|
+
warn(msg: any): void;
|
|
10
|
+
debug(msg: any): void;
|
|
11
|
+
setOutput(output: any): void;
|
|
12
|
+
}
|
|
13
|
+
export declare const logger: Logger;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function removeSystemUseless(gameEntry: string): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export declare function preparePkgs({ entryDir, outputDir, enableCheck, enableDev, }: {
|
|
2
|
+
entryDir: string;
|
|
3
|
+
outputDir: string;
|
|
4
|
+
enableDev: boolean;
|
|
5
|
+
enableCheck: boolean;
|
|
6
6
|
}): Promise<void>;
|
package/package.json
CHANGED