qrac / minista

Static site generator with 100% static export from React and Vite.
https://minista.qranoko.jp
165 stars 13 forks source link

Named importとエイリアスの組み合わせが本番ビルドで失敗する問題を修正 #47

Closed qrac closed 2 years ago

qrac commented 2 years ago
import { AppHeader } from "~/components/app-header"

上記のようにnamed importとパスエイリアスを組み合わせると本番ビルドで失敗する。

npx minista build

✘ [ERROR] No matching export in "src/components/app-header.tsx" for import "default"

    esbuild-resolve:~/components/app-header:3:17:
      3 │         export { default } from '/Users/user/github/demo/src/components/app-header';
        ╵                  ~~~~~~~

vite v2.9.9 building for production...

Forkして内蔵した esbuild-plugin-resolve で同様の問題が発生しているので、プラグインを改修するか差し替えるかを行う。

qrac commented 2 years ago

esbuild-plugin-alias をフォークして内蔵。コンフィグのエイリアスはそちらに任せる。 { "react/jsx-runtime": "react/jsx-runtime.js" } の置換は esbuild-plugin-resolve でないと失敗するので処理を分ける。

qrac commented 2 years ago

v2.6.1にて修正。