umami-software / umami

Umami is a simple, fast, privacy-focused alternative to Google Analytics.
https://umami.is
MIT License
22.09k stars 4.12k forks source link

[Bug] No such file `GeoLite2-Conutry.mmdb` on Netlify (v1.37.0) #1413

Closed aidanm1999 closed 2 years ago

aidanm1999 commented 2 years ago

Setup

Issue

After a successful deploy, I went on some sites that we use and calls to /api/collect were returning 500. I reproduced as a curl request:

curl 'https://glowing-bombolone-81a69d.netlify.app/api/collect' \
    -X 'POST' \
    -H 'Accept: */*' \
    -H 'Content-Type: application/json' \
    -H 'Origin: http://localhost:5500' \
    -H 'Content-Length: 189' \
    -H 'Accept-Language: en-GB,en;q=0.9' \
    -H 'Host: glowing-bombolone-81a69d.netlify.app' \
    -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6 Safari/605.1.15' \
    -H 'Referer: http://localhost:5500/' \
    -H 'Accept-Encoding: gzip, deflate, br' \
    -H 'Connection: keep-alive' \
    --data-binary '{"type":"pageview","payload":{"website":"2f4b4ba9-bd26-4815-82fe-379e1067f7e5","hostname":"localhost","screen":"1920x1080","language":"en-GB","url":"/","referrer":"http://localhost:5500/"}}'

Error message shows: ENOENT: no such file or directory, open '/var/task/node_modules/.geo/GeoLite2-Country.mmdb'

Tried the same call on Vercel, and successfully runs ```bash curl 'https://analytics-kappa-sand.vercel.app/api/collect' \ -X 'POST' \ -H 'Accept: */*' \ -H 'Content-Type: application/json' \ -H 'Origin: http://localhost:5500' \ -H 'Content-Length: 167' \ -H 'Accept-Language: en-GB,en;q=0.9' \ -H 'Host: analytics-kappa-sand.vercel.app' \ -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6 Safari/605.1.15' \ -H 'Referer: http://localhost:5500/' \ -H 'Accept-Encoding: gzip, deflate, br' \ -H 'Connection: keep-alive' \ --data-binary '{"type":"pageview","payload":{"website":"2f4b4ba9-bd26-4815-82fe-379e1067f7e5","hostname":"localhost","screen":"1920x1080","language":"en-GB","url":"/","referrer":""}}' ```
Netlify Deploy Logs ```bash 1:14:39 PM: Build ready to start 1:14:41 PM: build-image version: d7b3dbfb0846505993c9a131894d1858074c90b4 (focal) 1:14:41 PM: build-image tag: v4.10.1 1:14:41 PM: buildbot version: f4df34fdee5e467fb0a8a2f62e3840ffaba0a9bc 1:14:41 PM: Fetching cached dependencies 1:14:41 PM: Failed to fetch cache, continuing with build 1:14:41 PM: Starting to prepare the repo for build 1:14:42 PM: No cached dependencies found. Cloning fresh repo 1:14:42 PM: git clone https://github.com/idacmedia/analytics 1:14:43 PM: Preparing Git Reference refs/heads/master 1:14:43 PM: Parsing package.json dependencies 1:14:44 PM: Starting build script 1:14:44 PM: Installing dependencies 1:14:44 PM: Python version set to 2.7 1:14:44 PM: v16.16.0 is already installed. 1:14:45 PM: Now using node v16.16.0 (npm v8.11.0) 1:14:45 PM: Started restoring cached build plugins 1:14:45 PM: Finished restoring cached build plugins 1:14:45 PM: Attempting ruby version 2.7.2, read from environment 1:14:45 PM: Using ruby version 2.7.2 1:14:45 PM: Using PHP version 8.0 1:14:45 PM: Started restoring cached yarn cache 1:14:45 PM: Finished restoring cached yarn cache 1:14:46 PM: No yarn workspaces detected 1:14:46 PM: Started restoring cached node modules 1:14:46 PM: Finished restoring cached node modules 1:14:46 PM: Installing NPM modules using Yarn version 1.22.10 1:14:46 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special 1:14:46 PM: npm WARN config location in the cache, and they are managed by 1:14:46 PM: npm WARN config [`cacache`](http://npm.im/cacache). 1:14:46 PM: yarn install v1.22.10 1:14:47 PM: [1/4] Resolving packages... 1:14:47 PM: [2/4] Fetching packages... 1:15:03 PM: info @next/swc-android-arm-eabi@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-android-arm-eabi@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-android-arm-eabi@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info @next/swc-android-arm64@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-android-arm64@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-android-arm64@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info @next/swc-darwin-arm64@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-darwin-arm64@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-darwin-arm64@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info @next/swc-darwin-x64@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-darwin-x64@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-freebsd-x64@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-freebsd-x64@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-linux-arm-gnueabihf@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info "@next/swc-linux-arm-gnueabihf@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-linux-arm64-gnu@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info "@next/swc-linux-arm64-gnu@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-linux-arm64-musl@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info "@next/swc-linux-arm64-musl@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-win32-arm64-msvc@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-win32-arm64-msvc@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-win32-arm64-msvc@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info @next/swc-win32-ia32-msvc@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-win32-ia32-msvc@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info @next/swc-win32-ia32-msvc@12.2.4: The CPU architecture "x64" is incompatible with this module. 1:15:03 PM: info @next/swc-win32-x64-msvc@12.2.4: The platform "linux" is incompatible with this module. 1:15:03 PM: info "@next/swc-win32-x64-msvc@12.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: info fsevents@2.3.2: The platform "linux" is incompatible with this module. 1:15:03 PM: info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation. 1:15:03 PM: [3/4] Linking dependencies... 1:15:03 PM: warning "react-spring > @react-spring/konva@9.5.0" has unmet peer dependency "konva@>=2.6". 1:15:03 PM: warning "react-spring > @react-spring/konva@9.5.0" has unmet peer dependency "react-konva@^16.8.0 || ^17.0.0". 1:15:03 PM: warning "react-spring > @react-spring/native@9.5.0" has unmet peer dependency "react-native@>=0.58". 1:15:03 PM: warning "react-spring > @react-spring/three@9.5.0" has unmet peer dependency "@react-three/fiber@>=6.0". 1:15:03 PM: warning "react-spring > @react-spring/three@9.5.0" has unmet peer dependency "three@>=0.126". 1:15:03 PM: warning "react-spring > @react-spring/zdog@9.5.0" has unmet peer dependency "react-zdog@>=1.0". 1:15:03 PM: warning "react-spring > @react-spring/zdog@9.5.0" has unmet peer dependency "zdog@>=1.0". 1:15:03 PM: warning "eslint-config-next > @typescript-eslint/parser > @typescript-eslint/typescript-estree > tsutils@3.21.0" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta". 1:15:12 PM: [4/4] Building fresh packages... 1:15:16 PM: $ node -e "if (process.env.NODE_ENV !== 'production'){process.exit(1)} " || husky install 1:15:16 PM: husky - Git hooks installed 1:15:16 PM: Done in 29.19s. 1:15:16 PM: NPM modules installed using Yarn 1:15:16 PM: Started restoring cached go cache 1:15:16 PM: Finished restoring cached go cache 1:15:16 PM: Installing Go version 1.17 (requested 1.17) 1:15:20 PM: unset GOOS; 1:15:20 PM: unset GOARCH; 1:15:20 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.17.linux.amd64'; 1:15:20 PM: export PATH="/opt/buildhome/.gimme/versions/go1.17.linux.amd64/bin:${PATH}"; 1:15:20 PM: go version >&2; 1:15:20 PM: export GIMME_ENV="/opt/buildhome/.gimme/env/go1.17.linux.amd64.env" 1:15:20 PM: go version go1.17 linux/amd64 1:15:20 PM: Installing missing commands 1:15:20 PM: Verify run directory 1:15:21 PM: ​ 1:15:21 PM: ──────────────────────────────────────────────────────────────── 1:15:21 PM: Netlify Build 1:15:21 PM: ──────────────────────────────────────────────────────────────── 1:15:21 PM: ​ 1:15:21 PM: ❯ Version 1:15:21 PM: @netlify/build 27.9.1 1:15:21 PM: ​ 1:15:21 PM: ❯ Flags 1:15:21 PM: baseRelDir: true 1:15:21 PM: buildId: 62f4f2af88c8a71c9c4f5a5f 1:15:21 PM: deployId: 62f4f2af88c8a71c9c4f5a61 1:15:21 PM: systemLogFile: 3 1:15:21 PM: ​ 1:15:21 PM: ❯ Current directory 1:15:21 PM: /opt/build/repo 1:15:21 PM: ​ 1:15:21 PM: ❯ Config file 1:15:21 PM: /opt/build/repo/netlify.toml 1:15:21 PM: ​ 1:15:21 PM: ❯ Context 1:15:21 PM: production 1:15:21 PM: ​ 1:15:21 PM: ❯ Installing plugins 1:15:21 PM: - @netlify/plugin-nextjs@4.14.1 1:15:32 PM: ​ 1:15:32 PM: ❯ Loading plugins 1:15:32 PM: - @netlify/plugin-nextjs@4.14.1 from Netlify app 1:15:33 PM: ​ 1:15:33 PM: ──────────────────────────────────────────────────────────────── 1:15:33 PM: 1. @netlify/plugin-nextjs (onPreBuild event) 1:15:33 PM: ──────────────────────────────────────────────────────────────── 1:15:33 PM: ​ 1:15:33 PM: No Next.js cache to restore. 1:15:33 PM: Netlify configuration property "build.environment.NEXT_PRIVATE_TARGET" value changed. 1:15:33 PM: ​ 1:15:33 PM: (@netlify/plugin-nextjs onPreBuild completed in 23ms) 1:15:33 PM: ​ 1:15:33 PM: ──────────────────────────────────────────────────────────────── 1:15:33 PM: 2. Build command from Netlify app 1:15:33 PM: ──────────────────────────────────────────────────────────────── 1:15:33 PM: ​ 1:15:33 PM: $ yarn build 1:15:34 PM: yarn run v1.22.10 1:15:34 PM: $ npm-run-all build-tracker build-geo build-db build-app 1:15:34 PM: $ rollup -c rollup.tracker.config.js 1:15:34 PM: 1:15:34 PM: tracker/index.js → public/umami.js... 1:15:35 PM: created public/umami.js in 557ms 1:15:35 PM: $ node scripts/build-geo.js 1:15:35 PM: Saved geo database: /opt/build/repo/node_modules/.geo/GeoLite2-Country.mmdb 1:15:35 PM: $ npm-run-all copy-db-files build-db-client 1:15:36 PM: $ node scripts/copy-db-files.js 1:15:36 PM: Database type detected: mysql 1:15:36 PM: Copied /opt/build/repo/db/mysql to /opt/build/repo/prisma 1:15:36 PM: $ prisma generate 1:15:37 PM: Prisma schema loaded from prisma/schema.prisma 1:15:38 PM: ✔ Generated Prisma Client (4.1.1 | library) to ./node_modules/@prisma/client in 109ms 1:15:38 PM: You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client 1:15:38 PM: ```import { PrismaClient } from '@prisma/client'const prisma = new PrismaClient()``` 1:15:38 PM: $ next build 1:15:39 PM: warn - No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache 1:15:39 PM: info - Skipping linting 1:15:39 PM: info - Checking validity of types... 1:15:39 PM: info - Creating an optimized production build... 1:16:08 PM: info - Compiled successfully 1:16:08 PM: info - Collecting page data... 1:16:13 PM: info - Generating static pages (0/11) 1:16:14 PM: info - Generating static pages (2/11) 1:16:15 PM: info - Generating static pages (5/11) 1:16:15 PM: info - Generating static pages (8/11) 1:16:15 PM: info - Generating static pages (11/11) 1:16:15 PM: info - Finalizing page optimization... 1:16:15 PM: Page Size First Load JS 1:16:15 PM: ┌ ○ / (793 ms) 296 B 159 kB 1:16:15 PM: ├ /_app 0 B 159 kB 1:16:15 PM: ├ ○ /404 (989 ms) 369 B 213 kB 1:16:15 PM: ├ └ css/7122b57a260e7074.css 2.01 kB 1:16:15 PM: ├ λ /api/account 0 B 159 kB 1:16:15 PM: ├ λ /api/account/[id] 0 B 159 kB 1:16:15 PM: ├ λ /api/account/password 0 B 159 kB 1:16:15 PM: ├ λ /api/accounts 0 B 159 kB 1:16:15 PM: ├ λ /api/auth/login 0 B 159 kB 1:16:15 PM: ├ λ /api/auth/verify 0 B 159 kB 1:16:15 PM: ├ λ /api/collect 0 B 159 kB 1:16:15 PM: ├ λ /api/config 0 B 159 kB 1:16:15 PM: ├ λ /api/realtime/init 0 B 159 kB 1:16:15 PM: ├ λ /api/realtime/update 0 B 159 kB 1:16:15 PM: ├ λ /api/scripts/telemetry 0 B 159 kB 1:16:15 PM: ├ λ /api/share/[id] 0 B 159 kB 1:16:15 PM: ├ λ /api/website 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id] 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/active 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/events 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/metrics 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/pageviews 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/reset 0 B 159 kB 1:16:15 PM: ├ λ /api/website/[id]/stats 0 B 159 kB 1:16:15 PM: ├ λ /api/websites 0 B 159 kB 1:16:15 PM: ├ λ /console/[[...id]] 4.29 kB 352 kB 1:16:15 PM: ├ └ css/d334d2d6db22b87e.css 161 B 1:16:15 PM: ├ ○ /dashboard/[[...id]] (1186 ms) 36.5 kB 384 kB 1:16:15 PM: ├ └ css/df7004d310dd9b24.css 497 B 1:16:15 PM: ├ λ /login 1.56 kB 226 kB 1:16:15 PM: ├ └ css/9ffd88de0538f06c.css 2.41 kB 1:16:15 PM: ├ ○ /logout (987 ms) 336 B 159 kB 1:16:15 PM: ├ ○ /realtime (1135 ms) 7.35 kB 377 kB 1:16:15 PM: ├ └ css/478e2ae61666cf35.css 3.67 kB 1:16:15 PM: ├ ○ /settings (1108 ms) 222 B 331 kB 1:16:15 PM: ├ ○ /settings/accounts (1099 ms) 264 B 331 kB 1:16:15 PM: ├ ○ /settings/profile (1200 ms) 263 B 331 kB 1:16:15 PM: ├ ○ /share/[...id] (1186 ms) 645 B 401 kB 1:16:15 PM: └ ○ /website/[...id] (1316 ms) 753 B 401 kB 1:16:15 PM: + First Load JS shared by all 159 kB 1:16:15 PM: ├ chunks/framework-5f4595e5518b5600.js 42 kB 1:16:15 PM: ├ chunks/main-f1f37299d5d02885.js 34.5 kB 1:16:15 PM: ├ chunks/pages/_app-43f169d4aacf79b5.js 81.3 kB 1:16:15 PM: ├ chunks/webpack-cb7634a8b6194820.js 884 B 1:16:15 PM: └ css/2b825f07a02cea87.css 9.39 kB 1:16:15 PM: ƒ Middleware 19.8 kB 1:16:15 PM: λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps) 1:16:15 PM: ○ (Static) automatically rendered as static HTML (uses no initial props) 1:16:15 PM: $ node scripts/postbuild.js 1:16:16 PM: Done in 42.33s. 1:16:16 PM: ​ 1:16:16 PM: (build.command completed in 42.4s) 1:16:16 PM: ​ 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: 3. @netlify/plugin-nextjs (onBuild event) 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: ​ 1:16:16 PM: Patching /opt/build/repo/node_modules/next/dist/server/base-server.js 1:16:16 PM: Done 1:16:16 PM: Patching /opt/build/repo/node_modules/next/dist/server/next-server.js 1:16:16 PM: Done 1:16:16 PM: Moving static page files to serve from CDN... 1:16:16 PM: Moved 0 files 1:16:16 PM: Skipped moving 6 files because they match middleware, so cannot be deployed to the CDN and will be served from the origin instead. 1:16:16 PM: This is fine, but we're letting you know because it may not be what you expect.The following middleware matched statically-rendered pages: 1:16:16 PM: - /true/_middleware 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: The following files matched middleware and were not moved to the CDN: 1:16:16 PM: - index.html 1:16:16 PM: - logout.html 1:16:16 PM: - realtime.html 1:16:16 PM: - settings.html 1:16:16 PM: - settings/accounts.html 1:16:16 PM: - settings/profile.html 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: Using Netlify Edge Functions for image format detection. Set env var "NEXT_DISABLE_EDGE_IMAGES=true" to disable. 1:16:16 PM: You are using Next.js Middleware without Netlify Edge Functions. 1:16:16 PM: This will soon be deprecated because it negatively affects performance and will disable ISR and static rendering. 1:16:16 PM: To get the best performance and use Netlify Edge Functions, set the env var NEXT_USE_NETLIFY_EDGE=true. 1:16:16 PM: Netlify configuration property "redirects" value changed to [ 1:16:16 PM: { from: '/_next/static/*', to: '/static/:splat', status: 200 }, 1:16:16 PM: { 1:16:16 PM: from: '/_next/image*', 1:16:16 PM: query: { url: ':url', w: ':width', q: ':quality' }, 1:16:16 PM: to: '/_ipx/w_:width,q_:quality/:url', 1:16:16 PM: status: 301 1:16:16 PM: }, 1:16:16 PM: { from: '/_ipx/*', to: '/.netlify/builders/_ipx', status: 200 }, 1:16:16 PM: { from: '/cache/*', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { from: '/server/*', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { from: '/serverless/*', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { from: '/trace', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { from: '/traces', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { 1:16:16 PM: from: '/routes-manifest.json', 1:16:16 PM: to: '/404.html', 1:16:16 PM: status: 404, 1:16:16 PM: force: true 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/build-manifest.json', 1:16:16 PM: to: '/404.html', 1:16:16 PM: status: 404, 1:16:16 PM: force: true 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/prerender-manifest.json', 1:16:16 PM: to: '/404.html', 1:16:16 PM: status: 404, 1:16:16 PM: force: true 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/react-loadable-manifest.json', 1:16:16 PM: to: '/404.html', 1:16:16 PM: status: 404, 1:16:16 PM: force: true 1:16:16 PM: }, 1:16:16 PM: { from: '/BUILD_ID', to: '/404.html', status: 404, force: true }, 1:16:16 PM: { 1:16:16 PM: from: '/api', 1:16:16 PM: to: '/.netlify/functions/___netlify-handler', 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/api/*', 1:16:16 PM: to: '/.netlify/functions/___netlify-handler', 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/android-chrome-192x192.png', 1:16:16 PM: to: '/android-chrome-192x192.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/android-chrome-512x512.png', 1:16:16 PM: to: '/android-chrome-512x512.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/apple-touch-icon.png', 1:16:16 PM: to: '/apple-touch-icon.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/browserconfig.xml', 1:16:16 PM: to: '/browserconfig.xml', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/datamaps.world.json', 1:16:16 PM: to: '/datamaps.world.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/favicon-16x16.png', 1:16:16 PM: to: '/favicon-16x16.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/favicon-32x32.png', 1:16:16 PM: to: '/favicon-32x32.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/favicon.ico', 1:16:16 PM: to: '/favicon.ico', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/mstile-150x150.png', 1:16:16 PM: to: '/mstile-150x150.png', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/robots.txt', 1:16:16 PM: to: '/robots.txt', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/safari-pinned-tab.svg', 1:16:16 PM: to: '/safari-pinned-tab.svg', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/site.webmanifest', 1:16:16 PM: to: '/site.webmanifest', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/umami.js', 1:16:16 PM: to: '/umami.js', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ar-SA.json', 1:16:16 PM: to: '/intl/country/ar-SA.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/bn-BD.json', 1:16:16 PM: to: '/intl/country/bn-BD.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ca-ES.json', 1:16:16 PM: to: '/intl/country/ca-ES.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/cs-CZ.json', 1:16:16 PM: to: '/intl/country/cs-CZ.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/da-DK.json', 1:16:16 PM: to: '/intl/country/da-DK.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/de-DE.json', 1:16:16 PM: to: '/intl/country/de-DE.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/el-GR.json', 1:16:16 PM: to: '/intl/country/el-GR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/en-GB.json', 1:16:16 PM: to: '/intl/country/en-GB.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/en-US.json', 1:16:16 PM: to: '/intl/country/en-US.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/es-MX.json', 1:16:16 PM: to: '/intl/country/es-MX.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/fa-IR.json', 1:16:16 PM: to: '/intl/country/fa-IR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/fi-FI.json', 1:16:16 PM: to: '/intl/country/fi-FI.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/fo-FO.json', 1:16:16 PM: to: '/intl/country/fo-FO.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/fr-FR.json', 1:16:16 PM: to: '/intl/country/fr-FR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ga-ES.json', 1:16:16 PM: to: '/intl/country/ga-ES.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/he-IL.json', 1:16:16 PM: to: '/intl/country/he-IL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/hi-IN.json', 1:16:16 PM: to: '/intl/country/hi-IN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/hu-HU.json', 1:16:16 PM: to: '/intl/country/hu-HU.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/id-ID.json', 1:16:16 PM: to: '/intl/country/id-ID.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/it-IT.json', 1:16:16 PM: to: '/intl/country/it-IT.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ja-JP.json', 1:16:16 PM: to: '/intl/country/ja-JP.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ko-KR.json', 1:16:16 PM: to: '/intl/country/ko-KR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/lt-LT.json', 1:16:16 PM: to: '/intl/country/lt-LT.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/mn-MN.json', 1:16:16 PM: to: '/intl/country/mn-MN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ms-MY.json', 1:16:16 PM: to: '/intl/country/ms-MY.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/nb-NO.json', 1:16:16 PM: to: '/intl/country/nb-NO.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/nl-NL.json', 1:16:16 PM: to: '/intl/country/nl-NL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/pl-PL.json', 1:16:16 PM: to: '/intl/country/pl-PL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/pt-BR.json', 1:16:16 PM: to: '/intl/country/pt-BR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/pt-PT.json', 1:16:16 PM: to: '/intl/country/pt-PT.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ro-RO.json', 1:16:16 PM: to: '/intl/country/ro-RO.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ru-RU.json', 1:16:16 PM: to: '/intl/country/ru-RU.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/sk-SK.json', 1:16:16 PM: to: '/intl/country/sk-SK.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/sl-SI.json', 1:16:16 PM: to: '/intl/country/sl-SI.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/sv-SE.json', 1:16:16 PM: to: '/intl/country/sv-SE.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ta-IN.json', 1:16:16 PM: to: '/intl/country/ta-IN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/th-TH.json', 1:16:16 PM: to: '/intl/country/th-TH.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/tr-TR.json', 1:16:16 PM: to: '/intl/country/tr-TR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/uk-UA.json', 1:16:16 PM: to: '/intl/country/uk-UA.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/ur-PK.json', 1:16:16 PM: to: '/intl/country/ur-PK.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/vi-VN.json', 1:16:16 PM: to: '/intl/country/vi-VN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/zh-CN.json', 1:16:16 PM: to: '/intl/country/zh-CN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/country/zh-TW.json', 1:16:16 PM: to: '/intl/country/zh-TW.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ar-SA.json', 1:16:16 PM: to: '/intl/language/ar-SA.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/bn-BD.json', 1:16:16 PM: to: '/intl/language/bn-BD.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ca-ES.json', 1:16:16 PM: to: '/intl/language/ca-ES.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/cs-CZ.json', 1:16:16 PM: to: '/intl/language/cs-CZ.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/da-DK.json', 1:16:16 PM: to: '/intl/language/da-DK.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/de-DE.json', 1:16:16 PM: to: '/intl/language/de-DE.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/el-GR.json', 1:16:16 PM: to: '/intl/language/el-GR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/en-GB.json', 1:16:16 PM: to: '/intl/language/en-GB.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/en-US.json', 1:16:16 PM: to: '/intl/language/en-US.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/es-MX.json', 1:16:16 PM: to: '/intl/language/es-MX.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/fa-IR.json', 1:16:16 PM: to: '/intl/language/fa-IR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/fi-FI.json', 1:16:16 PM: to: '/intl/language/fi-FI.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/fo-FO.json', 1:16:16 PM: to: '/intl/language/fo-FO.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/fr-FR.json', 1:16:16 PM: to: '/intl/language/fr-FR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ga-ES.json', 1:16:16 PM: to: '/intl/language/ga-ES.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/he-IL.json', 1:16:16 PM: to: '/intl/language/he-IL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/hi-IN.json', 1:16:16 PM: to: '/intl/language/hi-IN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/hu-HU.json', 1:16:16 PM: to: '/intl/language/hu-HU.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/id-ID.json', 1:16:16 PM: to: '/intl/language/id-ID.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/it-IT.json', 1:16:16 PM: to: '/intl/language/it-IT.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ja-JP.json', 1:16:16 PM: to: '/intl/language/ja-JP.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ko-KR.json', 1:16:16 PM: to: '/intl/language/ko-KR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/lt-LT.json', 1:16:16 PM: to: '/intl/language/lt-LT.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/mn-MN.json', 1:16:16 PM: to: '/intl/language/mn-MN.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/ms-MY.json', 1:16:16 PM: to: '/intl/language/ms-MY.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/nb-NO.json', 1:16:16 PM: to: '/intl/language/nb-NO.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/nl-NL.json', 1:16:16 PM: to: '/intl/language/nl-NL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/pl-PL.json', 1:16:16 PM: to: '/intl/language/pl-PL.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: { 1:16:16 PM: from: '/intl/language/pt-BR.json', 1:16:16 PM: to: '/intl/language/pt-BR.json', 1:16:16 PM: conditions: { Cookie: [Array] }, 1:16:16 PM: status: 200 1:16:16 PM: }, 1:16:16 PM: ... 90 more items 1:16:16 PM: ]. 1:16:16 PM: ​ 1:16:16 PM: (@netlify/plugin-nextjs onBuild completed in 124ms) 1:16:16 PM: ​ 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: 4. Functions bundling 1:16:16 PM: ──────────────────────────────────────────────────────────────── 1:16:16 PM: ​ 1:16:16 PM: Packaging Functions from .netlify/functions-internal directory: 1:16:16 PM: - ___netlify-handler/___netlify-handler.js 1:16:16 PM: - ___netlify-odb-handler/___netlify-odb-handler.js 1:16:16 PM: - _ipx/_ipx.js 1:16:16 PM: ​ 1:16:37 PM: ​ 1:16:37 PM: (Functions bundling completed in 20.5s) 1:16:37 PM: ​ 1:16:37 PM: ──────────────────────────────────────────────────────────────── 1:16:37 PM: 5. Edge Functions bundling 1:16:37 PM: ──────────────────────────────────────────────────────────────── 1:16:37 PM: ​ 1:16:37 PM: Packaging Edge Functions from .netlify/edge-functions directory: 1:16:37 PM: - ipx 1:16:44 PM: ​ 1:16:44 PM: (Edge Functions bundling completed in 7.1s) 1:16:44 PM: ​ 1:16:44 PM: ──────────────────────────────────────────────────────────────── 1:16:44 PM: 6. @netlify/plugin-nextjs (onPostBuild event) 1:16:44 PM: ──────────────────────────────────────────────────────────────── 1:16:44 PM: ​ 1:16:44 PM: Next.js cache saved. 1:16:44 PM: Netlify configuration property "headers" value changed to [ 1:16:44 PM: { 1:16:44 PM: for: '/*', 1:16:44 PM: values: { 1:16:44 PM: 'X-DNS-Prefetch-Control': 'on', 1:16:44 PM: 'X-Frame-Options': 'SAMEORIGIN', 1:16:44 PM: 'Content-Security-Policy': "default-src 'self'; img-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self' api.umami.is; frame-ancestors 'self';" 1:16:44 PM: } 1:16:44 PM: } 1:16:44 PM: ]. 1:16:44 PM: ​ 1:16:44 PM: (@netlify/plugin-nextjs onPostBuild completed in 289ms) 1:16:44 PM: ​ 1:16:45 PM: Creating deploy upload records 1:16:44 PM: ──────────────────────────────────────────────────────────────── 1:16:44 PM: 7. Deploy site 1:16:44 PM: ──────────────────────────────────────────────────────────────── 1:16:44 PM: ​ 1:16:44 PM: Starting to deploy site from '.next' 1:16:44 PM: Creating deploy tree asynchronously 1:16:47 PM: 44 new files to upload 1:16:47 PM: 3 new functions to upload 1:16:57 PM: Site deploy was successfully initiated 1:16:57 PM: ​ 1:16:57 PM: (Deploy site completed in 13.2s) 1:16:58 PM: ​ 1:16:58 PM: ──────────────────────────────────────────────────────────────── 1:16:58 PM: Netlify Build Complete 1:16:58 PM: ──────────────────────────────────────────────────────────────── 1:16:58 PM: ​ 1:16:58 PM: (Netlify Build completed in 1m 36.5s) 1:16:58 PM: Caching artifacts 1:16:58 PM: Started saving node modules 1:16:58 PM: Finished saving node modules 1:16:58 PM: Started saving build plugins 1:16:58 PM: Finished saving build plugins 1:16:58 PM: Started saving yarn cache 1:17:00 PM: Starting post processing 1:17:00 PM: Post processing - HTML 1:17:01 PM: Post processing - header rules 1:17:01 PM: Post processing - redirect rules 1:17:01 PM: Post processing done 1:17:05 PM: Finished saving yarn cache 1:17:05 PM: Started saving pip cache 1:17:05 PM: Finished saving pip cache 1:17:05 PM: Site is live ✨ 1:17:05 PM: Started saving emacs cask dependencies 1:17:05 PM: Finished saving emacs cask dependencies 1:17:05 PM: Started saving maven dependencies 1:17:05 PM: Finished saving maven dependencies 1:17:05 PM: Started saving boot dependencies 1:17:05 PM: Finished saving boot dependencies 1:17:05 PM: Started saving rust rustup cache 1:17:05 PM: Finished saving rust rustup cache 1:17:05 PM: Started saving go dependencies 1:17:05 PM: Finished saving go dependencies 1:17:07 PM: Build script success 1:17:11 PM: Uploading Cache of size 802.7MB 1:17:16 PM: Finished processing build request in 2m34.915339067s ```
aidanm1999 commented 2 years ago

Managed to patch the issue, if you compare https://github.com/umami-software/umami/compare/v1.36.1...v1.37.0 and search for geo there are 2 places where it is referenced:

  1. scripts/check-db.js
  2. lib/request.js

If you change back the two lines, everything is working again on Netlify.

mikecao commented 2 years ago

The reason for this change was since the geo db is only used on the server side, it was moved into node_modules so we would save space on the static side. I guess Vercel is smart enough to know that the folder should be included in the server side files.

Do you think doing this would help? To get the best performance and use Netlify Edge Functions, set the env var NEXT_USE_NETLIFY_EDGE=true

If there is no solution for Netlify, we can roll back the changes.

aidanm1999 commented 2 years ago

Thanks @mikecao,

No luck unfortunately. I can get in touch with the Netlify team to see if they have a better insight into the issue?

davidlag0 commented 2 years ago

Managed to patch the issue, if you compare v1.36.1...v1.37.0 and search for geo there are 2 places where it is referenced:

1. [scripts/check-db.js](https://github.com/umami-software/umami/compare/v1.36.1...v1.37.0#diff-2871801a54601791d9e1004f04b2df5d7adc881560285ff3fa6bee7bf9697857)

2. [lib/request.js](https://github.com/umami-software/umami/compare/v1.36.1...v1.37.0#diff-5f6b6f8f421380e6eb5938b7f226bea4f442dc3c3ffc18f9c6171c6ecafad013)

If you change back the two lines, everything is working again on Netlify.

Thank you @aidanm1999 ! This got me up and running after having the same issue that you ran into! I did a bit of searching and I came across these 2 other projects although, I haven't tested them:

They each have different legal implications and I don't know enough about Netlify and node_modules files to know if space could be saved or not.

azat-io commented 2 years ago

@davidlag0 Can you see user's country?

davidlag0 commented 2 years ago

@azat-io No, umami didn't collect any data at all when I had the issue.

mikecao commented 2 years ago

Fixed in v1.38.0.