Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lorissigrist/rsc-env

A tiny package that uses export conditions do differentiate between server-component and non-server-component environments
https://github.com/lorissigrist/rsc-env

app-router app-router-nextjs nextjs14 react-server-components rsc

Last synced: 11 days ago
JSON representation

A tiny package that uses export conditions do differentiate between server-component and non-server-component environments

Awesome Lists containing this project

README

        

# RSC-ENV

Inspired by the brilliant [`esm-env`](https://github.com/benmccann/esm-env?tab=readme-ov-file)

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.

## Example

```bash
npm install rsc-env
```

```ts
// 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")
```

## License

[MIT](./LICENSE.md)