Update server dependencies
This commit is contained in:
parent
57c318653e
commit
83002a8234
47
package.json
47
package.json
|
@ -73,9 +73,6 @@
|
||||||
"client-report": "bash ./scripts/client-report.sh",
|
"client-report": "bash ./scripts/client-report.sh",
|
||||||
"swagger-cli": "swagger-cli"
|
"swagger-cli": "swagger-cli"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
|
||||||
"eslint/esquery": "1.4.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.190.0",
|
"@aws-sdk/client-s3": "^3.190.0",
|
||||||
"@aws-sdk/lib-storage": "^3.190.0",
|
"@aws-sdk/lib-storage": "^3.190.0",
|
||||||
|
@ -84,14 +81,14 @@
|
||||||
"@node-oauth/oauth2-server": "^4.2.0",
|
"@node-oauth/oauth2-server": "^4.2.0",
|
||||||
"@opentelemetry/api": "^1.1.0",
|
"@opentelemetry/api": "^1.1.0",
|
||||||
"@opentelemetry/exporter-jaeger": "^1.3.1",
|
"@opentelemetry/exporter-jaeger": "^1.3.1",
|
||||||
"@opentelemetry/exporter-prometheus": "~0.35.1",
|
"@opentelemetry/exporter-prometheus": "~0.39.1",
|
||||||
"@opentelemetry/instrumentation": "^0.35.1",
|
"@opentelemetry/instrumentation": "^0.39.1",
|
||||||
"@opentelemetry/instrumentation-dns": "^0.31.2",
|
"@opentelemetry/instrumentation-dns": "^0.31.2",
|
||||||
"@opentelemetry/instrumentation-express": "^0.32.1",
|
"@opentelemetry/instrumentation-express": "^0.32.1",
|
||||||
"@opentelemetry/instrumentation-fs": "^0.7.0",
|
"@opentelemetry/instrumentation-fs": "^0.7.0",
|
||||||
"@opentelemetry/instrumentation-http": "^0.35.1",
|
"@opentelemetry/instrumentation-http": "^0.39.1",
|
||||||
"@opentelemetry/instrumentation-ioredis": "^0.33.2",
|
"@opentelemetry/instrumentation-ioredis": "^0.34.2",
|
||||||
"@opentelemetry/instrumentation-pg": "^0.34.1",
|
"@opentelemetry/instrumentation-pg": "^0.35.2",
|
||||||
"@opentelemetry/resources": "^1.3.1",
|
"@opentelemetry/resources": "^1.3.1",
|
||||||
"@opentelemetry/sdk-metrics": "^1.8.0",
|
"@opentelemetry/sdk-metrics": "^1.8.0",
|
||||||
"@opentelemetry/sdk-trace-base": "^1.3.1",
|
"@opentelemetry/sdk-trace-base": "^1.3.1",
|
||||||
|
@ -104,7 +101,7 @@
|
||||||
"async-mutex": "^0.4.0",
|
"async-mutex": "^0.4.0",
|
||||||
"bcrypt": "5.1.0",
|
"bcrypt": "5.1.0",
|
||||||
"bencode": "^2.0.2",
|
"bencode": "^2.0.2",
|
||||||
"bittorrent-tracker": "^9.0.0",
|
"bittorrent-tracker": "^9",
|
||||||
"bluebird": "^3.5.0",
|
"bluebird": "^3.5.0",
|
||||||
"bullmq": "^3.6.6",
|
"bullmq": "^3.6.6",
|
||||||
"bytes": "^3.0.0",
|
"bytes": "^3.0.0",
|
||||||
|
@ -113,18 +110,18 @@
|
||||||
"config": "^3.0.0",
|
"config": "^3.0.0",
|
||||||
"cookie-parser": "^1.4.3",
|
"cookie-parser": "^1.4.3",
|
||||||
"cors": "^2.8.1",
|
"cors": "^2.8.1",
|
||||||
"create-torrent": "^5.0.0",
|
"create-torrent": "^5",
|
||||||
"deep-object-diff": "^1.1.0",
|
"deep-object-diff": "^1.1.0",
|
||||||
"email-templates": "^11.0.3",
|
"email-templates": "^11.0.3",
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"express": "^4.18.1",
|
"express": "^4.18.1",
|
||||||
"express-rate-limit": "^6.1.0",
|
"express-rate-limit": "^6.1.0",
|
||||||
"express-validator": "^6.4.0",
|
"express-validator": "^7.0.1",
|
||||||
"flat": "^5.0.0",
|
"flat": "^5.0.0",
|
||||||
"fluent-ffmpeg": "^2.1.0",
|
"fluent-ffmpeg": "^2.1.0",
|
||||||
"fs-extra": "^11.1.0",
|
"fs-extra": "^11.1.0",
|
||||||
"got": "^11.8.2",
|
"got": "^11.8.2",
|
||||||
"helmet": "^6.0.0",
|
"helmet": "^7.0.0",
|
||||||
"hpagent": "^1.0.0",
|
"hpagent": "^1.0.0",
|
||||||
"http-problem-details": "^0.1.5",
|
"http-problem-details": "^0.1.5",
|
||||||
"ioredis": "^5.2.3",
|
"ioredis": "^5.2.3",
|
||||||
|
@ -134,10 +131,10 @@
|
||||||
"iso-639-3": "2.2.0",
|
"iso-639-3": "2.2.0",
|
||||||
"jimp": "^0.22.4",
|
"jimp": "^0.22.4",
|
||||||
"js-yaml": "^4.0.0",
|
"js-yaml": "^4.0.0",
|
||||||
"jsonld": "~8.1.0",
|
"jsonld": "~8.2.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lru-cache": "^7.13.0",
|
"lru-cache": "^9.1.1",
|
||||||
"magnet-uri": "^6.1.0",
|
"magnet-uri": "^6",
|
||||||
"markdown-it": "^13.0.1",
|
"markdown-it": "^13.0.1",
|
||||||
"markdown-it-emoji": "^2.0.0",
|
"markdown-it-emoji": "^2.0.0",
|
||||||
"maxmind": "^4.3.6",
|
"maxmind": "^4.3.6",
|
||||||
|
@ -146,10 +143,10 @@
|
||||||
"multer": "^1.4.5-lts.1",
|
"multer": "^1.4.5-lts.1",
|
||||||
"node-media-server": "^2.1.4",
|
"node-media-server": "^2.1.4",
|
||||||
"nodemailer": "^6.0.0",
|
"nodemailer": "^6.0.0",
|
||||||
"opentelemetry-instrumentation-sequelize": "^0.34.0",
|
"opentelemetry-instrumentation-sequelize": "^0.35.0",
|
||||||
"otpauth": "^9.0.2",
|
"otpauth": "^9.0.2",
|
||||||
"p-queue": "^6",
|
"p-queue": "^6",
|
||||||
"parse-torrent": "^9.1.0",
|
"parse-torrent": "^9",
|
||||||
"password-generator": "^2.0.2",
|
"password-generator": "^2.0.2",
|
||||||
"pg": "^8.2.1",
|
"pg": "^8.2.1",
|
||||||
"piscina": "^3.2.0",
|
"piscina": "^3.2.0",
|
||||||
|
@ -158,7 +155,7 @@
|
||||||
"pug": "^3.0.0",
|
"pug": "^3.0.0",
|
||||||
"reflect-metadata": "^0.1.12",
|
"reflect-metadata": "^0.1.12",
|
||||||
"sanitize-html": "2.x",
|
"sanitize-html": "2.x",
|
||||||
"sequelize": "6.29.0",
|
"sequelize": "6.31.1",
|
||||||
"sequelize-typescript": "^2.0.0-beta.1",
|
"sequelize-typescript": "^2.0.0-beta.1",
|
||||||
"short-uuid": "^4.2.0",
|
"short-uuid": "^4.2.0",
|
||||||
"sitemap": "^7.0.0",
|
"sitemap": "^7.0.0",
|
||||||
|
@ -170,7 +167,7 @@
|
||||||
"useragent": "^2.3.0",
|
"useragent": "^2.3.0",
|
||||||
"validator": "^13.0.0",
|
"validator": "^13.0.0",
|
||||||
"webfinger.js": "^2.6.6",
|
"webfinger.js": "^2.6.6",
|
||||||
"webtorrent": "^1.0.0",
|
"webtorrent": "^1.9",
|
||||||
"winston": "3.8.2",
|
"winston": "3.8.2",
|
||||||
"ws": "^8.0.0"
|
"ws": "^8.0.0"
|
||||||
},
|
},
|
||||||
|
@ -209,12 +206,12 @@
|
||||||
"chai": "^4.1.1",
|
"chai": "^4.1.1",
|
||||||
"chai-json-schema": "^1.5.0",
|
"chai-json-schema": "^1.5.0",
|
||||||
"chai-xml": "^0.4.0",
|
"chai-xml": "^0.4.0",
|
||||||
"concurrently": "^7.0.0",
|
"concurrently": "^8.0.1",
|
||||||
"depcheck": "^1.4.2",
|
"depcheck": "^1.4.2",
|
||||||
"eslint": "8.34.0",
|
"eslint": "8.41.0",
|
||||||
"eslint-config-standard-with-typescript": "34.0.0",
|
"eslint-config-standard-with-typescript": "34.0.1",
|
||||||
"eslint-plugin-import": "^2.20.1",
|
"eslint-plugin-import": "^2.20.1",
|
||||||
"eslint-plugin-n": "^15.2.4",
|
"eslint-plugin-n": "^16.0.0",
|
||||||
"eslint-plugin-node": "^11.0.0",
|
"eslint-plugin-node": "^11.0.0",
|
||||||
"eslint-plugin-promise": "^6.0.0",
|
"eslint-plugin-promise": "^6.0.0",
|
||||||
"fast-xml-parser": "^4.0.0-beta.8",
|
"fast-xml-parser": "^4.0.0-beta.8",
|
||||||
|
@ -222,14 +219,14 @@
|
||||||
"mocha": "^10.0.0",
|
"mocha": "^10.0.0",
|
||||||
"pixelmatch": "^5.3.0",
|
"pixelmatch": "^5.3.0",
|
||||||
"pngjs": "^7.0.0",
|
"pngjs": "^7.0.0",
|
||||||
"proxy": "^1.0.2",
|
"proxy": "^2.1.1",
|
||||||
"resolve-tspaths": "^0.8.8",
|
"resolve-tspaths": "^0.8.8",
|
||||||
"socket.io-client": "^4.5.4",
|
"socket.io-client": "^4.5.4",
|
||||||
"supertest": "^6.0.1",
|
"supertest": "^6.0.1",
|
||||||
"swagger-cli": "^4.0.2",
|
"swagger-cli": "^4.0.2",
|
||||||
"ts-node": "^10.8.1",
|
"ts-node": "^10.8.1",
|
||||||
"tsc-watch": "^6.0.0",
|
"tsc-watch": "^6.0.0",
|
||||||
"typescript": "~4.8"
|
"typescript": "~5.0.4"
|
||||||
},
|
},
|
||||||
"bundlewatch": {
|
"bundlewatch": {
|
||||||
"files": [
|
"files": [
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Server as TrackerServer } from 'bittorrent-tracker'
|
import { Server as TrackerServer } from 'bittorrent-tracker'
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import { createServer } from 'http'
|
import { createServer } from 'http'
|
||||||
import LRUCache from 'lru-cache'
|
import { LRUCache } from 'lru-cache'
|
||||||
import proxyAddr from 'proxy-addr'
|
import proxyAddr from 'proxy-addr'
|
||||||
import { WebSocketServer } from 'ws'
|
import { WebSocketServer } from 'ws'
|
||||||
import { logger } from '../helpers/logger'
|
import { logger } from '../helpers/logger'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { UploadFilesForCheck } from 'express'
|
import { UploadFilesForCheck } from 'express'
|
||||||
import magnetUtil from 'magnet-uri'
|
import { decode as magnetUriDecode } from 'magnet-uri'
|
||||||
import validator from 'validator'
|
import validator from 'validator'
|
||||||
import { VideoFilter, VideoInclude, VideoPrivacy, VideoRateType } from '@shared/models'
|
import { VideoFilter, VideoInclude, VideoPrivacy, VideoRateType } from '@shared/models'
|
||||||
import {
|
import {
|
||||||
|
@ -137,7 +137,7 @@ function isVideoFileSizeValid (value: string) {
|
||||||
function isVideoMagnetUriValid (value: string) {
|
function isVideoMagnetUriValid (value: string) {
|
||||||
if (!exists(value)) return false
|
if (!exists(value)) return false
|
||||||
|
|
||||||
const parsed = magnetUtil.decode(value)
|
const parsed = magnetUriDecode(value)
|
||||||
return parsed && isVideoFileInfoHashValid(parsed.infoHash)
|
return parsed && isVideoFileInfoHashValid(parsed.infoHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { copy, readFile, remove, rename } from 'fs-extra'
|
import { copy, readFile, remove, rename } from 'fs-extra'
|
||||||
import Jimp, { read as jimpRead } from 'jimp'
|
import Jimp, { read as jimpRead } from 'jimp'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
|
import { ColorActionName } from '@jimp/plugin-color'
|
||||||
import { getLowercaseExtension } from '@shared/core-utils'
|
import { getLowercaseExtension } from '@shared/core-utils'
|
||||||
import { buildUUID } from '@shared/extra-utils'
|
import { buildUUID } from '@shared/extra-utils'
|
||||||
import { convertWebPToJPG, generateThumbnailFromVideo, processGIF } from './ffmpeg'
|
import { convertWebPToJPG, generateThumbnailFromVideo, processGIF } from './ffmpeg'
|
||||||
|
@ -131,7 +132,7 @@ async function autoResize (options: {
|
||||||
|
|
||||||
if (sourceIsPortrait && !destIsPortraitOrSquare) {
|
if (sourceIsPortrait && !destIsPortraitOrSquare) {
|
||||||
const baseImage = sourceImage.cloneQuiet().cover(newSize.width, newSize.height)
|
const baseImage = sourceImage.cloneQuiet().cover(newSize.width, newSize.height)
|
||||||
.color([ { apply: 'shade', params: [ 50 ] } ])
|
.color([ { apply: ColorActionName.SHADE, params: [ 50 ] } ])
|
||||||
|
|
||||||
const topImage = sourceImage.cloneQuiet().contain(newSize.width, newSize.height)
|
const topImage = sourceImage.cloneQuiet().contain(newSize.width, newSize.height)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { decode, encode } from 'bencode'
|
import { decode, encode } from 'bencode'
|
||||||
import createTorrent from 'create-torrent'
|
import createTorrent from 'create-torrent'
|
||||||
import { createWriteStream, ensureDir, pathExists, readFile, remove, writeFile } from 'fs-extra'
|
import { createWriteStream, ensureDir, pathExists, readFile, remove, writeFile } from 'fs-extra'
|
||||||
import magnetUtil from 'magnet-uri'
|
import { encode as magnetUriEncode } from 'magnet-uri'
|
||||||
import parseTorrent from 'parse-torrent'
|
import parseTorrent from 'parse-torrent'
|
||||||
import { dirname, join } from 'path'
|
import { dirname, join } from 'path'
|
||||||
import { pipeline } from 'stream'
|
import { pipeline } from 'stream'
|
||||||
|
@ -185,7 +185,7 @@ function generateMagnetUri (
|
||||||
name: video.name
|
name: video.name
|
||||||
}
|
}
|
||||||
|
|
||||||
return magnetUtil.encode(magnetHash)
|
return magnetUriEncode(magnetHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { maxBy, minBy } from 'lodash'
|
import { maxBy, minBy } from 'lodash'
|
||||||
import magnetUtil from 'magnet-uri'
|
import { decode as magnetUriDecode } from 'magnet-uri'
|
||||||
import { basename } from 'path'
|
import { basename } from 'path'
|
||||||
import { isAPVideoFileUrlMetadataObject } from '@server/helpers/custom-validators/activitypub/videos'
|
import { isAPVideoFileUrlMetadataObject } from '@server/helpers/custom-validators/activitypub/videos'
|
||||||
import { isVideoFileInfoHashValid } from '@server/helpers/custom-validators/videos'
|
import { isVideoFileInfoHashValid } from '@server/helpers/custom-validators/videos'
|
||||||
|
@ -62,7 +62,7 @@ function getFileAttributesFromUrl (
|
||||||
|
|
||||||
if (!magnet) throw new Error('Cannot find associated magnet uri for file ' + fileUrl.href)
|
if (!magnet) throw new Error('Cannot find associated magnet uri for file ' + fileUrl.href)
|
||||||
|
|
||||||
const parsed = magnetUtil.decode(magnet.href)
|
const parsed = magnetUriDecode(magnet.href)
|
||||||
if (!parsed || isVideoFileInfoHashValid(parsed.infoHash) === false) {
|
if (!parsed || isVideoFileInfoHashValid(parsed.infoHash) === false) {
|
||||||
throw new Error('Cannot parse magnet URI ' + magnet.href)
|
throw new Error('Cannot parse magnet URI ' + magnet.href)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import LRUCache from 'lru-cache'
|
import { LRUCache } from 'lru-cache'
|
||||||
import { MOAuthTokenUser } from '@server/types/models'
|
import { MOAuthTokenUser } from '@server/types/models'
|
||||||
import { LRU_CACHE } from '../../initializers/constants'
|
import { LRU_CACHE } from '../../initializers/constants'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { remove } from 'fs-extra'
|
import { remove } from 'fs-extra'
|
||||||
import LRUCache from 'lru-cache'
|
import { LRUCache } from 'lru-cache'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
import { Transaction } from 'sequelize/types'
|
import { Transaction } from 'sequelize/types'
|
||||||
import { ActorModel } from '@server/models/actor/actor'
|
import { ActorModel } from '@server/models/actor/actor'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import LRUCache from 'lru-cache'
|
import { LRUCache } from 'lru-cache'
|
||||||
import { LRU_CACHE } from '@server/initializers/constants'
|
import { LRU_CACHE } from '@server/initializers/constants'
|
||||||
import { MUserAccountUrl } from '@server/types/models'
|
import { MUserAccountUrl } from '@server/types/models'
|
||||||
import { pick } from '@shared/core-utils'
|
import { pick } from '@shared/core-utils'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import { query } from 'express-validator'
|
import { query } from 'express-validator'
|
||||||
import LRUCache from 'lru-cache'
|
import { LRUCache } from 'lru-cache'
|
||||||
import { basename, dirname } from 'path'
|
import { basename, dirname } from 'path'
|
||||||
import { exists, isSafePeerTubeFilenameWithoutExtension, isUUIDValid, toBooleanOrNull } from '@server/helpers/custom-validators/misc'
|
import { exists, isSafePeerTubeFilenameWithoutExtension, isUUIDValid, toBooleanOrNull } from '@server/helpers/custom-validators/misc'
|
||||||
import { logger } from '@server/helpers/logger'
|
import { logger } from '@server/helpers/logger'
|
||||||
|
|
|
@ -54,7 +54,7 @@ describe('Test upload quota', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should fail with a registered user having too many videos with resumable upload', async function () {
|
it('Should fail with a registered user having too many videos with resumable upload', async function () {
|
||||||
this.timeout(30000)
|
this.timeout(120000)
|
||||||
|
|
||||||
const user = { username: 'registered' + randomInt(1, 1500), password: 'password' }
|
const user = { username: 'registered' + randomInt(1, 1500), password: 'password' }
|
||||||
await server.registrations.register(user)
|
await server.registrations.register(user)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
import { expect } from 'chai'
|
import { expect } from 'chai'
|
||||||
import { readdir } from 'fs-extra'
|
import { readdir } from 'fs-extra'
|
||||||
import magnetUtil from 'magnet-uri'
|
import { decode as magnetUriDecode } from 'magnet-uri'
|
||||||
import { basename, join } from 'path'
|
import { basename, join } from 'path'
|
||||||
import { checkSegmentHash, checkVideoFilesWereRemoved, saveVideoInServers } from '@server/tests/shared'
|
import { checkSegmentHash, checkVideoFilesWereRemoved, saveVideoInServers } from '@server/tests/shared'
|
||||||
import { wait } from '@shared/core-utils'
|
import { wait } from '@shared/core-utils'
|
||||||
|
@ -29,7 +29,7 @@ let servers: PeerTubeServer[] = []
|
||||||
let video1Server2: VideoDetails
|
let video1Server2: VideoDetails
|
||||||
|
|
||||||
async function checkMagnetWebseeds (file: VideoFile, baseWebseeds: string[], server: PeerTubeServer) {
|
async function checkMagnetWebseeds (file: VideoFile, baseWebseeds: string[], server: PeerTubeServer) {
|
||||||
const parsed = magnetUtil.decode(file.magnetUri)
|
const parsed = magnetUriDecode(file.magnetUri)
|
||||||
|
|
||||||
for (const ws of baseWebseeds) {
|
for (const ws of baseWebseeds) {
|
||||||
const found = parsed.urlList.find(url => url === `${ws}${basename(file.fileUrl)}`)
|
const found = parsed.urlList.find(url => url === `${ws}${basename(file.fileUrl)}`)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await,@typescript-eslint/no-floating-promises */
|
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await,@typescript-eslint/no-floating-promises */
|
||||||
|
|
||||||
import magnetUtil from 'magnet-uri'
|
import { decode as magnetUriDecode, encode as magnetUriEncode } from 'magnet-uri'
|
||||||
import WebTorrent from 'webtorrent'
|
import WebTorrent from 'webtorrent'
|
||||||
import { cleanupTests, createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
|
import { cleanupTests, createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
|
||||||
|
|
||||||
|
@ -19,10 +19,10 @@ describe('Test tracker', function () {
|
||||||
const video = await server.videos.get({ id: uuid })
|
const video = await server.videos.get({ id: uuid })
|
||||||
goodMagnet = video.files[0].magnetUri
|
goodMagnet = video.files[0].magnetUri
|
||||||
|
|
||||||
const parsed = magnetUtil.decode(goodMagnet)
|
const parsed = magnetUriDecode(goodMagnet)
|
||||||
parsed.infoHash = '010597bb88b1968a5693a4fa8267c592ca65f2e9'
|
parsed.infoHash = '010597bb88b1968a5693a4fa8267c592ca65f2e9'
|
||||||
|
|
||||||
badMagnet = magnetUtil.encode(parsed)
|
badMagnet = magnetUriEncode(parsed)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -189,7 +189,7 @@ describe('Test VOD transcoding in peertube-runner program', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should transcode videos on manual run', async function () {
|
it('Should transcode videos on manual run', async function () {
|
||||||
this.timeout(360000)
|
this.timeout(120000)
|
||||||
|
|
||||||
await servers[0].config.disableTranscoding()
|
await servers[0].config.disableTranscoding()
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { createServer, Server } from 'http'
|
import { createServer, Server } from 'http'
|
||||||
import proxy from 'proxy'
|
import { createProxy } from 'proxy'
|
||||||
import { getPort, terminateServer } from './shared'
|
import { getPort, terminateServer } from './shared'
|
||||||
|
|
||||||
class MockProxy {
|
class MockProxy {
|
||||||
|
@ -7,7 +7,7 @@ class MockProxy {
|
||||||
|
|
||||||
initialize () {
|
initialize () {
|
||||||
return new Promise<number>(res => {
|
return new Promise<number>(res => {
|
||||||
this.server = proxy(createServer())
|
this.server = createProxy(createServer())
|
||||||
this.server.listen(0, () => res(getPort(this.server)))
|
this.server.listen(0, () => res(getPort(this.server)))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue