mirror of
https://github.com/ziex-dev/ziex.git
synced 2026-07-20 02:29:36 -06:00
chore: merge branch 'main' into zig-0.17
This commit is contained in:
commit
35b631080a
89
README.md
89
README.md
@ -1,37 +1,47 @@
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/ziex-dev/branding/main/banner.svg" alt="Ziex banner" width="100%" />
|
||||
<img src="https://raw.githubusercontent.com/ziex-dev/branding/main/banner-animated.svg" alt="Ziex banner" width="100%" />
|
||||
</p>
|
||||
|
||||
A full-stack web framework for Zig. Write declarative UI components using familiar JSX patterns, transpiled to efficient Zig code.
|
||||
A full-stack web framework for Zig. Declarative UI components using familiar patterns, with full access to Zig's control flow.
|
||||
|
||||
Ziex combines the power and performance of Zig with the expressiveness of JSX, enabling you to build fast, type-safe web applications.
|
||||
Ziex combines the power and performance of Zig with the expressiveness and simplicity of declarative UI, enabling you to build fast, type-safe web applications.
|
||||
|
||||
**[Documentation →](https://ziex.dev/learn)**
|
||||
|
||||
|
||||
|
||||
> **Note:** Most of the API and syntax are finalized and stable, and server-side rendering (SSR) features are production-ready, Ziex continues to evolve with ongoing improvements to client-side rendering and state management. You can start using the documented features today, as they are stable and unlikely to change. Areas still under development are not yet documented and will be added as they mature.
|
||||
> **Note:** Most of the API and syntax are finalized and stable, and server-side rendering (SSR) features are production-ready, Ziex continues to evolve with ongoing improvements to client-side rendering and state management, see the [roadmap](#roadmap). You can start using the documented features today, as they are stable and unlikely to change. Areas still under development are not yet documented and will be added as they mature. See [versions](#versions) for Zig and Ziex versions compatibility.
|
||||
|
||||
|
||||
## Installation
|
||||
## Getting Started
|
||||
|
||||
##### Linux/macOS
|
||||
### 1. Installing CLI (optional)
|
||||
|
||||
macOS/Linux
|
||||
```bash
|
||||
curl -fsSL https://ziex.dev/install | bash
|
||||
```
|
||||
|
||||
##### Windows
|
||||
```powershell
|
||||
Windows
|
||||
```
|
||||
powershell -c "irm ziex.dev/install.ps1 | iex"
|
||||
|
||||
```
|
||||
##### Installing Zig
|
||||
```bash
|
||||
brew install zig # macOS
|
||||
winget install -e --id zig.zig # Windows
|
||||
```
|
||||
[_See for other platforms →_](https://ziglang.org/learn/getting-started/)
|
||||
|
||||
### 2. Initializing Project
|
||||
```powershell
|
||||
zx init
|
||||
# or
|
||||
npm init ziex
|
||||
```
|
||||
|
||||
### 3. Running Project
|
||||
```powershell
|
||||
zx dev
|
||||
# or
|
||||
npm run dev
|
||||
```
|
||||
|
||||
You will need [compatible](#versions) Zig version when using zx CLI or you can use the `Node` template from `npm init ziex`
|
||||
|
||||
Read [Getting Started →](https://ziex.dev/learn) for more details.
|
||||
|
||||
## At a Glance
|
||||
|
||||
@ -149,36 +159,32 @@ const zx = @import("zx");
|
||||
</details>
|
||||
|
||||
## Features
|
||||
- **JSX-like Syntax**: Write declarative UI components using familiar JSX patterns, transpiled to efficient Zig code.
|
||||
- **Full-Stack Capabilities**: Build both frontend and backend of your web application using
|
||||
- **It's Fast**: Significantly faster at SSR than many other frameworks.
|
||||
- **Compile-time Safety**: Zig's type system catches bugs at compile time. No runtime surprises, no GC.
|
||||
- **Declarative UI**: Declarative UI components using with full access to Zig's control flow.
|
||||
- **Full-Stack Capabilities**: Build both frontend and backend of web application.
|
||||
- **Fast**: Significantly faster at SSR than many other frameworks.
|
||||
- **Familiar Syntax**: Familiar JSX-like syntax, or plain HTML-style markup, with full access to Zig's control flow.
|
||||
- **Server-side Rendering**: Render per request on the server for dynamic data, auth, and personalized pages for best performance and SEO.
|
||||
- **Static Site Generation**: Pre-render pages at build/export time into static HTML for fast CDN delivery.
|
||||
- **File System Routing**: Folder structure defines routes. No configs, no magic strings, just files in folders.
|
||||
- **Client-side Rendering**: Optional client-side rendering for interactive experiences when you need it.
|
||||
- **Control Flow in Zig's Syntax**: if/else, for/while, and switch all work as expected. It's just Zig.
|
||||
- **File System Routing**: Folder structure defines routes.
|
||||
- **Client-side Rendering**: Client-side rendering with Zig for building interactive experiences.
|
||||
- **Developer Tooling**: CLI, hot reload, and editor extensions for the best DX.
|
||||
|
||||
## Roadmap
|
||||
|
||||
We track our feature roadmap and bugs using GitHub Issues.
|
||||
You can view our current progress and planned features here:
|
||||
|
||||
**[Check out the Ziex Issue Tracker →](https://github.com/ziex-dev/ziex/issues)**
|
||||
|
||||
## Versions
|
||||
| Zig | Ziex | Branch | Status |
|
||||
|-------------|---------------------|-------------------|----------------|
|
||||
| `0.17.0` | | `zig-0.17` | Unstable (dev) |
|
||||
| `0.16.0` | `0.1.0-dev.1068`-* | `main` | Stable (dev) |
|
||||
| `0.15.2` | `0.1.0-dev-1050` | `zig-0.15` | Stable (dev) |
|
||||
| `0.17.x` | | `zig-0.17` | Development |
|
||||
| `0.16.x` | `0.1.0-dev.1068`-* | `main` | **Latest** |
|
||||
| `0.15.x` | `0.1.0-dev-1050` | `zig-0.15` | Latest (`Zig 0.15.x`) |
|
||||
|
||||
|
||||
## Roadmap
|
||||
[Ziex 0.1.0](https://github.com/ziex-dev/ziex/milestone/2) is targeted after `Zig 0.17.0` release. You can see the [roadmap](https://github.com/ziex-dev/ziex/milestone) to learn more.
|
||||
|
||||
`0.1.0` release will indicate that Ziex is production ready with all majore features fully baked and will receive patch releases for bug fixes.
|
||||
|
||||
## Editor Support
|
||||
|
||||
* [VSCode](https://marketplace.visualstudio.com/items?itemName=ziex.ziex)/[VSCode Forks](https://open-vsx.org/extension/ziex/ziex) Extension
|
||||
* [VSCode](https://marketplace.visualstudio.com/items?itemName=ziex.ziex)/[VSCode Forks](https://open-vsx.org/extension/ziex/ziex)
|
||||
* [Neovim](/ide/neovim/)
|
||||
* [Helix](/ide/helix/)
|
||||
* [Zed](/ide/zed/)
|
||||
@ -188,16 +194,9 @@ You can view our current progress and planned features here:
|
||||
- [Discord](https://ziex.dev/r/discord)
|
||||
- [Topic on Ziggit](https://ziex.dev/r/ziggit)
|
||||
- [Project on Zig Discord Community](https://ziex.dev/r/zig-discord) (Join Zig Discord first: https://discord.gg/zig)
|
||||
|
||||
|
||||
## Links
|
||||
|
||||
* [Codeberg Mirror](https://codeberg.org/ziex/ziex) - ZX repository mirror on Codeberg
|
||||
* [ziex.dev](https://github.com/ziex-dev/ziex/tree/main/site) - Official documentation site of ZX made using ZX.
|
||||
* [example-blog](https://github.com/ziex-dev/example-blog) - Demo blog web application built with ZX
|
||||
* [zx-numbers-game](https://github.com/Andrew-Velox/zx-numbers-game) - ZX numbers game
|
||||
* [Comparision with other frameworks](https://ziex.dev/vs)
|
||||
- [Codeberg Mirror](https://codeberg.org/ziex/ziex) - Ziex repository mirror on Codeberg
|
||||
- [ziex.dev](https://github.com/ziex-dev/ziex/tree/main/site) - Official documentation site of Ziex made using Ziex.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Currently trying out ZX and reporting issues for edge cases and providing feedback are greatly appreciated.
|
||||
Contributions are welcome! Currently trying out Ziex and reporting issues for edge cases and providing feedback are greatly appreciated.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@ziex/cli",
|
||||
"version": "0.1.0-dev.928",
|
||||
"description": "ZX is a framework for building web applications with Zig.",
|
||||
"description": "Ziex is a framework for building web applications with Zig.",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
"zx": "bin/zx",
|
||||
|
||||
@ -240,7 +240,22 @@ async function main() {
|
||||
}
|
||||
|
||||
outro(`Successfully created ${color.cyan(project)}!`);
|
||||
console.log(`\n cd ${project}\n zig build dev\n`);
|
||||
const is_node = template === 'node';
|
||||
if (is_node) {
|
||||
console.log(`
|
||||
cd ${project}
|
||||
npm i
|
||||
npm run dev
|
||||
|
||||
`);
|
||||
}
|
||||
else {
|
||||
console.log(`
|
||||
cd ${project}
|
||||
zig build dev
|
||||
|
||||
`);
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure project name is suported Zig identifier
|
||||
|
||||
@ -5,13 +5,12 @@
|
||||
"": {
|
||||
"name": "ziex",
|
||||
"dependencies": {
|
||||
"@ziex/cli": "0.1.0-dev.8640",
|
||||
"@ziex/cli": "0.1.0-dev.1252",
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bun": "latest",
|
||||
"@types/react": "latest",
|
||||
"@types/react-dom": "latest",
|
||||
"jsz": "github:nurulhudaapon/jsz",
|
||||
"zzon": "^1.7.1",
|
||||
},
|
||||
"peerDependencies": {
|
||||
@ -34,26 +33,24 @@
|
||||
|
||||
"@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="],
|
||||
|
||||
"@ziex/cli": ["@ziex/cli@0.1.0-dev.8640", "", { "optionalDependencies": { "@ziex/cli-darwin-arm64": "0.1.0-dev.865", "@ziex/cli-darwin-x64": "0.1.0-dev.865", "@ziex/cli-linux-arm64": "0.1.0-dev.865", "@ziex/cli-linux-x64": "0.1.0-dev.865", "@ziex/cli-win32-arm64": "0.1.0-dev.865", "@ziex/cli-win32-x64": "0.1.0-dev.865" }, "bin": { "zx": "bin/ziex", "ziex": "bin/ziex" } }, "sha512-smZGGI6h+AZr7ViV9fyZJQYcE8SwsbYx3HgoHhaYnTwzstc2votstiuNm9CDbuhuXbUEJW3XBmTq/e365v0fOw=="],
|
||||
"@ziex/cli": ["@ziex/cli@0.1.0-dev.1252", "", { "optionalDependencies": { "@ziex/cli-darwin-arm64": "0.1.0-dev.1252", "@ziex/cli-darwin-x64": "0.1.0-dev.1252", "@ziex/cli-linux-arm64": "0.1.0-dev.1252", "@ziex/cli-linux-x64": "0.1.0-dev.1252", "@ziex/cli-win32-arm64": "0.1.0-dev.1252", "@ziex/cli-win32-x64": "0.1.0-dev.1252" }, "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-siZtnH+6ato28+KTA4RGR5mWSkRfKUy54bOwb/Dz9Tv/jdzNg+75QTn7TSAA589qupFU59TSGMDidnulRtJ3lw=="],
|
||||
|
||||
"@ziex/cli-darwin-arm64": ["@ziex/cli-darwin-arm64@0.1.0-dev.865", "", { "os": "darwin", "cpu": "arm64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-PID2MKsGFxMBrYxNQPT5GsuA6zv7EDrg8T27Bjn4924AMwd+MILoA4+jOG0/ybGhaMG3axm92NIB9pzf6YHsEw=="],
|
||||
"@ziex/cli-darwin-arm64": ["@ziex/cli-darwin-arm64@0.1.0-dev.1252", "", { "os": "darwin", "cpu": "arm64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-lv+GwFkDVWPjkZtW7r0UJ/puReITyRcSGCnToEOC6cBT08NDpqH6WkP4Ar2Qgkd+fZLi+EKiqGtzul3O9Zi17Q=="],
|
||||
|
||||
"@ziex/cli-darwin-x64": ["@ziex/cli-darwin-x64@0.1.0-dev.865", "", { "os": "darwin", "cpu": "x64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-pCm+BGhpS48vzx9H3s+aP/YvuIgqX7ogj1CfldXrZraiID6gaBXn9gJl5Zgbu0FpVi0fYf0pd4G+NpKnBBCu2Q=="],
|
||||
"@ziex/cli-darwin-x64": ["@ziex/cli-darwin-x64@0.1.0-dev.1252", "", { "os": "darwin", "cpu": "x64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-x9V/NKoJ9aVXJV5coB+ZkEDRApoMw5ERoQuWKHWr7xEMyq7icuK40sbQjtyrAGcW9AQR16qBXanT5fKwlWLCpw=="],
|
||||
|
||||
"@ziex/cli-linux-arm64": ["@ziex/cli-linux-arm64@0.1.0-dev.865", "", { "os": "linux", "cpu": "arm64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-k7Zb0v3r8ywQl44AamDUotei6mdCFM/8fAuWecI1LDkxmRfxiK4FN6LWiNaQRerKa+HrI1bi3kioaNyWuBoakA=="],
|
||||
"@ziex/cli-linux-arm64": ["@ziex/cli-linux-arm64@0.1.0-dev.1252", "", { "os": "linux", "cpu": "arm64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-PuVGbwj+5IXr35cC8aJu/Vfg0M0Z95GLH6D4yb5SsDLj9zyV0+OpT783GXVWSro5D7M7BVHcXRhI4X0ctuQPnQ=="],
|
||||
|
||||
"@ziex/cli-linux-x64": ["@ziex/cli-linux-x64@0.1.0-dev.865", "", { "os": "linux", "cpu": "x64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-c4l0OGl2P8XrSaDhuqRNbC0lQjsmIJ5Fw9aekl9JDzfV3VRefuiWW4LbcXERpHd6x60D9PnTo3swhdYkeLmffQ=="],
|
||||
"@ziex/cli-linux-x64": ["@ziex/cli-linux-x64@0.1.0-dev.1252", "", { "os": "linux", "cpu": "x64", "bin": { "zx": "bin/zx", "ziex": "bin/zx" } }, "sha512-BnHRb06WMdFTLLzt/JlBmrZ31nA5X1mK9KqpySgtE1ZpXGi5/WL93YpDpunCrr/vfihMWo59Gi/bRIZe7yKTpg=="],
|
||||
|
||||
"@ziex/cli-win32-arm64": ["@ziex/cli-win32-arm64@0.1.0-dev.865", "", { "os": "win32", "cpu": "arm64", "bin": { "zx": "bin/zx.exe", "ziex": "bin/zx.exe" } }, "sha512-/arptYcXTiyLbImN6+dO8T3z9tcjby6qYP0CDiZhg9XT4rsX+q2lcVU4FALS2EJq/l1tS8pT3f0bZR+X0ye93w=="],
|
||||
"@ziex/cli-win32-arm64": ["@ziex/cli-win32-arm64@0.1.0-dev.1252", "", { "os": "win32", "cpu": "arm64", "bin": { "zx": "bin/zx.exe", "ziex": "bin/zx.exe" } }, "sha512-gTNQdEAJQhfYFPUCxReG9zf94tF9mGXEVyh0xgINBDPbR7B7FQXbpiS9U5qX2LrWK5+Vi2jbnwVQ80nMSTq+hw=="],
|
||||
|
||||
"@ziex/cli-win32-x64": ["@ziex/cli-win32-x64@0.1.0-dev.865", "", { "os": "win32", "cpu": "x64", "bin": { "zx": "bin/zx.exe", "ziex": "bin/zx.exe" } }, "sha512-BaRyHSUR1TEfph+uqnU8UCVEuTqqKUnJxgQGC6CppLPmK54dOn/QdOl/wiqbThd82aNfSz5QQnB7ITi/kcmfcw=="],
|
||||
"@ziex/cli-win32-x64": ["@ziex/cli-win32-x64@0.1.0-dev.1252", "", { "os": "win32", "cpu": "x64", "bin": { "zx": "bin/zx.exe", "ziex": "bin/zx.exe" } }, "sha512-USIU2d7mqmIGBIF/wGNIAFkLuXmTpfhWqt1B16F2jikS/x1mg/lw8XQORM1NYYoUksttINc0w2g6bZ4kq+FuAw=="],
|
||||
|
||||
"bun-types": ["bun-types@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-1KGPpoxQWl9f6wcZh57LvrPIInQMn2TQ7jsgxqpRzg+l0QPOFvJVH7HmvHo/AiPgwXy+/Thf6Ov3EdVn1vOabg=="],
|
||||
|
||||
"csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
|
||||
|
||||
"jsz": ["jsz@github:nurulhudaapon/jsz#04db83c", {}, "nurulhudaapon-jsz-04db83c", "sha512-i9dg1qJzFLWgDS280Vpa0Mgi9oFoFNO07vM+lGDkvhL+NrmaE4gDcS904nP1sN3+iZoE3hqCiwHv0hua/0M+eg=="],
|
||||
|
||||
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
||||
|
||||
"undici-types": ["undici-types@7.18.2", "", {}, "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w=="],
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"name": "ziex",
|
||||
"version": "0.1.0-dev",
|
||||
"private": true,
|
||||
"description": "ZX is a framework for building web applications with Zig.",
|
||||
"description": "Ziex is a framework for building web applications with Zig.",
|
||||
"main": "src/index.ts",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
@ -44,12 +44,11 @@
|
||||
"check": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ziex/cli": "0.1.0-dev.1138"
|
||||
"@ziex/cli": "0.1.0-dev.1252"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bun": "latest",
|
||||
"zzon": "^1.7.1",
|
||||
"jsz": "github:nurulhudaapon/jsz",
|
||||
"@types/react": "latest",
|
||||
"@types/react-dom": "latest"
|
||||
},
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
const features = [_]Feature{
|
||||
.{ .icon_fn = icons.Lightning, .title = "Fast Performance", .description = "Significantly faster at SSR than many other frameworks. Optimized for speed and low latency." },
|
||||
// .{ .icon_fn = icons.Shield, .title = "Deterministic Safety", .description = "Built on Zig's safety features. Zero undefined behavior at runtime. Predictable and reliable." },
|
||||
.{ .icon_fn = icons.Code, .title = "Familiar Syntax", .description = "Familiar JSX-like syntax, or plain HTML-style markup, with full access to Zig's control flow." },
|
||||
.{ .icon_fn = icons.Code, .title = "Familiar Syntax", .description = "Familiar plain HTML-style markup, with full access to Zig's control flow." },
|
||||
// .{ .icon_fn = icons.Globe, .title = "Edge First", .description = "Native support for WASI and Edge runtimes. Deploy to Cloudflare Workers or Vercel Edge with zero config." },
|
||||
// .{ .icon_fn = icons.Package, .title = "Zero Dependencies", .description = "Self-contained framework. No node_modules, no external runtimes. Just one small binary." },
|
||||
.{ .icon_fn = icons.Folder, .title = "File System Routing", .description = "Just put files in folders to create routes. Simple and intuitive structure for any scale." },
|
||||
.{ .icon_fn = icons.Server, .title = "API Routes", .description = "Create API endpoints by adding route.zig files to your project. Native Zig performance." },
|
||||
.{ .icon_fn = icons.Monitor, .title = "Hybrid Rendering", .description = "Optional client-side rendering for interactive experiences when you need it. SSR by default." },
|
||||
.{ .icon_fn = icons.Folder, .title = "File System Routing", .description = "Just files in folders to create routes." },
|
||||
.{ .icon_fn = icons.Server, .title = "API Routes", .description = "Create API endpoints by adding route.zig files to your project." },
|
||||
.{ .icon_fn = icons.Monitor, .title = "Hybrid Rendering", .description = "Client-side rendering for interactive experiences when you need it." },
|
||||
.{ .icon_fn = icons.Flow, .title = "Control Flow", .description = "if/else, for/while, and switch all work as expected. It's just Zig syntax." },
|
||||
.{ .icon_fn = icons.Wrench, .title = "Developer Tooling", .description = "CLI, hot reload, and editor extensions for the best development experience." },
|
||||
.{ .icon_fn = icons.Rocket, .title = "Deploy Anywhere", .description = "Standalone binaries, Cloudflare, Vercel, or any edge runtime host. Build once, run anywhere." },
|
||||
.{ .icon_fn = icons.Layers, .title = "Predictable Memory", .description = "Explicit memory management. No GC pauses, no hidden allocations. Total control over your app's footprint." },
|
||||
.{ .icon_fn = icons.Layers, .title = "Predictable Memory", .description = "Explicit memory management of Zig, no hidden allocations." },
|
||||
};
|
||||
|
||||
const deployments = [_]Deployment{
|
||||
.{ .icon_fn = icons.Terminal, .title = "Standalone", .description = "Deploy as a self-contained binary on Linux, macOS, or Windows. Statically linked with zero runtime dependencies." },
|
||||
.{ .icon_fn = icons.Globe, .title = "Edge Anywhere", .description = "Deploy to the edge via WASI. Native support for Cloudflare and Vercel." },
|
||||
.{ .icon_fn = icons.Terminal, .title = "Standalone", .description = "Deploy as a self-contained binary on Linux, macOS, Windows andy many more platforms that Zig supports." },
|
||||
.{ .icon_fn = icons.Globe, .title = "Edge Anywhere", .description = "Deploy to the edge via WASI. Native bindings for Cloudflare and Vercel." },
|
||||
.{ .icon_fn = icons.Layers, .title = "Static", .description = "Generate a statically pre-rendered site at build time. Deploy to GitHub Pages, Netlify, S3, or any CDN." },
|
||||
.{ .icon_fn = icons.Package, .title = "Cross-Platform", .description = "Build for any target from any host. Easily cross-compile optimized binaries for x86_64, aarch64, and more." },
|
||||
};
|
||||
|
||||
171
site/package-lock.json
generated
171
site/package-lock.json
generated
@ -33,7 +33,7 @@
|
||||
"@types/node": "^25.5.0",
|
||||
"@types/react": "19.2.7",
|
||||
"@types/react-dom": "19.2.3",
|
||||
"@ziex/cli": "0.1.0-dev.8640",
|
||||
"@ziex/cli": "0.1.0-dev.1252",
|
||||
"@zigc/cli": "0.16.0",
|
||||
"esbuild": "0.27.2",
|
||||
"typescript": "^5.5.2",
|
||||
@ -238,8 +238,6 @@
|
||||
},
|
||||
"node_modules/@codemirror/lsp-client": {
|
||||
"version": "6.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/lsp-client/-/lsp-client-6.2.4.tgz",
|
||||
"integrity": "sha512-unH8VuWlgbJJxulh0uCrXE0L2xZXpeItIngyKUlpqe5ir/LAMtouf7rnKrVR2ZzGU5FhmMz9PkZ/WFa2WzNSww==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@codemirror/autocomplete": "^6.20.0",
|
||||
@ -367,9 +365,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/runtime": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
||||
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz",
|
||||
"integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
@ -909,6 +907,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -926,6 +927,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -943,6 +947,9 @@
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -960,6 +967,9 @@
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -977,6 +987,9 @@
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -994,6 +1007,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1011,6 +1027,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1028,6 +1047,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1045,6 +1067,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1068,6 +1093,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1091,6 +1119,9 @@
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1114,6 +1145,9 @@
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1137,6 +1171,9 @@
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1160,6 +1197,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1183,6 +1223,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1206,6 +1249,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1514,6 +1560,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1535,6 +1584,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1556,6 +1608,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1577,6 +1632,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1598,6 +1656,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1619,6 +1680,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1904,6 +1968,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1925,6 +1992,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1946,6 +2016,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -1967,6 +2040,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2154,6 +2230,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2171,6 +2250,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2188,6 +2270,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2205,6 +2290,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2303,25 +2391,28 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli": {
|
||||
"version": "0.1.0-dev.8640",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli/-/cli-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-siZtnH+6ato28+KTA4RGR5mWSkRfKUy54bOwb/Dz9Tv/jdzNg+75QTn7TSAA589qupFU59TSGMDidnulRtJ3lw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"ziex": "bin/ziex",
|
||||
"zx": "bin/ziex"
|
||||
"ziex": "bin/zx",
|
||||
"zx": "bin/zx"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@ziex/cli-darwin-arm64": "0.1.0-dev.865",
|
||||
"@ziex/cli-darwin-x64": "0.1.0-dev.865",
|
||||
"@ziex/cli-linux-arm64": "0.1.0-dev.865",
|
||||
"@ziex/cli-linux-x64": "0.1.0-dev.865",
|
||||
"@ziex/cli-win32-arm64": "0.1.0-dev.865",
|
||||
"@ziex/cli-win32-x64": "0.1.0-dev.865"
|
||||
"@ziex/cli-darwin-arm64": "0.1.0-dev.1252",
|
||||
"@ziex/cli-darwin-x64": "0.1.0-dev.1252",
|
||||
"@ziex/cli-linux-arm64": "0.1.0-dev.1252",
|
||||
"@ziex/cli-linux-x64": "0.1.0-dev.1252",
|
||||
"@ziex/cli-win32-arm64": "0.1.0-dev.1252",
|
||||
"@ziex/cli-win32-x64": "0.1.0-dev.1252"
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-darwin-arm64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-darwin-arm64/-/cli-darwin-arm64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-lv+GwFkDVWPjkZtW7r0UJ/puReITyRcSGCnToEOC6cBT08NDpqH6WkP4Ar2Qgkd+fZLi+EKiqGtzul3O9Zi17Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -2337,9 +2428,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-darwin-x64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-darwin-x64/-/cli-darwin-x64-0.1.0-dev.865.tgz",
|
||||
"integrity": "sha512-pCm+BGhpS48vzx9H3s+aP/YvuIgqX7ogj1CfldXrZraiID6gaBXn9gJl5Zgbu0FpVi0fYf0pd4G+NpKnBBCu2Q==",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-darwin-x64/-/cli-darwin-x64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-x9V/NKoJ9aVXJV5coB+ZkEDRApoMw5ERoQuWKHWr7xEMyq7icuK40sbQjtyrAGcW9AQR16qBXanT5fKwlWLCpw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -2355,9 +2446,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-linux-arm64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-linux-arm64/-/cli-linux-arm64-0.1.0-dev.865.tgz",
|
||||
"integrity": "sha512-k7Zb0v3r8ywQl44AamDUotei6mdCFM/8fAuWecI1LDkxmRfxiK4FN6LWiNaQRerKa+HrI1bi3kioaNyWuBoakA==",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-linux-arm64/-/cli-linux-arm64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-PuVGbwj+5IXr35cC8aJu/Vfg0M0Z95GLH6D4yb5SsDLj9zyV0+OpT783GXVWSro5D7M7BVHcXRhI4X0ctuQPnQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -2373,9 +2464,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-linux-x64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-linux-x64/-/cli-linux-x64-0.1.0-dev.865.tgz",
|
||||
"integrity": "sha512-c4l0OGl2P8XrSaDhuqRNbC0lQjsmIJ5Fw9aekl9JDzfV3VRefuiWW4LbcXERpHd6x60D9PnTo3swhdYkeLmffQ==",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-linux-x64/-/cli-linux-x64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-BnHRb06WMdFTLLzt/JlBmrZ31nA5X1mK9KqpySgtE1ZpXGi5/WL93YpDpunCrr/vfihMWo59Gi/bRIZe7yKTpg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -2391,9 +2482,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-win32-arm64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-win32-arm64/-/cli-win32-arm64-0.1.0-dev.865.tgz",
|
||||
"integrity": "sha512-/arptYcXTiyLbImN6+dO8T3z9tcjby6qYP0CDiZhg9XT4rsX+q2lcVU4FALS2EJq/l1tS8pT3f0bZR+X0ye93w==",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-win32-arm64/-/cli-win32-arm64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-gTNQdEAJQhfYFPUCxReG9zf94tF9mGXEVyh0xgINBDPbR7B7FQXbpiS9U5qX2LrWK5+Vi2jbnwVQ80nMSTq+hw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -2409,9 +2500,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ziex/cli-win32-x64": {
|
||||
"version": "0.1.0-dev.865",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-win32-x64/-/cli-win32-x64-0.1.0-dev.865.tgz",
|
||||
"integrity": "sha512-BaRyHSUR1TEfph+uqnU8UCVEuTqqKUnJxgQGC6CppLPmK54dOn/QdOl/wiqbThd82aNfSz5QQnB7ITi/kcmfcw==",
|
||||
"version": "0.1.0-dev.1252",
|
||||
"resolved": "https://registry.npmjs.org/@ziex/cli-win32-x64/-/cli-win32-x64-0.1.0-dev.1252.tgz",
|
||||
"integrity": "sha512-USIU2d7mqmIGBIF/wGNIAFkLuXmTpfhWqt1B16F2jikS/x1mg/lw8XQORM1NYYoUksttINc0w2g6bZ4kq+FuAw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -2848,6 +2939,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2869,6 +2963,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2890,6 +2987,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2911,6 +3011,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@ -2976,8 +3079,6 @@
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "15.0.12",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
|
||||
"integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"marked": "bin/marked.js"
|
||||
@ -3035,8 +3136,6 @@
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
"@types/node": "^25.5.0",
|
||||
"@types/react": "19.2.7",
|
||||
"@types/react-dom": "19.2.3",
|
||||
"@ziex/cli": "0.1.0-dev.8640",
|
||||
"@ziex/cli": "0.1.0-dev.1252",
|
||||
"@zigc/cli": "0.16.0",
|
||||
"esbuild": "0.27.2",
|
||||
"typescript": "^5.5.2",
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
.minimum_zig_version = "0.16.0",
|
||||
.dependencies = .{
|
||||
.ziex = .{
|
||||
.url = "git+https://github.com/ziex-dev/ziex#6dd1f531407a92a0d2ca3b5419615947dd6accdd",
|
||||
.hash = "ziex-0.1.0-dev-Z3YcveTEngEacTGF-wN_PnI_hJnUgAMID7xFOZbA6geU",
|
||||
.url = "git+https://github.com/ziex-dev/ziex#f346e357db896d57e5a70ac34d89c8b38ba45e45",
|
||||
.hash = "ziex-0.1.0-dev-Z3YcvV7HngEeV-4Sw0v1FYzxP2PSjT5hy1_Cs5sS9F8B",
|
||||
},
|
||||
},
|
||||
.paths = .{
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
.minimum_zig_version = "0.16.0",
|
||||
.dependencies = .{
|
||||
.ziex = .{
|
||||
.url = "git+https://github.com/ziex-dev/ziex#6dd1f531407a92a0d2ca3b5419615947dd6accdd",
|
||||
.hash = "ziex-0.1.0-dev-Z3YcveTEngEacTGF-wN_PnI_hJnUgAMID7xFOZbA6geU",
|
||||
.url = "git+https://github.com/ziex-dev/ziex#f346e357db896d57e5a70ac34d89c8b38ba45e45",
|
||||
.hash = "ziex-0.1.0-dev-Z3YcvV7HngEeV-4Sw0v1FYzxP2PSjT5hy1_Cs5sS9F8B",
|
||||
},
|
||||
.pg = .{
|
||||
.url = "git+https://github.com/karlseguin/pg.zig#61fb377e7afbffedfae28bb4396d038dcf9462c8",
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
"fmt": "zx fmt"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ziex/cli": "0.1.0-dev.1103",
|
||||
"@ziex/cli": "0.1.0-dev.1252",
|
||||
"@zigc/cli": "0.16.0"
|
||||
}
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
"deploy": "vercel deploy --prebuilt"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ziex/cli": "0.1.0-dev.1227",
|
||||
"@ziex/cli": "0.1.0-dev.1252",
|
||||
"@zigc/cli": "0.16.0",
|
||||
"vercel": "^54.14.0"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user