           throw err unless err.code is 'ENOENT'
           watcher.close()
           return removeSourceDir source, base
-        for file in files when not hidden(file) and not notSources[file]
-          file = path.join source, file
-          continue if file in sources or watchedDirs[file]
-          sources.push file
-          sourceCode.push null
-          compilePath file, no, base
+        for file in files
+          compilePath (path.join source, file), no, base
   catch e
     throw e unless e.code is 'ENOENT'
 

  o.compile     or=  !!o.output
  o.run         = not (o.compile or o.print or o.map)
  o.print       = !!  (o.print or (o.eval or o.stdio and o.compile))
  sources       = o.arguments
  sourceCode[i] = null for source, i in sources
  return

# The compile-time options to pass to the CoffeeScript compiler.
compileOptions = (filename, base) ->

    compileScript(source, code.toString(), base)
  else
    notSources[source] = yes

# Compile a single source script, containing the given code, according to the
# requested options. If evaluating the script directly sets `__filename`,
