Skip to content

tsmetadata/polyfill

Repository files navigation

Symbol.metadata Polyfill

@tsmetadata/polyfill provides the necessary polyfill for legacy runtimes to properly use decorator metadata in TypeScript 5.2+.

In addition, the library provides the necessary global type declaration for Symbol.metadata.

🌱 Install

npm install @tsmetadata/polyfill

⚙️ Usage

As early as possible, import the polyfill.

import '@tsmetadata/polyfill';

After doing so, Symbol.metadata will be defined.

You may also need to configure your tsconfig.json to target <= ES2022 and include the esnext.decorators library. The easiest way to do this is to extend our included polyfill-ready configuration.

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": ["@tsmetadata/polyfill/lib/tsconfig.polyfill.json"],
}

🙏 Thanks

Special thanks to Oleksandr Tarasiuk for implementing decorator metadata and to Andrew Branch for releasing an early version of this polyfill.

About

Metadata symbol polyfill for legacy runtimes.

Topics

Resources

License

Stars

Watchers

Forks

Contributors