@mbler/mcx-core 0.0.2-alpha.r3 → 0.0.2-alpha.r4

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/README.md CHANGED
@@ -1,14 +1,15 @@
1
1
  # mcx
2
2
 
3
3
  mcx-core 是 mbler 的 mcx 功能的编译器核心,目前在 alpha 阶段。
4
- 你可以在 npm 上下载它,不过 npm 上的仅会在发布版本更新,github上为最新
5
4
 
5
+ 本工具基于 typescript 开发,底层模块加载由 rollup 支持由工具 mbler 串起编译流程。
6
6
  ## 整体架构
7
7
 
8
8
  | **npm包名** | **描述** | **完成度(%)** |
9
9
  |-----------------------|------------------------------|---------|
10
10
  | **@mbler/mcx** | 为用户提供的typescript类型包 | 0 |
11
11
  | **@mbler/mcx-core** | mcx核心编译器啥的代码 | 10 |
12
+ | **@mbler/mcx-types** | 提供类型 | 10 |
12
13
  | **@mbler/mcx-compat** | mcx检查器规则,主要适配不一样的minecraft版本 | 0 |
13
14
  | **mbler** | 核心脚手架,把这些东西组装成一个方便使用的cli工具 | 90 |
14
15
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { ParserOptions } from '@babel/parser';
1
+ import { CompileOpt } from '@mbler/mcx-types';
2
2
  import * as t from '@babel/types';
3
3
  import { Expression, CallExpression, SpreadElement, ArgumentPlaceholder, ImportDeclaration, ExportNamedDeclaration, ExportAllDeclaration, ExportDefaultDeclaration } from '@babel/types';
4
- import { RollupOptions } from 'rollup';
5
4
 
6
5
  interface BaseToken {
7
6
  data: string;
@@ -17,6 +16,10 @@ interface TagToken extends BaseToken {
17
16
  interface TagEndToken extends BaseToken {
18
17
  type: 'TagEnd';
19
18
  }
19
+ interface ContentToken extends BaseToken {
20
+ type: 'Content';
21
+ }
22
+ type Token = TagToken | TagEndToken | ContentToken;
20
23
  type AttributeMap = Record<string, string | boolean>;
21
24
  interface MCXLoc {
22
25
  start: {
@@ -57,6 +60,28 @@ interface ParseReadFileOpt {
57
60
  want: 'string' | 'object';
58
61
  }
59
62
  type ReadFileOpt = Partial<ParseReadFileOpt>;
63
+ type mcxType = "component" | "event" | "app";
64
+
65
+ type types_AttributeMap = AttributeMap;
66
+ type types_BaseToken = BaseToken;
67
+ type types_ContentToken = ContentToken;
68
+ type types_JsType = JsType;
69
+ type types_MCXLoc = MCXLoc;
70
+ type types_ParseReadFileOpt = ParseReadFileOpt;
71
+ type types_ParsedTagContentNode = ParsedTagContentNode;
72
+ type types_ParsedTagNode = ParsedTagNode;
73
+ type types_PropNode = PropNode;
74
+ type types_PropValue = PropValue;
75
+ type types_ReadFileOpt = ReadFileOpt;
76
+ type types_TagEndToken = TagEndToken;
77
+ type types_TagToken = TagToken;
78
+ type types_Token = Token;
79
+ type types_TokenType = TokenType;
80
+ type types_TypeVerifyBody = TypeVerifyBody;
81
+ type types_mcxType = mcxType;
82
+ declare namespace types {
83
+ export type { types_AttributeMap as AttributeMap, types_BaseToken as BaseToken, types_ContentToken as ContentToken, types_JsType as JsType, types_MCXLoc as MCXLoc, types_ParseReadFileOpt as ParseReadFileOpt, types_ParsedTagContentNode as ParsedTagContentNode, types_ParsedTagNode as ParsedTagNode, types_PropNode as PropNode, types_PropValue as PropValue, types_ReadFileOpt as ReadFileOpt, types_TagEndToken as TagEndToken, types_TagToken as TagToken, types_Token as Token, types_TokenType as TokenType, types_TypeVerifyBody as TypeVerifyBody, types_mcxType as mcxType };
84
+ }
60
85
 
61
86
  declare function PropParser(code: string): PropNode[];
62
87
 
@@ -122,18 +147,6 @@ interface MCXstructureLoc {
122
147
  }>;
123
148
  }
124
149
 
125
- interface CompileUserConfig {
126
- babelParser?: ParserOptions;
127
- rollupOptions?: RollupOptions;
128
- }
129
- interface CompileOpt {
130
- main: string;
131
- ProjectDir: string;
132
- moduleDir: string;
133
- output: string;
134
- config?: Partial<CompileUserConfig>;
135
- }
136
-
137
150
  declare function CompileMcxDir(BuildOpt: CompileOpt): Promise<void>;
138
151
 
139
152
  declare class McxUtlis {
@@ -217,6 +230,8 @@ declare namespace Compiler {
217
230
  export type { Compiler_Context as Context };
218
231
  }
219
232
 
233
+ declare function transform(compileData: MCXCompileData): Promise<string>;
234
+
220
235
  declare const _default: {
221
236
  load: typeof CompileMcxDir;
222
237
  AST: {
@@ -225,6 +240,7 @@ declare const _default: {
225
240
  };
226
241
  Compiler: typeof Compiler;
227
242
  utils: typeof McxUtlis;
243
+ transform: typeof transform;
228
244
  };
229
245
 
230
- export { _default as default };
246
+ export { types as PUBTYPE, _default as default };
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var fs = require('node:fs/promises');
4
6
  var path = require('node:path');
5
7
  var rollup = require('rollup');
@@ -8,6 +10,7 @@ var json = require('@rollup/plugin-json');
8
10
  var module_resolve = require('@rollup/plugin-node-resolve');
9
11
  var t = require('@babel/types');
10
12
  var Parser = require('@babel/parser');
13
+ var generator = require('@babel/generator');
11
14
 
12
15
  function _interopNamespaceDefault(e) {
13
16
  var n = Object.create(null);
@@ -30,6 +33,7 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
30
33
  var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
31
34
  var t__namespace = /*#__PURE__*/_interopNamespaceDefault(t);
32
35
  var Parser__namespace = /*#__PURE__*/_interopNamespaceDefault(Parser);
36
+ var generator__namespace = /*#__PURE__*/_interopNamespaceDefault(generator);
33
37
 
34
38
  let Lexer$1 = class Lexer {
35
39
  text;
@@ -88,8 +92,8 @@ let Lexer$1 = class Lexer {
88
92
  inKey = false;
89
93
  inValue = true;
90
94
  const nextIndex = i + 1;
91
- const nextChar = nextIndex < tagContent.length ? tagContent[nextIndex] : ' ';
92
- quoteChar = (nextChar === '"' || nextChar === "'") ? nextChar : null;
95
+ nextIndex < tagContent.length ? tagContent[nextIndex] : ' ';
96
+ quoteChar = null;
93
97
  }
94
98
  else if (char === ' ' && inKey && currentKey) {
95
99
  attributes[currentKey.trim()] = 'true';
@@ -1278,24 +1282,178 @@ var Compiler = /*#__PURE__*/Object.freeze({
1278
1282
  compileMCXFn: compileMCXFn
1279
1283
  });
1280
1284
 
1285
+ var config = {
1286
+ // script tag compile function name
1287
+ scriptCompileFn: "__main",
1288
+ // use event tag , import event as
1289
+ eventImported: "__mcx__event",
1290
+ eventVarName: "__use_event"
1291
+ };
1292
+
1293
+ const allKeys = (() => {
1294
+ // 闭包
1295
+ const findkeyByVarId = (id, result) => {
1296
+ if (id.type == "VoidPattern")
1297
+ return;
1298
+ if (id.type == "ArrayPattern") {
1299
+ id.elements.forEach((node) => {
1300
+ if (!node)
1301
+ return;
1302
+ findkeyByVarId(node, result);
1303
+ });
1304
+ }
1305
+ else if (id.type == "Identifier") {
1306
+ result.push(id.name);
1307
+ }
1308
+ else if (id.type == "RestElement") {
1309
+ id.argument;
1310
+ findkeyByVarId(id, result);
1311
+ }
1312
+ else if (id.type == "ObjectPattern") {
1313
+ for (const property of id.properties) {
1314
+ if (property.type == "ObjectProperty") {
1315
+ const key = property.key;
1316
+ if (property.value.type == "AssignmentPattern") {
1317
+ const assigmentNode = property.value;
1318
+ findkeyByVarId(assigmentNode.left, result);
1319
+ }
1320
+ else if (key.type == "Identifier") {
1321
+ result.push(key.name);
1322
+ }
1323
+ continue;
1324
+ }
1325
+ findkeyByVarId(property.argument, result);
1326
+ }
1327
+ }
1328
+ else if (id.type == "AssignmentPattern") {
1329
+ findkeyByVarId(id.left, result);
1330
+ }
1331
+ };
1332
+ return (node) => {
1333
+ let result = [];
1334
+ if (node.type == "VariableDeclaration") {
1335
+ for (const declaration of node.declarations) {
1336
+ findkeyByVarId(declaration.id, result);
1337
+ }
1338
+ }
1339
+ return result;
1340
+ };
1341
+ })();
1342
+ const generateTempId = (() => {
1343
+ let num = 0;
1344
+ return () => {
1345
+ num++;
1346
+ return `__mcx_${num}`;
1347
+ };
1348
+ })();
1349
+ function generateMain(JSIR) {
1350
+ const base = t__namespace.blockStatement(JSIR.node.body);
1351
+ const exports$1 = [];
1352
+ const importDeclarations = JSIR.BuildCache.import.map(Utils.CacheToImportNode);
1353
+ if (JSIR.BuildCache.export.length >= 1)
1354
+ for (let exportNode of JSIR.BuildCache.export) {
1355
+ // namedExport
1356
+ if (exportNode.type == "ExportNamedDeclaration") {
1357
+ if (exportNode.declaration) {
1358
+ // push declaration
1359
+ base.body.push(exportNode.declaration);
1360
+ // add export
1361
+ const keys = allKeys(exportNode.declaration);
1362
+ // ExportNamedDeclaration can export one and more items. So forEach it.
1363
+ keys.forEach((item) => {
1364
+ const milb = t__namespace.identifier(item);
1365
+ exports$1.push(t__namespace.objectProperty(milb, milb));
1366
+ });
1367
+ continue;
1368
+ }
1369
+ else if (exportNode.specifiers.length >= 1 && exportNode.source) {
1370
+ importDeclarations.push(t__namespace.importDeclaration(exportNode.specifiers.map((vaule) => {
1371
+ if (vaule) {
1372
+ if (vaule.type == "ExportSpecifier") {
1373
+ return t__namespace.importSpecifier(vaule.local, vaule.exported);
1374
+ }
1375
+ else if (vaule.type == "ExportNamespaceSpecifier") {
1376
+ return t__namespace.importNamespaceSpecifier(vaule.exported);
1377
+ }
1378
+ else {
1379
+ return t__namespace.importDefaultSpecifier(vaule.exported);
1380
+ }
1381
+ }
1382
+ throw new Error("[compile export]: can't handler specifier");
1383
+ }), exportNode.source));
1384
+ }
1385
+ }
1386
+ else if (exportNode.type == "ExportDefaultDeclaration") {
1387
+ exports$1.push(t__namespace.objectProperty(t__namespace.identifier("default"), t__namespace.isExpression(exportNode.declaration)
1388
+ ? exportNode.declaration
1389
+ : DeclarationToExpression(exportNode.declaration)));
1390
+ }
1391
+ else {
1392
+ const source = exportNode.source;
1393
+ const id = generateTempId();
1394
+ importDeclarations.push(t__namespace.importDeclaration([t__namespace.importNamespaceSpecifier(t__namespace.identifier(id))], source));
1395
+ exports$1.push(t__namespace.spreadElement(t__namespace.identifier(id)));
1396
+ }
1397
+ }
1398
+ base.body.push(t__namespace.returnStatement(t__namespace.objectExpression(exports$1)));
1399
+ return [
1400
+ ...importDeclarations,
1401
+ t__namespace.variableDeclaration("const", [
1402
+ t__namespace.variableDeclarator(t__namespace.identifier(config.scriptCompileFn), t__namespace.callExpression(t__namespace.functionExpression(null, [], base, false, false), [])),
1403
+ ]),
1404
+ ];
1405
+ }
1406
+ function DeclarationToExpression(node) {
1407
+ if (node.type == "ClassDeclaration")
1408
+ return t__namespace.classExpression(node.id, node.superClass, node.body, node.decorators);
1409
+ if (node.type == "FunctionDeclaration")
1410
+ return t__namespace.functionExpression(node.id, node.params, node.body, node.generator, node.async);
1411
+ throw new Error("[compile node]: can't to expression: " + node.type);
1412
+ }
1413
+
1281
1414
  function addImport(statement, source, importArray) {
1282
1415
  statement.unshift(t__namespace.importDeclaration(importArray, t__namespace.stringLiteral(source)));
1283
1416
  }
1284
1417
  async function compileComponent(compileData) {
1285
1418
  // TODO
1286
1419
  }
1420
+ function loadEvent(event, body) {
1421
+ const subscribeBody = [];
1422
+ for (const [name, useExport] of Object.entries(event.subscribe)) {
1423
+ subscribeBody.push(t__namespace.objectProperty(t__namespace.identifier(name), t__namespace.memberExpression(t__namespace.identifier(config.scriptCompileFn), t__namespace.identifier(useExport))));
1424
+ }
1425
+ const armg = t__namespace.objectExpression([
1426
+ t__namespace.objectProperty(t__namespace.identifier("on"), t__namespace.stringLiteral(event.on)),
1427
+ t__namespace.objectProperty(t__namespace.identifier("data"), t__namespace.objectExpression(subscribeBody)),
1428
+ ]);
1429
+ body.push(t__namespace.variableDeclaration("const", [
1430
+ t__namespace.variableDeclarator(t__namespace.identifier(config.eventVarName), t__namespace.newExpression(t__namespace.identifier(config.eventImported), [armg])),
1431
+ ]));
1432
+ }
1287
1433
  async function transform(compileData) {
1288
1434
  const mcxModule = "@mbler/mcx";
1289
- const statement = [];
1435
+ // first compile script
1436
+ const statement = generateMain(compileData.JSIR);
1437
+ const exportIndex = [];
1438
+ let mcxtype = null;
1290
1439
  if (compileData.strLoc.Event.isLoad) {
1440
+ mcxtype = "event";
1291
1441
  addImport(statement, mcxModule, [
1292
- t__namespace.importSpecifier(t__namespace.identifier("__mcx__event"), t__namespace.identifier("Event")),
1442
+ t__namespace.importSpecifier(t__namespace.identifier(config.eventImported), t__namespace.identifier("Event")),
1293
1443
  ]);
1444
+ loadEvent(compileData.strLoc.Event, statement);
1445
+ exportIndex.push(t__namespace.exportSpecifier(t__namespace.identifier(config.eventVarName), t__namespace.identifier("event")));
1294
1446
  }
1295
1447
  if (Object.keys(compileData.strLoc.Component).length >= 1) {
1448
+ if (mcxtype == "event")
1449
+ throw new Error("[compile component]: a mcx must event or component, can't both");
1296
1450
  compileComponent();
1451
+ // component 是宏,不必参与编译
1452
+ return "export default {use(){}}";
1297
1453
  }
1298
- return "";
1454
+ exportIndex.push(t__namespace.exportSpecifier(t__namespace.identifier("__main"), t__namespace.identifier("default")));
1455
+ statement.push(t__namespace.exportNamedDeclaration(null, exportIndex));
1456
+ return generator__namespace.generate(t__namespace.program(statement)).code;
1299
1457
  }
1300
1458
 
1301
1459
  function mcxPlugn() {
@@ -1332,11 +1490,19 @@ function AbsoluteJoin(base, dir) {
1332
1490
  return path.isAbsolute(dir) ? dir : path.join(base, dir);
1333
1491
  }
1334
1492
  async function CompileProject(opt) {
1335
- await rollup.rollup({
1493
+ const rollupResult = await rollup.rollup({
1336
1494
  input: AbsoluteJoin(opt.ProjectDir, opt.main),
1337
1495
  external: ["@minecraft/server", "@minecraft/server-ui"],
1338
1496
  plugins: [mcxPlugn(), commjs(), json(), module_resolve()],
1339
1497
  });
1498
+ await fs.rm(opt.output, {
1499
+ recursive: true
1500
+ });
1501
+ await rollupResult.write({
1502
+ file: AbsoluteJoin(opt.output, "./index.js"),
1503
+ format: "esm",
1504
+ sourcemap: true
1505
+ });
1340
1506
  }
1341
1507
 
1342
1508
  /**
@@ -1371,12 +1537,18 @@ async function CompileMcxDir(BuildOpt) {
1371
1537
  await CompileMcxProject(BuildOpt);
1372
1538
  }
1373
1539
 
1540
+ var types = /*#__PURE__*/Object.freeze({
1541
+ __proto__: null
1542
+ });
1543
+
1374
1544
  var index = {
1375
1545
  load: CompileMcxDir,
1376
1546
  AST: AST,
1377
1547
  Compiler,
1378
1548
  utils: McxUtlis,
1549
+ transform
1379
1550
  };
1380
1551
 
1381
- module.exports = index;
1552
+ exports.PUBTYPE = types;
1553
+ exports.default = index;
1382
1554
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ast/tag.ts","../src/ast/prop.ts","../src/ast/index.ts","../src/utils.ts","../src/compile-mcx/types.ts","../src/compile-mcx/compiler/compileData.ts","../src/compile-mcx/compiler/utils.ts","../src/compile-mcx/compiler/index.ts","../src/transforms/index.ts","../src/compile-mcx/compiler/main.ts","../src/compile-mcx/compile.ts","../src/compile-mcx/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Lexer","AST_tag","AST_prop","fs","path","readFile","Parser","t","CompileData.JsCompileData","CompileData.MCXCompileData","parse","extname","isAbsolute","join","rollup","Utils","mkdir","CompileMain","Compiler","compiler","utils"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/ast/tag.ts","../src/ast/prop.ts","../src/ast/index.ts","../src/utils.ts","../src/compile-mcx/types.ts","../src/compile-mcx/compiler/compileData.ts","../src/compile-mcx/compiler/utils.ts","../src/compile-mcx/compiler/index.ts","../src/transforms/config.ts","../src/transforms/utils.ts","../src/transforms/index.ts","../src/compile-mcx/compiler/main.ts","../src/compile-mcx/compile.ts","../src/compile-mcx/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Lexer","AST_tag","AST_prop","fs","path","readFile","Parser","t","CompileData.JsCompileData","CompileData.MCXCompileData","parse","exports","generator","extname","isAbsolute","join","rollup","rm","Utils","mkdir","CompileMain","Compiler","compiler","utils"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import type { ParserOptions } from "@babel/parser";
2
1
  import type { ImportDeclaration, ExportAllDeclaration, ExportDefaultDeclaration, ExportNamedDeclaration, Expression, SpreadElement, ArgumentPlaceholder, CallExpression } from "@babel/types";
3
- import { RollupOptions } from "rollup";
2
+ import { CompileOpt } from "@mbler/mcx-types";
4
3
  interface callList {
5
4
  source: Expression;
6
5
  set: (callEXp: CallExpression) => boolean;
@@ -22,12 +21,6 @@ interface BuildCache {
22
21
  import: ImportList[];
23
22
  export: Array<ExportNamedDeclaration | ExportAllDeclaration | ExportDefaultDeclaration>;
24
23
  }
25
- type MCX_INFO = {
26
- author: "github@RuanhoR";
27
- buildSystem: string;
28
- buildSystemVersion: string;
29
- buildTime: number;
30
- };
31
24
  export declare const _MCXstructureLocComponentTypes: {
32
25
  readonly items: "item";
33
26
  readonly blocks: "block";
@@ -54,15 +47,4 @@ interface MCXstructureLoc {
54
47
  };
55
48
  }>;
56
49
  }
57
- export type { BuildCache, MCX_INFO, ImportList, ImportListImport, CompileOpt, callList, MCXstructureLoc, MCXstructureLocComponentType };
58
- interface CompileUserConfig {
59
- babelParser?: ParserOptions;
60
- rollupOptions?: RollupOptions;
61
- }
62
- interface CompileOpt {
63
- main: string;
64
- ProjectDir: string;
65
- moduleDir: string;
66
- output: string;
67
- config?: Partial<CompileUserConfig>;
68
- }
50
+ export type { BuildCache, ImportList, ImportListImport, callList, CompileOpt, MCXstructureLoc, MCXstructureLocComponentType };
@@ -1,6 +1,8 @@
1
1
  import compiler from "./compile-mcx/index.js";
2
2
  import utils from "./utils.js";
3
3
  import * as Compiler from "./compile-mcx/compiler";
4
+ import * as PUBTYPE from "./types.js";
5
+ import { transform } from "./transforms";
4
6
  declare const _default: {
5
7
  load: typeof compiler;
6
8
  AST: {
@@ -9,5 +11,7 @@ declare const _default: {
9
11
  };
10
12
  Compiler: typeof Compiler;
11
13
  utils: typeof utils;
14
+ transform: typeof transform;
12
15
  };
13
16
  export default _default;
17
+ export { PUBTYPE };
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ readonly scriptCompileFn: "__main";
3
+ readonly eventImported: "__mcx__event";
4
+ readonly eventVarName: "__use_event";
5
+ };
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import * as t from "@babel/types";
2
+ import { JsCompileData } from "../compile-mcx/compiler/compileData";
3
+ declare const allKeys: (node: t.Declaration) => string[];
4
+ declare function generateMain(JSIR: JsCompileData): [...t.ImportDeclaration[], t.VariableDeclaration];
5
+ declare function DeclarationToExpression(node: t.FunctionDeclaration | t.ClassDeclaration | t.TSDeclareFunction): t.Expression;
6
+ export { DeclarationToExpression, generateMain, allKeys };
@@ -56,4 +56,5 @@ export interface ParseReadFileOpt {
56
56
  want: 'string' | 'object';
57
57
  }
58
58
  export type ReadFileOpt = Partial<ParseReadFileOpt>;
59
+ export type mcxType = "component" | "event" | "app";
59
60
  export type { Token, ContentToken, TagEndToken, TagToken, BaseToken, AttributeMap, PropValue, TokenType, ParsedTagContentNode, TypeVerifyBody, JsType, PropNode, ParsedTagNode, MCXLoc };
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@mbler/mcx-core",
3
- "version": "0.0.2-alpha.r3",
3
+ "version": "0.0.2-alpha.r4",
4
4
  "description": "a DSL compiler of mcx",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
- "test": "node __test__/index.js",
7
+ "test": "cd __test__ && npm run test",
8
8
  "build": "rollup -c"
9
9
  },
10
10
  "keywords": [
@@ -26,8 +26,7 @@
26
26
  "files": [
27
27
  "dist",
28
28
  "README.md",
29
- "LICENSE",
30
- "__test__"
29
+ "LICENSE"
31
30
  ],
32
31
  "publishConfig": {
33
32
  "registry": "https://registry.npmjs.org",
@@ -40,6 +39,7 @@
40
39
  "@types/babel__generator": "^7.27.0",
41
40
  "@types/node": "^25.2.0",
42
41
  "rollup-plugin-dts": "^6.3.0",
43
- "tslib": "^2.8.1"
42
+ "tslib": "^2.8.1",
43
+ "@mbler/mcx-types": "latest"
44
44
  }
45
45
  }
package/__test__/index.js DELETED
@@ -1,2 +0,0 @@
1
- import * as MCX from "./../dist/index.cjs";
2
- MCX.load()
@@ -1,18 +0,0 @@
1
- import { CompileOpt } from "../types";
2
- import * as CompileData from "./compileData";
3
- import * as t from "@babel/types";
4
- export default class CompileMain {
5
- opt: CompileOpt;
6
- main: string;
7
- cacheMap: Map<string, CompileData.JsCompileData | CompileData.MCXCompileData | string>;
8
- constructor(opt: CompileOpt);
9
- bundlerProgram: t.Program | null;
10
- start(): Promise<void>;
11
- moduleId: Record<string, number>;
12
- private handlerCall;
13
- private loadModule;
14
- private generateFnId;
15
- private pushModule;
16
- private buildFunction;
17
- private compMain;
18
- }
@@ -1,4 +0,0 @@
1
- export declare function genentateModuleNode(moduleName: string, FilePath: string): {
2
- stat: "skip" | "success";
3
- data: null | string;
4
- };
@@ -1,10 +0,0 @@
1
- import type { MCX_INFO, BuildCache } from "./types.js";
2
- export default class Context {
3
- __MCX__: MCX_INFO;
4
- }
5
- interface contextType {
6
- BuildCache: BuildCache;
7
- __MCX__: MCX_INFO;
8
- }
9
- export type { contextType };
10
- export declare const InfoCompile: string[];
@@ -1,2 +0,0 @@
1
- import { JsCompileData, MCXCompileData } from "../compiler/compileData";
2
- export declare function loader(_dir: string): Promise<string | JsCompileData | MCXCompileData>;
@@ -1 +0,0 @@
1
- export default function MCXLoader(fileDir: string): Promise<import("../compiler/compileData").MCXCompileData>;
@@ -1,12 +0,0 @@
1
- import type { JsCompileData, MCXCompileData } from "../compiler/compileData";
2
- declare class Utils {
3
- CheckPath(filePath: string): string;
4
- readFile(filePath: string): Promise<Buffer>;
5
- readFileAsJSON(filePath: string): Promise<any>;
6
- readFileAsMcx(filePath: string): Promise<MCXCompileData>;
7
- readFileAsJS(filePath: string): Promise<JsCompileData>;
8
- writeFile(filePath: string, data: string | Buffer): Promise<boolean>;
9
- }
10
- declare const utils: Utils;
11
- export default utils;
12
- export { utils as Utils };
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { FunctionDeclaration } from "@babel/types";
2
- declare const index: {
3
- readonly module: FunctionDeclaration;
4
- };
5
- export default index;
@@ -1,2 +0,0 @@
1
- declare function __mcxlib__module__(): any;
2
- export default __mcxlib__module__;