kentcdodds / kentcdodds/babel-plugin-codegen

BABEL error when configuring with babel.config.js and with typescript preset

Open
#40 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.