mirror of
https://github.com/less/less.js.git
synced 2026-05-01 03:00:22 -04:00
Invalidate less-node file cache if modified (#3219)
This commit is contained in:
@@ -108,10 +108,23 @@ FileManager.prototype.loadFile = function(filename, currentDirectory, options, e
|
||||
}
|
||||
}
|
||||
|
||||
var modified = false;
|
||||
|
||||
if (self.contents[fullFilename]) {
|
||||
fulfill({ contents: self.contents[fullFilename], filename: fullFilename});
|
||||
try {
|
||||
var stat = fs.statSync.apply(this, [fullFilename]);
|
||||
if (stat.mtime.getTime() === self.contents[fullFilename].mtime.getTime()) {
|
||||
fulfill({ contents: self.contents[fullFilename].data, filename: fullFilename});
|
||||
}
|
||||
else {
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (modified || !self.contents[fullFilename]) {
|
||||
var readFileArgs = [fullFilename];
|
||||
if (!options.rawBuffer) {
|
||||
readFileArgs.push('utf-8');
|
||||
@@ -119,7 +132,8 @@ FileManager.prototype.loadFile = function(filename, currentDirectory, options, e
|
||||
if (options.syncImport) {
|
||||
try {
|
||||
var data = fs.readFileSync.apply(this, readFileArgs);
|
||||
self.contents[fullFilename] = data;
|
||||
var stat = fs.statSync.apply(this, [fullFilename]);
|
||||
self.contents[fullFilename] = { data: data, mtime: stat.mtime };
|
||||
fulfill({ contents: data, filename: fullFilename});
|
||||
}
|
||||
catch (e) {
|
||||
@@ -133,7 +147,8 @@ FileManager.prototype.loadFile = function(filename, currentDirectory, options, e
|
||||
filenamesTried.push(isNodeModule ? npmPrefix + fullFilename : fullFilename);
|
||||
return tryPrefix(j + 1);
|
||||
}
|
||||
self.contents[fullFilename] = data;
|
||||
var stat = fs.statSync.apply(this, [fullFilename]);
|
||||
self.contents[fullFilename] = { data: data, mtime: stat.mtime };
|
||||
fulfill({ contents: data, filename: fullFilename});
|
||||
});
|
||||
fs.readFile.apply(this, readFileArgs);
|
||||
|
||||
Reference in New Issue
Block a user