Minified + gzipped size NPM version License Stars Watchers Build Status Code Coverage

A tiny entity framework written in TypeScript. It started as a port of the C++ Entity Component System ecstasy, which is a port of Ashley from LibGDX. typed-ecstasy is a high-performance entity framework without the use of black-magic and thus making the API easy and transparent to use.

Automated unit tests are running on Travis-CI

For a real project using this, check out my asteroids clone.

Fair Warning

Since version 1, the target is now es2015, so if you want to support older browser, you'll have to ensure that this module is being transpiled to an older es version during your build-process.

Get started

  • Read the documentation
  • Look at the test files (src/**/*.spec.ts) might answer some questions if the documentation doesn't cover it yet.
  • Ask questions if the above doesn't clarify something good enough.

Report issues

Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the issue tracker and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.


Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the unit tests are passing before submitting and add new ones in case you introduced new features.


typed-ecstasy is licensed under the Apache 2 License, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. Credits are appreciated but not mandatory.

Typed Ecstasy

An entity component system for TypeScript (and JavaScript), based on ashley

Typed Ecstasy Info

⭐ Stars 21
🔗 Homepage lusito.github.io
🔗 Source Code github.com
🕒 Last Update 5 months ago
🕒 Created 5 years ago
🐞 Open Issues 2
➗ Star-Issue Ratio 11
😎 Author Lusito