node-power-user 0.0.15 → 0.0.18

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,7 +14,9 @@ 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;
@@ -24,8 +26,11 @@ Main.prototype.process = async function (args) {
24
26
 
25
27
  try {
26
28
  self.npu_packageJSON = require('../package.json');
27
- } catch (error) {
28
- throw new Error('This project does not contain a valid package.json file!')
29
+ } catch (e) {
30
+ self.npu_packageJSON = {
31
+ version: '0.0.0'
32
+ }
33
+ console.error(chalk.red(`This project does not contain a valid package.json file!: \n${e}`));
29
34
  }
30
35
 
31
36
  try {
@@ -37,50 +42,67 @@ Main.prototype.process = async function (args) {
37
42
  return
38
43
  }
39
44
 
40
- for (var i = 0; i < args.length; i++) {
41
- self.options[args[i]] = true;
45
+ if (Array.isArray(args)) {
46
+ for (var i = 0; i < args.length; i++) {
47
+ self.options[args[i]] = true;
48
+ }
49
+ } else {
50
+ Object.keys(args)
51
+ .forEach((arg, i) => {
52
+ self.options[arg] = args[arg];
53
+ });
54
+ }
55
+
56
+ if (self.options.d || self.options.debug || self.options['-d'] || self.options['--debug']) {
57
+ console.log('options:', self.options);
42
58
  }
43
59
 
44
- if (self.options.v || self.options.version || self.options['-v'] || self.options['-version']) {
45
- return console.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
60
+ if (self.options.v || self.options.version || self.options['-v'] || self.options['--version']) {
61
+ self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
62
+ return self.npu_packageJSON.version;
46
63
  }
47
64
 
48
65
  if (self.options.pv || self.options['project-version'] || self.options.project) {
49
- return console.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
66
+ self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
67
+ return self.proj_packageJSON.versio
50
68
  }
51
69
 
52
- if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['-listpackages']) {
53
- console.log(chalk.blue.bold(`Dependencies:`));
70
+ if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['--listpackages']) {
71
+ self.log(chalk.blue.bold(`Dependencies:`));
54
72
  Object.keys(self.proj_packageJSON.dependencies || {})
55
73
  .forEach((dep, i) => {
56
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
74
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
57
75
  });
58
76
 
59
- console.log(chalk.blue.bold(`\nDev Dependencies:`));
77
+ self.log(chalk.blue.bold(`\nDev Dependencies:`));
60
78
  Object.keys(self.proj_packageJSON.devDependencies || {})
61
79
  .forEach((dep, i) => {
62
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
80
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
63
81
  });
64
82
 
65
- console.log(chalk.blue.bold(`\nPeer Dependencies:`));
83
+ self.log(chalk.blue.bold(`\nPeer Dependencies:`));
66
84
  Object.keys(self.proj_packageJSON.peerDependencies || {})
67
85
  .forEach((dep, i) => {
68
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
86
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
69
87
  });
70
88
 
71
- return;
89
+ return {
90
+ dependencies: self.proj_packageJSON.dependencies,
91
+ devDependencies: self.proj_packageJSON.devDependencies,
92
+ peerDependencies: self.proj_packageJSON.peerDependencies,
93
+ };
72
94
  }
73
95
 
74
96
  if (self.options.clean) {
75
97
  const NPM_INSTALL_FLAG = self.options['--no-optional'] || self.options['-no-optional'] || self.options['no-optional'] ? '--no-optional' : ''
76
98
  const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
77
- console.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
99
+ self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
78
100
  return await asyncCommand(NPM_CLEAN)
79
101
  .then(r => {
80
- console.log(chalk.green(`Finished cleaning`));
102
+ self.log(chalk.green(`Finished cleaning`));
81
103
  })
82
104
  .catch(e => {
83
- console.log(chalk.green(`Error cleaning: ${e}`));
105
+ self.log(chalk.green(`Error cleaning: ${e}`));
84
106
  })
85
107
  }
86
108
 
@@ -91,6 +113,14 @@ Main.prototype.process = async function (args) {
91
113
 
92
114
  };
93
115
 
116
+ Main.prototype.log = function () {
117
+ const self = this;
118
+
119
+ if (self.options.lo !== false) {
120
+ console.log(...arguments);
121
+ }
122
+ };
123
+
94
124
  module.exports = Main;
95
125
 
96
126
  function bump(self) {
@@ -121,7 +151,9 @@ function bump(self) {
121
151
 
122
152
  jetpack.write(self.proj_packageJSONPath, self.proj_packageJSON);
123
153
 
124
- console.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
154
+ self.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
155
+
156
+ return newVersionString;
125
157
  }
126
158
 
127
159
 
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "node-power-user",
3
- "version": "0.0.15",
3
+ "version": "0.0.18",
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(`./dist/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,7 +14,9 @@ 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;
@@ -24,8 +26,11 @@ Main.prototype.process = async function (args) {
24
26
 
25
27
  try {
26
28
  self.npu_packageJSON = require('../package.json');
27
- } catch (error) {
28
- throw new Error('This project does not contain a valid package.json file!')
29
+ } catch (e) {
30
+ self.npu_packageJSON = {
31
+ version: '0.0.0'
32
+ }
33
+ console.error(chalk.red(`This project does not contain a valid package.json file!: \n${e}`));
29
34
  }
30
35
 
31
36
  try {
@@ -37,50 +42,67 @@ Main.prototype.process = async function (args) {
37
42
  return
38
43
  }
39
44
 
40
- for (var i = 0; i < args.length; i++) {
41
- self.options[args[i]] = true;
45
+ if (Array.isArray(args)) {
46
+ for (var i = 0; i < args.length; i++) {
47
+ self.options[args[i]] = true;
48
+ }
49
+ } else {
50
+ Object.keys(args)
51
+ .forEach((arg, i) => {
52
+ self.options[arg] = args[arg];
53
+ });
54
+ }
55
+
56
+ if (self.options.d || self.options.debug || self.options['-d'] || self.options['--debug']) {
57
+ console.log('options:', self.options);
42
58
  }
43
59
 
44
- if (self.options.v || self.options.version || self.options['-v'] || self.options['-version']) {
45
- return console.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
60
+ if (self.options.v || self.options.version || self.options['-v'] || self.options['--version']) {
61
+ self.log(chalk.blue(`Node Power User is v${chalk.bold(self.npu_packageJSON.version)}`));
62
+ return self.npu_packageJSON.version;
46
63
  }
47
64
 
48
65
  if (self.options.pv || self.options['project-version'] || self.options.project) {
49
- return console.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
66
+ self.log(chalk.blue(`The current project (${chalk.bold(self.proj_packageJSON.name)}) is v${chalk.bold(self.proj_packageJSON.version)}`));
67
+ return self.proj_packageJSON.versio
50
68
  }
51
69
 
52
- if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['-listpackages']) {
53
- console.log(chalk.blue.bold(`Dependencies:`));
70
+ if (self.options.lp || self.options.listpackages || self.options['-lp'] || self.options['--listpackages']) {
71
+ self.log(chalk.blue.bold(`Dependencies:`));
54
72
  Object.keys(self.proj_packageJSON.dependencies || {})
55
73
  .forEach((dep, i) => {
56
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
74
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.dependencies[dep]}`));
57
75
  });
58
76
 
59
- console.log(chalk.blue.bold(`\nDev Dependencies:`));
77
+ self.log(chalk.blue.bold(`\nDev Dependencies:`));
60
78
  Object.keys(self.proj_packageJSON.devDependencies || {})
61
79
  .forEach((dep, i) => {
62
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
80
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.devDependencies[dep]}`));
63
81
  });
64
82
 
65
- console.log(chalk.blue.bold(`\nPeer Dependencies:`));
83
+ self.log(chalk.blue.bold(`\nPeer Dependencies:`));
66
84
  Object.keys(self.proj_packageJSON.peerDependencies || {})
67
85
  .forEach((dep, i) => {
68
- console.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
86
+ self.log(chalk.blue(`${dep} @ ${self.proj_packageJSON.peerDependencies[dep]}`));
69
87
  });
70
88
 
71
- return;
89
+ return {
90
+ dependencies: self.proj_packageJSON.dependencies,
91
+ devDependencies: self.proj_packageJSON.devDependencies,
92
+ peerDependencies: self.proj_packageJSON.peerDependencies,
93
+ };
72
94
  }
73
95
 
74
96
  if (self.options.clean) {
75
97
  const NPM_INSTALL_FLAG = self.options['--no-optional'] || self.options['-no-optional'] || self.options['no-optional'] ? '--no-optional' : ''
76
98
  const NPM_CLEAN = `rm -fr node_modules && rm -fr package-lock.json && npm cache clean --force && npm install ${NPM_INSTALL_FLAG} && npm rb`;
77
- console.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
99
+ self.log(chalk.blue(`Running: ${NPM_CLEAN}...`));
78
100
  return await asyncCommand(NPM_CLEAN)
79
101
  .then(r => {
80
- console.log(chalk.green(`Finished cleaning`));
102
+ self.log(chalk.green(`Finished cleaning`));
81
103
  })
82
104
  .catch(e => {
83
- console.log(chalk.green(`Error cleaning: ${e}`));
105
+ self.log(chalk.green(`Error cleaning: ${e}`));
84
106
  })
85
107
  }
86
108
 
@@ -91,6 +113,14 @@ Main.prototype.process = async function (args) {
91
113
 
92
114
  };
93
115
 
116
+ Main.prototype.log = function () {
117
+ const self = this;
118
+
119
+ if (self.options.lo !== false) {
120
+ console.log(...arguments);
121
+ }
122
+ };
123
+
94
124
  module.exports = Main;
95
125
 
96
126
  function bump(self) {
@@ -121,7 +151,9 @@ function bump(self) {
121
151
 
122
152
  jetpack.write(self.proj_packageJSONPath, self.proj_packageJSON);
123
153
 
124
- console.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
154
+ self.log(chalk.blue(`Bumped package.json from ${chalk.bold(version)} to ${chalk.bold(newVersionString)}`));
155
+
156
+ return newVersionString;
125
157
  }
126
158
 
127
159