kentcdodds / kentcdodds/babel-plugin-codegen
BABEL error when configuring with babel.config.js and with typescript preset
- Dominant language
- TypeScript
- Stars
- 347
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
- `babel-plugin-codegen` version: 4.1.4
- `node` version: v12.15.0
- `npm` version: 6.14.11
With these files:
**index.js**
```js
// @codegen
module.exports = `console.log("hello world!")`;
```
**babel.config.js**
```js
module.exports = {
presets: ['@babel/preset-typescript'],
plugins: ['codegen'],
};
```
I ran this command:
```
babel --plugins codegen index.js
```
and got this result:
```
Error: [BABEL] unknown: Configuration contains string/RegExp pattern, but no filename was passed to Babel
at matchPattern (/home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:431:11)
at /home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:418:35
at Array.some ()
at matchesPatterns (/home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:418:19)
at configFieldIsApplicable (/home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:400:10)
at configIsApplicable (/home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:395:41)
at /home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:256:13
at Array.forEach ()
at /home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:253:42
at buildPresetChain (/home/jallan/dev/codegen/node_modules/@babel/core/lib/config/config-chain.js:45:17)
```
Reproduction repository:
https://github.com/jackgeek/codegen-babel-plugin-problem
Problem description:
When using a `babel.config.js` file the above error occurs, however works fine if you change it to a `.babelrc` file. Also when you remove the typescript preset it works fine.
Contributor guide
Research direction
Start with the reported index.js and babel.config.js files, then use the linked reproduction repository to compare the failing babel command with the working .babelrc and no-TypeScript-preset cases. Done means the command works with babel.config.js and @babel/preset-typescript without the reported filename error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- babel, typescript
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100