Fails to build due to Firebase

I tried to build my SvelteKit project with Firebase
Locally it works flawlessly, but when I deploy I get an error:

Nov 18, 02:15:36 PM: INIT_START Runtime Version: nodejs:18.v18	Runtime Version ARN: arn:aws:lambda:us-east-2::runtime:d949ec0248c1b8fbc8cbc6df1c986e05fb933506b51d53be82d46f9a37125bea
Nov 18, 02:15:37 PM: 7a81abae ERROR  Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'firebase' imported from /var/task/.netlify/server/entries/pages/_page.svelte.js
    at new NodeError (node:internal/errors:405:5)
    at packageResolve (node:internal/modules/esm/resolve:895:9)
    at moduleResolve (node:internal/modules/esm/resolve:988:20)
    at moduleResolveWithNodePath (node:internal/modules/esm/resolve:939:12)
    at defaultResolve (node:internal/modules/esm/resolve:1181:79)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:835:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
    at link (node:internal/modules/esm/module_job:76:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Hi @avi12,

Thanks for reaching out!

Could you share the site name (such as sitename.netlify.app) or URL to the deploy? This will help us investigate the issue. Thanks!

https://hayde.netlify.app

You’re using manual deploys, so we can’t check much. Please confirm you’ve:

  1. Installed firebase dependency.
  2. Imported it correctly
  3. There are no warnings/errors in your build log
  4. You’re deploying the site with netlify deploy --build --prod

So far I built & deployed with

vite build && netlify deploy --prod

Try the command I mentioned above.

Netlify Build                                                   
────────────────────────────────────────────────────────────────
​                                 
> Version                         
  @netlify/build 29.26.6          
​                                 
> Flags                           
  {}                              
​                                 
> Current directory               
  C:\repositories\javascript\hayde
​
> Config file
  C:\repositories\javascript\hayde\netlify.toml
​
> Context
  dev
​
build.command from netlify.toml
────────────────────────────────────────────────────────────────
​
$ pnpm build

> hayde@0.0.1 build C:\repositories\javascript\hayde
> vite build


vite v5.0.0 building SSR bundle for production...
transforming (120) node_modules\.pnpm\svelte@4.2.5\node_modules\svelte\src\runtime\easing\index.jscompilerOptions.css as a boolean is deprecated. Use 'external' instead of false.
✓ 132 modules transformed.

vite v5.0.0 building for production...
✓ 128 modules transformed.
.svelte-kit/output/client/_app/version.json                               0.03 kB │ gzip:   0.05 kB
.svelte-kit/output/client/.vite/manifest.json                             2.48 kB │ gzip:   0.49 kB
.svelte-kit/output/client/_app/immutable/assets/nodes/2.8CSmlV6j.css     11.26 kB │ gzip:   2.76 kB
.svelte-kit/output/client/_app/immutable/chunks/index.Ym3pk35z.js         0.45 kB │ gzip:   0.32 kB
.svelte-kit/output/client/_app/immutable/nodes/0.u1wZZ5r1.js              0.60 kB │ gzip:   0.39 kB
.svelte-kit/output/client/_app/immutable/nodes/1.3K9iZT9y.js              1.03 kB │ gzip:   0.60 kB
.svelte-kit/output/client/_app/immutable/chunks/singletons.JxlFf48L.js    2.45 kB │ gzip:   1.26 kB
.svelte-kit/output/client/_app/immutable/chunks/index.dBsVXb-Z.js         4.72 kB │ gzip:   2.42 kB
.svelte-kit/output/client/_app/immutable/entry/app.ECIgB7jt.js            6.01 kB │ gzip:   2.42 kB
.svelte-kit/output/client/_app/immutable/chunks/scheduler.-nIoRWo2.js     8.68 kB │ gzip:   3.43 kB
.svelte-kit/output/client/_app/immutable/entry/start.585XdUob.js         24.95 kB │ gzip:   9.85 kB
.svelte-kit/output/client/_app/immutable/nodes/2.QgP9FFhi.js            486.66 kB │ gzip: 119.53 kB
✓ built in 3.68s
.svelte-kit/output/server/.vite/manifest.json                                       1.87 kB
.svelte-kit/output/server/_app/immutable/assets/entries/pages/_page.SCM2c4-4.css   11.08 kB
.svelte-kit/output/server/internal.js                                               0.19 kB
.svelte-kit/output/server/entries/fallbacks/layout.svelte.js                        0.24 kB
.svelte-kit/output/server/entries/fallbacks/error.svelte.js                         0.89 kB
.svelte-kit/output/server/chunks/index.js                                           1.33 kB
.svelte-kit/output/server/chunks/internal.js                                        5.63 kB
.svelte-kit/output/server/chunks/ssr.js                                             8.39 kB
.svelte-kit/output/server/entries/pages/_page.svelte.js                            55.90 kB
.svelte-kit/output/server/index.js                                                110.62 kB

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-netlify
  ✔ done
✓ built in 12.00s
​
(build.command completed in 16.8s)
​
Functions bundling
────────────────────────────────────────────────────────────────
​
Packaging Functions from .netlify\functions-internal directory:
 - sveltekit-render.mjs
​
​
(Functions bundling completed in 4.5s)
​
Deploy Site
────────────────────────────────────────────────────────────────
​
Deploy path:        C:\repositories\javascript\hayde\build
Configuration path: C:\repositories\javascript\hayde\netlify.toml
Deploying to main site URL...
√ Deploying functions from cache (use --skip-functions-cache to override)
√ Finished hashing 25 files and 1 functions
√ CDN requesting 8 files and 1 functions
√ Finished uploading 9 assets
√ Deploy is live!
​
(options.onPostBuild completed in 10.5s)
​
Save updated config
────────────────────────────────────────────────────────────────
​
​
(options.onEnd completed in 3ms)
​
Netlify Build Complete
────────────────────────────────────────────────────────────────
​
(Netlify Build completed in 32s)

Build logs:        https://app.netlify.com/sites/hayde/deploys/655a2d28ddbcd044f5210b07
Function logs:     https://app.netlify.com/sites/hayde/functions
Unique deploy URL: https://655a2d28ddbcd044f5210b07--hayde.netlify.app
Website URL:       https://hayde.netlify.app

Process finished with exit code 0

I don’t see an error/warning

As for the imports:


They seem legit to me

As for the package.json:

{
  "name": "hayde",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "dev": "vite dev --host",
    "build": "vite build",
    "preview": "vite preview",
    "build:deploy": "netlify deploy --build --prod",
    "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
    "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
    "test": "vitest",
    "lint": "prettier --plugin-search-dir . --check . && eslint .",
    "format": "prettier --plugin-search-dir . --write .",
    "typesafe-i18n": "typesafe-i18n"
  },
  "devDependencies": {
    "@stylistic/eslint-plugin-js": "^1.3.3",
    "@sveltejs/adapter-auto": "^2.1.1",
    "@sveltejs/adapter-netlify": "^2.0.8",
    "@sveltejs/kit": "^1.27.6",
    "@typescript-eslint/eslint-plugin": "^6.11.0",
    "@typescript-eslint/parser": "^6.11.0",
    "@types/node": "^20.9.1",
    "eslint": "^8.54.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-svelte": "^2.35.0",
    "http-status": "^1.7.3",
    "netlify-cli": "^17.5.1",
    "prettier": "^3.1.0",
    "prettier-plugin-svelte": "^3.1.0",
    "sass": "^1.69.5",
    "svelte": "^4.2.5",
    "svelte-check": "^3.6.0",
    "tslib": "^2.6.2",
    "typescript": "^5.2.2",
    "vite": "^5.0.0",
    "vite-plugin-mkcert": "^1.16.0",
    "vite-plugin-svelte-svg": "^2.3.0",
    "vitest": "^0.34.6"
  },
  "type": "module",
  "dependencies": {
    "firebase": "^10.6.0"
  }
}

And yes, I tried to move firebase to devDependencies, got the same build error

Since you’re using pnpm, it’s likely that pnpm is somehow causing issues here. You might want to use the flag mentioned here: Manage build dependencies | Netlify Docs

OR try using Yarn / NPM.

I should be able to follow How to use pnpm with Netlify Build | Netlify Blog

I’m not sure if you’re asking or telling?

Looks like I fixed it by linking the site with the repository

Hi @avi12,

Thanks for the follow-up. Let us know if you continue to have issues.