Conway's Game
Introduction
This project is a web application that enables running various cellular
automata in an HTML Canvas. It uses Webpack for bundling and LitElement
for the the user interface.
Getting Started
- Install dependencies.
npm install
- Run the unit tests.
npm test
- Run the app locally.
npm run start:dev
Doing Development
Calculating test coverage.
npm run coverage
Generating code documentation.
npm run docs
Updating Dependencies
- Detect updates via
npm outdated
- Change the dependencies version number to the desired version.
npm update --save
npm update --dev
- Run the tests.
Creating a Release
The site is hosted on GitHub pages. It sources the pages from the docs directory.
To update the site we simple do a Webpack production build and copy the contents
of the dist directory to the docs directory.
- Create a release branch.
git checkout -b release/MyRelease
- Build the app.
npm run build
- Remove the old app and copy in the new.
rm -r ./docs/*
cp -R ./dist/* docs
- Verify the production app works without Webpack. I use
the Python HTTP server for this, but there are many ways
to do this.
cd docs
python3 -m http.server 8000
- Check in the changes, push to origin and submit a pull request.
Merging the pull request into Master will deploy the site.
Related Resources
Testing
JSDoc