Skip to content

Commit 846faab

Browse files
committed
2 parents c65e6b6 + d88bb7f commit 846faab

File tree

1 file changed

+52
-50
lines changed

1 file changed

+52
-50
lines changed

readme.md

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -73,30 +73,31 @@ var gulp = require('gulp');
7373
var ts = require('gulp-typescript');
7474

7575
gulp.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
```
8484
Another 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
8686
var gulp = require('gulp');
8787
var ts = require('gulp-typescript');
8888
var merge = require('merge2'); // Require separate installation
89+
8990
gulp.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');
112113
var merge = require('merge2');
113114

114115
var tsProject = ts.createProject({
115-
declaration: true,
116-
noExternalResolve: true
116+
declaration: true,
117+
noExternalResolve: true
117118
});
118119

119120
gulp.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+
128130
gulp.task('watch', ['scripts'], function() {
129131
gulp.watch('lib/*.ts', ['scripts']);
130132
});
@@ -147,10 +149,10 @@ var tsProject = ts.createProject('tsconfig.json', { sortOutput: true });
147149
The task will look like:
148150
```javascript
149151
gulp.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
164166
And add this to your gulpfile:
165167
```javascript
166168
[...].pipe(ts({
167-
typescript: require('typescript')
169+
typescript: require('typescript')
168170
}));
169171
```
170172
Or in combination with a `tsconfig` file:
171173
```javascript
172174
var tsProject = ts.createProject('tsconfig.json', {
173-
typescript: require('typescript')
175+
typescript: require('typescript')
174176
});
175177
```
176178

177179
It'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
186188
There are two ways to filter files:
187189
```javascript
188190
gulp.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
```
195197
And
196198
```javascript
197199
gulp.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
```
204206
The 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');
242244
var sourcemaps = require('gulp-sourcemaps');
243245

244246
gulp.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
```
258260
For more information, see [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps).

0 commit comments

Comments
 (0)