Skip to content

Latest commit

 

History

History
93 lines (57 loc) · 3.77 KB

README.md

File metadata and controls

93 lines (57 loc) · 3.77 KB

PeriodO Client

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).

client tests status end-to-end tests status

Building

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.

Layout of this project

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.

Development

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.

Publishing a new version

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.

Committing 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.