ic-mops 1.11.1 → 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 +15 -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/bun.lock +234 -198
- package/bundle/bench/bench-canister.mo +2 -2
- package/bundle/bench/user-bench.mo +0 -4
- package/bundle/bin/mops.js +1 -1
- package/bundle/cli.js +1000 -924
- package/bundle/cli.tgz +0 -0
- package/bundle/declarations/bench/bench.did +3 -3
- package/bundle/declarations/bench/bench.did.d.ts +3 -3
- package/bundle/declarations/bench/index.d.ts +3 -3
- package/bundle/declarations/bench/index.js +1 -1
- package/bundle/declarations/main/index.d.ts +3 -3
- package/bundle/declarations/main/index.js +1 -1
- package/bundle/declarations/main/main.did +78 -121
- package/bundle/declarations/main/main.did.d.ts +48 -98
- package/bundle/declarations/main/main.did.js +53 -107
- package/bundle/declarations/storage/index.d.ts +3 -3
- package/bundle/declarations/storage/index.js +4 -4
- package/bundle/declarations/storage/storage.did.d.ts +3 -3
- package/bundle/package.json +6 -5
- package/bundle/templates/mops-publish.yml +3 -3
- package/bundle/templates/mops-test.yml +3 -3
- 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 -28
- package/commands/bench/bench-canister.mo +114 -108
- package/commands/bench/user-bench.mo +6 -6
- package/commands/bench-replica.ts +146 -106
- 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 +31 -18
- package/commands/owner.ts +107 -99
- package/commands/publish.ts +534 -443
- package/commands/remove.ts +119 -89
- package/commands/replica.ts +391 -303
- 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 +497 -460
- package/commands/test/utils.ts +85 -6
- 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 +91 -56
- 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/declarations/bench/bench.did.d.ts +3 -3
- package/declarations/bench/index.d.ts +3 -3
- package/declarations/bench/index.js +1 -1
- package/declarations/main/index.d.ts +3 -3
- package/declarations/main/index.js +1 -1
- package/declarations/main/main.did.d.ts +3 -3
- package/declarations/storage/index.d.ts +3 -3
- package/declarations/storage/index.js +4 -4
- package/declarations/storage/storage.did.d.ts +3 -3
- 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 +41 -38
- package/dist/commands/available-updates.d.ts +1 -1
- package/dist/commands/available-updates.js +32 -14
- 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 +6 -5
- package/dist/commands/bench-replica.js +58 -36
- 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 +16 -6
- 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 +9 -8
- package/dist/commands/replica.js +105 -65
- 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 +151 -181
- package/dist/commands/test/utils.d.ts +6 -0
- package/dist/commands/test/utils.js +63 -2
- 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 +30 -12
- 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/declarations/bench/bench.did.d.ts +3 -3
- package/dist/declarations/bench/index.d.ts +3 -3
- package/dist/declarations/bench/index.js +1 -1
- package/dist/declarations/main/index.d.ts +3 -3
- package/dist/declarations/main/index.js +1 -1
- package/dist/declarations/main/main.did.d.ts +3 -3
- package/dist/declarations/storage/index.d.ts +3 -3
- package/dist/declarations/storage/index.js +4 -4
- package/dist/declarations/storage/storage.did.d.ts +3 -3
- 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.d.ts +1 -0
- package/dist/helpers/get-dep-name.js +4 -1
- 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 +11 -10
- 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 +7 -3
- 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 +21 -15
- 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
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { ChildProcessWithoutNullStreams } from
|
|
2
|
-
import { PassThrough } from
|
|
3
|
-
import { IDL } from
|
|
4
|
-
import { PocketIc, PocketIcServer } from
|
|
1
|
+
import { ChildProcessWithoutNullStreams } from "node:child_process";
|
|
2
|
+
import { PassThrough } from "node:stream";
|
|
3
|
+
import { IDL } from "@icp-sdk/core/candid";
|
|
4
|
+
import { PocketIc, PocketIcServer } from "pic-ic";
|
|
5
|
+
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops } from "pic-js-mops";
|
|
5
6
|
type StartOptions = {
|
|
6
|
-
type?:
|
|
7
|
+
type?: "dfx" | "pocket-ic" | "dfx-pocket-ic";
|
|
7
8
|
dir?: string;
|
|
8
9
|
verbose?: boolean;
|
|
9
10
|
silent?: boolean;
|
|
10
11
|
};
|
|
11
12
|
export declare class Replica {
|
|
12
|
-
type:
|
|
13
|
+
type: "dfx" | "pocket-ic" | "dfx-pocket-ic";
|
|
13
14
|
verbose: boolean;
|
|
14
15
|
canisters: Record<string, {
|
|
15
16
|
cwd: string;
|
|
@@ -17,8 +18,8 @@ export declare class Replica {
|
|
|
17
18
|
actor: any;
|
|
18
19
|
stream: PassThrough;
|
|
19
20
|
}>;
|
|
20
|
-
pocketIcServer?: PocketIcServer;
|
|
21
|
-
pocketIc?: PocketIc;
|
|
21
|
+
pocketIcServer?: PocketIcServer | PocketIcServerMops;
|
|
22
|
+
pocketIc?: PocketIc | PocketIcMops;
|
|
22
23
|
dfxProcess?: ChildProcessWithoutNullStreams;
|
|
23
24
|
dir: string;
|
|
24
25
|
ttl: number;
|
package/dist/commands/replica.js
CHANGED
|
@@ -1,112 +1,135 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import { execSync, spawn } from
|
|
3
|
-
import path from
|
|
4
|
-
import fs from
|
|
5
|
-
import { PassThrough } from
|
|
6
|
-
import { spawn as spawnAsync } from
|
|
7
|
-
import { Actor, HttpAgent } from
|
|
8
|
-
import { PocketIc, PocketIcServer } from
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { execSync, spawn, } from "node:child_process";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import { PassThrough } from "node:stream";
|
|
6
|
+
import { spawn as spawnAsync } from "promisify-child-process";
|
|
7
|
+
import { Actor, HttpAgent } from "@icp-sdk/core/agent";
|
|
8
|
+
import { PocketIc, PocketIcServer } from "pic-ic";
|
|
9
|
+
import { PocketIc as PocketIcMops, PocketIcServer as PocketIcServerMops, } from "pic-js-mops";
|
|
10
|
+
import chalk from "chalk";
|
|
11
|
+
import { readConfig } from "../mops.js";
|
|
12
|
+
import { toolchain } from "./toolchain/index.js";
|
|
13
|
+
import { getDfxVersion } from "../helpers/get-dfx-version.js";
|
|
13
14
|
export class Replica {
|
|
14
|
-
type =
|
|
15
|
+
type = "dfx";
|
|
15
16
|
verbose = false;
|
|
16
17
|
canisters = {};
|
|
17
18
|
pocketIcServer;
|
|
18
19
|
pocketIc;
|
|
19
20
|
dfxProcess;
|
|
20
|
-
dir =
|
|
21
|
+
dir = ""; // absolute path (/.../.mops/.test/)
|
|
21
22
|
ttl = 60;
|
|
22
23
|
async start({ type, dir, verbose, silent } = {}) {
|
|
23
24
|
this.type = type ?? this.type;
|
|
24
25
|
this.verbose = verbose ?? this.verbose;
|
|
25
26
|
this.dir = dir ?? this.dir;
|
|
26
27
|
silent || console.log(`Starting ${this.type} replica...`);
|
|
27
|
-
if (this.type ===
|
|
28
|
+
if (this.type === "dfx" || this.type === "dfx-pocket-ic") {
|
|
28
29
|
fs.mkdirSync(this.dir, { recursive: true });
|
|
29
|
-
fs.writeFileSync(path.join(this.dir,
|
|
30
|
-
fs.writeFileSync(path.join(this.dir,
|
|
30
|
+
fs.writeFileSync(path.join(this.dir, "dfx.json"), JSON.stringify(this.dfxJson(""), null, 2));
|
|
31
|
+
fs.writeFileSync(path.join(this.dir, "canister.did"), "service : { runTests: () -> (); }");
|
|
31
32
|
await this.stop();
|
|
32
|
-
this.dfxProcess = spawn(
|
|
33
|
+
this.dfxProcess = spawn("dfx", [
|
|
34
|
+
"start",
|
|
35
|
+
this.type === "dfx-pocket-ic" ? "--pocketic" : "",
|
|
36
|
+
"--clean",
|
|
37
|
+
this.verbose ? "" : "-qqqq",
|
|
38
|
+
"--artificial-delay",
|
|
39
|
+
"0",
|
|
40
|
+
]
|
|
41
|
+
.filter((x) => x)
|
|
42
|
+
.flat(), { cwd: this.dir });
|
|
33
43
|
// process canister logs
|
|
34
44
|
this._attachCanisterLogHandler(this.dfxProcess);
|
|
35
|
-
this.dfxProcess.stdout.on(
|
|
45
|
+
this.dfxProcess.stdout.on("data", (data) => {
|
|
36
46
|
if (this.verbose) {
|
|
37
|
-
console.log(
|
|
47
|
+
console.log("DFX:", data.toString());
|
|
38
48
|
}
|
|
39
49
|
});
|
|
40
|
-
this.dfxProcess.stderr.on(
|
|
50
|
+
this.dfxProcess.stderr.on("data", (data) => {
|
|
41
51
|
if (this.verbose) {
|
|
42
|
-
console.error(
|
|
52
|
+
console.error("DFX:", data.toString());
|
|
43
53
|
}
|
|
44
|
-
if (data.toString().includes(
|
|
54
|
+
if (data.toString().includes("Failed to bind socket to")) {
|
|
45
55
|
console.error(chalk.red(data.toString()));
|
|
46
|
-
console.log(
|
|
56
|
+
console.log("Please try again after some time");
|
|
47
57
|
process.exit(11);
|
|
48
58
|
}
|
|
49
59
|
});
|
|
50
60
|
// await for dfx to start
|
|
51
61
|
let ok = false;
|
|
52
62
|
while (!ok) {
|
|
53
|
-
await fetch(
|
|
54
|
-
.then(res => {
|
|
63
|
+
await fetch("http://127.0.0.1:4945/api/v2/status")
|
|
64
|
+
.then((res) => {
|
|
55
65
|
if (res.status === 200) {
|
|
56
66
|
ok = true;
|
|
57
67
|
}
|
|
58
68
|
})
|
|
59
69
|
.catch(() => { })
|
|
60
70
|
.finally(() => {
|
|
61
|
-
return new Promise(resolve => setTimeout(resolve, 1000));
|
|
71
|
+
return new Promise((resolve) => setTimeout(resolve, 1000));
|
|
62
72
|
});
|
|
63
73
|
}
|
|
64
74
|
}
|
|
65
75
|
else {
|
|
66
|
-
let pocketIcBin = await toolchain.bin(
|
|
67
|
-
// eslint-disable-next-line
|
|
76
|
+
let pocketIcBin = await toolchain.bin("pocket-ic");
|
|
68
77
|
let config = readConfig();
|
|
69
|
-
if (config.toolchain?.[
|
|
70
|
-
|
|
78
|
+
if (config.toolchain?.["pocket-ic"] !== "4.0.0" &&
|
|
79
|
+
!config.toolchain?.["pocket-ic"]?.startsWith("9.")) {
|
|
80
|
+
console.error("Current Mops CLI only supports pocket-ic 9.x.x and 4.0.0");
|
|
71
81
|
process.exit(1);
|
|
72
82
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
// pocket-ic 9.x.x
|
|
84
|
+
if (config.toolchain?.["pocket-ic"]?.startsWith("9.")) {
|
|
85
|
+
this.pocketIcServer = await PocketIcServerMops.start({
|
|
86
|
+
showRuntimeLogs: false,
|
|
87
|
+
showCanisterLogs: false,
|
|
88
|
+
binPath: pocketIcBin,
|
|
89
|
+
ttl: this.ttl,
|
|
90
|
+
});
|
|
91
|
+
this.pocketIc = await PocketIcMops.create(this.pocketIcServer.getUrl());
|
|
92
|
+
}
|
|
93
|
+
// pocket-ic 4.0.0
|
|
94
|
+
else {
|
|
95
|
+
this.pocketIcServer = await PocketIcServer.start({
|
|
96
|
+
showRuntimeLogs: false,
|
|
97
|
+
showCanisterLogs: false,
|
|
98
|
+
binPath: pocketIcBin,
|
|
99
|
+
ttl: this.ttl,
|
|
100
|
+
});
|
|
101
|
+
this.pocketIc = await PocketIc.create(this.pocketIcServer.getUrl());
|
|
102
|
+
}
|
|
80
103
|
// process canister logs
|
|
81
104
|
this._attachCanisterLogHandler(this.pocketIcServer.serverProcess);
|
|
82
105
|
}
|
|
83
106
|
}
|
|
84
107
|
_attachCanisterLogHandler(proc) {
|
|
85
|
-
let curData =
|
|
86
|
-
proc.stderr.on(
|
|
108
|
+
let curData = "";
|
|
109
|
+
proc.stderr.on("data", (data) => {
|
|
87
110
|
curData = curData + data.toString();
|
|
88
|
-
if (curData.includes(
|
|
89
|
-
let chunk = curData.split(
|
|
111
|
+
if (curData.includes("\n")) {
|
|
112
|
+
let chunk = curData.split("\n").slice(0, -1).join("\n");
|
|
90
113
|
let matches = [...chunk.matchAll(/\[Canister ([a-z0-9-]+)\] (.*)/g)];
|
|
91
114
|
for (let match of matches) {
|
|
92
115
|
let [, canisterId, msg] = match;
|
|
93
|
-
let stream = this.getCanisterStream(canisterId ||
|
|
116
|
+
let stream = this.getCanisterStream(canisterId || "");
|
|
94
117
|
if (stream) {
|
|
95
118
|
stream.write(msg);
|
|
96
119
|
}
|
|
97
120
|
}
|
|
98
121
|
if (matches.length) {
|
|
99
|
-
curData = curData.split(
|
|
122
|
+
curData = curData.split("\n").slice(-1).join("\n");
|
|
100
123
|
}
|
|
101
124
|
}
|
|
102
125
|
});
|
|
103
126
|
}
|
|
104
127
|
async stop(sigint = false) {
|
|
105
|
-
if (this.type ===
|
|
128
|
+
if (this.type === "dfx" || this.type === "dfx-pocket-ic") {
|
|
106
129
|
if (this.dfxProcess) {
|
|
107
130
|
let killed = this.dfxProcess.kill();
|
|
108
131
|
if (!killed) {
|
|
109
|
-
this.dfxProcess.kill(
|
|
132
|
+
this.dfxProcess.kill("SIGKILL");
|
|
110
133
|
}
|
|
111
134
|
// give replica some time to stop
|
|
112
135
|
let i = 0;
|
|
@@ -135,41 +158,59 @@ export class Replica {
|
|
|
135
158
|
}
|
|
136
159
|
}
|
|
137
160
|
async deploy(name, wasm, idlFactory, cwd = process.cwd(), signal) {
|
|
138
|
-
if (this.type ===
|
|
161
|
+
if (this.type === "dfx" || this.type === "dfx-pocket-ic") {
|
|
139
162
|
// prepare dfx.json for current canister
|
|
140
|
-
let dfxJson = path.join(this.dir,
|
|
163
|
+
let dfxJson = path.join(this.dir, "dfx.json");
|
|
141
164
|
let oldDfxJsonData;
|
|
142
165
|
if (fs.existsSync(dfxJson)) {
|
|
143
166
|
oldDfxJsonData = JSON.parse(fs.readFileSync(dfxJson).toString());
|
|
144
167
|
}
|
|
145
|
-
let newDfxJsonData = this.dfxJson(name, name +
|
|
168
|
+
let newDfxJsonData = this.dfxJson(name, name + ".wasm");
|
|
146
169
|
if (oldDfxJsonData.canisters) {
|
|
147
170
|
newDfxJsonData.canisters = Object.assign(oldDfxJsonData.canisters, newDfxJsonData.canisters);
|
|
148
171
|
}
|
|
149
172
|
fs.mkdirSync(this.dir, { recursive: true });
|
|
150
173
|
fs.writeFileSync(dfxJson, JSON.stringify(newDfxJsonData, null, 2));
|
|
151
|
-
await spawnAsync(
|
|
152
|
-
|
|
153
|
-
|
|
174
|
+
await spawnAsync("dfx", [
|
|
175
|
+
"deploy",
|
|
176
|
+
name,
|
|
177
|
+
"--mode",
|
|
178
|
+
"reinstall",
|
|
179
|
+
"--yes",
|
|
180
|
+
"--identity",
|
|
181
|
+
"anonymous",
|
|
182
|
+
], {
|
|
183
|
+
cwd: this.dir,
|
|
184
|
+
signal,
|
|
185
|
+
stdio: this.verbose ? "pipe" : ["pipe", "ignore", "pipe"],
|
|
186
|
+
}).catch((error) => {
|
|
187
|
+
if (error.code === "ABORT_ERR") {
|
|
188
|
+
return { stderr: "" };
|
|
154
189
|
}
|
|
155
190
|
throw error;
|
|
156
191
|
});
|
|
157
192
|
if (signal?.aborted) {
|
|
158
193
|
return;
|
|
159
194
|
}
|
|
160
|
-
await spawnAsync(
|
|
161
|
-
|
|
162
|
-
|
|
195
|
+
await spawnAsync("dfx", ["ledger", "fabricate-cycles", "--canister", name, "--t", "100"], {
|
|
196
|
+
cwd: this.dir,
|
|
197
|
+
signal,
|
|
198
|
+
stdio: this.verbose ? "pipe" : ["pipe", "ignore", "pipe"],
|
|
199
|
+
}).catch((error) => {
|
|
200
|
+
if (error.code === "ABORT_ERR") {
|
|
201
|
+
return { stderr: "" };
|
|
163
202
|
}
|
|
164
203
|
throw error;
|
|
165
204
|
});
|
|
166
205
|
if (signal?.aborted) {
|
|
167
206
|
return;
|
|
168
207
|
}
|
|
169
|
-
let canisterId = execSync(`dfx canister id ${name}`, { cwd: this.dir })
|
|
208
|
+
let canisterId = execSync(`dfx canister id ${name}`, { cwd: this.dir })
|
|
209
|
+
.toString()
|
|
210
|
+
.trim();
|
|
170
211
|
let actor = Actor.createActor(idlFactory, {
|
|
171
212
|
agent: await HttpAgent.create({
|
|
172
|
-
host:
|
|
213
|
+
host: "http://127.0.0.1:4945",
|
|
173
214
|
shouldFetchRootKey: true,
|
|
174
215
|
}),
|
|
175
216
|
canisterId,
|
|
@@ -182,10 +223,9 @@ export class Replica {
|
|
|
182
223
|
};
|
|
183
224
|
}
|
|
184
225
|
else if (this.pocketIc) {
|
|
185
|
-
// let {canisterId, actor} = await this.pocketIc.setupCanister(idlFactory, wasm);
|
|
186
226
|
let { canisterId, actor } = await this.pocketIc.setupCanister({
|
|
187
|
-
idlFactory,
|
|
188
227
|
wasm,
|
|
228
|
+
idlFactory,
|
|
189
229
|
});
|
|
190
230
|
if (signal?.aborted) {
|
|
191
231
|
return;
|
|
@@ -216,7 +256,7 @@ export class Replica {
|
|
|
216
256
|
return this.canisters[name];
|
|
217
257
|
}
|
|
218
258
|
getCanisterId(name) {
|
|
219
|
-
return this.canisters[name]?.canisterId ||
|
|
259
|
+
return this.canisters[name]?.canisterId || "";
|
|
220
260
|
}
|
|
221
261
|
getCanisterStream(canisterId) {
|
|
222
262
|
for (let canister of Object.values(this.canisters)) {
|
|
@@ -226,11 +266,11 @@ export class Replica {
|
|
|
226
266
|
}
|
|
227
267
|
return null;
|
|
228
268
|
}
|
|
229
|
-
dfxJson(canisterName, wasmPath =
|
|
269
|
+
dfxJson(canisterName, wasmPath = "canister.wasm", didPath = "canister.did") {
|
|
230
270
|
let canisters = {};
|
|
231
271
|
if (canisterName) {
|
|
232
272
|
canisters[canisterName] = {
|
|
233
|
-
type:
|
|
273
|
+
type: "custom",
|
|
234
274
|
wasm: wasmPath,
|
|
235
275
|
candid: didPath,
|
|
236
276
|
};
|
|
@@ -241,13 +281,13 @@ export class Replica {
|
|
|
241
281
|
dfx: getDfxVersion(),
|
|
242
282
|
defaults: {
|
|
243
283
|
build: {
|
|
244
|
-
packtool:
|
|
284
|
+
packtool: "mops sources",
|
|
245
285
|
},
|
|
246
286
|
},
|
|
247
287
|
networks: {
|
|
248
288
|
local: {
|
|
249
|
-
type:
|
|
250
|
-
bind:
|
|
289
|
+
type: "ephemeral",
|
|
290
|
+
bind: "127.0.0.1:4945",
|
|
251
291
|
},
|
|
252
292
|
},
|
|
253
293
|
};
|
package/dist/commands/search.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import asTable from
|
|
3
|
-
import chalk from
|
|
4
|
-
import { mainActor } from
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import asTable from "as-table";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { mainActor } from "../api/actors.js";
|
|
5
5
|
export async function search(text) {
|
|
6
6
|
let actor = await mainActor();
|
|
7
7
|
let [packages, _pageCount] = await actor.search(text, [], []);
|
|
8
8
|
if (!packages.length) {
|
|
9
|
-
console.log(
|
|
9
|
+
console.log("Packages not found");
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
let ellipsis = (text, max) => {
|
|
@@ -14,23 +14,25 @@ export async function search(text) {
|
|
|
14
14
|
return text;
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
return text.slice(0, max) +
|
|
17
|
+
return text.slice(0, max) + "…";
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
let maxNameLength = Math.max(...packages.map(a => a.config.name.length));
|
|
20
|
+
let maxNameLength = Math.max(...packages.map((a) => a.config.name.length));
|
|
21
21
|
let table = packages.map((item) => {
|
|
22
22
|
return {
|
|
23
23
|
NAME: chalk.bold(item.config.name),
|
|
24
24
|
DESCRIPTION: ellipsis(item.config.description, process.stdout.columns - 40 - maxNameLength),
|
|
25
25
|
VERSION: item.config.version,
|
|
26
|
-
UPDATED: new Date(Number(item.publication.time / 1000000n))
|
|
26
|
+
UPDATED: new Date(Number(item.publication.time / 1000000n))
|
|
27
|
+
.toISOString()
|
|
28
|
+
.split("T")[0],
|
|
27
29
|
};
|
|
28
30
|
});
|
|
29
|
-
console.log(
|
|
31
|
+
console.log("");
|
|
30
32
|
console.log(asTable.configure({
|
|
31
|
-
delimiter: chalk.gray(
|
|
32
|
-
dash: chalk.gray(
|
|
33
|
-
title: t => chalk.gray.bold(t),
|
|
33
|
+
delimiter: chalk.gray(" | "),
|
|
34
|
+
dash: chalk.gray("─"),
|
|
35
|
+
title: (t) => chalk.gray.bold(t),
|
|
34
36
|
})(table));
|
|
35
|
-
console.log(
|
|
37
|
+
console.log("");
|
|
36
38
|
}
|
package/dist/commands/self.js
CHANGED
|
@@ -1,63 +1,66 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import child_process, { execSync } from
|
|
3
|
-
import chalk from
|
|
4
|
-
import { version, globalConfigDir } from
|
|
5
|
-
import { cleanCache } from
|
|
6
|
-
import { toolchain } from
|
|
7
|
-
let url =
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import child_process, { execSync } from "node:child_process";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { version, globalConfigDir } from "../mops.js";
|
|
5
|
+
import { cleanCache } from "../cache.js";
|
|
6
|
+
import { toolchain } from "./toolchain/index.js";
|
|
7
|
+
let url = "https://x344g-ziaaa-aaaap-abl7a-cai.icp0.io";
|
|
8
8
|
function detectPackageManager() {
|
|
9
|
-
let res =
|
|
9
|
+
let res = "";
|
|
10
10
|
try {
|
|
11
|
-
res = execSync(
|
|
11
|
+
res = execSync("which mops").toString();
|
|
12
12
|
}
|
|
13
13
|
catch (e) { }
|
|
14
14
|
if (!res) {
|
|
15
|
-
console.error(chalk.red(
|
|
15
|
+
console.error(chalk.red("Couldn't detect package manager"));
|
|
16
16
|
process.exit(1);
|
|
17
17
|
}
|
|
18
|
-
if (res.includes(
|
|
19
|
-
return
|
|
18
|
+
if (res.includes("pnpm/")) {
|
|
19
|
+
return "pnpm";
|
|
20
20
|
}
|
|
21
21
|
// else if (res.includes('bun/')) {
|
|
22
22
|
// return 'bun';
|
|
23
23
|
// }
|
|
24
24
|
else {
|
|
25
|
-
return
|
|
25
|
+
return "npm";
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
export async function getLatestVersion() {
|
|
29
|
-
let res = await fetch(url +
|
|
29
|
+
let res = await fetch(url + "/tags/latest");
|
|
30
30
|
return res.text();
|
|
31
31
|
}
|
|
32
32
|
export async function update() {
|
|
33
33
|
let latest = await getLatestVersion();
|
|
34
34
|
let current = version();
|
|
35
35
|
if (latest === current) {
|
|
36
|
-
console.log(chalk.green(
|
|
36
|
+
console.log(chalk.green("You are up to date. Version: " + current));
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
console.log(
|
|
40
|
-
console.log(
|
|
39
|
+
console.log("Current version: " + chalk.yellow(current));
|
|
40
|
+
console.log("Updating to version: " + chalk.green(latest));
|
|
41
41
|
let pm = detectPackageManager();
|
|
42
|
-
let npmArgs = pm ===
|
|
43
|
-
let proc = child_process.spawn(pm, [
|
|
44
|
-
proc.on(
|
|
42
|
+
let npmArgs = pm === "npm" ? ["--no-fund", "--silent"] : [];
|
|
43
|
+
let proc = child_process.spawn(pm, ["add", "-g", ...npmArgs, `${url}/versions/${latest}.tgz`], { stdio: "inherit", detached: false });
|
|
44
|
+
proc.on("exit", (res) => {
|
|
45
45
|
if (res !== 0) {
|
|
46
|
-
console.log(chalk.red(
|
|
46
|
+
console.log(chalk.red("Failed to update."));
|
|
47
47
|
process.exit(1);
|
|
48
48
|
}
|
|
49
|
-
console.log(chalk.green(
|
|
49
|
+
console.log(chalk.green("Success"));
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
export async function uninstall() {
|
|
54
|
-
console.log(
|
|
54
|
+
console.log("Cleaning cache...");
|
|
55
55
|
cleanCache();
|
|
56
|
-
console.log(
|
|
56
|
+
console.log("Resetting toolchain management...");
|
|
57
57
|
toolchain.init({ reset: true, silent: true });
|
|
58
|
-
console.log(
|
|
58
|
+
console.log("Uninstalling mops CLI...");
|
|
59
59
|
let pm = detectPackageManager();
|
|
60
|
-
child_process.spawn(pm, [
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
child_process.spawn(pm, ["remove", "-g", "--silent", "ic-mops"], {
|
|
61
|
+
stdio: "inherit",
|
|
62
|
+
detached: false,
|
|
63
|
+
});
|
|
64
|
+
console.log(chalk.yellow("Config directory has not been deleted: " + globalConfigDir));
|
|
65
|
+
console.log("Uninstalled");
|
|
63
66
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function sourcesArgs({ conflicts, cwd, }?: {
|
|
2
|
+
conflicts?: "ignore" | "error" | "warning" | undefined;
|
|
3
|
+
cwd?: string | undefined;
|
|
4
|
+
}): Promise<string[][]>;
|
|
5
|
+
export declare function sources({ conflicts, cwd, }?: {
|
|
2
6
|
conflicts?: "ignore" | "error" | "warning" | undefined;
|
|
3
7
|
cwd?: string | undefined;
|
|
4
8
|
}): Promise<string[]>;
|
package/dist/commands/sources.js
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import process from
|
|
2
|
-
import path from
|
|
3
|
-
import fs from
|
|
4
|
-
import { checkConfigFile, formatDir, formatGithubDir, getDependencyType, readConfig } from
|
|
5
|
-
import { resolvePackages } from
|
|
6
|
-
export async function
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import { checkConfigFile, formatDir, formatGithubDir, getDependencyType, readConfig, } from "../mops.js";
|
|
5
|
+
import { resolvePackages } from "../resolve-packages.js";
|
|
6
|
+
export async function sourcesArgs({ conflicts = "ignore", cwd = process.cwd(), } = {}) {
|
|
7
7
|
if (!checkConfigFile()) {
|
|
8
8
|
return [];
|
|
9
9
|
}
|
|
10
10
|
let resolvedPackages = await resolvePackages({ conflicts });
|
|
11
11
|
// sources
|
|
12
|
-
return Object.entries(resolvedPackages)
|
|
12
|
+
return Object.entries(resolvedPackages)
|
|
13
|
+
.map(([name, version]) => {
|
|
13
14
|
let depType = getDependencyType(version);
|
|
14
15
|
let pkgDir;
|
|
15
|
-
if (depType ===
|
|
16
|
+
if (depType === "local") {
|
|
16
17
|
pkgDir = path.relative(cwd, version);
|
|
17
18
|
}
|
|
18
|
-
else if (depType ===
|
|
19
|
+
else if (depType === "github") {
|
|
19
20
|
pkgDir = path.relative(cwd, formatGithubDir(name, version));
|
|
20
21
|
}
|
|
21
|
-
else if (depType ===
|
|
22
|
+
else if (depType === "mops") {
|
|
22
23
|
pkgDir = path.relative(cwd, formatDir(name, version));
|
|
23
24
|
}
|
|
24
25
|
else {
|
|
@@ -26,17 +27,22 @@ export async function sources({ conflicts = 'ignore', cwd = process.cwd() } = {}
|
|
|
26
27
|
}
|
|
27
28
|
// append baseDir
|
|
28
29
|
let pkgBaseDir;
|
|
29
|
-
if (fs.existsSync(path.join(pkgDir,
|
|
30
|
-
let config = readConfig(path.join(pkgDir,
|
|
31
|
-
pkgBaseDir = path.join(pkgDir, config.package?.baseDir ||
|
|
30
|
+
if (fs.existsSync(path.join(pkgDir, "mops.toml"))) {
|
|
31
|
+
let config = readConfig(path.join(pkgDir, "mops.toml"));
|
|
32
|
+
pkgBaseDir = path.join(pkgDir, config.package?.baseDir || "src");
|
|
32
33
|
}
|
|
33
34
|
else {
|
|
34
|
-
pkgBaseDir = path.join(pkgDir,
|
|
35
|
+
pkgBaseDir = path.join(pkgDir, "src");
|
|
35
36
|
}
|
|
36
37
|
// use pkgDir if baseDir doesn't exist for local packages
|
|
37
|
-
if (depType ===
|
|
38
|
+
if (depType === "local" &&
|
|
39
|
+
!fs.existsSync(path.resolve(cwd, pkgBaseDir))) {
|
|
38
40
|
pkgBaseDir = pkgDir;
|
|
39
41
|
}
|
|
40
|
-
return
|
|
41
|
-
})
|
|
42
|
+
return ["--package", name, pkgBaseDir];
|
|
43
|
+
})
|
|
44
|
+
.filter((x) => x != null);
|
|
45
|
+
}
|
|
46
|
+
export async function sources({ conflicts = "ignore", cwd = process.cwd(), } = {}) {
|
|
47
|
+
return (await sourcesArgs({ conflicts, cwd })).map((args) => args.join(" "));
|
|
42
48
|
}
|
package/dist/commands/sync.d.ts
CHANGED