All Projects → ionide → fstoml

ionide / fstoml

Licence: MIT License
Lightweight TOML based F# project file

Programming Languages

F#
602 projects
shell
77523 projects
Batchfile
5799 projects

Labels

Projects that are alternatives of or similar to fstoml

htoml
TOML file format parser in Haskell
Stars: ✭ 39 (+8.33%)
Mutual labels:  toml
tree-sitter-toml
TOML grammar for tree-sitter
Stars: ✭ 23 (-36.11%)
Mutual labels:  toml
pytomlpp
A python wrapper for tomlplusplus
Stars: ✭ 56 (+55.56%)
Mutual labels:  toml
climatecontrol
Python library for loading settings and config data from files and environment variables
Stars: ✭ 20 (-44.44%)
Mutual labels:  toml
tomlcpp
No fanfare TOML C++ Library
Stars: ✭ 21 (-41.67%)
Mutual labels:  toml
tomlify-j0.4
An Object->TOML encoder/converter for TOML v0.4.0 (not v0.4.x)
Stars: ✭ 16 (-55.56%)
Mutual labels:  toml
cmkr
Modern build system based on CMake and TOML.
Stars: ✭ 211 (+486.11%)
Mutual labels:  toml
rubric
Linter Config Initializer for Python
Stars: ✭ 21 (-41.67%)
Mutual labels:  toml
audible-cli
A command line interface for audible package. With the cli you can download your Audible books, cover, chapter files.
Stars: ✭ 142 (+294.44%)
Mutual labels:  toml
tomland
🏝 Bidirectional TOML serialization
Stars: ✭ 103 (+186.11%)
Mutual labels:  toml
transfer
Converts from one encoding to another. Supported formats HCL ⇄ JSON ⇄ YAML⇄TOML⇄XML⇄plist⇄pickle⇄properties ...
Stars: ✭ 70 (+94.44%)
Mutual labels:  toml
front-matter
The most featured front matter (yaml, json, neon, toml) parser and dumper for PHP.
Stars: ✭ 23 (-36.11%)
Mutual labels:  toml
parse it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
Stars: ✭ 86 (+138.89%)
Mutual labels:  toml
contentful-export
Extract Contentful to Hugo
Stars: ✭ 22 (-38.89%)
Mutual labels:  toml
configo
Configo is a go library to parse toml configuration using struct tags
Stars: ✭ 33 (-8.33%)
Mutual labels:  toml
cfg-rs
A Configuration Library for Rust Applications
Stars: ✭ 18 (-50%)
Mutual labels:  toml
tomlj
A Java parser for Tom's Obvious, Minimal Language (TOML).
Stars: ✭ 72 (+100%)
Mutual labels:  toml
goconf
Configuration loader in Go
Stars: ✭ 23 (-36.11%)
Mutual labels:  toml
TOMLDecoder
From TOML to Swift Codable types.
Stars: ✭ 52 (+44.44%)
Mutual labels:  toml
Molten
[WIP] Molten - Style-preserving TOML parser.
Stars: ✭ 36 (+0%)
Mutual labels:  toml

fstoml Gitter

FsToml is new, lighweight project file for F#.

Warning! FsToml is experimental project, not recommended to use in production environment

Example

Name            = 'FantasticApp'
OutputType      = 'Exe'
FrameworkVersion = '4.5'

Files = [
    { Compile = "src/file.fs" },
    { Compile = "src/file2.fs", Link = "src/uselessLink.fs" },
    { Compile = "src/file3.fs", Sig = "src/file3.fsi" },
    { None    = "src/script.fsx", Private = true },
]

References = [
    { Reference = "System" },
    { Reference = "FSharp.Core" },
    { Project   = "Deppy.fstoml" },
    { Reference   = "lib/Fable.Core.dll", Private = true },
    { Package   = "Nett" }
]

DebugSymbols = true
DebugType = 'full'
Optimize = false
NoWarn = [52, 40]
OtherFlags = [ '--warnon:1182' ]

[ net ]
   DebugSymbols = false

[ net.Release ]
    Constants = [ 'RELEASE', 'FABLE' ]
    DebugType = 'pdbonly'
    Optimize = true

[ net."4_5".Release.x86 ]
    OutputPath = "bin/Release/x86"

[ net."4_5".Release.x64 ]
    OutputPath = "bin/Release/x64"

Why?

  • Sane syntax
  • Removing all moving parts of normal MsBuild files that makes it imposible to parse without using MsBuild (conditional statements, variable assigments, functions calls inside of project file)
  • Declarative way of defining conditional parts of project
  • Deeper integration with Paket
  • Better set of CLI tooling for project managment [which will make editor integration much easier]

How does it work

fstoml is abstraction layer on top of MsBuild providing more declarative, high level way of defining projects. Under the hood it's translated to normal MsBuild XML .props file and imported by MsBuild whenever it's called. That makes fstoml 100% compatiable with all existing tooling, such as dotnet CLI and different editors.

Contributing and copyright

The project is hosted on GitHub where you can report issues, fork the project and submit pull requests.

The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.

Maintainer(s)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].