necessary 11.9.4 → 11.10.2
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 +26 -8
- package/lib/utilities/fileSystem.js +34 -10
- package/package.json +1 -1
- package/src/utilities/fileSystem.js +35 -12
package/README.md
CHANGED
|
@@ -151,7 +151,7 @@ Note that the `headers` argument is not optional this time.
|
|
|
151
151
|
|
|
152
152
|
Functions that can be used for Node applications running in a shell window.
|
|
153
153
|
|
|
154
|
-
* The `onETX()` function takes a handler which is invoked whenever the `ETX` character code is encountered in the `stdin` stream, which typically happens when the user presses `Ctrl-C`. This
|
|
154
|
+
* The `onETX()` function takes a handler which is invoked whenever the `ETX` character code is encountered in the `stdin` stream, which typically happens when the user presses `Ctrl-C`. This function is therefore useful for exiting a console application immediately upon the user's behest, if it is passed `process.exit`. It also returns a function that can be called to remove the listener at some later point in time:
|
|
155
155
|
|
|
156
156
|
```
|
|
157
157
|
const offEXT = onEXT(process.exit);
|
|
@@ -358,11 +358,13 @@ const packageJSON = getPackageJSON(); // Returns the contents of the package.jso
|
|
|
358
358
|
- `readDirectory()`
|
|
359
359
|
- `readFile()`
|
|
360
360
|
- `writeFile()`
|
|
361
|
-
- `createFile()`
|
|
362
361
|
- `appendToFile()`
|
|
363
362
|
- `createDirectory()`
|
|
364
363
|
- `renameDirectory()`
|
|
364
|
+
- `moveDirectory()`
|
|
365
|
+
- `createFile()`
|
|
365
366
|
- `renameFile()`
|
|
367
|
+
- `moveFile()`
|
|
366
368
|
- `removeEntry()`
|
|
367
369
|
- `getStats()`
|
|
368
370
|
|
|
@@ -402,12 +404,6 @@ readFile("root/etc/init.conf"); // returns the content of the 'root/etc/init.con
|
|
|
402
404
|
writeFile("root/etc/init.conf", ""); // writes '' to the 'root/etc/init.conf' file
|
|
403
405
|
```
|
|
404
406
|
|
|
405
|
-
* The `createFile()` creates an empty file. It does not return anything upon success:
|
|
406
|
-
|
|
407
|
-
```
|
|
408
|
-
createFile("root/etc/init.conf"); // writes '' to the 'root/etc/init.conf' file
|
|
409
|
-
```
|
|
410
|
-
|
|
411
407
|
* The `appendToFile()` function takes the content to append file as a second string argument. It will create teh file if necessary and does not return anything upon success:
|
|
412
408
|
|
|
413
409
|
```
|
|
@@ -426,12 +422,34 @@ createDirectory("root/etc/init"); // Creates the 'root/etc/init' directory
|
|
|
426
422
|
renameDirectory("/root/usr", "/root/lib"); // Renames the '/root/usr' directory to '/root/lib'
|
|
427
423
|
```
|
|
428
424
|
|
|
425
|
+
Note that if the parent directory of the newly named directory does not exist then this function will fail. Instead use the `moveDirectory()` function.
|
|
426
|
+
|
|
427
|
+
* The `moveDirectory()` function moves a directory:
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
moveDirectory("/root/usr", "/etc/lib"); // Moves the '/root/usr' directory to '/etc/lib'
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
* The `createFile()` creates an empty file. It does not return anything upon success:
|
|
434
|
+
|
|
435
|
+
```
|
|
436
|
+
createFile("root/etc/init.conf"); // writes '' to the 'root/etc/init.conf' file
|
|
437
|
+
```
|
|
438
|
+
|
|
429
439
|
* The `renameFile()` function renames a file:
|
|
430
440
|
|
|
431
441
|
```
|
|
432
442
|
renameFile("hosts", "host"); // Renames the 'hosts' file to 'host'
|
|
433
443
|
```
|
|
434
444
|
|
|
445
|
+
Note that if the parent directory of the newly named file does not exist then this function will fail. Instead use the `moveFile()` function.
|
|
446
|
+
|
|
447
|
+
* The `moveFile()` function moves a file:
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
moveFile("/root/usr/init.conf", "/etc/lib/init.conf"); // Moves the '/root/usr/init.conf' file to '/etc/lib/init.conf'
|
|
451
|
+
```
|
|
452
|
+
|
|
435
453
|
* The `removeEntry()` function removes a file or directory:
|
|
436
454
|
|
|
437
455
|
```
|
|
@@ -36,9 +36,6 @@ _export(exports, {
|
|
|
36
36
|
writeFile: function() {
|
|
37
37
|
return writeFile;
|
|
38
38
|
},
|
|
39
|
-
createFile: function() {
|
|
40
|
-
return createFile;
|
|
41
|
-
},
|
|
42
39
|
appendToFile: function() {
|
|
43
40
|
return appendToFile;
|
|
44
41
|
},
|
|
@@ -48,9 +45,18 @@ _export(exports, {
|
|
|
48
45
|
renameDirectory: function() {
|
|
49
46
|
return renameDirectory;
|
|
50
47
|
},
|
|
48
|
+
moveDirectory: function() {
|
|
49
|
+
return moveDirectory;
|
|
50
|
+
},
|
|
51
|
+
createFile: function() {
|
|
52
|
+
return createFile;
|
|
53
|
+
},
|
|
51
54
|
renameFile: function() {
|
|
52
55
|
return renameFile;
|
|
53
56
|
},
|
|
57
|
+
moveFile: function() {
|
|
58
|
+
return moveFile;
|
|
59
|
+
},
|
|
54
60
|
removeEntry: function() {
|
|
55
61
|
return removeEntry;
|
|
56
62
|
},
|
|
@@ -62,6 +68,7 @@ _export(exports, {
|
|
|
62
68
|
}
|
|
63
69
|
});
|
|
64
70
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
71
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
65
72
|
var _constants = require("../constants");
|
|
66
73
|
var _defaults = require("../defaults");
|
|
67
74
|
function _interop_require_default(obj) {
|
|
@@ -121,15 +128,12 @@ function readFile(filePath) {
|
|
|
121
128
|
function writeFile(filePath, content) {
|
|
122
129
|
_fs.default.writeFileSync(filePath, content);
|
|
123
130
|
}
|
|
124
|
-
function createFile(filePath) {
|
|
125
|
-
var content = _constants.EMPTY_STRING;
|
|
126
|
-
_fs.default.writeFileSync(filePath, content);
|
|
127
|
-
}
|
|
128
131
|
function appendToFile(filePath, content) {
|
|
129
132
|
_fs.default.appendFileSync(filePath, content);
|
|
130
133
|
}
|
|
131
134
|
function createDirectory(directoryPath) {
|
|
132
|
-
var recursive =
|
|
135
|
+
var recursive = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
|
|
136
|
+
var options = {
|
|
133
137
|
recursive: recursive
|
|
134
138
|
};
|
|
135
139
|
_fs.default.mkdirSync(directoryPath, options);
|
|
@@ -137,9 +141,21 @@ function createDirectory(directoryPath) {
|
|
|
137
141
|
function renameDirectory(oldDirectoryPath, newDirectoryPath) {
|
|
138
142
|
_fs.default.renameSync(oldDirectoryPath, newDirectoryPath);
|
|
139
143
|
}
|
|
144
|
+
function moveDirectory(oldDirectoryPath, newDirectoryPath) {
|
|
145
|
+
ensureParentDirectoryExists(newDirectoryPath);
|
|
146
|
+
renameDirectory(oldDirectoryPath, newDirectoryPath);
|
|
147
|
+
}
|
|
148
|
+
function createFile(filePath) {
|
|
149
|
+
var content = _constants.EMPTY_STRING;
|
|
150
|
+
_fs.default.writeFileSync(filePath, content);
|
|
151
|
+
}
|
|
140
152
|
function renameFile(oldFilePath, newFilePath) {
|
|
141
153
|
_fs.default.renameSync(oldFilePath, newFilePath);
|
|
142
154
|
}
|
|
155
|
+
function moveFile(oldFilePath, newFilePath) {
|
|
156
|
+
ensureParentFileExists(newFilePath);
|
|
157
|
+
renameFile(oldFilePath, newFilePath);
|
|
158
|
+
}
|
|
143
159
|
function removeEntry(entryPath) {
|
|
144
160
|
var force = true, recursive = true, options = {
|
|
145
161
|
force: force,
|
|
@@ -160,13 +176,21 @@ var _default = {
|
|
|
160
176
|
readDirectory: readDirectory,
|
|
161
177
|
readFile: readFile,
|
|
162
178
|
writeFile: writeFile,
|
|
163
|
-
createFile: createFile,
|
|
164
179
|
appendToFile: appendToFile,
|
|
165
180
|
createDirectory: createDirectory,
|
|
166
181
|
renameDirectory: renameDirectory,
|
|
182
|
+
moveDirectory: moveDirectory,
|
|
183
|
+
createFile: createFile,
|
|
167
184
|
renameFile: renameFile,
|
|
185
|
+
moveFile: moveFile,
|
|
168
186
|
removeEntry: removeEntry,
|
|
169
187
|
getStats: getStats
|
|
170
188
|
};
|
|
189
|
+
function ensureParentDirectoryExists(filePath) {
|
|
190
|
+
var parentDirectoryPath = _path.default.dirname(filePath), parentDirectoryExists = checkDirectoryExists(parentDirectoryPath);
|
|
191
|
+
if (!parentDirectoryExists) {
|
|
192
|
+
createDirectory(parentDirectoryPath);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
171
195
|
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCkge1xuICBjb25zdCBlbnRyeUV4aXN0cyA9IGZzLmV4aXN0c1N5bmMoZW50cnlQYXRoKTtcblxuICByZXR1cm4gZW50cnlFeGlzdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVFeGlzdHMoZmlsZVBhdGgpIHtcbiAgbGV0IGZpbGVFeGlzdHMgPSBmYWxzZTtcbiAgXG4gIGNvbnN0IGVudHJ5UGF0aCA9IGZpbGVQYXRoLCAvLy9cbiAgICAgICAgZW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCk7XG4gIFxuICBpZiAoZW50cnlFeGlzdHMpIHtcbiAgICBjb25zdCBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShlbnRyeVBhdGgpO1xuICAgIFxuICAgIGlmIChlbnRyeUZpbGUpIHtcbiAgICAgIGZpbGVFeGlzdHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBcbiAgcmV0dXJuIGZpbGVFeGlzdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnlQYXRoKSB7XG4gIGxldCBkaXJlY3RvcnlFeGlzdHMgPSBmYWxzZTtcblxuICBjb25zdCBlbnRyeVBhdGggPSBkaXJlY3RvcnlQYXRoLCAvLy9cbiAgICAgICAgZW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCk7XG5cbiAgaWYgKGVudHJ5RXhpc3RzKSB7XG4gICAgY29uc3QgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGVudHJ5UGF0aCk7XG5cbiAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcbiAgICAgIGRpcmVjdG9yeUV4aXN0cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpcmVjdG9yeUV4aXN0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW50cnlGaWxlKGVudHJ5UGF0aCkge1xuICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMoZW50cnlQYXRoKSxcbiAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBzdGF0LmlzRGlyZWN0b3J5KCksXG4gICAgICAgIGVudHJ5RmlsZSA9ICFlbnRyeURpcmVjdG9yeTtcblxuICByZXR1cm4gZW50cnlGaWxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbnRyeURpcmVjdG9yeShlbnRyeVBhdGgpIHtcbiAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKGVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gc3RhdC5pc0RpcmVjdG9yeSgpO1xuXG4gIHJldHVybiBlbnRyeURpcmVjdG9yeTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlyZWN0b3J5RW1wdHkoZGlyZWN0b3J5UGF0aCkge1xuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc3ViRW50cnlOYW1lc0xlbmd0aCA9IHN1YkVudHJ5TmFtZXMubGVuZ3RoLFxuICAgICAgICBkaXJlY3RvcnlFbXB0eSA9IChzdWJFbnRyeU5hbWVzTGVuZ3RoID09PSAwKTtcblxuICByZXR1cm4gZGlyZWN0b3J5RW1wdHk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgpIHtcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IGZzLnJlYWRkaXJTeW5jKGRpcmVjdG9yeVBhdGgpO1xuXG4gIHJldHVybiBzdWJFbnRyeU5hbWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEZpbGUoZmlsZVBhdGgsIGVuY29kaW5nID0gREVGQVVMVF9FTkNPRElORykge1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgIGVuY29kaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIG9wdGlvbnMpO1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVGaWxlKGZpbGVQYXRoLCBjb250ZW50KSB7XG4gIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGNvbnRlbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmlsZShmaWxlUGF0aCkge1xuICBjb25zdCBjb250ZW50ID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGNvbnRlbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kVG9GaWxlKGZpbGVQYXRoLCBjb250ZW50KSB7XG4gIGZzLmFwcGVuZEZpbGVTeW5jKGZpbGVQYXRoLCBjb250ZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSB7XG4gIGNvbnN0IHJlY3Vyc2l2ZSA9IHRydWUsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgcmVjdXJzaXZlXG4gICAgICAgIH07XG5cbiAgZnMubWtkaXJTeW5jKGRpcmVjdG9yeVBhdGgsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lRGlyZWN0b3J5KG9sZERpcmVjdG9yeVBhdGgsIG5ld0RpcmVjdG9yeVBhdGgpIHtcbiAgZnMucmVuYW1lU3luYyhvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoKSB7XG4gIGZzLnJlbmFtZVN5bmMob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5KGVudHJ5UGF0aCkge1xuICBjb25zdCBmb3JjZSA9IHRydWUsXG4gICAgICAgIHJlY3Vyc2l2ZSA9IHRydWUsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgZm9yY2UsXG4gICAgICAgICAgcmVjdXJzaXZlXG4gICAgICAgIH07XG5cbiAgZnMucm1TeW5jKGVudHJ5UGF0aCwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0cyhmaWxlUGF0aCkge1xuICByZXR1cm4gZnMuc3RhdFN5bmMoZmlsZVBhdGgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNoZWNrRW50cnlFeGlzdHMsXG4gIGNoZWNrRmlsZUV4aXN0cyxcbiAgY2hlY2tEaXJlY3RvcnlFeGlzdHMsXG4gIGlzRW50cnlGaWxlLFxuICBpc0VudHJ5RGlyZWN0b3J5LFxuICBpc0RpcmVjdG9yeUVtcHR5LFxuICByZWFkRGlyZWN0b3J5LFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlLFxuICBjcmVhdGVGaWxlLFxuICBhcHBlbmRUb0ZpbGUsXG4gIGNyZWF0ZURpcmVjdG9yeSxcbiAgcmVuYW1lRGlyZWN0b3J5LFxuICByZW5hbWVGaWxlLFxuICByZW1vdmVFbnRyeSxcbiAgZ2V0U3RhdHNcbn07XG4iXSwibmFtZXMiOlsiY2hlY2tFbnRyeUV4aXN0cyIsImNoZWNrRmlsZUV4aXN0cyIsImNoZWNrRGlyZWN0b3J5RXhpc3RzIiwiaXNFbnRyeUZpbGUiLCJpc0VudHJ5RGlyZWN0b3J5IiwiaXNEaXJlY3RvcnlFbXB0eSIsInJlYWREaXJlY3RvcnkiLCJyZWFkRmlsZSIsIndyaXRlRmlsZSIsImNyZWF0ZUZpbGUiLCJhcHBlbmRUb0ZpbGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZW5hbWVEaXJlY3RvcnkiLCJyZW5hbWVGaWxlIiwicmVtb3ZlRW50cnkiLCJnZXRTdGF0cyIsImVudHJ5UGF0aCIsImVudHJ5RXhpc3RzIiwiZnMiLCJleGlzdHNTeW5jIiwiZmlsZVBhdGgiLCJmaWxlRXhpc3RzIiwiZW50cnlGaWxlIiwiZGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yeUV4aXN0cyIsImVudHJ5RGlyZWN0b3J5Iiwic3RhdCIsInN0YXRTeW5jIiwiaXNEaXJlY3RvcnkiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lc0xlbmd0aCIsImxlbmd0aCIsImRpcmVjdG9yeUVtcHR5IiwicmVhZGRpclN5bmMiLCJlbmNvZGluZyIsIkRFRkFVTFRfRU5DT0RJTkciLCJvcHRpb25zIiwiY29udGVudCIsInJlYWRGaWxlU3luYyIsIndyaXRlRmlsZVN5bmMiLCJFTVBUWV9TVFJJTkciLCJhcHBlbmRGaWxlU3luYyIsInJlY3Vyc2l2ZSIsIm1rZGlyU3luYyIsIm9sZERpcmVjdG9yeVBhdGgiLCJuZXdEaXJlY3RvcnlQYXRoIiwicmVuYW1lU3luYyIsIm9sZEZpbGVQYXRoIiwibmV3RmlsZVBhdGgiLCJmb3JjZSIsInJtU3luYyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBT2dCQSxnQkFBZ0I7ZUFBaEJBOztJQU1BQyxlQUFlO2VBQWZBOztJQWlCQUMsb0JBQW9CO2VBQXBCQTs7SUFpQkFDLFdBQVc7ZUFBWEE7O0lBUUFDLGdCQUFnQjtlQUFoQkE7O0lBT0FDLGdCQUFnQjtlQUFoQkE7O0lBUUFDLGFBQWE7ZUFBYkE7O0lBTUFDLFFBQVE7ZUFBUkE7O0lBU0FDLFNBQVM7ZUFBVEE7O0lBSUFDLFVBQVU7ZUFBVkE7O0lBTUFDLFlBQVk7ZUFBWkE7O0lBSUFDLGVBQWU7ZUFBZkE7O0lBU0FDLGVBQWU7ZUFBZkE7O0lBSUFDLFVBQVU7ZUFBVkE7O0lBSUFDLFdBQVc7ZUFBWEE7O0lBV0FDLFFBQVE7ZUFBUkE7O0lBSWhCLE9BaUJFO2VBakJGOzs7eURBakllO3lCQUVjO3dCQUNJOzs7Ozs7QUFFMUIsU0FBU2YsaUJBQWlCZ0IsU0FBUztJQUN4QyxJQUFNQyxjQUFjQyxXQUFFLENBQUNDLFVBQVUsQ0FBQ0g7SUFFbEMsT0FBT0M7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
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgREVGQVVMVF9FTkNPRElORyB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tFbnRyeUV4aXN0cyhlbnRyeVBhdGgpIHtcbiAgY29uc3QgZW50cnlFeGlzdHMgPSBmcy5leGlzdHNTeW5jKGVudHJ5UGF0aCk7XG5cbiAgcmV0dXJuIGVudHJ5RXhpc3RzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGaWxlRXhpc3RzKGZpbGVQYXRoKSB7XG4gIGxldCBmaWxlRXhpc3RzID0gZmFsc2U7XG4gIFxuICBjb25zdCBlbnRyeVBhdGggPSBmaWxlUGF0aCwgLy8vXG4gICAgICAgIGVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhlbnRyeVBhdGgpO1xuICBcbiAgaWYgKGVudHJ5RXhpc3RzKSB7XG4gICAgY29uc3QgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoZW50cnlQYXRoKTtcbiAgICBcbiAgICBpZiAoZW50cnlGaWxlKSB7XG4gICAgICBmaWxlRXhpc3RzID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgXG4gIHJldHVybiBmaWxlRXhpc3RzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEaXJlY3RvcnlFeGlzdHMoZGlyZWN0b3J5UGF0aCkge1xuICBsZXQgZGlyZWN0b3J5RXhpc3RzID0gZmFsc2U7XG5cbiAgY29uc3QgZW50cnlQYXRoID0gZGlyZWN0b3J5UGF0aCwgLy8vXG4gICAgICAgIGVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhlbnRyeVBhdGgpO1xuXG4gIGlmIChlbnRyeUV4aXN0cykge1xuICAgIGNvbnN0IGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShlbnRyeVBhdGgpO1xuXG4gICAgaWYgKGVudHJ5RGlyZWN0b3J5KSB7XG4gICAgICBkaXJlY3RvcnlFeGlzdHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaXJlY3RvcnlFeGlzdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VudHJ5RmlsZShlbnRyeVBhdGgpIHtcbiAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKGVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gc3RhdC5pc0RpcmVjdG9yeSgpLFxuICAgICAgICBlbnRyeUZpbGUgPSAhZW50cnlEaXJlY3Rvcnk7XG5cbiAgcmV0dXJuIGVudHJ5RmlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW50cnlEaXJlY3RvcnkoZW50cnlQYXRoKSB7XG4gIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhlbnRyeVBhdGgpLFxuICAgICAgICBlbnRyeURpcmVjdG9yeSA9IHN0YXQuaXNEaXJlY3RvcnkoKTtcblxuICByZXR1cm4gZW50cnlEaXJlY3Rvcnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RpcmVjdG9yeUVtcHR5KGRpcmVjdG9yeVBhdGgpIHtcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHN1YkVudHJ5TmFtZXNMZW5ndGggPSBzdWJFbnRyeU5hbWVzLmxlbmd0aCxcbiAgICAgICAgZGlyZWN0b3J5RW1wdHkgPSAoc3ViRW50cnlOYW1lc0xlbmd0aCA9PT0gMCk7XG5cbiAgcmV0dXJuIGRpcmVjdG9yeUVtcHR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZERpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSB7XG4gIGNvbnN0IHN1YkVudHJ5TmFtZXMgPSBmcy5yZWFkZGlyU3luYyhkaXJlY3RvcnlQYXRoKTtcblxuICByZXR1cm4gc3ViRW50cnlOYW1lcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRGaWxlKGZpbGVQYXRoLCBlbmNvZGluZyA9IERFRkFVTFRfRU5DT0RJTkcpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICBlbmNvZGluZ1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBvcHRpb25zKTtcblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudCkge1xuICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBjb250ZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFRvRmlsZShmaWxlUGF0aCwgY29udGVudCkge1xuICBmcy5hcHBlbmRGaWxlU3luYyhmaWxlUGF0aCwgY29udGVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCwgcmVjdXJzaXZlID0gdHJ1ZSkge1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlY3Vyc2l2ZVxuICB9O1xuXG4gIGZzLm1rZGlyU3luYyhkaXJlY3RvcnlQYXRoLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZURpcmVjdG9yeShvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoKSB7XG4gIGZzLnJlbmFtZVN5bmMob2xkRGlyZWN0b3J5UGF0aCwgbmV3RGlyZWN0b3J5UGF0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KG9sZERpcmVjdG9yeVBhdGgsIG5ld0RpcmVjdG9yeVBhdGgpIHtcbiAgZW5zdXJlUGFyZW50RGlyZWN0b3J5RXhpc3RzKG5ld0RpcmVjdG9yeVBhdGgpO1xuXG4gIHJlbmFtZURpcmVjdG9yeShvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbGUoZmlsZVBhdGgpIHtcbiAgY29uc3QgY29udGVudCA9IEVNUFRZX1NUUklORztcblxuICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBjb250ZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoKSB7XG4gIGZzLnJlbmFtZVN5bmMob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVGaWxlKG9sZEZpbGVQYXRoLCBuZXdGaWxlUGF0aCkge1xuICBlbnN1cmVQYXJlbnRGaWxlRXhpc3RzKG5ld0ZpbGVQYXRoKTtcblxuICByZW5hbWVGaWxlKG9sZEZpbGVQYXRoLCBuZXdGaWxlUGF0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRyeShlbnRyeVBhdGgpIHtcbiAgY29uc3QgZm9yY2UgPSB0cnVlLFxuICAgICAgICByZWN1cnNpdmUgPSB0cnVlLFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgIGZvcmNlLFxuICAgICAgICAgIHJlY3Vyc2l2ZVxuICAgICAgICB9O1xuXG4gIGZzLnJtU3luYyhlbnRyeVBhdGgsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHMoZmlsZVBhdGgpIHtcbiAgcmV0dXJuIGZzLnN0YXRTeW5jKGZpbGVQYXRoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjaGVja0VudHJ5RXhpc3RzLFxuICBjaGVja0ZpbGVFeGlzdHMsXG4gIGNoZWNrRGlyZWN0b3J5RXhpc3RzLFxuICBpc0VudHJ5RmlsZSxcbiAgaXNFbnRyeURpcmVjdG9yeSxcbiAgaXNEaXJlY3RvcnlFbXB0eSxcbiAgcmVhZERpcmVjdG9yeSxcbiAgcmVhZEZpbGUsXG4gIHdyaXRlRmlsZSxcbiAgYXBwZW5kVG9GaWxlLFxuICBjcmVhdGVEaXJlY3RvcnksXG4gIHJlbmFtZURpcmVjdG9yeSxcbiAgbW92ZURpcmVjdG9yeSxcbiAgY3JlYXRlRmlsZSxcbiAgcmVuYW1lRmlsZSxcbiAgbW92ZUZpbGUsXG4gIHJlbW92ZUVudHJ5LFxuICBnZXRTdGF0c1xufTtcblxuZnVuY3Rpb24gZW5zdXJlUGFyZW50RGlyZWN0b3J5RXhpc3RzKGZpbGVQYXRoKSB7XG4gIGNvbnN0IHBhcmVudERpcmVjdG9yeVBhdGggPSBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpLCAvLy9cbiAgICAgICAgcGFyZW50RGlyZWN0b3J5RXhpc3RzID0gY2hlY2tEaXJlY3RvcnlFeGlzdHMocGFyZW50RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFwYXJlbnREaXJlY3RvcnlFeGlzdHMpIHtcbiAgICBjcmVhdGVEaXJlY3RvcnkocGFyZW50RGlyZWN0b3J5UGF0aCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjaGVja0VudHJ5RXhpc3RzIiwiY2hlY2tGaWxlRXhpc3RzIiwiY2hlY2tEaXJlY3RvcnlFeGlzdHMiLCJpc0VudHJ5RmlsZSIsImlzRW50cnlEaXJlY3RvcnkiLCJpc0RpcmVjdG9yeUVtcHR5IiwicmVhZERpcmVjdG9yeSIsInJlYWRGaWxlIiwid3JpdGVGaWxlIiwiYXBwZW5kVG9GaWxlIiwiY3JlYXRlRGlyZWN0b3J5IiwicmVuYW1lRGlyZWN0b3J5IiwibW92ZURpcmVjdG9yeSIsImNyZWF0ZUZpbGUiLCJyZW5hbWVGaWxlIiwibW92ZUZpbGUiLCJyZW1vdmVFbnRyeSIsImdldFN0YXRzIiwiZW50cnlQYXRoIiwiZW50cnlFeGlzdHMiLCJmcyIsImV4aXN0c1N5bmMiLCJmaWxlUGF0aCIsImZpbGVFeGlzdHMiLCJlbnRyeUZpbGUiLCJkaXJlY3RvcnlQYXRoIiwiZGlyZWN0b3J5RXhpc3RzIiwiZW50cnlEaXJlY3RvcnkiLCJzdGF0Iiwic3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsInN1YkVudHJ5TmFtZXMiLCJzdWJFbnRyeU5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwiZGlyZWN0b3J5RW1wdHkiLCJyZWFkZGlyU3luYyIsImVuY29kaW5nIiwiREVGQVVMVF9FTkNPRElORyIsIm9wdGlvbnMiLCJjb250ZW50IiwicmVhZEZpbGVTeW5jIiwid3JpdGVGaWxlU3luYyIsImFwcGVuZEZpbGVTeW5jIiwicmVjdXJzaXZlIiwibWtkaXJTeW5jIiwib2xkRGlyZWN0b3J5UGF0aCIsIm5ld0RpcmVjdG9yeVBhdGgiLCJyZW5hbWVTeW5jIiwiZW5zdXJlUGFyZW50RGlyZWN0b3J5RXhpc3RzIiwiRU1QVFlfU1RSSU5HIiwib2xkRmlsZVBhdGgiLCJuZXdGaWxlUGF0aCIsImVuc3VyZVBhcmVudEZpbGVFeGlzdHMiLCJmb3JjZSIsInJtU3luYyIsInBhcmVudERpcmVjdG9yeVBhdGgiLCJwYXRoIiwiZGlybmFtZSIsInBhcmVudERpcmVjdG9yeUV4aXN0cyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBUWdCQSxnQkFBZ0I7ZUFBaEJBOztJQU1BQyxlQUFlO2VBQWZBOztJQWlCQUMsb0JBQW9CO2VBQXBCQTs7SUFpQkFDLFdBQVc7ZUFBWEE7O0lBUUFDLGdCQUFnQjtlQUFoQkE7O0lBT0FDLGdCQUFnQjtlQUFoQkE7O0lBUUFDLGFBQWE7ZUFBYkE7O0lBTUFDLFFBQVE7ZUFBUkE7O0lBU0FDLFNBQVM7ZUFBVEE7O0lBSUFDLFlBQVk7ZUFBWkE7O0lBSUFDLGVBQWU7ZUFBZkE7O0lBUUFDLGVBQWU7ZUFBZkE7O0lBSUFDLGFBQWE7ZUFBYkE7O0lBTUFDLFVBQVU7ZUFBVkE7O0lBTUFDLFVBQVU7ZUFBVkE7O0lBSUFDLFFBQVE7ZUFBUkE7O0lBTUFDLFdBQVc7ZUFBWEE7O0lBV0FDLFFBQVE7ZUFBUkE7O0lBSWhCLE9BbUJFO2VBbkJGOzs7eURBN0llOzJEQUNFO3lCQUVZO3dCQUNJOzs7Ozs7QUFFMUIsU0FBU2pCLGlCQUFpQmtCLFNBQVM7SUFDeEMsSUFBTUMsY0FBY0MsV0FBRSxDQUFDQyxVQUFVLENBQUNIO0lBRWxDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTbEIsZ0JBQWdCcUIsUUFBUTtJQUN0QyxJQUFJQyxhQUFhO0lBRWpCLElBQU1MLFlBQVlJLFVBQ1pILGNBQWNu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
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import fs from "fs";
|
|
4
|
+
import path from "path";
|
|
4
5
|
|
|
5
6
|
import { EMPTY_STRING } from "../constants";
|
|
6
7
|
import { DEFAULT_ENCODING } from "../defaults";
|
|
@@ -87,21 +88,14 @@ export function writeFile(filePath, content) {
|
|
|
87
88
|
fs.writeFileSync(filePath, content);
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
export function createFile(filePath) {
|
|
91
|
-
const content = EMPTY_STRING;
|
|
92
|
-
|
|
93
|
-
fs.writeFileSync(filePath, content);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
91
|
export function appendToFile(filePath, content) {
|
|
97
92
|
fs.appendFileSync(filePath, content);
|
|
98
93
|
}
|
|
99
94
|
|
|
100
|
-
export function createDirectory(directoryPath) {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
95
|
+
export function createDirectory(directoryPath, recursive = true) {
|
|
96
|
+
const options = {
|
|
97
|
+
recursive
|
|
98
|
+
};
|
|
105
99
|
|
|
106
100
|
fs.mkdirSync(directoryPath, options);
|
|
107
101
|
}
|
|
@@ -110,10 +104,28 @@ export function renameDirectory(oldDirectoryPath, newDirectoryPath) {
|
|
|
110
104
|
fs.renameSync(oldDirectoryPath, newDirectoryPath);
|
|
111
105
|
}
|
|
112
106
|
|
|
107
|
+
export function moveDirectory(oldDirectoryPath, newDirectoryPath) {
|
|
108
|
+
ensureParentDirectoryExists(newDirectoryPath);
|
|
109
|
+
|
|
110
|
+
renameDirectory(oldDirectoryPath, newDirectoryPath);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export function createFile(filePath) {
|
|
114
|
+
const content = EMPTY_STRING;
|
|
115
|
+
|
|
116
|
+
fs.writeFileSync(filePath, content);
|
|
117
|
+
}
|
|
118
|
+
|
|
113
119
|
export function renameFile(oldFilePath, newFilePath) {
|
|
114
120
|
fs.renameSync(oldFilePath, newFilePath);
|
|
115
121
|
}
|
|
116
122
|
|
|
123
|
+
export function moveFile(oldFilePath, newFilePath) {
|
|
124
|
+
ensureParentFileExists(newFilePath);
|
|
125
|
+
|
|
126
|
+
renameFile(oldFilePath, newFilePath);
|
|
127
|
+
}
|
|
128
|
+
|
|
117
129
|
export function removeEntry(entryPath) {
|
|
118
130
|
const force = true,
|
|
119
131
|
recursive = true,
|
|
@@ -139,11 +151,22 @@ export default {
|
|
|
139
151
|
readDirectory,
|
|
140
152
|
readFile,
|
|
141
153
|
writeFile,
|
|
142
|
-
createFile,
|
|
143
154
|
appendToFile,
|
|
144
155
|
createDirectory,
|
|
145
156
|
renameDirectory,
|
|
157
|
+
moveDirectory,
|
|
158
|
+
createFile,
|
|
146
159
|
renameFile,
|
|
160
|
+
moveFile,
|
|
147
161
|
removeEntry,
|
|
148
162
|
getStats
|
|
149
163
|
};
|
|
164
|
+
|
|
165
|
+
function ensureParentDirectoryExists(filePath) {
|
|
166
|
+
const parentDirectoryPath = path.dirname(filePath), ///
|
|
167
|
+
parentDirectoryExists = checkDirectoryExists(parentDirectoryPath);
|
|
168
|
+
|
|
169
|
+
if (!parentDirectoryExists) {
|
|
170
|
+
createDirectory(parentDirectoryPath);
|
|
171
|
+
}
|
|
172
|
+
}
|