From 6f79cdf456f99fccb6f606d0dab186238558e857 Mon Sep 17 00:00:00 2001 From: benjaminramey Date: Sat, 2 Nov 2019 15:42:12 -0500 Subject: [PATCH] WIP --- .devcontainer/Dockerfile | 28 + .devcontainer/devcontainer.json | 11 + .devcontainer/settings.vscode.json | 3 + .editorconfig | 8 + .gitignore | 16 + .paket/Paket.Restore.targets | 461 +++ .vscode/extensions.json | 17 + .vscode/launch.json | 51 + .vscode/tasks.json | 81 + README.md | 37 + RELEASE_NOTES.md | 2 + build.fsx | 127 + lunchrun-web-safe.sln | 44 + package.json | 33 + paket.dependencies | 35 + paket.lock | 1661 ++++++++ src/Client/Client.fs | 77 + src/Client/Client.fsproj | 16 + src/Client/Version.fs | 5 + src/Client/index.html | 14 + src/Client/paket.references | 10 + src/Client/public/favicon.png | Bin 0 -> 810 bytes src/Client/style.scss | 17 + src/Server/Server.fs | 37 + src/Server/Server.fsproj | 13 + src/Server/paket.references | 4 + src/Shared/Shared.fs | 5 + webpack.config.js | 165 + yarn.lock | 5739 ++++++++++++++++++++++++++++ 29 files changed, 8717 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/settings.vscode.json create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .paket/Paket.Restore.targets create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 README.md create mode 100644 RELEASE_NOTES.md create mode 100644 build.fsx create mode 100644 lunchrun-web-safe.sln create mode 100644 package.json create mode 100644 paket.dependencies create mode 100644 paket.lock create mode 100644 src/Client/Client.fs create mode 100644 src/Client/Client.fsproj create mode 100644 src/Client/Version.fs create mode 100644 src/Client/index.html create mode 100644 src/Client/paket.references create mode 100644 src/Client/public/favicon.png create mode 100644 src/Client/style.scss create mode 100644 src/Server/Server.fs create mode 100644 src/Server/Server.fsproj create mode 100644 src/Server/paket.references create mode 100644 src/Shared/Shared.fs create mode 100644 webpack.config.js create mode 100644 yarn.lock diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..4c55559 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,28 @@ +FROM mcr.microsoft.com/dotnet/core/sdk:2.2 + +# Add keys and sources lists +RUN curl -sL https://deb.nodesource.com/setup_11.x | bash +RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - +RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" \ + | tee /etc/apt/sources.list.d/yarn.list + +# Install node, 7zip, yarn, git, process tools +RUN apt-get update && apt-get install -y nodejs p7zip-full yarn git procps + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + +# Install fake +RUN dotnet tool install fake-cli -g + +# Install Paket +RUN dotnet tool install paket -g + +# add dotnet tools to path to pick up fake and paket installation +ENV PATH="/root/.dotnet/tools:${PATH}" + +# Copy endpoint specific user settings into container to specify +# .NET Core should be used as the runtime. +COPY settings.vscode.json /root/.vscode-remote/data/Machine/settings.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..7ce9e10 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,11 @@ +{ + "name": "SAFE", + "dockerFile": "Dockerfile", + "appPort": [8080, 8085], + "extensions": [ + "ionide.ionide-fsharp", + "ms-vscode.csharp", + "editorconfig.editorconfig", + "msjsdiag.debugger-for-chrome" + ] +} \ No newline at end of file diff --git a/.devcontainer/settings.vscode.json b/.devcontainer/settings.vscode.json new file mode 100644 index 0000000..5b238fa --- /dev/null +++ b/.devcontainer/settings.vscode.json @@ -0,0 +1,3 @@ +{ + "FSharp.fsacRuntime":"netcore" +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f45b19b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9a11974 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +.fable/ +.fake/ +.vs/ +obj/ +bin/ +packages/ +paket-files/ +node_modules/ +src/Client/public/js/ +release.cmd +release.sh +.idea/ +*.orig +*.DotSettings.user +deploy +.ionide/ diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets new file mode 100644 index 0000000..aed3c3f --- /dev/null +++ b/.paket/Paket.Restore.targets @@ -0,0 +1,461 @@ + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(MSBuildVersion) + 15.0.0 + false + true + + true + $(MSBuildThisFileDirectory) + $(MSBuildThisFileDirectory)..\ + $(PaketRootPath)paket-files\paket.restore.cached + $(PaketRootPath)paket.lock + classic + proj + assembly + native + /Library/Frameworks/Mono.framework/Commands/mono + mono + + + $(PaketRootPath)paket.bootstrapper.exe + $(PaketToolsPath)paket.bootstrapper.exe + $([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\ + + + + + $(PaketRootPath)paket.exe + $(PaketToolsPath)paket.exe + $(PaketToolsPath)paket.exe + $(_PaketBootStrapperExeDir)paket.exe + paket.exe + + + $(PaketRootPath)paket + $(PaketToolsPath)paket + $(PaketToolsPath)paket + + + $(PaketRootPath)paket.exe + $(PaketToolsPath)paket.exe + + + $(PaketBootStrapperExeDir)paket.exe + + + paket + + + <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)")) + dotnet "$(PaketExePath)" + $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" + "$(PaketExePath)" + + + "$(PaketBootStrapperExePath)" + $(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)" + + + + + true + true + + + True + + $(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/')) + + + + + + + + + + + + + + true + $(NoWarn);NU1603;NU1604;NU1605;NU1608 + false + true + + + + + + + + + $([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)')) + + + + + + + $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``)) + $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``)) + + + + + %(PaketRestoreCachedKeyValue.Value) + %(PaketRestoreCachedKeyValue.Value) + + + + + true + false + true + + + + + true + + + + + + + + + + + + + + + + + + + $(PaketIntermediateOutputPath)\$(MSBuildProjectFile).paket.references.cached + + $(MSBuildProjectFullPath).paket.references + + $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references + + $(MSBuildProjectDirectory)\paket.references + + false + true + true + references-file-or-cache-not-found + + + + + $([System.IO.File]::ReadAllText('$(PaketReferencesCachedFilePath)')) + $([System.IO.File]::ReadAllText('$(PaketOriginalReferencesFilePath)')) + references-file + false + + + + + false + + + + + true + target-framework '$(TargetFramework)' or '$(TargetFrameworks)' files @(PaketResolvedFilePaths) + + + + + + + + + + + false + true + + + + + + + + + + + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5]) + + + %(PaketReferencesFileLinesInfo.PackageVersion) + All + runtime + runtime + true + true + + + + + $(PaketIntermediateOutputPath)/$(MSBuildProjectFile).paket.clitools + + + + + + + + + $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[0]) + $([System.String]::Copy('%(PaketCliToolFileLines.Identity)').Split(',')[1]) + + + %(PaketCliToolFileLinesInfo.PackageVersion) + + + + + + + + + + false + + + + + + <_NuspecFilesNewLocation Include="$(PaketIntermediateOutputPath)\$(Configuration)\*.nuspec"/> + + + + + + $(MSBuildProjectDirectory)/$(MSBuildProjectFile) + true + false + true + false + true + false + true + false + true + $(PaketIntermediateOutputPath)\$(Configuration) + $(PaketIntermediateOutputPath) + + + + <_NuspecFiles Include="$(AdjustedNuspecOutputPath)\*.$(PackageVersion.Split(`+`)[0]).nuspec"/> + + + + + + + + + + + + + + + + + + + + + diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..9a755b1 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,17 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "ionide.ionide-fsharp", + "ms-vscode.csharp", + "editorconfig.editorconfig", + "msjsdiag.debugger-for-chrome", + "ms-vscode-remote.remote-containers" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c4420a5 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,51 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Server", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "Build Server", + "program": "${workspaceFolder}/src/Server/bin/Debug/netcoreapp2.2/Server.dll", + "args": [], + "logging": { + "moduleLoad": false + }, + "stopAtEntry": false, + "console": "internalConsole", + }, + { + "name": "Debug Client", + "type": "chrome", + "request": "launch", + "preLaunchTask": "Watch Client", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}/src/Client", + "sourceMaps": true, + "sourceMapPathOverrides": { + "webpack:///*": "${workspaceFolder}/*", + } + }, + { + "name": "Watch SAFE App", + "type": "chrome", + "request": "launch", + "preLaunchTask": "Watch Client and Server", + "url": "http://localhost:8080", + "env": { + "vsCodeSession":"true" + }, + "webRoot": "${workspaceFolder}/src/Client", + "sourceMaps": true, + "sourceMapPathOverrides": { + "webpack:///*": "${workspaceFolder}/*", + } + } + ], + "compounds": [ + { + "name": "Debug SAFE App", + "configurations": [ "Debug Server", "Debug Client" ], + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..5be81e1 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,81 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build Server", + "command": "dotnet", + "args": [ "build" ], + "type": "shell", + "options": { "cwd": "${workspaceFolder}/src/Server" }, + "group": "build", + "problemMatcher": [ "$msCompile" ] + }, + { + "label": "Watch Client and Server", + "command": "fake", + "args": [ "build", "-t", "Run" ], + "type": "shell", + "options": { + "cwd": "${workspaceFolder}", + "env": { + "vsCodeSession": "true" + } + }, + "group": "build", + "isBackground": true, + "problemMatcher": { + "fileLocation": "absolute", + "background": { + "beginsPattern": { "regexp": "run Run" }, + "endsPattern": { "regexp": "i 「wdm」: Compiled|ℹ 「wdm」: Compiled|The terminal process terminated" }, + "activeOnStart": true + }, + "pattern": { + "regexp": "^(.*)\\((\\d+),(\\d+)\\): \\((\\d+),(\\d+)\\) (warning|error) FABLE: (.*)$", + "file": 1, + "line": 2, + "column": 3, + "endLine": 4, + "endColumn": 5, + "severity": 6, + "message": 7 + } + } + }, + { + "label": "Watch Client", + "command": "fake", + "args": [ "build", "-t", "Run" ], + "type": "shell", + "options": { + "cwd": "${workspaceFolder}", + "env": { + "vsCodeSession": "true", + "safeClientOnly": "true" + } + }, + "group": "build", + "isBackground": true, + "problemMatcher": { + "fileLocation": "absolute", + "background": { + "beginsPattern": { "regexp": "run Run" }, + "endsPattern": { "regexp": "i 「wdm」: Compiled|ℹ 「wdm」: Compiled|The terminal process terminated" }, + "activeOnStart": true + }, + "pattern": { + "regexp": "^(.*)\\((\\d+),(\\d+)\\): \\((\\d+),(\\d+)\\) (warning|error) FABLE: (.*)$", + "file": 1, + "line": 2, + "column": 3, + "endLine": 4, + "endColumn": 5, + "severity": 6, + "message": 7 + } + } + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4555a9d --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# SAFE Template + +This template can be used to generate a full-stack web application using the [SAFE Stack](https://safe-stack.github.io/). It was created using the dotnet [SAFE Template](https://safe-stack.github.io/docs/template-overview/). If you want to learn more about the template why not start with the [quick start](https://safe-stack.github.io/docs/quickstart/) guide? + +## Install pre-requisites + +You'll need to install the following pre-requisites in order to build SAFE applications + +* The [.NET Core SDK](https://www.microsoft.com/net/download) +* [FAKE 5](https://fake.build/) installed as a [global tool](https://fake.build/fake-gettingstarted.html#Install-FAKE) +* The [Yarn](https://yarnpkg.com/lang/en/docs/install/) package manager (you an also use `npm` but the usage of `yarn` is encouraged). +* [Node LTS](https://nodejs.org/en/download/) installed for the front end components. +* If you're running on OSX or Linux, you'll also need to install [Mono](https://www.mono-project.com/docs/getting-started/install/). + +## Work with the application + +To concurrently run the server and the client components in watch mode use the following command: + +```bash +fake build -t Run +``` + + +## SAFE Stack Documentation + +You will find more documentation about the used F# components at the following places: + +* [Saturn](https://saturnframework.org/docs/) +* [Fable](https://fable.io/docs/) +* [Elmish](https://elmish.github.io/elmish/) +* [Fulma](https://fulma.github.io/Fulma/) + +If you want to know more about the full Azure Stack and all of it's components (including Azure) visit the official [SAFE documentation](https://safe-stack.github.io/docs/). + +## Troubleshooting + +* **fake not found** - If you fail to execute `fake` from command line after installing it as a global tool, you might need to add it to your `PATH` manually: (e.g. `export PATH="$HOME/.dotnet/tools:$PATH"` on unix) - [related GitHub issue](https://github.com/dotnet/cli/issues/9321) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..2bf5c79 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,2 @@ +### 0.0.1 - 2019-10-05 +* Initial release diff --git a/build.fsx b/build.fsx new file mode 100644 index 0000000..ffd94a9 --- /dev/null +++ b/build.fsx @@ -0,0 +1,127 @@ +#r "paket: groupref build //" +#load "./.fake/build.fsx/intellisense.fsx" + +#if !FAKE +#r "netstandard" +#r "Facades/netstandard" // https://github.com/ionide/ionide-vscode-fsharp/issues/839#issuecomment-396296095 +#endif + +open System + +open Fake.Core +open Fake.DotNet +open Fake.IO + +Target.initEnvironment () + +let serverPath = Path.getFullName "./src/Server" +let clientPath = Path.getFullName "./src/Client" +let clientDeployPath = Path.combine clientPath "deploy" +let deployDir = Path.getFullName "./deploy" + +let release = ReleaseNotes.load "RELEASE_NOTES.md" + +let platformTool tool winTool = + let tool = if Environment.isUnix then tool else winTool + match ProcessUtils.tryFindFileOnPath tool with + | Some t -> t + | _ -> + let errorMsg = + tool + " was not found in path. " + + "Please install it and make sure it's available from your path. " + + "See https://safe-stack.github.io/docs/quickstart/#install-pre-requisites for more info" + failwith errorMsg + +let nodeTool = platformTool "node" "node.exe" +let yarnTool = platformTool "yarn" "yarn.cmd" + +let runTool cmd args workingDir = + let arguments = args |> String.split ' ' |> Arguments.OfArgs + Command.RawCommand (cmd, arguments) + |> CreateProcess.fromCommand + |> CreateProcess.withWorkingDirectory workingDir + |> CreateProcess.ensureExitCode + |> Proc.run + |> ignore + +let runDotNet cmd workingDir = + let result = + DotNet.exec (DotNet.Options.withWorkingDirectory workingDir) cmd "" + if result.ExitCode <> 0 then failwithf "'dotnet %s' failed in %s" cmd workingDir + +let openBrowser url = + //https://github.com/dotnet/corefx/issues/10361 + Command.ShellCommand url + |> CreateProcess.fromCommand + |> CreateProcess.ensureExitCodeWithMessage "opening browser failed" + |> Proc.run + |> ignore + + +Target.create "Clean" (fun _ -> + [ deployDir + clientDeployPath ] + |> Shell.cleanDirs +) + +Target.create "InstallClient" (fun _ -> + printfn "Node version:" + runTool nodeTool "--version" __SOURCE_DIRECTORY__ + printfn "Yarn version:" + runTool yarnTool "--version" __SOURCE_DIRECTORY__ + runTool yarnTool "install --frozen-lockfile" __SOURCE_DIRECTORY__ +) + +Target.create "Build" (fun _ -> + runDotNet "build" serverPath + Shell.regexReplaceInFileWithEncoding + "let app = \".+\"" + ("let app = \"" + release.NugetVersion + "\"") + System.Text.Encoding.UTF8 + (Path.combine clientPath "Version.fs") + runTool yarnTool "webpack-cli -p" __SOURCE_DIRECTORY__ +) + +Target.create "Run" (fun _ -> + let server = async { + runDotNet "watch run" serverPath + } + let client = async { + runTool yarnTool "webpack-dev-server" __SOURCE_DIRECTORY__ + } + let browser = async { + do! Async.Sleep 5000 + openBrowser "http://localhost:8080" + } + + let vsCodeSession = Environment.hasEnvironVar "vsCodeSession" + let safeClientOnly = Environment.hasEnvironVar "safeClientOnly" + + let tasks = + [ if not safeClientOnly then yield server + yield client + if not vsCodeSession then yield browser ] + + tasks + |> Async.Parallel + |> Async.RunSynchronously + |> ignore +) + + + + + + +open Fake.Core.TargetOperators + +"Clean" + ==> "InstallClient" + ==> "Build" + + +"Clean" + ==> "InstallClient" + ==> "Run" + +Target.runOrDefaultWithArguments "Build" diff --git a/lunchrun-web-safe.sln b/lunchrun-web-safe.sln new file mode 100644 index 0000000..d589043 --- /dev/null +++ b/lunchrun-web-safe.sln @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2005 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Client", "src\Client\Client.fsproj", "{73E8E820-C8AA-47CC-BB2B-152CA4D0B855}" +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Server", "src\Server\Server.fsproj", "{73E8E820-C8AA-47CC-BB2B-152CA4D0B856}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{08CCFCF6-2248-43ED-A6EF-E972A2DA0E6A}" + ProjectSection(SolutionItems) = preProject + build.fsx = build.fsx + package.json = package.json + paket.dependencies = paket.dependencies + paket.lock = paket.lock + README.md = README.md + webpack.config.js = webpack.config.js + yarn.lock = yarn.lock + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {73E8E820-C8AA-47CC-BB2B-152CA4D0B855}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B855}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B855}.Release|Any CPU.ActiveCfg = Release|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B855}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {73E8E820-C8AA-47CC-BB2B-152CA4D0B856}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B856}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B856}.Release|Any CPU.ActiveCfg = Release|Any CPU + {73E8E820-C8AA-47CC-BB2B-152CA4D0B856}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7A0AA30E-4CD9-4359-9513-BA68E2E85245} + EndGlobalSection +EndGlobal diff --git a/package.json b/package.json new file mode 100644 index 0000000..d5b171c --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "private": true, + "devDependencies": { + "@babel/core": "^7.4.4", + "@babel/plugin-transform-runtime": "^7.4.4", + "@babel/polyfill": "^7.4.4", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@fortawesome/fontawesome-free": "^5.10.2", + "babel-loader": "^8.0.5", + "bulma": "^0.7.1", + "copy-webpack-plugin": "^4.6.0", + "core-js": "^3.2.1", + "css-loader": "^2.0.1", + "fable-compiler": "^2.3.3", + "fable-loader": "^2.1.8", + "file-loader": "^4.2.0", + "html-webpack-plugin": "^3.2.0", + "mini-css-extract-plugin": "^0.5.0", + "open-sans-fonts": "^1.5.1", + "react": "^16.9.0", + "react-dom": "^16.9.0", + "remotedev": "^0.2.9", + "sass": "^1.22.10", + "sass-loader": "^7.3.1", + "style-loader": "^0.23.1", + "terser": "^4.2.1", + "webpack": "^4.39.0", + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0", + "whatwg-fetch": "^3.0.0" + } +} diff --git a/paket.dependencies b/paket.dependencies new file mode 100644 index 0000000..066bdef --- /dev/null +++ b/paket.dependencies @@ -0,0 +1,35 @@ +group Server + source https://api.nuget.org/v3/index.json + framework: netcoreapp2.2 + storage: none + + nuget FSharp.Core + nuget Saturn + nuget Thoth.Json.Giraffe + +group Client + source https://api.nuget.org/v3/index.json + framework: netstandard2.0 + storage: none + + nuget Fable.Core ~> 3 + nuget Fable.Elmish ~> 3 + nuget Fable.Elmish.Debugger ~> 3 + nuget Fable.Elmish.HMR ~> 4 + nuget Fable.Elmish.React ~> 3 + nuget Thoth.Fetch ~> 1 + nuget Fable.React ~> 5 + nuget Fulma ~> 2 + nuget Fable.FontAwesome.Free ~> 2 + +group Build + source https://api.nuget.org/v3/index.json + framework: netstandard2.0 + storage: none + + nuget FSharp.Core + nuget Fake.Core.ReleaseNotes + nuget Fake.Core.Target + nuget Fake.DotNet.Cli + nuget Fake.IO.FileSystem + diff --git a/paket.lock b/paket.lock new file mode 100644 index 0000000..5487aae --- /dev/null +++ b/paket.lock @@ -0,0 +1,1661 @@ +GROUP Build +STORAGE: NONE +RESTRICTION: == netstandard2.0 +NUGET + remote: https://api.nuget.org/v3/index.json + BlackFox.VsWhere (1.0) + FSharp.Core (>= 4.2.3) + Fake.Core.CommandLineParsing (5.15) + FParsec (>= 1.0.3) + FSharp.Core (>= 4.3.4) + Fake.Core.Context (5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.Environment (5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.FakeVar (5.15) + Fake.Core.Context (>= 5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.Process (5.15) + Fake.Core.Environment (>= 5.15) + Fake.Core.FakeVar (>= 5.15) + Fake.Core.String (>= 5.15) + Fake.Core.Trace (>= 5.15) + Fake.IO.FileSystem (>= 5.15) + FSharp.Core (>= 4.3.4) + System.Diagnostics.Process (>= 4.3) + Fake.Core.ReleaseNotes (5.15) + Fake.Core.SemVer (>= 5.15) + Fake.Core.String (>= 5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.SemVer (5.15) + FSharp.Core (>= 4.3.4) + System.Runtime.Numerics (>= 4.3) + Fake.Core.String (5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.Target (5.15) + Fake.Core.CommandLineParsing (>= 5.15) + Fake.Core.Context (>= 5.15) + Fake.Core.Environment (>= 5.15) + Fake.Core.FakeVar (>= 5.15) + Fake.Core.Process (>= 5.15) + Fake.Core.String (>= 5.15) + Fake.Core.Trace (>= 5.15) + FSharp.Control.Reactive (>= 4.2) + FSharp.Core (>= 4.3.4) + System.Reactive.Compatibility (>= 4.1.5) + Fake.Core.Tasks (5.15) + Fake.Core.Trace (>= 5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.Trace (5.15) + Fake.Core.Environment (>= 5.15) + Fake.Core.FakeVar (>= 5.15) + FSharp.Core (>= 4.3.4) + Fake.Core.Xml (5.15) + Fake.Core.String (>= 5.15) + FSharp.Core (>= 4.3.4) + System.Xml.ReaderWriter (>= 4.3.1) + System.Xml.XDocument (>= 4.3) + System.Xml.XPath (>= 4.3) + System.Xml.XPath.XDocument (>= 4.3) + System.Xml.XPath.XmlDocument (>= 4.3) + Fake.DotNet.Cli (5.15) + Fake.Core.Environment (>= 5.15) + Fake.Core.Process (>= 5.15) + Fake.Core.String (>= 5.15) + Fake.Core.Trace (>= 5.15) + Fake.DotNet.MSBuild (>= 5.15) + Fake.DotNet.NuGet (>= 5.15) + Fake.IO.FileSystem (>= 5.15) + FSharp.Core (>= 4.3.4) + Newtonsoft.Json (>= 12.0.2) + Fake.DotNet.MSBuild (5.15) + BlackFox.VsWhere (>= 1.0) + Fake.Core.Environment (>= 5.15) + Fake.Core.Process (>= 5.15) + Fake.Core.String (>= 5.15) + Fake.Core.Trace (>= 5.15) + Fake.IO.FileSystem (>= 5.15) + FSharp.Core (>= 4.3.4) + MSBuild.StructuredLogger (>= 2.0.94) + Fake.DotNet.NuGet (5.15) + Fake.Core.Environment (>= 5.15) + Fake.Core.Process (>= 5.15) + Fake.Core.SemVer (>= 5.15) + Fake.Core.String (>= 5.15) + Fake.Core.Tasks (>= 5.15) + Fake.Core.Trace (>= 5.15) + Fake.Core.Xml (>= 5.15) + Fake.IO.FileSystem (>= 5.15) + Fake.Net.Http (>= 5.15) + FSharp.Core (>= 4.3.4) + Newtonsoft.Json (>= 12.0.2) + NuGet.Protocol (>= 4.9.4) + System.Net.Http (>= 4.3.4) + Fake.IO.FileSystem (5.15) + Fake.Core.String (>= 5.15) + FSharp.Core (>= 4.3.4) + System.Diagnostics.FileVersionInfo (>= 4.3) + System.IO.FileSystem.Watcher (>= 4.3) + Fake.Net.Http (5.15) + Fake.Core.Trace (>= 5.15) + FSharp.Core (>= 4.3.4) + System.Net.Http (>= 4.3.4) + FParsec (1.0.3) + FSharp.Core (>= 4.2.3) + NETStandard.Library (>= 1.6.1) + FSharp.Control.Reactive (4.2) + FSharp.Core (>= 4.2.3) + System.Reactive (>= 4.0) + FSharp.Core (4.6.2) + Microsoft.Build (16.0.461) + Microsoft.Build.Framework (16.0.461) + System.Runtime.Serialization.Primitives (>= 4.1.1) + System.Threading.Thread (>= 4.0) + Microsoft.Build.Tasks.Core (16.0.461) + Microsoft.Build.Framework (>= 16.0.461) + Microsoft.Build.Utilities.Core (>= 16.0.461) + Microsoft.Win32.Registry (>= 4.3) + System.CodeDom (>= 4.4) + System.Collections.Immutable (>= 1.5) + System.Linq.Parallel (>= 4.0.1) + System.Net.Http (>= 4.3) + System.Reflection.Metadata (>= 1.6) + System.Reflection.TypeExtensions (>= 4.1) + System.Resources.Writer (>= 4.0) + System.Threading.Tasks.Dataflow (>= 4.6) + Microsoft.Build.Utilities.Core (16.0.461) + Microsoft.Build.Framework (>= 16.0.461) + Microsoft.Win32.Registry (>= 4.3) + System.Collections.Immutable (>= 1.5) + System.Text.Encoding.CodePages (>= 4.0.1) + Microsoft.NETCore.Platforms (2.2.1) + Microsoft.NETCore.Targets (2.1) + Microsoft.Win32.Primitives (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + Microsoft.Win32.Registry (4.5) + System.Buffers (>= 4.4) + System.Memory (>= 4.5) + System.Security.AccessControl (>= 4.5) + System.Security.Principal.Windows (>= 4.5) + MSBuild.StructuredLogger (2.0.94) + Microsoft.Build (>= 15.8.166) + Microsoft.Build.Framework (>= 15.8.166) + Microsoft.Build.Tasks.Core (>= 15.8.166) + Microsoft.Build.Utilities.Core (>= 15.8.166) + NETStandard.Library (2.0.3) + Microsoft.NETCore.Platforms (>= 1.1) + Newtonsoft.Json (12.0.2) + NuGet.Common (5.1) + NuGet.Frameworks (>= 5.1) + System.Diagnostics.Process (>= 4.3) + System.Threading.Thread (>= 4.3) + NuGet.Configuration (5.1) + NuGet.Common (>= 5.1) + System.Security.Cryptography.ProtectedData (>= 4.3) + NuGet.Frameworks (5.1) + NuGet.Packaging (5.1) + Newtonsoft.Json (>= 9.0.1) + NuGet.Configuration (>= 5.1) + NuGet.Versioning (>= 5.1) + System.Dynamic.Runtime (>= 4.3) + NuGet.Protocol (5.1) + NuGet.Packaging (>= 5.1) + System.Dynamic.Runtime (>= 4.3) + NuGet.Versioning (5.1) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.native.System (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + runtime.native.System.Net.Http (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + runtime.native.System.Security.Cryptography.Apple (4.3.1) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) + runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + System.Buffers (4.5) + System.CodeDom (4.5) + System.Collections (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Collections.Concurrent (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.Tracing (>= 4.3) + System.Globalization (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Collections.Immutable (1.5) + System.Diagnostics.Debug (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Diagnostics.DiagnosticSource (4.5.1) + System.Diagnostics.FileVersionInfo (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Reflection.Metadata (>= 1.4.1) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Diagnostics.Process (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.Win32.Primitives (>= 4.3) + Microsoft.Win32.Registry (>= 4.3) + runtime.native.System (>= 4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.Encoding.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Thread (>= 4.3) + System.Threading.ThreadPool (>= 4.3) + System.Diagnostics.Tools (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Diagnostics.Tracing (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Dynamic.Runtime (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Linq (>= 4.3) + System.Linq.Expressions (>= 4.3) + System.ObjectModel (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Globalization (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Globalization.Calendars (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Globalization (>= 4.3) + System.Runtime (>= 4.3) + System.Globalization.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.IO (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.IO.FileSystem (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.IO (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.IO.FileSystem.Primitives (4.3) + System.Runtime (>= 4.3) + System.IO.FileSystem.Watcher (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.Win32.Primitives (>= 4.3) + runtime.native.System (>= 4.3) + System.Collections (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Overlapped (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Thread (>= 4.3) + System.Linq (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Linq.Expressions (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Linq (>= 4.3) + System.ObjectModel (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Emit.Lightweight (>= 4.3) + System.Reflection.Extensions (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Linq.Parallel (4.3) + System.Collections (>= 4.3) + System.Collections.Concurrent (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.Tracing (>= 4.3) + System.Linq (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Memory (4.5.3) + System.Buffers (>= 4.4) + System.Numerics.Vectors (>= 4.4) + System.Runtime.CompilerServices.Unsafe (>= 4.5.2) + System.Net.Http (4.3.4) + Microsoft.NETCore.Platforms (>= 1.1.1) + runtime.native.System (>= 4.3) + runtime.native.System.Net.Http (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.DiagnosticSource (>= 4.3) + System.Diagnostics.Tracing (>= 4.3) + System.Globalization (>= 4.3) + System.Globalization.Extensions (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.Net.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Security.Cryptography.X509Certificates (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Net.Primitives (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime (>= 4.3.1) + System.Runtime.Handles (>= 4.3) + System.Numerics.Vectors (4.5) + System.ObjectModel (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Threading (>= 4.3) + System.Reactive (4.1.5) + System.Runtime.InteropServices.WindowsRuntime (>= 4.3) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reactive.Compatibility (4.1.5) + System.Reactive.Core (>= 4.1.5) + System.Reactive.Interfaces (>= 4.1.5) + System.Reactive.Linq (>= 4.1.5) + System.Reactive.PlatformServices (>= 4.1.5) + System.Reactive.Providers (>= 4.1.5) + System.Reactive.Core (4.1.5) + System.Reactive (>= 4.1.5) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reactive.Interfaces (4.1.5) + System.Reactive (>= 4.1.5) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reactive.Linq (4.1.5) + System.Reactive (>= 4.1.5) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reactive.PlatformServices (4.1.5) + System.Reactive (>= 4.1.5) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reactive.Providers (4.1.5) + System.Reactive (>= 4.1.5) + System.Threading.Tasks.Extensions (>= 4.5.2) + System.Reflection (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.IO (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit (4.3) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit.ILGeneration (4.3) + System.Reflection (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit.Lightweight (4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Reflection (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Metadata (1.6) + System.Collections.Immutable (>= 1.5) + System.Reflection.Primitives (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Reflection.TypeExtensions (4.5.1) + System.Resources.ResourceManager (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Globalization (>= 4.3) + System.Reflection (>= 4.3) + System.Runtime (>= 4.3) + System.Resources.Writer (4.3) + System.Collections (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Runtime (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime.CompilerServices.Unsafe (4.5.2) + System.Runtime.Extensions (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime (>= 4.3.1) + System.Runtime.Handles (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Runtime.InteropServices (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Reflection (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices.WindowsRuntime (4.3) + System.Runtime (>= 4.3) + System.Runtime.Numerics (4.3) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Serialization.Primitives (4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Security.AccessControl (4.5) + System.Security.Principal.Windows (>= 4.5) + System.Security.Cryptography.Algorithms (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Runtime.Numerics (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Security.Cryptography.Cng (4.5) + System.Security.Cryptography.Csp (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Security.Cryptography.Encoding (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + System.Collections (>= 4.3) + System.Collections.Concurrent (>= 4.3) + System.Linq (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (4.5.1) + System.Security.Cryptography.Primitives (4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Security.Cryptography.ProtectedData (4.5) + System.Memory (>= 4.5) + System.Security.Cryptography.X509Certificates (4.3.2) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System (>= 4.3) + runtime.native.System.Net.Http (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.Globalization.Calendars (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Runtime.Numerics (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Cng (>= 4.3) + System.Security.Cryptography.Csp (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Security.Principal.Windows (4.5.1) + System.Text.Encoding (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding.CodePages (4.5.1) + System.Runtime.CompilerServices.Unsafe (>= 4.5.2) + System.Text.Encoding.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.RegularExpressions (4.3.1) + System.Collections (>= 4.3) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3.1) + System.Runtime.Extensions (>= 4.3.1) + System.Threading (>= 4.3) + System.Threading (4.3) + System.Runtime (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Overlapped (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Threading.Tasks (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Threading.Tasks.Dataflow (4.9) + System.Threading.Tasks.Extensions (4.5.2) + System.Runtime.CompilerServices.Unsafe (>= 4.5.2) + System.Threading.Thread (4.3) + System.Runtime (>= 4.3) + System.Threading.ThreadPool (4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Xml.ReaderWriter (4.3.1) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.Encoding.Extensions (>= 4.3) + System.Text.RegularExpressions (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Tasks.Extensions (>= 4.3) + System.Xml.XDocument (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.Tools (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XmlDocument (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XPath (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XPath.XDocument (4.3) + System.Diagnostics.Debug (>= 4.3) + System.Linq (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XDocument (>= 4.3) + System.Xml.XPath (>= 4.3) + System.Xml.XPath.XmlDocument (4.3) + System.Collections (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XmlDocument (>= 4.3) + System.Xml.XPath (>= 4.3) + +GROUP Client +STORAGE: NONE +RESTRICTION: == netstandard2.0 +NUGET + remote: https://api.nuget.org/v3/index.json + Fable.Browser.Blob (1.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.5.2) + Fable.Browser.Dom (1.0) + Fable.Browser.Blob (>= 1.0) + Fable.Browser.Event (>= 1.0) + Fable.Browser.WebStorage (>= 1.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.5.2) + Fable.Browser.Event (1.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.5.2) + Fable.Browser.WebStorage (1.0) + Fable.Browser.Event (>= 1.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.5.2) + Fable.Core (3.0) + FSharp.Core (>= 4.5.2) + Fable.Elmish (3.0.4) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.6.2) + Fable.Elmish.Browser (3.0.1) + Fable.Browser.Dom (>= 1.0) + Fable.Core (>= 3.0) + Fable.Elmish (>= 3.0) + FSharp.Core (>= 4.6.2) + Fable.Elmish.Debugger (3.0.2) + Fable.Core (>= 3.0) + Fable.Elmish (>= 3.0) + FSharp.Core (>= 4.6.2) + Thoth.Json (>= 3.0) + Fable.Elmish.HMR (4.0.1) + Fable.Core (>= 3.0) + Fable.Elmish.Browser (>= 3.0) + Fable.Elmish.React (>= 3.0.1) + FSharp.Core (>= 4.6.2) + Fable.Elmish.React (3.0.1) + Fable.Core (>= 3.0) + Fable.Elmish (>= 3.0) + Fable.React (>= 5.1) + FSharp.Core (>= 4.6.2) + Fable.Fetch (2.0) + Fable.Browser.Blob (>= 1.0) + Fable.Core (>= 3.0) + Fable.Promise (>= 2.0) + FSharp.Core (>= 4.5.2) + Fable.FontAwesome (2.0) + Fable.Core (>= 3.0) + Fable.React (>= 5.1) + Fable.FontAwesome.Free (2.0) + Fable.Core (>= 3.0) + Fable.FontAwesome (>= 2.0) + Fable.React (>= 5.1) + Fable.Promise (2.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.5.2) + Fable.React (5.2.6) + Fable.Browser.Dom (>= 1.0) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.6.2) + FSharp.Core (4.6.2) + Fulma (2.1.1) + Fable.Core (>= 3.0) + Fable.React (>= 5.1) + Thoth.Fetch (1.0) + Fable.Core (>= 3.0) + Fable.Fetch (>= 2.0) + Fable.Promise (>= 2.0) + FSharp.Core (>= 4.6.2) + Thoth.Json (>= 3.1) + Thoth.Json (3.3) + Fable.Core (>= 3.0) + FSharp.Core (>= 4.6.2) + +GROUP Server +STORAGE: NONE +RESTRICTION: == netcoreapp2.2 +NUGET + remote: https://api.nuget.org/v3/index.json + FSharp.Core (4.6.2) + Giraffe (3.6) + FSharp.Core (>= 4.5.2) + Microsoft.AspNetCore.Authentication (>= 2.2) + Microsoft.AspNetCore.Authorization (>= 2.2) + Microsoft.AspNetCore.Diagnostics (>= 2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.ResponseCaching (>= 2.2) + Newtonsoft.Json (>= 12.0.1) + System.Text.RegularExpressions (>= 4.3) + System.Xml.XmlSerializer (>= 4.3) + TaskBuilder.fs (>= 2.1) + Utf8Json (>= 1.3.7) + Microsoft.AspNetCore (2.2) + Microsoft.AspNetCore.Diagnostics (>= 2.2) + Microsoft.AspNetCore.HostFiltering (>= 2.2) + Microsoft.AspNetCore.Hosting (>= 2.2) + Microsoft.AspNetCore.Routing (>= 2.2) + Microsoft.AspNetCore.Server.IIS (>= 2.2) + Microsoft.AspNetCore.Server.IISIntegration (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Https (>= 2.2) + Microsoft.Extensions.Configuration.CommandLine (>= 2.2) + Microsoft.Extensions.Configuration.EnvironmentVariables (>= 2.2) + Microsoft.Extensions.Configuration.FileExtensions (>= 2.2) + Microsoft.Extensions.Configuration.Json (>= 2.2) + Microsoft.Extensions.Configuration.UserSecrets (>= 2.2) + Microsoft.Extensions.Logging (>= 2.2) + Microsoft.Extensions.Logging.Configuration (>= 2.2) + Microsoft.Extensions.Logging.Console (>= 2.2) + Microsoft.Extensions.Logging.Debug (>= 2.2) + Microsoft.Extensions.Logging.EventSource (>= 2.2) + Microsoft.AspNetCore.Antiforgery (2.2) + Microsoft.AspNetCore.DataProtection (>= 2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.WebUtilities (>= 2.2) + Microsoft.Extensions.ObjectPool (>= 2.2) + Microsoft.AspNetCore.Authentication (2.2) + Microsoft.AspNetCore.Authentication.Core (>= 2.2) + Microsoft.AspNetCore.DataProtection (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Extensions.WebEncoders (>= 2.2) + Microsoft.AspNetCore.Authentication.Abstractions (2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Authentication.Cookies (2.2) + Microsoft.AspNetCore.Authentication (>= 2.2) + Microsoft.AspNetCore.Authentication.Core (2.2) + Microsoft.AspNetCore.Authentication.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.Authentication.JwtBearer (2.2) + Microsoft.AspNetCore.Authentication (>= 2.2) + Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 5.3) + Microsoft.AspNetCore.Authentication.OAuth (2.2) + Microsoft.AspNetCore.Authentication (>= 2.2) + Newtonsoft.Json (>= 11.0.2) + Microsoft.AspNetCore.Authorization (2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Connections.Abstractions (2.2) + Microsoft.AspNetCore.Http.Features (>= 2.2) + System.IO.Pipelines (>= 4.5.2) + Microsoft.AspNetCore.Cors (2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Cryptography.Internal (2.2) + Microsoft.AspNetCore.DataProtection (2.2) + Microsoft.AspNetCore.Cryptography.Internal (>= 2.2) + Microsoft.AspNetCore.DataProtection.Abstractions (>= 2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Win32.Registry (>= 4.5) + System.Security.Cryptography.Xml (>= 4.5) + System.Security.Principal.Windows (>= 4.5) + Microsoft.AspNetCore.DataProtection.Abstractions (2.2) + Microsoft.AspNetCore.Diagnostics (2.2) + Microsoft.AspNetCore.Diagnostics.Abstractions (>= 2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.WebUtilities (>= 2.2) + Microsoft.Extensions.FileProviders.Physical (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + System.Diagnostics.DiagnosticSource (>= 4.5) + System.Reflection.Metadata (>= 1.6) + Microsoft.AspNetCore.Diagnostics.Abstractions (2.2) + Microsoft.AspNetCore.HostFiltering (2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Hosting (2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.Configuration.EnvironmentVariables (>= 2.2) + Microsoft.Extensions.Configuration.FileExtensions (>= 2.2) + Microsoft.Extensions.DependencyInjection (>= 2.2) + Microsoft.Extensions.FileProviders.Physical (>= 2.2) + Microsoft.Extensions.Hosting.Abstractions (>= 2.2) + Microsoft.Extensions.Logging (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + System.Diagnostics.DiagnosticSource (>= 4.5) + System.Reflection.Metadata (>= 1.6) + Microsoft.AspNetCore.Hosting.Abstractions (2.2) + Microsoft.AspNetCore.Hosting.Server.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.Extensions.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Hosting.Server.Abstractions (2.2) + Microsoft.AspNetCore.Http.Features (>= 2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (2.2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.AspNetCore.WebUtilities (>= 2.2) + Microsoft.Extensions.ObjectPool (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Net.Http.Headers (>= 2.2) + Microsoft.AspNetCore.Http.Abstractions (2.2) + Microsoft.AspNetCore.Http.Features (>= 2.2) + System.Text.Encodings.Web (>= 4.5) + Microsoft.AspNetCore.Http.Extensions (2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.Extensions.FileProviders.Abstractions (>= 2.2) + Microsoft.Net.Http.Headers (>= 2.2) + System.Buffers (>= 4.5) + Microsoft.AspNetCore.Http.Features (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + Microsoft.AspNetCore.HttpOverrides (2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.ResponseCaching (2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.ResponseCaching.Abstractions (>= 2.2) + Microsoft.Extensions.Caching.Memory (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.AspNetCore.ResponseCaching.Abstractions (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + Microsoft.AspNetCore.ResponseCompression (2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Rewrite (2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.FileProviders.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Routing (2.2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.Routing.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.ObjectPool (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Routing.Abstractions (2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.AspNetCore.Server.IIS (2.2.2) + Microsoft.AspNetCore.Authentication.Core (>= 2.2) + Microsoft.AspNetCore.Connections.Abstractions (>= 2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + System.IO.Pipelines (>= 4.5.2) + System.Security.Principal.Windows (>= 4.5) + Microsoft.AspNetCore.Server.IISIntegration (2.2.1) + Microsoft.AspNetCore.Authentication.Core (>= 2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.AspNetCore.HttpOverrides (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + System.Buffers (>= 4.5) + System.IO.Pipelines (>= 4.5.2) + System.Memory (>= 4.5.1) + System.Numerics.Vectors (>= 4.5) + System.Runtime.CompilerServices.Unsafe (>= 4.5.1) + System.Security.Principal.Windows (>= 4.5) + Microsoft.AspNetCore.Server.Kestrel (2.2) + Microsoft.AspNetCore.Hosting (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Core (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Https (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Core (2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions (>= 2.2) + Microsoft.AspNetCore.WebUtilities (>= 2.2) + Microsoft.Extensions.Configuration.Binder (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Net.Http.Headers (>= 2.2) + System.Memory (>= 4.5.1) + System.Numerics.Vectors (>= 4.5) + System.Runtime.CompilerServices.Unsafe (>= 4.5.1) + System.Security.Cryptography.Cng (>= 4.5) + System.Threading.Tasks.Extensions (>= 4.5.1) + Microsoft.AspNetCore.Server.Kestrel.Https (2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Core (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions (2.2) + Microsoft.AspNetCore.Connections.Abstractions (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets (2.2.1) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.Session (2.2) + Microsoft.AspNetCore.DataProtection (>= 2.2) + Microsoft.AspNetCore.Http.Abstractions (>= 2.2) + Microsoft.Extensions.Caching.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.AspNetCore.StaticFiles (2.2) + Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2) + Microsoft.AspNetCore.Http.Extensions (>= 2.2) + Microsoft.Extensions.FileProviders.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.WebEncoders (>= 2.2) + Microsoft.AspNetCore.WebUtilities (2.2) + Microsoft.Net.Http.Headers (>= 2.2) + System.Text.Encodings.Web (>= 4.5) + Microsoft.Extensions.Caching.Abstractions (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + Microsoft.Extensions.Caching.Memory (2.2) + Microsoft.Extensions.Caching.Abstractions (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Extensions.Configuration (2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.Configuration.Abstractions (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + Microsoft.Extensions.Configuration.Binder (2.2.4) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.Configuration.CommandLine (2.2) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.Configuration.EnvironmentVariables (2.2.4) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.Configuration.FileExtensions (2.2) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.FileProviders.Physical (>= 2.2) + Microsoft.Extensions.Configuration.Json (2.2) + Microsoft.Extensions.Configuration (>= 2.2) + Microsoft.Extensions.Configuration.FileExtensions (>= 2.2) + Newtonsoft.Json (>= 11.0.2) + Microsoft.Extensions.Configuration.UserSecrets (2.2) + Microsoft.Extensions.Configuration.Json (>= 2.2) + Microsoft.Extensions.DependencyInjection (2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (2.2) + Microsoft.Extensions.FileProviders.Abstractions (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + Microsoft.Extensions.FileProviders.Physical (2.2) + Microsoft.Extensions.FileProviders.Abstractions (>= 2.2) + Microsoft.Extensions.FileSystemGlobbing (>= 2.2) + Microsoft.Extensions.FileSystemGlobbing (2.2) + Microsoft.Extensions.Hosting.Abstractions (2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.FileProviders.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Logging (2.2) + Microsoft.Extensions.Configuration.Binder (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Extensions.Logging.Abstractions (2.2) + Microsoft.Extensions.Logging.Configuration (2.2) + Microsoft.Extensions.Logging (>= 2.2) + Microsoft.Extensions.Options.ConfigurationExtensions (>= 2.2) + Microsoft.Extensions.Logging.Console (2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.Logging (>= 2.2) + Microsoft.Extensions.Logging.Configuration (>= 2.2) + Microsoft.Extensions.Logging.Debug (2.2) + Microsoft.Extensions.Logging (>= 2.2) + Microsoft.Extensions.Logging.EventSource (2.2) + Microsoft.Extensions.Logging (>= 2.2) + Newtonsoft.Json (>= 11.0.2) + Microsoft.Extensions.ObjectPool (2.2) + Microsoft.Extensions.Options (2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Primitives (>= 2.2) + System.ComponentModel.Annotations (>= 4.5) + Microsoft.Extensions.Options.ConfigurationExtensions (2.2) + Microsoft.Extensions.Configuration.Abstractions (>= 2.2) + Microsoft.Extensions.Configuration.Binder (>= 2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + Microsoft.Extensions.Primitives (2.2) + System.Memory (>= 4.5.1) + System.Runtime.CompilerServices.Unsafe (>= 4.5.1) + Microsoft.Extensions.WebEncoders (2.2) + Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2) + Microsoft.Extensions.Options (>= 2.2) + System.Text.Encodings.Web (>= 4.5) + Microsoft.IdentityModel.JsonWebTokens (5.4) + Microsoft.IdentityModel.Tokens (>= 5.4) + Newtonsoft.Json (>= 10.0.1) + Microsoft.IdentityModel.Logging (5.4) + System.Diagnostics.Tracing (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + Microsoft.IdentityModel.Protocols (5.4) + Microsoft.IdentityModel.Logging (>= 5.4) + Microsoft.IdentityModel.Tokens (>= 5.4) + System.Collections.Specialized (>= 4.3) + System.Diagnostics.Contracts (>= 4.3) + System.Net.Http (>= 4.3) + Microsoft.IdentityModel.Protocols.OpenIdConnect (5.4) + Microsoft.IdentityModel.Protocols (>= 5.4) + Newtonsoft.Json (>= 10.0.1) + System.Dynamic.Runtime (>= 4.3) + System.IdentityModel.Tokens.Jwt (>= 5.4) + Microsoft.IdentityModel.Tokens (5.4) + Microsoft.IdentityModel.Logging (>= 5.4) + Newtonsoft.Json (>= 10.0.1) + System.Collections (>= 4.3) + System.Diagnostics.Tools (>= 4.3) + System.Reflection (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Runtime.InteropServices.RuntimeInformation (>= 4.3) + System.Runtime.Serialization.Xml (>= 4.3) + System.Security.Claims (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.X509Certificates (>= 4.3) + System.Text.RegularExpressions (>= 4.3) + System.Threading (>= 4.3) + Microsoft.Net.Http.Headers (2.2) + Microsoft.Extensions.Primitives (>= 2.2) + System.Buffers (>= 4.5) + Microsoft.NETCore.Platforms (2.2.1) + Microsoft.NETCore.Targets (2.1) + Microsoft.Win32.Registry (4.5) + System.Security.AccessControl (>= 4.5) + System.Security.Principal.Windows (>= 4.5) + NETStandard.Library (2.0.3) + Microsoft.NETCore.Platforms (>= 1.1) + Newtonsoft.Json (12.0.2) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.native.System (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + runtime.native.System.Net.Http (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + runtime.native.System.Security.Cryptography.Apple (4.3.1) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) + runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) + Saturn (0.8) + FSharp.Core (>= 4.2.3) + Giraffe (>= 3.4 < 4.0) + Microsoft.AspNetCore (>= 2.1) + Microsoft.AspNetCore.Antiforgery (>= 2.1) + Microsoft.AspNetCore.Authentication.Cookies (>= 2.1) + Microsoft.AspNetCore.Authentication.JwtBearer (>= 2.1) + Microsoft.AspNetCore.Authentication.OAuth (>= 2.1) + Microsoft.AspNetCore.Authorization (>= 2.1) + Microsoft.AspNetCore.Cors (>= 2.1) + Microsoft.AspNetCore.ResponseCompression (>= 2.1) + Microsoft.AspNetCore.Rewrite (>= 2.1) + Microsoft.AspNetCore.Session (>= 2.1) + Microsoft.AspNetCore.StaticFiles (>= 2.1) + Microsoft.Extensions.Caching.Memory (>= 2.1) + System.Buffers (4.5) + System.Collections (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Collections.Concurrent (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.Tracing (>= 4.3) + System.Globalization (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Collections.NonGeneric (4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Collections.Specialized (4.3) + System.Collections.NonGeneric (>= 4.3) + System.Globalization (>= 4.3) + System.Globalization.Extensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.ComponentModel.Annotations (4.5) + System.Diagnostics.Contracts (4.3) + System.Runtime (>= 4.3) + System.Diagnostics.Debug (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Diagnostics.DiagnosticSource (4.5.1) + System.Diagnostics.Tools (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Diagnostics.Tracing (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Dynamic.Runtime (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Linq (>= 4.3) + System.Linq.Expressions (>= 4.3) + System.ObjectModel (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Globalization (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Globalization.Calendars (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Globalization (>= 4.3) + System.Runtime (>= 4.3) + System.Globalization.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.IdentityModel.Tokens.Jwt (5.4) + Microsoft.IdentityModel.JsonWebTokens (>= 5.4) + Microsoft.IdentityModel.Tokens (>= 5.4) + Newtonsoft.Json (>= 10.0.1) + System.IO (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.IO.FileSystem (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.IO (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.IO.FileSystem.Primitives (4.3) + System.Runtime (>= 4.3) + System.IO.Pipelines (4.5.3) + System.Linq (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Linq.Expressions (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Linq (>= 4.3) + System.ObjectModel (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Emit.Lightweight (>= 4.3) + System.Reflection.Extensions (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Threading (>= 4.3) + System.Memory (4.5.3) + System.Net.Http (4.3.4) + Microsoft.NETCore.Platforms (>= 1.1.1) + runtime.native.System (>= 4.3) + runtime.native.System.Net.Http (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.DiagnosticSource (>= 4.3) + System.Diagnostics.Tracing (>= 4.3) + System.Globalization (>= 4.3) + System.Globalization.Extensions (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.Net.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Security.Cryptography.X509Certificates (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Net.Primitives (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime (>= 4.3.1) + System.Runtime.Handles (>= 4.3) + System.Numerics.Vectors (4.5) + System.ObjectModel (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Threading (>= 4.3) + System.Private.DataContractSerialization (4.3) + System.Collections (>= 4.3) + System.Collections.Concurrent (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Linq (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Emit.Lightweight (>= 4.3) + System.Reflection.Extensions (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Serialization.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.Encoding.Extensions (>= 4.3) + System.Text.RegularExpressions (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XDocument (>= 4.3) + System.Xml.XmlDocument (>= 4.3) + System.Xml.XmlSerializer (>= 4.3) + System.Reflection (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.IO (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit (4.3) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit.ILGeneration (4.3) + System.Reflection (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Emit.Lightweight (4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Reflection (>= 4.3) + System.Runtime (>= 4.3) + System.Reflection.Metadata (1.6) + System.Reflection.Primitives (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Reflection.TypeExtensions (4.5.1) + System.Resources.ResourceManager (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Globalization (>= 4.3) + System.Reflection (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime.CompilerServices.Unsafe (4.5.2) + System.Runtime.Extensions (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime (>= 4.3.1) + System.Runtime.Handles (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Runtime.InteropServices (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Reflection (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices.RuntimeInformation (4.3) + runtime.native.System (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Extensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Threading (>= 4.3) + System.Runtime.Numerics (4.3) + System.Globalization (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Serialization.Primitives (4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Serialization.Xml (4.3) + System.IO (>= 4.3) + System.Private.DataContractSerialization (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Serialization.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Security.AccessControl (4.5) + Microsoft.NETCore.Platforms (>= 2.0) + System.Security.Principal.Windows (>= 4.5) + System.Security.Claims (4.3) + System.Collections (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Security.Principal (>= 4.3) + System.Security.Cryptography.Algorithms (4.3.1) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Runtime.Numerics (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Security.Cryptography.Cng (4.5) + System.Security.Cryptography.Csp (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Security.Cryptography.Encoding (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + System.Collections (>= 4.3) + System.Collections.Concurrent (>= 4.3) + System.Linq (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (4.5.1) + System.Security.Cryptography.Pkcs (4.5.2) + System.Security.Cryptography.Cng (>= 4.5) + System.Security.Cryptography.Primitives (4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Threading (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Security.Cryptography.X509Certificates (4.3.2) + Microsoft.NETCore.Platforms (>= 1.1) + runtime.native.System (>= 4.3) + runtime.native.System.Net.Http (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.Globalization.Calendars (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.Handles (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Runtime.Numerics (>= 4.3) + System.Security.Cryptography.Algorithms (>= 4.3) + System.Security.Cryptography.Cng (>= 4.3) + System.Security.Cryptography.Csp (>= 4.3) + System.Security.Cryptography.Encoding (>= 4.3) + System.Security.Cryptography.OpenSsl (>= 4.3) + System.Security.Cryptography.Primitives (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Security.Cryptography.Xml (4.5) + System.Security.Cryptography.Pkcs (>= 4.5) + System.Security.Permissions (>= 4.5) + System.Security.Permissions (4.5) + System.Security.AccessControl (>= 4.5) + System.Security.Principal (4.3) + System.Runtime (>= 4.3) + System.Security.Principal.Windows (4.5.1) + Microsoft.NETCore.Platforms (>= 2.0) + System.Text.Encoding (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding.Extensions (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.Encodings.Web (4.5) + System.Text.RegularExpressions (4.3.1) + System.Runtime (>= 4.3.1) + System.Threading (4.3) + System.Runtime (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Tasks (4.3) + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + System.Runtime (>= 4.3) + System.Threading.Tasks.Extensions (4.5.2) + System.ValueTuple (4.5) + System.Xml.ReaderWriter (4.3.1) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.IO.FileSystem (>= 4.3) + System.IO.FileSystem.Primitives (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Text.Encoding.Extensions (>= 4.3) + System.Text.RegularExpressions (>= 4.3) + System.Threading.Tasks (>= 4.3) + System.Threading.Tasks.Extensions (>= 4.3) + System.Xml.XDocument (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Diagnostics.Tools (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Reflection (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XmlDocument (4.3) + System.Collections (>= 4.3) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XmlSerializer (4.3) + System.Collections (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Linq (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.ILGeneration (>= 4.3) + System.Reflection.Extensions (>= 4.3) + System.Reflection.Primitives (>= 4.3) + System.Reflection.TypeExtensions (>= 4.3) + System.Resources.ResourceManager (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Text.RegularExpressions (>= 4.3) + System.Threading (>= 4.3) + System.Xml.ReaderWriter (>= 4.3) + System.Xml.XmlDocument (>= 4.3) + TaskBuilder.fs (2.1) + FSharp.Core (>= 4.1.17) + NETStandard.Library (>= 1.6.1) + System.ValueTuple (>= 4.4) + Thoth.Json.Giraffe (2.1) + FSharp.Core (>= 4.6.2) + Giraffe (>= 3.6) + Thoth.Json.Net (>= 3.0) + Thoth.Json.Net (3.2) + FSharp.Core + Newtonsoft.Json (>= 11.0.2) + Utf8Json (1.3.7) + System.Reflection.Emit (>= 4.3) + System.Reflection.Emit.Lightweight (>= 4.3) + System.Threading.Tasks.Extensions (>= 4.4) + System.ValueTuple (>= 4.4) diff --git a/src/Client/Client.fs b/src/Client/Client.fs new file mode 100644 index 0000000..abf2071 --- /dev/null +++ b/src/Client/Client.fs @@ -0,0 +1,77 @@ +module Client + +open Elmish +open Elmish.React +open Fable.React +open Fable.React.Props +open Fetch.Types +open Thoth.Fetch +open Fulma +open Thoth.Json +open Browser.Types +open Shared + +let [] ENTER_KEY = 13. + +let onEnter msg dispatch = + OnKeyDown (fun ev -> + if ev.keyCode = ENTER_KEY then + dispatch msg) + +let targetValue (ev: Event) = + (ev.target :?> HTMLInputElement).value + +type Model = { Run: Run } + +type Msg = + | StartRun + | UpdateName of string + +//let initialCounter () = Fetch.fetchAs "/api/init" + +let init () : Model * Cmd = + let initialModel = { Run = { Name = "george" } } + initialModel, Cmd.none + +let update (msg : Msg) (currentModel : Model) : Model * Cmd = + match msg with + | StartRun -> + let nextModel = { currentModel with Run = { Name = currentModel.Run.Name + " saved" } } + nextModel, Cmd.none + | UpdateName newName -> + let nextModel = { currentModel with Run = { Name = newName }} + nextModel, Cmd.none + +let view (model : Model) (dispatch : Msg -> unit) = + Columns.columns [] + [ Column.column [ Column.Offset (Screen.All, Column.Is3) + Column.Width (Screen.All, Column.Is6) ] + [ Box.box' [] + [ Heading.h1 [] [ str "lunch run" ] + p [] [ str "Start a lunch run today!" ] + Field.div [] + [ Control.div [] + [ Input.text [ Input.Placeholder "lunch run name" + Input.Value model.Run.Name + Input.OnChange (fun ev -> targetValue ev |> UpdateName |> dispatch) + Input.Props [ onEnter StartRun dispatch ] ] + ] + ] + ] + ] + ] + +#if DEBUG +open Elmish.Debug +open Elmish.HMR +#endif + +Program.mkProgram init update view +#if DEBUG +|> Program.withConsoleTrace +#endif +|> Program.withReactBatched "elmish-app" +#if DEBUG +|> Program.withDebugger +#endif +|> Program.run diff --git a/src/Client/Client.fsproj b/src/Client/Client.fsproj new file mode 100644 index 0000000..2fe0865 --- /dev/null +++ b/src/Client/Client.fsproj @@ -0,0 +1,16 @@ + + + + netstandard2.0 + FABLE_COMPILER + + + + + + + + + + + diff --git a/src/Client/Version.fs b/src/Client/Version.fs new file mode 100644 index 0000000..e8c757b --- /dev/null +++ b/src/Client/Version.fs @@ -0,0 +1,5 @@ +module Version + +let template = "1.18.0" + +let app = "0.0.1" \ No newline at end of file diff --git a/src/Client/index.html b/src/Client/index.html new file mode 100644 index 0000000..30314e3 --- /dev/null +++ b/src/Client/index.html @@ -0,0 +1,14 @@ + + + + lunch run! + + + + + + + +
+ + diff --git a/src/Client/paket.references b/src/Client/paket.references new file mode 100644 index 0000000..40dd877 --- /dev/null +++ b/src/Client/paket.references @@ -0,0 +1,10 @@ +group Client + FSharp.Core + Fable.Core + Fable.Elmish.Debugger + Fable.Elmish.React + Fable.Elmish.HMR + Thoth.Fetch + Fulma + Fable.FontAwesome.Free + diff --git a/src/Client/public/favicon.png b/src/Client/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac50f71d97aca72e624dbc1f922019c251d6e7b8 GIT binary patch literal 810 zcmV+_1J(SAP)`NUsWP;!9IFA9`a4<~)!@X;-l5dhD<2L;F(RBts9sIF@$6%>3K zam~y40ocr2P=Lf$9Ey{MGJ}b)Yo0;a5vh2`1gut2nD7LuF>BgDNnx_(na{_h?tRw$ z1<#MX0i`{;)Ug`>XvL%I$*j|k&iG2Is2n}JVNJ>>@tvmCL=)0uO{s=%c^~&QhVvE8 z1eGmSJET5-YQ}H|I;c@$o!jBrDJZB^!c4-h&V)#=D)zM#4m@Wo+GW4jk$&NQ#x6nm z;FST;!beaOE9y;{R#N0~{C%CE6jtSt=MqvW0rWyeOY}m9JP~Yaom7&ibEV>pD1icC zMs8Zi(!y*hzFk`bCCG0FT8J)T(ll^rOG3s1Bo015(~iax9uEHhm{&sWnKX@NWbJ4w zs1v^7%Gg0NU3AG6JjT3eF6JY>aPHbthC~9_aPB*Hp3w-l}eNNVR0ln;M?!OR`x3t9+s6>Kxv{|9>GwIYSKsM7sHKhuS$jiJ)5NveCINg zI1vt}0wi8CC)Pk6rBm=_4rFphN{10;>0bmjHYF>{WJqNKb$+aoMStH7=@bN;tA4D} o3ZI$>&;S}h184x%FTVl|0MU62K{y@kKmY&$07*qoM6N<$f**2TuK)l5 literal 0 HcmV?d00001 diff --git a/src/Client/style.scss b/src/Client/style.scss new file mode 100644 index 0000000..6403b86 --- /dev/null +++ b/src/Client/style.scss @@ -0,0 +1,17 @@ +@charset "utf-8"; + +// FontAwesome +$fa_font_path: "~@fortawesome/fontawesome-free/webfonts"; +@import '~@fortawesome/fontawesome-free/scss/fontawesome.scss'; +@import '~@fortawesome/fontawesome-free/scss/regular.scss'; +@import '~@fortawesome/fontawesome-free/scss/solid.scss'; +@import '~@fortawesome/fontawesome-free/scss/brands.scss'; + +// OpenSans +$FontPathOpenSans: "~open-sans-fonts/open-sans"; +@import '~open-sans-fonts/open-sans'; +$family-primary: 'Open Sans'; + +// Bulma +@import "~bulma/bulma"; + diff --git a/src/Server/Server.fs b/src/Server/Server.fs new file mode 100644 index 0000000..0eb432f --- /dev/null +++ b/src/Server/Server.fs @@ -0,0 +1,37 @@ +open System.IO +open System.Threading.Tasks + +open Microsoft.AspNetCore.Builder +open Microsoft.Extensions.DependencyInjection +open FSharp.Control.Tasks.V2 +open Giraffe +open Saturn +open Shared + + +let tryGetEnv = System.Environment.GetEnvironmentVariable >> function null | "" -> None | x -> Some x + +let publicPath = Path.GetFullPath "../Client/public" + +let port = + "SERVER_PORT" + |> tryGetEnv |> Option.map uint16 |> Option.defaultValue 8085us + +// let webApp = router { +// get "/api/init" (fun next ctx -> +// task { +// let counter = {Value = 7} +// return! json counter next ctx +// }) +// } + +let app = application { + url ("http://0.0.0.0:" + port.ToString() + "/") + //use_router webApp + memory_cache + use_static publicPath + use_json_serializer(Thoth.Json.Giraffe.ThothSerializer()) + use_gzip +} + +run app diff --git a/src/Server/Server.fsproj b/src/Server/Server.fsproj new file mode 100644 index 0000000..80fcac6 --- /dev/null +++ b/src/Server/Server.fsproj @@ -0,0 +1,13 @@ + + + + Exe + netcoreapp2.2 + + + + + + + + \ No newline at end of file diff --git a/src/Server/paket.references b/src/Server/paket.references new file mode 100644 index 0000000..26ab45f --- /dev/null +++ b/src/Server/paket.references @@ -0,0 +1,4 @@ +group Server + FSharp.Core + Saturn + Thoth.Json.Giraffe diff --git a/src/Shared/Shared.fs b/src/Shared/Shared.fs new file mode 100644 index 0000000..b139f9a --- /dev/null +++ b/src/Shared/Shared.fs @@ -0,0 +1,5 @@ +namespace Shared + +type Run = { Name : string } + + diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..0b1fba3 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,165 @@ +// Template for webpack.config.js in Fable projects +// Find latest version in https://github.com/fable-compiler/webpack-config-template + +// In most cases, you'll only need to edit the CONFIG object (after dependencies) +// See below if you need better fine-tuning of Webpack options + +// Dependencies. Also required: core-js, fable-loader, fable-compiler, @babel/core, +// @babel/preset-env, babel-loader, sass, sass-loader, css-loader, style-loader, file-loader +var path = require('path'); +var webpack = require('webpack'); +var HtmlWebpackPlugin = require('html-webpack-plugin'); +var CopyWebpackPlugin = require('copy-webpack-plugin'); +var MiniCssExtractPlugin = require('mini-css-extract-plugin'); + +var CONFIG = { + // The tags to include the generated JS and CSS will be automatically injected in the HTML template + // See https://github.com/jantimon/html-webpack-plugin + indexHtmlTemplate: './src/Client/index.html', + fsharpEntry: './src/Client/Client.fsproj', + cssEntry: './src/Client/style.scss', + outputDir: './src/Client/deploy', + assetsDir: './src/Client/public', + devServerPort: 8080, + // When using webpack-dev-server, you may need to redirect some calls + // to a external API server. See https://webpack.js.org/configuration/dev-server/#devserver-proxy + devServerProxy: { + // redirect requests that start with /api/* to the server on port 8085 + '/api/*': { + target: 'http://localhost:' + (process.env.SERVER_PROXY_PORT || "8085"), + changeOrigin: true + }, + // redirect websocket requests that start with /socket/* to the server on the port 8085 + '/socket/*': { + target: 'http://localhost:' + (process.env.SERVER_PROXY_PORT || "8085"), + ws: true + } + }, + // Use babel-preset-env to generate JS compatible with most-used browsers. + // More info at https://babeljs.io/docs/en/next/babel-preset-env.html + babel: { + presets: [ + ['@babel/preset-env', { + modules: false, + // This adds polyfills when needed. Requires core-js dependency. + // See https://babeljs.io/docs/en/babel-preset-env#usebuiltins + useBuiltIns: 'usage', + corejs: 3 + }] + ], + } +} + +// If we're running the webpack-dev-server, assume we're in development mode +var isProduction = !process.argv.find(v => v.indexOf('webpack-dev-server') !== -1); +console.log('Bundling for ' + (isProduction ? 'production' : 'development') + '...'); + +// The HtmlWebpackPlugin allows us to use a template for the index.html page +// and automatically injects