[BUG]: `events` is required but not declared in dependencies

Aperta Adatta ai principianti
#8,163 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
83/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, webpack

Direzione di ricerca

Inizia leggendo package.json e i tre file indicati nel report: src/lib/events.js, src/snapshot/toimage.js e src/snapshot/svgtoimg.js. Riproduci il problema con il comando rigoroso pnpm install e webpack fornito. Il lavoro è completato quando il pacchetto dichiara la dipendenza events richiesta e la build di produzione riesce con installazioni rigorose.

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

Descrizione

Description

src/lib/events.js, src/snapshot/toimage.js and src/snapshot/svgtoimg.js call require('events'), but events is not in the dependencies of package.json.

Since webpack 5 no longer polyfills Node.js core modules, the bundler resolves events to whatever version the package manager happens to hoist.
Today, it only resolves through a transitive dependency: regl-scatter2d → glslify → glslify-deps → events.
With strict installs (pnpm with hoist=false, Yarn PnP), the build fails.
With hoisted installs, another package's events can be picked up instead (e.g. [email protected]).

This happens with the latest release (4.2.0) and with 2.x.
events is the only Node.js core module still required under src/ (see also #6014 for older ones).

Steps to reproduce

package.json:

{
  "dependencies": { "plotly.js": "4.2.0" },
  "devDependencies": { "webpack": "5.106.0", "webpack-cli": "6.0.1" }
}

src/index.js:

import Plotly from "plotly.js/lib/core";
console.log(Plotly.version);
pnpm install --config.hoist=false
npx webpack --mode production
ERROR in ./node_modules/.pnpm/[email protected]/node_modules/plotly.js/src/lib/events.js 3:19-49
Module not found: Error: Can't resolve 'events' in '.../node_modules/.pnpm/[email protected]/node_modules/plotly.js/src/lib'
Lingua principale
JavaScript
Stelle
18.4k
Fork
2.1k
Merge medio
1g 3h
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di plotly/plotly.js

Tutte le issue di plotly/plotly.js

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.