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.
To access our documentation and examples, visit monsterjs.org/.
Install Monster using npm, Yarn, or pnpm:
npm install @schukai/monster
yarn add @schukai/monster
pnpm add @schukai/monster
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);
// Outputs: 1
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à!
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.
For questions and commercial support, please contact schukai GmbH. The issue list of this repository is exclusively for bug reports and feature requests.
Please ensure you read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
Copyright © 2024 schukai GmbH
Licensed under AGPL. Commercial licenses are also available.
Detailed changes for each release are documented in the CHANGELOG.