compiled
compiled copied to clipboard
Babel plugin can't be used in a TS monorepo before building the code
Describe the bug Our monorepo contains TS files. Babel plugin expects the required/imported files to exist when it is being used. However, we don't run the "build" command, therefore we don't have transpiled JS files.
The actual error message in our case looks like this:
/Users/<username>/atlassian/afm/<path>/notification-component.tsx: Cannot find module '@atlaskit/tokens' from '/Users/<username>/atlassian/afm/<project>/node_modules/@compiled/babel-plugin/dist/utils'
To Reproduce Steps to reproduce the behavior:
- TS Monorepo without built JS files
- Unit tests using "babel-jest"
@compiled/babel-pluginin babel.config.json
Expected behavior No error
Looks like there's a solution: using a "resolver" option for the plugin which hasn't been documented yet. I will try to build a sample resolver and see if it works for us.
"plugins": [
["@compiled/babel-plugin", {
"parserBabelPlugins": ["typescript", "jsx"],
"extensions": [".js", ".jsx", ".ts", ".tsx"],
"resolver": "./compiled-resolver.js"
}]
]