Permalink
Browse files

fs: export `realpathCacheKey` from `internal/fs`

Move the internally defined symbol `fs.realpathCacheKey` to
the internal fs module, where it’s more appropriate.

The symbol was recently added in c084287, but since
`internal/fs` is only available in the v7.x branch, this
needs to be a separate follow-up change.

PR-URL: #8862
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
addaleax committed Sep 30, 2016
1 parent 2e28875 commit 5dea1e2a5d054ab2ca97bedb88d06b664f67bd09
Showing with 5 additions and 9 deletions.
  1. +1 −5 lib/fs.js
  2. +2 −0 lib/internal/fs.js
  3. +2 −4 lib/module.js
View
@@ -1463,10 +1463,6 @@ function encodeRealpathResult(result, options, err) {
}
}
// This is removed from the fs exports in lib/module.js in order to make
// sure that this stays internal.
const realpathCacheKey = fs.realpathCacheKey = Symbol('realpathCacheKey');
fs.realpathSync = function realpathSync(p, options) {
options = getOptions(options, {});
nullCheck(p);
@@ -1476,7 +1472,7 @@ fs.realpathSync = function realpathSync(p, options) {
const seenLinks = {};
const knownHard = {};
const cache = options[realpathCacheKey];
const cache = options[internalFS.realpathCacheKey];
const original = p;
const maybeCachedResult = cache && cache.get(p);
View
@@ -96,3 +96,5 @@ SyncWriteStream.prototype.destroy = function() {
};
exports.SyncWriteStream = SyncWriteStream;
exports.realpathCacheKey = Symbol('realpathCacheKey');
View
@@ -6,6 +6,7 @@ const internalModule = require('internal/module');
const vm = require('vm');
const assert = require('assert').ok;
const fs = require('fs');
const internalFS = require('internal/fs');
const path = require('path');
const internalModuleReadFile = process.binding('fs').internalModuleReadFile;
const internalModuleStat = process.binding('fs').internalModuleStat;
@@ -113,9 +114,6 @@ function tryPackage(requestPath, exts, isMain) {
// Set to an empty Map to reset.
const realpathCache = new Map();
const realpathCacheKey = fs.realpathCacheKey;
delete fs.realpathCacheKey;
// check if the file exists and is not a directory
// if using --preserve-symlinks and isMain is false,
// keep symlinks intact, otherwise resolve to the
@@ -130,7 +128,7 @@ function tryFile(requestPath, isMain) {
function toRealPath(requestPath) {
return fs.realpathSync(requestPath, {
[realpathCacheKey]: realpathCache
[internalFS.realpathCacheKey]: realpathCache
});
}

0 comments on commit 5dea1e2

Please sign in to comment.