           if err
             throw err unless err.code is 'ENOENT'
 
-            if opts['watch-polling']
+            if opts.polling
               fs.unwatchFile source
             else
               watcher.close()

            sourceCode.push null
            compilePath file, no, base

    if opts['watch-polling']
      fs.watchFile source, { interval: parseInt(opts['watch-polling']) }, compile
    else
      watcher = fs.watch source, compile


    #
    # This is useful while watching remote directory.
    # Such as the `fs.watch` won't catch the SMB server's file change event.
    if opts.polling
      fs.watchFile source, { interval: parseInt(opts.polling) }, compile
    else
      watcher = fs.watch source, compile
  catch e
    watchErr e

  rewatch = ->
    if opts.polling
      fs.unwatchFile source
      fs.watchFile source, { interval: parseInt(opts.polling) }, compile
    else
      watcher?.close()
      watcher = fs.watch source, compile
