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.
Files changed (322) hide show
  1. package/.DS_Store +0 -0
  2. package/.eslintrc.json +7 -7
  3. package/CHANGELOG.md +6 -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/bundle/bench/bench-canister.mo +109 -101
  12. package/bundle/bench/user-bench.mo +6 -6
  13. package/bundle/bin/mops.js +1 -1
  14. package/bundle/cli.js +797 -792
  15. package/bundle/cli.tgz +0 -0
  16. package/bundle/package.json +6 -5
  17. package/bundle/templates/mops-publish.yml +3 -3
  18. package/bundle/templates/mops-test.yml +3 -3
  19. package/bundle/templates/src/lib.mo +13 -13
  20. package/bundle/templates/test/lib.test.mo +2 -2
  21. package/bundle-package-json.ts +8 -8
  22. package/cache.ts +80 -65
  23. package/check-requirements.ts +49 -45
  24. package/cli.ts +577 -376
  25. package/commands/add.ts +142 -129
  26. package/commands/available-updates.ts +55 -41
  27. package/commands/bench/bench-canister.mo +114 -108
  28. package/commands/bench/user-bench.mo +6 -6
  29. package/commands/bench-replica.ts +146 -118
  30. package/commands/bench.ts +563 -497
  31. package/commands/build.ts +177 -0
  32. package/commands/bump.ts +68 -57
  33. package/commands/check-candid.ts +24 -0
  34. package/commands/docs-coverage.ts +124 -102
  35. package/commands/docs.ts +118 -108
  36. package/commands/format.ts +171 -155
  37. package/commands/init.ts +301 -275
  38. package/commands/install/install-all.ts +75 -62
  39. package/commands/install/install-dep.ts +43 -28
  40. package/commands/install/install-deps.ts +23 -15
  41. package/commands/install/install-local-dep.ts +42 -34
  42. package/commands/install/install-mops-dep.ts +154 -123
  43. package/commands/install/sync-local-cache.ts +39 -35
  44. package/commands/maintainer.ts +109 -99
  45. package/commands/outdated.ts +30 -24
  46. package/commands/owner.ts +107 -99
  47. package/commands/publish.ts +534 -443
  48. package/commands/remove.ts +119 -89
  49. package/commands/replica.ts +391 -316
  50. package/commands/search.ts +42 -36
  51. package/commands/self.ts +63 -56
  52. package/commands/sources.ts +66 -49
  53. package/commands/sync.ts +92 -75
  54. package/commands/template.ts +145 -102
  55. package/commands/test/mmf1.ts +146 -119
  56. package/commands/test/reporters/compact-reporter.ts +87 -84
  57. package/commands/test/reporters/files-reporter.ts +56 -51
  58. package/commands/test/reporters/reporter.ts +12 -6
  59. package/commands/test/reporters/silent-reporter.ts +58 -59
  60. package/commands/test/reporters/verbose-reporter.ts +66 -54
  61. package/commands/test/test.ts +498 -401
  62. package/commands/test/utils.ts +72 -67
  63. package/commands/toolchain/index.ts +363 -322
  64. package/commands/toolchain/moc.ts +78 -50
  65. package/commands/toolchain/pocket-ic.ts +41 -34
  66. package/commands/toolchain/toolchain-utils.ts +92 -72
  67. package/commands/toolchain/wasmtime.ts +37 -34
  68. package/commands/update.ts +82 -64
  69. package/commands/user.ts +90 -81
  70. package/commands/watch/deployer.ts +188 -152
  71. package/commands/watch/error-checker.ts +90 -80
  72. package/commands/watch/formatter.ts +72 -60
  73. package/commands/watch/generator.ts +116 -96
  74. package/commands/watch/globMoFiles.ts +13 -13
  75. package/commands/watch/parseDfxJson.ts +63 -57
  76. package/commands/watch/tester.ts +83 -65
  77. package/commands/watch/warning-checker.ts +149 -136
  78. package/commands/watch/watch.ts +123 -95
  79. package/dist/api/actors.d.ts +4 -4
  80. package/dist/api/actors.js +8 -8
  81. package/dist/api/downloadPackageFiles.d.ts +2 -2
  82. package/dist/api/downloadPackageFiles.js +10 -10
  83. package/dist/api/getHighestVersion.js +1 -1
  84. package/dist/api/index.d.ts +4 -4
  85. package/dist/api/index.js +4 -4
  86. package/dist/api/network.js +9 -9
  87. package/dist/api/resolveVersion.js +3 -3
  88. package/dist/bin/mops.js +1 -1
  89. package/dist/bundle-package-json.js +8 -8
  90. package/dist/cache.js +22 -17
  91. package/dist/check-requirements.js +11 -11
  92. package/dist/cli.js +283 -186
  93. package/dist/commands/add.d.ts +1 -1
  94. package/dist/commands/add.js +40 -37
  95. package/dist/commands/available-updates.d.ts +1 -1
  96. package/dist/commands/available-updates.js +18 -12
  97. package/dist/commands/bench/bench-canister.mo +114 -108
  98. package/dist/commands/bench/user-bench.mo +6 -6
  99. package/dist/commands/bench-replica.d.ts +4 -4
  100. package/dist/commands/bench-replica.js +45 -34
  101. package/dist/commands/bench.d.ts +5 -5
  102. package/dist/commands/bench.js +134 -118
  103. package/dist/commands/build.d.ts +7 -0
  104. package/dist/commands/build.js +121 -0
  105. package/dist/commands/bump.js +27 -18
  106. package/dist/commands/check-candid.d.ts +4 -0
  107. package/dist/commands/check-candid.js +15 -0
  108. package/dist/commands/docs-coverage.d.ts +1 -1
  109. package/dist/commands/docs-coverage.js +45 -31
  110. package/dist/commands/docs.d.ts +1 -1
  111. package/dist/commands/docs.js +39 -38
  112. package/dist/commands/format.js +31 -27
  113. package/dist/commands/init.js +102 -92
  114. package/dist/commands/install/install-all.d.ts +2 -2
  115. package/dist/commands/install/install-all.js +23 -21
  116. package/dist/commands/install/install-dep.d.ts +1 -1
  117. package/dist/commands/install/install-dep.js +21 -8
  118. package/dist/commands/install/install-deps.d.ts +1 -1
  119. package/dist/commands/install/install-deps.js +1 -1
  120. package/dist/commands/install/install-local-dep.js +11 -9
  121. package/dist/commands/install/install-mops-dep.d.ts +1 -1
  122. package/dist/commands/install/install-mops-dep.js +32 -27
  123. package/dist/commands/install/sync-local-cache.js +10 -10
  124. package/dist/commands/maintainer.js +21 -21
  125. package/dist/commands/outdated.js +12 -8
  126. package/dist/commands/owner.js +21 -21
  127. package/dist/commands/publish.js +148 -128
  128. package/dist/commands/remove.d.ts +1 -1
  129. package/dist/commands/remove.js +42 -30
  130. package/dist/commands/replica.d.ts +7 -7
  131. package/dist/commands/replica.js +85 -57
  132. package/dist/commands/search.js +15 -13
  133. package/dist/commands/self.js +31 -28
  134. package/dist/commands/sources.d.ts +5 -1
  135. package/dist/commands/sources.js +23 -17
  136. package/dist/commands/sync.d.ts +1 -1
  137. package/dist/commands/sync.js +38 -25
  138. package/dist/commands/template.js +66 -56
  139. package/dist/commands/test/mmf1.d.ts +3 -3
  140. package/dist/commands/test/mmf1.js +33 -31
  141. package/dist/commands/test/reporters/compact-reporter.d.ts +3 -3
  142. package/dist/commands/test/reporters/compact-reporter.js +19 -15
  143. package/dist/commands/test/reporters/files-reporter.d.ts +3 -3
  144. package/dist/commands/test/reporters/files-reporter.js +18 -14
  145. package/dist/commands/test/reporters/reporter.d.ts +2 -2
  146. package/dist/commands/test/reporters/silent-reporter.d.ts +3 -3
  147. package/dist/commands/test/reporters/silent-reporter.js +4 -4
  148. package/dist/commands/test/reporters/verbose-reporter.d.ts +3 -3
  149. package/dist/commands/test/reporters/verbose-reporter.js +17 -13
  150. package/dist/commands/test/test.d.ts +4 -4
  151. package/dist/commands/test/test.js +134 -112
  152. package/dist/commands/test/utils.d.ts +3 -3
  153. package/dist/commands/test/utils.js +17 -17
  154. package/dist/commands/toolchain/index.d.ts +1 -1
  155. package/dist/commands/toolchain/index.js +81 -69
  156. package/dist/commands/toolchain/moc.d.ts +1 -1
  157. package/dist/commands/toolchain/moc.js +48 -24
  158. package/dist/commands/toolchain/pocket-ic.js +12 -12
  159. package/dist/commands/toolchain/toolchain-utils.d.ts +2 -0
  160. package/dist/commands/toolchain/toolchain-utils.js +32 -23
  161. package/dist/commands/toolchain/wasmtime.js +11 -11
  162. package/dist/commands/update.d.ts +1 -1
  163. package/dist/commands/update.js +18 -14
  164. package/dist/commands/user.js +31 -28
  165. package/dist/commands/watch/deployer.d.ts +4 -4
  166. package/dist/commands/watch/deployer.js +45 -36
  167. package/dist/commands/watch/error-checker.d.ts +2 -2
  168. package/dist/commands/watch/error-checker.js +27 -27
  169. package/dist/commands/watch/formatter.d.ts +4 -4
  170. package/dist/commands/watch/formatter.js +17 -17
  171. package/dist/commands/watch/generator.d.ts +3 -3
  172. package/dist/commands/watch/generator.js +28 -23
  173. package/dist/commands/watch/globMoFiles.js +8 -8
  174. package/dist/commands/watch/parseDfxJson.d.ts +2 -2
  175. package/dist/commands/watch/parseDfxJson.js +9 -9
  176. package/dist/commands/watch/tester.d.ts +4 -4
  177. package/dist/commands/watch/tester.js +23 -21
  178. package/dist/commands/watch/warning-checker.d.ts +3 -3
  179. package/dist/commands/watch/warning-checker.js +36 -36
  180. package/dist/commands/watch/watch.js +45 -32
  181. package/dist/environments/nodejs/cli.d.ts +1 -0
  182. package/dist/environments/nodejs/cli.js +4 -0
  183. package/dist/environments/web/cli.d.ts +1 -0
  184. package/dist/environments/web/cli.js +4 -0
  185. package/dist/error.d.ts +1 -0
  186. package/dist/error.js +5 -0
  187. package/dist/fix-dist.js +5 -5
  188. package/dist/helpers/find-changelog-entry.js +8 -5
  189. package/dist/helpers/get-dep-name.js +2 -2
  190. package/dist/helpers/get-dfx-version.js +4 -4
  191. package/dist/helpers/get-moc-path.js +8 -7
  192. package/dist/helpers/get-moc-version.js +10 -7
  193. package/dist/helpers/get-package-id.js +2 -2
  194. package/dist/helpers/is-candid-compatible.d.ts +1 -0
  195. package/dist/helpers/is-candid-compatible.js +20 -0
  196. package/dist/integrity.d.ts +1 -1
  197. package/dist/integrity.js +47 -38
  198. package/dist/jest.config.d.ts +11 -0
  199. package/dist/jest.config.js +14 -0
  200. package/dist/mops.d.ts +6 -6
  201. package/dist/mops.js +87 -80
  202. package/dist/notify-installs.js +4 -4
  203. package/dist/package.json +9 -5
  204. package/dist/pem.d.ts +3 -3
  205. package/dist/pem.js +20 -12
  206. package/dist/release-cli.js +20 -20
  207. package/dist/resolve-packages.d.ts +1 -1
  208. package/dist/resolve-packages.js +52 -36
  209. package/dist/templates/mops-publish.yml +3 -3
  210. package/dist/templates/mops-test.yml +3 -3
  211. package/dist/templates/src/lib.mo +13 -13
  212. package/dist/templates/test/lib.test.mo +2 -2
  213. package/dist/templates.js +1 -1
  214. package/dist/tests/cli.test.d.ts +1 -0
  215. package/dist/tests/cli.test.js +63 -0
  216. package/dist/types.d.ts +14 -4
  217. package/dist/vessel.d.ts +2 -2
  218. package/dist/vessel.js +41 -34
  219. package/dist/wasm/pkg/bundler/package.json +20 -0
  220. package/dist/wasm/pkg/bundler/wasm.d.ts +3 -0
  221. package/dist/wasm/pkg/bundler/wasm.js +5 -0
  222. package/dist/wasm/pkg/bundler/wasm_bg.js +93 -0
  223. package/dist/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  224. package/dist/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
  225. package/dist/wasm/pkg/nodejs/package.json +14 -0
  226. package/dist/wasm/pkg/nodejs/wasm.d.ts +3 -0
  227. package/dist/wasm/pkg/nodejs/wasm.js +98 -0
  228. package/dist/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  229. package/dist/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
  230. package/dist/wasm/pkg/web/package.json +18 -0
  231. package/dist/wasm/pkg/web/wasm.d.ts +35 -0
  232. package/dist/wasm/pkg/web/wasm.js +191 -0
  233. package/dist/wasm/pkg/web/wasm_bg.wasm +0 -0
  234. package/dist/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
  235. package/dist/wasm.d.ts +5 -0
  236. package/dist/wasm.js +10 -0
  237. package/environments/nodejs/cli.ts +6 -0
  238. package/environments/web/cli.ts +6 -0
  239. package/error.ts +6 -0
  240. package/fix-dist.ts +5 -5
  241. package/global.d.ts +3 -3
  242. package/helpers/find-changelog-entry.ts +26 -23
  243. package/helpers/get-dep-name.ts +5 -5
  244. package/helpers/get-dfx-version.ts +8 -9
  245. package/helpers/get-moc-path.ts +25 -26
  246. package/helpers/get-moc-version.ts +21 -19
  247. package/helpers/get-package-id.ts +4 -4
  248. package/helpers/is-candid-compatible.ts +22 -0
  249. package/integrity.ts +270 -236
  250. package/jest.config.js +14 -0
  251. package/mops.ts +238 -215
  252. package/notify-installs.ts +16 -17
  253. package/package.json +19 -10
  254. package/parallel.ts +28 -24
  255. package/pem.ts +55 -47
  256. package/release-cli.ts +73 -39
  257. package/resolve-packages.ts +231 -189
  258. package/templates/mops-publish.yml +3 -3
  259. package/templates/mops-test.yml +3 -3
  260. package/templates/src/lib.mo +13 -13
  261. package/templates/test/lib.test.mo +2 -2
  262. package/templates.ts +4 -4
  263. package/tests/__snapshots__/cli.test.ts.snap +202 -0
  264. package/tests/build/error/candid/bar.did +3 -0
  265. package/tests/build/error/dfx.json +12 -0
  266. package/tests/build/error/mops.toml +9 -0
  267. package/tests/build/error/src/Bar.mo +5 -0
  268. package/tests/build/error/src/Foo.mo +5 -0
  269. package/tests/build/success/.dfx/local/canister_ids.json +17 -0
  270. package/tests/build/success/.dfx/local/canisters/bar/bar.did +3 -0
  271. package/tests/build/success/.dfx/local/canisters/bar/bar.most +4 -0
  272. package/tests/build/success/.dfx/local/canisters/bar/bar.wasm +0 -0
  273. package/tests/build/success/.dfx/local/canisters/bar/constructor.did +3 -0
  274. package/tests/build/success/.dfx/local/canisters/bar/index.js +42 -0
  275. package/tests/build/success/.dfx/local/canisters/bar/init_args.txt +1 -0
  276. package/tests/build/success/.dfx/local/canisters/bar/service.did +3 -0
  277. package/tests/build/success/.dfx/local/canisters/bar/service.did.d.ts +7 -0
  278. package/tests/build/success/.dfx/local/canisters/bar/service.did.js +4 -0
  279. package/tests/build/success/.dfx/local/canisters/foo/constructor.did +3 -0
  280. package/tests/build/success/.dfx/local/canisters/foo/foo.did +3 -0
  281. package/tests/build/success/.dfx/local/canisters/foo/foo.most +4 -0
  282. package/tests/build/success/.dfx/local/canisters/foo/foo.wasm +0 -0
  283. package/tests/build/success/.dfx/local/canisters/foo/index.js +42 -0
  284. package/tests/build/success/.dfx/local/canisters/foo/init_args.txt +1 -0
  285. package/tests/build/success/.dfx/local/canisters/foo/service.did +3 -0
  286. package/tests/build/success/.dfx/local/canisters/foo/service.did.d.ts +7 -0
  287. package/tests/build/success/.dfx/local/canisters/foo/service.did.js +4 -0
  288. package/tests/build/success/.dfx/local/lsp/ucwa4-rx777-77774-qaada-cai.did +3 -0
  289. package/tests/build/success/.dfx/local/lsp/ulvla-h7777-77774-qaacq-cai.did +3 -0
  290. package/tests/build/success/.dfx/local/network-id +4 -0
  291. package/tests/build/success/candid/bar.did +3 -0
  292. package/tests/build/success/dfx.json +12 -0
  293. package/tests/build/success/mops.toml +9 -0
  294. package/tests/build/success/src/Bar.mo +5 -0
  295. package/tests/build/success/src/Foo.mo +5 -0
  296. package/tests/check-candid/a.did +3 -0
  297. package/tests/check-candid/b.did +5 -0
  298. package/tests/check-candid/c.did +3 -0
  299. package/tests/cli.test.ts +82 -0
  300. package/tsconfig.json +26 -19
  301. package/types.ts +41 -31
  302. package/vessel.ts +219 -187
  303. package/wasm/Cargo.lock +1475 -0
  304. package/wasm/Cargo.toml +28 -0
  305. package/wasm/pkg/bundler/package.json +20 -0
  306. package/wasm/pkg/bundler/wasm.d.ts +3 -0
  307. package/wasm/pkg/bundler/wasm.js +5 -0
  308. package/wasm/pkg/bundler/wasm_bg.js +93 -0
  309. package/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  310. package/wasm/pkg/bundler/wasm_bg.wasm.d.ts +8 -0
  311. package/wasm/pkg/nodejs/package.json +14 -0
  312. package/wasm/pkg/nodejs/wasm.d.ts +3 -0
  313. package/wasm/pkg/nodejs/wasm.js +98 -0
  314. package/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  315. package/wasm/pkg/nodejs/wasm_bg.wasm.d.ts +8 -0
  316. package/wasm/pkg/web/package.json +18 -0
  317. package/wasm/pkg/web/wasm.d.ts +35 -0
  318. package/wasm/pkg/web/wasm.js +191 -0
  319. package/wasm/pkg/web/wasm_bg.wasm +0 -0
  320. package/wasm/pkg/web/wasm_bg.wasm.d.ts +8 -0
  321. package/wasm/src/lib.rs +17 -0
  322. package/wasm.ts +16 -0
package/bundle/cli.tgz CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ic-mops",
3
- "version": "1.11.1",
3
+ "version": "1.12.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mops": "bin/mops.js",
@@ -15,14 +15,15 @@
15
15
  "!build.sh",
16
16
  "!DEVELOPMENT.md",
17
17
  "!.mops",
18
- "/templates"
18
+ "/templates",
19
+ "/wasm"
19
20
  ],
20
21
  "homepage": "https://mops.one",
21
22
  "repository": {
22
23
  "type": "git",
23
- "url": "https://github.com/ZenVoich/mops.git"
24
+ "url": "https://github.com/dfinity/mops.git"
24
25
  },
25
- "author": "Zen Voich <zen.voich@gmail.com>",
26
+ "author": "DFINITY",
26
27
  "license": "MIT",
27
28
  "engines": {
28
29
  "node": ">=18.0.0"
@@ -32,4 +33,4 @@
32
33
  "decomp-tarxz": "0.1.1",
33
34
  "buffer": "6.0.3"
34
35
  }
35
- }
36
+ }
@@ -9,9 +9,9 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
 
11
11
  steps:
12
- - uses: actions/checkout@v4
13
- - uses: ZenVoich/setup-mops@v1
12
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
13
+ - uses: dfinity/setup-mops@v1
14
14
  with:
15
15
  # Make sure you set the MOPS_IDENTITY_PEM secret in your repository settings https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository
16
16
  identity-pem: ${{ secrets.MOPS_IDENTITY_PEM }}
17
- - run: mops publish
17
+ - run: mops publish
@@ -12,8 +12,8 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
 
14
14
  steps:
15
- - uses: actions/checkout@v4
16
- - uses: ZenVoich/setup-mops@v1
15
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
16
+ - uses: dfinity/setup-mops@v1
17
17
  with:
18
18
  mops-version: 1
19
19
 
@@ -21,4 +21,4 @@ jobs:
21
21
  run: mops install
22
22
 
23
23
  - name: run tests
24
- run: mops test
24
+ run: mops test
@@ -1,15 +1,15 @@
1
1
  module {
2
- // This comment will not be included in the documentation
3
- // Use triple slash for documentation
2
+ // This comment will not be included in the documentation
3
+ // Use triple slash for documentation
4
4
 
5
- /// Add two natural numbers
6
- ///
7
- /// Example:
8
- /// ```motoko
9
- /// assert add(1, 2) == 3;
10
- /// assert add(7, 3) == 10;
11
- /// ```
12
- public func add(x : Nat, y : Nat) : Nat {
13
- return x + y;
14
- };
15
- };
5
+ /// Add two natural numbers
6
+ ///
7
+ /// Example:
8
+ /// ```motoko
9
+ /// assert add(1, 2) == 3;
10
+ /// assert add(7, 3) == 10;
11
+ /// ```
12
+ public func add(x : Nat, y : Nat) : Nat {
13
+ return x + y;
14
+ };
15
+ };
@@ -1,4 +1,4 @@
1
- import {add} "../src";
1
+ import { add } "../src";
2
2
 
3
3
  assert add(1, 2) == 3;
4
- assert add(3, 22) == 25;
4
+ assert add(3, 22) == 25;
@@ -1,17 +1,17 @@
1
- import {readFileSync, writeFileSync} from 'node:fs';
1
+ import { readFileSync, writeFileSync } from "node:fs";
2
2
 
3
- let packageJson = JSON.parse(readFileSync('./bundle/package.json', 'utf8'));
3
+ let packageJson = JSON.parse(readFileSync("./bundle/package.json", "utf8"));
4
4
 
5
- packageJson.bin.mops = 'bin/mops.js';
6
- packageJson.bin['ic-mops'] = 'bin/mops.js';
5
+ packageJson.bin.mops = "bin/mops.js";
6
+ packageJson.bin["ic-mops"] = "bin/mops.js";
7
7
 
8
8
  delete packageJson.scripts;
9
9
  delete packageJson.devDependencies;
10
10
  delete packageJson.overrides;
11
11
  packageJson.dependencies = {
12
- 'dhall-to-json-cli': packageJson.dependencies['dhall-to-json-cli'],
13
- 'decomp-tarxz': packageJson.dependencies['decomp-tarxz'],
14
- 'buffer': packageJson.dependencies['buffer'],
12
+ "dhall-to-json-cli": packageJson.dependencies["dhall-to-json-cli"],
13
+ "decomp-tarxz": packageJson.dependencies["decomp-tarxz"],
14
+ buffer: packageJson.dependencies["buffer"],
15
15
  };
16
16
 
17
- writeFileSync('./bundle/package.json', JSON.stringify(packageJson, null, ' '));
17
+ writeFileSync("./bundle/package.json", JSON.stringify(packageJson, null, " "));
package/cache.ts CHANGED
@@ -1,90 +1,105 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import ncp from 'ncp';
4
- import getFolderSize from 'get-folder-size';
5
-
6
- import {getDependencyType, getNetwork, getRootDir, globalCacheDir, parseGithubURL} from './mops.js';
7
- import {getPackageId} from './helpers/get-package-id.js';
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import ncp from "ncp";
4
+ import getFolderSize from "get-folder-size";
5
+
6
+ import {
7
+ getDependencyType,
8
+ getNetwork,
9
+ getRootDir,
10
+ globalCacheDir,
11
+ parseGithubURL,
12
+ } from "./mops.js";
13
+ import { getPackageId } from "./helpers/get-package-id.js";
8
14
 
9
15
  let getGlobalCacheDir = () => {
10
- let network = getNetwork();
11
- return path.join(globalCacheDir, network === 'ic' ? '' : network);
16
+ let network = getNetwork();
17
+ return path.join(globalCacheDir, network === "ic" ? "" : network);
12
18
  };
13
19
 
14
20
  export let show = () => {
15
- return getGlobalCacheDir();
21
+ return getGlobalCacheDir();
16
22
  };
17
23
 
18
- export let getDepCacheDir = (cacheName : string) => {
19
- return path.join(getGlobalCacheDir(), 'packages', cacheName);
24
+ export let getDepCacheDir = (cacheName: string) => {
25
+ return path.join(getGlobalCacheDir(), "packages", cacheName);
20
26
  };
21
27
 
22
- export let isDepCached = (cacheName : string) => {
23
- let dir = getDepCacheDir(cacheName);
24
- return fs.existsSync(dir);
28
+ export let isDepCached = (cacheName: string) => {
29
+ let dir = getDepCacheDir(cacheName);
30
+ return fs.existsSync(dir);
25
31
  };
26
32
 
27
- export function getDepCacheName(name : string, version : string) {
28
- let depType = getDependencyType(version);
29
- return depType === 'mops' ? getMopsDepCacheName(name, version) : getGithubDepCacheName(name, version);
33
+ export function getDepCacheName(name: string, version: string) {
34
+ let depType = getDependencyType(version);
35
+ return depType === "mops"
36
+ ? getMopsDepCacheName(name, version)
37
+ : getGithubDepCacheName(name, version);
30
38
  }
31
39
 
32
- export function getMopsDepCacheName(name : string, version : string) {
33
- return getPackageId(name, version);
40
+ export function getMopsDepCacheName(name: string, version: string) {
41
+ return getPackageId(name, version);
34
42
  }
35
43
 
36
- export function getGithubDepCacheName(name : string, repo : string) {
37
- const {branch, commitHash} = parseGithubURL(repo);
38
- return `_github/${name}#${branch.replaceAll('/', '___')}` + (commitHash ? `@${commitHash}` : '');
44
+ export function getGithubDepCacheName(name: string, repo: string) {
45
+ const { branch, commitHash } = parseGithubURL(repo);
46
+ return (
47
+ `_github/${name}#${branch.replaceAll("/", "___")}` +
48
+ (commitHash ? `@${commitHash}` : "")
49
+ );
39
50
  }
40
51
 
41
- export let addCache = (cacheName : string, source : string) => {
42
- let dest = path.join(getGlobalCacheDir(), 'packages', cacheName);
43
- fs.mkdirSync(dest, {recursive: true});
44
-
45
- return new Promise<void>((resolve, reject) => {
46
- ncp.ncp(source, dest, {stopOnErr: true}, (err) => {
47
- if (err) {
48
- reject(err);
49
- }
50
- resolve();
51
- });
52
- });
52
+ export let addCache = (cacheName: string, source: string) => {
53
+ let dest = path.join(getGlobalCacheDir(), "packages", cacheName);
54
+ fs.mkdirSync(dest, { recursive: true });
55
+
56
+ return new Promise<void>((resolve, reject) => {
57
+ ncp.ncp(source, dest, { stopOnErr: true }, (err) => {
58
+ if (err) {
59
+ reject(err);
60
+ }
61
+ resolve();
62
+ });
63
+ });
53
64
  };
54
65
 
55
- export let copyCache = (cacheName : string, dest : string) => {
56
- let source = path.join(getGlobalCacheDir(), 'packages', cacheName);
57
- fs.mkdirSync(dest, {recursive: true});
58
-
59
- return new Promise<void>((resolve, reject) => {
60
- ncp.ncp(source, dest, {stopOnErr: true}, (err) => {
61
- if (err) {
62
- reject(err);
63
- }
64
- resolve();
65
- });
66
- });
66
+ export let copyCache = (cacheName: string, dest: string) => {
67
+ let source = path.join(getGlobalCacheDir(), "packages", cacheName);
68
+ fs.mkdirSync(dest, { recursive: true });
69
+
70
+ return new Promise<void>((resolve, reject) => {
71
+ ncp.ncp(source, dest, { stopOnErr: true }, (err) => {
72
+ if (err) {
73
+ reject(err);
74
+ }
75
+ resolve();
76
+ });
77
+ });
67
78
  };
68
79
 
69
80
  export let cacheSize = async () => {
70
- let dir = path.join(getGlobalCacheDir());
71
- fs.mkdirSync(dir, {recursive: true});
72
-
73
- let size = await getFolderSize.strict(dir);
74
- if (size < 1024 * 1024) {
75
- return (size / 1024).toFixed(2) + ' KB';
76
- }
77
- return (size / 1024 / 1024).toFixed(2) + ' MB';
81
+ let dir = path.join(getGlobalCacheDir());
82
+ fs.mkdirSync(dir, { recursive: true });
83
+
84
+ let size = await getFolderSize.strict(dir);
85
+ if (size < 1024 * 1024) {
86
+ return (size / 1024).toFixed(2) + " KB";
87
+ }
88
+ return (size / 1024 / 1024).toFixed(2) + " MB";
78
89
  };
79
90
 
80
91
  export let cleanCache = async () => {
81
- if (!getGlobalCacheDir().endsWith('mops/cache') && !getGlobalCacheDir().endsWith('/mops') && !getGlobalCacheDir().endsWith('/mops/' + getNetwork())) {
82
- throw new Error('Invalid cache directory: ' + getGlobalCacheDir());
83
- }
84
-
85
- // local cache
86
- fs.rmSync(path.join(getRootDir(), '.mops'), {recursive: true, force: true});
87
-
88
- // global cache
89
- fs.rmSync(getGlobalCacheDir(), {recursive: true, force: true});
90
- };
92
+ if (
93
+ !getGlobalCacheDir().endsWith("mops/cache") &&
94
+ !getGlobalCacheDir().endsWith("/mops") &&
95
+ !getGlobalCacheDir().endsWith("/mops/" + getNetwork())
96
+ ) {
97
+ throw new Error("Invalid cache directory: " + getGlobalCacheDir());
98
+ }
99
+
100
+ // local cache
101
+ fs.rmSync(path.join(getRootDir(), ".mops"), { recursive: true, force: true });
102
+
103
+ // global cache
104
+ fs.rmSync(getGlobalCacheDir(), { recursive: true, force: true });
105
+ };
@@ -1,52 +1,56 @@
1
- import path from 'node:path';
2
- import {SemVer} from 'semver';
3
- import chalk from 'chalk';
1
+ import path from "node:path";
2
+ import { SemVer } from "semver";
3
+ import chalk from "chalk";
4
4
 
5
- import {getDependencyType, getRootDir, readConfig} from './mops.js';
6
- import {resolvePackages} from './resolve-packages.js';
7
- import {getMocVersion} from './helpers/get-moc-version.js';
8
- import {getPackageId} from './helpers/get-package-id.js';
5
+ import { getDependencyType, getRootDir, readConfig } from "./mops.js";
6
+ import { resolvePackages } from "./resolve-packages.js";
7
+ import { getMocVersion } from "./helpers/get-moc-version.js";
8
+ import { getPackageId } from "./helpers/get-package-id.js";
9
9
 
10
- export async function checkRequirements({verbose = false} = {}) {
11
- let config = readConfig();
12
- let mocVersion = config.toolchain?.moc;
13
- if (!mocVersion) {
14
- mocVersion = getMocVersion(false);
15
- }
16
- if (!mocVersion) {
17
- return;
18
- }
19
- let installedMoc = new SemVer(mocVersion);
20
- let highestRequiredMoc = new SemVer('0.0.0');
21
- let highestRequiredMocPkgId = '';
22
- let rootDir = getRootDir();
10
+ export async function checkRequirements({ verbose = false } = {}) {
11
+ let config = readConfig();
12
+ let mocVersion = config.toolchain?.moc;
13
+ if (!mocVersion) {
14
+ mocVersion = getMocVersion(false);
15
+ }
16
+ if (!mocVersion) {
17
+ return;
18
+ }
19
+ let installedMoc = new SemVer(mocVersion);
20
+ let highestRequiredMoc = new SemVer("0.0.0");
21
+ let highestRequiredMocPkgId = "";
22
+ let rootDir = getRootDir();
23
23
 
24
- let resolvedPackages = await resolvePackages();
25
- for (let [name, version] of Object.entries(resolvedPackages)) {
26
- if (getDependencyType(version) === 'mops') {
27
- let pkgId = getPackageId(name, version);
28
- let depConfig = readConfig(path.join(rootDir, '.mops', pkgId, 'mops.toml'));
29
- let moc = depConfig.requirements?.moc;
24
+ let resolvedPackages = await resolvePackages();
25
+ for (let [name, version] of Object.entries(resolvedPackages)) {
26
+ if (getDependencyType(version) === "mops") {
27
+ let pkgId = getPackageId(name, version);
28
+ let depConfig = readConfig(
29
+ path.join(rootDir, ".mops", pkgId, "mops.toml"),
30
+ );
31
+ let moc = depConfig.requirements?.moc;
30
32
 
31
- if (moc) {
32
- let requiredMoc = new SemVer(moc);
33
- if (highestRequiredMoc.compare(requiredMoc) < 0) {
34
- highestRequiredMoc = requiredMoc;
35
- highestRequiredMocPkgId = pkgId;
36
- }
37
- verbose && _check(pkgId, installedMoc, requiredMoc);
38
- }
39
- }
40
- }
33
+ if (moc) {
34
+ let requiredMoc = new SemVer(moc);
35
+ if (highestRequiredMoc.compare(requiredMoc) < 0) {
36
+ highestRequiredMoc = requiredMoc;
37
+ highestRequiredMocPkgId = pkgId;
38
+ }
39
+ verbose && _check(pkgId, installedMoc, requiredMoc);
40
+ }
41
+ }
42
+ }
41
43
 
42
- verbose || _check(highestRequiredMocPkgId, installedMoc, highestRequiredMoc);
44
+ verbose || _check(highestRequiredMocPkgId, installedMoc, highestRequiredMoc);
43
45
  }
44
46
 
45
- function _check(pkgId : string, installedMoc : SemVer, requiredMoc : SemVer) {
46
- let comp = installedMoc.compare(requiredMoc);
47
- if (comp < 0) {
48
- console.log(chalk.yellow(`moc version does not meet the requirements of ${pkgId}`));
49
- console.log(chalk.yellow(` Required: >= ${requiredMoc.format()}`));
50
- console.log(chalk.yellow(` Installed: ${installedMoc.format()}`));
51
- }
52
- }
47
+ function _check(pkgId: string, installedMoc: SemVer, requiredMoc: SemVer) {
48
+ let comp = installedMoc.compare(requiredMoc);
49
+ if (comp < 0) {
50
+ console.log(
51
+ chalk.yellow(`moc version does not meet the requirements of ${pkgId}`),
52
+ );
53
+ console.log(chalk.yellow(` Required: >= ${requiredMoc.format()}`));
54
+ console.log(chalk.yellow(` Installed: ${installedMoc.format()}`));
55
+ }
56
+ }