@@ -18,6 +18,7 @@ const SYS_COMMANDS = {
18
18
brew : 'brew install' ,
19
19
port : 'sudo port install' ,
20
20
pkgin : 'sudo pkgin install' ,
21
+ winget : 'winget install' ,
21
22
choco : 'choco install' ,
22
23
powershell : "powershell 'Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))'" ,
23
24
'apt-get' : 'sudo apt-get install' ,
@@ -37,7 +38,7 @@ const SYS_COMMANDS = {
37
38
*/
38
39
const SYS_MANAGERS = {
39
40
darwin : [ 'brew' , 'port' , 'pkgin' ] ,
40
- win32 : [ 'choco' , 'powershell' ] ,
41
+ win32 : [ 'winget' , ' choco', 'powershell' ] ,
41
42
linux : [ 'apt-get' , 'yum' , 'dnf' , 'nix' , 'zypper' , 'emerge' , 'pacman' , 'crew' ] ,
42
43
freebsd : [ 'pkg' , 'pkg_add' ] ,
43
44
sunos : [ 'pkg' ] ,
@@ -118,15 +119,16 @@ export const installer = Sys.installer = function (application, progress) {
118
119
if ( manager [ 2 ] )
119
120
install = [ manager [ 2 ] ] ;
120
121
121
- let whatToInstall = isArray ( application ) ? [ ] . concat ( application ) . concat ( [ '-y' ] ) : [ ] . concat ( [ application ] ) . concat ( [ '-y' ] ) ;
122
+ let silentCmd = isWindows ( ) ? [ '--accept-package-agreements' , '--accept-source-agreements' , '-h' ] : [ '-y' ] ;
123
+ let whatToInstall = isArray ( application ) ? [ ] . concat ( application ) . concat ( silentCmd ) : [ ] . concat ( [ application ] ) . concat ( silentCmd ) ;
122
124
let system = whatToInstall ;
123
125
if ( ( args ) && ( ! install ) )
124
126
system = args . concat ( whatToInstall ) ;
125
127
else if ( ( args ) && ( install ) )
126
128
system = args . concat ( install ) . concat ( whatToInstall ) ;
127
129
128
130
if ( cmd != 'powershell' ) {
129
- if ( cmd . includes ( 'choco' ) && process . platform == 'win32' ) {
131
+ if ( cmd . includes ( 'choco' ) && isWindows ( ) ) {
130
132
cmd = where ( 'choco' ) ;
131
133
system = [ cmd ] . concat ( system ) ;
132
134
cmd = join ( __dirname , 'bin' , 'sudo.bat' ) ;
@@ -161,7 +163,7 @@ export const where = Sys.where = function (executable) {
161
163
* @param {String } command - platform command
162
164
* @param {Array } argument - command arguments
163
165
* @param {Function|Object } progressOptions - either callback for `stdout.on('data')` event or `options`.
164
- * - the callback will received an object:
166
+ * - the callback will receive an object:
165
167
*```js
166
168
* spawn: object, // child process **spawn** `instance`.
167
169
* output: string, // any **output** data.
@@ -212,7 +214,7 @@ export const spawning = Sys.spawning = function (command, argument, progressOpti
212
214
213
215
if ( sudo ) {
214
216
argument = [ command ] . concat ( argument ) ;
215
- command = ( isWindows ( ) ) ? join ( __dirname , 'bin' , 'sudo.bat' ) : 'sudo' ;
217
+ command = isWindows ( ) ? join ( __dirname , 'bin' , 'sudo.bat' ) : 'sudo' ;
216
218
} ;
217
219
218
220
const spawned = spawn ( command , argument , options ) ;
0 commit comments