yazeedobaid on master
Bump version to 6.0.0-beta001 Merge pull request #2727 from f… (compare)
1<System.String>, Microsoft.FSharp.Core.FSharpOption
1<System.String>, Microsoft.FSharp.Core.FSharpOption1<System.String>, Microsoft.FSharp.Core.FSharpOption
1<System.String>, Boolean, Boolean, CliArguments)'.)1<System.String>, Microsoft.FSharp.Core.FSharpOption
1<System.String>, Microsoft.FSharp.Core.FSharpOption1<System.String>, Microsoft.FSharp.Core.FSharpOption
1<System.String>, Boolean, Boolean, CliArguments)'.MSBuild.build setParams "my.sln"
, then in setParams
I do set the PublishDir
, but that setting will be relative to each project and I want it to be in ./build/publish/projectX
and ./build/publish/projectY
.
AppendTargetFrameworkToOutputPath
but instead AppendProjectName
or something.
Fake.JavaScript.Yarn.install (fun o ->
{ o with
WorkingDirectory = someDirectory
})
'node' is not recognized as an internal or external command,
operable program or batch file.
Ok looking at the source code, there is indeed a parameter called YarnFilePath. So that takes care of specifying the path to yarn. Now from @matthid 's advice, I correctly specified, albeit manually, the path to node and running the script worked.
However, I am now struggling with dynamically adding the node path to PATH:
Environment.setEnvironVar "PATH" nodeDirPath
because when I then run
let newEnvPath = Environment.pathDirectories
newEnvPath
|> Seq.iter(fun x ->
Trace.log (sprintf "----->%s" x))
the new path is not there
YarnFilePath
(or we need to update the module to support this scenario)
On a separate but related topic, in my build.fsx
I've got
#r "paket:
storage: packages
nuget Fake.IO.FileSystem
nuget Fake.Core.Target
nuget Fake.DotNet.Cli
nuget Node.js.redist --version 12.16.3
nuget Fake.JavaScript.Yarn --version 5.20.1
//"
Even though I've deleted the .fake
folder and the build.fsx.lock
, the latest version of "Node.js.redist" is being downloaded. What is the correct way to pin the version?
fake
using dotnet tool install fake-cli --too-path
to install fake. I also have my nuget packages defined in build.fsx as above. Now let's say I add a new Nuget package, what is the prescribed way to get the new package because running fake run build
doesn't do it. I know that deleting build.fsx.lock and running the previous command will work but I was wondering if there is a better way