1 | 'use strict';
|
2 |
|
3 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
4 |
|
5 | var command = _interopDefault(require('@pagedip/lib-command'));
|
6 | var inquirer = _interopDefault(require('inquirer'));
|
7 | var libLicenseTools = require('@pagedip/lib-license-tools');
|
8 |
|
9 | var name = "pagedip";
|
10 |
|
11 | var version = "5.2.0";
|
12 |
|
13 | var main$1 = "Usage: pagedip <command> [--debug] [--silent] [--dev] [--help]\n [--version]\n\n The Pagedip CLI tool.\n\nCommands\n register Register this host with a Pagedip License key.\n install Install a Pagedip package by name.\n run Run a Pagedip app.\n start, server, ee Start a basic Pagedip Enterprise server.\n\n This is the main Pagedip CLI tool. With this tool you can install Pagedip\n packages, run servers, and more.\n\n The following app names can be used as commands directly: api, auth,\n couchdb-setup, editor, enterprise-edition, live, setup, theme, theme-server\n\n Run --help on any command for further help documentation.\n\nOptions\n --debug Show debug messages.\n -s, --silent All logs will be hidden.\n --dev Run in development mode.\n -h, -H, --help Shows this message.\n -v, -V, --version Prints the version and exits.";
|
14 |
|
15 | var register$1 = "Usage: pagedip register <license> [--help]\n\n Register this host with a Pagedip License key.\n\n Install a Pagedip License key onto this host. Once installed, the license is\n detected by Pagedip server instances and used to verify the legitimacy of the\n instance.\n\nOptions\n -h, -H, --help Shows this message.";
|
16 |
|
17 | var install$1 = "Usage: pagedip install [<pkgname>...] [--help]\n\n Install Pagedip packages.\n\n This will install Pagedip packages and apps from the Pagedip registry. This\n host should already be registered with a valid license key before installing\n packages.\n\n One or more packages can be installed at once. Postfix the package name with\n @version to install a specific version.\n\nOptions\n -h, -H, --help Shows this message.";
|
18 |
|
19 | var run$1 = "Usage: pagedip run <pkgname> [--help]\n\n Run Pagedip apps.\n\n Run a Pagedip app by name. CLI options are passed through to the app\n directly. This host should already be registered with a valid license key\n before running apps.\n\n If the app is not installed on the host, you will be asked to install the app\n before it runs.\n\nOptions\n -h, -H, --help Shows this message.";
|
20 |
|
21 | var license$1 = "Usage: pagedip license [license] [--help]\n\n Verify and print information about a Pagedip license key.\n\n This will verify a license key and print some basic information about it. If\n you do not pass a license key, this will display info on the installed key.\n\nOptions\n -h, -H, --help Shows this message.";
|
22 |
|
23 | var apps = [".babelrc", ".template", "api", "auth", "couchdb-setup", "editor", "enterprise-edition", "live", "setup", "theme", "theme-server"];
|
24 |
|
25 | var asyncGenerator = function () {
|
26 | function AwaitValue(value) {
|
27 | this.value = value;
|
28 | }
|
29 |
|
30 | function AsyncGenerator(gen) {
|
31 | var front, back;
|
32 |
|
33 | function send(key, arg) {
|
34 | return new Promise(function (resolve, reject) {
|
35 | var request = {
|
36 | key: key,
|
37 | arg: arg,
|
38 | resolve: resolve,
|
39 | reject: reject,
|
40 | next: null
|
41 | };
|
42 |
|
43 | if (back) {
|
44 | back = back.next = request;
|
45 | } else {
|
46 | front = back = request;
|
47 | resume(key, arg);
|
48 | }
|
49 | });
|
50 | }
|
51 |
|
52 | function resume(key, arg) {
|
53 | try {
|
54 | var result = gen[key](arg);
|
55 | var value = result.value;
|
56 |
|
57 | if (value instanceof AwaitValue) {
|
58 | Promise.resolve(value.value).then(function (arg) {
|
59 | resume("next", arg);
|
60 | }, function (arg) {
|
61 | resume("throw", arg);
|
62 | });
|
63 | } else {
|
64 | settle(result.done ? "return" : "normal", result.value);
|
65 | }
|
66 | } catch (err) {
|
67 | settle("throw", err);
|
68 | }
|
69 | }
|
70 |
|
71 | function settle(type, value) {
|
72 | switch (type) {
|
73 | case "return":
|
74 | front.resolve({
|
75 | value: value,
|
76 | done: true
|
77 | });
|
78 | break;
|
79 |
|
80 | case "throw":
|
81 | front.reject(value);
|
82 | break;
|
83 |
|
84 | default:
|
85 | front.resolve({
|
86 | value: value,
|
87 | done: false
|
88 | });
|
89 | break;
|
90 | }
|
91 |
|
92 | front = front.next;
|
93 |
|
94 | if (front) {
|
95 | resume(front.key, front.arg);
|
96 | } else {
|
97 | back = null;
|
98 | }
|
99 | }
|
100 |
|
101 | this._invoke = send;
|
102 |
|
103 | if (typeof gen.return !== "function") {
|
104 | this.return = undefined;
|
105 | }
|
106 | }
|
107 |
|
108 | if (typeof Symbol === "function" && Symbol.asyncIterator) {
|
109 | AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
|
110 | return this;
|
111 | };
|
112 | }
|
113 |
|
114 | AsyncGenerator.prototype.next = function (arg) {
|
115 | return this._invoke("next", arg);
|
116 | };
|
117 |
|
118 | AsyncGenerator.prototype.throw = function (arg) {
|
119 | return this._invoke("throw", arg);
|
120 | };
|
121 |
|
122 | AsyncGenerator.prototype.return = function (arg) {
|
123 | return this._invoke("return", arg);
|
124 | };
|
125 |
|
126 | return {
|
127 | wrap: function (fn) {
|
128 | return function () {
|
129 | return new AsyncGenerator(fn.apply(this, arguments));
|
130 | };
|
131 | },
|
132 | await: function (value) {
|
133 | return new AwaitValue(value);
|
134 | }
|
135 | };
|
136 | }();
|
137 |
|
138 |
|
139 |
|
140 | var asyncToGenerator = function (fn) {
|
141 | return function () {
|
142 | var gen = fn.apply(this, arguments);
|
143 | return new Promise(function (resolve, reject) {
|
144 | function step(key, arg) {
|
145 | try {
|
146 | var info = gen[key](arg);
|
147 | var value = info.value;
|
148 | } catch (error) {
|
149 | reject(error);
|
150 | return;
|
151 | }
|
152 |
|
153 | if (info.done) {
|
154 | resolve(value);
|
155 | } else {
|
156 | return Promise.resolve(value).then(function (value) {
|
157 | step("next", value);
|
158 | }, function (err) {
|
159 | step("throw", err);
|
160 | });
|
161 | }
|
162 | }
|
163 |
|
164 | return step("next");
|
165 | });
|
166 | };
|
167 | };
|
168 |
|
169 |
|
170 |
|
171 |
|
172 |
|
173 |
|
174 |
|
175 |
|
176 |
|
177 |
|
178 |
|
179 | var _extends = Object.assign || function (target) {
|
180 | for (var i = 1; i < arguments.length; i++) {
|
181 | var source = arguments[i];
|
182 |
|
183 | for (var key in source) {
|
184 | if (Object.prototype.hasOwnProperty.call(source, key)) {
|
185 | target[key] = source[key];
|
186 | }
|
187 | }
|
188 | }
|
189 |
|
190 | return target;
|
191 | };
|
192 |
|
193 | var install = function () {
|
194 | var _ref2 = asyncToGenerator(function* (args, config, logger) {
|
195 | if (!args.length || this.help()) {
|
196 | logger.info(install$1);
|
197 | return;
|
198 | }
|
199 |
|
200 | yield require("./").install(args, _extends({}, config.data, { logger: logger }));
|
201 | });
|
202 |
|
203 | return function install(_x4, _x5, _x6) {
|
204 | return _ref2.apply(this, arguments);
|
205 | };
|
206 | }();
|
207 |
|
208 | var run = function () {
|
209 | var _ref3 = asyncToGenerator(function* (args, config, logger) {
|
210 | if (!args.length) {
|
211 | logger.info(run$1);
|
212 | return;
|
213 | }
|
214 |
|
215 | var _require = require("./"),
|
216 | load = _require.load;
|
217 |
|
218 | var cmd = void 0;
|
219 |
|
220 | try {
|
221 | cmd = yield load(args[0], { logger: logger });
|
222 | } catch (e) {
|
223 | if (e.code !== "MODULE_NOT_FOUND") throw e;
|
224 |
|
225 | var _ref4 = yield inquirer.prompt([{
|
226 | type: "confirm",
|
227 | name: "confirm",
|
228 | message: "Could not locate a package named '" + args[0] + "'. Do you want to attempt to install it?",
|
229 | default: true
|
230 | }]),
|
231 | confirm = _ref4.confirm;
|
232 |
|
233 | if (!confirm) throw e;
|
234 |
|
235 | yield install(args[0], config, { logger: logger });
|
236 | cmd = yield load(args[0], { logger: logger });
|
237 | }
|
238 |
|
239 | yield this.run(cmd, args.slice(1), logger);
|
240 | });
|
241 |
|
242 | return function run(_x7, _x8, _x9) {
|
243 | return _ref3.apply(this, arguments);
|
244 | };
|
245 | }();
|
246 |
|
247 | var license = function () {
|
248 | var _ref5 = asyncToGenerator(function* (args, config, logger) {
|
249 | if (this.help()) {
|
250 | logger.info(license$1);
|
251 | return;
|
252 | }
|
253 |
|
254 | var data = yield libLicenseTools.verify(libLicenseTools.getLicense(args[0]));
|
255 | printLicense(data, logger);
|
256 | });
|
257 |
|
258 | return function license(_x10, _x11, _x12) {
|
259 | return _ref5.apply(this, arguments);
|
260 | };
|
261 | }();
|
262 |
|
263 | var register = function () {
|
264 | var _ref6 = asyncToGenerator(function* (args, config, logger) {
|
265 | if (!args.length || this.help()) {
|
266 | logger.info(register$1);
|
267 | return;
|
268 | }
|
269 |
|
270 | var data = yield libLicenseTools.verifyInstall(args[0]);
|
271 | logger.log("");
|
272 | printLicense(data, logger);
|
273 | logger.log(logger.color.green("Thank you for registering! You can now download and use Pagedip packages. \uD83C\uDF89\n"));
|
274 | });
|
275 |
|
276 | return function register(_x13, _x14, _x15) {
|
277 | return _ref6.apply(this, arguments);
|
278 | };
|
279 | }();
|
280 |
|
281 | var cli = command("pagedip", {
|
282 | module: module,
|
283 | alias: {
|
284 | tag: "t"
|
285 | }
|
286 | }, function () {
|
287 | var _ref = asyncToGenerator(function* (args, config, logger) {
|
288 | var isApp = apps.includes(args[0]);
|
289 |
|
290 | if (!isApp && this.version()) {
|
291 | logger.info(name + " " + version);
|
292 | return;
|
293 | }
|
294 |
|
295 | switch (args[0]) {
|
296 | case "install":
|
297 | yield install.call(this, args.slice(1), config, logger);
|
298 | break;
|
299 |
|
300 | case "run":
|
301 | yield run.call(this, args.slice(1), config, logger);
|
302 | break;
|
303 |
|
304 | case "register":
|
305 | yield register.call(this, args.slice(1), config, logger);
|
306 | break;
|
307 |
|
308 | case "license":
|
309 | yield license.call(this, args.slice(1), config, logger);
|
310 | break;
|
311 |
|
312 | case "start":
|
313 | case "server":
|
314 | case "ee":
|
315 | {
|
316 | var eeArgs = ["enterprise-edition"].concat(args.slice(1));
|
317 | yield run.call(this, eeArgs, config, logger);
|
318 | break;
|
319 | }
|
320 |
|
321 | default:
|
322 | if (isApp) {
|
323 | yield run.call(this, args, config, logger);
|
324 | } else {
|
325 | logger.info(main$1);
|
326 | }
|
327 | }
|
328 | });
|
329 |
|
330 | return function (_x, _x2, _x3) {
|
331 | return _ref.apply(this, arguments);
|
332 | };
|
333 | }());
|
334 |
|
335 | function printLicense(data, logger) {
|
336 | logger.log("%s\nID: %s\nRegistered To: %s\nIssued: %s\nExpires: %s", logger.color.white.bgGreen("Valid Pagedip license key."), data.id, data.user, new Date(data.issued).toString(), new Date(data.ttl).toString());
|
337 | logger.log("\n%s\n", data.payload);
|
338 | }
|
339 |
|
340 | module.exports = cli;
|