@serverless-devs/s 2.1.14 → 3.0.0-beta.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.
- package/lib/command/clean/index.js +125 -0
- package/lib/command/config/command/add.js +100 -0
- package/lib/command/config/command/default.js +78 -0
- package/lib/command/config/command/get.js +100 -0
- package/lib/command/config/command/remove.js +77 -0
- package/lib/command/config/command/rename.js +84 -0
- package/lib/command/config/index.js +27 -0
- package/lib/command/config/utils/index.js +19 -0
- package/lib/command/custom/help.js +231 -0
- package/lib/command/custom/index.js +177 -0
- package/lib/command/custom/types.js +3 -0
- package/lib/command/custom/v1/index.js +293 -0
- package/lib/command/index.js +95 -0
- package/lib/command/init/constant.js +600 -0
- package/lib/command/init/index.js +101 -0
- package/lib/command/init/manager.js +181 -0
- package/lib/command/registry/command/detail.js +71 -0
- package/lib/command/registry/command/list.js +69 -0
- package/lib/command/registry/command/login.js +90 -0
- package/lib/command/registry/command/publish.js +67 -0
- package/lib/command/registry/command/remove.js +70 -0
- package/lib/command/registry/index.js +27 -0
- package/lib/command/set/command/analysis.js +94 -0
- package/lib/command/set/command/log.js +94 -0
- package/lib/command/set/command/proxy.js +98 -0
- package/lib/command/set/command/registry.js +115 -0
- package/lib/command/set/index.js +25 -0
- package/lib/constant.js +23 -6
- package/lib/error/human-error.js +14 -19
- package/lib/error/human-warning.js +5 -7
- package/lib/error/index.js +5 -84
- package/lib/error/serverless-error.js +2 -9
- package/lib/i18n/en.js +4 -0
- package/lib/i18n/index.js +16 -0
- package/lib/i18n/zh.js +4 -0
- package/lib/index.js +803 -253
- package/lib/logger.js +82 -0
- package/lib/utils/check-node-version.js +15 -0
- package/lib/utils/get-pid.js +55 -0
- package/lib/utils/index.js +38 -34
- package/lib/utils/set-proxy.js +21 -0
- package/package.json +24 -38
- package/lib/check-node-version/index.js +0 -15
- package/lib/clean/index.js +0 -166
- package/lib/cli/index.js +0 -223
- package/lib/component/index.js +0 -286
- package/lib/config/add/index.js +0 -190
- package/lib/config/common/common.js +0 -194
- package/lib/config/delete/index.js +0 -121
- package/lib/config/get/index.js +0 -130
- package/lib/config/index.js +0 -39
- package/lib/config/rename/index.js +0 -132
- package/lib/edit/index.js +0 -104
- package/lib/execDaemon.js +0 -35
- package/lib/global-agent/index.js +0 -22
- package/lib/help/index.js +0 -158
- package/lib/init/index.js +0 -105
- package/lib/init/init-config.js +0 -606
- package/lib/init/init-manager.js +0 -222
- package/lib/onboarding/index.js +0 -111
- package/lib/set/analysis/index.js +0 -118
- package/lib/set/index.js +0 -40
- package/lib/set/locale/index.js +0 -118
- package/lib/set/log/index.js +0 -118
- package/lib/set/proxy/index.js +0 -123
- package/lib/set/registry/index.js +0 -146
- package/lib/set/workspace/index.js +0 -119
- package/lib/special-commad/index.js +0 -156
- package/lib/update-notifier/index.js +0 -147
- package/lib/utils/common.js +0 -347
- package/lib/utils/core.js +0 -49
- package/lib/utils/handler-set-config.js +0 -130
- package/lib/utils/i18n/en.js +0 -46
- package/lib/utils/i18n/index.js +0 -16
- package/lib/utils/i18n/zh.js +0 -46
- package/lib/utils/logger.js +0 -12
- package/lib/verify/index.js +0 -224
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var chalk_1 = require("chalk");
|
|
43
|
+
var utils_1 = require("../../utils");
|
|
44
|
+
var error_1 = require("../../error");
|
|
45
|
+
var manager_1 = __importDefault(require("./manager"));
|
|
46
|
+
var logger_1 = __importDefault(require("../../logger"));
|
|
47
|
+
var description = "Initialize a new project based on a template. You can initialize the application that conforms to the serverless devs project specification through GitHub, or you can initialize the application provided by the source by configuring the source.\n\nExample:\n $ s init\n $ s init --project fc\n $ s init --project fc -d my_dir\n $ s init --project fc --app-name my-express\n $ s init --project fc --parameters '{\"serviceName\":\"websiteService\"}'\n $ s init --project git@github.com:foo/bar.git\n $ s init --project https://github.com/foo/bar.git\n \n".concat((0, utils_1.emoji)('🚀'), " More applications: ").concat((0, chalk_1.underline)('https://registry.serverless-devs.com'));
|
|
48
|
+
exports.default = (function (program) {
|
|
49
|
+
program
|
|
50
|
+
.command('init')
|
|
51
|
+
.usage('[options]')
|
|
52
|
+
.description(description)
|
|
53
|
+
.summary("".concat((0, utils_1.emoji)('💞'), " Initializing a serverless project."))
|
|
54
|
+
.helpOption('-h, --help', 'Display help for command')
|
|
55
|
+
.option('-d, --dir <dir>', 'Where to output the initialized app into (default: ./<ProjectName> )')
|
|
56
|
+
.option('-r, --registry <url>', 'Use specify registry')
|
|
57
|
+
.option('-a, --access <aliasName>', 'Specify the access alias name.')
|
|
58
|
+
.option('--parameters <parameters>', 'Initialize with custom parameters')
|
|
59
|
+
.option('--app-name <appName>', 'Modify default Application name')
|
|
60
|
+
.option('--project <project>', 'Specify Template')
|
|
61
|
+
.action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
var template, manager, err_1;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
if (options.parameters) {
|
|
67
|
+
try {
|
|
68
|
+
options.parameters = JSON.parse(options.parameters);
|
|
69
|
+
}
|
|
70
|
+
catch (_ex) {
|
|
71
|
+
throw new Error('--parameters format error');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// 兼容 s init <project>
|
|
75
|
+
if (!options.project) {
|
|
76
|
+
template = process.argv[3];
|
|
77
|
+
if (template && !(template === null || template === void 0 ? void 0 : template.startsWith('-'))) {
|
|
78
|
+
options.project = template;
|
|
79
|
+
logger_1.default.warn("This method has been discontinued, please use --project ".concat(template));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
_a.label = 1;
|
|
83
|
+
case 1:
|
|
84
|
+
_a.trys.push([1, 3, , 5]);
|
|
85
|
+
manager = new manager_1.default(options);
|
|
86
|
+
return [4 /*yield*/, manager.init()];
|
|
87
|
+
case 2:
|
|
88
|
+
_a.sent();
|
|
89
|
+
return [3 /*break*/, 5];
|
|
90
|
+
case 3:
|
|
91
|
+
err_1 = _a.sent();
|
|
92
|
+
return [4 /*yield*/, (0, error_1.HandleError)(err_1)];
|
|
93
|
+
case 4:
|
|
94
|
+
_a.sent();
|
|
95
|
+
return [3 /*break*/, 5];
|
|
96
|
+
case 5: return [2 /*return*/];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}); });
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC9pbml0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsK0JBQWtDO0FBQ2xDLHFDQUFvQztBQUNwQyxxQ0FBMEM7QUFDMUMsc0RBQWdDO0FBQ2hDLHdEQUFrQztBQUVsQyxJQUFNLFdBQVcsR0FBRyx5a0JBV2xCLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyxpQ0FBdUIsSUFBQSxpQkFBUyxFQUFDLHNDQUFzQyxDQUFDLENBQUUsQ0FBQztBQUV4RixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLE9BQU87U0FDSixPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2YsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUNsQixXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ3hCLE9BQU8sQ0FBQyxVQUFHLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3Q0FBcUMsQ0FBQztTQUM1RCxVQUFVLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDO1NBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxzRUFBc0UsQ0FBQztTQUNqRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7U0FDdEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLGdDQUFnQyxDQUFDO1NBQ3BFLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxtQ0FBbUMsQ0FBQztTQUN4RSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsaUNBQWlDLENBQUM7U0FDakUsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDO1NBQ2pELE1BQU0sQ0FBQyxVQUFNLE9BQU87Ozs7O29CQUNuQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQ3RCLElBQUk7NEJBQ0YsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzt5QkFDckQ7d0JBQUMsT0FBTyxHQUFHLEVBQUU7NEJBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO3lCQUM5QztxQkFDRjtvQkFFRCxzQkFBc0I7b0JBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO3dCQUNkLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqQyxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQSxFQUFFOzRCQUMxQyxPQUFPLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQzs0QkFDM0IsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsa0VBQTJELFFBQVEsQ0FBRSxDQUFDLENBQUM7eUJBQ3BGO3FCQUNGOzs7O29CQUdPLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3JDLHFCQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBQTs7b0JBQXBCLFNBQW9CLENBQUM7Ozs7b0JBRXJCLHFCQUFNLElBQUEsbUJBQVcsRUFBQyxLQUFHLENBQUMsRUFBQTs7b0JBQXRCLFNBQXNCLENBQUM7Ozs7O1NBRTFCLENBQUMsQ0FBQztBQUNQLENBQUMsRUFBQyJ9
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var inquirer_1 = __importDefault(require("inquirer"));
|
|
43
|
+
var child_process_1 = require("child_process");
|
|
44
|
+
var inquirer_autocomplete_prompt_1 = __importDefault(require("inquirer-autocomplete-prompt"));
|
|
45
|
+
var load_application_1 = __importDefault(require("@serverless-devs/load-application"));
|
|
46
|
+
var chalk_1 = require("chalk");
|
|
47
|
+
var lodash_1 = require("lodash");
|
|
48
|
+
var utils_1 = require("../../utils");
|
|
49
|
+
var constant_1 = require("./constant");
|
|
50
|
+
var constant_2 = require("../../constant");
|
|
51
|
+
var logger_1 = __importDefault(require("../../logger"));
|
|
52
|
+
var Manager = /** @class */ (function () {
|
|
53
|
+
function Manager(options) {
|
|
54
|
+
this.template = options === null || options === void 0 ? void 0 : options.project;
|
|
55
|
+
this.dir = options === null || options === void 0 ? void 0 : options.dir;
|
|
56
|
+
this.registry = (options === null || options === void 0 ? void 0 : options.registry) || constant_2.DEFAULT_REGISTRY;
|
|
57
|
+
this.parameters = options === null || options === void 0 ? void 0 : options.parameters;
|
|
58
|
+
this.access = options === null || options === void 0 ? void 0 : options.access;
|
|
59
|
+
this.appName = options === null || options === void 0 ? void 0 : options.appName;
|
|
60
|
+
// 添加交互插件
|
|
61
|
+
inquirer_1.default.registerPrompt('autocomplete', inquirer_autocomplete_prompt_1.default);
|
|
62
|
+
}
|
|
63
|
+
Manager.prototype.init = function () {
|
|
64
|
+
var _a;
|
|
65
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
66
|
+
var answers, appPath, findObj;
|
|
67
|
+
var _this = this;
|
|
68
|
+
return __generator(this, function (_b) {
|
|
69
|
+
switch (_b.label) {
|
|
70
|
+
case 0:
|
|
71
|
+
logger_1.default.info("\n".concat((0, utils_1.emoji)('🚀'), " More applications: ").concat((0, chalk_1.underline)('https://registry.serverless-devs.com'), "\n"));
|
|
72
|
+
if (!((_a = this.template) === null || _a === void 0 ? void 0 : _a.endsWith('.get'))) return [3 /*break*/, 2];
|
|
73
|
+
return [4 /*yield*/, this.gitCloneProject()];
|
|
74
|
+
case 1: return [2 /*return*/, _b.sent()];
|
|
75
|
+
case 2:
|
|
76
|
+
if (!!this.template) return [3 /*break*/, 4];
|
|
77
|
+
return [4 /*yield*/, inquirer_1.default.prompt(constant_1.APPLICATION_TEMPLATE)];
|
|
78
|
+
case 3:
|
|
79
|
+
answers = _b.sent();
|
|
80
|
+
this.template = answers.template || answers.firstLevel;
|
|
81
|
+
logger_1.default.info("\n".concat((0, utils_1.emoji)('😋'), " Create application command: [s init --project ").concat(this.template, "]\n"));
|
|
82
|
+
_b.label = 4;
|
|
83
|
+
case 4: return [4 /*yield*/, this.executeInit()];
|
|
84
|
+
case 5:
|
|
85
|
+
appPath = (_b.sent()).appPath;
|
|
86
|
+
findObj = (0, lodash_1.find)(constant_1.ALL_TEMPLATE, function (item) { return (0, lodash_1.includes)(item.value, _this.template); });
|
|
87
|
+
if ((0, lodash_1.includes)(process.argv, '--parameters'))
|
|
88
|
+
return [2 /*return*/];
|
|
89
|
+
if (!(findObj && findObj.isDeploy)) return [3 /*break*/, 7];
|
|
90
|
+
return [4 /*yield*/, this.deploy(appPath)];
|
|
91
|
+
case 6:
|
|
92
|
+
_b.sent();
|
|
93
|
+
_b.label = 7;
|
|
94
|
+
case 7: return [2 /*return*/];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
Manager.prototype.executeInit = function () {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
+
var projectName, defaultValue, answers, appPath;
|
|
102
|
+
return __generator(this, function (_a) {
|
|
103
|
+
switch (_a.label) {
|
|
104
|
+
case 0:
|
|
105
|
+
projectName = this.dir;
|
|
106
|
+
if (!!projectName) return [3 /*break*/, 2];
|
|
107
|
+
defaultValue = (0, lodash_1.last)((0, lodash_1.split)(this.template, '/'));
|
|
108
|
+
return [4 /*yield*/, inquirer_1.default.prompt([
|
|
109
|
+
{
|
|
110
|
+
type: 'input',
|
|
111
|
+
name: 'projectName',
|
|
112
|
+
message: 'Please input your project name (init dir)',
|
|
113
|
+
default: defaultValue,
|
|
114
|
+
},
|
|
115
|
+
])];
|
|
116
|
+
case 1:
|
|
117
|
+
answers = _a.sent();
|
|
118
|
+
projectName = (0, lodash_1.trim)(answers.projectName);
|
|
119
|
+
_a.label = 2;
|
|
120
|
+
case 2: return [4 /*yield*/, (0, load_application_1.default)(this.template, {
|
|
121
|
+
logger: logger_1.default,
|
|
122
|
+
projectName: projectName,
|
|
123
|
+
parameters: this.parameters,
|
|
124
|
+
appName: this.appName,
|
|
125
|
+
access: this.access,
|
|
126
|
+
})];
|
|
127
|
+
case 3:
|
|
128
|
+
appPath = _a.sent();
|
|
129
|
+
if (appPath) {
|
|
130
|
+
logger_1.default.info("\n".concat((0, utils_1.emoji)('🏄'), " Thanks for using Serverless-Devs"));
|
|
131
|
+
logger_1.default.info("".concat((0, utils_1.emoji)('👉'), " You could [cd ").concat(appPath, "] and enjoy your serverless journey!"));
|
|
132
|
+
logger_1.default.info("".concat((0, utils_1.emoji)('🧭️'), " If you need help for this example, you can use [s -h] after you enter folder."));
|
|
133
|
+
logger_1.default.info("".concat((0, utils_1.emoji)('💞'), " Document \u2764 Star: ") + chalk_1.cyan.underline('https://github.com/Serverless-Devs/Serverless-Devs'));
|
|
134
|
+
logger_1.default.info("".concat((0, utils_1.emoji)('🚀'), " More applications: ") + chalk_1.cyan.underline('https://registry.serverless-devs.com\n'));
|
|
135
|
+
}
|
|
136
|
+
return [2 /*return*/, { appPath: appPath }];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
Manager.prototype.deploy = function (appPath) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
+
var answers;
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
switch (_a.label) {
|
|
146
|
+
case 0: return [4 /*yield*/, inquirer_1.default.prompt([
|
|
147
|
+
{
|
|
148
|
+
type: 'confirm',
|
|
149
|
+
name: 'name',
|
|
150
|
+
default: 'Y',
|
|
151
|
+
message: (0, chalk_1.yellow)('Do you want to deploy the project immediately?'),
|
|
152
|
+
},
|
|
153
|
+
])];
|
|
154
|
+
case 1:
|
|
155
|
+
answers = _a.sent();
|
|
156
|
+
if (answers.name) {
|
|
157
|
+
(0, child_process_1.spawnSync)('s deploy', { cwd: appPath, shell: true, stdio: 'inherit' });
|
|
158
|
+
}
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
Manager.prototype.gitCloneProject = function () {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
+
var _this = this;
|
|
167
|
+
return __generator(this, function (_a) {
|
|
168
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
169
|
+
(0, child_process_1.spawn)('git', ['clone', _this.template], {
|
|
170
|
+
shell: true,
|
|
171
|
+
cwd: _this.dir ? _this.dir : './',
|
|
172
|
+
stdio: ['ignore', 'inherit', 'inherit'],
|
|
173
|
+
}).on('close', function (code) { return resolve({ code: code }); });
|
|
174
|
+
})];
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
return Manager;
|
|
179
|
+
}());
|
|
180
|
+
exports.default = Manager;
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kL2luaXQvbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFnQztBQUNoQywrQ0FBaUQ7QUFDakQsOEZBQTBEO0FBQzFELHVGQUFnRTtBQUNoRSwrQkFBZ0Q7QUFDaEQsaUNBQTJEO0FBQzNELHFDQUFvQztBQUNwQyx1Q0FBZ0U7QUFDaEUsMkNBQWtEO0FBQ2xELHdEQUFrQztBQVdsQztJQVFFLGlCQUFZLE9BQWlCO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLEtBQUksMkJBQWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLENBQUM7UUFFaEMsU0FBUztRQUNULGtCQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxzQ0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVLLHNCQUFJLEdBQVY7Ozs7Ozs7O3dCQUNFLGdCQUFNLENBQUMsSUFBSSxDQUFDLFlBQUssSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLGlDQUF1QixJQUFB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
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var chalk_1 = require("chalk");
|
|
43
|
+
var registry_1 = __importDefault(require("@serverless-devs/registry"));
|
|
44
|
+
var utils_1 = require("../../../utils");
|
|
45
|
+
var logger_1 = __importDefault(require("../../../logger"));
|
|
46
|
+
var description = "View application details.\n\nExample:\n $ s registry detail --name fc\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://serverless.help/s/registry#detail'));
|
|
47
|
+
exports.default = (function (program) {
|
|
48
|
+
program
|
|
49
|
+
.command('detail')
|
|
50
|
+
.usage('[options]')
|
|
51
|
+
.description(description)
|
|
52
|
+
.summary("".concat((0, utils_1.emoji)('🌱'), " View specific package details"))
|
|
53
|
+
.option('--name <name>', 'Serverless Package name')
|
|
54
|
+
.helpOption('-h, --help', 'Display help for command')
|
|
55
|
+
.action(function (option) { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
+
var name, registry, result;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0:
|
|
60
|
+
name = option.name;
|
|
61
|
+
registry = new registry_1.default({});
|
|
62
|
+
return [4 /*yield*/, registry.detail(name)];
|
|
63
|
+
case 1:
|
|
64
|
+
result = _a.sent();
|
|
65
|
+
logger_1.default.output(result);
|
|
66
|
+
return [2 /*return*/];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}); });
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQvcmVnaXN0cnkvY29tbWFuZC9kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQkFBa0M7QUFDbEMsdUVBQWlEO0FBQ2pELHdDQUF1QztBQUN2QywyREFBcUM7QUFFckMsSUFBTSxXQUFXLEdBQUcsdUZBS2xCLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3QkFBYyxJQUFBLGlCQUFTLEVBQUMsMkNBQTJDLENBQUMsQ0FBRSxDQUFDO0FBRXBGLG1CQUFlLFVBQUMsT0FBZ0I7SUFDOUIsT0FBTztTQUNKLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUNsQixXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ3hCLE9BQU8sQ0FBQyxVQUFHLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyxtQ0FBZ0MsQ0FBQztTQUN2RCxNQUFNLENBQUMsZUFBZSxFQUFFLHlCQUF5QixDQUFDO1NBQ2xELFVBQVUsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUM7U0FDcEQsTUFBTSxDQUFDLFVBQU0sTUFBTTs7Ozs7b0JBQ1YsSUFBSSxHQUFLLE1BQU0sS0FBWCxDQUFZO29CQUNsQixRQUFRLEdBQUcsSUFBSSxrQkFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixxQkFBTSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFBOztvQkFBcEMsTUFBTSxHQUFHLFNBQTJCO29CQUMxQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzs7OztTQUN2QixDQUFDLENBQUM7QUFDUCxDQUFDLEVBQUMifQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var chalk_1 = require("chalk");
|
|
43
|
+
var registry_1 = __importDefault(require("@serverless-devs/registry"));
|
|
44
|
+
var utils_1 = require("../../../utils");
|
|
45
|
+
var logger_1 = __importDefault(require("../../../logger"));
|
|
46
|
+
var description = "View the components published by the current login to the Serverless Registry account.\n\nExample:\n $ s registry list\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://serverless.help/s/registry#list'));
|
|
47
|
+
exports.default = (function (program) {
|
|
48
|
+
program
|
|
49
|
+
.command('list')
|
|
50
|
+
.usage('[options]')
|
|
51
|
+
.description(description)
|
|
52
|
+
.summary("".concat((0, utils_1.emoji)('🐵'), " List the packages you have published"))
|
|
53
|
+
.helpOption('-h, --help', 'Display help for command')
|
|
54
|
+
.action(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
55
|
+
var registry, result;
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
switch (_a.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
registry = new registry_1.default({});
|
|
60
|
+
return [4 /*yield*/, registry.list()];
|
|
61
|
+
case 1:
|
|
62
|
+
result = _a.sent();
|
|
63
|
+
logger_1.default.output(result);
|
|
64
|
+
return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); });
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kL3JlZ2lzdHJ5L2NvbW1hbmQvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUFrQztBQUNsQyx1RUFBaUQ7QUFDakQsd0NBQXVDO0FBQ3ZDLDJEQUFxQztBQUVyQyxJQUFNLFdBQVcsR0FBRyx3SUFLbEIsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLHdCQUFjLElBQUEsaUJBQVMsRUFBQyx5Q0FBeUMsQ0FBQyxDQUFFLENBQUM7QUFFbEYsbUJBQWUsVUFBQyxPQUFnQjtJQUM5QixPQUFPO1NBQ0osT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNmLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQztTQUN4QixPQUFPLENBQUMsVUFBRyxJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsMENBQXVDLENBQUM7U0FDOUQsVUFBVSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQztTQUNwRCxNQUFNLENBQUM7Ozs7O29CQUNBLFFBQVEsR0FBRyxJQUFJLGtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ25CLHFCQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQTs7b0JBQTlCLE1BQU0sR0FBRyxTQUFxQjtvQkFDcEMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Ozs7U0FDdkIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxFQUFDIn0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var chalk_1 = require("chalk");
|
|
43
|
+
var registry_1 = __importDefault(require("@serverless-devs/registry"));
|
|
44
|
+
var utils_1 = require("../../../utils");
|
|
45
|
+
var logger_1 = __importDefault(require("../../../logger"));
|
|
46
|
+
var description = "Login Serverless Registry.\n\nExample:\n $ s registry login\n $ s registry login --token xxxxxxxxxxxxxxx\n $ s registry login --retoken\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://serverless.help/s/registry#login'));
|
|
47
|
+
exports.default = (function (program) {
|
|
48
|
+
program
|
|
49
|
+
.command('login')
|
|
50
|
+
.usage('[options]')
|
|
51
|
+
.description(description)
|
|
52
|
+
.summary("".concat((0, utils_1.emoji)('😃'), " Login Serverless Registry"))
|
|
53
|
+
.option('--token <token>', 'Login by token')
|
|
54
|
+
.option('--retoken', 'Reset login token')
|
|
55
|
+
.option('--get-token', 'Get login token')
|
|
56
|
+
.helpOption('-h, --help', 'Display help for command')
|
|
57
|
+
.action(function (option) { return __awaiter(void 0, void 0, void 0, function () {
|
|
58
|
+
var token, retoken, getToken, registry, t;
|
|
59
|
+
return __generator(this, function (_a) {
|
|
60
|
+
switch (_a.label) {
|
|
61
|
+
case 0:
|
|
62
|
+
token = option.token, retoken = option.retoken, getToken = option.getToken;
|
|
63
|
+
registry = new registry_1.default({});
|
|
64
|
+
if (!token) return [3 /*break*/, 2];
|
|
65
|
+
return [4 /*yield*/, registry.login(token)];
|
|
66
|
+
case 1:
|
|
67
|
+
_a.sent();
|
|
68
|
+
return [2 /*return*/];
|
|
69
|
+
case 2:
|
|
70
|
+
if (!retoken) return [3 /*break*/, 4];
|
|
71
|
+
return [4 /*yield*/, registry.resetToken()];
|
|
72
|
+
case 3:
|
|
73
|
+
_a.sent();
|
|
74
|
+
return [2 /*return*/];
|
|
75
|
+
case 4:
|
|
76
|
+
if (!getToken) return [3 /*break*/, 6];
|
|
77
|
+
return [4 /*yield*/, registry.getToken()];
|
|
78
|
+
case 5:
|
|
79
|
+
t = _a.sent();
|
|
80
|
+
logger_1.default.output(t);
|
|
81
|
+
return [2 /*return*/];
|
|
82
|
+
case 6: return [4 /*yield*/, registry.login()];
|
|
83
|
+
case 7:
|
|
84
|
+
_a.sent();
|
|
85
|
+
return [2 /*return*/];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}); });
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZC9yZWdpc3RyeS9jb21tYW5kL2xvZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsK0JBQWtDO0FBQ2xDLHVFQUFpRDtBQUNqRCx3Q0FBdUM7QUFDdkMsMkRBQXFDO0FBRXJDLElBQU0sV0FBVyxHQUFHLDJKQU9sQixJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsd0JBQWMsSUFBQSxpQkFBUyxFQUFDLDBDQUEwQyxDQUFDLENBQUUsQ0FBQztBQUVuRixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLE9BQU87U0FDSixPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2hCLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQztTQUN4QixPQUFPLENBQUMsVUFBRyxJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsK0JBQTRCLENBQUM7U0FDbkQsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDO1NBQzNDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUM7U0FDeEMsTUFBTSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztTQUN4QyxVQUFVLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDO1NBQ3BELE1BQU0sQ0FBQyxVQUFNLE1BQU07Ozs7O29CQUNWLEtBQUssR0FBd0IsTUFBTSxNQUE5QixFQUFFLE9BQU8sR0FBZSxNQUFNLFFBQXJCLEVBQUUsUUFBUSxHQUFLLE1BQU0sU0FBWCxDQUFZO29CQUV0QyxRQUFRLEdBQUcsSUFBSSxrQkFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUM5QixLQUFLLEVBQUwsd0JBQUs7b0JBQ1AscUJBQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBQTs7b0JBQTNCLFNBQTJCLENBQUM7b0JBQzVCLHNCQUFPOzt5QkFDRSxPQUFPLEVBQVAsd0JBQU87b0JBQ2hCLHFCQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBQTs7b0JBQTNCLFNBQTJCLENBQUM7b0JBQzVCLHNCQUFPOzt5QkFHTCxRQUFRLEVBQVIsd0JBQVE7b0JBQ0EscUJBQU0sUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFBOztvQkFBN0IsQ0FBQyxHQUFHLFNBQXlCO29CQUNuQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakIsc0JBQU87d0JBR1QscUJBQU0sUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFBOztvQkFBdEIsU0FBc0IsQ0FBQzs7OztTQUN4QixDQUFDLENBQUM7QUFDUCxDQUFDLEVBQUMifQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var chalk_1 = require("chalk");
|
|
43
|
+
var registry_1 = __importDefault(require("@serverless-devs/registry"));
|
|
44
|
+
var utils_1 = require("../../../utils");
|
|
45
|
+
var description = "Publish Serverless Registry.\n\nExample:\n $ s registry publish\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://serverless.help/s/registry#publish'));
|
|
46
|
+
exports.default = (function (program) {
|
|
47
|
+
program
|
|
48
|
+
.command('publish')
|
|
49
|
+
.description(description)
|
|
50
|
+
.summary("".concat((0, utils_1.emoji)('✅'), " Public Serverless Package to Serverless Regsitry"))
|
|
51
|
+
.usage('[options]')
|
|
52
|
+
.helpOption('-h, --help', 'Display help for command')
|
|
53
|
+
.action(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
54
|
+
var registry;
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0:
|
|
58
|
+
registry = new registry_1.default({});
|
|
59
|
+
return [4 /*yield*/, registry.publish()];
|
|
60
|
+
case 1:
|
|
61
|
+
_a.sent();
|
|
62
|
+
return [2 /*return*/];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}); });
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kL3JlZ2lzdHJ5L2NvbW1hbmQvcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUFrQztBQUNsQyx1RUFBaUQ7QUFDakQsd0NBQXVDO0FBRXZDLElBQU0sV0FBVyxHQUFHLGlGQUtsQixJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsd0JBQWMsSUFBQSxpQkFBUyxFQUFDLDRDQUE0QyxDQUFDLENBQUUsQ0FBQztBQUVyRixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLE9BQU87U0FDSixPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xCLFdBQVcsQ0FBQyxXQUFXLENBQUM7U0FDeEIsT0FBTyxDQUFDLFVBQUcsSUFBQSxhQUFLLEVBQUMsR0FBRyxDQUFDLHNEQUFtRCxDQUFDO1NBQ3pFLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsVUFBVSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQztTQUNwRCxNQUFNLENBQUM7Ozs7O29CQUNBLFFBQVEsR0FBRyxJQUFJLGtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xDLHFCQUFNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBQTs7b0JBQXhCLFNBQXdCLENBQUM7Ozs7U0FDMUIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxFQUFDIn0=
|