diff --git a/packages/runtime/package.json b/packages/runtime/package.json index d0ffa9ddd..24fb1d4da 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -40,12 +40,12 @@ "postinstall": "node ./scripts/postinstall.mjs" }, "devDependencies": { + "@remix-run/web-fetch": "^4.3.3", "@types/react": "^18.0.8", "@types/react-dom": "^18.0.3", "react": "^18.0.0", "react-dom": "^18.0.0", - "regenerator-runtime": "^0.13.9", - "@remix-run/web-fetch": "^4.3.3" + "regenerator-runtime": "^0.13.9" }, "sideEffects": [ "./esm/polyfills/signal.js", @@ -62,7 +62,8 @@ "htmlparser2": "^8.0.1", "react-router-dom": "6.21.3", "semver": "^7.4.0", - "source-map": "^0.7.4" + "source-map": "^0.7.4", + "universal-env": "^3.3.3" }, "peerDependencies": { "react": "^18.1.0", diff --git a/packages/runtime/src/dynamic.tsx b/packages/runtime/src/dynamic.tsx index 03300aadf..5558ee40a 100644 --- a/packages/runtime/src/dynamic.tsx +++ b/packages/runtime/src/dynamic.tsx @@ -1,9 +1,8 @@ import type { ReactNode } from 'react'; import React, { Suspense, lazy } from 'react'; +import { isNode } from 'universal-env'; import useMounted from './useMounted.js'; -const isServer = import.meta.renderer === 'server'; - type ComponentModule

= { default: React.ComponentType

}; export type LoaderComponent

= Promise | ComponentModule

>; @@ -36,7 +35,7 @@ export function dynamic

(loader: Loader

, option?: DynamicOptions) { if (!realLoader) return DefaultFallback; const Fallback = fallback; - if (!ssr && isServer) { + if (!ssr && isNode) { return () => ; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2aefadb9..0d64a87b9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2377,6 +2377,9 @@ importers: source-map: specifier: ^0.7.4 version: 0.7.4 + universal-env: + specifier: ^3.3.3 + version: 3.3.3 devDependencies: '@remix-run/web-fetch': specifier: ^4.3.3