Files
vercel__next.js/package.json
T
Tim Neutkens fb4c498852 Upgrade web-vitals to v6 and report soft navigations (#97232)
## Summary

Upgrades the vendored `web-vitals` dependency to v6.0.1 and enables
soft-navigation reporting for CLS, INP, and LCP. This lets
`useReportWebVitals` report metrics against the navigation where they
occurred, including `navigationURL` for route attribution.

The upgrade also removes the obsolete FID integration and compatibility
patch, regenerates the standard and attribution bundles, and updates the
public metric types and documentation to match the current upstream API.

Related to #97161.

## Verification

- Added production-mode coverage for initial and soft-navigation Web
Vitals reporting with both Turbopack and Webpack.

<!-- NEXT_JS_LLM -->
2026-09-03 09:45:19 +02:00

350 lines
16 KiB
JSON

{
"name": "nextjs-project",
"version": "0.0.0",
"private": true,
"workspaces": [
"packages/*"
],
"scripts": {
"new-error": "turbo gen error",
"new-test": "turbo gen test",
"pr-adopt": "node scripts/adopt-pr.js",
"clean": "lerna clean -y && lerna run clean && lerna exec 'node ../../scripts/rm.mjs dist'",
"build": "turbo run build --remote-cache-timeout 60 --summarize true",
"build-all": "turbo run build build-native-auto --remote-cache-timeout 60 --summarize true",
"lerna": "lerna",
"dev": "turbo run dev --parallel --filter=\"!@next/bundle-analyzer-ui\"",
"bench:render-pipeline": "tsx bench/render-pipeline/benchmark.ts",
"bench:render-pipeline:analyze": "tsx bench/render-pipeline/analyze-profiles.ts",
"bench:render-pipeline:client": "tsx bench/render-pipeline/client-trace.ts",
"bench:dev-validation": "tsx bench/dev-validation/benchmark.ts",
"pack-next": "tsx scripts/pack-next.ts",
"eval": "node run-evals.js",
"test-types": "tsc",
"test-unit": "jest test/unit/ packages/next/ packages/font",
"test-dev": "scripts/run-jest.sh --mode=dev --bundler=webpack --headless --",
"test-dev-webpack": "scripts/run-jest.sh --mode=dev --bundler=webpack --headless --",
"test-dev-experimental": "scripts/run-jest.sh --mode=dev --bundler=webpack --experimental --headless --",
"test-dev-experimental-webpack": "scripts/run-jest.sh --mode=dev --bundler=webpack --experimental --headless --",
"test-dev-rspack": "scripts/run-jest.sh --mode=dev --bundler=rspack --headless --",
"test-dev-experimental-rspack": "scripts/run-jest.sh --mode=dev --bundler=rspack --experimental --headless --",
"test-dev-turbo": "scripts/run-jest.sh --mode=dev --bundler=turbo --headless --",
"test-dev-experimental-turbo": "scripts/run-jest.sh --mode=dev --bundler=turbo --experimental --headless --",
"test-start": "scripts/run-jest.sh --mode=start --bundler=webpack --headless --",
"test-start-webpack": "scripts/run-jest.sh --mode=start --bundler=webpack --headless --",
"test-start-experimental": "scripts/run-jest.sh --mode=start --bundler=webpack --experimental --headless --",
"test-start-experimental-webpack": "scripts/run-jest.sh --mode=start --bundler=webpack --experimental --headless --",
"test-start-rspack": "scripts/run-jest.sh --mode=start --bundler=rspack --headless --",
"test-start-experimental-rspack": "scripts/run-jest.sh --mode=start --bundler=rspack --experimental --headless --",
"test-start-turbo": "scripts/run-jest.sh --mode=start --bundler=turbo --headless --",
"test-start-experimental-turbo": "scripts/run-jest.sh --mode=start --bundler=turbo --experimental --headless --",
"test-deploy": "scripts/run-jest.sh --mode=deploy --bundler=webpack --headless --",
"test-deploy-webpack": "scripts/run-jest.sh --mode=deploy --bundler=webpack --headless --",
"test-deploy-turbo": "scripts/run-jest.sh --mode=deploy --bundler=turbo --headless --",
"testonly-dev": "scripts/run-jest.sh --mode=dev --bundler=webpack --",
"testonly-dev-webpack": "scripts/run-jest.sh --mode=dev --bundler=webpack --",
"testonly-dev-rspack": "scripts/run-jest.sh --mode=dev --bundler=rspack --",
"testonly-dev-turbo": "scripts/run-jest.sh --mode=dev --bundler=turbo --",
"testonly-start": "scripts/run-jest.sh --mode=start --bundler=webpack --",
"testonly-start-webpack": "scripts/run-jest.sh --mode=start --bundler=webpack --",
"testonly-start-rspack": "scripts/run-jest.sh --mode=start --bundler=rspack --",
"testonly-start-turbo": "scripts/run-jest.sh --mode=start --bundler=turbo --",
"testonly-deploy": "scripts/run-jest.sh --mode=deploy --bundler=webpack --",
"testonly-deploy-webpack": "scripts/run-jest.sh --mode=deploy --bundler=webpack --",
"testonly-deploy-turbo": "scripts/run-jest.sh --mode=deploy --bundler=turbo --",
"test": "scripts/run-jest.sh --bundler=webpack --headless --",
"test-webpack": "scripts/run-jest.sh --bundler=webpack --headless --",
"test-rspack": "scripts/run-jest.sh --bundler=rspack --headless --",
"test-turbo": "scripts/run-jest.sh --bundler=turbo --headless --",
"testonly": "jest --runInBand",
"testheadless": "scripts/run-jest.sh --headless --",
"genstats": "cross-env LOCAL_STATS=true node .github/actions/next-stats-action/src/index.js",
"git-reset": "git reset --hard HEAD",
"git-clean": "git clean -d -x -e node_modules -e packages -f",
"typescript": "tsc --noEmit",
"lint-typescript": "turbo run typescript",
"lint-eslint": "eslint --config eslint.cli.config.mjs",
"lint-ast-grep": "ast-grep scan",
"lint-no-typescript": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" run-p prettier-check \"lint-eslint .\" lint-language",
"types-and-precompiled": "run-p \"lint-typescript --log-order=stream\" check-compiler-fixtures types:test-lib && pnpm check-precompiled",
"check-compiler-fixtures": "find crates/next-custom-transforms/tests/fixture -type f -name 'tsconfig.json' -print0 | xargs --null -I'{}' pnpm tsc --noEmit --project '{}'",
"validate-externals-doc": "node ./scripts/validate-externals-doc.js",
"check-unused-turbo-tasks": "node scripts/check-unused-turbo-tasks.mjs",
"generate-browser-variant-aliases": "node scripts/generate-browser-variant-aliases.mjs",
"lint": "run-p test-types lint-typescript prettier-check \"lint-eslint .\" lint-ast-grep lint-language check-unused-turbo-tasks",
"lint-fix": "pnpm prettier-fix && pnpm lint-eslint --fix .",
"lint-language": "alex . --quiet",
"prettier-check": "prettier --check .",
"check-examples": "./scripts/check-examples.sh",
"get-test-timings": "node run-tests.js --timings --write-timings -g 1/1",
"prettier-fix": "prettier --write .",
"types": "lerna run types --stream",
"types:test-lib": "tsc --project test/lib/tsconfig.json",
"check-precompiled": "./scripts/check-pre-compiled.sh",
"lint-staged": "lint-staged",
"next-with-deps": "./scripts/next-with-deps.sh",
"next": "cross-env NEXT_PRIVATE_LOCAL_DEV=1 NEXT_TELEMETRY_DISABLED=1 NODE_OPTIONS=\"--trace-deprecation --enable-source-maps\" next",
"next-no-sourcemaps": "echo 'No longer supported. Use `pnpm next --disable-source-maps` instead'; exit 1;",
"debug": "cross-env NEXT_PRIVATE_LOCAL_DEV=1 NEXT_TELEMETRY_DISABLED=1 node --inspect --trace-deprecation --enable-source-maps packages/next/dist/bin/next",
"debug-brk": "cross-env NEXT_PRIVATE_LOCAL_DEV=1 NEXT_TELEMETRY_DISABLED=1 node --inspect-brk --trace-deprecation --enable-source-maps packages/next/dist/bin/next",
"pnpm:devPreinstall": "node scripts/create-next-bin-placeholder.mjs",
"postinstall": "node scripts/git-configure.mjs && node scripts/install-native.mjs",
"version": "pnpm install --no-frozen-lockfile && git add .",
"prepare": "husky",
"sync-react": "node ./scripts/sync-react.js",
"update-google-fonts": "node ./scripts/update-google-fonts.js",
"patch-next": "tsx scripts/patch-next.ts",
"unpack-next": "tsx scripts/unpack-next.ts",
"swc-build-native": "tsx scripts/build-native.ts",
"swc-build-wasm": "tsx scripts/build-wasm.cjs",
"build-turbopack-cli": "cargo build -p turbopack-cli --release",
"sweep": "tsx scripts/sweep.cjs",
"storybook": "turbo run storybook",
"build-storybook": "turbo run build-storybook",
"test-storybook": "turbo run test-storybook",
"with-rspack": "cross-env NEXT_RSPACK=1 NEXT_TEST_USE_RSPACK=1",
"with-turbo": "cross-env IS_TURBOPACK_TEST=1",
"with-webpack": "cross-env IS_WEBPACK_TEST=1",
"with-experimental": "cross-env __NEXT_CACHE_COMPONENTS=true"
},
"devDependencies": {
"@actions/core": "1.10.1",
"@ast-grep/cli": "0.42.0",
"@babel/core": "7.26.10",
"@babel/eslint-parser": "7.24.6",
"@babel/generator": "7.27.0",
"@babel/parser": "7.27.0",
"@babel/plugin-syntax-explicit-resource-management": "7.25.7",
"@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-react": "7.26.3",
"@edge-runtime/jest-environment": "4.0.0",
"@emotion/cache": "11.11.0",
"@emotion/react": "11.11.1",
"@eslint/compat": "1.4.0",
"@eslint/eslintrc": "^3",
"@eslint/js": "9.37.0",
"@fullhuman/postcss-purgecss": "1.3.0",
"@jest/expect-utils": "29.7.0",
"@mdx-js/loader": "2.2.1",
"@mdx-js/react": "2.2.1",
"@next/bundle-analyzer": "workspace:*",
"@next/env": "workspace:*",
"@next/eslint-plugin-next": "workspace:*",
"@next/font": "workspace:*",
"@next/mdx": "workspace:*",
"@next/playwright": "workspace:*",
"@next/plugin-storybook": "workspace:*",
"@next/polyfill-module": "workspace:*",
"@next/polyfill-nomodule": "workspace:*",
"@next/swc": "workspace:*",
"@next/third-parties": "workspace:*",
"@opentelemetry/api": "1.4.1",
"@picocss/pico": "1.5.10",
"@rspack/core": "1.6.7",
"@slack/web-api": "7.9.1",
"@swc/cli": "0.1.55",
"@swc/core": "1.11.24",
"@swc/helpers": "0.5.23",
"@swc/types": "0.1.7",
"@taskr/esnext": "1.1.0",
"@testing-library/jest-dom": "6.1.2",
"@testing-library/react": "^15.0.5",
"@types/busboy": "1.5.3",
"@types/cheerio": "0.22.16",
"@types/cookie": "0.3.3",
"@types/cross-spawn": "6.0.0",
"@types/fs-extra": "8.1.0",
"@types/glob": "7.1.1",
"@types/html-validator": "5.0.3",
"@types/http-proxy": "1.17.17",
"@types/jest": "29.5.5",
"@types/js-yaml": "4.0.9",
"@types/node": "20.17.7",
"@types/node-fetch": "2.6.1",
"@types/react": "19.2.18",
"@types/react-dom": "19.2.4",
"@types/shell-quote": "1.7.1",
"@types/string-hash": "1.1.1",
"@types/trusted-types": "2.0.3",
"@types/yargs": "16.0.11",
"@vercel/agent-eval": "2.2.1",
"@vercel/blob": "2.3.2",
"@vercel/devlow-bench": "workspace:*",
"@vercel/kv": "3.0.0",
"@vercel/og": "1.0.1",
"abort-controller": "3.0.0",
"alex": "9.1.0",
"async-sema": "3.0.1",
"babel-plugin-react-compiler": "0.0.0-experimental-1371fcb-20260227",
"browserslist": "4.28.1",
"buffer": "5.6.0",
"cheerio": "0.22.0",
"cookie": "0.4.1",
"cors": "2.8.5",
"coveralls": "3.0.3",
"create-next-app": "workspace:*",
"critters": "0.0.6",
"cross-env": "6.0.3",
"cross-spawn": "6.0.5",
"dd-trace": "4.12.0",
"es5-ext": "0.10.53",
"escape-string-regexp": "2.0.0",
"eslint": "9.37.0",
"eslint-config-next": "workspace:*",
"eslint-formatter-codeframe": "7.32.1",
"eslint-plugin-eslint-plugin": "5.2.1",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jest": "27.6.3",
"eslint-plugin-jsdoc": "48.0.4",
"eslint-plugin-mdx": "3.1.5",
"eslint-plugin-react": "7.37.0",
"eslint-plugin-react-hooks": "0.0.0-experimental-ab18f33d-20260220",
"event-stream": "4.0.1",
"execa": "2.0.3",
"expect": "29.7.0",
"expect-type": "0.14.2",
"express": "4.17.0",
"faker": "5.5.3",
"faunadb": "2.6.1",
"find-up": "4.1.0",
"firebase": "7.14.5",
"flat": "5.0.2",
"fs-extra": "9.0.0",
"get-port": "5.1.1",
"get-port-please": "3.1.1",
"glob": "7.1.6",
"globals": "16.4.0",
"gzip-size": "5.1.1",
"html-validator": "5.1.18",
"http-proxy": "1.18.1",
"husky": "9.0.11",
"image-size": "1.2.1",
"is-animated": "2.0.2",
"isomorphic-unfetch": "3.0.0",
"jest": "29.7.0",
"jest-diff": "29.7.0",
"jest-environment-jsdom": "29.7.0",
"jest-extended": "4.0.2",
"jest-junit": "16.0.0",
"jest-snapshot": "30.0.0-alpha.6",
"js-yaml": "4.2.0",
"json5": "2.2.3",
"kleur": "^4.1.0",
"ky": "0.19.1",
"ky-universal": "0.6.0",
"lerna": "9.0.3",
"lint-staged": "15.2.2",
"lodash": "4.18.1",
"lost": "8.3.1",
"minimatch": "3.0.4",
"moment": "^2.24.0",
"nanoid": "3.1.30",
"next": "workspace:*",
"node-fetch": "2.6.7",
"node-plop": "0.31.1",
"npm-run-all": "4.1.5",
"nprogress": "0.2.0",
"octokit": "3.1.0",
"outdent": "0.8.0",
"pixrem": "5.0.0",
"playwright": "1.61.0",
"playwright-chromium": "1.61.0",
"postcss": "8.5.23",
"postcss-nested": "4.2.1",
"postcss-pseudoelements": "5.0.0",
"postcss-short-size": "4.0.0",
"postcss-trolling": "0.1.7",
"prettier": "3.6.2",
"pretty-bytes": "5.3.0",
"pretty-ms": "7.0.0",
"random-seed": "0.3.0",
"react": "19.0.0",
"react-builtin": "npm:react@19.3.0-canary-f4e439e1-20260902",
"react-dom": "19.0.0",
"react-dom-builtin": "npm:react-dom@19.3.0-canary-f4e439e1-20260902",
"react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-f4e439e1-20260902",
"react-experimental-builtin": "npm:react@0.0.0-experimental-f4e439e1-20260902",
"react-is-builtin": "npm:react-is@19.3.0-canary-f4e439e1-20260902",
"react-server-dom-turbopack": "npm:react-server-dom-turbopack@19.3.0-canary-f4e439e1-20260902",
"react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-f4e439e1-20260902",
"react-server-dom-webpack": "npm:react-server-dom-webpack@19.3.0-canary-f4e439e1-20260902",
"react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-f4e439e1-20260902",
"react-ssr-prepass": "1.0.8",
"react-virtualized": "9.22.3",
"request-promise-core": "1.1.2",
"resolve-from": "5.0.0",
"sass": "1.54.0",
"satori": "0.29.0",
"scheduler-builtin": "npm:scheduler@0.28.0-canary-f4e439e1-20260902",
"scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-f4e439e1-20260902",
"seedrandom": "3.0.5",
"semver": "7.3.7",
"serve-handler": "6.1.6",
"shell-quote": "1.7.3",
"strip-ansi": "6.0.0",
"styled-jsx": "5.1.6",
"styled-jsx-plugin-postcss": "3.0.2",
"swr": "^2.2.4",
"tailwindcss": "3.2.7",
"taskr": "1.1.0",
"tree-kill": "1.2.2",
"tsec": "0.2.1",
"tsx": "4.19.2",
"turbo": "2.9.4",
"typescript": "6.0.2",
"typescript-eslint": "8.46.0",
"unfetch": "4.2.0",
"wait-port": "0.2.2",
"webpack": "5.98.0",
"webpack-bundle-analyzer": "4.7.0",
"webpack-dev-server": "5.2.0",
"whatwg-fetch": "3.0.0",
"ws": "8.2.3",
"yargs": "16.2.0"
},
"engines": {
"node": ">=20.9.0"
},
"packageManager": "pnpm@10.33.0",
"pnpm": {
"overrides": {
"postcss": "8.5.23",
"webpack": "5.98.0",
"browserslist": "4.28.1",
"caniuse-lite": "1.0.30001746",
"@types/node": "20.17.7",
"@babel/core": "7.26.10",
"@babel/parser": "7.27.0",
"@babel/types": "7.27.0",
"@babel/traverse": "7.27.0",
"@types/react": "19.2.18",
"@types/react-dom": "19.2.4",
"@types/retry": "0.12.0",
"jest-snapshot": "30.0.0-alpha.6",
"react": "npm:react@19.3.0-canary-f4e439e1-20260902",
"react-dom": "npm:react-dom@19.3.0-canary-f4e439e1-20260902",
"react-is": "npm:react-is@19.3.0-canary-f4e439e1-20260902",
"scheduler": "npm:scheduler@0.28.0-canary-f4e439e1-20260902"
},
"packageExtensions": {
"eslint-plugin-react-hooks@0.0.0-experimental-6de32a5a-20250822": {
"dependencies": {
"@babel/plugin-proposal-private-methods": "^7.18.6"
}
}
},
"patchedDependencies": {
"webpack-sources@3.2.3": "patches/webpack-sources@3.2.3.patch",
"stacktrace-parser@0.1.10": "patches/stacktrace-parser@0.1.10.patch",
"taskr@1.1.0": "patches/taskr@1.1.0.patch",
"minizlib@3.1.0": "patches/minizlib@3.1.0.patch",
"@rspack/core@1.6.7": "patches/@rspack__core@1.6.7.patch",
"@modelcontextprotocol/sdk": "patches/@modelcontextprotocol__sdk.patch",
"@vercel/blob": "patches/@vercel__blob.patch",
"postcss-scss": "patches/postcss-scss.patch",
"playwright-core@1.61.0": "patches/playwright-core@1.61.0.patch",
"@types/node@20.17.7": "patches/@types__node@20.17.7.patch"
}
}
}