Skip to content

Commit

Permalink
Merge pull request #116 from log4js-node/fix-fs-extra-error-on-init
Browse files Browse the repository at this point in the history
chore(dep): temporary fix for fs-extra issue (to be reverted when fs-extra patches it)
  • Loading branch information
lamweili committed Apr 15, 2022
2 parents 211e72a + aeda962 commit 747532e
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 2 deletions.
8 changes: 7 additions & 1 deletion lib/RollingFileWriteStream.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
const debug = require("debug")("streamroller:RollingFileWriteStream");
const fs = require("fs-extra");

const realFs = require('fs');
const current = realFs.realpath.native;
if (!realFs.realpath.native) realFs.realpath.native = realFs.realpath;
const fs = require('fs-extra');
realFs.realpath.native = current;

const path = require("path");
const newNow = require("./now");
const format = require("date-format");
Expand Down
8 changes: 7 additions & 1 deletion lib/moveAndMaybeCompressFile.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
const debug = require('debug')('streamroller:moveAndMaybeCompressFile');
const fs = require('fs-extra');

const realFs = require('fs');
const current = realFs.realpath.native;
if (!realFs.realpath.native) realFs.realpath.native = realFs.realpath;
let fs = require('fs-extra');
realFs.realpath.native = current;

const zlib = require('zlib');

const _parseOption = function(rawOptions){
Expand Down
42 changes: 42 additions & 0 deletions test/fs-extra-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
const should = require("should");
const path = require("path");

describe("simulate fs monkey-patch", function() {
const fs = require("fs");
const realpathNativeBackup = fs.realpath.native;

beforeEach(function() {
// simulate fs monkey-patch
delete fs.realpath.native;
});

afterEach(function() {
// reset require.cache
delete require.cache[require.resolve("../lib/RollingFileWriteStream")];
delete require.cache[require.resolve("../lib/moveAndMaybeCompressFile")];
const fsePath = path.dirname(require.resolve("fs-extra"));
for (const entry in require.cache) {
if (entry.startsWith(fsePath)) {
delete require.cache[entry]
}
}
// reinstate fs.realpath.native
fs.realpath.native = realpathNativeBackup;
});

it("RollingFileWriteStream should not throw error", function() {
console.log(Object.keys(require.cache).length);
should.doesNotThrow(function() {
require("../lib/RollingFileWriteStream");
});
console.log(Object.keys(require.cache).length);
});

it("moveAndMaybeCompressFile should not throw error", function() {
console.log(Object.keys(require.cache).length);
should.doesNotThrow(function() {
require("../lib/moveAndMaybeCompressFile");
});
console.log(Object.keys(require.cache).length);
});
});

0 comments on commit 747532e

Please sign in to comment.