Inspired by the brilliant esm-env
Uses export conditions to return if the current environment is react-server
or not. Bundlers can statically determine the environment at build time & remove dead code.
This is useful for writing utility functions that may be called by either server or client components.
npm install rsc-env
// utils/shared.ts
import { rsc } from "rsc-env";
// This code will be treeshaken from client-component builds
if(rsc) console.log("I'm running in a server component")