developit / developit/microbundle

Bug: Shouldn't fall back to pkg name in the absence of output flag & pkg main

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

説明

Packages that don't use the `output` flag or have a `"main"` in their `package.json` have their preferred filename output ignored.

For example, say I have the following package:

```
{
"name": "foo",
"exports": {
".": "./dist/bar.js",
...
}
}
```

Unfortunately, because of the `replaceName()` here, the desired output is replaced by the package name instead.

https://github.com/developit/microbundle/blob/b1a637486234a2ae784ccf0c512321e2d3efef7c/src/index.js#L297-L303

https://github.com/developit/microbundle/blob/b1a637486234a2ae784ccf0c512321e2d3efef7c/src/index.js#L255-L260

`mainNoExtension` traces back to here, which defines a couple of fallbacks.

https://github.com/developit/microbundle/blob/b1a637486234a2ae784ccf0c512321e2d3efef7c/src/index.js#L219-L225

I can't really say that I understand why this was done in the first place, so don't want to go "fixing" it as there might be some relying on this. To me, it seems like that in the absence of the `output` flag, these fields should be read and used exactly, no replacing.

`mainNoExtension` seems like it should be the last of the fallbacks, not something that overwrites valid entries & chosen names.

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

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

評価

この issue はまだ評価されていません。

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

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