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 bootstrapCurrently
lerna boostrapcommand is not building thecorewarlibrary. Documentation says it should automatically executeprepublishon all bootstrapped libraries but doesn't. In order to successfully bootstrap this application it is necessary to manually executelerna run prepublishfollowing bootstrap. I don't know why. If anyone knows, please let me know!
yarn startyarn buildLinting and testing are performed by eslint and jest.
yarn lint
yarn testAutomatically fix linting errors with
yarn lint:fixProduce code coverage report with
yarn coverage