@serverless-devs/s 2.1.15-beta.1 → 3.0.0-beta.2

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 (77) hide show
  1. package/lib/command/clean/index.js +125 -0
  2. package/lib/command/config/command/add.js +100 -0
  3. package/lib/command/config/command/default.js +78 -0
  4. package/lib/command/config/command/get.js +100 -0
  5. package/lib/command/config/command/remove.js +77 -0
  6. package/lib/command/config/command/rename.js +84 -0
  7. package/lib/command/config/index.js +27 -0
  8. package/lib/command/config/utils/index.js +19 -0
  9. package/lib/command/custom/help.js +231 -0
  10. package/lib/command/custom/index.js +177 -0
  11. package/lib/command/custom/types.js +3 -0
  12. package/lib/command/custom/v1/index.js +293 -0
  13. package/lib/command/index.js +95 -0
  14. package/lib/command/init/constant.js +600 -0
  15. package/lib/command/init/index.js +101 -0
  16. package/lib/command/init/manager.js +181 -0
  17. package/lib/command/registry/command/detail.js +71 -0
  18. package/lib/command/registry/command/list.js +69 -0
  19. package/lib/command/registry/command/login.js +90 -0
  20. package/lib/command/registry/command/publish.js +67 -0
  21. package/lib/command/registry/command/remove.js +70 -0
  22. package/lib/command/registry/index.js +27 -0
  23. package/lib/command/set/command/analysis.js +94 -0
  24. package/lib/command/set/command/log.js +94 -0
  25. package/lib/command/set/command/proxy.js +98 -0
  26. package/lib/command/set/command/registry.js +115 -0
  27. package/lib/command/set/index.js +25 -0
  28. package/lib/constant.js +23 -6
  29. package/lib/error/human-error.js +14 -19
  30. package/lib/error/human-warning.js +5 -7
  31. package/lib/error/index.js +5 -84
  32. package/lib/error/serverless-error.js +2 -9
  33. package/lib/i18n/en.js +4 -0
  34. package/lib/i18n/index.js +16 -0
  35. package/lib/i18n/zh.js +4 -0
  36. package/lib/index.js +803 -253
  37. package/lib/logger.js +82 -0
  38. package/lib/utils/check-node-version.js +15 -0
  39. package/lib/utils/get-pid.js +55 -0
  40. package/lib/utils/index.js +38 -34
  41. package/lib/utils/set-proxy.js +21 -0
  42. package/package.json +24 -36
  43. package/lib/check-node-version/index.js +0 -15
  44. package/lib/clean/index.js +0 -166
  45. package/lib/cli/index.js +0 -223
  46. package/lib/component/index.js +0 -286
  47. package/lib/config/add/index.js +0 -190
  48. package/lib/config/common/common.js +0 -194
  49. package/lib/config/delete/index.js +0 -121
  50. package/lib/config/get/index.js +0 -130
  51. package/lib/config/index.js +0 -39
  52. package/lib/config/rename/index.js +0 -132
  53. package/lib/edit/index.js +0 -104
  54. package/lib/execDaemon.js +0 -35
  55. package/lib/global-agent/index.js +0 -22
  56. package/lib/help/index.js +0 -158
  57. package/lib/init/index.js +0 -105
  58. package/lib/init/init-config.js +0 -606
  59. package/lib/init/init-manager.js +0 -222
  60. package/lib/onboarding/index.js +0 -111
  61. package/lib/set/analysis/index.js +0 -118
  62. package/lib/set/index.js +0 -40
  63. package/lib/set/locale/index.js +0 -118
  64. package/lib/set/log/index.js +0 -118
  65. package/lib/set/proxy/index.js +0 -123
  66. package/lib/set/registry/index.js +0 -146
  67. package/lib/set/workspace/index.js +0 -119
  68. package/lib/special-commad/index.js +0 -156
  69. package/lib/update-notifier/index.js +0 -147
  70. package/lib/utils/common.js +0 -347
  71. package/lib/utils/core.js +0 -49
  72. package/lib/utils/handler-set-config.js +0 -130
  73. package/lib/utils/i18n/en.js +0 -46
  74. package/lib/utils/i18n/index.js +0 -16
  75. package/lib/utils/i18n/zh.js +0 -46
  76. package/lib/utils/logger.js +0 -12
  77. package/lib/verify/index.js +0 -224
@@ -0,0 +1,125 @@
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 fs_1 = __importDefault(require("fs"));
43
+ var chalk_1 = require("chalk");
44
+ var utils_1 = require("../../utils");
45
+ var utils_2 = require("@serverless-devs/utils");
46
+ var path_1 = __importDefault(require("path"));
47
+ var logger_1 = __importDefault(require("../../logger"));
48
+ var rimraf = require('rimraf');
49
+ var description = "Clean up the cache related functions of serverless devs. You can clean up the environment, unused dependent packages and related cache contents through this command.\n \n Example:\n $ s clean --component fc-api\n $ s clean --all\n\n Tips:\n Get all installed component: s component\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://serverless.help/s/clean'));
50
+ function cleanLogs() {
51
+ var sPath = (0, utils_2.getRootHome)();
52
+ var p = path_1.default.join(sPath, 'logs');
53
+ rimraf.sync(p);
54
+ logger_1.default.info('Logs cleaned up successfully.');
55
+ }
56
+ function cleanCache(cache) {
57
+ var sPath = (0, utils_2.getRootHome)();
58
+ var cachePath = path_1.default.join(sPath, 'cache');
59
+ // cache 无参数
60
+ if (cache === true) {
61
+ rimraf.sync(cachePath);
62
+ logger_1.default.info('Cache cleaned up successfully.');
63
+ return;
64
+ }
65
+ // cache 有参数
66
+ rimraf.sync(path_1.default.join(cachePath, cache));
67
+ logger_1.default.info("Cache [".concat(cache, "] has been cleaned up successfully."));
68
+ }
69
+ function cleanComponent(component) {
70
+ var sPath = (0, utils_2.getRootHome)();
71
+ var componentsPath = path_1.default.join(sPath, 'components');
72
+ if (component === true) {
73
+ rimraf.sync(componentsPath);
74
+ logger_1.default.info('Component cleaned up successfully.');
75
+ return;
76
+ }
77
+ var registryPath = [path_1.default.join(componentsPath, 'github.com'), path_1.default.join(componentsPath, 'devsapp.cn')];
78
+ for (var _i = 0, registryPath_1 = registryPath; _i < registryPath_1.length; _i++) {
79
+ var registry = registryPath_1[_i];
80
+ var p = path_1.default.join(registry, component);
81
+ if (fs_1.default.existsSync(p)) {
82
+ rimraf.sync(p);
83
+ }
84
+ }
85
+ logger_1.default.info("Component [".concat(component, "] has been cleaned up successfully."));
86
+ }
87
+ exports.default = (function (program) {
88
+ program
89
+ .command('clean')
90
+ .usage('[options]')
91
+ .description(description)
92
+ .summary("".concat((0, utils_1.emoji)('💥'), " Clean up the environment."))
93
+ .option('--all', 'Clean up the environment')
94
+ .option('--logs', 'Clean logs')
95
+ .option('--cache [dirName]', 'Delete the <dirName> file in the cache')
96
+ .option('--component [componentName]', 'Remove component (like: fc, fc@0.0.1)')
97
+ .helpOption('-h, --help', 'Display help for command')
98
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
99
+ var all, cache, component, logs;
100
+ return __generator(this, function (_a) {
101
+ all = options.all, cache = options.cache, component = options.component, logs = options.logs;
102
+ if (all) {
103
+ cleanComponent(true);
104
+ cleanCache(true);
105
+ cleanLogs();
106
+ logger_1.default.info('The environment of Serverless Devs has been cleaned up successfully.');
107
+ return [2 /*return*/];
108
+ }
109
+ if (logs) {
110
+ cleanLogs();
111
+ }
112
+ if (component) {
113
+ cleanComponent(component);
114
+ return [2 /*return*/];
115
+ }
116
+ if (cache) {
117
+ cleanCache(cache);
118
+ return [2 /*return*/];
119
+ }
120
+ logger_1.default.error("There are no specified parameters. If you need to clear all caches, please specify 's clean --all'. For more information, please use 's clean --help' to view");
121
+ return [2 /*return*/];
122
+ });
123
+ }); });
124
+ });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC9jbGVhbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUFvQjtBQUVwQiwrQkFBa0M7QUFDbEMscUNBQW9DO0FBQ3BDLGdEQUFxRDtBQUNyRCw4Q0FBd0I7QUFDeEIsd0RBQWtDO0FBRWxDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxJQUFNLFdBQVcsR0FBRyx1VEFTbEIsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLHdCQUFjLElBQUEsaUJBQVMsRUFBQyxpQ0FBaUMsQ0FBQyxDQUFFLENBQUM7QUFFMUUsU0FBUyxTQUFTO0lBQ2hCLElBQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsR0FBRSxDQUFDO0lBQzVCLElBQU0sQ0FBQyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDZixnQkFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUF1QjtJQUN6QyxJQUFNLEtBQUssR0FBRyxJQUFBLG1CQUFXLEdBQUUsQ0FBQztJQUM1QixJQUFNLFNBQVMsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU1QyxZQUFZO0lBQ1osSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUM5QyxPQUFPO0tBQ1I7SUFDRCxZQUFZO0lBQ1osTUFBTSxDQUFD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
@@ -0,0 +1,100 @@
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 credential_1 = __importDefault(require("@serverless-devs/credential"));
43
+ var chalk_1 = require("chalk");
44
+ var utils_1 = require("../../../utils");
45
+ var error_1 = require("../../../error");
46
+ var utils_2 = require("../utils");
47
+ var logger_1 = __importDefault(require("../../../logger"));
48
+ var description = "You can add an account\n\n Example:\n $ s config add\n $ s config add --AccessKey ****** --SecretKey ******\n $ s config add --AccessKeyID ****** --AccessKeySecret ****** --AccountID ****** --SecurityToken ******\n $ s config add --keyList key1,key2,key3 --valueList value1,value2,value3\n\n Configuration parameters template for vendors:\n alibaba: AccessKeyID, AccessKeySecret\n aws: AccessKeyID, SecretAccessKey\n baidu: AccessKeyID, SecretAccessKey\n huawei: AccessKey, SecretKey\n google: PrivateKeyData\n tencent: AccountID, SecretID, SecretKey\n\n".concat((0, utils_1.emoji)('🧭'), " How to get the key: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/docs/tree/master/zh/others/provider-config'));
49
+ exports.default = (function (program) {
50
+ var command = program.command('add');
51
+ command
52
+ .usage('[options]')
53
+ .description(description)
54
+ .summary("".concat((0, utils_1.emoji)((0, chalk_1.bold)('+')), " Add an account"))
55
+ .option('--AccountID <AccountID>', 'AccountID of key information')
56
+ .option('--AccessKeyID <AccessKeyID>', 'AccessKeyID of key information')
57
+ .option('--AccessKeySecret <AccessKeySecret>', 'AccessKeySecret of key information')
58
+ .option('--SecurityToken <SecurityToken>', 'SecurityToken of key information')
59
+ .option('--SecretAccessKey <SecretAccessKey>', 'SecretAccessKey of key information')
60
+ .option('--AccessKey <AccessKey>', 'AccessKey of key information')
61
+ .option('--SecretKey <SecretKey>', 'SecretKey of key information')
62
+ .option('--SecretID <SecretID>', 'SecretID of key information')
63
+ .option('--PrivateKeyData <PrivateKeyData>', 'PrivateKeyData of key information')
64
+ .option('--kl, --keyList <keyList>', 'Keys of key information, like: --kl key1,key2,key3')
65
+ .option('--il, --infoList <infoList>', 'Values of key information, like: --il info1,info2,info3')
66
+ .option('-a, --access <aliasName>', 'Specify the access alias name.')
67
+ .option('-b, --bbb <aliasName>', 'Specify the access alias name.')
68
+ .option('-f', 'Mandatory overwrite key information')
69
+ .helpOption('-h, --help', 'Display help for command')
70
+ // .allowUnknownOption()
71
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
72
+ var credential, result, err_1;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ _a.trys.push([0, 2, , 4]);
77
+ console.log('???', command.optsWithGlobals());
78
+ credential = new credential_1.default({ logger: logger_1.default });
79
+ return [4 /*yield*/, credential.set(options)];
80
+ case 1:
81
+ result = _a.sent();
82
+ if (result) {
83
+ logger_1.default.output({
84
+ Alias: result.access,
85
+ Credential: (0, utils_2.handleSecret)(result.credential),
86
+ });
87
+ }
88
+ return [3 /*break*/, 4];
89
+ case 2:
90
+ err_1 = _a.sent();
91
+ return [4 /*yield*/, (0, error_1.HandleError)(err_1)];
92
+ case 3:
93
+ _a.sent();
94
+ return [3 /*break*/, 4];
95
+ case 4: return [2 /*return*/];
96
+ }
97
+ });
98
+ }); });
99
+ });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQvY29uZmlnL2NvbW1hbmQvYWRkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQXFEO0FBRXJELCtCQUF3QztBQUN4Qyx3Q0FBdUM7QUFDdkMsd0NBQTZDO0FBQzdDLGtDQUF3QztBQUN4QywyREFBcUM7QUFFckMsSUFBTSxXQUFXLEdBQUcsZ29CQWdCbEIsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLGtDQUF3QixJQUFBLGlCQUFTLEVBQzVDLCtFQUErRSxDQUNoRixDQUFFLENBQUM7QUFFSixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTztTQUNKLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQztTQUN4QixPQUFPLENBQUMsVUFBRyxJQUFBLGFBQUssRUFBQyxJQUFBLFlBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxvQkFBaUIsQ0FBQztTQUM3QyxNQUFNLENBQUMseUJBQXlCLEVBQUUsOEJBQThCLENBQUM7U0FDakUsTUFBTSxDQUFDLDZCQUE2QixFQUFFLGdDQUFnQyxDQUFDO1NBQ3ZFLE1BQU0sQ0FBQyxxQ0FBcUMsRUFBRSxvQ0FBb0MsQ0FBQztTQUNuRixNQUFNLENBQUMsaUNBQWlDLEVBQUUsa0NBQWtDLENBQUM7U0FDN0UsTUFBTSxDQUFDLHFDQUFxQyxFQUFFLG9DQUFvQyxDQUFDO1NBQ25GLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSw4QkFBOEIsQ0FBQztTQUNqRSxNQUFNLENBQUMseUJBQXlCLEVBQUUsOEJBQThCLENBQUM7U0FDakUsTUFBTSxDQUFDLHVCQUF1QixFQUFFLDZCQUE2QixDQUFDO1NBQzlELE1BQU0sQ0FBQyxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBQztTQUNoRixNQUFNLENBQUMsMkJBQTJCLEVBQUUsb0RBQW9ELENBQUM7U0FDekYsTUFBTSxDQUFDLDZCQUE2QixFQUFFLHlEQUF5RCxDQUFDO1NBQ2hHLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxnQ0FBZ0MsQ0FBQztTQUNwRSxNQUFNLENBQUMsdUJBQXVCLEVBQUUsZ0NBQWdDLENBQUM7U0FDakUsTUFBTSxDQUFDLElBQUksRUFBRSxxQ0FBcUMsQ0FBQztTQUNuRCxVQUFVLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDO1FBQ3JELHdCQUF3QjtTQUN2QixNQUFNLENBQUMsVUFBTSxPQUFPOzs7Ozs7b0JBRWpCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO29CQUN4QyxVQUFVLEdBQUcsSUFBSSxvQkFBVSxDQUFDLEVBQUUsTUFBTSxrQkFBQSxFQUFFLENBQUMsQ0FBQztvQkFDL0IscUJBQU0sVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0JBQXRDLE1BQU0sR0FBRyxTQUE2QjtvQkFDNUMsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7NEJBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNOzRCQUNwQixVQUFVLEVBQUUsSUFBQSxvQkFBWSxFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7eUJBQzVDLENBQUMsQ0FBQztxQkFDSjs7OztvQkFFRCxxQkFBTSxJQUFBLG1CQUFXLEVBQUMsS0FBRyxDQUFDLEVBQUE7O29CQUF0QixTQUFzQixDQUFDOzs7OztTQUUxQixDQUFDLENBQUM7QUFDUCxDQUFDLEVBQUMifQ==
@@ -0,0 +1,78 @@
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 credential_1 = __importDefault(require("@serverless-devs/credential"));
43
+ var chalk_1 = require("chalk");
44
+ var utils_1 = require("../../../utils");
45
+ var error_1 = require("../../../error");
46
+ var logger_1 = __importDefault(require("../../../logger"));
47
+ var description = "Specify an access as the default.\n \n Example:\n $ s config default\n $ s config default -a demo\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/tree/master/docs/zh/command/config.md'));
48
+ exports.default = (function (program) {
49
+ var command = program.command('default', { hidden: true });
50
+ command
51
+ .usage('[options]')
52
+ .description(description)
53
+ .summary("".concat((0, utils_1.emoji)((0, chalk_1.bold)('-')), " Set default accounts"))
54
+ .option('-a, --access <aliasName>', 'Specify the access alias name.')
55
+ .helpOption('-h, --help', 'Display help for command')
56
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
57
+ var credential, error_2;
58
+ return __generator(this, function (_a) {
59
+ switch (_a.label) {
60
+ case 0:
61
+ _a.trys.push([0, 2, , 4]);
62
+ credential = new credential_1.default({ logger: logger_1.default });
63
+ return [4 /*yield*/, credential.default(options.access)];
64
+ case 1:
65
+ _a.sent();
66
+ return [3 /*break*/, 4];
67
+ case 2:
68
+ error_2 = _a.sent();
69
+ return [4 /*yield*/, (0, error_1.HandleError)(error_2)];
70
+ case 3:
71
+ _a.sent();
72
+ return [3 /*break*/, 4];
73
+ case 4: return [2 /*return*/];
74
+ }
75
+ });
76
+ }); });
77
+ });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kL2NvbmZpZy9jb21tYW5kL2RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyRUFBcUQ7QUFFckQsK0JBQXdDO0FBQ3hDLHdDQUF1QztBQUN2Qyx3Q0FBNkM7QUFDN0MsMkRBQXFDO0FBRXJDLElBQU0sV0FBVyxHQUFHLDJIQU1sQixJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsd0JBQWMsSUFBQSxpQkFBUyxFQUNsQywwRkFBMEYsQ0FDM0YsQ0FBRSxDQUFDO0FBRUosbUJBQWUsVUFBQyxPQUFnQjtJQUM5QixJQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTdELE9BQU87U0FDSixLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ2xCLFdBQVcsQ0FBQyxXQUFXLENBQUM7U0FDeEIsT0FBTyxDQUFDLFVBQUcsSUFBQSxhQUFLLEVBQUMsSUFBQSxZQUFJLEVBQUMsR0FBRyxDQUFDLENBQUMsMEJBQXVCLENBQUM7U0FDbkQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLGdDQUFnQyxDQUFDO1NBQ3BFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUM7U0FDcEQsTUFBTSxDQUFDLFVBQU0sT0FBTzs7Ozs7O29CQUVYLFVBQVUsR0FBRyxJQUFJLG9CQUFVLENBQUMsRUFBRSxNQUFNLGtCQUFBLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxxQkFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQXhDLFNBQXdDLENBQUM7Ozs7b0JBRXpDLHFCQUFNLElBQUEsbUJBQVcsRUFBQyxPQUFLLENBQUMsRUFBQTs7b0JBQXhCLFNBQXdCLENBQUM7Ozs7O1NBRTVCLENBQUMsQ0FBQztBQUNQLENBQUMsRUFBQyJ9
@@ -0,0 +1,100 @@
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 credential_1 = __importDefault(require("@serverless-devs/credential"));
43
+ var chalk_1 = require("chalk");
44
+ var utils_1 = require("../../../utils");
45
+ var error_1 = require("../../../error");
46
+ var utils_2 = require("../utils");
47
+ var logger_1 = __importDefault(require("../../../logger"));
48
+ var description = "You can get accounts.\n \n Example:\n $ s config get\n $ s config get -a demo\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/tree/master/docs/zh/command/config.md'));
49
+ exports.default = (function (program) {
50
+ var command = program.command('get');
51
+ command
52
+ .usage('[options]')
53
+ .description(description)
54
+ .summary("".concat((0, utils_1.emoji)((0, chalk_1.bold)('√')), " Get accounts"))
55
+ .option('-a, --access <aliasName>', 'Specify the access alias name.')
56
+ .helpOption('-h, --help', 'Display help for command')
57
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
58
+ var credential, result, result, show, alias, value, error_2, msg;
59
+ return __generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0:
62
+ _a.trys.push([0, 5, , 7]);
63
+ credential = new credential_1.default({ logger: logger_1.default });
64
+ if (!options.access) return [3 /*break*/, 2];
65
+ return [4 /*yield*/, credential.get(options.access)];
66
+ case 1:
67
+ result = _a.sent();
68
+ logger_1.default.output({
69
+ Alias: result.access,
70
+ Credential: (0, utils_2.handleSecret)(result.credential),
71
+ });
72
+ return [3 /*break*/, 4];
73
+ case 2: return [4 /*yield*/, credential.getAll()];
74
+ case 3:
75
+ result = _a.sent();
76
+ show = {};
77
+ for (alias in result) {
78
+ value = result[alias];
79
+ show[alias] = (0, utils_2.handleSecret)(value);
80
+ }
81
+ logger_1.default.output(show);
82
+ _a.label = 4;
83
+ case 4: return [3 /*break*/, 7];
84
+ case 5:
85
+ error_2 = _a.sent();
86
+ if (error_2.message.includes('Not found access')) {
87
+ msg = "\n ".concat((0, utils_1.emoji)('🤔'), " You have not yet been found to have configured key information.\n ").concat((0, utils_1.emoji)('🧭'), " You can use [s config add] for key configuration, or use [s config add -h] to view configuration help.\n ").concat((0, utils_1.emoji)('😈'), " If you have questions, please tell us: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/issues'));
88
+ logger_1.default.write(msg);
89
+ return [2 /*return*/];
90
+ }
91
+ return [4 /*yield*/, (0, error_1.HandleError)(error_2)];
92
+ case 6:
93
+ _a.sent();
94
+ return [3 /*break*/, 7];
95
+ case 7: return [2 /*return*/];
96
+ }
97
+ });
98
+ }); });
99
+ });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQvY29uZmlnL2NvbW1hbmQvZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQXFEO0FBRXJELCtCQUF3QztBQUN4Qyx3Q0FBdUM7QUFDdkMsd0NBQTZDO0FBQzdDLGtDQUF3QztBQUN4QywyREFBcUM7QUFFckMsSUFBTSxXQUFXLEdBQUcsc0dBTWxCLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3QkFBYyxJQUFBLGlCQUFTLEVBQ2xDLDBGQUEwRixDQUMzRixDQUFFLENBQUM7QUFFSixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTztTQUNKLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQztTQUN4QixPQUFPLENBQUMsVUFBRyxJQUFBLGFBQUssRUFBQyxJQUFBLFlBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxrQkFBZSxDQUFDO1NBQzNDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxnQ0FBZ0MsQ0FBQztTQUNwRSxVQUFVLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDO1NBQ3BELE1BQU0sQ0FBQyxVQUFNLE9BQU87Ozs7OztvQkFFWCxVQUFVLEdBQUcsSUFBSSxvQkFBVSxDQUFDLEVBQUUsTUFBTSxrQkFBQSxFQUFFLENBQUMsQ0FBQzt5QkFDMUMsT0FBTyxDQUFDLE1BQU0sRUFBZCx3QkFBYztvQkFDRCxxQkFBTSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQTdDLE1BQU0sR0FBRyxTQUFvQztvQkFFbkQsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7d0JBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNO3dCQUNwQixVQUFVLEVBQUUsSUFBQSxvQkFBWSxFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7cUJBQzVDLENBQUMsQ0FBQzs7d0JBRVkscUJBQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFBOztvQkFBbEMsTUFBTSxHQUFHLFNBQXlCO29CQUNsQyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNoQixLQUFXLEtBQUssSUFBSSxNQUFNLEVBQUU7d0JBQ3BCLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFBLG9CQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25DO29CQUNELGdCQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztvQkFHdEIsSUFBSSxPQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO3dCQUN4QyxHQUFHLEdBQUcsY0FDbEIsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLGlGQUNYLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3SEFDWCxJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMscURBQTJDLElBQUEsaUJBQVMsRUFDdkQsMkRBQTJELENBQzVELENBQUUsQ0FBQzt3QkFDSixnQkFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEIsc0JBQU87cUJBQ1I7b0JBQ0QscUJBQU0sSUFBQSxtQkFBVyxFQUFDLE9BQUssQ0FBQyxFQUFBOztvQkFBeEIsU0FBd0IsQ0FBQzs7Ozs7U0FFNUIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxFQUFDIn0=
@@ -0,0 +1,77 @@
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
+ var credential_1 = __importDefault(require("@serverless-devs/credential"));
42
+ var chalk_1 = require("chalk");
43
+ var utils_1 = require("../../../utils");
44
+ var error_1 = require("../../../error");
45
+ var logger_1 = __importDefault(require("../../../logger"));
46
+ var description = "You can delete an account.\n \n Example:\n $ s config delete -a demo\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/tree/master/docs/zh/command/config.md'));
47
+ module.exports = function (program) {
48
+ var command = program.command('delete');
49
+ command
50
+ .usage('[options]')
51
+ .description(description)
52
+ .summary("".concat((0, utils_1.emoji)((0, chalk_1.bold)('×')), " Delete an account"))
53
+ .option('-a, --access <aliasName>', 'Specify the access alias name.')
54
+ .helpOption('-h, --help', 'Display help for command')
55
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
56
+ var credential, error_2;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ _a.trys.push([0, 2, , 4]);
61
+ credential = new credential_1.default({ logger: logger_1.default });
62
+ return [4 /*yield*/, credential.remove(options.access)];
63
+ case 1:
64
+ _a.sent();
65
+ return [3 /*break*/, 4];
66
+ case 2:
67
+ error_2 = _a.sent();
68
+ return [4 /*yield*/, (0, error_1.HandleError)(error_2)];
69
+ case 3:
70
+ _a.sent();
71
+ return [3 /*break*/, 4];
72
+ case 4: return [2 /*return*/];
73
+ }
74
+ });
75
+ }); });
76
+ };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQvY29uZmlnL2NvbW1hbmQvcmVtb3ZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyRUFBcUQ7QUFFckQsK0JBQXdDO0FBQ3hDLHdDQUF1QztBQUN2Qyx3Q0FBNkM7QUFDN0MsMkRBQXFDO0FBRXJDLElBQU0sV0FBVyxHQUFHLDJGQUtsQixJQUFBLGFBQUssRUFBQyxJQUFJLENBQUMsd0JBQWMsSUFBQSxpQkFBUyxFQUNsQywwRkFBMEYsQ0FDM0YsQ0FBRSxDQUFDO0FBRUosaUJBQVMsVUFBQyxPQUFnQjtJQUN4QixJQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFDLE9BQU87U0FDSixLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ2xCLFdBQVcsQ0FBQyxXQUFXLENBQUM7U0FDeEIsT0FBTyxDQUFDLFVBQUcsSUFBQSxhQUFLLEVBQUMsSUFBQSxZQUFJLEVBQUMsR0FBRyxDQUFDLENBQUMsdUJBQW9CLENBQUM7U0FDaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLGdDQUFnQyxDQUFDO1NBQ3BFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUM7U0FDcEQsTUFBTSxDQUFDLFVBQU0sT0FBTzs7Ozs7O29CQUVYLFVBQVUsR0FBRyxJQUFJLG9CQUFVLENBQUMsRUFBRSxNQUFNLGtCQUFBLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxxQkFBTSxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQXZDLFNBQXVDLENBQUM7Ozs7b0JBRXhDLHFCQUFNLElBQUEsbUJBQVcsRUFBQyxPQUFLLENBQUMsRUFBQTs7b0JBQXhCLFNBQXdCLENBQUM7Ozs7O1NBRTVCLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyJ9
@@ -0,0 +1,84 @@
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 credential_1 = __importDefault(require("@serverless-devs/credential"));
43
+ var chalk_1 = require("chalk");
44
+ var utils_1 = require("../../../utils");
45
+ var error_1 = require("../../../error");
46
+ var utils_2 = require("../utils");
47
+ var logger_1 = __importDefault(require("../../../logger"));
48
+ var description = "You can rename an account.\n \n Example:\n $ s config rename -s source -t target\n \n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/tree/master/docs/zh/command/config.md'));
49
+ exports.default = (function (program) {
50
+ var command = program.command('rename');
51
+ command
52
+ .usage('[options]')
53
+ .description(description)
54
+ .summary("".concat((0, utils_1.emoji)((0, chalk_1.bold)('>')), " Rename an account"))
55
+ .option('-s, --source <source>', 'Source alias name')
56
+ .option('-t, --target <target>', 'Target alias name')
57
+ .helpOption('-h, --help', 'Display help for command')
58
+ .action(function (options) { return __awaiter(void 0, void 0, void 0, function () {
59
+ var credential, result, err_1;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ _a.trys.push([0, 2, , 4]);
64
+ credential = new credential_1.default({ logger: logger_1.default });
65
+ return [4 /*yield*/, credential.rename(options)];
66
+ case 1:
67
+ result = _a.sent();
68
+ logger_1.default.output({
69
+ Alias: result.access,
70
+ credential: (0, utils_2.handleSecret)(result.credential),
71
+ });
72
+ return [3 /*break*/, 4];
73
+ case 2:
74
+ err_1 = _a.sent();
75
+ return [4 /*yield*/, (0, error_1.HandleError)(err_1)];
76
+ case 3:
77
+ _a.sent();
78
+ return [3 /*break*/, 4];
79
+ case 4: return [2 /*return*/];
80
+ }
81
+ });
82
+ }); });
83
+ });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQvY29uZmlnL2NvbW1hbmQvcmVuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQXFEO0FBRXJELCtCQUF3QztBQUN4Qyx3Q0FBdUM7QUFDdkMsd0NBQTZDO0FBQzdDLGtDQUF3QztBQUN4QywyREFBcUM7QUFFckMsSUFBTSxXQUFXLEdBQUcsdUdBS2xCLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3QkFBYyxJQUFBLGlCQUFTLEVBQ2xDLDBGQUEwRixDQUMzRixDQUFFLENBQUM7QUFFSixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFMUMsT0FBTztTQUNKLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQztTQUN4QixPQUFPLENBQUMsVUFBRyxJQUFBLGFBQUssRUFBQyxJQUFBLFlBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyx1QkFBb0IsQ0FBQztTQUNoRCxNQUFNLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7U0FDcEQsTUFBTSxDQUFDLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDO1NBQ3BELFVBQVUsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUM7U0FDcEQsTUFBTSxDQUFDLFVBQU0sT0FBTzs7Ozs7O29CQUVYLFVBQVUsR0FBRyxJQUFJLG9CQUFVLENBQUMsRUFBRSxNQUFNLGtCQUFBLEVBQUUsQ0FBQyxDQUFDO29CQUMvQixxQkFBTSxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFBekMsTUFBTSxHQUFHLFNBQWdDO29CQUMvQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU07d0JBQ3BCLFVBQVUsRUFBRSxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztxQkFDNUMsQ0FBQyxDQUFDOzs7O29CQUVILHFCQUFNLElBQUEsbUJBQVcsRUFBQyxLQUFHLENBQUMsRUFBQTs7b0JBQXRCLFNBQXNCLENBQUM7Ozs7O1NBRTFCLENBQUMsQ0FBQztBQUNQLENBQUMsRUFBQyJ9
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var utils_1 = require("../../utils");
7
+ var chalk_1 = require("chalk");
8
+ var add_1 = __importDefault(require("./command/add"));
9
+ var get_1 = __importDefault(require("./command/get"));
10
+ var default_1 = __importDefault(require("./command/default"));
11
+ var rename_1 = __importDefault(require("./command/rename"));
12
+ var remove_1 = __importDefault(require("./command/remove"));
13
+ var description = "Configure venders account, including Alibaba Cloud, Baidu Cloud, Huawei Cloud, Tencent Cloud, etc.\n\n".concat((0, utils_1.emoji)('📖'), " Document: ").concat((0, chalk_1.underline)('https://github.com/Serverless-Devs/Serverless-Devs/tree/master/docs/zh/command/config.md'));
14
+ exports.default = (function (program) {
15
+ var configProgram = program.command('config');
16
+ configProgram
17
+ .description(description)
18
+ .summary("".concat((0, utils_1.emoji)('👤'), " Configure venders account."))
19
+ .usage('[commands] [options]')
20
+ .helpOption('-h, --help', 'Display help for command');
21
+ (0, add_1.default)(configProgram);
22
+ (0, get_1.default)(configProgram);
23
+ (0, remove_1.default)(configProgram);
24
+ (0, rename_1.default)(configProgram);
25
+ (0, default_1.default)(configProgram);
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxxQ0FBb0M7QUFDcEMsK0JBQWtDO0FBQ2xDLHNEQUFtQztBQUNuQyxzREFBbUM7QUFDbkMsOERBQTJDO0FBQzNDLDREQUF5QztBQUN6Qyw0REFBeUM7QUFFekMsSUFBTSxXQUFXLEdBQUcsZ0hBRWxCLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyx3QkFBYyxJQUFBLGlCQUFTLEVBQ2xDLDBGQUEwRixDQUMzRixDQUFFLENBQUM7QUFFSixtQkFBZSxVQUFDLE9BQWdCO0lBQzlCLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFaEQsYUFBYTtTQUNWLFdBQVcsQ0FBQyxXQUFXLENBQUM7U0FDeEIsT0FBTyxDQUFDLFVBQUcsSUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDLGdDQUE2QixDQUFDO1NBQ3BELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztTQUM3QixVQUFVLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDLENBQUM7SUFFeEQsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEIsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEIsSUFBQSxnQkFBUyxFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pCLElBQUEsZ0JBQVMsRUFBQyxhQUFhLENBQUMsQ0FBQztJQUN6QixJQUFBLGlCQUFVLEVBQUMsYUFBYSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxFQUFDIn0=
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleSecret = void 0;
4
+ var utils_1 = require("@serverless-devs/utils");
5
+ var handleSecret = function (credential) {
6
+ var show = {};
7
+ for (var key in credential) {
8
+ var value = credential[key];
9
+ if (key.startsWith('__')) {
10
+ show[key] = value;
11
+ }
12
+ else {
13
+ show[key] = (0, utils_1.fieldEncryption)(value);
14
+ }
15
+ }
16
+ return show;
17
+ };
18
+ exports.handleSecret = handleSecret;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZC9jb25maWcvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQXlEO0FBRWxELElBQU0sWUFBWSxHQUFHLFVBQUMsVUFBa0M7SUFDN0QsSUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLEtBQUssSUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO1FBQzVCLElBQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFYVyxRQUFBLFlBQVksZ0JBV3ZCIn0=