https://github.com/stuf/etm12-pixel-app
Calmm-based pixel editor for the browser
https://github.com/stuf/etm12-pixel-app
frp graphics kefir lenses observables react web
Last synced: about 2 months ago
JSON representation
Calmm-based pixel editor for the browser
- Host: GitHub
- URL: https://github.com/stuf/etm12-pixel-app
- Owner: stuf
- License: mit
- Created: 2019-09-29T18:58:53.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T12:19:29.000Z (almost 3 years ago)
- Last Synced: 2025-07-23T07:16:21.758Z (3 months ago)
- Topics: frp, graphics, kefir, lenses, observables, react, web
- Language: JavaScript
- Homepage: https://etm12.dev
- Size: 3.96 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README



# `etm12-pixel-app`
## Contents
- [Getting started](#getting-started)
- [Running tests](#running-tests)
- [Building](#building)
- [Code structure](#code-structure)## Getting started
You'll need Node.js (a fresh version, anything over 8 but 12 is preferred). Yarn is recommended, but not required.
```sh
# Install all dependencies
yarn
``````sh
# Run app
yarn start
```### Git hooks
This repository uses [husky](https://github.com/typicode/husky) for Git hooks. _All tests must pass to be allowed pushing to remote_.
### Committing code
This repository uses [Git commitizen](https://github.com/commitizen) for creating commit messages in the repository. After installing dependencies, commitizen should also be configured in the project. Use `git cz` instead of `git commit` for commits.
### Project scripts
- `yarn start`
- start application locally with some additional development environment-related additions
- `yarn start:app`
- same as `yarn start`, but skip devenv-related additions
- `yarn build`
- create production bundle; _`yarn prebuild` must succeed_
- `yarn build:changelog`
- generate [CHANGELOG.md](./CHANGELOG.md) file based committed code changes
- `yarn prebuild`
- run tests and collect code coverage before creating the application bundle
- `yarn test`
- run tests in watch mode
- `yarn test:simple`
- run tests without watch mode
- `yarn test:cov`
- run tests without watch mode, collect code coverage reports## Running tests
- `yarn test` — Application-wide tests (watch mode)
- `yarn test:simple` — Application-wide tests without watch-mode
- `yarn test:cov` — Test and collect code coverage reports### Testing libraries
- unit tests through `jest`
- snapshot testing as lightweight regression tests for presentation components
- property-based testing through `jsverify`## Building
The production bundle can be created by running
```sh
yarn build
```## Code structure
- Scope-specific code for a module is located inside the directory `_/` located inside that directory
- Tests for a file `module.js` should be in `__tests__/module.js` in the same directory