/* PokeTube is a Free/Libre youtube front-end ! Copyright (C) 2021-2023 POKETUBE This file is Licensed under LGPL-3.0-or-later. Poketube itself is GPL, Only this file is LGPL. see a copy here: https://www.gnu.org/licenses/lgpl-3.0.txt please dont remove this comment while sharing this code */ const fetcher = require("../libpoketube/libpoketube-dislikes.js"); const core = require("../libpoketube/libpoketube-core.js"); const musicInfo = require("music-info"); const wiki = require("wikipedia"); const fetch = require("node-fetch"); const toJson = require("xml2json").toJson; const express = require("express"); const useragent = require("express-useragent"); const path = require("path"); const hash = require("js-sha512").sha384; const moment = require("moment"); const getColors = require("get-image-colors"); /** * Logs a message to the console with a specific prefix * * @param {string} args - The message to wood (get it log wood im so funny) */ function initlog(args) { console.log("[LIBPT INTSYS] " + args); } /** * Initializes the application and starts listening on the specified port or something idk aaaaa help me * * @param {object} app - The express application * @param {string} [port="3000"] - The port to listen on */ function init(app, port) { if (!port) port = "6003"; try { app.listen(port, () => { initlog("Loading Poketube: success!" + " on port " + port); }); } catch (err) { initlog("Loading Poketube: error", err); } } module.exports = { /** * The fetcher module * @type {object} */ fetcher, /** * The core module * @type {object} */ core, /** * The musicInfo module * @type {object} */ musicInfo, /** * The wiki module * @type {object} */ wiki, /** * Logs a message to the console with a specific prefix * @type {Function} */ initlog, /** * Initializes the application and starts listening on the specified port * @type {Function} */ init, /** * The version of the LIB-PokeTube module * @type {string} */ version: "libpoketube-3.1.1-git-aStfl", /** * The external modules used by PokeTube * @type {object} */ modules: { /** * The fetch module * @type {object} */ fetch, /** * The toJson module * @type {Function} */ toJson, /** * The express module * @type {object} */ express, /** * The useragent module * @type {object} */ useragent, /** * The path module * @type {object} */ path, /** * The hash module * @type {Function} */ hash, /** * The moment module * @type {object} */ moment, /** * The getColors module * @type {Function} */ getColors, } };