prepare v0.1.5 release

This commit is contained in:
Chris Tate
2026-05-08 19:15:06 -05:00
parent 01260fb6fe
commit dafa3f6360
10 changed files with 48 additions and 25 deletions
+13
View File
@@ -2,6 +2,19 @@
All notable changes to zero-native will be documented in this file.
## 0.1.5
<!-- release:start -->
### Bug Fixes
- **macOS local asset loading** - Prefer current-directory asset roots during local `zig build run` so Vite-based examples render their production bundles instead of blank windows.
### Contributors
- @ctate
<!-- release:end -->
## 0.1.4
<!-- release:start -->
+7 -7
View File
@@ -8,14 +8,14 @@
"start": "next start"
},
"dependencies": {
"next": "^15.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
"next": "^16.2.6",
"react": "^19.2.6",
"react-dom": "^19.2.6"
},
"devDependencies": {
"@types/node": "20.17.6",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"typescript": "^5.0.0"
"@types/node": "^25.6.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"typescript": "^6.0.3"
}
}
+2 -2
View File
@@ -11,11 +11,11 @@
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"jsx": "react-jsx",
"incremental": true,
"plugins": [{ "name": "next" }],
"paths": { "@/*": ["./app/*"] }
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
"exclude": ["node_modules"]
}
+4 -4
View File
@@ -9,11 +9,11 @@
"preview": "vite preview"
},
"dependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0"
"react": "^19.2.6",
"react-dom": "^19.2.6"
},
"devDependencies": {
"@vitejs/plugin-react": "^4.0.0",
"vite": "^6.0.0"
"@vitejs/plugin-react": "^6.0.1",
"vite": "^8.0.11"
}
}
+3 -3
View File
@@ -9,10 +9,10 @@
"preview": "vite preview"
},
"dependencies": {
"svelte": "^5.0.0"
"svelte": "^5.55.5"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"vite": "^6.0.0"
"@sveltejs/vite-plugin-svelte": "^7.1.2",
"vite": "^8.0.11"
}
}
@@ -0,0 +1 @@
export default {};
+3 -3
View File
@@ -9,10 +9,10 @@
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.5.0"
"vue": "^3.5.34"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^6.0.0"
"@vitejs/plugin-vue": "^6.0.6",
"vite": "^8.0.11"
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "zero-native",
"version": "0.1.4",
"version": "0.1.5",
"description": "Zig desktop app shell with WebView — CLI tools",
"type": "module",
"bin": {
+13 -4
View File
@@ -411,16 +411,25 @@ static NSString *ZeroNativeMimeTypeForPath(NSString *path) {
return @"application/octet-stream";
}
static BOOL ZeroNativeDirectoryExists(NSString *path) {
BOOL isDirectory = NO;
return path.length > 0 && [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory] && isDirectory;
}
static NSString *ZeroNativeResolvedAssetRoot(NSString *rootPath) {
NSString *resourcePath = [NSBundle mainBundle].resourcePath;
BOOL isAppBundle = [[NSBundle mainBundle].bundlePath.pathExtension.lowercaseString isEqualToString:@"app"];
if (rootPath.length == 0 || [rootPath isEqualToString:@"."]) {
return [NSBundle mainBundle].resourcePath ?: [[NSFileManager defaultManager] currentDirectoryPath];
return (isAppBundle && resourcePath.length > 0) ? resourcePath : [[NSFileManager defaultManager] currentDirectoryPath];
}
if (rootPath.isAbsolutePath) return rootPath;
NSString *resourcePath = [NSBundle mainBundle].resourcePath;
NSString *cwdPath = [[[NSFileManager defaultManager] currentDirectoryPath] stringByAppendingPathComponent:rootPath];
if (!isAppBundle && ZeroNativeDirectoryExists(cwdPath)) return cwdPath;
if (resourcePath.length > 0) {
return [resourcePath stringByAppendingPathComponent:rootPath];
NSString *resourceRoot = [resourcePath stringByAppendingPathComponent:rootPath];
if (isAppBundle || ZeroNativeDirectoryExists(resourceRoot)) return resourceRoot;
}
return [[[NSFileManager defaultManager] currentDirectoryPath] stringByAppendingPathComponent:rootPath];
return cwdPath;
}
static BOOL ZeroNativePathHasUnsafeSegment(NSString *path) {
+1 -1
View File
@@ -2,7 +2,7 @@ const std = @import("std");
const automation_cli = @import("automation.zig");
const tooling = @import("tooling");
const version = "0.1.4";
const version = "0.1.5";
pub fn main(init: std.process.Init) !void {
const allocator = init.arena.allocator();