Registry / devops / esbuild-plugin-typescript-decorators

esbuild-plugin-typescript-decorators

JSON →
library0.1.0jsnpmunverified

An ESBuild plugin that enables TypeScript decorator metadata emission (emitDecoratorMetadata) which ESBuild does not support natively. Version 0.1.0 is the initial release, with no further updates. It fills a gap for developers using ESBuild with decorators, as ESBuild skips type system features. This plugin ensures Reflect.getMetadata returns correct type information (e.g., design:type) during transpilation. It is a lightweight alternative to switching to tsc or ts-jest, but limited to emitDecoratorMetadata support only.

npm install esbuild-plugin-typescript-decorators
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-TYP
E
esbuild-plugin-typescript-decorators
devopsjavascriptv0.1.0
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–223 runs
build_error
glibc
node 18–223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

esbuildDecorators
✓ import { esbuildDecorators } from 'esbuild-plugin-typescript-decorators'
✗ const esbuildDecorators = require('esbuild-plugin-typescript-decorators').esbuildDecorators
Named export only; no default export.
esbuildDecorators (as plugin)
✓ plugins: [esbuildDecorators()]
✗ plugins: [esbuildDecorators]
Must call as function, it returns a plugin object.
esbuild
✓ import esbuild from 'esbuild'
✗ const esbuild = require('esbuild')
CommonJS require fails because esbuild is ESM-only in recent versions.

Shows basic usage to bundle a TypeScript file with decorator metadata using ESBuild and the plugin.

import esbuild from 'esbuild' import { esbuildDecorators } from 'esbuild-plugin-typescript-decorators' await esbuild.build({ entryPoints: ['src/index.ts'], outfile: 'dist/index.js', bundle: true, tsconfig: 'tsconfig.json', // must have "experimentalDecorators": true and "emitDecoratorMetadata": true plugins: [ esbuildDecorators() ] })
Debug
Known issues
gotchaESBuild does not support decorators at all beyond basic transpilation; this plugin only adds emitDecoratorMetadata, not full decorator support (e.g., no proposal-stage decorators).
fix
Use a different tool like tsc or swc for full decorator support.
affects: >=0.1.0
gotchaPlugin must be called as a function (esbuildDecorators()), not passed directly.
fix
Use esbuildDecorators() in plugins array.
affects: >=0.1.0
deprecatedPackage has not been updated since v0.1.0; may not work with latest ESBuild versions (e.g., ESBuild v0.20+).
fix
Check compatibility; consider forking or using alternatives.
affects: >=0.1.0
Errors
Common errors & fixes
Error: [plugin: esbuild-decorators] Cannot find module 'typescript'
Missing TypeScript as a peer dependency.
fix
Install typescript: npm install --save-dev typescript
TypeError: esbuildDecorators is not a function
Importing as default instead of named export or forgetting to call it.
fix
Use import { esbuildDecorators } from 'esbuild-plugin-typescript-decorators' and then in plugins: [esbuildDecorators()]
Error: Reflect.getMetadata returns undefined even with plugin
tsconfig.json missing emitDecoratorMetadata or experimentalDecorators.
fix
Set "experimentalDecorators": true and "emitDecoratorMetadata": true in tsconfig.
Upgrade
Version history
0.1.0latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency; plugin works with ESBuild v0.9+
Agent activity
4 hits · last 30 days
node
4
Resources
esbuild-plugin-typescript-decorators — npm install esbuild-plugin-typescript-decorators · libregistry