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
@@ -1,104 +1,134 @@
1
- import fs from 'node:fs';
2
- import {deleteSync} from 'del';
3
- import chalk from 'chalk';
4
- import {checkConfigFile, getRootDir, readConfig, writeConfig} from '../mops.js';
5
- import {Config, Dependency} from '../types.js';
6
- import {checkIntegrity} from '../integrity.js';
7
- import {getDepCacheDir, getDepCacheName} from '../cache.js';
8
- import path from 'node:path';
9
- import {syncLocalCache} from './install/sync-local-cache.js';
10
- import {getPackageId} from '../helpers/get-package-id.js';
1
+ import fs from "node:fs";
2
+ import { deleteSync } from "del";
3
+ import chalk from "chalk";
4
+ import {
5
+ checkConfigFile,
6
+ getRootDir,
7
+ readConfig,
8
+ writeConfig,
9
+ } from "../mops.js";
10
+ import { Config, Dependency } from "../types.js";
11
+ import { checkIntegrity } from "../integrity.js";
12
+ import { getDepCacheDir, getDepCacheName } from "../cache.js";
13
+ import path from "node:path";
14
+ import { syncLocalCache } from "./install/sync-local-cache.js";
15
+ import { getPackageId } from "../helpers/get-package-id.js";
11
16
 
12
17
  type RemoveOptions = {
13
- verbose ?: boolean;
14
- dev ?: boolean;
15
- dryRun ?: boolean;
16
- lock ?: 'update' | 'ignore';
18
+ verbose?: boolean;
19
+ dev?: boolean;
20
+ dryRun?: boolean;
21
+ lock?: "update" | "ignore";
17
22
  };
18
23
 
19
- export async function remove(name : string, {dev = false, verbose = false, dryRun = false, lock} : RemoveOptions = {}) {
20
- if (!checkConfigFile()) {
21
- return;
22
- }
24
+ export async function remove(
25
+ name: string,
26
+ { dev = false, verbose = false, dryRun = false, lock }: RemoveOptions = {},
27
+ ) {
28
+ if (!checkConfigFile()) {
29
+ return;
30
+ }
23
31
 
24
- function getTransitiveDependencies(config : Config, exceptPkgId : string) {
25
- let deps = Object.values(config.dependencies || {});
26
- let devDeps = Object.values(config['dev-dependencies'] || {});
27
- return [...deps, ...devDeps]
28
- .filter((dep) => {
29
- let depId = getPackageId(dep.name, dep.version || '');
30
- return depId !== exceptPkgId;
31
- }).map((dep) => {
32
- return [dep, ...getTransitiveDependenciesOf(dep.name, dep.version, dep.repo)];
33
- }).flat();
34
- }
32
+ function getTransitiveDependencies(config: Config, exceptPkgId: string) {
33
+ let deps = Object.values(config.dependencies || {});
34
+ let devDeps = Object.values(config["dev-dependencies"] || {});
35
+ return [...deps, ...devDeps]
36
+ .filter((dep) => {
37
+ let depId = getPackageId(dep.name, dep.version || "");
38
+ return depId !== exceptPkgId;
39
+ })
40
+ .map((dep) => {
41
+ return [
42
+ dep,
43
+ ...getTransitiveDependenciesOf(dep.name, dep.version, dep.repo),
44
+ ];
45
+ })
46
+ .flat();
47
+ }
35
48
 
36
- function getTransitiveDependenciesOf(name : string, version : string | undefined, repo ?: string) {
37
- let value = version || repo;
38
- if (!value) {
39
- return [];
40
- }
41
- let cacheName = getDepCacheName(name, value);
42
- let pkgDir = getDepCacheDir(cacheName);
43
- let configFile = pkgDir + '/mops.toml';
44
- if (!fs.existsSync(configFile)) {
45
- verbose && console.log('no config', configFile);
46
- return [];
47
- }
48
- let config = readConfig(configFile);
49
- let deps : Dependency[] = Object.values(config.dependencies || {}).map((dep) => {
50
- return [dep, ...getTransitiveDependenciesOf(dep.name, dep.version)];
51
- }).flat();
52
- return deps;
53
- }
49
+ function getTransitiveDependenciesOf(
50
+ name: string,
51
+ version: string | undefined,
52
+ repo?: string,
53
+ ) {
54
+ let value = version || repo;
55
+ if (!value) {
56
+ return [];
57
+ }
58
+ let cacheName = getDepCacheName(name, value);
59
+ let pkgDir = getDepCacheDir(cacheName);
60
+ let configFile = pkgDir + "/mops.toml";
61
+ if (!fs.existsSync(configFile)) {
62
+ verbose && console.log("no config", configFile);
63
+ return [];
64
+ }
65
+ let config = readConfig(configFile);
66
+ let deps: Dependency[] = Object.values(config.dependencies || {})
67
+ .map((dep) => {
68
+ return [dep, ...getTransitiveDependenciesOf(dep.name, dep.version)];
69
+ })
70
+ .flat();
71
+ return deps;
72
+ }
54
73
 
55
- let config = readConfig();
56
- let deps = dev ? config['dev-dependencies'] : config.dependencies;
57
- deps = deps || {};
58
- let pkgDetails = deps[name];
74
+ let config = readConfig();
75
+ let deps = dev ? config["dev-dependencies"] : config.dependencies;
76
+ deps = deps || {};
77
+ let pkgDetails = deps[name];
59
78
 
60
- if (!pkgDetails) {
61
- return console.log(chalk.red('Error: ') + `No ${dev ? 'dev ' : ''}dependency to remove "${name}"`);
62
- }
79
+ if (!pkgDetails) {
80
+ return console.log(
81
+ chalk.red("Error: ") +
82
+ `No ${dev ? "dev " : ""}dependency to remove "${name}"`,
83
+ );
84
+ }
63
85
 
64
- let version = pkgDetails.version;
65
- let packageId = getPackageId(name, version || '');
86
+ let version = pkgDetails.version;
87
+ let packageId = getPackageId(name, version || "");
66
88
 
67
- // transitive deps ignoring deps of this package
68
- let transitiveDeps = getTransitiveDependencies(config, packageId);
69
- let transitiveDepIds = new Set(transitiveDeps.map((dep) => {
70
- return getPackageId(dep.name, dep.version || '');
71
- }));
89
+ // transitive deps ignoring deps of this package
90
+ let transitiveDeps = getTransitiveDependencies(config, packageId);
91
+ let transitiveDepIds = new Set(
92
+ transitiveDeps.map((dep) => {
93
+ return getPackageId(dep.name, dep.version || "");
94
+ }),
95
+ );
72
96
 
73
- // transitive deps of this package (including itself)
74
- let transitiveDepsOfPackage = [pkgDetails, ...getTransitiveDependenciesOf(name, version)];
97
+ // transitive deps of this package (including itself)
98
+ let transitiveDepsOfPackage = [
99
+ pkgDetails,
100
+ ...getTransitiveDependenciesOf(name, version),
101
+ ];
75
102
 
76
- // remove local cache
77
- for (let dep of transitiveDepsOfPackage) {
78
- let depId = getPackageId(dep.name, dep.version || '');
79
- if (transitiveDepIds.has(depId)) {
80
- verbose && console.log(`Ignored transitive dependency ${depId} (other deps depend on it)`);
81
- continue;
82
- }
83
- let cacheName = getDepCacheName(dep.name, dep.version || dep.repo || '');
84
- let localCacheDir = path.join(getRootDir(), '.mops', cacheName);
85
- if (localCacheDir && fs.existsSync(localCacheDir)) {
86
- dryRun || deleteSync([localCacheDir], {force: true});
87
- verbose && console.log(`Removed local cache ${localCacheDir}`);
88
- }
89
- }
103
+ // remove local cache
104
+ for (let dep of transitiveDepsOfPackage) {
105
+ let depId = getPackageId(dep.name, dep.version || "");
106
+ if (transitiveDepIds.has(depId)) {
107
+ verbose &&
108
+ console.log(
109
+ `Ignored transitive dependency ${depId} (other deps depend on it)`,
110
+ );
111
+ continue;
112
+ }
113
+ let cacheName = getDepCacheName(dep.name, dep.version || dep.repo || "");
114
+ let localCacheDir = path.join(getRootDir(), ".mops", cacheName);
115
+ if (localCacheDir && fs.existsSync(localCacheDir)) {
116
+ dryRun || deleteSync([localCacheDir], { force: true });
117
+ verbose && console.log(`Removed local cache ${localCacheDir}`);
118
+ }
119
+ }
90
120
 
91
- // remove from config
92
- if (!dev && config.dependencies) {
93
- delete config.dependencies[name];
94
- }
95
- if (dev && config['dev-dependencies']) {
96
- delete config['dev-dependencies'][name];
97
- }
98
- dryRun || writeConfig(config);
121
+ // remove from config
122
+ if (!dev && config.dependencies) {
123
+ delete config.dependencies[name];
124
+ }
125
+ if (dev && config["dev-dependencies"]) {
126
+ delete config["dev-dependencies"][name];
127
+ }
128
+ dryRun || writeConfig(config);
99
129
 
100
- await syncLocalCache();
101
- await checkIntegrity(lock);
130
+ await syncLocalCache();
131
+ await checkIntegrity(lock);
102
132
 
103
- console.log(chalk.green('Package removed ') + `${name} = "${version}"`);
104
- }
133
+ console.log(chalk.green("Package removed ") + `${name} = "${version}"`);
134
+ }