ember-cli / ember-cli/broccoli-asset-rev
Add asset map to the bundle as a JS module, so that it can be accessed programmatically without extra network requests
- Dominant language
- JavaScript
- Stars
- 86
- Forks
- 79
- PR merge metrics
- No merged PRs in 30d
Description
Hi! Thanks for the infrastructural addon!
### Problem
I need to access files over network. With the current implementation of `broccoli-asset-map`, I have the following options:
* Disable fingerprinting on specific files. Causes files to be cached, cache does not get busted.
* Generate a random hash on build, use the same hash on all files, use the know hash to access the files. [Idea](https://github.com/NullVoxPopuli/emberclear/blob/6d83e2b/client/web/emberclear/ember-cli-build.js#L51-L67) by @NullVoxPopuli. Causes cache to be busted on all files, including unchanged ones.
* Use an extra request to load `assetMap.json` over the network and find out fingerprinted URLs to files.
As you can see, all options are suboptimal.
I ended up using the first one, adding a random query param to bust the cache. This make this option tolerable.
### Suggested solution
Making the asset map accessible as part of the JS bundle resolves the issue: we will be able to fetch fingerprinted assets without extra network requests, with cache busted when needed and only when needed.
Could be `import { assetMap } from 'broccoli-asset-rev'` or something.
Of course, this feature should be opt-in to avoid increasing bundle size for those who don't need it.
CC @simonihmig.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.