 # Install any of the dependencies specified in the manifest, and also the
 # corrisponding dependency files *(package.json, bower.json, etc)*.
 install = (appPath, unknownArgs..., opts={}, log=console.error) ->
-  if typeof appPath isnt 'string' then [appPath, opts] = [opts, undefined]
+  if typeof appPath is 'object' then [opts, appPath] = [appPath, undefined]
   log 'Error: Not Implemented'
   process.exit 1
 

    else
      loader    = new LoadMulti files

    if opts.coffee
      loader.transform (file, ext) ->
        if ext is '.coffee' then return new CoffeeTransform()

    else
      opts.commonjs = false

    if opts.coffee? or manifest.coffee?
      opts.coffee = opts.coffee ? manifest.coffee
    else
      opts.coffee = false

    if vwarns? then log warning for warning in vwarns
    if vfails?
      log failure for failure in vfails
      return process.exit 1

    # Take all of our files and make them relative to our appPath if
    # they are relative.
    files = manifest.source.blocks.app.files
    for file,i in files
      # Skip this file if it's an /absolute/path
      if file[0] is path.sep then continue
      files[i] = path.resolve path.join appPath, file

    # Our cjs is a multi-file loader, so allow it to load if the caller wants
    # cjs, otherwise use our default loader
    if opts.commonjs
      cjsopts = extensions: []
      cjsopts.extensions.push '.coffee' if opts.coffee
