[[Vite2]]のプロジェクトがあるので、[[Vite3]]はもとより最新の[[Vite4]]までアップデートしてみる。
## アップデート対象
```console
(*) @vitejs/plugin-vue devDep 2.2.0 ❯ 4.0.0 https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme
(*) vite devDep 2.8.3 ❯ 4.0.1 https://github.com/vitejs/vite/tree/main/#readme
>(*) vue-tsc devDep 0.29.8 ❯ 1.0.13 https://github.com/johnsoncodehk/volar#readme
```
[[npm-check]]でインストール。
## まずは動かしてみる
公式のリリースノートを参考に。
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">vite/CHANGELOG.md at v3.0.0 · vitejs/vite</p>
</div>
<div class="link-card-description">
Next generation frontend tooling. It's fast! Contribute to vitejs/vite development by creating an ac...
</div>
</div>
<img src="https://opengraph.githubassets.com/5ceace30c2a25b623b14b145978d2f7e101089824c0372fef5ac37ef0796f439/vitejs/vite" class="link-card-image" />
</div>
<a href="https://github.com/vitejs/vite/blob/v3.0.0/packages/vite/CHANGELOG.md#300-2022-07-13"></a>
</div>
```console
$ npm run dev
VITE v4.0.1 ready in 851 ms
➜ Local: http://localhost:5173
➜ Network: use --host to expose
➜ press h to show help
```
### ポート番号
ポート番号は3000でなくなった。v3の変更点ぽい。
> The default dev server port is now 5173, with the preview server starting at 4173.
### ずっとくるくるしている
必要なものをインストールしているぽい。すべてが終わったら普通に起動した。
## 警告の対応
こんな感じで[[Node.js]]でしか使えないModuleを使っている場合、ブラウザで動かないぞという警告が出る。
```console
Module "source-map-js" has been externalized for browser compatibility. Cannot access "source-map-js.SourceMapConsumer" in client code.
Module "path" has been externalized for browser compatibility. Cannot access "path.dirname" in client code.
Module "url" has been externalized for browser compatibility. Cannot access "url.fileURLToPath" in client code.
```
[[PostCSS]]と[[sanitize-html]]などが起因。[[Vite3]]ではエラーになっており問題だった。
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">Error: Module "path" has been externalized for browser compatibility. Cannot access "path.dirname" in client code. · Issue #9200 · vitejs/vite</p>
</div>
<div class="link-card-description">
Describe the bug I am having this issue in my app since upgrading to Vite 3. I am still having the i...
</div>
</div>
<img src="https://opengraph.githubassets.com/49c03a6ccb1e2bfa665083619e626312b27b982634226d4044191f7ba38d1b4a/vitejs/vite/issues/9200" class="link-card-image" />
</div>
<a href="https://github.com/vitejs/vite/issues/9200"></a>
</div>
エラーを警告に格下げするプルリクがすぐにマージされている。
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">feat: relax dep browser externals as warning by bluwy · Pull Request #9837 · vitejs/vite</p>
</div>
<div class="link-card-description">
Description
I believe this fixes #9200. I haven't tested it's repro but this PR likely fixes it.
The...
</div>
</div>
<img src="https://opengraph.githubassets.com/9eb1b0a1ff722d689bc7a872f822dadef6284e33e5d6c55a517f72a28203ee07/vitejs/vite/pull/9837" class="link-card-image" />
</div>
<a href="https://github.com/vitejs/vite/pull/9837"></a>
</div>
恐らくこの状態でずっと来ているため警告は出続けている。警告を無視するにはちょっと工夫しないと無理そう...。
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">Add an option to ignore postcss warnings · Issue #9597 · vitejs/vite</p>
</div>
<div class="link-card-description">
Description I want to disable unnecessary postcss warning in the console, like this: [vite:css] C:\p...
</div>
</div>
<img src="https://opengraph.githubassets.com/3b59cf3ca41b6b0cbf88e2c565f4c57a6f23a71d8bc0e825e3bf2e5f0e476e73/vitejs/vite/issues/9597" class="link-card-image" />
</div>
<a href="https://github.com/vitejs/vite/issues/9597"></a>
</div>
[[PostCSS]]のエラーはちょっとうるさいので↑を試してみたけどダメだった。気になりすぎるけど放置で。。