1
0
Fork 0
mirror of https://github.com/codex-team/codex.docs.git synced 2025-07-25 16:19:44 +02:00

Merge branch 'main' into feature/backend-search

This commit is contained in:
Taly 2022-08-26 15:10:45 +03:00
commit 9fa3c90c44
38 changed files with 505 additions and 288 deletions

View file

@ -1,17 +1,24 @@
import express, { NextFunction, Request, Response } from 'express';
import path from 'path';
import { fileURLToPath } from 'url';
import cookieParser from 'cookie-parser';
import morgan from 'morgan';
import rcParser from './utils/rcparser';
import routes from './routes';
import HttpException from './exceptions/httpException';
import rcParser from './utils/rcparser.js';
import routes from './routes/index.js';
import HttpException from './exceptions/httpException.js';
import * as dotenv from 'dotenv';
import config from 'config';
import HawkCatcher from '@hawk.so/nodejs';
import { default as HawkCatcher } from '@hawk.so/nodejs';
import os from 'os';
import appConfig from 'config';
import { downloadFavicon, FaviconData } from './utils/downloadFavicon';
import { downloadFavicon, FaviconData } from './utils/downloadFavicon.js';
/**
* The __dirname CommonJS variables are not available in ES modules.
* https://nodejs.org/api/esm.html#no-__filename-or-__dirname
*/
// eslint-disable-next-line @typescript-eslint/naming-convention
const __dirname = path.dirname(fileURLToPath(import.meta.url));
dotenv.config();
const app = express();
@ -34,7 +41,7 @@ if (process.env.HAWK_TOKEN_CLIENT) {
// view engine setup
app.set('views', path.join(__dirname, './', 'views'));
app.set('view engine', 'twig');
require('./utils/twig');
import('./utils/twig.js');
const downloadedFaviconFolder = os.tmpdir();

View file

@ -1,4 +1,4 @@
import Alias from '../models/alias';
import Alias from '../models/alias.js';
/**
* @class Aliases

View file

@ -1,9 +1,9 @@
import Page, { PageData } from '../models/page';
import Alias from '../models/alias';
import PagesOrder from './pagesOrder';
import PageOrder from '../models/pageOrder';
import HttpException from '../exceptions/httpException';
import PagesFlatArray from '../models/pagesFlatArray';
import Page, { PageData } from '../models/page.js';
import Alias from '../models/alias.js';
import PagesOrder from './pagesOrder.js';
import PageOrder from '../models/pageOrder.js';
import HttpException from '../exceptions/httpException.js';
import PagesFlatArray from '../models/pagesFlatArray.js';
type PageDataFields = keyof PageData;

View file

@ -1,6 +1,6 @@
import PageOrder from '../models/pageOrder';
import Page from '../models/page';
import PagesFlatArray from '../models/pagesFlatArray';
import PageOrder from '../models/pageOrder.js';
import Page from '../models/page.js';
import PagesFlatArray from '../models/pagesFlatArray.js';
/**
* @class PagesOrder

View file

@ -3,9 +3,9 @@ import fetch from 'node-fetch';
import fs from 'fs';
import nodePath from 'path';
import config from 'config';
import File, { FileData } from '../models/file';
import crypto from '../utils/crypto';
import deepMerge from '../utils/objects';
import File, { FileData } from '../models/file.js';
import crypto from '../utils/crypto.js';
import deepMerge from '../utils/objects.js';
const random16 = crypto.random16;

View file

@ -1,5 +1,5 @@
import crypto from '../utils/crypto';
import database from '../utils/database/index';
import crypto from '../utils/crypto.js';
import database from '../utils/database/index.js';
const binaryMD5 = crypto.binaryMD5;
const aliasesDb = database['aliases'];

View file

@ -1,4 +1,4 @@
import database from '../utils/database/index';
import database from '../utils/database/index.js';
const filesDb = database['files'];

View file

@ -1,5 +1,5 @@
import urlify from '../utils/urlify';
import database from '../utils/database/index';
import urlify from '../utils/urlify.js';
import database from '../utils/database/index.js';
const pagesDb = database['pages'];

View file

@ -1,4 +1,4 @@
import database from '../utils/database/index';
import database from '../utils/database/index.js';
const db = database['pagesOrder'];

View file

@ -1,5 +1,5 @@
import Page from './page';
import PageOrder from './pageOrder';
import Page from './page.js';
import PageOrder from './pageOrder.js';
import NodeCache from 'node-cache';
// Create cache for flat array

View file

@ -1,9 +1,9 @@
import express, { Request, Response } from 'express';
import Aliases from '../controllers/aliases';
import Pages from '../controllers/pages';
import Alias from '../models/alias';
import verifyToken from './middlewares/token';
import PagesFlatArray from '../models/pagesFlatArray';
import Aliases from '../controllers/aliases.js';
import Pages from '../controllers/pages.js';
import Alias from '../models/alias.js';
import verifyToken from './middlewares/token.js';
import PagesFlatArray from '../models/pagesFlatArray.js';
const router = express.Router();

View file

@ -1,9 +1,9 @@
import express from 'express';
import pagesAPI from './pages';
import transportAPI from './transport';
import linksAPI from './links';
import searchAPI from './search';
import pagesAPI from './pages.js';
import transportAPI from './transport.js';
import linksAPI from './links.js';
import searchAPI from './search.js';
const router = express.Router();

View file

@ -1,7 +1,7 @@
import express, { Request, Response } from 'express';
import multerFunc from 'multer';
import Pages from '../../controllers/pages';
import PagesOrder from '../../controllers/pagesOrder';
import Pages from '../../controllers/pages.js';
import PagesOrder from '../../controllers/pagesOrder.js';
const router = express.Router();
const multer = multerFunc();

View file

@ -3,8 +3,8 @@ import multer, { StorageEngine } from 'multer';
import mime from 'mime';
import mkdirp from 'mkdirp';
import config from 'config';
import Transport from '../../controllers/transport';
import { random16 } from '../../utils/crypto';
import Transport from '../../controllers/transport.js';
import { random16 } from '../../utils/crypto.js';
const router = Router();

View file

@ -1,5 +1,5 @@
import express, { Request, Response } from 'express';
import verifyToken from './middlewares/token';
import verifyToken from './middlewares/token.js';
const router = express.Router();

View file

@ -1,10 +1,10 @@
import express from 'express';
import home from './home';
import pages from './pages';
import auth from './auth';
import aliases from './aliases';
import api from './api';
import pagesMiddleware from './middlewares/pages';
import home from './home.js';
import pages from './pages.js';
import auth from './auth.js';
import aliases from './aliases.js';
import api from './api/index.js';
import pagesMiddleware from './middlewares/pages.js';
const router = express.Router();

View file

@ -1,9 +1,9 @@
import { NextFunction, Request, Response } from 'express';
import Pages from '../../controllers/pages';
import PagesOrder from '../../controllers/pagesOrder';
import Page from '../../models/page';
import asyncMiddleware from '../../utils/asyncMiddleware';
import PageOrder from '../../models/pageOrder';
import Pages from '../../controllers/pages.js';
import PagesOrder from '../../controllers/pagesOrder.js';
import Page from '../../models/page.js';
import asyncMiddleware from '../../utils/asyncMiddleware.js';
import PageOrder from '../../models/pageOrder.js';
/**
* Process one-level pages list to parent-children list

View file

@ -1,9 +1,9 @@
import express, { NextFunction, Request, Response } from 'express';
import Pages from '../controllers/pages';
import PagesOrder from '../controllers/pagesOrder';
import verifyToken from './middlewares/token';
import allowEdit from './middlewares/locals';
import PagesFlatArray from '../models/pagesFlatArray';
import Pages from '../controllers/pages.js';
import PagesOrder from '../controllers/pagesOrder.js';
import verifyToken from './middlewares/token.js';
import allowEdit from './middlewares/locals.js';
import PagesFlatArray from '../models/pagesFlatArray.js';
const router = express.Router();

View file

@ -1,9 +1,9 @@
import Datastore from 'nedb';
import { AliasData } from '../../models/alias';
import { FileData } from '../../models/file';
import { PageData } from '../../models/page';
import { PageOrderData } from '../../models/pageOrder';
import initDb from './initDb';
import { AliasData } from '../../models/alias.js';
import { FileData } from '../../models/file.js';
import { PageData } from '../../models/page.js';
import { PageOrderData } from '../../models/pageOrder.js';
import initDb from './initDb.js';
/**
* @typedef Options - optional params

View file

@ -1,6 +1,6 @@
import path from 'path';
import fs from 'fs';
import fetch from 'node-fetch';
import fetch, { RequestInit } from 'node-fetch';
/**
* Uploaded favicon data
@ -61,7 +61,7 @@ export async function downloadFavicon(destination: string, faviconFolder: string
}, 5000);
// Make get request to url
const res = await fetch(destination, { signal: controller.signal });
const res = await fetch(destination, { signal: controller.signal as RequestInit['signal'] });
// Get buffer data from response
const fileData = await res.buffer();

View file

@ -1,6 +1,14 @@
import fs from 'fs';
import path from 'path';
import config from 'config';
import { fileURLToPath } from 'url';
/**
* The __dirname CommonJS variables are not available in ES modules.
* https://nodejs.org/api/esm.html#no-__filename-or-__dirname
*/
// eslint-disable-next-line @typescript-eslint/naming-convention
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const rcPath = path.resolve(__dirname, '../../../', config.get('rcFile') || './.codexdocsrc');

View file

@ -3,8 +3,16 @@
*/
import twig from 'twig';
import fs from 'fs';
import urlify from './urlify';
import urlify from './urlify.js';
import path from 'path';
import { fileURLToPath } from 'url';
/**
* The __dirname CommonJS variables are not available in ES modules.
* https://nodejs.org/api/esm.html#no-__filename-or-__dirname
*/
// eslint-disable-next-line @typescript-eslint/naming-convention
const __dirname = path.dirname(fileURLToPath(import.meta.url));
export default (function () {
'use strict';

View file

@ -1,4 +1,4 @@
import translateString from './translation';
import translateString from './translation.js';
/**
* Convert text to URL-like string