From bd853cc709422542f32ba1d9b04476a1d38b588f Mon Sep 17 00:00:00 2001 From: Kenza Houmani Date: Tue, 12 Nov 2019 16:03:15 +0000 Subject: [PATCH] lib: replace var with let/const PR-URL: https://github.com/nodejs/node/pull/30440 Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Gireesh Punathil Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat --- lib/internal/modules/cjs/loader.js | 68 ++++++++++++------------------ 1 file changed, 27 insertions(+), 41 deletions(-) diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index 64505220ab9e18..c37105fa1ed04b 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -153,7 +153,7 @@ Module.builtinModules = builtinModules; Module._cache = Object.create(null); Module._pathCache = Object.create(null); Module._extensions = Object.create(null); -var modulePaths = []; +let modulePaths = []; Module.globalPaths = []; let patched = false; @@ -341,7 +341,7 @@ function toRealPath(requestPath) { // Given a path, check if the file exists with any of the set extensions function tryExtensions(p, exts, isMain) { - for (var i = 0; i < exts.length; i++) { + for (let i = 0; i < exts.length; i++) { const filename = tryFile(p + exts[i], isMain); if (filename) { @@ -474,22 +474,22 @@ Module._findPath = function(request, paths, isMain) { if (entry) return entry; - var exts; - var trailingSlash = request.length > 0 && + let exts; + let trailingSlash = request.length > 0 && request.charCodeAt(request.length - 1) === CHAR_FORWARD_SLASH; if (!trailingSlash) { trailingSlash = /(?:^|\/)\.?\.$/.test(request); } // For each path - for (var i = 0; i < paths.length; i++) { + for (let i = 0; i < paths.length; i++) { // Don't search further if path doesn't exist const curPath = paths[i]; if (curPath && stat(curPath) < 1) continue; - var basePath = resolveExports(curPath, request, absoluteRequest); - var filename; + const basePath = resolveExports(curPath, request, absoluteRequest); + let filename; - var rc = stat(basePath); + const rc = stat(basePath); if (!trailingSlash) { if (rc === 0) { // File. if (!isMain) { @@ -556,9 +556,7 @@ if (isWindows) { return [from + 'node_modules']; const paths = []; - var p = 0; - var last = from.length; - for (var i = from.length - 1; i >= 0; --i) { + for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) { const code = from.charCodeAt(i); // The path segment separator check ('\' and '/') was used to get // node_modules path for every path segment. @@ -597,9 +595,7 @@ if (isWindows) { // to be absolute. Doing a fully-edge-case-correct path.split // that works on both Windows and Posix is non-trivial. const paths = []; - var p = 0; - var last = from.length; - for (var i = from.length - 1; i >= 0; --i) { + for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) { const code = from.charCodeAt(i); if (code === CHAR_FORWARD_SLASH) { if (p !== nmLen) @@ -744,7 +740,7 @@ Module._resolveFilename = function(request, parent, isMain, options) { return request; } - var paths; + let paths; if (typeof options === 'object' && options !== null) { if (Array.isArray(options.paths)) { @@ -760,12 +756,12 @@ Module._resolveFilename = function(request, parent, isMain, options) { paths = []; - for (var i = 0; i < options.paths.length; i++) { + for (let i = 0; i < options.paths.length; i++) { const path = options.paths[i]; fakeParent.paths = Module._nodeModulePaths(path); const lookupPaths = Module._resolveLookupPaths(request, fakeParent); - for (var j = 0; j < lookupPaths.length; j++) { + for (let j = 0; j < lookupPaths.length; j++) { if (!paths.includes(lookupPaths[j])) paths.push(lookupPaths[j]); } @@ -784,7 +780,7 @@ Module._resolveFilename = function(request, parent, isMain, options) { const filename = Module._findPath(request, paths, isMain); if (!filename) { const requireStack = []; - for (var cursor = parent; + for (let cursor = parent; cursor; cursor = cursor.parent) { requireStack.push(cursor.filename || cursor.id); @@ -794,7 +790,7 @@ Module._resolveFilename = function(request, parent, isMain, options) { message = message + '\nRequire stack:\n- ' + requireStack.join('\n- '); } // eslint-disable-next-line no-restricted-syntax - var err = new Error(message); + const err = new Error(message); err.code = 'MODULE_NOT_FOUND'; err.requireStack = requireStack; throw err; @@ -858,7 +854,7 @@ Module.prototype.require = function(id) { // Resolved path to process.argv[1] will be lazily placed here // (needed for setting breakpoint when called with --inspect-brk) -var resolvedArgv; +let resolvedArgv; let hasPausedEntry = false; // Run the file contents in the correct scope or sandbox. Expose @@ -928,7 +924,7 @@ Module.prototype._compile = function(content, filename) { compiledWrapper = compiled.function; } - var inspectorWrapper = null; + let inspectorWrapper = null; if (getOptionValue('--inspect-brk') && process._eval == null) { if (!resolvedArgv) { // We enter the repl if we're not given a filename argument. @@ -947,7 +943,7 @@ Module.prototype._compile = function(content, filename) { } const dirname = path.dirname(filename); const require = makeRequireFunction(this, redirects); - var result; + let result; const exports = this.exports; const thisValue = exports; const module = this; @@ -1090,26 +1086,16 @@ function createRequire(filename) { Module.createRequire = createRequire; Module._initPaths = function() { - var homeDir; - var nodePath; - if (isWindows) { - homeDir = process.env.USERPROFILE; - nodePath = process.env.NODE_PATH; - } else { - homeDir = safeGetenv('HOME'); - nodePath = safeGetenv('NODE_PATH'); - } + const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME'); + const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH'); - // $PREFIX/lib/node, where $PREFIX is the root of the Node.js installation. - var prefixDir; // process.execPath is $PREFIX/bin/node except on Windows where it is - // $PREFIX\node.exe. - if (isWindows) { - prefixDir = path.resolve(process.execPath, '..'); - } else { - prefixDir = path.resolve(process.execPath, '..', '..'); - } - var paths = [path.resolve(prefixDir, 'lib', 'node')]; + // $PREFIX\node.exe where $PREFIX is the root of the Node.js installation. + const prefixDir = isWindows ? + path.resolve(process.execPath, '..') : + path.resolve(process.execPath, '..', '..'); + + let paths = [path.resolve(prefixDir, 'lib', 'node')]; if (homeDir) { paths.unshift(path.resolve(homeDir, '.node_libraries')); @@ -1143,7 +1129,7 @@ Module._preloadModules = function(requests) { throw e; } } - for (var n = 0; n < requests.length; n++) + for (let n = 0; n < requests.length; n++) parent.require(requests[n]); };