- Zig 100%
| .github/workflows | automate gh releases | |
| examples | chore: upgrade to zig 0.15.1 | |
| src | chore: upgrade to zig 0.15.1 | |
| .gitignore | init to winit | |
| .tool-versions | init to winit | |
| build.zig | chore: upgrade to zig 0.15.1 | |
| build.zig.zon | fix: benchmark hash | |
| CHANGELOG.md | init to winit | |
| LICENSE | init to winit | |
| README.md | fix markdown | |
zig jwt
Main License Info Release Zig Support
📼 installing
Create a new exec project with zig init. Copy an example from the examples directory into your into src/main.zig
Create a build.zig.zon file to declare a dependency
.zon short for "zig object notation" files are essentially zig structs.
build.zig.zonis zigs native package manager convention for where to declare dependencies
Starting in zig 0.12.0, you can use and should prefer
zig fetch --save https://github.com/softprops/zig-jwt/archive/refs/tags/v0.1.0.tar.gz
otherwise, to manually add it, do so as follows
.{
.name = "my-app",
.version = "0.1.0",
.dependencies = .{
+ // 👇 declare dep properties
+ .jwt = .{
+ // 👇 uri to download
+ .url = "https://github.com/softprops/zig-jwt/archive/refs/tags/v0.1.0.tar.gz",
+ // 👇 hash verification
+ .hash = "...",
+ },
},
}
the hash below may vary. you can also depend any tag with
https://github.com/softprops/zig-jwt/archive/refs/tags/v{version}.tar.gzor current main withhttps://github.com/softprops/zig-jwt/archive/refs/heads/main/main.tar.gz. to resolve a hash omit it and let zig tell you the expected value.
Add the following in your build.zig file
const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
// 👇 de-reference dep from build.zig.zon
+ const jwt = b.dependency("jwt", .{
+ .target = target,
+ .optimize = optimize,
+ }).module("jwt");
var exe = b.addExecutable(.{
.name = "your-exe",
.root_source_file = .{ .path = "src/main.zig" },
.target = target,
.optimize = optimize,
});
// 👇 add the module to executable
+ exe.root_mode.addImport("jwt", jwt);
b.installArtifact(exe);
}
examples
See examples directory
🥹 for budding ziglings
Does this look interesting but you're new to zig and feel left out? No problem, zig is young so most us of our new are as well. Here are some resources to help get you up to speed on zig
- softprops 2024