5 Commits

15 changed files with 2150 additions and 1582 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@thream/website", "name": "@thream/website",
"dockerComposeFile": "./docker-compose.yml", "dockerComposeFile": "./compose.yaml",
"service": "workspace", "service": "workspace",
"workspaceFolder": "/workspace", "workspaceFolder": "/workspace",
"customizations": { "customizations": {

View File

@ -16,7 +16,7 @@ jobs:
language: ['javascript'] language: ['javascript']
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
- name: 'Initialize CodeQL' - name: 'Initialize CodeQL'
uses: 'github/codeql-action/init@v2' uses: 'github/codeql-action/init@v2'

View File

@ -10,10 +10,10 @@ jobs:
build: build:
runs-on: 'ubuntu-latest' runs-on: 'ubuntu-latest'
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
- name: 'Setup Node.js' - name: 'Setup Node.js'
uses: 'actions/setup-node@v3.6.0' uses: 'actions/setup-node@v3.8.1'
with: with:
node-version: '20.x' node-version: '20.x'
cache: 'npm' cache: 'npm'

View File

@ -10,10 +10,10 @@ jobs:
lint: lint:
runs-on: 'ubuntu-latest' runs-on: 'ubuntu-latest'
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
- name: 'Setup Node.js' - name: 'Setup Node.js'
uses: 'actions/setup-node@v3.6.0' uses: 'actions/setup-node@v3.8.1'
with: with:
node-version: '20.x' node-version: '20.x'
cache: 'npm' cache: 'npm'

View File

@ -8,20 +8,20 @@ jobs:
release: release:
runs-on: 'ubuntu-latest' runs-on: 'ubuntu-latest'
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
with: with:
fetch-depth: 0 fetch-depth: 0
persist-credentials: false persist-credentials: false
- name: 'Import GPG key' - name: 'Import GPG key'
uses: 'crazy-max/ghaction-import-gpg@v5.3.0' uses: 'crazy-max/ghaction-import-gpg@v6.0.0'
with: with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
git_user_signingkey: true git_user_signingkey: true
git_commit_gpgsign: true git_commit_gpgsign: true
- name: 'Setup Node.js' - name: 'Setup Node.js'
uses: 'actions/setup-node@v3.6.0' uses: 'actions/setup-node@v3.8.1'
with: with:
node-version: '20.x' node-version: '20.x'
cache: 'npm' cache: 'npm'

View File

@ -10,10 +10,10 @@ jobs:
test-unit: test-unit:
runs-on: 'ubuntu-latest' runs-on: 'ubuntu-latest'
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
- name: 'Setup Node.js' - name: 'Setup Node.js'
uses: 'actions/setup-node@v3.6.0' uses: 'actions/setup-node@v3.8.1'
with: with:
node-version: '20.x' node-version: '20.x'
cache: 'npm' cache: 'npm'
@ -27,10 +27,10 @@ jobs:
test-e2e: test-e2e:
runs-on: 'ubuntu-latest' runs-on: 'ubuntu-latest'
steps: steps:
- uses: 'actions/checkout@v3.5.3' - uses: 'actions/checkout@v4.0.0'
- name: 'Setup Node.js' - name: 'Setup Node.js'
uses: 'actions/setup-node@v3.6.0' uses: 'actions/setup-node@v3.8.1'
with: with:
node-version: '20.x' node-version: '20.x'
cache: 'npm' cache: 'npm'

View File

@ -1,10 +1,10 @@
FROM node:20.5.0 AS builder-dependencies FROM node:20.6.1 AS builder-dependencies
WORKDIR /usr/src/application WORKDIR /usr/src/application
COPY ./.npmrc ./ COPY ./.npmrc ./
COPY ./package*.json ./ COPY ./package*.json ./
RUN npm clean-install RUN npm clean-install
FROM node:20.5.0 AS builder FROM node:20.6.1 AS builder
WORKDIR /usr/src/application WORKDIR /usr/src/application
COPY --from=builder-dependencies /usr/src/application/node_modules ./node_modules COPY --from=builder-dependencies /usr/src/application/node_modules ./node_modules
COPY ./ ./ COPY ./ ./
@ -13,6 +13,7 @@ RUN npm run build
FROM gcr.io/distroless/nodejs20-debian11:latest AS runner FROM gcr.io/distroless/nodejs20-debian11:latest AS runner
WORKDIR /usr/src/application WORKDIR /usr/src/application
ENV NODE_ENV=production ENV NODE_ENV=production
ENV HOSTNAME=0.0.0.0
ENV NEXT_TELEMETRY_DISABLED=1 ENV NEXT_TELEMETRY_DISABLED=1
COPY --from=builder /usr/src/application/.next/standalone ./ COPY --from=builder /usr/src/application/.next/standalone ./
COPY --from=builder /usr/src/application/.next/static ./.next/static COPY --from=builder /usr/src/application/.next/static ./.next/static

View File

@ -18,7 +18,7 @@
Thream's website to stay close with your friends and communities. Thream's website to stay close with your friends and communities.
It uses [Thream/api](https://github.com/Thream/api) [v1.2.8](https://github.com/Thream/api/releases/tag/v1.2.8). It uses [Thream/api](https://github.com/Thream/api) [v1.2.9](https://github.com/Thream/api/releases/tag/v1.2.9).
## ⚙️ Getting Started ## ⚙️ Getting Started

View File

@ -4,6 +4,9 @@ const nextTranslate = require('next-translate-plugin')
const nextConfig = { const nextConfig = {
reactStrictMode: false, reactStrictMode: false,
output: 'standalone', output: 'standalone',
eslint: {
ignoreDuringBuilds: true
},
images: { images: {
domains: [ domains: [
'api.thream.theoludwig.fr', 'api.thream.theoludwig.fr',

3614
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@thream/website", "name": "@thream/website",
"version": "1.3.8", "version": "1.3.9",
"private": true, "private": true,
"repository": { "repository": {
"type": "git", "type": "git",
@ -29,17 +29,17 @@
"postinstall": "husky install" "postinstall": "husky install"
}, },
"dependencies": { "dependencies": {
"@fontsource/montserrat": "5.0.5", "@fontsource/montserrat": "5.0.8",
"@fontsource/roboto": "5.0.5", "@fontsource/roboto": "5.0.8",
"@heroicons/react": "1.0.6", "@heroicons/react": "1.0.6",
"@sinclair/typebox": "0.29.6", "@sinclair/typebox": "0.31.15",
"@thream/socketio-jwt": "3.1.2", "@thream/socketio-jwt": "3.1.3",
"axios": "1.4.0", "axios": "1.5.0",
"clsx": "2.0.0", "clsx": "2.0.0",
"date-and-time": "3.0.2", "date-and-time": "3.0.3",
"emoji-mart": "3.0.1", "emoji-mart": "3.0.1",
"katex": "0.16.8", "katex": "0.16.8",
"next": "13.4.7", "next": "13.4.19",
"next-themes": "0.2.1", "next-themes": "0.2.1",
"next-translate": "2.4.4", "next-translate": "2.4.4",
"pretty-bytes": "6.1.1", "pretty-bytes": "6.1.1",
@ -51,59 +51,59 @@
"react-responsive": "9.0.2", "react-responsive": "9.0.2",
"react-swipeable": "7.0.1", "react-swipeable": "7.0.1",
"react-syntax-highlighter": "15.5.0", "react-syntax-highlighter": "15.5.0",
"react-textarea-autosize": "8.5.2", "react-textarea-autosize": "8.5.3",
"read-pkg": "8.0.0", "read-pkg": "8.1.0",
"rehype-katex": "6.0.3", "rehype-katex": "6.0.3",
"remark-breaks": "3.0.3", "remark-breaks": "3.0.3",
"remark-gfm": "3.0.1", "remark-gfm": "3.0.1",
"remark-math": "5.1.1", "remark-math": "5.1.1",
"sharp": "0.32.4", "sharp": "0.32.6",
"socket.io-client": "4.7.1", "socket.io-client": "4.7.2",
"unified": "10.1.2", "unified": "10.1.2",
"unist-util-visit": "4.1.2", "unist-util-visit": "4.1.2",
"universal-cookie": "4.0.4" "universal-cookie": "6.1.1"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "17.6.7", "@commitlint/cli": "17.7.1",
"@commitlint/config-conventional": "17.6.7", "@commitlint/config-conventional": "17.7.0",
"@saithodev/semantic-release-backmerge": "3.2.0", "@saithodev/semantic-release-backmerge": "3.2.0",
"@semantic-release/git": "10.0.1", "@semantic-release/git": "10.0.1",
"@tsconfig/strictest": "2.0.1", "@tsconfig/strictest": "2.0.2",
"@types/emoji-mart": "3.0.9", "@types/emoji-mart": "3.0.9",
"@types/hast": "2.3.4", "@types/hast": "2.3.4",
"@types/katex": "0.16.1", "@types/katex": "0.16.3",
"@types/node": "20.4.4", "@types/node": "20.6.2",
"@types/react": "18.2.15", "@types/react": "18.2.22",
"@types/react-responsive": "8.0.5", "@types/react-responsive": "8.0.5",
"@types/react-syntax-highlighter": "15.5.7", "@types/react-syntax-highlighter": "15.5.7",
"@types/unist": "2.0.6", "@types/unist": "2.0.6",
"@typescript-eslint/eslint-plugin": "6.1.0", "@typescript-eslint/eslint-plugin": "6.7.2",
"@typescript-eslint/parser": "6.1.0", "@typescript-eslint/parser": "6.7.2",
"autoprefixer": "10.4.14", "autoprefixer": "10.4.15",
"cypress": "12.17.2", "cypress": "13.2.0",
"editorconfig-checker": "5.1.1", "editorconfig-checker": "5.1.1",
"eslint": "8.45.0", "eslint": "8.49.0",
"eslint-config-conventions": "11.0.1", "eslint-config-conventions": "11.0.1",
"eslint-config-next": "13.4.7", "eslint-config-next": "13.4.19",
"eslint-config-prettier": "8.8.0", "eslint-config-prettier": "9.0.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.28.1",
"eslint-plugin-prettier": "5.0.0", "eslint-plugin-prettier": "5.0.0",
"eslint-plugin-promise": "6.1.1", "eslint-plugin-promise": "6.1.1",
"eslint-plugin-unicorn": "48.0.0", "eslint-plugin-unicorn": "48.0.1",
"html-w3c-validator": "1.4.0", "html-w3c-validator": "1.5.0",
"husky": "8.0.3", "husky": "8.0.3",
"lint-staged": "13.2.3", "lint-staged": "14.0.1",
"markdownlint-cli2": "0.8.1", "markdownlint-cli2": "0.10.0",
"markdownlint-rule-relative-links": "2.1.0", "markdownlint-rule-relative-links": "2.1.0",
"mockttp": "3.9.1", "mockttp": "3.9.2",
"next-translate-plugin": "2.4.4", "next-translate-plugin": "2.4.4",
"plop": "3.1.2", "plop": "4.0.0",
"postcss": "8.4.27", "postcss": "8.4.28",
"prettier": "3.0.0", "prettier": "3.0.3",
"prettier-plugin-tailwindcss": "0.4.1", "prettier-plugin-tailwindcss": "0.5.4",
"semantic-release": "21.0.7", "semantic-release": "21.1.1",
"start-server-and-test": "2.0.0", "start-server-and-test": "2.0.0",
"tailwindcss": "3.3.3", "tailwindcss": "3.3.3",
"typescript": "5.1.6" "typescript": "5.2.2"
} }
} }

View File

@ -1,6 +1,6 @@
import axios from 'axios' import axios from 'axios'
export const API_VERSION = '1.2.8' export const API_VERSION = '1.2.9'
export const API_DEFAULT_PORT = 8080 export const API_DEFAULT_PORT = 8080

View File

@ -2,8 +2,9 @@
"extends": "@tsconfig/strictest/tsconfig.json", "extends": "@tsconfig/strictest/tsconfig.json",
"compilerOptions": { "compilerOptions": {
"target": "ESNext", "target": "ESNext",
"module": "ESNext",
"lib": ["dom", "dom.iterable", "ESNext"], "lib": ["dom", "dom.iterable", "ESNext"],
"module": "ESNext",
"moduleResolution": "Node",
"allowJs": true, "allowJs": true,
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
@ -11,7 +12,6 @@
}, },
"types": ["cypress"], "types": ["cypress"],
"noEmit": true, "noEmit": true,
"moduleResolution": "node",
"resolveJsonModule": true, "resolveJsonModule": true,
"jsx": "preserve", "jsx": "preserve",
"incremental": true, "incremental": true,