diff --git a/src/Fable.Compiler/ProjectCracker.fs b/src/Fable.Compiler/ProjectCracker.fs index 24bc8b08e2..bf2ee2705d 100644 --- a/src/Fable.Compiler/ProjectCracker.fs +++ b/src/Fable.Compiler/ProjectCracker.fs @@ -1002,7 +1002,6 @@ let getFullProjectOpts (resolver: ProjectCrackerResolver) (opts: CrackerOptions) let ignoredRefs = HashSet [ - "FSharp.Core" "WindowsBase" "Microsoft.Win32.Primitives" "Microsoft.VisualBasic" @@ -1027,14 +1026,7 @@ let getFullProjectOpts (resolver: ProjectCrackerResolver) (opts: CrackerOptions) let projRefs = projRefs |> List.map (fun p -> p.ProjectFile) - let otherOptions = - [| - yield! otherOptions - yield! dllRefs - // For some reason, in my tests it seems to work without the FSharp.Core reference - // but we add it just in case - yield "-r:" + typeof>.Assembly.Location - |] + let otherOptions = [| yield! otherOptions; yield! dllRefs |] let outputType = match mainProj.OutputType with diff --git a/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.fs b/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.fs new file mode 100644 index 0000000000..9c41313ad7 --- /dev/null +++ b/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.fs @@ -0,0 +1,16 @@ +module TaskBuilder + +open System.Threading.Tasks + +let run shouldThrow : Task> = + task { + let! value = Task.FromResult 42 + + try + if shouldThrow then + failwith "boom" + + return Ok value + with error -> + return Error error + } diff --git a/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.jsx.expected b/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.jsx.expected new file mode 100644 index 0000000000..33b008a4da --- /dev/null +++ b/tests/Integration/Integration/data/taskNetstandard/TaskBuilder.jsx.expected @@ -0,0 +1,13 @@ + +import { task } from "./fable_modules/fable-library-js.5.15.0/TaskBuilder.js"; +import { fromResult } from "./fable_modules/fable-library-js.5.15.0/Task.js"; +import { Exception } from "./fable_modules/fable-library-js.5.15.0/Util.js"; +import { FSharpResult$2 } from "./fable_modules/fable-library-js.5.15.0/Result.js"; + +export function run(shouldThrow) { + const builder$0040 = task(); + return builder$0040.Run(builder$0040.Delay(() => builder$0040.Bind(fromResult(42), (_arg) => builder$0040.TryWith(builder$0040.Delay(() => builder$0040.Combine(shouldThrow ? (((() => { + throw new Exception("boom"); + })(), builder$0040.Zero())) : builder$0040.Zero(), builder$0040.Delay(() => builder$0040.Return(new FSharpResult$2(/* Ok */ 0, [_arg]))))), (_arg_1) => builder$0040.Return(new FSharpResult$2(/* Error */ 1, [_arg_1])))))); +} + diff --git a/tests/Integration/Integration/data/taskNetstandard/taskNetstandard.fsproj b/tests/Integration/Integration/data/taskNetstandard/taskNetstandard.fsproj new file mode 100644 index 0000000000..024261748d --- /dev/null +++ b/tests/Integration/Integration/data/taskNetstandard/taskNetstandard.fsproj @@ -0,0 +1,15 @@ + + + + netstandard2.0 + + + + + + + + + + +