Pack server with webpack

This commit is contained in:
kermit
2021-07-02 18:57:06 +01:00
committed by ta264
parent 52aa1c2da5
commit 698ef1f9df
64 changed files with 7771 additions and 7109 deletions

View File

@@ -16,6 +16,8 @@ import { registerWebsocket } from './websocket'
import type { Arguments } from './types'
import { consoleInfo } from './helpers/errors'
export { getSettings } from './main'
// TODO: Remove type assertion while keeping correct types
const argv = yargs(hideBin(process.argv)).options({
port: { type: 'string', default: '6595' },
@@ -26,8 +28,8 @@ const DEEMIX_PORT = normalizePort(process.env.DEEMIX_PORT ?? argv.port)
const DEEMIX_HOST = process.env.DEEMIX_HOST ?? argv.host
const debug = initDebug('deemix-gui:server')
export const app: Application = express()
export const wss = new WsServer({ noServer: true })
const app: Application = express()
const server = http.createServer(app)
/* === Middlewares === */

View File

@@ -1,4 +1,4 @@
import path from 'path'
export const ROOT_DIR = path.resolve(path.join(__dirname, '..', '..', '..'))
export const ROOT_DIR = path.resolve(path.join(__dirname, '..', '..'))
export const WEBUI_DIR = path.join(ROOT_DIR, 'webui', 'public')

View File

@@ -19,7 +19,7 @@ let settings: any = deemix.settings.load(configFolder)
export const getAccessToken = deemix.utils.deezer.getAccessToken
export const getArlFromAccessToken = deemix.utils.deezer.getArlFromAccessToken
export const deemixVersion = require('../../node_modules/deemix/package.json').version
export const deemixVersion = require('../node_modules/deemix/package.json').version
let deezerAvailable: boolean | null = null
export async function isDeezerAvailable(): Promise<boolean> {

View File

@@ -6,6 +6,8 @@ import session from 'express-session'
import { WEBUI_DIR } from './helpers/paths'
const MemoryStore = require('memorystore')(session)
declare module 'express-session' {
export interface SessionData {
dz: any
@@ -22,6 +24,9 @@ export function registerMiddlewares(app: Application) {
app.use(cookieParser())
app.use(
session({
store: new MemoryStore({
checkPeriod: 86400000 // prune expired entries every 24h
}),
secret: 'U2hoLCBpdHMgYSBzZWNyZXQh',
resave: true,
saveUninitialized: true

View File

@@ -6,15 +6,6 @@ import { sessionDZ, getQueue, deemixVersion, isDeezerAvailable } from '../main'
const router = express.Router()
let update: any = null
/**
* GET home page
*
* @since 0.0.0
*/
router.get('/', (_, res) => {
res.render('index', { title: 'deemix' })
})
router.get('/connect', async (req, res) => {
if (!sessionDZ[req.session.id]) sessionDZ[req.session.id] = new Deezer()
const dz = sessionDZ[req.session.id]