Skip to content

corewar/corewar.io

Repository files navigation

Corewar

Node.js CI Documentation Status

Corewar

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

Scripts

This project uses lerna and yarn workspaces in order to manage the monorepo. Node 12+ is required.

Prepare development environment

npm install --global lerna yarn
yarn bootstrap

Currently lerna boostrap command is not building the corewar library. Documentation says it should automatically execute prepublish on all bootstrapped libraries but doesn't. In order to successfully bootstrap this application it is necessary to manually execute lerna run prepublish following bootstrap. I don't know why. If anyone knows, please let me know!

Start API and UI

yarn start

Build UI and Core library

yarn build

Lint and test all packages

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