Export maps and node support
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript, node.js
- Domaine
- build-system
Piste de recherche
Commencez par les champs exports et main de package.json ainsi que par les fichiers générés dist/index.modern.js et dist/index.js ; reproduisez require('color2k') sous Node.js v14.15.3. Comparez la résolution des exports du package avec la documentation de Node sur les exports conditionnels. C’est terminé lorsque la configuration ou la sortie du package publié se charge via require() tout en conservant les points d’entrée du navigateur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hello there 👋,
I recently switched to microbundle for a bunch of my libs and I love it so far, however, I ran into an issue where the modern bundle (via exports) doesn't seem to run inside node.js.
My (simplified) package.json looks like this:
{
"name": "color2k",
"sideEffects": false,
"exports": "./dist/index.modern.js",
"main": "./dist/index.js",
"unpkg": "./dist/index.umd.js",
"module": "./dist/index.module.js",
"source": "./src/index.ts",
"types": "./dist/index.d.ts",
"scripts": {
"build": "microbundle"
}
}
And after I run microbundle, my dist folder looks like this
index.d.ts
index.js
index.js.map
index.modern.js
index.modern.js.map
index.module.js
index.module.js.map
index.umd.js
index.umd.js.map
And after I publish with this config and run the following code with Node.js, I get the following error:
// my-file.js
const color2k = require('color2k');
// ...
SyntaxError: Unexpected token 'export'
at wrapSafe (internal/modules/cjs/loader.js:979:16)
at Module._compile (internal/modules/cjs/loader.js:1027:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
I suspect this is due to Node.js not knowing what to do with exports. For more context, I'm not using the mjs extension when running this code in node LTS v14.15.3.
Maybe this is more of a question rather than a bug but in general: How do I use exports with microbundle? How can I author a package that is both for Node.js and browsers?
- Do I need to write a conditional exports map?
- Do I need to post-fix the modern bundle with the
.mjsextension? If so how do I do that with microbundle?
Thanks for any support!
For now, I'll just remove the exports field.
- Langage dominant
- JavaScript
- Étoiles
- 8.1k
- Forks
- 358
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de developit/microbundle
-
CSS
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
developit/microbundle#1002 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
developit/microbundle#789 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
developit/microbundle#1100 · 4 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
developit/microbundle#1094 · 1 commentaire ·
-
Disable minification by default Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
developit/microbundle#1093 · 3 commentaires · 1 réaction ·
Toutes les issues de developit/microbundle
Issues similaires
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Improve Title Support Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·