mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-13 17:27:09 +00:00
Use classes for webpack plugins.
This commit is contained in:
@@ -1,23 +1,23 @@
|
||||
let fs = require('fs');
|
||||
const fs = require('fs');
|
||||
|
||||
module.exports = WatchTimestampsPlugin;
|
||||
module.exports = class WatchTimestampsPlugin {
|
||||
constructor(patterns) {
|
||||
this.patterns = patterns;
|
||||
}
|
||||
|
||||
function WatchTimestampsPlugin(patterns) {
|
||||
this.patterns = patterns;
|
||||
}
|
||||
apply(compiler) {
|
||||
compiler.plugin('watch-run', (watch, callback) => {
|
||||
let patterns = this.patterns;
|
||||
let timestamps = watch.fileTimestamps || watch.compiler.fileTimestamps;
|
||||
|
||||
WatchTimestampsPlugin.prototype.apply = function (compiler) {
|
||||
compiler.plugin('watch-run', (watch, callback) => {
|
||||
let patterns = this.patterns;
|
||||
let timestamps = watch.fileTimestamps || watch.compiler.fileTimestamps;
|
||||
|
||||
Object.keys(timestamps).forEach( filepath => {
|
||||
if (patterns.some( pat => pat instanceof RegExp ? pat.test(filepath) : filepath.indexOf(pat)===0 )) {
|
||||
let time = fs.statSync(filepath).mtime;
|
||||
if (timestamps instanceof Map) timestamps.set(filepath, time);
|
||||
else timestamps[filepath] = time;
|
||||
}
|
||||
Object.keys(timestamps).forEach(filepath => {
|
||||
if (patterns.some(pat => pat instanceof RegExp ? pat.test(filepath) : filepath.indexOf(pat) === 0)) {
|
||||
let time = fs.statSync(filepath).mtime;
|
||||
if (timestamps instanceof Map) timestamps.set(filepath, time);
|
||||
else timestamps[filepath] = time;
|
||||
}
|
||||
});
|
||||
callback();
|
||||
});
|
||||
callback();
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user