A collection of JS modules to meet basic needs for web clients.
Go to file
2022-11-12 09:37:03 +01:00
src/UnitJS Generalize support for events in Dom element maker 2022-07-25 21:13:15 +02:00
.gitignore The output of the compilation shouldn't be versioned 2019-02-14 21:58:25 +01:00
CHANGELOG.md Add a guix package declaration 2022-08-09 20:05:06 +02:00
guix.scm Improve guix declaration 2022-11-12 09:37:03 +01:00
Makefile Make a SJW package out of UnitJS 2020-05-17 22:19:21 +02:00
README.md Add a guix package declaration 2022-08-09 20:05:06 +02:00
unit.js.tpl Add a guix package declaration 2022-08-09 20:05:06 +02:00


UnitJS is a tiny Javascript framework to write web applications. It provides four essential modules to deal with asynchronous functions (technically, it's a monad obtained by currifying the CPS functions of Javascript like setTimeout), value caching, DOM manipulation and basic functional needs like composition or object projections.

How to use it in your project

As a SJW package.

With guix

The easiest way to use it in your web projects is to simply package them with guix.


You can follow these instructions to use it without guix.

Without SJW

If you don't want to or can't use SJW, it's still possible to use UnitJS by generating a single script that can then be loaded from your web page like this :

<script src="/path/to/unit.js"></script>

The file unit.js can be easily generated with make, which actually just calls the unit.js.tpl script. Note that you can still generate custom «partial» versions of unit.js if you don't use all of it by overriding the SRC variable of the Makefile like so :

make SRC="src/UnitJS/Dom.js src/UnitJS/Cache.js"

or by manually calling ./unit.js.tpl with the files you want, like the Makefile does.

When used that way, the UnitJS library will be available to your Javascript code as a global variable unitJS containing each of the modules (Async, Dom, etc.) as an attribute.