- Install the package
npm i -D ts-transformer-transformerName
- Add transformer with one of possible ways
Unfortunately, TypeScript itself does not currently provide any easy way to use custom transformers (see microsoft/TypeScript#14419). The followings are the example usage of the custom transformer.
// webpack.config.js
const transformerName = require('ts-transformer-transformerName').default;
module.exports = {
// ...
module: {
rules: [
{
test: /\.ts$/,
loader: 'ts-loader', // or 'awesome-typescript-loader'
options: {
getCustomTransformers: program => ({
before: [
transformerName(program, { entrySourceFiles: ['./src/index.ts'] })
]
})
}
}
]
}
};
// rollup.config.js
import typescript from 'rollup-plugin-typescript2';
import transformerName from 'ts-transformer-transformerName';
export default {
// ...
plugins: [
typescript({ transformers: [service => ({
before: [ transformerName(service.getProgram(), { entrySourceFiles: ['./src/index.ts'] }) ],
after: []
})] })
]
};
See ttypescript's README for how to use this with module bundlers such as webpack or Rollup.
tsconfig.json:
{
"compilerOptions": {
// ...
"plugins": [
{ "transform": "ts-transformer-transformerName", "entrySourceFiles": ["./src/index.ts"] }
]
},
// ...
}