Compare commits
6 Commits
i18n_crowd
...
v1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99c6a4fa74 | ||
|
|
4a6f1019c0 | ||
|
|
f646c9f1ab | ||
|
|
be8a0d0315 | ||
|
|
81b1970099 | ||
|
|
60f8d38baf |
1
.github/workflows/backend-system-tests.yml
vendored
1
.github/workflows/backend-system-tests.yml
vendored
@@ -7,6 +7,7 @@ on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
system-tests:
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"plugins": ["@typescript-eslint"],
|
||||
"root": true
|
||||
}
|
||||
27
backend/eslint.config.mjs
Normal file
27
backend/eslint.config.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
import { defineConfig } from "eslint/config";
|
||||
import typescriptEslint from "@typescript-eslint/eslint-plugin";
|
||||
import tsParser from "@typescript-eslint/parser";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import js from "@eslint/js";
|
||||
import { FlatCompat } from "@eslint/eslintrc";
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const compat = new FlatCompat({
|
||||
baseDirectory: __dirname,
|
||||
recommendedConfig: js.configs.recommended,
|
||||
allConfig: js.configs.all
|
||||
});
|
||||
|
||||
export default defineConfig([{
|
||||
extends: compat.extends("eslint:recommended", "plugin:@typescript-eslint/recommended"),
|
||||
|
||||
plugins: {
|
||||
"@typescript-eslint": typescriptEslint,
|
||||
},
|
||||
|
||||
languageOptions: {
|
||||
parser: tsParser,
|
||||
},
|
||||
}]);
|
||||
7650
backend/package-lock.json
generated
7650
backend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -13,34 +13,34 @@
|
||||
"seed": "ts-node prisma/seed/config.seed.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.758.0",
|
||||
"@nestjs/cache-manager": "^2.2.2",
|
||||
"@nestjs/common": "^10.4.3",
|
||||
"@nestjs/config": "^3.2.3",
|
||||
"@nestjs/core": "^10.4.3",
|
||||
"@nestjs/jwt": "^10.2.0",
|
||||
"@nestjs/passport": "^10.0.3",
|
||||
"@nestjs/platform-express": "^10.4.3",
|
||||
"@nestjs/schedule": "^4.1.1",
|
||||
"@nestjs/swagger": "^7.4.2",
|
||||
"@nestjs/throttler": "^6.2.1",
|
||||
"@prisma/client": "^6.4.1",
|
||||
"@aws-sdk/client-s3": "^3.775.0",
|
||||
"@nestjs/cache-manager": "^3.0.1",
|
||||
"@nestjs/common": "^11.0.12",
|
||||
"@nestjs/config": "^4.0.1",
|
||||
"@nestjs/core": "^11.0.12",
|
||||
"@nestjs/jwt": "^11.0.0",
|
||||
"@nestjs/passport": "^11.0.5",
|
||||
"@nestjs/platform-express": "^11.0.12",
|
||||
"@nestjs/schedule": "^5.0.1",
|
||||
"@nestjs/swagger": "^11.1.0",
|
||||
"@nestjs/throttler": "^6.4.0",
|
||||
"@prisma/client": "^6.5.0",
|
||||
"@types/jmespath": "^0.15.2",
|
||||
"archiver": "^7.0.1",
|
||||
"argon2": "^0.41.1",
|
||||
"body-parser": "^1.20.3",
|
||||
"cache-manager": "^5.7.6",
|
||||
"clamscan": "^2.3.1",
|
||||
"cache-manager": "^6.4.1",
|
||||
"clamscan": "^2.4.0",
|
||||
"class-transformer": "^0.5.1",
|
||||
"class-validator": "^0.14.1",
|
||||
"content-disposition": "^0.5.4",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"cookie-parser": "^1.4.7",
|
||||
"jmespath": "^0.16.0",
|
||||
"ldapts": "^7.2.0",
|
||||
"ldapts": "^7.3.3",
|
||||
"mime-types": "^2.1.35",
|
||||
"moment": "^2.30.1",
|
||||
"nanoid": "^3.3.7",
|
||||
"nodemailer": "^6.9.15",
|
||||
"nanoid": "^5.1.5",
|
||||
"nodemailer": "^6.10.0",
|
||||
"otplib": "^12.0.1",
|
||||
"passport": "^0.7.0",
|
||||
"passport-jwt": "^4.0.1",
|
||||
@@ -48,42 +48,43 @@
|
||||
"qrcode-svg": "^1.1.0",
|
||||
"reflect-metadata": "^0.2.2",
|
||||
"rimraf": "^6.0.1",
|
||||
"rxjs": "^7.8.1",
|
||||
"rxjs": "^7.8.2",
|
||||
"sharp": "^0.33.5",
|
||||
"ts-node": "^10.9.2",
|
||||
"yaml": "^2.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/cli": "^10.4.5",
|
||||
"@nestjs/schematics": "^10.1.4",
|
||||
"@nestjs/testing": "^10.4.3",
|
||||
"@types/archiver": "^6.0.2",
|
||||
"@types/clamscan": "^2.0.8",
|
||||
"@types/cookie-parser": "^1.4.7",
|
||||
"@types/cron": "^2.4.0",
|
||||
"@types/express": "^4.17.21",
|
||||
"@nestjs/cli": "^11.0.5",
|
||||
"@nestjs/schematics": "^11.0.2",
|
||||
"@nestjs/testing": "^11.0.12",
|
||||
"@types/archiver": "^6.0.3",
|
||||
"@types/clamscan": "^2.4.0",
|
||||
"@types/cookie-parser": "^1.4.8",
|
||||
"@types/cron": "^2.4.3",
|
||||
"@types/express": "^5.0.1",
|
||||
"@types/mime-types": "^2.1.4",
|
||||
"@types/multer": "^1.4.12",
|
||||
"@types/node": "^22.5.5",
|
||||
"@types/nodemailer": "^6.4.16",
|
||||
"@types/node": "^22.13.13",
|
||||
"@types/nodemailer": "^6.4.17",
|
||||
"@types/passport-jwt": "^4.0.1",
|
||||
"@types/qrcode-svg": "^1.1.5",
|
||||
"@types/sharp": "^0.32.0",
|
||||
"@types/supertest": "^6.0.2",
|
||||
"@types/supertest": "^6.0.3",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.6.0",
|
||||
"@typescript-eslint/parser": "^8.6.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.28.0",
|
||||
"@typescript-eslint/parser": "^8.28.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.10.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-prettier": "^5.2.1",
|
||||
"eslint": "9.23.0",
|
||||
"eslint-config-next": "^15.2.4",
|
||||
"eslint-config-prettier": "^10.1.1",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"newman": "^6.2.1",
|
||||
"prettier": "^3.3.3",
|
||||
"prisma": "^6.4.1",
|
||||
"prettier": "^3.5.3",
|
||||
"prisma": "^6.5.0",
|
||||
"source-map-support": "^0.5.21",
|
||||
"ts-loader": "^9.5.1",
|
||||
"ts-loader": "^9.5.2",
|
||||
"tsconfig-paths": "4.2.0",
|
||||
"typescript": "^5.6.2",
|
||||
"wait-on": "^8.0.1"
|
||||
"typescript": "^5.8.2",
|
||||
"wait-on": "^8.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"extends": [
|
||||
"next",
|
||||
"eslint-config-next",
|
||||
"eslint:recommended",
|
||||
"prettier"
|
||||
],
|
||||
"plugins": ["react"],
|
||||
"rules": {
|
||||
"quotes": ["warn", "double", { "allowTemplateLiterals": true }],
|
||||
"react-hooks/exhaustive-deps": ["off"],
|
||||
"import/no-anonymous-default-export": ["off"],
|
||||
"no-unused-vars": ["warn"],
|
||||
"react/no-unescaped-entities": ["off"],
|
||||
"@next/next/no-img-element": ["off"]
|
||||
}
|
||||
}
|
||||
34
frontend/eslint.config.mjs
Normal file
34
frontend/eslint.config.mjs
Normal file
@@ -0,0 +1,34 @@
|
||||
import { defineConfig } from "eslint/config";
|
||||
import react from "eslint-plugin-react";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import js from "@eslint/js";
|
||||
import { FlatCompat } from "@eslint/eslintrc";
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const compat = new FlatCompat({
|
||||
baseDirectory: __dirname,
|
||||
recommendedConfig: js.configs.recommended,
|
||||
allConfig: js.configs.all
|
||||
});
|
||||
|
||||
export default defineConfig([{
|
||||
extends: compat.extends("next", "eslint-config-next", "eslint:recommended", "prettier"),
|
||||
|
||||
plugins: {
|
||||
react,
|
||||
},
|
||||
|
||||
rules: {
|
||||
quotes: ["warn", "double", {
|
||||
allowTemplateLiterals: true,
|
||||
}],
|
||||
|
||||
"react-hooks/exhaustive-deps": ["off"],
|
||||
"import/no-anonymous-default-export": ["off"],
|
||||
"no-unused-vars": ["warn"],
|
||||
"react/no-unescaped-entities": ["off"],
|
||||
"@next/next/no-img-element": ["off"],
|
||||
},
|
||||
}]);
|
||||
15474
frontend/package-lock.json
generated
15474
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@
|
||||
"format": "prettier --end-of-line=auto --write \"src/**/*.ts*\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/react": "^11.14.0",
|
||||
"@emotion/server": "^11.11.0",
|
||||
"@mantine/core": "^6.0.21",
|
||||
"@mantine/dropzone": "^6.0.21",
|
||||
@@ -18,37 +18,38 @@
|
||||
"@mantine/modals": "^6.0.21",
|
||||
"@mantine/next": "^6.0.21",
|
||||
"@mantine/notifications": "^6.0.21",
|
||||
"axios": "^1.7.7",
|
||||
"cookies-next": "^4.2.1",
|
||||
"axios": "^1.8.4",
|
||||
"cookies-next": "^5.1.0",
|
||||
"file-saver": "^2.0.5",
|
||||
"jose": "^5.9.2",
|
||||
"jose": "^6.0.10",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"markdown-to-jsx": "^7.5.0",
|
||||
"markdown-to-jsx": "^7.7.4",
|
||||
"mime-types": "^2.1.35",
|
||||
"moment": "^2.30.1",
|
||||
"next": "^14.2.12",
|
||||
"next": "^15.2.4",
|
||||
"next-http-proxy-middleware": "^1.2.6",
|
||||
"next-pwa": "^5.6.0",
|
||||
"p-limit": "^6.1.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-icons": "^5.3.0",
|
||||
"react-intl": "^6.6.8",
|
||||
"p-limit": "^6.2.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-icons": "^5.5.0",
|
||||
"react-intl": "^7.1.10",
|
||||
"sharp": "^0.33.5",
|
||||
"yup": "^1.4.0"
|
||||
"yup": "^1.6.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mime-types": "^2.1.4",
|
||||
"@types/node": "22.5.5",
|
||||
"@types/react": "18.3.7",
|
||||
"@types/react-dom": "18.3.0",
|
||||
"@typescript-eslint/parser": "^8.6.0",
|
||||
"axios": "^1.7.7",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-next": "^14.2.12",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"prettier": "^3.3.3",
|
||||
"@types/node": "22.13.13",
|
||||
"@types/react": "19.0.12",
|
||||
"@types/react-dom": "19.0.4",
|
||||
"@typescript-eslint/parser": "^8.28.0",
|
||||
"axios": "^1.8.4",
|
||||
"eslint": "9.23.0",
|
||||
"eslint-config-next": "^15.2.4",
|
||||
"eslint-config-prettier": "^10.1.1",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"prettier": "^3.5.3",
|
||||
"tar": "^7.4.3",
|
||||
"typescript": "^5.6.2"
|
||||
"typescript": "^5.8.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ const Dropzone = ({
|
||||
const t = useTranslate();
|
||||
|
||||
const { classes } = useStyles();
|
||||
const openRef = useRef<() => void>();
|
||||
const openRef = useRef<() => void>(null);
|
||||
return (
|
||||
<div className={classes.wrapper}>
|
||||
<MantineDropzone
|
||||
|
||||
@@ -9,7 +9,7 @@ const useTranslate = () => {
|
||||
values?: Parameters<typeof intl.formatMessage>[1],
|
||||
opts?: Parameters<typeof intl.formatMessage>[2],
|
||||
) => {
|
||||
return intl.formatMessage({ id }, values, opts) as string;
|
||||
return intl.formatMessage({ id }, values, opts) as unknown as string;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ export const translateOutsideContext = () => {
|
||||
values?: Parameters<typeof intl.formatMessage>[1],
|
||||
opts?: Parameters<typeof intl.formatMessage>[2],
|
||||
) => {
|
||||
return intl.formatMessage({ id }, values, opts) as string;
|
||||
return intl.formatMessage({ id }, values, opts) as unknown as string;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import {
|
||||
SiDiscord,
|
||||
SiGithub,
|
||||
SiGoogle,
|
||||
SiMicrosoft,
|
||||
SiOpenid,
|
||||
} from "react-icons/si";
|
||||
FaDiscord,
|
||||
FaGithub,
|
||||
FaGoogle,
|
||||
FaMicrosoft,
|
||||
FaOpenid,
|
||||
} from "react-icons/fa6";
|
||||
import React from "react";
|
||||
import api from "../services/api.service";
|
||||
|
||||
@@ -14,11 +14,11 @@ const getOAuthUrl = (appUrl: string, provider: string) => {
|
||||
|
||||
const getOAuthIcon = (provider: string) => {
|
||||
return {
|
||||
google: <SiGoogle />,
|
||||
microsoft: <SiMicrosoft />,
|
||||
github: <SiGithub />,
|
||||
discord: <SiDiscord />,
|
||||
oidc: <SiOpenid />,
|
||||
google: <FaGoogle />,
|
||||
microsoft: <FaMicrosoft />,
|
||||
github: <FaGithub />,
|
||||
discord: <FaDiscord />,
|
||||
oidc: <FaOpenid />,
|
||||
}[provider];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user