First development of the deploy action (#6)
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Deploy js code to an instance of screeps. Some debugging tools are implemented. Reviewed-on: #6 Co-authored-by: Philipp Horstenkamp <philipp@horstenkamp.de> Co-committed-by: Philipp Horstenkamp <philipp@horstenkamp.de>
This commit is contained in:
3
node_modules/screeps-api/examples/README.md
generated
vendored
Normal file
3
node_modules/screeps-api/examples/README.md
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Examples
|
||||
|
||||
Warning: These examples may be outdated and plain broken.
|
128
node_modules/screeps-api/examples/console.js
generated
vendored
Normal file
128
node_modules/screeps-api/examples/console.js
generated
vendored
Normal file
@ -0,0 +1,128 @@
|
||||
'use strict'
|
||||
const { ScreepsAPI } = require('../')
|
||||
// const auth = require('../auth')
|
||||
const readline = require('readline')
|
||||
const util = require('util')
|
||||
|
||||
const rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
prompt: 'Screeps> '
|
||||
})
|
||||
|
||||
let auth = {}
|
||||
let api = new ScreepsAPI()
|
||||
|
||||
if (process.argv.length == 3) {
|
||||
auth = require(process.argv[2])
|
||||
}
|
||||
|
||||
Promise.resolve(auth)
|
||||
.then(getEmail)
|
||||
.then(getPassword)
|
||||
.then(connect)
|
||||
.then(start)
|
||||
.catch(() => {
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
function connect (auth) {
|
||||
return new Promise((resolve, reject) => {
|
||||
console.log('Authenticating...')
|
||||
api.auth(auth.email, auth.password, (err, result) => {
|
||||
if (result) {
|
||||
console.log('Authentication succeeded')
|
||||
resolve()
|
||||
}else {
|
||||
console.log('Authentication failed')
|
||||
reject()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function start () {
|
||||
return new Promise((resolve, reject) => {
|
||||
run()
|
||||
api.socket(() => {
|
||||
console.log('start')
|
||||
rl.prompt()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getEmail (auth) {
|
||||
if (auth.email) return auth
|
||||
return new Promise((resolve, reject) => {
|
||||
rl.question('Screeps Email: ', (email) => {
|
||||
auth.email = email.trim()
|
||||
resolve(auth)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getPassword (auth) {
|
||||
if (auth.password) return auth
|
||||
return new Promise((resolve, reject) => {
|
||||
rl.question('Screeps Password: ', (password) => {
|
||||
auth.password = password.trim()
|
||||
resolve(auth)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function run () {
|
||||
rl.on('line', (line) => {
|
||||
line = line.trim()
|
||||
if (line == 'exit') {
|
||||
console.log('Bye')
|
||||
process.exit()
|
||||
return
|
||||
}
|
||||
api.console(line)
|
||||
})
|
||||
|
||||
rl.on('close', () => {
|
||||
console.log('Bye')
|
||||
process.exit()
|
||||
return
|
||||
})
|
||||
|
||||
api.on('message', (msg) => {
|
||||
console.log(msg)
|
||||
if (msg.slice(0, 7) == 'auth ok') {
|
||||
api.subscribe('/console')
|
||||
console.log('Console connected'.green)
|
||||
}
|
||||
})
|
||||
|
||||
api.on('console', (msg) => {
|
||||
let [user, data] = msg
|
||||
if (data.messages) data.messages.log.forEach(l => console.log(l))
|
||||
if (data.messages) data.messages.results.forEach(l => console.log('>', l.gray))
|
||||
if (data.error) console.log(data.error.red)
|
||||
})
|
||||
}
|
||||
|
||||
// Console fix
|
||||
var fu = function (type, args) {
|
||||
var t = Math.ceil((rl.line.length + 3) / process.stdout.columns)
|
||||
var text = util.format.apply(console, args)
|
||||
rl.output.write('\n\x1B[' + t + 'A\x1B[0J')
|
||||
rl.output.write(text + '\n')
|
||||
rl.output.write(new Array(t).join('\n\x1B[E'))
|
||||
rl._refreshLine()
|
||||
}
|
||||
|
||||
console.log = function () {
|
||||
fu('log', arguments)
|
||||
}
|
||||
console.warn = function () {
|
||||
fu('warn', arguments)
|
||||
}
|
||||
console.info = function () {
|
||||
fu('info', arguments)
|
||||
}
|
||||
console.error = function () {
|
||||
fu('error', arguments)
|
||||
}
|
41
node_modules/screeps-api/examples/dev_test.js
generated
vendored
Normal file
41
node_modules/screeps-api/examples/dev_test.js
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
const { ScreepsAPI } = require('../')
|
||||
const auth = require('../auth')
|
||||
const WebSocket = require('ws')
|
||||
|
||||
let api = new ScreepsAPI()
|
||||
|
||||
Promise.resolve()
|
||||
.then(()=>api.auth(auth.email,auth.password))
|
||||
.then(()=>api.socket.connect())
|
||||
.then(()=>{
|
||||
api.socket.subscribe('console')
|
||||
api.socket.subscribe('cpu')
|
||||
})
|
||||
.catch((err)=>{
|
||||
console.error('err',err)
|
||||
})
|
||||
|
||||
let socketEvents = ['connected','disconnected','message','auth','time','protocol','package','subscribe','unsubscribe','console']
|
||||
socketEvents.forEach(ev=>{
|
||||
api.socket.on(ev,(data)=>{
|
||||
console.log(ev,data)
|
||||
})
|
||||
})
|
||||
|
||||
api.socket.on('disconnected',()=>{
|
||||
api.socket.connect()
|
||||
})
|
||||
|
||||
// api.socket.on('console', (msg) => {
|
||||
// // console.log('CONSOLE', msg)
|
||||
// let { data } = msg
|
||||
// if (data.messages) data.messages.log.forEach(l => console.log('console',l))
|
||||
// if (data.messages) data.messages.results.forEach(l => console.log('console >', l))
|
||||
// if (data.error) console.log('error', data.error)
|
||||
// })
|
||||
|
||||
process.on('unhandledRejection', (reason) => {
|
||||
console.error('err',reason);
|
||||
process.exit(1);
|
||||
});
|
28
node_modules/screeps-api/examples/download_code.js
generated
vendored
Normal file
28
node_modules/screeps-api/examples/download_code.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
'use strict'
|
||||
const ScreepsAPI = require('../')
|
||||
const auth = require('../auth')
|
||||
const WebSocket = require('ws')
|
||||
const fs = require('fs')
|
||||
|
||||
let api = new ScreepsAPI(auth)
|
||||
|
||||
api.socket(() => {
|
||||
})
|
||||
|
||||
api.on('message', (msg) => {
|
||||
// console.log('MSG', msg)
|
||||
if (msg.slice(0, 7) == 'auth ok') {
|
||||
api.subscribe('/code')
|
||||
}
|
||||
})
|
||||
|
||||
// Upload your code to trigger this.
|
||||
api.on('code', (msg)=>{
|
||||
let [user, data] = msg
|
||||
fs.mkdirSync(data.branch)
|
||||
for(let mod in data.modules){
|
||||
let file = `${data.branch}/${mod}.js`
|
||||
fs.writeFileSync(file,data.modules[mod])
|
||||
console.log('Wrote',file)
|
||||
}
|
||||
})
|
14
node_modules/screeps-api/examples/download_memory.js
generated
vendored
Normal file
14
node_modules/screeps-api/examples/download_memory.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
const { ScreepsAPI } = require('../')
|
||||
const auth = require('../auth')
|
||||
const fs = require('fs')
|
||||
|
||||
let api = new ScreepsAPI()
|
||||
|
||||
Promise.resolve()
|
||||
.then(()=>api.auth(auth.email,auth.password))
|
||||
.then(()=>api.memory.get())
|
||||
.then(memory=>{
|
||||
fs.writeFileSync('memory.json',JSON.stringify(memory))
|
||||
})
|
||||
.catch(err=>console.error(err))
|
Reference in New Issue
Block a user