Skip to content

A command line utility to convert Luau npm packages to wally packages

License

Notifications You must be signed in to change notification settings

seaofvoices/npmwally

Repository files navigation

checks version GitHub top language license npm

ko-fi

npmwally

npmwally is a command-line tool that automates the conversion of a Lua/Luau npm package into a Wally package.

Features

  • Package Detection: Scans the package.json and identifies Lua/Luau dependencies.
  • Dependency Translation: Maps npm package names to their wally equivalents.
  • Module Requires Conversion: Runs darklua to convert the string/path requires into Roblox requires.
  • Generate a Wally Package: Generate a wally.toml and a default.project.json. Remove files as specified in the .npmignore configuration file.

Requirements

When converting packages, npmwally will run Rojo and darklua. Make sure to have those installed.

Usage

You can install npmwally with npm or yarn:

npm install npmwally --save-dev

yarn add npmwally -D

Convert a Package

To convert an npm package to a Wally package, use the convert command:

npmwally convert --output <output-directory>

For more information about the available options, use the --help argument:

npmwally convert --help

Example

npmwally convert --use-find-first-child

This command will:

  • convert the Lua/Luau code the current working directory to a Wally package in './wally`.
  • convert requires using FindFirstChild indexing.

Options

  • --project <project>: The folder where the package.json file exists (default is the current directory).
  • --output <output>: The folder where the Wally package will be generated (default is wally).
  • --modules-folder <module-folder>: The folder where npm packages are installed (default is node_modules).
  • --translate-package <translate-package>: A package name to translate from npm to Wally format (npm-package=wally-package).
  • --copy <copy>: Additional files or directories to copy into the Wally package.
  • --darklua-config <darklua-config>: Path to a custom Darklua configuration file.
  • --use-find-first-child: Use FindFirstChild instead of direct indexing in generated requires.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A command line utility to convert Luau npm packages to wally packages

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published