node-power-user 0.0.13 → 0.0.17

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/bin/npu CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- let Main = new (require('../dist/cli.js'))(process.argv);
2
+ let Main = new (require('../dist/index.js'))(process.argv);
3
3
  (async function() {
4
4
  'use strict';
5
5
  await Main.process(process.argv);
@@ -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
- self.npu_packageJSON = require('../package.json');
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
- for (var i = 0; i < args.length; i++) {
36
- self.options[args[i]] = true;
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
- return console.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
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
- return console.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
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
- console.log(chalk.blue.bold(`Dependencies:`));
69
+ self.log(chalk.blue.bold(`Dependencies:`));
49
70
  Object.keys(self.proj_packageJSON.dependencies || {})
50
71
  .forEach((dep, i) => {
51
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
72
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
52
73
  });
53
74
 
54
- console.log(chalk.blue.bold(`\nDev Dependencies:`));
75
+ self.log(chalk.blue.bold(`\nDev Dependencies:`));
55
76
  Object.keys(self.proj_packageJSON.devDependencies || {})
56
77
  .forEach((dep, i) => {
57
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
78
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
58
79
  });
59
80
 
60
- console.log(chalk.blue.bold(`\nPeer Dependencies:`));
81
+ self.log(chalk.blue.bold(`\nPeer Dependencies:`));
61
82
  Object.keys(self.proj_packageJSON.peerDependencies || {})
62
83
  .forEach((dep, i) => {
63
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
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
- console.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
97
+ self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
73
98
  return await asyncCommand(NPM_CLEAN)
74
99
  .then(r => {
75
- console.log(chalk.green(`Finished cleaning`));
100
+ self.log(chalk.green(`Finished cleaning`));
76
101
  })
77
102
  .catch(e => {
78
- console.log(chalk.green(`Error cleaning: ${e}`));
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
- console.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
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.13",
3
+ "version": "0.0.17",
4
4
  "description": "Easy tools for every Node.js developer!",
5
- "main": "dist/cli.js",
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": "echo \"Error: no test specified\" && exit 1",
13
- "start": "node -e 'new (require(`./src/cli.js`))().process()'",
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": {
@@ -43,6 +43,7 @@
43
43
  "src/"
44
44
  ],
45
45
  "devDependencies": {
46
+ "mocha": "^8.4.0",
46
47
  "prepare-package": "^0.0.12"
47
48
  }
48
- }
49
+ }
@@ -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
- self.npu_packageJSON = require('../package.json');
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
- for (var i = 0; i < args.length; i++) {
36
- self.options[args[i]] = true;
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
- return console.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
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
- return console.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
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
- console.log(chalk.blue.bold(`Dependencies:`));
69
+ self.log(chalk.blue.bold(`Dependencies:`));
49
70
  Object.keys(self.proj_packageJSON.dependencies || {})
50
71
  .forEach((dep, i) => {
51
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
72
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
52
73
  });
53
74
 
54
- console.log(chalk.blue.bold(`\nDev Dependencies:`));
75
+ self.log(chalk.blue.bold(`\nDev Dependencies:`));
55
76
  Object.keys(self.proj_packageJSON.devDependencies || {})
56
77
  .forEach((dep, i) => {
57
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
78
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
58
79
  });
59
80
 
60
- console.log(chalk.blue.bold(`\nPeer Dependencies:`));
81
+ self.log(chalk.blue.bold(`\nPeer Dependencies:`));
61
82
  Object.keys(self.proj_packageJSON.peerDependencies || {})
62
83
  .forEach((dep, i) => {
63
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
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
- console.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
97
+ self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
73
98
  return await asyncCommand(NPM_CLEAN)
74
99
  .then(r => {
75
- console.log(chalk.green(`Finished cleaning`));
100
+ self.log(chalk.green(`Finished cleaning`));
76
101
  })
77
102
  .catch(e => {
78
- console.log(chalk.green(`Error cleaning: ${e}`));
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
- console.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
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