@mbler/mcx-core 0.0.2-alpha.r2 → 0.0.2-alpha.r3
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/__test__/index.js +2 -0
- package/dist/index.d.ts +116 -5
- package/dist/{index.cjs.js → index.js} +204 -190
- package/dist/index.js.map +1 -0
- package/dist/types/compile-mcx/compiler/compileMain.d.ts +8 -0
- package/dist/types/compile-mcx/compiler/index.d.ts +10 -0
- package/dist/types/compile-mcx/compiler/main.d.ts +2 -0
- package/dist/types/compile-mcx/compiler/str.d.ts +6 -0
- package/dist/types/compile-mcx/types.d.ts +15 -7
- package/dist/types/index.d.ts +2 -0
- package/dist/types/mcxlib/index.d.ts +5 -0
- package/dist/types/mcxlib/module.d.ts +2 -0
- package/dist/types/transforms/index.d.ts +2 -0
- package/package.json +10 -10
package/__test__/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { ParserOptions } from '@babel/parser';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
import { Expression, CallExpression, SpreadElement, ArgumentPlaceholder, ImportDeclaration, ExportNamedDeclaration, ExportAllDeclaration, ExportDefaultDeclaration } from '@babel/types';
|
|
4
|
+
import { RollupOptions } from 'rollup';
|
|
2
5
|
|
|
3
6
|
interface BaseToken {
|
|
4
7
|
data: string;
|
|
@@ -71,19 +74,64 @@ declare class McxAst {
|
|
|
71
74
|
static generateCode(node: ParsedTagNode): string;
|
|
72
75
|
}
|
|
73
76
|
|
|
77
|
+
interface callList {
|
|
78
|
+
source: Expression;
|
|
79
|
+
set: (callEXp: CallExpression) => boolean;
|
|
80
|
+
arguments: Array<SpreadElement | Expression | ArgumentPlaceholder>;
|
|
81
|
+
remove: () => void;
|
|
82
|
+
}
|
|
83
|
+
interface ImportListImport {
|
|
84
|
+
isAll: boolean;
|
|
85
|
+
import?: string | undefined;
|
|
86
|
+
as: string;
|
|
87
|
+
}
|
|
88
|
+
interface ImportList {
|
|
89
|
+
source: string;
|
|
90
|
+
imported: ImportListImport[];
|
|
91
|
+
raw?: ImportDeclaration;
|
|
92
|
+
}
|
|
93
|
+
interface BuildCache {
|
|
94
|
+
call: callList[];
|
|
95
|
+
import: ImportList[];
|
|
96
|
+
export: Array<ExportNamedDeclaration | ExportAllDeclaration | ExportDefaultDeclaration>;
|
|
97
|
+
}
|
|
98
|
+
declare const _MCXstructureLocComponentTypes: {
|
|
99
|
+
readonly items: "item";
|
|
100
|
+
readonly blocks: "block";
|
|
101
|
+
readonly entities: "entity";
|
|
102
|
+
};
|
|
103
|
+
type MCXstructureLocComponentType = typeof _MCXstructureLocComponentTypes[keyof typeof _MCXstructureLocComponentTypes];
|
|
104
|
+
interface MCXstructureLoc {
|
|
105
|
+
script: string;
|
|
106
|
+
Event: {
|
|
107
|
+
on: "after" | "before";
|
|
108
|
+
subscribe: Record<string, string>;
|
|
109
|
+
loc: {
|
|
110
|
+
line: number;
|
|
111
|
+
pos: number;
|
|
112
|
+
};
|
|
113
|
+
isLoad: boolean;
|
|
114
|
+
};
|
|
115
|
+
Component: Record<string, {
|
|
116
|
+
type: MCXstructureLocComponentType;
|
|
117
|
+
useExpore: string;
|
|
118
|
+
loc: {
|
|
119
|
+
line: number;
|
|
120
|
+
pos: number;
|
|
121
|
+
};
|
|
122
|
+
}>;
|
|
123
|
+
}
|
|
124
|
+
|
|
74
125
|
interface CompileUserConfig {
|
|
75
126
|
babelParser?: ParserOptions;
|
|
76
|
-
|
|
127
|
+
rollupOptions?: RollupOptions;
|
|
77
128
|
}
|
|
78
129
|
interface CompileOpt {
|
|
79
|
-
cacheDir: string;
|
|
80
130
|
main: string;
|
|
81
131
|
ProjectDir: string;
|
|
82
132
|
moduleDir: string;
|
|
83
|
-
moduleList: string[];
|
|
84
133
|
output: string;
|
|
85
|
-
|
|
86
|
-
config: Partial<CompileUserConfig>;
|
|
134
|
+
config?: Partial<CompileUserConfig>;
|
|
87
135
|
}
|
|
88
136
|
|
|
89
137
|
declare function CompileMcxDir(BuildOpt: CompileOpt): Promise<void>;
|
|
@@ -107,12 +155,75 @@ declare class McxUtlis {
|
|
|
107
155
|
static AbsoluteJoin(baseDir: string, inputPath: string): string;
|
|
108
156
|
}
|
|
109
157
|
|
|
158
|
+
declare class JsCompileData {
|
|
159
|
+
node: t.Program;
|
|
160
|
+
BuildCache: BuildCache;
|
|
161
|
+
File: string;
|
|
162
|
+
isFile: boolean;
|
|
163
|
+
constructor(node: t.Program, BuildCache?: BuildCache);
|
|
164
|
+
setFilePath(dir: string): void;
|
|
165
|
+
}
|
|
166
|
+
declare class MCXCompileData {
|
|
167
|
+
raw: ParsedTagNode[];
|
|
168
|
+
JSIR: JsCompileData;
|
|
169
|
+
strLoc: MCXstructureLoc;
|
|
170
|
+
File: string;
|
|
171
|
+
isFile: boolean;
|
|
172
|
+
constructor(raw: ParsedTagNode[], JSIR: JsCompileData, strLoc: MCXstructureLoc);
|
|
173
|
+
setFilePath(dir: string): void;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
declare class CompileError extends Error {
|
|
177
|
+
loc: {
|
|
178
|
+
line: number;
|
|
179
|
+
pos: number;
|
|
180
|
+
};
|
|
181
|
+
constructor(message: string, loc: {
|
|
182
|
+
line: number;
|
|
183
|
+
pos: number;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
type Context = Record<string, t.Expression | {
|
|
187
|
+
status: "wait";
|
|
188
|
+
}>;
|
|
189
|
+
declare class CompileJS {
|
|
190
|
+
node: t.Program;
|
|
191
|
+
constructor(node: t.Program);
|
|
192
|
+
TopContext: Context;
|
|
193
|
+
private indexTemp;
|
|
194
|
+
private push;
|
|
195
|
+
private takeInnerMost;
|
|
196
|
+
private writeImportKeys;
|
|
197
|
+
private extractIdentifierNames;
|
|
198
|
+
private writeBuildCache;
|
|
199
|
+
private CompileData;
|
|
200
|
+
getCompileData(): JsCompileData;
|
|
201
|
+
private conditionalInTempImport;
|
|
202
|
+
private tre;
|
|
203
|
+
run(): void;
|
|
204
|
+
}
|
|
205
|
+
declare function compileJSFn(code: string): JsCompileData;
|
|
206
|
+
declare function compileMCXFn(mcxCode: string): MCXCompileData;
|
|
207
|
+
|
|
208
|
+
type Compiler_CompileError = CompileError;
|
|
209
|
+
declare const Compiler_CompileError: typeof CompileError;
|
|
210
|
+
type Compiler_CompileJS = CompileJS;
|
|
211
|
+
declare const Compiler_CompileJS: typeof CompileJS;
|
|
212
|
+
type Compiler_Context = Context;
|
|
213
|
+
declare const Compiler_compileJSFn: typeof compileJSFn;
|
|
214
|
+
declare const Compiler_compileMCXFn: typeof compileMCXFn;
|
|
215
|
+
declare namespace Compiler {
|
|
216
|
+
export { Compiler_CompileError as CompileError, Compiler_CompileJS as CompileJS, Compiler_compileJSFn as compileJSFn, Compiler_compileMCXFn as compileMCXFn };
|
|
217
|
+
export type { Compiler_Context as Context };
|
|
218
|
+
}
|
|
219
|
+
|
|
110
220
|
declare const _default: {
|
|
111
221
|
load: typeof CompileMcxDir;
|
|
112
222
|
AST: {
|
|
113
223
|
tag: typeof McxAst;
|
|
114
224
|
prop: typeof PropParser;
|
|
115
225
|
};
|
|
226
|
+
Compiler: typeof Compiler;
|
|
116
227
|
utils: typeof McxUtlis;
|
|
117
228
|
};
|
|
118
229
|
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('node:fs/promises');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
+
var rollup = require('rollup');
|
|
6
|
+
var commjs = require('@rollup/plugin-commonjs');
|
|
7
|
+
var json = require('@rollup/plugin-json');
|
|
8
|
+
var module_resolve = require('@rollup/plugin-node-resolve');
|
|
5
9
|
var t = require('@babel/types');
|
|
6
10
|
var Parser = require('@babel/parser');
|
|
7
|
-
var node_fs = require('node:fs');
|
|
8
11
|
|
|
9
12
|
function _interopNamespaceDefault(e) {
|
|
10
13
|
var n = Object.create(null);
|
|
@@ -420,12 +423,12 @@ class Lexer {
|
|
|
420
423
|
let value = "";
|
|
421
424
|
for (const char of this.code) {
|
|
422
425
|
if (/\s/.test(char)) {
|
|
423
|
-
if (char ===
|
|
426
|
+
if (char === "\n") {
|
|
424
427
|
if (currStatus === STATUS[1] && key && value) {
|
|
425
428
|
const propNode = {
|
|
426
429
|
key,
|
|
427
430
|
value: this.HandlerValue(value),
|
|
428
|
-
type: "PropChar"
|
|
431
|
+
type: "PropChar",
|
|
429
432
|
};
|
|
430
433
|
yield propNode;
|
|
431
434
|
}
|
|
@@ -435,7 +438,7 @@ class Lexer {
|
|
|
435
438
|
}
|
|
436
439
|
continue; // 跳过所有空白字符
|
|
437
440
|
}
|
|
438
|
-
if (char ===
|
|
441
|
+
if (char === "=") {
|
|
439
442
|
if (currStatus === STATUS[0]) {
|
|
440
443
|
currStatus = STATUS[1]; // 切换到 value 状态
|
|
441
444
|
}
|
|
@@ -453,21 +456,19 @@ class Lexer {
|
|
|
453
456
|
const propNode = {
|
|
454
457
|
key,
|
|
455
458
|
value: this.HandlerValue(value),
|
|
456
|
-
type: "PropChar"
|
|
459
|
+
type: "PropChar",
|
|
457
460
|
};
|
|
458
461
|
yield propNode;
|
|
459
462
|
}
|
|
460
463
|
}
|
|
461
464
|
HandlerValue(value) {
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
}
|
|
465
|
+
const num = Number(value);
|
|
466
|
+
if (!Number.isNaN(num))
|
|
467
|
+
return num;
|
|
468
|
+
if (["[", "{"].includes(value.slice(0, 1)) &&
|
|
469
|
+
["]", "}"].includes(value.slice(-1))) {
|
|
470
|
+
return JSON.parse(value);
|
|
469
471
|
}
|
|
470
|
-
catch { }
|
|
471
472
|
return value;
|
|
472
473
|
}
|
|
473
474
|
}
|
|
@@ -603,7 +604,7 @@ class MCXCompileData {
|
|
|
603
604
|
}
|
|
604
605
|
}
|
|
605
606
|
|
|
606
|
-
|
|
607
|
+
class Utils {
|
|
607
608
|
static async FileAST(fileDir, parserOpt) {
|
|
608
609
|
if (typeof fileDir !== "string")
|
|
609
610
|
throw new TypeError("[read file]: compile utils was passed a non-string value");
|
|
@@ -700,14 +701,47 @@ let Utils$1 = class Utils {
|
|
|
700
701
|
imported: result
|
|
701
702
|
};
|
|
702
703
|
}
|
|
703
|
-
}
|
|
704
|
+
}
|
|
704
705
|
|
|
706
|
+
class CompileError extends Error {
|
|
707
|
+
loc;
|
|
708
|
+
constructor(message, loc) {
|
|
709
|
+
super(message);
|
|
710
|
+
this.name = "CompileError";
|
|
711
|
+
this.loc = loc || { line: -1, pos: -1 };
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
function extractLoc(node) {
|
|
715
|
+
if (!node)
|
|
716
|
+
return { line: -1, pos: -1 };
|
|
717
|
+
// Node with loc.start (Babel or MCX): prefer column, fallback to index
|
|
718
|
+
if (node.loc && node.loc.start) {
|
|
719
|
+
const line = typeof node.loc.start.line === "number" ? node.loc.start.line : -1;
|
|
720
|
+
const pos = typeof node.loc.start.column === "number"
|
|
721
|
+
? node.loc.start.column
|
|
722
|
+
: typeof node.loc.start.index === "number"
|
|
723
|
+
? node.loc.start.index
|
|
724
|
+
: -1;
|
|
725
|
+
return { line, pos };
|
|
726
|
+
}
|
|
727
|
+
// Our token shape from Lexer: startLine / startIndex
|
|
728
|
+
if (typeof node.startLine === "number" || typeof node.startIndex === "number") {
|
|
729
|
+
const line = typeof node.startLine === "number" ? node.startLine : -1;
|
|
730
|
+
const pos = typeof node.startIndex === "number" ? node.startIndex : -1;
|
|
731
|
+
return { line, pos };
|
|
732
|
+
}
|
|
733
|
+
// (handled above) MCX ParsedTagNode loc: { start: { line, index } }
|
|
734
|
+
return { line: -1, pos: -1 };
|
|
735
|
+
}
|
|
736
|
+
function makeError(msg, node) {
|
|
737
|
+
return new CompileError(msg, extractLoc(node));
|
|
738
|
+
}
|
|
705
739
|
class CompileJS {
|
|
706
740
|
node;
|
|
707
741
|
constructor(node) {
|
|
708
742
|
this.node = node;
|
|
709
743
|
if (!t__namespace.isProgram(node))
|
|
710
|
-
throw
|
|
744
|
+
throw makeError("[compile error]: jsCompile can't work in a not program", node);
|
|
711
745
|
this.CompileData = new JsCompileData(node);
|
|
712
746
|
this.run();
|
|
713
747
|
this.writeBuildCache();
|
|
@@ -725,7 +759,7 @@ class CompileJS {
|
|
|
725
759
|
}
|
|
726
760
|
takeInnerMost(node) {
|
|
727
761
|
if (!t__namespace.isMemberExpression(node))
|
|
728
|
-
throw
|
|
762
|
+
throw makeError("[take item}: must MemberExpression", node);
|
|
729
763
|
let current = node;
|
|
730
764
|
while (true) {
|
|
731
765
|
if (t__namespace.isMemberExpression(current)) {
|
|
@@ -787,6 +821,9 @@ class CompileJS {
|
|
|
787
821
|
identifiers.push(...this.extractIdentifierNames(node.consequent));
|
|
788
822
|
identifiers.push(...this.extractIdentifierNames(node.alternate));
|
|
789
823
|
}
|
|
824
|
+
else if (t__namespace.isImport(node)) {
|
|
825
|
+
identifiers.push("import");
|
|
826
|
+
}
|
|
790
827
|
return identifiers;
|
|
791
828
|
}
|
|
792
829
|
writeBuildCache() {
|
|
@@ -812,7 +849,7 @@ class CompileJS {
|
|
|
812
849
|
}
|
|
813
850
|
}
|
|
814
851
|
if (!isFound)
|
|
815
|
-
throw
|
|
852
|
+
throw makeError("[mcx compoiler]: internal error: unexpected source");
|
|
816
853
|
}
|
|
817
854
|
else {
|
|
818
855
|
build.push({
|
|
@@ -835,7 +872,7 @@ class CompileJS {
|
|
|
835
872
|
getCompileData() {
|
|
836
873
|
return this.CompileData;
|
|
837
874
|
}
|
|
838
|
-
conditionalInTempImport(node, thisContext, remove) {
|
|
875
|
+
conditionalInTempImport(node, thisContext, remove, set) {
|
|
839
876
|
// If identifier, mark it
|
|
840
877
|
if (t__namespace.isIdentifier(node)) {
|
|
841
878
|
if (node.name in this.indexTemp &&
|
|
@@ -850,7 +887,7 @@ class CompileJS {
|
|
|
850
887
|
}
|
|
851
888
|
if (node.type == "ArrowFunctionExpression") {
|
|
852
889
|
if (t__namespace.isExpression(node.body)) {
|
|
853
|
-
this.conditionalInTempImport(node.body, thisContext, remove);
|
|
890
|
+
this.conditionalInTempImport(node.body, thisContext, remove, set);
|
|
854
891
|
}
|
|
855
892
|
else {
|
|
856
893
|
this.tre(node.body);
|
|
@@ -867,9 +904,9 @@ class CompileJS {
|
|
|
867
904
|
this.writeImportKeys.push(n);
|
|
868
905
|
}
|
|
869
906
|
// recurse into object and property when applicable
|
|
870
|
-
this.conditionalInTempImport(node.object, thisContext, remove);
|
|
907
|
+
this.conditionalInTempImport(node.object, thisContext, remove, set);
|
|
871
908
|
if (t__namespace.isExpression(node.property))
|
|
872
|
-
this.conditionalInTempImport(node.property, thisContext, remove);
|
|
909
|
+
this.conditionalInTempImport(node.property, thisContext, remove, set);
|
|
873
910
|
return;
|
|
874
911
|
}
|
|
875
912
|
// Call expression: record call for buildcache and mark identifiers used in callee and args
|
|
@@ -877,13 +914,21 @@ class CompileJS {
|
|
|
877
914
|
node.callee?.type !== "V8IntrinsicIdentifier") {
|
|
878
915
|
this.CompileData.BuildCache.call.push({
|
|
879
916
|
source: node.callee,
|
|
917
|
+
set(callExp) {
|
|
918
|
+
if (callExp.callee.type == "V8IntrinsicIdentifier")
|
|
919
|
+
return false;
|
|
920
|
+
this.source = callExp.callee;
|
|
921
|
+
this.arguments = callExp.arguments;
|
|
922
|
+
set(callExp);
|
|
923
|
+
return true;
|
|
924
|
+
},
|
|
880
925
|
arguments: node.arguments,
|
|
881
926
|
remove,
|
|
882
927
|
});
|
|
883
|
-
this.conditionalInTempImport(node.callee, thisContext, remove);
|
|
928
|
+
this.conditionalInTempImport(node.callee, thisContext, remove, set);
|
|
884
929
|
for (const arg of node.arguments) {
|
|
885
930
|
if (t__namespace.isExpression(arg))
|
|
886
|
-
this.conditionalInTempImport(arg, thisContext, remove);
|
|
931
|
+
this.conditionalInTempImport(arg, thisContext, remove, set);
|
|
887
932
|
}
|
|
888
933
|
return;
|
|
889
934
|
}
|
|
@@ -901,7 +946,7 @@ class CompileJS {
|
|
|
901
946
|
}
|
|
902
947
|
tre(node, ExtendContext = {}) {
|
|
903
948
|
if (!t__namespace.isBlock(node))
|
|
904
|
-
throw
|
|
949
|
+
throw makeError("[compile error]: can't for in not block node", node);
|
|
905
950
|
const isTop = t__namespace.isProgram(node);
|
|
906
951
|
const currenyContext = isTop ? this.TopContext : ExtendContext;
|
|
907
952
|
for (let index = 0; index < node.body.length; index++) {
|
|
@@ -910,12 +955,13 @@ class CompileJS {
|
|
|
910
955
|
node.body.splice(index, 1);
|
|
911
956
|
index--;
|
|
912
957
|
};
|
|
958
|
+
const set = (t) => (node.body[index] = t);
|
|
913
959
|
if (!item)
|
|
914
960
|
continue;
|
|
915
961
|
if (item.type == "ImportDeclaration") {
|
|
916
962
|
if (!isTop)
|
|
917
|
-
throw
|
|
918
|
-
this.push(Utils
|
|
963
|
+
throw makeError("[compile node]: import declaration must use in top.", item);
|
|
964
|
+
this.push(Utils.ImportToCache(item));
|
|
919
965
|
remove();
|
|
920
966
|
}
|
|
921
967
|
else if (item.type == "BlockStatement") {
|
|
@@ -933,7 +979,10 @@ class CompileJS {
|
|
|
933
979
|
}
|
|
934
980
|
else if (item.type == "IfStatement") {
|
|
935
981
|
const If = item.test;
|
|
936
|
-
this.conditionalInTempImport(If, currenyContext, remove)
|
|
982
|
+
this.conditionalInTempImport(If, currenyContext, remove, (t) => {
|
|
983
|
+
item.test = t;
|
|
984
|
+
return true;
|
|
985
|
+
});
|
|
937
986
|
const nodes = [item.consequent];
|
|
938
987
|
if (item.alternate)
|
|
939
988
|
nodes.push(item.alternate);
|
|
@@ -976,7 +1025,7 @@ class CompileJS {
|
|
|
976
1025
|
superClass.type == "RegExpLiteral" ||
|
|
977
1026
|
superClass.type == "DecimalLiteral" ||
|
|
978
1027
|
superClass.type == "BindExpression")
|
|
979
|
-
throw
|
|
1028
|
+
throw makeError("[compilr error]: class can't extends a not constructor or null", superClass);
|
|
980
1029
|
if (superId) {
|
|
981
1030
|
if (this.indexTemp[superId]) {
|
|
982
1031
|
this.writeImportKeys.push(superId);
|
|
@@ -986,7 +1035,10 @@ class CompileJS {
|
|
|
986
1035
|
}
|
|
987
1036
|
else if (item.type == "DoWhileStatement") {
|
|
988
1037
|
this.tre(t__namespace.blockStatement([item.body]));
|
|
989
|
-
this.conditionalInTempImport(item.test, currenyContext, remove)
|
|
1038
|
+
this.conditionalInTempImport(item.test, currenyContext, remove, (t) => {
|
|
1039
|
+
item.test = t;
|
|
1040
|
+
return true;
|
|
1041
|
+
});
|
|
990
1042
|
}
|
|
991
1043
|
else if (item.type == "VariableDeclaration") {
|
|
992
1044
|
const declaration = item.declarations;
|
|
@@ -999,7 +1051,7 @@ class CompileJS {
|
|
|
999
1051
|
status: "wait",
|
|
1000
1052
|
};
|
|
1001
1053
|
if (!init)
|
|
1002
|
-
throw
|
|
1054
|
+
throw makeError("[compilr node]: 'const' must has a init", varDef);
|
|
1003
1055
|
currenyContext[id.name] = init;
|
|
1004
1056
|
}
|
|
1005
1057
|
}
|
|
@@ -1008,29 +1060,35 @@ class CompileJS {
|
|
|
1008
1060
|
const body = item.argument;
|
|
1009
1061
|
if (!body)
|
|
1010
1062
|
continue;
|
|
1011
|
-
this.conditionalInTempImport(body, currenyContext, remove);
|
|
1063
|
+
this.conditionalInTempImport(body, currenyContext, remove, set);
|
|
1012
1064
|
}
|
|
1013
1065
|
else if (item.type == "ExportAllDeclaration" ||
|
|
1014
1066
|
item.type == "ExportDefaultDeclaration" ||
|
|
1015
1067
|
item.type == "ExportNamedDeclaration") {
|
|
1016
1068
|
if (!isTop) {
|
|
1017
|
-
throw
|
|
1069
|
+
throw makeError("[compiler]: export node can't in not top", item);
|
|
1018
1070
|
}
|
|
1019
1071
|
this.CompileData.BuildCache.export.push(item);
|
|
1020
1072
|
remove();
|
|
1021
1073
|
}
|
|
1022
1074
|
else if (item.type == "SwitchStatement") {
|
|
1023
1075
|
const vaule = item.discriminant;
|
|
1024
|
-
this.conditionalInTempImport(vaule, currenyContext, remove);
|
|
1076
|
+
this.conditionalInTempImport(vaule, currenyContext, remove, set);
|
|
1025
1077
|
for (const caseItem of item.cases) {
|
|
1026
1078
|
if (caseItem.test) {
|
|
1027
|
-
this.conditionalInTempImport(caseItem.test, currenyContext, remove)
|
|
1079
|
+
this.conditionalInTempImport(caseItem.test, currenyContext, remove, (t) => {
|
|
1080
|
+
caseItem.test = t;
|
|
1081
|
+
return true;
|
|
1082
|
+
});
|
|
1028
1083
|
}
|
|
1029
1084
|
this.tre(t__namespace.blockStatement(caseItem.consequent), currenyContext);
|
|
1030
1085
|
}
|
|
1031
1086
|
}
|
|
1032
1087
|
else if (item.type == "ExpressionStatement") {
|
|
1033
|
-
this.conditionalInTempImport(item.expression, currenyContext, remove)
|
|
1088
|
+
this.conditionalInTempImport(item.expression, currenyContext, remove, (t) => {
|
|
1089
|
+
item.expression = t;
|
|
1090
|
+
return true;
|
|
1091
|
+
});
|
|
1034
1092
|
}
|
|
1035
1093
|
else if (item.type == "FunctionDeclaration") {
|
|
1036
1094
|
const funcBody = item.body;
|
|
@@ -1040,7 +1098,7 @@ class CompileJS {
|
|
|
1040
1098
|
}
|
|
1041
1099
|
run() {
|
|
1042
1100
|
if (!t__namespace.isBlock(this.node))
|
|
1043
|
-
throw
|
|
1101
|
+
throw makeError("[compile error]: can't for a not block", this.node);
|
|
1044
1102
|
this.tre(this.node);
|
|
1045
1103
|
}
|
|
1046
1104
|
}
|
|
@@ -1050,7 +1108,7 @@ class CompileMCX {
|
|
|
1050
1108
|
this.code = code;
|
|
1051
1109
|
const mcxCode = new McxAst(code).parseAST();
|
|
1052
1110
|
if (!MCXUtils.isParseNode(mcxCode))
|
|
1053
|
-
throw
|
|
1111
|
+
throw makeError("[compile error]: mcxCompile can't work in a not mcxNode");
|
|
1054
1112
|
this.mcxCode = mcxCode;
|
|
1055
1113
|
this.structureCheck();
|
|
1056
1114
|
const JSIR = this.genenrateJSIR();
|
|
@@ -1062,6 +1120,8 @@ class CompileMCX {
|
|
|
1062
1120
|
Event: {
|
|
1063
1121
|
on: "after",
|
|
1064
1122
|
subscribe: {},
|
|
1123
|
+
loc: { line: -1, pos: -1 },
|
|
1124
|
+
isLoad: false,
|
|
1065
1125
|
},
|
|
1066
1126
|
Component: {},
|
|
1067
1127
|
};
|
|
@@ -1081,16 +1141,16 @@ class CompileMCX {
|
|
|
1081
1141
|
if (MCXUtils.isTagNode(node)) {
|
|
1082
1142
|
return node.content.map((sub) => this.commonTagNodeContent(sub)).join("");
|
|
1083
1143
|
}
|
|
1084
|
-
throw
|
|
1144
|
+
throw makeError("[mcx compile]: internal error: unknown node type", node);
|
|
1085
1145
|
}
|
|
1086
1146
|
getEventOn(node) {
|
|
1087
1147
|
if (!MCXUtils.isTagNode(node))
|
|
1088
|
-
throw
|
|
1148
|
+
throw makeError("[mcx compile]: internal error: not tag node", node);
|
|
1089
1149
|
let on = "after";
|
|
1090
1150
|
const isAfter = typeof node.arr["@after"] == "string";
|
|
1091
1151
|
const isBefore = typeof node.arr["@before"] == "string";
|
|
1092
1152
|
if (isAfter && isBefore)
|
|
1093
|
-
throw
|
|
1153
|
+
throw makeError("[mcx compile]: Event node can't has both @after and @before", node);
|
|
1094
1154
|
if (isAfter)
|
|
1095
1155
|
on = "after";
|
|
1096
1156
|
if (isBefore)
|
|
@@ -1106,27 +1166,47 @@ class CompileMCX {
|
|
|
1106
1166
|
if (!MCXUtils.isTagNode(node))
|
|
1107
1167
|
continue;
|
|
1108
1168
|
if (node.name == "script") {
|
|
1109
|
-
temp.script
|
|
1169
|
+
if (temp.script)
|
|
1170
|
+
throw makeError("[compile error]: duplicate script node", node);
|
|
1171
|
+
temp.script =
|
|
1172
|
+
node.content.length == 0 ? "" : this.commonTagNodeContent(node);
|
|
1110
1173
|
}
|
|
1111
1174
|
else if (node.name == "Event") {
|
|
1175
|
+
if (temp.Event)
|
|
1176
|
+
throw makeError("[compile error]: duplicate Event node", node);
|
|
1177
|
+
// if Component already discovered, report error
|
|
1178
|
+
if (component)
|
|
1179
|
+
throw makeError("[compile error]: Event node cannot appear after Component", node);
|
|
1112
1180
|
temp.Event = node;
|
|
1113
1181
|
}
|
|
1114
1182
|
else if (node.name == "Component") {
|
|
1183
|
+
if (component)
|
|
1184
|
+
throw makeError("[compile error]: duplicate Component node", node);
|
|
1185
|
+
// if Event already discovered, report error
|
|
1186
|
+
if (temp.Event)
|
|
1187
|
+
throw makeError("[compile error]: Component node cannot appear after Event", node);
|
|
1115
1188
|
component = node;
|
|
1116
1189
|
}
|
|
1117
1190
|
}
|
|
1118
1191
|
if (!temp.script)
|
|
1119
|
-
throw
|
|
1192
|
+
throw makeError("[compile error]: mcx must has a script");
|
|
1120
1193
|
this.tempLoc.script = temp.script;
|
|
1121
1194
|
if (temp.Event) {
|
|
1122
1195
|
const on = this.getEventOn(temp.Event);
|
|
1123
1196
|
const content = temp.Event.content;
|
|
1124
|
-
if (content.length == 0 ||
|
|
1125
|
-
|
|
1197
|
+
if (content.length == 0 ||
|
|
1198
|
+
content.length > 1 ||
|
|
1199
|
+
!MCXUtils.isTagContentNode(content[0]))
|
|
1200
|
+
throw makeError("[compile error]: Event node has invalid content", temp.Event);
|
|
1126
1201
|
const subscribeData = content[0].data.trim();
|
|
1127
1202
|
this.tempLoc.Event = {
|
|
1128
1203
|
on: on,
|
|
1129
|
-
subscribe: Object.fromEntries(PropParser(subscribeData).map((item) => [
|
|
1204
|
+
subscribe: Object.fromEntries(PropParser(subscribeData).map((item) => [
|
|
1205
|
+
item.key,
|
|
1206
|
+
item.value.toString(),
|
|
1207
|
+
])),
|
|
1208
|
+
loc: extractLoc(temp.Event),
|
|
1209
|
+
isLoad: true,
|
|
1130
1210
|
};
|
|
1131
1211
|
}
|
|
1132
1212
|
if (component) {
|
|
@@ -1143,30 +1223,31 @@ class CompileMCX {
|
|
|
1143
1223
|
handlerChildComponent(node) {
|
|
1144
1224
|
const name = node.name;
|
|
1145
1225
|
if (!this.checkComponentParentName(name))
|
|
1146
|
-
throw
|
|
1226
|
+
throw makeError(`[compile error]: invalid component name: ${name}`, node);
|
|
1147
1227
|
const content = node.content;
|
|
1148
1228
|
if (!content || content.length == 0)
|
|
1149
|
-
throw
|
|
1229
|
+
throw makeError(`[compile error]: component ${name} has no content`, node);
|
|
1150
1230
|
for (const subNode of content) {
|
|
1151
1231
|
if (!MCXUtils.isTagNode(subNode))
|
|
1152
1232
|
continue;
|
|
1153
1233
|
const subName = subNode.name;
|
|
1154
1234
|
const _id = subNode.arr.id;
|
|
1155
1235
|
if (!_id || typeof _id != "string" || _id.trim() == "") {
|
|
1156
|
-
throw
|
|
1236
|
+
throw makeError(`[compile error]: component ${name} child component ${subName} has no id`, subNode);
|
|
1157
1237
|
}
|
|
1158
1238
|
const id = _id.trim();
|
|
1159
1239
|
const content = subNode.content;
|
|
1160
1240
|
if (content.length == 0) {
|
|
1161
|
-
throw
|
|
1241
|
+
throw makeError(`[compile error]: component ${name} child component ${subName} has no content`, subNode);
|
|
1162
1242
|
}
|
|
1163
1243
|
if (!content[0] || !MCXUtils.isTagContentNode(content[0]))
|
|
1164
|
-
throw
|
|
1244
|
+
throw makeError(`[compile error]: component ${name} child component ${subName} has invalid content`, subNode);
|
|
1165
1245
|
const useExpore = content[0].data.trim();
|
|
1166
1246
|
if (subName == _MCXstructureLocComponentTypes[name]) {
|
|
1167
1247
|
this.tempLoc.Component[`${name}/${id}`] = {
|
|
1168
1248
|
type: subName,
|
|
1169
1249
|
useExpore: useExpore,
|
|
1250
|
+
loc: extractLoc(subNode)
|
|
1170
1251
|
};
|
|
1171
1252
|
}
|
|
1172
1253
|
}
|
|
@@ -1174,7 +1255,7 @@ class CompileMCX {
|
|
|
1174
1255
|
CompileData;
|
|
1175
1256
|
genenrateJSIR() {
|
|
1176
1257
|
if (!this.tempLoc.script.trim())
|
|
1177
|
-
throw
|
|
1258
|
+
throw makeError("[compile error]: mcx must has a script");
|
|
1178
1259
|
const comiler = compileJSFn(this.tempLoc.script);
|
|
1179
1260
|
return comiler;
|
|
1180
1261
|
}
|
|
@@ -1189,150 +1270,80 @@ function compileMCXFn(mcxCode) {
|
|
|
1189
1270
|
return compiler.getCompileData();
|
|
1190
1271
|
}
|
|
1191
1272
|
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
}
|
|
1200
|
-
}
|
|
1201
|
-
class Utils {
|
|
1202
|
-
CheckPath(filePath) {
|
|
1203
|
-
if (!filePath || typeof filePath !== "string")
|
|
1204
|
-
throw new Error("filePath is empty");
|
|
1205
|
-
const file = path.resolve(filePath);
|
|
1206
|
-
return file;
|
|
1207
|
-
}
|
|
1208
|
-
readFile(filePath) {
|
|
1209
|
-
const file = this.CheckPath(filePath);
|
|
1210
|
-
return fs.readFile(file);
|
|
1211
|
-
}
|
|
1212
|
-
readFileAsJSON(filePath) {
|
|
1213
|
-
return this.readFile(filePath).then((data) => JSON.parse(data.toString()));
|
|
1214
|
-
}
|
|
1215
|
-
readFileAsMcx(filePath) {
|
|
1216
|
-
return this.readFile(filePath).then((data) => compileMCXFn(data.toString()));
|
|
1217
|
-
}
|
|
1218
|
-
readFileAsJS(filePath) {
|
|
1219
|
-
return this.readFile(filePath).then((data) => {
|
|
1220
|
-
const code = data.toString();
|
|
1221
|
-
return compileJSFn(code);
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1224
|
-
async writeFile(filePath, data) {
|
|
1225
|
-
const file = this.CheckPath(filePath);
|
|
1226
|
-
const basedir = path.basename(filePath);
|
|
1227
|
-
if (!(await FileExsit(basedir)))
|
|
1228
|
-
await fs.mkdir(basedir, { recursive: true });
|
|
1229
|
-
return await fs.writeFile(file, data).then(() => true, () => false);
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
const utils = new Utils();
|
|
1273
|
+
var Compiler = /*#__PURE__*/Object.freeze({
|
|
1274
|
+
__proto__: null,
|
|
1275
|
+
CompileError: CompileError,
|
|
1276
|
+
CompileJS: CompileJS,
|
|
1277
|
+
compileJSFn: compileJSFn,
|
|
1278
|
+
compileMCXFn: compileMCXFn
|
|
1279
|
+
});
|
|
1233
1280
|
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
return file;
|
|
1281
|
+
function addImport(statement, source, importArray) {
|
|
1282
|
+
statement.unshift(t__namespace.importDeclaration(importArray, t__namespace.stringLiteral(source)));
|
|
1237
1283
|
}
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
mcx: MCXLoader
|
|
1241
|
-
};
|
|
1242
|
-
function isExsitLoader(name) {
|
|
1243
|
-
return Object.keys(LoaderMap).includes(name);
|
|
1284
|
+
async function compileComponent(compileData) {
|
|
1285
|
+
// TODO
|
|
1244
1286
|
}
|
|
1245
|
-
async function
|
|
1246
|
-
const
|
|
1247
|
-
const
|
|
1248
|
-
if (
|
|
1249
|
-
|
|
1250
|
-
|
|
1287
|
+
async function transform(compileData) {
|
|
1288
|
+
const mcxModule = "@mbler/mcx";
|
|
1289
|
+
const statement = [];
|
|
1290
|
+
if (compileData.strLoc.Event.isLoad) {
|
|
1291
|
+
addImport(statement, mcxModule, [
|
|
1292
|
+
t__namespace.importSpecifier(t__namespace.identifier("__mcx__event"), t__namespace.identifier("Event")),
|
|
1293
|
+
]);
|
|
1294
|
+
}
|
|
1295
|
+
if (Object.keys(compileData.strLoc.Component).length >= 1) {
|
|
1296
|
+
compileComponent();
|
|
1297
|
+
}
|
|
1298
|
+
return "";
|
|
1251
1299
|
}
|
|
1252
1300
|
|
|
1253
|
-
|
|
1254
|
-
function findNodeModule(dir, name) {
|
|
1255
|
-
if (cacheModule.has(name)) {
|
|
1256
|
-
return cacheModule.get(name);
|
|
1257
|
-
}
|
|
1258
|
-
if (dir.length <= 3) {
|
|
1259
|
-
throw new Error(`[mcx compile]: cannot find module ${name}`);
|
|
1260
|
-
}
|
|
1261
|
-
const basename = path.dirname(dir);
|
|
1262
|
-
const nodeModulePath = path.join(basename, "node_modules", name);
|
|
1263
|
-
if (node_fs.existsSync(nodeModulePath)) {
|
|
1264
|
-
cacheModule.set(name, nodeModulePath);
|
|
1265
|
-
return nodeModulePath;
|
|
1266
|
-
}
|
|
1267
|
-
else {
|
|
1268
|
-
return findNodeModule(basename, name);
|
|
1269
|
-
}
|
|
1270
|
-
}
|
|
1271
|
-
function genentateModuleNode(moduleName, FilePath) {
|
|
1272
|
-
const _module = path.parse(moduleName);
|
|
1273
|
-
if (_module.root)
|
|
1274
|
-
throw new Error(`[mcx compile]: module name invalid ${moduleName} in ${FilePath} (You should not use absolute path as module name)`);
|
|
1275
|
-
if (_module.dir.startsWith(".")) {
|
|
1276
|
-
return {
|
|
1277
|
-
stat: "success",
|
|
1278
|
-
data: path.join(FilePath, _module.dir, _module.base)
|
|
1279
|
-
};
|
|
1280
|
-
}
|
|
1281
|
-
if (moduleName.startsWith("@minecraft/") || moduleName.startsWith("minecraft/") || moduleName.startsWith("@ruanhor/mcx")) {
|
|
1282
|
-
return {
|
|
1283
|
-
stat: "skip",
|
|
1284
|
-
data: null
|
|
1285
|
-
};
|
|
1286
|
-
}
|
|
1301
|
+
function mcxPlugn() {
|
|
1287
1302
|
return {
|
|
1288
|
-
|
|
1289
|
-
|
|
1303
|
+
name: "mbler-mcx-core",
|
|
1304
|
+
async transform(code, id, options) {
|
|
1305
|
+
const ext = path.extname(id).slice(1);
|
|
1306
|
+
if (ext == "mcx") {
|
|
1307
|
+
let compileData;
|
|
1308
|
+
try {
|
|
1309
|
+
compileData = compileMCXFn(code);
|
|
1310
|
+
}
|
|
1311
|
+
catch (err) {
|
|
1312
|
+
if (err instanceof CompileError) {
|
|
1313
|
+
const error = err;
|
|
1314
|
+
this.error(error.message, {
|
|
1315
|
+
column: error.loc.pos,
|
|
1316
|
+
line: error.loc.line,
|
|
1317
|
+
});
|
|
1318
|
+
}
|
|
1319
|
+
this.error(err.message);
|
|
1320
|
+
return;
|
|
1321
|
+
}
|
|
1322
|
+
compileData.setFilePath(id);
|
|
1323
|
+
return {
|
|
1324
|
+
code: await transform(compileData)
|
|
1325
|
+
};
|
|
1326
|
+
}
|
|
1327
|
+
return null;
|
|
1328
|
+
},
|
|
1290
1329
|
};
|
|
1291
1330
|
}
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
}
|
|
1302
|
-
async start() {
|
|
1303
|
-
if (!this.main)
|
|
1304
|
-
throw new Error("[mcx load]: mcx loader must has a main file");
|
|
1305
|
-
const mainCode = await fs.readFile(this.main, "utf-8");
|
|
1306
|
-
const IR = this.compMain(mainCode);
|
|
1307
|
-
if (!IR)
|
|
1308
|
-
throw new Error("[mcx compile]: compile main file error");
|
|
1309
|
-
IR.setFilePath(this.main);
|
|
1310
|
-
for (const importPackage of IR.BuildCache.import) {
|
|
1311
|
-
const source = genentateModuleNode(importPackage.source, this.main);
|
|
1312
|
-
if (source.stat === "skip" || !source.data)
|
|
1313
|
-
continue;
|
|
1314
|
-
if (this.cacheMap.has(source.data))
|
|
1315
|
-
continue;
|
|
1316
|
-
const moduleData = await loader(source.data);
|
|
1317
|
-
this.cacheMap.set(source.data, moduleData);
|
|
1318
|
-
}
|
|
1319
|
-
}
|
|
1320
|
-
compMain(code) {
|
|
1321
|
-
const ext = path.extname(this.main);
|
|
1322
|
-
if (ext !== ".js") {
|
|
1323
|
-
throw new Error("[load project]: main file must is a javascript.");
|
|
1324
|
-
}
|
|
1325
|
-
const ir = compileJSFn(code);
|
|
1326
|
-
return ir;
|
|
1327
|
-
}
|
|
1331
|
+
function AbsoluteJoin(base, dir) {
|
|
1332
|
+
return path.isAbsolute(dir) ? dir : path.join(base, dir);
|
|
1333
|
+
}
|
|
1334
|
+
async function CompileProject(opt) {
|
|
1335
|
+
await rollup.rollup({
|
|
1336
|
+
input: AbsoluteJoin(opt.ProjectDir, opt.main),
|
|
1337
|
+
external: ["@minecraft/server", "@minecraft/server-ui"],
|
|
1338
|
+
plugins: [mcxPlugn(), commjs(), json(), module_resolve()],
|
|
1339
|
+
});
|
|
1328
1340
|
}
|
|
1329
1341
|
|
|
1330
|
-
/*import _compile from "./_compile.js"*/
|
|
1331
1342
|
/**
|
|
1332
1343
|
* @description - this is a function factory to generate mcxProject
|
|
1333
1344
|
*/
|
|
1334
1345
|
function CompileMcxProject(BuildOpt) {
|
|
1335
|
-
return
|
|
1346
|
+
return new Compile(BuildOpt).start();
|
|
1336
1347
|
}
|
|
1337
1348
|
class Compile {
|
|
1338
1349
|
BuildOpt;
|
|
@@ -1340,18 +1351,19 @@ class Compile {
|
|
|
1340
1351
|
this.BuildOpt = BuildOpt;
|
|
1341
1352
|
// 类型验证
|
|
1342
1353
|
if (!McxUtlis.TypeVerify(this.BuildOpt, {
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
output: "string",
|
|
1347
|
-
isCache: "boolean"
|
|
1354
|
+
main: "string", // 启动文件路径
|
|
1355
|
+
moduleDir: "string", // 模块路径
|
|
1356
|
+
output: "string", // 输出的目录的scripts文件夹
|
|
1348
1357
|
})) {
|
|
1349
|
-
throw new TypeError("[compile checker]Input Opt is not right");
|
|
1358
|
+
throw new TypeError("[compile checker]: Input Opt is not right");
|
|
1350
1359
|
}
|
|
1351
1360
|
}
|
|
1352
1361
|
async start() {
|
|
1353
|
-
|
|
1354
|
-
|
|
1362
|
+
if (!(await McxUtlis.FileExsit(this.BuildOpt.moduleDir)))
|
|
1363
|
+
await fs.mkdir(this.BuildOpt.moduleDir, {
|
|
1364
|
+
recursive: true,
|
|
1365
|
+
});
|
|
1366
|
+
await CompileProject(this.BuildOpt);
|
|
1355
1367
|
}
|
|
1356
1368
|
}
|
|
1357
1369
|
|
|
@@ -1362,7 +1374,9 @@ async function CompileMcxDir(BuildOpt) {
|
|
|
1362
1374
|
var index = {
|
|
1363
1375
|
load: CompileMcxDir,
|
|
1364
1376
|
AST: AST,
|
|
1377
|
+
Compiler,
|
|
1365
1378
|
utils: McxUtlis,
|
|
1366
1379
|
};
|
|
1367
1380
|
|
|
1368
1381
|
module.exports = index;
|
|
1382
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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,10 +1,18 @@
|
|
|
1
1
|
import { CompileOpt } from "../types";
|
|
2
2
|
import * as CompileData from "./compileData";
|
|
3
|
+
import * as t from "@babel/types";
|
|
3
4
|
export default class CompileMain {
|
|
4
5
|
opt: CompileOpt;
|
|
5
6
|
main: string;
|
|
6
7
|
cacheMap: Map<string, CompileData.JsCompileData | CompileData.MCXCompileData | string>;
|
|
7
8
|
constructor(opt: CompileOpt);
|
|
9
|
+
bundlerProgram: t.Program | null;
|
|
8
10
|
start(): Promise<void>;
|
|
11
|
+
moduleId: Record<string, number>;
|
|
12
|
+
private handlerCall;
|
|
13
|
+
private loadModule;
|
|
14
|
+
private generateFnId;
|
|
15
|
+
private pushModule;
|
|
16
|
+
private buildFunction;
|
|
9
17
|
private compMain;
|
|
10
18
|
}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import * as t from "@babel/types";
|
|
2
2
|
import * as CompileData from "./compileData";
|
|
3
|
+
export declare class CompileError extends Error {
|
|
4
|
+
loc: {
|
|
5
|
+
line: number;
|
|
6
|
+
pos: number;
|
|
7
|
+
};
|
|
8
|
+
constructor(message: string, loc: {
|
|
9
|
+
line: number;
|
|
10
|
+
pos: number;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
3
13
|
export type Context = Record<string, t.Expression | {
|
|
4
14
|
status: "wait";
|
|
5
15
|
}>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ParserOptions } from "@babel/parser";
|
|
2
|
-
import type { ImportDeclaration, ExportAllDeclaration, ExportDefaultDeclaration, ExportNamedDeclaration, Expression, SpreadElement, ArgumentPlaceholder } from "@babel/types";
|
|
2
|
+
import type { ImportDeclaration, ExportAllDeclaration, ExportDefaultDeclaration, ExportNamedDeclaration, Expression, SpreadElement, ArgumentPlaceholder, CallExpression } from "@babel/types";
|
|
3
|
+
import { RollupOptions } from "rollup";
|
|
3
4
|
interface callList {
|
|
4
5
|
source: Expression;
|
|
6
|
+
set: (callEXp: CallExpression) => boolean;
|
|
5
7
|
arguments: Array<SpreadElement | Expression | ArgumentPlaceholder>;
|
|
6
8
|
remove: () => void;
|
|
7
9
|
}
|
|
@@ -37,24 +39,30 @@ interface MCXstructureLoc {
|
|
|
37
39
|
Event: {
|
|
38
40
|
on: "after" | "before";
|
|
39
41
|
subscribe: Record<string, string>;
|
|
42
|
+
loc: {
|
|
43
|
+
line: number;
|
|
44
|
+
pos: number;
|
|
45
|
+
};
|
|
46
|
+
isLoad: boolean;
|
|
40
47
|
};
|
|
41
48
|
Component: Record<string, {
|
|
42
49
|
type: MCXstructureLocComponentType;
|
|
43
50
|
useExpore: string;
|
|
51
|
+
loc: {
|
|
52
|
+
line: number;
|
|
53
|
+
pos: number;
|
|
54
|
+
};
|
|
44
55
|
}>;
|
|
45
56
|
}
|
|
46
|
-
export type { BuildCache, MCX_INFO, ImportList, ImportListImport, CompileOpt, MCXstructureLoc, MCXstructureLocComponentType };
|
|
57
|
+
export type { BuildCache, MCX_INFO, ImportList, ImportListImport, CompileOpt, callList, MCXstructureLoc, MCXstructureLocComponentType };
|
|
47
58
|
interface CompileUserConfig {
|
|
48
59
|
babelParser?: ParserOptions;
|
|
49
|
-
|
|
60
|
+
rollupOptions?: RollupOptions;
|
|
50
61
|
}
|
|
51
62
|
interface CompileOpt {
|
|
52
|
-
cacheDir: string;
|
|
53
63
|
main: string;
|
|
54
64
|
ProjectDir: string;
|
|
55
65
|
moduleDir: string;
|
|
56
|
-
moduleList: string[];
|
|
57
66
|
output: string;
|
|
58
|
-
|
|
59
|
-
config: Partial<CompileUserConfig>;
|
|
67
|
+
config?: Partial<CompileUserConfig>;
|
|
60
68
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import compiler from "./compile-mcx/index.js";
|
|
2
2
|
import utils from "./utils.js";
|
|
3
|
+
import * as Compiler from "./compile-mcx/compiler";
|
|
3
4
|
declare const _default: {
|
|
4
5
|
load: typeof compiler;
|
|
5
6
|
AST: {
|
|
6
7
|
tag: typeof import("./ast/tag.js").default;
|
|
7
8
|
prop: typeof import("./ast/prop.js").default;
|
|
8
9
|
};
|
|
10
|
+
Compiler: typeof Compiler;
|
|
9
11
|
utils: typeof utils;
|
|
10
12
|
};
|
|
11
13
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mbler/mcx-core",
|
|
3
|
-
"version": "0.0.2-alpha.
|
|
3
|
+
"version": "0.0.2-alpha.r3",
|
|
4
4
|
"description": "a DSL compiler of mcx",
|
|
5
|
-
"main": "dist/index.
|
|
5
|
+
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "node __test__/index.js",
|
|
8
8
|
"build": "rollup -c"
|
|
@@ -15,9 +15,14 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@babel/generator": "7.28.5",
|
|
17
17
|
"@babel/parser": "7.28.5",
|
|
18
|
-
"@babel/types": "7.28.6"
|
|
18
|
+
"@babel/types": "7.28.6",
|
|
19
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
20
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
21
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
22
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
23
|
+
"rollup": "^4.57.1"
|
|
19
24
|
},
|
|
20
|
-
"module": "
|
|
25
|
+
"module": "commjs",
|
|
21
26
|
"files": [
|
|
22
27
|
"dist",
|
|
23
28
|
"README.md",
|
|
@@ -32,14 +37,9 @@
|
|
|
32
37
|
"author": "ruanhor",
|
|
33
38
|
"license": "MIT",
|
|
34
39
|
"devDependencies": {
|
|
35
|
-
"@rollup/plugin-commonjs": "^29.0.0",
|
|
36
|
-
"@rollup/plugin-json": "^6.1.0",
|
|
37
|
-
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
38
|
-
"@rollup/plugin-typescript": "^12.3.0",
|
|
39
40
|
"@types/babel__generator": "^7.27.0",
|
|
40
41
|
"@types/node": "^25.2.0",
|
|
41
|
-
"rollup": "^4.57.1",
|
|
42
42
|
"rollup-plugin-dts": "^6.3.0",
|
|
43
43
|
"tslib": "^2.8.1"
|
|
44
44
|
}
|
|
45
|
-
}
|
|
45
|
+
}
|