@dxos/cli 2.4.15-alpha.0 → 2.5.1-alpha.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 (50) hide show
  1. package/README.md +60 -69
  2. package/bin/dx.js +1 -1
  3. package/dist/known-extensions.yml +129 -0
  4. package/dist/src/extensions.d.ts +6 -0
  5. package/dist/src/extensions.d.ts.map +1 -0
  6. package/dist/src/extensions.js +45 -0
  7. package/dist/src/extensions.js.map +1 -0
  8. package/dist/src/main.d.ts +2 -0
  9. package/dist/src/main.d.ts.map +1 -0
  10. package/dist/src/main.js +78 -0
  11. package/dist/src/main.js.map +1 -0
  12. package/dist/src/modules/cert.d.ts +4 -0
  13. package/dist/src/modules/cert.d.ts.map +1 -0
  14. package/dist/src/modules/cert.js +33 -0
  15. package/dist/src/modules/cert.js.map +1 -0
  16. package/dist/src/modules/extension.d.ts +4 -0
  17. package/dist/src/modules/extension.d.ts.map +1 -0
  18. package/dist/src/modules/extension.js +145 -0
  19. package/dist/src/modules/extension.js.map +1 -0
  20. package/dist/src/modules/installation.d.ts +5 -0
  21. package/dist/src/modules/installation.d.ts.map +1 -0
  22. package/dist/src/modules/installation.js +91 -0
  23. package/dist/src/modules/installation.js.map +1 -0
  24. package/dist/src/modules/pluggable.d.ts +14 -0
  25. package/dist/src/modules/pluggable.d.ts.map +1 -0
  26. package/dist/src/modules/pluggable.js +48 -0
  27. package/dist/src/modules/pluggable.js.map +1 -0
  28. package/dist/src/modules/profile.d.ts +2 -0
  29. package/dist/src/modules/profile.d.ts.map +1 -0
  30. package/dist/src/modules/profile.js +75 -0
  31. package/dist/src/modules/profile.js.map +1 -0
  32. package/dist/src/modules/services.d.ts +5 -0
  33. package/dist/src/modules/services.d.ts.map +1 -0
  34. package/dist/src/modules/services.js +260 -0
  35. package/dist/src/modules/services.js.map +1 -0
  36. package/dist/src/pluggable.d.ts +65 -0
  37. package/dist/src/pluggable.d.ts.map +1 -0
  38. package/dist/src/pluggable.js +226 -0
  39. package/dist/src/pluggable.js.map +1 -0
  40. package/dist/tsconfig.tsbuildinfo +1 -0
  41. package/package.json +22 -38
  42. package/dist/es/extensions.js +0 -100
  43. package/dist/es/main.js +0 -98
  44. package/dist/es/modules/cert.js +0 -43
  45. package/dist/es/modules/extension.js +0 -191
  46. package/dist/es/modules/installation.js +0 -144
  47. package/dist/es/modules/pluggable.js +0 -68
  48. package/dist/es/modules/profile.js +0 -100
  49. package/dist/es/modules/services.js +0 -408
  50. package/dist/es/pluggable.js +0 -312
@@ -0,0 +1,145 @@
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
+ exports.ExtensionModule = void 0;
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const lodash_get_1 = __importDefault(require("lodash.get"));
12
+ const semver_1 = require("semver");
13
+ const cli_core_1 = require("@dxos/cli-core");
14
+ const debug_1 = require("@dxos/debug");
15
+ const extensions_1 = require("../extensions");
16
+ const pluggable_1 = require("../pluggable");
17
+ /**
18
+ * Extension CLI module.
19
+ * @returns {object}
20
+ */
21
+ const ExtensionModule = ({ getReadlineInterface }) => ({
22
+ command: ['extension'],
23
+ describe: 'CLI extensions.',
24
+ builder: yargs => yargs
25
+ // List.
26
+ .command({
27
+ command: ['list'],
28
+ describe: 'List installed CLI extensions.',
29
+ builder: yargs => yargs,
30
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
31
+ const { json } = argv;
32
+ let extensions = await (0, extensions_1.listInstalled)();
33
+ extensions = extensions.map(({ moduleName, version, describe, command }) => ({
34
+ extension: moduleName,
35
+ command,
36
+ version,
37
+ description: describe
38
+ }));
39
+ (0, cli_core_1.print)(extensions, { json });
40
+ })
41
+ })
42
+ // TODO(burdon): Find extensions via registry.
43
+ // Query.
44
+ // .command({
45
+ // command: ['query'],
46
+ // describe: 'Query registry for CLI extensions',
47
+ // builder: yargs => yargs.option('url'),
48
+ // handler: asyncHandler(async argv => {})
49
+ // })
50
+ // Install.
51
+ .command({
52
+ command: ['install <module>', 'upgrade <module>'],
53
+ describe: 'Install CLI extensions',
54
+ builder: yargs => yargs
55
+ .option('module')
56
+ .option('version')
57
+ .option('npm-client'),
58
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
59
+ const { module: moduleName, version, npmClient } = argv;
60
+ (0, assert_1.default)(moduleName, 'Invalid extension.');
61
+ const pluggable = new pluggable_1.Pluggable({ moduleName, version });
62
+ if (pluggable.isInWorkspace) {
63
+ (0, debug_1.log)(`Local version of "${moduleName}" from workspace is used, aborting.`);
64
+ return;
65
+ }
66
+ if (pluggable.installed) {
67
+ const info = pluggable.getInfo();
68
+ const installedVersion = (0, lodash_get_1.default)(info, 'package.version');
69
+ let action = 'upgrade';
70
+ // TODO(egorgripasov): Read verison number from WNS.
71
+ if (version && (0, semver_1.valid)(version) && installedVersion) {
72
+ const comp = (0, semver_1.compare)(version, installedVersion);
73
+ switch (comp) {
74
+ case -1: {
75
+ action = 'downgrade';
76
+ break;
77
+ }
78
+ case 0: {
79
+ action = 'reinstall';
80
+ break;
81
+ }
82
+ default: {
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ const rl = getReadlineInterface();
88
+ const wishToUpgrade = await new Promise(resolve => {
89
+ rl.question(`Extension ${moduleName}${installedVersion ? `@${installedVersion}` : ''} already installed, do you wish to ${action}? (Yes/No): `, answer => {
90
+ resolve(answer);
91
+ });
92
+ });
93
+ rl.close();
94
+ if (!(/^y/i.test(wishToUpgrade))) {
95
+ (0, debug_1.log)('Abotring.');
96
+ await (0, extensions_1.addInstalled)(moduleName, info);
97
+ return;
98
+ }
99
+ }
100
+ const spinner = `Installing ${moduleName}${version ? `@${version}` : ''}`;
101
+ await pluggable.installModule(npmClient, { spinner });
102
+ const updatedInfo = pluggable.getInfo();
103
+ await (0, extensions_1.addInstalled)(moduleName, updatedInfo);
104
+ })
105
+ })
106
+ // Uninstall.
107
+ .command({
108
+ command: ['uninstall <module>'],
109
+ describe: 'Uninstall CLI extension',
110
+ builder: yargs => yargs
111
+ .option('module')
112
+ .option('npm-client'),
113
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
114
+ const { module: moduleName, npmClient } = argv;
115
+ (0, assert_1.default)(moduleName, 'Invalid extension.');
116
+ const pluggable = new pluggable_1.Pluggable({ moduleName });
117
+ if (pluggable.isInWorkspace) {
118
+ (0, debug_1.log)(`Local version of "${moduleName}" from workspace is used, aborting.`);
119
+ return;
120
+ }
121
+ if (!pluggable.installed) {
122
+ await (0, extensions_1.removeInstalled)(moduleName);
123
+ return;
124
+ }
125
+ const info = pluggable.getInfo();
126
+ const installedVersion = (0, lodash_get_1.default)(info, 'package.version');
127
+ const rl = getReadlineInterface();
128
+ const wishToProceed = await new Promise(resolve => {
129
+ rl.question(`Found Extension ${moduleName}${installedVersion ? `@${installedVersion}` : ''} installed, do you wish to remove it? (Yes/No): `, answer => {
130
+ resolve(answer);
131
+ });
132
+ });
133
+ rl.close();
134
+ if (!(/^y/i.test(wishToProceed))) {
135
+ (0, debug_1.log)('Abotring.');
136
+ return;
137
+ }
138
+ const spinner = `Uninstalling ${moduleName}`;
139
+ await pluggable.uninstallModule(npmClient, { spinner });
140
+ await (0, extensions_1.removeInstalled)(moduleName);
141
+ })
142
+ })
143
+ });
144
+ exports.ExtensionModule = ExtensionModule;
145
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/modules/extension.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,4DAA6B;AAC7B,mCAAwC;AAExC,6CAAqD;AACrD,uCAAkC;AAElC,8CAA6E;AAC7E,4CAAyC;AAEzC;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,QAAQ,EAAE,iBAAiB;IAE3B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QAErB,QAAQ;SACP,OAAO,CAAC;QACP,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,gCAAgC;QAC1C,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QAEvB,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,IAAI,UAAU,GAAG,MAAM,IAAA,0BAAa,GAAE,CAAC;YACvC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3E,SAAS,EAAE,UAAU;gBACrB,OAAO;gBACP,OAAO;gBACP,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC,CAAC;YAEJ,IAAA,gBAAK,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;KACH,CAAC;QAEJ,8CAA8C;QAC9C,SAAS;QACT,aAAa;QACb,wBAAwB;QACxB,mDAAmD;QACnD,2CAA2C;QAC3C,4CAA4C;QAC5C,KAAK;QAEH,WAAW;SACV,OAAO,CAAC;QACP,OAAO,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;QACjD,QAAQ,EAAE,wBAAwB;QAClC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;aACpB,MAAM,CAAC,QAAQ,CAAC;aAChB,MAAM,CAAC,SAAS,CAAC;aACjB,MAAM,CAAC,YAAY,CAAC;QAEvB,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YACxD,IAAA,gBAAM,EAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,SAAS,CAAC,aAAa,EAAE;gBAC3B,IAAA,WAAG,EAAC,qBAAqB,UAAU,qCAAqC,CAAC,CAAC;gBAC1E,OAAO;aACR;YACD,IAAI,SAAS,CAAC,SAAS,EAAE;gBACvB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,gBAAgB,GAAG,IAAA,oBAAG,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAEtD,IAAI,MAAM,GAAG,SAAS,CAAC;gBAEvB,oDAAoD;gBACpD,IAAI,OAAO,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,gBAAgB,EAAE;oBACjD,MAAM,IAAI,GAAG,IAAA,gBAAO,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAChD,QAAQ,IAAI,EAAE;wBACZ,KAAK,CAAC,CAAC,CAAC,CAAC;4BACP,MAAM,GAAG,WAAW,CAAC;4BACrB,MAAM;yBACP;wBACD,KAAK,CAAC,CAAC,CAAC;4BACN,MAAM,GAAG,WAAW,CAAC;4BACrB,MAAM;yBACP;wBACD,OAAO,CAAC,CAAC;4BACP,MAAM;yBACP;qBACF;iBACF;gBAED,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChD,EAAE,CAAC,QAAQ,CAAC,aAAa,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,sCAAsC,MAAM,cAAc,EAAE,MAAM,CAAC,EAAE;wBACvJ,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEX,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;oBAChC,IAAA,WAAG,EAAC,WAAW,CAAC,CAAC;oBACjB,MAAM,IAAA,yBAAY,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACrC,OAAO;iBACR;aACF;YAED,MAAM,OAAO,GAAG,cAAc,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1E,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAA,yBAAY,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC;KACH,CAAC;QAEF,aAAa;SACZ,OAAO,CAAC;QACP,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;aACpB,MAAM,CAAC,QAAQ,CAAC;aAChB,MAAM,CAAC,YAAY,CAAC;QAEvB,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAE/C,IAAA,gBAAM,EAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAChD,IAAI,SAAS,CAAC,aAAa,EAAE;gBAC3B,IAAA,WAAG,EAAC,qBAAqB,UAAU,qCAAqC,CAAC,CAAC;gBAC1E,OAAO;aACR;YAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;gBACxB,MAAM,IAAA,4BAAe,EAAC,UAAU,CAAC,CAAC;gBAClC,OAAO;aACR;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,IAAA,oBAAG,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAEtD,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChD,EAAE,CAAC,QAAQ,CAAC,mBAAmB,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,kDAAkD,EAAE,MAAM,CAAC,EAAE;oBACrJ,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;gBAChC,IAAA,WAAG,EAAC,WAAW,CAAC,CAAC;gBACjB,OAAO;aACR;YAED,MAAM,OAAO,GAAG,gBAAgB,UAAU,EAAE,CAAC;YAC7C,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAExD,MAAM,IAAA,4BAAe,EAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC;KACH,CAAC;CACL,CAAC,CAAC;AAlJU,QAAA,eAAe,mBAkJzB"}
@@ -0,0 +1,5 @@
1
+ export function UninstallModule(): object;
2
+ export function UpgradeModule({ config }: {
3
+ config: any;
4
+ }): object;
5
+ //# sourceMappingURL=installation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../../src/modules/installation.js"],"names":[],"mappings":"AAoBO,mCAFM,MAAM,CA+BjB;AAMK;;IAFM,MAAM,CA6CjB"}
@@ -0,0 +1,91 @@
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
+ exports.UpgradeModule = exports.UninstallModule = void 0;
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const read_pkg_up_1 = __importDefault(require("read-pkg-up"));
13
+ const cli_core_1 = require("@dxos/cli-core");
14
+ const debug_1 = require("@dxos/debug");
15
+ const extensions_1 = require("../extensions");
16
+ const pluggable_1 = require("../pluggable");
17
+ const pkg = read_pkg_up_1.default.sync({ cwd: path_1.default.join(__dirname, '../') });
18
+ /**
19
+ * Uninstall CLI module.
20
+ * @returns {object}
21
+ */
22
+ const UninstallModule = () => ({
23
+ command: ['uninstall'],
24
+ describe: 'Uninstall CLI and extensions.',
25
+ builder: yargs => yargs
26
+ .version(false)
27
+ .option('npm-client'),
28
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
29
+ const { npmClient } = argv;
30
+ const extensions = await (0, extensions_1.listInstalled)();
31
+ // Remove extensions.
32
+ if (extensions.length) {
33
+ (0, debug_1.log)(`Found extensions: ${extensions.map(({ moduleName }) => moduleName).join(', ')}`);
34
+ const pluggableModules = extensions.map(module => new pluggable_1.Pluggable(module));
35
+ for await (const pluggableModule of pluggableModules) {
36
+ const spinner = `Uninstalling ${pluggableModule.moduleName}`;
37
+ await pluggableModule.uninstallModule(npmClient, { spinner });
38
+ await (0, extensions_1.removeInstalled)(pluggableModule.moduleName);
39
+ }
40
+ }
41
+ // Remove main cli.
42
+ const cli = new pluggable_1.Pluggable({ moduleName: pkg.package.name });
43
+ const spinner = `Uninstalling ${cli.moduleName}`;
44
+ await cli.uninstallModule(npmClient, { spinner });
45
+ })
46
+ });
47
+ exports.UninstallModule = UninstallModule;
48
+ /**
49
+ * Upgrade CLI module.
50
+ * @returns {object}
51
+ */
52
+ const UpgradeModule = ({ config }) => ({
53
+ command: ['upgrade'],
54
+ describe: 'Upgrade CLI.',
55
+ builder: yargs => yargs
56
+ .version(false)
57
+ .option('npm-client')
58
+ .option('channel', { default: config.get('cli.channel') })
59
+ .option('force', { type: 'boolean', default: false })
60
+ .option('version'),
61
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
62
+ const { channel, version, force, npmClient } = argv;
63
+ const newVersion = version || channel;
64
+ (0, assert_1.default)(newVersion, 'Invalid Version.');
65
+ const extensions = await (0, extensions_1.listInstalled)();
66
+ let modules = [];
67
+ if (force) {
68
+ if (extensions.length) {
69
+ (0, debug_1.log)(`Found extensions: ${extensions.map(({ moduleName }) => moduleName).join(', ')}`);
70
+ modules = extensions.map(({ moduleName }) => new pluggable_1.Pluggable({ moduleName, version: newVersion }));
71
+ }
72
+ modules.push(new pluggable_1.Pluggable({ moduleName: pkg.package.name, version: newVersion }));
73
+ }
74
+ // Remove old modules.
75
+ for await (const module of modules) {
76
+ const spinner = `Uninstalling ${module.moduleName}`;
77
+ await module.uninstallModule(npmClient, { spinner });
78
+ await (0, extensions_1.removeInstalled)(module.moduleName);
79
+ }
80
+ // Install new modules.
81
+ for await (const module of modules.reverse()) {
82
+ const spinner = `Installing ${module.moduleName}`;
83
+ await module.installModule(npmClient, { spinner });
84
+ if (module.moduleName !== pkg.package.name) {
85
+ await (0, extensions_1.addInstalled)(module.moduleName, module.getInfo());
86
+ }
87
+ }
88
+ })
89
+ });
90
+ exports.UpgradeModule = UpgradeModule;
91
+ //# sourceMappingURL=installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../src/modules/installation.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Wrapper class for CLI extension.
3
+ */
4
+ export class PluggableModule {
5
+ constructor(config: any, state: any);
6
+ _pluggable: null;
7
+ _config: any;
8
+ _state: any;
9
+ get pluggable(): null;
10
+ init(): Promise<void>;
11
+ destroy(): Promise<void>;
12
+ export(): any;
13
+ }
14
+ //# sourceMappingURL=pluggable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluggable.d.ts","sourceRoot":"","sources":["../../../src/modules/pluggable.js"],"names":[],"mappings":"AAQA;;GAEG;AACH;IAGE,qCAGC;IALD,iBAAkB;IAGhB,aAAqB;IACrB,YAAmB;IAGrB,sBAMC;IAED,sBAIC;IAED,yBAIC;IAED,cAYC;CACF"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PluggableModule = void 0;
7
+ const cli_core_1 = require("@dxos/cli-core");
8
+ const pluggable_1 = require("../pluggable");
9
+ /**
10
+ * Wrapper class for CLI extension.
11
+ */
12
+ class PluggableModule {
13
+ constructor(config, state) {
14
+ this._pluggable = null;
15
+ this._config = config;
16
+ this._state = state;
17
+ }
18
+ get pluggable() {
19
+ if (!this._pluggable) {
20
+ this._pluggable = pluggable_1.Pluggable.create(this._config);
21
+ }
22
+ return this._pluggable;
23
+ }
24
+ async init() {
25
+ if (this.pluggable.installed) {
26
+ await this.pluggable.init(this._state);
27
+ }
28
+ }
29
+ async destroy() {
30
+ if (this.pluggable.installed) {
31
+ await this.pluggable.destroy(this._state);
32
+ }
33
+ }
34
+ export() {
35
+ const { command, describe } = this._config;
36
+ return command.map(cmd => (() => ({
37
+ command: typeof cmd === 'object' ? cmd.command : cmd,
38
+ describe: typeof cmd === 'object' ? cmd.describe : describe,
39
+ builder: yargs => yargs.help(false).strict(false),
40
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
41
+ return this.pluggable.run(this._state, argv);
42
+ })
43
+ // eslint-disable-next-line
44
+ })).bind(this));
45
+ }
46
+ }
47
+ exports.PluggableModule = PluggableModule;
48
+ //# sourceMappingURL=pluggable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluggable.js","sourceRoot":"","sources":["../../../src/modules/pluggable.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,6CAA8C;AAE9C,4CAAyC;AAEzC;;GAEG;AACH,MAAa,eAAe;IAG1B,YAAa,MAAM,EAAE,KAAK;QAF1B,eAAU,GAAG,IAAI,CAAC;QAGhB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClD;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACxC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE3C,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACpD,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC3D,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjD,OAAO,EAAE,IAAA,uBAAY,EAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC;YACJ,2BAA2B;SAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;CACF;AAzCD,0CAyCC"}
@@ -0,0 +1,2 @@
1
+ export function ProfileModule(): object;
2
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/modules/profile.js"],"names":[],"mappings":"AAwBO,iCAFM,MAAM,CA0EjB"}
@@ -0,0 +1,75 @@
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
+ exports.ProfileModule = void 0;
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const fs_extra_1 = __importDefault(require("fs-extra"));
12
+ const cli_core_1 = require("@dxos/cli-core");
13
+ /**
14
+ * Profile CLI module.
15
+ * @returns {object}
16
+ */
17
+ const ProfileModule = () => ({
18
+ command: ['profile'],
19
+ describe: 'CLI profile management.',
20
+ builder: yargs => yargs
21
+ .command({
22
+ command: ['init'],
23
+ describe: 'Init profile.',
24
+ builder: yargs => yargs
25
+ .option('name', { type: 'string', describe: 'Profile name' })
26
+ .option('template-url', { type: 'string', describe: 'URL to download profile template' }),
27
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
28
+ const { name, templateUrl } = argv;
29
+ (0, assert_1.default)(name, 'Invalid profile name.');
30
+ (0, assert_1.default)(templateUrl, 'Invalid template URL.');
31
+ return (0, cli_core_1.initProfileFromTemplate)(name, templateUrl);
32
+ })
33
+ })
34
+ .command({
35
+ command: ['set [name]'],
36
+ describe: 'Set profile as default.',
37
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
38
+ const { name } = argv;
39
+ (0, assert_1.default)(name, 'Invalid profile name.');
40
+ const profilePath = (0, cli_core_1.getProfilePath)(name);
41
+ if (!fs_extra_1.default.existsSync(profilePath)) {
42
+ (0, cli_core_1.printProfileNotFound)(profilePath);
43
+ return;
44
+ }
45
+ await (0, cli_core_1.setProfileAsDefault)(name);
46
+ })
47
+ })
48
+ .command({
49
+ command: ['config [profile]'],
50
+ describe: 'Profile config.',
51
+ handler: (0, cli_core_1.asyncHandler)(async (argv) => {
52
+ const { profile } = argv;
53
+ const profilePath = (profile ? (0, cli_core_1.getProfilePath)(profile) : (0, cli_core_1.getActiveProfilePath)());
54
+ if (!fs_extra_1.default.existsSync(profilePath)) {
55
+ (0, cli_core_1.printProfileNotFound)(profilePath);
56
+ return;
57
+ }
58
+ (0, cli_core_1.print)((0, cli_core_1.getConfig)(profilePath).values, { json: true });
59
+ })
60
+ }),
61
+ handler: (0, cli_core_1.asyncHandler)(async () => {
62
+ const profilePath = (0, cli_core_1.getActiveProfilePath)();
63
+ if (!profilePath) {
64
+ (0, cli_core_1.printMissingProfile)();
65
+ return;
66
+ }
67
+ if (!fs_extra_1.default.existsSync(profilePath)) {
68
+ (0, cli_core_1.printProfileNotFound)(profilePath);
69
+ return;
70
+ }
71
+ (0, cli_core_1.print)((0, cli_core_1.getProfileName)(profilePath));
72
+ })
73
+ });
74
+ exports.ProfileModule = ProfileModule;
75
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/modules/profile.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export function ServicesModule({ config, profilePath }: {
2
+ config: any;
3
+ profilePath: any;
4
+ }): object;
5
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/modules/services.js"],"names":[],"mappings":"AA+DO;;;IAFM,MAAM,CAiQjB"}