@@ -156,7 +156,8 @@ let hasCheckedBrowsers = false
156
156
function tryRun ( cmd ) {
157
157
try {
158
158
return execSync ( cmd , {
159
- stdio : [ 0 , 'pipe' , 'ignore' ]
159
+ stdio : [ 0 , 'pipe' , 'ignore' ] ,
160
+ timeout : 10000
160
161
} ) . toString ( ) . trim ( )
161
162
} catch ( e ) {
162
163
return ''
@@ -177,44 +178,41 @@ function getMacAppVersion (bundleIdentifier) {
177
178
}
178
179
}
179
180
180
- Object . defineProperty ( exports , 'installedBrowsers' , {
181
- enumerable : true ,
182
- get ( ) {
183
- if ( hasCheckedBrowsers ) {
184
- return browsers
185
- }
186
- hasCheckedBrowsers = true
187
-
188
- if ( exports . isLinux ) {
189
- browsers . chrome = getLinuxAppVersion ( 'google-chrome' )
190
- browsers . firefox = getLinuxAppVersion ( 'firefox' )
191
- } else if ( exports . isMacintosh ) {
192
- browsers . chrome = getMacAppVersion ( 'com.google.Chrome' )
193
- browsers . firefox = getMacAppVersion ( 'org.mozilla.firefox' )
194
- } else if ( exports . isWindows ) {
195
- // get chrome stable version
196
- // https://stackoverflow.com/a/51773107/2302258
197
- const chromeQueryResult = tryRun (
198
- 'reg query "HKLM\\Software\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}" /v pv /reg:32'
199
- ) || tryRun (
200
- 'reg query "HKCU\\Software\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}" /v pv /reg:32'
201
- )
202
- if ( chromeQueryResult ) {
203
- const matched = chromeQueryResult . match ( / R E G _ S Z \s + ( \S * ) $ / )
204
- browsers . chrome = matched && matched [ 1 ]
205
- }
206
-
207
- // get firefox version
208
- // https://community.spiceworks.com/topic/111518-how-to-determine-version-of-installed-firefox-in-windows-batchscript
209
- const ffQueryResult = tryRun (
210
- 'reg query "HKLM\\Software\\Mozilla\\Mozilla Firefox" /v CurrentVersion'
211
- )
212
- if ( ffQueryResult ) {
213
- const matched = ffQueryResult . match ( / R E G _ S Z \s + ( \S * ) $ / )
214
- browsers . firefox = matched && matched [ 1 ]
215
- }
181
+ exports . getInstalledBrowsers = ( ) => {
182
+ if ( hasCheckedBrowsers ) {
183
+ return browsers
184
+ }
185
+ hasCheckedBrowsers = true
186
+
187
+ if ( exports . isLinux ) {
188
+ browsers . chrome = getLinuxAppVersion ( 'google-chrome' )
189
+ browsers . firefox = getLinuxAppVersion ( 'firefox' )
190
+ } else if ( exports . isMacintosh ) {
191
+ browsers . chrome = getMacAppVersion ( 'com.google.Chrome' )
192
+ browsers . firefox = getMacAppVersion ( 'org.mozilla.firefox' )
193
+ } else if ( exports . isWindows ) {
194
+ // get chrome stable version
195
+ // https://stackoverflow.com/a/51773107/2302258
196
+ const chromeQueryResult = tryRun (
197
+ 'reg query "HKLM\\Software\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}" /v pv /reg:32'
198
+ ) || tryRun (
199
+ 'reg query "HKCU\\Software\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}" /v pv /reg:32'
200
+ )
201
+ if ( chromeQueryResult ) {
202
+ const matched = chromeQueryResult . match ( / R E G _ S Z \s + ( \S * ) $ / )
203
+ browsers . chrome = matched && matched [ 1 ]
216
204
}
217
205
218
- return browsers
206
+ // get firefox version
207
+ // https://community.spiceworks.com/topic/111518-how-to-determine-version-of-installed-firefox-in-windows-batchscript
208
+ const ffQueryResult = tryRun (
209
+ 'reg query "HKLM\\Software\\Mozilla\\Mozilla Firefox" /v CurrentVersion'
210
+ )
211
+ if ( ffQueryResult ) {
212
+ const matched = ffQueryResult . match ( / R E G _ S Z \s + ( \S * ) $ / )
213
+ browsers . firefox = matched && matched [ 1 ]
214
+ }
219
215
}
220
- } )
216
+
217
+ return browsers
218
+ }
0 commit comments