@dxos/cli 0.1.1

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 (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +616 -0
  3. package/bin/dev +17 -0
  4. package/bin/dev.cmd +3 -0
  5. package/bin/run +5 -0
  6. package/bin/run.cmd +3 -0
  7. package/dist/src/base-command.d.ts +34 -0
  8. package/dist/src/base-command.d.ts.map +1 -0
  9. package/dist/src/base-command.js +193 -0
  10. package/dist/src/base-command.js.map +1 -0
  11. package/dist/src/commands/app/create.d.ts +17 -0
  12. package/dist/src/commands/app/create.d.ts.map +1 -0
  13. package/dist/src/commands/app/create.js +78 -0
  14. package/dist/src/commands/app/create.js.map +1 -0
  15. package/dist/src/commands/app/list.d.ts +7 -0
  16. package/dist/src/commands/app/list.d.ts.map +1 -0
  17. package/dist/src/commands/app/list.js +31 -0
  18. package/dist/src/commands/app/list.js.map +1 -0
  19. package/dist/src/commands/app/publish.d.ts +14 -0
  20. package/dist/src/commands/app/publish.d.ts.map +1 -0
  21. package/dist/src/commands/app/publish.js +63 -0
  22. package/dist/src/commands/app/publish.js.map +1 -0
  23. package/dist/src/commands/config/index.d.ts +7 -0
  24. package/dist/src/commands/config/index.d.ts.map +1 -0
  25. package/dist/src/commands/config/index.js +18 -0
  26. package/dist/src/commands/config/index.js.map +1 -0
  27. package/dist/src/commands/config/index.test.d.ts +2 -0
  28. package/dist/src/commands/config/index.test.d.ts.map +1 -0
  29. package/dist/src/commands/config/index.test.js +52 -0
  30. package/dist/src/commands/config/index.test.js.map +1 -0
  31. package/dist/src/commands/halo/create.d.ts +10 -0
  32. package/dist/src/commands/halo/create.d.ts.map +1 -0
  33. package/dist/src/commands/halo/create.js +34 -0
  34. package/dist/src/commands/halo/create.js.map +1 -0
  35. package/dist/src/commands/halo/index.d.ts +7 -0
  36. package/dist/src/commands/halo/index.d.ts.map +1 -0
  37. package/dist/src/commands/halo/index.js +35 -0
  38. package/dist/src/commands/halo/index.js.map +1 -0
  39. package/dist/src/commands/halo/recover.d.ts +10 -0
  40. package/dist/src/commands/halo/recover.d.ts.map +1 -0
  41. package/dist/src/commands/halo/recover.js +35 -0
  42. package/dist/src/commands/halo/recover.js.map +1 -0
  43. package/dist/src/commands/reset/index.d.ts +6 -0
  44. package/dist/src/commands/reset/index.d.ts.map +1 -0
  45. package/dist/src/commands/reset/index.js +24 -0
  46. package/dist/src/commands/reset/index.js.map +1 -0
  47. package/dist/src/commands/shell/index.d.ts +7 -0
  48. package/dist/src/commands/shell/index.d.ts.map +1 -0
  49. package/dist/src/commands/shell/index.js +27 -0
  50. package/dist/src/commands/shell/index.js.map +1 -0
  51. package/dist/src/commands/space/create.d.ts +10 -0
  52. package/dist/src/commands/space/create.d.ts.map +1 -0
  53. package/dist/src/commands/space/create.js +39 -0
  54. package/dist/src/commands/space/create.js.map +1 -0
  55. package/dist/src/commands/space/index.d.ts +6 -0
  56. package/dist/src/commands/space/index.d.ts.map +1 -0
  57. package/dist/src/commands/space/index.js +18 -0
  58. package/dist/src/commands/space/index.js.map +1 -0
  59. package/dist/src/commands/space/invite.d.ts +9 -0
  60. package/dist/src/commands/space/invite.d.ts.map +1 -0
  61. package/dist/src/commands/space/invite.js +59 -0
  62. package/dist/src/commands/space/invite.js.map +1 -0
  63. package/dist/src/commands/space/join.d.ts +13 -0
  64. package/dist/src/commands/space/join.d.ts.map +1 -0
  65. package/dist/src/commands/space/join.js +55 -0
  66. package/dist/src/commands/space/join.js.map +1 -0
  67. package/dist/src/commands/space/list.d.ts +19 -0
  68. package/dist/src/commands/space/list.d.ts.map +1 -0
  69. package/dist/src/commands/space/list.js +28 -0
  70. package/dist/src/commands/space/list.js.map +1 -0
  71. package/dist/src/commands/space/members.d.ts +22 -0
  72. package/dist/src/commands/space/members.d.ts.map +1 -0
  73. package/dist/src/commands/space/members.js +43 -0
  74. package/dist/src/commands/space/members.js.map +1 -0
  75. package/dist/src/hooks/init/config.d.ts +4 -0
  76. package/dist/src/hooks/init/config.d.ts.map +1 -0
  77. package/dist/src/hooks/init/config.js +10 -0
  78. package/dist/src/hooks/init/config.js.map +1 -0
  79. package/dist/src/index.d.ts +2 -0
  80. package/dist/src/index.d.ts.map +1 -0
  81. package/dist/src/index.js +9 -0
  82. package/dist/src/index.js.map +1 -0
  83. package/dist/src/util/index.d.ts +4 -0
  84. package/dist/src/util/index.d.ts.map +1 -0
  85. package/dist/src/util/index.js +23 -0
  86. package/dist/src/util/index.js.map +1 -0
  87. package/dist/src/util/publish/build.d.ts +11 -0
  88. package/dist/src/util/publish/build.d.ts.map +1 -0
  89. package/dist/src/util/publish/build.js +26 -0
  90. package/dist/src/util/publish/build.js.map +1 -0
  91. package/dist/src/util/publish/common.d.ts +10 -0
  92. package/dist/src/util/publish/common.d.ts.map +1 -0
  93. package/dist/src/util/publish/common.js +29 -0
  94. package/dist/src/util/publish/common.js.map +1 -0
  95. package/dist/src/util/publish/config.d.ts +3 -0
  96. package/dist/src/util/publish/config.d.ts.map +1 -0
  97. package/dist/src/util/publish/config.js +35 -0
  98. package/dist/src/util/publish/config.js.map +1 -0
  99. package/dist/src/util/publish/index.d.ts +7 -0
  100. package/dist/src/util/publish/index.d.ts.map +1 -0
  101. package/dist/src/util/publish/index.js +26 -0
  102. package/dist/src/util/publish/index.js.map +1 -0
  103. package/dist/src/util/publish/ipfs-upload.d.ts +10 -0
  104. package/dist/src/util/publish/ipfs-upload.d.ts.map +1 -0
  105. package/dist/src/util/publish/ipfs-upload.js +43 -0
  106. package/dist/src/util/publish/ipfs-upload.js.map +1 -0
  107. package/dist/src/util/publish/publish.d.ts +16 -0
  108. package/dist/src/util/publish/publish.d.ts.map +1 -0
  109. package/dist/src/util/publish/publish.js +47 -0
  110. package/dist/src/util/publish/publish.js.map +1 -0
  111. package/dist/src/util/publish/publisher-rpc-peer.d.ts +15 -0
  112. package/dist/src/util/publish/publisher-rpc-peer.d.ts.map +1 -0
  113. package/dist/src/util/publish/publisher-rpc-peer.js +88 -0
  114. package/dist/src/util/publish/publisher-rpc-peer.js.map +1 -0
  115. package/dist/src/util/telemetry.d.ts +12 -0
  116. package/dist/src/util/telemetry.d.ts.map +1 -0
  117. package/dist/src/util/telemetry.js +73 -0
  118. package/dist/src/util/telemetry.js.map +1 -0
  119. package/dist/src/util/telemetryrc.json +6 -0
  120. package/dist/src/util/util.d.ts +10 -0
  121. package/dist/src/util/util.d.ts.map +1 -0
  122. package/dist/src/util/util.js +74 -0
  123. package/dist/src/util/util.js.map +1 -0
  124. package/oclif.manifest.json +1 -0
  125. package/package.json +97 -0
@@ -0,0 +1,193 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ var _a;
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.BaseCommand = void 0;
34
+ const core_1 = require("@oclif/core");
35
+ const assert_1 = __importDefault(require("assert"));
36
+ const debug_1 = __importDefault(require("debug"));
37
+ const fs = __importStar(require("fs-extra"));
38
+ const js_yaml_1 = __importDefault(require("js-yaml"));
39
+ const path = __importStar(require("path"));
40
+ const async_1 = require("@dxos/async");
41
+ const client_1 = require("@dxos/client");
42
+ const Sentry = __importStar(require("@dxos/sentry"));
43
+ const Telemetry = __importStar(require("@dxos/telemetry"));
44
+ const util_1 = require("./util");
45
+ const log = (0, debug_1.default)('dxos:cli:main');
46
+ const ENV_DX_CONFIG = 'DX_CONFIG';
47
+ class BaseCommand extends core_1.Command {
48
+ get clientConfig() {
49
+ return this._clientConfig;
50
+ }
51
+ ok() {
52
+ this.log('ok');
53
+ }
54
+ /**
55
+ * Load the client config.
56
+ */
57
+ async init() {
58
+ var _b;
59
+ await super.init();
60
+ const { installationId, isInternalUser, fullCrashReports, disableTelemetry } = await (0, util_1.getTelemetryContext)(this.config.configDir);
61
+ if (util_1.SENTRY_DESTINATION && !disableTelemetry) {
62
+ Sentry.init({
63
+ installationId,
64
+ destination: util_1.SENTRY_DESTINATION,
65
+ environment: util_1.DX_ENVIRONMENT,
66
+ release: util_1.DX_RELEASE,
67
+ // TODO(wittjosiah): Configure this.
68
+ sampleRate: 1.0,
69
+ scrubFilenames: !fullCrashReports,
70
+ properties: {
71
+ isInternalUser
72
+ }
73
+ });
74
+ }
75
+ if (util_1.TELEMETRY_API_KEY) {
76
+ Telemetry.init({
77
+ apiKey: util_1.TELEMETRY_API_KEY,
78
+ batchSize: 20,
79
+ enable: Boolean(util_1.TELEMETRY_API_KEY) && !disableTelemetry
80
+ });
81
+ }
82
+ Telemetry.event({
83
+ installationId,
84
+ name: (_b = this.id) !== null && _b !== void 0 ? _b : 'unknown',
85
+ properties: {
86
+ environment: util_1.DX_ENVIRONMENT,
87
+ release: util_1.DX_RELEASE,
88
+ isInternalUser
89
+ }
90
+ });
91
+ // Load user config file.
92
+ const { flags } = await this.parse(this.constructor);
93
+ const { config: configFile } = flags;
94
+ if (fs.existsSync(configFile)) {
95
+ try {
96
+ this._clientConfig = js_yaml_1.default.load(String(fs.readFileSync(configFile)));
97
+ }
98
+ catch (err) {
99
+ Sentry.captureException(err);
100
+ console.error(`Invalid config file: ${configFile}`);
101
+ }
102
+ }
103
+ else {
104
+ if (configFile) {
105
+ console.error(`Config file not found: ${configFile}`);
106
+ }
107
+ else {
108
+ console.error(`Set config via ${ENV_DX_CONFIG} env variable or config flag.`);
109
+ }
110
+ process.exit(1);
111
+ }
112
+ }
113
+ async catch(err) {
114
+ Sentry.captureException(err);
115
+ this.error(err);
116
+ }
117
+ // Called after each run.
118
+ async finally() { }
119
+ /**
120
+ * Lazily create the client.
121
+ */
122
+ async getClient() {
123
+ (0, assert_1.default)(this._clientConfig);
124
+ if (!this._client) {
125
+ log('Creating client...');
126
+ this._client = new client_1.Client(this._clientConfig);
127
+ await this._client.initialize();
128
+ log('Initialized');
129
+ }
130
+ return this._client;
131
+ }
132
+ /**
133
+ * Convenience function to wrap command passing in client object.
134
+ */
135
+ async execWithClient(callback) {
136
+ try {
137
+ const client = await this.getClient();
138
+ const value = await callback(client);
139
+ log('Destroying...');
140
+ await client.destroy();
141
+ log('Destroyed');
142
+ // TODO(burdon): Ends with abort signal without sleep (threads still open?)
143
+ await (0, async_1.sleep)(3000);
144
+ log('Done');
145
+ return value;
146
+ }
147
+ catch (err) {
148
+ Sentry.captureException(err);
149
+ this.error(err);
150
+ }
151
+ }
152
+ /**
153
+ * Convenience function to wrap command passing in kube publisher.
154
+ */
155
+ async execWithPublisher(callback) {
156
+ var _b, _c, _d, _e;
157
+ let rpc;
158
+ try {
159
+ (0, assert_1.default)(this._clientConfig);
160
+ const wsEndpoint = (_e = (_d = (_c = (_b = this._clientConfig) === null || _b === void 0 ? void 0 : _b.runtime) === null || _c === void 0 ? void 0 : _c.services) === null || _d === void 0 ? void 0 : _d.publisher) === null || _e === void 0 ? void 0 : _e.server;
161
+ (0, assert_1.default)(wsEndpoint);
162
+ rpc = new util_1.PublisherRpcPeer(wsEndpoint);
163
+ await Promise.race([rpc.connected.waitForCount(1), rpc.error.waitForCount(1).then((err) => Promise.reject(err))]);
164
+ const value = await callback(rpc);
165
+ return value;
166
+ }
167
+ catch (err) {
168
+ Sentry.captureException(err);
169
+ this.error(err);
170
+ }
171
+ finally {
172
+ if (rpc) {
173
+ await rpc.close();
174
+ }
175
+ }
176
+ }
177
+ }
178
+ exports.BaseCommand = BaseCommand;
179
+ _a = BaseCommand;
180
+ BaseCommand.flags = {
181
+ config: core_1.Flags.string({
182
+ env: ENV_DX_CONFIG,
183
+ description: 'Specify config file',
184
+ default: async (context) => {
185
+ return path.join(context.config.configDir, 'config.yml');
186
+ }
187
+ }),
188
+ timeout: core_1.Flags.integer({
189
+ description: 'Timeout in seconds',
190
+ default: 30
191
+ })
192
+ };
193
+ //# sourceMappingURL=base-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class Create extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ name: string;
6
+ required: boolean;
7
+ description: string;
8
+ }[];
9
+ static flags: {
10
+ tag: import("@oclif/core/lib/interfaces").OptionFlag<string>;
11
+ template: import("@oclif/core/lib/interfaces").OptionFlag<string>;
12
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string>;
13
+ timeout: import("@oclif/core/lib/interfaces").OptionFlag<number>;
14
+ };
15
+ run(): Promise<any>;
16
+ }
17
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/commands/app/create.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAA4B;IAEvD,OAAgB,IAAI;;;;QAMlB;IAEF,OAAgB,KAAK;;;;;MAYnB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CA4C1B"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@oclif/core");
7
+ const node_child_process_1 = require("node:child_process");
8
+ const promises_1 = require("node:fs/promises");
9
+ const node_util_1 = require("node:util");
10
+ const process_1 = require("process");
11
+ const plate_1 = require("@dxos/plate");
12
+ const base_command_1 = require("../../base-command");
13
+ class Create extends base_command_1.BaseCommand {
14
+ async run() {
15
+ const { args, flags } = await this.parse(Create);
16
+ const { name } = args;
17
+ const { tag, template } = flags;
18
+ // TODO(wittjosiah): Cross-platform.
19
+ const tmpDirectory = `/tmp/dxos-app-create-${Date.now()}`;
20
+ const templateDirectory = `${tmpDirectory}/packages/apps/templates/${template}-template`;
21
+ const outputDirectory = `${(0, process_1.cwd)()}/${name}`;
22
+ try {
23
+ // Git clone template.
24
+ await (0, node_util_1.promisify)(node_child_process_1.exec)(`
25
+ git clone --filter=blob:none --no-checkout git@github.com:dxos/dxos.git ${tmpDirectory} &&
26
+ cd ${tmpDirectory} &&
27
+ git sparse-checkout set --cone tsconfig.json patches packages/apps/templates/${template} &&
28
+ git checkout ${tag}
29
+ `);
30
+ // Copy vite patch.
31
+ await (0, promises_1.mkdir)(`${templateDirectory}/patches`);
32
+ await (0, promises_1.copyFile)(`${tmpDirectory}/patches/vite@3.0.9.patch`, `${templateDirectory}/patches/vite@3.0.9.patch`);
33
+ // Remove unneccessary files.
34
+ await (0, promises_1.rm)(`${templateDirectory}/project.json`);
35
+ await (0, promises_1.rm)(`${templateDirectory}/tsconfig.plate.json`);
36
+ // TS templating.
37
+ const result = await (0, plate_1.executeDirectoryTemplate)({
38
+ templateDirectory,
39
+ outputDirectory,
40
+ input: {
41
+ monorepo: false,
42
+ name
43
+ }
44
+ });
45
+ await Promise.all(result.map((file) => file.save()));
46
+ }
47
+ catch (err) {
48
+ this.log(`Unable to create: ${err.message}`);
49
+ this.error(err, { exit: 1 });
50
+ }
51
+ finally {
52
+ await (0, promises_1.rm)(tmpDirectory, { recursive: true, force: true });
53
+ }
54
+ }
55
+ }
56
+ exports.default = Create;
57
+ Create.description = 'Create a DXOS project.';
58
+ Create.args = [
59
+ {
60
+ name: 'name',
61
+ required: true,
62
+ description: 'Name of the project'
63
+ }
64
+ ];
65
+ Create.flags = {
66
+ ...base_command_1.BaseCommand.flags,
67
+ tag: core_1.Flags.string({
68
+ description: 'Git tag or branch of the DXOS repo to checkout.',
69
+ default: 'production'
70
+ }),
71
+ template: core_1.Flags.string({
72
+ char: 't',
73
+ description: 'Template to use when creating the project.',
74
+ default: 'hello',
75
+ options: ['hello', 'bare']
76
+ })
77
+ };
78
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/app/create.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,sCAAoC;AACpC,2DAA0C;AAC1C,+CAAuD;AACvD,yCAAsC;AACtC,qCAA8B;AAE9B,uCAAuD;AAEvD,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAyB7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAEhC,oCAAoC;QACpC,MAAM,YAAY,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,GAAG,YAAY,4BAA4B,QAAQ,WAAW,CAAC;QACzF,MAAM,eAAe,GAAG,GAAG,IAAA,aAAG,GAAE,IAAI,IAAI,EAAE,CAAC;QAE3C,IAAI;YACF,sBAAsB;YACtB,MAAM,IAAA,qBAAS,EAAC,yBAAI,CAAC,CAAC;kFACsD,YAAY;eAC/E,YAAY;yFAC8D,QAAQ;yBACxE,GAAG;OACrB,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,IAAA,gBAAK,EAAC,GAAG,iBAAiB,UAAU,CAAC,CAAC;YAC5C,MAAM,IAAA,mBAAQ,EAAC,GAAG,YAAY,2BAA2B,EAAE,GAAG,iBAAiB,2BAA2B,CAAC,CAAC;YAE5G,6BAA6B;YAC7B,MAAM,IAAA,aAAE,EAAC,GAAG,iBAAiB,eAAe,CAAC,CAAC;YAC9C,MAAM,IAAA,aAAE,EAAC,GAAG,iBAAiB,sBAAsB,CAAC,CAAC;YAErD,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAwB,EAAC;gBAC5C,iBAAiB;gBACjB,eAAe;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,KAAK;oBACf,IAAI;iBACL;aACF,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACtD;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B;gBAAS;YACR,MAAM,IAAA,aAAE,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1D;IACH,CAAC;;AApEH,yBAqEC;AApEiB,kBAAW,GAAG,wBAAwB,CAAC;AAEvC,WAAI,GAAG;IACrB;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,qBAAqB;KACnC;CACF,CAAC;AAEc,YAAK,GAAG;IACtB,GAAG,0BAAW,CAAC,KAAK;IACpB,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,YAAY;KACtB,CAAC;IACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class List extends BaseCommand {
3
+ static enableJsonFlag: boolean;
4
+ static description: string;
5
+ run(): Promise<any>;
6
+ }
7
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/app/list.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAgB;IAErC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAa1B"}
@@ -0,0 +1,31 @@
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
+ const assert_1 = __importDefault(require("assert"));
10
+ const base_command_1 = require("../../base-command");
11
+ const util_1 = require("../../util");
12
+ class List extends base_command_1.BaseCommand {
13
+ async run() {
14
+ const { flags } = await this.parse(List);
15
+ try {
16
+ return await this.execWithPublisher(async (publisher) => {
17
+ const listResponse = await publisher.rpc.list();
18
+ (0, assert_1.default)(listResponse.modules, 'Unable to list deploymemts.');
19
+ (0, util_1.printModules)(listResponse.modules, flags);
20
+ });
21
+ }
22
+ catch (err) {
23
+ this.log(`Unable to list: ${err.message}`);
24
+ this.error(err, { exit: 1 });
25
+ }
26
+ }
27
+ }
28
+ exports.default = List;
29
+ List.enableJsonFlag = true;
30
+ List.description = 'List apps.';
31
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/app/list.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAE5B,qDAAiD;AACjD,qCAA4D;AAE5D,MAAqB,IAAK,SAAQ,0BAAW;IAI3C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAA2B,EAAE,EAAE;gBACxE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAA,gBAAM,EAAC,YAAY,CAAC,OAAQ,EAAE,6BAA6B,CAAC,CAAC;gBAC7D,IAAA,mBAAY,EAAC,YAAY,CAAC,OAAQ,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B;IACH,CAAC;;AAhBH,uBAiBC;AAhBiB,mBAAc,GAAG,IAAI,CAAC;AACtB,gBAAW,GAAG,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class Publish extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ configPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
+ skipExisting: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
+ config: import("@oclif/core/lib/interfaces").OptionFlag<string>;
10
+ timeout: import("@oclif/core/lib/interfaces").OptionFlag<number>;
11
+ };
12
+ run(): Promise<any>;
13
+ }
14
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../src/commands/app/publish.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,OAAgB,WAAW,SAAmB;IAC9C,OAAgB,KAAK;;;;;;;MAgBnB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAiC1B"}
@@ -0,0 +1,63 @@
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
+ const core_1 = require("@oclif/core");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const base_command_1 = require("../../base-command");
12
+ const util_1 = require("../../util");
13
+ class Publish extends base_command_1.BaseCommand {
14
+ async run() {
15
+ var _a;
16
+ const { flags } = await this.parse(Publish);
17
+ const { configPath, skipExisting, verbose, version } = flags;
18
+ try {
19
+ const moduleConfig = await (0, util_1.loadConfig)(configPath);
20
+ (0, assert_1.default)(moduleConfig.values.package, 'Missing package definition in dx.yml');
21
+ for (const module of (_a = moduleConfig.values.package.modules) !== null && _a !== void 0 ? _a : []) {
22
+ verbose && this.log(`Deploying module ${module.name}...`);
23
+ await (0, util_1.build)({ verbose }, { log: (...args) => this.log(...args), module });
24
+ const cid = await (0, util_1.publish)({ verbose }, { module, config: this.clientConfig });
25
+ module.bundle = cid.bytes;
26
+ if (version) {
27
+ module.build = { ...module.build, version };
28
+ }
29
+ }
30
+ return await this.execWithPublisher(async (publisher) => {
31
+ await publisher.rpc.publish({
32
+ package: moduleConfig.values.package,
33
+ skipExisting
34
+ });
35
+ verbose && this.log('Published to KUBE.');
36
+ });
37
+ }
38
+ catch (err) {
39
+ this.log(`Unable to publish: ${err.message}`);
40
+ this.error(err, { exit: 1 });
41
+ }
42
+ }
43
+ }
44
+ exports.default = Publish;
45
+ Publish.description = 'Publish apps.';
46
+ Publish.flags = {
47
+ ...base_command_1.BaseCommand.flags,
48
+ configPath: core_1.Flags.string({
49
+ description: 'Path to dx.yml'
50
+ }),
51
+ skipExisting: core_1.Flags.boolean({
52
+ description: 'Do not update content on KUBE if version already exists',
53
+ default: false
54
+ }),
55
+ verbose: core_1.Flags.boolean({
56
+ description: 'Verbose output',
57
+ default: false
58
+ }),
59
+ version: core_1.Flags.string({
60
+ description: 'Version of modules to publish'
61
+ })
62
+ };
63
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/app/publish.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,sCAAoC;AACpC,oDAA4B;AAE5B,qDAAiD;AACjD,qCAA0E;AAE1E,MAAqB,OAAQ,SAAQ,0BAAW;IAoB9C,KAAK,CAAC,GAAG;;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE7D,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,IAAA,iBAAU,EAAC,UAAU,CAAC,CAAC;YAElD,IAAA,gBAAM,EAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;YAE5E,KAAK,MAAM,MAAM,IAAI,MAAA,YAAY,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,mCAAI,EAAE,EAAE;gBAC/D,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;gBAE1D,MAAM,IAAA,YAAK,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,IAAA,cAAO,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC9E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;gBAE1B,IAAI,OAAO,EAAE;oBACX,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;iBAC7C;aACF;YAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAA2B,EAAE,EAAE;gBACxE,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC1B,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAQ;oBACrC,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B;IACH,CAAC;;AApDH,0BAqDC;AApDiB,mBAAW,GAAG,eAAe,CAAC;AAC9B,aAAK,GAAG;IACtB,GAAG,0BAAW,CAAC,KAAK;IACpB,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,gBAAgB;KAC9B,CAAC;IACF,YAAY,EAAE,YAAK,CAAC,OAAO,CAAC;QAC1B,WAAW,EAAE,yDAAyD;QACtE,OAAO,EAAE,KAAK;KACf,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,KAAK;KACf,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,+BAA+B;KAC7C,CAAC;CACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class Config extends BaseCommand {
3
+ static enableJsonFlag: boolean;
4
+ static description: string;
5
+ run(): Promise<any>;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAuB;IAE5C,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAM1B"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const base_command_1 = require("../../base-command");
7
+ class Config extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(Config);
10
+ const { config: configFile } = flags;
11
+ this.log(`Config file: ${configFile}\n${JSON.stringify(this.clientConfig, undefined, 2)}`);
12
+ return this.clientConfig;
13
+ }
14
+ }
15
+ exports.default = Config;
16
+ Config.enableJsonFlag = true;
17
+ Config.description = 'Show config file.';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAI7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,gBAAgB,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;;AATH,yBAUC;AATiB,qBAAc,GAAG,IAAI,CAAC;AACtB,kBAAW,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ const test_1 = require("@oclif/test");
33
+ const fs = __importStar(require("fs-extra"));
34
+ const js_yaml_1 = __importDefault(require("js-yaml"));
35
+ const path_1 = __importDefault(require("path"));
36
+ // TODO(burdon): Import (configure esbuild).
37
+ // TODO(burdon): Lint issue.
38
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
+ // @ts-ignore
40
+ // import config from '../../../config/config.yml';
41
+ // TODO(burdon): SecurityError: localStorage is not available for opaque origins
42
+ describe('config', function () {
43
+ const configPath = path_1.default.join(__dirname, '../../../config/config.yml');
44
+ const config = js_yaml_1.default.load(String(fs.readFileSync(configPath)));
45
+ test_1.test
46
+ .stdout()
47
+ .command(['config', '--json', '--config', configPath])
48
+ .it('runs config', (ctx) => {
49
+ (0, test_1.expect)(JSON.stringify(JSON.parse(ctx.stdout))).to.equal(JSON.stringify(config));
50
+ });
51
+ });
52
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/commands/config/index.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,sCAA2C;AAC3C,6CAA+B;AAC/B,sDAA2B;AAC3B,gDAAwB;AAExB,4CAA4C;AAC5C,4BAA4B;AAC5B,6DAA6D;AAC7D,aAAa;AACb,mDAAmD;AAEnD,gFAAgF;AAChF,QAAQ,CAAC,QAAQ,EAAE;IACjB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;IAErE,WAAI;SACD,MAAM,EAAE;SACR,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SACrD,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class Create extends BaseCommand {
3
+ static enableJsonFlag: boolean;
4
+ static description: string;
5
+ static args: {
6
+ name: string;
7
+ }[];
8
+ run(): Promise<any>;
9
+ }
10
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/create.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAkB;IAC7C,OAAgB,IAAI;;QAIlB;IAEI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAgB1B"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const client_1 = require("@dxos/client");
7
+ const base_command_1 = require("../../base-command");
8
+ class Create extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { args } = await this.parse(Create);
11
+ const { username } = args; // TODO(burdon): Prompt.
12
+ return await this.execWithClient(async (client) => {
13
+ let profile = client.halo.profile;
14
+ if (profile) {
15
+ this.log('Profile already initialized.'); // TODO(burdon): Return as error?
16
+ }
17
+ else {
18
+ const seedphrase = (0, client_1.generateSeedPhrase)();
19
+ profile = await client.halo.createProfile({ seedphrase, username });
20
+ this.log(`IMPORTANT: Record your recover seed phrase:\n[${seedphrase}]`);
21
+ return { seedphrase, username: profile.username };
22
+ }
23
+ });
24
+ }
25
+ }
26
+ exports.default = Create;
27
+ Create.enableJsonFlag = true;
28
+ Create.description = 'Create HALO.';
29
+ Create.args = [
30
+ {
31
+ name: 'username'
32
+ }
33
+ ];
34
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/halo/create.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,yCAA0D;AAE1D,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAS7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,wBAAwB;QAEnD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YACxD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,iCAAiC;aAC5E;iBAAM;gBACL,MAAM,UAAU,GAAG,IAAA,2BAAkB,GAAE,CAAC;gBACxC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,iDAAiD,UAAU,GAAG,CAAC,CAAC;gBACzE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAxBH,yBAyBC;AAxBiB,qBAAc,GAAG,IAAI,CAAC;AACtB,kBAAW,GAAG,cAAc,CAAC;AAC7B,WAAI,GAAG;IACrB;QACE,IAAI,EAAE,UAAU;KACjB;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class Halo extends BaseCommand {
3
+ static enableJsonFlag: boolean;
4
+ static description: string;
5
+ run(): Promise<any>;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/halo/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,cAAc,UAAQ;IACtC,OAAgB,WAAW,SAAwB;IAE7C,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;CAkB1B"}