@@ -48,7 +48,7 @@ export class WebExtensionsScannerService implements IWebExtensionsScannerService
4848
4949 private readonly systemExtensionsPromise : Promise < IScannedExtension [ ] > ;
5050 private readonly staticExtensions : IScannedExtension [ ] ;
51- private readonly extensionsResource : URI ;
51+ private readonly extensionsResource : URI | undefined ;
5252 private readonly userExtensionsResourceLimiter : Queue < IUserExtension [ ] > ;
5353
5454 constructor (
@@ -58,7 +58,7 @@ export class WebExtensionsScannerService implements IWebExtensionsScannerService
5858 @IRequestService private readonly requestService : IRequestService ,
5959 @ILogService private readonly logService : ILogService ,
6060 ) {
61- this . extensionsResource = joinPath ( environmentService . userRoamingDataHome , 'extensions.json' ) ;
61+ this . extensionsResource = isWeb ? joinPath ( environmentService . userRoamingDataHome , 'extensions.json' ) : undefined ;
6262 this . userExtensionsResourceLimiter = new Queue < IUserExtension [ ] > ( ) ;
6363 this . systemExtensionsPromise = isWeb ? this . builtinExtensionsScannerService . scanBuiltinExtensions ( ) : Promise . resolve ( [ ] ) ;
6464 const staticExtensions = environmentService . options && Array . isArray ( environmentService . options . staticExtensions ) ? environmentService . options . staticExtensions : [ ] ;
@@ -155,10 +155,13 @@ export class WebExtensionsScannerService implements IWebExtensionsScannerService
155155 return null ;
156156 }
157157
158- private readUserExtensions ( ) : Promise < IUserExtension [ ] > {
158+ private async readUserExtensions ( ) : Promise < IUserExtension [ ] > {
159+ if ( ! this . extensionsResource ) {
160+ return [ ] ;
161+ }
159162 return this . userExtensionsResourceLimiter . queue ( async ( ) => {
160163 try {
161- const content = await this . fileService . readFile ( this . extensionsResource ) ;
164+ const content = await this . fileService . readFile ( this . extensionsResource ! ) ;
162165 const storedUserExtensions : IStoredUserExtension [ ] = JSON . parse ( content . value . toString ( ) ) ;
163166 return storedUserExtensions . map ( e => ( {
164167 identifier : e . identifier ,
@@ -174,6 +177,9 @@ export class WebExtensionsScannerService implements IWebExtensionsScannerService
174177 }
175178
176179 private writeUserExtensions ( userExtensions : IUserExtension [ ] ) : Promise < IUserExtension [ ] > {
180+ if ( ! this . extensionsResource ) {
181+ throw new Error ( 'unsupported' ) ;
182+ }
177183 return this . userExtensionsResourceLimiter . queue ( async ( ) => {
178184 const storedUserExtensions : IStoredUserExtension [ ] = userExtensions . map ( e => ( {
179185 identifier : e . identifier ,
@@ -183,7 +189,7 @@ export class WebExtensionsScannerService implements IWebExtensionsScannerService
183189 changelogUri : e . changelogUri ?. toJSON ( ) ,
184190 packageNLSUri : e . packageNLSUri ?. toJSON ( ) ,
185191 } ) ) ;
186- await this . fileService . writeFile ( this . extensionsResource , VSBuffer . fromString ( JSON . stringify ( storedUserExtensions ) ) ) ;
192+ await this . fileService . writeFile ( this . extensionsResource ! , VSBuffer . fromString ( JSON . stringify ( storedUserExtensions ) ) ) ;
187193 return userExtensions ;
188194 } ) ;
189195 }
0 commit comments