anchor.diff:  
   /// Type with utilities for compiling F# files to JS
   /// No thread-safe, an instance must be created per file
  -type Compiler(?options, ?plugins) =
  +type Compiler(?options, ?plugins, ?logs) =
       let mutable id = 0
  -    let mutable hasFSharpError = false
       let options = defaultArg options <| getDefaultOptions()
       let plugins: PluginInfo list = defaultArg plugins []
  -    let logs = Dictionary<string, string list>()
  -    member __.HasFSharpError = hasFSharpError
  +    let logs =
  +        let dic = Dictionary<string, string list>()
  +        logs |> Option.iter (fun logs ->
  +            for KeyValue(key,value) in logs do
  +                dic.Add(key, value))
  +        dic
       member __.Logs: Map<string, string list> =
           logs |> Seq.map (fun kv -> kv.Key, List.rev kv.Value) |> Map
       member __.Options = options
  
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:             Fable2Babel.Compiler.createFacade fileName lastFile
          |> addLogs com |> toJson
      else
          let com = resolveFableCoreLocation com project
          FSharp2Fable.Compiler.transformFile com project project.CheckedProject fileName
          |> Fable2Babel.Compiler.transformFile com project
          |> addLogs com |> toJson
  
  type Command = string * (string -> unit)
  
  