@serverless-devs/s 0.0.45 → 0.1.4-18cdd23b
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/LICENSE +201 -21
- package/OWNERS +33 -0
- package/_config.yml +1 -0
- package/bin/s +1 -1
- package/lib/daemon/lib.js +327 -0
- package/lib/daemon/report.js +50 -0
- package/lib/daemon/update-cli.js +20 -0
- package/lib/daemon/update-component.js +21 -0
- package/lib/daemon/update-templates.js +19 -0
- package/lib/index.js +1732 -0
- package/package.json +73 -61
- package/readme.md +127 -0
- package/.eslintrc +0 -75
- package/README.md +0 -65
- package/bin/s-config +0 -2
- package/bin/s-config-add +0 -2
- package/bin/s-config-delete +0 -2
- package/bin/s-config-get +0 -3
- package/bin/s-config-update +0 -3
- package/bin/s-deploy +0 -2
- package/bin/s-gui +0 -2
- package/bin/s-init +0 -2
- package/bin/s-platform +0 -2
- package/bin/s-platform-delete +0 -2
- package/bin/s-platform-init +0 -2
- package/bin/s-platform-login +0 -2
- package/bin/s-platform-publish +0 -2
- package/bin/s-remove +0 -2
- package/bin/s-search +0 -2
- package/bin/s-set +0 -2
- package/bin/s-set-analysis +0 -2
- package/bin/s-set-language +0 -2
- package/bin/s-set-output-color +0 -2
- package/compile.tsconfig.json +0 -12
- package/configs/base.tsconfig.json +0 -25
- package/lib/command/command-manager.d.ts +0 -12
- package/lib/command/command-manager.d.ts.map +0 -1
- package/lib/command/command-manager.js +0 -144
- package/lib/command/command-manager.js.map +0 -1
- package/lib/command/index.d.ts +0 -2
- package/lib/command/index.d.ts.map +0 -1
- package/lib/command/index.js +0 -41
- package/lib/command/index.js.map +0 -1
- package/lib/component/hook.d.ts +0 -17
- package/lib/component/hook.d.ts.map +0 -1
- package/lib/component/hook.js +0 -201
- package/lib/component/hook.js.map +0 -1
- package/lib/component/index.d.ts +0 -53
- package/lib/component/index.d.ts.map +0 -1
- package/lib/component/index.js +0 -577
- package/lib/component/index.js.map +0 -1
- package/lib/config/add/add-manager.d.ts +0 -23
- package/lib/config/add/add-manager.d.ts.map +0 -1
- package/lib/config/add/add-manager.js +0 -282
- package/lib/config/add/add-manager.js.map +0 -1
- package/lib/config/add/index.d.ts +0 -2
- package/lib/config/add/index.d.ts.map +0 -1
- package/lib/config/add/index.js +0 -77
- package/lib/config/add/index.js.map +0 -1
- package/lib/config/common/common.d.ts +0 -7
- package/lib/config/common/common.d.ts.map +0 -1
- package/lib/config/common/common.js +0 -175
- package/lib/config/common/common.js.map +0 -1
- package/lib/config/delete/delete-manager.d.ts +0 -11
- package/lib/config/delete/delete-manager.d.ts.map +0 -1
- package/lib/config/delete/delete-manager.js +0 -133
- package/lib/config/delete/delete-manager.js.map +0 -1
- package/lib/config/delete/index.d.ts +0 -2
- package/lib/config/delete/index.d.ts.map +0 -1
- package/lib/config/delete/index.js +0 -77
- package/lib/config/delete/index.js.map +0 -1
- package/lib/config/get/get-manager.d.ts +0 -14
- package/lib/config/get/get-manager.d.ts.map +0 -1
- package/lib/config/get/get-manager.js +0 -205
- package/lib/config/get/get-manager.js.map +0 -1
- package/lib/config/get/index.d.ts +0 -2
- package/lib/config/get/index.d.ts.map +0 -1
- package/lib/config/get/index.js +0 -86
- package/lib/config/get/index.js.map +0 -1
- package/lib/config/index.d.ts +0 -2
- package/lib/config/index.d.ts.map +0 -1
- package/lib/config/index.js +0 -15
- package/lib/config/index.js.map +0 -1
- package/lib/config/update/index.d.ts +0 -2
- package/lib/config/update/index.d.ts.map +0 -1
- package/lib/config/update/index.js +0 -83
- package/lib/config/update/index.js.map +0 -1
- package/lib/config/update/update-manager.d.ts +0 -23
- package/lib/config/update/update-manager.d.ts.map +0 -1
- package/lib/config/update/update-manager.js +0 -208
- package/lib/config/update/update-manager.js.map +0 -1
- package/lib/constants/static-variable.d.ts +0 -12
- package/lib/constants/static-variable.d.ts.map +0 -1
- package/lib/constants/static-variable.js +0 -15
- package/lib/constants/static-variable.js.map +0 -1
- package/lib/entity.d.ts +0 -11
- package/lib/entity.d.ts.map +0 -1
- package/lib/entity.js +0 -3
- package/lib/entity.js.map +0 -1
- package/lib/error/command-error.d.ts +0 -5
- package/lib/error/command-error.d.ts.map +0 -1
- package/lib/error/command-error.js +0 -26
- package/lib/error/command-error.js.map +0 -1
- package/lib/error/config-delete-error.d.ts +0 -5
- package/lib/error/config-delete-error.d.ts.map +0 -1
- package/lib/error/config-delete-error.js +0 -26
- package/lib/error/config-delete-error.js.map +0 -1
- package/lib/error/config-error.d.ts +0 -5
- package/lib/error/config-error.d.ts.map +0 -1
- package/lib/error/config-error.js +0 -26
- package/lib/error/config-error.js.map +0 -1
- package/lib/error/config-get-error.d.ts +0 -5
- package/lib/error/config-get-error.d.ts.map +0 -1
- package/lib/error/config-get-error.js +0 -26
- package/lib/error/config-get-error.js.map +0 -1
- package/lib/error/config-update-error.d.ts +0 -5
- package/lib/error/config-update-error.d.ts.map +0 -1
- package/lib/error/config-update-error.js +0 -26
- package/lib/error/config-update-error.js.map +0 -1
- package/lib/error/init-error.d.ts +0 -5
- package/lib/error/init-error.d.ts.map +0 -1
- package/lib/error/init-error.js +0 -26
- package/lib/error/init-error.js.map +0 -1
- package/lib/error/login-error.d.ts +0 -5
- package/lib/error/login-error.d.ts.map +0 -1
- package/lib/error/login-error.js +0 -26
- package/lib/error/login-error.js.map +0 -1
- package/lib/error/platform-delete-error.d.ts +0 -5
- package/lib/error/platform-delete-error.d.ts.map +0 -1
- package/lib/error/platform-delete-error.js +0 -26
- package/lib/error/platform-delete-error.js.map +0 -1
- package/lib/error/platform-init-error.d.ts +0 -5
- package/lib/error/platform-init-error.d.ts.map +0 -1
- package/lib/error/platform-init-error.js +0 -26
- package/lib/error/platform-init-error.js.map +0 -1
- package/lib/error/platform-publish-error.d.ts +0 -5
- package/lib/error/platform-publish-error.d.ts.map +0 -1
- package/lib/error/platform-publish-error.js +0 -26
- package/lib/error/platform-publish-error.js.map +0 -1
- package/lib/error/search-error.d.ts +0 -5
- package/lib/error/search-error.d.ts.map +0 -1
- package/lib/error/search-error.js +0 -26
- package/lib/error/search-error.js.map +0 -1
- package/lib/error/serverless-error.d.ts +0 -4
- package/lib/error/serverless-error.d.ts.map +0 -1
- package/lib/error/serverless-error.js +0 -20
- package/lib/error/serverless-error.js.map +0 -1
- package/lib/error/set-analysis-error.d.ts +0 -5
- package/lib/error/set-analysis-error.d.ts.map +0 -1
- package/lib/error/set-analysis-error.js +0 -26
- package/lib/error/set-analysis-error.js.map +0 -1
- package/lib/error/set-language-error.d.ts +0 -5
- package/lib/error/set-language-error.d.ts.map +0 -1
- package/lib/error/set-language-error.js +0 -26
- package/lib/error/set-language-error.js.map +0 -1
- package/lib/gui/gui-service.d.ts +0 -11
- package/lib/gui/gui-service.d.ts.map +0 -1
- package/lib/gui/gui-service.js +0 -276
- package/lib/gui/gui-service.js.map +0 -1
- package/lib/gui/index.d.ts +0 -2
- package/lib/gui/index.d.ts.map +0 -1
- package/lib/gui/index.js +0 -67
- package/lib/gui/index.js.map +0 -1
- package/lib/init/init-manager.d.ts +0 -9
- package/lib/init/init-manager.d.ts.map +0 -1
- package/lib/init/init-manager.js +0 -171
- package/lib/init/init-manager.js.map +0 -1
- package/lib/init/init-message.d.ts +0 -6
- package/lib/init/init-message.d.ts.map +0 -1
- package/lib/init/init-message.js +0 -9
- package/lib/init/init-message.js.map +0 -1
- package/lib/init/init.d.ts +0 -2
- package/lib/init/init.d.ts.map +0 -1
- package/lib/init/init.js +0 -87
- package/lib/init/init.js.map +0 -1
- package/lib/platform/delete/index.d.ts +0 -2
- package/lib/platform/delete/index.d.ts.map +0 -1
- package/lib/platform/delete/index.js +0 -89
- package/lib/platform/delete/index.js.map +0 -1
- package/lib/platform/delete/platform-delete-manager.d.ts +0 -4
- package/lib/platform/delete/platform-delete-manager.d.ts.map +0 -1
- package/lib/platform/delete/platform-delete-manager.js +0 -100
- package/lib/platform/delete/platform-delete-manager.js.map +0 -1
- package/lib/platform/index.d.ts +0 -2
- package/lib/platform/index.d.ts.map +0 -1
- package/lib/platform/index.js +0 -25
- package/lib/platform/index.js.map +0 -1
- package/lib/platform/init/index.d.ts +0 -2
- package/lib/platform/init/index.d.ts.map +0 -1
- package/lib/platform/init/index.js +0 -70
- package/lib/platform/init/index.js.map +0 -1
- package/lib/platform/init/platform-init-manager.d.ts +0 -4
- package/lib/platform/init/platform-init-manager.d.ts.map +0 -1
- package/lib/platform/init/platform-init-manager.js +0 -24
- package/lib/platform/init/platform-init-manager.js.map +0 -1
- package/lib/platform/login/index.d.ts +0 -2
- package/lib/platform/login/index.d.ts.map +0 -1
- package/lib/platform/login/index.js +0 -68
- package/lib/platform/login/index.js.map +0 -1
- package/lib/platform/login/login-manager.d.ts +0 -15
- package/lib/platform/login/login-manager.d.ts.map +0 -1
- package/lib/platform/login/login-manager.js +0 -176
- package/lib/platform/login/login-manager.js.map +0 -1
- package/lib/platform/publish/index.d.ts +0 -2
- package/lib/platform/publish/index.d.ts.map +0 -1
- package/lib/platform/publish/index.js +0 -93
- package/lib/platform/publish/index.js.map +0 -1
- package/lib/platform/publish/platform-publish-manager.d.ts +0 -5
- package/lib/platform/publish/platform-publish-manager.d.ts.map +0 -1
- package/lib/platform/publish/platform-publish-manager.js +0 -115
- package/lib/platform/publish/platform-publish-manager.js.map +0 -1
- package/lib/plugin/index.d.ts +0 -20
- package/lib/plugin/index.d.ts.map +0 -1
- package/lib/plugin/index.js +0 -175
- package/lib/plugin/index.js.map +0 -1
- package/lib/s.d.ts +0 -2
- package/lib/s.d.ts.map +0 -1
- package/lib/s.js +0 -134
- package/lib/s.js.map +0 -1
- package/lib/search/search.d.ts +0 -2
- package/lib/search/search.d.ts.map +0 -1
- package/lib/search/search.js +0 -233
- package/lib/search/search.js.map +0 -1
- package/lib/set/analysis/index.d.ts +0 -2
- package/lib/set/analysis/index.d.ts.map +0 -1
- package/lib/set/analysis/index.js +0 -84
- package/lib/set/analysis/index.js.map +0 -1
- package/lib/set/index.d.ts +0 -2
- package/lib/set/index.d.ts.map +0 -1
- package/lib/set/index.js +0 -16
- package/lib/set/index.js.map +0 -1
- package/lib/set/language/index.d.ts +0 -2
- package/lib/set/language/index.d.ts.map +0 -1
- package/lib/set/language/index.js +0 -73
- package/lib/set/language/index.js.map +0 -1
- package/lib/set/output-color/index.d.ts +0 -2
- package/lib/set/output-color/index.d.ts.map +0 -1
- package/lib/set/output-color/index.js +0 -87
- package/lib/set/output-color/index.js.map +0 -1
- package/lib/utils/analysis.d.ts +0 -12
- package/lib/utils/analysis.d.ts.map +0 -1
- package/lib/utils/analysis.js +0 -42
- package/lib/utils/analysis.js.map +0 -1
- package/lib/utils/check-version.d.ts +0 -13
- package/lib/utils/check-version.d.ts.map +0 -1
- package/lib/utils/check-version.js +0 -241
- package/lib/utils/check-version.js.map +0 -1
- package/lib/utils/command.d.ts +0 -14
- package/lib/utils/command.d.ts.map +0 -1
- package/lib/utils/command.js +0 -251
- package/lib/utils/command.js.map +0 -1
- package/lib/utils/common.d.ts +0 -4
- package/lib/utils/common.d.ts.map +0 -1
- package/lib/utils/common.js +0 -50
- package/lib/utils/common.js.map +0 -1
- package/lib/utils/download-manager.d.ts +0 -23
- package/lib/utils/download-manager.d.ts.map +0 -1
- package/lib/utils/download-manager.js +0 -302
- package/lib/utils/download-manager.js.map +0 -1
- package/lib/utils/handler-set-config.d.ts +0 -14
- package/lib/utils/handler-set-config.d.ts.map +0 -1
- package/lib/utils/handler-set-config.js +0 -122
- package/lib/utils/handler-set-config.js.map +0 -1
- package/lib/utils/i18n.d.ts +0 -3
- package/lib/utils/i18n.d.ts.map +0 -1
- package/lib/utils/i18n.js +0 -21
- package/lib/utils/i18n.js.map +0 -1
- package/lib/utils/locales/en.json +0 -9
- package/lib/utils/locales/zh.json +0 -203
- package/lib/utils/logger.d.ts +0 -18
- package/lib/utils/logger.d.ts.map +0 -1
- package/lib/utils/logger.js +0 -196
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/package-type.d.ts +0 -6
- package/lib/utils/package-type.d.ts.map +0 -1
- package/lib/utils/package-type.js +0 -10
- package/lib/utils/package-type.js.map +0 -1
- package/lib/utils/parse.d.ts +0 -26
- package/lib/utils/parse.d.ts.map +0 -1
- package/lib/utils/parse.js +0 -229
- package/lib/utils/parse.js.map +0 -1
- package/lib/utils/repo-template-entity.d.ts +0 -12
- package/lib/utils/repo-template-entity.d.ts.map +0 -1
- package/lib/utils/repo-template-entity.js +0 -3
- package/lib/utils/repo-template-entity.js.map +0 -1
- package/lib/utils/start-service.d.ts +0 -22
- package/lib/utils/start-service.d.ts.map +0 -1
- package/lib/utils/start-service.js +0 -97
- package/lib/utils/start-service.js.map +0 -1
- package/lib/utils/storage.d.ts +0 -3
- package/lib/utils/storage.d.ts.map +0 -1
- package/lib/utils/storage.js +0 -23
- package/lib/utils/storage.js.map +0 -1
- package/lib/utils/url-parser.d.ts +0 -8
- package/lib/utils/url-parser.d.ts.map +0 -1
- package/lib/utils/url-parser.js +0 -58
- package/lib/utils/url-parser.js.map +0 -1
- package/scripts/tests/deploy/parse.ts +0 -0
- package/scripts/tests/download-manager-test.ts +0 -135
- package/scripts/tests/init-manager-test.ts +0 -232
- package/scripts/tests/url-parser-test.ts +0 -44
- package/src/command/command-manager.ts +0 -83
- package/src/command/index.ts +0 -42
- package/src/component/hook.ts +0 -88
- package/src/component/index.ts +0 -433
- package/src/config/add/add-manager.ts +0 -207
- package/src/config/add/index.ts +0 -45
- package/src/config/common/common.ts +0 -186
- package/src/config/delete/delete-manager.ts +0 -51
- package/src/config/delete/index.ts +0 -38
- package/src/config/get/get-manager.ts +0 -148
- package/src/config/get/index.ts +0 -49
- package/src/config/index.ts +0 -13
- package/src/config/update/index.ts +0 -46
- package/src/config/update/update-manager.ts +0 -120
- package/src/constants/static-variable.ts +0 -12
- package/src/entity.ts +0 -10
- package/src/error/command-error.ts +0 -7
- package/src/error/config-delete-error.ts +0 -7
- package/src/error/config-error.ts +0 -7
- package/src/error/config-get-error.ts +0 -7
- package/src/error/config-update-error.ts +0 -7
- package/src/error/init-error.ts +0 -7
- package/src/error/login-error.ts +0 -7
- package/src/error/platform-delete-error.ts +0 -7
- package/src/error/platform-init-error.ts +0 -7
- package/src/error/platform-publish-error.ts +0 -7
- package/src/error/search-error.ts +0 -7
- package/src/error/serverless-error.ts +0 -17
- package/src/error/set-analysis-error.ts +0 -7
- package/src/error/set-language-error.ts +0 -7
- package/src/gui/gui-service.ts +0 -183
- package/src/gui/index.ts +0 -26
- package/src/init/init-manager.ts +0 -104
- package/src/init/init-message.ts +0 -8
- package/src/init/init.ts +0 -56
- package/src/platform/delete/index.ts +0 -46
- package/src/platform/delete/platform-delete-manager.ts +0 -46
- package/src/platform/index.ts +0 -26
- package/src/platform/init/index.ts +0 -33
- package/src/platform/init/platform-init-manager.ts +0 -17
- package/src/platform/login/index.ts +0 -25
- package/src/platform/login/login-manager.ts +0 -121
- package/src/platform/publish/index.ts +0 -52
- package/src/platform/publish/platform-publish-manager.ts +0 -69
- package/src/plugin/index.ts +0 -96
- package/src/s.ts +0 -83
- package/src/search/search.ts +0 -127
- package/src/set/analysis/index.ts +0 -45
- package/src/set/index.ts +0 -19
- package/src/set/language/index.ts +0 -39
- package/src/set/output-color/index.ts +0 -49
- package/src/utils/analysis.ts +0 -36
- package/src/utils/check-version.ts +0 -139
- package/src/utils/command.ts +0 -123
- package/src/utils/common.ts +0 -47
- package/src/utils/download-manager.ts +0 -197
- package/src/utils/handler-set-config.ts +0 -83
- package/src/utils/i18n.ts +0 -21
- package/src/utils/locales/en.json +0 -9
- package/src/utils/locales/zh.json +0 -228
- package/src/utils/logger.ts +0 -84
- package/src/utils/package-type.ts +0 -3
- package/src/utils/parse.ts +0 -176
- package/src/utils/repo-template-entity.ts +0 -14
- package/src/utils/start-service.ts +0 -64
- package/src/utils/storage.ts +0 -20
- package/src/utils/url-parser.ts +0 -60
- package/templates/application/common/publish.yaml +0 -16
- package/templates/application/common/readme.md +0 -99
- package/templates/application/common/src/index.js +0 -13
- package/templates/application/common/src/template.yaml +0 -16
- package/templates/component/common/publish.yaml +0 -24
- package/templates/component/common/readme.md +0 -386
- package/templates/component/common/src/index.js +0 -18
- package/templates/component/common/src/package.json +0 -7
- package/templates/plugin/common/publish.yaml +0 -9
- package/templates/plugin/common/readme.md +0 -128
- package/templates/plugin/common/src/index.js +0 -9
package/src/error/init-error.ts
DELETED
package/src/error/login-error.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import logger from '../utils/logger';
|
|
2
|
-
|
|
3
|
-
const i18n = require('i18n');
|
|
4
|
-
|
|
5
|
-
// export class ServerlessError extends Error {
|
|
6
|
-
// constructor(phase: string, message: string, params?: any) {
|
|
7
|
-
// super(i18n.__(phase) + ": " + i18n.__(message, params));
|
|
8
|
-
// //super(message);
|
|
9
|
-
// }
|
|
10
|
-
// }
|
|
11
|
-
|
|
12
|
-
export class ServerlessError {
|
|
13
|
-
constructor(phase: string, message: string, params?: any) {
|
|
14
|
-
logger.error(i18n.__(phase) + ': ' + i18n.__(message, params));
|
|
15
|
-
process.exit(-1);
|
|
16
|
-
}
|
|
17
|
-
}
|
package/src/gui/gui-service.ts
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import {handlerProfileFile} from '../utils/handler-set-config';
|
|
2
|
-
const rimraf = require('rimraf');
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const os = require('os');
|
|
5
|
-
const fs = require('fs');
|
|
6
|
-
const { execSync } = require('child_process');
|
|
7
|
-
const got = require('got');
|
|
8
|
-
const decompress = require('decompress');
|
|
9
|
-
const decompressUnzip = require('decompress-unzip');
|
|
10
|
-
import * as download from 'download';
|
|
11
|
-
import axios from 'axios';
|
|
12
|
-
import * as logger from '../utils/logger';
|
|
13
|
-
import i18n from '../utils/i18n';
|
|
14
|
-
|
|
15
|
-
// eslint-disable-next-line no-unused-vars
|
|
16
|
-
import { ProgressService, ProgressType, ProgressBarOptions } from '@serverless-devs/s-progress-bar';
|
|
17
|
-
import { green } from 'colors';
|
|
18
|
-
const S_CLIENT_VERSION_CHECK = 'http://app-store-client.serverlessfans.com/version.json';
|
|
19
|
-
const S_GUI_BASE_PATH = path.join(os.homedir(), `.s/client`);
|
|
20
|
-
|
|
21
|
-
export default class GUIService {
|
|
22
|
-
constructor(guiPath = '/') {
|
|
23
|
-
if (!fs.existsSync(S_GUI_BASE_PATH)) {
|
|
24
|
-
fs.mkdirSync(S_GUI_BASE_PATH);
|
|
25
|
-
}
|
|
26
|
-
process.env.GUIPATH = guiPath;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getOsType() {
|
|
30
|
-
const platform = process.platform;
|
|
31
|
-
let osType = 'macos';
|
|
32
|
-
switch (platform) {
|
|
33
|
-
case 'darwin':
|
|
34
|
-
osType = 'macos';
|
|
35
|
-
break;
|
|
36
|
-
case 'win32':
|
|
37
|
-
osType = 'windows';
|
|
38
|
-
break;
|
|
39
|
-
default:
|
|
40
|
-
osType = 'linux';
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
return osType;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
getGuiAppInfo(osType: string) {
|
|
47
|
-
if (osType === 'macos') {
|
|
48
|
-
return path.join(S_GUI_BASE_PATH, 'serverless-devs-tool-client-macos.app');
|
|
49
|
-
}
|
|
50
|
-
if (osType === 'windows') {
|
|
51
|
-
return path.join(S_GUI_BASE_PATH, 'serverless-devs-tool-client-windows', 's.exe');
|
|
52
|
-
}
|
|
53
|
-
// if (osType === 'linux') {
|
|
54
|
-
// return path.join(S_GUI_BASE_PATH, 's');
|
|
55
|
-
// }
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
async downloadAndExcuteGui(osType: string) {
|
|
59
|
-
const result = await axios.get(S_CLIENT_VERSION_CHECK);
|
|
60
|
-
const data = result.data || [];
|
|
61
|
-
if (data[0]) {
|
|
62
|
-
logger.info(`Current system : ${osType}, current client version: ${data[0].version} `);
|
|
63
|
-
const url = data[0].url || {};
|
|
64
|
-
if (url[osType]) {
|
|
65
|
-
const downloadPath = url[osType];
|
|
66
|
-
let len;
|
|
67
|
-
try {
|
|
68
|
-
const { headers } = await got(downloadPath, { method: 'HEAD' });
|
|
69
|
-
len = parseInt(headers['content-length'], 10);
|
|
70
|
-
} catch (err) {
|
|
71
|
-
// ignore error
|
|
72
|
-
}
|
|
73
|
-
let bar: ProgressService;
|
|
74
|
-
if (len) {
|
|
75
|
-
let pbo: ProgressBarOptions = {
|
|
76
|
-
total: len
|
|
77
|
-
};
|
|
78
|
-
bar = new ProgressService(ProgressType.Bar, pbo);
|
|
79
|
-
} else {
|
|
80
|
-
let pbo :ProgressBarOptions = {
|
|
81
|
-
total: 100,
|
|
82
|
-
width: 0
|
|
83
|
-
};
|
|
84
|
-
let format = `${green(':loading')} ${green(i18n.__('Downloading ...'))} `;
|
|
85
|
-
bar = new ProgressService(ProgressType.Loading, pbo, format);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
await download(downloadPath, S_GUI_BASE_PATH).on(
|
|
89
|
-
'downloadProgress', progress => {
|
|
90
|
-
bar.update(progress.transferred);
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
bar.terminate();
|
|
95
|
-
|
|
96
|
-
logger.success('Download successfully, now start to unzip.');
|
|
97
|
-
try {
|
|
98
|
-
const tmpZipFile = path.join(S_GUI_BASE_PATH, `serverless-devs-tool-client-${osType}.zip`);
|
|
99
|
-
let pbo: ProgressBarOptions = {
|
|
100
|
-
total: 100,
|
|
101
|
-
width: 0
|
|
102
|
-
};
|
|
103
|
-
let format = `${green(i18n.__(':loading'))} ${green(i18n.__('Unziping ...'))} `;
|
|
104
|
-
let newBar = new ProgressService(ProgressType.Loading, pbo, format);
|
|
105
|
-
let timmer = setInterval(() => {
|
|
106
|
-
newBar.update();
|
|
107
|
-
}, 500);
|
|
108
|
-
|
|
109
|
-
await decompress(tmpZipFile, S_GUI_BASE_PATH, {
|
|
110
|
-
plugins: [
|
|
111
|
-
decompressUnzip()
|
|
112
|
-
]
|
|
113
|
-
});
|
|
114
|
-
clearInterval(timmer);
|
|
115
|
-
newBar.terminate();
|
|
116
|
-
logger.success('Unzip success begin to start.');
|
|
117
|
-
const appInfo = this.getGuiAppInfo(osType);
|
|
118
|
-
await this.setVersion(data[0]['version']);
|
|
119
|
-
this.open(appInfo);
|
|
120
|
-
|
|
121
|
-
fs.unlinkSync(tmpZipFile);
|
|
122
|
-
} catch (e) {
|
|
123
|
-
logger.error(e.message);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
open(appInfo: string) {
|
|
130
|
-
const startInstruction = process.platform === 'win32' ? 'start' : 'open';
|
|
131
|
-
execSync(`${startInstruction} ${appInfo} `);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
async start(update?:boolean) {
|
|
135
|
-
const osType = this.getOsType();
|
|
136
|
-
const appInfo = this.getGuiAppInfo(osType);
|
|
137
|
-
const versions = await this.getVersionResult();
|
|
138
|
-
|
|
139
|
-
if (!fs.existsSync(appInfo) || update === true) {
|
|
140
|
-
if (update === true) {
|
|
141
|
-
logger.info('GUI updating ......');
|
|
142
|
-
await rimraf(appInfo, function (err: any) { // 删除当前目录下的 aaa
|
|
143
|
-
if (err) { logger.error(err); }
|
|
144
|
-
});
|
|
145
|
-
} else {
|
|
146
|
-
logger.info('Check that you don’t have a gui client, download it now, it will take you about 1 minute.');
|
|
147
|
-
}
|
|
148
|
-
await this.downloadAndExcuteGui(osType);
|
|
149
|
-
return;
|
|
150
|
-
} else if (versions !== undefined && versions[0] !== versions[1]) {
|
|
151
|
-
logger.info('The system has detected a new version of the GUI. You can use `s gui --update` to upgrade.');
|
|
152
|
-
// 输出更新信息 versions[2]
|
|
153
|
-
try {
|
|
154
|
-
const lang = (await handlerProfileFile({ read: true, filePath: 'set-config.yml' }))['locale'] || 'en';
|
|
155
|
-
logger.log('\n');
|
|
156
|
-
logger.log(' Update information:');
|
|
157
|
-
const data = versions[2][lang] || versions[2];
|
|
158
|
-
data.forEach((message: any, index: any) => {
|
|
159
|
-
logger.log(` ${index + 1}. ${message}`);
|
|
160
|
-
});
|
|
161
|
-
logger.log('\n');
|
|
162
|
-
} catch (err) {}
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
this.open(appInfo);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
async getVersionResult() {
|
|
169
|
-
const profile = await handlerProfileFile({ read: true, filePath: 'cache.yml' });
|
|
170
|
-
const localVersion = profile['app-store-client-version'];
|
|
171
|
-
const result = await axios.get(S_CLIENT_VERSION_CHECK);
|
|
172
|
-
const data = result.data || [];
|
|
173
|
-
return data.length === 0 ? undefined : [localVersion, data[0]['version'], data[0]['message']];
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
async setVersion(version: string) {
|
|
177
|
-
await handlerProfileFile({
|
|
178
|
-
data: version,
|
|
179
|
-
configKey: 'app-store-client-version',
|
|
180
|
-
filePath: 'cache.yml'
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}
|
package/src/gui/index.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as program from 'commander';
|
|
2
|
-
import i18n from '../utils/i18n';
|
|
3
|
-
|
|
4
|
-
// import * as msg from './init-message';
|
|
5
|
-
import GUIService from './gui-service';
|
|
6
|
-
import { CommandError } from '../error/command-error';
|
|
7
|
-
|
|
8
|
-
const description = `${i18n.__('Start Gui Service')}
|
|
9
|
-
|
|
10
|
-
${i18n.__('Example:')}
|
|
11
|
-
$ s gui`;
|
|
12
|
-
|
|
13
|
-
program
|
|
14
|
-
.name('s gui')
|
|
15
|
-
.helpOption('-h, --help', i18n.__('Display help for command'))
|
|
16
|
-
.description(description)
|
|
17
|
-
.option('--update', i18n.__('Upgrade GUI'))
|
|
18
|
-
.parse(process.argv);
|
|
19
|
-
|
|
20
|
-
(async () => {
|
|
21
|
-
const update = program.update || false;
|
|
22
|
-
const guiService = new GUIService();
|
|
23
|
-
await guiService.start(update);
|
|
24
|
-
})().catch((err) => {
|
|
25
|
-
throw new CommandError(err.message);
|
|
26
|
-
});
|
package/src/init/init-manager.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import * as logger from '../utils/logger';
|
|
2
|
-
import * as urlParser from '../utils/url-parser';
|
|
3
|
-
import * as msg from './init-message';
|
|
4
|
-
import * as fs from 'fs-extra';
|
|
5
|
-
import * as path from 'path';
|
|
6
|
-
// import * as bluebird from "bluebird";
|
|
7
|
-
import { InitError } from '../error/init-error';
|
|
8
|
-
import { DownloadManager } from '../utils/download-manager';
|
|
9
|
-
import { PackageType } from '../utils/package-type';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export class InitManager {
|
|
13
|
-
downloadManager: DownloadManager;
|
|
14
|
-
|
|
15
|
-
constructor() {
|
|
16
|
-
this.downloadManager = new DownloadManager();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async init(target: string, provider: string, dir: any) {
|
|
20
|
-
logger.info('Initializing......');
|
|
21
|
-
try {
|
|
22
|
-
if (urlParser.isUrlFormat(target)) {
|
|
23
|
-
await this.downloadUrlTemplate(target, dir);
|
|
24
|
-
} else {
|
|
25
|
-
await this.downloadAppTemplate(target, provider, dir);
|
|
26
|
-
}
|
|
27
|
-
logger.success(msg.INIT_SUCCESS_TIPS);
|
|
28
|
-
} catch (err) {
|
|
29
|
-
throw err;
|
|
30
|
-
//logger.error(err);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async downloadAppTemplate(project: string, provider?: string, dir?: any) {
|
|
35
|
-
const outputDir = path.resolve(process.cwd(), dir || project);
|
|
36
|
-
if (fs.existsSync(outputDir)) {
|
|
37
|
-
throw new InitError('Directory already exists: {{{outputDir}}}', {
|
|
38
|
-
outputDir: outputDir
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
await this.downloadManager.downloadTemplateFromAppCenter(
|
|
44
|
-
PackageType.application,
|
|
45
|
-
project,
|
|
46
|
-
outputDir,
|
|
47
|
-
provider
|
|
48
|
-
);
|
|
49
|
-
} catch (err) {
|
|
50
|
-
throw err;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async downloadUrlTemplate(address: string, dir?: any) {
|
|
55
|
-
const url = urlParser.parse(address);
|
|
56
|
-
|
|
57
|
-
if (url.protocol && (url.protocol.startsWith('https') || url.protocol.startsWith('http'))) {
|
|
58
|
-
if (!url.hostname || !url.hostname.includes('github')) {
|
|
59
|
-
throw new InitError(
|
|
60
|
-
'Unknown host({{host}}), we support github currently.',
|
|
61
|
-
{ host: url.host }
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
//do with normal download
|
|
65
|
-
const repoTemplate = urlParser.extractTemplateInfo(url);
|
|
66
|
-
const outputDir = path.resolve(process.cwd(), dir || repoTemplate.repoName);
|
|
67
|
-
if (fs.existsSync(outputDir)) {
|
|
68
|
-
throw new InitError('Directory already exists: {{{outputDir}}}', {
|
|
69
|
-
outputDir: outputDir
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
try {
|
|
74
|
-
await this.downloadManager.downloadTemplateByUrl(
|
|
75
|
-
repoTemplate,
|
|
76
|
-
outputDir
|
|
77
|
-
);
|
|
78
|
-
} catch (err) {
|
|
79
|
-
throw err;
|
|
80
|
-
}
|
|
81
|
-
} else if (url.href.startsWith('git@')) {
|
|
82
|
-
const outputDir = path.resolve(
|
|
83
|
-
process.cwd(),
|
|
84
|
-
dir || urlParser.getProjectNameFromUrl(url.href)
|
|
85
|
-
);
|
|
86
|
-
if (fs.existsSync(outputDir)) {
|
|
87
|
-
throw new InitError('Directory already exists: {{{outputDir}}}', {
|
|
88
|
-
outputDir: outputDir
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
try {
|
|
92
|
-
await this.downloadManager.downloadTemplateByGitClone(url, outputDir);
|
|
93
|
-
} catch (err) {
|
|
94
|
-
throw new InitError('Git clone Template failed: {{msg}}', {
|
|
95
|
-
msg: err.message
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
} else {
|
|
99
|
-
throw new InitError('Unknown project format: {{target}}', {
|
|
100
|
-
target: url.href
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
package/src/init/init-message.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
export const INIT_COMMAND_DESCRIPTION = 'Initialize a new project based on a template.';
|
|
3
|
-
export const INIT_PROVIDER_DESCRIPTION = 'The cloud service provider';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export const initPopUpTips = 'You can initialize the project through the pop-up page.';
|
|
7
|
-
export const INIT_START_TIPS = 'Initializing......';
|
|
8
|
-
export const INIT_SUCCESS_TIPS = 'Initialization successfully';
|
package/src/init/init.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as program from 'commander';
|
|
2
|
-
import i18n from '../utils/i18n';
|
|
3
|
-
// import * as msg from './init-message';
|
|
4
|
-
import { InitManager } from './init-manager';
|
|
5
|
-
import { CommandError } from '../error/command-error';
|
|
6
|
-
import GUIService from '../gui/gui-service';
|
|
7
|
-
|
|
8
|
-
const description = `${i18n.__('Initialize a new project based on a template.')}
|
|
9
|
-
|
|
10
|
-
${i18n.__('Example:')}
|
|
11
|
-
$ s init
|
|
12
|
-
$ s init project
|
|
13
|
-
$ s init git@github.com:foo/bar.git
|
|
14
|
-
$ s init https://github.com/foo/bar.git
|
|
15
|
-
|
|
16
|
-
${i18n.__('You could get a project from Serverless Devs App Store. Like:')}
|
|
17
|
-
$ s search keywords
|
|
18
|
-
$ s search --gui
|
|
19
|
-
$ s init --gui
|
|
20
|
-
`;
|
|
21
|
-
|
|
22
|
-
program
|
|
23
|
-
.name('s init')
|
|
24
|
-
.helpOption('-h, --help', i18n.__('Display help for command'))
|
|
25
|
-
.usage('[options] [name | url]')
|
|
26
|
-
.option('-p, --provider [provider]', i18n.__('The cloud service provider'))
|
|
27
|
-
.option('-d, --dir [dir]', i18n.__('Where to output the initialized app into (default: ./ )'))
|
|
28
|
-
.option('-g, --gui', i18n.__('Init project through GUI service'))
|
|
29
|
-
.description(description)
|
|
30
|
-
.parse(process.argv);
|
|
31
|
-
|
|
32
|
-
(async () => {
|
|
33
|
-
|
|
34
|
-
const gui = program.gui || false;
|
|
35
|
-
|
|
36
|
-
if (program.args.length === 0 && gui === false) {
|
|
37
|
-
program.help();
|
|
38
|
-
return;
|
|
39
|
-
// throw new ServerlessError(msg.initPopUpTips);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (gui === true) {
|
|
43
|
-
const guiService = new GUIService();
|
|
44
|
-
await guiService.start();
|
|
45
|
-
} else {
|
|
46
|
-
const initManager = new InitManager();
|
|
47
|
-
const target = program.args[0];
|
|
48
|
-
const provider = program.provider;
|
|
49
|
-
const dir = program.dir;
|
|
50
|
-
await initManager.init(target, provider, dir);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
})().catch((err) => {
|
|
55
|
-
throw new CommandError(err.message);
|
|
56
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import * as program from 'commander';
|
|
2
|
-
import {PlatformLoginManager} from '../login/login-manager';
|
|
3
|
-
import { PlatformDeleteManager } from './platform-delete-manager';
|
|
4
|
-
import { PlatformDeleteError } from '../../error/platform-delete-error';
|
|
5
|
-
import i18n from '../../utils/i18n';
|
|
6
|
-
import {CommandError} from '../../error/command-error';
|
|
7
|
-
const description = `${i18n.__('Delete package.')}
|
|
8
|
-
|
|
9
|
-
${i18n.__('Example')}:
|
|
10
|
-
$ s platform delete -nv [name@version] -t [type] -p [provider]`;
|
|
11
|
-
program
|
|
12
|
-
.name('s platform delete')
|
|
13
|
-
.storeOptionsAsProperties(false)
|
|
14
|
-
.option('-nv, --name-version <name>', i18n.__('[Required] Package name and version, like: test@0.0.1'))
|
|
15
|
-
.option('-t, --type <type>', i18n.__('[Required] Package type [Component/Plugin/Application]'))
|
|
16
|
-
.option('-p, --provider <provider>', i18n.__('[Required] Provider'))
|
|
17
|
-
.description(description)
|
|
18
|
-
.helpOption('-h, --help', i18n.__('Display help for command'))
|
|
19
|
-
.parse(process.argv);
|
|
20
|
-
|
|
21
|
-
(async () => {
|
|
22
|
-
const opts = program.opts();
|
|
23
|
-
|
|
24
|
-
if (!opts.nameVersion || !opts.type || !opts.provider) {
|
|
25
|
-
program.help();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (opts.nameVersion.indexOf('@') === -1) {
|
|
29
|
-
throw new PlatformDeleteError('Could find package name and package version');
|
|
30
|
-
} else {
|
|
31
|
-
const temp = opts.nameVersion.split('@');
|
|
32
|
-
opts.name = temp[0];
|
|
33
|
-
opts.version = temp[1];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const loginManager = new PlatformLoginManager();
|
|
37
|
-
if (!loginManager.isCurrentLogin()) {
|
|
38
|
-
throw new PlatformDeleteError(i18n.__('Please login in first.'));
|
|
39
|
-
}
|
|
40
|
-
const code = loginManager.getLoginToken();
|
|
41
|
-
const platformDeleteManager = new PlatformDeleteManager();
|
|
42
|
-
//const opts = program.opts();
|
|
43
|
-
await platformDeleteManager.delete(opts.name, opts.version, opts.type, opts.provider, code);
|
|
44
|
-
})().catch((err) => {
|
|
45
|
-
throw new CommandError(err.message);
|
|
46
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import logger from '../../utils/logger';
|
|
3
|
-
import { PlatformDeleteError } from '../../error/platform-delete-error';
|
|
4
|
-
import { SERVERLESS_DELETE_PACKAGE_URL } from '../../constants/static-variable';
|
|
5
|
-
|
|
6
|
-
export class PlatformDeleteManager {
|
|
7
|
-
|
|
8
|
-
async delete(name: string, version: string, type: string, provider: string, user: string) {
|
|
9
|
-
const options = {
|
|
10
|
-
url: SERVERLESS_DELETE_PACKAGE_URL,
|
|
11
|
-
method: 'delete',
|
|
12
|
-
timeout: 5000,
|
|
13
|
-
headers: {
|
|
14
|
-
'User-Agent': 's'
|
|
15
|
-
},
|
|
16
|
-
params: {
|
|
17
|
-
name: name,
|
|
18
|
-
version: version,
|
|
19
|
-
type: type,
|
|
20
|
-
provider: provider,
|
|
21
|
-
user: user
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
let result;
|
|
26
|
-
try {
|
|
27
|
-
logger.info('Deleting......');
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
result = await axios.request(options);
|
|
31
|
-
} catch (err) {
|
|
32
|
-
throw new PlatformDeleteError('Failed to delete package, error: {{error}}', {error: err.message});
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (result.status !== 200) {
|
|
36
|
-
throw new PlatformDeleteError('Failed to delete package, http status code: {{code}}', {code: result.status});
|
|
37
|
-
}
|
|
38
|
-
if (result.data.Error) {
|
|
39
|
-
throw new PlatformDeleteError('Failed to delete package, code: {{code}}, message: {{msg}}', {
|
|
40
|
-
code: result.data.Error.Code,
|
|
41
|
-
msg: result.data.Error.Message
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
logger.success('Delete successfully');
|
|
45
|
-
}
|
|
46
|
-
}
|
package/src/platform/index.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as program from 'commander';
|
|
2
|
-
import i18n from '../utils/i18n';
|
|
3
|
-
|
|
4
|
-
const description = `${i18n.__('Package management.For component/plugin/application developers: including publishing, query, delete and other functions.')}`;
|
|
5
|
-
program
|
|
6
|
-
.name('s platform')
|
|
7
|
-
.command('login', i18n.__('Login Serverless Tool.'))
|
|
8
|
-
.command('init', i18n.__('Initialize a package to be released.'))
|
|
9
|
-
.command('publish', i18n.__('Publish package.'))
|
|
10
|
-
.command('delete', i18n.__('Delete package.'))
|
|
11
|
-
.description(description)
|
|
12
|
-
.helpOption('-h, --help', i18n.__('Display help for command'))
|
|
13
|
-
.parse(process.argv);
|
|
14
|
-
|
|
15
|
-
// (async () => {
|
|
16
|
-
// let name = undefined;
|
|
17
|
-
// if (program.args.length > 0) {
|
|
18
|
-
// name = program.args[0];
|
|
19
|
-
// }
|
|
20
|
-
// console.log(name, "name");
|
|
21
|
-
|
|
22
|
-
// })().catch((err) => {
|
|
23
|
-
// console.error(err);
|
|
24
|
-
// process.exit(-1);
|
|
25
|
-
// });
|
|
26
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as program from 'commander';
|
|
2
|
-
import { PlatformInitManager } from './platform-init-manager';
|
|
3
|
-
import i18n from '../../utils/i18n';
|
|
4
|
-
import { CommandError } from '../../error/command-error';
|
|
5
|
-
import GUIService from '../../gui/gui-service';
|
|
6
|
-
const description = `${i18n.__('Initialize a package to be released.')}
|
|
7
|
-
|
|
8
|
-
${i18n.__('Example')}:
|
|
9
|
-
$ s platform init
|
|
10
|
-
$ s platform init -t plugin`;
|
|
11
|
-
program
|
|
12
|
-
.name('s platform init')
|
|
13
|
-
.option('-t, --type <type>', i18n.__('Package type [Component/Plugin/Application]'))
|
|
14
|
-
.option('-g, --gui', i18n.__('Start gui service'))
|
|
15
|
-
.description(description)
|
|
16
|
-
.helpOption('-h, --help', i18n.__('Display help for command'))
|
|
17
|
-
.parse(process.argv);
|
|
18
|
-
|
|
19
|
-
(async () => {
|
|
20
|
-
|
|
21
|
-
if (!program.type && !program.gui) {
|
|
22
|
-
program.help();
|
|
23
|
-
}
|
|
24
|
-
if (program.gui) {
|
|
25
|
-
const guiService = new GUIService('/app');
|
|
26
|
-
guiService.start();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const platformInitManager = new PlatformInitManager();
|
|
30
|
-
platformInitManager.init(program.type);
|
|
31
|
-
})().catch((err) => {
|
|
32
|
-
throw new CommandError(err.message);
|
|
33
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs-extra';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { PlatformInitError } from '../../error/platform-init-error';
|
|
4
|
-
import logger from '../../utils/logger';
|
|
5
|
-
|
|
6
|
-
export class PlatformInitManager {
|
|
7
|
-
init(type: string) {
|
|
8
|
-
type = type.toLocaleLowerCase();
|
|
9
|
-
if (type !== 'component' && type !== 'plugin' && type != 'application') {
|
|
10
|
-
throw new PlatformInitError('Unknown package type: {{type}}', {type: type});
|
|
11
|
-
}
|
|
12
|
-
logger.info('Initializing......');
|
|
13
|
-
const srcDir = path.join(__dirname, `../../../templates/${type}/common`);
|
|
14
|
-
fs.copySync(srcDir, process.cwd());
|
|
15
|
-
logger.success('Initialization successfully');
|
|
16
|
-
}
|
|
17
|
-
}
|