Skip to content

Commit 06e845b

Browse files
committed
refactor: use createRequire instead of require-relative and resolve-from
1 parent 9c5c9aa commit 06e845b

File tree

6 files changed

+18
-22
lines changed

6 files changed

+18
-22
lines changed

packages/cli/lib/lib/webpack/prerender.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const { readFileSync } = require('fs');
44
const stackTrace = require('stack-trace');
55
const URL = require('url');
66
const { SourceMapConsumer } = require('source-map');
7-
const requireRelative = require('require-relative');
7+
const createRequire = require('create-require');
88

99
module.exports = function (env, params) {
1010
params = params || {};
@@ -27,8 +27,9 @@ module.exports = function (env, params) {
2727
return '';
2828
}
2929
const { cwd } = env;
30-
const preact = require(requireRelative.resolve('preact', cwd));
31-
const renderToString = require(requireRelative.resolve('preact-render-to-string', cwd));
30+
const relativeRequire = createRequire(cwd);
31+
const preact = relativeRequire('preact');
32+
const renderToString = relativeRequire('preact-render-to-string');
3233
return renderToString(preact.h(app, { ...params, url }));
3334
} catch (err) {
3435
let stack = stackTrace.parse(err).filter(s => s.getFileName() === entry)[0];

packages/cli/lib/lib/webpack/proxy-loader.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var utils = require('loader-utils');
2-
var requireRelative = require('require-relative');
2+
const createRequire = require('create-require');
33

44
function proxyLoader(source, map) {
55
var options = utils.getOptions(this);
@@ -17,7 +17,7 @@ function proxyLoader(source, map) {
1717

1818
var loader;
1919
try {
20-
loader = requireRelative(proxyOptions.loader, proxyOptions.cwd);
20+
loader = createRequire(proxyOptions.cwd)(proxyOptions.loader);
2121
} catch (e) {
2222
loader = require(proxyOptions.loader);
2323
}

packages/cli/lib/lib/webpack/utils.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
const resolveFrom = require('resolve-from');
1+
const createRequire = require('create-require');
22

33
function isInstalledVersionPreactXOrAbove(cwd) {
44
try {
55
return (
6-
parseInt(require(resolveFrom(cwd, 'preact/package.json')).version, 10) >=
7-
10
6+
parseInt(createRequire(cwd)('preact/package.json').version, 10) >= 10
87
);
98
} catch (e) {}
109
return false;

packages/cli/lib/lib/webpack/webpack-base-config.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const { readFileSync, existsSync } = require('fs');
55
const { isInstalledVersionPreactXOrAbove } = require('./utils');
66
const autoprefixer = require('autoprefixer');
77
const browserslist = require('browserslist');
8-
const requireRelative = require('require-relative');
8+
const createRequire = require('create-require');
99
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
1010
const FixStyleOnlyEntriesPlugin = require('webpack-fix-style-only-entries');
1111
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
@@ -96,15 +96,12 @@ module.exports = function (env) {
9696
let nodeModules = [...new Set([...userNodeModules, ...cliNodeModules])];
9797

9898
let compat = 'preact-compat';
99+
const requireRelative = createRequire(cwd);
99100
try {
100-
compat = dirname(
101-
requireRelative.resolve('preact/compat/package.json', cwd)
102-
);
101+
compat = dirname(requireRelative.resolve('preact/compat/package.json'));
103102
} catch (e) {
104103
try {
105-
compat = dirname(
106-
requireRelative.resolve('preact-compat/package.json', cwd)
107-
);
104+
compat = dirname(requireRelative.resolve('preact-compat/package.json'));
108105
} catch (e) {}
109106
}
110107

packages/cli/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"compression-webpack-plugin": "^4.0.0",
104104
"console-clear": "^1.0.0",
105105
"copy-webpack-plugin": "^5.0.4",
106+
"create-require": "^1.0.2",
106107
"critters-webpack-plugin": "^2.5.0",
107108
"cross-spawn-promise": "^0.10.1",
108109
"css-loader": "^3.1.0",
@@ -135,8 +136,6 @@
135136
"prompts": "^2.2.1",
136137
"raw-loader": "^4.0.0",
137138
"react-refresh": "0.8.3",
138-
"require-relative": "^0.8.7",
139-
"resolve-from": "^5.0.0",
140139
"rimraf": "^3.0.2",
141140
"sade": "^1.4.1",
142141
"size-plugin": "^2.0.1",

yarn.lock

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4757,6 +4757,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
47574757
safe-buffer "^5.0.1"
47584758
sha.js "^2.4.8"
47594759

4760+
create-require@^1.0.2:
4761+
version "1.0.2"
4762+
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.0.2.tgz#03f97ad0822826e506965f385fd90388f5051624"
4763+
integrity sha512-ZizhnQtkxsH1XNsnRy8z2SHRTDAem7fmEJbw1oeuTEkgf5sLXtjrm4nhDcYkO0aiZnAk5dwAze65EvTRaOvxZw==
4764+
47604765
critters-webpack-plugin@^2.5.0:
47614766
version "2.5.0"
47624767
resolved "https://registry.yarnpkg.com/critters-webpack-plugin/-/critters-webpack-plugin-2.5.0.tgz#32deb4c5b1590bc8f943638dbf379170043b7dab"
@@ -12373,11 +12378,6 @@ require-main-filename@^2.0.0:
1237312378
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
1237412379
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
1237512380

12376-
require-relative@^0.8.7:
12377-
version "0.8.7"
12378-
resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
12379-
integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
12380-
1238112381
requires-port@^1.0.0:
1238212382
version "1.0.0"
1238312383
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"

0 commit comments

Comments
 (0)