diff --git a/actions/start.action.ts b/actions/start.action.ts index f3bae2990..93ba6ee82 100644 --- a/actions/start.action.ts +++ b/actions/start.action.ts @@ -43,9 +43,8 @@ export class StartAction extends BuildAction { const binaryToRun = binaryToRunOption && (binaryToRunOption.value as string | undefined); - const { options: tsOptions } = this.tsConfigProvider.getByConfigFilename( - pathToTsconfig, - ); + const { options: tsOptions } = + this.tsConfigProvider.getByConfigFilename(pathToTsconfig); const outDir = tsOptions.outDir || defaultOutDir; const onSuccess = this.createOnSuccessHook( configuration, @@ -146,9 +145,21 @@ export class StartAction extends BuildAction { typeof debug === 'string' ? `--inspect=${debug}` : '--inspect'; processArgs.unshift(inspectFlag); } + if (this.isSourceMapSupportPkgAvailable()) { + processArgs.unshift('-r source-map-support/register'); + } return spawn(binaryToRun, processArgs, { stdio: 'inherit', shell: true, }); } + + private isSourceMapSupportPkgAvailable() { + try { + require.resolve('source-map-support'); + return true; + } catch { + return false; + } + } } diff --git a/package.json b/package.json index 49691d780..e180b8de7 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "os-name": "4.0.0", "rimraf": "3.0.2", "shelljs": "0.8.4", + "source-map-support": "0.5.19", "tree-kill": "1.2.2", "tsconfig-paths": "3.10.1", "tsconfig-paths-webpack-plugin": "3.5.1",