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.
Files changed (352) hide show
  1. package/.DS_Store +0 -0
  2. package/.eslintrc.json +7 -7
  3. package/CHANGELOG.md +15 -0
  4. package/api/actors.ts +41 -37
  5. package/api/downloadPackageFiles.ts +75 -61
  6. package/api/getHighestVersion.ts +5 -5
  7. package/api/index.ts +4 -4
  8. package/api/network.ts +19 -21
  9. package/api/resolveVersion.ts +14 -11
  10. package/bin/mops.js +1 -1
  11. package/bun.lock +234 -198
  12. package/bundle/bench/bench-canister.mo +2 -2
  13. package/bundle/bench/user-bench.mo +0 -4
  14. package/bundle/bin/mops.js +1 -1
  15. package/bundle/cli.js +1000 -924
  16. package/bundle/cli.tgz +0 -0
  17. package/bundle/declarations/bench/bench.did +3 -3
  18. package/bundle/declarations/bench/bench.did.d.ts +3 -3
  19. package/bundle/declarations/bench/index.d.ts +3 -3
  20. package/bundle/declarations/bench/index.js +1 -1
  21. package/bundle/declarations/main/index.d.ts +3 -3
  22. package/bundle/declarations/main/index.js +1 -1
  23. package/bundle/declarations/main/main.did +78 -121
  24. package/bundle/declarations/main/main.did.d.ts +48 -98
  25. package/bundle/declarations/main/main.did.js +53 -107
  26. package/bundle/declarations/storage/index.d.ts +3 -3
  27. package/bundle/declarations/storage/index.js +4 -4
  28. package/bundle/declarations/storage/storage.did.d.ts +3 -3
  29. package/bundle/package.json +6 -5
  30. package/bundle/templates/mops-publish.yml +3 -3
  31. package/bundle/templates/mops-test.yml +3 -3
  32. package/bundle-package-json.ts +8 -8
  33. package/cache.ts +80 -65
  34. package/check-requirements.ts +49 -45
  35. package/cli.ts +577 -376
  36. package/commands/add.ts +142 -129
  37. package/commands/available-updates.ts +55 -28
  38. package/commands/bench/bench-canister.mo +114 -108
  39. package/commands/bench/user-bench.mo +6 -6
  40. package/commands/bench-replica.ts +146 -106
  41. package/commands/bench.ts +563 -497
  42. package/commands/build.ts +177 -0
  43. package/commands/bump.ts +68 -57
  44. package/commands/check-candid.ts +24 -0
  45. package/commands/docs-coverage.ts +124 -102
  46. package/commands/docs.ts +118 -108
  47. package/commands/format.ts +171 -155
  48. package/commands/init.ts +301 -275
  49. package/commands/install/install-all.ts +75 -62
  50. package/commands/install/install-dep.ts +43 -28
  51. package/commands/install/install-deps.ts +23 -15
  52. package/commands/install/install-local-dep.ts +42 -34
  53. package/commands/install/install-mops-dep.ts +154 -123
  54. package/commands/install/sync-local-cache.ts +39 -35
  55. package/commands/maintainer.ts +109 -99
  56. package/commands/outdated.ts +31 -18
  57. package/commands/owner.ts +107 -99
  58. package/commands/publish.ts +534 -443
  59. package/commands/remove.ts +119 -89
  60. package/commands/replica.ts +391 -303
  61. package/commands/search.ts +42 -36
  62. package/commands/self.ts +63 -56
  63. package/commands/sources.ts +66 -49
  64. package/commands/sync.ts +92 -75
  65. package/commands/template.ts +145 -102
  66. package/commands/test/mmf1.ts +146 -119
  67. package/commands/test/reporters/compact-reporter.ts +87 -84
  68. package/commands/test/reporters/files-reporter.ts +56 -51
  69. package/commands/test/reporters/reporter.ts +12 -6
  70. package/commands/test/reporters/silent-reporter.ts +58 -59
  71. package/commands/test/reporters/verbose-reporter.ts +66 -54
  72. package/commands/test/test.ts +497 -460
  73. package/commands/test/utils.ts +85 -6
  74. package/commands/toolchain/index.ts +363 -322
  75. package/commands/toolchain/moc.ts +78 -50
  76. package/commands/toolchain/pocket-ic.ts +41 -34
  77. package/commands/toolchain/toolchain-utils.ts +92 -72
  78. package/commands/toolchain/wasmtime.ts +37 -34
  79. package/commands/update.ts +91 -56
  80. package/commands/user.ts +90 -81
  81. package/commands/watch/deployer.ts +188 -152
  82. package/commands/watch/error-checker.ts +90 -80
  83. package/commands/watch/formatter.ts +72 -60
  84. package/commands/watch/generator.ts +116 -96
  85. package/commands/watch/globMoFiles.ts +13 -13
  86. package/commands/watch/parseDfxJson.ts +63 -57
  87. package/commands/watch/tester.ts +83 -65
  88. package/commands/watch/warning-checker.ts +149 -136
  89. package/commands/watch/watch.ts +123 -95
  90. package/declarations/bench/bench.did.d.ts +3 -3
  91. package/declarations/bench/index.d.ts +3 -3
  92. package/declarations/bench/index.js +1 -1
  93. package/declarations/main/index.d.ts +3 -3
  94. package/declarations/main/index.js +1 -1
  95. package/declarations/main/main.did.d.ts +3 -3
  96. package/declarations/storage/index.d.ts +3 -3
  97. package/declarations/storage/index.js +4 -4
  98. package/declarations/storage/storage.did.d.ts +3 -3
  99. package/dist/api/actors.d.ts +4 -4
  100. package/dist/api/actors.js +8 -8
  101. package/dist/api/downloadPackageFiles.d.ts +2 -2
  102. package/dist/api/downloadPackageFiles.js +10 -10
  103. package/dist/api/getHighestVersion.js +1 -1
  104. package/dist/api/index.d.ts +4 -4
  105. package/dist/api/index.js +4 -4
  106. package/dist/api/network.js +9 -9
  107. package/dist/api/resolveVersion.js +3 -3
  108. package/dist/bin/mops.js +1 -1
  109. package/dist/bundle-package-json.js +8 -8
  110. package/dist/cache.js +22 -17
  111. package/dist/check-requirements.js +11 -11
  112. package/dist/cli.js +283 -186
  113. package/dist/commands/add.d.ts +1 -1
  114. package/dist/commands/add.js +41 -38
  115. package/dist/commands/available-updates.d.ts +1 -1
  116. package/dist/commands/available-updates.js +32 -14
  117. package/dist/commands/bench/bench-canister.mo +114 -108
  118. package/dist/commands/bench/user-bench.mo +6 -6
  119. package/dist/commands/bench-replica.d.ts +6 -5
  120. package/dist/commands/bench-replica.js +58 -36
  121. package/dist/commands/bench.d.ts +5 -5
  122. package/dist/commands/bench.js +134 -118
  123. package/dist/commands/build.d.ts +7 -0
  124. package/dist/commands/build.js +121 -0
  125. package/dist/commands/bump.js +27 -18
  126. package/dist/commands/check-candid.d.ts +4 -0
  127. package/dist/commands/check-candid.js +15 -0
  128. package/dist/commands/docs-coverage.d.ts +1 -1
  129. package/dist/commands/docs-coverage.js +45 -31
  130. package/dist/commands/docs.d.ts +1 -1
  131. package/dist/commands/docs.js +39 -38
  132. package/dist/commands/format.js +31 -27
  133. package/dist/commands/init.js +102 -92
  134. package/dist/commands/install/install-all.d.ts +2 -2
  135. package/dist/commands/install/install-all.js +23 -21
  136. package/dist/commands/install/install-dep.d.ts +1 -1
  137. package/dist/commands/install/install-dep.js +21 -8
  138. package/dist/commands/install/install-deps.d.ts +1 -1
  139. package/dist/commands/install/install-deps.js +1 -1
  140. package/dist/commands/install/install-local-dep.js +11 -9
  141. package/dist/commands/install/install-mops-dep.d.ts +1 -1
  142. package/dist/commands/install/install-mops-dep.js +32 -27
  143. package/dist/commands/install/sync-local-cache.js +10 -10
  144. package/dist/commands/maintainer.js +21 -21
  145. package/dist/commands/outdated.js +16 -6
  146. package/dist/commands/owner.js +21 -21
  147. package/dist/commands/publish.js +148 -128
  148. package/dist/commands/remove.d.ts +1 -1
  149. package/dist/commands/remove.js +42 -30
  150. package/dist/commands/replica.d.ts +9 -8
  151. package/dist/commands/replica.js +105 -65
  152. package/dist/commands/search.js +15 -13
  153. package/dist/commands/self.js +31 -28
  154. package/dist/commands/sources.d.ts +5 -1
  155. package/dist/commands/sources.js +23 -17
  156. package/dist/commands/sync.d.ts +1 -1
  157. package/dist/commands/sync.js +38 -25
  158. package/dist/commands/template.js +66 -56
  159. package/dist/commands/test/mmf1.d.ts +3 -3
  160. package/dist/commands/test/mmf1.js +33 -31
  161. package/dist/commands/test/reporters/compact-reporter.d.ts +3 -3
  162. package/dist/commands/test/reporters/compact-reporter.js +19 -15
  163. package/dist/commands/test/reporters/files-reporter.d.ts +3 -3
  164. package/dist/commands/test/reporters/files-reporter.js +18 -14
  165. package/dist/commands/test/reporters/reporter.d.ts +2 -2
  166. package/dist/commands/test/reporters/silent-reporter.d.ts +3 -3
  167. package/dist/commands/test/reporters/silent-reporter.js +4 -4
  168. package/dist/commands/test/reporters/verbose-reporter.d.ts +3 -3
  169. package/dist/commands/test/reporters/verbose-reporter.js +17 -13
  170. package/dist/commands/test/test.d.ts +4 -4
  171. package/dist/commands/test/test.js +151 -181
  172. package/dist/commands/test/utils.d.ts +6 -0
  173. package/dist/commands/test/utils.js +63 -2
  174. package/dist/commands/toolchain/index.d.ts +1 -1
  175. package/dist/commands/toolchain/index.js +81 -69
  176. package/dist/commands/toolchain/moc.d.ts +1 -1
  177. package/dist/commands/toolchain/moc.js +48 -24
  178. package/dist/commands/toolchain/pocket-ic.js +12 -12
  179. package/dist/commands/toolchain/toolchain-utils.d.ts +2 -0
  180. package/dist/commands/toolchain/toolchain-utils.js +32 -23
  181. package/dist/commands/toolchain/wasmtime.js +11 -11
  182. package/dist/commands/update.d.ts +1 -1
  183. package/dist/commands/update.js +30 -12
  184. package/dist/commands/user.js +31 -28
  185. package/dist/commands/watch/deployer.d.ts +4 -4
  186. package/dist/commands/watch/deployer.js +45 -36
  187. package/dist/commands/watch/error-checker.d.ts +2 -2
  188. package/dist/commands/watch/error-checker.js +27 -27
  189. package/dist/commands/watch/formatter.d.ts +4 -4
  190. package/dist/commands/watch/formatter.js +17 -17
  191. package/dist/commands/watch/generator.d.ts +3 -3
  192. package/dist/commands/watch/generator.js +28 -23
  193. package/dist/commands/watch/globMoFiles.js +8 -8
  194. package/dist/commands/watch/parseDfxJson.d.ts +2 -2
  195. package/dist/commands/watch/parseDfxJson.js +9 -9
  196. package/dist/commands/watch/tester.d.ts +4 -4
  197. package/dist/commands/watch/tester.js +23 -21
  198. package/dist/commands/watch/warning-checker.d.ts +3 -3
  199. package/dist/commands/watch/warning-checker.js +36 -36
  200. package/dist/commands/watch/watch.js +45 -32
  201. package/dist/declarations/bench/bench.did.d.ts +3 -3
  202. package/dist/declarations/bench/index.d.ts +3 -3
  203. package/dist/declarations/bench/index.js +1 -1
  204. package/dist/declarations/main/index.d.ts +3 -3
  205. package/dist/declarations/main/index.js +1 -1
  206. package/dist/declarations/main/main.did.d.ts +3 -3
  207. package/dist/declarations/storage/index.d.ts +3 -3
  208. package/dist/declarations/storage/index.js +4 -4
  209. package/dist/declarations/storage/storage.did.d.ts +3 -3
  210. package/dist/environments/nodejs/cli.d.ts +1 -0
  211. package/dist/environments/nodejs/cli.js +4 -0
  212. package/dist/environments/web/cli.d.ts +1 -0
  213. package/dist/environments/web/cli.js +4 -0
  214. package/dist/error.d.ts +1 -0
  215. package/dist/error.js +5 -0
  216. package/dist/fix-dist.js +5 -5
  217. package/dist/helpers/find-changelog-entry.js +8 -5
  218. package/dist/helpers/get-dep-name.d.ts +1 -0
  219. package/dist/helpers/get-dep-name.js +4 -1
  220. package/dist/helpers/get-dfx-version.js +4 -4
  221. package/dist/helpers/get-moc-path.js +8 -7
  222. package/dist/helpers/get-moc-version.js +10 -7
  223. package/dist/helpers/get-package-id.js +2 -2
  224. package/dist/helpers/is-candid-compatible.d.ts +1 -0
  225. package/dist/helpers/is-candid-compatible.js +20 -0
  226. package/dist/integrity.d.ts +1 -1
  227. package/dist/integrity.js +47 -38
  228. package/dist/jest.config.d.ts +11 -0
  229. package/dist/jest.config.js +14 -0
  230. package/dist/mops.d.ts +6 -6
  231. package/dist/mops.js +87 -80
  232. package/dist/notify-installs.js +4 -4
  233. package/dist/package.json +11 -10
  234. package/dist/pem.d.ts +3 -3
  235. package/dist/pem.js +20 -12
  236. package/dist/release-cli.js +20 -20
  237. package/dist/resolve-packages.d.ts +1 -1
  238. package/dist/resolve-packages.js +52 -36
  239. package/dist/templates/mops-publish.yml +3 -3
  240. package/dist/templates/mops-test.yml +3 -3
  241. package/dist/templates/src/lib.mo +13 -13
  242. package/dist/templates/test/lib.test.mo +2 -2
  243. package/dist/templates.js +1 -1
  244. package/dist/tests/cli.test.d.ts +1 -0
  245. package/dist/tests/cli.test.js +63 -0
  246. package/dist/types.d.ts +14 -4
  247. package/dist/vessel.d.ts +2 -2
  248. package/dist/vessel.js +41 -34
  249. package/dist/wasm/pkg/bundler/package.json +20 -0
  250. package/dist/wasm/pkg/bundler/wasm.d.ts +3 -0
  251. package/dist/wasm/pkg/bundler/wasm.js +5 -0
  252. package/dist/wasm/pkg/bundler/wasm_bg.js +93 -0
  253. package/dist/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  254. package/dist/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
  255. package/dist/wasm/pkg/nodejs/package.json +14 -0
  256. package/dist/wasm/pkg/nodejs/wasm.d.ts +3 -0
  257. package/dist/wasm/pkg/nodejs/wasm.js +98 -0
  258. package/dist/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  259. package/dist/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
  260. package/dist/wasm/pkg/web/package.json +18 -0
  261. package/dist/wasm/pkg/web/wasm.d.ts +35 -0
  262. package/dist/wasm/pkg/web/wasm.js +191 -0
  263. package/dist/wasm/pkg/web/wasm_bg.wasm +0 -0
  264. package/dist/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
  265. package/dist/wasm.d.ts +5 -0
  266. package/dist/wasm.js +10 -0
  267. package/environments/nodejs/cli.ts +6 -0
  268. package/environments/web/cli.ts +6 -0
  269. package/error.ts +6 -0
  270. package/fix-dist.ts +5 -5
  271. package/global.d.ts +3 -3
  272. package/helpers/find-changelog-entry.ts +26 -23
  273. package/helpers/get-dep-name.ts +7 -3
  274. package/helpers/get-dfx-version.ts +8 -9
  275. package/helpers/get-moc-path.ts +25 -26
  276. package/helpers/get-moc-version.ts +21 -19
  277. package/helpers/get-package-id.ts +4 -4
  278. package/helpers/is-candid-compatible.ts +22 -0
  279. package/integrity.ts +270 -236
  280. package/jest.config.js +14 -0
  281. package/mops.ts +238 -215
  282. package/notify-installs.ts +16 -17
  283. package/package.json +21 -15
  284. package/parallel.ts +28 -24
  285. package/pem.ts +55 -47
  286. package/release-cli.ts +73 -39
  287. package/resolve-packages.ts +231 -189
  288. package/templates/mops-publish.yml +3 -3
  289. package/templates/mops-test.yml +3 -3
  290. package/templates/src/lib.mo +13 -13
  291. package/templates/test/lib.test.mo +2 -2
  292. package/templates.ts +4 -4
  293. package/tests/__snapshots__/cli.test.ts.snap +202 -0
  294. package/tests/build/error/candid/bar.did +3 -0
  295. package/tests/build/error/dfx.json +12 -0
  296. package/tests/build/error/mops.toml +9 -0
  297. package/tests/build/error/src/Bar.mo +5 -0
  298. package/tests/build/error/src/Foo.mo +5 -0
  299. package/tests/build/success/.dfx/local/canister_ids.json +17 -0
  300. package/tests/build/success/.dfx/local/canisters/bar/bar.did +3 -0
  301. package/tests/build/success/.dfx/local/canisters/bar/bar.most +4 -0
  302. package/tests/build/success/.dfx/local/canisters/bar/bar.wasm +0 -0
  303. package/tests/build/success/.dfx/local/canisters/bar/constructor.did +3 -0
  304. package/tests/build/success/.dfx/local/canisters/bar/index.js +42 -0
  305. package/tests/build/success/.dfx/local/canisters/bar/init_args.txt +1 -0
  306. package/tests/build/success/.dfx/local/canisters/bar/service.did +3 -0
  307. package/tests/build/success/.dfx/local/canisters/bar/service.did.d.ts +7 -0
  308. package/tests/build/success/.dfx/local/canisters/bar/service.did.js +4 -0
  309. package/tests/build/success/.dfx/local/canisters/foo/constructor.did +3 -0
  310. package/tests/build/success/.dfx/local/canisters/foo/foo.did +3 -0
  311. package/tests/build/success/.dfx/local/canisters/foo/foo.most +4 -0
  312. package/tests/build/success/.dfx/local/canisters/foo/foo.wasm +0 -0
  313. package/tests/build/success/.dfx/local/canisters/foo/index.js +42 -0
  314. package/tests/build/success/.dfx/local/canisters/foo/init_args.txt +1 -0
  315. package/tests/build/success/.dfx/local/canisters/foo/service.did +3 -0
  316. package/tests/build/success/.dfx/local/canisters/foo/service.did.d.ts +7 -0
  317. package/tests/build/success/.dfx/local/canisters/foo/service.did.js +4 -0
  318. package/tests/build/success/.dfx/local/lsp/ucwa4-rx777-77774-qaada-cai.did +3 -0
  319. package/tests/build/success/.dfx/local/lsp/ulvla-h7777-77774-qaacq-cai.did +3 -0
  320. package/tests/build/success/.dfx/local/network-id +4 -0
  321. package/tests/build/success/candid/bar.did +3 -0
  322. package/tests/build/success/dfx.json +12 -0
  323. package/tests/build/success/mops.toml +9 -0
  324. package/tests/build/success/src/Bar.mo +5 -0
  325. package/tests/build/success/src/Foo.mo +5 -0
  326. package/tests/check-candid/a.did +3 -0
  327. package/tests/check-candid/b.did +5 -0
  328. package/tests/check-candid/c.did +3 -0
  329. package/tests/cli.test.ts +82 -0
  330. package/tsconfig.json +26 -19
  331. package/types.ts +41 -31
  332. package/vessel.ts +219 -187
  333. package/wasm/Cargo.lock +1475 -0
  334. package/wasm/Cargo.toml +28 -0
  335. package/wasm/pkg/bundler/package.json +20 -0
  336. package/wasm/pkg/bundler/wasm.d.ts +3 -0
  337. package/wasm/pkg/bundler/wasm.js +5 -0
  338. package/wasm/pkg/bundler/wasm_bg.js +93 -0
  339. package/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  340. package/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
  341. package/wasm/pkg/nodejs/package.json +14 -0
  342. package/wasm/pkg/nodejs/wasm.d.ts +3 -0
  343. package/wasm/pkg/nodejs/wasm.js +98 -0
  344. package/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  345. package/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
  346. package/wasm/pkg/web/package.json +18 -0
  347. package/wasm/pkg/web/wasm.d.ts +35 -0
  348. package/wasm/pkg/web/wasm.js +191 -0
  349. package/wasm/pkg/web/wasm_bg.wasm +0 -0
  350. package/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
  351. package/wasm/src/lib.rs +17 -0
  352. package/wasm.ts +16 -0
package/.DS_Store CHANGED
Binary file
package/.eslintrc.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "env": {
3
- "node": true
4
- },
5
- "parserOptions": {
6
- "sourceType": "module"
7
- }
8
- }
2
+ "env": {
3
+ "node": true
4
+ },
5
+ "parserOptions": {
6
+ "sourceType": "module"
7
+ }
8
+ }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Mops CLI Changelog
2
2
 
3
+ ## Next
4
+ - `mops publish` add support for subheadings in changelog (by @f0i)
5
+ - `mops toolchain` now downloads `moc.js` in addition to `moc` binary
6
+ - New `mops build` subcommand (alternative to `dfx build`)
7
+ - `core` package used in place of `base` for benchmarks
8
+
9
+ ## 1.12.0
10
+ - Add pinned dependencies support to `mops update` and `mops outdated` commands
11
+ - Add support for pocket-ic v9
12
+ - Migrate from `@dfinity/*` packages to `@icp-sdk/core` package
13
+ - `mops test` now runs replica tests sequentially
14
+
15
+ ## 1.11.1
16
+ - Fix `Cannot find module 'simple-cbor'` error
17
+
3
18
  ## 1.11.0
4
19
  - Fix `mops bench` to work with moc >= 0.15.0
5
20
  - `mops test` now detects persistent actor to run in replica mode
package/api/actors.ts CHANGED
@@ -1,53 +1,57 @@
1
- import {Actor, HttpAgent, Identity} from '@dfinity/agent';
2
- import {Principal} from '@dfinity/principal';
1
+ import { Actor, HttpAgent, Identity } from "@icp-sdk/core/agent";
2
+ import { Principal } from "@icp-sdk/core/principal";
3
3
 
4
- import {_SERVICE, idlFactory} from '../declarations/main/main.did.js';
5
- import {idlFactory as storageIdlFactory} from '../declarations/storage/storage.did.js';
6
- import {_SERVICE as _STORAGE_SERVICE} from '../declarations/storage/storage.did.js';
4
+ import { _SERVICE, idlFactory } from "../declarations/main/main.did.js";
5
+ import { idlFactory as storageIdlFactory } from "../declarations/storage/storage.did.js";
6
+ import { _SERVICE as _STORAGE_SERVICE } from "../declarations/storage/storage.did.js";
7
7
 
8
- import {getEndpoint} from './network.js';
9
- import {getNetwork} from './network.js';
8
+ import { getEndpoint } from "./network.js";
9
+ import { getNetwork } from "./network.js";
10
10
 
11
11
  let agentPromiseByPrincipal = new Map<string, Promise<HttpAgent>>();
12
12
 
13
- let getAgent = async (identity ?: Identity) : Promise<HttpAgent> => {
14
- let principal = identity ? identity?.getPrincipal().toText() : '';
15
- let agentPromise = agentPromiseByPrincipal.get(principal);
13
+ let getAgent = async (identity?: Identity): Promise<HttpAgent> => {
14
+ let principal = identity ? identity?.getPrincipal().toText() : "";
15
+ let agentPromise = agentPromiseByPrincipal.get(principal);
16
16
 
17
- if (!agentPromise) {
18
- let network = getNetwork();
19
- let host = getEndpoint(network).host;
17
+ if (!agentPromise) {
18
+ let network = getNetwork();
19
+ let host = getEndpoint(network).host;
20
20
 
21
- agentPromise = HttpAgent.create({
22
- host,
23
- identity,
24
- shouldFetchRootKey: network === 'local',
25
- verifyQuerySignatures: process.env.MOPS_VERIFY_QUERY_SIGNATURES !== 'false',
26
- shouldSyncTime: true,
27
- });
21
+ agentPromise = HttpAgent.create({
22
+ host,
23
+ identity,
24
+ shouldFetchRootKey: network === "local",
25
+ verifyQuerySignatures:
26
+ process.env.MOPS_VERIFY_QUERY_SIGNATURES !== "false",
27
+ shouldSyncTime: true,
28
+ });
28
29
 
29
- agentPromiseByPrincipal.set(principal, agentPromise);
30
- }
30
+ agentPromiseByPrincipal.set(principal, agentPromise);
31
+ }
31
32
 
32
- return agentPromise;
33
+ return agentPromise;
33
34
  };
34
35
 
35
- export let mainActor = async (identity ?: Identity) : Promise<_SERVICE> => {
36
- let agent = await getAgent(identity);
37
- let network = getNetwork();
38
- let canisterId = getEndpoint(network).canisterId;
36
+ export let mainActor = async (identity?: Identity): Promise<_SERVICE> => {
37
+ let agent = await getAgent(identity);
38
+ let network = getNetwork();
39
+ let canisterId = getEndpoint(network).canisterId;
39
40
 
40
- return Actor.createActor(idlFactory, {
41
- agent,
42
- canisterId,
43
- });
41
+ return Actor.createActor(idlFactory, {
42
+ agent,
43
+ canisterId,
44
+ });
44
45
  };
45
46
 
46
- export let storageActor = async (storageId : Principal, identity ?: Identity) : Promise<_STORAGE_SERVICE> => {
47
- let agent = await getAgent(identity);
47
+ export let storageActor = async (
48
+ storageId: Principal,
49
+ identity?: Identity,
50
+ ): Promise<_STORAGE_SERVICE> => {
51
+ let agent = await getAgent(identity);
48
52
 
49
- return Actor.createActor(storageIdlFactory, {
50
- agent,
51
- canisterId: storageId,
52
- });
53
+ return Actor.createActor(storageIdlFactory, {
54
+ agent,
55
+ canisterId: storageId,
56
+ });
53
57
  };
@@ -1,81 +1,95 @@
1
- import {Principal} from '@dfinity/principal';
2
- import {mainActor, storageActor} from './actors.js';
3
- import {resolveVersion} from './resolveVersion.js';
4
- import {parallel} from '../parallel.js';
5
- import {Storage} from '../declarations/storage/storage.did.js';
1
+ import { Principal } from "@icp-sdk/core/principal";
2
+ import { mainActor, storageActor } from "./actors.js";
3
+ import { resolveVersion } from "./resolveVersion.js";
4
+ import { parallel } from "../parallel.js";
5
+ import { Storage } from "../declarations/storage/storage.did.js";
6
6
 
7
- export async function downloadPackageFiles(pkg : string, version = '', threads = 8, onLoad = (_fileIds : string[], _fileId : string) => {}) : Promise<Map<string, Array<number>>> {
8
- version = await resolveVersion(pkg, version);
7
+ export async function downloadPackageFiles(
8
+ pkg: string,
9
+ version = "",
10
+ threads = 8,
11
+ onLoad = (_fileIds: string[], _fileId: string) => {},
12
+ ): Promise<Map<string, Array<number>>> {
13
+ version = await resolveVersion(pkg, version);
9
14
 
10
- let {storageId, fileIds} = await getPackageFilesInfo(pkg, version);
11
- let storage = await storageActor(storageId);
15
+ let { storageId, fileIds } = await getPackageFilesInfo(pkg, version);
16
+ let storage = await storageActor(storageId);
12
17
 
13
- let filesData = new Map<string, Array<number>>();
14
- await parallel(threads, fileIds, async (fileId : string) => {
15
- let {path, data} = await downloadFile(storage, fileId);
16
- filesData.set(path, data);
17
- onLoad(fileIds, fileId);
18
- });
18
+ let filesData = new Map<string, Array<number>>();
19
+ await parallel(threads, fileIds, async (fileId: string) => {
20
+ let { path, data } = await downloadFile(storage, fileId);
21
+ filesData.set(path, data);
22
+ onLoad(fileIds, fileId);
23
+ });
19
24
 
20
- return filesData;
25
+ return filesData;
21
26
  }
22
27
 
23
28
  // get package files meta
24
- export async function getPackageFilesInfo(pkg : string, version : string) : Promise<{ storageId : Principal, fileIds : string[] }> {
25
- let actor = await mainActor();
29
+ export async function getPackageFilesInfo(
30
+ pkg: string,
31
+ version: string,
32
+ ): Promise<{ storageId: Principal; fileIds: string[] }> {
33
+ let actor = await mainActor();
26
34
 
27
- let [packageDetailsRes, fileIds] = await Promise.all([
28
- actor.getPackageDetails(pkg, version),
29
- getFileIds(pkg, version),
30
- ]);
35
+ let [packageDetailsRes, fileIds] = await Promise.all([
36
+ actor.getPackageDetails(pkg, version),
37
+ getFileIds(pkg, version),
38
+ ]);
31
39
 
32
- if ('err' in packageDetailsRes) {
33
- throw packageDetailsRes.err;
34
- }
35
- let packageDetails = packageDetailsRes.ok;
40
+ if ("err" in packageDetailsRes) {
41
+ throw packageDetailsRes.err;
42
+ }
43
+ let packageDetails = packageDetailsRes.ok;
36
44
 
37
- return {
38
- storageId: packageDetails.publication.storage,
39
- fileIds,
40
- };
45
+ return {
46
+ storageId: packageDetails.publication.storage,
47
+ fileIds,
48
+ };
41
49
  }
42
50
 
43
51
  // get package files ids
44
- export async function getFileIds(pkg : string, version : string) : Promise<string[]> {
45
- let actor = await mainActor();
46
- let fileIdsRes = await actor.getFileIds(pkg, version);
52
+ export async function getFileIds(
53
+ pkg: string,
54
+ version: string,
55
+ ): Promise<string[]> {
56
+ let actor = await mainActor();
57
+ let fileIdsRes = await actor.getFileIds(pkg, version);
47
58
 
48
- if ('err' in fileIdsRes) {
49
- throw fileIdsRes.err;
50
- }
51
- let filesIds = fileIdsRes.ok;
59
+ if ("err" in fileIdsRes) {
60
+ throw fileIdsRes.err;
61
+ }
62
+ let filesIds = fileIdsRes.ok;
52
63
 
53
- return filesIds;
64
+ return filesIds;
54
65
  }
55
66
 
56
67
  // download single file
57
- export async function downloadFile(storage : Storage | string, fileId : string) : Promise<{path : string, data : Array<number>;}> {
58
- if (typeof storage === 'string') {
59
- storage = await storageActor(Principal.fromText(storage));
60
- }
61
- let fileMetaRes = await storage.getFileMeta(fileId);
62
- if ('err' in fileMetaRes) {
63
- throw fileMetaRes.err;
64
- }
65
- let fileMeta = fileMetaRes.ok;
68
+ export async function downloadFile(
69
+ storage: Storage | string,
70
+ fileId: string,
71
+ ): Promise<{ path: string; data: Array<number> }> {
72
+ if (typeof storage === "string") {
73
+ storage = await storageActor(Principal.fromText(storage));
74
+ }
75
+ let fileMetaRes = await storage.getFileMeta(fileId);
76
+ if ("err" in fileMetaRes) {
77
+ throw fileMetaRes.err;
78
+ }
79
+ let fileMeta = fileMetaRes.ok;
66
80
 
67
- let data : Array<number> = [];
68
- for (let i = 0n; i < fileMeta.chunkCount; i++) {
69
- let chunkRes = await storage.downloadChunk(fileId, i);
70
- if ('err' in chunkRes) {
71
- throw chunkRes.err;
72
- }
73
- let chunk = chunkRes.ok;
74
- data = [...data, ...chunk];
75
- }
81
+ let data: Array<number> = [];
82
+ for (let i = 0n; i < fileMeta.chunkCount; i++) {
83
+ let chunkRes = await storage.downloadChunk(fileId, i);
84
+ if ("err" in chunkRes) {
85
+ throw chunkRes.err;
86
+ }
87
+ let chunk = chunkRes.ok;
88
+ data = [...data, ...chunk];
89
+ }
76
90
 
77
- return {
78
- path: fileMeta.path,
79
- data: data,
80
- };
81
- }
91
+ return {
92
+ path: fileMeta.path,
93
+ data: data,
94
+ };
95
+ }
@@ -1,6 +1,6 @@
1
- import {mainActor} from './actors.js';
1
+ import { mainActor } from "./actors.js";
2
2
 
3
- export async function getHighestVersion(pkgName : string) {
4
- let actor = await mainActor();
5
- return actor.getHighestVersion(pkgName);
6
- }
3
+ export async function getHighestVersion(pkgName: string) {
4
+ let actor = await mainActor();
5
+ return actor.getHighestVersion(pkgName);
6
+ }
package/api/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export {mainActor, storageActor} from './actors.js';
2
- export {downloadPackageFiles} from './downloadPackageFiles.js';
3
- export {getEndpoint, getNetwork} from './network.js';
4
- export {resolveVersion} from './resolveVersion.js';
1
+ export { mainActor, storageActor } from "./actors.js";
2
+ export { downloadPackageFiles } from "./downloadPackageFiles.js";
3
+ export { getEndpoint, getNetwork } from "./network.js";
4
+ export { resolveVersion } from "./resolveVersion.js";
package/api/network.ts CHANGED
@@ -1,24 +1,22 @@
1
1
  export function getNetwork() {
2
- return globalThis.MOPS_NETWORK || 'ic';
2
+ return globalThis.MOPS_NETWORK || "ic";
3
3
  }
4
4
 
5
- export function getEndpoint(network : string) {
6
- if (network === 'staging') {
7
- return {
8
- host: 'https://icp-api.io',
9
- canisterId: '2d2zu-vaaaa-aaaak-qb6pq-cai',
10
- };
11
- }
12
- else if (network === 'ic') {
13
- return {
14
- host: 'https://icp-api.io',
15
- canisterId: 'oknww-riaaa-aaaam-qaf6a-cai',
16
- };
17
- }
18
- else {
19
- return {
20
- host: 'http://127.0.0.1:4943',
21
- canisterId: '2d2zu-vaaaa-aaaak-qb6pq-cai',
22
- };
23
- }
24
- }
5
+ export function getEndpoint(network: string) {
6
+ if (network === "staging") {
7
+ return {
8
+ host: "https://icp-api.io",
9
+ canisterId: "2d2zu-vaaaa-aaaak-qb6pq-cai",
10
+ };
11
+ } else if (network === "ic") {
12
+ return {
13
+ host: "https://icp-api.io",
14
+ canisterId: "oknww-riaaa-aaaam-qaf6a-cai",
15
+ };
16
+ } else {
17
+ return {
18
+ host: "http://127.0.0.1:4943",
19
+ canisterId: "2d2zu-vaaaa-aaaak-qb6pq-cai",
20
+ };
21
+ }
22
+ }
@@ -1,12 +1,15 @@
1
- import {getHighestVersion} from './getHighestVersion.js';
1
+ import { getHighestVersion } from "./getHighestVersion.js";
2
2
 
3
- export async function resolveVersion(pkg : string, version = '') : Promise<string> {
4
- if (!version) {
5
- let versionRes = await getHighestVersion(pkg);
6
- if ('err' in versionRes) {
7
- throw versionRes.err;
8
- }
9
- version = versionRes.ok;
10
- }
11
- return version;
12
- }
3
+ export async function resolveVersion(
4
+ pkg: string,
5
+ version = "",
6
+ ): Promise<string> {
7
+ if (!version) {
8
+ let versionRes = await getHighestVersion(pkg);
9
+ if ("err" in versionRes) {
10
+ throw versionRes.err;
11
+ }
12
+ version = versionRes.ok;
13
+ }
14
+ return version;
15
+ }
package/bin/mops.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import '../cli.js';
3
+ import "../cli.js";