35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
# Screeps Typescript Starter
|
|
|
|
Screeps Typescript Starter is a starting point for a Screeps AI written in Typescript. It provides everything you need to start writing your AI whilst leaving `main.ts` as empty as possible.
|
|
|
|
## Basic Usage
|
|
|
|
You will need:
|
|
|
|
- Node.JS (Latest LTS is recommended)
|
|
- A Package Manager (Yarn or NPM)
|
|
|
|
Download the latest source [here](https://github.com/screepers/screeps-typescript-starter/archive/v3.0.zip) and extract it to a folder.
|
|
|
|
Open the folder in your terminal and run `npm install` (or `yarn`) to install the dependencies.
|
|
|
|
Fire up your preferred editor with typescript installed and you are good to go!
|
|
|
|
### Rollup and code upload
|
|
|
|
Screeps Typescript Starter uses rollup to compile your typescript and upload it to a screeps server.
|
|
|
|
Move or copy `screeps.sample.json` to `screeps.json` and edit it, changing the credentials and optionally adding or removing some of the destinations.
|
|
|
|
Running `rollup -c` will compile your code and do a "dry run", preparing the code for upload but not actually pushing it. Running `rollup -c --dest main` will compile your code, and then upload it to a screeps server using the `main` config from `screeps.json`.
|
|
|
|
You can use `-cw` instead of `-c` to automatically re-run when your source code changes - for example, `rollup -cw --dest main` will automatically upload your code to the `main` configuration every time your code is changed.
|
|
|
|
Finally, there are also NPM scripts that serve as aliases for these commands in `package.json` for IDE integration. Running `npm run push-main` is equivalent to `rollup -c --dest main`, and `npm run watch-sim` is equivalent to `rollup -cw --dest sim`.
|
|
|
|
#### Important! To upload code to a private server, you must have [screepsmod-auth](https://github.com/ScreepsMods/screepsmod-auth) installed and configured!
|
|
|
|
## Typings
|
|
|
|
The type definitions for Screeps come from [typed-screeps](https://github.com/screepers/typed-screeps). If you find a problem or have a suggestion, please open an issue there.
|