node-power-user 0.0.12 → 0.0.16
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 +1 -2
- package/dist/{cli.js → index.js} +53 -18
- package/package.json +8 -7
- package/src/{cli.js → index.js} +53 -18
package/README.md
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<img src="https://img.shields.io/github/package-json/v/itw-creative-works/node-power-user.svg">
|
|
9
9
|
<br>
|
|
10
|
-
<img src="https://img.shields.io/
|
|
11
|
-
<img src="https://img.shields.io/david/dev/itw-creative-works/node-power-user.svg">
|
|
10
|
+
<img src="https://img.shields.io/librariesio/release/npm/node-power-user.svg">
|
|
12
11
|
<img src="https://img.shields.io/bundlephobia/min/node-power-user.svg">
|
|
13
12
|
<img src="https://img.shields.io/codeclimate/maintainability-percentage/itw-creative-works/node-power-user.svg">
|
|
14
13
|
<img src="https://img.shields.io/npm/dm/node-power-user.svg">
|
package/dist/{cli.js → index.js}
RENAMED
|
@@ -14,14 +14,21 @@ const { spawn, exec } = require('child_process');
|
|
|
14
14
|
const argv = require('yargs').argv;
|
|
15
15
|
const JSON5 = require('json5');
|
|
16
16
|
|
|
17
|
-
function Main() {
|
|
17
|
+
function Main() {
|
|
18
|
+
|
|
19
|
+
}
|
|
18
20
|
|
|
19
21
|
Main.prototype.process = async function (args) {
|
|
20
22
|
const self = this;
|
|
21
23
|
args = args || process.argv
|
|
22
24
|
self.options = {};
|
|
23
25
|
self.argv = argv;
|
|
24
|
-
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
self.npu_packageJSON = require('../package.json');
|
|
29
|
+
} catch (error) {
|
|
30
|
+
throw new Error('This project does not contain a valid package.json file!')
|
|
31
|
+
}
|
|
25
32
|
|
|
26
33
|
try {
|
|
27
34
|
self.proj_path = process.cwd();
|
|
@@ -32,50 +39,68 @@ Main.prototype.process = async function (args) {
|
|
|
32
39
|
return
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
if (Array.isArray(args)) {
|
|
43
|
+
for (var i = 0; i < args.length; i++) {
|
|
44
|
+
self.options[args[i]] = true;
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
Object.keys(args)
|
|
48
|
+
.forEach((arg, i) => {
|
|
49
|
+
self.options[arg] = args[arg];
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
if (self.options.debug) {
|
|
55
|
+
console.log('options:', self.options);
|
|
37
56
|
}
|
|
38
57
|
|
|
39
58
|
if (self.options.v || self.options.version || self.options['-v'] || self.options['-version']) {
|
|
40
|
-
|
|
59
|
+
self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
|
|
60
|
+
return self.npu_packageJSON.version;
|
|
41
61
|
}
|
|
42
62
|
|
|
43
63
|
if (self.options.pv || self.options['project-version'] || self.options.project) {
|
|
44
|
-
|
|
64
|
+
self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
|
|
65
|
+
return self.proj_packageJSON.versio
|
|
45
66
|
}
|
|
46
67
|
|
|
47
68
|
if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['-listpackages']) {
|
|
48
|
-
|
|
69
|
+
self.log(chalk.blue.bold(`Dependencies:`));
|
|
49
70
|
Object.keys(self.proj_packageJSON.dependencies || {})
|
|
50
71
|
.forEach((dep, i) => {
|
|
51
|
-
|
|
72
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
|
|
52
73
|
});
|
|
53
74
|
|
|
54
|
-
|
|
75
|
+
self.log(chalk.blue.bold(`\nDev Dependencies:`));
|
|
55
76
|
Object.keys(self.proj_packageJSON.devDependencies || {})
|
|
56
77
|
.forEach((dep, i) => {
|
|
57
|
-
|
|
78
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
|
|
58
79
|
});
|
|
59
80
|
|
|
60
|
-
|
|
81
|
+
self.log(chalk.blue.bold(`\nPeer Dependencies:`));
|
|
61
82
|
Object.keys(self.proj_packageJSON.peerDependencies || {})
|
|
62
83
|
.forEach((dep, i) => {
|
|
63
|
-
|
|
84
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
|
|
64
85
|
});
|
|
65
86
|
|
|
66
|
-
return
|
|
87
|
+
return {
|
|
88
|
+
dependencies: self.proj_packageJSON.dependencies,
|
|
89
|
+
devDependencies: self.proj_packageJSON.devDependencies,
|
|
90
|
+
peerDependencies: self.proj_packageJSON.peerDependencies,
|
|
91
|
+
};
|
|
67
92
|
}
|
|
68
93
|
|
|
69
94
|
if (self.options.clean) {
|
|
70
95
|
const NPM_INSTALL_FLAG = self.options['--no-optional'] || self.options['-no-optional'] || self.options['no-optional'] ? '--no-optional' : ''
|
|
71
96
|
const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
|
|
72
|
-
|
|
97
|
+
self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
|
|
73
98
|
return await asyncCommand(NPM_CLEAN)
|
|
74
99
|
.then(r => {
|
|
75
|
-
|
|
100
|
+
self.log(chalk.green(`Finished cleaning`));
|
|
76
101
|
})
|
|
77
102
|
.catch(e => {
|
|
78
|
-
|
|
103
|
+
self.log(chalk.green(`Error cleaning: ${e}`));
|
|
79
104
|
})
|
|
80
105
|
}
|
|
81
106
|
|
|
@@ -86,6 +111,14 @@ Main.prototype.process = async function (args) {
|
|
|
86
111
|
|
|
87
112
|
};
|
|
88
113
|
|
|
114
|
+
Main.prototype.log = function () {
|
|
115
|
+
const self = this;
|
|
116
|
+
|
|
117
|
+
if (self.options.log) {
|
|
118
|
+
console.log(...arguments);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
89
122
|
module.exports = Main;
|
|
90
123
|
|
|
91
124
|
function bump(self) {
|
|
@@ -96,7 +129,7 @@ function bump(self) {
|
|
|
96
129
|
let newVersion = [semver.major(version), semver.minor(version), semver.patch(version)];
|
|
97
130
|
let newVersionPost = version.split('-')[1];
|
|
98
131
|
let newVersionString = '';
|
|
99
|
-
|
|
132
|
+
|
|
100
133
|
if (self.options.break || self.options.breaking || self.options.major || self.options['3']) {
|
|
101
134
|
level = 'breaking';
|
|
102
135
|
newVersion[0]++;
|
|
@@ -116,7 +149,9 @@ function bump(self) {
|
|
|
116
149
|
|
|
117
150
|
jetpack.write(self.proj_packageJSONPath, self.proj_packageJSON);
|
|
118
151
|
|
|
119
|
-
|
|
152
|
+
self.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
|
|
153
|
+
|
|
154
|
+
return newVersionString;
|
|
120
155
|
}
|
|
121
156
|
|
|
122
157
|
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-power-user",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "Easy tools for every Node.js developer!",
|
|
5
|
-
"main": "dist/
|
|
5
|
+
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"npu": "bin/npu",
|
|
8
8
|
"node-power-user": "bin/npu",
|
|
9
9
|
"nodepoweruser": "bin/npu"
|
|
10
10
|
},
|
|
11
11
|
"scripts": {
|
|
12
|
-
"test": "
|
|
13
|
-
"start": "node -e 'new (require(`./
|
|
12
|
+
"test": "npm run prepare && ./node_modules/mocha/bin/mocha test/ --recursive --timeout=10000",
|
|
13
|
+
"start": "npm run prepare && node -e 'new (require(`./dist/index.js`))().process()'",
|
|
14
14
|
"prepare": "node -e 'require(`prepare-package`)'"
|
|
15
15
|
},
|
|
16
16
|
"repository": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"json5": "^2.2.0",
|
|
36
36
|
"keychain": "^1.3.0",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
38
|
-
"semver": "^7.3.
|
|
38
|
+
"semver": "^7.3.7",
|
|
39
39
|
"yargs": "^16.2.0"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"src/"
|
|
44
44
|
],
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"
|
|
46
|
+
"mocha": "^8.4.0",
|
|
47
|
+
"prepare-package": "^0.0.12"
|
|
47
48
|
}
|
|
48
|
-
}
|
|
49
|
+
}
|
package/src/{cli.js → index.js}
RENAMED
|
@@ -14,14 +14,21 @@ const { spawn, exec } = require('child_process');
|
|
|
14
14
|
const argv = require('yargs').argv;
|
|
15
15
|
const JSON5 = require('json5');
|
|
16
16
|
|
|
17
|
-
function Main() {
|
|
17
|
+
function Main() {
|
|
18
|
+
|
|
19
|
+
}
|
|
18
20
|
|
|
19
21
|
Main.prototype.process = async function (args) {
|
|
20
22
|
const self = this;
|
|
21
23
|
args = args || process.argv
|
|
22
24
|
self.options = {};
|
|
23
25
|
self.argv = argv;
|
|
24
|
-
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
self.npu_packageJSON = require('../package.json');
|
|
29
|
+
} catch (error) {
|
|
30
|
+
throw new Error('This project does not contain a valid package.json file!')
|
|
31
|
+
}
|
|
25
32
|
|
|
26
33
|
try {
|
|
27
34
|
self.proj_path = process.cwd();
|
|
@@ -32,50 +39,68 @@ Main.prototype.process = async function (args) {
|
|
|
32
39
|
return
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
if (Array.isArray(args)) {
|
|
43
|
+
for (var i = 0; i < args.length; i++) {
|
|
44
|
+
self.options[args[i]] = true;
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
Object.keys(args)
|
|
48
|
+
.forEach((arg, i) => {
|
|
49
|
+
self.options[arg] = args[arg];
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
if (self.options.debug) {
|
|
55
|
+
console.log('options:', self.options);
|
|
37
56
|
}
|
|
38
57
|
|
|
39
58
|
if (self.options.v || self.options.version || self.options['-v'] || self.options['-version']) {
|
|
40
|
-
|
|
59
|
+
self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
|
|
60
|
+
return self.npu_packageJSON.version;
|
|
41
61
|
}
|
|
42
62
|
|
|
43
63
|
if (self.options.pv || self.options['project-version'] || self.options.project) {
|
|
44
|
-
|
|
64
|
+
self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
|
|
65
|
+
return self.proj_packageJSON.versio
|
|
45
66
|
}
|
|
46
67
|
|
|
47
68
|
if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['-listpackages']) {
|
|
48
|
-
|
|
69
|
+
self.log(chalk.blue.bold(`Dependencies:`));
|
|
49
70
|
Object.keys(self.proj_packageJSON.dependencies || {})
|
|
50
71
|
.forEach((dep, i) => {
|
|
51
|
-
|
|
72
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
|
|
52
73
|
});
|
|
53
74
|
|
|
54
|
-
|
|
75
|
+
self.log(chalk.blue.bold(`\nDev Dependencies:`));
|
|
55
76
|
Object.keys(self.proj_packageJSON.devDependencies || {})
|
|
56
77
|
.forEach((dep, i) => {
|
|
57
|
-
|
|
78
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
|
|
58
79
|
});
|
|
59
80
|
|
|
60
|
-
|
|
81
|
+
self.log(chalk.blue.bold(`\nPeer Dependencies:`));
|
|
61
82
|
Object.keys(self.proj_packageJSON.peerDependencies || {})
|
|
62
83
|
.forEach((dep, i) => {
|
|
63
|
-
|
|
84
|
+
self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
|
|
64
85
|
});
|
|
65
86
|
|
|
66
|
-
return
|
|
87
|
+
return {
|
|
88
|
+
dependencies: self.proj_packageJSON.dependencies,
|
|
89
|
+
devDependencies: self.proj_packageJSON.devDependencies,
|
|
90
|
+
peerDependencies: self.proj_packageJSON.peerDependencies,
|
|
91
|
+
};
|
|
67
92
|
}
|
|
68
93
|
|
|
69
94
|
if (self.options.clean) {
|
|
70
95
|
const NPM_INSTALL_FLAG = self.options['--no-optional'] || self.options['-no-optional'] || self.options['no-optional'] ? '--no-optional' : ''
|
|
71
96
|
const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
|
|
72
|
-
|
|
97
|
+
self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
|
|
73
98
|
return await asyncCommand(NPM_CLEAN)
|
|
74
99
|
.then(r => {
|
|
75
|
-
|
|
100
|
+
self.log(chalk.green(`Finished cleaning`));
|
|
76
101
|
})
|
|
77
102
|
.catch(e => {
|
|
78
|
-
|
|
103
|
+
self.log(chalk.green(`Error cleaning: ${e}`));
|
|
79
104
|
})
|
|
80
105
|
}
|
|
81
106
|
|
|
@@ -86,6 +111,14 @@ Main.prototype.process = async function (args) {
|
|
|
86
111
|
|
|
87
112
|
};
|
|
88
113
|
|
|
114
|
+
Main.prototype.log = function () {
|
|
115
|
+
const self = this;
|
|
116
|
+
|
|
117
|
+
if (self.options.log) {
|
|
118
|
+
console.log(...arguments);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
89
122
|
module.exports = Main;
|
|
90
123
|
|
|
91
124
|
function bump(self) {
|
|
@@ -96,7 +129,7 @@ function bump(self) {
|
|
|
96
129
|
let newVersion = [semver.major(version), semver.minor(version), semver.patch(version)];
|
|
97
130
|
let newVersionPost = version.split('-')[1];
|
|
98
131
|
let newVersionString = '';
|
|
99
|
-
|
|
132
|
+
|
|
100
133
|
if (self.options.break || self.options.breaking || self.options.major || self.options['3']) {
|
|
101
134
|
level = 'breaking';
|
|
102
135
|
newVersion[0]++;
|
|
@@ -116,7 +149,9 @@ function bump(self) {
|
|
|
116
149
|
|
|
117
150
|
jetpack.write(self.proj_packageJSONPath, self.proj_packageJSON);
|
|
118
151
|
|
|
119
|
-
|
|
152
|
+
self.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
|
|
153
|
+
|
|
154
|
+
return newVersionString;
|
|
120
155
|
}
|
|
121
156
|
|
|
122
157
|
|