ic-mops 0.34.4 → 0.36.0
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/cli.ts +11 -45
- package/commands/add.ts +7 -5
- package/commands/bench-replica.ts +99 -0
- package/commands/bench.ts +57 -90
- package/commands/install-all.ts +4 -4
- package/commands/remove.ts +4 -4
- package/commands/sync.ts +5 -5
- package/commands/update.ts +3 -3
- package/declarations/main/main.did +67 -78
- package/declarations/main/main.did.d.ts +72 -83
- package/declarations/main/main.did.js +12 -23
- package/dist/bin/mops.d.ts +2 -0
- package/dist/bin/mops.js +2 -0
- package/dist/cli.js +11 -44
- package/dist/commands/add.d.ts +2 -2
- package/dist/commands/add.js +6 -3
- package/dist/commands/bench-replica.d.ts +32 -0
- package/dist/commands/bench-replica.js +87 -0
- package/dist/commands/bench.d.ts +9 -8
- package/dist/commands/bench.js +44 -76
- package/dist/commands/install-all.d.ts +2 -2
- package/dist/commands/install-all.js +3 -3
- package/dist/commands/remove.d.ts +2 -2
- package/dist/commands/remove.js +3 -2
- package/dist/commands/sync.d.ts +2 -2
- package/dist/commands/sync.js +4 -4
- package/dist/commands/toolchain/moc.d.ts +4 -0
- package/dist/commands/toolchain/moc.js +36 -0
- package/dist/commands/toolchain/mocv.d.ts +1 -0
- package/dist/commands/toolchain/mocv.js +272 -0
- package/dist/commands/toolchain/toolchain-utils.d.ts +3 -0
- package/dist/commands/toolchain/toolchain-utils.js +56 -0
- package/dist/commands/toolchain/wasmtime.d.ts +4 -0
- package/dist/commands/toolchain/wasmtime.js +23 -0
- package/dist/commands/update.d.ts +2 -2
- package/dist/commands/update.js +2 -2
- package/dist/declarations/main/main.did +67 -78
- package/dist/declarations/main/main.did.d.ts +72 -83
- package/dist/declarations/main/main.did.js +12 -23
- package/dist/integrity.d.ts +2 -2
- package/dist/integrity.js +4 -4
- package/dist/moc-wrapper.d.ts +2 -0
- package/dist/moc-wrapper.js +8 -0
- package/dist/out/cli.d.ts +2 -0
- package/dist/out/cli.js +115242 -0
- package/dist/package.json +12 -4
- package/dist/templates/cli.d.ts +2 -0
- package/dist/templates/cli.js +3660 -0
- package/integrity.ts +5 -5
- package/package.json +12 -4
- package/dist/helpers/download-package-files.d.ts +0 -12
- package/dist/helpers/download-package-files.js +0 -62
- package/dist/helpers/resolve-version.d.ts +0 -1
- package/dist/helpers/resolve-version.js +0 -11
package/integrity.ts
CHANGED
|
@@ -12,19 +12,19 @@ type LockFileV1 = {
|
|
|
12
12
|
hashes: Record<string, Record<string, string>>;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
export async function checkIntegrity(lock?: '
|
|
15
|
+
export async function checkIntegrity(lock?: 'check' | 'update' | 'ignore') {
|
|
16
16
|
let force = !!lock;
|
|
17
17
|
|
|
18
18
|
if (!lock && !process.env['CI'] && fs.existsSync(path.join(getRootDir(), 'mops.lock'))) {
|
|
19
|
-
lock = '
|
|
19
|
+
lock = 'update';
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (!lock) {
|
|
23
23
|
lock = process.env['CI'] ? 'check' : 'ignore';
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
if (lock === '
|
|
27
|
-
await
|
|
26
|
+
if (lock === 'update') {
|
|
27
|
+
await updateLockFile();
|
|
28
28
|
await checkLockFile(force);
|
|
29
29
|
}
|
|
30
30
|
else if (lock === 'check') {
|
|
@@ -82,7 +82,7 @@ export async function checkRemote() {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
export async function
|
|
85
|
+
export async function updateLockFile() {
|
|
86
86
|
let rootDir = getRootDir();
|
|
87
87
|
let lockFile = path.join(rootDir, 'mops.lock');
|
|
88
88
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ic-mops",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"mops": "dist/cli.js"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"author": "Zen Voich <zen.voich@gmail.com>",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": ">=
|
|
22
|
+
"node": ">=18.0.0"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"@dfinity/identity": "^0.18.1",
|
|
38
38
|
"@dfinity/identity-secp256k1": "^0.18.1",
|
|
39
39
|
"@dfinity/principal": "^0.18.1",
|
|
40
|
+
"@hadronous/pic": "0.2.0",
|
|
40
41
|
"@iarna/toml": "^2.2.5",
|
|
41
42
|
"@noble/hashes": "1.3.2",
|
|
42
43
|
"as-table": "^1.0.55",
|
|
@@ -55,7 +56,7 @@
|
|
|
55
56
|
"glob": "^10.3.3",
|
|
56
57
|
"globby": "^13.2.2",
|
|
57
58
|
"got": "13.0.0",
|
|
58
|
-
"log-update": "
|
|
59
|
+
"log-update": "6.0.0",
|
|
59
60
|
"markdown-table": "3.0.3",
|
|
60
61
|
"mdast-util-from-markdown": "^2.0.0",
|
|
61
62
|
"mdast-util-to-markdown": "^2.1.0",
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
"pem-file": "^1.0.1",
|
|
66
67
|
"prompts": "^2.4.2",
|
|
67
68
|
"stream-to-promise": "^3.0.0",
|
|
69
|
+
"string-width": "7.0.0",
|
|
68
70
|
"tar": "^6.1.15"
|
|
69
71
|
},
|
|
70
72
|
"devDependencies": {
|
|
@@ -78,7 +80,13 @@
|
|
|
78
80
|
"@types/stream-to-promise": "^2.2.1",
|
|
79
81
|
"@types/tar": "^6.1.5",
|
|
80
82
|
"esbuild": "^0.18.16",
|
|
81
|
-
"tsx": "
|
|
83
|
+
"tsx": "4.6.2",
|
|
82
84
|
"typescript": "^5.1.6"
|
|
85
|
+
},
|
|
86
|
+
"overrides": {
|
|
87
|
+
"@dfinity/agent": "^0.18.1",
|
|
88
|
+
"@dfinity/identity": "^0.18.1",
|
|
89
|
+
"@dfinity/principal": "^0.18.1",
|
|
90
|
+
"@dfinity/candid": "^0.18.1"
|
|
83
91
|
}
|
|
84
92
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Principal } from '@dfinity/principal';
|
|
2
|
-
import { Storage } from '../declarations/storage/storage.did.js';
|
|
3
|
-
export declare function downloadPackageFiles(pkg: string, version?: string, threads?: number, onLoad?: (_fileIds: string[], _fileId: string) => void): Promise<Map<string, string>>;
|
|
4
|
-
export declare function getPackageFilesInfo(pkg: string, version: string): Promise<{
|
|
5
|
-
storageId: Principal;
|
|
6
|
-
fileIds: string[];
|
|
7
|
-
}>;
|
|
8
|
-
export declare function getFileIds(pkg: string, version: string): Promise<string[]>;
|
|
9
|
-
export declare function downloadFile(storage: Storage, fileId: string): Promise<{
|
|
10
|
-
path: string;
|
|
11
|
-
data: Array<number>;
|
|
12
|
-
}>;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { mainActor, storageActor } from '../mops.js';
|
|
2
|
-
import { parallel } from '../parallel.js';
|
|
3
|
-
import { resolveVersion } from './resolve-version.js';
|
|
4
|
-
export async function downloadPackageFiles(pkg, version = '', threads = 8, onLoad = (_fileIds, _fileId) => { }) {
|
|
5
|
-
version = await resolveVersion(pkg, version);
|
|
6
|
-
let { storageId, fileIds } = await getPackageFilesInfo(pkg, version);
|
|
7
|
-
let storage = await storageActor(storageId);
|
|
8
|
-
let filesData = new Map;
|
|
9
|
-
await parallel(threads, fileIds, async (fileId) => {
|
|
10
|
-
let { path, data } = await downloadFile(storage, fileId);
|
|
11
|
-
filesData.set(path, data);
|
|
12
|
-
onLoad(fileIds, fileId);
|
|
13
|
-
});
|
|
14
|
-
return filesData;
|
|
15
|
-
}
|
|
16
|
-
// get package files meta
|
|
17
|
-
export async function getPackageFilesInfo(pkg, version) {
|
|
18
|
-
let actor = await mainActor();
|
|
19
|
-
let [packageDetailsRes, fileIds] = await Promise.all([
|
|
20
|
-
actor.getPackageDetails(pkg, version),
|
|
21
|
-
getFileIds(pkg, version),
|
|
22
|
-
]);
|
|
23
|
-
if ('err' in packageDetailsRes) {
|
|
24
|
-
throw packageDetailsRes.err;
|
|
25
|
-
}
|
|
26
|
-
let packageDetails = packageDetailsRes.ok;
|
|
27
|
-
return {
|
|
28
|
-
storageId: packageDetails.publication.storage,
|
|
29
|
-
fileIds,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
// get package files ids
|
|
33
|
-
export async function getFileIds(pkg, version) {
|
|
34
|
-
let actor = await mainActor();
|
|
35
|
-
let fileIdsRes = await actor.getFileIds(pkg, version);
|
|
36
|
-
if ('err' in fileIdsRes) {
|
|
37
|
-
throw fileIdsRes.err;
|
|
38
|
-
}
|
|
39
|
-
let filesIds = fileIdsRes.ok;
|
|
40
|
-
return filesIds;
|
|
41
|
-
}
|
|
42
|
-
// download single file
|
|
43
|
-
export async function downloadFile(storage, fileId) {
|
|
44
|
-
let fileMetaRes = await storage.getFileMeta(fileId);
|
|
45
|
-
if ('err' in fileMetaRes) {
|
|
46
|
-
throw fileMetaRes.err;
|
|
47
|
-
}
|
|
48
|
-
let fileMeta = fileMetaRes.ok;
|
|
49
|
-
let data = [];
|
|
50
|
-
for (let i = 0n; i < fileMeta.chunkCount; i++) {
|
|
51
|
-
let chunkRes = await storage.downloadChunk(fileId, i);
|
|
52
|
-
if ('err' in chunkRes) {
|
|
53
|
-
throw chunkRes.err;
|
|
54
|
-
}
|
|
55
|
-
let chunk = chunkRes.ok;
|
|
56
|
-
data = [...data, ...chunk];
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
path: fileMeta.path,
|
|
60
|
-
data: data,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function resolveVersion(pkg: string, version?: string): Promise<string>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { getHighestVersion } from '../mops.js';
|
|
2
|
-
export async function resolveVersion(pkg, version = '') {
|
|
3
|
-
if (!version) {
|
|
4
|
-
let versionRes = await getHighestVersion(pkg);
|
|
5
|
-
if ('err' in versionRes) {
|
|
6
|
-
throw versionRes.err;
|
|
7
|
-
}
|
|
8
|
-
version = versionRes.ok;
|
|
9
|
-
}
|
|
10
|
-
return version;
|
|
11
|
-
}
|