> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wyrly.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# TypeScript configuration

> Configure TypeScript for Wyrly's standard-decorator model.

Wyrly is designed for TypeScript standard decorators.

It does not require `reflect-metadata`, `emitDecoratorMetadata`, or parameter decorators.

## Recommended settings

For TypeScript projects, use standard decorators:

```json theme={null}
{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ESNext",
    "moduleResolution": "Bundler",
    "experimentalDecorators": false,
    "emitDecoratorMetadata": false,
    "strict": true
  }
}
```

The exact `module` and `moduleResolution` values depend on your runtime and build tool, but avoid
enabling legacy decorator metadata.

## Deno

Deno 2.x users should install from JSR:

```sh theme={null}
deno add jsr:@wyrly/core
```

Then import through the configured bare specifier:

```ts theme={null}
import { createContainer, Injectable, token } from "@wyrly/core";
```

## Node.js and Bun

Node.js and Bun users should install from npm:

```sh theme={null}
npm install @wyrly/core
```

Use ESM where possible:

```json theme={null}
{
  "type": "module"
}
```

## No reflect metadata setup

Do not add this:

```ts theme={null}
import "reflect-metadata";
```

Wyrly does not read runtime parameter types. Dependencies are declared explicitly with tokens and
`deps`.
