@@ -3,42 +3,49 @@ require('dotenv').config();
3
3
import Bluebird from 'bluebird' ;
4
4
import logger from 'src/utils/logger' ;
5
5
import drivers from 'src/drivers' ;
6
- import { readTmpFile , readTmpFileAsync } from 'src/utils/fs' ;
6
+ import { readTmpFileFactory , readTmpFileAsyncFactory } from 'src/utils/fs' ;
7
7
import schemas from './schemas' ;
8
8
9
+ // Get 'readTmpFile' and 'readTmpFileAsync' bound by 'api'
10
+ const PROJECT_TYPE = 'api' ;
11
+ const readTmpFile = readTmpFileFactory ( PROJECT_TYPE ) ;
12
+ const readTmpFileAsync = readTmpFileAsyncFactory ( PROJECT_TYPE ) ;
13
+
9
14
const { DRIVER } = process . env ;
10
15
11
16
const SelectedDriver = drivers [ DRIVER ] ;
12
17
13
- // Initialise driver
14
- SelectedDriver . init ( 'modules' ) ;
15
- SelectedDriver . init ( 'classes' ) ;
16
- SelectedDriver . init ( 'methods' ) ;
17
-
18
- // Load ember.json which includes all available ember versions.
19
- readTmpFileAsync ( 'rev-index/ember.json' )
20
- // Extract available versions
21
- . then ( emberJson => emberJson . meta . availableVersions )
22
- // Clear the driver contents
23
- . tap ( clearDriver )
24
- // Grab the json file of each ember version
25
- . map ( readEmberIndexFileForVersion )
26
- // Fetch all public modules and public classes
27
- . map ( fetchPublicModuleClassesForEmberVersion )
28
- // Run the schema against all data stored
29
- . map ( mapDataForVersion )
30
- // Write out to selected driver.
31
- . map ( writeToDriver )
32
- // Load ember-data.json which includes all available ember-data versions
33
- . then ( ( ) => readTmpFileAsync ( 'rev-index/ember-data.json' ) )
34
- . then ( emberJson => emberJson . meta . availableVersions )
35
- . map ( readEmberDataIndexFileForVersion )
36
- . map ( fetchPublicModuleClassesForEmberDataVersion )
37
- . map ( mapDataForVersion )
38
- . map ( writeToDriver )
39
- // Handle script error
40
- . catch ( errorHandler ) ;
18
+ export function run ( ) {
19
+ // Initialise drivers
20
+ SelectedDriver . init ( 'modules' ) ;
21
+ SelectedDriver . init ( 'classes' ) ;
22
+ SelectedDriver . init ( 'methods' ) ;
23
+
24
+ // Load ember.json which includes all available ember versions.
25
+ return readTmpFileAsync ( 'rev-index/ember.json' )
26
+ // Extract available versions
27
+ . then ( emberJson => emberJson . meta . availableVersions )
28
+ // Clear the driver contents
29
+ . tap ( clearDriver )
30
+ // Grab the json file of each ember version
31
+ . map ( readEmberIndexFileForVersion )
32
+ // Fetch all public modules and public classes
33
+ . map ( fetchPublicModuleClassesForEmberVersion )
34
+ // Run the schema against all data stored
35
+ . map ( mapDataForVersion )
36
+ // Write out to selected driver.
37
+ . map ( writeToDriver )
38
+ // Load ember-data.json which includes all available ember-data versions
39
+ . then ( ( ) => readTmpFileAsync ( 'rev-index/ember-data.json' ) )
40
+ . then ( emberJson => emberJson . meta . availableVersions )
41
+ . map ( readEmberDataIndexFileForVersion )
42
+ . map ( fetchPublicModuleClassesForEmberDataVersion )
43
+ . map ( mapDataForVersion )
44
+ . map ( writeToDriver )
45
+ // Handle script error
46
+ . catch ( errorHandler ) ;
41
47
48
+ }
42
49
43
50
function readEmberIndexFileForVersion ( version ) {
44
51
return readIndexFileForVersion ( version , 'ember' ) ;
0 commit comments