developit / developit/jsdom-worker

Support import and require

オープン
#25 コメント 3 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
291
フォーク
20
PR マージ指標
30日以内にマージされた PR はありません

説明

I'm using jsdom-worker to support third party libs that use service workers in a jest runtime. The third party lib uses require all over the place, which causes issues when jest is otherwise configured as a module (i.e. using import). One way to solve this is to polyfill require -- for example, https://stackoverflow.com/a/71883023/3269537

```js
import { createRequire } from "module";
const require = createRequire(import.meta.url);
```

It would be really convenient if jsdom-worker supported both require and import, so that it is agnostic to what code is actually being loaded. Can we simply inject the above here: https://github.com/developit/jsdom-worker/blob/main/src/index.js#L129? Happy to send out a pr that tries this

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず src/index.js の129行目付近を調べ、import と併用して require を使用するサードパーティライブラリで、報告された Jest のランタイム設定を再現します。jsdom-worker が、既存のモジュールの使用を壊すことなく、両方のモジュール形式を使用するコードを読み込めることを確認します。issue で提案されている createRequire アプローチは評価の出発点です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
testing
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。