From fe5702800f960d484544e976743bc59afd149dda Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 30 Nov 2017 02:10:28 +0000 Subject: [PATCH] Move the new plugin to its own file --- scripts/rollup/build.js | 39 +----------------- scripts/rollup/plugins/sizes-plugin.js | 8 ++++ scripts/rollup/plugins/use-forks-plugin.js | 47 ++++++++++++++++++++++ 3 files changed, 56 insertions(+), 38 deletions(-) create mode 100644 scripts/rollup/plugins/use-forks-plugin.js diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index a0ce39e15cf45..f57d425034e07 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -16,6 +16,7 @@ const argv = require('minimist')(process.argv.slice(2)); const Modules = require('./modules'); const Bundles = require('./bundles'); const sizes = require('./plugins/sizes-plugin'); +const useForks = require('./plugins/use-forks-plugin'); const Stats = require('./stats'); const extractErrorCodes = require('../error-codes/extract-errors'); const syncReactDom = require('./sync').syncReactDom; @@ -208,44 +209,6 @@ function isProductionBundleType(bundleType) { } } -let resolveCache = new Map(); -function useForks(forks) { - let resolvedForks = {}; - Object.keys(forks).forEach(srcModule => { - const targetModule = forks[srcModule]; - resolvedForks[require.resolve(srcModule)] = require.resolve(targetModule); - }); - return { - resolveId(importee, importer) { - if (!importer || !importee) { - return null; - } - let resolvedImportee = null; - let cacheKey = `${importer}:::${importee}`; - if (resolveCache.has(cacheKey)) { - // Avoid hitting file system if possible. - resolvedImportee = resolveCache.get(cacheKey); - } else { - try { - resolvedImportee = require.resolve(importee, { - paths: [path.dirname(importer)], - }); - } catch (err) { - // Not our fault, let Rollup fail later. - } - if (resolvedImportee) { - resolveCache.set(cacheKey, resolvedImportee); - } - } - if (resolvedImportee && resolvedForks.hasOwnProperty(resolvedImportee)) { - // We found a fork! - return resolvedForks[resolvedImportee]; - } - return null; - }, - }; -} - function getPlugins( entry, externals, diff --git a/scripts/rollup/plugins/sizes-plugin.js b/scripts/rollup/plugins/sizes-plugin.js index c891d436b27e0..514795464d52b 100644 --- a/scripts/rollup/plugins/sizes-plugin.js +++ b/scripts/rollup/plugins/sizes-plugin.js @@ -1,3 +1,11 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +'use strict'; + const gzip = require('gzip-size'); module.exports = function sizes(options) { diff --git a/scripts/rollup/plugins/use-forks-plugin.js b/scripts/rollup/plugins/use-forks-plugin.js new file mode 100644 index 0000000000000..c953b3dce63fb --- /dev/null +++ b/scripts/rollup/plugins/use-forks-plugin.js @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +'use strict'; + +let resolveCache = new Map(); +function useForks(forks) { + let resolvedForks = {}; + Object.keys(forks).forEach(srcModule => { + const targetModule = forks[srcModule]; + resolvedForks[require.resolve(srcModule)] = require.resolve(targetModule); + }); + return { + resolveId(importee, importer) { + if (!importer || !importee) { + return null; + } + let resolvedImportee = null; + let cacheKey = `${importer}:::${importee}`; + if (resolveCache.has(cacheKey)) { + // Avoid hitting file system if possible. + resolvedImportee = resolveCache.get(cacheKey); + } else { + try { + resolvedImportee = require.resolve(importee, { + paths: [path.dirname(importer)], + }); + } catch (err) { + // Not our fault, let Rollup fail later. + } + if (resolvedImportee) { + resolveCache.set(cacheKey, resolvedImportee); + } + } + if (resolvedImportee && resolvedForks.hasOwnProperty(resolvedImportee)) { + // We found a fork! + return resolvedForks[resolvedImportee]; + } + return null; + }, + }; +} + +module.exports = useForks;