-
-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathfs-util.cjs
More file actions
23 lines (17 loc) · 808 Bytes
/
fs-util.cjs
File metadata and controls
23 lines (17 loc) · 808 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const fs = require('fs');
const hashedFilePattern = (prefix, suffix) =>
new RegExp(`${prefix}([^.]+)\.${suffix}`);
const vendorJsPattern = hashedFilePattern('vendor.', 'js');
const bundleJsPattern = hashedFilePattern('bundle.', 'js');
const filteredFiles = (folder, pattern) =>
fs.readdirSync(folder).filter((f) => pattern.test(f));
module.exports.getVendorJs = (folder) =>
filteredFiles(folder, vendorJsPattern)[0];
module.exports.getBundleJs = (folder) =>
filteredFiles(folder, bundleJsPattern)[0];
module.exports.getHashedFile = (folder, prefix, suffix) =>
filteredFiles(folder, hashedFilePattern(prefix, suffix))[0];
module.exports.getVueSequenceBundleJsHash = (folder) =>
filteredFiles(folder, vueSequenceBundleJsPattern).map(
(f) => vueSequenceBundleJsPattern.exec(f)[1],
)[0];