node-power-user 0.0.29 → 0.0.31
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/README.md +3 -1
- package/bin/npu +3 -2
- package/dist/index.js +61 -41
- package/package.json +5 -3
- package/src/index.js +61 -41
package/README.md
CHANGED
|
@@ -49,7 +49,9 @@ Note: you may have to run cli commands with `npx npu <command>` if you install t
|
|
|
49
49
|
* `npu bump 3`: Bump the first number (`major` version).
|
|
50
50
|
* `npu outdated`: Compare the versions of installed modules to those in your package.json
|
|
51
51
|
* `npu global`: List all global packages for all versions of Node.js on your machine (must use NVM).
|
|
52
|
-
|
|
52
|
+
### Flags
|
|
53
|
+
* `--wait`: Wait the specified amount of time in milliseconds.
|
|
54
|
+
* `--debug`: Log the commands and flags before they are executed
|
|
53
55
|
|
|
54
56
|
## Final Words
|
|
55
57
|
If you are still having difficulty, we would love for you to post a question to [the Node Power User issues page](https://github.com/itw-creative-works/node-power-user/issues). It is much easier to answer questions that include your code and relevant files! So if you can provide them, we'd be extremely grateful (and more likely to help you find the answer!)
|
package/bin/npu
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
const argv = require('yargs').argv;
|
|
3
|
+
const Main = new (require('../dist/index.js'))(argv);
|
|
3
4
|
(async function() {
|
|
4
5
|
'use strict';
|
|
5
|
-
await Main.process(
|
|
6
|
+
await Main.process(argv);
|
|
6
7
|
}());
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ const { isEqual } = require('lodash');
|
|
|
17
17
|
const semverIsEqual = require('semver/functions/eq')
|
|
18
18
|
const semverCoerce = require('semver/functions/coerce')
|
|
19
19
|
const table = require('table').table;
|
|
20
|
+
const ProgressBar = require('cli-progress');
|
|
20
21
|
const Npm = require('npm-api');
|
|
21
22
|
const os = require('os');
|
|
22
23
|
|
|
@@ -26,11 +27,11 @@ function Main() {
|
|
|
26
27
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
Main.prototype.process = async function (
|
|
30
|
-
const self = this;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
Main.prototype.process = async function (options) {
|
|
31
|
+
const self = this;
|
|
32
|
+
self.options = options || {};
|
|
33
|
+
|
|
34
|
+
// console.log('--process.env', process.env);
|
|
34
35
|
|
|
35
36
|
try {
|
|
36
37
|
self.npu_packageJSON = require('../package.json');
|
|
@@ -42,6 +43,8 @@ const self = this;
|
|
|
42
43
|
self.proj_path = process.cwd();
|
|
43
44
|
self.proj_packageJSONPath = path.resolve(self.proj_path, './package.json');
|
|
44
45
|
self.proj_packageJSON = require(self.proj_packageJSONPath);
|
|
46
|
+
self.proj_packageJSON.allDependencies = _.merge({}, self.proj_packageJSON.peerDependencies, self.proj_packageJSON.devDependencies, self.proj_packageJSON.dependencies);
|
|
47
|
+
self.proj_packageJSON.allDependenciesKeys = Object.keys(self.proj_packageJSON.allDependencies);
|
|
45
48
|
} catch (e) {
|
|
46
49
|
self.proj_packageJSON = {
|
|
47
50
|
name: 'Unknown Name',
|
|
@@ -49,36 +52,50 @@ const self = this;
|
|
|
49
52
|
dependencies: {},
|
|
50
53
|
devDependencies: {},
|
|
51
54
|
peerDependencies: {},
|
|
55
|
+
allDependencies: {},
|
|
52
56
|
}
|
|
53
57
|
console.error(chalk.red(`This project does not contain a valid package.json file!: \n${e}`));
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
60
|
+
// console.log('---args', args);
|
|
61
|
+
// if (Array.isArray(args)) {
|
|
62
|
+
// for (var i = 0; i < args.length; i++) {
|
|
63
|
+
// self.options[args[i]] = true;
|
|
64
|
+
// }
|
|
65
|
+
// } else {
|
|
66
|
+
// Object.keys(args)
|
|
67
|
+
// .forEach((arg, i) => {
|
|
68
|
+
// self.options[arg] = args[arg];
|
|
69
|
+
// });
|
|
70
|
+
// }
|
|
71
|
+
Object.keys(argv)
|
|
72
|
+
.forEach(arg => {
|
|
73
|
+
self.options[arg] = argv[arg]
|
|
74
|
+
});
|
|
66
75
|
|
|
67
|
-
if (self.options.d || self.options.debug ||
|
|
68
|
-
console.log('
|
|
76
|
+
if (self.options.d || self.options.debug || process.env.NPU_LOG === 'true') {
|
|
77
|
+
console.log('argv', argv);
|
|
78
|
+
console.log('options', self.options);
|
|
69
79
|
}
|
|
70
80
|
|
|
71
|
-
if (self.options.
|
|
81
|
+
if (self.options.wait) {
|
|
82
|
+
const time = parseInt(typeof self.options.wait === 'number' ? self.options.wait : 1000);
|
|
83
|
+
self.log(chalk.blue(`Waiting ${time}...`));
|
|
84
|
+
await powertools.wait(time);
|
|
85
|
+
self.log(chalk.green(`Done waiting`));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (self.options.v || self.options.version) {
|
|
72
89
|
self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
|
|
73
90
|
return self.npu_packageJSON.version;
|
|
74
91
|
}
|
|
75
92
|
|
|
76
|
-
if (self.options.pv || self.options
|
|
93
|
+
if (self.options.pv || self.options.project || self.options['project-version']) {
|
|
77
94
|
self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
|
|
78
95
|
return self.proj_packageJSON.version;
|
|
79
96
|
}
|
|
80
97
|
|
|
81
|
-
if (self.options.lp || self.options.listpackages || self.options['-
|
|
98
|
+
if (self.options.lp || self.options.listpackages || self.options['list-packages']) {
|
|
82
99
|
self.log(chalk.blue.bold(`Dependencies:`));
|
|
83
100
|
|
|
84
101
|
Object.keys(self.proj_packageJSON.dependencies || {})
|
|
@@ -105,7 +122,7 @@ const self = this;
|
|
|
105
122
|
};
|
|
106
123
|
}
|
|
107
124
|
|
|
108
|
-
if (self.options.out || self.options.outdated || self.options.match
|
|
125
|
+
if (self.options.out || self.options.outdated || self.options.match) {
|
|
109
126
|
// self.log(chalk.blue.bold(`Outdated:`));
|
|
110
127
|
// self.log(chalk.green(`name: package = installed`));
|
|
111
128
|
|
|
@@ -115,23 +132,24 @@ const self = this;
|
|
|
115
132
|
|
|
116
133
|
const config = {
|
|
117
134
|
columnDefault: {
|
|
118
|
-
width: 10,
|
|
135
|
+
// width: 10,
|
|
119
136
|
},
|
|
120
137
|
header: {
|
|
121
138
|
alignment: 'center',
|
|
122
139
|
content: 'Outdated and mismatched packages',
|
|
123
140
|
},
|
|
124
|
-
}
|
|
141
|
+
}
|
|
142
|
+
const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
|
|
143
|
+
progress.start(self.proj_packageJSON.allDependenciesKeys.length, 0);
|
|
125
144
|
|
|
126
145
|
const response = {};
|
|
127
146
|
|
|
128
|
-
const depKeys = Object.keys(self.proj_packageJSON.dependencies || {});
|
|
129
|
-
|
|
130
147
|
let bumpCommand = '';
|
|
131
|
-
|
|
132
|
-
for (var i = 0; i <
|
|
133
|
-
|
|
134
|
-
const
|
|
148
|
+
|
|
149
|
+
for (var i = 0; i < self.proj_packageJSON.allDependenciesKeys.length; i++) {
|
|
150
|
+
progress.update(i);
|
|
151
|
+
const dep = self.proj_packageJSON.allDependenciesKeys[i];
|
|
152
|
+
const packageVersion = _coerce(self.proj_packageJSON.allDependencies[dep]);
|
|
135
153
|
const installedVersion = _coerce(
|
|
136
154
|
_getVersion(
|
|
137
155
|
(await asyncCommand(`npm list ${dep} --depth=0 | grep ${dep}`))
|
|
@@ -183,6 +201,8 @@ const self = this;
|
|
|
183
201
|
// .forEach((dep, i) => {
|
|
184
202
|
// self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
|
|
185
203
|
// });
|
|
204
|
+
|
|
205
|
+
progress.stop();
|
|
186
206
|
|
|
187
207
|
console.log(table(data, config));
|
|
188
208
|
|
|
@@ -207,7 +227,7 @@ const self = this;
|
|
|
207
227
|
return response;
|
|
208
228
|
}
|
|
209
229
|
|
|
210
|
-
if (self.options.global || self.options
|
|
230
|
+
if (self.options.global || self.options.g) {
|
|
211
231
|
const parentPath = `/Users/${os.userInfo().username}/.nvm/versions/node`;
|
|
212
232
|
const versions = jetpack.list(parentPath);
|
|
213
233
|
const currentNode = process.versions.node;
|
|
@@ -229,17 +249,21 @@ const self = this;
|
|
|
229
249
|
|
|
230
250
|
const config = {
|
|
231
251
|
columnDefault: {
|
|
232
|
-
width: 10,
|
|
252
|
+
// width: 10,
|
|
233
253
|
},
|
|
234
254
|
header: {
|
|
235
255
|
alignment: 'center',
|
|
236
256
|
content: `Global packages for v${parsed.version}`,
|
|
237
257
|
},
|
|
238
|
-
}
|
|
258
|
+
}
|
|
259
|
+
const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
|
|
260
|
+
progress.start(modules.length, 0);
|
|
239
261
|
|
|
240
262
|
response[parsed.version] = {};
|
|
241
263
|
|
|
242
264
|
for (var j = 0; j < modules.length; j++) {
|
|
265
|
+
progress.update(i, 0);
|
|
266
|
+
|
|
243
267
|
const mod = modules[j];
|
|
244
268
|
const packagePath = path.resolve(lib, mod, 'package.json');
|
|
245
269
|
try {
|
|
@@ -267,6 +291,8 @@ const self = this;
|
|
|
267
291
|
}
|
|
268
292
|
}
|
|
269
293
|
|
|
294
|
+
progress.stop();
|
|
295
|
+
|
|
270
296
|
console.log(table(data, config));
|
|
271
297
|
|
|
272
298
|
} catch (e) {
|
|
@@ -278,11 +304,11 @@ const self = this;
|
|
|
278
304
|
}
|
|
279
305
|
|
|
280
306
|
if (self.options.clean) {
|
|
281
|
-
const NPM_INSTALL_FLAG = self.options['
|
|
307
|
+
const NPM_INSTALL_FLAG = self.options['no-optional'] || self.options['nooptional'] ? '--no-optional' : ''
|
|
282
308
|
const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
|
|
283
309
|
|
|
284
310
|
self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
|
|
285
|
-
|
|
311
|
+
|
|
286
312
|
return await asyncCommand(NPM_CLEAN)
|
|
287
313
|
.then(r => {
|
|
288
314
|
self.log(chalk.green(`Finished cleaning`));
|
|
@@ -296,18 +322,12 @@ const self = this;
|
|
|
296
322
|
return bump(self);
|
|
297
323
|
}
|
|
298
324
|
|
|
299
|
-
if (self.options['wait'] || self.options['--wait']) {
|
|
300
|
-
const time = parseInt(self.options['wait'] || self.options['--wait'] || 1000);
|
|
301
|
-
self.log(chalk.blue(`Waiting ${time}...`));
|
|
302
|
-
await powertools.wait(time);
|
|
303
|
-
self.log(chalk.green(`Done waiting`));
|
|
304
|
-
}
|
|
305
325
|
};
|
|
306
326
|
|
|
307
327
|
Main.prototype.log = function () {
|
|
308
328
|
const self = this;
|
|
309
329
|
|
|
310
|
-
if (self.options.
|
|
330
|
+
if (self.options.log !== false) {
|
|
311
331
|
console.log(...arguments);
|
|
312
332
|
}
|
|
313
333
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-power-user",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.31",
|
|
4
4
|
"description": "Easy tools for every Node.js developer!",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"scripts": {
|
|
12
12
|
"test": "npm run prepare && ./node_modules/mocha/bin/mocha test/ --recursive --timeout=10000",
|
|
13
|
-
"start": "npm run prepare &&
|
|
13
|
+
"start": "npm run prepare && ./bin/npu",
|
|
14
|
+
"help": "echo 'npm start -- -v'",
|
|
14
15
|
"prepare": "node -e 'require(`prepare-package`)()'"
|
|
15
16
|
},
|
|
16
17
|
"repository": {
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
"homepage": "https://itwcreativeworks.com",
|
|
31
32
|
"dependencies": {
|
|
32
33
|
"chalk": "^4.1.2",
|
|
34
|
+
"cli-progress": "^3.11.2",
|
|
33
35
|
"fs-jetpack": "^4.3.1",
|
|
34
36
|
"inquirer": "^8.2.4",
|
|
35
37
|
"json5": "^2.2.1",
|
|
@@ -49,4 +51,4 @@
|
|
|
49
51
|
"mocha": "^8.4.0",
|
|
50
52
|
"prepare-package": "^0.0.16"
|
|
51
53
|
}
|
|
52
|
-
}
|
|
54
|
+
}
|
package/src/index.js
CHANGED
|
@@ -17,6 +17,7 @@ const { isEqual } = require('lodash');
|
|
|
17
17
|
const semverIsEqual = require('semver/functions/eq')
|
|
18
18
|
const semverCoerce = require('semver/functions/coerce')
|
|
19
19
|
const table = require('table').table;
|
|
20
|
+
const ProgressBar = require('cli-progress');
|
|
20
21
|
const Npm = require('npm-api');
|
|
21
22
|
const os = require('os');
|
|
22
23
|
|
|
@@ -26,11 +27,11 @@ function Main() {
|
|
|
26
27
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
Main.prototype.process = async function (
|
|
30
|
-
const self = this;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
Main.prototype.process = async function (options) {
|
|
31
|
+
const self = this;
|
|
32
|
+
self.options = options || {};
|
|
33
|
+
|
|
34
|
+
// console.log('--process.env', process.env);
|
|
34
35
|
|
|
35
36
|
try {
|
|
36
37
|
self.npu_packageJSON = require('../package.json');
|
|
@@ -42,6 +43,8 @@ const self = this;
|
|
|
42
43
|
self.proj_path = process.cwd();
|
|
43
44
|
self.proj_packageJSONPath = path.resolve(self.proj_path, './package.json');
|
|
44
45
|
self.proj_packageJSON = require(self.proj_packageJSONPath);
|
|
46
|
+
self.proj_packageJSON.allDependencies = _.merge({}, self.proj_packageJSON.peerDependencies, self.proj_packageJSON.devDependencies, self.proj_packageJSON.dependencies);
|
|
47
|
+
self.proj_packageJSON.allDependenciesKeys = Object.keys(self.proj_packageJSON.allDependencies);
|
|
45
48
|
} catch (e) {
|
|
46
49
|
self.proj_packageJSON = {
|
|
47
50
|
name: 'Unknown Name',
|
|
@@ -49,36 +52,50 @@ const self = this;
|
|
|
49
52
|
dependencies: {},
|
|
50
53
|
devDependencies: {},
|
|
51
54
|
peerDependencies: {},
|
|
55
|
+
allDependencies: {},
|
|
52
56
|
}
|
|
53
57
|
console.error(chalk.red(`This project does not contain a valid package.json file!: \n${e}`));
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
60
|
+
// console.log('---args', args);
|
|
61
|
+
// if (Array.isArray(args)) {
|
|
62
|
+
// for (var i = 0; i < args.length; i++) {
|
|
63
|
+
// self.options[args[i]] = true;
|
|
64
|
+
// }
|
|
65
|
+
// } else {
|
|
66
|
+
// Object.keys(args)
|
|
67
|
+
// .forEach((arg, i) => {
|
|
68
|
+
// self.options[arg] = args[arg];
|
|
69
|
+
// });
|
|
70
|
+
// }
|
|
71
|
+
Object.keys(argv)
|
|
72
|
+
.forEach(arg => {
|
|
73
|
+
self.options[arg] = argv[arg]
|
|
74
|
+
});
|
|
66
75
|
|
|
67
|
-
if (self.options.d || self.options.debug ||
|
|
68
|
-
console.log('
|
|
76
|
+
if (self.options.d || self.options.debug || process.env.NPU_LOG === 'true') {
|
|
77
|
+
console.log('argv', argv);
|
|
78
|
+
console.log('options', self.options);
|
|
69
79
|
}
|
|
70
80
|
|
|
71
|
-
if (self.options.
|
|
81
|
+
if (self.options.wait) {
|
|
82
|
+
const time = parseInt(typeof self.options.wait === 'number' ? self.options.wait : 1000);
|
|
83
|
+
self.log(chalk.blue(`Waiting ${time}...`));
|
|
84
|
+
await powertools.wait(time);
|
|
85
|
+
self.log(chalk.green(`Done waiting`));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (self.options.v || self.options.version) {
|
|
72
89
|
self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
|
|
73
90
|
return self.npu_packageJSON.version;
|
|
74
91
|
}
|
|
75
92
|
|
|
76
|
-
if (self.options.pv || self.options
|
|
93
|
+
if (self.options.pv || self.options.project || self.options['project-version']) {
|
|
77
94
|
self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
|
|
78
95
|
return self.proj_packageJSON.version;
|
|
79
96
|
}
|
|
80
97
|
|
|
81
|
-
if (self.options.lp || self.options.listpackages || self.options['-
|
|
98
|
+
if (self.options.lp || self.options.listpackages || self.options['list-packages']) {
|
|
82
99
|
self.log(chalk.blue.bold(`Dependencies:`));
|
|
83
100
|
|
|
84
101
|
Object.keys(self.proj_packageJSON.dependencies || {})
|
|
@@ -105,7 +122,7 @@ const self = this;
|
|
|
105
122
|
};
|
|
106
123
|
}
|
|
107
124
|
|
|
108
|
-
if (self.options.out || self.options.outdated || self.options.match
|
|
125
|
+
if (self.options.out || self.options.outdated || self.options.match) {
|
|
109
126
|
// self.log(chalk.blue.bold(`Outdated:`));
|
|
110
127
|
// self.log(chalk.green(`name: package = installed`));
|
|
111
128
|
|
|
@@ -115,23 +132,24 @@ const self = this;
|
|
|
115
132
|
|
|
116
133
|
const config = {
|
|
117
134
|
columnDefault: {
|
|
118
|
-
width: 10,
|
|
135
|
+
// width: 10,
|
|
119
136
|
},
|
|
120
137
|
header: {
|
|
121
138
|
alignment: 'center',
|
|
122
139
|
content: 'Outdated and mismatched packages',
|
|
123
140
|
},
|
|
124
|
-
}
|
|
141
|
+
}
|
|
142
|
+
const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
|
|
143
|
+
progress.start(self.proj_packageJSON.allDependenciesKeys.length, 0);
|
|
125
144
|
|
|
126
145
|
const response = {};
|
|
127
146
|
|
|
128
|
-
const depKeys = Object.keys(self.proj_packageJSON.dependencies || {});
|
|
129
|
-
|
|
130
147
|
let bumpCommand = '';
|
|
131
|
-
|
|
132
|
-
for (var i = 0; i <
|
|
133
|
-
|
|
134
|
-
const
|
|
148
|
+
|
|
149
|
+
for (var i = 0; i < self.proj_packageJSON.allDependenciesKeys.length; i++) {
|
|
150
|
+
progress.update(i);
|
|
151
|
+
const dep = self.proj_packageJSON.allDependenciesKeys[i];
|
|
152
|
+
const packageVersion = _coerce(self.proj_packageJSON.allDependencies[dep]);
|
|
135
153
|
const installedVersion = _coerce(
|
|
136
154
|
_getVersion(
|
|
137
155
|
(await asyncCommand(`npm list ${dep} --depth=0 | grep ${dep}`))
|
|
@@ -183,6 +201,8 @@ const self = this;
|
|
|
183
201
|
// .forEach((dep, i) => {
|
|
184
202
|
// self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
|
|
185
203
|
// });
|
|
204
|
+
|
|
205
|
+
progress.stop();
|
|
186
206
|
|
|
187
207
|
console.log(table(data, config));
|
|
188
208
|
|
|
@@ -207,7 +227,7 @@ const self = this;
|
|
|
207
227
|
return response;
|
|
208
228
|
}
|
|
209
229
|
|
|
210
|
-
if (self.options.global || self.options
|
|
230
|
+
if (self.options.global || self.options.g) {
|
|
211
231
|
const parentPath = `/Users/${os.userInfo().username}/.nvm/versions/node`;
|
|
212
232
|
const versions = jetpack.list(parentPath);
|
|
213
233
|
const currentNode = process.versions.node;
|
|
@@ -229,17 +249,21 @@ const self = this;
|
|
|
229
249
|
|
|
230
250
|
const config = {
|
|
231
251
|
columnDefault: {
|
|
232
|
-
width: 10,
|
|
252
|
+
// width: 10,
|
|
233
253
|
},
|
|
234
254
|
header: {
|
|
235
255
|
alignment: 'center',
|
|
236
256
|
content: `Global packages for v${parsed.version}`,
|
|
237
257
|
},
|
|
238
|
-
}
|
|
258
|
+
}
|
|
259
|
+
const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
|
|
260
|
+
progress.start(modules.length, 0);
|
|
239
261
|
|
|
240
262
|
response[parsed.version] = {};
|
|
241
263
|
|
|
242
264
|
for (var j = 0; j < modules.length; j++) {
|
|
265
|
+
progress.update(i, 0);
|
|
266
|
+
|
|
243
267
|
const mod = modules[j];
|
|
244
268
|
const packagePath = path.resolve(lib, mod, 'package.json');
|
|
245
269
|
try {
|
|
@@ -267,6 +291,8 @@ const self = this;
|
|
|
267
291
|
}
|
|
268
292
|
}
|
|
269
293
|
|
|
294
|
+
progress.stop();
|
|
295
|
+
|
|
270
296
|
console.log(table(data, config));
|
|
271
297
|
|
|
272
298
|
} catch (e) {
|
|
@@ -278,11 +304,11 @@ const self = this;
|
|
|
278
304
|
}
|
|
279
305
|
|
|
280
306
|
if (self.options.clean) {
|
|
281
|
-
const NPM_INSTALL_FLAG = self.options['
|
|
307
|
+
const NPM_INSTALL_FLAG = self.options['no-optional'] || self.options['nooptional'] ? '--no-optional' : ''
|
|
282
308
|
const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
|
|
283
309
|
|
|
284
310
|
self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
|
|
285
|
-
|
|
311
|
+
|
|
286
312
|
return await asyncCommand(NPM_CLEAN)
|
|
287
313
|
.then(r => {
|
|
288
314
|
self.log(chalk.green(`Finished cleaning`));
|
|
@@ -296,18 +322,12 @@ const self = this;
|
|
|
296
322
|
return bump(self);
|
|
297
323
|
}
|
|
298
324
|
|
|
299
|
-
if (self.options['wait'] || self.options['--wait']) {
|
|
300
|
-
const time = parseInt(self.options['wait'] || self.options['--wait'] || 1000);
|
|
301
|
-
self.log(chalk.blue(`Waiting ${time}...`));
|
|
302
|
-
await powertools.wait(time);
|
|
303
|
-
self.log(chalk.green(`Done waiting`));
|
|
304
|
-
}
|
|
305
325
|
};
|
|
306
326
|
|
|
307
327
|
Main.prototype.log = function () {
|
|
308
328
|
const self = this;
|
|
309
329
|
|
|
310
|
-
if (self.options.
|
|
330
|
+
if (self.options.log !== false) {
|
|
311
331
|
console.log(...arguments);
|
|
312
332
|
}
|
|
313
333
|
};
|