mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
c81c2fb2b8f04c2e02fa9af61b6643bcfe3a04ae
This is a re-write of the generate-dev-bundle.ps1 script, which occurred during debugging of an unrelated concern of the (new) 64-bit Windows build on our Jenkins server. Ultimately, I'm afraid this script doesn't solve the problem I originally set out to fix, which was a Windows long-file path concern. The hunch behind that thinking was that the use of npm@1 to install npm@5 could be causing problems, since npm@1 had no concept of nested node_modules directories. We had used npm@1 because Node.js for Windows hasn't always offered (via nodejs.org/dist/) versions including npm which we could use to install our own requirements. Happily, that is no longer the case! While this script now deals with long paths much more gracefully itself, I'm not sure it completely quelled the long-path issue, and there are still some directory trees which are longer than I think they should be. The warnings I was seeing may not have harmed the actual bundle and were more problematic for this build script itself when it tried to deal with the aftermath of all those files, since native Windows commands struggle to deal with long file paths (when cleaning up, etc.). In the end, this script does have performance enhancements though! For starters, it's nearly twice as fast at finishing. Most of this was gained by avoiding back-and-forth moving of large file structures, opting instead to directly install into the targets when possible. It also ensures that the npm build cache is not bundled, which started occurring since our modification of the $HOME and $USERPROFILE variables led npm@5 to think the npm cache was in the root of the bundle. Additionally, it no longer modifies the $PATH, in any way, during the build. This became particularly helpful during testing when I found that PowerShell maintained that $PATH in the environment of the host shell. I'd like to say it increases readability of the script, which had become a bit of a patchwork quilt, but that's YTBD and YMMV. This is my first "complete" PowerShell script myself so it probably still leaves some things to desired, formatting wise. Functionality- wise, I hope it's improved.
Meteor is an ultra-simple environment for building modern web applications.
With Meteor you write apps:
- in modern JavaScript
- that send data over the wire, rather than HTML
- using your choice of popular open-source libraries
Try a getting started tutorial:
Next, read the guide and the documentation.
Quick Start
On Windows, the installer can be found at https://www.meteor.com/install.
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
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 helping or contributing to Meteor? These resources will help:
We are hiring! Visit meteor.io/jobs to learn more about working full-time on the Meteor project.
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.
Languages
JavaScript
91.1%
TypeScript
3.9%
Shell
0.9%
Java
0.7%
Swift
0.7%
Other
2.5%
