open-index/open-npm huggingface dataset:
npm package: @rbxts/make-jsx
Description: JSX version of Make
Author: Ivan Leontev
Latest version: 0.3.1

# make-jsx

To make it work you have to include these lines at the top of every file:
```ts
/** @jsx MakeJsx.createElement */
/** @jsxFrag MakeJsx.createElement */
```
and then include the MakeJsx import.

## Example

```ts
const innerFrame = <frame></frame>

const gui = (
	<screenGui ScreenInsets={Enum.ScreenInsets.None} ResetOnSpawn={false}>
		<frame BackgroundTransparency={1} Size={UDim2.fromScale(1, 1)}>
			<uIAspectRatioConstraint AspectRatio={1}></uIAspectRatioConstraint>

			<uICorner CornerRadius={new UDim(1, 0)}></uICorner>

            {innerFrame}
		</frame>
	</screenGui>
);
```
npm package: @rbxts/matter-hooks
Description: A hooks library for Matter
Author: Lucas Gangstad
Latest version: 0.1.2

<div align="center">
	<h1>Matter Hooks</h1>
</div>
<div align="center">
	<a href="https://github.com/LastTalon/matter-hooks/actions/workflows/ci.yaml">
		<img src="https://github.com/LastTalon/matter-hooks/actions/workflows/ci.yaml/badge.svg" alt="CI Status">
	</a>
  	<a href="https://lasttalon.github.io/matter-hooks/">
		<img src="https://github.com/LastTalon/matter-hooks/actions/workflows/docs.yaml/badge.svg" alt="Documentation">
	</a>
</div>
<br>

**Matter Hooks** is a [Luau] hooks library for [Matter] with [roblox-ts] typings.

It provides access to useful hooks not included in with Matter.

[luau]: https://luau-lang.org/
[matter]: https://eryn.io/matter/
[roblox-ts]: https://roblox-ts.com/

## Installation

Matter Hooks can be installed with [npm] in your project by running the
following command.

```
npm install @rbxts/matter-hooks
```

[npm]: https://www.npmjs.com/

## Contributing

Contributions are welcome, please make a pull request!

Only types should be contributed to this project. General changes should be made
to the [main project].

Please read our [contribution] guide and [code of conduct] when getting
involved.

[main project]: https://github.com/LastTalon/matter-hooks
[contribution]: https://github.com/LastTalon/matter-hooks/blob/main/CONTRIBUTING.md
[code of conduct]: https://github.com/LastTalon/matter-hooks/blob/main/CODE_OF_CONDUCT.md

## License

Matter Hooks is free software available under the MIT license. See the [license]
for details.

[license]: LICENSE.md
npm package: @rbxts/matter-sync
Description: Server-client sync library for Matter ECS
Author: Ivan Leontev
Latest version: 0.4.0

# matter-sync

Server to client data sync solution for the Matter ECS.

## Basic Usage

Client:

```ts
const Effect = component("Effect")

addSyncComponent(Effect)

someRemotes.syncPayload.connect((payload) => {
    syncClient(world, payload)
})

someRemotes.hydratePayload.connect((payload) => {
    hydrateClient(world, payload)
})
```

Server:

```ts
// This is supposed to be a system
const result = useSyncPayload(world)
if (!result.isEmpty) {
    someRemotes.syncPayload.fireAll(result.payload)
}

for (const [_, player] of useEvent(Players, Players.PlayerAdded)) {
    const result = getHydratePayload(world)
    if (!result.isEmpty) {
        someRemotes.hydratePayload.fire(play, result.payload)
    }
}
```


It is important to note that if the module that contains the syncable components was never required by the client, then the client will never be able to get the syncable components data from the server.
Consider using nested require solutions in this case.

## Behavior

The client will only see the entity if any of it's current components are syncable.
That means that there quite often will be the case when the entity is considered to be `removed` from the client side of view, which will not be the case for the server if this entity has other non-syncable components in it.