1.4.1 Build & Refresh Times


#1

Hi,

I’m constructing my application using Angular 2 (Angular 2 - Metor) using 1.4.1 and the build/refresh times I am experiencing are dreadful. 20 secs, 30 secs, 1 min, ++ etc. I have yet to experience a fast refresh under a five seconds. At this point, it’s not a big application which concerns me as eventually this application will be large.

I’m running on a mac and I have not touched the meteor installation other than doing a fresh reinstall by deleting the .meteor directory in my home directory and “curling” the latest version (currently on 1.4.1.1). It should be just standard install AFAIK.

I assume there is some sort of package configuration or server setting that may be slowing things down. Does anyone have any suggestions on how to make Meteor build/refresh faster?

Thank you

JT

Packages

meteor-base@1.0.4             # Packages every Meteor app needs to havea
mongo@1.1.12                   # The database Meteor supports right now
reactive-var@1.0.10            # Reactive variable for tracker
jquery@1.11.9                  # Helpful client-side library
tracker@1.1.0                 # Meteor's client-side reactive programming library

standard-minifier-css@1.2.0   # CSS minifier run for production mode
standard-minifier-js@1.2.0    # JS minifier run for production mode
es5-shim@4.6.14                # ECMAScript 5 compatibility for older browsers.
ecmascript@0.5.8              # Enable ECMAScript2015+ syntax in app code

angular2-compilers
barbatus:angular2-runtime
shell-server
barbatus:angular2-polyfills
barbatus:typescript

#2

Wait for 1.4.2 which is focused on solving this problem.


#3

For reference, this is being tracked here:


#4

Check out this article. The “Bandaids” section has some tips on how to speed up reloads.


#5

Lots of good bandaids. Missing a couple that helped me though.
MeteorChef Base came with eslint as a dependency. Which I don’t mind. I do mind it being locally installed in the project though.
Any global dev tools like eslint (which is huge) can be installed globally and not be a project dependency in order to increase build times.
Also running “npm dedupe” helps a bit.
Basically. Keep node_modules folder size to a minimum.
I do seem to recall reading about a newer meteor version caching npm_modules a lot better. So not sure if my advice is still as valid.

Also:
Developing with something like wallaby.js(expensive but worth it) increases productivity as unit tests are run within 1 sec after you finish typing(!!!). This kind of TDD also improves the quality of your code many-fold.
With a few minor fixes to https://github.com/sawasawasawa/xolvioTraining I got wallaby.js up and running. Even on Windows.