mbler 0.1.3-alpha → 0.1.3-alpha-r2

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.
Files changed (178) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +15 -6
  3. package/bin/mbler.js +12 -12
  4. package/bin/minify.js +58 -44
  5. package/lib/build/base.js +1 -297
  6. package/lib/build/build-g-config.json +12 -12
  7. package/lib/build/getModule.js +1 -182
  8. package/lib/build/index.js +1 -370
  9. package/lib/build/manifest.build.js +1 -103
  10. package/lib/build/mcVersion.js +1 -86
  11. package/lib/build/utils.js +1 -6
  12. package/lib/code-processor/c-handler-export.js +1 -12
  13. package/lib/code-processor/index.js +1 -141
  14. package/lib/code-processor/mtreehandler.js +1 -164
  15. package/lib/commander/index.js +1 -154
  16. package/lib/data/includes.json +13 -13
  17. package/lib/data/version.json +88 -88
  18. package/lib/git/clone.js +1 -28
  19. package/lib/git/index.js +1 -12
  20. package/lib/git/pull.js +1 -100
  21. package/lib/lang/__translate.js +1 -93
  22. package/lib/lang/en.js +1 -128
  23. package/lib/lang/index.js +1 -78
  24. package/lib/lang/zh.js +1 -146
  25. package/lib/loger/colors.js +1 -13
  26. package/lib/loger/index.js +1 -136
  27. package/lib/mcx/ast/index.js +1 -11
  28. package/lib/mcx/ast/prop.js +1 -78
  29. package/lib/mcx/ast/tag.js +1 -246
  30. package/lib/mcx/compile-component/lib.js +1 -106
  31. package/lib/mcx/compile-component/types.js +1 -2
  32. package/lib/mcx/compile-component/utils.js +1 -26
  33. package/lib/mcx/compile-mcx/compile.js +1 -34
  34. package/lib/mcx/compile-mcx/compiler/bundler.js +1 -0
  35. package/lib/mcx/compile-mcx/compiler/compileData.js +1 -0
  36. package/lib/mcx/compile-mcx/compiler/compileMain.js +1 -0
  37. package/lib/mcx/compile-mcx/compiler/index.js +1 -0
  38. package/lib/mcx/compile-mcx/compiler/utils.js +1 -0
  39. package/lib/mcx/compile-mcx/context.js +1 -19
  40. package/lib/mcx/compile-mcx/index.js +1 -10
  41. package/lib/mcx/compile-mcx/mcx/index.js +1 -2
  42. package/lib/mcx/compile-mcx/mcx/types.js +1 -2
  43. package/lib/mcx/compile-mcx/template/module.js +1 -42
  44. package/lib/mcx/compile-mcx/types.js +1 -2
  45. package/lib/mcx/compile-mcx/utils.node.js +1 -207
  46. package/lib/mcx/index.js +1 -13
  47. package/lib/mcx/test/index.js +1 -7
  48. package/lib/mcx/test.js +1 -21
  49. package/lib/mcx/types.js +1 -2
  50. package/lib/mcx/utils.js +1 -86
  51. package/lib/module-handler/index.js +1 -482
  52. package/lib/modules/create-game/mbler.config.json +13 -13
  53. package/lib/modules/create-game/src/Runner/RunnerManager.js +1 -113
  54. package/lib/modules/create-game/src/Runner/scriptRunner.js +1 -70
  55. package/lib/modules/create-game/src/config.js +1 -27
  56. package/lib/modules/create-game/src/constants.js +1 -19
  57. package/lib/modules/create-game/src/createGameModule.js +1 -24
  58. package/lib/modules/create-game/src/gameComponent/common/autoStop.js +1 -38
  59. package/lib/modules/create-game/src/gameComponent/common/lazyLoader.js +1 -76
  60. package/lib/modules/create-game/src/gameComponent/common/stopWatch/onTimeEvent.js +1 -36
  61. package/lib/modules/create-game/src/gameComponent/common/stopWatch/stopWatch.js +1 -90
  62. package/lib/modules/create-game/src/gameComponent/common/stopWatch/tickEvent.js +1 -29
  63. package/lib/modules/create-game/src/gameComponent/common/timer/onTimeEvent.js +1 -36
  64. package/lib/modules/create-game/src/gameComponent/common/timer/tickEvent.js +1 -29
  65. package/lib/modules/create-game/src/gameComponent/common/timer/timer.js +1 -87
  66. package/lib/modules/create-game/src/gameComponent/gameComponent.js +1 -53
  67. package/lib/modules/create-game/src/gameComponent/index.js +1 -31
  68. package/lib/modules/create-game/src/gameComponent/player/blockInteractionBlocker.js +1 -40
  69. package/lib/modules/create-game/src/gameComponent/player/entityInteractionBlocker.js +1 -48
  70. package/lib/modules/create-game/src/gameComponent/player/healthIndicator.js +1 -48
  71. package/lib/modules/create-game/src/gameComponent/player/regionMonitor.js +1 -22
  72. package/lib/modules/create-game/src/gameComponent/player/respawn.js +1 -59
  73. package/lib/modules/create-game/src/gameComponent/player/spawnProtector.js +1 -69
  74. package/lib/modules/create-game/src/gameComponent/region/regionProtecter.js +1 -53
  75. package/lib/modules/create-game/src/gameComponent/region/regionTeamChooser.js +1 -71
  76. package/lib/modules/create-game/src/gameComponent/region/regionTeamCleaner.js +1 -20
  77. package/lib/modules/create-game/src/gameComponent/view/infoScoreboard.js +1 -77
  78. package/lib/modules/create-game/src/gameComponent/view/teamScoreboard.js +1 -83
  79. package/lib/modules/create-game/src/gameContext.js +1 -6
  80. package/lib/modules/create-game/src/gameEngine.js +1 -139
  81. package/lib/modules/create-game/src/gameEvent/eventManager.js +1 -108
  82. package/lib/modules/create-game/src/gameEvent/eventSignal.js +1 -28
  83. package/lib/modules/create-game/src/gameEvent/events/buttonPush.js +1 -41
  84. package/lib/modules/create-game/src/gameEvent/events/inSlot.js +1 -77
  85. package/lib/modules/create-game/src/gameEvent/events/interval.js +1 -51
  86. package/lib/modules/create-game/src/gameEvent/events/itemUse.js +1 -36
  87. package/lib/modules/create-game/src/gameEvent/events/onBlock.js +1 -106
  88. package/lib/modules/create-game/src/gameEvent/events/regionEvents.js +1 -105
  89. package/lib/modules/create-game/src/gameEvent/events/signClick.js +1 -45
  90. package/lib/modules/create-game/src/gameEvent/gameEvent.js +1 -54
  91. package/lib/modules/create-game/src/gameEvent/index.js +1 -20
  92. package/lib/modules/create-game/src/gameEvent/mapEventSignal.js +1 -101
  93. package/lib/modules/create-game/src/gameEvent/subscription.js +1 -17
  94. package/lib/modules/create-game/src/gamePlayer/gamePlayer.js +1 -102
  95. package/lib/modules/create-game/src/gamePlayer/groupBuilder.js +1 -38
  96. package/lib/modules/create-game/src/gamePlayer/groupSet.js +1 -96
  97. package/lib/modules/create-game/src/gamePlayer/index.js +1 -25
  98. package/lib/modules/create-game/src/gamePlayer/playerGroup.js +1 -145
  99. package/lib/modules/create-game/src/gamePlayer/playerManager.js +1 -57
  100. package/lib/modules/create-game/src/gameRegion/gameRegion.js +1 -229
  101. package/lib/modules/create-game/src/gameRegion/index.js +1 -43
  102. package/lib/modules/create-game/src/gameRegion/regionHelper.js +1 -79
  103. package/lib/modules/create-game/src/gameState/common/autoStop.js +1 -39
  104. package/lib/modules/create-game/src/gameState/gameState.js +1 -169
  105. package/lib/modules/create-game/src/gameState/index.js +1 -7
  106. package/lib/modules/create-game/src/gameState/types.js +1 -35
  107. package/lib/modules/create-game/src/gameStructure/gameStructure.js +1 -36
  108. package/lib/modules/create-game/src/main.js +1 -86
  109. package/lib/modules/create-game/src/system/gameCommand.js +1 -107
  110. package/lib/modules/create-game/src/system/gameManager.js +1 -124
  111. package/lib/modules/create-game/src/system/globalPlayerManager.js +1 -119
  112. package/lib/modules/create-game/src/utils/GameError.js +1 -31
  113. package/lib/modules/create-game/src/utils/algorithm.js +1 -95
  114. package/lib/modules/create-game/src/utils/chunk.js +1 -63
  115. package/lib/modules/create-game/src/utils/deferredObject.js +1 -27
  116. package/lib/modules/create-game/src/utils/duration.js +1 -25
  117. package/lib/modules/create-game/src/utils/func.js +1 -20
  118. package/lib/modules/create-game/src/utils/index.js +1 -52
  119. package/lib/modules/create-game/src/utils/interfaces.js +1 -2
  120. package/lib/modules/create-game/src/utils/logger.js +1 -47
  121. package/lib/modules/create-game/src/utils/random.js +1 -76
  122. package/lib/modules/create-game/src/utils/vanila-data.js +1 -123
  123. package/lib/modules/create-game/src/utils/vector.js +1 -96
  124. package/lib/modules/gameLib/mbler.config.json +15 -15
  125. package/lib/modules/gameLib/src/config.js +1 -134
  126. package/lib/modules/gameLib/src/data.js +1 -77
  127. package/lib/modules/gameLib/src/entity.js +1 -256
  128. package/lib/modules/gameLib/src/event.js +1 -285
  129. package/lib/modules/gameLib/src/index.js +1 -20
  130. package/lib/modules/gameLib/src/loger.js +1 -21
  131. package/lib/modules/gameLib/src/ui.js +1 -209
  132. package/lib/modules/gameLib/src/utils.js +1 -122
  133. package/lib/modules/gutils/mbler.config.json +11 -11
  134. package/lib/modules/gutils/src/index.js +1 -22
  135. package/lib/modules/innerDef.json +4 -4
  136. package/lib/runTemp/File.js +1 -54
  137. package/lib/runTemp/config.json +3 -3
  138. package/lib/runTemp/index.js +1 -137
  139. package/lib/runTemp/securityFile.js +1 -93
  140. package/lib/start/addPack.js +1 -3
  141. package/lib/start/clean.js +1 -84
  142. package/lib/start/create.js +1 -146
  143. package/lib/start/dev.js +1 -99
  144. package/lib/start/getResConfig.js +1 -3
  145. package/lib/start/incg.js +1 -3
  146. package/lib/start/index.js +1 -207
  147. package/lib/start/init.js +1 -125
  148. package/lib/start/rechce.js +1 -57
  149. package/lib/start/unaddPack.js +1 -3
  150. package/lib/start/unincg.js +1 -67
  151. package/lib/start/version.js +1 -73
  152. package/lib/utils/index.js +1 -298
  153. package/lib/uuid/index.js +1 -27
  154. package/package.json +49 -1
  155. package/test/2x sword/behavior/scripts/index.js +24 -24
  156. package/test/2x sword/mbler.config.json +11 -11
  157. package/test/2x sword/package.json +13 -13
  158. package/test/README.md +7 -7
  159. package/test/des/index.js +19 -19
  160. package/test/des/mbler.config.json +4 -4
  161. package/test/des/package.json +6 -6
  162. package/test/initializer/index.js +5 -5
  163. package/test/initializer/mbler.config.json +4 -4
  164. package/test/initializer/package.json +6 -6
  165. package/test/mbler-int/behavior/res/items/mang_one_int.json +21 -21
  166. package/test/mbler-int/behavior/scripts/index.js +7 -7
  167. package/test/mbler-int/behavior/scripts/lib/event/index.js +19 -19
  168. package/test/mbler-int/behavior/scripts/lib/ui/Lore.js +18 -18
  169. package/test/mbler-int/behavior/scripts/lib/ui/baseUi.js +6 -6
  170. package/test/mbler-int/behavior/scripts/lib/ui/index.js +206 -206
  171. package/test/mbler-int/behavior/scripts/lib/utils/index.js +51 -51
  172. package/test/mbler-int/mbler.config.json +18 -18
  173. package/test/mbler-int/package.json +12 -12
  174. package/test/script-mbler/behavior/scripts/index.js +5 -0
  175. package/test/script-mbler/behavior/scripts/index.ts +5 -5
  176. package/test/script-mbler/mbler.config.json +14 -14
  177. package/test/script-mbler/package.json +15 -15
  178. package/lib/mcx/compile-mcx/_compile.js +0 -602
@@ -1,103 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ManiFest = void 0;
40
- const build_g_config_json_1 = __importDefault(require("./build-g-config.json"));
41
- const utils = __importStar(require("./../utils/index.js"));
42
- const mcVersion_js_1 = require("./mcVersion.js");
43
- const index_js_1 = require("./../uuid/index.js");
44
- const path = __importStar(require("path"));
45
- const config = build_g_config_json_1.default;
46
- const isNonEmptyString = (str) => typeof str === 'string' && str.trim().length > 0;
47
- class ManiFest {
48
- data;
49
- constructor(MblerConfig, type) {
50
- this.data = {
51
- format_version: 2,
52
- header: {
53
- name: MblerConfig.name,
54
- description: MblerConfig.description,
55
- uuid: (0, index_js_1.fromString)(MblerConfig.name, config[type].header),
56
- version: utils.ToArray(MblerConfig.version),
57
- min_engine_version: utils.ToArray(MblerConfig.mcVersion.toString()),
58
- },
59
- modules: [{
60
- type: type,
61
- uuid: (0, index_js_1.fromString)(MblerConfig.name, config[type].module),
62
- description: `From Mbler`,
63
- version: utils.ToArray(MblerConfig.version),
64
- }]
65
- };
66
- if (type === "data" && MblerConfig.script)
67
- this.processScriptConfig(MblerConfig, this.data);
68
- }
69
- processScriptConfig(data, manifest) {
70
- const { script } = data;
71
- if (!script)
72
- return;
73
- let entry = script.main || "index.js";
74
- // 如果是mcx,直接设为index.js,因为mcxLoad类会聚集mcx文件和其他文件将其编译输出到index.js
75
- if (entry?.endsWith(".mcx") && script.lang === "mcx")
76
- entry = "index.js";
77
- if (!isNonEmptyString(entry))
78
- throw new Error('Script main entry is missing or invalid');
79
- if (!manifest.dependencies)
80
- manifest.dependencies = [];
81
- manifest.dependencies.push({
82
- module_name: '@minecraft/server',
83
- version: mcVersion_js_1.mcVersionGeter.ToServer(data.mcVersion.toString(), Boolean(script.UseBeta))
84
- });
85
- manifest.modules.push({
86
- type: 'script',
87
- language: 'javascript',
88
- entry: path.join("scripts", entry).replace("\\", "/ "),
89
- uuid: (0, index_js_1.fromString)(data.name, config.ScriptId),
90
- version: utils.ToArray(data.version),
91
- });
92
- if (script.ui === true) {
93
- manifest.dependencies.push({
94
- module_name: '@minecraft/server-ui',
95
- version: mcVersion_js_1.mcVersionGeter.ToServerUi(data.mcVersion.toString(), Boolean(script.UseBeta))
96
- });
97
- }
98
- ;
99
- manifest.capabilities = ['script_eval'];
100
- }
101
- ;
102
- }
103
- exports.ManiFest = ManiFest;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,i,r,t){void 0===t&&(t=r);var n=Object.getOwnPropertyDescriptor(i,r);n&&!("get"in n?!i.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return i[r]}}),Object.defineProperty(e,t,n)}:function(e,i,r,t){void 0===t&&(t=r),e[t]=i[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}:function(e,i){e.default=i}),__importStar=this&&this.__importStar||function(){var e=function(i){return e=Object.getOwnPropertyNames||function(e){var i=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[i.length]=r);return i},e(i)};return function(i){if(i&&i.__esModule)return i;var r={};if(null!=i)for(var t=e(i),n=0;n<t.length;n++)"default"!==t[n]&&__createBinding(r,i,t[n]);return __setModuleDefault(r,i),r}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ManiFest=void 0;const build_g_config_json_1=__importDefault(require("./build-g-config.json")),utils=__importStar(require("./../utils/index.js")),mcVersion_js_1=require("./mcVersion.js"),index_js_1=require("./../uuid/index.js"),path=__importStar(require("path")),config=build_g_config_json_1.default,isNonEmptyString=e=>"string"==typeof e&&e.trim().length>0;class ManiFest{data;constructor(e,i){this.data={format_version:2,header:{name:e.name,description:e.description,uuid:(0,index_js_1.fromString)(e.name,config[i].header),version:utils.ToArray(e.version),min_engine_version:utils.ToArray(e.mcVersion.toString())},modules:[{type:i,uuid:(0,index_js_1.fromString)(e.name,config[i].module),description:"From Mbler",version:utils.ToArray(e.version)}]},"data"===i&&e.script&&this.processScriptConfig(e,this.data)}processScriptConfig(e,i){const{script:r}=e;if(!r)return;let t=r.main||"index.js";if(t?.endsWith(".mcx")&&"mcx"===r.lang&&(t="index.js"),!isNonEmptyString(t))throw new Error("Script main entry is missing or invalid");i.dependencies||(i.dependencies=[]),i.dependencies.push({module_name:"@minecraft/server",version:mcVersion_js_1.mcVersionGeter.ToServer(e.mcVersion.toString(),Boolean(r.UseBeta))}),i.modules.push({type:"script",language:"javascript",entry:path.join("scripts",t).replace("\\","/ "),uuid:(0,index_js_1.fromString)(e.name,config.ScriptId),version:utils.ToArray(e.version)}),!0===r.ui&&i.dependencies.push({module_name:"@minecraft/server-ui",version:mcVersion_js_1.mcVersionGeter.ToServerUi(e.mcVersion.toString(),Boolean(r.UseBeta))}),i.capabilities=["script_eval"]}}exports.ManiFest=ManiFest;
@@ -1,86 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mcVersionGeter = void 0;
4
- // 版本资源表
5
- const VERSION_TABLE = require('./../data/version.json').version;
6
- // 转字符串
7
- const normalize = (v) => {
8
- return String(v || '')
9
- .trim();
10
- };
11
- const parts = (v) => {
12
- return normalize(v)
13
- .split('.')
14
- .slice(0, 3)
15
- .map((n) => parseInt(n, 10) || 0);
16
- };
17
- const compareVer = (a, b) => {
18
- const A = parts(a);
19
- const B = parts(b);
20
- for (let i = 0; i < 3; i++) {
21
- const a = A[i];
22
- const b = B[i];
23
- if (!a || !b)
24
- continue;
25
- if (a !== b)
26
- return a > b ? 1 : -1;
27
- }
28
- return 0;
29
- };
30
- const findMatch = (version) => {
31
- const v = normalize(version);
32
- for (const item of VERSION_TABLE) {
33
- // 遍历查找
34
- const [start, end] = item.range;
35
- if (compareVer(v, start) >= 0 && compareVer(v, end) <= 0) {
36
- return {
37
- item,
38
- match: 'exact',
39
- start,
40
- end
41
- };
42
- }
43
- }
44
- const sorted = [
45
- ...VERSION_TABLE
46
- ].sort((a, b) => compareVer(b.range[0], a.range[0]));
47
- for (const item of sorted) {
48
- if (compareVer(v, item.range[0]) >= 0) {
49
- return {
50
- item,
51
- match: 'fallback',
52
- start: item.range[0],
53
- end: item.range[1]
54
- };
55
- }
56
- }
57
- const last = sorted[sorted.length - 1];
58
- return {
59
- item: last,
60
- match: 'oldest',
61
- start: last.range[0],
62
- end: last.range[1]
63
- };
64
- };
65
- exports.mcVersionGeter = {
66
- /**
67
- * @param version Minecraft版本号
68
- * @param useBeta 是否返回Beta版本
69
- */
70
- ToServer(version, useBeta = false) {
71
- const { item, match, start, end } = findMatch(version);
72
- if (match !== 'exact')
73
- console.warn(`⚠️ 使用兼容版本 ${start}-${end}(输入:${version})`);
74
- return useBeta ? item.beta.server : item.format.server;
75
- },
76
- /**
77
- * @param version Minecraft版本号
78
- * @param useBeta 是否返回Beta版本
79
- */
80
- ToServerUi(version, useBeta = false) {
81
- const { item, match, start, end } = findMatch(version);
82
- if (match !== 'exact')
83
- console.warn(`⚠️ 使用兼容版本 ${start}-${end}(输入:${version})`);
84
- return useBeta ? item.beta.server_ui : item.format.server_ui;
85
- }
86
- };
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mcVersionGeter=void 0;const VERSION_TABLE=require("./../data/version.json").version,normalize=e=>String(e||"").trim(),parts=e=>normalize(e).split(".").slice(0,3).map(e=>parseInt(e,10)||0),compareVer=(e,r)=>{const t=parts(e),n=parts(r);for(let e=0;e<3;e++){const r=t[e],a=n[e];if(r&&a&&r!==a)return r>a?1:-1}return 0},findMatch=e=>{const r=normalize(e);for(const e of VERSION_TABLE){const[t,n]=e.range;if(compareVer(r,t)>=0&&compareVer(r,n)<=0)return{item:e,match:"exact",start:t,end:n}}const t=[...VERSION_TABLE].sort((e,r)=>compareVer(r.range[0],e.range[0]));for(const e of t)if(compareVer(r,e.range[0])>=0)return{item:e,match:"fallback",start:e.range[0],end:e.range[1]};const n=t[t.length-1];return{item:n,match:"oldest",start:n.range[0],end:n.range[1]}};exports.mcVersionGeter={ToServer(e,r=!1){const{item:t,match:n,start:a,end:o}=findMatch(e);return"exact"!==n&&console.warn(`⚠️ 使用兼容版本 ${a}-${o}(输入:${e})`),r?t.beta.server:t.format.server},ToServerUi(e,r=!1){const{item:t,match:n,start:a,end:o}=findMatch(e);return"exact"!==n&&console.warn(`⚠️ 使用兼容版本 ${a}-${o}(输入:${e})`),r?t.beta.server_ui:t.format.server_ui}};
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = next;
4
- function next(tip) {
5
- process.stdout.write(`\r[${new Date}] ${tip}`);
6
- }
1
+ "use strict";function next(e){process.stdout.write(`\r[${new Date}] ${e}`)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=next;
@@ -1,12 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = default_1;
7
- const mtreehandler_1 = __importDefault(require("./mtreehandler"));
8
- function default_1(text) {
9
- if (typeof text !== 'string')
10
- return new mtreehandler_1.default(null);
11
- return new mtreehandler_1.default(text);
12
- }
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=default_1;const mtreehandler_1=__importDefault(require("./mtreehandler"));function default_1(e){return"string"!=typeof e?new mtreehandler_1.default(null):new mtreehandler_1.default(e)}
@@ -1,141 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = processor;
40
- const fs = __importStar(require("fs/promises"));
41
- const path = __importStar(require("path"));
42
- const utils = __importStar(require("../utils/index.js"));
43
- const c_handler_export_1 = __importDefault(require("./c-handler-export"));
44
- const terser_1 = require("terser");
45
- const getModule_js_1 = __importDefault(require("../build/getModule.js"));
46
- let gamelib_modules;
47
- let forInscript = false;
48
- /**
49
- * 替换模块 import 路径
50
- */
51
- async function replaceModuleImports(code, modules, targetDir, sourceDir) {
52
- const im = (0, c_handler_export_1.default)(code);
53
- if (Array.isArray(modules)) {
54
- const imports = im.get();
55
- if (imports.length < 1)
56
- return code;
57
- for (const item of modules) {
58
- const moduleDir = await gamelib_modules.getDir(item);
59
- const main = (await utils.handlerPackage(moduleDir)).main;
60
- const relPath = path
61
- .relative(path.dirname(targetDir), path.join(sourceDir, 'node_modules', path.basename(moduleDir), main))
62
- .split(path.sep).join('/');
63
- const found = imports.find((imp) => imp.ModuleName === item);
64
- if (found)
65
- im.set({
66
- ModuleName: `./${relPath}`,
67
- ImportItem: found.ImportItem
68
- });
69
- }
70
- }
71
- return im.generate();
72
- }
73
- /**
74
- * 处理单个文件
75
- */
76
- async function processFile(filePath, modules, sourceDir, shouldMinify) {
77
- try {
78
- const ext = path.extname(filePath).slice(1);
79
- const code = await fs.readFile(filePath, "utf-8");
80
- switch (ext) {
81
- case 'js':
82
- let replaced = await replaceModuleImports(code, modules, filePath, sourceDir);
83
- if (shouldMinify === true) {
84
- const result = await (0, terser_1.minify)(replaced);
85
- if (result.code)
86
- replaced = result.code;
87
- }
88
- await fs.writeFile(filePath, replaced, 'utf-8');
89
- break;
90
- case 'json':
91
- let re = code;
92
- if (shouldMinify === true) {
93
- const json = utils.JSONparse(code);
94
- re = JSON.stringify(json);
95
- if (forInscript) {
96
- await Promise.all([
97
- fs.writeFile(`${filePath}.js`, `export const data=${re}`),
98
- fs.rm(filePath, { recursive: true, force: true })
99
- ]);
100
- }
101
- }
102
- break;
103
- case 'map':
104
- case 'ts':
105
- await fs.rm(filePath, { recursive: true, force: true });
106
- break;
107
- }
108
- }
109
- catch (err) {
110
- console.log(filePath, err.message);
111
- }
112
- }
113
- /**
114
- * 递归遍历并处理文件
115
- */
116
- async function processDir(targetDir, modules, sourceDir, baseDir, shouldMinify) {
117
- const stat = await fs.stat(targetDir);
118
- gamelib_modules = await (0, getModule_js_1.default)(baseDir);
119
- let inScriptTemp = false;
120
- if (stat.isDirectory()) {
121
- const files = await fs.readdir(targetDir);
122
- if (path.basename(targetDir) === "scripts") {
123
- forInscript = true;
124
- inScriptTemp = true;
125
- }
126
- for (const file of files) {
127
- await processDir(path.join(targetDir, file), modules, sourceDir, baseDir, shouldMinify);
128
- }
129
- if (forInscript && inScriptTemp)
130
- forInscript = false;
131
- }
132
- else if (stat.isFile()) {
133
- await processFile(targetDir, modules, sourceDir, shouldMinify);
134
- }
135
- else {
136
- console.warn(`跳过未知类型:${targetDir}`);
137
- }
138
- }
139
- async function processor(targetDir, options) {
140
- await processDir(targetDir, options.modules || [], options.sourceDir, options.baseDir, options.minify);
141
- }
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,a)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(null!=t)for(var i=e(t),a=0;a<i.length;a++)"default"!==i[a]&&__createBinding(r,t,i[a]);return __setModuleDefault(r,t),r}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=processor;const fs=__importStar(require("fs/promises")),path=__importStar(require("path")),utils=__importStar(require("../utils/index.js")),c_handler_export_1=__importDefault(require("./c-handler-export")),terser_1=require("terser"),getModule_js_1=__importDefault(require("../build/getModule.js"));let gamelib_modules,forInscript=!1;async function replaceModuleImports(e,t,r,i){const a=(0,c_handler_export_1.default)(e);if(Array.isArray(t)){const s=a.get();if(s.length<1)return e;for(const e of t){const t=await gamelib_modules.getDir(e),o=(await utils.handlerPackage(t)).main,n=path.relative(path.dirname(r),path.join(i,"node_modules",path.basename(t),o)).split(path.sep).join("/"),c=s.find(t=>t.ModuleName===e);c&&a.set({ModuleName:`./${n}`,ImportItem:c.ImportItem})}}return a.generate()}async function processFile(e,t,r,i){try{const a=path.extname(e).slice(1),s=await fs.readFile(e,"utf-8");switch(a){case"js":let a=await replaceModuleImports(s,t,e,r);if(!0===i){const e=await(0,terser_1.minify)(a);e.code&&(a=e.code)}await fs.writeFile(e,a,"utf-8");break;case"json":let o=s;if(!0===i){const t=utils.JSONparse(s);o=JSON.stringify(t),forInscript&&await Promise.all([fs.writeFile(`${e}.js`,`export const data=${o}`),fs.rm(e,{recursive:!0,force:!0})])}break;case"map":case"ts":await fs.rm(e,{recursive:!0,force:!0})}}catch(t){console.log(e,t.message)}}async function processDir(e,t,r,i,a){const s=await fs.stat(e);gamelib_modules=await(0,getModule_js_1.default)(i);let o=!1;if(s.isDirectory()){const s=await fs.readdir(e);"scripts"===path.basename(e)&&(forInscript=!0,o=!0);for(const o of s)await processDir(path.join(e,o),t,r,i,a);forInscript&&o&&(forInscript=!1)}else s.isFile()?await processFile(e,t,r,a):console.warn(`跳过未知类型:${e}`)}async function processor(e,t){await processDir(e,t.modules||[],t.sourceDir,t.baseDir,t.minify)}
@@ -1,164 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const parser_1 = require("@babel/parser");
40
- const traverse_1 = __importDefault(require("@babel/traverse"));
41
- const generator_1 = __importDefault(require("@babel/generator"));
42
- const types = __importStar(require("@babel/types"));
43
- class ImportManager {
44
- code;
45
- ast;
46
- imports;
47
- constructor(code) {
48
- this.code = code;
49
- this.ast = null;
50
- this.imports = [];
51
- this._parse();
52
- }
53
- _parse() {
54
- if (!this.code) {
55
- this.ast = { program: { body: [] } };
56
- return;
57
- }
58
- // 解析源码为 AST
59
- this.ast = (0, parser_1.parse)(this.code, {
60
- sourceType: 'module'
61
- });
62
- this._collectImports();
63
- }
64
- _collectImports() {
65
- this.imports = [];
66
- (0, traverse_1.default)(this.ast, {
67
- ImportDeclaration: (path) => {
68
- const source = path.node.source.value;
69
- const specifiers = path.node.specifiers.map(specifier => {
70
- if (specifier.type === 'ImportDefaultSpecifier') {
71
- return specifier.local.name;
72
- }
73
- else if (specifier.type === 'ImportSpecifier') {
74
- if (specifier.imported.type == "Identifier")
75
- return specifier.imported.name;
76
- return specifier.imported.value;
77
- }
78
- else if (specifier.type === 'ImportNamespaceSpecifier') {
79
- return '*' + specifier.local.name; // * as name
80
- }
81
- return null;
82
- }).filter(name => name !== null);
83
- this.imports.push({
84
- moduleName: source,
85
- importItem: specifiers
86
- });
87
- }
88
- });
89
- }
90
- // 检查是否导入了某个包
91
- has(moduleName) {
92
- return this.imports
93
- .some(imp => imp.moduleName === moduleName);
94
- }
95
- // 返回所有导入包
96
- get() {
97
- return this.imports.map(imp => ({
98
- ModuleName: imp.moduleName,
99
- ImportItem: [...imp.importItem]
100
- }));
101
- }
102
- // 设置/修改导入项
103
- set({ ModuleName, ImportItem }) {
104
- // 查找是否已有该包,或有相同的包名或导入项
105
- const exists = this.imports.findIndex(imp => imp.moduleName === ModuleName ||
106
- imp.importItem.some(item => ImportItem.includes(item)));
107
- if (exists > -1) {
108
- // 修改已存在的项
109
- this.imports[exists] = {
110
- moduleName: ModuleName,
111
- importItem: [...ImportItem]
112
- };
113
- }
114
- else {
115
- // 新增
116
- this.imports.push({
117
- moduleName: ModuleName,
118
- importItem: [...ImportItem]
119
- });
120
- }
121
- // 同步更新 AST
122
- this._syncAST();
123
- }
124
- // 同步 imports 数据到 AST
125
- _syncAST() {
126
- // 先删除所有 import 声明
127
- (0, traverse_1.default)(this.ast, {
128
- ImportDeclaration(path) {
129
- path.remove();
130
- }
131
- });
132
- // 重新插入 import 声明
133
- this.imports.forEach(imp => {
134
- const specifiers = [];
135
- imp.importItem.forEach(name => {
136
- if (name === '*') {
137
- // 处理 * as xx 的情况
138
- const match = name.match(/\*\s+as\s+(\w+)/) || [];
139
- if (match)
140
- specifiers.push(types.importNamespaceSpecifier(types.identifier(match[1] || "")));
141
- }
142
- else if (name.endsWith('*')) {
143
- // 默认导入
144
- specifiers
145
- .push(types.importDefaultSpecifier(types.identifier(name.replace('*', ''))));
146
- }
147
- else {
148
- specifiers
149
- .push(types.importSpecifier(types.identifier(name), types.identifier(name)));
150
- }
151
- });
152
- // 构造 ImportDeclaration 节点
153
- const importNode = types.importDeclaration(specifiers, types.stringLiteral(imp.moduleName));
154
- this.ast.program.body.unshift(importNode);
155
- });
156
- }
157
- // 生成最终代码
158
- generate() {
159
- return (0, generator_1.default)(this.ast, {
160
- compact: false
161
- }).code;
162
- }
163
- }
164
- exports.default = ImportManager;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(null!=t)for(var i=e(t),o=0;o<i.length;o++)"default"!==i[o]&&__createBinding(r,t,i[o]);return __setModuleDefault(r,t),r}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const parser_1=require("@babel/parser"),traverse_1=__importDefault(require("@babel/traverse")),generator_1=__importDefault(require("@babel/generator")),types=__importStar(require("@babel/types"));class ImportManager{code;ast;imports;constructor(e){this.code=e,this.ast=null,this.imports=[],this._parse()}_parse(){this.code?(this.ast=(0,parser_1.parse)(this.code,{sourceType:"module"}),this._collectImports()):this.ast={program:{body:[]}}}_collectImports(){this.imports=[],(0,traverse_1.default)(this.ast,{ImportDeclaration:e=>{const t=e.node.source.value,r=e.node.specifiers.map(e=>"ImportDefaultSpecifier"===e.type?e.local.name:"ImportSpecifier"===e.type?"Identifier"==e.imported.type?e.imported.name:e.imported.value:"ImportNamespaceSpecifier"===e.type?"*"+e.local.name:null).filter(e=>null!==e);this.imports.push({moduleName:t,importItem:r})}})}has(e){return this.imports.some(t=>t.moduleName===e)}get(){return this.imports.map(e=>({ModuleName:e.moduleName,ImportItem:[...e.importItem]}))}set({ModuleName:e,ImportItem:t}){const r=this.imports.findIndex(r=>r.moduleName===e||r.importItem.some(e=>t.includes(e)));r>-1?this.imports[r]={moduleName:e,importItem:[...t]}:this.imports.push({moduleName:e,importItem:[...t]}),this._syncAST()}_syncAST(){(0,traverse_1.default)(this.ast,{ImportDeclaration(e){e.remove()}}),this.imports.forEach(e=>{const t=[];e.importItem.forEach(e=>{if("*"===e){const r=e.match(/\*\s+as\s+(\w+)/)||[];r&&t.push(types.importNamespaceSpecifier(types.identifier(r[1]||"")))}else e.endsWith("*")?t.push(types.importDefaultSpecifier(types.identifier(e.replace("*","")))):t.push(types.importSpecifier(types.identifier(e),types.identifier(e)))});const r=types.importDeclaration(t,types.stringLiteral(e.moduleName));this.ast.program.body.unshift(r)})}generate(){return(0,generator_1.default)(this.ast,{compact:!1}).code}}exports.default=ImportManager;