33import fs from 'fs' ;
44import util from 'util' ;
55import fetch from 'node-fetch' ;
6+ import { connectorsToHostFile } from './utils' ;
67
78const mkdir = util . promisify ( fs . mkdir ) ;
89const writeFile = util . promisify ( fs . writeFile ) ;
@@ -15,6 +16,7 @@ const rawContentUrl = `https://raw.githubusercontent.com/${owner}/${repo}`;
1516const resDir = 'resources' ;
1617const moduleFile = 'connectors.ts' ;
1718const listFile = `${ resDir } /connectors.json` ;
19+ const hostFile = `${ resDir } /hostfile.txt` ;
1820
1921async function main ( args : string [ ] ) {
2022 const latestTag = args . at ( - 1 ) ;
@@ -27,9 +29,18 @@ async function main(args: string[]) {
2729 let exitCode = 0 ;
2830 try {
2931 await downloadModule ( latestTag ) ;
30- await dumpConnectors ( ) ;
3132
33+ if ( ! fs . existsSync ( resDir ) ) {
34+ mkdir ( resDir ) ;
35+ }
36+
37+ await dumpConnectors ( ) ;
3238 console . log ( `Dumped connectors from ${ latestTag } release.` ) ;
39+
40+ await dumpHostfile ( ) ;
41+ console . log ( `Dumped hostfile from ${ latestTag } release.` ) ;
42+
43+ await removeFile ( moduleFile ) ;
3344 } catch ( e ) {
3445 console . error ( `Unable to dump connectors from ${ latestTag } release.` ) ;
3546 console . log ( e ) ;
@@ -58,12 +69,13 @@ async function dumpConnectors() {
5869 const labelArray = connectors . map ( ( entry ) => entry . label ) ;
5970 const contents = JSON . stringify ( labelArray , null , 2 ) + '\n' ;
6071
61- if ( ! fs . existsSync ( resDir ) ) {
62- mkdir ( resDir ) ;
63- }
64-
6572 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 ) ;
6779}
6880
6981function getModuleUrl ( tagName ) {
0 commit comments