Skip to content

A Grunt plugin for commiting code to your Screeps account

License

Notifications You must be signed in to change notification settings

Sca1ey/grunt-screeps

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-screeps

A Grunt plugin for committing code to your Screeps account.

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install @sca1ey/grunt-screeps

This is an updated version of grunt-screeps incorporating token support by cavejay and season support by Sca1ey. This also implments the screeps.json file as detailed in the advanced usage examples (http://docs.screeps.com/contributed/advanced_grunt.html). This has been further extended to enable multiple server profiles as shown in the example screeps.json file (below) and is the same format as used by screeps-typescript-starter.

Usage Example

NB: grunt.loadNpmTasks("@sca1ey/grunt-screeps");

Gruntfile.js:

module.exports = function (grunt) {
  var config = require("./screeps.json");

  var profile = grunt.option("profile") || "grunt"; //default "grunt" maintains backwards compatibility
  var host = grunt.option("host") || config[profile]["host"];
  var port = grunt.option("port") || config[profile]["port"];
  var port = grunt.option("http") ? true : config[profile]["http"];
  var branch = grunt.option("branch") || config[profile]["branch"];
  var token = grunt.option("token") || config[profile]["token"];
  var email = grunt.option("email") || config[profile]["email"];
  var password = grunt.option("password") || config[profile]["password"];
  var ptr = grunt.option("ptr") ? true : config[profile]["ptr"];
  var season = grunt.option("season") ? true : config[profile]["season"];

  if (host) {
    server = {
      host: host,
      port: port,
      http: http,
    };
  } else {
    server = {};
  }

  grunt.loadNpmTasks("grunt-tsc");
  grunt.loadNpmTasks("@sca1ey/grunt-screeps");

  grunt.initConfig({
    tsc: {
      options: {
        target: "latest",
      },
      task_name: {
        options: {
          // task options
        },
        files: [
          {
            expand: true,
            dest: "dist",
            cwd: "src",
            ext: ".js",
            src: ["*.ts", "!*.d.ts"],
          },
        ],
      },
    },
    screeps: {
      options: {
        server: server,
        token: token,
        email: email,
        password: password,
        branch: branch,
        ptr: ptr,
        season: season,
      },
      dist: {
        src: ["dist/*.js"],
      },
    },
  });
};

screeps.json:

{
  "grunt": {
    "email": "EMAIL",
    "password": "PASSWORD",
    "branch": "working"
  },
  "mmo": {
    "token": "TOKEN",
    "branch": "working"
  },
  "ptr": {
    "token": "TOKEN",
    "branch": "default",
    "ptr": true
  },
  "season": {
    "token": "TOKEN",
    "branch": "default",
    "season": true
  },
  "pvtServer": {
    "host": "localhost",
    "port": 21025,
    "http": true,
    "email": "EMAIL",
    "password": "PASSWORD",
    "branch": "default"
  }
}

Now you can run this command to commit your code from dist folder to your Screeps account:


grunt screeps

grunt screeps --profile=mmo --branch=working
grunt screeps --season --token=a1b2c3d4e5f6g7h8i9j0
grunt screeps --host=127.0.0.1 --port=21025 --http [email protected] --password=PASSWORD

See more advanced grunt usage examples in this docs article.


About

A Grunt plugin for commiting code to your Screeps account

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%