Files
rowy/craco.config.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

const { whenDev } = require("@craco/craco");
2021-09-02 12:16:40 +10:00
const CracoAlias = require("craco-alias");
2021-09-01 15:54:20 +10:00
const CracoSwcPlugin = require("craco-swc");
module.exports = {
2021-09-01 15:59:30 +10:00
plugins: [
2021-09-02 12:16:40 +10:00
{
plugin: CracoAlias,
options: {
source: "tsconfig",
baseUrl: "./src",
tsConfigPath: "./tsconfig.extend.json",
},
},
// Use Babel on dev since Jotai doesnt have swc plugins yet
// See https://github.com/pmndrs/jotai/discussions/1057
// Use swc on production and test since Babel seems to break Jest
...whenDev(
() => [],
[
{
plugin: CracoSwcPlugin,
options: {
swcLoaderOptions: {
jsc: {
target: "es2021",
transform: {
react: {
runtime: "automatic",
},
},
2021-09-01 15:59:30 +10:00
},
},
},
},
]
),
2021-09-01 15:59:30 +10:00
],
babel: {
plugins: [
"jotai/babel/plugin-debug-label",
"./node_modules/jotai/babel/plugin-react-refresh",
],
},
jest: {
configure: (jestConfig) => {
jestConfig.setupFilesAfterEnv = ["./src/test/setupTests.ts"];
jestConfig.forceExit = true; // jest hangs if we don't have this
jestConfig.moduleNameMapper["^lodash-es$"] = "lodash";
return jestConfig;
},
},
2021-09-01 15:54:20 +10:00
};