Module @cc-ts/builder - v0.2.0

@cc-ts/builder

A powerful bundler and build tool for ComputerCraft TypeScript projects. The builder helps you compile, bundle, and serve TypeScript code for ComputerCraft computers.

  • 🎯 TypeScript to Lua compilation optimized for ComputerCraft
  • 📦 Smart bundling with dependency resolution
  • 🔍 Source map support for better debugging
  • 🚀 Development server for quick testing
  • ⚡ Watch mode for rapid development
  • 📑 Minimal Lua library generation per entrypoint
  • 🗜️ Optional minification

The easiest way to get started with CC-TS is to use our project creation tool:

bun create cc-ts my-project
# or
npm create cc-ts@latest my-project

This will guide you through creating a new project with two options:

  • Bundled App: A complete application that uses @cc-ts/builder for bundling and development
  • CC Library: A library project that can be published and used by other CC-TS projects

The creation tool will set up your project with the correct dependencies and configuration files.

For more information about creating new projects, check out the create-cc-ts package.

bun add -D @cc-ts/builder
# or
npm install --save-dev @cc-ts/builder

The builder can be used via its CLI command cc-ts:

cc-ts [options] [files...]

Configure your project by adding a cc-ts section to your tsconfig.json:

{
"compilerOptions": {
// ... your TypeScript options
},
"tstl": {
"luaTarget": "CC-5.2",
"luaLibImport": "require-minimal",
"buildMode": "default"
},
"cc-ts": {
"minify": false,
"builtInModules": [],
"serve": false,
"servePort": 8080
}
}
  • -p, --project <path> - Path to tsconfig.json
  • --minify - Minify the output Lua code
  • --serve - Start a development server
  • --servePort <number> - Specify development server port (default: 8080)
  • --watch - Watch mode for development
  • --debug - Enable debug logging
  • -h, --help - Show help information
  • -v, --version - Show version information

The builder includes a development server for testing your code. Enable it with:

cc-ts --serve

This will start a server (default port 8080) that serves your compiled Lua files.

For development, you can use watch mode to automatically recompile on changes:

cc-ts --watch

Combine with serve for a complete development setup:

cc-ts --watch --serve

Add these convenient scripts to your package.json:

{
"scripts": {
"build": "cc-ts",
"dev": "cc-ts --watch --serve",
"watch": "cc-ts --watch"
}
}

Specify built-in modules that should not be resolved and bundled:

{
"cc-ts": {
"builtInModules": ["fs", "http"]
}
}

Enable minification for production builds:

{
"cc-ts": {
"minify": true
}
}

Created and maintained by Jakob Helgesson.