@@ -12,97 +12,97 @@ const argv = minimist(process.argv.slice(2))
12
12
const { project, version, install } = argv
13
13
14
14
const exit = function exit ( ) {
15
- console . log ( ...arguments )
16
- process . exit ( 1 )
15
+ console . log ( ...arguments )
16
+ process . exit ( 1 )
17
17
}
18
18
19
19
async function runCmd ( cmd , path , args = [ ] ) {
20
- console . log ( chalk . underline ( `Running '${ chalk . green ( cmd ) } ' in ${ path } ` ) )
21
- const executedCmd = await execa ( cmd , args , { cwd : path , shell : true , stdio : 'inherit' } )
20
+ console . log ( chalk . underline ( `Running '${ chalk . green ( cmd ) } ' in ${ path } ` ) )
21
+ const executedCmd = await execa ( cmd , args , { cwd : path , shell : true , stdio : 'inherit' } )
22
22
23
- if ( executedCmd . failed ) {
24
- console . error ( executedCmd . stdout )
25
- console . error ( executedCmd . stderr )
26
- process . exit ( 1 )
27
- }
23
+ if ( executedCmd . failed ) {
24
+ console . error ( executedCmd . stdout )
25
+ console . error ( executedCmd . stderr )
26
+ process . exit ( 1 )
27
+ }
28
28
29
- console . log ( executedCmd . stdout + '\n' )
29
+ console . log ( executedCmd . stdout + '\n' )
30
30
}
31
31
32
32
; ( async ( ) => {
33
- if ( ! project || ! version ) {
34
- exit (
35
- chalk . red ( 'Both project and version args are required.\n' ) ,
36
- chalk . yellow ( ' e.g., yarn gen --project ember --version 3.10.1' ) ,
37
- )
38
- }
39
-
40
- if ( ! [ 'ember' , 'ember-data' ] . includes ( project ) ) {
41
- exit ( chalk . red ( `Project has to be either 'ember' or 'ember-data'. (was given ${ project } )\n` ) )
42
- }
43
-
44
- try {
45
- await commandExists ( 'yarn' )
46
- } catch ( e ) {
47
- exit ( chalk . red ( 'We need yarn installed globally for this script to work' ) )
48
- }
49
-
50
- let emberProjectPath = path . join ( __dirname , '../' , 'ember.js' )
51
- let emberDataProjectPath = path . join ( __dirname , '../' , 'data' )
52
-
53
- let checkIfProjectDirExists = dirPath => {
54
- if ( ! existsSync ( dirPath ) ) {
55
- exit ( chalk . yellow ( `Please checkout the ${ project } project at ${ dirPath } ` ) )
56
- }
57
- }
58
-
59
- let buildDocs = async projDirPath => {
60
- checkIfProjectDirExists ( projDirPath )
61
-
62
- if ( project === 'ember' ) {
63
- await runCmd ( 'volta' , projDirPath , [ 'run' , 'yarn' ] )
64
- } else {
65
- await runCmd ( 'corepack' , projDirPath , [ 'pnpm' , 'install' ] )
66
- }
67
-
68
- if ( install ) {
69
- await runCmd ( project === 'ember' ? 'yarn' : 'pnpm install' , projDirPath )
70
- console . log ( '\n\n' )
71
- }
72
-
73
- await runCmd (
74
- project === 'ember' ? 'volta run yarn docs' : 'corepack pnpm run build:docs' ,
75
- projDirPath ,
76
- )
77
-
78
- let destination = `${ docsPath } /s3-docs/v${ version } /${ project } -docs.json`
79
- ensureFileSync ( destination )
80
- const projYuiDocFile = destination
81
- removeSync ( projYuiDocFile )
82
- removeSync ( `${ docsPath } /json-docs/${ project } /${ version } ` )
83
-
84
- const yuiDocFile = path . join (
85
- projDirPath ,
86
- project === 'ember' ? 'docs/data.json' : 'packages/-ember-data/dist/docs/data.json' ,
87
- )
88
- copyFileSync ( yuiDocFile , projYuiDocFile )
89
- }
90
-
91
- let dirMap = {
92
- ember : emberProjectPath ,
93
- 'ember-data' : emberDataProjectPath ,
94
- }
95
-
96
- await buildDocs ( dirMap [ project ] )
97
-
98
- await execa ( 'volta' , [
99
- 'run' ,
100
- 'yarn' ,
101
- 'start' ,
102
- '--project' ,
103
- project ,
104
- '--version' ,
105
- version ,
106
- '--no-sync' ,
107
- ] ) . stdout . pipe ( process . stdout )
33
+ if ( ! project || ! version ) {
34
+ exit (
35
+ chalk . red ( 'Both project and version args are required.\n' ) ,
36
+ chalk . yellow ( ' e.g., yarn gen --project ember --version 3.10.1' ) ,
37
+ )
38
+ }
39
+
40
+ if ( ! [ 'ember' , 'ember-data' ] . includes ( project ) ) {
41
+ exit ( chalk . red ( `Project has to be either 'ember' or 'ember-data'. (was given ${ project } )\n` ) )
42
+ }
43
+
44
+ try {
45
+ await commandExists ( 'yarn' )
46
+ } catch ( e ) {
47
+ exit ( chalk . red ( 'We need yarn installed globally for this script to work' ) )
48
+ }
49
+
50
+ let emberProjectPath = path . join ( __dirname , '../' , 'ember.js' )
51
+ let emberDataProjectPath = path . join ( __dirname , '../' , 'data' )
52
+
53
+ let checkIfProjectDirExists = dirPath => {
54
+ if ( ! existsSync ( dirPath ) ) {
55
+ exit ( chalk . yellow ( `Please checkout the ${ project } project at ${ dirPath } ` ) )
56
+ }
57
+ }
58
+
59
+ let buildDocs = async projDirPath => {
60
+ checkIfProjectDirExists ( projDirPath )
61
+
62
+ if ( project === 'ember' ) {
63
+ await runCmd ( 'volta' , projDirPath , [ 'run' , 'yarn' ] )
64
+ } else {
65
+ await runCmd ( 'corepack' , projDirPath , [ 'pnpm' , 'install' ] )
66
+ }
67
+
68
+ if ( install ) {
69
+ await runCmd ( project === 'ember' ? 'yarn' : 'pnpm install' , projDirPath )
70
+ console . log ( '\n\n' )
71
+ }
72
+
73
+ await runCmd (
74
+ project === 'ember' ? 'volta run yarn docs' : 'corepack pnpm run build:docs' ,
75
+ projDirPath ,
76
+ )
77
+
78
+ let destination = `${ docsPath } /s3-docs/v${ version } /${ project } -docs.json`
79
+ ensureFileSync ( destination )
80
+ const projYuiDocFile = destination
81
+ removeSync ( projYuiDocFile )
82
+ removeSync ( `${ docsPath } /json-docs/${ project } /${ version } ` )
83
+
84
+ const yuiDocFile = path . join (
85
+ projDirPath ,
86
+ project === 'ember' ? 'docs/data.json' : 'packages/-ember-data/dist/docs/data.json' ,
87
+ )
88
+ copyFileSync ( yuiDocFile , projYuiDocFile )
89
+ }
90
+
91
+ let dirMap = {
92
+ ember : emberProjectPath ,
93
+ 'ember-data' : emberDataProjectPath ,
94
+ }
95
+
96
+ await buildDocs ( dirMap [ project ] )
97
+
98
+ await execa ( 'volta' , [
99
+ 'run' ,
100
+ 'yarn' ,
101
+ 'start' ,
102
+ '--project' ,
103
+ project ,
104
+ '--version' ,
105
+ version ,
106
+ '--no-sync' ,
107
+ ] ) . stdout . pipe ( process . stdout )
108
108
} ) ( )
0 commit comments