Skip to content

Commit

Permalink
merge v13 work
Browse files Browse the repository at this point in the history
merge v13 work
  • Loading branch information
Alfagun74 authored Aug 28, 2024
2 parents 00a9401 + 6aed340 commit 76388e1
Show file tree
Hide file tree
Showing 168 changed files with 7,643 additions and 5,308 deletions.
8 changes: 2 additions & 6 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ module.exports = {
parserOptions: {
project: "tsconfig.json",
sourceType: "module",
ecmaVersion: "latest"
ecmaVersion: "latest",
},
plugins: ["@typescript-eslint/eslint-plugin", "simple-import-sort"],
plugins: ["@typescript-eslint/eslint-plugin"],
extends: [
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
Expand All @@ -18,8 +18,4 @@ module.exports = {
jest: true,
},
ignorePatterns: [".eslintrc.js"],
rules: {
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error"
},
};
3 changes: 2 additions & 1 deletion .local.env
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
VOLUMES_SQLITEDB=./.local/db
VOLUMES_IMAGES=./.local/images
VOLUMES_MEDIA=./.local/media
VOLUMES_FILES=./.local/files
VOLUMES_LOGS=./.local/logs
VOLUMES_PLUGINS=./.local/plugins

DB_SYSTEM=SQLITE
TESTING_GOOGLE_API_DISABLED=true
Expand Down
File renamed without changes.
File renamed without changes.
10 changes: 9 additions & 1 deletion .npm-upgrade.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
{
"ignore": {
"mime": {
"versions": "4",
"versions": ">3",
"reason": "ESM"
},
"eslint": {
"versions": ">8",
"reason": "New Config, No Plugin Compability"
},
"better-sqlite3": {
"versions": ">9",
"reason": "TypeORM compatibility"
}
}
}
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"singleQuote": false,
"endOfLine": "auto"
"endOfLine": "auto",
"plugins": ["prettier-plugin-organize-imports"]
}
5 changes: 3 additions & 2 deletions .testing.env
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
VOLUMES_SQLITEDB=./.local/db
VOLUMES_IMAGES=./.local/images
VOLUMES_MEDIA=./.local/media
VOLUMES_FILES=./.local/files
VOLUMES_LOGS=./.local/logs
VOLUMES_PLUGINS=./.local/plugins

SERVER_LOG_LEVEL=debug
SERVER_ADMIN_USERNAME=admin
SERVER_ADMIN_PASSWORD=12345678
DB_SYSTEM=SQLITE
TESTING_IN_MEMORY_DB=true
TESTING_MOCK_FILES=true
RAWG_API_KEY=FAKEAPIKEY
DB_SYNCHRONIZE=true #TODO: Remove this after fixing migration
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# GameVault Backend Server Changelog

## 13.0.0

Recommended Gamevault App Version: `v1.11.1.0`

### Breaking Changes & Migration

(Migration Instructions are marked **fat**)

- Added support for more media than just images. Meaning that you can now upload audio and video files. -> **From now on you need to mount your `/images` volume as `/media`.**
- Completely overhauled and fully implemented a new plugin system. [#140](https://github.com/Phalcode/gamevault-backend/issues/140) -> **Old Experimental Plugins are no longer supported. Remove all old plugins.**
- Removed RAWG Integration aswell and all configuration for it. -> **Remove all RAWG related configuration.**
- Removed Google Images Boxart Scraper. (Let's be honest, it was shit anyway.)
- Introduced a new Plugin Framework that universally supports any metadata provider plugin.
- Implemented a built-in IGDB Metadata Provider Plugin as the new default metadata provider. -> **Learn how to set it up [here](#TODO:)**
- Optimized Game Indexer. It now only reads games that have changed instead of reading all files all the time.
- Implemented parental control settings. [#304](https://github.com/Phalcode/gamevault-backend/issues/304) -> **Learn how to set it up [here](#TODO:)**
- TODO: Migrated old Games to new Metadata System.

## 12.2.0

Recommended Gamevault App Version: `v1.11.0.0`
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ ENV PATH=$PNPM_HOME:$PATH
ENV SERVER_PORT=8080

# Create directories and set more restrictive permissions
RUN mkdir -p /files /images /logs /db \
&& chown -R node:node /files /images /logs /db \
&& chmod -R 777 /files /images /logs /db
RUN mkdir -p /files /media /logs /db /plugins \
&& chown -R node:node /files /media /logs /db /plugins \
&& chmod -R 777 /files /media /logs /db /plugins

# Install pnpm and other needed tools
RUN sed -i -e's/ main/ main non-free non-free-firmware contrib/g' /etc/apt/sources.list.d/debian.sources \
Expand Down
1 change: 1 addition & 0 deletions assets/ignored-executables.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ installfile
installscript
installwizard
notification_helper
dotNetFx40_Full_setup
oalinst
patcher
patchinstaller
Expand Down
5 changes: 0 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.8"
services:
gamevault-backend:
build: .
Expand All @@ -7,10 +6,6 @@ services:
DB_HOST: db
DB_USERNAME: gamevault
DB_PASSWORD: RANDOMPASSWORD
# The Following Line grants Admin Role to account with this username upon registration.
SERVER_ADMIN_USERNAME: admin
# Uncomment and Insert your RAWG API Key here if you have one (https://gamevau.lt/docs/server-docs/indexing-and-metadata#rawg-api-key)
# RAWG_API_KEY: YOURAPIKEYHERE
ports:
- 8080:8080
db:
Expand Down
61 changes: 30 additions & 31 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gamevault-backend",
"version": "12.2.0",
"version": "13.0.0",
"description": "the self-hosted gaming platform for drm-free games",
"author": "Alkan Alper, Schäfer Philip GbR / Phalcode",
"private": true,
Expand All @@ -25,21 +25,19 @@
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"
},
"dependencies": {
"@img/sharp-linux-x64": "^0.33.4",
"@nestjs/axios": "^3.0.2",
"@nestjs/common": "^10.3.9",
"@nestjs/core": "^10.3.9",
"@nestjs/axios": "^3.0.3",
"@nestjs/common": "^10.4.1",
"@nestjs/core": "^10.4.1",
"@nestjs/event-emitter": "^2.0.4",
"@nestjs/passport": "^10.0.3",
"@nestjs/platform-express": "^10.3.9",
"@nestjs/platform-socket.io": "^10.3.9",
"@nestjs/schedule": "^4.0.2",
"@nestjs/swagger": "^7.3.1",
"@nestjs/platform-express": "^10.4.1",
"@nestjs/platform-socket.io": "^10.4.1",
"@nestjs/schedule": "^4.1.0",
"@nestjs/swagger": "^7.4.0",
"@nestjs/typeorm": "^10.0.2",
"@nestjs/websockets": "^10.3.9",
"@nestjs/websockets": "^10.4.1",
"@types/stream-throttle": "^0.1.4",
"async-g-i-s": "^1.5.2",
"axios": "^1.7.2",
"axios": "^1.7.4",
"bcrypt": "^5.1.1",
"better-sqlite3": "^9.0.0",
"builder-pattern": "^2.2.0",
Expand All @@ -50,66 +48,67 @@
"cookie-parser": "^1.4.6",
"dotenv": "^16.4.5",
"express": "^4.19.2",
"fastify": "^4.27.0",
"file-type-checker": "^1.1.0",
"fastify": "^4.28.1",
"file-type-checker": "^1.1.1",
"helmet": "^7.1.0",
"lodash": "^4.17.21",
"mime": "^3.0.0",
"morgan": "^1.10.0",
"nest-winston": "^1.10.0",
"nestjs-asyncapi": "^1.3.0",
"nestjs-paginate": "^8.6.2",
"nestjs-paginate": "^9.0.1",
"node-7z": "^3.0.0",
"passport": "^0.7.0",
"passport-http": "^0.3.0",
"pg": "^8.12.0",
"reflect-metadata": "^0.2.2",
"rimraf": "^5.0.7",
"rimraf": "^6.0.1",
"rxjs": "^7.8.1",
"sanitize-filename": "^1.6.3",
"sharp": "^0.33.4",
"socket.io": "^4.7.5",
"stream-throttle": "^0.1.3",
"string-similarity-js": "^2.1.4",
"ts-igdb-client": "^0.4.2",
"typeorm": "^0.3.20",
"typeorm-naming-strategies": "^4.1.0",
"unidecode": "^1.1.0",
"winston": "^3.13.0",
"winston": "^3.14.2",
"winston-console-format": "^1.0.8",
"winston-daily-rotate-file": "^5.0.0"
},
"devDependencies": {
"@nestjs/cli": "^10.3.2",
"@nestjs/schematics": "^10.1.1",
"@nestjs/testing": "^10.3.9",
"@nestjs/cli": "^10.4.4",
"@nestjs/schematics": "^10.1.3",
"@nestjs/testing": "^10.4.1",
"@types/bcrypt": "^5.0.2",
"@types/compression": "^1.7.5",
"@types/cookie-parser": "^1.4.7",
"@types/express": "^4.17.21",
"@types/jest": "^29.5.12",
"@types/lodash": "^4.17.7",
"@types/mime": "^3.0.4",
"@types/morgan": "^1.9.9",
"@types/multer": "^1.4.11",
"@types/node": "^20.14.2",
"@types/node": "^22.4.0",
"@types/node-7z": "^2.1.8",
"@types/passport-http": "^0.3.11",
"@types/pg": "^8.11.6",
"@types/string-similarity": "^4.0.2",
"@types/unidecode": "^0.1.3",
"@typescript-eslint/eslint-plugin": "^7.12.0",
"@typescript-eslint/parser": "^7.12.0",
"@typescript-eslint/eslint-plugin": "^7.17.0",
"@typescript-eslint/parser": "^7.17.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-simple-import-sort": "^12.1.0",
"eslint-plugin-prettier": "^5.2.1",
"jest": "^29.7.0",
"prettier": "^3.3.1",
"prettier": "^3.3.3",
"prettier-plugin-jsdoc": "^1.3.0",
"prettier-plugin-organize-imports": "^4.0.0",
"simple-git-hooks": "^2.11.1",
"ts-jest": "^29.1.4",
"ts-jest": "^29.2.4",
"ts-node": "^10.9.2",
"typescript": "^5.4.5"
"typescript": "^5.5.4"
},
"jest": {
"moduleFileExtensions": [
Expand All @@ -123,10 +122,10 @@
],
"testRegex": ".*\\.spec\\.ts$",
"transform": {
".+\\.(t|j)s$": "ts-jest"
".+\\.ts$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s"
"**/*.ts"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
Expand Down
Loading

0 comments on commit 76388e1

Please sign in to comment.