問題
こんな感じに設定してた。
{
"jest": {
"moduleNameMapper": {
"^components": "<rootDir>/src/scripts/components",
"^components/(.+)": "<rootDir>/src/scripts/components/$1",
}
}
}
ただこれだと、import Foo from 'components/foo'
としても、components/index
が返されてしまっていた。
解決
順番やパターンを変える。
{
"moduleNameMapper": {
"^components/(.+)": "<rootDir>/src/scripts/components/$1",
"^components": "<rootDir>/src/scripts/components",
}
}
or
{
"moduleNameMapper": {
"^components(?!/)": "<rootDir>/src/scripts/components",
"^components/(.+)": "<rootDir>/src/scripts/components/$1",
}
}
or
{
"moduleNameMapper": {
"^components(.*)": "<rootDir>/src/scripts/components$1"
}
}