UNPKG

10.1 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var command = _interopDefault(require('@pagedip/lib-command'));
6var inquirer = _interopDefault(require('inquirer'));
7var libLicenseTools = require('@pagedip/lib-license-tools');
8
9var name = "pagedip";
10
11var version = "5.2.0";
12
13var 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
15var 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
17var 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
19var 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
21var 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
23var apps = [".babelrc", ".template", "api", "auth", "couchdb-setup", "editor", "enterprise-edition", "live", "setup", "theme", "theme-server"];
24
25var 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
140var 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
179var _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
193var 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
208var 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
247var 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
263var 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
281var 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
335function 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
340module.exports = cli;