 # also the corrisponding dependency files *(package.json, bower.json, etc)*.
 outdated = (appPath, unknownArgs..., opts={}, log=console.error) ->
   if typeof appPath is 'object' then [opts, appPath] = [appPath, undefined]
-  log 'Not Implemented'
-  return process.exit 1
+
+  log 'Not Impelemented'
+  process.exit 1
 
   appPath ?= process.cwd()
   appPath = path.resolve appPath
 
   _loadManifest appPath, (manifest) ->
-    
+    # Get a the package managers that we should tell to install from the
+    # manifest. For an examplanation as to why we use this method of
+    # identifying which packages to install, see <INSERT LINK HERE..>
+    if opts.production is true
+      packageManagers = manifest.packageManagers    ? {}
+      outdater        = outdatedProd
+    else
+      packageManagers = manifest.devPackageManagers ? {}
+      outdater        = outdatedDev
+
+    outdaterOpts = {}
+    outdaterOpts.node  = packageManagers.node
+
+    outdater appPath, outdaterOpts, (err, packages) ->
+      if err?
+        log "Error encountered during outdated: #{err.message}"
+        return process.exit 1
+
+      log pack for pack in packages
 
 
 

# corrisponding dependency files *(package.json, bower.json, etc)*.
install = (appPath, unknownArgs..., opts={}, log=console.error) ->
  if typeof appPath is 'object' then [opts, appPath] = [appPath, undefined]
  log 'Not Implemented'
  return process.exit 1

  appPath ?= process.cwd()
  appPath = path.resolve appPath

  _loadManifest appPath, (manifest) ->
    



  StdioTransform
}                 = require '../lib/streams/load'
maniutils         = require '../lib/maniutils'
{
  installDev
  installProd
}                 = require '../lib/deps/install'

{
  outdatedDev
  outdatedProd
}                 = require '../lib/deps/outdated'



