├── assets
├── home.png
└── not-found.png
├── .gitignore
├── paket.dependencies
├── package.json
├── App
├── App.fsproj
└── App.fs
├── Fable.CloudFlareWorkers
├── Fable.CloudFlareWorkers.fsproj
└── CloudFlareWorkers.fs
├── LICENSE
├── README.md
├── paket.lock
└── .paket
└── Paket.Restore.targets
/assets/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zaid-Ajaj/Fable.CloudFlareWorkers/HEAD/assets/home.png
--------------------------------------------------------------------------------
/assets/not-found.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zaid-Ajaj/Fable.CloudFlareWorkers/HEAD/assets/not-found.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | **/*.rs.bk
3 | Cargo.lock
4 | bin/
5 | pkg/
6 | wasm-pack.log
7 | worker/
8 | node_modules/
9 | .cargo-ok
10 | .ionide
11 | bin
12 | obj
13 | dist
14 | .fable
15 | .fake
16 |
--------------------------------------------------------------------------------
/paket.dependencies:
--------------------------------------------------------------------------------
1 | group Build
2 | source https://api.nuget.org/v3/index.json
3 | framework: netstandard2.0
4 | storage: none
5 |
6 | nuget FSharp.Core 4.6.0.0
7 | nuget Fake.Core.ReleaseNotes
8 | nuget Fake.Core.Target
9 | nuget Fake.DotNet.Cli
10 | nuget Fake.IO.FileSystem
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "compile": "fable-splitter ./App -o ./dist",
5 | "bundle": "rollup ./dist/App.js -f iife --name App -o ./dist/bundle.js",
6 | "build": "npm run compile && npm run bundle"
7 | },
8 | "devDependencies": {
9 | "@babel/core": "^7.1.2",
10 | "fable-compiler": "^2.3.23",
11 | "fable-splitter": "^2.1.11",
12 | "rollup": "^1.21.2"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/App/App.fsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Fable.CloudFlareWorkers/Fable.CloudFlareWorkers.fsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | true
6 | Zaid Ajaj
7 | fsharp;fable;cloudflare;serverless;workers
8 | A library for easily writing CloudFlare workers in F# to be used with Fable.
9 | https://github.com/Zaid-Ajaj/Fable.CloudFlareWorkers
10 | https://github.com/Zaid-Ajaj/Fable.CloudFlareWorkers/blob/master/LICENSE
11 | 0.2.0
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 Zaid Ajaj
2 |
3 | Permission is hereby granted, free of charge, to any
4 | person obtaining a copy of this software and associated
5 | documentation files (the "Software"), to deal in the
6 | Software without restriction, including without
7 | limitation the rights to use, copy, modify, merge,
8 | publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software
10 | is furnished to do so, subject to the following
11 | conditions:
12 |
13 | The above copyright notice and this permission notice
14 | shall be included in all copies or substantial portions
15 | of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 | DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/App/App.fs:
--------------------------------------------------------------------------------
1 | module App
2 |
3 | open CloudFlareWorkers
4 |
5 | let worker (request: IHttpRequest) =
6 | async {
7 | match request.method, request.path with
8 | | HttpMethod.GET, "/" ->
9 | return Response.create(body="Home, sweet home", status=200)
10 |
11 | | HttpMethod.POST, "/echo" ->
12 | let! body = request.body()
13 | return Response.create(body=body, status=200)
14 |
15 | | HttpMethod.GET, "/headers" ->
16 | let headers =
17 | request.headers()
18 | |> Map.toList
19 | |> List.map (fun (key, value) -> sprintf "(%s, %s)" key value)
20 | |> String.concat "; "
21 | |> sprintf "[%s]"
22 |
23 | return Response.create(body=headers, status=200)
24 |
25 | | otherwise ->
26 | let body = "{ \"message\": \"Not Found\" }"
27 | let headers = Map.ofList [ "content-type", "application/json" ]
28 | return Response.create(body, status=404, headers=headers)
29 | }
30 |
31 | let echo (context: IRequestContext) =
32 | async {
33 | let request = context.request
34 | return! context.fetch request
35 | }
36 |
37 | Worker.initialize echo
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fable.CloudFlareWorkers
2 |
3 | Write [CloudFlare Workers](https://workers.cloudflare.com/) in idiomatic, type-safe F# and compile them to JS using [Fable](https://github.com/fable-compiler/Fable)
4 |
5 | ### Install the CloudFlare Worker APIs
6 | ```
7 | dotnet add package Fable.CloudFlareWorkers
8 | ```
9 | ### Write your worker logic in F#
10 | ```fs
11 | module App
12 |
13 | open CloudFlareWorkers
14 |
15 | let worker (request: IHttpRequest) =
16 | async {
17 | match request.method, request.path with
18 | | HttpMethod.GET, "/" ->
19 | return Response.create(body="Home, sweet home", status=200)
20 |
21 | | HttpMethod.POST, "/echo" ->
22 | let! body = request.body()
23 | return Response.create(body=body, status=200)
24 |
25 | | otherwise ->
26 | let body = "{ \"message\": \"Not Found\" }"
27 | let headers = Map.ofList [ "content-type", "application/json" ]
28 | return Response.create(body, status=404, headers=headers)
29 | }
30 |
31 | Worker.initialize worker
32 | ```
33 |
34 | A "worker" is a function of type `IHttpRequest -> Async` which is what `Worker.initialize` expects. However, you could also implement simple synchronous workers of type `IHttpRequest -> IHttpResponse` and give them to `Worker.initialize`:
35 | ```fs
36 | let worker (request: IHttpRequest) =
37 | match request.method, request.path with
38 | | HttpMethod.GET, "/" ->
39 | Response.create(body="Home, sweet home", status=200)
40 |
41 | | otherwise ->
42 | let body = "{ \"message\": \"Not Found\" }"
43 | let headers = [ "Content-type", "application/json" ]
44 | Response.create(body, status=404, headers=headers)
45 |
46 | Worker.initialize worker
47 | ```
48 |
49 | ### Making internal requests from the worker
50 |
51 | CloudFlare workers are able to `fetch` resources using requests and receive responses. In order to send a request with `fetch`, you have to inside a [Request Context](https://developers.cloudflare.com/workers/about/tips/request-context/). Using this library, you can access the request context and thus use `fetch` by using the type `IRequestContext` as your input of the worker where
52 | ```fs
53 | type IRequestContext =
54 | abstract request : IHttpRequest
55 | abstract fetch : IHttpRequest -> Async
56 | ```
57 | Now build your worker where it expects such context:
58 | ```fs
59 | let echo (context: IRequestContext) =
60 | async {
61 | let request = context.request
62 | let! response = context.fetch request
63 | return response
64 | }
65 |
66 | Worker.initialize echo
67 | ```
68 | As simple as that! Here, `Worker.initialize` is using another overload that has type `IRequestContext -> Async`. You can also create your own requests using the `Request.create` function.
69 |
70 | ### Compiling the project
71 |
72 | Use a combination of `fable-splitter` to compile the project into ES6 syntax, then use [rollup](https://rollupjs.org/guide/en/) to bundle the application as a single script. First of all, assuming the directory structure is as follows:
73 | ```
74 | {root}
75 | |
76 | | -- src
77 | |
78 | | -- App.fs
79 | | -- App.fsproj
80 | |
81 | | -- package.json
82 | | -- README.md
83 | | -- package-lock.json
84 | ```
85 | Install [Fable](https://github.com/fable-compiler/Fable) compiler along with `fable-splitter` and `rollup`:
86 | ```
87 | npm install fable-compiler fable-splitter rollup @babel/core --save-dev
88 | ```
89 | Then have one npm script to compile the application, another to bundle it and another that does both:
90 | ```json
91 | {
92 | "compile": "fable-splitter ./src -o ./dist",
93 | "bundle": "rollup ./dist/App.js -f iife --name App -o ./dist/bundle.js",
94 | "build": "npm run compile && npm run bundle"
95 | }
96 | ```
97 | Notice here that the entry file for `rollup` is `./dist/App.js` that is because `fable-splitter` compiled the entry file `App.fs` as the last file from the F# project which then becomes `App.js`.
98 |
99 | Now `rollup` takes this `App.js` entry file and compiles it into a single file as `./dist/bundle.js` this is where your worker script lives.
100 |
101 | > As for the `--name App` flag of rollup, it is used to give the IIFE a name inside the file and it is required but it can be any name you want.
102 |
103 | ### Testing the worker live
104 |
105 | Copy the contents of the file `./dist/bundle.js`, then go to [https://cloudflareworkers.com](https://cloudflareworkers.com) and paste the code to the left, press `CTRL + S` or click the "Update" button to update the code running where the page will show you "Home, sweet home":
106 |
107 | 
108 |
109 | If you change the path in the url to something like `/other` then you get the "Not Found" message:
110 |
111 | 
112 |
113 | ### Resources
114 |
115 | - [Cloudflare Workers Documentation](https://developers.cloudflare.com/workers/)
116 |
117 | - [CloudFlare Workers Tooling](https://developers.cloudflare.com/workers/tooling/)
118 |
119 | - [Joerg Beekmann - Cloudflare Workers in FSharp- Part I](https://github.com/jbeeko/cfworker-hello-world)
120 |
121 | - [Joerg Beekmann - Cloudflare Workers in FSharp - II](https://github.com/jbeeko/cfworker-web-api)
122 |
--------------------------------------------------------------------------------
/Fable.CloudFlareWorkers/CloudFlareWorkers.fs:
--------------------------------------------------------------------------------
1 | module CloudFlareWorkers
2 |
3 | open System
4 | open Fable.Core
5 | open Fable.Core.JsInterop
6 | open Browser.Types
7 |
8 | type IHttpRequest = interface end
9 |
10 | type IHttpResponse = interface end
11 |
12 | type IRequestContext =
13 | abstract request : IHttpRequest
14 | abstract fetch : IHttpRequest -> Async
15 |
16 | []
17 | type HttpMethod =
18 | | [] GET
19 | | [] POST
20 | | [] PUT
21 | | [] DELETE
22 | | [] PATCH
23 | | [] OPTIONS
24 |
25 | /// Interop utilities used in the library
26 | module internal Interop =
27 | []
28 | let headers (request: obj) : (string * string) [] = jsNative
29 |
30 | []
31 | let addEventHandler (f: obj -> obj) : unit = jsNative
32 |
33 | []
34 | let createResponse (body: string, options: obj) = jsNative
35 |
36 | []
37 | let createRequest (url: string, options: obj) = jsNative
38 |
39 | []
40 | let hasKey (key: string) (value: obj) = jsNative
41 |
42 | []
43 | let deleteKey (key: string) (value: obj) = jsNative
44 |
45 | []
46 | let set (key: string) (value: obj) (object: obj) : unit = jsNative
47 |
48 | []
49 | let createUInt8Array (x: obj) : byte[] = jsNative
50 | []
51 | let createBlobFromBytes (bytes: byte[]) : Blob = jsNative
52 |
53 | []
54 | let fetch (request: IHttpRequest) : JS.Promise = jsNative
55 |
56 | /// Contains functions for working with HTTP requests
57 | module Request =
58 | /// Reads the headers of the incoming request
59 | let headers (request: IHttpRequest) : Map =
60 | Map.ofArray (Interop.headers request)
61 |
62 | /// Reads the body content of the incoming request
63 | let body (request: IHttpRequest) : Async =
64 | async {
65 | let! text = Async.AwaitPromise (request?text())
66 | return text
67 | }
68 |
69 | []
70 | /// Returns the path of the incoming request
71 | let path (request: IHttpRequest) : string = jsNative
72 | []
73 | /// Returns the URL of the incoming request
74 | let url (request: IHttpRequest) : string = jsNative
75 | []
76 | /// Returns the HTTP method of the request
77 | let method (request: IHttpRequest) : HttpMethod = jsNative
78 | /// Returns the path of the request as segmented list of strings
79 | let pathSegments (request: IHttpRequest) : string list =
80 | let segments = path request
81 | segments.Split('/')
82 | |> List.ofArray
83 | |> List.filter (String.IsNullOrWhiteSpace >> not)
84 |
85 | []
86 | module Extensions =
87 | type IHttpRequest with
88 | member request.headers() : Map =
89 | Map.ofArray (Interop.headers request)
90 | /// Returns the path of the incoming request
91 | member request.path = Request.path request
92 | /// Returns the URL of the incoming request
93 | member request.url = Request.url request
94 | /// Returns the HTTP method of the request
95 | member request.method = Request.method request
96 | /// Returns the path of the request as segmented list of strings
97 | member request.pathSegments = Request.pathSegments request
98 | /// Reads the body content of the incoming request as text
99 | member request.body() = Request.body request
100 | /// Reads the request body as form data
101 | member request.formData() : Async =
102 | async {
103 | let! formData = Async.AwaitPromise(request?formData())
104 | return formData
105 | }
106 | /// Reads the body of the request as Blob of raw data
107 | member request.blob() : Async =
108 | async {
109 | let! text = Async.AwaitPromise (request?blob())
110 | return text
111 | }
112 | /// Reads the body of the request as raw data of bytes (byte array)
113 | member request.rawBody() : Async =
114 | async {
115 | let! arrayBuffer = Async.AwaitPromise(request?arrayBuffer())
116 | return Interop.createUInt8Array arrayBuffer
117 | }
118 |
119 | type IHttpResponse with
120 | /// Reads the body content of the response as text
121 | member response.body() : Async =
122 | async {
123 | let! text = Async.AwaitPromise (response?text())
124 | return text
125 | }
126 |
127 | /// Reads the body of the request as Blob of raw data
128 | member response.blob() : Async =
129 | async {
130 | let! text = Async.AwaitPromise (response?blob())
131 | return text
132 | }
133 |
134 | /// Reads the body of the response as form data
135 | member response.formData() : Async =
136 | async {
137 | let! formData = Async.AwaitPromise(response?formData())
138 | return formData
139 | }
140 |
141 | /// Reads the headers of the response
142 | member response.headers() : Map =
143 | Map.ofArray (Interop.headers response)
144 |
145 | /// Reads the body of the response as raw data of bytes (byte array)
146 | member response.rawBody() : Async =
147 | async {
148 | let! arrayBuffer = Async.AwaitPromise(response?arrayBuffer())
149 | return Interop.createUInt8Array arrayBuffer
150 | }
151 |
152 |
153 | []
154 | type Request =
155 | static member create (url:string, ?body: string, ?headers: Map) : IHttpRequest =
156 | let options = obj()
157 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
158 | body |> Option.iter (fun value -> Interop.set "body" value options)
159 | Interop.createRequest(url, options)
160 |
161 | static member create (url:string, ?body: Blob, ?headers: Map) : IHttpRequest =
162 | let options = obj()
163 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
164 | body |> Option.iter (fun value -> Interop.set "body" value options)
165 | Interop.createRequest(url, options)
166 |
167 | static member create (url:string, ?body: byte[], ?headers: Map) : IHttpRequest =
168 | let options = obj()
169 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
170 | body |> Option.iter (fun value -> Interop.set "body" (Interop.createBlobFromBytes value) options)
171 | Interop.createRequest(url, options)
172 |
173 | static member create (url:string, ?body: FormData, ?headers: Map) : IHttpRequest =
174 | let options = obj()
175 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
176 | body |> Option.iter (fun value -> Interop.set "body" value options)
177 | Interop.createRequest(url, options)
178 |
179 | /// Utilities for working with HTTP responses
180 | []
181 | type Response =
182 | /// Creates a new response object
183 | static member create (?body:string, ?status:int, ?headers: Map, ?statusText:string) : IHttpResponse =
184 | let options = obj()
185 | status |> Option.iter (fun value -> Interop.set "status" value options)
186 | statusText |> Option.iter (fun value -> Interop.set "statusText" value options)
187 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
188 | Interop.createResponse(!!body, options)
189 |
190 | /// Creates a new response object
191 | static member create (?body:Blob, ?status:int, ?headers: Map, ?statusText:string) : IHttpResponse =
192 | let options = obj()
193 | status |> Option.iter (fun value -> Interop.set "status" value options)
194 | statusText |> Option.iter (fun value -> Interop.set "statusText" value options)
195 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
196 | Interop.createResponse(!!body, options)
197 |
198 | /// Creates a new response object
199 | static member create (?body:byte[], ?status:int, ?headers: Map, ?statusText:string) : IHttpResponse =
200 | let options = obj()
201 | status |> Option.iter (fun value -> Interop.set "status" value options)
202 | statusText |> Option.iter (fun value -> Interop.set "statusText" value options)
203 | headers |> Option.iter (fun value -> Interop.set "headers" (createObj (Array.ofList !!(Map.toList value))) options)
204 | Interop.createResponse(unbox(Interop.createBlobFromBytes !!body), options)
205 |
206 | []
207 | type Worker =
208 | static member initialize (handler: IHttpRequest -> IHttpResponse) : unit =
209 | Interop.addEventHandler (fun fetchEvent -> fetchEvent?respondWith(handler fetchEvent?request))
210 |
211 | static member initialize (handler: IHttpRequest -> Async) : unit =
212 | Interop.addEventHandler (fun fetchEvent -> fetchEvent?respondWith(Async.StartAsPromise(handler fetchEvent?request)))
213 |
214 | static member initialize (handler: IRequestContext -> Async) : unit =
215 | Interop.addEventHandler <| fun fetchEvent ->
216 | let requestContext =
217 | { new IRequestContext with
218 | member x.request = fetchEvent?request
219 | member x.fetch(request: IHttpRequest) =
220 | async {
221 | let! response = Async.AwaitPromise(Interop.fetch request)
222 | return response
223 | }
224 | }
225 |
226 | fetchEvent?respondWith(Async.StartAsPromise(handler requestContext))
--------------------------------------------------------------------------------
/paket.lock:
--------------------------------------------------------------------------------
1 |
2 |
3 | GROUP Build
4 | STORAGE: NONE
5 | RESTRICTION: == netstandard2.0
6 | NUGET
7 | remote: https://api.nuget.org/v3/index.json
8 | BlackFox.VsWhere (1.0)
9 | FSharp.Core (>= 4.2.3)
10 | Fake.Core.CommandLineParsing (5.15.4)
11 | FParsec (>= 1.0.3)
12 | FSharp.Core (>= 4.3.4)
13 | Fake.Core.Context (5.15.4)
14 | FSharp.Core (>= 4.3.4)
15 | Fake.Core.Environment (5.15.4)
16 | FSharp.Core (>= 4.3.4)
17 | Fake.Core.FakeVar (5.15.4)
18 | Fake.Core.Context (>= 5.15.4)
19 | FSharp.Core (>= 4.3.4)
20 | Fake.Core.Process (5.15.4)
21 | Fake.Core.Environment (>= 5.15.4)
22 | Fake.Core.FakeVar (>= 5.15.4)
23 | Fake.Core.String (>= 5.15.4)
24 | Fake.Core.Trace (>= 5.15.4)
25 | Fake.IO.FileSystem (>= 5.15.4)
26 | FSharp.Core (>= 4.3.4)
27 | System.Diagnostics.Process (>= 4.3)
28 | Fake.Core.ReleaseNotes (5.15.4)
29 | Fake.Core.SemVer (>= 5.15.4)
30 | Fake.Core.String (>= 5.15.4)
31 | FSharp.Core (>= 4.3.4)
32 | Fake.Core.SemVer (5.15.4)
33 | FSharp.Core (>= 4.3.4)
34 | System.Runtime.Numerics (>= 4.3)
35 | Fake.Core.String (5.15.4)
36 | FSharp.Core (>= 4.3.4)
37 | Fake.Core.Target (5.15.4)
38 | Fake.Core.CommandLineParsing (>= 5.15.4)
39 | Fake.Core.Context (>= 5.15.4)
40 | Fake.Core.Environment (>= 5.15.4)
41 | Fake.Core.FakeVar (>= 5.15.4)
42 | Fake.Core.Process (>= 5.15.4)
43 | Fake.Core.String (>= 5.15.4)
44 | Fake.Core.Trace (>= 5.15.4)
45 | FSharp.Control.Reactive (>= 4.2)
46 | FSharp.Core (>= 4.3.4)
47 | System.Reactive.Compatibility (>= 4.1.5)
48 | Fake.Core.Tasks (5.15.4)
49 | Fake.Core.Trace (>= 5.15.4)
50 | FSharp.Core (>= 4.3.4)
51 | Fake.Core.Trace (5.15.4)
52 | Fake.Core.Environment (>= 5.15.4)
53 | Fake.Core.FakeVar (>= 5.15.4)
54 | FSharp.Core (>= 4.3.4)
55 | Fake.Core.Xml (5.15.4)
56 | Fake.Core.String (>= 5.15.4)
57 | FSharp.Core (>= 4.3.4)
58 | System.Xml.ReaderWriter (>= 4.3.1)
59 | System.Xml.XDocument (>= 4.3)
60 | System.Xml.XPath (>= 4.3)
61 | System.Xml.XPath.XDocument (>= 4.3)
62 | System.Xml.XPath.XmlDocument (>= 4.3)
63 | Fake.DotNet.Cli (5.15.4)
64 | Fake.Core.Environment (>= 5.15.4)
65 | Fake.Core.Process (>= 5.15.4)
66 | Fake.Core.String (>= 5.15.4)
67 | Fake.Core.Trace (>= 5.15.4)
68 | Fake.DotNet.MSBuild (>= 5.15.4)
69 | Fake.DotNet.NuGet (>= 5.15.4)
70 | Fake.IO.FileSystem (>= 5.15.4)
71 | FSharp.Core (>= 4.3.4)
72 | Newtonsoft.Json (>= 12.0.2)
73 | Fake.DotNet.MSBuild (5.15.4)
74 | BlackFox.VsWhere (>= 1.0)
75 | Fake.Core.Environment (>= 5.15.4)
76 | Fake.Core.Process (>= 5.15.4)
77 | Fake.Core.String (>= 5.15.4)
78 | Fake.Core.Trace (>= 5.15.4)
79 | Fake.IO.FileSystem (>= 5.15.4)
80 | FSharp.Core (>= 4.3.4)
81 | MSBuild.StructuredLogger (>= 2.0.94)
82 | Fake.DotNet.NuGet (5.15.4)
83 | Fake.Core.Environment (>= 5.15.4)
84 | Fake.Core.Process (>= 5.15.4)
85 | Fake.Core.SemVer (>= 5.15.4)
86 | Fake.Core.String (>= 5.15.4)
87 | Fake.Core.Tasks (>= 5.15.4)
88 | Fake.Core.Trace (>= 5.15.4)
89 | Fake.Core.Xml (>= 5.15.4)
90 | Fake.IO.FileSystem (>= 5.15.4)
91 | Fake.Net.Http (>= 5.15.4)
92 | FSharp.Core (>= 4.3.4)
93 | Newtonsoft.Json (>= 12.0.2)
94 | NuGet.Protocol (>= 4.9.4)
95 | System.Net.Http (>= 4.3.4)
96 | Fake.IO.FileSystem (5.15.4)
97 | Fake.Core.String (>= 5.15.4)
98 | FSharp.Core (>= 4.3.4)
99 | System.Diagnostics.FileVersionInfo (>= 4.3)
100 | System.IO.FileSystem.Watcher (>= 4.3)
101 | Fake.Net.Http (5.15.4)
102 | Fake.Core.Trace (>= 5.15.4)
103 | FSharp.Core (>= 4.3.4)
104 | System.Net.Http (>= 4.3.4)
105 | FParsec (1.0.3)
106 | FSharp.Core (>= 4.2.3)
107 | NETStandard.Library (>= 1.6.1)
108 | FSharp.Control.Reactive (4.2)
109 | FSharp.Core (>= 4.2.3)
110 | System.Reactive (>= 4.0)
111 | FSharp.Core (4.6)
112 | Microsoft.Build (16.0.461)
113 | Microsoft.Build.Framework (16.0.461)
114 | System.Runtime.Serialization.Primitives (>= 4.1.1)
115 | System.Threading.Thread (>= 4.0)
116 | Microsoft.Build.Tasks.Core (16.0.461)
117 | Microsoft.Build.Framework (>= 16.0.461)
118 | Microsoft.Build.Utilities.Core (>= 16.0.461)
119 | Microsoft.Win32.Registry (>= 4.3)
120 | System.CodeDom (>= 4.4)
121 | System.Collections.Immutable (>= 1.5)
122 | System.Linq.Parallel (>= 4.0.1)
123 | System.Net.Http (>= 4.3)
124 | System.Reflection.Metadata (>= 1.6)
125 | System.Reflection.TypeExtensions (>= 4.1)
126 | System.Resources.Writer (>= 4.0)
127 | System.Threading.Tasks.Dataflow (>= 4.6)
128 | Microsoft.Build.Utilities.Core (16.0.461)
129 | Microsoft.Build.Framework (>= 16.0.461)
130 | Microsoft.Win32.Registry (>= 4.3)
131 | System.Collections.Immutable (>= 1.5)
132 | System.Text.Encoding.CodePages (>= 4.0.1)
133 | Microsoft.NETCore.Platforms (2.2.3)
134 | Microsoft.NETCore.Targets (2.1)
135 | Microsoft.Win32.Primitives (4.3)
136 | Microsoft.NETCore.Platforms (>= 1.1)
137 | Microsoft.NETCore.Targets (>= 1.1)
138 | System.Runtime (>= 4.3)
139 | Microsoft.Win32.Registry (4.5)
140 | System.Buffers (>= 4.4)
141 | System.Memory (>= 4.5)
142 | System.Security.AccessControl (>= 4.5)
143 | System.Security.Principal.Windows (>= 4.5)
144 | MSBuild.StructuredLogger (2.0.110)
145 | Microsoft.Build (>= 15.8.166)
146 | Microsoft.Build.Framework (>= 15.8.166)
147 | Microsoft.Build.Tasks.Core (>= 15.8.166)
148 | Microsoft.Build.Utilities.Core (>= 15.8.166)
149 | NETStandard.Library (2.0.3)
150 | Microsoft.NETCore.Platforms (>= 1.1)
151 | Newtonsoft.Json (12.0.2)
152 | NuGet.Common (5.2)
153 | NuGet.Frameworks (>= 5.2)
154 | System.Diagnostics.Process (>= 4.3)
155 | System.Threading.Thread (>= 4.3)
156 | NuGet.Configuration (5.2)
157 | NuGet.Common (>= 5.2)
158 | System.Security.Cryptography.ProtectedData (>= 4.3)
159 | NuGet.Frameworks (5.2)
160 | NuGet.Packaging (5.2)
161 | Newtonsoft.Json (>= 9.0.1)
162 | NuGet.Configuration (>= 5.2)
163 | NuGet.Versioning (>= 5.2)
164 | System.Dynamic.Runtime (>= 4.3)
165 | NuGet.Protocol (5.2)
166 | NuGet.Packaging (>= 5.2)
167 | System.Dynamic.Runtime (>= 4.3)
168 | NuGet.Versioning (5.2)
169 | runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
170 | runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
171 | runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
172 | runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
173 | runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
174 | runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
175 | runtime.native.System (4.3.1)
176 | Microsoft.NETCore.Platforms (>= 1.1.1)
177 | Microsoft.NETCore.Targets (>= 1.1.3)
178 | runtime.native.System.Net.Http (4.3.1)
179 | Microsoft.NETCore.Platforms (>= 1.1.1)
180 | Microsoft.NETCore.Targets (>= 1.1.3)
181 | runtime.native.System.Security.Cryptography.Apple (4.3.1)
182 | runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1)
183 | runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
184 | runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
185 | runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
186 | runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
187 | runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
188 | runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
189 | runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
190 | runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
191 | runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
192 | runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
193 | runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
194 | runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
195 | runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
196 | runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
197 | runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
198 | runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3)
199 | runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
200 | runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
201 | runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
202 | runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1)
203 | runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
204 | runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
205 | runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
206 | runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
207 | runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
208 | runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
209 | System.Buffers (4.5)
210 | System.CodeDom (4.5)
211 | System.Collections (4.3)
212 | Microsoft.NETCore.Platforms (>= 1.1)
213 | Microsoft.NETCore.Targets (>= 1.1)
214 | System.Runtime (>= 4.3)
215 | System.Collections.Concurrent (4.3)
216 | System.Collections (>= 4.3)
217 | System.Diagnostics.Debug (>= 4.3)
218 | System.Diagnostics.Tracing (>= 4.3)
219 | System.Globalization (>= 4.3)
220 | System.Reflection (>= 4.3)
221 | System.Resources.ResourceManager (>= 4.3)
222 | System.Runtime (>= 4.3)
223 | System.Runtime.Extensions (>= 4.3)
224 | System.Threading (>= 4.3)
225 | System.Threading.Tasks (>= 4.3)
226 | System.Collections.Immutable (1.5)
227 | System.Diagnostics.Debug (4.3)
228 | Microsoft.NETCore.Platforms (>= 1.1)
229 | Microsoft.NETCore.Targets (>= 1.1)
230 | System.Runtime (>= 4.3)
231 | System.Diagnostics.DiagnosticSource (4.5.1)
232 | System.Diagnostics.FileVersionInfo (4.3)
233 | Microsoft.NETCore.Platforms (>= 1.1)
234 | System.Globalization (>= 4.3)
235 | System.IO (>= 4.3)
236 | System.IO.FileSystem (>= 4.3)
237 | System.IO.FileSystem.Primitives (>= 4.3)
238 | System.Reflection.Metadata (>= 1.4.1)
239 | System.Runtime (>= 4.3)
240 | System.Runtime.Extensions (>= 4.3)
241 | System.Runtime.InteropServices (>= 4.3)
242 | System.Diagnostics.Process (4.3)
243 | Microsoft.NETCore.Platforms (>= 1.1)
244 | Microsoft.Win32.Primitives (>= 4.3)
245 | Microsoft.Win32.Registry (>= 4.3)
246 | runtime.native.System (>= 4.3)
247 | System.Collections (>= 4.3)
248 | System.Diagnostics.Debug (>= 4.3)
249 | System.Globalization (>= 4.3)
250 | System.IO (>= 4.3)
251 | System.IO.FileSystem (>= 4.3)
252 | System.IO.FileSystem.Primitives (>= 4.3)
253 | System.Resources.ResourceManager (>= 4.3)
254 | System.Runtime (>= 4.3)
255 | System.Runtime.Extensions (>= 4.3)
256 | System.Runtime.Handles (>= 4.3)
257 | System.Runtime.InteropServices (>= 4.3)
258 | System.Text.Encoding (>= 4.3)
259 | System.Text.Encoding.Extensions (>= 4.3)
260 | System.Threading (>= 4.3)
261 | System.Threading.Tasks (>= 4.3)
262 | System.Threading.Thread (>= 4.3)
263 | System.Threading.ThreadPool (>= 4.3)
264 | System.Diagnostics.Tools (4.3)
265 | Microsoft.NETCore.Platforms (>= 1.1)
266 | Microsoft.NETCore.Targets (>= 1.1)
267 | System.Runtime (>= 4.3)
268 | System.Diagnostics.Tracing (4.3)
269 | Microsoft.NETCore.Platforms (>= 1.1)
270 | Microsoft.NETCore.Targets (>= 1.1)
271 | System.Runtime (>= 4.3)
272 | System.Dynamic.Runtime (4.3)
273 | System.Collections (>= 4.3)
274 | System.Diagnostics.Debug (>= 4.3)
275 | System.Linq (>= 4.3)
276 | System.Linq.Expressions (>= 4.3)
277 | System.ObjectModel (>= 4.3)
278 | System.Reflection (>= 4.3)
279 | System.Reflection.Emit (>= 4.3)
280 | System.Reflection.Emit.ILGeneration (>= 4.3)
281 | System.Reflection.Primitives (>= 4.3)
282 | System.Reflection.TypeExtensions (>= 4.3)
283 | System.Resources.ResourceManager (>= 4.3)
284 | System.Runtime (>= 4.3)
285 | System.Runtime.Extensions (>= 4.3)
286 | System.Threading (>= 4.3)
287 | System.Globalization (4.3)
288 | Microsoft.NETCore.Platforms (>= 1.1)
289 | Microsoft.NETCore.Targets (>= 1.1)
290 | System.Runtime (>= 4.3)
291 | System.Globalization.Calendars (4.3)
292 | Microsoft.NETCore.Platforms (>= 1.1)
293 | Microsoft.NETCore.Targets (>= 1.1)
294 | System.Globalization (>= 4.3)
295 | System.Runtime (>= 4.3)
296 | System.Globalization.Extensions (4.3)
297 | Microsoft.NETCore.Platforms (>= 1.1)
298 | System.Globalization (>= 4.3)
299 | System.Resources.ResourceManager (>= 4.3)
300 | System.Runtime (>= 4.3)
301 | System.Runtime.Extensions (>= 4.3)
302 | System.Runtime.InteropServices (>= 4.3)
303 | System.IO (4.3)
304 | Microsoft.NETCore.Platforms (>= 1.1)
305 | Microsoft.NETCore.Targets (>= 1.1)
306 | System.Runtime (>= 4.3)
307 | System.Text.Encoding (>= 4.3)
308 | System.Threading.Tasks (>= 4.3)
309 | System.IO.FileSystem (4.3)
310 | Microsoft.NETCore.Platforms (>= 1.1)
311 | Microsoft.NETCore.Targets (>= 1.1)
312 | System.IO (>= 4.3)
313 | System.IO.FileSystem.Primitives (>= 4.3)
314 | System.Runtime (>= 4.3)
315 | System.Runtime.Handles (>= 4.3)
316 | System.Text.Encoding (>= 4.3)
317 | System.Threading.Tasks (>= 4.3)
318 | System.IO.FileSystem.Primitives (4.3)
319 | System.Runtime (>= 4.3)
320 | System.IO.FileSystem.Watcher (4.3)
321 | Microsoft.NETCore.Platforms (>= 1.1)
322 | Microsoft.Win32.Primitives (>= 4.3)
323 | runtime.native.System (>= 4.3)
324 | System.Collections (>= 4.3)
325 | System.IO.FileSystem (>= 4.3)
326 | System.IO.FileSystem.Primitives (>= 4.3)
327 | System.Resources.ResourceManager (>= 4.3)
328 | System.Runtime (>= 4.3)
329 | System.Runtime.Extensions (>= 4.3)
330 | System.Runtime.Handles (>= 4.3)
331 | System.Runtime.InteropServices (>= 4.3)
332 | System.Text.Encoding (>= 4.3)
333 | System.Threading (>= 4.3)
334 | System.Threading.Overlapped (>= 4.3)
335 | System.Threading.Tasks (>= 4.3)
336 | System.Threading.Thread (>= 4.3)
337 | System.Linq (4.3)
338 | System.Collections (>= 4.3)
339 | System.Diagnostics.Debug (>= 4.3)
340 | System.Resources.ResourceManager (>= 4.3)
341 | System.Runtime (>= 4.3)
342 | System.Runtime.Extensions (>= 4.3)
343 | System.Linq.Expressions (4.3)
344 | System.Collections (>= 4.3)
345 | System.Diagnostics.Debug (>= 4.3)
346 | System.Globalization (>= 4.3)
347 | System.IO (>= 4.3)
348 | System.Linq (>= 4.3)
349 | System.ObjectModel (>= 4.3)
350 | System.Reflection (>= 4.3)
351 | System.Reflection.Emit (>= 4.3)
352 | System.Reflection.Emit.ILGeneration (>= 4.3)
353 | System.Reflection.Emit.Lightweight (>= 4.3)
354 | System.Reflection.Extensions (>= 4.3)
355 | System.Reflection.Primitives (>= 4.3)
356 | System.Reflection.TypeExtensions (>= 4.3)
357 | System.Resources.ResourceManager (>= 4.3)
358 | System.Runtime (>= 4.3)
359 | System.Runtime.Extensions (>= 4.3)
360 | System.Threading (>= 4.3)
361 | System.Linq.Parallel (4.3)
362 | System.Collections (>= 4.3)
363 | System.Collections.Concurrent (>= 4.3)
364 | System.Diagnostics.Debug (>= 4.3)
365 | System.Diagnostics.Tracing (>= 4.3)
366 | System.Linq (>= 4.3)
367 | System.Resources.ResourceManager (>= 4.3)
368 | System.Runtime (>= 4.3)
369 | System.Runtime.Extensions (>= 4.3)
370 | System.Threading (>= 4.3)
371 | System.Threading.Tasks (>= 4.3)
372 | System.Memory (4.5.3)
373 | System.Buffers (>= 4.4)
374 | System.Numerics.Vectors (>= 4.4)
375 | System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
376 | System.Net.Http (4.3.4)
377 | Microsoft.NETCore.Platforms (>= 1.1.1)
378 | runtime.native.System (>= 4.3)
379 | runtime.native.System.Net.Http (>= 4.3)
380 | runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2)
381 | System.Collections (>= 4.3)
382 | System.Diagnostics.Debug (>= 4.3)
383 | System.Diagnostics.DiagnosticSource (>= 4.3)
384 | System.Diagnostics.Tracing (>= 4.3)
385 | System.Globalization (>= 4.3)
386 | System.Globalization.Extensions (>= 4.3)
387 | System.IO (>= 4.3)
388 | System.IO.FileSystem (>= 4.3)
389 | System.Net.Primitives (>= 4.3)
390 | System.Resources.ResourceManager (>= 4.3)
391 | System.Runtime (>= 4.3)
392 | System.Runtime.Extensions (>= 4.3)
393 | System.Runtime.Handles (>= 4.3)
394 | System.Runtime.InteropServices (>= 4.3)
395 | System.Security.Cryptography.Algorithms (>= 4.3)
396 | System.Security.Cryptography.Encoding (>= 4.3)
397 | System.Security.Cryptography.OpenSsl (>= 4.3)
398 | System.Security.Cryptography.Primitives (>= 4.3)
399 | System.Security.Cryptography.X509Certificates (>= 4.3)
400 | System.Text.Encoding (>= 4.3)
401 | System.Threading (>= 4.3)
402 | System.Threading.Tasks (>= 4.3)
403 | System.Net.Primitives (4.3.1)
404 | Microsoft.NETCore.Platforms (>= 1.1.1)
405 | Microsoft.NETCore.Targets (>= 1.1.3)
406 | System.Runtime (>= 4.3.1)
407 | System.Runtime.Handles (>= 4.3)
408 | System.Numerics.Vectors (4.5)
409 | System.ObjectModel (4.3)
410 | System.Collections (>= 4.3)
411 | System.Diagnostics.Debug (>= 4.3)
412 | System.Resources.ResourceManager (>= 4.3)
413 | System.Runtime (>= 4.3)
414 | System.Threading (>= 4.3)
415 | System.Reactive (4.1.6)
416 | System.Runtime.InteropServices.WindowsRuntime (>= 4.3)
417 | System.Threading.Tasks.Extensions (>= 4.5.2)
418 | System.Reactive.Compatibility (4.1.6)
419 | System.Reactive.Core (>= 4.1.6)
420 | System.Reactive.Interfaces (>= 4.1.6)
421 | System.Reactive.Linq (>= 4.1.6)
422 | System.Reactive.PlatformServices (>= 4.1.6)
423 | System.Reactive.Providers (>= 4.1.6)
424 | System.Reactive.Core (4.1.6)
425 | System.Reactive (>= 4.1.6)
426 | System.Threading.Tasks.Extensions (>= 4.5.2)
427 | System.Reactive.Interfaces (4.1.6)
428 | System.Reactive (>= 4.1.6)
429 | System.Threading.Tasks.Extensions (>= 4.5.2)
430 | System.Reactive.Linq (4.1.6)
431 | System.Reactive (>= 4.1.6)
432 | System.Threading.Tasks.Extensions (>= 4.5.2)
433 | System.Reactive.PlatformServices (4.1.6)
434 | System.Reactive (>= 4.1.6)
435 | System.Threading.Tasks.Extensions (>= 4.5.2)
436 | System.Reactive.Providers (4.1.6)
437 | System.Reactive (>= 4.1.6)
438 | System.Threading.Tasks.Extensions (>= 4.5.2)
439 | System.Reflection (4.3)
440 | Microsoft.NETCore.Platforms (>= 1.1)
441 | Microsoft.NETCore.Targets (>= 1.1)
442 | System.IO (>= 4.3)
443 | System.Reflection.Primitives (>= 4.3)
444 | System.Runtime (>= 4.3)
445 | System.Reflection.Emit (4.3)
446 | System.IO (>= 4.3)
447 | System.Reflection (>= 4.3)
448 | System.Reflection.Emit.ILGeneration (>= 4.3)
449 | System.Reflection.Primitives (>= 4.3)
450 | System.Runtime (>= 4.3)
451 | System.Reflection.Emit.ILGeneration (4.3)
452 | System.Reflection (>= 4.3)
453 | System.Reflection.Primitives (>= 4.3)
454 | System.Runtime (>= 4.3)
455 | System.Reflection.Emit.Lightweight (4.3)
456 | System.Reflection (>= 4.3)
457 | System.Reflection.Emit.ILGeneration (>= 4.3)
458 | System.Reflection.Primitives (>= 4.3)
459 | System.Runtime (>= 4.3)
460 | System.Reflection.Extensions (4.3)
461 | Microsoft.NETCore.Platforms (>= 1.1)
462 | Microsoft.NETCore.Targets (>= 1.1)
463 | System.Reflection (>= 4.3)
464 | System.Runtime (>= 4.3)
465 | System.Reflection.Metadata (1.6)
466 | System.Collections.Immutable (>= 1.5)
467 | System.Reflection.Primitives (4.3)
468 | Microsoft.NETCore.Platforms (>= 1.1)
469 | Microsoft.NETCore.Targets (>= 1.1)
470 | System.Runtime (>= 4.3)
471 | System.Reflection.TypeExtensions (4.5.1)
472 | System.Resources.ResourceManager (4.3)
473 | Microsoft.NETCore.Platforms (>= 1.1)
474 | Microsoft.NETCore.Targets (>= 1.1)
475 | System.Globalization (>= 4.3)
476 | System.Reflection (>= 4.3)
477 | System.Runtime (>= 4.3)
478 | System.Resources.Writer (4.3)
479 | System.Collections (>= 4.3)
480 | System.IO (>= 4.3)
481 | System.Resources.ResourceManager (>= 4.3)
482 | System.Runtime (>= 4.3)
483 | System.Runtime.Extensions (>= 4.3)
484 | System.Text.Encoding (>= 4.3)
485 | System.Runtime (4.3.1)
486 | Microsoft.NETCore.Platforms (>= 1.1.1)
487 | Microsoft.NETCore.Targets (>= 1.1.3)
488 | System.Runtime.CompilerServices.Unsafe (4.5.2)
489 | System.Runtime.Extensions (4.3.1)
490 | Microsoft.NETCore.Platforms (>= 1.1.1)
491 | Microsoft.NETCore.Targets (>= 1.1.3)
492 | System.Runtime (>= 4.3.1)
493 | System.Runtime.Handles (4.3)
494 | Microsoft.NETCore.Platforms (>= 1.1)
495 | Microsoft.NETCore.Targets (>= 1.1)
496 | System.Runtime (>= 4.3)
497 | System.Runtime.InteropServices (4.3)
498 | Microsoft.NETCore.Platforms (>= 1.1)
499 | Microsoft.NETCore.Targets (>= 1.1)
500 | System.Reflection (>= 4.3)
501 | System.Reflection.Primitives (>= 4.3)
502 | System.Runtime (>= 4.3)
503 | System.Runtime.Handles (>= 4.3)
504 | System.Runtime.InteropServices.WindowsRuntime (4.3)
505 | System.Runtime (>= 4.3)
506 | System.Runtime.Numerics (4.3)
507 | System.Globalization (>= 4.3)
508 | System.Resources.ResourceManager (>= 4.3)
509 | System.Runtime (>= 4.3)
510 | System.Runtime.Extensions (>= 4.3)
511 | System.Runtime.Serialization.Primitives (4.3)
512 | System.Resources.ResourceManager (>= 4.3)
513 | System.Runtime (>= 4.3)
514 | System.Security.AccessControl (4.5)
515 | System.Security.Principal.Windows (>= 4.5)
516 | System.Security.Cryptography.Algorithms (4.3.1)
517 | Microsoft.NETCore.Platforms (>= 1.1)
518 | runtime.native.System.Security.Cryptography.Apple (>= 4.3.1)
519 | runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2)
520 | System.Collections (>= 4.3)
521 | System.IO (>= 4.3)
522 | System.Resources.ResourceManager (>= 4.3)
523 | System.Runtime (>= 4.3)
524 | System.Runtime.Extensions (>= 4.3)
525 | System.Runtime.Handles (>= 4.3)
526 | System.Runtime.InteropServices (>= 4.3)
527 | System.Runtime.Numerics (>= 4.3)
528 | System.Security.Cryptography.Encoding (>= 4.3)
529 | System.Security.Cryptography.Primitives (>= 4.3)
530 | System.Text.Encoding (>= 4.3)
531 | System.Security.Cryptography.Cng (4.5)
532 | System.Security.Cryptography.Csp (4.3)
533 | Microsoft.NETCore.Platforms (>= 1.1)
534 | System.IO (>= 4.3)
535 | System.Reflection (>= 4.3)
536 | System.Resources.ResourceManager (>= 4.3)
537 | System.Runtime (>= 4.3)
538 | System.Runtime.Extensions (>= 4.3)
539 | System.Runtime.Handles (>= 4.3)
540 | System.Runtime.InteropServices (>= 4.3)
541 | System.Security.Cryptography.Algorithms (>= 4.3)
542 | System.Security.Cryptography.Encoding (>= 4.3)
543 | System.Security.Cryptography.Primitives (>= 4.3)
544 | System.Text.Encoding (>= 4.3)
545 | System.Threading (>= 4.3)
546 | System.Security.Cryptography.Encoding (4.3)
547 | Microsoft.NETCore.Platforms (>= 1.1)
548 | runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
549 | System.Collections (>= 4.3)
550 | System.Collections.Concurrent (>= 4.3)
551 | System.Linq (>= 4.3)
552 | System.Resources.ResourceManager (>= 4.3)
553 | System.Runtime (>= 4.3)
554 | System.Runtime.Extensions (>= 4.3)
555 | System.Runtime.Handles (>= 4.3)
556 | System.Runtime.InteropServices (>= 4.3)
557 | System.Security.Cryptography.Primitives (>= 4.3)
558 | System.Text.Encoding (>= 4.3)
559 | System.Security.Cryptography.OpenSsl (4.5.1)
560 | System.Security.Cryptography.Primitives (4.3)
561 | System.Diagnostics.Debug (>= 4.3)
562 | System.Globalization (>= 4.3)
563 | System.IO (>= 4.3)
564 | System.Resources.ResourceManager (>= 4.3)
565 | System.Runtime (>= 4.3)
566 | System.Threading (>= 4.3)
567 | System.Threading.Tasks (>= 4.3)
568 | System.Security.Cryptography.ProtectedData (4.5)
569 | System.Memory (>= 4.5)
570 | System.Security.Cryptography.X509Certificates (4.3.2)
571 | Microsoft.NETCore.Platforms (>= 1.1)
572 | runtime.native.System (>= 4.3)
573 | runtime.native.System.Net.Http (>= 4.3)
574 | runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2)
575 | System.Collections (>= 4.3)
576 | System.Diagnostics.Debug (>= 4.3)
577 | System.Globalization (>= 4.3)
578 | System.Globalization.Calendars (>= 4.3)
579 | System.IO (>= 4.3)
580 | System.IO.FileSystem (>= 4.3)
581 | System.IO.FileSystem.Primitives (>= 4.3)
582 | System.Resources.ResourceManager (>= 4.3)
583 | System.Runtime (>= 4.3)
584 | System.Runtime.Extensions (>= 4.3)
585 | System.Runtime.Handles (>= 4.3)
586 | System.Runtime.InteropServices (>= 4.3)
587 | System.Runtime.Numerics (>= 4.3)
588 | System.Security.Cryptography.Algorithms (>= 4.3)
589 | System.Security.Cryptography.Cng (>= 4.3)
590 | System.Security.Cryptography.Csp (>= 4.3)
591 | System.Security.Cryptography.Encoding (>= 4.3)
592 | System.Security.Cryptography.OpenSsl (>= 4.3)
593 | System.Security.Cryptography.Primitives (>= 4.3)
594 | System.Text.Encoding (>= 4.3)
595 | System.Threading (>= 4.3)
596 | System.Security.Principal.Windows (4.5.1)
597 | System.Text.Encoding (4.3)
598 | Microsoft.NETCore.Platforms (>= 1.1)
599 | Microsoft.NETCore.Targets (>= 1.1)
600 | System.Runtime (>= 4.3)
601 | System.Text.Encoding.CodePages (4.5.1)
602 | System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
603 | System.Text.Encoding.Extensions (4.3)
604 | Microsoft.NETCore.Platforms (>= 1.1)
605 | Microsoft.NETCore.Targets (>= 1.1)
606 | System.Runtime (>= 4.3)
607 | System.Text.Encoding (>= 4.3)
608 | System.Text.RegularExpressions (4.3.1)
609 | System.Collections (>= 4.3)
610 | System.Globalization (>= 4.3)
611 | System.Resources.ResourceManager (>= 4.3)
612 | System.Runtime (>= 4.3.1)
613 | System.Runtime.Extensions (>= 4.3.1)
614 | System.Threading (>= 4.3)
615 | System.Threading (4.3)
616 | System.Runtime (>= 4.3)
617 | System.Threading.Tasks (>= 4.3)
618 | System.Threading.Overlapped (4.3)
619 | Microsoft.NETCore.Platforms (>= 1.1)
620 | System.Resources.ResourceManager (>= 4.3)
621 | System.Runtime (>= 4.3)
622 | System.Runtime.Handles (>= 4.3)
623 | System.Threading.Tasks (4.3)
624 | Microsoft.NETCore.Platforms (>= 1.1)
625 | Microsoft.NETCore.Targets (>= 1.1)
626 | System.Runtime (>= 4.3)
627 | System.Threading.Tasks.Dataflow (4.9)
628 | System.Threading.Tasks.Extensions (4.5.3)
629 | System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
630 | System.Threading.Thread (4.3)
631 | System.Runtime (>= 4.3)
632 | System.Threading.ThreadPool (4.3)
633 | System.Runtime (>= 4.3)
634 | System.Runtime.Handles (>= 4.3)
635 | System.Xml.ReaderWriter (4.3.1)
636 | System.Collections (>= 4.3)
637 | System.Diagnostics.Debug (>= 4.3)
638 | System.Globalization (>= 4.3)
639 | System.IO (>= 4.3)
640 | System.IO.FileSystem (>= 4.3)
641 | System.IO.FileSystem.Primitives (>= 4.3)
642 | System.Resources.ResourceManager (>= 4.3)
643 | System.Runtime (>= 4.3)
644 | System.Runtime.Extensions (>= 4.3)
645 | System.Runtime.InteropServices (>= 4.3)
646 | System.Text.Encoding (>= 4.3)
647 | System.Text.Encoding.Extensions (>= 4.3)
648 | System.Text.RegularExpressions (>= 4.3)
649 | System.Threading.Tasks (>= 4.3)
650 | System.Threading.Tasks.Extensions (>= 4.3)
651 | System.Xml.XDocument (4.3)
652 | System.Collections (>= 4.3)
653 | System.Diagnostics.Debug (>= 4.3)
654 | System.Diagnostics.Tools (>= 4.3)
655 | System.Globalization (>= 4.3)
656 | System.IO (>= 4.3)
657 | System.Reflection (>= 4.3)
658 | System.Resources.ResourceManager (>= 4.3)
659 | System.Runtime (>= 4.3)
660 | System.Runtime.Extensions (>= 4.3)
661 | System.Text.Encoding (>= 4.3)
662 | System.Threading (>= 4.3)
663 | System.Xml.ReaderWriter (>= 4.3)
664 | System.Xml.XmlDocument (4.3)
665 | System.Collections (>= 4.3)
666 | System.Diagnostics.Debug (>= 4.3)
667 | System.Globalization (>= 4.3)
668 | System.IO (>= 4.3)
669 | System.Resources.ResourceManager (>= 4.3)
670 | System.Runtime (>= 4.3)
671 | System.Runtime.Extensions (>= 4.3)
672 | System.Text.Encoding (>= 4.3)
673 | System.Threading (>= 4.3)
674 | System.Xml.ReaderWriter (>= 4.3)
675 | System.Xml.XPath (4.3)
676 | System.Collections (>= 4.3)
677 | System.Diagnostics.Debug (>= 4.3)
678 | System.Globalization (>= 4.3)
679 | System.IO (>= 4.3)
680 | System.Resources.ResourceManager (>= 4.3)
681 | System.Runtime (>= 4.3)
682 | System.Runtime.Extensions (>= 4.3)
683 | System.Threading (>= 4.3)
684 | System.Xml.ReaderWriter (>= 4.3)
685 | System.Xml.XPath.XDocument (4.3)
686 | System.Diagnostics.Debug (>= 4.3)
687 | System.Linq (>= 4.3)
688 | System.Resources.ResourceManager (>= 4.3)
689 | System.Runtime (>= 4.3)
690 | System.Runtime.Extensions (>= 4.3)
691 | System.Threading (>= 4.3)
692 | System.Xml.ReaderWriter (>= 4.3)
693 | System.Xml.XDocument (>= 4.3)
694 | System.Xml.XPath (>= 4.3)
695 | System.Xml.XPath.XmlDocument (4.3)
696 | System.Collections (>= 4.3)
697 | System.Globalization (>= 4.3)
698 | System.IO (>= 4.3)
699 | System.Resources.ResourceManager (>= 4.3)
700 | System.Runtime (>= 4.3)
701 | System.Runtime.Extensions (>= 4.3)
702 | System.Threading (>= 4.3)
703 | System.Xml.ReaderWriter (>= 4.3)
704 | System.Xml.XmlDocument (>= 4.3)
705 | System.Xml.XPath (>= 4.3)
706 |
--------------------------------------------------------------------------------
/.paket/Paket.Restore.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
8 |
9 | $(MSBuildVersion)
10 | 15.0.0
11 | false
12 | true
13 |
14 | true
15 | $(MSBuildThisFileDirectory)
16 | $(MSBuildThisFileDirectory)..\
17 | $(PaketRootPath)paket-files\paket.restore.cached
18 | $(PaketRootPath)paket.lock
19 | classic
20 | proj
21 | assembly
22 | native
23 | /Library/Frameworks/Mono.framework/Commands/mono
24 | mono
25 |
26 |
27 | $(PaketRootPath)paket.bootstrapper.exe
28 | $(PaketToolsPath)paket.bootstrapper.exe
29 | $([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\
30 |
31 |
32 |
33 |
34 | $(PaketRootPath)paket.exe
35 | $(PaketToolsPath)paket.exe
36 | $(PaketToolsPath)paket.exe
37 | $(_PaketBootStrapperExeDir)paket.exe
38 | paket.exe
39 |
40 |
41 | $(PaketRootPath)paket
42 | $(PaketToolsPath)paket
43 | $(PaketToolsPath)paket
44 |
45 |
46 | $(PaketRootPath)paket.exe
47 | $(PaketToolsPath)paket.exe
48 |
49 |
50 | $(PaketBootStrapperExeDir)paket.exe
51 |
52 |
53 | paket
54 |
55 |
56 | <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)"))
57 | dotnet "$(PaketExePath)"
58 | $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"
59 | "$(PaketExePath)"
60 |
61 |
62 | "$(PaketBootStrapperExePath)"
63 | $(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"
64 |
65 |
66 |
67 |
68 | true
69 | true
70 |
71 |
72 | True
73 |
74 | $(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/'))
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | true
89 | $(NoWarn);NU1603;NU1604;NU1605;NU1608
90 | false
91 | true
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 | $([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)'))
101 |
102 |
103 |
104 |
105 |
106 |
108 | $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``))
109 | $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``))
110 |
111 |
112 |
113 |
114 | %(PaketRestoreCachedKeyValue.Value)
115 | %(PaketRestoreCachedKeyValue.Value)
116 |
117 |
118 |
119 |
120 | true
121 | false
122 | true
123 |
124 |
125 |
129 |
130 | true
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 | $(PaketIntermediateOutputPath)\$(MSBuildProjectFile).paket.references.cached
150 |
151 | $(MSBuildProjectFullPath).paket.references
152 |
153 | $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references
154 |
155 | $(MSBuildProjectDirectory)\paket.references
156 |
157 | false
158 | true
159 | true
160 | references-file-or-cache-not-found
161 |
162 |
163 |
164 |
165 | $([System.IO.File]::ReadAllText('$(PaketReferencesCachedFilePath)'))
166 | $([System.IO.File]::ReadAllText('$(PaketOriginalReferencesFilePath)'))
167 | references-file
168 | false
169 |
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 | true
179 | target-framework '$(TargetFramework)' or '$(TargetFrameworks)' files @(PaketResolvedFilePaths)
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 | false
191 | true
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 | $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length)
203 | $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])
204 | $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])
205 | $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])
206 | $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])
207 |
208 |
209 | %(PaketReferencesFileLinesInfo.PackageVersion)
210 | All
211 | runtime
212 | runtime
213 | true
214 | true
215 |
216 |
217 |
218 |
219 | $(PaketIntermediateOutputPath)/$(MSBuildProjectFile).paket.clitools
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 | $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[0])
229 | $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[1])
230 |
231 |
232 | %(PaketCliToolFileLinesInfo.PackageVersion)
233 |
234 |
235 |
236 |
240 |
241 |
242 |
243 |
244 |
245 | false
246 |
247 |
248 |
249 |
250 |
251 | <_NuspecFilesNewLocation Include="$(PaketIntermediateOutputPath)\$(Configuration)\*.nuspec"/>
252 |
253 |
254 |
255 |
256 |
257 | $(MSBuildProjectDirectory)/$(MSBuildProjectFile)
258 | true
259 | false
260 | true
261 | false
262 | true
263 | false
264 | true
265 | false
266 | true
267 | $(PaketIntermediateOutputPath)\$(Configuration)
268 | $(PaketIntermediateOutputPath)
269 |
270 |
271 |
272 | <_NuspecFiles Include="$(AdjustedNuspecOutputPath)\*.$(PackageVersion.Split(`+`)[0]).nuspec"/>
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
330 |
331 |
374 |
375 |
417 |
418 |
459 |
460 |
461 |
462 |
--------------------------------------------------------------------------------