     if not isComponent() then return {}
     destPath = join(root, componentName())
     addComponentToConfig(makePathsAbsolute(requirejsConfig(), destPath))
-  console.log 'in there',argv.baseurlSpecified,argv.baseurl
   baseUrl = if argv.baseurlSpecified then {baseUrl: argv.baseurl} else {}
   extend.apply this, [true, baseUrl]
     .concat(componentConfig(c) for c in components)

    #{(' - ' + cmd + '\n' for cmd of templateCommands).join("")}
    """.replace(/\n$/, '')
    action: (cmd, args...) ->
      templateCommands[cmd] getConfig()

  build:
    description: """
    the build command does two things:
     - run `component install` IF the [staticpath] is given
     - and if the [templatepath] is given, it will output a json file named
       [contextjsonname] to that path containing the keyed info from the
       `component template` command
    """
    action: () ->
      commands.install.action() if argv.staticpathSpec

      if argv.templatepath
        config = getConfig()
        templateObj = _.reduce(templateCommands, ((templateObj, cmd, name) ->
          templateObj[name] = templateCommands[name](config)
          return templateObj
        ), {})
        provide argv.templatepath
        contextjsonname = join(argv.templatepath, argv.contextjsonname)
        write contextjsonname, JSON.stringify(templateObj)

  completion:
    description: """
    spits out a bash completion command.  something you can run like this:
      $ `component completion`
    """
    action: () ->
      console.log "complete -W #{(c for c of commands).join(" ")} component"


usage = """#{("node $0 "+cmd+'\n' for cmd of commands).join("")}
`component` is a utility that's used for installing javascript components and

          extraHtml,
          getTestMiddleware())
        .listen(argv.port, argv.host)
      log "serving at http://#{argv.host}:#{argv.port}"
      log "available tests:"
      listTests tests, argv.host, argv.port

  template:
