   file = "#{process.cwd() + @_outputDir + '/'}#{filename}"
   ext = if _.endsWith filename, '.js' then '.jgz' else '.cgz'
   exec "gzip #{file}", (err, stdout, stderr) ->
-    console.log stderr if stderr?
+    console.log stderr if stderr
     fs.renameSync file + '.gz', file + ext
     writeFile filename, contents
     callback()
  for filename in @assets.jst[pkg]
    
    # Read the file and compile it into a javascript function string
    contents = fs.readFileSync(process.cwd() + '/' + filename).toString()
    ext = path.extname filename
    contents = if templateParsers[ext]? then templateParsers[ext](contents, filename) else contents
    

  @assets = options.assets
  unless @assets?
    throw new Error "You must specify an 'assets' obj with keys 'js', 'css', or 'jst'"
  appDir = process.cwd().replace(/\\/g, "\/")
  for key, obj of @assets
    for pkg, patterns of @assets[key]
      matches = []
      for pattern in patterns
        fnd = glob.sync path.resolve("#{appDir}/#{pattern}").replace(/\\/g, "\/")
        matches = matches.concat(fnd) 
      matches = _.uniq _.flatten matches
      matches = (file.replace(appDir, '').replace(/^\//, '') for file in matches)
      @assets[key][pkg] = matches

  # Config defaults
  @publicDir = options.publicDir ? '/public'
  @mode = options.mode ? do ->
