@@ -8,10 +8,7 @@ const PREVDIRECTORY = "tools/react/";
88const processListObjectsResponse = ( response , directory ) => {
99 return response . CommonPrefixes . map ( ( commonPrefix ) => {
1010 const prefix = commonPrefix . Prefix ;
11- return prefix . substring (
12- prefix . lastIndexOf ( directory ) + directory . length ,
13- prefix . length - 1
14- ) ;
11+ return prefix . substring ( prefix . lastIndexOf ( directory ) + directory . length , prefix . length - 1 ) ;
1512 } )
1613 . filter ( ( version ) => version !== "latest" )
1714 . map ( ( version ) => Number ( version ) ) ;
@@ -24,29 +21,23 @@ const getVersionsInS3Bucket = async () => {
2421 } ;
2522
2623 const versionsFromPrevDirectory = await new Promise ( ( resolve , reject ) => {
27- new AWS . S3 ( ) . listObjectsV2 (
28- { ...params , Prefix : PREVDIRECTORY } ,
29- ( error , data ) => {
30- if ( error ) {
31- reject ( new Error ( error ) ) ;
32- } else {
33- resolve ( processListObjectsResponse ( data , PREVDIRECTORY ) ) ;
34- }
24+ new AWS . S3 ( ) . listObjectsV2 ( { ...params , Prefix : PREVDIRECTORY } , ( error , data ) => {
25+ if ( error ) {
26+ reject ( new Error ( error ) ) ;
27+ } else {
28+ resolve ( processListObjectsResponse ( data , PREVDIRECTORY ) ) ;
3529 }
36- ) ;
30+ } ) ;
3731 } ) ;
3832
3933 const versions = await new Promise ( ( resolve , reject ) => {
40- new AWS . S3 ( ) . listObjectsV2 (
41- { ...params , Prefix : DIRECTORY } ,
42- ( error , data ) => {
43- if ( error ) {
44- reject ( new Error ( error ) ) ;
45- } else {
46- resolve ( processListObjectsResponse ( data , DIRECTORY ) ) ;
47- }
34+ new AWS . S3 ( ) . listObjectsV2 ( { ...params , Prefix : DIRECTORY } , ( error , data ) => {
35+ if ( error ) {
36+ reject ( new Error ( error ) ) ;
37+ } else {
38+ resolve ( processListObjectsResponse ( data , DIRECTORY ) ) ;
4839 }
49- ) ;
40+ } ) ;
5041 } ) ;
5142
5243 return versionsFromPrevDirectory . concat ( versions ) ;
@@ -55,36 +46,30 @@ const getVersionsInS3Bucket = async () => {
5546const buildSite = ( version ) => {
5647 return new Promise ( ( resolve , reject ) => {
5748 console . log ( `Building site with version ${ version } ` ) ;
58- exec (
59- `cd apps/website && NEXT_PUBLIC_SITE_VERSION=${ version } npm run build` ,
60- ( error , stdout , stderr ) => {
61- if ( error ) {
62- throw new Error ( error . message ) ;
63- }
64- if ( stderr ) {
65- throw new Error ( stderr ) ;
66- }
67- resolve ( stdout ) ;
49+ exec ( `cd apps/website && NEXT_PUBLIC_SITE_VERSION=${ version } npm run build` , ( error , stdout , stderr ) => {
50+ if ( error ) {
51+ throw new Error ( error . message ) ;
6852 }
69- ) ;
53+ if ( stderr ) {
54+ throw new Error ( stderr ) ;
55+ }
56+ resolve ( stdout ) ;
57+ } ) ;
7058 } ) ;
7159} ;
7260
7361const removeBucket = ( version ) => {
7462 return new Promise ( ( resolve , reject ) => {
7563 console . log ( `Removing s3://${ BUCKET_NAME } /${ DIRECTORY } ${ version } /` ) ;
76- exec (
77- `aws s3 rm s3://${ BUCKET_NAME } /${ DIRECTORY } ${ version } / --recursive` ,
78- ( error , stdout , stderr ) => {
79- if ( error ) {
80- throw new Error ( error . message ) ;
81- }
82- if ( stderr ) {
83- throw new Error ( stderr ) ;
84- }
85- resolve ( stdout ) ;
64+ exec ( `aws s3 rm s3://${ BUCKET_NAME } /${ DIRECTORY } ${ version } / --recursive` , ( error , stdout , stderr ) => {
65+ if ( error ) {
66+ throw new Error ( error . message ) ;
8667 }
87- ) ;
68+ if ( stderr ) {
69+ throw new Error ( stderr ) ;
70+ }
71+ resolve ( stdout ) ;
72+ } ) ;
8873 } ) ;
8974} ;
9075
@@ -109,29 +94,24 @@ const moveToBucket = (version) => {
10994const updateRedirectionToLatest = ( version ) => {
11095 const redirection = `window.location.replace("https://developer.dxc.com/halstack/${ version } /");` ;
11196 return new Promise ( ( resolve , reject ) => {
112- exec (
113- `echo '${ redirection } ' | aws s3 cp - s3://${ BUCKET_NAME } /${ DIRECTORY } redirect.js` ,
114- ( error , stdout , stderr ) => {
115- if ( error ) {
116- throw new Error ( error . message ) ;
117- }
118- if ( stderr ) {
119- throw new Error ( stderr ) ;
120- }
121- resolve ( stdout ) ;
97+ exec ( `echo '${ redirection } ' | aws s3 cp - s3://${ BUCKET_NAME } /${ DIRECTORY } redirect.js` , ( error , stdout , stderr ) => {
98+ if ( error ) {
99+ throw new Error ( error . message ) ;
122100 }
123- ) ;
101+ if ( stderr ) {
102+ throw new Error ( stderr ) ;
103+ }
104+ resolve ( stdout ) ;
105+ } ) ;
124106 } ) ;
125107} ;
126108
127109const deploy = async ( ) => {
128110 const versionToDeploy = process . argv [ 2 ] ;
129- const majorVersionToDeploy = Number (
130- versionToDeploy . substring ( 0 , versionToDeploy . indexOf ( "." ) )
131- ) ;
111+ const majorVersionToDeploy = Number ( versionToDeploy . split ( "." ) [ 0 ] ) ;
132112 const existingVersionsInBucket = await getVersionsInS3Bucket ( ) ;
133113 const isNewLatest = ! existingVersionsInBucket . includes ( majorVersionToDeploy ) ;
134- await buildSite ( majorVersionToDeploy ) ;
114+ await buildSite ( versionToDeploy ) ;
135115 await removeBucket ( majorVersionToDeploy ) ;
136116 await moveToBucket ( majorVersionToDeploy ) ;
137117 const listAvailableVersions = await getVersionsInS3Bucket ( ) ;
@@ -154,9 +134,7 @@ const updateAvailableVersions = async (versions, currentVersion) => {
154134 } ) ;
155135 return new Promise ( ( resolve , reject ) => {
156136 exec (
157- `echo '${ JSON . stringify (
158- versionItems
159- ) } ' | aws s3 cp - s3://${ BUCKET_NAME } /${ DIRECTORY } versions.json`,
137+ `echo '${ JSON . stringify ( versionItems ) } ' | aws s3 cp - s3://${ BUCKET_NAME } /${ DIRECTORY } versions.json` ,
160138 ( error , stdout , stderr ) => {
161139 if ( error ) {
162140 throw new Error ( error . message ) ;
0 commit comments