developit / developit/web-worker

`1.5.0` regression: workers treated as ESM by default

Ouverte
#55 1 commentaire 5 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
1.2k
Forks
57
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi,

Glad to stumbled on this neat project and looking forward to using it to write more consistent browser-node code.

I'm trying to get duckdb-wasm working in node, I found a [`bare-node`](https://github.com/duckdb/duckdb-wasm/blob/main/examples/bare-node/index.cjs) example in their repo.

It fails when I run it, with error:

`ReferenceError: module is not defined`

It uses web-worker, and it seems like the worker code (clearly CJS and with file extension `cjs`) gets detected like an ESM module.

Downgrading web-worker from `1.5.0` to `1.4.1` fixes the issue. I tried a few other things like passing type: commonjs, type: classic - none worked.

Suggests a regression in 1.5.0 release (edit: unless changing the default behavior in 1.5.0 is intentional)

Thanks
Declan

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by running the duckdb-wasm bare-node example at examples/bare-node/index.cjs with web-worker 1.5.0, then compare it with 1.4.1. Trace how the worker script is loaded and how its module type is selected; done means the CJS worker runs under 1.5.0 without the `module is not defined` error while preserving the documented worker behavior.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, node.js
Domaine
backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.