@@ -73,30 +73,31 @@ var gulp = require('gulp');
7373var ts = require (' gulp-typescript' );
7474
7575gulp .task (' default' , function () {
76- return gulp .src (' src/**/*.ts' )
77- .pipe (ts ({
78- noImplicitAny: true ,
79- out: ' output.js'
80- }))
81- .pipe (gulp .dest (' built/local' ));
76+ return gulp .src (' src/**/*.ts' )
77+ .pipe (ts ({
78+ noImplicitAny: true ,
79+ out: ' output.js'
80+ }))
81+ .pipe (gulp .dest (' built/local' ));
8282});
8383```
8484Another example of ` gulpfile.js ` . Instead of creating default task, the file specifies custom named task. To invoke, run ` gulp scripts ` instead of ` gulp ` . As a result, the task will generate both JavaScript files and TypeScript definition files (.d.ts).
8585``` javascript
8686var gulp = require (' gulp' );
8787var ts = require (' gulp-typescript' );
8888var merge = require (' merge2' ); // Require separate installation
89+
8990gulp .task (' scripts' , function () {
90- var tsResult = gulp .src (' lib/**/*.ts' )
91- .pipe (ts ({
92- declaration: true ,
93- noExternalResolve: true
94- }));
95-
96- return merge ([
97- tsResult .dts .pipe (gulp .dest (' release/definitions' )),
98- tsResult .js .pipe (gulp .dest (' release/js' ))
99- ]);
91+ var tsResult = gulp .src (' lib/**/*.ts' )
92+ .pipe (ts ({
93+ declaration: true ,
94+ noExternalResolve: true
95+ }));
96+
97+ return merge ([
98+ tsResult .dts .pipe (gulp .dest (' release/definitions' )),
99+ tsResult .js .pipe (gulp .dest (' release/js' ))
100+ ]);
100101});
101102```
102103` tsResult ` is a object that has a JavaScript stream (` .js ` ) and a definition file stream (` .dts ` ).
@@ -112,19 +113,20 @@ var ts = require('gulp-typescript');
112113var merge = require (' merge2' );
113114
114115var tsProject = ts .createProject ({
115- declaration: true ,
116- noExternalResolve: true
116+ declaration: true ,
117+ noExternalResolve: true
117118});
118119
119120gulp .task (' scripts' , function () {
120- var tsResult = gulp .src (' lib/*.ts' )
121- .pipe (ts (tsProject));
121+ var tsResult = gulp .src (' lib/*.ts' )
122+ .pipe (ts (tsProject));
122123
123- return merge ([ // Merge the two output streams, so this task is finished when the IO of both operations are done.
124- tsResult .dts .pipe (gulp .dest (' release/definitions' )),
125- tsResult .js .pipe (gulp .dest (' release/js' ))
126- ]);
124+ return merge ([ // Merge the two output streams, so this task is finished when the IO of both operations are done.
125+ tsResult .dts .pipe (gulp .dest (' release/definitions' )),
126+ tsResult .js .pipe (gulp .dest (' release/js' ))
127+ ]);
127128});
129+
128130gulp .task (' watch' , [' scripts' ], function () {
129131 gulp .watch (' lib/*.ts' , [' scripts' ]);
130132});
@@ -147,10 +149,10 @@ var tsProject = ts.createProject('tsconfig.json', { sortOutput: true });
147149The task will look like:
148150``` javascript
149151gulp .task (' scripts' , function () {
150- var tsResult = tsProject .src () // instead of gulp.src(...)
151- .pipe (ts (tsProject));
152-
153- return tsResult .js .pipe (gulp .dest (' release' ));
152+ var tsResult = tsProject .src () // instead of gulp.src(...)
153+ .pipe (ts (tsProject));
154+
155+ return tsResult .js .pipe (gulp .dest (' release' ));
154156});
155157```
156158
@@ -164,20 +166,20 @@ npm install typescript@next
164166And add this to your gulpfile:
165167``` javascript
166168[... ].pipe (ts ({
167- typescript: require (' typescript' )
169+ typescript: require (' typescript' )
168170}));
169171```
170172Or in combination with a ` tsconfig ` file:
171173``` javascript
172174var tsProject = ts .createProject (' tsconfig.json' , {
173- typescript: require (' typescript' )
175+ typescript: require (' typescript' )
174176});
175177```
176178
177179It's also possible to use a fork of TypeScript. Add an extra option to the options object like this:
178180``` javascript
179181[... ].pipe (ts ({
180- typescript: require (' my-fork-of-typescript' )
182+ typescript: require (' my-fork-of-typescript' )
181183}));
182184```
183185
@@ -186,19 +188,19 @@ Filters
186188There are two ways to filter files:
187189``` javascript
188190gulp .task (' scripts' , function () {
189- var tsResult = gulp .src (' lib/*.ts' )
190- .pipe (ts (tsProject, filterSettings));
191-
192- ...
191+ var tsResult = gulp .src (' lib/*.ts' )
192+ .pipe (ts (tsProject, filterSettings));
193+
194+ ...
193195});
194196```
195197And
196198``` javascript
197199gulp .task (' scripts' , function () {
198- var tsResult = gulp .src (' lib/*.ts' )
199- .pipe (ts (tsProject));
200-
201- tsResult .pipe (ts .filter (tsProject, filterSettings));
200+ var tsResult = gulp .src (' lib/*.ts' )
201+ .pipe (ts (tsProject));
202+
203+ tsResult .pipe (ts .filter (tsProject, filterSettings));
202204});
203205```
204206The first example doesn't add files (that don't pass the filter) to the compiler, the second one does add them to the compiler,
@@ -242,17 +244,17 @@ var concat = require('gulp-concat');
242244var sourcemaps = require (' gulp-sourcemaps' );
243245
244246gulp .task (' scripts' , function () {
245- var tsResult = gulp .src (' lib/*.ts' )
246- .pipe (sourcemaps .init ()) // This means sourcemaps will be generated
247- .pipe (ts ({
248- sortOutput: true ,
249- // ...
250- }));
251-
252- return tsResult .js
253- .pipe (concat (' output.js' )) // You can use other plugins that also support gulp-sourcemaps
254- .pipe (sourcemaps .write ()) // Now the sourcemaps are added to the .js file
255- .pipe (gulp .dest (' release/js' ));
247+ var tsResult = gulp .src (' lib/*.ts' )
248+ .pipe (sourcemaps .init ()) // This means sourcemaps will be generated
249+ .pipe (ts ({
250+ sortOutput: true ,
251+ // ...
252+ }));
253+
254+ return tsResult .js
255+ .pipe (concat (' output.js' )) // You can use other plugins that also support gulp-sourcemaps
256+ .pipe (sourcemaps .write ()) // Now the sourcemaps are added to the .js file
257+ .pipe (gulp .dest (' release/js' ));
256258});
257259```
258260For more information, see [ gulp-sourcemaps] ( https://github.com/floridoo/gulp-sourcemaps ) .
0 commit comments