3
3
import fs from 'fs' ;
4
4
import util from 'util' ;
5
5
import fetch from 'node-fetch' ;
6
+ import { connectorsToHostFile } from './utils' ;
6
7
7
8
const mkdir = util . promisify ( fs . mkdir ) ;
8
9
const writeFile = util . promisify ( fs . writeFile ) ;
@@ -15,6 +16,7 @@ const rawContentUrl = `https://raw.githubusercontent.com/${owner}/${repo}`;
15
16
const resDir = 'resources' ;
16
17
const moduleFile = 'connectors.ts' ;
17
18
const listFile = `${ resDir } /connectors.json` ;
19
+ const hostFile = `${ resDir } /hostfile.txt` ;
18
20
19
21
async function main ( args : string [ ] ) {
20
22
const latestTag = args . at ( - 1 ) ;
@@ -27,9 +29,18 @@ async function main(args: string[]) {
27
29
let exitCode = 0 ;
28
30
try {
29
31
await downloadModule ( latestTag ) ;
30
- await dumpConnectors ( ) ;
31
32
33
+ if ( ! fs . existsSync ( resDir ) ) {
34
+ mkdir ( resDir ) ;
35
+ }
36
+
37
+ await dumpConnectors ( ) ;
32
38
console . log ( `Dumped connectors from ${ latestTag } release.` ) ;
39
+
40
+ await dumpHostfile ( ) ;
41
+ console . log ( `Dumped hostfile from ${ latestTag } release.` ) ;
42
+
43
+ await removeFile ( moduleFile ) ;
33
44
} catch ( e ) {
34
45
console . error ( `Unable to dump connectors from ${ latestTag } release.` ) ;
35
46
console . log ( e ) ;
@@ -58,12 +69,13 @@ async function dumpConnectors() {
58
69
const labelArray = connectors . map ( ( entry ) => entry . label ) ;
59
70
const contents = JSON . stringify ( labelArray , null , 2 ) + '\n' ;
60
71
61
- if ( ! fs . existsSync ( resDir ) ) {
62
- mkdir ( resDir ) ;
63
- }
64
-
65
72
await writeFile ( listFile , contents ) ;
66
- await removeFile ( moduleFile ) ;
73
+ }
74
+
75
+ async function dumpHostfile ( ) {
76
+ const connectors = ( await import ( `./${ moduleFile } ` ) ) . default as any [ ] ;
77
+ const contents = connectorsToHostFile ( connectors ) ;
78
+ await writeFile ( hostFile , contents ) ;
67
79
}
68
80
69
81
function getModuleUrl ( tagName ) {
0 commit comments