Skip to content

lockieluke/swift-precompiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift Precompiler

âš¡ A fast, lightweight precompiler for Swift

Features

  • Add Rust's includeStr! like functionality to Swift with the precompileIncludeStr 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 precompilation
  • path_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.

About

🚀 A precompiler for Swift that allows you to use additional macros, include files, and more.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published