diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
new file mode 100644
index 0000000..37fc584
--- /dev/null
+++ b/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "fake-cli": {
+ "version": "5.22.0",
+ "commands": [
+ "fake"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/build.fsx b/build.fsx
new file mode 100644
index 0000000..d54b8bc
--- /dev/null
+++ b/build.fsx
@@ -0,0 +1,74 @@
+#r "paket:
+nuget Fake.DotNet.Cli
+nuget Fake.IO.FileSystem
+nuget Fake.JavaScript.Npm
+nuget Fake.Core.Target //"
+#load ".fake/build.fsx/intellisense.fsx"
+open Fake.Core
+open Fake.DotNet
+open Fake.IO
+open Fake.IO.Globbing.Operators
+open Fake.JavaScript
+open Fake.Core.TargetOperators
+
+/// The path to the Vue client
+let clientPath = "src/JobsJobsJobs/App"
+
+/// The path to the API server
+let serverPath = "src/JobsJobsJobs/Server"
+
+Target.initEnvironment ()
+
+Target.create "Clean" (fun _ ->
+ !! "src/**/bin"
+ ++ "src/**/obj"
+ ++ $"{serverPath}/wwwroot"
+ |> Shell.cleanDirs
+)
+
+Target.create "BuildClient" (fun _ ->
+ let inClientPath (opts : Npm.NpmParams) = { opts with WorkingDirectory = clientPath }
+ Npm.install inClientPath
+ Npm.run "build" inClientPath
+)
+
+Target.create "BuildServer" (fun _ ->
+ DotNet.build (fun opts -> { opts with NoLogo = true }) serverPath
+)
+
+Target.create "RunServer" (fun _ ->
+ DotNet.exec (fun opts -> { opts with WorkingDirectory = serverPath }) "run" "" |> ignore
+)
+
+Target.create "Publish" (fun _ ->
+ DotNet.publish
+ (fun opts -> { opts with Runtime = Some "linux-x64"; SelfContained = Some false; NoLogo = true })
+ serverPath
+)
+
+Target.create "BuildAndRun" ignore
+Target.create "All" ignore
+
+"Clean"
+ ==> "All"
+"Clean"
+ ==> "Publish"
+"Clean"
+ ?=> "BuildClient"
+"Clean"
+ ==> "BuildAndRun"
+
+"BuildClient"
+ ==> "All"
+"BuildClient"
+ ?=> "BuildServer"
+"BuildClient"
+ ==> "RunServer"
+ ==> "BuildAndRun"
+"BuildClient"
+ ==> "Publish"
+
+"BuildServer"
+ ==> "All"
+
+Target.runOrDefault "All"
diff --git a/build.fsx.lock b/build.fsx.lock
new file mode 100644
index 0000000..3d3a148
--- /dev/null
+++ b/build.fsx.lock
@@ -0,0 +1,232 @@
+STORAGE: NONE
+RESTRICTION: || (== net6.0) (== netstandard2.0)
+NUGET
+ remote: https://api.nuget.org/v3/index.json
+ BlackFox.VsWhere (1.1)
+ FSharp.Core (>= 4.2.3)
+ Microsoft.Win32.Registry (>= 4.7)
+ Fake.Core.CommandLineParsing (5.22)
+ FParsec (>= 1.1.1)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Context (5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Environment (5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.FakeVar (5.22)
+ Fake.Core.Context (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Process (5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.FakeVar (>= 5.22)
+ Fake.Core.String (>= 5.22)
+ Fake.Core.Trace (>= 5.22)
+ Fake.IO.FileSystem (>= 5.22)
+ FSharp.Core (>= 6.0)
+ System.Collections.Immutable (>= 5.0)
+ Fake.Core.SemVer (5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.String (5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Target (5.22)
+ Fake.Core.CommandLineParsing (>= 5.22)
+ Fake.Core.Context (>= 5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.FakeVar (>= 5.22)
+ Fake.Core.Process (>= 5.22)
+ Fake.Core.String (>= 5.22)
+ Fake.Core.Trace (>= 5.22)
+ FSharp.Control.Reactive (>= 5.0.2)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Tasks (5.22)
+ Fake.Core.Trace (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Trace (5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.FakeVar (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Core.Xml (5.22)
+ Fake.Core.String (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.DotNet.Cli (5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.Process (>= 5.22)
+ Fake.Core.String (>= 5.22)
+ Fake.Core.Trace (>= 5.22)
+ Fake.DotNet.MSBuild (>= 5.22)
+ Fake.DotNet.NuGet (>= 5.22)
+ Fake.IO.FileSystem (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Mono.Posix.NETStandard (>= 1.0)
+ Newtonsoft.Json (>= 13.0.1)
+ Fake.DotNet.MSBuild (5.22)
+ BlackFox.VsWhere (>= 1.1)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.Process (>= 5.22)
+ Fake.Core.String (>= 5.22)
+ Fake.Core.Trace (>= 5.22)
+ Fake.IO.FileSystem (>= 5.22)
+ FSharp.Core (>= 6.0)
+ MSBuild.StructuredLogger (>= 2.1.545)
+ Fake.DotNet.NuGet (5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.Process (>= 5.22)
+ Fake.Core.SemVer (>= 5.22)
+ Fake.Core.String (>= 5.22)
+ Fake.Core.Tasks (>= 5.22)
+ Fake.Core.Trace (>= 5.22)
+ Fake.Core.Xml (>= 5.22)
+ Fake.IO.FileSystem (>= 5.22)
+ Fake.Net.Http (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Newtonsoft.Json (>= 13.0.1)
+ NuGet.Protocol (>= 5.11)
+ Fake.IO.FileSystem (5.22)
+ Fake.Core.String (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.JavaScript.Npm (5.22)
+ Fake.Core.Environment (>= 5.22)
+ Fake.Core.Process (>= 5.22)
+ Fake.IO.FileSystem (>= 5.22)
+ Fake.Testing.Common (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Net.Http (5.22)
+ Fake.Core.Trace (>= 5.22)
+ FSharp.Core (>= 6.0)
+ Fake.Testing.Common (5.22)
+ Fake.Core.Trace (>= 5.22)
+ FSharp.Core (>= 6.0)
+ FParsec (1.1.1)
+ FSharp.Core (>= 4.3.4)
+ FSharp.Control.Reactive (5.0.5)
+ FSharp.Core (>= 4.7.2)
+ System.Reactive (>= 5.0 < 6.0)
+ FSharp.Core (6.0.5)
+ Microsoft.Build (17.2)
+ Microsoft.Build.Framework (>= 17.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ Microsoft.NET.StringTools (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ Microsoft.Win32.Registry (>= 4.3) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
+ System.Collections.Immutable (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ System.Configuration.ConfigurationManager (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ System.Reflection.Metadata (>= 1.6) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
+ System.Security.Principal.Windows (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
+ System.Text.Encoding.CodePages (>= 4.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
+ System.Text.Json (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ System.Threading.Tasks.Dataflow (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ Microsoft.Build.Framework (17.2)
+ Microsoft.Win32.Registry (>= 4.3)
+ System.Security.Permissions (>= 4.7)
+ Microsoft.Build.Tasks.Core (17.2)
+ Microsoft.Build.Framework (>= 17.2)
+ Microsoft.Build.Utilities.Core (>= 17.2)
+ Microsoft.NET.StringTools (>= 1.0)
+ Microsoft.Win32.Registry (>= 4.3)
+ System.CodeDom (>= 4.4)
+ System.Collections.Immutable (>= 5.0)
+ System.Reflection.Metadata (>= 1.6)
+ System.Resources.Extensions (>= 4.6)
+ System.Security.Cryptography.Pkcs (>= 4.7)
+ System.Security.Cryptography.Xml (>= 4.7)
+ System.Security.Permissions (>= 4.7)
+ System.Threading.Tasks.Dataflow (>= 6.0)
+ Microsoft.Build.Utilities.Core (17.2)
+ Microsoft.Build.Framework (>= 17.2)
+ Microsoft.NET.StringTools (>= 1.0)
+ Microsoft.Win32.Registry (>= 4.3)
+ System.Collections.Immutable (>= 5.0)
+ System.Configuration.ConfigurationManager (>= 4.7)
+ System.Security.Permissions (>= 4.7) - restriction: == netstandard2.0
+ System.Text.Encoding.CodePages (>= 4.0.1) - restriction: == netstandard2.0
+ Microsoft.NET.StringTools (1.0)
+ System.Memory (>= 4.5.4)
+ System.Runtime.CompilerServices.Unsafe (>= 5.0)
+ Microsoft.NETCore.Platforms (6.0.4) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0)
+ Microsoft.NETCore.Targets (5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0)
+ Microsoft.Win32.Registry (5.0)
+ System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monoandroid) (< netstandard1.3)) (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0)
+ System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
+ System.Security.AccessControl (>= 5.0)
+ System.Security.Principal.Windows (>= 5.0)
+ Microsoft.Win32.SystemEvents (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
+ Mono.Posix.NETStandard (1.0)
+ MSBuild.StructuredLogger (2.1.669)
+ Microsoft.Build (>= 16.10)
+ Microsoft.Build.Framework (>= 16.10)
+ Microsoft.Build.Tasks.Core (>= 16.10)
+ Microsoft.Build.Utilities.Core (>= 16.10)
+ Newtonsoft.Json (13.0.1)
+ NuGet.Common (6.2.1)
+ NuGet.Frameworks (>= 6.2.1)
+ NuGet.Configuration (6.2.1)
+ NuGet.Common (>= 6.2.1)
+ System.Security.Cryptography.ProtectedData (>= 4.4)
+ NuGet.Frameworks (6.2.1)
+ NuGet.Packaging (6.2.1)
+ Newtonsoft.Json (>= 13.0.1)
+ NuGet.Configuration (>= 6.2.1)
+ NuGet.Versioning (>= 6.2.1)
+ System.Security.Cryptography.Cng (>= 5.0)
+ System.Security.Cryptography.Pkcs (>= 5.0)
+ NuGet.Protocol (6.2.1)
+ NuGet.Packaging (>= 6.2.1)
+ NuGet.Versioning (6.2.1)
+ System.Buffers (4.5.1) - restriction: || (&& (== net6.0) (>= monoandroid) (< netstandard1.3)) (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0)
+ System.CodeDom (6.0)
+ System.Collections.Immutable (6.0)
+ System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Runtime.CompilerServices.Unsafe (>= 6.0)
+ System.Configuration.ConfigurationManager (6.0)
+ System.Security.Cryptography.ProtectedData (>= 6.0)
+ System.Security.Permissions (>= 6.0)
+ System.Drawing.Common (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
+ Microsoft.Win32.SystemEvents (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
+ System.Formats.Asn1 (6.0)
+ System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Memory (4.5.5)
+ System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0)
+ System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (== netstandard2.0)
+ System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= uap10.1)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0)
+ System.Numerics.Vectors (4.5) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Reactive (5.0)
+ System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
+ System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
+ System.Reflection.Metadata (6.0.1)
+ System.Collections.Immutable (>= 6.0)
+ System.Resources.Extensions (6.0)
+ System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Runtime (4.3.1) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
+ Microsoft.NETCore.Platforms (>= 1.1.1)
+ Microsoft.NETCore.Targets (>= 1.1.3)
+ System.Runtime.CompilerServices.Unsafe (6.0)
+ System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
+ System.Runtime (>= 4.3)
+ System.Security.AccessControl (6.0)
+ System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
+ System.Security.Cryptography.Cng (5.0)
+ System.Formats.Asn1 (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.0))
+ System.Security.Cryptography.Pkcs (6.0.1)
+ System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
+ System.Formats.Asn1 (>= 6.0)
+ System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
+ System.Security.Cryptography.Cng (>= 5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
+ System.Security.Cryptography.ProtectedData (6.0)
+ System.Security.Cryptography.Xml (6.0)
+ System.Memory (>= 4.5.4) - restriction: == netstandard2.0
+ System.Security.AccessControl (>= 6.0)
+ System.Security.Cryptography.Pkcs (>= 6.0)
+ System.Security.Permissions (6.0)
+ System.Security.AccessControl (>= 6.0)
+ System.Windows.Extensions (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
+ System.Security.Principal.Windows (5.0)
+ System.Text.Encoding.CodePages (6.0)
+ System.Runtime.CompilerServices.Unsafe (>= 6.0)
+ System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0)
+ System.Text.Json (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0)
+ System.Text.Encodings.Web (>= 6.0)
+ System.Threading.Tasks.Dataflow (6.0)
+ System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
+ System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== netstandard2.0)
+ System.Windows.Extensions (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
+ System.Drawing.Common (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
diff --git a/fake.cmd b/fake.cmd
new file mode 100644
index 0000000..72bbc3e
--- /dev/null
+++ b/fake.cmd
@@ -0,0 +1,2 @@
+dotnet tool restore
+dotnet fake %*
\ No newline at end of file
diff --git a/fake.sh b/fake.sh
new file mode 100755
index 0000000..bc92bc9
--- /dev/null
+++ b/fake.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -eu
+set -o pipefail
+
+dotnet tool restore
+dotnet fake "$@"
\ No newline at end of file
diff --git a/src/JobsJobsJobs/App/package.json b/src/JobsJobsJobs/App/package.json
index 160df92..e540a75 100644
--- a/src/JobsJobsJobs/App/package.json
+++ b/src/JobsJobsJobs/App/package.json
@@ -5,9 +5,7 @@
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
- "lint": "vue-cli-service lint",
- "apiserve": "vue-cli-service build && cd ../Server && dotnet run -c Debug",
- "publish": "vue-cli-service build --modern && cd ../Server && dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true --self-contained false"
+ "lint": "vue-cli-service lint"
},
"dependencies": {
"@mdi/js": "^5.9.55",
diff --git a/src/JobsJobsJobs/Directory.Build.props b/src/JobsJobsJobs/Directory.Build.props
index 1410d4b..2629784 100644
--- a/src/JobsJobsJobs/Directory.Build.props
+++ b/src/JobsJobsJobs/Directory.Build.props
@@ -1,8 +1,9 @@
- net5.0
+ net6.0
enable
- 1.0.1.0
- 1.0.1.0
+ embedded
+ 2.2.2.0
+ 2.2.2.0
diff --git a/src/JobsJobsJobs/Domain/JobsJobsJobs.Domain.fsproj b/src/JobsJobsJobs/Domain/JobsJobsJobs.Domain.fsproj
index 9d14916..a005d97 100644
--- a/src/JobsJobsJobs/Domain/JobsJobsJobs.Domain.fsproj
+++ b/src/JobsJobsJobs/Domain/JobsJobsJobs.Domain.fsproj
@@ -1,7 +1,6 @@
- net6.0
true
3390;$(WarnOn)
diff --git a/src/JobsJobsJobs/Server/JobsJobsJobs.Server.fsproj b/src/JobsJobsJobs/Server/JobsJobsJobs.Server.fsproj
index 9f23c41..1c8650b 100644
--- a/src/JobsJobsJobs/Server/JobsJobsJobs.Server.fsproj
+++ b/src/JobsJobsJobs/Server/JobsJobsJobs.Server.fsproj
@@ -2,7 +2,8 @@
Exe
- net6.0
+ true
+ false
3390;$(WarnOn)