anchor.diff:          Package("js/fable-splitter", buildSplitter)
       ]
       installDotnetSdk ()
  -    fullClean ()
       publishPackages2 baseDir dotnetExePath packages
   )
   
  -let buildRepl () =
  -    let fcsFork = "https://github.com/ncave/FSharp.Compiler.Service"
  -    let fcsFableDir =
  -        // Appveyor has problems with too long paths so download the fork closer to root
  -        // TODO: Another option for local Windows Systems (not AppVeyor)
  -        match environVarOrNone "APPVEYOR" with
  -        | Some _ -> "/projects/fcs"
  -        | None -> CWD </> "paket-files/ncave/FCS"
  -
  -    let fableJsProj = CWD </> "src/dotnet/Fable.JS/Fable.JS.fsproj"
  -    let fcsFableProj = fcsFableDir </> "fcs/fcs-fable/fcs-fable.fsproj"
  -
  -    let reg = Regex(@"ProjectReference Include="".*?""")
  -    (reg, fableJsProj) ||> replaceLines (fun line _ ->
  -        let replacement = reg.Replace(line, sprintf @"ProjectReference Include=""%s""" fcsFableProj)
  -        printfn "REPLACED:\n\t%s\n\t%s" line replacement
  -        Some replacement)
  -
  -    CleanDir fcsFableDir
  -    Repository.cloneSingleBranch CWD fcsFork "fable2" fcsFableDir
  -
  -    runBashOrCmd fcsFableDir "fcs/build" "CodeGen.Fable"
  -    Directory.GetFiles(fcsFableDir </> "fcs/fcs-fable/codegen")
  -    |> Seq.iter (printfn "%s")
  +let bundleRepl (fetchNcaveFork: bool) () =
  +    if fetchNcaveFork then
  +        let fcsFork = "https://github.com/ncave/FSharp.Compiler.Service"
  +        let fcsFableDir =
  +            // Appveyor has problems with too long paths so download the fork closer to root
  +            // TODO: Another option for local Windows Systems (not AppVeyor)
  +            match environVarOrNone "APPVEYOR" with
  +            | Some _ -> "/projects/fcs"
  +            | None -> CWD </> "paket-files/ncave/FCS"
  +
  +        let fableJsProj = CWD </> "src/dotnet/Fable.JS/Fable.JS.fsproj"
  +        let fcsFableProj = fcsFableDir </> "fcs/fcs-fable/fcs-fable.fsproj"
  +
  +        let reg = Regex(@"ProjectReference Include="".*?""")
  +        (reg, fableJsProj) ||> replaceLines (fun line _ ->
  +            let replacement = reg.Replace(line, sprintf @"ProjectReference Include=""%s""" fcsFableProj)
  +            printfn "REPLACED:\n\t%s\n\t%s" line replacement
  +            Some replacement)
  +
  +        CleanDir fcsFableDir
  +        Repository.cloneSingleBranch CWD fcsFork "fable2" fcsFableDir
  +
  +        runBashOrCmd fcsFableDir "fcs/build" "CodeGen.Fable"
  +        Directory.GetFiles(fcsFableDir </> "fcs/fcs-fable/codegen")
  +        |> Seq.iter (printfn "%s")
   
       // Build REPL
       let replDir = CWD </> "src/dotnet/Fable.JS"
  
positive.code:     runTestsJS ()
  
      match environVarOrNone "APPVEYOR", environVarOrNone "TRAVIS" with
      | Some _, _ -> runTestsDotnet (); buildRepl ()
      // .NET tests fail most of the times in Travis for obscure reasons
      | _, Some _ -> () // buildRepl ()
      // Don't build repl locally (takes too long)
      | None, None -> runTestsDotnet ()
  )
  
  Target "REPL" buildRepl
  
  // Note: build target "All" and "REPL" before this
  Target "REPL.test" (fun () ->
  
negative.code:         Path.GetDirectoryName(dotnetExePath) |> addToPath
      run CWD dotnetExePath "--version"
  
  let clean () =
      !! "build" ++ "**/.fable"
      |> CleanDirs
  
  let nugetRestore dir =
      run dir dotnetExePath "restore"
  