You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
920 B
28 lines
920 B
// this file overrides the default CRA configurations (webpack, eslint, babel, etc)
|
|
// Ingnore because config scripts can't use the import variable
|
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
|
|
|
module.exports = {
|
|
webpack: {
|
|
configure: (config) => {
|
|
// Remove ModuleScopePlugin which throws when we try to import something
|
|
// outside of src/.
|
|
config.resolve.plugins.pop();
|
|
|
|
// Resolve the path aliases.
|
|
config.resolve.plugins.push(new TsconfigPathsPlugin());
|
|
|
|
// Let Babel compile outside of src/.
|
|
const oneOfRule = config.module.rules.find((rule) => rule.oneOf);
|
|
const tsRule = oneOfRule.oneOf.find((rule) =>
|
|
rule.test.toString().includes("ts|tsx"),
|
|
);
|
|
|
|
tsRule.include = undefined;
|
|
tsRule.exclude = /node_modules/;
|
|
|
|
return config;
|
|
},
|
|
},
|
|
};
|
|
|