Skip to content

🦁 <1kb compiler-focused virtual DOM. It's fast!

License

Notifications You must be signed in to change notification settings

VENI-VIDIVICI/million

 
 

Repository files navigation

Million Logo

English | 简体中文

<1kb compiler-focused virtual DOM. It's fast!

Current Virtual DOM implementations are inadequate—Ranging from overcomplicated to abandoned, most are unusable without sacrificing raw performance and size. Million aims to fix this, providing a library-agnostic Virtual DOM to serve as the core for Javascript libraries that focus on precompilation and static analysis.

CI Code Size NPM Version Code Coverage

→ Check out the Million documentation

Why Million?

  • 🦁 Built for libraries that compile
  • 📦 Lightweight bundle size (<1kb brotli+min)
  • ⚡ Fast runtime operations
  • 🛠️ Extensible using drivers, sensible by default

Installing Million

Million doesn't require build tools by default, but it is highly recommended you use NPM to install.

npm install million

Hello World Example

Below is an extremely simple implementation of a Hello World page using Million.

import { m, createElement, patch } from 'million';

// Initialize app
const app = createElement(m('div', { id: 'app' }, ['Hello World']));
document.body.appendChild(app);
// Patch content
patch(app, m('div', { id: 'app' }, ['Goodbye World']));

→ Check out more examples

Sponsors

Vercel

Want your logo here? → Sponsor Million

Resources & Contributing Back

Looking for the docs? Check the documentation out.

Have a question about Million? Post it on the GitHub Discussions and ask the community for help.

Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too!

We expect all Million contributors to abide by the terms of our Code of Conduct.

→ Start contributing on GitHub

Acknowledgments

Million takes heavy inspiration from Snabbdom and Fre, and believes in the core philosophies and values behind React, Inferno, and Moon. Feel free to check them out if you interested in an alternative library to use.

Why is it called "Million"? The name originated with the goal of being able to handle 1M+ ops/sec for benchmarks.

License

Million is MIT-licensed open-source software by Aiden Bai.

About

🦁 <1kb compiler-focused virtual DOM. It's fast!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 86.9%
  • JavaScript 7.1%
  • Shell 5.0%
  • HTML 1.0%