Monster
Monster is an ideal choice for building visually appealing and high-performance web interfaces and websites using modern
JavaScript techniques.
By leveraging cutting-edge JavaScript features such as classes, WeakRef, WeakMaps, proxies, and the MutationObserver
interface, Monster
offers a blend of traditional methods and innovative web components.
Designed for seamless integration, Monster complements existing web projects without dominating the entire architecture.
Unlike solutions that introduce a new layer of abstraction and proprietary languages, Monster focuses on enhancing
the native capabilities of HTML, CSS, and JavaScript for web development.
With a design goal to optimize performance and achieve stellar outcomes, Monster achieves
this using minimal JavaScript code.
Monster is built with ES6 modules and uses
the import
and export statements.
For certain functions, additional polyfills may be required.
Documentation
To access our documentation and examples, visit monsterjs.org/.
Installation
Install Monster using npm, Yarn, or pnpm:
npm install @schukai/monster
yarn add @schukai/monster
pnpm add @schukai/monster
Usage
Here is a simple example of how to use Monster. We create a small file named index.mjs
(where 'm' stands for module). In this example, we perform substitutions in a string:
import {Formatter} from '@schukai/monster/source/text/formatter.mjs';
const text = '${mykey${subkey}}';
let obj = {
mykey2: "1",
subkey: "2"
};
new Formatter(obj).format(text);
To integrate this function into a website, it is recommended to use a bundler such
as esbuild:
esbuild index.mjs --outfile=dist.js
You can now include it in your website:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Monster</title>
<script src="dist.js"></script>
</head>
<body>
Voilà!
Polyfill
While we strive to work around some browser bugs, generally, we do not use polyfills or feature detection.
However, many functions can be supplemented through polyfills, thus enhancing compatibility.
Questions
For questions and commercial support, please contact schukai GmbH.
The issue list of this repository is exclusively for bug reports and feature requests.
Issues
Please ensure you read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines
may
be closed immediately.
License
Copyright © 2024 schukai GmbH
Licensed under AGPL. Commercial licenses are also available.
Changelog
Detailed changes for each release are documented in the
CHANGELOG.