# ziko

> A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...

Latest version **2.0.0-beta.15.1** (published 2026-09-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install ziko
pnpm add ziko
yarn add ziko
bun add ziko
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 2.0.0-beta.15.1 |
| Published | 2026-09-21 |
| First published | 2024-03-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 310.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 135 |
| Author | zakaria elalaoui |
| Maintainers | zakarialaoui10 |
| Keywords | front-end, framework, zikojs, ziko, math, user-interface, time, dom, single page application, file based routing |

## Links

- npm: https://www.npmjs.com/package/ziko
- Repository: https://github.com/zikojs/ziko
- Homepage: https://github.com/zikojs/ziko#readme
- Issues: https://github.com/zikojs/ziko/issues
- npm.io page: https://npm.io/package/ziko

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 2.0.0-beta.15.1 (latest) — 2026-09-21
- 2.0.0-beta.15 — 2026-09-19
- 2.0.0-beta.14 — 2026-09-17
- 2.0.0-beta.13 — 2026-09-17
- 2.0.0-beta.12 — 2026-09-17
- 2.0.0-beta.11 — 2026-09-14
- 2.0.0-beta.10 — 2026-09-08
- 2.0.0-beta.9 — 2026-09-07
- 2.0.0-beta.8 — 2026-09-07
- 2.0.0-beta.7 — 2026-09-05
- 2.0.0-beta.6 — 2026-09-05
- 2.0.0-beta.5 — 2026-09-05
- 2.0.0-beta.4 — 2026-09-05
- 2.0.0-beta.3 — 2026-09-05
- 2.0.0-beta.2 — 2026-09-05
- … 135 more at https://npm.io/package/ziko/versions

## README

# Zikojs 

A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...
<div align="center">

[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zakarialaoui10/zikojs/blob/HEAD/LICENSE) [![npm latest package](https://img.shields.io/npm/v/ziko/latest.svg)](https://www.npmjs.com/package/ziko) [![npm downloads](https://img.shields.io/npm/dy/ziko.svg)](https://www.npmjs.com/package/ziko) 
<!-- [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/zakarialaoui10/ziko.svg)](https://isitmaintained.com/project/zakarialaoui/ziko 'Average time to resolve an issue') -->

</div>

<!-- 
## Philosophy
Methodes Chaining 
Composition 
 -->
## Demos
- [ Windows entanglement using zikojs and ziko-gl ](https://www.linkedin.com/feed/update/urn:li:activity:7144023650394918913/) 

## 🔥 Features
### 💎 Core
- 🚫 Zero Dependency
- 🌳 Partial Tree Shaking
- 🔢 Rich Math Functions and Utilities
  - <details>
    <summary>Flexible Math Functions</summary>
    ZikoJS offers flexible math utilities, such as the `mapfun` function, which allows mapping standard mathematical operations to complex and nested data structures. 
    For example, the `cos` function in ZikoJS is built on top of mapfun, enabling it to handle multiple arguments with diverse types (numbers, arrays, objects).

    ```js
    import { cos, PI } from "ziko";
    const result = cos(PI, PI / 2, PI / 4, [PI / 6, PI / 3], {
      x: PI / 2,
      y: PI / 4,
      z: [0, PI / 12],
    }
    );
    /*
    result =>
    [
      -1,
      0,
      0.707106781186548,
      [0.866025403784439, 0.5],
      {
        x: 0,
        y: 0.707106781186548,
        z: [1, 0.965925826289068],
      },
    ];
    */
    // console.log(result)

    ```
    You can also built your own flexible Math function using this mapfun util : 
    ```js
    import { mapfun } from "ziko";
    const parabolic_func = (a, b, c, x) => a * x ** 2 + b * x + c;
    const map_parabolic_func =
      (a, b, c) =>
      (...X) =>
        mapfun((n) => parabolic_func(a, b, c, n), ...X);
    const a = -1.5,
      b = 2,
      c = 3;
    const X = [0, 1, 2, 3];
    console.log(parabolic_func(a, b, c)(X));
    // [3,3,1,3]

    ```
    </details>



<!-- - The Math Module supports a new Paradigm  -->
- ✨ Hyperscript-Based Declarative UI (No Template Engines needed)
```js
import {p, text, Random} from 'ziko'
const Hello = name => p(
  text("Hello ", name)
).onClick(e => e.target.style({color : Random.color()}))
```
- 🔄 Built in State Mangement : 
```js
import { tags } from 'ziko/dom'
import {useState, useDerived} from 'ziko/hooks'
const [timer, setTimer] = useState(0);
const converToHMS = seconds => `${Math.floor(seconds / 3600)} : ${Math.floor((seconds % 3600) / 60)} : ${seconds % 60} `
const [time] = useDerived(t => converToHMS(t) , [timer] ) 
tags.p('Elapsed Time : ', time)
let i = 1;
setInterval(()=>{
  setTimer(i);
  i++
}, 1000)
```
- 📱 Single Page Application With File Based Routing
```js
import { FileBasedRouting } from "ziko";
FileBasedRouting(import.meta.glob("./pages/**/*.js"))
```
- 🤝 One Way Interleaving With [Vanjs]()
- ⏰ Time loop and animations support

### 🚀 External : 
- 🧩 Extra UI Components : [Zextra](https://github.com/zakarialaoui10/zextra)
- 🖥️ Server Side Rendering With File Based Routing and Client Side Hydration : [ziko-server](https://github.com/zakarialaoui10/ziko-server)
- 📝 Mdx-Like Markdown Preprocessor : [Mdz](https://github.com/zakarialaoui10/mdz)
- 🔌 Flexible Integration with Popular Frameworks/Libraries : [Ziko-wrapper](https://github.com/zakarialaoui10/ziko-wrapper)
  - 🔄 Bi-directional : `React`, `Preact`, `Solid`, `Svelte`, `Vue` , `Vanjs`
  - ➡️ Uni-directional (ZikoJS → X) : 
    - `Astro` : (SSR + Client Hydration)
- 📦 Growing Add-On Ecosystem : 
    - Ziko-Tgl : WebGL/3D Graphics, Built on Top of [Threejs](https://github.com/zakarialaoui10/ziko-gl)
    - Ziko-Chart 
    - Ziko-Code
    - Ziko-Lottie
    - ...

## Install :
```bash
npm i ziko
```
## Quick Start :
```bash
npx create-ziko-app [app-title]
```
## ⭐️ Show your support <a name="support"></a>

If you appreciate the library, kindly demonstrate your support by giving it a star!<br>
[![Star](https://img.shields.io/github/stars/zakarialaoui10/ziko.js?style=social)](https://github.com/zakarialaoui10/ziko.js)
<!--## Financial support-->


To do
 add component middlware/wrapper

---
_Source: https://npm.io/package/ziko · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
