ic-mops 2.2.1 → 2.3.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 (146) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/RELEASE.md +9 -1
  3. package/bundle/cli.tgz +0 -0
  4. package/cli.ts +25 -2
  5. package/commands/build.ts +2 -10
  6. package/commands/check-stable.ts +177 -0
  7. package/commands/check.ts +53 -6
  8. package/dist/cli.js +22 -2
  9. package/dist/commands/build.js +2 -5
  10. package/dist/commands/check-stable.d.ts +14 -0
  11. package/dist/commands/check-stable.js +95 -0
  12. package/dist/commands/check.js +41 -6
  13. package/dist/helpers/resolve-canisters.d.ts +7 -0
  14. package/dist/helpers/resolve-canisters.js +31 -0
  15. package/dist/package.json +2 -2
  16. package/dist/tests/check-fix.test.js +17 -0
  17. package/dist/tests/check-stable.test.d.ts +1 -0
  18. package/dist/tests/check-stable.test.js +51 -0
  19. package/dist/tests/check.test.js +54 -1
  20. package/dist/tests/moc-args.test.js +3 -3
  21. package/dist/types.d.ts +5 -1
  22. package/dist/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  23. package/dist/wasm/pkg/web/wasm_bg.wasm +0 -0
  24. package/helpers/resolve-canisters.ts +52 -0
  25. package/package.json +2 -2
  26. package/tests/README.md +16 -0
  27. package/tests/__snapshots__/check-fix.test.ts.snap +16 -10
  28. package/tests/__snapshots__/check-stable.test.ts.snap +29 -0
  29. package/tests/__snapshots__/check.test.ts.snap +26 -16
  30. package/tests/build/no-dfx/mops.toml +3 -0
  31. package/tests/build/no-dfx/src/Main.mo +1 -1
  32. package/tests/check/canisters/Ok.mo +5 -0
  33. package/tests/check/canisters/mops.toml +8 -0
  34. package/tests/check/canisters-error/Error.mo +7 -0
  35. package/tests/check/canisters-error/mops.toml +8 -0
  36. package/tests/check/canisters-moc-args/Warning.mo +5 -0
  37. package/tests/check/canisters-moc-args/mops.toml +8 -0
  38. package/tests/check/deployed-compatible/main.mo +4 -0
  39. package/tests/check/deployed-compatible/mops.toml +11 -0
  40. package/tests/check/deployed-compatible/old.mo +3 -0
  41. package/tests/check/deployed-compile-error/Error.mo +7 -0
  42. package/tests/check/deployed-compile-error/mops.toml +11 -0
  43. package/tests/check/deployed-compile-error/old.mo +3 -0
  44. package/tests/check/deployed-missing-error/Ok.mo +5 -0
  45. package/tests/check/deployed-missing-error/mops.toml +11 -0
  46. package/tests/check/deployed-missing-skip/Ok.mo +5 -0
  47. package/tests/check/deployed-missing-skip/mops.toml +12 -0
  48. package/tests/check/error/Error.mo +1 -1
  49. package/tests/check/error/mops.toml +5 -2
  50. package/tests/check/fix/M0223.mo +1 -1
  51. package/tests/check/fix/M0236.mo +1 -1
  52. package/tests/check/fix/M0237.mo +1 -1
  53. package/tests/check/fix/Ok.mo +1 -1
  54. package/tests/check/fix/fix-with-error.mo +9 -0
  55. package/tests/check/fix/fix-with-warning.mo +8 -0
  56. package/tests/check/fix/mops.toml +3 -0
  57. package/tests/check/fix/transitive-main.mo +1 -1
  58. package/tests/check/moc-args/Warning.mo +1 -1
  59. package/tests/check/moc-args/mops.toml +4 -1
  60. package/tests/check/success/Ok.mo +1 -1
  61. package/tests/check/success/Warning.mo +1 -1
  62. package/tests/check/success/mops.toml +5 -2
  63. package/tests/check-fix.test.ts +25 -0
  64. package/tests/check-stable/compatible/mops.toml +8 -0
  65. package/tests/check-stable/compatible/new.mo +4 -0
  66. package/tests/check-stable/compatible/old.mo +3 -0
  67. package/tests/check-stable/incompatible/mops.toml +8 -0
  68. package/tests/check-stable/incompatible/new.mo +3 -0
  69. package/tests/check-stable/incompatible/old.mo +4 -0
  70. package/tests/check-stable/subdirectory/.old/src/main.mo +3 -0
  71. package/tests/check-stable/subdirectory/mops.toml +8 -0
  72. package/tests/check-stable/subdirectory/src/main.mo +4 -0
  73. package/tests/check-stable.test.ts +56 -0
  74. package/tests/check.test.ts +63 -1
  75. package/tests/moc-args.test.ts +3 -3
  76. package/types.ts +5 -1
  77. package/wasm/Cargo.lock +101 -54
  78. package/wasm/pkg/nodejs/wasm_bg.wasm +0 -0
  79. package/wasm/pkg/web/wasm_bg.wasm +0 -0
  80. package/.DS_Store +0 -0
  81. package/bundle/bench/bench-canister.mo +0 -130
  82. package/bundle/bench/user-bench.mo +0 -10
  83. package/bundle/bin/moc-wrapper.sh +0 -40
  84. package/bundle/bin/mops.js +0 -3
  85. package/bundle/cli.js +0 -1569
  86. package/bundle/declarations/bench/bench.did +0 -30
  87. package/bundle/declarations/bench/bench.did.d.ts +0 -33
  88. package/bundle/declarations/bench/bench.did.js +0 -30
  89. package/bundle/declarations/bench/index.d.ts +0 -50
  90. package/bundle/declarations/bench/index.js +0 -40
  91. package/bundle/declarations/main/index.d.ts +0 -50
  92. package/bundle/declarations/main/index.js +0 -40
  93. package/bundle/declarations/main/main.did +0 -428
  94. package/bundle/declarations/main/main.did.d.ts +0 -348
  95. package/bundle/declarations/main/main.did.js +0 -406
  96. package/bundle/declarations/storage/index.d.ts +0 -50
  97. package/bundle/declarations/storage/index.js +0 -30
  98. package/bundle/declarations/storage/storage.did +0 -46
  99. package/bundle/declarations/storage/storage.did.d.ts +0 -40
  100. package/bundle/declarations/storage/storage.did.js +0 -38
  101. package/bundle/default-stylesheet.css +0 -415
  102. package/bundle/package.json +0 -36
  103. package/bundle/templates/README.md +0 -13
  104. package/bundle/templates/licenses/Apache-2.0 +0 -202
  105. package/bundle/templates/licenses/Apache-2.0-NOTICE +0 -13
  106. package/bundle/templates/licenses/MIT +0 -21
  107. package/bundle/templates/mops-publish.yml +0 -17
  108. package/bundle/templates/mops-test.yml +0 -24
  109. package/bundle/templates/src/lib.mo +0 -15
  110. package/bundle/templates/test/lib.test.mo +0 -4
  111. package/bundle/wasm_bg.wasm +0 -0
  112. package/bundle/xhr-sync-worker.js +0 -51
  113. package/dist/wasm/pkg/bundler/package.json +0 -20
  114. package/dist/wasm/pkg/bundler/wasm.d.ts +0 -3
  115. package/dist/wasm/pkg/bundler/wasm.js +0 -5
  116. package/dist/wasm/pkg/bundler/wasm_bg.js +0 -93
  117. package/dist/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  118. package/dist/wasm/pkg/bundler/wasm_bg.wasm.d.ts +0 -8
  119. package/tests/build/success/.dfx/local/canister_ids.json +0 -17
  120. package/tests/build/success/.dfx/local/canisters/bar/bar.did +0 -3
  121. package/tests/build/success/.dfx/local/canisters/bar/bar.most +0 -4
  122. package/tests/build/success/.dfx/local/canisters/bar/bar.wasm +0 -0
  123. package/tests/build/success/.dfx/local/canisters/bar/constructor.did +0 -3
  124. package/tests/build/success/.dfx/local/canisters/bar/index.js +0 -42
  125. package/tests/build/success/.dfx/local/canisters/bar/init_args.txt +0 -1
  126. package/tests/build/success/.dfx/local/canisters/bar/service.did +0 -3
  127. package/tests/build/success/.dfx/local/canisters/bar/service.did.d.ts +0 -7
  128. package/tests/build/success/.dfx/local/canisters/bar/service.did.js +0 -4
  129. package/tests/build/success/.dfx/local/canisters/foo/constructor.did +0 -3
  130. package/tests/build/success/.dfx/local/canisters/foo/foo.did +0 -3
  131. package/tests/build/success/.dfx/local/canisters/foo/foo.most +0 -4
  132. package/tests/build/success/.dfx/local/canisters/foo/foo.wasm +0 -0
  133. package/tests/build/success/.dfx/local/canisters/foo/index.js +0 -42
  134. package/tests/build/success/.dfx/local/canisters/foo/init_args.txt +0 -1
  135. package/tests/build/success/.dfx/local/canisters/foo/service.did +0 -3
  136. package/tests/build/success/.dfx/local/canisters/foo/service.did.d.ts +0 -7
  137. package/tests/build/success/.dfx/local/canisters/foo/service.did.js +0 -4
  138. package/tests/build/success/.dfx/local/lsp/ucwa4-rx777-77774-qaada-cai.did +0 -3
  139. package/tests/build/success/.dfx/local/lsp/ulvla-h7777-77774-qaacq-cai.did +0 -3
  140. package/tests/build/success/.dfx/local/network-id +0 -4
  141. package/wasm/pkg/bundler/package.json +0 -20
  142. package/wasm/pkg/bundler/wasm.d.ts +0 -3
  143. package/wasm/pkg/bundler/wasm.js +0 -5
  144. package/wasm/pkg/bundler/wasm_bg.js +0 -93
  145. package/wasm/pkg/bundler/wasm_bg.wasm +0 -0
  146. package/wasm/pkg/bundler/wasm_bg.wasm.d.ts +0 -8
package/wasm/Cargo.lock CHANGED
@@ -47,6 +47,17 @@ dependencies = [
47
47
  "term",
48
48
  ]
49
49
 
50
+ [[package]]
51
+ name = "async-trait"
52
+ version = "0.1.89"
53
+ source = "registry+https://github.com/rust-lang/crates.io-index"
54
+ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
55
+ dependencies = [
56
+ "proc-macro2",
57
+ "quote",
58
+ "syn 2.0.111",
59
+ ]
60
+
50
61
  [[package]]
51
62
  name = "autocfg"
52
63
  version = "1.5.0"
@@ -156,7 +167,7 @@ dependencies = [
156
167
  "lazy_static",
157
168
  "proc-macro2",
158
169
  "quote",
159
- "syn 2.0.110",
170
+ "syn 2.0.111",
160
171
  ]
161
172
 
162
173
  [[package]]
@@ -181,11 +192,17 @@ dependencies = [
181
192
  "toml",
182
193
  ]
183
194
 
195
+ [[package]]
196
+ name = "cast"
197
+ version = "0.3.0"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
200
+
184
201
  [[package]]
185
202
  name = "cc"
186
- version = "1.2.46"
203
+ version = "1.2.49"
187
204
  source = "registry+https://github.com/rust-lang/crates.io-index"
188
- checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36"
205
+ checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215"
189
206
  dependencies = [
190
207
  "find-msvc-tools",
191
208
  "shlex",
@@ -281,7 +298,7 @@ dependencies = [
281
298
  "proc-macro2",
282
299
  "quote",
283
300
  "strsim",
284
- "syn 2.0.110",
301
+ "syn 2.0.111",
285
302
  ]
286
303
 
287
304
  [[package]]
@@ -292,7 +309,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
292
309
  dependencies = [
293
310
  "darling_core",
294
311
  "quote",
295
- "syn 2.0.110",
312
+ "syn 2.0.111",
296
313
  ]
297
314
 
298
315
  [[package]]
@@ -319,7 +336,7 @@ dependencies = [
319
336
  "darling",
320
337
  "proc-macro2",
321
338
  "quote",
322
- "syn 2.0.110",
339
+ "syn 2.0.111",
323
340
  ]
324
341
 
325
342
  [[package]]
@@ -329,7 +346,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
329
346
  checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
330
347
  dependencies = [
331
348
  "derive_builder_core",
332
- "syn 2.0.110",
349
+ "syn 2.0.111",
333
350
  ]
334
351
 
335
352
  [[package]]
@@ -441,9 +458,9 @@ dependencies = [
441
458
 
442
459
  [[package]]
443
460
  name = "hashbrown"
444
- version = "0.16.0"
461
+ version = "0.16.1"
445
462
  source = "registry+https://github.com/rust-lang/crates.io-index"
446
- checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
463
+ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
447
464
 
448
465
  [[package]]
449
466
  name = "hex"
@@ -473,9 +490,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
473
490
 
474
491
  [[package]]
475
492
  name = "indexmap"
476
- version = "2.12.0"
493
+ version = "2.12.1"
477
494
  source = "registry+https://github.com/rust-lang/crates.io-index"
478
- checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f"
495
+ checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2"
479
496
  dependencies = [
480
497
  "equivalent",
481
498
  "hashbrown",
@@ -498,9 +515,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
498
515
 
499
516
  [[package]]
500
517
  name = "js-sys"
501
- version = "0.3.82"
518
+ version = "0.3.83"
502
519
  source = "registry+https://github.com/rust-lang/crates.io-index"
503
- checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
520
+ checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
504
521
  dependencies = [
505
522
  "once_cell",
506
523
  "wasm-bindgen",
@@ -551,9 +568,15 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
551
568
 
552
569
  [[package]]
553
570
  name = "libc"
554
- version = "0.2.177"
571
+ version = "0.2.178"
572
+ source = "registry+https://github.com/rust-lang/crates.io-index"
573
+ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
574
+
575
+ [[package]]
576
+ name = "libm"
577
+ version = "0.2.15"
555
578
  source = "registry+https://github.com/rust-lang/crates.io-index"
556
- checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
579
+ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
557
580
 
558
581
  [[package]]
559
582
  name = "libredox"
@@ -576,9 +599,9 @@ dependencies = [
576
599
 
577
600
  [[package]]
578
601
  name = "log"
579
- version = "0.4.28"
602
+ version = "0.4.29"
580
603
  source = "registry+https://github.com/rust-lang/crates.io-index"
581
- checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
604
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
582
605
 
583
606
  [[package]]
584
607
  name = "logos"
@@ -601,7 +624,7 @@ dependencies = [
601
624
  "proc-macro2",
602
625
  "quote",
603
626
  "regex-syntax",
604
- "syn 2.0.110",
627
+ "syn 2.0.111",
605
628
  ]
606
629
 
607
630
  [[package]]
@@ -621,9 +644,9 @@ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
621
644
 
622
645
  [[package]]
623
646
  name = "minicov"
624
- version = "0.3.7"
647
+ version = "0.3.8"
625
648
  source = "registry+https://github.com/rust-lang/crates.io-index"
626
- checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b"
649
+ checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d"
627
650
  dependencies = [
628
651
  "cc",
629
652
  "walkdir",
@@ -635,6 +658,15 @@ version = "1.0.6"
635
658
  source = "registry+https://github.com/rust-lang/crates.io-index"
636
659
  checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
637
660
 
661
+ [[package]]
662
+ name = "nu-ansi-term"
663
+ version = "0.50.3"
664
+ source = "registry+https://github.com/rust-lang/crates.io-index"
665
+ checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
666
+ dependencies = [
667
+ "windows-sys 0.61.2",
668
+ ]
669
+
638
670
  [[package]]
639
671
  name = "num-bigint"
640
672
  version = "0.4.6"
@@ -677,6 +709,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
677
709
  checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
678
710
  dependencies = [
679
711
  "autocfg",
712
+ "libm",
680
713
  ]
681
714
 
682
715
  [[package]]
@@ -694,6 +727,12 @@ version = "1.21.3"
694
727
  source = "registry+https://github.com/rust-lang/crates.io-index"
695
728
  checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
696
729
 
730
+ [[package]]
731
+ name = "oorandom"
732
+ version = "11.1.5"
733
+ source = "registry+https://github.com/rust-lang/crates.io-index"
734
+ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
735
+
697
736
  [[package]]
698
737
  name = "parking_lot"
699
738
  version = "0.12.5"
@@ -725,9 +764,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
725
764
 
726
765
  [[package]]
727
766
  name = "pest"
728
- version = "2.8.3"
767
+ version = "2.8.4"
729
768
  source = "registry+https://github.com/rust-lang/crates.io-index"
730
- checksum = "989e7521a040efde50c3ab6bbadafbe15ab6dc042686926be59ac35d74607df4"
769
+ checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22"
731
770
  dependencies = [
732
771
  "memchr",
733
772
  "ucd-trie",
@@ -735,9 +774,9 @@ dependencies = [
735
774
 
736
775
  [[package]]
737
776
  name = "pest_derive"
738
- version = "2.8.3"
777
+ version = "2.8.4"
739
778
  source = "registry+https://github.com/rust-lang/crates.io-index"
740
- checksum = "187da9a3030dbafabbbfb20cb323b976dc7b7ce91fcd84f2f74d6e31d378e2de"
779
+ checksum = "51f72981ade67b1ca6adc26ec221be9f463f2b5839c7508998daa17c23d94d7f"
741
780
  dependencies = [
742
781
  "pest",
743
782
  "pest_generator",
@@ -745,22 +784,22 @@ dependencies = [
745
784
 
746
785
  [[package]]
747
786
  name = "pest_generator"
748
- version = "2.8.3"
787
+ version = "2.8.4"
749
788
  source = "registry+https://github.com/rust-lang/crates.io-index"
750
- checksum = "49b401d98f5757ebe97a26085998d6c0eecec4995cad6ab7fc30ffdf4b052843"
789
+ checksum = "dee9efd8cdb50d719a80088b76f81aec7c41ed6d522ee750178f83883d271625"
751
790
  dependencies = [
752
791
  "pest",
753
792
  "pest_meta",
754
793
  "proc-macro2",
755
794
  "quote",
756
- "syn 2.0.110",
795
+ "syn 2.0.111",
757
796
  ]
758
797
 
759
798
  [[package]]
760
799
  name = "pest_meta"
761
- version = "2.8.3"
800
+ version = "2.8.4"
762
801
  source = "registry+https://github.com/rust-lang/crates.io-index"
763
- checksum = "72f27a2cfee9f9039c4d86faa5af122a0ac3851441a34865b8a043b46be0065a"
802
+ checksum = "bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82"
764
803
  dependencies = [
765
804
  "pest",
766
805
  "sha2",
@@ -960,7 +999,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
960
999
  dependencies = [
961
1000
  "proc-macro2",
962
1001
  "quote",
963
- "syn 2.0.110",
1002
+ "syn 2.0.111",
964
1003
  ]
965
1004
 
966
1005
  [[package]]
@@ -1058,9 +1097,9 @@ dependencies = [
1058
1097
 
1059
1098
  [[package]]
1060
1099
  name = "syn"
1061
- version = "2.0.110"
1100
+ version = "2.0.111"
1062
1101
  source = "registry+https://github.com/rust-lang/crates.io-index"
1063
- checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea"
1102
+ checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
1064
1103
  dependencies = [
1065
1104
  "proc-macro2",
1066
1105
  "quote",
@@ -1113,7 +1152,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
1113
1152
  dependencies = [
1114
1153
  "proc-macro2",
1115
1154
  "quote",
1116
- "syn 2.0.110",
1155
+ "syn 2.0.111",
1117
1156
  ]
1118
1157
 
1119
1158
  [[package]]
@@ -1124,7 +1163,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
1124
1163
  dependencies = [
1125
1164
  "proc-macro2",
1126
1165
  "quote",
1127
- "syn 2.0.110",
1166
+ "syn 2.0.111",
1128
1167
  ]
1129
1168
 
1130
1169
  [[package]]
@@ -1256,9 +1295,9 @@ dependencies = [
1256
1295
 
1257
1296
  [[package]]
1258
1297
  name = "wasm-bindgen"
1259
- version = "0.2.105"
1298
+ version = "0.2.106"
1260
1299
  source = "registry+https://github.com/rust-lang/crates.io-index"
1261
- checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
1300
+ checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
1262
1301
  dependencies = [
1263
1302
  "cfg-if",
1264
1303
  "once_cell",
@@ -1269,9 +1308,9 @@ dependencies = [
1269
1308
 
1270
1309
  [[package]]
1271
1310
  name = "wasm-bindgen-futures"
1272
- version = "0.4.55"
1311
+ version = "0.4.56"
1273
1312
  source = "registry+https://github.com/rust-lang/crates.io-index"
1274
- checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0"
1313
+ checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c"
1275
1314
  dependencies = [
1276
1315
  "cfg-if",
1277
1316
  "js-sys",
@@ -1282,9 +1321,9 @@ dependencies = [
1282
1321
 
1283
1322
  [[package]]
1284
1323
  name = "wasm-bindgen-macro"
1285
- version = "0.2.105"
1324
+ version = "0.2.106"
1286
1325
  source = "registry+https://github.com/rust-lang/crates.io-index"
1287
- checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
1326
+ checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
1288
1327
  dependencies = [
1289
1328
  "quote",
1290
1329
  "wasm-bindgen-macro-support",
@@ -1292,34 +1331,42 @@ dependencies = [
1292
1331
 
1293
1332
  [[package]]
1294
1333
  name = "wasm-bindgen-macro-support"
1295
- version = "0.2.105"
1334
+ version = "0.2.106"
1296
1335
  source = "registry+https://github.com/rust-lang/crates.io-index"
1297
- checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
1336
+ checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
1298
1337
  dependencies = [
1299
1338
  "bumpalo",
1300
1339
  "proc-macro2",
1301
1340
  "quote",
1302
- "syn 2.0.110",
1341
+ "syn 2.0.111",
1303
1342
  "wasm-bindgen-shared",
1304
1343
  ]
1305
1344
 
1306
1345
  [[package]]
1307
1346
  name = "wasm-bindgen-shared"
1308
- version = "0.2.105"
1347
+ version = "0.2.106"
1309
1348
  source = "registry+https://github.com/rust-lang/crates.io-index"
1310
- checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
1349
+ checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
1311
1350
  dependencies = [
1312
1351
  "unicode-ident",
1313
1352
  ]
1314
1353
 
1315
1354
  [[package]]
1316
1355
  name = "wasm-bindgen-test"
1317
- version = "0.3.55"
1356
+ version = "0.3.56"
1318
1357
  source = "registry+https://github.com/rust-lang/crates.io-index"
1319
- checksum = "bfc379bfb624eb59050b509c13e77b4eb53150c350db69628141abce842f2373"
1358
+ checksum = "25e90e66d265d3a1efc0e72a54809ab90b9c0c515915c67cdf658689d2c22c6c"
1320
1359
  dependencies = [
1360
+ "async-trait",
1361
+ "cast",
1321
1362
  "js-sys",
1363
+ "libm",
1322
1364
  "minicov",
1365
+ "nu-ansi-term",
1366
+ "num-traits",
1367
+ "oorandom",
1368
+ "serde",
1369
+ "serde_json",
1323
1370
  "wasm-bindgen",
1324
1371
  "wasm-bindgen-futures",
1325
1372
  "wasm-bindgen-test-macro",
@@ -1327,20 +1374,20 @@ dependencies = [
1327
1374
 
1328
1375
  [[package]]
1329
1376
  name = "wasm-bindgen-test-macro"
1330
- version = "0.3.55"
1377
+ version = "0.3.56"
1331
1378
  source = "registry+https://github.com/rust-lang/crates.io-index"
1332
- checksum = "085b2df989e1e6f9620c1311df6c996e83fe16f57792b272ce1e024ac16a90f1"
1379
+ checksum = "7150335716dce6028bead2b848e72f47b45e7b9422f64cccdc23bedca89affc1"
1333
1380
  dependencies = [
1334
1381
  "proc-macro2",
1335
1382
  "quote",
1336
- "syn 2.0.110",
1383
+ "syn 2.0.111",
1337
1384
  ]
1338
1385
 
1339
1386
  [[package]]
1340
1387
  name = "web-sys"
1341
- version = "0.3.82"
1388
+ version = "0.3.83"
1342
1389
  source = "registry+https://github.com/rust-lang/crates.io-index"
1343
- checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
1390
+ checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac"
1344
1391
  dependencies = [
1345
1392
  "js-sys",
1346
1393
  "wasm-bindgen",
@@ -1467,9 +1514,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1467
1514
 
1468
1515
  [[package]]
1469
1516
  name = "winnow"
1470
- version = "0.7.13"
1517
+ version = "0.7.14"
1471
1518
  source = "registry+https://github.com/rust-lang/crates.io-index"
1472
- checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
1519
+ checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
1473
1520
  dependencies = [
1474
1521
  "memchr",
1475
1522
  ]
Binary file
Binary file
package/.DS_Store DELETED
Binary file
@@ -1,130 +0,0 @@
1
- import Nat64 "mo:core/Nat64";
2
- import Nat "mo:core/Nat";
3
- import Runtime "mo:core/Runtime";
4
- import InternetComputer "mo:core/InternetComputer";
5
- import Region "mo:core/Region";
6
- import Prim "mo:prim";
7
-
8
- import UserBench "./user-bench"; // file path will be replaced with the *.bench.mo file path
9
-
10
- persistent actor class () {
11
- type BenchSchema = {
12
- name : Text;
13
- description : Text;
14
- rows : [Text];
15
- cols : [Text];
16
- };
17
-
18
- type Bench = {
19
- getVersion : () -> Nat;
20
- getSchema : () -> BenchSchema;
21
- runCell : (Nat, Nat) -> ();
22
- };
23
-
24
- type BenchResult = {
25
- instructions : Int;
26
- rts_mutator_instructions : Int;
27
- stable_memory_size : Int;
28
- rts_stable_memory_size : Int;
29
- rts_logical_stable_memory_size : Int;
30
- rts_collector_instructions : Int;
31
- rts_heap_size : Int;
32
- rts_memory_size : Int;
33
- rts_total_allocation : Int;
34
- rts_reclaimed : Int;
35
- };
36
-
37
- transient var benchOpt : ?Bench = null;
38
-
39
- public func init() : async BenchSchema {
40
- let bench = UserBench.init();
41
- benchOpt := ?bench;
42
- ignore Region.grow(Region.new(), 1);
43
- bench.getSchema();
44
- };
45
-
46
- public query func getSchema() : async BenchSchema {
47
- let ?bench = benchOpt else Runtime.trap("bench not initialized");
48
- bench.getSchema();
49
- };
50
-
51
- func _getStats() : BenchResult {
52
- {
53
- instructions = 0;
54
- rts_heap_size = Prim.rts_heap_size();
55
- stable_memory_size = Prim.rts_stable_memory_size() * 65536;
56
- rts_stable_memory_size = Prim.rts_stable_memory_size();
57
- rts_logical_stable_memory_size = Prim.rts_logical_stable_memory_size();
58
- rts_memory_size = Prim.rts_memory_size();
59
- rts_total_allocation = Prim.rts_total_allocation();
60
- rts_reclaimed = Prim.rts_reclaimed();
61
- rts_mutator_instructions = Prim.rts_mutator_instructions();
62
- rts_collector_instructions = Prim.rts_collector_instructions();
63
- };
64
- };
65
-
66
- func _diffStats(before : BenchResult, after : BenchResult) : BenchResult {
67
- {
68
- instructions = after.instructions - before.instructions;
69
- rts_heap_size = after.rts_heap_size - before.rts_heap_size;
70
- stable_memory_size = after.stable_memory_size - before.stable_memory_size;
71
- rts_stable_memory_size = after.rts_stable_memory_size - before.rts_stable_memory_size;
72
- rts_logical_stable_memory_size = after.rts_logical_stable_memory_size - before.rts_logical_stable_memory_size;
73
- rts_memory_size = after.rts_memory_size - before.rts_memory_size;
74
- rts_total_allocation = after.rts_total_allocation - before.rts_total_allocation;
75
- rts_reclaimed = after.rts_reclaimed - before.rts_reclaimed;
76
- rts_mutator_instructions = after.rts_mutator_instructions - before.rts_mutator_instructions;
77
- rts_collector_instructions = after.rts_collector_instructions - before.rts_collector_instructions;
78
- };
79
- };
80
-
81
- func _runCell(rowIndex : Nat, colIndex : Nat) : BenchResult {
82
- let ?bench = benchOpt else Runtime.trap("bench not initialized");
83
- let statsBefore = _getStats();
84
-
85
- let instructions = Nat64.toNat(
86
- InternetComputer.countInstructions(
87
- func() {
88
- bench.runCell(rowIndex, colIndex);
89
- }
90
- )
91
- );
92
-
93
- let statsAfter = _getStats();
94
- _diffStats(statsBefore, { statsAfter with instructions });
95
- };
96
-
97
- func _runCellAwait(rowIndex : Nat, colIndex : Nat) : async BenchResult {
98
- let ?bench = benchOpt else Runtime.trap("bench not initialized");
99
- let statsBefore = _getStats();
100
-
101
- let instructions = Nat64.toNat(
102
- InternetComputer.countInstructions(
103
- func() {
104
- bench.runCell(rowIndex, colIndex);
105
- }
106
- )
107
- );
108
-
109
- await (func() : async () {})();
110
-
111
- let statsAfter = _getStats();
112
- _diffStats(statsBefore, { statsAfter with instructions });
113
- };
114
-
115
- public query func getStats() : async BenchResult {
116
- _getStats();
117
- };
118
-
119
- public query func runCellQuery(rowIndex : Nat, colIndex : Nat) : async BenchResult {
120
- _runCell(rowIndex, colIndex);
121
- };
122
-
123
- public func runCellUpdate(rowIndex : Nat, colIndex : Nat) : async BenchResult {
124
- _runCell(rowIndex, colIndex);
125
- };
126
-
127
- public func runCellUpdateAwait(rowIndex : Nat, colIndex : Nat) : async BenchResult {
128
- await _runCellAwait(rowIndex, colIndex);
129
- };
130
- };
@@ -1,10 +0,0 @@
1
- import Bench "mo:bench";
2
-
3
- // placeholder file that will be replaced with the *.bench.mo file
4
- module {
5
- public func init() : Bench.Bench {
6
- let bench = Bench.Bench();
7
- // benchmark code goes here...
8
- bench;
9
- };
10
- };
@@ -1,40 +0,0 @@
1
- #!/bin/bash
2
-
3
- # set -e
4
-
5
- findRootDir() {
6
- dir="$(pwd)"
7
- while [[ "$dir" != "" && ! -e "$dir/mops.toml" ]]; do
8
- dir=${dir%/*}
9
- done
10
- echo "$dir"
11
- }
12
-
13
- rootDir=$(findRootDir)
14
- mopsToml="$rootDir/mops.toml"
15
-
16
- if [[ $rootDir == "" ]] || [[ ! -f $mopsToml ]]; then
17
- mocPath="$(mops toolchain bin moc --fallback)"
18
- else
19
- if command -v openssl >/dev/null 2>&1; then
20
- mopsTomlHash=$(openssl sha256 $mopsToml | awk -F'= ' '{print $2}')
21
- else
22
- mopsTomlHash=$(shasum $mopsToml -a 256 | awk -F' ' '{print $1}')
23
- fi;
24
-
25
- cached="$rootDir/.mops/moc-$(uname -n)-$mopsTomlHash"
26
-
27
- if [ -f $cached ]; then
28
- mocPath=$(cat $cached)
29
- if [[ "$mocPath" != *"/moc" ]] ; then
30
- mocPath="$(mops toolchain bin moc --fallback)"
31
- echo -n $mocPath > "$cached"
32
- fi;
33
- else
34
- mkdir -p "$(dirname $cached)"
35
- mocPath="$(mops toolchain bin moc --fallback)"
36
- echo -n $mocPath > "$cached"
37
- fi;
38
- fi;
39
-
40
- $mocPath "$@"
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import "../cli.js";