@lenne.tech/cli-plugin-helper 0.0.9 → 0.0.12
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/dist/extensions/helper.extension.d.ts +3 -3
- package/dist/extensions/helper.extension.js +19 -19
- package/dist/extensions/helper.extension.js.map +1 -1
- package/dist/extensions/npm.extension.d.ts +2 -2
- package/dist/extensions/npm.extension.js +19 -19
- package/dist/extensions/npm.extension.js.map +1 -1
- package/package.json +28 -21
- package/src/extensions/helper.extension.ts +26 -25
- package/src/extensions/npm.extension.ts +17 -16
- package/src/interfaces/extended-gluegun-toolbox.interface.ts +1 -0
|
@@ -20,9 +20,9 @@ export declare class Helper {
|
|
|
20
20
|
* Get input if not set
|
|
21
21
|
*/
|
|
22
22
|
getInput(input: string, options?: {
|
|
23
|
+
errorMessage?: string;
|
|
23
24
|
initial?: string;
|
|
24
25
|
name?: string;
|
|
25
|
-
errorMessage?: string;
|
|
26
26
|
showError?: boolean;
|
|
27
27
|
}): Promise<string>;
|
|
28
28
|
/**
|
|
@@ -50,12 +50,12 @@ export declare class Helper {
|
|
|
50
50
|
*/
|
|
51
51
|
showMenu(parentCommands?: string, options?: {
|
|
52
52
|
checkUpdate?: boolean;
|
|
53
|
-
level?: number;
|
|
54
53
|
headline?: string;
|
|
54
|
+
level?: number;
|
|
55
55
|
}): Promise<void>;
|
|
56
56
|
}
|
|
57
|
-
declare const _default: (toolbox: IHelperExtendedGluegunToolbox) => void;
|
|
58
57
|
/**
|
|
59
58
|
* Extend toolbox
|
|
60
59
|
*/
|
|
60
|
+
declare const _default: (toolbox: IHelperExtendedGluegunToolbox) => void;
|
|
61
61
|
export default _default;
|
|
@@ -30,11 +30,11 @@ class Helper {
|
|
|
30
30
|
getConfig() {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
32
|
// Toolbox feature
|
|
33
|
-
const { config, filesystem, runtime: { brand } } = this.toolbox;
|
|
33
|
+
const { config, filesystem, runtime: { brand }, } = this.toolbox;
|
|
34
34
|
// Configuration in home directory (~/.brand)
|
|
35
35
|
let homeDirConfig = {};
|
|
36
36
|
try {
|
|
37
|
-
const homeDirConfigFile = path_1.join(filesystem.homedir(),
|
|
37
|
+
const homeDirConfigFile = (0, path_1.join)(filesystem.homedir(), `.${brand}`);
|
|
38
38
|
if (yield filesystem.existsAsync(homeDirConfigFile)) {
|
|
39
39
|
homeDirConfig = JSON.parse(yield filesystem.readAsync(homeDirConfigFile));
|
|
40
40
|
}
|
|
@@ -45,7 +45,7 @@ class Helper {
|
|
|
45
45
|
// Configuration in current directory (./.brand)
|
|
46
46
|
let currentDirConfig = {};
|
|
47
47
|
try {
|
|
48
|
-
const currentDirConfigFile = path_1.join(filesystem.cwd(),
|
|
48
|
+
const currentDirConfigFile = (0, path_1.join)(filesystem.cwd(), `.${brand}`);
|
|
49
49
|
if (yield filesystem.existsAsync(currentDirConfigFile)) {
|
|
50
50
|
currentDirConfig = JSON.parse(yield filesystem.readAsync(currentDirConfigFile));
|
|
51
51
|
}
|
|
@@ -53,7 +53,7 @@ class Helper {
|
|
|
53
53
|
catch (e) {
|
|
54
54
|
// Nothing
|
|
55
55
|
}
|
|
56
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, config[brand]), config.loadConfig(path_1.join('~', `.${brand}`), brand)), homeDirConfig), config.loadConfig(path_1.join(filesystem.cwd(), `.${brand}`), brand)), currentDirConfig);
|
|
56
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, config[brand]), config.loadConfig((0, path_1.join)('~', `.${brand}`), brand)), homeDirConfig), config.loadConfig((0, path_1.join)(filesystem.cwd(), `.${brand}`), brand)), currentDirConfig);
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
@@ -63,7 +63,7 @@ class Helper {
|
|
|
63
63
|
if (!dirPath.join('')) {
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
66
|
-
return path_1.join(...dirPath) // normalized path
|
|
66
|
+
return (0, path_1.join)(...dirPath) // normalized path
|
|
67
67
|
.replace('~', os.homedir()) // replace ~ with homedir
|
|
68
68
|
.replace(/\/|\\/gm, path_1.sep); // set OS specific separators
|
|
69
69
|
}
|
|
@@ -76,20 +76,20 @@ class Helper {
|
|
|
76
76
|
const opts = Object.assign({
|
|
77
77
|
initial: '',
|
|
78
78
|
name: 'name',
|
|
79
|
-
showError: false
|
|
79
|
+
showError: false,
|
|
80
80
|
}, options);
|
|
81
81
|
if (!opts.errorMessage) {
|
|
82
82
|
opts.errorMessage = `You must provide a valid ${opts.name}!`;
|
|
83
83
|
}
|
|
84
84
|
// Toolbox features
|
|
85
|
-
const { print: { error }, prompt: { ask } } = this.toolbox;
|
|
85
|
+
const { print: { error }, prompt: { ask }, } = this.toolbox;
|
|
86
86
|
// Get input
|
|
87
87
|
if (!input || !this.trim(input)) {
|
|
88
88
|
const answers = yield ask({
|
|
89
89
|
initial: opts.initial,
|
|
90
|
-
|
|
90
|
+
message: `Enter ${opts.name}`,
|
|
91
91
|
name: 'input',
|
|
92
|
-
|
|
92
|
+
type: 'input',
|
|
93
93
|
});
|
|
94
94
|
input = answers.input;
|
|
95
95
|
if (!input && opts.showError) {
|
|
@@ -106,7 +106,7 @@ class Helper {
|
|
|
106
106
|
msToMinutesAndSeconds(ms) {
|
|
107
107
|
const minutes = Math.floor((ms / 1000 / 60) << 0);
|
|
108
108
|
const seconds = Math.floor((ms / 1000) % 60);
|
|
109
|
-
return minutes
|
|
109
|
+
return `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* Read a file
|
|
@@ -148,16 +148,16 @@ class Helper {
|
|
|
148
148
|
updateCli(options) {
|
|
149
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
150
150
|
// Toolbox
|
|
151
|
-
const { helper, meta, print: { info, spin, success }, runtime: { brand, defaultPlugin }, system: { run, startTimer } } = this.toolbox;
|
|
151
|
+
const { helper, meta, print: { info, spin, success }, runtime: { brand, defaultPlugin }, system: { run, startTimer }, } = this.toolbox;
|
|
152
152
|
// Start timer
|
|
153
153
|
const timer = startTimer();
|
|
154
154
|
// Get package.json
|
|
155
|
-
const packageJson = yield helper.readFile(path_1.join(meta.src ? meta.src : defaultPlugin.directory, '..', 'package.json'));
|
|
155
|
+
const packageJson = yield helper.readFile((0, path_1.join)(meta.src ? meta.src : defaultPlugin.directory, '..', 'package.json'));
|
|
156
156
|
// Process options
|
|
157
157
|
const opts = Object.assign({
|
|
158
158
|
global: true,
|
|
159
159
|
packageName: packageJson ? packageJson.name : '',
|
|
160
|
-
showInfos: false
|
|
160
|
+
showInfos: false,
|
|
161
161
|
}, options);
|
|
162
162
|
// Run without infos
|
|
163
163
|
if (!opts.showInfos) {
|
|
@@ -182,16 +182,16 @@ class Helper {
|
|
|
182
182
|
showMenu(parentCommands, options) {
|
|
183
183
|
return __awaiter(this, void 0, void 0, function* () {
|
|
184
184
|
// Toolbox feature
|
|
185
|
-
const { config, filesystem: { existsAsync }, meta, runtime: { brand, defaultPlugin } } = this.toolbox;
|
|
185
|
+
const { config, filesystem: { existsAsync }, meta, runtime: { brand, defaultPlugin }, } = this.toolbox;
|
|
186
186
|
// Process options
|
|
187
187
|
const { checkUpdate } = Object.assign({
|
|
188
|
-
checkUpdate: true
|
|
188
|
+
checkUpdate: true,
|
|
189
189
|
}, options);
|
|
190
190
|
// Check for updates
|
|
191
|
-
if (checkUpdate
|
|
192
|
-
config[brand].checkForUpdate
|
|
193
|
-
(yield this.getConfig()).checkForUpdate
|
|
194
|
-
!(yield existsAsync(path_1.join(meta.src ? meta.src : defaultPlugin.directory, '..', 'src'))) // not development environment
|
|
191
|
+
if (checkUpdate // parameter
|
|
192
|
+
&& config[brand].checkForUpdate // current configuration
|
|
193
|
+
&& (yield this.getConfig()).checkForUpdate // extra configuration
|
|
194
|
+
&& !(yield existsAsync((0, path_1.join)(meta.src ? meta.src : defaultPlugin.directory, '..', 'src'))) // not development environment
|
|
195
195
|
) {
|
|
196
196
|
config[brand].checkForUpdate = false;
|
|
197
197
|
// tslint:disable-next-line:no-floating-promises
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.extension.js","sourceRoot":"","sources":["../../src/extensions/helper.extension.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAgD;AAChD,yBAAyB;AACzB,yBAAyB;AACzB,+BAAiC;
|
|
1
|
+
{"version":3,"file":"helper.extension.js","sourceRoot":"","sources":["../../src/extensions/helper.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@ export declare class Npm {
|
|
|
16
16
|
errorMessage?: string;
|
|
17
17
|
showError?: boolean;
|
|
18
18
|
}): Promise<{
|
|
19
|
-
path: string;
|
|
20
19
|
data: any;
|
|
20
|
+
path: string;
|
|
21
21
|
}>;
|
|
22
22
|
/**
|
|
23
23
|
* Set data for package.json
|
|
@@ -47,8 +47,8 @@ export declare class Npm {
|
|
|
47
47
|
showError?: boolean;
|
|
48
48
|
}): Promise<boolean>;
|
|
49
49
|
}
|
|
50
|
-
declare const _default: (toolbox: IHelperExtendedGluegunToolbox) => void;
|
|
51
50
|
/**
|
|
52
51
|
* Extend toolbox
|
|
53
52
|
*/
|
|
53
|
+
declare const _default: (toolbox: IHelperExtendedGluegunToolbox) => void;
|
|
54
54
|
export default _default;
|
|
@@ -26,15 +26,15 @@ class Npm {
|
|
|
26
26
|
/**
|
|
27
27
|
* Get package.json
|
|
28
28
|
*/
|
|
29
|
-
getPackageJson(
|
|
30
|
-
return __awaiter(this,
|
|
29
|
+
getPackageJson() {
|
|
30
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
31
31
|
// Toolbox features
|
|
32
|
-
const { filesystem, helper, print: { error } } = this.toolbox;
|
|
32
|
+
const { filesystem, helper, print: { error }, } = this.toolbox;
|
|
33
33
|
// Prepare options
|
|
34
34
|
const opts = Object.assign({
|
|
35
35
|
cwd: filesystem.cwd(),
|
|
36
36
|
errorMessage: 'No package.json found!',
|
|
37
|
-
showError: false
|
|
37
|
+
showError: false,
|
|
38
38
|
}, options);
|
|
39
39
|
// Find package.json
|
|
40
40
|
const path = yield find('package.json', opts.cwd);
|
|
@@ -42,17 +42,17 @@ class Npm {
|
|
|
42
42
|
if (opts.showError) {
|
|
43
43
|
error(opts.errorMessage);
|
|
44
44
|
}
|
|
45
|
-
return {
|
|
45
|
+
return { data: null, path: '' };
|
|
46
46
|
}
|
|
47
47
|
// Everything ok
|
|
48
|
-
return {
|
|
48
|
+
return { data: yield helper.readFile(path), path };
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* Set data for package.json
|
|
53
53
|
*/
|
|
54
|
-
setPackageJson(
|
|
55
|
-
return __awaiter(this,
|
|
54
|
+
setPackageJson(data_1) {
|
|
55
|
+
return __awaiter(this, arguments, void 0, function* (data, options = {}) {
|
|
56
56
|
if (typeof data === 'object') {
|
|
57
57
|
data = JSON.stringify(data, null, 2);
|
|
58
58
|
}
|
|
@@ -76,15 +76,15 @@ class Npm {
|
|
|
76
76
|
/**
|
|
77
77
|
* Install npm packages
|
|
78
78
|
*/
|
|
79
|
-
install(
|
|
80
|
-
return __awaiter(this,
|
|
79
|
+
install() {
|
|
80
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
81
81
|
// Toolbox features
|
|
82
|
-
const { filesystem,
|
|
82
|
+
const { filesystem, print: { spin }, system, } = this.toolbox;
|
|
83
83
|
// Prepare options
|
|
84
84
|
const opts = Object.assign({
|
|
85
85
|
cwd: filesystem.cwd(),
|
|
86
86
|
errorMessage: 'No package.json found!',
|
|
87
|
-
showError: false
|
|
87
|
+
showError: false,
|
|
88
88
|
}, options);
|
|
89
89
|
// Find package.json
|
|
90
90
|
const { path } = yield this.getPackageJson(opts);
|
|
@@ -93,7 +93,7 @@ class Npm {
|
|
|
93
93
|
}
|
|
94
94
|
// Install npm packages
|
|
95
95
|
const npmSpin = spin('Install npm packages');
|
|
96
|
-
yield system.run(`cd ${path_1.dirname(path)} && npm i`);
|
|
96
|
+
yield system.run(`cd ${(0, path_1.dirname)(path)} && npm i`);
|
|
97
97
|
npmSpin.succeed();
|
|
98
98
|
return true;
|
|
99
99
|
});
|
|
@@ -101,16 +101,16 @@ class Npm {
|
|
|
101
101
|
/**
|
|
102
102
|
* Update package.json
|
|
103
103
|
*/
|
|
104
|
-
update(
|
|
105
|
-
return __awaiter(this,
|
|
104
|
+
update() {
|
|
105
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
106
106
|
// Toolbox features
|
|
107
|
-
const { filesystem,
|
|
107
|
+
const { filesystem, print: { spin }, system, } = this.toolbox;
|
|
108
108
|
// Prepare options
|
|
109
109
|
const opts = Object.assign({
|
|
110
110
|
cwd: filesystem.cwd(),
|
|
111
111
|
errorMessage: 'No package.json found!',
|
|
112
112
|
install: false,
|
|
113
|
-
showError: false
|
|
113
|
+
showError: false,
|
|
114
114
|
}, options);
|
|
115
115
|
// Find package.json
|
|
116
116
|
const { path } = yield this.getPackageJson(opts);
|
|
@@ -125,12 +125,12 @@ class Npm {
|
|
|
125
125
|
}
|
|
126
126
|
// Update package.json
|
|
127
127
|
const updateSpin = spin('Update package.json');
|
|
128
|
-
yield system.run(
|
|
128
|
+
yield system.run(`ncu -u --packageFile ${path}`);
|
|
129
129
|
updateSpin.succeed();
|
|
130
130
|
// Install packages
|
|
131
131
|
if (opts.install) {
|
|
132
132
|
const installSpin = spin('Install npm packages');
|
|
133
|
-
yield system.run(`cd ${path_1.dirname(path)} && npm i`);
|
|
133
|
+
yield system.run(`cd ${(0, path_1.dirname)(path)} && npm i`);
|
|
134
134
|
installSpin.succeed();
|
|
135
135
|
}
|
|
136
136
|
// Success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.extension.js","sourceRoot":"","sources":["../../src/extensions/npm.extension.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAqC;AACrC,yBAAyB;AACzB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"npm.extension.js","sourceRoot":"","sources":["../../src/extensions/npm.extension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/cli-plugin-helper",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "Helper plugin for Gluegun CLI Projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lenne.Tech",
|
|
@@ -28,39 +28,46 @@
|
|
|
28
28
|
"compile": "tsc -p .",
|
|
29
29
|
"coverage": "jest --coverage",
|
|
30
30
|
"format": "prettier --write 'src/**/*.{js,ts,tsx,json}'",
|
|
31
|
-
"lint": "eslint
|
|
31
|
+
"lint": "eslint './src/**/*.{ts,js,vue}'",
|
|
32
|
+
"lint:fix": "eslint './src/**/*.{ts,js,vue}' --fix",
|
|
32
33
|
"prepack": "npm run build",
|
|
33
34
|
"preversion": "npm run lint",
|
|
34
35
|
"test": "jest",
|
|
35
|
-
"watch": "jest --watch"
|
|
36
|
-
"prepare": "husky install"
|
|
36
|
+
"watch": "jest --watch"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@lenne.tech/gluegun-menu": "0.0.
|
|
39
|
+
"@lenne.tech/gluegun-menu": "0.0.7"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@lenne.tech/
|
|
43
|
-
"@
|
|
44
|
-
"@types/
|
|
45
|
-
"@
|
|
46
|
-
"@typescript-eslint/
|
|
47
|
-
"eslint": "
|
|
48
|
-
"eslint
|
|
42
|
+
"@lenne.tech/eslint-config-ts": "2.0.1",
|
|
43
|
+
"@lenne.tech/npm-package-helper": "0.0.12",
|
|
44
|
+
"@types/jest": "29.5.14",
|
|
45
|
+
"@types/node": "22.15.17",
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "8.32.0",
|
|
47
|
+
"@typescript-eslint/parser": "8.32.0",
|
|
48
|
+
"eslint": "9.26.0",
|
|
49
|
+
"eslint-config-prettier": "10.1.5",
|
|
49
50
|
"find-file-up": "2.0.1",
|
|
50
|
-
"gluegun": "
|
|
51
|
-
"husky": "
|
|
52
|
-
"jest": "
|
|
53
|
-
"prettier": "
|
|
54
|
-
"pretty-quick": "
|
|
55
|
-
"rimraf": "
|
|
56
|
-
"ts-jest": "
|
|
57
|
-
"ts-node": "9.
|
|
58
|
-
"typescript": "
|
|
51
|
+
"gluegun": "5.2.0",
|
|
52
|
+
"husky": "9.1.7",
|
|
53
|
+
"jest": "29.7.0",
|
|
54
|
+
"prettier": "3.5.3",
|
|
55
|
+
"pretty-quick": "4.1.1",
|
|
56
|
+
"rimraf": "6.0.1",
|
|
57
|
+
"ts-jest": "29.3.2",
|
|
58
|
+
"ts-node": "10.9.2",
|
|
59
|
+
"typescript": "5.8.3"
|
|
59
60
|
},
|
|
60
61
|
"peerDependencies": {
|
|
61
62
|
"find-file-up": ">=2",
|
|
62
63
|
"gluegun": ">=4"
|
|
63
64
|
},
|
|
65
|
+
"overrides": {
|
|
66
|
+
"apisauce@*": "3.1.1",
|
|
67
|
+
"cross-spawn@*": "7.0.6",
|
|
68
|
+
"ejs@*": "3.1.10",
|
|
69
|
+
"semver@*": "7.7.1"
|
|
70
|
+
},
|
|
64
71
|
"jest": {
|
|
65
72
|
"preset": "ts-jest",
|
|
66
73
|
"testEnvironment": "node"
|
|
@@ -2,6 +2,7 @@ import { Menu } from '@lenne.tech/gluegun-menu';
|
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as os from 'os';
|
|
4
4
|
import { join, sep } from 'path';
|
|
5
|
+
|
|
5
6
|
import { IHelperExtendedGluegunToolbox } from '../interfaces/extended-gluegun-toolbox.interface';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -21,13 +22,13 @@ export class Helper {
|
|
|
21
22
|
const {
|
|
22
23
|
config,
|
|
23
24
|
filesystem,
|
|
24
|
-
runtime: { brand }
|
|
25
|
+
runtime: { brand },
|
|
25
26
|
} = this.toolbox;
|
|
26
27
|
|
|
27
28
|
// Configuration in home directory (~/.brand)
|
|
28
29
|
let homeDirConfig = {};
|
|
29
30
|
try {
|
|
30
|
-
const homeDirConfigFile = join(filesystem.homedir(),
|
|
31
|
+
const homeDirConfigFile = join(filesystem.homedir(), `.${brand}`);
|
|
31
32
|
if (await filesystem.existsAsync(homeDirConfigFile)) {
|
|
32
33
|
homeDirConfig = JSON.parse(await filesystem.readAsync(homeDirConfigFile));
|
|
33
34
|
}
|
|
@@ -38,7 +39,7 @@ export class Helper {
|
|
|
38
39
|
// Configuration in current directory (./.brand)
|
|
39
40
|
let currentDirConfig = {};
|
|
40
41
|
try {
|
|
41
|
-
const currentDirConfigFile = join(filesystem.cwd(),
|
|
42
|
+
const currentDirConfigFile = join(filesystem.cwd(), `.${brand}`);
|
|
42
43
|
if (await filesystem.existsAsync(currentDirConfigFile)) {
|
|
43
44
|
currentDirConfig = JSON.parse(await filesystem.readAsync(currentDirConfigFile));
|
|
44
45
|
}
|
|
@@ -51,7 +52,7 @@ export class Helper {
|
|
|
51
52
|
...config.loadConfig(join('~', `.${brand}`), brand),
|
|
52
53
|
...homeDirConfig,
|
|
53
54
|
...config.loadConfig(join(filesystem.cwd(), `.${brand}`), brand),
|
|
54
|
-
...currentDirConfig
|
|
55
|
+
...currentDirConfig,
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -73,20 +74,20 @@ export class Helper {
|
|
|
73
74
|
public async getInput(
|
|
74
75
|
input: string,
|
|
75
76
|
options?: {
|
|
77
|
+
errorMessage?: string;
|
|
76
78
|
initial?: string;
|
|
77
79
|
name?: string;
|
|
78
|
-
errorMessage?: string;
|
|
79
80
|
showError?: boolean;
|
|
80
|
-
}
|
|
81
|
+
},
|
|
81
82
|
) {
|
|
82
83
|
// Process options
|
|
83
84
|
const opts = Object.assign(
|
|
84
85
|
{
|
|
85
86
|
initial: '',
|
|
86
87
|
name: 'name',
|
|
87
|
-
showError: false
|
|
88
|
+
showError: false,
|
|
88
89
|
},
|
|
89
|
-
options
|
|
90
|
+
options,
|
|
90
91
|
);
|
|
91
92
|
if (!opts.errorMessage) {
|
|
92
93
|
opts.errorMessage = `You must provide a valid ${opts.name}!`;
|
|
@@ -95,16 +96,16 @@ export class Helper {
|
|
|
95
96
|
// Toolbox features
|
|
96
97
|
const {
|
|
97
98
|
print: { error },
|
|
98
|
-
prompt: { ask }
|
|
99
|
+
prompt: { ask },
|
|
99
100
|
} = this.toolbox;
|
|
100
101
|
|
|
101
102
|
// Get input
|
|
102
103
|
if (!input || !this.trim(input)) {
|
|
103
104
|
const answers = await ask({
|
|
104
105
|
initial: opts.initial,
|
|
105
|
-
|
|
106
|
+
message: `Enter ${opts.name}`,
|
|
106
107
|
name: 'input',
|
|
107
|
-
|
|
108
|
+
type: 'input',
|
|
108
109
|
});
|
|
109
110
|
input = answers.input;
|
|
110
111
|
if (!input && opts.showError) {
|
|
@@ -122,7 +123,7 @@ export class Helper {
|
|
|
122
123
|
public msToMinutesAndSeconds(ms: number) {
|
|
123
124
|
const minutes = Math.floor((ms / 1000 / 60) << 0);
|
|
124
125
|
const seconds = Math.floor((ms / 1000) % 60);
|
|
125
|
-
return minutes
|
|
126
|
+
return `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
|
|
126
127
|
}
|
|
127
128
|
|
|
128
129
|
/**
|
|
@@ -170,7 +171,7 @@ export class Helper {
|
|
|
170
171
|
meta,
|
|
171
172
|
print: { info, spin, success },
|
|
172
173
|
runtime: { brand, defaultPlugin },
|
|
173
|
-
system: { run, startTimer }
|
|
174
|
+
system: { run, startTimer },
|
|
174
175
|
} = this.toolbox;
|
|
175
176
|
|
|
176
177
|
// Start timer
|
|
@@ -178,7 +179,7 @@ export class Helper {
|
|
|
178
179
|
|
|
179
180
|
// Get package.json
|
|
180
181
|
const packageJson: any = await helper.readFile(
|
|
181
|
-
join(meta.src ? meta.src : defaultPlugin.directory, '..', 'package.json')
|
|
182
|
+
join(meta.src ? meta.src : defaultPlugin.directory, '..', 'package.json'),
|
|
182
183
|
);
|
|
183
184
|
|
|
184
185
|
// Process options
|
|
@@ -186,9 +187,9 @@ export class Helper {
|
|
|
186
187
|
{
|
|
187
188
|
global: true,
|
|
188
189
|
packageName: packageJson ? packageJson.name : '',
|
|
189
|
-
showInfos: false
|
|
190
|
+
showInfos: false,
|
|
190
191
|
},
|
|
191
|
-
options
|
|
192
|
+
options,
|
|
192
193
|
);
|
|
193
194
|
|
|
194
195
|
// Run without infos
|
|
@@ -218,32 +219,32 @@ export class Helper {
|
|
|
218
219
|
parentCommands?: string,
|
|
219
220
|
options?: {
|
|
220
221
|
checkUpdate?: boolean;
|
|
221
|
-
level?: number;
|
|
222
222
|
headline?: string;
|
|
223
|
-
|
|
223
|
+
level?: number;
|
|
224
|
+
},
|
|
224
225
|
) {
|
|
225
226
|
// Toolbox feature
|
|
226
227
|
const {
|
|
227
228
|
config,
|
|
228
229
|
filesystem: { existsAsync },
|
|
229
230
|
meta,
|
|
230
|
-
runtime: { brand, defaultPlugin }
|
|
231
|
+
runtime: { brand, defaultPlugin },
|
|
231
232
|
} = this.toolbox;
|
|
232
233
|
|
|
233
234
|
// Process options
|
|
234
235
|
const { checkUpdate } = Object.assign(
|
|
235
236
|
{
|
|
236
|
-
checkUpdate: true
|
|
237
|
+
checkUpdate: true,
|
|
237
238
|
},
|
|
238
|
-
options
|
|
239
|
+
options,
|
|
239
240
|
);
|
|
240
241
|
|
|
241
242
|
// Check for updates
|
|
242
243
|
if (
|
|
243
|
-
checkUpdate
|
|
244
|
-
config[brand].checkForUpdate
|
|
245
|
-
(await this.getConfig()).checkForUpdate
|
|
246
|
-
!(await existsAsync(join(meta.src ? meta.src : defaultPlugin.directory, '..', 'src'))) // not development environment
|
|
244
|
+
checkUpdate // parameter
|
|
245
|
+
&& config[brand].checkForUpdate // current configuration
|
|
246
|
+
&& (await this.getConfig()).checkForUpdate // extra configuration
|
|
247
|
+
&& !(await existsAsync(join(meta.src ? meta.src : defaultPlugin.directory, '..', 'src'))) // not development environment
|
|
247
248
|
) {
|
|
248
249
|
config[brand].checkForUpdate = false;
|
|
249
250
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as find from 'find-file-up';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
|
+
|
|
4
5
|
import { IHelperExtendedGluegunToolbox } from '../interfaces/extended-gluegun-toolbox.interface';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -16,13 +17,13 @@ export class Npm {
|
|
|
16
17
|
* Get package.json
|
|
17
18
|
*/
|
|
18
19
|
public async getPackageJson(
|
|
19
|
-
options: { cwd?: string; errorMessage?: string; showError?: boolean } = {}
|
|
20
|
-
): Promise<{
|
|
20
|
+
options: { cwd?: string; errorMessage?: string; showError?: boolean } = {},
|
|
21
|
+
): Promise<{ data: any; path: string }> {
|
|
21
22
|
// Toolbox features
|
|
22
23
|
const {
|
|
23
24
|
filesystem,
|
|
24
25
|
helper,
|
|
25
|
-
print: { error }
|
|
26
|
+
print: { error },
|
|
26
27
|
} = this.toolbox;
|
|
27
28
|
|
|
28
29
|
// Prepare options
|
|
@@ -30,9 +31,9 @@ export class Npm {
|
|
|
30
31
|
{
|
|
31
32
|
cwd: filesystem.cwd(),
|
|
32
33
|
errorMessage: 'No package.json found!',
|
|
33
|
-
showError: false
|
|
34
|
+
showError: false,
|
|
34
35
|
},
|
|
35
|
-
options
|
|
36
|
+
options,
|
|
36
37
|
);
|
|
37
38
|
|
|
38
39
|
// Find package.json
|
|
@@ -41,11 +42,11 @@ export class Npm {
|
|
|
41
42
|
if (opts.showError) {
|
|
42
43
|
error(opts.errorMessage);
|
|
43
44
|
}
|
|
44
|
-
return {
|
|
45
|
+
return { data: null, path: '' };
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
// Everything ok
|
|
48
|
-
return {
|
|
49
|
+
return { data: await helper.readFile(path), path };
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
/**
|
|
@@ -57,7 +58,7 @@ export class Npm {
|
|
|
57
58
|
cwd?: string;
|
|
58
59
|
errorMessage?: string;
|
|
59
60
|
showError?: boolean;
|
|
60
|
-
} = {}
|
|
61
|
+
} = {},
|
|
61
62
|
) {
|
|
62
63
|
if (typeof data === 'object') {
|
|
63
64
|
data = JSON.stringify(data, null, 2);
|
|
@@ -88,8 +89,8 @@ export class Npm {
|
|
|
88
89
|
// Toolbox features
|
|
89
90
|
const {
|
|
90
91
|
filesystem,
|
|
92
|
+
print: { spin },
|
|
91
93
|
system,
|
|
92
|
-
print: { spin }
|
|
93
94
|
} = this.toolbox;
|
|
94
95
|
|
|
95
96
|
// Prepare options
|
|
@@ -97,9 +98,9 @@ export class Npm {
|
|
|
97
98
|
{
|
|
98
99
|
cwd: filesystem.cwd(),
|
|
99
100
|
errorMessage: 'No package.json found!',
|
|
100
|
-
showError: false
|
|
101
|
+
showError: false,
|
|
101
102
|
},
|
|
102
|
-
options
|
|
103
|
+
options,
|
|
103
104
|
);
|
|
104
105
|
|
|
105
106
|
// Find package.json
|
|
@@ -124,13 +125,13 @@ export class Npm {
|
|
|
124
125
|
errorMessage?: string;
|
|
125
126
|
install?: boolean;
|
|
126
127
|
showError?: boolean;
|
|
127
|
-
} = {}
|
|
128
|
+
} = {},
|
|
128
129
|
) {
|
|
129
130
|
// Toolbox features
|
|
130
131
|
const {
|
|
131
132
|
filesystem,
|
|
133
|
+
print: { spin },
|
|
132
134
|
system,
|
|
133
|
-
print: { spin }
|
|
134
135
|
} = this.toolbox;
|
|
135
136
|
|
|
136
137
|
// Prepare options
|
|
@@ -139,9 +140,9 @@ export class Npm {
|
|
|
139
140
|
cwd: filesystem.cwd(),
|
|
140
141
|
errorMessage: 'No package.json found!',
|
|
141
142
|
install: false,
|
|
142
|
-
showError: false
|
|
143
|
+
showError: false,
|
|
143
144
|
},
|
|
144
|
-
options
|
|
145
|
+
options,
|
|
145
146
|
);
|
|
146
147
|
|
|
147
148
|
// Find package.json
|
|
@@ -159,7 +160,7 @@ export class Npm {
|
|
|
159
160
|
|
|
160
161
|
// Update package.json
|
|
161
162
|
const updateSpin = spin('Update package.json');
|
|
162
|
-
await system.run(
|
|
163
|
+
await system.run(`ncu -u --packageFile ${path}`);
|
|
163
164
|
updateSpin.succeed();
|
|
164
165
|
|
|
165
166
|
// Install packages
|