From 83dfa3ea00fc1538a9e0d770f37454ca2d558d65 Mon Sep 17 00:00:00 2001 From: Fathy Boundjadj Date: Thu, 24 May 2018 15:50:28 +0200 Subject: [PATCH] Use async modules when possibles (#1433) * Use async version of `resolve` for `localRequire` * Use async version of `glob` for `GlobAsset` --- src/assets/GlobAsset.js | 5 +++-- src/utils/localRequire.js | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/assets/GlobAsset.js b/src/assets/GlobAsset.js index d0317581fb1..bb567d00e1d 100644 --- a/src/assets/GlobAsset.js +++ b/src/assets/GlobAsset.js @@ -1,5 +1,6 @@ const Asset = require('../Asset'); -const glob = require('glob'); +const promisify = require('../utils/promisify'); +const glob = promisify(require('glob')); const micromatch = require('micromatch'); const path = require('path'); @@ -14,7 +15,7 @@ class GlobAsset extends Asset { if (process.platform === 'win32') regularExpressionSafeName = regularExpressionSafeName.replace(/\\/g, '/'); - let files = glob.sync(regularExpressionSafeName, { + let files = await glob(regularExpressionSafeName, { strict: true, nodir: true }); diff --git a/src/utils/localRequire.js b/src/utils/localRequire.js index 4d8b9a0bc9c..64f22a0c986 100644 --- a/src/utils/localRequire.js +++ b/src/utils/localRequire.js @@ -1,5 +1,6 @@ const {dirname} = require('path'); -const resolve = require('resolve'); +const promisify = require('../utils/promisify'); +const resolve = promisify(require('resolve')); const worker = require('../worker'); const cache = new Map(); @@ -10,7 +11,7 @@ async function localRequire(name, path, triedInstall = false) { let resolved = cache.get(key); if (!resolved) { try { - resolved = resolve.sync(name, {basedir}); + resolved = await resolve(name, {basedir}).then(([name]) => name); } catch (e) { if (e.code === 'MODULE_NOT_FOUND' && !triedInstall) { await worker.addCall({