Skip to content
AutoMapper TypeScript
Esc
navigateopen⌘Jpreview
On this page

Installation

Install AutoMapper TypeScript and configure a class, POJO, ORM, or NestJS project.

Choose a strategy

Install @automapper/core and one strategy.

# Classes
npm install @automapper/core @automapper/classes reflect-metadata

# POJOs
npm install @automapper/core @automapper/pojos

# MikroORM
npm install @automapper/core @automapper/classes @automapper/mikro reflect-metadata

# Sequelize
npm install @automapper/core @automapper/classes @automapper/sequelize reflect-metadata
# Classes
pnpm add @automapper/core @automapper/classes reflect-metadata

# POJOs
pnpm add @automapper/core @automapper/pojos

# MikroORM
pnpm add @automapper/core @automapper/classes @automapper/mikro reflect-metadata

# Sequelize
pnpm add @automapper/core @automapper/classes @automapper/sequelize reflect-metadata
# Classes
bun add @automapper/core @automapper/classes reflect-metadata

# POJOs
bun add @automapper/core @automapper/pojos

# MikroORM
bun add @automapper/core @automapper/classes @automapper/mikro reflect-metadata

# Sequelize
bun add @automapper/core @automapper/classes @automapper/sequelize reflect-metadata

Configure class metadata

The classes-based strategies use decorators and emitted design metadata:

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}

Import reflect-metadata once, before decorated models are evaluated:

import "reflect-metadata";

ESM setup

For Node.js applications, use an ESM-compatible package configuration and TypeScript module resolution. For example:

{
  "type": "module"
}

Your framework or bundler may provide its own ESM configuration. The important requirement is that it does not attempt to load AutoMapper packages with CommonJS require().

Last updated on July 16, 2026

Was this page helpful?