From 710e2fa7eba470b9648d4bbce91258194c583f7a Mon Sep 17 00:00:00 2001 From: Joan Karadimov Date: Thu, 3 Jan 2019 15:28:41 +0200 Subject: [PATCH 1/2] Generate an asset map and a rails manifest only once --- lib/asset-rev.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/asset-rev.js b/lib/asset-rev.js index 24135e2..0b92095 100644 --- a/lib/asset-rev.js +++ b/lib/asset-rev.js @@ -18,8 +18,6 @@ function AssetRev(inputTree, options) { this.replaceExtensions = options.replaceExtensions || defaults.replaceExtensions; this.exclude = exclude; this.fingerprintAssetMap = options.fingerprintAssetMap || defaults.fingerprintAssetMap; - this.generateAssetMap = options.generateAssetMap; - this.generateRailsManifest = options.generateRailsManifest; this.assetMapPath = options.assetMapPath || defaults.assetMapPath; this.railsManifestPath = options.railsManifestPath || defaults.railsManifestPath; this.prepend = options.prepend || defaults.prepend; @@ -29,12 +27,16 @@ function AssetRev(inputTree, options) { // first pass - excludes replaceable source code this.exclude = exclude.slice(); this.replaceExtensions.forEach(function(ext) { this.exclude.push('**/*.' + ext); }, this); + this.generateAssetMap = false; + this.generateRailsManifest = false; var fingerprintTree = Fingerprint(inputTree, this); var assetRewrite = UseRev(fingerprintTree, this); // second pass - fingerprints replaceable source code this.exclude = exclude; this.onlyHash = this.replaceExtensions; + this.generateAssetMap = options.generateAssetMap; + this.generateRailsManifest = options.generateRailsManifest; var fingerprintTree2 = Fingerprint(assetRewrite, this); var assetRewrite2 = UseRev(fingerprintTree2, this); From 24c7816e2c95494d3e23ca9d757255b637aa0bd1 Mon Sep 17 00:00:00 2001 From: Joan Karadimov Date: Thu, 3 Jan 2019 15:54:53 +0200 Subject: [PATCH 2/2] Do not expect the asset map to include itself --- tests/filter-tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/filter-tests.js b/tests/filter-tests.js index 4fa5571..bf803b0 100644 --- a/tests/filter-tests.js +++ b/tests/filter-tests.js @@ -213,7 +213,7 @@ describe('broccoli-asset-rev', function() { ); var mappedFiles = actualFiles.filter(function(name) { - if (-1 !== name.lastIndexOf('assetMap.json')) return true; + if (-1 !== name.lastIndexOf('assetMap.json')) return false; for (var i = 0; i < extensions.length; ++i) { if (-1 !== name.lastIndexOf(extensions[i])) { return fs.statSync(path.join(graph.directory, name)).isFile();