babel-plugin-codegen
babel-plugin-codegen copied to clipboard
Doesn't work if config is in "babel.config.js" file
babel-plugin-codegenversion: 3.0.0nodeversion: 10.13.0npm(oryarn) version: 1.12.3
Plugin doesn't work if your Babel config is in babel.config.js, but all works fine if it is in .babelrc
babel.config.js
module.exports = function() {
return {
presets: ['babel-preset-expo'],
plugins: ['codegen'],
}
}
.babelrc
{
"presets": ["babel-preset-expo"],
"plugins": [
"codegen"
]
}
What you did:
// @codegen
module.exports = '
module.exports = []
'
What happened:
When I use babel.config.js, I get export from module as string "module.exports = []", like there is no top comment "// @codegen".
When I use .babelrc, I get empty array as export from module, as it should be.
Reproduction repository:
https://github.com/serhiipalash/test-babel-codegen
Latest Expo has babel config in babel.config.js, and I don't want to change it as it is the standard for all future releases.
Hmmm... This is very odd. I'm not sure why it would make any difference. Could you do a little digging to figure out what's wrong here? Thanks!
Same happens with me when im using plugin "transform-remove-console" I fixed it by reseting cache
This seems like a stale issue. I am not having this problem on v4 of the plugin. Though my module.exports is not a function
module.exports = {
presets: ["module:metro-react-native-babel-preset", "module:react-native-dotenv"],
plugins: ["codegen"],
};
Not sure if same kind of babel.config.js issue, but mine babel.config.js issue fixed by
https://github.com/kentcdodds/babel-plugin-codegen/pull/43
Current code using wrong signature hidden below magic linter comment. So, some context got lost but without reported. Maybe some plugins just not effected by that lost context.