@@ -11,6 +11,7 @@ const Y18n = require('y18n')
1111const objFilter = require ( './lib/obj-filter' )
1212const setBlocking = require ( 'set-blocking' )
1313const applyExtends = require ( './lib/apply-extends' )
14+ const middlewareFactory = require ( './lib/middleware' )
1415const YError = require ( './lib/yerror' )
1516
1617exports = module . exports = Yargs
@@ -21,6 +22,7 @@ function Yargs (processArgs, cwd, parentRequire) {
2122 let command = null
2223 let completion = null
2324 let groups = { }
25+ let globalMiddleware = [ ]
2426 let output = ''
2527 let preservedGroups = { }
2628 let usage = null
@@ -31,6 +33,8 @@ function Yargs (processArgs, cwd, parentRequire) {
3133 updateFiles : false
3234 } )
3335
36+ self . middleware = middlewareFactory ( globalMiddleware , self )
37+
3438 if ( ! cwd ) cwd = process . cwd ( )
3539
3640 self . $0 = process . argv
@@ -117,7 +121,7 @@ function Yargs (processArgs, cwd, parentRequire) {
117121 // instances of all our helpers -- otherwise just reset.
118122 usage = usage ? usage . reset ( localLookup ) : Usage ( self , y18n )
119123 validation = validation ? validation . reset ( localLookup ) : Validation ( self , usage , y18n )
120- command = command ? command . reset ( ) : Command ( self , usage , validation )
124+ command = command ? command . reset ( ) : Command ( self , usage , validation , globalMiddleware )
121125 if ( ! completion ) completion = Completion ( self , usage , command )
122126
123127 completionCommand = null
0 commit comments