mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Unfortunately, `fs-extra` is still not as perfect at handling various file system conditions as would be ideal. It seemed sensical to try and use a library like this however, it turns out that the Meteor suite of file system functions stands up best on Windows, which is where I encountered most problems. For example, `fs-extra` still tries to create symlinks as an unprivileged user – a forbidden task on Windows unless running as Administrator. In addition, I ran into a constant stream of other errors: `ENOTEMPTY`, `EBUSY`, `EEXIST` – all for various reasons. My current recommendation is that we remove `fs-extra` and replace the `Builder#complete` `renameDirAlmostAtomically` call (which does not absolutely _have_ to be done atomically) with a `try`/`catch` which resorts to a basic copy if `err.code === 'EXDEV'`. All other functionality stays the same. This reverts commits: *d49f3e2704*3257bafc84*74cb8ebdc2*5bbdcc9baa*6a0767bbac