davidontop/build.fsx
2025-05-06 22:08:13 +02:00

42 lines
1.1 KiB
FSharp

#load "./.paket/load/net9.0/Build/build.group.fsx"
open Fake.Core
open Fake.DotNet
open Fake.JavaScript
System.Environment.GetCommandLineArgs()
|> Array.toList
|> Context.FakeExecutionContext.Create false "build.fsx"
|> Context.RuntimeContext.Fake
|> Context.setExecutionContext
Target.create "dev" (fun _ ->
let fable = async {
DotNet.exec (fun o -> o) "fable" "watch -o build -s" |> ignore
}
let vite = async {
Npm.run "dev" (fun p -> p)
}
Async.Parallel [fable; vite]
|> Async.RunSynchronously
|> ignore
)
Target.create "build" (fun _ ->
DotNet.exec (fun o -> o) "fable" "-o build --noCache --optimize" |> ignore
Npm.run "build" (fun p -> p)
)
Target.create "clean" (fun _ ->
DotNet.exec (fun o -> o)"fable" "clean -o build" |> ignore
DotNet.exec (fun o -> o) "clean" |> ignore
Fake.IO.Directory.delete "node_modules"
Fake.IO.Directory.delete "bin"
Fake.IO.Directory.delete "build"
Fake.IO.Directory.delete "dist"
Fake.IO.Directory.delete "obj"
Fake.IO.Directory.delete "paket-files"
Fake.IO.Directory.delete ".paket"
)
Target.runOrDefaultWithArguments "dev"