A Web browser application for browsing and editing PeriodO data.
Compatible with all browsers that support ES2017 and IndexedDB. Safari has known issues complying with the latter, and we cannot guarantee that PeriodO supports it (as of March 2017).
To build a standalone version of the client which can be run from a static web directory, run make production
.
Run make test
to run all tests. Because we use recent JavaScript features like async
/await
and object rest/spread, you must have Node 11+ installed.
This is an umbrella project for several distinct sub-projects ("modules"). Each of these smaller units are npm packages found in the modules
folder. We manage dependencies between them with a tool called Lerna. Look in those folders for documentation on each individal module.
Because browsers do not support IndexedDB for pages served from local file systems, during development, you will need to run a process that will serve the root directory over HTTP.
Once you have set up a server to serve the root directory, run make watch
to rebuild the site during development. This will build the file periodo-client.js
and rebuild it upon any changes to source files.
To publish a new version, run the following commands:
npm version patch
make publish
Replace patch
with the type of release you want to make, according to the docs for npm-version and the kind of change the new version is according to semvar.
package-lock.json
Changes to package-lock.json
should only ever be in a commit by themselves. Do not include changes to package-lock.json
with commits that change other files.