fs-extras move calls for Windows platform. (#8560)
* Improve `fs-extra.move` calls for Windows platform. This is a follow-up to meteor/meteor#8491 which worked properly on Unix platforms, but failed in a variety of ways on Windows due to its lack of Fiber-awareness and desire to create symlinks as unprivileged users (something not always possible on Windows). The Fiber issue was observed when trying to remove "src" directories within the `move` function (which tries a variety of OS/OS/arch-specific techniques to accomplish its goal) after they had been copied to "dest". On Windows, this resulted in `EDIRNOTEMPTY` errors since Windows appears to temporarily cache the file-handle or doesn't release the file-handle until the next tick. The symlink issue will hopefully improve in an upcoming release of Windows (Creator Edition) when Microsoft makes it possible to create symlinks as an unprivileged user, however it will still require enabling "Developer" mode in Windows settings. This implements the same catch which was already in place for `fs.rename` on the `fs.move` provided by `fs-extra`. Performance gains were the same in tests comparing before and after these changes. Relates to: https://github.com/meteor/meteor/issues/8558#issuecomment-291194385 * A few code-cleanups to my original commit.
Meteor
Meteor is an ultra-simple environment for building modern web applications.
With Meteor you write apps:
- in pure JavaScript
- that send data over the wire, rather than HTML
- using your choice of popular open-source libraries
Try the getting started tutorial.
Next, read the guide or the reference documentation at http://docs.meteor.com/.
Quick Start
On Windows, simply go to https://www.meteor.com/install and use the Windows installer.
On Linux/macOS, use this line:
curl https://install.meteor.com/ | sh
Create a project:
meteor create try-meteor
Run it:
cd try-meteor
meteor
Slow Start (for developers)
If you're interested in developing Meteor itself, or running unreleased, bleeding-edge code, please refer to the details found in Development.md.
To find more information about contributing to Meteor (whether fixing bugs or adding features), please see Contributing.md.
Uninstalling Meteor
Aside from a short launcher shell script, Meteor installs itself inside your home directory. To uninstall Meteor, run:
rm -rf ~/.meteor/
sudo rm /usr/local/bin/meteor
On Windows, just run the uninstaller from your Control Panel.
Developer Resources
Building an application with Meteor?
- Announcement list: sign up at http://www.meteor.com/
- Having problems? Ask for help at: http://stackoverflow.com/questions/tagged/meteor
- Discussion forums: https://forums.meteor.com/
Interested in contributing to Meteor?
- Issue tracker: https://github.com/meteor/meteor/issues
- Contribution guidelines: https://github.com/meteor/meteor/tree/devel/Contributing.md
We are hiring! Visit https://www.meteor.com/jobs to learn more about working full-time on the Meteor project.