Skip to content
This repository has been archived by the owner on May 12, 2024. It is now read-only.

eix-js/reix

Repository files navigation

Reix

Reix is a set of low level & typesafe & efficient game-engine utils. That means:

  • No rendering engine
  • No physics engine
  • No [insert thing game engines usually have here]

Curently this repo contains a few packages including:

  • A typesafe entity component system
  • A bitfield based event emitter
  • Rxjs integration for that event emitter
  • Generalised computation nodes

And guess what, we even have docs (well tehnically those are generated from comments but who cares).

Why?

I started working on this because I want to have some nice tools to use during game jams.

Can i help?

Of course, contibutions are welcome!

I really want this engine to have the X thingy!

Just open an issue and you might get your X thingy!

Actually...

Do you know how to add the X thingy yourself? Keep reading and I'll show you how to add things to this project by yourself!

How can i start working on this?

First, clone this repo and cd into the created directory:

git clone https://github.com/Mateiadrielrafael/reix
cd reix

Then, install the dependencies bootstrap and apply patches:

npm install
npx lerna bootstrap
npx patch-package

If you are using visual studio code you'll also need to install the prettier extension.

How can I run the tests?

There are 3 ways of running the tests:

  1. Run the tests on the chanegd packages:
npm run test:changed
  1. Run all tests:
npm run test
  1. Run all tests in the same mocha call:
npm run test:root

What's the difference between 2 and 3?

The second method will run the mocha cli in each package (using lerna exec), while the second runs it once in the root directory.

How can I build the packages?

There are 2 ways to run build the packages:

  1. Build all of them:
npm run build:all
  1. Build what changed
npm run build

How can I generate the docs?

  • Build once:
npm run docs

<<<<<<< HEAD

  • Watch mode:
npm run docs:dev

and then go to http://localhost:8080

How can i create a new package?

=======

How can I create a new package?

bc5d9a234023138baac0a7f6071c0a47d50bdeea

To create a pcakge called foo run:

./scripts/create.sh foo

Ok, I understand everything, now can I make my first commit?

Well yes, but actually no. This package follows the conventional commit specification. If you use visual studio code you can use the vscode-commitizen extension