Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seaofvoices/awesome-luau
A handpicked list of quality Luau packages, hosted on npm.
https://github.com/seaofvoices/awesome-luau
List: awesome-luau
Last synced: 20 days ago
JSON representation
A handpicked list of quality Luau packages, hosted on npm.
- Host: GitHub
- URL: https://github.com/seaofvoices/awesome-luau
- Owner: seaofvoices
- Created: 2024-05-09T14:45:58.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-08-01T15:41:28.000Z (5 months ago)
- Last Synced: 2024-08-01T17:44:58.885Z (5 months ago)
- Size: 2.93 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- ultimate-awesome - awesome-luau - A handpicked list of quality Luau packages, hosted on npm. (Programming Language Lists / Lua Lists)
README
# Awesome Luau on npm
A handpicked list of quality [Luau](https://luau-lang.org) packages, hosted on [npm](https://www.npmjs.com). These packages follow the [Sea of Voices Luau Package Standard](https://github.com/seaofvoices/luau-package-standard).
*To submit a package, simply open an issue with a link to your repository.*
__Table of content__:
- [Data](#data): for data structures or data management packages
- [Resources](#resources): utilities to manage resources
- [Async](#async): asynchronous utilities
- [Roblox](#roblox): specific for Roblox development
- [Test](#test): test frameworks or utilities for testing
- [React](#react): libraries of components, hooks or other packages related to [React](https://github.com/jsdotlua/react-lua)
- [JavaScript](#javascript): packages inspired by JavaScript## Data
| Package | Description | License |
| --- | --- | :---: |
| [`@aceworks-studio/random`](https://github.com/Aceworks-Studio/roblox-utils/tree/main/packages/random) | A Luau utility library to work with randomness. | ![NPM License](https://img.shields.io/npm/l/@aceworks-studio/random?label=) |
| [`@aceworks-studio/state-machine`](https://github.com/Aceworks-Studio/roblox-utils/tree/main/packages/state-machine) | A Luau utility to easily create simple state machines | ![NPM License](https://img.shields.io/npm/l/@aceworks-studio/state-machine?label=) |
| [`@jsdotlua/collections`](https://github.com/jsdotlua/luau-polyfill) | JavaScript like collections (Array, Map, Set, Object) | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/collections?label=) |
| [`@jsdotlua/diff-sequences`](https://github.com/jsdotlua/jest-lua) | Compare items in two sequences to find the longest common subsequence | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/diff-sequences?label=) |
| [`@jsdotlua/graphql`](https://github.com/jsdotlua/graphql-lua) | A reference implementation of GraphQL translated to Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/graphql?label=) |
| [`@jsdotlua/otter`](https://github.com/jsdotlua/otter/tree/main/modules/otter) | Declarative animation library for Luau built around (but not limited to) springs | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/otter?label=) |
| [`@jsdotlua/react-otter`](https://github.com/jsdotlua/otter/tree/main/modules/react-otter) | A React interface to the declarative animation library named Otter | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-otter?label=) |
| [`@sircfenner/png-luau`](https://github.com/sircfenner/png-luau) | Luau library for working with PNG files | ![NPM License](https://img.shields.io/npm/l/@sircfenner/png-luau?label=) |
| [`chroma-luau`](https://github.com/seaofvoices/chroma-luau) | A library for color manipulation | ![NPM License](https://img.shields.io/npm/l/chroma-luau?label=) |
| [`luau-disk`](https://github.com/seaofvoices/luau-disk) | Immutable table operations for Luau | ![NPM License](https://img.shields.io/npm/l/luau-disk?label=) |
| [`luau-grids`](https://github.com/seaofvoices/luau-grids) | A fully typed library to handle grids (2D or 3D) | ![NPM License](https://img.shields.io/npm/l/luau-grids?label=) |
| [`luau-path`](https://github.com/seaofvoices/luau-path) | A library to handle file paths (based on the Rust implementation) | ![NPM License](https://img.shields.io/npm/l/luau-path?label=) |## Resources
| Package | Description | License |
| --- | --- | :---: |
| [`luau-teardown`](https://github.com/seaofvoices/luau-teardown) | A utility to easily clean up resources | ![NPM License](https://img.shields.io/npm/l/luau-teardown?label=) |## Async
| Package | Description | License |
| --- | --- | :---: |
| [`@jsdotlua/promise`](https://github.com/jsdotlua/roblox-lua-promise) | A JavaScript like Promise implementation | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/promise?label=) |
| [`@jsdotlua/scheduler`](https://github.com/jsdotlua/react-lua) | The scheduler implementation used by the React fiber reconciler | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/scheduler?label=) |
| [`@jsdotlua/zen-observable`](https://github.com/jsdotlua/zen-observable-lua) | Observables for Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/zen-observable?label=) |
| [`luau-signal`](https://github.com/seaofvoices/luau-signal) | A simple signal (or event) utility | ![NPM License](https://img.shields.io/npm/l/luau-signal?label=) |## Roblox
| Package | Description | License |
| --- | --- | :---: |
| [`@crosswalk-game/currency`](https://github.com/seaofvoices/crosswalk-currency) | A crosswalk module to handle in-game currencies | ![NPM License](https://img.shields.io/npm/l/@crosswalk-game/currency?label=) |
| [`@crosswalk-game/data-handler`](https://github.com/seaofvoices/crosswalk-data-handler) | A crosswalk module to handle player data | ![NPM License](https://img.shields.io/npm/l/@crosswalk-game/data-handler?label=) |
| [`@crosswalk-game/menu-handler`](https://github.com/seaofvoices/menu-handler) | A module to handle UI menus using tagged instances | ![NPM License](https://img.shields.io/npm/l/@crosswalk-game/menu-handler?label=) |
| [`@seaofvoices/react-lua-hooks`](https://github.com/seaofvoices/react-lua-hooks) | General-purpose collection of hooks for React-Lua | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-lua-hooks?label=) |
| [`@seaofvoices/react-roblox-hooks`](https://github.com/seaofvoices/react-lua-hooks) | Roblox specific collection of hooks for React-Lua | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-roblox-hooks?label=) |
| [`@seaofvoices/react-roblox-studio-plugin`](https://github.com/seaofvoices/react-roblox-studio-plugin) | A React component library to create Roblox plugins | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-roblox-studio-plugin?label=) |
| [`@seaofvoices/tag-effect`](https://github.com/seaofvoices/tag-effect) | A Luau library to apply effects to tagged Roblox instances | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/tag-effect?label=) |
| [`@sircfenner/studiocomponents`](https://github.com/sircfenner/StudioComponents) | React implementation of Roblox Studio components | ![NPM License](https://img.shields.io/npm/l/@sircfenner/studiocomponents?label=) |
| [`crosswalk-channels`](https://github.com/seaofvoices/crosswalk-channels) | A crosswalk module to send data from server to clients | ![NPM License](https://img.shields.io/npm/l/crosswalk-channels?label=) |
| [`crosswalk-client`](https://github.com/seaofvoices/crosswalk) | A Roblox game framework (client logic) | ![NPM License](https://img.shields.io/npm/l/crosswalk-client?label=) |
| [`crosswalk-server`](https://github.com/seaofvoices/crosswalk) | A Roblox game framework (server logic) | ![NPM License](https://img.shields.io/npm/l/crosswalk-server?label=) |## Test
| Package | Description | License |
| --- | --- | :---: |
| [`@jsdotlua/dom-testing-library`](https://github.com/jsdotlua/dom-testing-library-lua) | Testing utilities for Roblox Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/dom-testing-library?label=) |
| [`@jsdotlua/jest`](https://github.com/jsdotlua/jest-lua) | Delightful Luau testing library | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/jest?label=) |
| [`@jsdotlua/jest-globals`](https://github.com/jsdotlua/jest-lua) | Access all jest utilities like `it`, `describe` or `expect` | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/jest-globals?label=) |
| [`@jsdotlua/react-test-renderer`](https://github.com/jsdotlua/react-lua) | Roblox Luau port of the react-test-renderer for integration-level tests | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-test-renderer?label=) |
| [`@jsdotlua/react-testing-library`](https://github.com/jsdotlua/react-testing-library-lua) | Simple and complete testing utilities that encourage good testing practices. | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-testing-library?label=) |## React
| Package | Description | License |
| --- | --- | :---: |
| [`@jsdotlua/react`](https://github.com/jsdotlua/react-lua) | A translation of React JS 17.x into Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react?label=) |
| [`@jsdotlua/react-is`](https://github.com/jsdotlua/react-lua) | Constants and runtime check functions for the various valid types of elements in React | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-is?label=) |
| [`@jsdotlua/react-otter`](https://github.com/jsdotlua/otter/tree/main/modules/react-otter) | A React interface to the declarative animation library named Otter | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-otter?label=) |
| [`@jsdotlua/react-roblox`](https://github.com/jsdotlua/react-lua) | Roblox opinionated renderer to stand for native renderers like react-dom | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-roblox?label=) |
| [`@jsdotlua/react-test-renderer`](https://github.com/jsdotlua/react-lua) | Roblox Luau port of the react-test-renderer for integration-level tests | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-test-renderer?label=) |
| [`@jsdotlua/react-testing-library`](https://github.com/jsdotlua/react-testing-library-lua) | Simple and complete testing utilities that encourage good testing practices. | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-testing-library?label=) |
| [`@jsdotlua/scheduler`](https://github.com/jsdotlua/react-lua) | The scheduler implementation used by the React fiber reconciler | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/scheduler?label=) |
| [`@seaofvoices/react-lua-hooks`](https://github.com/seaofvoices/react-lua-hooks) | General-purpose collection of hooks for React-Lua | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-lua-hooks?label=) |
| [`@seaofvoices/react-roblox-hooks`](https://github.com/seaofvoices/react-lua-hooks) | Roblox specific collection of hooks for React-Lua | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-roblox-hooks?label=) |
| [`@seaofvoices/react-roblox-studio-plugin`](https://github.com/seaofvoices/react-roblox-studio-plugin) | A React component library to create Roblox plugins | ![NPM License](https://img.shields.io/npm/l/@seaofvoices/react-roblox-studio-plugin?label=) |
| [`@sircfenner/studiocomponents`](https://github.com/sircfenner/StudioComponents) | React implementation of Roblox Studio components | ![NPM License](https://img.shields.io/npm/l/@sircfenner/studiocomponents?label=) |## JavaScript
A list of packages inspired by JavaScript concepts or even directly translated from the JavaScript ecosystem.
| Package | Description | License |
| --- | --- | :---: |
| [`@jsdotlua/chalk`](https://github.com/jsdotlua/chalk-lua) | Terminal string styling library | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/chalk?label=) |
| [`@jsdotlua/collections`](https://github.com/jsdotlua/luau-polyfill) | JavaScript like collections (Array, Map, Set, Object) | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/collections?label=) |
| [`@jsdotlua/diff-sequences`](https://github.com/jsdotlua/jest-lua) | Compare items in two sequences to find the longest common subsequence | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/diff-sequences?label=) |
| [`@jsdotlua/dom-testing-library`](https://github.com/jsdotlua/dom-testing-library-lua) | Testing utilities for Roblox Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/dom-testing-library?label=) |
| [`@jsdotlua/graphql`](https://github.com/jsdotlua/graphql-lua) | A reference implementation of GraphQL translated to Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/graphql?label=) |
| [`@jsdotlua/instance-of`](https://github.com/jsdotlua/luau-polyfill) | A utility function to check if a table-object is considered an Instance of another table-class | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/instance-of?label=) |
| [`@jsdotlua/jest`](https://github.com/jsdotlua/jest-lua) | Delightful Luau testing library | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/jest?label=) |
| [`@jsdotlua/jest-globals`](https://github.com/jsdotlua/jest-lua) | Access all jest utilities like `it`, `describe` or `expect` | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/jest-globals?label=) |
| [`@jsdotlua/luau-polyfill`](https://github.com/jsdotlua/luau-polyfill) | Utilities to mimic common JavaScript logic useful for translation to Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/luau-polyfill?label=) |
| [`@jsdotlua/picomatch`](https://github.com/jsdotlua/picomatch-lua) | Glob matcher library | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/picomatch?label=) |
| [`@jsdotlua/pretty-format`](https://github.com/jsdotlua/jest-lua) | Stringify Luau values | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/pretty-format?label=) |
| [`@jsdotlua/promise`](https://github.com/jsdotlua/roblox-lua-promise) | A JavaScript like Promise implementation | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/promise?label=) |
| [`@jsdotlua/react`](https://github.com/jsdotlua/react-lua) | A translation of React JS 17.x into Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react?label=) |
| [`@jsdotlua/react-is`](https://github.com/jsdotlua/react-lua) | Constants and runtime check functions for the various valid types of elements in React | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-is?label=) |
| [`@jsdotlua/react-roblox`](https://github.com/jsdotlua/react-lua) | Roblox opinionated renderer to stand for native renderers like react-dom | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-roblox?label=) |
| [`@jsdotlua/react-test-renderer`](https://github.com/jsdotlua/react-lua) | Roblox Luau port of the react-test-renderer for integration-level tests | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-test-renderer?label=) |
| [`@jsdotlua/react-testing-library`](https://github.com/jsdotlua/react-testing-library-lua) | Simple and complete testing utilities that encourage good testing practices. | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/react-testing-library?label=) |
| [`@jsdotlua/scheduler`](https://github.com/jsdotlua/react-lua) | The scheduler implementation used by the React fiber reconciler | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/scheduler?label=) |
| [`@jsdotlua/zen-observable`](https://github.com/jsdotlua/zen-observable-lua) | Observables for Luau | ![NPM License](https://img.shields.io/npm/l/@jsdotlua/zen-observable?label=) |
| [`chroma-luau`](https://github.com/seaofvoices/chroma-luau) | A library for color manipulation | ![NPM License](https://img.shields.io/npm/l/chroma-luau?label=) |
| [`luau-regexp`](https://github.com/jsdotlua/regex-lua) | A regular expression library for Luau | ![NPM License](https://img.shields.io/npm/l/luau-regexp?label=) |
| [`symbol-luau`](https://github.com/jsdotlua/symbol-luau) | Simple object to mimic JavaScript Symbol type | ![NPM License](https://img.shields.io/npm/l/symbol-luau?label=) |