Ich habe eine NodeJS App mit der folgenden Ordnerstruktur:Typoskript + Gulp + Sourcemaps falsche Quellpfad
project
|-- src/
| |-- controllers/
| | |`-- authorize-controller.ts
| |`-- index.ts
|--dist/
| |--controllers/
| | |`-- authorize-controller.js
| | |`-- authorize-controller.js.map
| |`-- index.js
| |`-- index.js.map
`-- gulpfile.js
`-- tsconfig.json
Die sourcemaps erzeugt werden. Die index.js.map zeigt auf "../src/index.ts" (korrekt). Der entsprechende Inhalt der Kartendatei ist {"version":3,"sources":["../src/index.ts"],"names":[],"mappings"
Aber die dist \ controllers \ authorize-controller.js.map zeigt auf das falsche Verzeichnis. Es hat {"version":3,"sources":["../src/controllers/authentication.controller.ts"],"names":[],
. Es fehlt eine ../
.
Mein gulpfile.js ist:
gulp.task('compile',() => {
var tsResult = tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject());
return tsResult.js
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '/src' }))
.pipe(gulp.dest('dist'));
});
Mein tsconfig.json ist:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"sourceMap": true,
"outDir": "dist"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"dist",
".vscode"
]
}
Was mache ich falsch? Es scheint, dass das SourceRoot von gulp-sourcemaps ignoriert wird.