ember-cli / ember-cli/broccoli-asset-rev

Support adding to the default fingerprinted extensions

Open
#117 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
86
Forks
79
PR merge metrics
No merged PRs in 30d

Description

* ember-cli 2.13.0
* broccoli-asset-rev 2.5.0

It looks like setting `extensions: ["foo"]` will override and replace and the default extensions configuration. There doesn't seem to be a configurable way of extending that list of default extensions.

----

When using `fingerprintOptions` via ember-cli, I noticed that `"svg"` isn't part of [the default extension options](https://github.com/rickharrison/broccoli-asset-rev/blob/5b3c480ad241b2503acfd30bb1c3c45e19a27dab/lib/default-options.js#L5), which was causing some discrepancies with `url('/assets/images/.../foo.svg')` vs `url('/images/.../foo.svg')` in CSS.

To fix that, I tried setting this configuration:

```js
var app = new EmberApp(defaults, {
fingerprint: {
enabled: true,
exclude: ['fonts'],
extensions: ["svg"]
},

/* ... */
});
```

However, looking at the code, [that seems to override and remove the default options](https://github.com/rickharrison/broccoli-asset-rev/blob/5b3c480ad241b2503acfd30bb1c3c45e19a27dab/lib/asset-rev.js#L15), since `options.extensions` takes precedence over `defaults.extensions`.

Also, setting `extensions: ["svg"]` caused my app to not build correctly, for reasons I can't quite explain.

It would be great to be able to _add_ to the default extensions list.

I worked around that manually like so:

```js
var defaultFingerprintExtensions = require('broccoli-asset-rev/lib/default-options').extensions;

/* ... */

var app = new EmberApp(defaults, {
fingerprint: {
enabled: true,
exclude: ['fonts'],
extensions: defaultFingerprintExtensions.concat(["svg"])
},

/* ... */
});
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.