@serverless-devs/s 2.0.96 → 2.0.97-beta.6
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/Makefile +26 -0
- package/lib/clean/index.js +34 -31
- package/lib/cli/cli-manager.js +10 -10
- package/lib/cli/index.js +52 -52
- package/lib/component/index.js +51 -144
- package/lib/config/add/index.js +36 -33
- package/lib/config/delete/index.js +47 -47
- package/lib/config/get/index.js +40 -37
- package/lib/config/index.js +35 -32
- package/lib/core/command/command-manager.js +5 -5
- package/lib/core/component/hook.js +4 -4
- package/lib/core/component/index.js +9 -9
- package/lib/error/human-error.js +5 -5
- package/lib/error/human-warning.js +4 -4
- package/lib/error/index.js +19 -14
- package/lib/index.js +109 -120
- package/lib/init/index.js +97 -97
- package/lib/init/init-manager.js +11 -11
- package/lib/onboarding/index.js +5 -5
- package/lib/set/analysis/index.js +37 -34
- package/lib/set/index.js +35 -32
- package/lib/set/locale/index.js +49 -49
- package/lib/set/registry/index.js +49 -49
- package/lib/set/workspace/index.js +38 -35
- package/lib/specification/parse.js +10 -10
- package/lib/update-notifier/index.js +17 -17
- package/lib/utils/command-util.js +74 -57
- package/lib/utils/common.js +40 -13
- package/lib/utils/index.js +3 -3
- package/package.json +5 -4
- package/.eslintrc.json +0 -112
- package/.prettierrc.json +0 -11
- package/CODE_OF_CONDUCT.md +0 -5
- package/CONTRIBUTING.md +0 -189
- package/CONTRIBUTORS.md +0 -148
- package/docs/readme.md +0 -100
- package/docs/zh/awesome.md +0 -20
- package/docs/zh/cicd.md +0 -231
- package/docs/zh/cli_design.md +0 -100
- package/docs/zh/command/clean.md +0 -63
- package/docs/zh/command/cli.md +0 -92
- package/docs/zh/command/component.md +0 -75
- package/docs/zh/command/config.md +0 -274
- package/docs/zh/command/custom.md +0 -73
- package/docs/zh/command/init.md +0 -149
- package/docs/zh/command/readme.md +0 -76
- package/docs/zh/command/set.md +0 -195
- package/docs/zh/default_provider_config/alibabacloud.md +0 -82
- package/docs/zh/default_provider_config/aws.md +0 -12
- package/docs/zh/default_provider_config/azure.md +0 -9
- package/docs/zh/default_provider_config/baiducloud.md +0 -8
- package/docs/zh/default_provider_config/gcp.md +0 -21
- package/docs/zh/default_provider_config/huaweicloud.md +0 -52
- package/docs/zh/default_provider_config/readme.md +0 -9
- package/docs/zh/default_provider_config/tencentcloud.md +0 -41
- package/docs/zh/install.md +0 -52
- package/docs/zh/package_dev.md +0 -142
- package/docs/zh/quick_start.md +0 -297
- package/docs/zh/readme.md +0 -92
- package/docs/zh/tool.md +0 -101
- package/docs/zh/yaml.md +0 -207
- package/docs/zh/yaml_and_cli.md +0 -67
- package/jest.setup.ts +0 -37
- package/lib/clean/index.d.ts +0 -1
- package/lib/cli/cli-manager.d.ts +0 -13
- package/lib/cli/index.d.ts +0 -2
- package/lib/component/index.d.ts +0 -1
- package/lib/config/add/index.d.ts +0 -1
- package/lib/config/common/common.d.ts +0 -46
- package/lib/config/delete/index.d.ts +0 -2
- package/lib/config/get/index.d.ts +0 -1
- package/lib/config/index.d.ts +0 -2
- package/lib/constants/index.d.ts +0 -0
- package/lib/constants/static-variable.d.ts +0 -4
- package/lib/core/command/command-manager.d.ts +0 -12
- package/lib/core/component/hook.d.ts +0 -17
- package/lib/core/component/index.d.ts +0 -53
- package/lib/core/index.d.ts +0 -2
- package/lib/core/plugin/index.d.ts +0 -13
- package/lib/entiry/cli.d.ts +0 -27
- package/lib/entiry/index.d.ts +0 -2
- package/lib/error/command-error.d.ts +0 -5
- package/lib/error/config-delete-error.d.ts +0 -5
- package/lib/error/config-error.d.ts +0 -5
- package/lib/error/config-get-error.d.ts +0 -5
- package/lib/error/human-error.d.ts +0 -13
- package/lib/error/human-warning.d.ts +0 -8
- package/lib/error/index.d.ts +0 -17
- package/lib/error/init-error.d.ts +0 -5
- package/lib/error/serverless-error.d.ts +0 -4
- package/lib/execDaemon.d.ts +0 -6
- package/lib/index.d.ts +0 -2
- package/lib/init/index.d.ts +0 -2
- package/lib/init/init-config.d.ts +0 -43
- package/lib/init/init-manager.d.ts +0 -17
- package/lib/onboarding/index.d.ts +0 -2
- package/lib/set/analysis/index.d.ts +0 -1
- package/lib/set/index.d.ts +0 -1
- package/lib/set/locale/index.d.ts +0 -1
- package/lib/set/registry/index.d.ts +0 -10
- package/lib/set/workspace/index.d.ts +0 -1
- package/lib/specification/analysis.d.ts +0 -12
- package/lib/specification/index.d.ts +0 -4
- package/lib/specification/parse.d.ts +0 -24
- package/lib/specification/version.d.ts +0 -35
- package/lib/update-notifier/index.d.ts +0 -10
- package/lib/utils/command-util.d.ts +0 -18
- package/lib/utils/common.d.ts +0 -28
- package/lib/utils/core.d.ts +0 -3
- package/lib/utils/handler-set-config.d.ts +0 -19
- package/lib/utils/i18n/en.d.ts +0 -44
- package/lib/utils/i18n/index.d.ts +0 -2
- package/lib/utils/i18n/zh.d.ts +0 -44
- package/lib/utils/index.d.ts +0 -9
- package/lib/utils/logger.d.ts +0 -11
- package/lib/utils/storage.d.ts +0 -8
- package/lib/utils/url-parser.d.ts +0 -15
- package/spec/readme.md +0 -59
- package/spec/zh/0.0.1/readme.md +0 -47
- package/spec/zh/0.0.1/serverless_package_model/1.purpose_and_goals.md +0 -3
- package/spec/zh/0.0.1/serverless_package_model/2.overview_and_terminology.md +0 -14
- package/spec/zh/0.0.1/serverless_package_model/3.package_model.md +0 -434
- package/spec/zh/0.0.1/serverless_package_model/4.application_scopes.md +0 -3
- package/spec/zh/0.0.1/serverless_package_model/5.design_principles.md +0 -3
- package/spec/zh/0.0.1/serverless_package_model/readme.md +0 -12
- package/spec/zh/0.0.1/serverless_registry_model/1.purpose_and_goals.md +0 -18
- package/spec/zh/0.0.1/serverless_registry_model/2.overview_and_terminology.md +0 -18
- package/spec/zh/0.0.1/serverless_registry_model/3.registry_model.md +0 -61
- package/spec/zh/0.0.1/serverless_registry_model/4.application_scopes.md +0 -6
- package/spec/zh/0.0.1/serverless_registry_model/5.design_principles.md +0 -3
- package/spec/zh/0.0.1/serverless_registry_model/readme.md +0 -12
- package/spec/zh/0.0.1/serverless_user_model/1.purpose_and_goals.md +0 -3
- package/spec/zh/0.0.1/serverless_user_model/2.overview_and_terminology.md +0 -16
- package/spec/zh/0.0.1/serverless_user_model/3.user_model.md +0 -218
- package/spec/zh/0.0.1/serverless_user_model/4.application_scopes.md +0 -4
- package/spec/zh/0.0.1/serverless_user_model/5.design_principles.md +0 -3
- package/spec/zh/0.0.1/serverless_user_model/readme.md +0 -12
- package/test/ci.sh +0 -33
- package/test/cli/cli-manager.test.ts +0 -64
- package/test/config/get.test.ts +0 -12
- package/test/helloworld.test.ts +0 -7
- package/test/start-fc-http-nodejs12/code/index.js +0 -47
- package/test/start-fc-http-nodejs12/s.yaml +0 -38
- package/test/utils/index.test.ts +0 -8
- package/test/utils/storage.test.ts +0 -19
- package/tsconfig.json +0 -37
package/lib/cli/cli-manager.js
CHANGED
|
@@ -46,7 +46,7 @@ var fs_1 = __importDefault(require("fs"));
|
|
|
46
46
|
var common_1 = require("../utils/common");
|
|
47
47
|
var error_1 = require("../error");
|
|
48
48
|
var core_1 = __importDefault(require("../utils/core"));
|
|
49
|
-
var getCredential = core_1.default.getCredential, loadComponent = core_1.default.loadComponent, colors = core_1.default.colors, yaml = core_1.default.jsyaml, getRootHome = core_1.default.getRootHome;
|
|
49
|
+
var makeUnderLine = core_1.default.makeUnderLine, getCredential = core_1.default.getCredential, loadComponent = core_1.default.loadComponent, colors = core_1.default.colors, yaml = core_1.default.jsyaml, getRootHome = core_1.default.getRootHome;
|
|
50
50
|
var CliManager = /** @class */ (function () {
|
|
51
51
|
function CliManager(inputs) {
|
|
52
52
|
this.inputs = inputs;
|
|
@@ -54,7 +54,7 @@ var CliManager = /** @class */ (function () {
|
|
|
54
54
|
CliManager.prototype.getTempCommandStr = function (commands, length) {
|
|
55
55
|
var commandsLength = commands.length;
|
|
56
56
|
var tempArray = new Array(length - commandsLength).fill(' ');
|
|
57
|
-
return ""
|
|
57
|
+
return "".concat(commands).concat(tempArray.join(''), " : ");
|
|
58
58
|
};
|
|
59
59
|
CliManager.prototype.init = function () {
|
|
60
60
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -98,7 +98,7 @@ var CliManager = /** @class */ (function () {
|
|
|
98
98
|
if (!(command === 'cli-help-options')) return [3 /*break*/, 13];
|
|
99
99
|
if (!(componentInstance.__doc && componentInstance.__doc().length > 1685)) return [3 /*break*/, 8];
|
|
100
100
|
docResult = componentInstance.__doc();
|
|
101
|
-
console.log(""
|
|
101
|
+
console.log("".concat(docResult));
|
|
102
102
|
return [3 /*break*/, 12];
|
|
103
103
|
case 8:
|
|
104
104
|
_b.trys.push([8, 11, , 12]);
|
|
@@ -111,7 +111,7 @@ var CliManager = /** @class */ (function () {
|
|
|
111
111
|
return [4 /*yield*/, yaml.load(fs_1.default.readFileSync(componentPathYaml, 'utf8'))];
|
|
112
112
|
case 10:
|
|
113
113
|
publishYamlInfor = _b.sent();
|
|
114
|
-
console.log("\n "
|
|
114
|
+
console.log("\n ".concat(publishYamlInfor['Name'], "@").concat(publishYamlInfor['Version'], ": ").concat(publishYamlInfor['Description'], "\n"));
|
|
115
115
|
tempLength = 0;
|
|
116
116
|
if (publishYamlInfor['Commands']) {
|
|
117
117
|
for (item in publishYamlInfor['Commands']) {
|
|
@@ -120,10 +120,10 @@ var CliManager = /** @class */ (function () {
|
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
for (item in publishYamlInfor['Commands']) {
|
|
123
|
-
console.log(" "
|
|
123
|
+
console.log(" ".concat(this.getTempCommandStr(item, tempLength), " ").concat(publishYamlInfor['Commands'][item]));
|
|
124
124
|
}
|
|
125
|
-
console.log("\n "
|
|
126
|
-
? (0, common_1.emoji)('🧭')
|
|
125
|
+
console.log("\n ".concat(publishYamlInfor['HomePage']
|
|
126
|
+
? "".concat((0, common_1.emoji)('🧭'), " ").concat(makeUnderLine('More information: ' + publishYamlInfor['HomePage']), " ") + '\n'
|
|
127
127
|
: ''));
|
|
128
128
|
}
|
|
129
129
|
return [3 /*break*/, 12];
|
|
@@ -182,7 +182,7 @@ var CliManager = /** @class */ (function () {
|
|
|
182
182
|
result =
|
|
183
183
|
(_b.sent()) || {};
|
|
184
184
|
outResult = yaml.dump(JSON.parse(JSON.stringify(result)));
|
|
185
|
-
utils_1.logger.success(Object.keys(result).length === 0 ? "End of method: "
|
|
185
|
+
utils_1.logger.success(Object.keys(result).length === 0 ? "End of method: ".concat(command) : outResult);
|
|
186
186
|
return [3 /*break*/, 18];
|
|
187
187
|
case 16:
|
|
188
188
|
error_2 = _b.sent();
|
|
@@ -196,7 +196,7 @@ var CliManager = /** @class */ (function () {
|
|
|
196
196
|
return [3 /*break*/, 18];
|
|
197
197
|
case 18: return [3 /*break*/, 20];
|
|
198
198
|
case 19:
|
|
199
|
-
utils_1.logger.error("Failed to execute:\n\n "
|
|
199
|
+
utils_1.logger.error("Failed to execute:\n\n ".concat((0, common_1.emoji)('❌'), " Message: Component ").concat(component, " does not include [").concat(command, "] method\n ").concat((0, common_1.emoji)('🧭'), " You can get help for this component by [s cli ").concat(component, " -h]\n ").concat((0, common_1.emoji)('😈'), " If you have questions, please tell us: ").concat(colors.underline('https://github.com/Serverless-Devs/Serverless-Devs/issues'), "\n"));
|
|
200
200
|
process.exit(1);
|
|
201
201
|
_b.label = 20;
|
|
202
202
|
case 20: return [3 /*break*/, 23];
|
|
@@ -218,4 +218,4 @@ var CliManager = /** @class */ (function () {
|
|
|
218
218
|
return CliManager;
|
|
219
219
|
}());
|
|
220
220
|
exports.default = CliManager;
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2NsaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxjQUFjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVkLGtDQUFrQztBQUNsQyw4Q0FBd0I7QUFDeEIsMENBQW9CO0FBQ3BCLDBDQUF3QztBQUN4QyxrQ0FBdUM7QUFDdkMsdURBQWlDO0FBQ3pCLElBQUEsYUFBYSxHQUFzRSxjQUFJLGNBQTFFLEVBQUUsYUFBYSxHQUF1RCxjQUFJLGNBQTNELEVBQUUsYUFBYSxHQUF3QyxjQUFJLGNBQTVDLEVBQUUsTUFBTSxHQUFnQyxjQUFJLE9BQXBDLEVBQVUsSUFBSSxHQUFrQixjQUFJLE9BQXRCLEVBQUUsV0FBVyxHQUFLLGNBQUksWUFBVCxDQUFVO0FBUWhHO0lBR0Usb0JBQVksTUFBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELHNDQUFpQixHQUFqQixVQUFrQixRQUFnQixFQUFFLE1BQWM7UUFDaEQsSUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sVUFBRyxRQUFRLFNBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBSyxDQUFDO0lBQy9DLENBQUM7SUFFSyx5QkFBSSxHQUFWOzs7Ozs7d0JBQ00sTUFBTSxHQUFHLEVBQUUsQ0FBQzs7Ozt3QkFFVixLQUF3QyxJQUFJLENBQUMsTUFBTSxFQUFqRCxTQUFTLGVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxLQUFLLFdBQUEsQ0FBaUI7d0JBRXBELFdBQVcsR0FBRyxFQUFFLENB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
|