Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toshusai/one
a JavaScript framework in a 1.7KB one class
https://github.com/toshusai/one
framework frontend javascript typescript
Last synced: 5 days ago
JSON representation
a JavaScript framework in a 1.7KB one class
- Host: GitHub
- URL: https://github.com/toshusai/one
- Owner: toshusai
- License: mit
- Created: 2023-04-08T04:17:00.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-11T14:58:58.000Z (2 months ago)
- Last Synced: 2024-09-11T23:12:12.200Z (2 months ago)
- Topics: framework, frontend, javascript, typescript
- Language: TypeScript
- Homepage: https://toshusai.github.io/one-docs/
- Size: 16.6 KB
- Stars: 15
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```bash
npm install @toshusai/one
```## Usage
To use One, simply inherit the One class and implement the template method.
```ts
import { One } from "@toshusai/one";export class BasicComponent extends One {
render() {
return `Hello World!`;
}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.
```ts
const element = document.getElementById("app")!;
new BasicComponent().mount(element);
```## Features
One supports the following features:
- `-if` for if statements
- `-for` for for loops
- `` 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