diff --git a/packages/vite/package.json b/packages/vite/package.json index f7ed075d1f1d..5fe442257ce3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -81,7 +81,7 @@ "express": "4.19.2", "find-my-way": "8.2.0", "http-proxy-middleware": "2.0.6", - "isbot": "3.8.0", + "isbot": "5.1.6", "react": "19.0.0-beta-04b058868c-20240508", "react-server-dom-webpack": "19.0.0-beta-04b058868c-20240508", "vite": "5.2.11", diff --git a/packages/vite/src/streaming/createReactStreamingHandler.ts b/packages/vite/src/streaming/createReactStreamingHandler.ts index 763dad50e3ea..fbb03313a7a2 100644 --- a/packages/vite/src/streaming/createReactStreamingHandler.ts +++ b/packages/vite/src/streaming/createReactStreamingHandler.ts @@ -3,7 +3,7 @@ import path from 'path' import { Response } from '@whatwg-node/fetch' import type Router from 'find-my-way' import type { HTTPMethod } from 'find-my-way' -import isbot from 'isbot' +import { createIsbotFromList, list as isbotList } from 'isbot' import type { ViteDevServer } from 'vite' import { middlewareDefaultAuthProviderState } from '@redwoodjs/auth' @@ -28,8 +28,10 @@ interface CreateReactStreamingHandlerOptions { getMiddlewareRouter: () => Promise> } -const checkUaForSeoCrawler = isbot.spawn() -checkUaForSeoCrawler.exclude(['chrome-lighthouse']) +// Create an isbot instance that ignores the Chrome Lighthouse user agent +const isbot = createIsbotFromList( + isbotList.filter((record) => !record.includes('chrome-lighthouse')), +) export const createReactStreamingHandler = async ( { @@ -167,9 +169,7 @@ export const createReactStreamingHandler = async ( currentRoute.bundle && '/' + currentRoute.bundle, ].filter(Boolean) as string[] - const isSeoCrawler = checkUaForSeoCrawler( - req.headers.get('user-agent') || '', - ) + const isSeoCrawler = isbot(req.headers.get('user-agent') || '') // Using a function to get the CSS links because we need to wait for the // vite dev server to analyze the module graph diff --git a/yarn.lock b/yarn.lock index 1916e1ec9fcf..a741736db9bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8695,7 +8695,7 @@ __metadata: find-my-way: "npm:8.2.0" glob: "npm:10.3.15" http-proxy-middleware: "npm:2.0.6" - isbot: "npm:3.8.0" + isbot: "npm:5.1.6" react: "npm:19.0.0-beta-04b058868c-20240508" react-server-dom-webpack: "npm:19.0.0-beta-04b058868c-20240508" rollup: "npm:4.17.2" @@ -20635,10 +20635,10 @@ __metadata: languageName: node linkType: hard -"isbot@npm:3.8.0": - version: 3.8.0 - resolution: "isbot@npm:3.8.0" - checksum: 10c0/3e9daa907212db8e8e339fe0c7eacff7814de0db0aeef9ab379376b245f35058c6bdd2de0849442a791bc3d9587d749071e7d7e90aea00bf9f834f40c69ea16f +"isbot@npm:5.1.6": + version: 5.1.6 + resolution: "isbot@npm:5.1.6" + checksum: 10c0/c0883a4f91882abed46be2bedb0e36acf8db74ec9866d752991ebb2982c84faa04a774bd20d36b988701611e2fdf518a977edd640a9b28e668a91d3e2c48a3d7 languageName: node linkType: hard