motoko 3.0.0-beta1 → 3.0.0-beta2

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -60,7 +60,7 @@ mo.file('Main.mo')
60
60
 
61
61
  ```js
62
62
  mo.clearPackages();
63
- await mo.loadPackages({
63
+ await mo.installPackages({
64
64
  base: 'dfinity/motoko-base/master/src', // import "mo:base/...";
65
65
  });
66
66
  ```
@@ -102,17 +102,25 @@ mo.delete(path)
102
102
  // List the files in a virtual directory
103
103
  mo.list(path)
104
104
 
105
- await mo.fetchPackage({name: '', repo: ''});
105
+ // Fetch a package from GitHub or jsDelivr
106
+ await mo.fetchPackage(name, source);
107
+ await mo.fetchPackage('base', 'dfinity/motoko-base/master/src');
106
108
 
107
- // Try to load packages from GitHub and/or jsDelivr
108
- await mo.loadPackages({ [packageName]: repositoryPath, ... })
109
+ // Try to fetch and load packages from GitHub or jsDelivr
110
+ await mo.installPackages({ [packageName]: repositoryPath, ... })
111
+
112
+ // Load a value returned from `fetchPackage()`
113
+ mo.loadPackage(package)
109
114
 
110
115
  // Use a virtual directory as a package
111
- mo.addPackage(packageName, directory)
116
+ mo.usePackage(packageName, directory)
112
117
 
113
118
  // Clear loaded packages
114
119
  mo.clearPackages()
115
120
 
121
+ // Ensure that a package is correctly formatted
122
+ mo.validatePackage(package)
123
+
116
124
  // Configure the compiler to resolve `import "canister:{alias}";` -> `import "canister:{id}";`
117
125
  mo.setAliases({ alias: id, ... })
118
126
 
@@ -137,7 +145,7 @@ mo.wasm(path, 'wasi') // WASI interface format
137
145
  mo.parseMotoko(motokoString)
138
146
 
139
147
  // Return the parse tree (with types) for a Motoko string
140
- mo.parseMotokoTypes(motokoString)
148
+ mo.parseMotokoTyped(motokoString)
141
149
 
142
150
  // Return the parse tree for a Candid string
143
151
  mo.parseCandid(candidString)
package/lib/ast.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ export declare type CompilerAST = CompilerAST[] | CompilerNode | string | null;
2
+ export declare type CompilerSpan = {
3
+ name: 'Pos';
4
+ args: [string, string, string];
5
+ };
6
+ export interface CompilerNode {
7
+ name: string;
8
+ args: CompilerAST[];
9
+ }
10
+ export declare type Span = [number, number];
11
+ export declare type AST = AST[] | Node | string | null;
12
+ export interface Node {
13
+ name: string;
14
+ file?: string;
15
+ start?: Span;
16
+ end?: Span;
17
+ type?: Node;
18
+ args?: AST[];
19
+ }
20
+ export declare function simplifyAST(ast: CompilerNode): Node;
21
+ export declare function simplifyAST(ast: CompilerAST[]): AST[];
22
+ export declare function simplifyAST<T extends CompilerAST>(ast: T): T;
23
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,WAAW,EAAE,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AACvE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,oBAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,oBAAY,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAQD,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;AACrD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;AACvD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC"}
package/lib/ast.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simplifyAST = void 0;
4
+ function simplifyAST(ast) {
5
+ if (Array.isArray(ast)) {
6
+ return ast.map((a) => simplifyAST(a));
7
+ }
8
+ if (typeof ast !== 'object') {
9
+ return ast;
10
+ }
11
+ if (ast.name === '@') {
12
+ const [start, end, subAst] = ast.args;
13
+ return Object.assign(Object.assign({}, (typeof subAst === 'string'
14
+ ? { name: subAst }
15
+ : simplifyAST(subAst))), { file: start.args[0], start: [+start.args[1], +start.args[2]], end: [+end.args[1], +end.args[2]] });
16
+ }
17
+ if (ast.name === ':') {
18
+ const [type, subAst] = ast.args;
19
+ // console.log(subAst); ////
20
+ return Object.assign(Object.assign({}, (typeof subAst === 'string'
21
+ ? { name: subAst }
22
+ : simplifyAST(subAst))), { type: simplifyAST(type) });
23
+ }
24
+ return {
25
+ name: ast.name,
26
+ args: simplifyAST(ast.args),
27
+ };
28
+ }
29
+ exports.simplifyAST = simplifyAST;
30
+ // export function getTypeString(type: Type) {}
31
+ //# sourceMappingURL=ast.js.map
package/lib/ast.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;;AA8BA,SAAgB,WAAW,CAAC,GAAgB;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,OAAO,GAAG,CAAC;KACd;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAIhC,CAAC;QACF,uCACO,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IACnC;KACL;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAmC,CAAC;QAC/D,4BAA4B;QAC5B,uCACO,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAC1B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IACzB;KACL;IACD,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;KAC9B,CAAC;AACN,CAAC;AApCD,kCAoCC;AAED,+CAA+C"}
package/lib/file.d.ts CHANGED
@@ -16,10 +16,10 @@ export declare const file: (mo: Motoko, path: string) => {
16
16
  };
17
17
  candid(): string;
18
18
  wasm(mode: WasmMode): any;
19
- parseMotoko(): object;
20
- parseMotokoTypes(): {
21
- ast: object;
22
- outputType: object;
19
+ parseMotoko(): import("./ast").Node;
20
+ parseMotokoTyped(): {
21
+ ast: import("./ast").Node;
22
+ type: import("./ast").Node;
23
23
  };
24
24
  parseCandid(): object;
25
25
  };
package/lib/file.js CHANGED
@@ -58,8 +58,8 @@ const file = (mo, path) => {
58
58
  parseMotoko() {
59
59
  return mo.parseMotoko(result.read());
60
60
  },
61
- parseMotokoTypes() {
62
- return mo.parseMotokoTypes(result.read());
61
+ parseMotokoTyped() {
62
+ return mo.parseMotokoTyped(result.read());
63
63
  },
64
64
  parseCandid() {
65
65
  return mo.parseCandid(result.read());
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { PackageInfo } from './package';
1
+ import { Node } from './ast';
2
+ import { Package, PackageInfo } from './package';
2
3
  export declare type Motoko = ReturnType<typeof wrapMotoko>;
3
4
  declare type Compiler = any;
4
5
  export declare type Diagnostic = {
@@ -41,10 +42,10 @@ export default function wrapMotoko(compiler: Compiler, version: string): {
41
42
  };
42
43
  candid(): string;
43
44
  wasm(mode: WasmMode): any;
44
- parseMotoko(): object;
45
- parseMotokoTypes(): {
46
- ast: object;
47
- outputType: object;
45
+ parseMotoko(): Node;
46
+ parseMotokoTyped(): {
47
+ ast: Node;
48
+ type: Node;
48
49
  };
49
50
  parseCandid(): object;
50
51
  };
@@ -53,11 +54,13 @@ export default function wrapMotoko(compiler: Compiler, version: string): {
53
54
  rename(path: string, newPath: string): void;
54
55
  delete(path: string): void;
55
56
  list(directory: string): string[];
56
- fetchPackage(info: string | PackageInfo): Promise<import("./package").Package>;
57
- loadPackages(packages: Record<string, string | PackageInfo>): Promise<void>;
58
- addPackage(name: string, directory: string): void;
57
+ fetchPackage(name: string, info: string | PackageInfo): Promise<Package>;
58
+ installPackages(packages: Record<string, string | PackageInfo>): Promise<void>;
59
+ loadPackage(pkg: Package): void;
60
+ usePackage(name: string, directory: string): void;
59
61
  clearPackages(): void;
60
- setAliases(aliases: string): void;
62
+ validatePackage(pkg: Package): void;
63
+ setAliases(aliases: Record<string, string>): void;
61
64
  setMetadata(values: string): void;
62
65
  check(path: string): Diagnostic[];
63
66
  run(path: string, libPaths?: string[] | undefined): {
@@ -67,10 +70,10 @@ export default function wrapMotoko(compiler: Compiler, version: string): {
67
70
  };
68
71
  candid(path: string): string;
69
72
  wasm(path: string, mode: WasmMode): any;
70
- parseMotoko(content: string): object;
71
- parseMotokoTypes(content: string): {
72
- ast: object;
73
- outputType: object;
73
+ parseMotoko(content: string): Node;
74
+ parseMotokoTyped(content: string): {
75
+ ast: Node;
76
+ type: Node;
74
77
  };
75
78
  parseCandid(content: string): object;
76
79
  resolveMain(directory?: string): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,WAAW,EAAE,MAAM,WAAW,CAAC;AAGpE,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,aAAK,QAAQ,GAAG,GAAG,CAAC;AAGpB,oBAAY,UAAU,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACH,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,oBAAY,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;;;eA2CnD,MAAM;;;;;;;;;;oBAmDJ,MAAM;oBAAU,MAAM;oBAAU,MAAM,GAAG,MAAM;;;;;;iBAiBlB,MAAM;wBAAc,MAAM;;;;eAjEzD,MAAM,GAAG,MAAM;gBAGd,MAAM,YAAW,MAAM;iBAOtB,MAAM,WAAW,MAAM;iBAGvB,MAAM;oBAIH,MAAM,GAAG,MAAM,EAAE;uBAGR,MAAM,GAAG,WAAW;2BAGhB,OAAO,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;qBAGhD,MAAM,aAAa,MAAM;;wBAQtB,MAAM;wBAIN,MAAM;gBAGd,MAAM,GAAG,UAAU,EAAE;cAKvB,MAAM,aACD,MAAM,EAAE,GAAG,SAAS,GAChC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;iBAGjD,MAAM,GAAG,MAAM;eAGjB,MAAM,QAAQ,QAAQ;yBAQZ,MAAM,GAAG,MAAM;8BAGV,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;yBAGjD,MAAM,GAAG,MAAM;4BAGb,MAAM,GAAQ,MAAM,GAAG,SAAS;2BAGjC,MAAM,GAAQ,MAAM,GAAG,SAAS;EAO7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,OAAO,CAAC;AAE1C,OAAO,EAGH,OAAO,EACP,WAAW,EAEd,MAAM,WAAW,CAAC;AAGnB,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,aAAK,QAAQ,GAAG,GAAG,CAAC;AAGpB,oBAAY,UAAU,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACH,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,oBAAY,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;;;eA2CnD,MAAM;;;;;;;;;;oBAkEJ,MAAM;oBAAU,MAAM;oBAAU,MAAM,GAAG,MAAM;;;;;;iBAkBlB,IAAI;kBAAQ,IAAI;;;;eAjF/C,MAAM,GAAG,MAAM;gBAGd,MAAM,YAAW,MAAM;iBAOtB,MAAM,WAAW,MAAM;iBAGvB,MAAM;oBAIH,MAAM,GAAG,MAAM,EAAE;uBAGT,MAAM,QAAQ,MAAM,GAAG,WAAW;8BAM1B,OAAO,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;qBAGnD,OAAO;qBASP,MAAM,aAAa,MAAM;;yBAQrB,OAAO;wBAGR,OAAO,MAAM,EAAE,MAAM,CAAC;wBAItB,MAAM;gBAGd,MAAM,GAAG,UAAU,EAAE;cAKvB,MAAM,aACD,MAAM,EAAE,GAAG,SAAS,GAChC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;iBAGjD,MAAM,GAAG,MAAM;eAGjB,MAAM,QAAQ,QAAQ;yBAQZ,MAAM,GAAG,IAAI;8BAIR,MAAM;aAAU,IAAI;cAAQ,IAAI;;yBAOrC,MAAM,GAAG,MAAM;4BAGb,MAAM,GAAQ,MAAM,GAAG,SAAS;2BAGjC,MAAM,GAAQ,MAAM,GAAG,SAAS;EAO7D"}
package/lib/index.js CHANGED
@@ -9,11 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const ast_1 = require("./ast");
12
13
  const file_1 = require("./file");
13
14
  const package_1 = require("./package");
14
15
  const resolveEntryPoint_1 = require("./utils/resolveEntryPoint");
15
16
  function wrapMotoko(compiler, version) {
16
- const debug = require('debug')(version ? `motoko:${version}` : 'motoko');
17
+ const debug = require('debug')(`motoko:${version}`);
17
18
  const invoke = (key, unwrap, args) => {
18
19
  if (!compiler) {
19
20
  throw new Error('Please load a Motoko compiler before running this function');
@@ -71,24 +72,39 @@ function wrapMotoko(compiler, version) {
71
72
  list(directory) {
72
73
  return invoke('readDir', false, [directory]);
73
74
  },
74
- fetchPackage(info) {
75
+ fetchPackage(name, info) {
75
76
  return __awaiter(this, void 0, void 0, function* () {
76
- return (0, package_1.fetchPackage)(info);
77
+ if (!info) {
78
+ throw new Error('Please specify both a name and source');
79
+ }
80
+ return (0, package_1.fetchPackage)(name, info);
77
81
  });
78
82
  },
79
- loadPackages(packages) {
83
+ installPackages(packages) {
80
84
  return __awaiter(this, void 0, void 0, function* () {
81
- return (0, package_1.loadPackages)(mo, packages);
85
+ return (0, package_1.installPackages)(mo, packages);
82
86
  });
83
87
  },
84
- addPackage(name, directory) {
85
- debug('+package', name, directory);
88
+ loadPackage(pkg) {
89
+ debug('+package', pkg.name);
90
+ mo.validatePackage(pkg);
91
+ const directory = `.node-motoko/${pkg.name}/${pkg.version}`;
92
+ Object.entries(pkg.files).forEach(([path, file]) => {
93
+ mo.write(`${directory}/${path}`, file.content);
94
+ });
95
+ mo.usePackage(pkg.name, directory);
96
+ },
97
+ usePackage(name, directory) {
98
+ debug('@package', name, directory);
86
99
  invoke('addPackage', false, [name, directory]);
87
100
  },
88
101
  clearPackages() {
89
102
  debug('-packages');
90
103
  invoke('clearPackage', false, []);
91
104
  },
105
+ validatePackage(pkg) {
106
+ (0, package_1.validatePackage)(pkg);
107
+ },
92
108
  setAliases(aliases) {
93
109
  debug('aliases', aliases);
94
110
  invoke('setActorAliases', false, [Object.entries(aliases)]);
@@ -116,10 +132,15 @@ function wrapMotoko(compiler, version) {
116
132
  return invoke('compileWasm', true, [mode, path]);
117
133
  },
118
134
  parseMotoko(content) {
119
- return invoke('parseMotoko', true, [content]);
120
- },
121
- parseMotokoTypes(content) {
122
- return invoke('parseMotokoTypes', true, [content]);
135
+ const ast = invoke('parseMotoko', true, [content]);
136
+ return (0, ast_1.simplifyAST)(ast);
137
+ },
138
+ parseMotokoTyped(content) {
139
+ const { ast, typ } = invoke('parseMotokoTyped', true, [content]);
140
+ return {
141
+ ast: (0, ast_1.simplifyAST)(ast),
142
+ type: (0, ast_1.simplifyAST)(typ),
143
+ };
123
144
  },
124
145
  parseCandid(content) {
125
146
  return invoke('parseCandid', true, [content]);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8B;AAC9B,uCAAoE;AACpE,iEAAoE;AAqBpE,SAAwB,UAAU,CAAC,QAAkB,EAAE,OAAe;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,MAAe,EAAE,IAAW,EAAE,EAAE;QACzD,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,IAAI,KAAK,CACX,4DAA4D,CAC/D,CAAC;SACL;QACD,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC;SAC1D;QACD,IAAI,MAAM,CAAC;QACX,IAAI;YACA,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,KAAK,EAAE;gBACtB,MAAM,GAAG,CAAC;aACb;YACD,MAAM,IAAI,KAAK,CACX,qBAAqB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;iBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC9C,CAAC;SACL;QACD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,KAAK,CACX,MAAM,CAAC,WAAW;gBACd,CAAC,CAAC,MAAM,CAAC,WAAW;qBACb,GAAG,CAAC,CAAC,EAAE,OAAO,EAAc,EAAE,EAAE,CAAC,OAAO,CAAC;qBACzC,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,kBAAkB,CAC3B,CAAC;SACL;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG;QACP,OAAO;QACP,QAAQ;QACR,IAAI,CAAC,IAAY;YACb,OAAO,IAAA,WAAI,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAY;YACb,OAAO,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;YACpC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC9C;YACD,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,IAAY,EAAE,OAAe;YAChC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,IAAY;YACf,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,SAAiB;YAClB,OAAO,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QACK,YAAY,CAAC,IAA0B;;gBACzC,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SAAA;QACK,YAAY,CAAC,QAA8C;;gBAC7D,OAAO,IAAA,sBAAY,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;SAAA;QACD,UAAU,CAAC,IAAY,EAAE,SAAiB;YACtC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,aAAa;YACT,KAAK,CAAC,WAAW,CAAC,CAAC;YACnB,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,UAAU,CAAC,OAAe;YACtB,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,WAAW,CAAC,MAAc;YACtB,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,IAAY;YACd,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,GAAG,CACC,IAAY,EACZ,QAA+B;YAE/B,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,IAAY;YACf,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAY,EAAE,IAAc;YAC7B,IAAI,CAAC,IAAI,EAAE;gBACP,IAAI,GAAG,IAAI,CAAC;aACf;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;aACnD;YACD,OAAO,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,WAAW,CAAC,OAAe;YACvB,OAAO,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,gBAAgB,CAAC,OAAe;YAC5B,OAAO,MAAM,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,WAAW,CAAC,OAAe;YACvB,OAAO,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,WAAW,CAAC,YAAoB,EAAE;YAC9B,OAAO,IAAA,+BAAW,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,UAAU,CAAC,YAAoB,EAAE;YAC7B,OAAO,IAAA,8BAAU,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;IACF,aAAa;IACb,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;AACd,CAAC;AA/HD,6BA+HC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/package.d.ts CHANGED
@@ -15,6 +15,7 @@ export declare type PackageFiles = Record<string, PackageFile>;
15
15
  export interface PackageFile {
16
16
  content: string;
17
17
  }
18
- export declare function fetchPackage(info: string | PackageInfo): Promise<Package | undefined>;
19
- export declare function loadPackages(mo: Motoko, packages: Record<string, string | PackageInfo>): Promise<void>;
18
+ export declare function fetchPackage(name: string, info: string | PackageInfo): Promise<Package | undefined>;
19
+ export declare function installPackages(mo: Motoko, packages: Record<string, string | PackageInfo>): Promise<void>;
20
+ export declare function validatePackage(pkg: Package): void;
20
21
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAE3B,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEvD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AA+PD,wBAAsB,YAAY,CAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAa9B;AAED,wBAAsB,YAAY,CAC9B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,iBAWjD"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAG3B,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEvD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AA+PD,wBAAsB,YAAY,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAa9B;AAED,wBAAsB,eAAe,CACjC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,iBAWjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,QAiD3C"}
package/lib/package.js CHANGED
@@ -13,10 +13,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.loadPackages = exports.fetchPackage = void 0;
16
+ exports.validatePackage = exports.installPackages = exports.fetchPackage = void 0;
17
17
  // @ts-ignore
18
18
  const isomorphic_parse_github_url_1 = __importDefault(require("isomorphic-parse-github-url"));
19
19
  const cross_fetch_1 = __importDefault(require("cross-fetch"));
20
+ const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
20
21
  // TODO: call `fetchPackage` instead of deprecated functions
21
22
  function loadPackage(mo, info) {
22
23
  return __awaiter(this, void 0, void 0, function* () {
@@ -33,7 +34,7 @@ function loadPackage(mo, info) {
33
34
  };
34
35
  const result = yield fetchGithub_(mo, repo, info.name);
35
36
  if (result) {
36
- mo.addPackage(info.name, info.name + '/');
37
+ mo.usePackage(info.name, info.name + '/');
37
38
  }
38
39
  return result ? true : false;
39
40
  });
@@ -223,7 +224,7 @@ function fetchFromService(info, serviceName, metaUrl, baseUrl, resultProperty, p
223
224
  return files;
224
225
  });
225
226
  }
226
- function fetchPackage(info) {
227
+ function fetchPackage(name, info) {
227
228
  return __awaiter(this, void 0, void 0, function* () {
228
229
  if (typeof info === 'string') {
229
230
  info = parseGithubPackageInfo(info);
@@ -233,14 +234,14 @@ function fetchPackage(info) {
233
234
  return;
234
235
  }
235
236
  return {
236
- name: info.name,
237
+ name,
237
238
  version: info.version,
238
239
  files,
239
240
  };
240
241
  });
241
242
  }
242
243
  exports.fetchPackage = fetchPackage;
243
- function loadPackages(mo, packages) {
244
+ function installPackages(mo, packages) {
244
245
  return __awaiter(this, void 0, void 0, function* () {
245
246
  yield Promise.all(Object.entries(packages).map(([name, path]) => {
246
247
  const info = Object.assign(Object.assign({}, parseGithubPackageInfo(path)), { name });
@@ -248,5 +249,40 @@ function loadPackages(mo, packages) {
248
249
  }));
249
250
  });
250
251
  }
251
- exports.loadPackages = loadPackages;
252
+ exports.installPackages = installPackages;
253
+ function validatePackage(pkg) {
254
+ function showValue(value) {
255
+ const string = JSON.stringify(value);
256
+ return string.length > 50 ? string.substring(0, 50) + '...' : string;
257
+ }
258
+ function getPackageDisplayName() {
259
+ return `(${pkg.name} / ${pkg.version})`;
260
+ }
261
+ if (typeof pkg !== 'object' || Array.isArray(pkg)) {
262
+ throw new Error(`Unexpected package: ${showValue(pkg)}`);
263
+ }
264
+ if (typeof pkg.name !== 'string' || (0, sanitize_filename_1.default)(pkg.name) !== pkg.name) {
265
+ throw new Error(`Invalid package name ${getPackageDisplayName()}`);
266
+ }
267
+ if (typeof pkg.version !== 'string' ||
268
+ (0, sanitize_filename_1.default)(pkg.version) !== pkg.version) {
269
+ throw new Error(`Invalid package version ${getPackageDisplayName()}`);
270
+ }
271
+ if (typeof pkg.files !== 'object' || Array.isArray(pkg.files)) {
272
+ throw new Error(`Invalid package files: ${showValue(pkg.files)}`);
273
+ }
274
+ Object.entries(pkg.files).forEach(([path, file]) => {
275
+ if (typeof path !== 'string' ||
276
+ path.split('/').some((p) => (0, sanitize_filename_1.default)(p) !== p)) {
277
+ throw new Error(`Invalid file path ${getPackageDisplayName()} [${path}]`);
278
+ }
279
+ if (typeof file !== 'object' || Array.isArray(file)) {
280
+ throw new Error(`Invalid file ${getPackageDisplayName()} [${path}]: ${showValue(file)}`);
281
+ }
282
+ if (typeof file.content !== 'string') {
283
+ throw new Error(`Invalid file content ${getPackageDisplayName()} [${path}]: ${showValue(file.content)}`);
284
+ }
285
+ });
286
+ }
287
+ exports.validatePackage = validatePackage;
252
288
  //# sourceMappingURL=package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":";AAAA,2FAA2F;;;;;;;;;;;;;;;AAE3F,aAAa;AACb,8FAA+D;AAC/D,8DAAgC;AAuBhC,4DAA4D;AAC5D,SAAe,WAAW,CAAC,EAAU,EAAE,IAAiB;;QACpD,IACI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B;YACE,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACrE,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK;SACzB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE;YACR,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACjC,CAAC;CAAA;AAED,kBAAkB;AAClB,SAAe,YAAY,CAAC,EAAU,EAAE,IAAiB,EAAE,SAAS,GAAG,EAAE;;QACrE,MAAM,WAAW,GAAG,CAAC,CACjB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,MAAM,CACzB,CAAC;QACF,IAAI,WAAW,EAAE;YACb,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACxD,IAAI,MAAM,EAAE;gBACR,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,MAAM,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;CAAA;AAED,8CAA8C;AAC9C,0DAA0D;AAC1D,8CAA8C;AAC9C,kCAAkC;AAClC,QAAQ;AACR,IAAI;AAEJ,kBAAkB;AAClB,SAAe,aAAa,CAAC,EAAU,EAAE,IAAiB,EAAE,SAAS,GAAG,EAAE;;QACtE,MAAM,QAAQ,GAAG,2CAA2C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC;QAC5F,MAAM,QAAQ,GAAG,+BAA+B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAK,EAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,6BAA6B,IAAI,EAAE,CAAC,CAAC;SACxE;QACD,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC5D,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE;oBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAA,qBAAK,EAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GACV,SAAS;wBACT,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC5B,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAC9B,CAAC,CAAA,CAAC,EAAE,CAAC;gBACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,OAAO;SACV;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAED,kBAAkB;AAClB,SAAe,gBAAgB,CAC3B,EAAU,EACV,IAAiB,EACjB,YAAoB,EAAE;;QAEtB,MAAM,QAAQ,GAAG,gCAAgC,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,MAAM,cAAc,CAAC;QAClG,MAAM,QAAQ,GAAG,qCAAqC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAK,EAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CACX,IAAI,CAAC,OAAO,IAAI,2CAA2C,IAAI,EAAE,CACpE,CAAC;SACL;QACD,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YACvB,IACI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,CAAC,CAAC,IAAI,KAAK,MAAM;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACtB;gBACE,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE;oBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAA,qBAAK,EAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GACV,SAAS;wBACT,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC5B,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAC9B,CAAC,CAAA,CAAC,EAAE,CAAC;gBACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,OAAO;SACV;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAED,SAAS,sBAAsB,CAAC,IAA0B;IACtD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO;KACV;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAAC;KACf;IAED,IAAI,MAAM,CAAC;IACX,IAAI;QACA,MAAM,GAAG,IAAA,qCAAK,EAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,qBAAqB;QACrB,OAAO;KACV;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACjD,OAAO;QACH,IAAI;QACJ,IAAI,EAAE,sBAAsB,KAAK,IAAI,IAAI,MAAM;QAC/C,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,QAAQ;QACb,MAAM;QACN,cAAc;KACjB,CAAC;AACN,CAAC;AAED,SAAe,iBAAiB,CAC5B,IAAiB;;QAEjB,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9D,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhE,0BAA0B;QAC1B,MAAM,WAAW,GAAG,CAAC,CACjB,CAAC,IAAI,CAAC,MAAM;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,MAAM,CACzB,CAAC;QACF,IAAI,WAAW,EAAE;YACb,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACjC,IAAI,EACJ,KAAK,EACL,2CAA2C,QAAQ,IAAI,IAAI,CAAC,MAAM,OAAO,EACzE,+BAA+B,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EACxD,OAAO,EACP,MAAM,CACT,CAAC;YACF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;gBAChB,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,MAAM,gBAAgB,CACzB,IAAI,EACJ,QAAQ,EACR,gCAAgC,QAAQ,cAAc,IAAI,CAAC,MAAM,cAAc,EAC/E,qCAAqC,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,EAC/D,MAAM,EACN,MAAM,EACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CACjC,CAAC;IACN,CAAC;CAAA;AAED,SAAe,gBAAgB,CAC3B,IAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,OAAe,EACf,cAAsB,EACtB,YAAoB,EACpB,SAAkC;;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAK,EAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YACd,MAAM,KAAK,CACP,QAAQ,CAAC,UAAU;gBACf,wBAAwB,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE,CAC1D,CAAC;SACL;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;SAC9D;QACD,iDAAiD;QACjD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG;YACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAgC,EAAE,CAAC;QAC9C,MAAM,OAAO,CAAC,GAAG,CACL,IAAI,CAAC,cAAc,CAAE;aACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,CACH,CAAC,CAAC,SAAS;gBACP,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CACzB,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC9B,CAAC,CAAC,IAAI,SAAS,EAAE;oBACjB,CAAC,CAAC,SAAS,CAClB,CAAC;gBACN,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACnC,CAAC;QACN,CAAC,CAAC;aACD,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAK,EAAC,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACd,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aACpC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB;YACD,IAAI,SAAS,EAAE;gBACX,0BAA0B;gBAC1B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC3C;YACD,KAAK,CAAC,IAAI,CAAC,GAAG;gBACV,OAAO;aACV,CAAC;QACN,CAAC,CAAA,CAAC,CACT,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;CAAA;AAED,SAAsB,YAAY,CAC9B,IAA0B;;QAE1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK;SACR,CAAC;IACN,CAAC;CAAA;AAfD,oCAeC;AAED,SAAsB,YAAY,CAC9B,EAAU,EACV,QAA8C;;QAE9C,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1C,MAAM,IAAI,mCACH,sBAAsB,CAAC,IAAI,CAAC,KAC/B,IAAI,GACP,CAAC;YACF,OAAO,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CACL,CAAC;IACN,CAAC;CAAA;AAbD,oCAaC"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Motoko } from '..';
2
- export declare function resolveMain(mo: Motoko, directory: string): string | undefined;
3
- export declare function resolveLib(mo: Motoko, directory: string): string | undefined;
2
+ export declare function resolveMain(mo: Motoko, directory: string): string;
3
+ export declare function resolveLib(mo: Motoko, directory: string): string;
4
4
  //# sourceMappingURL=resolveEntryPoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveEntryPoint.d.ts","sourceRoot":"","sources":["../../src/utils/resolveEntryPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAyD5B,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E"}
1
+ {"version":3,"file":"resolveEntryPoint.d.ts","sourceRoot":"","sources":["../../src/utils/resolveEntryPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAyD5B,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -17,10 +17,10 @@ declare const _default: {
17
17
  };
18
18
  candid(): string;
19
19
  wasm(mode: import("..").WasmMode): any;
20
- parseMotoko(): object;
21
- parseMotokoTypes(): {
22
- ast: object;
23
- outputType: object;
20
+ parseMotoko(): import("../ast").Node;
21
+ parseMotokoTyped(): {
22
+ ast: import("../ast").Node;
23
+ type: import("../ast").Node;
24
24
  };
25
25
  parseCandid(): object;
26
26
  };
@@ -29,11 +29,13 @@ declare const _default: {
29
29
  rename(path: string, newPath: string): void;
30
30
  delete(path: string): void;
31
31
  list(directory: string): string[];
32
- fetchPackage(info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
33
- loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
34
- addPackage(name: string, directory: string): void;
32
+ fetchPackage(name: string, info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
33
+ installPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
34
+ loadPackage(pkg: import("../package").Package): void;
35
+ usePackage(name: string, directory: string): void;
35
36
  clearPackages(): void;
36
- setAliases(aliases: string): void;
37
+ validatePackage(pkg: import("../package").Package): void;
38
+ setAliases(aliases: Record<string, string>): void;
37
39
  setMetadata(values: string): void;
38
40
  check(path: string): import("..").Diagnostic[];
39
41
  run(path: string, libPaths?: string[]): {
@@ -43,10 +45,10 @@ declare const _default: {
43
45
  };
44
46
  candid(path: string): string;
45
47
  wasm(path: string, mode: import("..").WasmMode): any;
46
- parseMotoko(content: string): object;
47
- parseMotokoTypes(content: string): {
48
- ast: object;
49
- outputType: object;
48
+ parseMotoko(content: string): import("../ast").Node;
49
+ parseMotokoTyped(content: string): {
50
+ ast: import("../ast").Node;
51
+ type: import("../ast").Node;
50
52
  };
51
53
  parseCandid(content: string): object;
52
54
  resolveMain(directory?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAAwD"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAAwD"}
@@ -17,10 +17,10 @@ declare const _default: {
17
17
  };
18
18
  candid(): string;
19
19
  wasm(mode: import("..").WasmMode): any;
20
- parseMotoko(): object;
21
- parseMotokoTypes(): {
22
- ast: object;
23
- outputType: object;
20
+ parseMotoko(): import("../ast").Node;
21
+ parseMotokoTyped(): {
22
+ ast: import("../ast").Node;
23
+ type: import("../ast").Node;
24
24
  };
25
25
  parseCandid(): object;
26
26
  };
@@ -29,11 +29,13 @@ declare const _default: {
29
29
  rename(path: string, newPath: string): void;
30
30
  delete(path: string): void;
31
31
  list(directory: string): string[];
32
- fetchPackage(info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
33
- loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
34
- addPackage(name: string, directory: string): void;
32
+ fetchPackage(name: string, info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
33
+ installPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
34
+ loadPackage(pkg: import("../package").Package): void;
35
+ usePackage(name: string, directory: string): void;
35
36
  clearPackages(): void;
36
- setAliases(aliases: string): void;
37
+ validatePackage(pkg: import("../package").Package): void;
38
+ setAliases(aliases: Record<string, string>): void;
37
39
  setMetadata(values: string): void;
38
40
  check(path: string): import("..").Diagnostic[];
39
41
  run(path: string, libPaths?: string[]): {
@@ -43,10 +45,10 @@ declare const _default: {
43
45
  };
44
46
  candid(path: string): string;
45
47
  wasm(path: string, mode: import("..").WasmMode): any;
46
- parseMotoko(content: string): object;
47
- parseMotokoTypes(content: string): {
48
- ast: object;
49
- outputType: object;
48
+ parseMotoko(content: string): import("../ast").Node;
49
+ parseMotokoTyped(content: string): {
50
+ ast: import("../ast").Node;
51
+ type: import("../ast").Node;
50
52
  };
51
53
  parseCandid(content: string): object;
52
54
  resolveMain(directory?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"moc.d.ts","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAA4C"}
1
+ {"version":3,"file":"moc.d.ts","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAA4C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motoko",
3
- "version": "3.0.0-beta1",
3
+ "version": "3.0.0-beta2",
4
4
  "description": "Compile and run Motoko smart contracts in Node.js or the browser.",
5
5
  "author": "Ryan Vandersmith (https://github.com/rvanasa)",
6
6
  "license": "Apache-2.0",
@@ -21,7 +21,8 @@
21
21
  "dependencies": {
22
22
  "cross-fetch": "3.1.5",
23
23
  "debug": "4.3.4",
24
- "isomorphic-parse-github-url": "1.0.2"
24
+ "isomorphic-parse-github-url": "1.0.2",
25
+ "sanitize-filename": "^1.6.3"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@types/jest": "^28.1.3",