@rpcbase/server 0.3.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin.js +33 -0
- package/cli/start_server.js +34 -0
- package/package.json +9 -2
package/bin.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* @flow */
|
|
3
|
+
const path = require("path")
|
|
4
|
+
require("dotenv").config({path: path.join(__dirname, "./.env")})
|
|
5
|
+
|
|
6
|
+
const yargs = require("yargs/yargs")
|
|
7
|
+
const {hideBin} = require("yargs/helpers")
|
|
8
|
+
|
|
9
|
+
const start_server = require("./cli/start_server")
|
|
10
|
+
|
|
11
|
+
let is_command = false
|
|
12
|
+
|
|
13
|
+
const args = yargs(hideBin(process.argv))
|
|
14
|
+
.command("start", "run server/infrastructure", () => {}, (argv) => {
|
|
15
|
+
is_command = true
|
|
16
|
+
console.log("run start server/infrastructure")
|
|
17
|
+
start_server()
|
|
18
|
+
})
|
|
19
|
+
.command("ping", "ping", () => {}, (argv) => {
|
|
20
|
+
is_command = true
|
|
21
|
+
console.log("OING")
|
|
22
|
+
})
|
|
23
|
+
.option("verbose", {
|
|
24
|
+
alias: "v",
|
|
25
|
+
type: "boolean",
|
|
26
|
+
default: false,
|
|
27
|
+
description: "Run with verbose logging"
|
|
28
|
+
})
|
|
29
|
+
.parse()
|
|
30
|
+
|
|
31
|
+
if (!is_command) {
|
|
32
|
+
console.log("default command")
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* @flow */
|
|
2
|
+
const {execSync} = require("child_process")
|
|
3
|
+
const path = require("path")
|
|
4
|
+
const fs = require("fs")
|
|
5
|
+
|
|
6
|
+
const is_production = "yes" === process.env.INFRASTRUCTURE_IS_PRODUCTION
|
|
7
|
+
|
|
8
|
+
const start_server = async() => {
|
|
9
|
+
if (is_production) {
|
|
10
|
+
console.log("server will run in production")
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const infrastructure_dir = path.join(process.cwd(), "../infrastructure")
|
|
14
|
+
|
|
15
|
+
// env
|
|
16
|
+
const env_path = path.relative(infrastructure_dir, path.join(process.cwd(), "./.env"))
|
|
17
|
+
|
|
18
|
+
// prefix
|
|
19
|
+
const proj_parent_dir = path.join(infrastructure_dir, "../../")
|
|
20
|
+
const proj_prefix = path.basename(proj_parent_dir)
|
|
21
|
+
|
|
22
|
+
// compose files
|
|
23
|
+
const compose_files = ["-f common.yml"]
|
|
24
|
+
if (is_production) compose_files.push("-f prod.yml")
|
|
25
|
+
else compose_files.push("-f dev.yml")
|
|
26
|
+
|
|
27
|
+
const cmd = `docker-compose --env-file ${env_path} -p ${proj_prefix} ${compose_files.join(" ")} up --build --remove-orphans`
|
|
28
|
+
|
|
29
|
+
console.log("RUN", cmd)
|
|
30
|
+
execSync(cmd, {stdio: "inherit", cwd: infrastructure_dir})
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = start_server
|
package/package.json
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rpcbase/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"license": "SSPL-1.0",
|
|
5
5
|
"main": "./index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"rb-server": "./bin.js"
|
|
8
|
+
},
|
|
6
9
|
"scripts": {
|
|
7
10
|
"test": "echo \"Error: no test specified\" && exit 0"
|
|
8
11
|
},
|
|
9
12
|
"dependencies": {
|
|
10
|
-
"
|
|
13
|
+
"connect-redis": "6.0.0",
|
|
14
|
+
"dotenv": "10.0.0",
|
|
15
|
+
"glob": "7.2.0",
|
|
16
|
+
"redis": "3.1.2",
|
|
17
|
+
"yargs": "17.3.0"
|
|
11
18
|
}
|
|
12
19
|
}
|