Skip to main content

TypeScript Packages

note

To publish roblox-ts packages, you'll need to join the "@rbxts" npm organization. You can do that here.

Getting Started​

Creating packages with roblox-ts is super easy!

To start, just create an empty folder and run npm init roblox-ts package inside of it. This will generate a project scaffolding for your package. You can author your .ts files inside of the src folder.

In package.json, you can edit a few different fields to configure your package:

  • "name" - This must begin with @rbxts/ to be considered a valid roblox-ts package.
  • "description"
  • "main" - This should point to a .lua file in out which represents your package's entrypoint.
  • "typings" - This should point to a .d.ts file in out which represents your package's entrypoint.
  • "files" - An array of globs for what should be published to npm. Defaults to ["out"]. You don't explicitly have to specify special files like package.json, LICENSE or readme.md here, as npm includes those by default.
  • "repository" - If your package's source is public on something like GitHub, you should include a link to it in this field.
  • "homepage" - If your package has online documentation, you should include a link to it in this field.
  • "author" - Your own name or username.
  • "license" - The license of your package's code. This should be the SPDX license identifier that corresponds to your LICENSE file.

Testing Your Package​

The simplest way to test your package is with npm pack. This command will generate a .tgz file which can then be used from another project via npm install ../../path/to/package.tgz.

warning

When publishing a package for the first time, you might run into this issue:

npm publish errors with "npm error 402 Payment Required"