anchor.diff:          member __.Plugins = plugins
           member __.AddLog(msg, severity, ?range, ?fileName:string, ?tag: string) =
               let tag = defaultArg tag "FABLE"
  -            if tag = "FSHARP" && severity = Severity.Error then
  -                hasFSharpError <- true
               let severity =
                   match severity with
                   | Severity.Warning -> "warning"
  
positive.code:             then logs.[severity] <- formattedMsg::logs.[severity]
              else logs.Add(severity, [formattedMsg])
          member __.GetUniqueVar() =
  #if FABLE_COMPILER
              id <- id + 1; "$var" + (string id)
  #else
              // Actually this shouldn't be necessary as we've only
              // one compiler instance per file
              "$var" + (System.Threading.Interlocked.Increment(&id).ToString())
  #endif
  
  #if !FABLE_COMPILER
  
  
negative.code:     | ".fsi" -> failwithf "Signature files cannot be compiled to JS: %s" fileName
      | _ -> failwithf "Not an F# source file: %s" fileName
  
  let resolveFableCoreLocation (com: Compiler) (project: Project) =
      // Resolve the fable-core location if not defined by user
      if com.Options.fableCore = "fable-core" then
          match project.FableCoreJsDir with
          | Some fableCoreJsDir ->
              let newOpts = { com.Options with fableCore = Parser.makePathRelative fableCoreJsDir }
              Compiler(newOpts, com.Plugins, com.Logs)
          | None ->
              failwith "Cannot find fable-core directory"
      else com
  
  let compile (com: Compiler) (project: Project) (fileName: string) =
      if fileName.EndsWith(".fsproj") then
          // If there are errors at this stage they must come from the F# compiler
          if com.Logs.ContainsKey("error") then
              // Don't keep compiling because the project file would remain
              // errored forever, but add all project files as dependencies.
              let deps = Array.toList project.ProjectOptions.ProjectFileNames
              Babel.Program(fileName, SourceLocation.Empty, [], dependencies=deps)
          else
  