6 releases
0.1.5 | Mar 9, 2024 |
---|---|
0.1.4 | Mar 9, 2024 |
0.1.2 | Jan 13, 2024 |
#830 in Programming languages
20KB
267 lines
Swift Precompiler
⚡ A fast, lightweight precompiler for Swift
Features
- Add Rust's
includeStr!
like functionality to Swift with theprecompileIncludeStr
function
Installation
Cargo:
cargo install swift-precompiler
Configuration
Run swift-precompiler init
to initialise a config file swift-precompiled.toml
with the default values
Available options:
dirs
- An array of directories to search for Swift source files that require precompilationpath_aliases
- A dictionary of path aliases to use in precompile calls
Example:
dirs = ["Cider/", "CiderPlaybackAgent/"]
[path_aliases]
# "@" as a path alias refers to the current working directory in most cases
"@" = "./"
Usage
Including a file as a string literal at compile time:
let javaScript = precompileIncludeStr("path/to/file.js")
Include a file as a Data at compile time:
let image = precompileIncludeData("path/to/image.png")
Run swift-precompiler
to precompile all Swift files in the directories specified in the config file
swift-precompiler precompile
You should add Precompiled.swift
to your .gitignore
Swift Precompiler encodes your strings with Base64, you can add swift-extras-base64 to your project using SPM to enable faster Base64 decode.
Dependencies
~4–15MB
~152K SLoC