-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathfs-util.js
18 lines (11 loc) · 973 Bytes
/
fs-util.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const fs = require('fs');
const hashedFilePattern = (prefix, suffix) => new RegExp(`${prefix}([^.]+)\.${suffix}`);
const vueSequenceBundleJsPattern = hashedFilePattern('vue-sequence-bundle.', 'js');
const vendorJsPattern = hashedFilePattern('vendor.', 'js');
const bundleJsPattern = hashedFilePattern('bundle.', 'js');
const filteredFiles = (folder, pattern) => fs.readdirSync(folder).filter(f => pattern.test(f))
module.exports.getVueSequenceBundleJs = (folder) => filteredFiles(folder, vueSequenceBundleJsPattern)[0];
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];