kentcdodds / kentcdodds/babel-plugin-codegen

Cannot get past "Must module.exports a string."

Aperta
#22 11 commenti 2 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
347
Fork
27
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

- `babel-plugin-codegen` version: 3.0.0
- `node` version: 10.15.0
- `npm` (or `yarn`) version: yarn 1.13.0
- `babel`: 7.4.5
- `babel-plugin-macros`: 2.5.1 (required by another dep)

Relevant code or config

```javascript
// my.js
codegen`module.exports = ''`;

// babel.config.js
module.exports = {
presets: [
[
'@babel/env',
{
targets: {
browsers: [
'last 2 versions',
'ie 11',
]
},
useBuiltIns: 'usage',
corejs: 2,
},
],
],
plugins: [
'macros',
'codegen',
'@babel/plugin-syntax-dynamic-import',
],
};
```

What you did:

Try to compile `my.js`

What happened:

```
codegen: Must module.exports a string.

at getReplacement (node_modules/babel-plugin-codegen/dist/helpers.js:43:11)
at replace (node_modules/babel-plugin-codegen/dist/helpers.js:69:21)
at asFunction (node_modules/babel-plugin-codegen/dist/replace.js:57:5)
at asIdentifier (node_modules/babel-plugin-codegen/dist/replace.js:127:22)
at PluginPass.Identifier (node_modules/babel-plugin-codegen/dist/index.js:37:11)
at newFn (node_modules/@babel/traverse/lib/visitors.js:193:21)
at NodePath._call (node_modules/@babel/traverse/lib/path/context.js:53:20)
at NodePath.call (node_modules/@babel/traverse/lib/path/context.js:40:17)
at NodePath.visit (node_modules/@babel/traverse/lib/path/context.js:88:12)
at TraversalContext.visitQueue (node_modules/@babel/traverse/lib/context.js:118:16)
```

Reproduction repository:

Problem description:

I cannot seem to get past the `Must module.exports a string`. I've tried using escaped backticks, double quotes and single quotes, joining arrays, concatenating strings some other way (e.g., with `+` operator), etc.

What am I doing wrong?

Suggested solution:

n/a

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci il fallimento con my.js e babel.config.js utilizzando le versioni indicate di Node, Babel e del plugin. Traccia lo stack da node_modules/babel-plugin-codegen/dist/helpers.js:43 passando per replace.js e index.js, quindi verifica la forma accettata di module.exports con il più piccolo esempio funzionante. Il lavoro è concluso quando l’esempio viene compilato oppure vengono identificate chiaramente la sintassi richiesta e un test di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, node.js
Ambito
build-system, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.