pull/49/head
Timothée Rebours 12 months ago
parent a0fa8da53c
commit a83e80759d
  1. 4
      CHANGELOG.md
  2. 6
      lib/persistence.js

@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres and this project adheres
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Fixed
- Fixed EPERM Exception when datastore is at the root of a disk on Windows [#48](https://github.com/seald/nedb/issues/48)
## [4.0.2] - 2023-05-05 ## [4.0.2] - 2023-05-05
### Fixed ### Fixed
- Fixed typo in documentation [#36](https://github.com/seald/nedb/pull/36) - Fixed typo in documentation [#36](https://github.com/seald/nedb/pull/36)

@ -373,7 +373,11 @@ class Persistence {
* @private * @private
*/ */
static async ensureDirectoryExistsAsync (dir, mode = DEFAULT_DIR_MODE) { static async ensureDirectoryExistsAsync (dir, mode = DEFAULT_DIR_MODE) {
await storage.mkdirAsync(dir, { recursive: true, mode }) const parsedDir = path.parse(path.resolve(dir))
// this is because on Windows mkdir throws a permission error when called on the root directory of a volume
if (process.platform !== 'win32' || parsedDir.dir !== parsedDir.root) {
await storage.mkdirAsync(dir, { recursive: true, mode })
}
} }
} }

Loading…
Cancel
Save