@@ -40,6 +40,8 @@ const jsonFields = [
4040 'keywords'
4141]
4242
43+ let npmTag = ''
44+
4345new Promise ( ( resolve , reject ) => {
4446 temp . mkdir ( 'electron-npm' , ( err , dirPath ) => {
4547 if ( err ) {
@@ -74,19 +76,19 @@ new Promise((resolve, reject) => {
7476 } )
7577} )
7678. then ( ( releases ) => {
77- // download electron.d.ts from draft release
78- const draftRelease = releases . data . find (
79- ( release ) => release . draft && release . tag_name === `v${ rootPackageJson . version } `
80- // (release) => release.draft && release.tag_name === `test`
79+ // download electron.d.ts from release
80+ const release = releases . data . find (
81+ ( release ) => release . tag_name === `v${ rootPackageJson . version } `
8182 )
82- if ( ! draftRelease ) {
83+ if ( ! release ) {
8384 throw new Error ( `cannot find release with tag v${ rootPackageJson . version } ` )
8485 }
85- return draftRelease . assets . find ( ( asset ) => asset . name === 'electron.d.ts' )
86+ return release
8687} )
87- . then ( ( tsdAsset ) => {
88+ . then ( ( release ) => {
89+ const tsdAsset = release . assets . find ( ( asset ) => asset . name === 'electron.d.ts' )
8890 if ( ! tsdAsset ) {
89- throw new Error ( `cannot find electron.d.ts from v${ rootPackageJson . version } draft release assets` )
91+ throw new Error ( `cannot find electron.d.ts from v${ rootPackageJson . version } release assets` )
9092 }
9193 return new Promise ( ( resolve , reject ) => {
9294 request . get ( {
@@ -101,27 +103,27 @@ new Promise((resolve, reject) => {
101103 reject ( err )
102104 } else {
103105 fs . writeFileSync ( path . join ( tempDir , 'electron.d.ts' ) , body )
104- resolve ( )
106+ resolve ( release )
105107 }
106108 } )
107109 } )
108110} )
111+ . then ( ( release ) => {
112+ npmTag = release . prerelease ? 'beta' : 'latest'
113+ } )
109114. then ( ( ) => childProcess . execSync ( 'npm pack' , { cwd : tempDir } ) )
110115. then ( ( ) => {
111- // test that the package can install electron prebuilt from /dist
112- const distDir = path . join ( __dirname , '..' , 'dist' )
116+ // test that the package can install electron prebuilt from github release
113117 const tarballPath = path . join ( tempDir , `electron-${ rootPackageJson . version } .tgz` )
114118 return new Promise ( ( resolve , reject ) => {
115119 childProcess . execSync ( `npm install ${ tarballPath } --force --silent` , {
116- env : Object . assign ( { } , process . env , { electron_config_cache : distDir } ) ,
120+ env : Object . assign ( { } , process . env , { electron_config_cache : tempDir } ) ,
117121 cwd : tempDir
118122 } )
119- const checkVersion = childProcess . exec ( `${ path . join ( tempDir , 'node_modules' , '.bin' , 'electron' ) } -v` )
120- checkVersion . stdout . on ( 'data' , ( data ) => {
121- assert . strictEqual ( data . trim ( ) , `v${ rootPackageJson . version } ` )
122- resolve ( tarballPath )
123- } )
123+ const checkVersion = childProcess . execSync ( `${ path . join ( tempDir , 'node_modules' , '.bin' , 'electron' ) } -v` )
124+ assert . strictEqual ( checkVersion . toString ( ) . trim ( ) , `v${ rootPackageJson . version } ` )
125+ resolve ( tarballPath )
124126 } )
125127} )
126- . then ( ( tarballPath ) => childProcess . execSync ( `npm publish ${ tarballPath } ` ) )
128+ . then ( ( tarballPath ) => childProcess . execSync ( `npm publish ${ tarballPath } --tag ${ npmTag } ` ) )
127129. catch ( ( err ) => console . error ( `Error: ${ err } ` ) )
0 commit comments