Added custom logger package, switched to tsc in back building, added pnpm lifecycle scripts
This commit is contained in:
parent
2ef2f28d4c
commit
dff81b8680
3
apps/back/.gitignore
vendored
3
apps/back/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
certs/
|
||||
src/db/config.ts
|
||||
.env
|
||||
.env
|
||||
tsc-out/
|
@ -2,18 +2,21 @@
|
||||
"name": "@roomruler/back",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"build": "rollup --config rollup.config.js",
|
||||
"start": "node dist/index.js"
|
||||
"build": "tsc && rollup --config rollup.config.js",
|
||||
"prestart": "pnpm run build",
|
||||
"start": "node dist/index.js",
|
||||
"dev": "rollup --config rollup.config.dev.js --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-node-resolve": "^13.0.4",
|
||||
"@rollup/plugin-typescript": "^8.2.5",
|
||||
"@rollup/plugin-run": "^2.1.0",
|
||||
"@types/ws": "^7.4.7",
|
||||
"deepmerge": "^4.2.2",
|
||||
"rollup": "^2.56.3",
|
||||
"tslib": "^2.3.1",
|
||||
"typescript": "^4.4.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@roomruler/logger": "workspace:^0.0.0",
|
||||
"@roomruler/messages": "workspace:^0.0.0",
|
||||
"pg": "^8.7.1",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
|
11
apps/back/rollup.config.dev.js
Normal file
11
apps/back/rollup.config.dev.js
Normal file
@ -0,0 +1,11 @@
|
||||
import deepmerge from "deepmerge";
|
||||
import run from "@rollup/plugin-run";
|
||||
|
||||
import defConfig from "./rollup.config";
|
||||
|
||||
export default deepmerge(defConfig, {
|
||||
plugins: [run()],
|
||||
watch: {
|
||||
include: "src/**/*",
|
||||
},
|
||||
});
|
@ -1,11 +1,10 @@
|
||||
const typescript = require("@rollup/plugin-typescript");
|
||||
const { nodeResolve } = require("@rollup/plugin-node-resolve");
|
||||
import { nodeResolve } from "@rollup/plugin-node-resolve";
|
||||
|
||||
export default {
|
||||
input: "src/index.ts",
|
||||
input: "tsc-out/index.js",
|
||||
output: {
|
||||
dir: "dist",
|
||||
format: "cjs",
|
||||
},
|
||||
plugins: [typescript(), nodeResolve({ resolveOnly: [/^@roomruler\/.*$/] })],
|
||||
plugins: [nodeResolve({ resolveOnly: [/^@roomruler\/.*$/] })],
|
||||
};
|
||||
|
@ -7,6 +7,7 @@ import {
|
||||
isUpdateMessage,
|
||||
ListMessage,
|
||||
} from "@roomruler/messages";
|
||||
import { logger as log } from "@roomruler/logger";
|
||||
|
||||
const main = async () => {
|
||||
const connection = await connect();
|
||||
@ -15,11 +16,11 @@ const main = async () => {
|
||||
{
|
||||
port: Number.parseInt(process.env.PORT || "") || 8081,
|
||||
},
|
||||
() => console.log(`Started server on ${process.env.PORT || 8081}`)
|
||||
() => log(`Started server on ${process.env.PORT || 8081}`)
|
||||
);
|
||||
|
||||
wss.on("connection", async (wsc, req) => {
|
||||
console.log("New user connected from " + req.socket.remoteAddress);
|
||||
log("New user connected from " + req.socket.remoteAddress);
|
||||
wsc.send(
|
||||
JSON.stringify(
|
||||
composeMessage<ListMessage>("list", await getRoomList(connection))
|
||||
@ -27,14 +28,15 @@ const main = async () => {
|
||||
);
|
||||
|
||||
wsc.on("message", async (data) => {
|
||||
console.log("Got message from " + req.socket.remoteAddress);
|
||||
log("Got message from " + req.socket.remoteAddress);
|
||||
try {
|
||||
const message: unknown = JSON.parse(data.toString());
|
||||
if (!isMessage(message)) throw new Error("Message corrupted");
|
||||
|
||||
if (isUpdateMessage(message)) {
|
||||
console.log(
|
||||
`Processing message of \"${message.type}\" type from ${req.socket.remoteAddress}`
|
||||
log(
|
||||
`\nProcessing message of \"${message.type}\" type from ${req.socket.remoteAddress}\n`,
|
||||
message.args
|
||||
);
|
||||
|
||||
const { id, value } = message.args;
|
||||
@ -46,7 +48,7 @@ const main = async () => {
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.log("Error processing message", err);
|
||||
log("Error processing message", err);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -2,8 +2,8 @@
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"target": "es6",
|
||||
"module": "commonjs",
|
||||
"outDir": "dist"
|
||||
"module": "esnext",
|
||||
"outDir": "tsc-out"
|
||||
},
|
||||
"include": ["src"],
|
||||
"references": [{ "path": "../../packages/messages/tsconfig.json" }]
|
||||
|
@ -3,11 +3,13 @@
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"start": "vite",
|
||||
"start": "serve -s dist",
|
||||
"prestart": "pnpm run build",
|
||||
"build": "vite build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-dom": "^17.0.9",
|
||||
"serve": "^12.0.0",
|
||||
"typescript": "^4.4.2",
|
||||
"vite": "^2.5.3",
|
||||
"vite-plugin-svgr": "^0.4.0"
|
||||
|
@ -3,8 +3,11 @@
|
||||
"version": "1.0.0",
|
||||
"description": "Web application for distribution of free classrooms",
|
||||
"scripts": {
|
||||
"start": "pnpm start -r",
|
||||
"build": "pnpm run build -r",
|
||||
"dev": "pnpm run dev -r",
|
||||
"preinstall": "npx -y only-allow pnpm",
|
||||
"clean": "rm -rf node_modules apps/back/node_modules apps/front/node_modules packages/messages/node_modules apps/back/dist apps/front/dist packages/messages/dist pnpm-lock.yaml"
|
||||
"clean": "rm -rf node_modules apps/back/node_modules apps/front/node_modules packages/messages/node_modules packages/logger/node_modules apps/back/dist apps/front/dist packages/messages/dist packages/logger/dist pnpm-lock.yaml"
|
||||
},
|
||||
"author": "dm1sh",
|
||||
"license": "MIT",
|
||||
|
15
packages/logger/package.json
Normal file
15
packages/logger/package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@roomruler/logger",
|
||||
"main": "dist/src/index.js",
|
||||
"version": "0.0.0",
|
||||
"types": "dist/src/index.d.ts",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"postinstall": "pnpm run build",
|
||||
"build": "tsc --build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^4.4.2"
|
||||
},
|
||||
"private": "true"
|
||||
}
|
2
packages/logger/src/index.ts
Normal file
2
packages/logger/src/index.ts
Normal file
@ -0,0 +1,2 @@
|
||||
export const logger = (...args: unknown[]) =>
|
||||
console.log(new Date().toISOString() + ":", ...args);
|
10
packages/logger/tsconfig.json
Normal file
10
packages/logger/tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "es6",
|
||||
"target": "es6",
|
||||
"outDir": "dist",
|
||||
"composite": true
|
||||
},
|
||||
"include": ["src"],
|
||||
}
|
@ -5,7 +5,8 @@
|
||||
"types": "dist/src/index.d.ts",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "tsc --build"
|
||||
"build": "tsc --build",
|
||||
"postinstall": "pnpm run build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^4.4.2"
|
||||
|
@ -6,7 +6,6 @@
|
||||
"noLib": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
|
Loading…
x
Reference in New Issue
Block a user