@beecode/msh-cli 1.0.6 → 1.1.0
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/CHANGELOG.md +7 -0
- package/dist/controller/yargs-router/cli-router.js +15 -24
- package/dist/controller/yargs-router/git-router.js +60 -15
- package/dist/controller/yargs-router/npm-router.js +23 -13
- package/dist/dal/shell-dal.js +27 -1
- package/dist/model/command/project-command/git-tag-project-command.js +27 -0
- package/package-lock.json +1 -1
- package/package.json +1 -1
- package/dist/controller/yargs-router/init-router.js +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.1.0](https://github.com/beecode-rs/msh-cli/compare/v1.0.6...v1.1.0) (2021-12-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* git tag command ([ae0b4be](https://github.com/beecode-rs/msh-cli/commit/ae0b4be67435f610121431582a42dcb5fd644efc))
|
|
7
|
+
|
|
1
8
|
## [1.0.6](https://github.com/beecode-rs/msh-cli/compare/v1.0.5...v1.0.6) (2021-12-07)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -5,8 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.cliRouterFactory = exports.CliRouter = void 0;
|
|
7
7
|
const git_router_1 = require("src/controller/yargs-router/git-router");
|
|
8
|
-
const init_router_1 = require("src/controller/yargs-router/init-router");
|
|
9
8
|
const npm_router_1 = require("src/controller/yargs-router/npm-router");
|
|
9
|
+
const init_config_1 = require("src/model/command/init-config");
|
|
10
|
+
const terminal_wrapper_1 = require("src/service/terminal-wrapper");
|
|
10
11
|
const config_1 = require("src/util/config");
|
|
11
12
|
const yargs_1 = __importDefault(require("yargs"));
|
|
12
13
|
class CliRouter {
|
|
@@ -28,44 +29,34 @@ class CliRouter {
|
|
|
28
29
|
this._yargs.usage(`$0 <${this._globalCommands.join('|')}> [command options]`);
|
|
29
30
|
}
|
|
30
31
|
_helpVersionAlias() {
|
|
31
|
-
this._yargs.alias('version', 'v').alias('help', 'h').
|
|
32
|
+
this._yargs.alias('version', 'v').alias('help', 'h').showHelpOnFail(false, 'Specify --help for available options');
|
|
32
33
|
}
|
|
33
34
|
_demandCommands() {
|
|
34
35
|
this._yargs.demandCommand(1, 1, 'You need to select one command before moving on').strict();
|
|
35
36
|
}
|
|
36
37
|
_gitCommands() {
|
|
38
|
+
if (!(0, config_1.config)().cmd.gitEnabled)
|
|
39
|
+
return;
|
|
37
40
|
this._yargs.command({
|
|
38
|
-
command: 'git
|
|
41
|
+
command: 'git',
|
|
39
42
|
describe: 'execute git command',
|
|
40
43
|
aliases: ['g'],
|
|
41
|
-
builder: (y) => y.
|
|
42
|
-
description: 'GIT Commands',
|
|
43
|
-
type: 'string',
|
|
44
|
-
choices: ['clone', 'pull', 'fetch', 'status'],
|
|
45
|
-
}),
|
|
44
|
+
builder: (y) => git_router_1.gitRouter.commands(y).demandCommand(1, 1).showHelpOnFail(false, 'Specify --help for available options').version(false),
|
|
46
45
|
handler: async (argv) => {
|
|
47
|
-
|
|
48
|
-
throw new Error('Git commands are not enabled. Check config: CMD_GIT_ENABLED');
|
|
49
|
-
const { gitCommand } = argv;
|
|
50
|
-
await git_router_1.gitRouter.route({ gitCommand });
|
|
46
|
+
//return
|
|
51
47
|
},
|
|
52
48
|
});
|
|
53
49
|
}
|
|
54
50
|
_npmCommands() {
|
|
51
|
+
if (!(0, config_1.config)().cmd.npmEnabled)
|
|
52
|
+
return;
|
|
55
53
|
this._yargs.command({
|
|
56
|
-
command: 'npm
|
|
54
|
+
command: 'npm',
|
|
57
55
|
aliases: ['n'],
|
|
58
56
|
describe: 'execute npm command',
|
|
59
|
-
builder: (y) => y.
|
|
60
|
-
description: 'NPM Commands',
|
|
61
|
-
type: 'string',
|
|
62
|
-
choices: ['install', 'i', 'global', 'g'],
|
|
63
|
-
}),
|
|
57
|
+
builder: (y) => npm_router_1.npmRouter.commands(y).demandCommand(1, 1).showHelpOnFail(false, 'Specify --help for available options').version(false),
|
|
64
58
|
handler: async (argv) => {
|
|
65
|
-
|
|
66
|
-
throw new Error('Git commands are not enabled. Check config: CMD_NPM_ENABLED');
|
|
67
|
-
const { npmCommand } = argv;
|
|
68
|
-
await npm_router_1.npmRouter.route({ npmCommand });
|
|
59
|
+
//return
|
|
69
60
|
},
|
|
70
61
|
});
|
|
71
62
|
}
|
|
@@ -75,7 +66,7 @@ class CliRouter {
|
|
|
75
66
|
aliases: ['i'],
|
|
76
67
|
describe: 'Create init file',
|
|
77
68
|
handler: async (argv) => {
|
|
78
|
-
await
|
|
69
|
+
await (0, terminal_wrapper_1.terminalWrapperFactory)({ command: new init_config_1.InitConfig() }).execute();
|
|
79
70
|
},
|
|
80
71
|
});
|
|
81
72
|
}
|
|
@@ -83,4 +74,4 @@ class CliRouter {
|
|
|
83
74
|
exports.CliRouter = CliRouter;
|
|
84
75
|
const cliRouterFactory = (...params) => new CliRouter(...params);
|
|
85
76
|
exports.cliRouterFactory = cliRouterFactory;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVyL3lhcmdzLXJvdXRlci9jbGktcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVFQUFrRTtBQUNsRSx1RUFBa0U7QUFDbEUsK0RBQTBEO0FBQzFELG1FQUFxRTtBQUNyRSw0Q0FBd0M7QUFDeEMsa0RBQXlCO0FBRXpCLE1BQWEsU0FBUztJQUNELE1BQU0sQ0FBWTtJQUVsQixlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBRTNELFlBQW1CLElBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLGVBQUssRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBRXhCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBRXBCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUV0QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsc0NBQXNDLENBQUMsQ0FBQTtJQUNwSCxDQUFDO0lBRVMsZUFBZTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGlEQUFpRCxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDN0YsQ0FBQztJQUVTLFlBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUEsZUFBTSxHQUFFLENBQUMsR0FBRyxDQUFDLFVBQVU7WUFBRSxPQUFNO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDZCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLHNCQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEgsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFTLEVBQUUsRUFBRTtnQkFDM0IsUUFBUTtZQUNWLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsSUFBQSxlQUFNLEdBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVTtZQUFFLE9BQU07UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDbEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDZCxRQUFRLEVBQUUscUJBQXFCO1lBRS9CLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2Isc0JBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN4SCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUMzQixRQUFRO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2QsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUEseUNBQXNCLEVBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSx3QkFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3ZFLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF6RUQsOEJBeUVDO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsTUFBK0MsRUFBYSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtBQUE5RyxRQUFBLGdCQUFnQixvQkFBOEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnaXRSb3V0ZXIgfSBmcm9tICdzcmMvY29udHJvbGxlci95YXJncy1yb3V0ZXIvZ2l0LXJvdXRlcidcbmltcG9ydCB7IG5wbVJvdXRlciB9IGZyb20gJ3NyYy9jb250cm9sbGVyL3lhcmdzLXJvdXRlci9ucG0tcm91dGVyJ1xuaW1wb3J0IHsgSW5pdENvbmZpZyB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL2luaXQtY29uZmlnJ1xuaW1wb3J0IHsgdGVybWluYWxXcmFwcGVyRmFjdG9yeSB9IGZyb20gJ3NyYy9zZXJ2aWNlL3Rlcm1pbmFsLXdyYXBwZXInXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdzcmMvdXRpbC9jb25maWcnXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnXG5cbmV4cG9ydCBjbGFzcyBDbGlSb3V0ZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3lhcmdzOiB5YXJncy5Bcmd2XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9nbG9iYWxDb21tYW5kcyA9IFsnZ2l0JywgJ25wbScsICdpbml0J11cblxuICBwdWJsaWMgY29uc3RydWN0b3IoYXJndjogc3RyaW5nW10pIHtcbiAgICB0aGlzLl95YXJncyA9IHlhcmdzKGFyZ3YpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcm91dGVBcmd2KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3NldHVwVXNhZ2UoKVxuICAgIHRoaXMuX2hlbHBWZXJzaW9uQWxpYXMoKVxuXG4gICAgdGhpcy5fZ2l0Q29tbWFuZHMoKVxuICAgIHRoaXMuX25wbUNvbW1hbmRzKClcbiAgICB0aGlzLl9pbml0Q29tbWFuZHMoKVxuXG4gICAgdGhpcy5fZGVtYW5kQ29tbWFuZHMoKVxuXG4gICAgYXdhaXQgdGhpcy5feWFyZ3MucGFyc2VBc3luYygpXG4gIH1cblxuICBwcm90ZWN0ZWQgX3NldHVwVXNhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5feWFyZ3MudXNhZ2UoYCQwIDwke3RoaXMuX2dsb2JhbENvbW1hbmRzLmpvaW4oJ3wnKX0+IFtjb21tYW5kIG9wdGlvbnNdYClcbiAgfVxuXG4gIHByb3RlY3RlZCBfaGVscFZlcnNpb25BbGlhcygpOiB2b2lkIHtcbiAgICB0aGlzLl95YXJncy5hbGlhcygndmVyc2lvbicsICd2JykuYWxpYXMoJ2hlbHAnLCAnaCcpLnNob3dIZWxwT25GYWlsKGZhbHNlLCAnU3BlY2lmeSAtLWhlbHAgZm9yIGF2YWlsYWJsZSBvcHRpb25zJylcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVtYW5kQ29tbWFuZHMoKTogdm9pZCB7XG4gICAgdGhpcy5feWFyZ3MuZGVtYW5kQ29tbWFuZCgxLCAxLCAnWW91IG5lZWQgdG8gc2VsZWN0IG9uZSBjb21tYW5kIGJlZm9yZSBtb3Zpbmcgb24nKS5zdHJpY3QoKVxuICB9XG5cbiAgcHJvdGVjdGVkIF9naXRDb21tYW5kcygpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZygpLmNtZC5naXRFbmFibGVkKSByZXR1cm5cbiAgICB0aGlzLl95YXJncy5jb21tYW5kKHtcbiAgICAgIGNvbW1hbmQ6ICdnaXQnLFxuICAgICAgZGVzY3JpYmU6ICdleGVjdXRlIGdpdCBjb21tYW5kJyxcbiAgICAgIGFsaWFzZXM6IFsnZyddLFxuICAgICAgYnVpbGRlcjogKHkpID0+XG4gICAgICAgIGdpdFJvdXRlci5jb21tYW5kcyh5KS5kZW1hbmRDb21tYW5kKDEsIDEpLnNob3dIZWxwT25GYWlsKGZhbHNlLCAnU3BlY2lmeSAtLWhlbHAgZm9yIGF2YWlsYWJsZSBvcHRpb25zJykudmVyc2lvbihmYWxzZSksXG4gICAgICBoYW5kbGVyOiBhc3luYyAoYXJndjogYW55KSA9PiB7XG4gICAgICAgIC8vcmV0dXJuXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBwcm90ZWN0ZWQgX25wbUNvbW1hbmRzKCk6IHZvaWQge1xuICAgIGlmICghY29uZmlnKCkuY21kLm5wbUVuYWJsZWQpIHJldHVyblxuICAgIHRoaXMuX3lhcmdzLmNvbW1hbmQoe1xuICAgICAgY29tbWFuZDogJ25wbScsXG4gICAgICBhbGlhc2VzOiBbJ24nXSxcbiAgICAgIGRlc2NyaWJlOiAnZXhlY3V0ZSBucG0gY29tbWFuZCcsXG5cbiAgICAgIGJ1aWxkZXI6ICh5KSA9PlxuICAgICAgICBucG1Sb3V0ZXIuY29tbWFuZHMoeSkuZGVtYW5kQ29tbWFuZCgxLCAxKS5zaG93SGVscE9uRmFpbChmYWxzZSwgJ1NwZWNpZnkgLS1oZWxwIGZvciBhdmFpbGFibGUgb3B0aW9ucycpLnZlcnNpb24oZmFsc2UpLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKGFyZ3Y6IGFueSkgPT4ge1xuICAgICAgICAvL3JldHVyblxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0Q29tbWFuZHMoKTogdm9pZCB7XG4gICAgdGhpcy5feWFyZ3MuY29tbWFuZCh7XG4gICAgICBjb21tYW5kOiAnaW5pdCcsXG4gICAgICBhbGlhc2VzOiBbJ2knXSxcbiAgICAgIGRlc2NyaWJlOiAnQ3JlYXRlIGluaXQgZmlsZScsXG4gICAgICBoYW5kbGVyOiBhc3luYyAoYXJndjogYW55KSA9PiB7XG4gICAgICAgIGF3YWl0IHRlcm1pbmFsV3JhcHBlckZhY3RvcnkoeyBjb21tYW5kOiBuZXcgSW5pdENvbmZpZygpIH0pLmV4ZWN1dGUoKVxuICAgICAgfSxcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjbGlSb3V0ZXJGYWN0b3J5ID0gKC4uLnBhcmFtczogQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBDbGlSb3V0ZXI+KTogQ2xpUm91dGVyID0+IG5ldyBDbGlSb3V0ZXIoLi4ucGFyYW1zKVxuIl19
|
|
@@ -3,35 +3,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.gitRouter = void 0;
|
|
4
4
|
const git_clone_project_command_1 = require("src/model/command/project-command/git-clone-project-command");
|
|
5
5
|
const git_simple_project_command_1 = require("src/model/command/project-command/git-simple-project-command");
|
|
6
|
+
const git_tag_project_command_1 = require("src/model/command/project-command/git-tag-project-command");
|
|
6
7
|
const project_command_1 = require("src/model/command/project-command/project-command");
|
|
7
8
|
const terminal_wrapper_1 = require("src/service/terminal-wrapper");
|
|
8
9
|
exports.gitRouter = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
commands: (yargs) => {
|
|
11
|
+
exports.gitRouter._clone(yargs);
|
|
12
|
+
exports.gitRouter._pull(yargs);
|
|
13
|
+
exports.gitRouter._fetch(yargs);
|
|
14
|
+
exports.gitRouter._status(yargs);
|
|
15
|
+
exports.gitRouter._tag(yargs);
|
|
16
|
+
return yargs;
|
|
17
|
+
},
|
|
18
|
+
_clone: (yargs) => {
|
|
19
|
+
yargs.command({
|
|
20
|
+
command: 'clone',
|
|
21
|
+
describe: 'execute git clone',
|
|
22
|
+
handler: async (argv) => {
|
|
13
23
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
14
24
|
command: (0, project_command_1.projectCommandFactory)({ command: new git_clone_project_command_1.GitCloneProjectCommand() }),
|
|
15
25
|
}).execute();
|
|
16
|
-
|
|
17
|
-
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
_pull: (yargs) => {
|
|
30
|
+
yargs.command({
|
|
31
|
+
command: 'pull',
|
|
32
|
+
describe: 'execute git pull',
|
|
33
|
+
handler: async (argv) => {
|
|
18
34
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
19
35
|
command: (0, project_command_1.projectCommandFactory)({ command: new git_simple_project_command_1.GitSimpleProjectCommand({ gitSimpleCommand: git_simple_project_command_1.GitSimpleCommand.PULL }) }),
|
|
20
36
|
}).execute();
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
_fetch: (yargs) => {
|
|
41
|
+
yargs.command({
|
|
42
|
+
command: 'fetch',
|
|
43
|
+
describe: 'execute git fetch',
|
|
44
|
+
handler: async (argv) => {
|
|
23
45
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
24
46
|
command: (0, project_command_1.projectCommandFactory)({ command: new git_simple_project_command_1.GitSimpleProjectCommand({ gitSimpleCommand: git_simple_project_command_1.GitSimpleCommand.FETCH }) }),
|
|
25
47
|
}).execute();
|
|
26
|
-
|
|
27
|
-
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
_status: (yargs) => {
|
|
52
|
+
yargs.command({
|
|
53
|
+
command: 'status',
|
|
54
|
+
describe: 'execute git status',
|
|
55
|
+
handler: async (argv) => {
|
|
28
56
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
29
57
|
command: (0, project_command_1.projectCommandFactory)({ command: new git_simple_project_command_1.GitSimpleProjectCommand({ gitSimpleCommand: git_simple_project_command_1.GitSimpleCommand.STATUS }) }),
|
|
30
58
|
}).execute();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
_tag: (yargs) => {
|
|
63
|
+
yargs.command({
|
|
64
|
+
command: 'tag',
|
|
65
|
+
describe: 'execute git tag',
|
|
66
|
+
builder: (y) => {
|
|
67
|
+
y.options('name', {
|
|
68
|
+
alias: 'n',
|
|
69
|
+
describe: 'filter tag by name (* is allowed)',
|
|
70
|
+
type: 'string',
|
|
71
|
+
});
|
|
72
|
+
return y;
|
|
73
|
+
},
|
|
74
|
+
handler: async (argv) => {
|
|
75
|
+
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
76
|
+
command: (0, project_command_1.projectCommandFactory)({ command: new git_tag_project_command_1.GitTagProjectCommand({ filterByName: argv.name }) }),
|
|
77
|
+
}).execute();
|
|
78
|
+
},
|
|
79
|
+
});
|
|
35
80
|
},
|
|
36
81
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVyL3lhcmdzLXJvdXRlci9naXQtcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJHQUFvRztBQUNwRyw2R0FBd0g7QUFDeEgsdUdBQWdHO0FBQ2hHLHVGQUF5RjtBQUN6RixtRUFBcUU7QUFHeEQsUUFBQSxTQUFTLEdBQUc7SUFDdkIsUUFBUSxFQUFFLENBQUMsS0FBaUIsRUFBYyxFQUFFO1FBQzFDLGlCQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZCLGlCQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RCLGlCQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZCLGlCQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLGlCQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEtBQWlCLEVBQVEsRUFBRTtRQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1osT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUEseUNBQXNCLEVBQUM7b0JBQzNCLE9BQU8sRUFBRSxJQUFBLHVDQUFxQixFQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksa0RBQXNCLEVBQUUsRUFBRSxDQUFDO2lCQUMxRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDZCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELEtBQUssRUFBRSxDQUFDLEtBQWlCLEVBQVEsRUFBRTtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1osT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sSUFBQSx5Q0FBc0IsRUFBQztvQkFDM0IsT0FBTyxFQUFFLElBQUEsdUNBQXFCLEVBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxvREFBdUIsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLDZDQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDdEgsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2QsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFpQixFQUFRLEVBQUU7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFTLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxJQUFBLHlDQUFzQixFQUFDO29CQUMzQixPQUFPLEVBQUUsSUFBQSx1Q0FBcUIsRUFBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLG9EQUF1QixDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsNkNBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUN2SCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDZCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLEtBQWlCLEVBQVEsRUFBRTtRQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1osT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUEseUNBQXNCLEVBQUM7b0JBQzNCLE9BQU8sRUFBRSxJQUFBLHVDQUFxQixFQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksb0RBQXVCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSw2Q0FBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ3hILENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNkLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsS0FBaUIsRUFBUSxFQUFFO1FBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7b0JBQ2hCLEtBQUssRUFBRSxHQUFHO29CQUNWLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLElBQUksRUFBRSxRQUFRO2lCQUNmLENBQUMsQ0FBQTtnQkFDRixPQUFPLENBQUMsQ0FBQTtZQUNWLENBQUM7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLElBQUEseUNBQXNCLEVBQUM7b0JBQzNCLE9BQU8sRUFBRSxJQUFBLHVDQUFxQixFQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksOENBQW9CLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDbkcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2QsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0Q2xvbmVQcm9qZWN0Q29tbWFuZCB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL3Byb2plY3QtY29tbWFuZC9naXQtY2xvbmUtcHJvamVjdC1jb21tYW5kJ1xuaW1wb3J0IHsgR2l0U2ltcGxlQ29tbWFuZCwgR2l0U2ltcGxlUHJvamVjdENvbW1hbmQgfSBmcm9tICdzcmMvbW9kZWwvY29tbWFuZC9wcm9qZWN0LWNvbW1hbmQvZ2l0LXNpbXBsZS1wcm9qZWN0LWNvbW1hbmQnXG5pbXBvcnQgeyBHaXRUYWdQcm9qZWN0Q29tbWFuZCB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL3Byb2plY3QtY29tbWFuZC9naXQtdGFnLXByb2plY3QtY29tbWFuZCdcbmltcG9ydCB7IHByb2plY3RDb21tYW5kRmFjdG9yeSB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL3Byb2plY3QtY29tbWFuZC9wcm9qZWN0LWNvbW1hbmQnXG5pbXBvcnQgeyB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5IH0gZnJvbSAnc3JjL3NlcnZpY2UvdGVybWluYWwtd3JhcHBlcidcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncydcblxuZXhwb3J0IGNvbnN0IGdpdFJvdXRlciA9IHtcbiAgY29tbWFuZHM6ICh5YXJnczogeWFyZ3MuQXJndik6IHlhcmdzLkFyZ3YgPT4ge1xuICAgIGdpdFJvdXRlci5fY2xvbmUoeWFyZ3MpXG4gICAgZ2l0Um91dGVyLl9wdWxsKHlhcmdzKVxuICAgIGdpdFJvdXRlci5fZmV0Y2goeWFyZ3MpXG4gICAgZ2l0Um91dGVyLl9zdGF0dXMoeWFyZ3MpXG4gICAgZ2l0Um91dGVyLl90YWcoeWFyZ3MpXG4gICAgcmV0dXJuIHlhcmdzXG4gIH0sXG4gIF9jbG9uZTogKHlhcmdzOiB5YXJncy5Bcmd2KTogdm9pZCA9PiB7XG4gICAgeWFyZ3MuY29tbWFuZCh7XG4gICAgICBjb21tYW5kOiAnY2xvbmUnLFxuICAgICAgZGVzY3JpYmU6ICdleGVjdXRlIGdpdCBjbG9uZScsXG4gICAgICBoYW5kbGVyOiBhc3luYyAoYXJndjogYW55KSA9PiB7XG4gICAgICAgIGF3YWl0IHRlcm1pbmFsV3JhcHBlckZhY3Rvcnkoe1xuICAgICAgICAgIGNvbW1hbmQ6IHByb2plY3RDb21tYW5kRmFjdG9yeSh7IGNvbW1hbmQ6IG5ldyBHaXRDbG9uZVByb2plY3RDb21tYW5kKCkgfSksXG4gICAgICAgIH0pLmV4ZWN1dGUoKVxuICAgICAgfSxcbiAgICB9KVxuICB9LFxuICBfcHVsbDogKHlhcmdzOiB5YXJncy5Bcmd2KTogdm9pZCA9PiB7XG4gICAgeWFyZ3MuY29tbWFuZCh7XG4gICAgICBjb21tYW5kOiAncHVsbCcsXG4gICAgICBkZXNjcmliZTogJ2V4ZWN1dGUgZ2l0IHB1bGwnLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKGFyZ3Y6IGFueSkgPT4ge1xuICAgICAgICBhd2FpdCB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5KHtcbiAgICAgICAgICBjb21tYW5kOiBwcm9qZWN0Q29tbWFuZEZhY3RvcnkoeyBjb21tYW5kOiBuZXcgR2l0U2ltcGxlUHJvamVjdENvbW1hbmQoeyBnaXRTaW1wbGVDb21tYW5kOiBHaXRTaW1wbGVDb21tYW5kLlBVTEwgfSkgfSksXG4gICAgICAgIH0pLmV4ZWN1dGUoKVxuICAgICAgfSxcbiAgICB9KVxuICB9LFxuICBfZmV0Y2g6ICh5YXJnczogeWFyZ3MuQXJndik6IHZvaWQgPT4ge1xuICAgIHlhcmdzLmNvbW1hbmQoe1xuICAgICAgY29tbWFuZDogJ2ZldGNoJyxcbiAgICAgIGRlc2NyaWJlOiAnZXhlY3V0ZSBnaXQgZmV0Y2gnLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKGFyZ3Y6IGFueSkgPT4ge1xuICAgICAgICBhd2FpdCB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5KHtcbiAgICAgICAgICBjb21tYW5kOiBwcm9qZWN0Q29tbWFuZEZhY3RvcnkoeyBjb21tYW5kOiBuZXcgR2l0U2ltcGxlUHJvamVjdENvbW1hbmQoeyBnaXRTaW1wbGVDb21tYW5kOiBHaXRTaW1wbGVDb21tYW5kLkZFVENIIH0pIH0pLFxuICAgICAgICB9KS5leGVjdXRlKClcbiAgICAgIH0sXG4gICAgfSlcbiAgfSxcbiAgX3N0YXR1czogKHlhcmdzOiB5YXJncy5Bcmd2KTogdm9pZCA9PiB7XG4gICAgeWFyZ3MuY29tbWFuZCh7XG4gICAgICBjb21tYW5kOiAnc3RhdHVzJyxcbiAgICAgIGRlc2NyaWJlOiAnZXhlY3V0ZSBnaXQgc3RhdHVzJyxcbiAgICAgIGhhbmRsZXI6IGFzeW5jIChhcmd2OiBhbnkpID0+IHtcbiAgICAgICAgYXdhaXQgdGVybWluYWxXcmFwcGVyRmFjdG9yeSh7XG4gICAgICAgICAgY29tbWFuZDogcHJvamVjdENvbW1hbmRGYWN0b3J5KHsgY29tbWFuZDogbmV3IEdpdFNpbXBsZVByb2plY3RDb21tYW5kKHsgZ2l0U2ltcGxlQ29tbWFuZDogR2l0U2ltcGxlQ29tbWFuZC5TVEFUVVMgfSkgfSksXG4gICAgICAgIH0pLmV4ZWN1dGUoKVxuICAgICAgfSxcbiAgICB9KVxuICB9LFxuICBfdGFnOiAoeWFyZ3M6IHlhcmdzLkFyZ3YpOiB2b2lkID0+IHtcbiAgICB5YXJncy5jb21tYW5kKHtcbiAgICAgIGNvbW1hbmQ6ICd0YWcnLFxuICAgICAgZGVzY3JpYmU6ICdleGVjdXRlIGdpdCB0YWcnLFxuICAgICAgYnVpbGRlcjogKHkpID0+IHtcbiAgICAgICAgeS5vcHRpb25zKCduYW1lJywge1xuICAgICAgICAgIGFsaWFzOiAnbicsXG4gICAgICAgICAgZGVzY3JpYmU6ICdmaWx0ZXIgdGFnIGJ5IG5hbWUgKCogaXMgYWxsb3dlZCknLFxuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4geVxuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6IGFzeW5jIChhcmd2OiBhbnkpID0+IHtcbiAgICAgICAgYXdhaXQgdGVybWluYWxXcmFwcGVyRmFjdG9yeSh7XG4gICAgICAgICAgY29tbWFuZDogcHJvamVjdENvbW1hbmRGYWN0b3J5KHsgY29tbWFuZDogbmV3IEdpdFRhZ1Byb2plY3RDb21tYW5kKHsgZmlsdGVyQnlOYW1lOiBhcmd2Lm5hbWUgfSkgfSksXG4gICAgICAgIH0pLmV4ZWN1dGUoKVxuICAgICAgfSxcbiAgICB9KVxuICB9LFxufVxuIl19
|
|
@@ -6,24 +6,34 @@ const npm_install_project_command_1 = require("src/model/command/project-command
|
|
|
6
6
|
const project_command_1 = require("src/model/command/project-command/project-command");
|
|
7
7
|
const terminal_wrapper_1 = require("src/service/terminal-wrapper");
|
|
8
8
|
exports.npmRouter = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
commands: (yargs) => {
|
|
10
|
+
exports.npmRouter._install(yargs);
|
|
11
|
+
exports.npmRouter._global(yargs);
|
|
12
|
+
return yargs;
|
|
13
|
+
},
|
|
14
|
+
_install: (yargs) => {
|
|
15
|
+
yargs.command({
|
|
16
|
+
command: 'install',
|
|
17
|
+
describe: 'execute npm i for all projects',
|
|
18
|
+
aliases: ['i'],
|
|
19
|
+
handler: async (argv) => {
|
|
14
20
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({
|
|
15
21
|
command: (0, project_command_1.projectCommandFactory)({
|
|
16
22
|
command: new npm_install_project_command_1.NpmInstallProjectCommand(),
|
|
17
23
|
}),
|
|
18
24
|
}).execute();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
_global: (yargs) => {
|
|
29
|
+
yargs.command({
|
|
30
|
+
command: 'global',
|
|
31
|
+
aliases: ['g'],
|
|
32
|
+
describe: 'gather npm packages to global package.json (project root level)',
|
|
33
|
+
handler: async (argv) => {
|
|
22
34
|
await (0, terminal_wrapper_1.terminalWrapperFactory)({ command: (0, npm_global_project_command_1.npmGlobalProjectCommandFactory)() }).execute();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
throw new Error(`Unsupported npm command [${npmCommand}]`);
|
|
26
|
-
}
|
|
35
|
+
},
|
|
36
|
+
});
|
|
27
37
|
},
|
|
28
38
|
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVyL3lhcmdzLXJvdXRlci9ucG0tcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZHQUE2RztBQUM3RywrR0FBd0c7QUFDeEcsdUZBQXlGO0FBQ3pGLG1FQUFxRTtBQUd4RCxRQUFBLFNBQVMsR0FBRztJQUN2QixRQUFRLEVBQUUsQ0FBQyxLQUFpQixFQUFjLEVBQUU7UUFDMUMsaUJBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekIsaUJBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsUUFBUSxFQUFFLENBQUMsS0FBaUIsRUFBUSxFQUFFO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWixPQUFPLEVBQUUsU0FBUztZQUNsQixRQUFRLEVBQUUsZ0NBQWdDO1lBQzFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sSUFBQSx5Q0FBc0IsRUFBQztvQkFDM0IsT0FBTyxFQUFFLElBQUEsdUNBQXFCLEVBQUM7d0JBQzdCLE9BQU8sRUFBRSxJQUFJLHNEQUF3QixFQUFFO3FCQUN4QyxDQUFDO2lCQUNILENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNkLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBaUIsRUFBUSxFQUFFO1FBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWixPQUFPLEVBQUUsUUFBUTtZQUNqQixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDZCxRQUFRLEVBQUUsaUVBQWlFO1lBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sSUFBQSx5Q0FBc0IsRUFBQyxFQUFFLE9BQU8sRUFBRSxJQUFBLDJEQUE4QixHQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3ZGLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5wbUdsb2JhbFByb2plY3RDb21tYW5kRmFjdG9yeSB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL3Byb2plY3QtY29tbWFuZC9ucG0tZ2xvYmFsLXByb2plY3QtY29tbWFuZCdcbmltcG9ydCB7IE5wbUluc3RhbGxQcm9qZWN0Q29tbWFuZCB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL3Byb2plY3QtY29tbWFuZC9ucG0taW5zdGFsbC1wcm9qZWN0LWNvbW1hbmQnXG5pbXBvcnQgeyBwcm9qZWN0Q29tbWFuZEZhY3RvcnkgfSBmcm9tICdzcmMvbW9kZWwvY29tbWFuZC9wcm9qZWN0LWNvbW1hbmQvcHJvamVjdC1jb21tYW5kJ1xuaW1wb3J0IHsgdGVybWluYWxXcmFwcGVyRmFjdG9yeSB9IGZyb20gJ3NyYy9zZXJ2aWNlL3Rlcm1pbmFsLXdyYXBwZXInXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnXG5cbmV4cG9ydCBjb25zdCBucG1Sb3V0ZXIgPSB7XG4gIGNvbW1hbmRzOiAoeWFyZ3M6IHlhcmdzLkFyZ3YpOiB5YXJncy5Bcmd2ID0+IHtcbiAgICBucG1Sb3V0ZXIuX2luc3RhbGwoeWFyZ3MpXG4gICAgbnBtUm91dGVyLl9nbG9iYWwoeWFyZ3MpXG4gICAgcmV0dXJuIHlhcmdzXG4gIH0sXG4gIF9pbnN0YWxsOiAoeWFyZ3M6IHlhcmdzLkFyZ3YpOiB2b2lkID0+IHtcbiAgICB5YXJncy5jb21tYW5kKHtcbiAgICAgIGNvbW1hbmQ6ICdpbnN0YWxsJyxcbiAgICAgIGRlc2NyaWJlOiAnZXhlY3V0ZSBucG0gaSBmb3IgYWxsIHByb2plY3RzJyxcbiAgICAgIGFsaWFzZXM6IFsnaSddLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKGFyZ3Y6IGFueSkgPT4ge1xuICAgICAgICBhd2FpdCB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5KHtcbiAgICAgICAgICBjb21tYW5kOiBwcm9qZWN0Q29tbWFuZEZhY3Rvcnkoe1xuICAgICAgICAgICAgY29tbWFuZDogbmV3IE5wbUluc3RhbGxQcm9qZWN0Q29tbWFuZCgpLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KS5leGVjdXRlKClcbiAgICAgIH0sXG4gICAgfSlcbiAgfSxcbiAgX2dsb2JhbDogKHlhcmdzOiB5YXJncy5Bcmd2KTogdm9pZCA9PiB7XG4gICAgeWFyZ3MuY29tbWFuZCh7XG4gICAgICBjb21tYW5kOiAnZ2xvYmFsJyxcbiAgICAgIGFsaWFzZXM6IFsnZyddLFxuICAgICAgZGVzY3JpYmU6ICdnYXRoZXIgbnBtIHBhY2thZ2VzIHRvIGdsb2JhbCBwYWNrYWdlLmpzb24gKHByb2plY3Qgcm9vdCBsZXZlbCknLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKGFyZ3Y6IGFueSkgPT4ge1xuICAgICAgICBhd2FpdCB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5KHsgY29tbWFuZDogbnBtR2xvYmFsUHJvamVjdENvbW1hbmRGYWN0b3J5KCkgfSkuZXhlY3V0ZSgpXG4gICAgICB9LFxuICAgIH0pXG4gIH0sXG59XG4iXX0=
|
package/dist/dal/shell-dal.js
CHANGED
|
@@ -7,6 +7,32 @@ exports.shellDal = void 0;
|
|
|
7
7
|
const shelljs_1 = __importDefault(require("shelljs"));
|
|
8
8
|
const logger_1 = require("src/util/logger");
|
|
9
9
|
exports.shellDal = {
|
|
10
|
+
// exec: (cmd: string): Promise<ExecResult> =>
|
|
11
|
+
// new Promise((resolve, reject) => {
|
|
12
|
+
// logger().debug(shellDal.pwd())
|
|
13
|
+
// const child = shell.exec(cmd, { async: true, silent: true })
|
|
14
|
+
// const result = { stdout: '', stderr: '', errorOccurred: false }
|
|
15
|
+
//
|
|
16
|
+
// if (child.stdout) {
|
|
17
|
+
// child.stdout.on('data', (data) => {
|
|
18
|
+
// result.stdout = (result.stdout ?? '') + data.toString()
|
|
19
|
+
// })
|
|
20
|
+
// child.stdout.on('end', () => {
|
|
21
|
+
// resolve(result)
|
|
22
|
+
// })
|
|
23
|
+
// } else if (child.stderr) {
|
|
24
|
+
// child.stderr.on('end', () => {
|
|
25
|
+
// resolve(result)
|
|
26
|
+
// })
|
|
27
|
+
// }
|
|
28
|
+
//
|
|
29
|
+
// if (child.stderr) {
|
|
30
|
+
// child.stderr.on('data', (data) => {
|
|
31
|
+
// result.stderr = (result.stderr ?? '') + data.toString()
|
|
32
|
+
// result.errorOccurred = (child.exitCode ?? 0) !== 0
|
|
33
|
+
// })
|
|
34
|
+
// }
|
|
35
|
+
// }),
|
|
10
36
|
exec: (cmd) => new Promise((resolve) => {
|
|
11
37
|
(0, logger_1.logger)().debug(exports.shellDal.pwd());
|
|
12
38
|
shelljs_1.default.exec(cmd, { silent: true }, (code, stdout, stderr) => {
|
|
@@ -24,4 +50,4 @@ exports.shellDal = {
|
|
|
24
50
|
return shelljs_1.default.pwd();
|
|
25
51
|
},
|
|
26
52
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhbC9zaGVsbC1kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0RBQTJCO0FBQzNCLDRDQUF3QztBQVEzQixRQUFBLFFBQVEsR0FBRztJQUN0Qiw4Q0FBOEM7SUFDOUMsdUNBQXVDO0lBQ3ZDLHFDQUFxQztJQUNyQyxtRUFBbUU7SUFDbkUsc0VBQXNFO0lBQ3RFLEVBQUU7SUFDRiwwQkFBMEI7SUFDMUIsNENBQTRDO0lBQzVDLGtFQUFrRTtJQUNsRSxXQUFXO0lBQ1gsdUNBQXVDO0lBQ3ZDLDBCQUEwQjtJQUMxQixXQUFXO0lBQ1gsaUNBQWlDO0lBQ2pDLHVDQUF1QztJQUN2QywwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFFBQVE7SUFDUixFQUFFO0lBQ0YsMEJBQTBCO0lBQzFCLDRDQUE0QztJQUM1QyxrRUFBa0U7SUFDbEUsNkRBQTZEO0lBQzdELFdBQVc7SUFDWCxRQUFRO0lBQ1IsUUFBUTtJQUNSLElBQUksRUFBRSxDQUFDLEdBQVcsRUFBdUIsRUFBRSxDQUN6QyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3RCLElBQUEsZUFBTSxHQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUM5QixpQkFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksS0FBSyxDQUFDLENBQUE7WUFDaEMsT0FBTyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUM7SUFDSixLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQVEsRUFBRTtRQUMvQixpQkFBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNyQixDQUFDO0lBQ0QsRUFBRSxFQUFFLENBQUMsR0FBVyxFQUFRLEVBQUU7UUFDeEIsaUJBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDZixDQUFDO0lBQ0QsR0FBRyxFQUFFLEdBQVcsRUFBRTtRQUNoQixPQUFPLGlCQUFLLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDcEIsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hlbGwgZnJvbSAnc2hlbGxqcydcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJ3NyYy91dGlsL2xvZ2dlcidcblxuZXhwb3J0IHR5cGUgRXhlY1Jlc3VsdCA9IHtcbiAgc3Rkb3V0OiBzdHJpbmdcbiAgc3RkZXJyOiBzdHJpbmdcbiAgZXJyb3JPY2N1cnJlZDogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3Qgc2hlbGxEYWwgPSB7XG4gIC8vIGV4ZWM6IChjbWQ6IHN0cmluZyk6IFByb21pc2U8RXhlY1Jlc3VsdD4gPT5cbiAgLy8gICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIC8vICAgICBsb2dnZXIoKS5kZWJ1ZyhzaGVsbERhbC5wd2QoKSlcbiAgLy8gICAgIGNvbnN0IGNoaWxkID0gc2hlbGwuZXhlYyhjbWQsIHsgYXN5bmM6IHRydWUsIHNpbGVudDogdHJ1ZSB9KVxuICAvLyAgICAgY29uc3QgcmVzdWx0ID0geyBzdGRvdXQ6ICcnLCBzdGRlcnI6ICcnLCBlcnJvck9jY3VycmVkOiBmYWxzZSB9XG4gIC8vXG4gIC8vICAgICBpZiAoY2hpbGQuc3Rkb3V0KSB7XG4gIC8vICAgICAgIGNoaWxkLnN0ZG91dC5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gIC8vICAgICAgICAgcmVzdWx0LnN0ZG91dCA9IChyZXN1bHQuc3Rkb3V0ID8/ICcnKSArIGRhdGEudG9TdHJpbmcoKVxuICAvLyAgICAgICB9KVxuICAvLyAgICAgICBjaGlsZC5zdGRvdXQub24oJ2VuZCcsICgpID0+IHtcbiAgLy8gICAgICAgICByZXNvbHZlKHJlc3VsdClcbiAgLy8gICAgICAgfSlcbiAgLy8gICAgIH0gZWxzZSBpZiAoY2hpbGQuc3RkZXJyKSB7XG4gIC8vICAgICAgIGNoaWxkLnN0ZGVyci5vbignZW5kJywgKCkgPT4ge1xuICAvLyAgICAgICAgIHJlc29sdmUocmVzdWx0KVxuICAvLyAgICAgICB9KVxuICAvLyAgICAgfVxuICAvL1xuICAvLyAgICAgaWYgKGNoaWxkLnN0ZGVycikge1xuICAvLyAgICAgICBjaGlsZC5zdGRlcnIub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAvLyAgICAgICAgIHJlc3VsdC5zdGRlcnIgPSAocmVzdWx0LnN0ZGVyciA/PyAnJykgKyBkYXRhLnRvU3RyaW5nKClcbiAgLy8gICAgICAgICByZXN1bHQuZXJyb3JPY2N1cnJlZCA9IChjaGlsZC5leGl0Q29kZSA/PyAwKSAhPT0gMFxuICAvLyAgICAgICB9KVxuICAvLyAgICAgfVxuICAvLyAgIH0pLFxuICBleGVjOiAoY21kOiBzdHJpbmcpOiBQcm9taXNlPEV4ZWNSZXN1bHQ+ID0+XG4gICAgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGxvZ2dlcigpLmRlYnVnKHNoZWxsRGFsLnB3ZCgpKVxuICAgICAgc2hlbGwuZXhlYyhjbWQsIHsgc2lsZW50OiB0cnVlIH0sIChjb2RlLCBzdGRvdXQsIHN0ZGVycikgPT4ge1xuICAgICAgICBjb25zdCBlcnJvck9jY3VycmVkID0gY29kZSAhPT0gMFxuICAgICAgICByZXR1cm4gcmVzb2x2ZSh7IHN0ZG91dCwgc3RkZXJyLCBlcnJvck9jY3VycmVkIH0pXG4gICAgICB9KVxuICAgIH0pLFxuICBwcmludDogKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIHNoZWxsLmVjaG8obWVzc2FnZSlcbiAgfSxcbiAgY2Q6IChkaXI6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIHNoZWxsLmNkKGRpcilcbiAgfSxcbiAgcHdkOiAoKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gc2hlbGwucHdkKClcbiAgfSxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitTagProjectCommand = void 0;
|
|
4
|
+
const shell_service_1 = require("src/service/shell-service");
|
|
5
|
+
const config_1 = require("src/util/config");
|
|
6
|
+
class GitTagProjectCommand {
|
|
7
|
+
_rootDir;
|
|
8
|
+
_filterByName;
|
|
9
|
+
constructor(params) {
|
|
10
|
+
const { filterByName, rootDir = (0, config_1.config)().rootDir } = params;
|
|
11
|
+
this._rootDir = rootDir;
|
|
12
|
+
this._filterByName = filterByName;
|
|
13
|
+
}
|
|
14
|
+
async execute(project) {
|
|
15
|
+
try {
|
|
16
|
+
const filterLine = this._filterByName ? ` -l ${this._filterByName}` : '';
|
|
17
|
+
const cmd = `git -C ${this._rootDir}/${project} tag -n9${filterLine}`;
|
|
18
|
+
const result = await shell_service_1.shellService.exec(cmd);
|
|
19
|
+
return [{ name: project, errorMessage: result.stderr, stringResult: result.stdout }];
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
return [{ errorMessage: err.message }];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.GitTagProjectCommand = GitTagProjectCommand;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LXRhZy1wcm9qZWN0LWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvY29tbWFuZC9wcm9qZWN0LWNvbW1hbmQvZ2l0LXRhZy1wcm9qZWN0LWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkRBQXdEO0FBQ3hELDRDQUF3QztBQUV4QyxNQUFhLG9CQUFvQjtJQUNaLFFBQVEsQ0FBUTtJQUNoQixhQUFhLENBQVM7SUFFekMsWUFBWSxNQUFtRDtRQUM3RCxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sR0FBRyxJQUFBLGVBQU0sR0FBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQTtJQUNuQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlO1FBQ2xDLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQ3hFLE1BQU0sR0FBRyxHQUFHLFVBQVUsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLFdBQVcsVUFBVSxFQUFFLENBQUE7WUFDckUsTUFBTSxNQUFNLEdBQUcsTUFBTSw0QkFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtTQUNyRjtRQUFDLE9BQU8sR0FBUSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtTQUN2QztJQUNILENBQUM7Q0FDRjtBQXBCRCxvREFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjdXRlUmVzdWx0LCBQcm9qZWN0RXhlY3V0YWJsZSB9IGZyb20gJ3NyYy9tb2RlbC9jb21tYW5kL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBzaGVsbFNlcnZpY2UgfSBmcm9tICdzcmMvc2VydmljZS9zaGVsbC1zZXJ2aWNlJ1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnc3JjL3V0aWwvY29uZmlnJ1xuXG5leHBvcnQgY2xhc3MgR2l0VGFnUHJvamVjdENvbW1hbmQgaW1wbGVtZW50cyBQcm9qZWN0RXhlY3V0YWJsZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfcm9vdERpcjogc3RyaW5nXG4gIHByb3RlY3RlZCByZWFkb25seSBfZmlsdGVyQnlOYW1lPzogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IocGFyYW1zOiB7IGZpbHRlckJ5TmFtZT86IHN0cmluZzsgcm9vdERpcj86IHN0cmluZyB9KSB7XG4gICAgY29uc3QgeyBmaWx0ZXJCeU5hbWUsIHJvb3REaXIgPSBjb25maWcoKS5yb290RGlyIH0gPSBwYXJhbXNcbiAgICB0aGlzLl9yb290RGlyID0gcm9vdERpclxuICAgIHRoaXMuX2ZpbHRlckJ5TmFtZSA9IGZpbHRlckJ5TmFtZVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGV4ZWN1dGUocHJvamVjdDogc3RyaW5nKTogUHJvbWlzZTxFeGVjdXRlUmVzdWx0W10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmlsdGVyTGluZSA9IHRoaXMuX2ZpbHRlckJ5TmFtZSA/IGAgLWwgJHt0aGlzLl9maWx0ZXJCeU5hbWV9YCA6ICcnXG4gICAgICBjb25zdCBjbWQgPSBgZ2l0IC1DICR7dGhpcy5fcm9vdERpcn0vJHtwcm9qZWN0fSB0YWcgLW45JHtmaWx0ZXJMaW5lfWBcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNoZWxsU2VydmljZS5leGVjKGNtZClcbiAgICAgIHJldHVybiBbeyBuYW1lOiBwcm9qZWN0LCBlcnJvck1lc3NhZ2U6IHJlc3VsdC5zdGRlcnIsIHN0cmluZ1Jlc3VsdDogcmVzdWx0LnN0ZG91dCB9XVxuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICByZXR1cm4gW3sgZXJyb3JNZXNzYWdlOiBlcnIubWVzc2FnZSB9XVxuICAgIH1cbiAgfVxufVxuIl19
|
package/package-lock.json
CHANGED
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initRouter = void 0;
|
|
4
|
-
const init_config_1 = require("src/model/command/init-config");
|
|
5
|
-
const terminal_wrapper_1 = require("src/service/terminal-wrapper");
|
|
6
|
-
exports.initRouter = {
|
|
7
|
-
route: async () => {
|
|
8
|
-
await (0, terminal_wrapper_1.terminalWrapperFactory)({ command: new init_config_1.InitConfig() }).execute();
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci95YXJncy1yb3V0ZXIvaW5pdC1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTBEO0FBQzFELG1FQUFxRTtBQUV4RCxRQUFBLFVBQVUsR0FBRztJQUN4QixLQUFLLEVBQUUsS0FBSyxJQUFtQixFQUFFO1FBQy9CLE1BQU0sSUFBQSx5Q0FBc0IsRUFBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLHdCQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDdkUsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbml0Q29uZmlnIH0gZnJvbSAnc3JjL21vZGVsL2NvbW1hbmQvaW5pdC1jb25maWcnXG5pbXBvcnQgeyB0ZXJtaW5hbFdyYXBwZXJGYWN0b3J5IH0gZnJvbSAnc3JjL3NlcnZpY2UvdGVybWluYWwtd3JhcHBlcidcblxuZXhwb3J0IGNvbnN0IGluaXRSb3V0ZXIgPSB7XG4gIHJvdXRlOiBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgYXdhaXQgdGVybWluYWxXcmFwcGVyRmFjdG9yeSh7IGNvbW1hbmQ6IG5ldyBJbml0Q29uZmlnKCkgfSkuZXhlY3V0ZSgpXG4gIH0sXG59XG4iXX0=
|