@@ -29,10 +29,27 @@ const path = require('path');
29
29
const runCommand = require ( './run-command' ) ;
30
30
31
31
const packagesDirPath = path . resolve ( __dirname , '../packages' ) ;
32
+ const isNightlyVersion = process . env . COMPILER_NIGHTLY === 'true' ;
32
33
33
34
async function isPackageVersionPublished ( packageName , version ) {
34
- return fetch ( `https://registry.npmjs.org/${ encodeURI ( packageName ) } /${ version } ` )
35
+ const isPublished = await fetch ( `https://registry.npmjs.org/${ encodeURI ( packageName ) } /${ version } ` )
35
36
. then ( ( res ) => res . ok ) ;
37
+
38
+ if ( ! isPublished ) {
39
+ return false ;
40
+ }
41
+
42
+ const packageInfoResponse = await fetch ( `https://registry.npmjs.org/${ encodeURI ( packageName ) } ` ) ;
43
+ if ( ! packageInfoResponse . ok ) {
44
+ return false ;
45
+ }
46
+
47
+ const packageDetail = await packageInfoResponse . json ( ) ;
48
+ console . log ( packageDetail [ 'dist-tags' ] ) ;
49
+ if ( isNightlyVersion ) {
50
+ return packageDetail [ 'dist-tags' ] . nightly === version ;
51
+ }
52
+ return packageDetail [ 'dist-tags' ] . latest === version ;
36
53
}
37
54
38
55
async function isValidPackagePath ( packageDir ) {
@@ -55,15 +72,14 @@ async function getPackageInfo(packageDir) {
55
72
56
73
async function publishPackagesIfNeeded ( packageInfo ) {
57
74
const pkgJson = packageInfo . pkg ;
58
- console . log ( 'Is nightly version:' , Boolean ( process . env . COMPILER_NIGHTLY ) , process . env . COMPILER_NIGHTLY ) ;
59
75
const isAlreadyPublished = await isPackageVersionPublished ( pkgJson . name , pkgJson . version ) ;
60
76
if ( isAlreadyPublished ) {
61
77
console . log ( 'Already published' , pkgJson . name , pkgJson . version ) ;
62
78
return ;
63
79
}
64
80
console . log ( 'Publishing' , pkgJson . name , pkgJson . version ) ;
65
81
const publishArgs = [ '-w' , pkgJson . name , 'publish' ] ;
66
- if ( process . env . COMPILER_NIGHTLY ) {
82
+ if ( isNightlyVersion ) {
67
83
publishArgs . push ( '--tag' , 'nightly' ) ;
68
84
}
69
85
await runCommand ( 'npm' , publishArgs ) ;
0 commit comments