Fable.Package.SDK
1.2.0
See the version list below for details.
dotnet add package Fable.Package.SDK --version 1.2.0
NuGet\Install-Package Fable.Package.SDK -Version 1.2.0
<PackageReference Include="Fable.Package.SDK" Version="1.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Fable.Package.SDK --version 1.2.0
#r "nuget: Fable.Package.SDK, 1.2.0"
// Install Fable.Package.SDK as a Cake Addin #addin nuget:?package=Fable.Package.SDK&version=1.2.0 // Install Fable.Package.SDK as a Cake Tool #tool nuget:?package=Fable.Package.SDK&version=1.2.0
Fable.Package.SDK
Fable.Package.SDK is a set of MSBuild targets and tasks that help you build and package Fable projects.
Features 🚀
- Automatically add Fable specific tags to
PackageTags
based on theFablePackageType
property - Automatically include F# source files in the package if needed
- Check that at least one Fable target is defined in the
PackageTags
property - Set
GenerateDocumentationFile
totrue
- Set up your package for improving IDE experiences by setting:
DebugType
toembedded
EmbedUntrackedSources
totrue
Installation
.NET CLI
dotnet add package Fable.Package.SDK
This will add the package to your project file.
<PackageReference Include="Fable.Package.SDK" Version="x.y.z" />
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
These rules are necessary to ensure that the package is not included in the final package, you don't want you package to depend on Fable.Package.SDK
at runtime.
Paket
# In your paket.dependencies
nuget Fable.Package.SDK copy_local: true
# In your paket.references
Fable.Package.SDK
Usage
1. Set the FablePackageType
property
Set the FablePackageType
property in your project file to one of the following values:
library
: If your package is a library that can be used by Fable.Examples of libraries could be Fable.Promise, Elmish, Thoth.Json, Feliz
This will include the source files in the package.
binding
: If your package consist of a set of API to make a native library availableFor example:
- A package which makes an NPM package API available
- A package which makes the Browser API available
- A package which makes a cargo package API available
<br/>
Only the DLL will be included in the package, allowing for a faster build and smaller package size.
2. Specify the targets
Choose one or more of the following tags:
fable-dart
: Dart is supported by the packagefable-dotnet
: .NET is supported by the packagefable-javascript
: JavaScript is supported by the packagefable-python
: Python is supported by the packagefable-rust
: Rust is supported by the packagefable-all
: Package is compatible with all Fable targets.
[!WARNING] A package can be compatible with all targets if it depends only on packages that are also compatible with all targets.
A package compatible with all targets cannot be a binding, as these are target-specific.
Example:
If your package supports only JavaScript you need to use fable-javascript
If your package supports both JavaScript and Python, you need to use fable-javascript
and fable-python
Example of use case
If your package is a binding which target JavaScript you need to write:
<PropertyGroup>
<PackageTags>fable-javascript</PackageTags>
<FablePackageType>binding</FablePackageType>
</PropertyGroup>
If your package is a library which targets JavaScript and Python you need to write:
<PropertyGroup>
<PackageTags>fable-javascript;fable-python</PackageTags>
<FablePackageType>library</FablePackageType>
</PropertyGroup>
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Fable.Package.SDK:
Package | Downloads |
---|---|
Thoth.Json
Elm-inspired encoder and decoder for JSON, this package is intended to be use on Fable side only. If you are interested on using it against .NET Core or .NET Framework, please use Thoth.Json.Net. |
|
FsSpreadsheet
Fable compliant Spreadsheet creation and manipulation in FSharp |
|
Thoth.Json.Core
Elm-inspired encoder and decoder for JSON, this package is the core library which can be used on any F# project. Pick the right additional package for your runtime: - Thoth.Json.JavaScript - Thoth.Json.Python - Thoth.Json.Newtonsoft |
|
Thoth.Json.Newtonsoft
Elm-inspired encoder and decoder for JSON, this package is for .NET runtime when you want to use Newtonsoft.Json. |
|
Thoth.Json.JavaScript
Elm-inspired encoder and decoder for JSON, this package is for JavaScript runtime. |
GitHub repositories
This package is not used by any popular GitHub repositories.
## 1.2.0
### 🐞 Bug Fixes
- Workaround limitations in VS and Rider ([3dfe5f1](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/3dfe5f11c5e3637e6622a67b959b60035a547261))