A collection of JS modules to meet basic needs for web clients.
Go to file
Tissevert ee320d90f3 Fix missing '$' to show it's a shell command 2020-05-17 22:15:22 +02:00
src/UnitJS Make SJW modules out of the source files 2020-01-08 22:58:02 +01:00
.gitignore The output of the compilation shouldn't be versioned 2019-02-14 21:58:25 +01:00
Makefile Adjust SRC autodetection in Makefile 2020-03-23 21:43:43 +01:00
README.md Fix missing '$' to show it's a shell command 2020-05-17 22:15:22 +02:00
unit.js.tpl Make the unit.js.tpl actually work with the new path of the files, remove silly printf hack for indentation by allowing only one indentation at a time and make sure empty lines don't get indented 2020-05-16 17:04:46 +02:00

README.md

UnitJS

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.

Usage

With SJW

UnitJS comes as a SJW package. You can install it by copying the src/ directory of this repository to your package database by issuing the following command from the current directory :

$ cp -r src/ ~/.sjw/unitJS

Then, using unitJS in your projects is as simple as writing :

import * as Async from UnitJS.Async;

in any module if you want to use the Async module for instance and compile your code using the --include option of sjw with package unitJS :

$ sjw -I unitJS your/code/src -o your/code/main.js

Note that all modules have their path prefixed by a common UnitJS component and that SJW will only include the modules actually used in your code, not all of UnitJS.

As a standalone JS script

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.