[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Polyfills](https://evolu.dev/docs/api-reference/common/Polyfills) › installPolyfills

```ts
function installPolyfills(): void;
```

Defined in: [packages/common/src/Polyfills.ts:35](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Polyfills.ts#L35)

Installs polyfills required by `@evolu/common`.

Installs:

- Resource-management polyfills (`Symbol.dispose`, `Symbol.asyncDispose`,
  `DisposableStack`, `AsyncDisposableStack`, and `SuppressedError`) for
  Safari and React Native
- `Map` and `WeakMap` upsert polyfills (`Map.prototype.getOrInsert`,
  `Map.prototype.getOrInsertComputed`, `WeakMap.prototype.getOrInsert`, and
  `WeakMap.prototype.getOrInsertComputed`) for Node 24 and React Native

The polyfills are implemented directly in the Evolu Library instead of being
third-party runtime dependencies. We audit their behavior against
specifications, conformance tests, and native implementations, and fix issues
when necessary. This lets Evolu understand and control every line of this
runtime code.

`@evolu/react-native` has its own `Polyfills` module and its
`installPolyfills` calls this function first, then installs React Native
specific polyfills.

Call this explicitly from the app entry point.

## See

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Resource_management
- https://github.com/es-shims/DisposableStack
- https://github.com/es-shims/DisposableStack/issues/9