Commit 58442aef authored by Christopher Mark Fullarton's avatar Christopher Mark Fullarton
Browse files

Updates library versions

parent 7bd96109
......@@ -12,6 +12,5 @@ module.exports = {
timeout: 60000,
recursive: true,
require: ["ts-node/register", "source-map-support/register", "src/tests/mongo-mock.ts"],
ui: 'mocha-typescript',
'watch-files': ['src/**/*.ts'],
};
......@@ -23,99 +23,98 @@
"dependency-check": "npx --ignore-existing madge --circular --extensions ts src"
},
"dependencies": {
"@sentry/node": "^5.15.5",
"@typegoose/typegoose": "7.2.0",
"amqplib": "^0.5.6",
"api-spec-converter": "^2.11.0",
"body-parser": "^1.19.0",
"bunyan": "^1.8.12",
"bunyan-express-serializer": "^1.0.0",
"cas": "0.0.3",
"class-transformer": "^0.2.3",
"@gitbeaker/node": "^25.3.0",
"@sentry/node": "5.27.4",
"@typegoose/typegoose": "7.4.2",
"amqplib": "0.6.0",
"api-spec-converter": "2.11.2",
"body-parser": "1.19.0",
"bunyan": "1.8.14",
"bunyan-express-serializer": "1.0.0",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"class-validator-jsonschema": "^2.0.1",
"compression": "^1.7.4",
"cors": "^2.8.5",
"crypto-js": "^4.0.0",
"excel4node": "^1.7.2",
"express": "^4.17.1",
"express-prom-bundle": "^6.0.0",
"file-type": "^14.5.0",
"gitlab": "^11.4.2",
"i18n": "^0.9.1",
"imagemin": "^7.0.1",
"imagemin-pngquant": "^8.0.0",
"jsonwebtoken": "^8.5.1",
"mathjax-node": "^2.1.1",
"messageformat": "^2.3.0",
"migrate-mongo": "^7.2.1",
"mime": "^2.4.5",
"mime-types": "^2.1.27",
"minimist": "^1.2.5",
"mongoose": "^5.9.15",
"morgan": "^1.10.0",
"multer": "^1.4.2",
"nodemailer": "^6.4.6",
"prom-client": "^12.0.0",
"puppeteer": "^2.0.0",
"reflect-metadata": "^0.1.13",
"request": "^2.88.2",
"request-promise-native": "^1.0.8",
"route-cache": "^0.4.4",
"routing-controllers": "^0.8.1",
"routing-controllers-openapi": "^2.0.0",
"scuttlebutt": "^5.6.15",
"sharp": "^0.22.1",
"simple-oauth2": "^3.4.0",
"source-map-support": "^0.5.19",
"superagent": "^5.2.2",
"swagger-ui-express": "^4.1.4",
"prometheus-gc-stats": "^0.6.2",
"timesync": "^1.0.5",
"twitter": "^1.7.1",
"web-push": "^3.4.4",
"xml2js": "^0.4.23"
"class-validator-jsonschema": "2.0.3",
"compression": "1.7.4",
"cors": "2.8.5",
"crypto-js": "4.0.0",
"excel4node": "1.7.2",
"express": "4.17.1",
"express-prom-bundle": "6.2.0",
"file-type": "16.0.1",
"i18n": "0.13.2",
"imagemin": "7.0.1",
"imagemin-pngquant": "9.0.1",
"jsonwebtoken": "8.5.1",
"mathjax-node": "2.1.1",
"messageformat": "2.3.0",
"migrate-mongo": "8.1.4",
"mime": "2.4.6",
"mime-types": "2.1.27",
"minimist": "1.2.5",
"mongoose": "5.10.14",
"morgan": "1.10.0",
"multer": "1.4.2",
"nodemailer": "6.4.16",
"prom-client": "12.0.0",
"prometheus-gc-stats": "0.6.3",
"puppeteer": "5.4.1",
"reflect-metadata": "0.1.13",
"request": "2.88.2",
"request-promise-native": "1.0.9",
"route-cache": "0.4.5",
"routing-controllers": "0.9.0-alpha.6",
"routing-controllers-openapi": "2.1.0",
"scuttlebutt": "5.6.15",
"sharp": "0.26.2",
"simple-oauth2": "4.1.0",
"source-map-support": "0.5.19",
"superagent": "6.1.0",
"swagger-ui-express": "4.1.4",
"timesync": "1.0.8",
"twitter": "1.7.1",
"web-push": "3.4.4",
"xml2js": "0.4.23"
},
"devDependencies": {
"@types/amqplib": "^0.5.13",
"@types/amqplib": "0.5.16",
"@types/body-parser": "1.19.0",
"@types/bunyan": "^1.8.6",
"@types/chai": "^4.2.11",
"@types/chai-http": "^4.2.0",
"@types/compression": "^1.7.0",
"@types/cors": "^2.8.6",
"@types/crypto-js": "^3.1.46",
"@types/express": "^4.17.6",
"@types/file-type": "^10.9.1",
"@types/i18n": "^0.8.6",
"@types/jsonwebtoken": "^8.5.0",
"@types/lodash": "^4.14.152",
"@types/minimist": "^1.2.0",
"@types/mocha": "^7.0.2",
"@types/mongoose": "^5.7.21",
"@types/morgan": "^1.9.0",
"@types/node": "^13.9.8",
"@types/puppeteer": "^2.0.1",
"@types/request": "^2.48.5",
"@types/request-promise-native": "^1.0.17",
"@types/sharp": "^0.24.0",
"@types/sinon": "^9.0.3",
"@types/twitter": "^1.7.0",
"@types/web-push": "^3.3.0",
"@types/xml2js": "^0.4.5",
"chai": "^4.2.0",
"chai-http": "^4.3.0",
"mocha": "^7.1.2",
"mocha-prepare": "^0.1.0",
"mocha-typescript": "^1.1.17",
"mongodb-memory-server": "^6.6.1",
"nyc": "^15.1.0",
"rimraf": "^3.0.2",
"sinon": "^9.0.2",
"ts-loader": "^7.0.4",
"ts-node": "^8.10.1",
"tslint": "^6.1.2",
"typescript": "^3.9.5"
"@types/bunyan": "1.8.6",
"@types/chai": "4.2.14",
"@types/chai-http": "4.2.0",
"@types/compression": "1.7.0",
"@types/cors": "2.8.8",
"@types/crypto-js": "4.0.1",
"@types/express": "4.17.9",
"@types/file-type": "10.9.1",
"@types/i18n": "0.8.8",
"@types/jsonwebtoken": "8.5.0",
"@types/lodash": "4.14.165",
"@types/minimist": "1.2.1",
"@types/mocha": "8.0.4",
"@types/mongoose": "5.10.0",
"@types/morgan": "1.9.2",
"@types/node": "14.14.7",
"@types/puppeteer": "5.4.0",
"@types/request": "2.48.5",
"@types/request-promise-native": "1.0.17",
"@types/sharp": "0.26.1",
"@types/sinon": "9.0.8",
"@types/twitter": "1.7.0",
"@types/web-push": "3.3.0",
"@types/xml2js": "0.4.5",
"chai": "4.2.0",
"chai-http": "4.3.0",
"mocha": "8.2.1",
"mocha-prepare": "0.1.0",
"@testdeck/mocha": "0.1.2",
"mongodb-memory-server": "6.9.2",
"nyc": "15.1.0",
"rimraf": "3.0.2",
"sinon": "9.2.1",
"ts-loader": "8.0.11",
"ts-node": "9.0.0",
"tslint": "6.1.3",
"typescript": "4.0.5"
},
"keywords": [
"arsnova",
......
import { Gitlab } from 'gitlab';
import { Gitlab } from '@gitbeaker/node';
import { GitlabCommitAction, GitlabProject, Language } from '../enums/Enums';
import { IGitlabCommitAction } from '../interfaces/gitlab/apiv11';
import { asyncForEach } from '../lib/async-for-each';
......
import { getModelForClass, prop, Severity } from '@typegoose/typegoose';
import { getModelForClass, modelOptions, prop, Severity } from '@typegoose/typegoose';
import { IsArray, IsEnum, IsString } from 'class-validator';
import DbDAO from '../db/DbDAO';
import { DbCollection } from '../enums/DbOperation';
import { HistoryModelType } from '../enums/HistoryModelType';
@modelOptions({ options: { allowMixed: Severity.ALLOW } }) //
export class HistoryModelItem {
@prop({
enum: HistoryModelType,
......
import { getModelForClass, index, prop, Severity } from '@typegoose/typegoose';
import { getModelForClass, index, modelOptions, prop, Severity } from '@typegoose/typegoose';
import { IsArray, IsString } from 'class-validator';
import { PushSubscription } from 'web-push';
import DbDAO from '../../db/DbDAO';
import { DbCollection } from '../../enums/DbOperation';
import { IUserSerialized } from '../../interfaces/users/IUserSerialized';
@index({ name: 1 }, { unique: true })
@index({ name: 1 }, { unique: true }) //
@modelOptions({ options: { allowMixed: Severity.ALLOW } }) //
export class UserModelItem implements IUserSerialized {
@prop({ required: true }) @IsString() public name: string;
@prop({ required: false }) @IsString() public passwordHash: string;
......
import { getModelForClass, index, pre, prop, Severity } from '@typegoose/typegoose';
import { getModelForClass, index, modelOptions, pre, prop, Severity } from '@typegoose/typegoose';
import { IsArray, IsBoolean, IsObject, IsString } from 'class-validator';
import DbDAO from '../../db/DbDAO';
import { DbCollection } from '../../enums/DbOperation';
......@@ -20,7 +20,8 @@ import { ICasData } from '../../interfaces/users/ICasData';
if (!this.colorCode && this.name) {
this.colorCode = generateRandomColorCode(this.name);
}
})
}) //
@modelOptions({ options: { allowMixed: Severity.ALLOW } }) //
export class MemberModelItem implements IMemberSerialized {
@prop() @IsString() public colorCode: string;
@prop({ required: false }) @IsString() public groupName: string;
......
import { getModelForClass, index, prop, Severity } from '@typegoose/typegoose';
import { getModelForClass, index, modelOptions, prop, Severity } from '@typegoose/typegoose';
import { IsArray, IsBoolean, IsDate, IsEnum, IsNumber, IsObject, IsString } from 'class-validator';
import { Document } from 'mongoose';
import DbDAO from '../../db/DbDAO';
......@@ -15,7 +15,8 @@ import { SessionConfigurationModelItem } from '../session-config/SessionConfigur
locale: 'en',
strength: 1,
},
})
}) //
@modelOptions({ options: { allowMixed: Severity.ALLOW } }) //
export class QuizModelItem implements IQuiz {
@prop({ required: false }) @IsDate() public expiry?: Date;
@prop({
......
import { getModelForClass, prop, Severity } from '@typegoose/typegoose';
import { getModelForClass, modelOptions, prop, Severity } from '@typegoose/typegoose';
import { IsBoolean, IsEmail, IsObject, IsString } from 'class-validator';
import DbDAO from '../../db/DbDAO';
import { DbCollection } from '../../enums/DbOperation';
import { IQuestion } from '../../interfaces/questions/IQuestion';
@modelOptions({ options: { allowMixed: Severity.ALLOW } }) //
export class QuizPoolModelItem {
@prop({ validate: (value: IQuestion) => Array.isArray(value.tags) && value.tags.length > 0 }) //
@IsObject() //
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test } from 'mocha-typescript';
import { suite, test } from '@testdeck/mocha';
import DbDAO from '../../db/DbDAO';
@suite
......
/* tslint:disable:no-unused-expression */
import { suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { suite, test } from 'mocha-typescript';
import DbDAO from '../../db/DbDAO';
import QuizDAO from '../../db/QuizDAO';
import { QuizState } from '../../enums/QuizState';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { slow, suite, test, timeout } from '@testdeck/mocha';
import * as assert from 'assert';
import * as fs from 'fs';
import * as i18n from 'i18n';
import * as MessageFormat from 'messageformat';
import { slow, suite, test, timeout } from 'mocha-typescript';
import * as path from 'path';
import DbDAO from '../../db/DbDAO';
import MemberDAO from '../../db/MemberDAO';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { slow, suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { slow, suite, test } from 'mocha-typescript';
import app from '../../App';
import DbDAO from '../../db/DbDAO';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { suite, test } from 'mocha-typescript';
import app from '../../App';
import DbDAO from '../../db/DbDAO';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { slow, suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { slow, suite, test } from 'mocha-typescript';
import * as puppeteer from 'puppeteer';
import * as sinon from 'sinon';
import router from '../../App';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import * as fs from 'fs';
import { suite, test } from 'mocha-typescript';
import * as path from 'path';
import * as routeCache from 'route-cache';
import app from '../../App';
......@@ -38,7 +38,7 @@ class MemberApiRouterTestSuite {
@test
public async getRemainingNicks(): Promise<void> {
const quiz: IQuiz = JSON.parse(
fs.readFileSync(path.join(settings.pathToAssets, 'predefined_quizzes', 'demo_quiz', 'en.demo_quiz.json')).toString('UTF-8'));
fs.readFileSync(path.join(settings.pathToAssets, 'predefined_quizzes', 'demo_quiz', 'en.demo_quiz.json')).toString('utf-8'));
quiz.name = this._hashtag;
const doc = await QuizDAO.addQuiz(quiz);
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { suite, test } from 'mocha-typescript';
import app from '../../App';
import DbDAO from '../../db/DbDAO';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test, timeout } from '@testdeck/mocha';
import * as chai from 'chai';
import * as fs from 'fs';
import { suite, test, timeout } from 'mocha-typescript';
import * as path from 'path';
import * as routeCache from 'route-cache';
import app from '../../App';
......@@ -61,7 +61,7 @@ class QuizApiRouterTestSuite {
@test
public async getStatusWhenAvailable(): Promise<void> {
const quiz: IQuiz = JSON.parse(
fs.readFileSync(path.join(settings.pathToAssets, 'predefined_quizzes', 'demo_quiz', 'en.demo_quiz.json')).toString('UTF-8'));
fs.readFileSync(path.join(settings.pathToAssets, 'predefined_quizzes', 'demo_quiz', 'en.demo_quiz.json')).toString('utf-8'));
quiz.name = this._hashtag;
const doc = await QuizDAO.addQuiz(quiz);
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test, timeout } from '@testdeck/mocha';
import * as chai from 'chai';
import { suite, test, timeout } from 'mocha-typescript';
import { ObjectId } from 'mongodb';
import * as path from 'path';
import app from '../../App';
......
/// <reference path="../../../node_modules/chai-http/types/index.d.ts" />
import { suite, test } from '@testdeck/mocha';
import * as chai from 'chai';
import { suite, test } from 'mocha-typescript';
import app from '../../App';
import DbDAO from '../../db/DbDAO';
import { settings } from '../../statistics';
......
import { suite, test } from 'mocha-typescript';
import { suite, test } from '@testdeck/mocha';
import * as sinon from 'sinon';
import DbDAO from '../../db/DbDAO';
import MongoDBConnector from '../../db/MongoDBConnector';
......
......@@ -4,9 +4,9 @@
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"lib": [
"esnext",
"es2020",
"dom"
],
"module": "commonjs",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment