@@ -8,7 +8,20 @@ import path = require('path');
88import fs = require( 'fs' ) ;
99import winreg = require( 'winreg' ) ;
1010
11- const packageJson = < { [ key : string ] : any } > ( require ( '../package.json' ) ) ;
11+ export interface RPackageInfo {
12+ name : string ,
13+ required : string ,
14+ recommended : string ,
15+ warnIfNewer : string
16+ }
17+
18+ export interface PackageJson {
19+ [ key : string ] : any
20+ rPackageInfo : RPackageInfo
21+ version : string
22+ }
23+
24+ const packageJson = < PackageJson > ( require ( '../package.json' ) ) ;
1225
1326export function config ( onlyDebugger : boolean = true ) : vscode . WorkspaceConfiguration {
1427 if ( onlyDebugger ) {
@@ -148,19 +161,21 @@ export async function getRStartupArguments(launchConfig: {
148161}
149162
150163
151- export function getRDownloadLink ( packageName : string ) : string {
164+ export function getRDownloadLink ( ) : string {
152165 let url : string = config ( ) . get < string > ( 'packageURL' , '' ) ;
153166
154167 if ( url === '' ) {
155- const platform : string = process . platform ;
156- const version : string = String ( packageJson . version ) ; // e.g. "0.1.2"
168+ const platform = process . platform ;
169+ const extensionVersion = packageJson . version ;
170+ const rPackageVersion = packageJson . rPackageInfo . recommended ; // e.g. "0.1.2"
171+ const rPackageName = packageJson . rPackageInfo . name ;
157172 const urlBase =
158173 'https://github.com/ManuelHentschel/VSCode-R-Debugger/releases/download/v' +
159- version +
174+ extensionVersion +
160175 '/' +
161- packageName +
176+ rPackageName +
162177 '_' +
163- version ;
178+ rPackageVersion ;
164179
165180 if ( platform === 'win32' ) {
166181 url = urlBase + '.zip' ;
@@ -181,19 +196,8 @@ export function escapeForRegex(text: string): string {
181196 return text . replace ( / [ . * + ? ^ $ { } ( ) | [ \] \\ ] / g, '\\$&' ) ; // $& means the whole matched string
182197}
183198
184- export interface RequiredRPackageVersion {
185- name ?: string ,
186- required ?: string ,
187- recommended ?: string ,
188- warnIfNewer ?: string
189- }
190-
191- export function getRequiredRPackageVersion ( ) : RequiredRPackageVersion {
192- if ( typeof packageJson . rPackageInfo === 'object' ) {
193- return < RequiredRPackageVersion > packageJson . rPackageInfo ;
194- } else {
195- return { } ;
196- }
199+ export function getRequiredRPackageVersion ( ) : RPackageInfo {
200+ return packageJson . rPackageInfo ;
197201}
198202
199203
0 commit comments