43 Commits

Author SHA1 Message Date
Ryan Zimmerman
47f1095d4b
Fix UnhandledPromiseRejectionWarning in copy (#1058) 2025-09-15 11:11:57 -04:00
Jia Zhai
b897b36648
fix incorrect identical result for windows node v22+ (#1050)
Co-authored-by: jayzhai <jayzhai@global.tencent.com>
2025-08-04 10:56:14 -04:00
Sukka
40c516134d
Refactor copy API to async/await (#1021) 2023-10-24 18:34:29 -04:00
Mikhail
47bc43d036
Simplify reduce for checking match (#1016) 2023-09-20 13:41:36 -04:00
Ryan Zimmerman
fd50986b4c
BREAKING: ESM support (#974)
* Remove process.cwd() trick from test files

* BREAKING: Switch from main to exports

* Add fs-extra/esm ESM named import module, with just fs-extra methods

Fixes #746
2022-11-28 13:50:33 -05:00
Ryan Zimmerman
588d77049c
BREAKING: Use bigint everywhere (#895)
Refs #886
2021-04-30 16:21:24 -04:00
Ryan Zimmerman
452352686e
BREAKING: Ensure existing dest correct type/target in ensureLink/Symlink (#826)
Fixes #786
Fixes #870
2021-04-02 07:52:13 -04:00
Mani Maghsoudlou
c8bd3830fc move: support changing case in case-insensitive systems (#801)
Resolves #759
2021-04-01 16:26:01 -04:00
Mani Maghsoudlou
f21048b21d BREAKING: copy*(): allow copying broken symlinks (#779) 2021-04-01 16:13:21 -04:00
Ryan Zimmerman
075c2d1016
Refactor internal stat utils (#764)
* Refactor internal getStats() util

Fixes #762

* Proper promise tests for copy()

Our hacky tests don't play well with multiple layers of
callback/promise switching

* Simplify internal checkParentPaths()

* Port improvments to sync methods
2020-02-17 08:17:31 -05:00
Ryan Zimmerman
cdc7745c9f
Use at-least-node instead of homespun version sniffing (#760)
* Use at-least-node instead of homespun version sniffing

* Remove semver devDep; use at-least-node in tests
2020-02-13 17:31:21 -05:00
Ryan Zimmerman
9bfd380021
Cleanup lib/util/ to remove unused code (#757)
Move function only used in tests to test files to avoid bundling it
2020-02-06 21:14:38 -05:00
Ryan Zimmerman
3c3865cad8
BREAKING: Drop old Node support (#751)
* BREAKING: Drop old Node support, require v10+

Update CI configs

* Remove references and test fencing for old Node versions

* Use object spread properties

* Use octal literal notation

* Use optional catch bindings
2020-02-04 17:30:40 -05:00
Ryan Zimmerman
a6b1a441ef
Remove unused done param (#749)
Not sure why linter didn't catch this
2020-02-03 09:33:26 -05:00
Maxime Bargiel
391fb7365e Add heuristics to stats.ino comparison when bigint is not available 2019-07-27 13:32:18 -04:00
Ryan Zimmerman
40c3d68eb4
Use graceful-fs everywhere (#700)
* Switch back to upgraded graceful-fs for copy & move

Fixes #664
Fixes #684

* Use graceful-fs for emptyDir*()
2019-06-28 12:18:50 -04:00
Ryan Zimmerman
f3a2eed496
Upgrade to standard v12 (#685) 2019-05-14 13:50:05 -04:00
Mani Maghsoudlou
72278dcf14 util/stat: resolve paths before parsing 2019-05-13 01:18:22 -07:00
Mani Maghsoudlou
0bc36ffd5e v8 release (#667)
* Remove secure-random from dev-deps (#610)

* fix ensureDir() doc

* moveSync: refactor to use renameSync

* copy*(): fix copying bind-mounted directories (#618)

* copy*(): fix copying bind-mounted dirs

* copy*(): fix case-insensitive-paths tests

* copy*(): refactor to check paths more efficiently

* destructure stats object after checking err

* move*(): check paths before moving

* move*(): add case-insensitive paths test

* remove unnecessary done callback from test

* copy*(): add new option checkPathsBeforeCopying

* update copy*() docs to include checkPathsBeforeCopying

* some reformatting

* copy*(): use fs.stat with bigint option

* move*(): refactor to use the internal stat functions

* move*(): add test for prevent moving identical

* disable graceful-fs in copy and move tests

* fix parsing node version

* tiny reformat

* update copy*() docs

* refactor parsing node version

* use semver to parse node version in tests
2019-05-11 10:08:57 -04:00
Mani Maghsoudlou
b02eea6a37 Use strict assert in all tests (#569) 2018-04-19 07:28:45 -04:00
Ryan Zimmerman
20c82ab4dd
Run stricter linter to cleanup problems and force ES6 usage (#566)
Also shorten fs.write() promise code
2018-04-10 08:12:12 -04:00
Mani Maghsoudlou
1abc2a3fb6 Use native fs.copyFileSync in supported envs, add utimesMillisSync function to util/utimes.js 2017-11-01 00:20:06 -07:00
RyanZim
891f483cfc Upgrade standard 2017-04-26 10:13:40 -04:00
RyanZim
a86d8b4ba1 Use Buffer.allocUnsafe() in enviroments that support it 2017-03-16 15:33:03 -04:00
JPeer264
55aadcf1f1 Refactor test util 2017-02-22 13:53:13 +01:00
JPeer264
c9c62d8435 Refactor utimes 2017-02-17 23:06:27 +01:00
JPeer264
a061b2507c Refactor assign 2017-02-17 23:00:22 +01:00
RyanZim
ab3c29cd46 Update devDeps, fix lint error 2016-10-29 15:16:47 -04:00
Hurricane Hamilton
5fc1421580 (Closes #271) lib/util/utimes: properly close file descriptors in the event of an error 2016-10-16 11:36:08 -05:00
JP Richardson
f215fc3c56 lib/walk/walker: streams implementation complete 2015-07-13 03:26:22 -05:00
JP Richardson
203bc7cb64 lib/util/__tests__/utimes: remove HAS_MILLIS_RES 2015-07-09 10:01:34 -05:00
JP Richardson
146dfecd55 lib/util/utimes: prevent calling hasMillisResSync() on module load. Closes #149 2015-07-09 09:55:38 -05:00
JP Richardson
a0d61ca456 JavaScript Standard Style 2015-07-09 05:21:13 -05:00
JP Richardson
8c79325478 lib/util/utimes: create hasMillisRes() (async) 2015-06-27 08:16:11 -05:00
JP Richardson
470b4ab7dc lib/util/utimes: try to match appveyor 2015-06-27 08:06:56 -05:00
JP Richardson
2948de279c lib/util/utimes: remove optimization 2015-06-27 07:55:03 -05:00
JP Richardson
5891735abe lib/util/utimes: throw error 2015-06-23 07:41:56 -05:00
JP Richardson
93d49560a9 lib/util/utimes: forgot to require fs 2015-06-22 15:21:06 -05:00
JP Richardson
d9cc620037 lib/util/utimes: utimesMillis() 2015-06-22 15:12:23 -05:00
JP Richardson
b4b8a9afba lib/util/utimes: added timeRemoveMillis() 2015-06-22 15:01:31 -05:00
JP Richardson
92a87fa5aa lib/util/__tests__/utimes: comment out windows result 2015-06-22 14:35:17 -05:00
JP Richardson
4019b10fd5 lib/util/utimes: added hasMillisRes() 2015-06-22 13:58:35 -05:00
JP Richardson
9741d542d9 lib/index: starting to cleanup 2015-06-11 10:53:47 -05:00