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
in order to manage the monorepo.
Node 12+ is required.
npm install --global lerna eslint-cli
npm run 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!
npm start
npm run build
Linting and testing are performed by eslint
and jest
.
npm run lint
npm test
Automatically fix linting errors with
npm run lint:fix
Produce code coverage report with
npm run coverage