NestJS で ts ファイルの位置をスタックトレースに表示するために node-source-map-support を導入する方法
NestJS で ts ファイルの位置をスタックトレースに表示するために node-source-map-support を導入する方法をご紹介します。
NestJS のスタックトレースが .js ファイルの位置でエラー発生箇所を特定するのに困っていたので、 これを .ts ファイルにするために source map を導入しました。
npm install source-map-support --save
AppModule で import ‘source-map-support/register’; を追記するだけで OK です。
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
if (process.env.NODE_ENV === 'development') {
require('source-map-support/register');
}
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
上記で NODE_ENV ‘development’ のときのみ require(‘source-map-support/register’); しているのは理由がありまして ‘production’ で ‘source-map-support/register’ を利用すると、 Sentry へ Source Map が正しく反映されないためです。
if (process.env.NODE_ENV === 'development') {
require('source-map-support/register');
}
以上、NestJS で ts ファイルの位置をスタックトレースに表示するために node-source-map-support を導入した、現場からお送りしました。