diff options
| -rw-r--r-- | .eslintignore | 1 | ||||
| -rw-r--r-- | app/directory.ts | 32 | ||||
| -rw-r--r-- | app/index.ts | 6 | ||||
| -rw-r--r-- | app/middlewares/index.ts | 4 | ||||
| -rw-r--r-- | app/routes/page/router.ts | 6 | ||||
| -rw-r--r-- | app/routes/special/router.ts | 6 | ||||
| -rw-r--r-- | app/wikiparser.mjs | 1 | ||||
| -rw-r--r-- | tsconfig.json | 3 |
8 files changed, 28 insertions, 31 deletions
diff --git a/.eslintignore b/.eslintignore index 3eaeff0..702e026 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ static/* node_modules/* +*.*js diff --git a/app/directory.ts b/app/directory.ts index 6cf1125..a38b5a0 100644 --- a/app/directory.ts +++ b/app/directory.ts @@ -1,7 +1,5 @@ -'use strict'; - import { parse } from './wikiparser.mjs'; -import { readFileSync, readdirSync, statSync } from 'fs'; +import { readFileSync } from 'fs'; import glob from 'glob'; export class PageDirectory { @@ -28,19 +26,19 @@ export class PageDirectory { if (this.lastBuild + parseInt(process.env.REBUILD_COOLDOWN_MIN, 10) * 60 * 1000 > Date.now()) { return false; } - for (var page in this.pages) { + for (const page in this.pages) { delete this.pages[page]; } - let pages = glob.sync(`**/*.wiki`, { cwd: this.pagePath }) + const pages = glob.sync(`**/*.wiki`, { cwd: this.pagePath }) pages.forEach(page => { page = page.replace('.wiki', '').replace('/', ':').replace(/[^a-z0-9:]/gi, '_').toLowerCase(); this.pages[page] = this.buildPage(page); }); - let primaryPages = []; - Object.entries(this.pages).forEach(([name, page]) => { + const primaryPages = []; + Object.entries(this.pages).forEach(([_, page]) => { if (page.metadata.includeInNavbar) { primaryPages.push(page); } @@ -72,7 +70,7 @@ export class PageDirectory { */ get(name: string): Page { name = this.convertNameToStandard(name); - let page = this.pages[name]; + const page = this.pages[name]; if (!page) { return undefined; } @@ -103,7 +101,7 @@ export class PageDirectory { */ purge(name: string): boolean { name = this.convertNameToStandard(name); - let page = this.pages[name]; + const page = this.pages[name]; if (page) { if (page.buildTime + parseInt(process.env.PURGE_COOLDOWN_MIN, 10) * 60 * 1000 > Date.now()) { return false; @@ -150,11 +148,11 @@ export class PageDirectory { } catch { return undefined; } - let result = parse(data); - let title = result.metadata.displayTitle ?? name - let content = `${result.metadata.notitle ? '' : `<h1>${title}</h1>`}${result.html}`; + const result = parse(data); + const title = result.metadata.displayTitle ?? name + const content = `${result.metadata.notitle ? '' : `<h1>${title}</h1>`}${result.html}`; - let page: Page = { + const page: Page = { html: content, raw: data, standardName: name, @@ -186,13 +184,13 @@ export class PageDirectory { * @param name standard name for a page */ private convertStandardToFilePath(name: string): string { - let [first, second] = name.split(':'); - let [title, subpage] = ((second) ? second : first).split('.') - let namespace = (second) ? first : undefined + const [first, second] = name.split(':'); + const [title, subpage] = ((second) ? second : first).split('.') + const namespace = (second) ? first : undefined return `${namespace ? `${namespace}/` : ''}${title}${subpage ? `.${subpage}` : ''}.wiki` } -}; +} export type Page = { html: string; diff --git a/app/index.ts b/app/index.ts index 845b793..8fb6a60 100644 --- a/app/index.ts +++ b/app/index.ts @@ -1,6 +1,4 @@ -'use strict'; - -import { PageDirectory, Page, PageMetadata } from './directory.js'; +import { PageDirectory } from './directory.js'; import express from 'express'; import dotenv from 'dotenv'; import * as page from './routes/page/router.js'; @@ -27,7 +25,7 @@ app.use((req, res, next) => { app.use(page.router); app.use(special.router); -app.use(navbar, (req, res, next) => { +app.use(navbar, (req, res) => { res.render('error.ejs', { code: '404', navbar: res.locals.navbarHtml diff --git a/app/middlewares/index.ts b/app/middlewares/index.ts index d0ba721..d07726a 100644 --- a/app/middlewares/index.ts +++ b/app/middlewares/index.ts @@ -8,10 +8,10 @@ export const navbar = ((req, res, next) => { }); export const page = ((req, res, next) => { - let path = req.params.page ?? 'index'; + const path = req.params.page ?? 'index'; res.locals.path = path; - let page = res.locals.directory.get(path); + const page = res.locals.directory.get(path); if (!page) { next(); diff --git a/app/routes/page/router.ts b/app/routes/page/router.ts index 89cd59a..af5e844 100644 --- a/app/routes/page/router.ts +++ b/app/routes/page/router.ts @@ -1,4 +1,4 @@ -import express, { Router } from 'express'; +import express from 'express'; import { navbar, page } from '../../middlewares/index.js'; export const router = express.Router({ mergeParams: true }); @@ -7,7 +7,7 @@ router.use('/:page.wiki', page); router.use('/:page?', page); router.get('/:page.wiki', (req, res, next) => { - let page = res.locals.page; + const page = res.locals.page; if (!page) { next(); @@ -19,7 +19,7 @@ router.get('/:page.wiki', (req, res, next) => { }); router.get('/:page?', navbar, (req, res, next) => { - let page = res.locals.page; + const page = res.locals.page; if (!page) { next(); diff --git a/app/routes/special/router.ts b/app/routes/special/router.ts index 1508ffa..e88919c 100644 --- a/app/routes/special/router.ts +++ b/app/routes/special/router.ts @@ -1,4 +1,4 @@ -import express, { Router } from 'express'; +import express from 'express'; import { navbar, page } from '../../middlewares/index.js'; export const router = express.Router({ mergeParams: true }); @@ -7,7 +7,7 @@ router.use('/special/purge/:page?', page); router.use('/special/purge/:page/confirm', page); router.get('/special/purge/:page?', navbar, (req, res, next) => { - let page = res.locals.page; + const page = res.locals.page; if (!page) { next(); @@ -23,7 +23,7 @@ router.get('/special/purge/:page?', navbar, (req, res, next) => { }); router.get('/special/purge/:page/confirm', (req, res, next) => { - let page = res.locals.page; + const page = res.locals.page; if (!page) { next(); diff --git a/app/wikiparser.mjs b/app/wikiparser.mjs index e0e06df..a74b216 100644 --- a/app/wikiparser.mjs +++ b/app/wikiparser.mjs @@ -1,4 +1,3 @@ -'use strict'; /* * This file is a modified version of Nixinova/Wikity, whose license is given below: * Original: https://www.npmjs.com/package/wikity diff --git a/tsconfig.json b/tsconfig.json index 76ab177..04d1033 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,8 @@ "target": "es5", "module": "es2020", "moduleResolution": "node", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["./app/**/*.ts"], } |
