node-confmanager 1.4.2 → 1.4.5

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.
Files changed (2) hide show
  1. package/lib/main.js +28 -38
  2. package/package.json +11 -11
package/lib/main.js CHANGED
@@ -6,7 +6,7 @@
6
6
  const { dirname, join } = require("path");
7
7
 
8
8
  // externals
9
- const { isFileProm, mkdirpProm, readJSONFileProm, unlinkProm, writeJSONFileProm } = require("node-promfs");
9
+ const { pathExists, mkdirp, readJson, unlink, writeJson } = require("fs-extra");
10
10
  const Container = require("node-containerpattern");
11
11
 
12
12
  // locals
@@ -55,45 +55,33 @@ module.exports = class ConfManager extends Container {
55
55
 
56
56
  return Promise.resolve().then(() => {
57
57
 
58
- const args = (0, process).argv.slice(2, (0, process).argv.length);
58
+ (0, process).argv.slice(2, (0, process).argv.length).forEach((arg, i, args) => {
59
59
 
60
- return !args.length ? Promise.resolve() : new Promise((resolve) => {
60
+ if (arg.startsWith("-")) {
61
61
 
62
- for (let i = 0; i < args.length; ++i) {
62
+ const isShortcut = !arg.startsWith("--");
63
63
 
64
- if (0 === args[i].indexOf("-")) {
64
+ const argument = arg.slice(isShortcut ? 1 : 2, arg.length);
65
65
 
66
- const isShortcut = -1 >= args[i].indexOf("--");
66
+ if (!isShortcut || this.shortcuts[argument]) {
67
67
 
68
- const argument = args[i].slice(isShortcut ? 1 : 2, args[i].length);
69
-
70
- if (!isShortcut || this.shortcuts[argument]) {
71
-
72
- const key = isShortcut ? this.shortcuts[argument] : argument;
73
-
74
- if (i + 1 < args.length && -1 >= args[i + 1].indexOf("--")) {
75
-
76
- this.set(key, args[i + 1]);
77
- ++i;
78
-
79
- }
80
- else if (this.skeletons[key] && "boolean" === this.skeletons[key]) {
81
-
82
- this.set(key, true);
83
- ++i;
84
-
85
- }
68
+ const key = isShortcut ? this.shortcuts[argument] : argument;
86
69
 
70
+ if (i + 1 < args.length && -1 >= args[i + 1].indexOf("--")) {
71
+ this.set(key, args[i + 1]);
72
+ }
73
+ else if (this.skeletons[key] && "boolean" === this.skeletons[key]) {
74
+ this.set(key, true);
87
75
  }
88
76
 
89
77
  }
90
78
 
91
79
  }
92
80
 
93
- resolve();
94
-
95
81
  });
96
82
 
83
+ return Promise.resolve();
84
+
97
85
  });
98
86
 
99
87
  }
@@ -119,11 +107,15 @@ module.exports = class ConfManager extends Container {
119
107
  }
120
108
 
121
109
  deleteFile () {
122
- return !this.filePath ? Promise.resolve() : unlinkProm(this.filePath);
110
+
111
+ return !this.filePath ? Promise.resolve() : pathExists(this.filePath).then((exists) => {
112
+ return exists ? unlink(this.filePath) : Promise.resolve();
113
+ });
114
+
123
115
  }
124
116
 
125
117
  fileExists () {
126
- return !this.filePath ? Promise.resolve(false) : isFileProm(this.filePath);
118
+ return !this.filePath ? Promise.resolve(false) : pathExists(this.filePath);
127
119
  }
128
120
 
129
121
  load () {
@@ -132,7 +124,7 @@ module.exports = class ConfManager extends Container {
132
124
 
133
125
  return this.fileExists().then((exists) => {
134
126
 
135
- return !exists ? this._loadFromConsole() : readJSONFileProm(this.filePath, "utf8").then((data) => {
127
+ return !exists ? this._loadFromConsole() : readJson(this.filePath, "utf8").then((data) => {
136
128
 
137
129
  for (const key in data) {
138
130
  this.set(key, data[key]);
@@ -148,21 +140,19 @@ module.exports = class ConfManager extends Container {
148
140
 
149
141
  save () {
150
142
 
151
- return !this.filePath ? Promise.resolve() : mkdirpProm(dirname(this.filePath)).then(() => {
143
+ return !this.filePath ? Promise.resolve() : mkdirp(dirname(this.filePath)).then(() => {
152
144
 
153
145
  const objects = {};
154
146
  this.forEach((value, key) => {
155
147
  objects[key] = value;
156
148
  });
157
149
 
158
- return this.spaces ?
159
- writeJSONFileProm(this.filePath, objects, {
160
- "encoding": "utf8",
161
- "space": 2
162
- }) :
163
- writeJSONFileProm(this.filePath, objects, {
164
- "encoding": "utf8"
165
- });
150
+ return this.spaces ? writeJson(this.filePath, objects, {
151
+ "encoding": "utf8",
152
+ "space": 2
153
+ }) : writeJson(this.filePath, objects, {
154
+ "encoding": "utf8"
155
+ });
166
156
 
167
157
  });
168
158
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-confmanager",
3
- "version": "1.4.2",
3
+ "version": "1.4.5",
4
4
  "description": "A configuration manager",
5
5
  "main": "lib/main.js",
6
6
  "typings": "lib/index.d.ts",
@@ -45,18 +45,18 @@
45
45
  "url": "https://github.com/Psychopoulet/node-confmanager/issues"
46
46
  },
47
47
  "dependencies": {
48
- "node-containerpattern": "1.4.2",
49
- "node-promfs": "3.7.0"
48
+ "node-containerpattern": "1.4.3",
49
+ "fs-extra": "10.1.0"
50
50
  },
51
51
  "devDependencies": {
52
- "@types/node": "14.14.35",
53
- "typescript": "4.2.3",
54
- "check-version-modules": "1.3.0",
55
- "coveralls": "3.1.0",
56
- "eslint": "7.22.0",
57
- "husky": "5.1.3",
58
- "mocha": "8.3.2",
59
- "nyc": "15.1.0"
52
+ "@types/node": "17.0.35",
53
+ "check-version-modules": "1.3.5",
54
+ "coveralls": "3.1.1",
55
+ "eslint": "8.15.0",
56
+ "husky": "8.0.1",
57
+ "mocha": "10.0.0",
58
+ "nyc": "15.1.0",
59
+ "typescript": "4.6.4"
60
60
  },
61
61
  "homepage": "https://github.com/Psychopoulet/node-confmanager#readme",
62
62
  "engines": {