From 09e56c45c2a6081d4d36f4b8841542b4b6f6a9bc Mon Sep 17 00:00:00 2001 From: merceyz Date: Sat, 9 Jan 2021 16:01:26 +0100 Subject: [PATCH] refactor: remove create-require --- packages/cli/lib/lib/webpack/prerender.js | 8 ++++---- packages/cli/lib/lib/webpack/proxy-loader.js | 5 +++-- packages/cli/lib/lib/webpack/utils.js | 8 +++++--- packages/cli/lib/lib/webpack/webpack-base-config.js | 10 ++++++---- packages/cli/package.json | 1 - yarn.lock | 5 ----- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/packages/cli/lib/lib/webpack/prerender.js b/packages/cli/lib/lib/webpack/prerender.js index 603f187f9..4b4f890f6 100644 --- a/packages/cli/lib/lib/webpack/prerender.js +++ b/packages/cli/lib/lib/webpack/prerender.js @@ -4,7 +4,6 @@ const { readFileSync } = require('fs'); const stackTrace = require('stack-trace'); const URL = require('url'); const { SourceMapConsumer } = require('source-map'); -const createRequire = require('create-require'); module.exports = function (env, params) { params = params || {}; @@ -27,9 +26,10 @@ module.exports = function (env, params) { return ''; } const { cwd } = env; - const relativeRequire = createRequire(cwd); - const preact = relativeRequire('preact'); - const renderToString = relativeRequire('preact-render-to-string'); + const preact = require(require.resolve('preact', { paths: [cwd] })); + const renderToString = require(require.resolve('preact-render-to-string', { + paths: [cwd], + })); return renderToString(preact.h(app, { ...params, url })); } catch (err) { let stack = stackTrace.parse(err).filter(s => s.getFileName() === entry)[0]; diff --git a/packages/cli/lib/lib/webpack/proxy-loader.js b/packages/cli/lib/lib/webpack/proxy-loader.js index c091848ba..8fbf05aa4 100644 --- a/packages/cli/lib/lib/webpack/proxy-loader.js +++ b/packages/cli/lib/lib/webpack/proxy-loader.js @@ -1,5 +1,4 @@ var utils = require('loader-utils'); -const createRequire = require('create-require'); function proxyLoader(source, map) { var options = utils.getOptions(this); @@ -17,7 +16,9 @@ function proxyLoader(source, map) { var loader; try { - loader = createRequire(proxyOptions.cwd)(proxyOptions.loader); + loader = require.resolve(proxyOptions.loader, { + paths: [proxyOptions.cwd], + }); } catch (e) { loader = require(proxyOptions.loader); } diff --git a/packages/cli/lib/lib/webpack/utils.js b/packages/cli/lib/lib/webpack/utils.js index 0418f55a2..20dcccf4a 100644 --- a/packages/cli/lib/lib/webpack/utils.js +++ b/packages/cli/lib/lib/webpack/utils.js @@ -1,9 +1,11 @@ -const createRequire = require('create-require'); - function isInstalledVersionPreactXOrAbove(cwd) { try { return ( - parseInt(createRequire(cwd)('preact/package.json').version, 10) >= 10 + parseInt( + require(require.resolve('preact/package.json', { paths: [cwd] })) + .version, + 10 + ) >= 10 ); } catch (e) {} return false; diff --git a/packages/cli/lib/lib/webpack/webpack-base-config.js b/packages/cli/lib/lib/webpack/webpack-base-config.js index c7b18d0a0..8f4815f99 100644 --- a/packages/cli/lib/lib/webpack/webpack-base-config.js +++ b/packages/cli/lib/lib/webpack/webpack-base-config.js @@ -5,7 +5,6 @@ const { readFileSync, existsSync } = require('fs'); const { isInstalledVersionPreactXOrAbove } = require('./utils'); const autoprefixer = require('autoprefixer'); const browserslist = require('browserslist'); -const createRequire = require('create-require'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const FixStyleOnlyEntriesPlugin = require('webpack-fix-style-only-entries'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); @@ -96,12 +95,15 @@ module.exports = function (env) { let nodeModules = [...new Set([...userNodeModules, ...cliNodeModules])]; let compat = 'preact-compat'; - const requireRelative = createRequire(cwd); try { - compat = dirname(requireRelative.resolve('preact/compat/package.json')); + compat = dirname( + require.resolve('preact/compat/package.json', { paths: [cwd] }) + ); } catch (e) { try { - compat = dirname(requireRelative.resolve('preact-compat/package.json')); + compat = dirname( + require.resolve('preact-compat/package.json', { paths: [cwd] }) + ); } catch (e) {} } diff --git a/packages/cli/package.json b/packages/cli/package.json index 6166ce888..e594345a2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -103,7 +103,6 @@ "compression-webpack-plugin": "^4.0.0", "console-clear": "^1.0.0", "copy-webpack-plugin": "^5.0.4", - "create-require": "^1.0.2", "critters-webpack-plugin": "^2.5.0", "cross-spawn-promise": "^0.10.1", "css-loader": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index 87283f26c..0ce926c76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4757,11 +4757,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-require@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.0.2.tgz#03f97ad0822826e506965f385fd90388f5051624" - integrity sha512-ZizhnQtkxsH1XNsnRy8z2SHRTDAem7fmEJbw1oeuTEkgf5sLXtjrm4nhDcYkO0aiZnAk5dwAze65EvTRaOvxZw== - critters-webpack-plugin@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/critters-webpack-plugin/-/critters-webpack-plugin-2.5.0.tgz#32deb4c5b1590bc8f943638dbf379170043b7dab"