initial generation via https://picsvg.com/ > Created by potrace 1.10, written by Peter Selinger 2001-2011 compressed via https://jakearchibald.github.io/svgomg/
Builder script is using Gulp
Additional tools used
- eslint to validate javascript files
- html-validate to validate html file
- vitest testing framework
All commands must be called from code/
$ pwd
/home/dev/espurna/code
When gulp command is not available globally
$ ./node_modules/.bin/gulp
Files
code/espurna/static/- .html.ipp, used in the firmware codecode/gulpfile.mjs- builder script entrypointcode/html/build- intermediate build resultscode/html/spec- vitest 'spec' filescode/html/src- source .mjs, .html, etc.code/node_modules- build dependenciescode/package{,-lock}.json- build dependencies metadata
Installation
(recommended) Install exact dependencies listed in the package-lock.json, from the time the builder code was last updated
$ npm ci
(optional) Install dependencies listed in the package.json, possibly updating packages listed in the package-lock.json
$ npm install
Building
Run tests and build every .html.ipp (default task)
$ gulp
Build only (does not run tests)
$ gulp webui
Build specific flavour (webui_... tasks)
$ gulp webui_small
List all available tasks
$ gulp --tasks
Development
Launches development server on port 8080 with the resulting .html bundle. No minification or compression, using webui_all as base
$ gulp dev
Only the default task depends on the test and lint tasks, call them manually
$ gulp test
$ gulp eslint html-validate vitest
$ gulp eslint
$ gulp html-validate
$ gulp vitest
Gulp usually does not allow any task arguments, run these tools manually to select specific files or change command line arguments
$ npm exec --no -- eslint gulpfile.mjs html/src/*.mjs html/spec/*.mjs
$ npm exec --no -- html-validate html/src/*.html
$ npm exec --no -- vitest --environment jsdom --dir html/spec --run