Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status NPM package

HSLuv - Human-friendly HSL

Explanation, demo, ports etc.

The reference implementation is written in Haxe.

Build system

HSLuv uses Nix package manager. If you want to build without Nix, see default.nix for dependencies and command line instructions.

Linux, Windows 10 (WSL), macOS 10.14 and earlier:

  • Install Nix
  • Use: ./run.sh <COMMAND> <TARGET>

Linux, macOS:

  • Install Docker
  • Use: HSLUV_RUNTIME=docker ./run.sh <COMMAND> <TARGET>

The necessary mathematical equations are solved in Maxima. See /math directory for the equations and run the following to verify the solutions:

./run.sh build maximaOutput

To run full test suite:

./run.sh build test

To build JavaScript distributions (Node.js and browser):

./run.sh build nodePackageDist
./run.sh build browserDist

To build website:

./run.sh build website

To build website and start localhost server:

./run.sh run server

Testing

The snapshot file is stored for regression testing. If a backwards-incompatible change is made, a new snapshot file can be generated as follows:

./run.sh build snapshotJson

The format of the file is as follows:

{
  "#000000": {
    rgb: [ 0, 0, 0 ],
    xyz: [ 0, 0, 0 ],
    luv: [ 0, 0, 0 ],
    lch: [ 0, 0, 0 ],
    hsluv: [ 0, 0, 0 ],
    hpluv: [ 0, 0, 0 ]
  },
  ...
}

Deploying

For publishing packages and website you will need access to our shared credentials.

./run.sh run publishPypi
./run.sh run publishNpmJs
./run.sh run publishNpmSass
./run.sh run publishLua
./run.sh run publishWebsite
./run.sh run publishRuby
./run.sh run publishNuget
./scripts/publish-maven.sh

Versioning

Following semantic versioning, the major version must be incremented whenever the color math changes. These changes can be tested for with snapshot files.

You can’t perform that action at this time.