Nuxt2からNuxt3へ移行する

とりあえず参考資料を並べる

基本方針
- nuxt bridgeは使わない
- そんな大きいアプリケーションなので、一気にいきたい

いらなさそうな連中を削除
yarn remove @nuxtjs/composition-api @nuxt/types @nuxt/typescript-build @nuxt/typescript-runtime

npm scriptsをnuxiベースに書き換え

次はnuxt.config.tsかな
公式には記載なさそうだが、importが必要
import { defineNuxtConfig } from 'nuxt/config'
loadingなど古い設定が残っているので、そこらへんも解消する

vuetifyの設定も移行しないといけないっぽいので、やる
yarn remove @nuxtjs/vuetify

gtmも移行
yarm remove @nuxtjs/gtm
yarn add --dev @zadigetvoltaire/nuxt-gtm
nuxt-clipboard2もダメポ

なんとなく取り敢えずbuildがしたら下記エラーが出る
なんでだ
yarn build
yarn run v1.22.22
$ nuxi build
Nuxt 3.11.2 with Nitro 2.9.6 13:54:06
[13:54:07] ERROR /Users/raz/xxxxxx/.nuxt/tsconfig.json: Unexpected token '/', "// Generat"... is not valid JSON
at parse (<anonymous>)
at Module._extensions..json (node:internal/modules/cjs/loader:1445:39)
at Module.load (node:internal/modules/cjs/loader:1206:32)
at Module._load (node:internal/modules/cjs/loader:1022:12)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:179:18)
at Object.jiti (node_modules/jiti/dist/jiti.js:1:253841)
at resolveConfig (node_modules/c12/dist/index.mjs:330:26)
at extendConfig (node_modules/c12/dist/index.mjs:241:27)
at loadConfig (node_modules/c12/dist/index.mjs:176:11)
[13:54:07] ERROR /Users/raz/xxxxxx/.nuxt/tsconfig.json: Unexpected token '/', "// Generat"... is not valid JSON
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

nuxi buildと何が違うんだ…?

ようやく解決した
nuxt.config.tsで下記が入ってたからだった。
extends: './.nuxt/tsconfig.json',

nuxt3でGooglemapを使うときの最適解を探したい

うーん…これだ、ってのはないな
一旦、vue2-google-mapsを使ってたのでそれの後継っぽいvue3-google-mapにするか

とりあえず次はaxios関連
fetchへ移行したいので、とりあえずopenapigeneratorをfetchベースにする

npm scriptsに細々と書くより、jsonのほうが見やすい気がするので、jsonファイルを用意しよう
書き方のルールが回てあるドキュメントが見つからん…

結局見つからんかった
試行錯誤を繰り返して、なんとか動いた
node_modules内のschema定義を見るしかない

次はtypescript-fetchとtypescript-axiosの差分を埋める作業
参考

typescript-axiosがFactoryPatternで、typescript-fetchにはなかったので、正規表現でうまいこと置き換える

思ったより大変なので、後回し
とりあえず、eslintをいれかえ

次はこちら
SCSSでbuildエラーになったので

static -> publicにrename

取り敢えずbuildは通るようになった

envをcrossenvから変更

色々やったけど、こっちにメモする余裕なかったので一旦閉じる