TypeScript icon, indicating that this package has built-in type declarations

    4.2.1 • Public • Published

    Screeps Typescript Declarations

    The repository for Screep's TypeScript type definitions.

    Discussion in screep's community forum


    Run command:

    $ npm install screeps-typescript-declarations --save

    Include declaration file in your typescript compiler (usually tsconfig.json), "files" attribute.

    "files"["./your_sources_folder/**/*.ts", "./node_modules/screeps-typescript-declarations/dist/screeps.d.ts"],

    Or if you use typings, add this to your typings.json:

      "globalDependencies": {
        "screeps": "github:screepers/Screeps-Typescript-Declarations/dist/screeps.d.ts#master"


    Note: When using this API, you can't access creeps in manner suggested in Screeps' tutorial:

    Game.creeps.Worker1  // This is not allowed by TypeScript compiler

    Instead, you have to use



    This library will stay up to date only with the help of you! If active players don't update it, it'll get lost.

    To update the declarations, edit the files in ./src folder.

    To compile the declarations, run:

    npm run compile


    v4.2.0 2016-07-25 ChangeLog

    • Added new toPublic option to Creep.say
    • Fixed some issue with using instanceof with StructureSpawn, Source, StructureLink


    • New Creep.withdraw
    • Added and fixed a lot of constants


    • Fixed issues with REACTIONS and LOOK_* constants


    • Changed Map to GameMap to avoid conflict with new ES6 Map type
    • Removed Energy Interface and replace it with Resource. This could potentially break your code. Please change all reference of Energy to Resource and it should fix the issue.
    • Spawn will now extends OwnStructure, and StructureContainer will extends Structure.
    • Fixed createCreep return type to number | string.
    • Updated new options for findPath
    • Added string as an acceptable params to moveByPath.

    v3.0.0 Change all usage of interface to class.

    Please raise an issue if this break your code!

    v2.1.0 2016-06-23 ChangeLog

    • Added new method StructureRampart.setPublic.
    • Added new property StructureRamprt.isPublic.
    • Added new global property Game.constructionSites.
    • Added new argument asArray to methods Room.lookAtArea and Room.lookForAtArea
    • Method Creep.moveByPath now accepts paths returned from

    v1.5.4 2016-04-04 Bug

    • Missing constants

    Thanks Strategic-Link-Consulting

    v1.5.3 2016-03-31 Bug

    • Problem with the Game arrays.

    v1.5.2 2016-03-19 Bug

    • RoomPosition opts fix. Filter and algorithm are optional.

    v1.5.1 2016-03-18 ChangeLog

    • Added new STRUCTURE_CONTAINER constant
    • New structure: Container
    • Added method.

    v1.4.3 2016-03-18 Commited by NhanHo

    • Added typings for various list of global objects in Game
    • Add serializePath and deserializePath to Room
    • Allow optional argument and properties in transferEnergy and PathFinderOps

    v1.4.2 2016-03-10

    • Fix for CostMatrix

    v1.4.1 2016-03-10 ChangeLog

    • Added Extractor, Lab, Terminal, Market, Mineral objects
    • New constants
    • Read more from docs

    v1.3.2 2016-03-10 ChangeLog

    • Updated all interfaces from 19.02 changelog and added docs to PathFinder ChangeLog.

    v1.3.1 2016-02-25 PathFinder

    • NhanHo added new PathFinder interface ChangeLog. Unfortunately other changes in that changelog are not added yet. We're working on it

    v1.2.2 2016-02-08 ChangeLog

    • New body part (CLAIM)

    • Documentation updates to support claim

    • Added Creep.dismantle()

    • Fixed missing NOT_ENOUGH_ENERGY constant

    v1.1.7 2016-02-08

    • Change room.controller and to correct type

    v1.1.5 2016-02-07

    • Updated RoomPosition declarations #1
    • Removed HashMap from Game interface. It caused migration issues from JS to TS. #2
    • Declare construction site variable (to fix instanceof problem)

    v1.1.3 2016-02-06

    • Removed empty memory interfaces
    • Fixed createScreep() method return type
    • Updated all declarations. Everything should be quite close to Screep's API (with minor exceptions if I missed something accidentally)


    • Nhan Ho - Current maintainer - NhanHo
    • Marko Sulamägi - Converted Cameron's work to quickly installable TS skeleton app. - MarkoSulamagi
    • vanhouc - Screep project with TS functionality. His gulpfile and screep.d.ts was very useful. - vanhouc

    See also the list of contributors who participated in this project.


    This project is licensed under the MIT license.


    npm i screeps-typescript-declarations

    DownloadsWeekly Downloads






    Last publish


    • nhanho