{
"checkedAt": "2026-10-14",
"source": "Official npm registry metadata fetched by npm view",
"registry": "https://registry.npmjs.org",
"packages": {
"react": {
"version": "19.3.0",
"engines": {
"node": ">=0.10.0"
},
"dist.integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==",
"metadataUrl": "https://registry.npmjs.org/react/19.3.0"
},
"react-dom": {
"version": "19.3.0",
"peerDependencies": {
"react": "^19.3.0"
},
"dist.integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==",
"metadataUrl": "https://registry.npmjs.org/react-dom/19.3.0"
},
"react-router": {
"version": "8.4.0",
"engines": {
"node": ">=22.22.0"
},
"peerDependencies": {
"react": ">=19.2.7",
"react-dom": ">=19.2.7"
},
"dist.integrity": "sha512-JtydAkBvU9UTEe5qNC+POhu+ZBNM7rlKY2IegwXc7Idj7xfRG16x5RZrw3mju+XlqBxfvb2ky9P3jUp9WyWC1g==",
"metadataUrl": "https://registry.npmjs.org/react-router/8.4.0"
},
"typescript": {
"version": "7.0.2",
"engines": {
"node": ">=16.20.0"
},
"dist.integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
"metadataUrl": "https://registry.npmjs.org/typescript/7.0.2"
},
"vite": {
"version": "8.3.4",
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
"tsx": "^4.8.1",
"jiti": ">=1.21.0",
"less": "^4.0.0",
"sass": "^1.70.0",
"yaml": "^2.4.2",
"stylus": ">=0.54.8",
"terser": "^5.16.0",
"esbuild": "^0.27.0 || ^0.28.0",
"sugarss": "^5.0.0",
"@types/node": "^20.19.0 || >=22.12.0",
"sass-embedded": "^1.70.0",
"@vitejs/devtools": "^0.7.1"
},
"dist.integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==",
"metadataUrl": "https://registry.npmjs.org/vite/8.3.4"
},
"@vitejs/plugin-react": {
"version": "6.1.2",
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
"vite": "^8.0.0",
"oxc-transform-react": "^0.152.0",
"@rolldown/plugin-babel": "^0.1.7 || ^0.2.0",
"babel-plugin-react-compiler": "^1.0.0"
},
"dist.integrity": "sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==",
"metadataUrl": "https://registry.npmjs.org/%40vitejs%2Fplugin-react/6.1.2"
},
"vitest": {
"version": "5.0.4",
"engines": {
"node": "^22.12.0 || ^24.0.0 || >=26.0.0"
},
"peerDependencies": {
"vite": "^6.4.0 || ^7.0.0 || ^8.0.0",
"jsdom": "*",
"happy-dom": "*",
"@vitest/ui": "5.0.4",
"@types/node": "^22.0.0 || >=24.0.0",
"@edge-runtime/vm": "*",
"@opentelemetry/api": "^1.9.0",
"@vitest/coverage-v8": "5.0.4",
"@vitest/browser-preview": "5.0.4",
"@vitest/coverage-istanbul": "5.0.4",
"@vitest/browser-playwright": "5.0.4",
"@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0"
},
"dist.integrity": "sha512-z0WxZRV2Sg48wF0FSgMq3TFG8JS38/Qr96vZVZdX6+Em9raQTvnXQvdTFJe2m3rfyJnEHeHQ/snceIdi8D1pVg==",
"metadataUrl": "https://registry.npmjs.org/vitest/5.0.4"
},
"jsdom": {
"version": "30.1.2",
"engines": {
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
},
"peerDependencies": {
"canvas": "^3.2.3"
},
"dist.integrity": "sha512-0FFE/jE1rppmVfUrJUgxqXjcwolZYIGtAgj1pTussMhNZxIxi7W/PvfWaMNroGi2B36X1IKHbexpZ9DhkoOPiQ==",
"metadataUrl": "https://registry.npmjs.org/jsdom/30.1.2"
},
"@types/react": {
"version": "19.3.0",
"peerDependencies": {},
"dist.integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==",
"metadataUrl": "https://registry.npmjs.org/%40types%2Freact/19.3.0"
},
"@types/react-dom": {
"version": "19.3.0",
"peerDependencies": {
"@types/react": "^19.3.0"
},
"dist.integrity": "sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==",
"metadataUrl": "https://registry.npmjs.org/%40types%2Freact-dom/19.3.0"
},
"@types/node": {
"version": "24.19.2",
"dist.integrity": "sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==",
"metadataUrl": "https://registry.npmjs.org/%40types%2Fnode/24.19.2"
},
"@testing-library/react": {
"version": "16.3.3",
"engines": {
"node": ">=18"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0",
"@types/react": "^18.0.0 || ^19.0.0",
"@types/react-dom": "^18.0.0 || ^19.0.0",
"@testing-library/dom": "^10.0.0"
},
"dist.integrity": "sha512-Uo193NgQbPMz6lrrhtRQQFcMC6Re/ELLFbbuVL30WDlZxlpZf9/lMHTAVxPRLw1q1iu9OJmR1c2BLiENRstdBg==",
"metadataUrl": "https://registry.npmjs.org/%40testing-library%2Freact/16.3.3"
},
"@testing-library/user-event": {
"version": "14.6.8",
"engines": {
"npm": ">=6",
"node": ">=12"
},
"peerDependencies": {
"@testing-library/dom": ">=7.21.4"
},
"dist.integrity": "sha512-vgSSqnANMnkcYR/vUNDbwS7aM3OErRLNUG8vCVVlj4oc6cKffUrccX7UAS5AmJQQNZTSibi9z5GvvRZ0aYgUCQ==",
"metadataUrl": "https://registry.npmjs.org/%40testing-library%2Fuser-event/14.6.8"
},
"@testing-library/jest-dom": {
"version": "7.0.1",
"engines": {
"npm": ">=6",
"node": ">=22",
"yarn": ">=1"
},
"peerDependencies": {
"vitest": ">= 0.32",
"@testing-library/dom": ">=10 <11"
},
"dist.integrity": "sha512-oMDTC3oA+6CXSO2JZnvOI7CA6oVub6kij5ggk9ohwye5slmkwxYDXcPOVxgMw/RQlticjtO0C1RZkR97HgrWMw==",
"metadataUrl": "https://registry.npmjs.org/%40testing-library%2Fjest-dom/7.0.1"
},
"@testing-library/dom": {
"version": "10.4.2",
"engines": {
"node": ">=18"
},
"dist.integrity": "sha512-yzr2S9HyAIdhz2/6qHgbs665Q7PKVcDF05vsOlHPxG1mo36gKVesdYVeDLnXgfjJ03CrKRk08knc6+E/9m8v2Q==",
"metadataUrl": "https://registry.npmjs.org/%40testing-library%2Fdom/10.4.2"
}
},
"runtime": {
"node": "24.19.0",
"npm": "11.9.0"
},
"selection": "Current stable npm versions retrieved on the stated date, except @types/node intentionally matches the Node 24 runtime major.",
"installation": "Clean npm ci succeeded using the committed lockfile; exact command and outcome in code-verification.json."
}