extra-filesystem 0.5.2 → 0.6.0

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 (43) hide show
  1. package/README.md +30 -4
  2. package/lib/checksum-file.js.map +1 -1
  3. package/lib/copy-sync.d.ts +1 -1
  4. package/lib/copy-sync.js +7 -3
  5. package/lib/copy-sync.js.map +1 -1
  6. package/lib/copy.d.ts +1 -1
  7. package/lib/copy.js +7 -3
  8. package/lib/copy.js.map +1 -1
  9. package/lib/ensure-file-sync.js.map +1 -1
  10. package/lib/ensure-file.js.map +1 -1
  11. package/lib/find-all-dirnames.js +1 -1
  12. package/lib/find-all-dirnames.js.map +1 -1
  13. package/lib/find-all-filenames.js +1 -1
  14. package/lib/find-all-filenames.js.map +1 -1
  15. package/lib/find-up-package-filename-sync.js.map +1 -1
  16. package/lib/find-up-package-filename.js.map +1 -1
  17. package/lib/get-long-extension.js.map +1 -1
  18. package/lib/is-readable.js.map +1 -1
  19. package/lib/is-writable.js.map +1 -1
  20. package/lib/move-sync.d.ts +1 -1
  21. package/lib/move-sync.js +5 -4
  22. package/lib/move-sync.js.map +1 -1
  23. package/lib/move.d.ts +1 -1
  24. package/lib/move.js +5 -4
  25. package/lib/move.js.map +1 -1
  26. package/lib/path-exists-sync.js.map +1 -1
  27. package/lib/path-exists.js.map +1 -1
  28. package/lib/read-file-line-by-line-sync.d.ts +0 -1
  29. package/lib/read-file-line-by-line-sync.js.map +1 -1
  30. package/lib/read-file-line-by-line.d.ts +0 -1
  31. package/lib/read-json-file-sync.d.ts +0 -1
  32. package/lib/read-json-file.d.ts +0 -1
  33. package/lib/read-ndjson-file-sync.d.ts +0 -1
  34. package/lib/read-ndjson-file.d.ts +0 -1
  35. package/lib/read-yaml-file-sync.d.ts +0 -1
  36. package/lib/read-yaml-file.d.ts +0 -1
  37. package/package.json +27 -31
  38. package/src/copy-sync.ts +7 -3
  39. package/src/copy.ts +8 -4
  40. package/src/find-all-dirnames.ts +1 -1
  41. package/src/find-all-filenames.ts +1 -1
  42. package/src/move-sync.ts +5 -4
  43. package/src/move.ts +5 -4
package/README.md CHANGED
@@ -155,24 +155,50 @@ function writeYAMLFileSync(filename: string, data: unknown): void
155
155
 
156
156
  ### move
157
157
  ```ts
158
- function move(oldPath: string, newPath: string): Promise<void>
158
+ function move(source: string, destination: string): Promise<void>
159
159
  ```
160
160
 
161
+ Move the file or directory from `source` to `destination`.
162
+
163
+ Unlike the `mv` command in Bash,
164
+ it does not support moving a file or directory to a directory.
165
+
166
+ If a file or directory already exists at the destination,
167
+ it will throw an error.
168
+
169
+ If the destination's parent directory does not exist,
170
+ it will create the parent directory.
171
+
161
172
  ### moveSync
162
173
  ```ts
163
- function moveSync(oldPath: string, newPath: string): void
174
+ function moveSync(source: string, destination: string): void
164
175
  ```
165
176
 
177
+ See `move()`.
178
+
166
179
  ### copy
167
180
  ```ts
168
- function copy(sourcePath: string, destinationPath: string): Promise<void>
181
+ function copy(source: string, destination: string): Promise<void>
169
182
  ```
170
183
 
184
+ Copy the file or directory from `source` to `destination`.
185
+
186
+ Unlike the `cp` command in Bash,
187
+ it does not support copying a file or directory to a directory.
188
+
189
+ If a file or directory already exists at the destination,
190
+ it will throw an error.
191
+
192
+ If the destination's parent directory does not exist,
193
+ it will create the parent directory.
194
+
171
195
  ### copySync
172
196
  ```ts
173
- function copySync(sourcePath: string, destinationPath: string): void
197
+ function copySync(source: string, destination: string): void
174
198
  ```
175
199
 
200
+ See `copy()`.
201
+
176
202
  ### remove
177
203
  ```ts
178
204
  function remove(path: string): Promise<void>
@@ -1 +1 @@
1
- {"version":3,"file":"checksum-file.js","sourceRoot":"","sources":["../src/checksum-file.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KACnB;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"checksum-file.js","sourceRoot":"","sources":["../src/checksum-file.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
@@ -1 +1 @@
1
- export declare function copySync(sourcePath: string, destinationPath: string): void;
1
+ export declare function copySync(source: string, destination: string): void;
package/lib/copy-sync.js CHANGED
@@ -1,7 +1,11 @@
1
1
  import fs from 'fs-extra';
2
- export function copySync(sourcePath, destinationPath) {
3
- fs.copySync(sourcePath, destinationPath, {
4
- overwrite: true
2
+ import { pathExistsSync } from './path-exists-sync.js';
3
+ export function copySync(source, destination) {
4
+ if (pathExistsSync(destination))
5
+ throw new Error(`${destination} already exists`);
6
+ fs.copySync(source, destination, {
7
+ overwrite: false,
8
+ errorOnExist: true
5
9
  });
6
10
  }
7
11
  //# sourceMappingURL=copy-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-sync.js","sourceRoot":"","sources":["../src/copy-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,eAAuB;IAClE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE;QACvC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"copy-sync.js","sourceRoot":"","sources":["../src/copy-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB;IAC1D,IAAI,cAAc,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAA;IAEjF,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE;QAC/B,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;AACJ,CAAC"}
package/lib/copy.d.ts CHANGED
@@ -1 +1 @@
1
- export declare function copy(sourcePath: string, destinationPath: string): Promise<void>;
1
+ export declare function copy(source: string, destination: string): Promise<void>;
package/lib/copy.js CHANGED
@@ -1,7 +1,11 @@
1
1
  import fs from 'fs-extra';
2
- export async function copy(sourcePath, destinationPath) {
3
- await fs.copy(sourcePath, destinationPath, {
4
- overwrite: true
2
+ import { pathExists } from './path-exists.js';
3
+ export async function copy(source, destination) {
4
+ if (await pathExists(destination))
5
+ throw new Error(`${destination} already exists`);
6
+ await fs.copy(source, destination, {
7
+ overwrite: false,
8
+ errorOnExist: true
5
9
  });
6
10
  }
7
11
  //# sourceMappingURL=copy.js.map
package/lib/copy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,UAAkB,EAClB,eAAuB;IAEvB,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE;QACzC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,MAAc,EACd,WAAmB;IAEnB,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAA;IAEnF,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE;QACjC,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-file-sync.js","sourceRoot":"","sources":["../src/ensure-file-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,aAAa,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI;QACF,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;KAC1C;IAAC,WAAM;QACN,IAAI,EAAE,CAAA;KACP;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-file-sync.js","sourceRoot":"","sources":["../src/ensure-file-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,aAAa,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAAC,WAAM,CAAC;QACP,IAAI,EAAE,CAAA;IACR,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-file.js","sourceRoot":"","sources":["../src/ensure-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;KACrB;IAAC,WAAM;QACN,IAAI,EAAE,CAAA;KACP;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-file.js","sourceRoot":"","sources":["../src/ensure-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAAC,WAAM,CAAC;QACP,IAAI,EAAE,CAAA;IACR,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs/promises';
2
2
  import path from 'path';
3
- export async function* findAllDirnames(dirname, predicate = _ => true) {
3
+ export async function* findAllDirnames(dirname, predicate = () => true) {
4
4
  const subDirnames = await getSubDirnames(dirname);
5
5
  for (const dirname of subDirnames) {
6
6
  if (predicate(dirname)) {
@@ -1 +1 @@
1
- {"version":3,"file":"find-all-dirnames.js","sourceRoot":"","sources":["../src/find-all-dirnames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CACpC,OAAe,EACf,YAA0C,CAAC,CAAC,EAAE,CAAC,IAAI;IAEnD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;QACjC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;YACtB,MAAM,OAAO,CAAA;YACb,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SAC3C;KACF;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"find-all-dirnames.js","sourceRoot":"","sources":["../src/find-all-dirnames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CACpC,OAAe,EACf,YAA0C,GAAG,EAAE,CAAC,IAAI;IAEpD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAA;YACb,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs/promises';
2
2
  import path from 'path';
3
- export async function* findAllFilenames(dirname, predicate = _ => true) {
3
+ export async function* findAllFilenames(dirname, predicate = () => true) {
4
4
  const dirents = await fs.readdir(dirname, { withFileTypes: true });
5
5
  for (const dirent of dirents) {
6
6
  if (dirent.isDirectory()) {
@@ -1 +1 @@
1
- {"version":3,"file":"find-all-filenames.js","sourceRoot":"","sources":["../src/find-all-filenames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,OAAe,EACf,YAA0C,CAAC,CAAC,EAAE,CAAC,IAAI;IAEnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE;gBACzB,KAAK,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;aAC/C;SACF;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAChD,MAAM,QAAQ,CAAA;SACf;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"find-all-filenames.js","sourceRoot":"","sources":["../src/find-all-filenames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,OAAe,EACf,YAA0C,GAAG,EAAE,CAAC,IAAI;IAEpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAChD,MAAM,QAAQ,CAAA;QAChB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-up-package-filename-sync.js","sourceRoot":"","sources":["../src/find-up-package-filename-sync.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,IAAI,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACvD,IAAI,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAE7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAM;QACpC,QAAQ,GAAG,WAAW,CAAA;KACvB;AACH,CAAC"}
1
+ {"version":3,"file":"find-up-package-filename-sync.js","sourceRoot":"","sources":["../src/find-up-package-filename-sync.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACvD,IAAI,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAE7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAM;QACpC,QAAQ,GAAG,WAAW,CAAA;IACxB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-up-package-filename.js","sourceRoot":"","sources":["../src/find-up-package-filename.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,IAAI,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACvD,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAM;QACpC,QAAQ,GAAG,WAAW,CAAA;KACvB;AACH,CAAC"}
1
+ {"version":3,"file":"find-up-package-filename.js","sourceRoot":"","sources":["../src/find-up-package-filename.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACvD,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAM;QACpC,QAAQ,GAAG,WAAW,CAAA;IACxB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-long-extension.js","sourceRoot":"","sources":["../src/get-long-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,SAAS,GAAG,QAAQ,CAAA;IACxB,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,MAAK;QACrB,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/C,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;KAC5B;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"get-long-extension.js","sourceRoot":"","sources":["../src/get-long-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,SAAS,GAAG,QAAQ,CAAA;IACxB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,MAAK;QACrB,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/C,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-readable.js","sourceRoot":"","sources":["../src/is-readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;KACZ;IAAC,WAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"is-readable.js","sourceRoot":"","sources":["../src/is-readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-writable.js","sourceRoot":"","sources":["../src/is-writable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;KACZ;IAAC,WAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"is-writable.js","sourceRoot":"","sources":["../src/is-writable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- export declare function moveSync(oldPath: string, newPath: string): void;
1
+ export declare function moveSync(source: string, destination: string): void;
package/lib/move-sync.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import fs from 'fs-extra';
2
- export function moveSync(oldPath, newPath) {
3
- fs.moveSync(oldPath, newPath, {
4
- overwrite: true
5
- });
2
+ import { pathExistsSync } from './path-exists-sync.js';
3
+ export function moveSync(source, destination) {
4
+ if (pathExistsSync(destination))
5
+ throw new Error(`${destination} already exists`);
6
+ fs.moveSync(source, destination, { overwrite: false });
6
7
  }
7
8
  //# sourceMappingURL=move-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-sync.js","sourceRoot":"","sources":["../src/move-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,OAAe;IACvD,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;QAC5B,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"move-sync.js","sourceRoot":"","sources":["../src/move-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB;IAC1D,IAAI,cAAc,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAA;IAEjF,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AACxD,CAAC"}
package/lib/move.d.ts CHANGED
@@ -1 +1 @@
1
- export declare function move(oldPath: string, newPath: string): Promise<void>;
1
+ export declare function move(source: string, destination: string): Promise<void>;
package/lib/move.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import fs from 'fs-extra';
2
- export async function move(oldPath, newPath) {
3
- await fs.move(oldPath, newPath, {
4
- overwrite: true
5
- });
2
+ import { pathExists } from './path-exists.js';
3
+ export async function move(source, destination) {
4
+ if (await pathExists(destination))
5
+ throw new Error(`${destination} already exists`);
6
+ await fs.move(source, destination, { overwrite: false });
6
7
  }
7
8
  //# sourceMappingURL=move.js.map
package/lib/move.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../src/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAe,EAAE,OAAe;IACzD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;QAC9B,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../src/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,WAAmB;IAC5D,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,iBAAiB,CAAC,CAAA;IAEnF,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-exists-sync.js","sourceRoot":"","sources":["../src/path-exists-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAKnB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI;QACF,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;KACZ;IAAC,WAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"path-exists-sync.js","sourceRoot":"","sources":["../src/path-exists-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAKnB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-exists.js","sourceRoot":"","sources":["../src/path-exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAK5B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;KACZ;IAAC,WAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"path-exists.js","sourceRoot":"","sources":["../src/path-exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAA;AAK5B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readFileLineByLineSync(filename: string, encoding?: BufferEncoding): IterableIterator<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"read-file-line-by-line-sync.js","sourceRoot":"","sources":["../src/read-file-line-by-line-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,SAAS,CAAC,CAAC,sBAAsB,CACrC,QAAgB,EAChB,WAA2B,OAAO;IAElC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,SAAiB,CAAA;IACrB,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;QACvE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAChC,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,KAAK,CAAC,KAAK,EAAG,CAAA;SACrB;QACD,aAAa,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;KAC/B;IACD,IAAI,aAAa;QAAE,MAAM,aAAa,CAAA;IAEtC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"read-file-line-by-line-sync.js","sourceRoot":"","sources":["../src/read-file-line-by-line-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,SAAS,CAAC,CAAC,sBAAsB,CACrC,QAAgB,EAChB,WAA2B,OAAO;IAElC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,SAAiB,CAAA;IACrB,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAChC,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,KAAK,EAAG,CAAA;QACtB,CAAC;QACD,aAAa,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;IAChC,CAAC;IACD,IAAI,aAAa;QAAE,MAAM,aAAa,CAAA;IAEtC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC"}
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readFileLineByLine(filename: string, encoding?: BufferEncoding): AsyncIterable<string>;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readJSONFileSync<T>(filename: string, encoding?: BufferEncoding): T;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readJSONFile<T>(filename: string, encoding?: BufferEncoding): Promise<T>;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readNDJSONFileSync<T>(filename: string, encoding?: BufferEncoding): IterableIterator<T>;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readNDJSONFile<T>(filename: string, encoding?: BufferEncoding): AsyncIterableIterator<T>;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readYAMLFileSync<T>(filename: string, encoding?: BufferEncoding): T;
@@ -1,2 +1 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function readYAMLFile<T>(filename: string, encoding?: BufferEncoding): Promise<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-filesystem",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "files": [
@@ -15,14 +15,12 @@
15
15
  "license": "MIT",
16
16
  "sideEffects": false,
17
17
  "engines": {
18
- "node": ">=16"
18
+ "node": ">=22"
19
19
  },
20
20
  "scripts": {
21
21
  "prepare": "ts-patch install -s",
22
22
  "lint": "eslint --ext .js,.jsx,.ts,.tsx --quiet src __tests__",
23
- "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --runInBand --config jest.config.cjs",
24
- "test:debug": "cross-env NODE_OPTIONS=--experimental-vm-modules node --inspect-brk node_modules/.bin/jest --runInBand --config jest.config.cjs",
25
- "test:coverage": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --config jest.config.cjs",
23
+ "test": "vitest run",
26
24
  "prepublishOnly": "run-s prepare clean build",
27
25
  "clean": "rimraf lib",
28
26
  "build": "tsc --project tsconfig.build.json",
@@ -35,37 +33,35 @@
35
33
  }
36
34
  },
37
35
  "devDependencies": {
38
- "@blackglory/jest-resolver": "^0.3.0",
39
- "@commitlint/cli": "^17.5.0",
40
- "@commitlint/config-conventional": "^17.4.4",
41
- "@types/fs-extra": "^11.0.1",
42
- "@types/jest": "^29.5.0",
43
- "@types/js-yaml": "^4.0.5",
44
- "@types/node": "16",
45
- "@types/tmp": "^0.2.3",
46
- "@typescript-eslint/eslint-plugin": "^5.56.0",
47
- "@typescript-eslint/parser": "^5.56.0",
48
- "cross-env": "^7.0.3",
49
- "eslint": "^8.36.0",
36
+ "@commitlint/cli": "^20.4.0",
37
+ "@commitlint/config-conventional": "^20.4.0",
38
+ "@eslint/js": "^9.39.2",
39
+ "@types/fs-extra": "^11.0.4",
40
+ "@types/js-yaml": "^4.0.9",
41
+ "@types/node": "25.1.0",
42
+ "@types/tmp": "^0.2.6",
43
+ "cross-env": "^10.1.0",
44
+ "eslint": "^9.39.2",
50
45
  "husky": "^4.3.0",
51
- "jest": "^29.5.0",
52
- "jest-resolve": "^29.5.0",
53
46
  "npm-run-all": "^4.1.5",
54
- "return-style": "^3.0.0",
55
- "rimraf": "^3.0.2",
47
+ "return-style": "^3.0.1",
48
+ "rimraf": "^6.1.2",
56
49
  "standard-version": "^9.5.0",
57
- "ts-jest": "^29.0.5",
58
- "ts-patch": "^2.1.0",
59
- "typescript": "4.8",
60
- "typescript-transform-paths": "^3.4.6"
50
+ "ts-patch": "^3.3.0",
51
+ "typescript": "5.9.3",
52
+ "typescript-eslint": "^8.54.0",
53
+ "typescript-transform-paths": "^3.5.6",
54
+ "vite": "^7.3.1",
55
+ "vite-tsconfig-paths": "^6.0.5",
56
+ "vitest": "^4.0.18"
61
57
  },
62
58
  "dependencies": {
63
- "@blackglory/prelude": "^0.3.1",
64
- "extra-promise": "^6.0.5",
65
- "extra-utils": "^5.1.1",
66
- "fs-extra": "^11.1.1",
67
- "iterable-operator": "^4.0.5",
68
- "js-yaml": "^4.1.0",
59
+ "@blackglory/prelude": "^0.4.0",
60
+ "extra-promise": "^7.0.1",
61
+ "extra-utils": "^5.20.0",
62
+ "fs-extra": "^11.3.3",
63
+ "iterable-operator": "^5.1.0",
64
+ "js-yaml": "^4.1.1",
69
65
  "tmp-promise": "^3.0.3"
70
66
  }
71
67
  }
package/src/copy-sync.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import fs from 'fs-extra'
2
+ import { pathExistsSync } from './path-exists-sync.js'
2
3
 
3
- export function copySync(sourcePath: string, destinationPath: string): void {
4
- fs.copySync(sourcePath, destinationPath, {
5
- overwrite: true
4
+ export function copySync(source: string, destination: string): void {
5
+ if (pathExistsSync(destination)) throw new Error(`${destination} already exists`)
6
+
7
+ fs.copySync(source, destination, {
8
+ overwrite: false
9
+ , errorOnExist: true
6
10
  })
7
11
  }
package/src/copy.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  import fs from 'fs-extra'
2
+ import { pathExists } from './path-exists.js'
2
3
 
3
4
  export async function copy(
4
- sourcePath: string
5
- , destinationPath: string
5
+ source: string
6
+ , destination: string
6
7
  ): Promise<void> {
7
- await fs.copy(sourcePath, destinationPath, {
8
- overwrite: true
8
+ if (await pathExists(destination)) throw new Error(`${destination} already exists`)
9
+
10
+ await fs.copy(source, destination, {
11
+ overwrite: false
12
+ , errorOnExist: true
9
13
  })
10
14
  }
@@ -3,7 +3,7 @@ import path from 'path'
3
3
 
4
4
  export async function* findAllDirnames(
5
5
  dirname: string
6
- , predicate: (dirname: string) => boolean = _ => true
6
+ , predicate: (dirname: string) => boolean = () => true
7
7
  ): AsyncIterableIterator<string> {
8
8
  const subDirnames = await getSubDirnames(dirname)
9
9
  for (const dirname of subDirnames) {
@@ -3,7 +3,7 @@ import path from 'path'
3
3
 
4
4
  export async function* findAllFilenames(
5
5
  dirname: string
6
- , predicate: (dirname: string) => boolean = _ => true
6
+ , predicate: (dirname: string) => boolean = () => true
7
7
  ): AsyncIterableIterator<string> {
8
8
  const dirents = await fs.readdir(dirname, { withFileTypes: true })
9
9
  for (const dirent of dirents) {
package/src/move-sync.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import fs from 'fs-extra'
2
+ import { pathExistsSync } from './path-exists-sync.js'
2
3
 
3
- export function moveSync(oldPath: string, newPath: string): void {
4
- fs.moveSync(oldPath, newPath, {
5
- overwrite: true
6
- })
4
+ export function moveSync(source: string, destination: string): void {
5
+ if (pathExistsSync(destination)) throw new Error(`${destination} already exists`)
6
+
7
+ fs.moveSync(source, destination, { overwrite: false })
7
8
  }
package/src/move.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import fs from 'fs-extra'
2
+ import { pathExists } from './path-exists.js'
2
3
 
3
- export async function move(oldPath: string, newPath: string): Promise<void> {
4
- await fs.move(oldPath, newPath, {
5
- overwrite: true
6
- })
4
+ export async function move(source: string, destination: string): Promise<void> {
5
+ if (await pathExists(destination)) throw new Error(`${destination} already exists`)
6
+
7
+ await fs.move(source, destination, { overwrite: false })
7
8
  }