ic-mops 1.12.0 → 2.0.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/.DS_Store +0 -0
- package/.eslintrc.json +7 -7
- package/CHANGELOG.md +6 -0
- package/api/actors.ts +41 -37
- package/api/downloadPackageFiles.ts +75 -61
- package/api/getHighestVersion.ts +5 -5
- package/api/index.ts +4 -4
- package/api/network.ts +19 -21
- package/api/resolveVersion.ts +14 -11
- package/bin/mops.js +1 -1
- package/bundle/bench/bench-canister.mo +109 -101
- package/bundle/bench/user-bench.mo +6 -6
- package/bundle/bin/mops.js +1 -1
- package/bundle/cli.js +797 -792
- package/bundle/cli.tgz +0 -0
- package/bundle/package.json +6 -5
- package/bundle/templates/mops-publish.yml +3 -3
- package/bundle/templates/mops-test.yml +3 -3
- package/bundle/templates/src/lib.mo +13 -13
- package/bundle/templates/test/lib.test.mo +2 -2
- package/bundle-package-json.ts +8 -8
- package/cache.ts +80 -65
- package/check-requirements.ts +49 -45
- package/cli.ts +577 -376
- package/commands/add.ts +142 -129
- package/commands/available-updates.ts +55 -41
- package/commands/bench/bench-canister.mo +114 -108
- package/commands/bench/user-bench.mo +6 -6
- package/commands/bench-replica.ts +146 -118
- package/commands/bench.ts +563 -497
- package/commands/build.ts +177 -0
- package/commands/bump.ts +68 -57
- package/commands/check-candid.ts +24 -0
- package/commands/docs-coverage.ts +124 -102
- package/commands/docs.ts +118 -108
- package/commands/format.ts +171 -155
- package/commands/init.ts +301 -275
- package/commands/install/install-all.ts +75 -62
- package/commands/install/install-dep.ts +43 -28
- package/commands/install/install-deps.ts +23 -15
- package/commands/install/install-local-dep.ts +42 -34
- package/commands/install/install-mops-dep.ts +154 -123
- package/commands/install/sync-local-cache.ts +39 -35
- package/commands/maintainer.ts +109 -99
- package/commands/outdated.ts +30 -24
- package/commands/owner.ts +107 -99
- package/commands/publish.ts +534 -443
- package/commands/remove.ts +119 -89
- package/commands/replica.ts +391 -316
- package/commands/search.ts +42 -36
- package/commands/self.ts +63 -56
- package/commands/sources.ts +66 -49
- package/commands/sync.ts +92 -75
- package/commands/template.ts +145 -102
- package/commands/test/mmf1.ts +146 -119
- package/commands/test/reporters/compact-reporter.ts +87 -84
- package/commands/test/reporters/files-reporter.ts +56 -51
- package/commands/test/reporters/reporter.ts +12 -6
- package/commands/test/reporters/silent-reporter.ts +58 -59
- package/commands/test/reporters/verbose-reporter.ts +66 -54
- package/commands/test/test.ts +498 -401
- package/commands/test/utils.ts +72 -67
- package/commands/toolchain/index.ts +363 -322
- package/commands/toolchain/moc.ts +78 -50
- package/commands/toolchain/pocket-ic.ts +41 -34
- package/commands/toolchain/toolchain-utils.ts +92 -72
- package/commands/toolchain/wasmtime.ts +37 -34
- package/commands/update.ts +82 -64
- package/commands/user.ts +90 -81
- package/commands/watch/deployer.ts +188 -152
- package/commands/watch/error-checker.ts +90 -80
- package/commands/watch/formatter.ts +72 -60
- package/commands/watch/generator.ts +116 -96
- package/commands/watch/globMoFiles.ts +13 -13
- package/commands/watch/parseDfxJson.ts +63 -57
- package/commands/watch/tester.ts +83 -65
- package/commands/watch/warning-checker.ts +149 -136
- package/commands/watch/watch.ts +123 -95
- package/dist/api/actors.d.ts +4 -4
- package/dist/api/actors.js +8 -8
- package/dist/api/downloadPackageFiles.d.ts +2 -2
- package/dist/api/downloadPackageFiles.js +10 -10
- package/dist/api/getHighestVersion.js +1 -1
- package/dist/api/index.d.ts +4 -4
- package/dist/api/index.js +4 -4
- package/dist/api/network.js +9 -9
- package/dist/api/resolveVersion.js +3 -3
- package/dist/bin/mops.js +1 -1
- package/dist/bundle-package-json.js +8 -8
- package/dist/cache.js +22 -17
- package/dist/check-requirements.js +11 -11
- package/dist/cli.js +283 -186
- package/dist/commands/add.d.ts +1 -1
- package/dist/commands/add.js +40 -37
- package/dist/commands/available-updates.d.ts +1 -1
- package/dist/commands/available-updates.js +18 -12
- package/dist/commands/bench/bench-canister.mo +114 -108
- package/dist/commands/bench/user-bench.mo +6 -6
- package/dist/commands/bench-replica.d.ts +4 -4
- package/dist/commands/bench-replica.js +45 -34
- package/dist/commands/bench.d.ts +5 -5
- package/dist/commands/bench.js +134 -118
- package/dist/commands/build.d.ts +7 -0
- package/dist/commands/build.js +121 -0
- package/dist/commands/bump.js +27 -18
- package/dist/commands/check-candid.d.ts +4 -0
- package/dist/commands/check-candid.js +15 -0
- package/dist/commands/docs-coverage.d.ts +1 -1
- package/dist/commands/docs-coverage.js +45 -31
- package/dist/commands/docs.d.ts +1 -1
- package/dist/commands/docs.js +39 -38
- package/dist/commands/format.js +31 -27
- package/dist/commands/init.js +102 -92
- package/dist/commands/install/install-all.d.ts +2 -2
- package/dist/commands/install/install-all.js +23 -21
- package/dist/commands/install/install-dep.d.ts +1 -1
- package/dist/commands/install/install-dep.js +21 -8
- package/dist/commands/install/install-deps.d.ts +1 -1
- package/dist/commands/install/install-deps.js +1 -1
- package/dist/commands/install/install-local-dep.js +11 -9
- package/dist/commands/install/install-mops-dep.d.ts +1 -1
- package/dist/commands/install/install-mops-dep.js +32 -27
- package/dist/commands/install/sync-local-cache.js +10 -10
- package/dist/commands/maintainer.js +21 -21
- package/dist/commands/outdated.js +12 -8
- package/dist/commands/owner.js +21 -21
- package/dist/commands/publish.js +148 -128
- package/dist/commands/remove.d.ts +1 -1
- package/dist/commands/remove.js +42 -30
- package/dist/commands/replica.d.ts +7 -7
- package/dist/commands/replica.js +85 -57
- package/dist/commands/search.js +15 -13
- package/dist/commands/self.js +31 -28
- package/dist/commands/sources.d.ts +5 -1
- package/dist/commands/sources.js +23 -17
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.js +38 -25
- package/dist/commands/template.js +66 -56
- package/dist/commands/test/mmf1.d.ts +3 -3
- package/dist/commands/test/mmf1.js +33 -31
- package/dist/commands/test/reporters/compact-reporter.d.ts +3 -3
- package/dist/commands/test/reporters/compact-reporter.js +19 -15
- package/dist/commands/test/reporters/files-reporter.d.ts +3 -3
- package/dist/commands/test/reporters/files-reporter.js +18 -14
- package/dist/commands/test/reporters/reporter.d.ts +2 -2
- package/dist/commands/test/reporters/silent-reporter.d.ts +3 -3
- package/dist/commands/test/reporters/silent-reporter.js +4 -4
- package/dist/commands/test/reporters/verbose-reporter.d.ts +3 -3
- package/dist/commands/test/reporters/verbose-reporter.js +17 -13
- package/dist/commands/test/test.d.ts +4 -4
- package/dist/commands/test/test.js +134 -112
- package/dist/commands/test/utils.d.ts +3 -3
- package/dist/commands/test/utils.js +17 -17
- package/dist/commands/toolchain/index.d.ts +1 -1
- package/dist/commands/toolchain/index.js +81 -69
- package/dist/commands/toolchain/moc.d.ts +1 -1
- package/dist/commands/toolchain/moc.js +48 -24
- package/dist/commands/toolchain/pocket-ic.js +12 -12
- package/dist/commands/toolchain/toolchain-utils.d.ts +2 -0
- package/dist/commands/toolchain/toolchain-utils.js +32 -23
- package/dist/commands/toolchain/wasmtime.js +11 -11
- package/dist/commands/update.d.ts +1 -1
- package/dist/commands/update.js +18 -14
- package/dist/commands/user.js +31 -28
- package/dist/commands/watch/deployer.d.ts +4 -4
- package/dist/commands/watch/deployer.js +45 -36
- package/dist/commands/watch/error-checker.d.ts +2 -2
- package/dist/commands/watch/error-checker.js +27 -27
- package/dist/commands/watch/formatter.d.ts +4 -4
- package/dist/commands/watch/formatter.js +17 -17
- package/dist/commands/watch/generator.d.ts +3 -3
- package/dist/commands/watch/generator.js +28 -23
- package/dist/commands/watch/globMoFiles.js +8 -8
- package/dist/commands/watch/parseDfxJson.d.ts +2 -2
- package/dist/commands/watch/parseDfxJson.js +9 -9
- package/dist/commands/watch/tester.d.ts +4 -4
- package/dist/commands/watch/tester.js +23 -21
- package/dist/commands/watch/warning-checker.d.ts +3 -3
- package/dist/commands/watch/warning-checker.js +36 -36
- package/dist/commands/watch/watch.js +45 -32
- package/dist/environments/nodejs/cli.d.ts +1 -0
- package/dist/environments/nodejs/cli.js +4 -0
- package/dist/environments/web/cli.d.ts +1 -0
- package/dist/environments/web/cli.js +4 -0
- package/dist/error.d.ts +1 -0
- package/dist/error.js +5 -0
- package/dist/fix-dist.js +5 -5
- package/dist/helpers/find-changelog-entry.js +8 -5
- package/dist/helpers/get-dep-name.js +2 -2
- package/dist/helpers/get-dfx-version.js +4 -4
- package/dist/helpers/get-moc-path.js +8 -7
- package/dist/helpers/get-moc-version.js +10 -7
- package/dist/helpers/get-package-id.js +2 -2
- package/dist/helpers/is-candid-compatible.d.ts +1 -0
- package/dist/helpers/is-candid-compatible.js +20 -0
- package/dist/integrity.d.ts +1 -1
- package/dist/integrity.js +47 -38
- package/dist/jest.config.d.ts +11 -0
- package/dist/jest.config.js +14 -0
- package/dist/mops.d.ts +6 -6
- package/dist/mops.js +87 -80
- package/dist/notify-installs.js +4 -4
- package/dist/package.json +9 -5
- package/dist/pem.d.ts +3 -3
- package/dist/pem.js +20 -12
- package/dist/release-cli.js +20 -20
- package/dist/resolve-packages.d.ts +1 -1
- package/dist/resolve-packages.js +52 -36
- package/dist/templates/mops-publish.yml +3 -3
- package/dist/templates/mops-test.yml +3 -3
- package/dist/templates/src/lib.mo +13 -13
- package/dist/templates/test/lib.test.mo +2 -2
- package/dist/templates.js +1 -1
- package/dist/tests/cli.test.d.ts +1 -0
- package/dist/tests/cli.test.js +63 -0
- package/dist/types.d.ts +14 -4
- package/dist/vessel.d.ts +2 -2
- package/dist/vessel.js +41 -34
- package/dist/wasm/pkg/bundler/package.json +20 -0
- package/dist/wasm/pkg/bundler/wasm.d.ts +3 -0
- package/dist/wasm/pkg/bundler/wasm.js +5 -0
- package/dist/wasm/pkg/bundler/wasm_bg.js +93 -0
- package/dist/wasm/pkg/bundler/wasm_bg.wasm +0 -0
- package/dist/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
- package/dist/wasm/pkg/nodejs/package.json +14 -0
- package/dist/wasm/pkg/nodejs/wasm.d.ts +3 -0
- package/dist/wasm/pkg/nodejs/wasm.js +98 -0
- package/dist/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
- package/dist/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
- package/dist/wasm/pkg/web/package.json +18 -0
- package/dist/wasm/pkg/web/wasm.d.ts +35 -0
- package/dist/wasm/pkg/web/wasm.js +191 -0
- package/dist/wasm/pkg/web/wasm_bg.wasm +0 -0
- package/dist/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
- package/dist/wasm.d.ts +5 -0
- package/dist/wasm.js +10 -0
- package/environments/nodejs/cli.ts +6 -0
- package/environments/web/cli.ts +6 -0
- package/error.ts +6 -0
- package/fix-dist.ts +5 -5
- package/global.d.ts +3 -3
- package/helpers/find-changelog-entry.ts +26 -23
- package/helpers/get-dep-name.ts +5 -5
- package/helpers/get-dfx-version.ts +8 -9
- package/helpers/get-moc-path.ts +25 -26
- package/helpers/get-moc-version.ts +21 -19
- package/helpers/get-package-id.ts +4 -4
- package/helpers/is-candid-compatible.ts +22 -0
- package/integrity.ts +270 -236
- package/jest.config.js +14 -0
- package/mops.ts +238 -215
- package/notify-installs.ts +16 -17
- package/package.json +19 -10
- package/parallel.ts +28 -24
- package/pem.ts +55 -47
- package/release-cli.ts +73 -39
- package/resolve-packages.ts +231 -189
- package/templates/mops-publish.yml +3 -3
- package/templates/mops-test.yml +3 -3
- package/templates/src/lib.mo +13 -13
- package/templates/test/lib.test.mo +2 -2
- package/templates.ts +4 -4
- package/tests/__snapshots__/cli.test.ts.snap +202 -0
- package/tests/build/error/candid/bar.did +3 -0
- package/tests/build/error/dfx.json +12 -0
- package/tests/build/error/mops.toml +9 -0
- package/tests/build/error/src/Bar.mo +5 -0
- package/tests/build/error/src/Foo.mo +5 -0
- package/tests/build/success/.dfx/local/canister_ids.json +17 -0
- package/tests/build/success/.dfx/local/canisters/bar/bar.did +3 -0
- package/tests/build/success/.dfx/local/canisters/bar/bar.most +4 -0
- package/tests/build/success/.dfx/local/canisters/bar/bar.wasm +0 -0
- package/tests/build/success/.dfx/local/canisters/bar/constructor.did +3 -0
- package/tests/build/success/.dfx/local/canisters/bar/index.js +42 -0
- package/tests/build/success/.dfx/local/canisters/bar/init_args.txt +1 -0
- package/tests/build/success/.dfx/local/canisters/bar/service.did +3 -0
- package/tests/build/success/.dfx/local/canisters/bar/service.did.d.ts +7 -0
- package/tests/build/success/.dfx/local/canisters/bar/service.did.js +4 -0
- package/tests/build/success/.dfx/local/canisters/foo/constructor.did +3 -0
- package/tests/build/success/.dfx/local/canisters/foo/foo.did +3 -0
- package/tests/build/success/.dfx/local/canisters/foo/foo.most +4 -0
- package/tests/build/success/.dfx/local/canisters/foo/foo.wasm +0 -0
- package/tests/build/success/.dfx/local/canisters/foo/index.js +42 -0
- package/tests/build/success/.dfx/local/canisters/foo/init_args.txt +1 -0
- package/tests/build/success/.dfx/local/canisters/foo/service.did +3 -0
- package/tests/build/success/.dfx/local/canisters/foo/service.did.d.ts +7 -0
- package/tests/build/success/.dfx/local/canisters/foo/service.did.js +4 -0
- package/tests/build/success/.dfx/local/lsp/ucwa4-rx777-77774-qaada-cai.did +3 -0
- package/tests/build/success/.dfx/local/lsp/ulvla-h7777-77774-qaacq-cai.did +3 -0
- package/tests/build/success/.dfx/local/network-id +4 -0
- package/tests/build/success/candid/bar.did +3 -0
- package/tests/build/success/dfx.json +12 -0
- package/tests/build/success/mops.toml +9 -0
- package/tests/build/success/src/Bar.mo +5 -0
- package/tests/build/success/src/Foo.mo +5 -0
- package/tests/check-candid/a.did +3 -0
- package/tests/check-candid/b.did +5 -0
- package/tests/check-candid/c.did +3 -0
- package/tests/cli.test.ts +82 -0
- package/tsconfig.json +26 -19
- package/types.ts +41 -31
- package/vessel.ts +219 -187
- package/wasm/Cargo.lock +1475 -0
- package/wasm/Cargo.toml +28 -0
- package/wasm/pkg/bundler/package.json +20 -0
- package/wasm/pkg/bundler/wasm.d.ts +3 -0
- package/wasm/pkg/bundler/wasm.js +5 -0
- package/wasm/pkg/bundler/wasm_bg.js +93 -0
- package/wasm/pkg/bundler/wasm_bg.wasm +0 -0
- package/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
- package/wasm/pkg/nodejs/package.json +14 -0
- package/wasm/pkg/nodejs/wasm.d.ts +3 -0
- package/wasm/pkg/nodejs/wasm.js +98 -0
- package/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
- package/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
- package/wasm/pkg/web/package.json +18 -0
- package/wasm/pkg/web/wasm.d.ts +35 -0
- package/wasm/pkg/web/wasm.js +191 -0
- package/wasm/pkg/web/wasm_bg.wasm +0 -0
- package/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
- package/wasm/src/lib.rs +17 -0
- package/wasm.ts +16 -0
package/dist/commands/add.d.ts
CHANGED
package/dist/commands/add.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import path from
|
|
3
|
-
import chalk from
|
|
4
|
-
import { createLogUpdate } from
|
|
5
|
-
import { checkConfigFile, getGithubCommit, parseGithubURL, readConfig, writeConfig } from
|
|
6
|
-
import { getHighestVersion } from
|
|
7
|
-
import { installMopsDep } from
|
|
8
|
-
import { installFromGithub } from
|
|
9
|
-
import { checkIntegrity } from
|
|
10
|
-
import { checkRequirements } from
|
|
11
|
-
import { syncLocalCache } from
|
|
12
|
-
import { notifyInstalls } from
|
|
13
|
-
import { resolvePackages } from
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { createLogUpdate } from "log-update";
|
|
5
|
+
import { checkConfigFile, getGithubCommit, parseGithubURL, readConfig, writeConfig, } from "../mops.js";
|
|
6
|
+
import { getHighestVersion } from "../api/getHighestVersion.js";
|
|
7
|
+
import { installMopsDep } from "./install/install-mops-dep.js";
|
|
8
|
+
import { installFromGithub } from "../vessel.js";
|
|
9
|
+
import { checkIntegrity } from "../integrity.js";
|
|
10
|
+
import { checkRequirements } from "../check-requirements.js";
|
|
11
|
+
import { syncLocalCache } from "./install/sync-local-cache.js";
|
|
12
|
+
import { notifyInstalls } from "../notify-installs.js";
|
|
13
|
+
import { resolvePackages } from "../resolve-packages.js";
|
|
14
14
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
15
|
export async function add(name, { verbose = false, dev = false, lock } = {}, asName) {
|
|
16
16
|
if (!checkConfigFile()) {
|
|
@@ -18,8 +18,8 @@ export async function add(name, { verbose = false, dev = false, lock } = {}, asN
|
|
|
18
18
|
}
|
|
19
19
|
let config = readConfig();
|
|
20
20
|
if (dev) {
|
|
21
|
-
if (!config[
|
|
22
|
-
config[
|
|
21
|
+
if (!config["dev-dependencies"]) {
|
|
22
|
+
config["dev-dependencies"] = {};
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
@@ -29,16 +29,17 @@ export async function add(name, { verbose = false, dev = false, lock } = {}, asN
|
|
|
29
29
|
}
|
|
30
30
|
let pkgDetails;
|
|
31
31
|
// local package
|
|
32
|
-
if (name.startsWith(
|
|
32
|
+
if (name.startsWith("./") || name.startsWith("../") || name.startsWith("/")) {
|
|
33
33
|
pkgDetails = {
|
|
34
|
-
name: path.parse(name).name ===
|
|
34
|
+
name: path.parse(name).name === "." ? "_" : path.parse(name).name,
|
|
35
35
|
path: name,
|
|
36
|
-
repo:
|
|
37
|
-
version:
|
|
36
|
+
repo: "",
|
|
37
|
+
version: "",
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
// github package
|
|
41
|
-
else if (name.startsWith(
|
|
41
|
+
else if (name.startsWith("https://github.com") ||
|
|
42
|
+
name.split("/").length > 1) {
|
|
42
43
|
let { org, gitName, branch, commitHash } = parseGithubURL(name);
|
|
43
44
|
// fetch latest commit hash of branch if not specified
|
|
44
45
|
if (!commitHash) {
|
|
@@ -51,40 +52,44 @@ export async function add(name, { verbose = false, dev = false, lock } = {}, asN
|
|
|
51
52
|
pkgDetails = {
|
|
52
53
|
name: asName || parseGithubURL(name).gitName,
|
|
53
54
|
repo: `https://github.com/${org}/${gitName}#${branch}@${commitHash}`,
|
|
54
|
-
version:
|
|
55
|
+
version: "",
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
// mops package
|
|
58
59
|
else {
|
|
59
60
|
let ver;
|
|
60
|
-
if (name.includes(
|
|
61
|
+
if (name.includes("@")) {
|
|
61
62
|
// @ts-ignore
|
|
62
|
-
[name, ver] = name.split(
|
|
63
|
+
[name, ver] = name.split("@");
|
|
63
64
|
}
|
|
64
65
|
else {
|
|
65
66
|
let versionRes = await getHighestVersion(name);
|
|
66
|
-
if (
|
|
67
|
-
console.log(chalk.red(
|
|
67
|
+
if ("err" in versionRes) {
|
|
68
|
+
console.log(chalk.red("Error: ") + versionRes.err);
|
|
68
69
|
return;
|
|
69
70
|
}
|
|
70
71
|
ver = versionRes.ok;
|
|
71
72
|
}
|
|
72
73
|
pkgDetails = {
|
|
73
74
|
name: asName || name,
|
|
74
|
-
repo:
|
|
75
|
+
repo: "",
|
|
75
76
|
version: ver,
|
|
76
77
|
};
|
|
77
78
|
}
|
|
78
79
|
if (pkgDetails.repo) {
|
|
79
|
-
await installFromGithub(pkgDetails.name, pkgDetails.repo, {
|
|
80
|
+
await installFromGithub(pkgDetails.name, pkgDetails.repo, {
|
|
81
|
+
verbose: verbose,
|
|
82
|
+
});
|
|
80
83
|
}
|
|
81
84
|
else if (!pkgDetails.path) {
|
|
82
|
-
let res = await installMopsDep(pkgDetails.name, pkgDetails.version, {
|
|
85
|
+
let res = await installMopsDep(pkgDetails.name, pkgDetails.version, {
|
|
86
|
+
verbose: verbose,
|
|
87
|
+
});
|
|
83
88
|
if (res === false) {
|
|
84
89
|
return;
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
|
-
const depsProp = dev ?
|
|
92
|
+
const depsProp = dev ? "dev-dependencies" : "dependencies";
|
|
88
93
|
let deps = config[depsProp];
|
|
89
94
|
if (deps) {
|
|
90
95
|
deps[pkgDetails.name] = pkgDetails;
|
|
@@ -94,17 +99,15 @@ export async function add(name, { verbose = false, dev = false, lock } = {}, asN
|
|
|
94
99
|
}
|
|
95
100
|
writeConfig(config);
|
|
96
101
|
let logUpdate = createLogUpdate(process.stdout, { showCursor: true });
|
|
97
|
-
if (lock !==
|
|
98
|
-
logUpdate(
|
|
102
|
+
if (lock !== "ignore") {
|
|
103
|
+
logUpdate("Checking integrity...");
|
|
99
104
|
}
|
|
100
105
|
let installedPackages = await syncLocalCache();
|
|
101
|
-
await Promise.all([
|
|
102
|
-
notifyInstalls(installedPackages),
|
|
103
|
-
checkIntegrity(lock),
|
|
104
|
-
]);
|
|
106
|
+
await Promise.all([notifyInstalls(installedPackages), checkIntegrity(lock)]);
|
|
105
107
|
logUpdate.clear();
|
|
106
108
|
await checkRequirements({ verbose });
|
|
107
|
-
console.log(chalk.green(
|
|
109
|
+
console.log(chalk.green("Package installed ") +
|
|
110
|
+
`${pkgDetails.name} = "${pkgDetails.repo || pkgDetails.path || pkgDetails.version}"`);
|
|
108
111
|
// check conflicts
|
|
109
|
-
await resolvePackages({ conflicts:
|
|
112
|
+
await resolvePackages({ conflicts: "warning" });
|
|
110
113
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Config } from
|
|
1
|
+
import { Config } from "../types.js";
|
|
2
2
|
export declare function getAvailableUpdates(config: Config, pkg?: string): Promise<Array<[string, string, string]>>;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import chalk from
|
|
3
|
-
import { mainActor } from
|
|
4
|
-
import { getDepName, getDepPinnedVersion } from
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { mainActor } from "../api/actors.js";
|
|
4
|
+
import { getDepName, getDepPinnedVersion } from "../helpers/get-dep-name.js";
|
|
5
5
|
// [pkg, oldVersion, newVersion]
|
|
6
6
|
export async function getAvailableUpdates(config, pkg) {
|
|
7
7
|
let deps = Object.values(config.dependencies || {});
|
|
8
|
-
let devDeps = Object.values(config[
|
|
8
|
+
let devDeps = Object.values(config["dev-dependencies"] || {});
|
|
9
9
|
let allDeps = [...deps, ...devDeps].filter((dep) => dep.version);
|
|
10
10
|
let depsToUpdate = pkg ? allDeps.filter((dep) => dep.name === pkg) : allDeps;
|
|
11
11
|
// skip hard pinned dependencies (e.g. "base@X.Y.Z")
|
|
12
|
-
depsToUpdate = depsToUpdate.filter((dep) => getDepName(dep.name) === dep.name ||
|
|
12
|
+
depsToUpdate = depsToUpdate.filter((dep) => getDepName(dep.name) === dep.name ||
|
|
13
|
+
getDepPinnedVersion(dep.name).split(".").length !== 3);
|
|
13
14
|
let getCurrentVersion = (pkg, updateVersion) => {
|
|
14
15
|
for (let dep of allDeps) {
|
|
15
16
|
if (getDepName(dep.name) === pkg && dep.version) {
|
|
@@ -20,7 +21,7 @@ export async function getAvailableUpdates(config, pkg) {
|
|
|
20
21
|
return dep.version;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
return
|
|
24
|
+
return "";
|
|
24
25
|
};
|
|
25
26
|
let actor = await mainActor();
|
|
26
27
|
let res = await actor.getHighestSemverBatch(depsToUpdate.map((dep) => {
|
|
@@ -28,13 +29,18 @@ export async function getAvailableUpdates(config, pkg) {
|
|
|
28
29
|
let name = getDepName(dep.name);
|
|
29
30
|
let pinnedVersion = getDepPinnedVersion(dep.name);
|
|
30
31
|
if (pinnedVersion) {
|
|
31
|
-
semverPart =
|
|
32
|
+
semverPart =
|
|
33
|
+
pinnedVersion.split(".").length === 1
|
|
34
|
+
? { minor: null }
|
|
35
|
+
: { patch: null };
|
|
32
36
|
}
|
|
33
|
-
return [name, dep.version ||
|
|
37
|
+
return [name, dep.version || "", semverPart];
|
|
34
38
|
}));
|
|
35
|
-
if (
|
|
36
|
-
console.log(chalk.red(
|
|
39
|
+
if ("err" in res) {
|
|
40
|
+
console.log(chalk.red("Error:"), res.err);
|
|
37
41
|
process.exit(1);
|
|
38
42
|
}
|
|
39
|
-
return res.ok
|
|
43
|
+
return res.ok
|
|
44
|
+
.filter((dep) => dep[1] !== getCurrentVersion(dep[0], dep[1]))
|
|
45
|
+
.map((dep) => [dep[0], getCurrentVersion(dep[0], dep[1]), dep[1]]);
|
|
40
46
|
}
|
|
@@ -1,113 +1,119 @@
|
|
|
1
|
-
import Nat64 "mo:
|
|
2
|
-
import Nat "mo:
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import Region "mo:base/Region";
|
|
1
|
+
import Nat64 "mo:core/Nat64";
|
|
2
|
+
import Nat "mo:core/Nat";
|
|
3
|
+
import Runtime "mo:core/Runtime";
|
|
4
|
+
import InternetComputer "mo:core/InternetComputer";
|
|
5
|
+
import Int64 "mo:core/Int64";
|
|
6
|
+
import Region "mo:core/Region";
|
|
8
7
|
import Prim "mo:prim";
|
|
9
8
|
import Bench "mo:bench";
|
|
10
9
|
|
|
11
10
|
import UserBench "./user-bench"; // file path will be replaced with the *.bench.mo file path
|
|
12
11
|
|
|
13
|
-
persistent actor class() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
12
|
+
persistent actor class () {
|
|
13
|
+
type BenchResult = {
|
|
14
|
+
instructions : Int;
|
|
15
|
+
rts_mutator_instructions : Int;
|
|
16
|
+
stable_memory_size : Int;
|
|
17
|
+
rts_stable_memory_size : Int;
|
|
18
|
+
rts_logical_stable_memory_size : Int;
|
|
19
|
+
rts_collector_instructions : Int;
|
|
20
|
+
rts_heap_size : Int;
|
|
21
|
+
rts_memory_size : Int;
|
|
22
|
+
rts_total_allocation : Int;
|
|
23
|
+
rts_reclaimed : Int;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
transient var benchOpt : ?Bench.Bench = null;
|
|
27
|
+
|
|
28
|
+
public func init() : async Bench.BenchSchema {
|
|
29
|
+
let bench = UserBench.init();
|
|
30
|
+
benchOpt := ?bench;
|
|
31
|
+
ignore Region.grow(Region.new(), 1);
|
|
32
|
+
bench.getSchema();
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
public query func getSchema() : async Bench.BenchSchema {
|
|
36
|
+
let ?bench = benchOpt else Runtime.trap("bench not initialized");
|
|
37
|
+
bench.getSchema();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
func _getStats() : BenchResult {
|
|
41
|
+
{
|
|
42
|
+
instructions = 0;
|
|
43
|
+
rts_heap_size = Prim.rts_heap_size();
|
|
44
|
+
stable_memory_size = Int64.toInt(Int64.fromNat64(Prim.stableMemorySize())) * 65536;
|
|
45
|
+
rts_stable_memory_size = Prim.rts_stable_memory_size();
|
|
46
|
+
rts_logical_stable_memory_size = Prim.rts_logical_stable_memory_size();
|
|
47
|
+
rts_memory_size = Prim.rts_memory_size();
|
|
48
|
+
rts_total_allocation = Prim.rts_total_allocation();
|
|
49
|
+
rts_reclaimed = Prim.rts_reclaimed();
|
|
50
|
+
rts_mutator_instructions = Prim.rts_mutator_instructions();
|
|
51
|
+
rts_collector_instructions = Prim.rts_collector_instructions();
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
func _diffStats(before : BenchResult, after : BenchResult) : BenchResult {
|
|
56
|
+
{
|
|
57
|
+
instructions = after.instructions - before.instructions;
|
|
58
|
+
rts_heap_size = after.rts_heap_size - before.rts_heap_size;
|
|
59
|
+
stable_memory_size = after.stable_memory_size - before.stable_memory_size;
|
|
60
|
+
rts_stable_memory_size = after.rts_stable_memory_size - before.rts_stable_memory_size;
|
|
61
|
+
rts_logical_stable_memory_size = after.rts_logical_stable_memory_size - before.rts_logical_stable_memory_size;
|
|
62
|
+
rts_memory_size = after.rts_memory_size - before.rts_memory_size;
|
|
63
|
+
rts_total_allocation = after.rts_total_allocation - before.rts_total_allocation;
|
|
64
|
+
rts_reclaimed = after.rts_reclaimed - before.rts_reclaimed;
|
|
65
|
+
rts_mutator_instructions = after.rts_mutator_instructions - before.rts_mutator_instructions;
|
|
66
|
+
rts_collector_instructions = after.rts_collector_instructions - before.rts_collector_instructions;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
func _runCell(rowIndex : Nat, colIndex : Nat) : BenchResult {
|
|
71
|
+
let ?bench = benchOpt else Runtime.trap("bench not initialized");
|
|
72
|
+
let statsBefore = _getStats();
|
|
73
|
+
|
|
74
|
+
let instructions = Nat64.toNat(
|
|
75
|
+
InternetComputer.countInstructions(
|
|
76
|
+
func() {
|
|
77
|
+
bench.runCell(rowIndex, colIndex);
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
let statsAfter = _getStats();
|
|
83
|
+
_diffStats(statsBefore, { statsAfter with instructions });
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
func _runCellAwait(rowIndex : Nat, colIndex : Nat) : async BenchResult {
|
|
87
|
+
let ?bench = benchOpt else Runtime.trap("bench not initialized");
|
|
88
|
+
let statsBefore = _getStats();
|
|
89
|
+
|
|
90
|
+
let instructions = Nat64.toNat(
|
|
91
|
+
InternetComputer.countInstructions(
|
|
92
|
+
func() {
|
|
93
|
+
bench.runCell(rowIndex, colIndex);
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
await (func() : async () {})();
|
|
99
|
+
|
|
100
|
+
let statsAfter = _getStats();
|
|
101
|
+
_diffStats(statsBefore, { statsAfter with instructions });
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
public query func getStats() : async BenchResult {
|
|
105
|
+
_getStats();
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
public query func runCellQuery(rowIndex : Nat, colIndex : Nat) : async BenchResult {
|
|
109
|
+
_runCell(rowIndex, colIndex);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
public func runCellUpdate(rowIndex : Nat, colIndex : Nat) : async BenchResult {
|
|
113
|
+
_runCell(rowIndex, colIndex);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
public func runCellUpdateAwait(rowIndex : Nat, colIndex : Nat) : async BenchResult {
|
|
117
|
+
await _runCellAwait(rowIndex, colIndex);
|
|
118
|
+
};
|
|
119
|
+
};
|
|
@@ -2,9 +2,9 @@ import Bench "mo:bench";
|
|
|
2
2
|
|
|
3
3
|
// placeholder file that will be replaced with the *.bench.mo file
|
|
4
4
|
module {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
5
|
+
public func init() : Bench.Bench {
|
|
6
|
+
let bench = Bench.Bench();
|
|
7
|
+
// benchmark code goes here...
|
|
8
|
+
bench;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PocketIc, PocketIcServer } from
|
|
2
|
-
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops } from
|
|
1
|
+
import { PocketIc, PocketIcServer } from "pic-ic";
|
|
2
|
+
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops } from "pic-js-mops";
|
|
3
3
|
export declare class BenchReplica {
|
|
4
|
-
type:
|
|
4
|
+
type: "dfx" | "pocket-ic" | "dfx-pocket-ic";
|
|
5
5
|
verbose: boolean;
|
|
6
6
|
canisters: Record<string, {
|
|
7
7
|
cwd: string;
|
|
@@ -10,7 +10,7 @@ export declare class BenchReplica {
|
|
|
10
10
|
}>;
|
|
11
11
|
pocketIcServer?: PocketIcServer | PocketIcServerMops;
|
|
12
12
|
pocketIc?: PocketIc | PocketIcMops;
|
|
13
|
-
constructor(type:
|
|
13
|
+
constructor(type: "dfx" | "pocket-ic" | "dfx-pocket-ic", verbose?: boolean);
|
|
14
14
|
start({ silent }?: {
|
|
15
15
|
silent?: boolean | undefined;
|
|
16
16
|
}): Promise<void>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import { execSync } from
|
|
3
|
-
import path from
|
|
4
|
-
import fs from
|
|
5
|
-
import { execaCommand } from
|
|
6
|
-
import { PocketIc, PocketIcServer } from
|
|
7
|
-
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops } from
|
|
8
|
-
import { getRootDir, readConfig } from
|
|
9
|
-
import { createActor, idlFactory } from
|
|
10
|
-
import { toolchain } from
|
|
11
|
-
import { getDfxVersion } from
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import { execaCommand } from "execa";
|
|
6
|
+
import { PocketIc, PocketIcServer } from "pic-ic";
|
|
7
|
+
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops, } from "pic-js-mops";
|
|
8
|
+
import { getRootDir, readConfig } from "../mops.js";
|
|
9
|
+
import { createActor, idlFactory } from "../declarations/bench/index.js";
|
|
10
|
+
import { toolchain } from "./toolchain/index.js";
|
|
11
|
+
import { getDfxVersion } from "../helpers/get-dfx-version.js";
|
|
12
12
|
export class BenchReplica {
|
|
13
13
|
type;
|
|
14
14
|
verbose = false;
|
|
@@ -23,21 +23,27 @@ export class BenchReplica {
|
|
|
23
23
|
if (!process.env.CI && !silent) {
|
|
24
24
|
console.log(`Starting ${this.type} replica...`);
|
|
25
25
|
}
|
|
26
|
-
if (this.type ==
|
|
26
|
+
if (this.type == "dfx" || this.type === "dfx-pocket-ic") {
|
|
27
27
|
await this.stop();
|
|
28
|
-
let dir = path.join(getRootDir(),
|
|
29
|
-
fs.writeFileSync(path.join(dir,
|
|
30
|
-
execSync(
|
|
28
|
+
let dir = path.join(getRootDir(), ".mops/.bench");
|
|
29
|
+
fs.writeFileSync(path.join(dir, "dfx.json"), JSON.stringify(this.dfxJson(""), null, 2));
|
|
30
|
+
execSync("dfx start --background --clean --artificial-delay 0" +
|
|
31
|
+
(this.type === "dfx-pocket-ic" ? " --pocketic" : "") +
|
|
32
|
+
(this.verbose ? "" : " -qqqq"), {
|
|
33
|
+
cwd: dir,
|
|
34
|
+
stdio: ["inherit", this.verbose ? "inherit" : "ignore", "inherit"],
|
|
35
|
+
});
|
|
31
36
|
}
|
|
32
37
|
else {
|
|
33
|
-
let pocketIcBin = await toolchain.bin(
|
|
38
|
+
let pocketIcBin = await toolchain.bin("pocket-ic");
|
|
34
39
|
let config = readConfig();
|
|
35
|
-
if (config.toolchain?.[
|
|
36
|
-
|
|
40
|
+
if (config.toolchain?.["pocket-ic"] !== "4.0.0" &&
|
|
41
|
+
!config.toolchain?.["pocket-ic"]?.startsWith("9.")) {
|
|
42
|
+
console.error("Current Mops CLI only supports pocket-ic 9.x.x and 4.0.0");
|
|
37
43
|
process.exit(1);
|
|
38
44
|
}
|
|
39
45
|
// pocket-ic 9.x.x
|
|
40
|
-
if (config.toolchain?.[
|
|
46
|
+
if (config.toolchain?.["pocket-ic"]?.startsWith("9.")) {
|
|
41
47
|
this.pocketIcServer = await PocketIcServerMops.start({
|
|
42
48
|
binPath: pocketIcBin,
|
|
43
49
|
});
|
|
@@ -53,9 +59,12 @@ export class BenchReplica {
|
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
async stop() {
|
|
56
|
-
if (this.type ==
|
|
57
|
-
let dir = path.join(getRootDir(),
|
|
58
|
-
execSync(
|
|
62
|
+
if (this.type == "dfx" || this.type === "dfx-pocket-ic") {
|
|
63
|
+
let dir = path.join(getRootDir(), ".mops/.bench");
|
|
64
|
+
execSync("dfx stop" + (this.verbose ? "" : " -qqqq"), {
|
|
65
|
+
cwd: dir,
|
|
66
|
+
stdio: ["pipe", this.verbose ? "inherit" : "ignore", "pipe"],
|
|
67
|
+
});
|
|
59
68
|
}
|
|
60
69
|
else if (this.pocketIc && this.pocketIcServer) {
|
|
61
70
|
await this.pocketIc.tearDown();
|
|
@@ -63,12 +72,14 @@ export class BenchReplica {
|
|
|
63
72
|
}
|
|
64
73
|
}
|
|
65
74
|
async deploy(name, wasm, cwd = process.cwd()) {
|
|
66
|
-
if (this.type ===
|
|
67
|
-
await execaCommand(`dfx deploy ${name} --mode reinstall --yes --identity anonymous`, { cwd, stdio: this.verbose ?
|
|
68
|
-
let canisterId = execSync(`dfx canister id ${name}`, { cwd })
|
|
75
|
+
if (this.type === "dfx" || this.type === "dfx-pocket-ic") {
|
|
76
|
+
await execaCommand(`dfx deploy ${name} --mode reinstall --yes --identity anonymous`, { cwd, stdio: this.verbose ? "pipe" : ["pipe", "ignore", "pipe"] });
|
|
77
|
+
let canisterId = execSync(`dfx canister id ${name}`, { cwd })
|
|
78
|
+
.toString()
|
|
79
|
+
.trim();
|
|
69
80
|
let actor = await createActor(canisterId, {
|
|
70
81
|
agentOptions: {
|
|
71
|
-
host:
|
|
82
|
+
host: "http://127.0.0.1:4944",
|
|
72
83
|
},
|
|
73
84
|
});
|
|
74
85
|
this.canisters[name] = { cwd, canisterId, actor };
|
|
@@ -86,16 +97,16 @@ export class BenchReplica {
|
|
|
86
97
|
return this.canisters[name]?.actor;
|
|
87
98
|
}
|
|
88
99
|
getCanisterId(name) {
|
|
89
|
-
return this.canisters[name]?.canisterId ||
|
|
100
|
+
return this.canisters[name]?.canisterId || "";
|
|
90
101
|
}
|
|
91
102
|
dfxJson(canisterName) {
|
|
92
103
|
let canisters = {};
|
|
93
104
|
if (canisterName) {
|
|
94
105
|
canisters[canisterName] = {
|
|
95
|
-
type:
|
|
96
|
-
wasm:
|
|
97
|
-
candid:
|
|
98
|
-
optimize:
|
|
106
|
+
type: "custom",
|
|
107
|
+
wasm: "canister.wasm",
|
|
108
|
+
candid: "canister.did",
|
|
109
|
+
optimize: "cycles",
|
|
99
110
|
};
|
|
100
111
|
}
|
|
101
112
|
return {
|
|
@@ -104,13 +115,13 @@ export class BenchReplica {
|
|
|
104
115
|
dfx: getDfxVersion(),
|
|
105
116
|
defaults: {
|
|
106
117
|
build: {
|
|
107
|
-
packtool:
|
|
118
|
+
packtool: "mops sources",
|
|
108
119
|
},
|
|
109
120
|
},
|
|
110
121
|
networks: {
|
|
111
122
|
local: {
|
|
112
|
-
type:
|
|
113
|
-
bind:
|
|
123
|
+
type: "ephemeral",
|
|
124
|
+
bind: "127.0.0.1:4944",
|
|
114
125
|
},
|
|
115
126
|
},
|
|
116
127
|
};
|
package/dist/commands/bench.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Benchmarks } from
|
|
2
|
-
type ReplicaName =
|
|
1
|
+
import { Benchmarks } from "../declarations/main/main.did.js";
|
|
2
|
+
type ReplicaName = "dfx" | "pocket-ic" | "dfx-pocket-ic";
|
|
3
3
|
type BenchOptions = {
|
|
4
4
|
replica: ReplicaName;
|
|
5
5
|
replicaVersion: string;
|
|
6
|
-
compiler:
|
|
6
|
+
compiler: "moc";
|
|
7
7
|
compilerVersion: string;
|
|
8
|
-
gc:
|
|
8
|
+
gc: "copying" | "compacting" | "generational" | "incremental";
|
|
9
9
|
forceGc: boolean;
|
|
10
10
|
save: boolean;
|
|
11
11
|
compare: boolean;
|
|
12
12
|
verbose: boolean;
|
|
13
13
|
silent: boolean;
|
|
14
|
-
profile:
|
|
14
|
+
profile: "Debug" | "Release";
|
|
15
15
|
};
|
|
16
16
|
export declare function bench(filter?: string, optionsArg?: Partial<BenchOptions>): Promise<Benchmarks>;
|
|
17
17
|
export {};
|