kentcdodds/babel-plugin-codegen

Doesn't work if config is in "babel.config.js" file

Open

#18 opened on Nov 14, 2018

View on GitHub
 (4 comments) (4 reactions) (0 assignees)TypeScript (27 forks)github user discovery
help wantedneeds investigation

Repository metrics

Stars
 (347 stars)
PR merge metrics
 (PR metrics pending)

Description

  • babel-plugin-codegen version: 3.0.0
  • nodeversion: 10.13.0
  • npm (or yarn) 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.

Contributor guide