qrac / minista

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

assets.entryでinputに拡張子違いの同名ファイルがあると最後のファイルのみbuildされる #108

Closed ongaq closed 1 year ago

ongaq commented 1 year ago

環境

"minista": "^3.0.0-alpha.16",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"sass": "^1.56.1",
"typescript": "^4.9.3"

問題

minista.config.ts のオプション設定で以下のようにした場合、 index.scss のみbuildされない。 index.scssindex.tsの順序を入れ替えると、index.tsがbuildされなくなる。

assets: {
  entry: [
    {
      "input": "src/assets/index2.scss",
      "insertPages": "/s/about/"
    },
    {
      "input": "src/assets/index.scss",
      "insertPages": "/s/about/"
    },
    {
      "input": "src/assets/index.ts",
      "insertPages": "/s/about/"
    },
  ],
}

build後のファイル同士の上書きを避けるため、だとしたら仕様っぽい挙動ですが insertPagesで指定された吐き出されたhtmlには3ファイルとも記述がありました。

32 と似た症状な気もしましたがこちらは既に解決済みで今回はassets.entryの挙動なので念の為ご報告です。

qrac commented 1 year ago

@ongaq 共有ありがとうございます!v2.8.6にて解決しましたので、$npm i -D minista@latest でアップデートください。

内部でファイル名をkeyに変換して処理する箇所がありまして、重複すると後述のものだけ処理されておりました。重複した場合にサフィックスを一時的に付与し、ビルド後に取り除くようにしました。

v3アルファ版にも同様の問題がありましたので、エントリー機能のリファクタリング #72 と合わせて対応いたします。

ongaq commented 1 year ago

@qrac ご対応ありがとうございます!v2.8.6で問題無い事を確認しました! こちらクローズで問題ありませんがv3アルファ版での対応もあるようなのでクローズのタイミングはお任せします!

qrac commented 1 year ago

ご確認ありがとうございます!v3アルファ版にも適応しましたのでクローズいたします。