Basic hello world SC service

master
Jonatan Nilsson 2020-09-04 11:03:59 +00:00
parent e19dcc1028
commit 1bacd2f132
6 changed files with 1083 additions and 0 deletions

28
api/server.mjs Normal file
View File

@ -0,0 +1,28 @@
import http from 'http'
import path from 'path'
import { readFileSync } from 'fs'
import { fileURLToPath } from 'url'
export function run(config, db, log, core) {
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const staticPackage = path.join(__dirname,'../package.json')
config = JSON.parse(readFileSync(staticPackage))
const server = http.createServer(function (req, res) {
res.writeHead(200);
res.write(JSON.stringify(config, null, ' '))
res.end()
})
let port = config.managePort || 4000
server.listen(port, '0.0.0.0', function(err) {
if (err) {
log.fatal(err)
log.event.error('Error starting server: ' + err.message)
return process.exit(2)
}
log.event.info(`Server is listening on ${port} serving package ${staticPackage}`)
log.info(`Server is listening on ${port} serving package ${staticPackage}`)
})
}

5
index.mjs Normal file
View File

@ -0,0 +1,5 @@
export function start(config, db, log, core) {
return import('./api/server.mjs').then(function(module) {
return module.run(config, db, log, core)
})
}

1003
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "sc-helloworld",
"version": "1.0.0",
"description": "Hello World app for service core",
"main": "index.js",
"scripts": {
"dev": "nodemon --watch api --watch runner.mjs --watch index.mjs runner.mjs",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/TheThing/sc-helloworld.git"
},
"author": "",
"license": "WTFPL",
"bugs": {
"url": "https://github.com/TheThing/sc-helloworld/issues"
},
"homepage": "https://github.com/TheThing/sc-helloworld#readme",
"devDependencies": {
"nodemon": "^2.0.4"
}
}

8
publish.bat Normal file
View File

@ -0,0 +1,8 @@
@ECHO off
SETLOCAL EnableDelayedExpansion
ECHO.
set /p version="Print version you wanna publish: "
ECHO.
ECHO !version!
ECHO.

16
runner.mjs Normal file
View File

@ -0,0 +1,16 @@
import('./index.mjs').then(function(module) {
return module.start({}, {}, {
debug: console.log.bind(console),
info: console.log.bind(console),
warn: console.log.bind(console),
error: console.error.bind(console),
fatal: console.error.bind(console),
event: {
debug: function() {},
info: function() {},
warn: function() {},
error: function() {},
fatal: function() {},
}
}, {})
})