Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/littensy/charm-example

๐Ÿ€ Use Charm to build a Roblox game
https://github.com/littensy/charm-example

roblox roblox-ts

Last synced: 11 days ago
JSON representation

๐Ÿ€ Use Charm to build a Roblox game

Awesome Lists containing this project

README

        

## ๐Ÿ€ Charm Example

An example project demostrating how to use [Charm](https://github.com/littensy/charm) to build a Roblox game. This includes [syncing server state](src/shared/store/sync) and an implementation of [filtering player data](src/shared/store/sync/utils/filter-payload.ts).

**The libraries in this project include:**

- ๐Ÿ€ [Charm](https://github.com/littensy/charm): Atomic state management
- ๐Ÿงช [Jest](https://jsdotlua.github.io/jest-lua): Testing framework ported to roblox-ts
- ๐Ÿ–ฅ๏ธ [Vide](https://centau.github.io/vide): Cutting-edge UI library
- ๐Ÿ’Ž [Lapis](https://nezuo.github.io/lapis): Immutable data store abstraction

[Check out the game โ†’](https://www.roblox.com/games/18805522597/)

### ๐Ÿš€ Getting Started

```bash
# Clone this repository
git clone https://github.com/littensy/charm-example.git
cd charm-example

# Install dependencies
pnpm install

# Build a place file
pnpm compile
pnpm build
```

### ๐Ÿงช Running Tests

> [!NOTE]
> Jest Lua depends on `debug.loadmodule` (`FFlagEnableLoadModule`) to run tests.
>
> On MacOS, you can run the following command to enable this feature:
>
> ```bash
> sh bin/jest-flag.sh
> ```

To run your unit tests, start a playtest session in [Run Mode](https://create.roblox.com/docs/studio/testing-modes#playtest-options) (`F8`).

---


This project is released under the MIT License.

[![MIT License](https://img.shields.io/github/license/littensy/charm-example?style=for-the-badge)](LICENSE.md)