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,207 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class NodeUtils {
4
- static stringArrayToMemberExpression(stringArray) {
5
- if (stringArray.length < 2) {
6
- throw new Error('String array must contain at least 2 items');
7
- }
8
- let current = {
9
- type: 'Identifier',
10
- name: stringArray[0]
11
- };
12
- for (let i = 1; i < stringArray.length; i++) {
13
- current = {
14
- type: 'MemberExpression',
15
- object: current,
16
- property: {
17
- type: 'Identifier',
18
- name: stringArray[i]
19
- },
20
- computed: false
21
- };
22
- }
23
- if (current.type !== 'MemberExpression') {
24
- throw new Error('Internal error: expected MemberExpression');
25
- }
26
- return current;
27
- }
28
- static memberExpressionToStringArray(memberExpression, maxLength) {
29
- const result = [];
30
- let current = memberExpression;
31
- while (current.type === 'MemberExpression' &&
32
- result.length < maxLength) {
33
- const prop = current.property;
34
- if (!current.computed &&
35
- prop.type === 'Identifier') {
36
- result.unshift(prop.name);
37
- }
38
- current = current.object;
39
- }
40
- if (result.length >= maxLength) {
41
- return result;
42
- }
43
- switch (current.type) {
44
- case 'Identifier':
45
- result.unshift(current.name);
46
- break;
47
- case 'ThisExpression':
48
- result.unshift('this');
49
- break;
50
- case 'StringLiteral':
51
- case 'NumericLiteral':
52
- case 'BooleanLiteral':
53
- result.unshift(String(current.value));
54
- break;
55
- case 'NullLiteral':
56
- result.unshift('null');
57
- break;
58
- }
59
- return result;
60
- }
61
- /**
62
- * 计算表达式的值
63
- * @param expression Babel AST 表达式节点
64
- * @param currentContext 当前上下文变量
65
- * @param topContext 顶层上下文变量
66
- * @returns 计算结果 (string | number | symbol | object)
67
- */
68
- static evaluateExpression(expression, currentContext = {}, topContext = {}) {
69
- const context = { ...topContext, ...currentContext };
70
- const evaluate = (expr) => {
71
- if (!expr)
72
- return undefined;
73
- switch (expr.type) {
74
- case 'Identifier':
75
- if (!expr.name)
76
- return undefined;
77
- if (expr.name in context) {
78
- return evaluate(context[expr.name]);
79
- }
80
- if (expr.name === 'this') {
81
- return currentContext;
82
- }
83
- if (expr.name === 'global') {
84
- return topContext;
85
- }
86
- throw new Error(`Undefined variable: ${expr.name}`);
87
- case 'StringLiteral':
88
- return expr.value;
89
- case 'NumericLiteral':
90
- return expr.value;
91
- case 'BooleanLiteral':
92
- return expr.value;
93
- case 'NullLiteral':
94
- return null;
95
- case 'MemberExpression':
96
- const objectValue = evaluate(expr.object);
97
- const property = expr.computed
98
- ? evaluate(expr.property)
99
- : expr.property.name;
100
- if (objectValue && typeof objectValue === 'object' && property in objectValue) {
101
- return objectValue[property];
102
- }
103
- throw new Error(`Cannot access property '${property}' of ${objectValue}`);
104
- case 'ObjectExpression':
105
- const obj = {};
106
- for (const prop of expr.properties) {
107
- if (prop.type === 'ObjectProperty') {
108
- const key = prop.computed
109
- ? evaluate(prop.key)
110
- : prop.key.name;
111
- obj[key] = evaluate(prop.value);
112
- }
113
- }
114
- return obj;
115
- case 'ArrayExpression':
116
- return expr.elements.map((element) => element && element.type !== 'SpreadElement'
117
- ? evaluate(element)
118
- : undefined);
119
- case 'UnaryExpression':
120
- const argumentValue = evaluate(expr.argument);
121
- switch (expr.operator) {
122
- case '+': return +argumentValue;
123
- case '-': return -argumentValue;
124
- case '!': return !argumentValue;
125
- case '~': return ~argumentValue;
126
- case 'typeof': return typeof argumentValue;
127
- case 'void': return void argumentValue;
128
- default: throw new Error(`Unsupported unary operator: ${expr.operator}`);
129
- }
130
- case "PrivateName":
131
- return evaluate(context[expr.id.name]);
132
- case 'BinaryExpression':
133
- const leftValue = expr.left.type == evaluate(expr.left);
134
- const rightValue = evaluate(expr.right);
135
- const isNum = typeof leftValue == "number" && typeof rightValue == "number";
136
- switch (expr.operator) {
137
- case '+': return leftValue + rightValue;
138
- case '-': if (isNum) {
139
- return leftValue - rightValue;
140
- }
141
- else
142
- return 0;
143
- case '*': if (isNum) {
144
- return leftValue * rightValue;
145
- }
146
- else
147
- return 0;
148
- case '/': if (isNum) {
149
- return leftValue / rightValue;
150
- }
151
- else
152
- return 0;
153
- case '%': if (isNum) {
154
- return leftValue % rightValue;
155
- }
156
- else
157
- return 0;
158
- case '==': return leftValue == rightValue;
159
- case '!=': return leftValue != rightValue;
160
- case '===': return leftValue === rightValue;
161
- case '!==': return leftValue !== rightValue;
162
- case '<': return leftValue < rightValue;
163
- case '<=': return leftValue <= rightValue;
164
- case '>': return leftValue > rightValue;
165
- case '>=': return leftValue >= rightValue;
166
- case '|': return leftValue | rightValue;
167
- case '&': return leftValue & rightValue;
168
- case '^': return leftValue ^ rightValue;
169
- case '<<': return leftValue << rightValue;
170
- case '>>': return leftValue >> rightValue;
171
- case '>>>': return leftValue >>> rightValue;
172
- default: throw new Error(`Unsupported binary operator: ${expr.operator}`);
173
- }
174
- case 'LogicalExpression':
175
- const left = evaluate(expr.left);
176
- switch (expr.operator) {
177
- case '&&': return left && evaluate(expr.right);
178
- case '||': return left || evaluate(expr.right);
179
- case '??': return left ?? evaluate(expr.right);
180
- default: throw new Error(`Unsupported logical operator: ${expr.operator}`);
181
- }
182
- case 'ConditionalExpression':
183
- return evaluate(expr.test)
184
- ? evaluate(expr.consequent)
185
- : evaluate(expr.alternate);
186
- case 'CallExpression':
187
- const callee = evaluate(expr.callee);
188
- if (typeof callee !== 'function') {
189
- throw new Error(`Cannot call non-function: ${callee}`);
190
- }
191
- const args = expr.arguments.map((arg) => arg.type === 'SpreadElement'
192
- ? evaluate(arg.argument)
193
- : evaluate(arg));
194
- return callee.apply(null, args);
195
- default:
196
- throw new Error(`Unsupported expression type: ${expr.type}`);
197
- }
198
- };
199
- try {
200
- return evaluate(expression);
201
- }
202
- catch (error) {
203
- throw new Error(`Expression evaluation failed: ${error.message}`);
204
- }
205
- }
206
- }
207
- exports.default = NodeUtils;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class NodeUtils{static stringArrayToMemberExpression(e){if(e.length<2)throw new Error("String array must contain at least 2 items");let r={type:"Identifier",name:e[0]};for(let t=1;t<e.length;t++)r={type:"MemberExpression",object:r,property:{type:"Identifier",name:e[t]},computed:!1};if("MemberExpression"!==r.type)throw new Error("Internal error: expected MemberExpression");return r}static memberExpressionToStringArray(e,r){const t=[];let n=e;for(;"MemberExpression"===n.type&&t.length<r;){const e=n.property;n.computed||"Identifier"!==e.type||t.unshift(e.name),n=n.object}if(t.length>=r)return t;switch(n.type){case"Identifier":t.unshift(n.name);break;case"ThisExpression":t.unshift("this");break;case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":t.unshift(String(n.value));break;case"NullLiteral":t.unshift("null")}return t}static evaluateExpression(e,r={},t={}){const n={...t,...r},a=e=>{if(e)switch(e.type){case"Identifier":if(!e.name)return;if(e.name in n)return a(n[e.name]);if("this"===e.name)return r;if("global"===e.name)return t;throw new Error(`Undefined variable: ${e.name}`);case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":return e.value;case"NullLiteral":return null;case"MemberExpression":const s=a(e.object),o=e.computed?a(e.property):e.property.name;if(s&&"object"==typeof s&&o in s)return s[o];throw new Error(`Cannot access property '${o}' of ${s}`);case"ObjectExpression":const i={};for(const r of e.properties)if("ObjectProperty"===r.type){i[r.computed?a(r.key):r.key.name]=a(r.value)}return i;case"ArrayExpression":return e.elements.map(e=>e&&"SpreadElement"!==e.type?a(e):void 0);case"UnaryExpression":const c=a(e.argument);switch(e.operator){case"+":return+c;case"-":return-c;case"!":return!c;case"~":return~c;case"typeof":return typeof c;case"void":return;default:throw new Error(`Unsupported unary operator: ${e.operator}`)}case"PrivateName":return a(n[e.id.name]);case"BinaryExpression":const u=e.left.type==a(e.left),p=a(e.right),l="number"==typeof u&&"number"==typeof p;switch(e.operator){case"+":return u+p;case"-":return l?u-p:0;case"*":return l?u*p:0;case"/":return l?u/p:0;case"%":return l?u%p:0;case"==":return u==p;case"!=":return u!=p;case"===":return u===p;case"!==":return u!==p;case"<":return u<p;case"<=":return u<=p;case">":return u>p;case">=":return u>=p;case"|":return u|p;case"&":return u&p;case"^":return u^p;case"<<":return u<<p;case">>":return u>>p;case">>>":return u>>>p;default:throw new Error(`Unsupported binary operator: ${e.operator}`)}case"LogicalExpression":const f=a(e.left);switch(e.operator){case"&&":return f&&a(e.right);case"||":return f||a(e.right);case"??":return f??a(e.right);default:throw new Error(`Unsupported logical operator: ${e.operator}`)}case"ConditionalExpression":return a(e.test)?a(e.consequent):a(e.alternate);case"CallExpression":const m=a(e.callee);if("function"!=typeof m)throw new Error(`Cannot call non-function: ${m}`);const y=e.arguments.map(e=>"SpreadElement"===e.type?a(e.argument):a(e));return m.apply(null,y);default:throw new Error(`Unsupported expression type: ${e.type}`)}};try{return a(e)}catch(e){throw new Error(`Expression evaluation failed: ${e.message}`)}}}exports.default=NodeUtils;
package/lib/mcx/index.js CHANGED
@@ -1,13 +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
- const index_js_1 = __importDefault(require("./ast/index.js"));
7
- const index_js_2 = __importDefault(require("./compile-mcx/index.js"));
8
- const utils_js_1 = __importDefault(require("./utils.js"));
9
- exports.default = {
10
- load: index_js_2.default,
11
- AST: index_js_1.default,
12
- utils: utils_js_1.default,
13
- };
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const index_js_1=__importDefault(require("./ast/index.js")),index_js_2=__importDefault(require("./compile-mcx/index.js")),utils_js_1=__importDefault(require("./utils.js"));exports.default={load:index_js_2.default,AST:index_js_1.default,utils:utils_js_1.default};
@@ -1,7 +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
- const app_mcx_1 = __importDefault(require("./app.mcx"));
7
- app_mcx_1.default.start();
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const app_mcx_1=__importDefault(require("./app.mcx"));app_mcx_1.default.start();
package/lib/mcx/test.js CHANGED
@@ -1,21 +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 = test;
7
- const _1 = __importDefault(require("."));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- async function test() {
10
- const testPath = node_path_1.default.join(__dirname, "./tezt");
11
- await _1.default.load({
12
- ProjectDir: testPath,
13
- cacheDir: node_path_1.default.join(testPath, ".cache"),
14
- isCache: true,
15
- moduleDir: node_path_1.default.join(testPath, "node_modules"),
16
- output: node_path_1.default.join(testPath, "dist"),
17
- moduleList: [],
18
- config: {},
19
- main: "./main.js"
20
- });
21
- }
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=test;const _1=__importDefault(require(".")),node_path_1=__importDefault(require("node:path"));async function test(){const e=node_path_1.default.join(__dirname,"./tezt");await _1.default.load({ProjectDir:e,cacheDir:node_path_1.default.join(e,".cache"),isCache:!0,moduleDir:node_path_1.default.join(e,"node_modules"),output:node_path_1.default.join(e,"dist"),moduleList:[],config:{},main:"./main.js"})}
package/lib/mcx/types.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
package/lib/mcx/utils.js CHANGED
@@ -1,86 +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
- const promises_1 = __importDefault(require("node:fs/promises"));
7
- const node_path_1 = __importDefault(require("node:path"));
8
- class McxUtlis {
9
- /**
10
- * 检查文件是否存在
11
- * @param path 文件路径
12
- * @returns 是否存在
13
- */
14
- static async FileExsit(path) {
15
- try {
16
- await promises_1.default.access(path);
17
- return true;
18
- }
19
- catch {
20
- return false;
21
- }
22
- }
23
- /**
24
- * 读取文件内容,支持返回 string 或 object,带重试机制
25
- * @param filePath 文件路径
26
- * @param opt 配置选项
27
- * @returns 文件内容(string | object),出错时返回 {}
28
- */
29
- static async readFile(filePath, opt = {}) {
30
- // 补全必填字段,确保类型安全
31
- const opts = {
32
- delay: 200, // 默认延迟
33
- maxRetries: 3, // 默认最大重试次数
34
- want: 'string', // 默认返回字符串
35
- ...opt, // 用户传入的配置覆盖默认值
36
- };
37
- for (let attempt = 0; attempt < opts.maxRetries; attempt++) {
38
- try {
39
- const buffer = await promises_1.default.readFile(filePath);
40
- let text;
41
- if (opts.want === 'string') {
42
- text = buffer.toString(); // Buffer -> string
43
- }
44
- else if (opts.want === 'object') {
45
- try {
46
- text = JSON.parse(buffer.toString()); // Buffer -> string -> object
47
- }
48
- catch (parseErr) {
49
- // JSON 解析失败时返回空对象
50
- text = {};
51
- }
52
- }
53
- else {
54
- // 默认情况也返回字符串
55
- text = buffer.toString();
56
- }
57
- return text;
58
- }
59
- catch (err) {
60
- // 如果不是最后一次尝试,则等待后重试
61
- if (attempt < opts.maxRetries - 1) {
62
- await McxUtlis.sleep(opts.delay);
63
- }
64
- }
65
- }
66
- return opts.want === 'object' ? {} : '';
67
- }
68
- static sleep(time) {
69
- return new Promise((resolve) => setTimeout(resolve, time));
70
- }
71
- // 在运行时进行对象类型验证
72
- static TypeVerify(obj, types) {
73
- for (const item of Object.entries(types)) {
74
- const [key, ShouldType] = item;
75
- if (!(typeof obj[key] === ShouldType))
76
- return false;
77
- }
78
- return true;
79
- }
80
- static AbsoluteJoin(baseDir, inputPath) {
81
- return node_path_1.default.isAbsolute(inputPath) ?
82
- inputPath :
83
- node_path_1.default.join(baseDir, inputPath);
84
- }
85
- }
86
- exports.default = McxUtlis;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const promises_1=__importDefault(require("node:fs/promises")),node_path_1=__importDefault(require("node:path"));class McxUtlis{static async FileExsit(t){try{return await promises_1.default.access(t),!0}catch{return!1}}static async readFile(t,e={}){const r={delay:200,maxRetries:3,want:"string",...e};for(let e=0;e<r.maxRetries;e++)try{const e=await promises_1.default.readFile(t);let s;if("string"===r.want)s=e.toString();else if("object"===r.want)try{s=JSON.parse(e.toString())}catch(t){s={}}else s=e.toString();return s}catch(t){e<r.maxRetries-1&&await McxUtlis.sleep(r.delay)}return"object"===r.want?{}:""}static sleep(t){return new Promise(e=>setTimeout(e,t))}static TypeVerify(t,e){for(const r of Object.entries(e)){const[e,s]=r;if(typeof t[e]!==s)return!1}return!0}static AbsoluteJoin(t,e){return node_path_1.default.isAbsolute(e)?e:node_path_1.default.join(t,e)}}exports.default=McxUtlis;