(Thanks for this package – It's very promising.)
To replicate: Add a Bower package to smart.json (I used "twbs-bootstrap-sass": "3.1.1"). Start meteor to make sure it's working, then stop. Unplug your network cable/turn off wifi. Start your app with meteor. Fails, trace includes the following: Failed to execute "git ls-remote --tags --heads git://github.com/twbs/bootstrap-sass.git", exit code of #128 (compiling smart.json)
Failed to execute "git ls-remote --tags --heads git://github.com/twbs/bootstrap-sass.git", exit code of #128 (compiling smart.json)
Apps fails to build if the bower-specified repo is not available at app start, even if the correct version is already present. Ideally, it shouldn't look at all, but I don't know if this is a Bower limitation.
IIRC the bower API allows to check if packages are already present in the local cache. The solution is indeed to make this check before doing the networking stuff. I'll implement that today or tomorrow.
Thank you for the report :-)
Cache management: Use bower list to filter the list of packages to in…
Style: space after `function` keyword
Released as v0.1.3
Wow, thanks for the fast response! Unfortunately, the problem is still not fixed on my machine. If I turn off wifi, I still can't run meteor with a Bower package installed. I updated the Meteorite package, then deleted it from Meteorite altogether and reloaded it. Meteorite is running commit 2c974c6, so I think I'm running the right code. I also tried updating my global install of Bower, then removing it altogether - to no avail.
I made the assumption that the bower list command ("List local packages.") doesn't require a network connection, which appears to be false. I'll try to find a solution.
Make bower works offline -- for real
Use the bower `offline` option
Fix #4 (again)
This time it works, I promise!
Confirmed. Nice work!