motoko 2.0.10 → 3.0.0-beta0
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 +3 -1
- package/lib/file.d.ts +7 -2
- package/lib/file.d.ts.map +1 -1
- package/lib/index.d.ts +18 -7
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -8
- package/lib/index.js.map +1 -1
- package/lib/package.d.ts +11 -1
- package/lib/package.d.ts.map +1 -1
- package/lib/package.js +107 -23
- package/lib/package.js.map +1 -1
- package/lib/versions/interpreter.d.ts +16 -5
- package/lib/versions/interpreter.d.ts.map +1 -1
- package/lib/versions/interpreter.js.map +1 -1
- package/lib/versions/moc.d.ts +16 -5
- package/lib/versions/moc.d.ts.map +1 -1
- package/lib/versions/moc.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +11 -9
- package/src/package.ts +156 -30
- package/src/versions/interpreter.ts +2 -2
- package/src/versions/moc.ts +2 -2
- package/versions/latest/moc.min.js +1 -1
- package/versions/latest/moc_interpreter.min.js +1 -1
package/README.md
CHANGED
@@ -102,8 +102,10 @@ 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: ''});
|
106
|
+
|
105
107
|
// Try to load packages from GitHub and/or jsDelivr
|
106
|
-
await mo.loadPackages({ packageName: repositoryPath, ... })
|
108
|
+
await mo.loadPackages({ [packageName]: repositoryPath, ... })
|
107
109
|
|
108
110
|
// Use a virtual directory as a package
|
109
111
|
mo.addPackage(packageName, directory)
|
package/lib/file.d.ts
CHANGED
@@ -16,7 +16,12 @@ export declare const file: (mo: Motoko, path: string) => {
|
|
16
16
|
};
|
17
17
|
candid(): string;
|
18
18
|
wasm(mode: WasmMode): any;
|
19
|
-
parseMotoko():
|
20
|
-
|
19
|
+
parseMotoko(): {
|
20
|
+
ast: object;
|
21
|
+
exportType: object;
|
22
|
+
};
|
23
|
+
parseCandid(): {
|
24
|
+
ast: object;
|
25
|
+
};
|
21
26
|
};
|
22
27
|
//# sourceMappingURL=file.d.ts.map
|
package/lib/file.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAerC,oBAAY,UAAU,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AAEjD,eAAO,MAAM,IAAI,OAAQ,MAAM,QAAQ,MAAM;;;YAa7B,MAAM;mBAGC,MAAM;oBAGL,MAAM;;;;;;;;;;eAoBX,QAAQ
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAerC,oBAAY,UAAU,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AAEjD,eAAO,MAAM,IAAI,OAAQ,MAAM,QAAQ,MAAM;;;YAa7B,MAAM;mBAGC,MAAM;oBAGL,MAAM;;;;;;;;;;eAoBX,QAAQ;;;;;;;;CAW1B,CAAC"}
|
package/lib/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PackageInfo } from './package';
|
2
|
-
export declare type Motoko = ReturnType<typeof
|
2
|
+
export declare type Motoko = ReturnType<typeof wrapMotoko>;
|
3
3
|
declare type Compiler = any;
|
4
4
|
export declare type Diagnostic = {
|
5
5
|
code?: string | number | {
|
@@ -22,7 +22,7 @@ export declare type Diagnostic = {
|
|
22
22
|
tags?: string[];
|
23
23
|
};
|
24
24
|
export declare type WasmMode = 'ic' | 'wasi';
|
25
|
-
export default function
|
25
|
+
export default function wrapMotoko(compiler: Compiler, version: string): {
|
26
26
|
version: string;
|
27
27
|
compiler: any;
|
28
28
|
file(path: string): {
|
@@ -41,15 +41,21 @@ export default function getMotoko(compiler: Compiler, version: string): {
|
|
41
41
|
};
|
42
42
|
candid(): string;
|
43
43
|
wasm(mode: WasmMode): any;
|
44
|
-
parseMotoko():
|
45
|
-
|
44
|
+
parseMotoko(): {
|
45
|
+
ast: object;
|
46
|
+
exportType: object;
|
47
|
+
};
|
48
|
+
parseCandid(): {
|
49
|
+
ast: object;
|
50
|
+
};
|
46
51
|
};
|
47
|
-
loadPackages(packages: Record<string, string | PackageInfo>): Promise<void>;
|
48
52
|
read(path: string): string;
|
49
53
|
write(path: string, content?: string): void;
|
50
54
|
rename(path: string, newPath: string): void;
|
51
55
|
delete(path: string): void;
|
52
56
|
list(directory: string): string[];
|
57
|
+
fetchPackage(info: string | PackageInfo): Promise<import("./package").Package>;
|
58
|
+
loadPackages(packages: Record<string, string | PackageInfo>): Promise<void>;
|
53
59
|
addPackage(name: string, directory: string): void;
|
54
60
|
clearPackages(): void;
|
55
61
|
setAliases(aliases: string): void;
|
@@ -62,8 +68,13 @@ export default function getMotoko(compiler: Compiler, version: string): {
|
|
62
68
|
};
|
63
69
|
candid(path: string): string;
|
64
70
|
wasm(path: string, mode: WasmMode): any;
|
65
|
-
parseMotoko(content: string):
|
66
|
-
|
71
|
+
parseMotoko(content: string): {
|
72
|
+
ast: object;
|
73
|
+
exportType: object;
|
74
|
+
};
|
75
|
+
parseCandid(content: string): {
|
76
|
+
ast: object;
|
77
|
+
};
|
67
78
|
};
|
68
79
|
export {};
|
69
80
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,WAAW,EAAE,MAAM,WAAW,CAAC;AAEpE,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;;;;;iBAcvB,MAAM;wBAAc,MAAM;;;iBAG1B,MAAM;;;eAjEhC,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;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;yBAG5C,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;EAOpD"}
|
package/lib/index.js
CHANGED
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
const file_1 = require("./file");
|
13
13
|
const package_1 = require("./package");
|
14
|
-
function
|
14
|
+
function wrapMotoko(compiler, version) {
|
15
15
|
const debug = require('debug')(version ? `motoko:${version}` : 'motoko');
|
16
16
|
const invoke = (key, unwrap, args) => {
|
17
17
|
if (!compiler) {
|
@@ -50,12 +50,6 @@ function getMotoko(compiler, version) {
|
|
50
50
|
file(path) {
|
51
51
|
return (0, file_1.file)(mo, path);
|
52
52
|
},
|
53
|
-
// findPackage,
|
54
|
-
loadPackages(packages) {
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
56
|
-
return (0, package_1.loadPackages)(mo, packages);
|
57
|
-
});
|
58
|
-
},
|
59
53
|
read(path) {
|
60
54
|
return invoke('readFile', false, [path]);
|
61
55
|
},
|
@@ -76,6 +70,16 @@ function getMotoko(compiler, version) {
|
|
76
70
|
list(directory) {
|
77
71
|
return invoke('readDir', false, [directory]);
|
78
72
|
},
|
73
|
+
fetchPackage(info) {
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
75
|
+
return (0, package_1.fetchPackage)(info);
|
76
|
+
});
|
77
|
+
},
|
78
|
+
loadPackages(packages) {
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
80
|
+
return (0, package_1.loadPackages)(mo, packages);
|
81
|
+
});
|
82
|
+
},
|
79
83
|
addPackage(name, directory) {
|
80
84
|
debug('+package', name, directory);
|
81
85
|
invoke('addPackage', false, [name, directory]);
|
@@ -121,5 +125,5 @@ function getMotoko(compiler, version) {
|
|
121
125
|
mo.default = mo;
|
122
126
|
return mo;
|
123
127
|
}
|
124
|
-
exports.default =
|
128
|
+
exports.default = wrapMotoko;
|
125
129
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8B;AAC9B,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/package.d.ts
CHANGED
@@ -3,8 +3,18 @@ export interface PackageInfo {
|
|
3
3
|
name: string;
|
4
4
|
repo: string;
|
5
5
|
version: string;
|
6
|
-
dir
|
6
|
+
dir?: string;
|
7
7
|
branch?: string | undefined;
|
8
8
|
}
|
9
|
+
export interface Package {
|
10
|
+
name: string;
|
11
|
+
version: string;
|
12
|
+
files: PackageFiles;
|
13
|
+
}
|
14
|
+
export declare type PackageFiles = Record<string, PackageFile>;
|
15
|
+
export interface PackageFile {
|
16
|
+
content: string;
|
17
|
+
}
|
18
|
+
export declare function fetchPackage(info: string | PackageInfo): Promise<Package | undefined>;
|
9
19
|
export declare function loadPackages(mo: Motoko, packages: Record<string, string | PackageInfo>): Promise<void>;
|
10
20
|
//# sourceMappingURL=package.d.ts.map
|
package/lib/package.d.ts.map
CHANGED
@@ -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,EAAE,MAAM,CAAC;
|
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"}
|
package/lib/package.js
CHANGED
@@ -13,11 +13,12 @@ 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 = void 0;
|
16
|
+
exports.loadPackages = 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
|
-
|
20
|
+
// TODO: call `fetchPackage` instead of deprecated functions
|
21
|
+
function loadPackage(mo, info) {
|
21
22
|
return __awaiter(this, void 0, void 0, function* () {
|
22
23
|
if (!info.repo.startsWith('https://github.com/') ||
|
23
24
|
!info.repo.endsWith('.git')) {
|
@@ -30,25 +31,26 @@ function fetchPackage(mo, info) {
|
|
30
31
|
branch: info.version,
|
31
32
|
dir: info.dir || 'src',
|
32
33
|
};
|
33
|
-
const result = yield
|
34
|
+
const result = yield fetchGithub_(mo, repo, info.name);
|
34
35
|
if (result) {
|
35
36
|
mo.addPackage(info.name, info.name + '/');
|
36
37
|
}
|
37
38
|
return result ? true : false;
|
38
39
|
});
|
39
40
|
}
|
40
|
-
|
41
|
+
/** @deprecated */
|
42
|
+
function fetchGithub_(mo, info, directory = '') {
|
41
43
|
return __awaiter(this, void 0, void 0, function* () {
|
42
44
|
const possiblyCDN = !((info.branch.length % 2 === 0 && /^[A-F0-9]+$/i.test(info.branch)) ||
|
43
45
|
info.branch === 'master' ||
|
44
46
|
info.branch === 'main');
|
45
47
|
if (possiblyCDN) {
|
46
|
-
const result = yield
|
48
|
+
const result = yield fetchFromCDN_(mo, info, directory);
|
47
49
|
if (result) {
|
48
50
|
return result;
|
49
51
|
}
|
50
52
|
}
|
51
|
-
return yield
|
53
|
+
return yield fetchFromGithub_(mo, info, directory);
|
52
54
|
});
|
53
55
|
}
|
54
56
|
// function saveWorkplaceToMotoko(mo, files) {
|
@@ -57,7 +59,8 @@ function fetchGithub(mo, info, directory = '') {
|
|
57
59
|
// mo.addFile(name, code);
|
58
60
|
// }
|
59
61
|
// }
|
60
|
-
|
62
|
+
/** @deprecated */
|
63
|
+
function fetchFromCDN_(mo, info, directory = '') {
|
61
64
|
return __awaiter(this, void 0, void 0, function* () {
|
62
65
|
const meta_url = `https://data.jsdelivr.com/v1/package/gh/${info.repo}@${info.branch}/flat`;
|
63
66
|
const base_url = `https://cdn.jsdelivr.net/gh/${info.repo}@${info.branch}`;
|
@@ -88,7 +91,8 @@ function fetchFromCDN(mo, info, directory = '') {
|
|
88
91
|
});
|
89
92
|
});
|
90
93
|
}
|
91
|
-
|
94
|
+
/** @deprecated */
|
95
|
+
function fetchFromGithub_(mo, info, directory = '') {
|
92
96
|
return __awaiter(this, void 0, void 0, function* () {
|
93
97
|
const meta_url = `https://api.github.com/repos/${info.repo}/git/trees/${info.branch}?recursive=1`;
|
94
98
|
const base_url = `https://raw.githubusercontent.com/${info.repo}/${info.branch}/`;
|
@@ -122,9 +126,7 @@ function fetchFromGithub(mo, info, directory = '') {
|
|
122
126
|
});
|
123
127
|
});
|
124
128
|
}
|
125
|
-
|
126
|
-
// }
|
127
|
-
function parseGithubPackage(path, name) {
|
129
|
+
function parseGithubPackageInfo(path) {
|
128
130
|
if (!path) {
|
129
131
|
return;
|
130
132
|
}
|
@@ -139,30 +141,112 @@ function parseGithubPackage(path, name) {
|
|
139
141
|
}
|
140
142
|
}
|
141
143
|
catch (err) {
|
142
|
-
console.warn(err);
|
144
|
+
// console.warn(err);
|
145
|
+
return;
|
143
146
|
}
|
144
|
-
const { name
|
147
|
+
const { name, filepath, branch, owner } = result;
|
145
148
|
return {
|
146
|
-
name
|
147
|
-
repo: `https://github.com/${owner}/${
|
149
|
+
name,
|
150
|
+
repo: `https://github.com/${owner}/${name}.git`,
|
148
151
|
version: branch,
|
149
152
|
dir: filepath,
|
153
|
+
branch,
|
150
154
|
// homepage: ,
|
151
155
|
};
|
152
156
|
}
|
157
|
+
function fetchPackageFiles(info) {
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
159
|
+
const prefix = 'https://github.com/';
|
160
|
+
const suffix = '.git';
|
161
|
+
if (!info.repo.startsWith(prefix) || !info.repo.endsWith(suffix)) {
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
const repoPart = info.repo.slice(prefix.length, -suffix.length);
|
165
|
+
// TODO: modify condition?
|
166
|
+
const possiblyCDN = !((info.branch &&
|
167
|
+
info.branch.length % 2 === 0 &&
|
168
|
+
/^[A-F0-9]+$/i.test(info.branch)) ||
|
169
|
+
info.branch === 'master' ||
|
170
|
+
info.branch === 'main');
|
171
|
+
if (possiblyCDN) {
|
172
|
+
const result = yield fetchFromService(info, 'CDN', `https://data.jsdelivr.com/v1/package/gh/${repoPart}@${info.branch}/flat`, `https://cdn.jsdelivr.net/gh/${repoPart}@${info.branch}`, 'files', 'name');
|
173
|
+
if (result === null || result === void 0 ? void 0 : result.length) {
|
174
|
+
return result;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
return yield fetchFromService(info, 'GitHub', `https://api.github.com/repos/${repoPart}/git/trees/${info.branch}?recursive=1`, `https://raw.githubusercontent.com/${repoPart}/${info.branch}/`, 'tree', 'path', (file) => file.type === 'blob');
|
178
|
+
});
|
179
|
+
}
|
180
|
+
function fetchFromService(info, serviceName, metaUrl, baseUrl, resultProperty, pathProperty, condition) {
|
181
|
+
return __awaiter(this, void 0, void 0, function* () {
|
182
|
+
const response = yield (0, cross_fetch_1.default)(metaUrl);
|
183
|
+
if (!response.ok) {
|
184
|
+
throw Error(response.statusText ||
|
185
|
+
`Could not fetch from ${serviceName}: ${info.repo}`);
|
186
|
+
}
|
187
|
+
const json = yield response.json();
|
188
|
+
if (!json.hasOwnProperty(resultProperty)) {
|
189
|
+
throw new Error(`Unexpected response from ${serviceName}`);
|
190
|
+
}
|
191
|
+
// Remove leading and trailing '/' from directory
|
192
|
+
let directory = info.dir
|
193
|
+
? info.dir.replace(/^\//, '').replace(/\/$/, '')
|
194
|
+
: '';
|
195
|
+
const files = {};
|
196
|
+
yield Promise.all(json[resultProperty]
|
197
|
+
.filter((file) => {
|
198
|
+
return ((!directory ||
|
199
|
+
file[pathProperty].startsWith(file[pathProperty].startsWith('/')
|
200
|
+
? `/${directory}`
|
201
|
+
: directory)) &&
|
202
|
+
(!condition || condition(file)) &&
|
203
|
+
/\.mo$/.test(file[pathProperty]));
|
204
|
+
})
|
205
|
+
.map((file) => __awaiter(this, void 0, void 0, function* () {
|
206
|
+
const response = yield (0, cross_fetch_1.default)(`${baseUrl}${file[pathProperty]}`);
|
207
|
+
if (!response.ok) {
|
208
|
+
throw Error(response.statusText);
|
209
|
+
}
|
210
|
+
const content = yield response.text();
|
211
|
+
let path = file[pathProperty];
|
212
|
+
if (path.startsWith('/')) {
|
213
|
+
path = path.slice(1);
|
214
|
+
}
|
215
|
+
if (directory) {
|
216
|
+
// Remove directory prefix
|
217
|
+
path = path.slice(directory.length + 1);
|
218
|
+
}
|
219
|
+
files[path] = {
|
220
|
+
content,
|
221
|
+
};
|
222
|
+
})));
|
223
|
+
return files;
|
224
|
+
});
|
225
|
+
}
|
226
|
+
function fetchPackage(info) {
|
227
|
+
return __awaiter(this, void 0, void 0, function* () {
|
228
|
+
if (typeof info === 'string') {
|
229
|
+
info = parseGithubPackageInfo(info);
|
230
|
+
}
|
231
|
+
const files = yield fetchPackageFiles(info);
|
232
|
+
if (!files) {
|
233
|
+
return;
|
234
|
+
}
|
235
|
+
return {
|
236
|
+
name: info.name,
|
237
|
+
version: info.version,
|
238
|
+
files,
|
239
|
+
};
|
240
|
+
});
|
241
|
+
}
|
242
|
+
exports.fetchPackage = fetchPackage;
|
153
243
|
function loadPackages(mo, packages) {
|
154
244
|
return __awaiter(this, void 0, void 0, function* () {
|
155
245
|
yield Promise.all(Object.entries(packages).map(([name, path]) => {
|
156
|
-
const info =
|
157
|
-
return
|
246
|
+
const info = Object.assign(Object.assign({}, parseGithubPackageInfo(path)), { name });
|
247
|
+
return loadPackage(mo, info);
|
158
248
|
}));
|
159
249
|
});
|
160
250
|
}
|
161
251
|
exports.loadPackages = loadPackages;
|
162
|
-
// export async function findPackage(package) {
|
163
|
-
// if (typeof package === 'string') {
|
164
|
-
// return resolve(package);
|
165
|
-
// }
|
166
|
-
// return package;
|
167
|
-
// },
|
168
252
|
//# sourceMappingURL=package.js.map
|
package/lib/package.js.map
CHANGED
@@ -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;
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"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"}
|
@@ -17,15 +17,21 @@ declare const _default: {
|
|
17
17
|
};
|
18
18
|
candid(): string;
|
19
19
|
wasm(mode: import("..").WasmMode): any;
|
20
|
-
parseMotoko():
|
21
|
-
|
20
|
+
parseMotoko(): {
|
21
|
+
ast: object;
|
22
|
+
exportType: object;
|
23
|
+
};
|
24
|
+
parseCandid(): {
|
25
|
+
ast: object;
|
26
|
+
};
|
22
27
|
};
|
23
|
-
loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
|
24
28
|
read(path: string): string;
|
25
29
|
write(path: string, content?: string): void;
|
26
30
|
rename(path: string, newPath: string): void;
|
27
31
|
delete(path: string): void;
|
28
32
|
list(directory: string): string[];
|
33
|
+
fetchPackage(info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
|
34
|
+
loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
|
29
35
|
addPackage(name: string, directory: string): void;
|
30
36
|
clearPackages(): void;
|
31
37
|
setAliases(aliases: string): void;
|
@@ -38,8 +44,13 @@ declare const _default: {
|
|
38
44
|
};
|
39
45
|
candid(path: string): string;
|
40
46
|
wasm(path: string, mode: import("..").WasmMode): any;
|
41
|
-
parseMotoko(content: string):
|
42
|
-
|
47
|
+
parseMotoko(content: string): {
|
48
|
+
ast: object;
|
49
|
+
exportType: object;
|
50
|
+
};
|
51
|
+
parseCandid(content: string): {
|
52
|
+
ast: object;
|
53
|
+
};
|
43
54
|
};
|
44
55
|
export default _default;
|
45
56
|
//# sourceMappingURL=interpreter.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAAwD"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/versions/interpreter.ts"],"names":[],"mappings":";;;;;AAAA,2CAA4B;AAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAC;AAExE,kBAAe,IAAA,WAAU,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC"}
|
package/lib/versions/moc.d.ts
CHANGED
@@ -17,15 +17,21 @@ declare const _default: {
|
|
17
17
|
};
|
18
18
|
candid(): string;
|
19
19
|
wasm(mode: import("..").WasmMode): any;
|
20
|
-
parseMotoko():
|
21
|
-
|
20
|
+
parseMotoko(): {
|
21
|
+
ast: object;
|
22
|
+
exportType: object;
|
23
|
+
};
|
24
|
+
parseCandid(): {
|
25
|
+
ast: object;
|
26
|
+
};
|
22
27
|
};
|
23
|
-
loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
|
24
28
|
read(path: string): string;
|
25
29
|
write(path: string, content?: string): void;
|
26
30
|
rename(path: string, newPath: string): void;
|
27
31
|
delete(path: string): void;
|
28
32
|
list(directory: string): string[];
|
33
|
+
fetchPackage(info: string | import("../package").PackageInfo): Promise<import("../package").Package>;
|
34
|
+
loadPackages(packages: Record<string, string | import("../package").PackageInfo>): Promise<void>;
|
29
35
|
addPackage(name: string, directory: string): void;
|
30
36
|
clearPackages(): void;
|
31
37
|
setAliases(aliases: string): void;
|
@@ -38,8 +44,13 @@ declare const _default: {
|
|
38
44
|
};
|
39
45
|
candid(path: string): string;
|
40
46
|
wasm(path: string, mode: import("..").WasmMode): any;
|
41
|
-
parseMotoko(content: string):
|
42
|
-
|
47
|
+
parseMotoko(content: string): {
|
48
|
+
ast: object;
|
49
|
+
exportType: object;
|
50
|
+
};
|
51
|
+
parseCandid(content: string): {
|
52
|
+
ast: object;
|
53
|
+
};
|
43
54
|
};
|
44
55
|
export default _default;
|
45
56
|
//# sourceMappingURL=moc.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moc.d.ts","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"moc.d.ts","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAA4C"}
|
package/lib/versions/moc.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moc.js","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"moc.js","sourceRoot":"","sources":["../../src/versions/moc.ts"],"names":[],"mappings":";;;;;AAAA,2CAA4B;AAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAE5D,kBAAe,IAAA,WAAU,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { file } from './file';
|
2
|
-
import { loadPackages, PackageInfo } from './package';
|
2
|
+
import { fetchPackage, loadPackages, PackageInfo } from './package';
|
3
3
|
|
4
|
-
export type Motoko = ReturnType<typeof
|
4
|
+
export type Motoko = ReturnType<typeof wrapMotoko>;
|
5
5
|
|
6
6
|
type Compiler = any; // TODO
|
7
7
|
|
@@ -20,7 +20,7 @@ export type Diagnostic = {
|
|
20
20
|
|
21
21
|
export type WasmMode = 'ic' | 'wasi';
|
22
22
|
|
23
|
-
export default function
|
23
|
+
export default function wrapMotoko(compiler: Compiler, version: string) {
|
24
24
|
const debug = require('debug')(version ? `motoko:${version}` : 'motoko');
|
25
25
|
|
26
26
|
const invoke = (key: string, unwrap: boolean, args: any[]) => {
|
@@ -66,10 +66,6 @@ export default function getMotoko(compiler: Compiler, version: string) {
|
|
66
66
|
file(path: string) {
|
67
67
|
return file(mo, path);
|
68
68
|
},
|
69
|
-
// findPackage,
|
70
|
-
async loadPackages(packages: Record<string, string | PackageInfo>) {
|
71
|
-
return loadPackages(mo, packages);
|
72
|
-
},
|
73
69
|
read(path: string): string {
|
74
70
|
return invoke('readFile', false, [path]);
|
75
71
|
},
|
@@ -90,6 +86,12 @@ export default function getMotoko(compiler: Compiler, version: string) {
|
|
90
86
|
list(directory: string): string[] {
|
91
87
|
return invoke('readDir', false, [directory]);
|
92
88
|
},
|
89
|
+
async fetchPackage(info: string | PackageInfo) {
|
90
|
+
return fetchPackage(info);
|
91
|
+
},
|
92
|
+
async loadPackages(packages: Record<string, string | PackageInfo>) {
|
93
|
+
return loadPackages(mo, packages);
|
94
|
+
},
|
93
95
|
addPackage(name: string, directory: string) {
|
94
96
|
debug('+package', name, directory);
|
95
97
|
invoke('addPackage', false, [name, directory]);
|
@@ -126,10 +128,10 @@ export default function getMotoko(compiler: Compiler, version: string) {
|
|
126
128
|
}
|
127
129
|
return invoke('compileWasm', true, [mode, path]);
|
128
130
|
},
|
129
|
-
parseMotoko(content: string): object {
|
131
|
+
parseMotoko(content: string): { ast: object; exportType: object } {
|
130
132
|
return invoke('parseMotoko', true, [content]);
|
131
133
|
},
|
132
|
-
parseCandid(content: string): object {
|
134
|
+
parseCandid(content: string): { ast: object } {
|
133
135
|
return invoke('parseCandid', true, [content]);
|
134
136
|
},
|
135
137
|
};
|