@@ -73,12 +73,12 @@ 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).
@@ -87,16 +87,16 @@ var gulp = require('gulp');
8787var ts = require (' gulp-typescript' );
8888var merge = require (' merge2' ); // Require separate installation
8989gulp .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- ]);
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+ ]);
100100});
101101```
102102` tsResult ` is a object that has a JavaScript stream (` .js ` ) and a definition file stream (` .dts ` ).
@@ -112,18 +112,18 @@ var ts = require('gulp-typescript');
112112var merge = require (' merge2' );
113113
114114var tsProject = ts .createProject ({
115- declaration: true ,
116- noExternalResolve: true
115+ declaration: true ,
116+ noExternalResolve: true
117117});
118118
119119gulp .task (' scripts' , function () {
120- var tsResult = gulp .src (' lib/*.ts' )
121- .pipe (ts (tsProject));
120+ var tsResult = gulp .src (' lib/*.ts' )
121+ .pipe (ts (tsProject));
122122
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- ]);
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+ ]);
127127});
128128gulp .task (' watch' , [' scripts' ], function () {
129129 gulp .watch (' lib/*.ts' , [' scripts' ]);
@@ -147,10 +147,10 @@ var tsProject = ts.createProject('tsconfig.json', { sortOutput: true });
147147The task will look like:
148148``` javascript
149149gulp .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' ));
150+ var tsResult = tsProject .src () // instead of gulp.src(...)
151+ .pipe (ts (tsProject));
152+
153+ return tsResult .js .pipe (gulp .dest (' release' ));
154154});
155155```
156156
@@ -164,20 +164,20 @@ npm install typescript@next
164164And add this to your gulpfile:
165165``` javascript
166166[... ].pipe (ts ({
167- typescript: require (' typescript' )
167+ typescript: require (' typescript' )
168168}));
169169```
170170Or in combination with a ` tsconfig ` file:
171171``` javascript
172172var tsProject = ts .createProject (' tsconfig.json' , {
173- typescript: require (' typescript' )
173+ typescript: require (' typescript' )
174174});
175175```
176176
177177It's also possible to use a fork of TypeScript. Add an extra option to the options object like this:
178178``` javascript
179179[... ].pipe (ts ({
180- typescript: require (' my-fork-of-typescript' )
180+ typescript: require (' my-fork-of-typescript' )
181181}));
182182```
183183
@@ -186,19 +186,19 @@ Filters
186186There are two ways to filter files:
187187``` javascript
188188gulp .task (' scripts' , function () {
189- var tsResult = gulp .src (' lib/*.ts' )
190- .pipe (ts (tsProject, filterSettings));
191-
192- ...
189+ var tsResult = gulp .src (' lib/*.ts' )
190+ .pipe (ts (tsProject, filterSettings));
191+
192+ ...
193193});
194194```
195195And
196196``` javascript
197197gulp .task (' scripts' , function () {
198- var tsResult = gulp .src (' lib/*.ts' )
199- .pipe (ts (tsProject));
200-
201- tsResult .pipe (ts .filter (tsProject, filterSettings));
198+ var tsResult = gulp .src (' lib/*.ts' )
199+ .pipe (ts (tsProject));
200+
201+ tsResult .pipe (ts .filter (tsProject, filterSettings));
202202});
203203```
204204The 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 +242,17 @@ var concat = require('gulp-concat');
242242var sourcemaps = require (' gulp-sourcemaps' );
243243
244244gulp .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' ));
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' ));
256256});
257257```
258258For more information, see [ gulp-sourcemaps] ( https://github.com/floridoo/gulp-sourcemaps ) .
0 commit comments