Next.js + Firebase Functionsが同居するリポジトリでnext buildを実行するとエラーが発生

公開日時

Next.js + Firebase Functionsが同居するリポジトリで next build を実行したところ、下記のエラーが発生した。

Type error: Cannot find module 'xxx' or its corresponding type declarations.

今回、Next.jsもFirebase FunctionsもTypescriptで開発を行っており、Functionsのコードは ./functions 以下で管理するようにしていた。

tree -L 1
.
├── functions
│   ├── package.json
│   ├── src
│   └── tsconfig.json
├── tsconfig.json
├── package.json
└── pages

package.json がNext.jsとFirebase Functionsで別管理になっているにも関わらず、 next build 時にfunctions以下のコードもビルドしようとしたため Cannot find module エラーが発生していた。

そこでNext.js用の tsconfig.jsonexclude 設定を追加して、functions 以下を除外するようにした。

{
  "compilerOptions": {
    // ...
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules", "functions"]
}

これでエラーなく next build が実行できるようになった。

参考


Related #next.js

Next.jsのPreview Mode時はAnalyticsを無効化する

cookieの__next_preview_dataキーで判定

PWAアプリにクイックショートカットを追加する

manifest.jsonにshortcutsを追加

Next.js 10.0.1 + React 17.0の環境でTypeError: Object(...) is not a functionエラーが発生

一つ前のReact 16.13に下げてみたらエラーが解消された

Next.jsプロジェクトにTypescriptを導入する

チュートリアルが充実してる

Next.js + typescriptでpathsのエイリアスがModule not foundになる

next.config.jsに追記する必要があった