-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.ts
86 lines (83 loc) · 2 KB
/
gulpfile.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import gulp from 'gulp';
import proxyGrabber from './src/core';
import { join } from 'upath';
import { existsSync, mkdirSync } from 'fs';
import dom from 'gulp-jsdom';
import generateIndex from './src-docs';
import Bluebird from 'bluebird';
const grabber = new proxyGrabber();
gulp.task('method3', (done) => {
grabber
.method3(true)
.then((res) => {
console.log(res);
})
.catch(console.log)
.finally(done);
});
gulp.task('method2', (done) => {
grabber
.method2(true)
.then((res) => {
console.log(res);
})
.catch(console.log)
.finally(done);
});
gulp.task('method1', (done) => {
grabber
.method1(true)
.then((res) => {
console.log(res);
})
.catch(console.log)
.finally(done);
});
gulp.task('get', gulp.series('method1', 'method2', 'method3'));
function testProxy(done: any) {
grabber.test(5).then((resx) => {
let xx = [];
resx.map((rx) => {
xx = xx.concat(rx);
});
//console.log(xx);
done();
});
}
gulp.task('test', testProxy);
gulp.task('testmethod1', () => {
return grabber.testMethod1(1);
});
gulp.task('check', (done) => {
Bluebird.all(grabber.get())
.map((r) => r.proxy)
.map((s) => {
return { proxy: s };
})
.then(grabber.testProxies)
.each(async (item) => {
console.log(item);
})
.finally(() => {
if (typeof done == 'function') done();
});
});
gulp.task('docs', async () => {
const dest = join(__dirname, 'docs');
if (!existsSync(dest)) mkdirSync(dest);
await generateIndex();
// @todo [docs] transform readme.md to index.html
gulp.src(['readme.md', 'gulpfile*.{js,ts}'], { cwd: __dirname }).pipe(gulp.dest(dest));
// @todo [docs] modify external links
gulp
.src('**/*.html', { cwd: dest })
.pipe(
dom((document: Document) => {
Array.from(document.querySelectorAll('a')).forEach((el) => {
el.target = '_blank';
el.rel = 'nofollow noopener noreferer';
});
}),
)
.pipe(gulp.dest(dest));
});