npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

roblox-knit-lib

v1.0.0

Published

A luau Roblox library based on Knit

Downloads

62

Readme

roblox-knit-lib

A Roblox library based on Knit


Setup

We use the following third-party tools to help streamline development, deployment and version control:

  1. Aftman - The recommended toolchain manager for using Wally
  2. Wally - a package control system
  3. Rojo - VSCode <-> Roblox studio syncing
  4. Knit - The framework all code is build upon
  5. Selene - A linter to help with code suggestions.
  6. Roblox LSP - A VSCode extension Intellisense for VSCode

1. Aftman

Download

Aftman is the prefered toolchain manager to 'later' use the package manager 'Wally'. Next to Aftman there are also other ways to get started, like Homebrew (only MacOS/Linux), pre-built binaries or you can even build from the source. (More info on the Wally-website)

If Aftman is downloaded is a toolchain manager which contains a number of packages that will ease development with Knit in VSCode If you're not sure if Aftman is installed already you can check it by simply typing aftman -V in the terminal. You can download the latest version Here

Install

Setup

Aftman needs a .toml file. If it isn't there already, create one at the same location as this README.md and call it aftman.toml. Even easier is using the following commands in your terminal:

aftman init
aftman add UpliftGames/wally
aftman add rojo-rbx/rojo
aftman install

This file will contain the list of packages that will be installed into your project. Your project will be dependant on these packages:

[tools]
wally = "UpliftGames/[email protected]"

2. Wally

Add the following underneath the [dependencies]:

Knit = "sleitnick/[email protected]"
Binder = "hahafunnyman/[email protected]"
Component = "sleitnick/[email protected]"
Signal = "sleitnick/signal@^1"
TableUtil = "sleitnick/table-util@^1"
Promise = "evaera/[email protected]"
Shake = "sleitnick/[email protected]"
Trove = "sleitnick/[email protected]"
<!-- Maid = "nightcycle/[email protected]" -->

Then install these dependencies by using the command:

wally install

All the packages will be installed locally in a 'Packages' folder (also next to this readme-file)

WARNING! It's important to use the exact versions inside the .toml file since selene and stylua are also used inside the CI script on Github! And they need to be identital to prevent linting issues when pushing PR's during the development process:

3. Rojo

Rojo needs to be installed inside Roblox (as a plugin) inside VSCode (as an extension)

Other tools

To install the other tools navigate to the project folder and run: aftman install then run: wally install

Now aftman and wally automatically install all the dependencies and packages you need. In our case this is rojo, knit and serene.

Required VSCode plugins

To make development easier, I'd also recommend installing these plugins in VSCode

Restart VSCode

For Rojo to recognize your project as a rojo project you now need to restart VSCode. I know... Just do it.

Inside VSCode press ctrl + shift + P and select Rojo Open Menu. Then on the bottom of the list select the play button to start live syncing the project to roblox.

Sync Rojo with roblox

Open Roblox Studio and make a new project. Last thing to install is the Rojo plugin inside roblox.

Once installed, open the Rojo Plugin and press connect. You are now fully sync'ed and ready to rock.

Resources