From 2ff541e4968dff2b8fc92acc397c5bdfe16508d8 Mon Sep 17 00:00:00 2001 From: merceyz Date: Sun, 15 Nov 2020 23:50:14 +0100 Subject: [PATCH] refactor: use require.resolve instead of require-relative and resolve-from --- packages/cli/lib/lib/webpack/prerender.js | 7 ++++--- packages/cli/lib/lib/webpack/proxy-loader.js | 5 +++-- packages/cli/lib/lib/webpack/utils.js | 9 +++++---- packages/cli/lib/lib/webpack/webpack-base-config.js | 5 ++--- packages/cli/package.json | 2 -- yarn.lock | 5 ----- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/packages/cli/lib/lib/webpack/prerender.js b/packages/cli/lib/lib/webpack/prerender.js index 46305510f..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 requireRelative = require('require-relative'); module.exports = function (env, params) { params = params || {}; @@ -27,8 +26,10 @@ module.exports = function (env, params) { return ''; } const { cwd } = env; - const preact = require(requireRelative.resolve('preact', cwd)); - const renderToString = require(requireRelative.resolve('preact-render-to-string', cwd)); + 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 37cafea86..27c7b56fb 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'); -var requireRelative = require('require-relative'); function proxyLoader(source, map) { var options = utils.getOptions(this); @@ -17,7 +16,9 @@ function proxyLoader(source, map) { var loader; try { - loader = requireRelative(proxyOptions.loader, proxyOptions.cwd); + loader = require(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 ab3337d5b..20dcccf4a 100644 --- a/packages/cli/lib/lib/webpack/utils.js +++ b/packages/cli/lib/lib/webpack/utils.js @@ -1,10 +1,11 @@ -const resolveFrom = require('resolve-from'); - function isInstalledVersionPreactXOrAbove(cwd) { try { return ( - parseInt(require(resolveFrom(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 37eb2aa70..572be7835 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 requireRelative = require('require-relative'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const FixStyleOnlyEntriesPlugin = require('webpack-fix-style-only-entries'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); @@ -97,12 +96,12 @@ module.exports = function (env) { let compat = 'preact-compat'; try { compat = dirname( - requireRelative.resolve('preact/compat/package.json', cwd) + require.resolve('preact/compat/package.json', { paths: [cwd] }) ); } catch (e) { try { compat = dirname( - requireRelative.resolve('preact-compat/package.json', cwd) + require.resolve('preact-compat/package.json', { paths: [cwd] }) ); } catch (e) {} } diff --git a/packages/cli/package.json b/packages/cli/package.json index 208a88451..8e888b721 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -134,8 +134,6 @@ "prompts": "^2.2.1", "raw-loader": "^4.0.0", "react-refresh": "0.8.3", - "require-relative": "^0.8.7", - "resolve-from": "^5.0.0", "rimraf": "^3.0.2", "sade": "^1.4.1", "size-plugin": "^2.0.1", diff --git a/yarn.lock b/yarn.lock index 662a89d82..1e7081b38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12366,11 +12366,6 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -require-relative@^0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" - integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"