Typescript / Javascript implementation of the classic game corewar
Currently this project contains a corewar IDE, redcode parser and core simulator.
In future we hope to include local and remote hills and benchmarks and possibly to begin extending corewar itself.
This is the monorepo for the corewar.io project and contains the following packages:
- corewar - npm package providing parser and simulator
- corewar-ui - corewar.io user interface implemented as a spa
- corewar-api - corewar.io api implemented in graphql
Documentation for the project along with guidance on corewar and the redcode language can be found on Read the Docs
This project uses lerna
and yarn
workspaces in order to manage the monorepo.
Node 12+ is required.
npm install --global lerna yarn
yarn bootstrap
Currently
lerna boostrap
command is not building thecorewar
library. Documentation says it should automatically executeprepublish
on all bootstrapped libraries but doesn't. In order to successfully bootstrap this application it is necessary to manually executelerna run prepublish
following bootstrap. I don't know why. If anyone knows, please let me know!
yarn start
yarn build
Linting and testing are performed by eslint
and jest
.
yarn lint
yarn test
Automatically fix linting errors with
yarn lint:fix
Produce code coverage report with
yarn coverage