/ash

A Typescript port of Ash Framework - https://github.com/richardlord/Ash - an Actionscript 3 entity framework for game development

Primary LanguageTypeScriptMIT LicenseMIT

@ash.ts monorepo

Build Status Coverage Status License

Documentation

Examples

Asteroids (SVG version):

Asteroids (PIXI.js version):

Packages

  • ash - Full bundle containing all other modules.
  • core - Core module. [required]
  • fsm - Finite State Machine for Engine and Entities.
  • io - Serialization/Deserialization for Engine.
  • signals - Signals used for internal communication. [This package is required and installed by core]
  • tick - Tick providers. [recommended]
  • tools - Optional tools for use with Ash.

Development

First install:

$ npm i
$ npm run build

One time test:

$ npm run test

One time test changes files only:

$ npm run test:changed

Test watch mode:

$ npm run test:watch

Test watch changes files only:

$ npm run test:watch:changed

One time test and create coverage report:

$ npm run test:coverage

Build docs:

$ npm run docs

Typecheck files:

$ npm run typecheck

Lint files:

$ npm run lint

Lint files and fix:

$ npm run lint-fix

Clean everything:

$ npm run clean

Alternatives

These are alternative typescript ports you can find:

  • ash-ts - Private source code. No docs, no examples, only core module. Components must inherit from the AshComponent class.
  • AshTS - Not a node module, core package only.