I am trying to automate the typescript compilation with the new angular 2.0 beta.
The project structure is:
myapp
|--node_modules
|---angular2
|--core.d.ts
|--...
|--lib
|--resources
|--app
|--app.component.ts
|--typings
|--..
.
|--package.json
|--gulpfile.js
app.component.ts excerpt:
import {Component, View} from 'angular2/core';
import {TechnologiesService} from './services';
When I run the typescript command (tsc) directly from the shell everything goes well and the javascript files are generated. However when I run my gulp compile task there are some errors because it doesn't find angular2/core and angular2/platform/browser modules. Why?
[16:35:55] Using gulpfile C:\dev\myapp\gulpfile.js
[16:35:55] Starting 'compile-ts'...
[16:35:55] Compiling TypeScript files using tsc version 1.8.2
[16:35:56] [tsc] > lib/resources/app/app.component.ts(1,46): error TS2307: Cannot find module 'angular2/core'.
[16:35:56] [tsc] > lib/resources/app/app.component.ts(44,14): error TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.
[16:35:56] [tsc] > lib/resources/app/main.ts(1,28): error TS2307: Cannot find module 'angular2/platform/browser'.
[16:35:56] Failed to compile TypeScript: Error: tsc command has exited with code:2
events.js:154
throw er; // Unhandled 'error' event
^
Error: Failed to compile: tsc command has exited with code:2
gulpfile typescript compilation task:
var gulp = require('gulp');
var plugins = require('gulp-load-plugins')();
var typescript = require('gulp-tsc');
gulp.task('compile-ts', function(){
return gulp.src(['./lib/resources/app/**/*.ts'])
.pipe(typescript({"target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": true,
"experimentalDecorators": true, "emitDecoraasdftorMetadata": true, "removeComments": false,
"noImplicitAny": false}))
.pipe(gulp.dest('./public/app/'));
});
/// <reference path="../typings/main.d.ts" />
– Martin Mar 1 at 15:53/// <reference path="../../../typings/main.d.ts" />
but still complains about angular2/core. Also put/// <reference path="../../../node_modules/angular2/core.d.ts" />
and nothing changes. – codependent Mar 1 at 16:01"sourceRoot: "./"
as parameter in.pipe(typescript({})
but same result...Other test with"sourceRoot: "../../../"
, etc... – codependent Mar 1 at 16:09