@dxos/cli 2.18.5-dev.5b370dc9 → 2.19.1-dev.2b9c1a6a

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 (96) hide show
  1. package/README.md +25 -16
  2. package/dist/dx.yml +14 -0
  3. package/dist/known-extensions.yml +47 -69
  4. package/dist/src/extensions/index.d.ts +4 -0
  5. package/dist/src/extensions/index.d.ts.map +1 -0
  6. package/dist/src/extensions/index.js +23 -0
  7. package/dist/src/extensions/index.js.map +1 -0
  8. package/dist/src/extensions/manager.d.ts +15 -0
  9. package/dist/src/extensions/manager.d.ts.map +1 -0
  10. package/dist/src/extensions/manager.js +52 -0
  11. package/dist/src/extensions/manager.js.map +1 -0
  12. package/dist/src/extensions/module.d.ts +20 -0
  13. package/dist/src/extensions/module.d.ts.map +1 -0
  14. package/dist/src/extensions/module.js +61 -0
  15. package/dist/src/extensions/module.js.map +1 -0
  16. package/dist/src/extensions/pluggable.d.ts +68 -0
  17. package/dist/src/extensions/pluggable.d.ts.map +1 -0
  18. package/dist/src/{pluggable.js → extensions/pluggable.js} +49 -89
  19. package/dist/src/extensions/pluggable.js.map +1 -0
  20. package/dist/src/extensions/utils.d.ts +9 -0
  21. package/dist/src/extensions/utils.d.ts.map +1 -0
  22. package/dist/src/extensions/utils.js +58 -0
  23. package/dist/src/extensions/utils.js.map +1 -0
  24. package/dist/src/main.js +51 -62
  25. package/dist/src/main.js.map +1 -1
  26. package/dist/src/modules/device/commands/index.d.ts +4 -0
  27. package/dist/src/modules/device/commands/index.d.ts.map +1 -0
  28. package/dist/src/modules/device/commands/index.js +23 -0
  29. package/dist/src/modules/device/commands/index.js.map +1 -0
  30. package/dist/src/modules/device/commands/info.d.ts +7 -0
  31. package/dist/src/modules/device/commands/info.d.ts.map +1 -0
  32. package/dist/src/modules/device/commands/info.js +24 -0
  33. package/dist/src/modules/device/commands/info.js.map +1 -0
  34. package/dist/src/modules/device/commands/invite.d.ts +9 -0
  35. package/dist/src/modules/device/commands/invite.d.ts.map +1 -0
  36. package/dist/src/modules/device/commands/invite.js +25 -0
  37. package/dist/src/modules/device/commands/invite.js.map +1 -0
  38. package/dist/src/modules/device/commands/join.d.ts +23 -0
  39. package/dist/src/modules/device/commands/join.d.ts.map +1 -0
  40. package/dist/src/modules/device/commands/join.js +46 -0
  41. package/dist/src/modules/device/commands/join.js.map +1 -0
  42. package/dist/src/modules/device/device.d.ts +10 -0
  43. package/dist/src/modules/device/device.d.ts.map +1 -0
  44. package/dist/src/modules/device/device.js +40 -0
  45. package/dist/src/modules/device/device.js.map +1 -0
  46. package/dist/src/modules/device/device.test.d.ts +2 -0
  47. package/dist/src/modules/device/device.test.d.ts.map +1 -0
  48. package/dist/src/modules/device/device.test.js +79 -0
  49. package/dist/src/modules/device/device.test.js.map +1 -0
  50. package/dist/src/modules/device/index.d.ts +2 -0
  51. package/dist/src/modules/device/index.d.ts.map +1 -0
  52. package/dist/src/modules/device/index.js +21 -0
  53. package/dist/src/modules/device/index.js.map +1 -0
  54. package/dist/src/modules/devtools.d.ts +1 -1
  55. package/dist/src/modules/devtools.d.ts.map +1 -1
  56. package/dist/src/modules/devtools.js +5 -4
  57. package/dist/src/modules/devtools.js.map +1 -1
  58. package/dist/src/modules/extension.d.ts.map +1 -1
  59. package/dist/src/modules/extension.js +18 -16
  60. package/dist/src/modules/extension.js.map +1 -1
  61. package/dist/src/modules/halo.d.ts +1 -1
  62. package/dist/src/modules/index.d.ts +10 -0
  63. package/dist/src/modules/index.d.ts.map +1 -0
  64. package/dist/src/modules/index.js +29 -0
  65. package/dist/src/modules/index.js.map +1 -0
  66. package/dist/src/modules/info.d.ts +6 -0
  67. package/dist/src/modules/info.d.ts.map +1 -0
  68. package/dist/src/modules/info.js +25 -0
  69. package/dist/src/modules/info.js.map +1 -0
  70. package/dist/src/modules/{installation.d.ts → install.d.ts} +1 -1
  71. package/dist/src/modules/install.d.ts.map +1 -0
  72. package/dist/src/modules/{installation.js → install.js} +12 -11
  73. package/dist/src/modules/install.js.map +1 -0
  74. package/dist/src/modules/profile.d.ts +2 -2
  75. package/dist/src/modules/profile.d.ts.map +1 -1
  76. package/dist/src/modules/profile.js.map +1 -1
  77. package/dist/src/modules/services.d.ts.map +1 -1
  78. package/dist/src/modules/services.js +8 -5
  79. package/dist/src/modules/services.js.map +1 -1
  80. package/dist/src/modules/storage.d.ts.map +1 -1
  81. package/dist/src/modules/storage.js.map +1 -1
  82. package/dist/tsconfig.tsbuildinfo +1 -1
  83. package/package.json +23 -15
  84. package/dist/src/extensions.d.ts +0 -6
  85. package/dist/src/extensions.d.ts.map +0 -1
  86. package/dist/src/extensions.js +0 -47
  87. package/dist/src/extensions.js.map +0 -1
  88. package/dist/src/modules/installation.d.ts.map +0 -1
  89. package/dist/src/modules/installation.js.map +0 -1
  90. package/dist/src/modules/pluggable.d.ts +0 -14
  91. package/dist/src/modules/pluggable.d.ts.map +0 -1
  92. package/dist/src/modules/pluggable.js +0 -48
  93. package/dist/src/modules/pluggable.js.map +0 -1
  94. package/dist/src/pluggable.d.ts +0 -68
  95. package/dist/src/pluggable.d.ts.map +0 -1
  96. package/dist/src/pluggable.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.joinCommand = void 0;
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const cli_core_1 = require("@dxos/cli-core");
12
+ const echo_db_1 = require("@dxos/echo-db");
13
+ const options = (yargs) => {
14
+ return yargs
15
+ .option('interactive', { hidden: true, default: true }) // override the default.
16
+ .option('name', { type: 'string', required: true })
17
+ .option('code', { type: 'string', required: true });
18
+ };
19
+ const joinCommand = ({ storage, profilePath, cliState, getClient }, secretProvider) => ({
20
+ command: ['join'],
21
+ describe: 'Join device invitation.',
22
+ builder: (yargs) => options(yargs),
23
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
24
+ var _a;
25
+ const { code, name } = argv;
26
+ if (cliState.interactive) {
27
+ throw new Error('Can not join from interactive mode.');
28
+ }
29
+ const persistent = (_a = storage === null || storage === void 0 ? void 0 : storage.persistent) !== null && _a !== void 0 ? _a : cli_core_1.CLI_DEFAULT_PERSISTENT;
30
+ if (persistent && !name) {
31
+ throw new Error('Profile name is not provided.');
32
+ }
33
+ if (persistent) {
34
+ (0, assert_1.default)(profilePath, 'Missing profile path.');
35
+ (0, cli_core_1.resetStorageForClientProfile)(storage === null || storage === void 0 ? void 0 : storage.path, name);
36
+ }
37
+ const client = await getClient(name);
38
+ const invitationDescriptor = echo_db_1.InvitationDescriptor.decode(code);
39
+ const invitation = await client.halo.acceptInvitation(invitationDescriptor);
40
+ const secret = await secretProvider();
41
+ invitation.authenticate(secret);
42
+ await invitation.wait();
43
+ })
44
+ });
45
+ exports.joinCommand = joinCommand;
46
+ //# sourceMappingURL=join.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../src/modules/device/commands/join.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAG5B,6CAA+G;AAE/G,2CAAqD;AAiBrD,MAAM,OAAO,GAAG,CAAC,KAA8B,EAA2B,EAAE;IAC1E,OAAO,KAAK;SACT,MAAM,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,wBAAwB;SAC/E,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAClD,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAA4B,EAAE,cAAwB,EAAE,EAAE,CAAC,CAAC;IACjI,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,QAAQ,EAAE,yBAAyB;IACnC,OAAO,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAE,IAAkC,EAAE,EAAE;;QACjE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,QAAQ,CAAC,WAAW,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,iCAAsB,CAAC;QACjE,IAAI,UAAU,IAAI,CAAC,IAAI,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,IAAI,UAAU,EAAE;YACd,IAAA,gBAAM,EAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YAC7C,IAAA,uCAA4B,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,oBAAoB,GAAG,8BAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;CACH,CAAC,CAAC;AA9BU,QAAA,WAAW,eA8BrB"}
@@ -0,0 +1,10 @@
1
+ import { Argv } from 'yargs';
2
+ import { CoreOptions, CoreState } from '@dxos/cli-core';
3
+ export declare type DeviceOptions = CoreOptions;
4
+ export declare const DeviceModule: ({ config, profilePath, getReadlineInterface, cliState }: CoreState) => {
5
+ command: string[];
6
+ describe: string;
7
+ handler: any;
8
+ builder: (yargs: Argv<CoreOptions>) => Argv<CoreOptions>;
9
+ };
10
+ //# sourceMappingURL=device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/modules/device/device.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAKtE,oBAAY,aAAa,GAAG,WAAW,CAAA;AAMvC,eAAO,MAAM,YAAY,4DAA6D,SAAS;;;;qBAwB1E,KAAK,WAAW,CAAC;CAKrC,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DeviceModule = void 0;
7
+ const cli_core_1 = require("@dxos/cli-core");
8
+ const debug_1 = require("@dxos/debug");
9
+ const commands_1 = require("./commands");
10
+ const deviceOptions = (yargs) => {
11
+ return yargs;
12
+ };
13
+ const DeviceModule = ({ config, profilePath, getReadlineInterface, cliState }) => {
14
+ const secretProvider = async () => {
15
+ return new Promise(resolve => {
16
+ const rl = getReadlineInterface();
17
+ rl.question('Passcode: ', (pin) => {
18
+ resolve(pin);
19
+ });
20
+ });
21
+ };
22
+ const onPinGenerated = (pin) => {
23
+ (0, debug_1.log)('Pin: ', pin);
24
+ };
25
+ const getClient = async (name) => {
26
+ return (0, cli_core_1.createClient)(config, [], { name, initProfile: false });
27
+ };
28
+ const storage = config.get('runtime.client.storage');
29
+ return {
30
+ command: ['device'],
31
+ describe: 'Device management.',
32
+ handler: undefined,
33
+ builder: (yargs) => deviceOptions(yargs)
34
+ .command((0, commands_1.joinCommand)({ storage, profilePath, cliState, getClient }, secretProvider))
35
+ .command((0, commands_1.infoCommand)({ getClient }))
36
+ .command((0, commands_1.inviteCommand)({ getClient }, onPinGenerated))
37
+ };
38
+ };
39
+ exports.DeviceModule = DeviceModule;
40
+ //# sourceMappingURL=device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../src/modules/device/device.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF,6CAAsE;AACtE,uCAAkC;AAElC,yCAAqE;AAIrE,MAAM,aAAa,GAAG,CAAC,KAAwB,EAAuB,EAAE;IACtE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAa,EAAE,EAAE;IACjG,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,EAAE,GAAG,oBAAqB,EAAE,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE;gBACxC,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;QACrC,IAAA,WAAG,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QACxC,OAAO,IAAA,uBAAY,EAAC,MAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtD,OAAO;QACL,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,SAAgB;QACzB,OAAO,EAAE,CAAC,KAAwB,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;aACxD,OAAO,CAAC,IAAA,sBAAW,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;aACnF,OAAO,CAAC,IAAA,sBAAW,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,IAAA,wBAAa,EAAC,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=device.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.test.d.ts","sourceRoot":"","sources":["../../../../src/modules/device/device.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const expect_1 = __importDefault(require("expect"));
10
+ const wait_for_expect_1 = __importDefault(require("wait-for-expect"));
11
+ const async_1 = require("@dxos/async");
12
+ const client_1 = require("@dxos/client");
13
+ const crypto_1 = require("@dxos/crypto");
14
+ const signal_1 = require("@dxos/signal");
15
+ const commands_1 = require("./commands");
16
+ const DEFAULT_ARGS = { $0: '', _: [], return: true };
17
+ const NEW_PROFILE_NAME = 'test';
18
+ class PinHelper {
19
+ setPin(value) {
20
+ this._pin = value;
21
+ }
22
+ async getPin() {
23
+ await (0, async_1.waitForCondition)(() => !!this._pin);
24
+ return this._pin;
25
+ }
26
+ }
27
+ describe('cli-party: Device', () => {
28
+ let signalBroker;
29
+ let alice;
30
+ let bob;
31
+ let aliceGetClient;
32
+ let bobGetClient;
33
+ before(async () => {
34
+ signalBroker = await (0, signal_1.createTestBroker)(4002);
35
+ });
36
+ beforeEach(async () => {
37
+ [alice, bob] = await Promise.all(['Alice', 'Bob'].map(async (username) => {
38
+ const client = new client_1.Client({ version: 1, runtime: { services: { signal: { server: 'ws://localhost:4002' } } } });
39
+ await client.initialize();
40
+ if (username === 'Alice') {
41
+ // Bob will be joining Alice's device invitation.
42
+ await client.halo.createProfile({ ...(0, crypto_1.createKeyPair)(), username });
43
+ }
44
+ return client;
45
+ }));
46
+ aliceGetClient = async () => alice;
47
+ bobGetClient = async () => bob;
48
+ });
49
+ afterEach(async () => {
50
+ await (0, async_1.sleep)(200); // Issue on `protocols` side - require some time before destroying.
51
+ await (alice === null || alice === void 0 ? void 0 : alice.destroy());
52
+ await (bob === null || bob === void 0 ? void 0 : bob.destroy());
53
+ });
54
+ after(async () => {
55
+ await signalBroker.stop();
56
+ });
57
+ it('Alice has identity and Bob has not.', async () => {
58
+ const aliceInfo = await (0, commands_1.infoCommand)({ getClient: aliceGetClient }).handler(DEFAULT_ARGS);
59
+ const bobInfo = await (0, commands_1.infoCommand)({ getClient: bobGetClient }).handler(DEFAULT_ARGS);
60
+ (0, expect_1.default)(aliceInfo.displayName).toEqual('Alice');
61
+ (0, expect_1.default)(bobInfo.displayName).toBeUndefined();
62
+ // expect(bobInfo.identityKey).toBeUndefined();
63
+ // expect(bobInfo.deviceKey).toBeUndefined();
64
+ // PublicKey.assertValidPublicKey(PublicKey.from(aliceInfo.identityKey));
65
+ // PublicKey.assertValidPublicKey(PublicKey.from(aliceInfo.deviceKey));
66
+ });
67
+ it('Can join a device invitation.', async () => {
68
+ const pinHelper = new PinHelper();
69
+ const onInvitationGenerated = async (code) => {
70
+ await (0, commands_1.joinCommand)({ getClient: bobGetClient, cliState: { interactive: false }, storage: { persistent: false } }, pinHelper.getPin.bind(pinHelper)).handler({ ...DEFAULT_ARGS, code, name: `${NEW_PROFILE_NAME}-1` });
71
+ };
72
+ await (0, commands_1.inviteCommand)({ getClient: aliceGetClient }, pinHelper.setPin.bind(pinHelper), onInvitationGenerated).handler(DEFAULT_ARGS);
73
+ await (0, wait_for_expect_1.default)(async () => {
74
+ (0, expect_1.default)((await (0, commands_1.infoCommand)({ getClient: aliceGetClient }).handler(DEFAULT_ARGS)).displayName).toEqual('Alice');
75
+ (0, expect_1.default)((await (0, commands_1.infoCommand)({ getClient: bobGetClient }).handler(DEFAULT_ARGS)).displayName).toEqual('Alice'); // Got replaced because it is now Alice's device.
76
+ }, 3000, 1000);
77
+ });
78
+ });
79
+ //# sourceMappingURL=device.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.test.js","sourceRoot":"","sources":["../../../../src/modules/device/device.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './device';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/device/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./device"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/device/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,2CAAyB"}
@@ -1,4 +1,4 @@
1
- export function DevToolsModule({ config }: {
1
+ export function DevtoolsModule({ config }: {
2
2
  config: any;
3
3
  }): object;
4
4
  //# sourceMappingURL=devtools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/modules/devtools.js"],"names":[],"mappings":"AAsBO;;IAFM,MAAM,CA+DjB"}
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/modules/devtools.js"],"names":[],"mappings":"AAuBO;;IAHM,MAAM,CA6DjB"}
@@ -6,7 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DevToolsModule = void 0;
9
+ exports.DevtoolsModule = void 0;
10
10
  const assert_1 = __importDefault(require("assert"));
11
11
  const download_1 = __importDefault(require("download"));
12
12
  const octokit_1 = require("octokit");
@@ -21,9 +21,10 @@ const CONFIG = { timeout: 30000, extract: false, strip: 1, mode: '755' };
21
21
  * Cert CLI module.
22
22
  * @returns {object}
23
23
  */
24
- const DevToolsModule = ({ config }) => ({
24
+ // TODO(burdon): Move to debug CLI?
25
+ const DevtoolsModule = ({ config }) => ({
25
26
  command: ['devtools'],
26
- describe: 'Development tools.',
27
+ describe: 'Browser development tools.',
27
28
  builder: yargs => yargs
28
29
  .command({
29
30
  command: ['collect'],
@@ -61,5 +62,5 @@ const DevToolsModule = ({ config }) => ({
61
62
  })
62
63
  })
63
64
  });
64
- exports.DevToolsModule = DevToolsModule;
65
+ exports.DevtoolsModule = DevtoolsModule;
65
66
  //# sourceMappingURL=devtools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../../src/modules/devtools.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../../src/modules/devtools.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,wDAAgC;AAChC,qCAAkC;AAClC,gDAAwB;AACxB,wDAA+B;AAE/B,6CAA8C;AAE9C,MAAM,KAAK,GAAG,MAAM,CAAC;AACrB,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAEzE;;;GAGG;AACH,mCAAmC;AAC5B,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,QAAQ,EAAE,4BAA4B;IAEtC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;SACpB,OAAO,CAAC;QACP,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,oCAAoC;QAC9C,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;aACpB,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAErC,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;YAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,6CAA6C,EAAE;gBAC/E,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC5F,IAAA,gBAAM,EAAC,cAAc,EAAE,UAAU,aAAa,gBAAgB,CAAC,CAAC;YAEhE,MAAM,mBAAmB,GAAG,cAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAElH,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,IAAA,kBAAQ,EACZ,cAAc,CAAC,oBAAoB,EACnC,mBAAmB,EACnB,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,WAAW,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CACzF,CAAC;YAEF,OAAO,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,aAAa,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC;KACH,CAAC;SAED,OAAO,CAAC;QACP,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,QAAQ,EAAE,8CAA8C;QACxD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;aACpB,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAClC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAErC,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;YAC1D,IAAA,gBAAM,EAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAElC,MAAM,mBAAmB,GAAG,cAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAElH,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,IAAA,kBAAQ,EACZ,IAAA,kBAAO,EAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,IAAI,CAAC,EAC1D,mBAAmB,EACnB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;CACL,CAAC,CAAC;AA1DU,QAAA,cAAc,kBA0DxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/modules/extension.js"],"names":[],"mappings":"AAoBO;;IAFM,MAAM,CA6LjB"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/modules/extension.js"],"names":[],"mappings":"AAmBO;;IAFM,MAAM,CA6LjB"}
@@ -8,12 +8,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ExtensionModule = void 0;
10
10
  const assert_1 = __importDefault(require("assert"));
11
- const lodash_get_1 = __importDefault(require("lodash.get"));
12
11
  const semver_1 = require("semver");
13
12
  const cli_core_1 = require("@dxos/cli-core");
14
13
  const debug_1 = require("@dxos/debug");
15
14
  const extensions_1 = require("../extensions");
16
- const pluggable_1 = require("../pluggable");
15
+ // TODO(burdon): Move to config.
17
16
  const DEFAULT_TEMPLATE = 'https://github.com/dxos/templates/tree/main/cli-template';
18
17
  /**
19
18
  * Extension CLI module.
@@ -30,12 +29,13 @@ const ExtensionModule = ({ getReadlineInterface }) => ({
30
29
  builder: yargs => yargs,
31
30
  handler: (0, cli_core_1.asyncHandler)(async (argv) => {
32
31
  const { json } = argv;
33
- let extensions = await (0, extensions_1.listInstalled)();
34
- extensions = extensions.map(({ moduleName, version, describe, command }) => ({
32
+ const extensionManager = new extensions_1.ExtensionManager();
33
+ let extensions = await extensionManager.list();
34
+ extensions = extensions.map(({ moduleName, version, description, modules }) => ({
35
35
  extension: moduleName,
36
- command,
36
+ modules: modules.map(module => module.command),
37
37
  version,
38
- description: describe
38
+ description
39
39
  }));
40
40
  (0, cli_core_1.print)(extensions, { json });
41
41
  })
@@ -59,16 +59,16 @@ const ExtensionModule = ({ getReadlineInterface }) => ({
59
59
  handler: (0, cli_core_1.asyncHandler)(async (argv) => {
60
60
  const { module: moduleName, version, npmClient } = argv;
61
61
  (0, assert_1.default)(moduleName, 'Invalid extension.');
62
- const pluggable = new pluggable_1.Pluggable({ moduleName, version });
62
+ const pluggable = new extensions_1.Pluggable({ moduleName, version });
63
63
  if (pluggable.isInWorkspace) {
64
64
  (0, debug_1.log)(`Local version of "${moduleName}" from workspace is used, aborting.`);
65
65
  return;
66
66
  }
67
67
  if (pluggable.installed) {
68
68
  const info = pluggable.getInfo();
69
- const installedVersion = (0, lodash_get_1.default)(info, 'package.version');
69
+ const installedVersion = info.version;
70
70
  let action = 'upgrade';
71
- // TODO(egorgripasov): Read verison number from WNS.
71
+ // TODO(egorgripasov): Read verison number from DXNS.
72
72
  if (version && (0, semver_1.valid)(version) && installedVersion) {
73
73
  const comp = (0, semver_1.compare)(version, installedVersion);
74
74
  switch (comp) {
@@ -94,14 +94,16 @@ const ExtensionModule = ({ getReadlineInterface }) => ({
94
94
  rl.close();
95
95
  if (!(/^y/i.test(wishToUpgrade))) {
96
96
  (0, debug_1.log)('Abotring.');
97
- await (0, extensions_1.addInstalled)(moduleName, info);
97
+ const extensionManager = new extensions_1.ExtensionManager();
98
+ await extensionManager.add(moduleName, info);
98
99
  return;
99
100
  }
100
101
  }
101
102
  const spinner = `Installing ${moduleName}${version ? `@${version}` : ''}`;
102
103
  await pluggable.installModule(npmClient, { spinner });
103
104
  const updatedInfo = pluggable.getInfo();
104
- await (0, extensions_1.addInstalled)(moduleName, updatedInfo);
105
+ const extensionManager = new extensions_1.ExtensionManager();
106
+ await extensionManager.add(moduleName, updatedInfo);
105
107
  })
106
108
  })
107
109
  // Uninstall.
@@ -114,20 +116,20 @@ const ExtensionModule = ({ getReadlineInterface }) => ({
114
116
  handler: (0, cli_core_1.asyncHandler)(async (argv) => {
115
117
  const { module: moduleName, npmClient } = argv;
116
118
  (0, assert_1.default)(moduleName, 'Invalid extension.');
117
- const pluggable = new pluggable_1.Pluggable({ moduleName });
119
+ const pluggable = new extensions_1.Pluggable({ moduleName });
118
120
  if (pluggable.isInWorkspace) {
119
121
  (0, debug_1.log)(`Local version of "${moduleName}" from workspace is used, aborting.`);
120
122
  return;
121
123
  }
124
+ const extensionManager = new extensions_1.ExtensionManager();
122
125
  if (!pluggable.installed) {
123
- await (0, extensions_1.removeInstalled)(moduleName);
126
+ await extensionManager.remove(moduleName);
124
127
  return;
125
128
  }
126
129
  const info = pluggable.getInfo();
127
- const installedVersion = (0, lodash_get_1.default)(info, 'package.version');
128
130
  const rl = getReadlineInterface();
129
131
  const wishToProceed = await new Promise(resolve => {
130
- rl.question(`Found Extension ${moduleName}${installedVersion ? `@${installedVersion}` : ''} installed, do you wish to remove it? (Yes/No): `, answer => {
132
+ rl.question(`Found Extension ${moduleName}${info.version ? `@${info.version}` : ''} installed, do you wish to remove it? (Yes/No): `, answer => {
131
133
  resolve(answer);
132
134
  });
133
135
  });
@@ -138,7 +140,7 @@ const ExtensionModule = ({ getReadlineInterface }) => ({
138
140
  }
139
141
  const spinner = `Uninstalling ${moduleName}`;
140
142
  await pluggable.uninstallModule(npmClient, { spinner });
141
- await (0, extensions_1.removeInstalled)(moduleName);
143
+ await extensionManager.remove(moduleName);
142
144
  })
143
145
  })
144
146
  // Create an app from the template.
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/modules/extension.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/modules/extension.js"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export declare const HaloModule: ({ config }: CoreState) => {
10
10
  }, "name"> & {
11
11
  name: string;
12
12
  }>;
13
- handler: (argv: any) => any;
13
+ handler: (argv: any) => Promise<any>;
14
14
  };
15
15
  //# sourceMappingURL=halo.d.ts.map
@@ -0,0 +1,10 @@
1
+ export * from './device';
2
+ export * from './devtools';
3
+ export * from './extension';
4
+ export * from './halo';
5
+ export * from './info';
6
+ export * from './install';
7
+ export * from './profile';
8
+ export * from './services';
9
+ export * from './storage';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./device"), exports);
21
+ __exportStar(require("./devtools"), exports);
22
+ __exportStar(require("./extension"), exports);
23
+ __exportStar(require("./halo"), exports);
24
+ __exportStar(require("./info"), exports);
25
+ __exportStar(require("./install"), exports);
26
+ __exportStar(require("./profile"), exports);
27
+ __exportStar(require("./services"), exports);
28
+ __exportStar(require("./storage"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B"}
@@ -0,0 +1,6 @@
1
+ export declare const InfoModule: () => {
2
+ command: string[];
3
+ describe: string;
4
+ handler: () => void;
5
+ };
6
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/modules/info.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;CAYrB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InfoModule = void 0;
10
+ const yargs_1 = __importDefault(require("yargs"));
11
+ const InfoModule = () => ({
12
+ command: ['info'],
13
+ describe: 'CLI basic information.',
14
+ handler: () => {
15
+ yargs_1.default.showVersion(version => {
16
+ console.log({
17
+ root: __dirname,
18
+ version,
19
+ argv: yargs_1.default.argv
20
+ });
21
+ });
22
+ }
23
+ });
24
+ exports.InfoModule = InfoModule;
25
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/modules/info.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAEnB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,GAAG,EAAE;QACZ,eAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO;gBACP,IAAI,EAAE,eAAK,CAAC,IAAI;aACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAZU,QAAA,UAAU,cAYpB"}
@@ -2,4 +2,4 @@ export function UninstallModule(): object;
2
2
  export function UpgradeModule({ config }: {
3
3
  config: any;
4
4
  }): object;
5
- //# sourceMappingURL=installation.d.ts.map
5
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/modules/install.js"],"names":[],"mappings":"AAmBO,mCAFM,MAAM,CAgCjB;AAMK;;IAFM,MAAM,CAoDjB"}
@@ -13,7 +13,6 @@ const read_pkg_up_1 = __importDefault(require("read-pkg-up"));
13
13
  const cli_core_1 = require("@dxos/cli-core");
14
14
  const debug_1 = require("@dxos/debug");
15
15
  const extensions_1 = require("../extensions");
16
- const pluggable_1 = require("../pluggable");
17
16
  const pkg = read_pkg_up_1.default.sync({ cwd: path_1.default.join(__dirname, '../') });
18
17
  /**
19
18
  * Uninstall CLI module.
@@ -27,19 +26,20 @@ const UninstallModule = () => ({
27
26
  .option('npm-client'),
28
27
  handler: (0, cli_core_1.asyncHandler)(async (argv) => {
29
28
  const { npmClient } = argv;
30
- const extensions = await (0, extensions_1.listInstalled)();
29
+ const extensionManager = new extensions_1.ExtensionManager();
30
+ const extensions = await extensionManager.list();
31
31
  // Remove extensions.
32
32
  if (extensions.length) {
33
33
  (0, debug_1.log)(`Found extensions: ${extensions.map(({ moduleName }) => moduleName).join(', ')}`);
34
- const pluggableModules = extensions.map(module => new pluggable_1.Pluggable(module));
34
+ const pluggableModules = extensions.map(module => new extensions_1.Pluggable(module));
35
35
  for await (const pluggableModule of pluggableModules) {
36
36
  const spinner = `Uninstalling ${pluggableModule.moduleName}`;
37
37
  await pluggableModule.uninstallModule(npmClient, { spinner });
38
- await (0, extensions_1.removeInstalled)(pluggableModule.moduleName);
38
+ await extensionManager.remove(pluggableModule.moduleName);
39
39
  }
40
40
  }
41
41
  // Remove main cli.
42
- const cli = new pluggable_1.Pluggable({ moduleName: pkg.package.name });
42
+ const cli = new extensions_1.Pluggable({ moduleName: pkg.package.name });
43
43
  const spinner = `Uninstalling ${cli.moduleName}`;
44
44
  await cli.uninstallModule(npmClient, { spinner });
45
45
  })
@@ -62,14 +62,15 @@ const UpgradeModule = ({ config }) => ({
62
62
  const { channel, version, force, npmClient } = argv;
63
63
  const newVersion = version || channel;
64
64
  (0, assert_1.default)(newVersion, 'Invalid Version.');
65
- const extensions = await (0, extensions_1.listInstalled)();
65
+ const extensionManager = new extensions_1.ExtensionManager();
66
+ const extensions = await extensionManager.list();
66
67
  let modules = [];
67
68
  if (force) {
68
69
  if (extensions.length) {
69
70
  (0, debug_1.log)(`Found extensions: ${extensions.map(({ moduleName }) => moduleName).join(', ')}`);
70
- modules = extensions.map(({ moduleName }) => new pluggable_1.Pluggable({ moduleName, version: newVersion }));
71
+ modules = extensions.map(({ moduleName }) => new extensions_1.Pluggable({ moduleName, version: newVersion }));
71
72
  }
72
- modules.push(new pluggable_1.Pluggable({ moduleName: pkg.package.name, version: newVersion }));
73
+ modules.push(new extensions_1.Pluggable({ moduleName: pkg.package.name, version: newVersion }));
73
74
  }
74
75
  // Remove old modules.
75
76
  for await (const module of modules) {
@@ -80,17 +81,17 @@ const UpgradeModule = ({ config }) => ({
80
81
  catch (error) {
81
82
  (0, debug_1.log)(`Unable to uninstall ${module.moduleName}: ${error.message}`);
82
83
  }
83
- await (0, extensions_1.removeInstalled)(module.moduleName);
84
+ await extensions.remove(module.moduleName);
84
85
  }
85
86
  // Install new modules.
86
87
  for await (const module of modules.reverse()) {
87
88
  const spinner = `Installing ${module.moduleName}`;
88
89
  await module.installModule(npmClient, { spinner });
89
90
  if (module.moduleName !== pkg.package.name) {
90
- await (0, extensions_1.addInstalled)(module.moduleName, module.getInfo());
91
+ await extensions.add(module.moduleName, module.getInfo());
91
92
  }
92
93
  }
93
94
  })
94
95
  });
95
96
  exports.UpgradeModule = UpgradeModule;
96
- //# sourceMappingURL=installation.js.map
97
+ //# sourceMappingURL=install.js.map