@@ -9,11 +9,15 @@ const { platform, untar, unzip } = require('../common');
9
9
function getFilename ( ) {
10
10
switch ( platform ) {
11
11
case 'darwin-x64' :
12
- return 'darwin -amd64' ;
12
+ return 'macos -amd64' ;
13
13
case 'linux-x64' :
14
14
return 'linux-amd64' ;
15
15
case 'win32-x64' :
16
16
return 'windows-amd64' ;
17
+ case 'darwin-arm64' :
18
+ return 'macos-aarch64' ;
19
+ case 'linux-arm64' :
20
+ return 'linux-aarch64' ;
17
21
default :
18
22
throw new Error ( `No GraalJS builds available for ${ platform } ` ) ;
19
23
}
@@ -30,14 +34,9 @@ class GraalJSInstaller extends Installer {
30
34
this . binPath = undefined ;
31
35
}
32
36
33
- static shouldInstallByDefault ( ) {
34
- // Graal VM archives are >400mb, so don't download by default.
35
- return false ;
36
- }
37
-
38
37
static async resolveVersion ( version ) {
39
38
if ( version === 'latest' ) {
40
- const body = await fetch ( 'https://api.github.com/repos/graalvm/graalvm-ce-builds /releases' )
39
+ const body = await fetch ( 'https://api.github.com/repos/oracle/graaljs /releases' )
41
40
. then ( ( r ) => r . json ( ) ) ;
42
41
return body
43
42
. filter ( ( b ) => ! b . prerelease )
@@ -48,7 +47,7 @@ class GraalJSInstaller extends Installer {
48
47
}
49
48
50
49
async getDownloadURL ( version ) {
51
- return `https://github.com/graalvm/graalvm-ce-builds /releases/download/vm-${ version } /graalvm-ce-java11- ${ getFilename ( ) } -${ version } ${ getArchiveExtension ( ) } ` ;
50
+ return `https://github.com/oracle/graaljs /releases/download/vm-${ version } /graaljs- ${ version } -${ getFilename ( ) } ${ getArchiveExtension ( ) } ` ;
52
51
}
53
52
54
53
async extract ( ) {
@@ -60,20 +59,19 @@ class GraalJSInstaller extends Installer {
60
59
}
61
60
62
61
async install ( ) {
63
- const root = `graalvm-ce-java11-${ this . version } ` ;
62
+ const root = `graaljs-${ this . version } -${ getFilename ( ) } ` ;
63
+ let graaljs ;
64
64
if ( platform === 'darwin-x64' ) {
65
- await this . registerAsset ( `${ root } /Contents/Home/languages/js/graaljs.jar` ) ;
66
- await this . registerAsset ( `${ root } /Contents/Home/languages/js/lib/libjsvm.dylib` ) ;
67
- this . binPath = await this . registerBinary ( `${ root } /Contents/Home/languages/js/bin/js` , 'graaljs' ) ;
65
+ await this . registerAsset ( `${ root } /Contents/Home/lib/libjsvm.dylib` ) ;
66
+ graaljs = await this . registerAsset ( `${ root } /Contents/Home/bin/js` ) ;
68
67
} else if ( platform === 'win32-x64' ) {
69
- await this . registerAsset ( `${ root } /languages/js/graaljs.jar` ) ;
70
- await this . registerAsset ( `${ root } /languages/js/lib/jsvm.dll` ) ;
71
- this . binPath = await this . registerBinary ( `${ root } /languages/js/bin/js.exe` , 'graaljs.exe' ) ;
68
+ await this . registerAsset ( `${ root } /lib/jsvm.dll` ) ;
69
+ graaljs = await this . registerAsset ( `${ root } /bin/js.exe` ) ;
72
70
} else {
73
- await this . registerAsset ( `${ root } /languages/js/graaljs.jar` ) ;
74
- await this . registerAsset ( `${ root } /languages/js/lib/libjsvm.so` ) ;
75
- this . binPath = await this . registerBinary ( `${ root } /languages/js/bin/js` , 'graaljs' ) ;
71
+ await this . registerAsset ( `${ root } /lib/libjsvm.so` ) ;
72
+ graaljs = await this . registerAsset ( `${ root } /bin/js` ) ;
76
73
}
74
+ this . binPath = await this . registerScript ( 'graaljs' , `${ graaljs } ` ) ;
77
75
}
78
76
79
77
async test ( ) {
@@ -91,7 +89,7 @@ GraalJSInstaller.config = {
91
89
name : 'GraalJS' ,
92
90
id : 'graaljs' ,
93
91
supported : [
94
- 'linux-x64' , 'win32-x64' , 'darwin-x64' ,
92
+ 'linux-x64' , 'win32-x64' , 'darwin-x64' , 'linux-arm64' , 'darwin-arm64' ,
95
93
] ,
96
94
} ;
97
95
0 commit comments