Skip to content

Commit

Permalink
chore(webpack): remove additionalModulePaths since baseUrl isn't set …
Browse files Browse the repository at this point in the history
…in our tsconfig
  • Loading branch information
LeoMcA committed May 9, 2024
1 parent eddba0b commit b143bee
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 50 deletions.
47 changes: 0 additions & 47 deletions client/config/modules.js
Original file line number Diff line number Diff line change
@@ -1,51 +1,7 @@
import path from "node:path";
import resolve from "resolve";
import chalk from "react-dev-utils/chalk.js";
import paths from "./paths.js";

/**
* Get additional module paths based on the baseUrl of a compilerOptions object.
*
* @param {Object} options
*/
function getAdditionalModulePaths(options = {}) {
const baseUrl = options.baseUrl;

if (!baseUrl) {
return "";
}

const baseUrlResolved = path.resolve(paths.appPath, baseUrl);

// We don't need to do anything if `baseUrl` is set to `node_modules`. This is
// the default behavior.
if (path.relative(paths.appNodeModules, baseUrlResolved) === "") {
return null;
}

// Allow the user set the `baseUrl` to `appSrc`.
if (path.relative(paths.appSrc, baseUrlResolved) === "") {
return [paths.appSrc];
}

// If the path is equal to the root directory we ignore it here.
// We don't want to allow importing from the root directly as source files are
// not transpiled outside of `src`. We do allow importing them with the
// absolute path (e.g. `src/Components/Button.js`) but we set that up with
// an alias.
if (path.relative(paths.appPath, baseUrlResolved) === "") {
return null;
}

// Otherwise, throw an error.
throw new Error(
chalk.red.bold(
"Your project's `baseUrl` can only be set to `src` or `node_modules`." +
" Create React App does not support other values at this time."
)
);
}

/**
* Get webpack aliases based on the baseUrl of a compilerOptions object.
*
Expand Down Expand Up @@ -77,10 +33,7 @@ async function getModules() {
const config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config;
const options = config.compilerOptions || {};

const additionalModulePaths = getAdditionalModulePaths(options);

return {
additionalModulePaths: additionalModulePaths,
webpackAliases: getWebpackAliases(options),
};
}
Expand Down
4 changes: 1 addition & 3 deletions client/config/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,7 @@ function config(webpackEnv) {
// We placed these paths second because we want `node_modules` to "win"
// if there are any conflicts. This matches Node resolution mechanism.
// https://github.com/facebook/create-react-app/issues/253
modules: ["node_modules", paths.appNodeModules].concat(
modules.additionalModulePaths || []
),
modules: ["node_modules", paths.appNodeModules],
// These are the reasonable defaults supported by the Node ecosystem.
// We also include JSX as a common component filename extension to support
// some tools, although we do not recommend using it, see:
Expand Down

0 comments on commit b143bee

Please sign in to comment.