I have this file, pasted from a tutorial (and let's face it, the disparity between docs, tuts, and examples is astounding):
/scripts/tsconfig.json:
{ "compilerOptions": { "emitDecoratorMetadata": true, "experimentalDecorators": true, "module": "commonjs", "noEmitOnError": true, "noImplicitAny": false, "outDir": "../wwwroot/appScripts/", "removeComments": false, "sourceMap": true, "target": "es5", "moduleResolution": "node" }, "exclude": [ "node_modules", "typings/index", "typings/index.d.ts" ] }
Options are set to compile on save, but whenever I save a TypeScript file, the JavaScript output ends up 'under', or 'attached to', the source file:
TypeScript | --test.ts | --test.js
, and that is physically in the same directory as the source, /TypeScript
. If tsconfig.json
is missing, the compiler complains, but when it's present, and it definitely is, the compiler ignores the "outDir": "../wwwroot/appScripts/"
setting.
I am really to new to Gulp, but the Gulp task looks OK to me:
var tsProject = ts.createProject('scripts/tsconfig.json'); gulp.task('ts', function (done) { //var tsResult = tsProject.src() var tsResult = gulp.src([ "scripts/*.ts" ]) .pipe(ts(tsProject), undefined, ts.reporter.fullReporter()); return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts')); });
Options are set to compile on save
When you save a file it is automatically compiling that single file and files imported on that file. Turn off auto compile option from your IDE, so compiler will consider tsconfig.json file.
When input files are specified on the command line, tsconfig.json files are ignored.
The presence of a tsconfig.json file in a directory indicates that the directory is the root of a TypeScript project. The tsconfig.json file specifies the root files and the compiler options required to compile the project. A project is compiled in one of the following ways:
Using tsconfig.json
By invoking tsc with no input files, in which case the compiler searches for the tsconfig.json file starting in the current directory and continuing up the parent directory chain.
By invoking tsc with no input files and a --project (or just -p) command line option that specifies the path of a directory containing a tsconfig.json file.
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With