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 >;
@@ -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 () =>