Skip to content

toshusai/one

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

One

What is One?

https://toshusai.github.io/one-docs/

One is a lightweight, easy-to-use framework for building web applications that is simple, transparent, and fast. It consists of a single class contained in a single file of 1.7KB and requires zero dependencies and no build step.

Overview

One is a lightweight framework that makes it easy to build web applications with its focus on simplicity and transparency. The entire framework is contained within a single class, making it easy to use and understand. At only 11KB TypeScript in size (1.7KB JavaScript when gzip compressed), the class includes implementation of basic features found in modern frameworks, such as if statements, for loops, slots, and props. With zero dependencies and no build step required, One is a great choice for building small to medium-sized web applications.

How to use

Installation

npm install @toshusai/one

Usage

To use One, simply inherit the One class and implement the template method.

import { One } from "@toshusai/one";

export class BasicComponent extends One {
  render() {
    return `<div>Hello World!</div>`;
  }

  mounted() {
    console.log("Can you see me in the console?");
  }
}

To initialize the application, create an instance and pass the root HTMLElement as an argument to the mount method.

const element = document.getElementById("app")!;
new BasicComponent().mount(element);

Features

One supports the following features:

  • -if for if statements
  • -for for for loops
  • <slot></slot> for multiple slots
  • :value="value" for two-way binding
  • @click="onClick" for event listeners

Documentation

documentation is available on the GitHub Pages site. https://toshusai.github.io/one-docs/

documentation source code is available on GitHub https://github.com/toshusai/one-docs

License

MIT License

Releases

No releases published

Packages

No packages published