Skip to content
This repository was archived by the owner on Dec 25, 2018. It is now read-only.

Commit 08b31b7

Browse files
committed
feat: Generalize asset parsing to support general ? case
1 parent 4e0d68d commit 08b31b7

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

src/search.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ function searchAssets(
55
extensions = []
66
) {
77
return Object.keys(assets).map(
8-
(name) => {
9-
let nameCleaned = name;
10-
if (/\.(css\?).*$/.test(name)) {
11-
nameCleaned = name.substr(0, name.lastIndexOf('?')); // ignore hash on file like style.css?7ec000f0d0d347
12-
}
13-
return extensions.indexOf(path.extname(nameCleaned)) >= 0 && { name, asset: assets[name] };
14-
}
8+
name => (
9+
extensions.indexOf(
10+
path.extname(
11+
name.indexOf('?') >= 0 ? name.split('?').slice(0, -1).join('') : name
12+
)
13+
) >= 0 && { name, asset: assets[name] }
14+
)
1515
).filter(a => a);
1616
}
1717

src/search.test.js

+11
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ describe('Search assets', function () {
1616

1717
assert.deepEqual(search.assets(modules, extensions), matches);
1818
});
19+
20+
it('returns matches if they have query', function () {
21+
const modules = {
22+
'foobar.txt?123': {},
23+
'barbar.css': {}
24+
};
25+
const extensions = ['.txt'];
26+
const matches = [{ name: 'foobar.txt?123', asset: {} }];
27+
28+
assert.deepEqual(search.assets(modules, extensions), matches);
29+
});
1930
});
2031

2132
describe('Search files', function () {

0 commit comments

Comments
 (0)