Cachebusting is possible with systemjs. Looks like this project is a good start:
https://github.com/stealjs/cache-bust
Here's a quick-n-dirty fix for this same problem when working with Aurelia:
https://github.com/aurelia/framework/issues/94#issuecomment-...
Here's where SystemJS devs are discussing adding cachebusting:
what is your opinion of webpack in general though ?
Also, please look at the other responses, bundling deps seems to be the definitive answer to how to speed up JSPM. Though of course your cache busting issue is separate.
Is this not baked into every build tool out there ? How does one take care of caching while serving assets .. or is the general philosophy of JS right now around SPA (so dont care to cache) ?
JSPM just doesn't take a built-in stance on it (as of now, as I noted there is a ticket to get it included), but it certainly is configurable enough to allow you to add cache busting (by changing the loader). Not trying to apologize for JSPM -- it would certainly be better if they had some sort of cache busting option that was easily available and obvious.
I think the thought here is that when you're ready to push to production, and you build your actual bundle, you name that file whatever you need to to bust caches.
I ended up compiling the 3rd party dependencies into a single bundle, then letting JSPM run only on my app's code.
Back when webpack first came out, I struggled a little bit with figuring out what it actually did. While I understand now, I am not why I would want to (or you) switch from JSPM to webpack. I don't see any features that webpack has that JSPM doesn't (and JSPM offered ES6 support well before of course, with babel on by default).
I like to use JSPM because of how relatively easy everything fits together -- and how straightforward it is to use and configure.
For those not familiar, JSPM is a package manager, module bundler, and module loader all in one for javascript applications.
This means you can:
And JSPM will look in NPM/Github (and it's possible to add registries, like bower) for stuff . That's the package management facet. Bundle your code all together, and drop it in a file Load your modules on the fly like you would with something like RequireJS.As you may have guessed, JSPM relies on SystemJS (https://github.com/systemjs/systemjs) internally for some of the features above.
This video really opened my eyes to what it could do: https://www.youtube.com/watch?v=iukBMY4apvI