Welcome to erlc.js, a modern, fully-typed, high-performance TypeScript/JavaScript monorepo for wrapping and interacting with the Roblox Emergency Response: Liberty County (ER:LC) private server API.
This project is a monorepo managed with pnpm workspaces and Turbo:
packages/core: The core API wrapper library (@erlcjs/core). It handles rate limiting, request queuing, and caching of players, vehicles, commands, and logs. It conforms to Microsoft API Extractor guidelines for type exports.apps/docs: An Astro Starlight project containing documentation, user guides, and dynamically generated API references.
- Clone the repository:
git clone https://github.com/noinkin/erlcapi.git cd erlcapi - Install dependencies:
pnpm install
We use Turborepo to coordinate builds and task runs across workspaces.
Run these from the root directory:
- Build the codebase:
pnpm run build
- Lint the codebase:
pnpm run lint
- Format code with Prettier:
pnpm run format
- Run Vitest tests:
pnpm run test - Run documentation development server:
pnpm run docs:dev
- Build production documentation portal:
pnpm run docs:build
- Generate API Reference documentation:
(Extracts JSDocs from core packages using
pnpm run docs:generate
api-extractorand builds markdown files inside the docs app usingapi-documenter)
- Create a branch for your changes.
- Follow the existing JSDoc/TSDoc documenting standard.
- Add changesets before merging (
pnpm changeset). - Ensure all tests and linting check pass.