Reorganize router, update deps

master
Kuba Orlik 3 years ago
parent dd386b2f15
commit b24d6d1a0b

155
package-lock.json generated

@ -5,6 +5,7 @@
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "sealious-playground",
"version": "1.0.1", "version": "1.0.1",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
@ -13,7 +14,7 @@
"@koa/router": "^10.0.0", "@koa/router": "^10.0.0",
"multiple-scripts-tmux": "^1.0.4", "multiple-scripts-tmux": "^1.0.4",
"nodemon": "^2.0.7", "nodemon": "^2.0.7",
"sealious": "^0.13.38", "sealious": "^0.13.52",
"stimulus": "^2.0.0", "stimulus": "^2.0.0",
"tempstream": "^0.0.7" "tempstream": "^0.0.7"
}, },
@ -1666,51 +1667,37 @@
} }
}, },
"node_modules/ansi-align": { "node_modules/ansi-align": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
"integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
"dependencies": { "dependencies": {
"string-width": "^3.0.0" "string-width": "^4.1.0"
} }
}, },
"node_modules/ansi-align/node_modules/ansi-regex": { "node_modules/ansi-align/node_modules/emoji-regex": {
"version": "4.1.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
"engines": {
"node": ">=6"
}
}, },
"node_modules/ansi-align/node_modules/is-fullwidth-code-point": { "node_modules/ansi-align/node_modules/is-fullwidth-code-point": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"engines": { "engines": {
"node": ">=4" "node": ">=8"
} }
}, },
"node_modules/ansi-align/node_modules/string-width": { "node_modules/ansi-align/node_modules/string-width": {
"version": "3.1.0", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-align/node_modules/strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dependencies": { "dependencies": {
"ansi-regex": "^4.1.0" "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
}, },
"engines": { "engines": {
"node": ">=6" "node": ">=8"
} }
}, },
"node_modules/ansi-colors": { "node_modules/ansi-colors": {
@ -1722,9 +1709,9 @@
} }
}, },
"node_modules/ansi-regex": { "node_modules/ansi-regex": {
"version": "5.0.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
@ -3006,7 +2993,8 @@
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
}, },
"node_modules/emojis-list": { "node_modules/emojis-list": {
"version": "3.0.0", "version": "3.0.0",
@ -6625,9 +6613,9 @@
} }
}, },
"node_modules/nth-check": { "node_modules/nth-check": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
"integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
"dependencies": { "dependencies": {
"boolbase": "^1.0.0" "boolbase": "^1.0.0"
}, },
@ -7887,9 +7875,9 @@
} }
}, },
"node_modules/sealious": { "node_modules/sealious": {
"version": "0.13.43", "version": "0.13.52",
"resolved": "https://registry.npmjs.org/sealious/-/sealious-0.13.43.tgz", "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.13.52.tgz",
"integrity": "sha512-qarucHxBzmK0uyar5/LGmJOMtOK+RRUklGpTrcpCN3L16sX+JnLUSnWcXm1RX9dbhUt/E3xWJgkZ/Xoqoe5uNQ==", "integrity": "sha512-u40mqaI1F7V9ZAobDGq9avKuL4XgdBN00LZ9uC9mQDdYkCqPLHR+n665vTlkM/Y/THzm+L3HPvaY47jaTmCefg==",
"dependencies": { "dependencies": {
"@babel/polyfill": "^7.0.0", "@babel/polyfill": "^7.0.0",
"@koa/router": "^10.0.0", "@koa/router": "^10.0.0",
@ -8493,11 +8481,11 @@
} }
}, },
"node_modules/strip-ansi": { "node_modules/strip-ansi": {
"version": "6.0.0", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dependencies": { "dependencies": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.1"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@ -11257,39 +11245,31 @@
"dev": true "dev": true
}, },
"ansi-align": { "ansi-align": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
"integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
"requires": { "requires": {
"string-width": "^3.0.0" "string-width": "^4.1.0"
}, },
"dependencies": { "dependencies": {
"ansi-regex": { "emoji-regex": {
"version": "4.1.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
}, },
"string-width": { "string-width": {
"version": "3.1.0", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"requires": {
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"requires": { "requires": {
"ansi-regex": "^4.1.0" "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
} }
} }
} }
@ -11300,9 +11280,9 @@
"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
}, },
"ansi-regex": { "ansi-regex": {
"version": "5.0.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
@ -12271,7 +12251,8 @@
"emoji-regex": { "emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
}, },
"emojis-list": { "emojis-list": {
"version": "3.0.0", "version": "3.0.0",
@ -15042,9 +15023,9 @@
} }
}, },
"nth-check": { "nth-check": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
"integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
"requires": { "requires": {
"boolbase": "^1.0.0" "boolbase": "^1.0.0"
} }
@ -15983,9 +15964,9 @@
} }
}, },
"sealious": { "sealious": {
"version": "0.13.43", "version": "0.13.52",
"resolved": "https://registry.npmjs.org/sealious/-/sealious-0.13.43.tgz", "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.13.52.tgz",
"integrity": "sha512-qarucHxBzmK0uyar5/LGmJOMtOK+RRUklGpTrcpCN3L16sX+JnLUSnWcXm1RX9dbhUt/E3xWJgkZ/Xoqoe5uNQ==", "integrity": "sha512-u40mqaI1F7V9ZAobDGq9avKuL4XgdBN00LZ9uC9mQDdYkCqPLHR+n665vTlkM/Y/THzm+L3HPvaY47jaTmCefg==",
"requires": { "requires": {
"@babel/polyfill": "^7.0.0", "@babel/polyfill": "^7.0.0",
"@koa/router": "^10.0.0", "@koa/router": "^10.0.0",
@ -16480,11 +16461,11 @@
} }
}, },
"strip-ansi": { "strip-ansi": {
"version": "6.0.0", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"requires": { "requires": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.1"
} }
}, },
"strip-bom": { "strip-bom": {

@ -24,7 +24,7 @@
"@koa/router": "^10.0.0", "@koa/router": "^10.0.0",
"multiple-scripts-tmux": "^1.0.4", "multiple-scripts-tmux": "^1.0.4",
"nodemon": "^2.0.7", "nodemon": "^2.0.7",
"sealious": "^0.13.38", "sealious": "^0.13.52",
"stimulus": "^2.0.0", "stimulus": "^2.0.0",
"tempstream": "^0.0.7" "tempstream": "^0.0.7"
}, },

@ -1,9 +1,6 @@
import _locreq from "locreq"; import _locreq from "locreq";
import Sealious from "sealious"; import Sealious from "sealious";
import TheApp from "./app"; import TheApp from "./app";
import homepage from "./routes/homepage";
import tasks from "./routes/tasks";
import login from "./routes/login";
const locreq = _locreq(__dirname); const locreq = _locreq(__dirname);
declare module "koa" { declare module "koa" {
@ -14,7 +11,7 @@ declare module "koa" {
} }
} }
const app = new TheApp(); export const app = new TheApp();
void app void app
.start() .start()
.then(() => { .then(() => {
@ -32,9 +29,7 @@ void app
} }
}); });
const router = app.HTTPServer.router; export const router = app.HTTPServer.router;
router.use("/", homepage.routes()); require("./routes/index");
router.use("/tasks", tasks.routes());
router.use("/login", login.routes());
app.HTTPServer.addStaticRoute("/", locreq.resolve("public")); app.HTTPServer.addStaticRoute("/", locreq.resolve("public"));

@ -1,19 +1,18 @@
import Router from "@koa/router"; import { Middlewares } from "sealious";
import { Context, Middlewares } from "sealious";
import html from "../html"; import html from "../html";
import { NewTask, TaskList } from "../views/tasks"; import { NewTask, TaskList } from "../views/tasks";
import { BaseContext } from "koa"; import { BaseContext } from "koa";
import { Readable } from "stream"; import { Readable } from "stream";
import { tempstream } from "tempstream";
import { router } from "..";
const router = new Router(); export function MainView(ctx: BaseContext): Readable {
export async function MainView(ctx: BaseContext): Promise<Readable> {
return html( return html(
ctx, ctx,
/* HTML */ ` <title>My ToDo App</title> /* HTML */ tempstream` <title>My ToDo App</title>
<body> <body>
<h1>My ToDo App</h1> <h1>My ToDo App</h1>
${await TaskList(ctx.$context)} ${NewTask()} ${TaskList(ctx.$context)} ${NewTask()}
</body>` </body>`
); );
} }
@ -22,4 +21,5 @@ router.get("/", Middlewares.extractContext(), async (ctx) => {
ctx.body = MainView(ctx); ctx.body = MainView(ctx);
}); });
export default router; require("./login/index");
require("./tasks/index");

@ -1,16 +1,13 @@
import Router from "@koa/router";
import { Middlewares } from "sealious"; import { Middlewares } from "sealious";
import { router } from "../..";
import html from "../../html";
import html from "../html"; router.get("/login", Middlewares.extractContext(), async (ctx) => {
const router = new Router();
router.get("/", Middlewares.extractContext(), async (ctx) => {
ctx.body = html(ctx, LoginForm()); ctx.body = html(ctx, LoginForm());
}); });
router.post( router.post(
"/", "/login",
Middlewares.extractContext(), Middlewares.extractContext(),
Middlewares.parseBody(), Middlewares.parseBody(),
async (ctx) => { async (ctx) => {
@ -35,8 +32,6 @@ router.post(
} }
); );
export default router;
function LoginForm(username = "", error_message?: string): string { function LoginForm(username = "", error_message?: string): string {
if (error_message) { if (error_message) {
error_message = error_message =

@ -1,11 +1,9 @@
import Router from "@koa/router";
import { Middlewares } from "sealious"; import { Middlewares } from "sealious";
import { MainView } from "./homepage"; import { MainView } from "..";
import { router } from "../..";
const router = new Router();
router.post( router.post(
"/", "/tasks",
Middlewares.extractContext(), Middlewares.extractContext(),
Middlewares.parseBody(), Middlewares.parseBody(),
async (ctx) => { async (ctx) => {
@ -19,7 +17,7 @@ router.post(
} }
); );
router.delete("/:task_id", Middlewares.extractContext(), async (ctx) => { router.delete("/tasks/:task_id", Middlewares.extractContext(), async (ctx) => {
const task = await ctx.$app.collections.tasks.getByID( const task = await ctx.$app.collections.tasks.getByID(
ctx.$context, ctx.$context,
ctx.params.task_id ctx.params.task_id
@ -27,5 +25,3 @@ router.delete("/:task_id", Middlewares.extractContext(), async (ctx) => {
await task.remove(ctx.$context); await task.remove(ctx.$context);
ctx.body = MainView(ctx); ctx.body = MainView(ctx);
}); });
export default router;
Loading…
Cancel
Save