Merge pull request 'upgrades' (#18) from upgrades into main
All checks were successful
Node.js CI / build (22.x) (push) Successful in 2m27s
Node.js CI / build (20.x) (push) Successful in 2m28s
Vercel Production Deployment / Deploy-Production (push) Successful in 3m43s

Reviewed-on: #18
This commit is contained in:
2025-12-04 03:27:17 +00:00
9 changed files with 1269 additions and 1262 deletions

View File

@@ -17,11 +17,9 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [18.x, 20.x, 22.x] node-version: [20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps: steps:
- uses: actions/checkout@v4
- name: "Base requirements" - name: "Base requirements"
run: | run: |
# packages # packages
@@ -30,13 +28,15 @@ jobs:
ansible-galaxy collection install community.general --force ansible-galaxy collection install community.general --force
ansible-galaxy collection install ansible.posix --force ansible-galaxy collection install ansible.posix --force
- uses: actions/checkout@v4
# Corepack # Corepack
- name: Install Corepack - name: Install Corepack
run: npm install -g corepack run: npm install -g corepack
- name: "Enable Corepack" - name: "Enable Corepack"
run: corepack enable run: corepack enable
- name: "Install Yarn" - name: "Install Yarn"
run: corepack prepare yarn@4.9.2 --activate run: corepack prepare yarn@latest --activate
# YARN # YARN
- name: "Install Dependencies" - name: "Install Dependencies"

View File

@@ -13,6 +13,26 @@ jobs:
Deploy-Preview: Deploy-Preview:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
# Setup environment
- name: "Base requirements"
run: |
# packages
apk update && apk add --no-cache git docker docker-compose nodejs gpg openssh npm ansible
# ansible collections
ansible-galaxy collection install community.general --force
ansible-galaxy collection install ansible.posix --force
- uses: actions/checkout@v2
# Corepack
- name: Install Corepack
run: npm install -g corepack
- name: "Enable Corepack"
run: corepack enable
- name: "Install Yarn"
run: corepack prepare yarn@latest --activate
# Vercel
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: "Install Vercel CLI" - name: "Install Vercel CLI"
run: npm install --global vercel@latest run: npm install --global vercel@latest

View File

@@ -10,8 +10,28 @@ on:
jobs: jobs:
Deploy-Production: Deploy-Production:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
# Setup environment
- name: "Base requirements"
run: |
# packages
apk update && apk add --no-cache git docker docker-compose nodejs gpg openssh npm ansible
# ansible collections
ansible-galaxy collection install community.general --force
ansible-galaxy collection install ansible.posix --force
- uses: actions/checkout@v2 - uses: actions/checkout@v2
# Corepack
- name: Install Corepack
run: npm install -g corepack
- name: "Enable Corepack"
run: corepack enable
- name: "Install Yarn"
run: corepack prepare yarn@latest --activate
# Vercel
- name: "Install Vercel CLI" - name: "Install Vercel CLI"
run: npm install --global vercel@latest run: npm install --global vercel@latest
- name: "Pull Vercel Environment Information" - name: "Pull Vercel Environment Information"

View File

@@ -1,34 +1,41 @@
import { dirname } from "path"; import { defineConfig, globalIgnores } from "eslint/config";
import { fileURLToPath } from "url"; import nextVitals from "eslint-config-next/core-web-vitals";
import { FlatCompat } from "@eslint/eslintrc";
import jsxA11y from "eslint-plugin-jsx-a11y";
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
import reactPlugin from "eslint-plugin-react"; import reactPlugin from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks";
import eslint from "@eslint/js"; import eslint from "@eslint/js";
import tseslint from "typescript-eslint"; import tseslint from "typescript-eslint";
import jsxA11y from "eslint-plugin-jsx-a11y";
import reactHooks from "eslint-plugin-react-hooks";
const __filename = fileURLToPath(import.meta.url); const eslintConfig = defineConfig([
const __dirname = dirname(__filename); ...nextVitals,
const compat = new FlatCompat({
baseDirectory: __dirname
});
const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
eslintPluginPrettierRecommended, eslintPluginPrettierRecommended,
reactPlugin.configs.flat.recommended, reactPlugin.configs.flat.recommended,
reactPlugin.configs.flat["jsx-runtime"], reactPlugin.configs.flat["jsx-runtime"],
eslint.configs.recommended, eslint.configs.recommended,
// tseslint.configs.recommended,
// tseslint.configs.stylistic,
// reactHooks.configs.flat.recommended,
// Override default ignores of eslint-config-next.
globalIgnores([
// Default ignores of eslint-config-next:
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
"types/**"
]),
{ {
rules: {
"@typescript-eslint/no-empty-object-type": "off"
},
plugins: { plugins: {
jsxA11y: jsxA11y.configs.strict, jsxA11y: jsxA11y.configs.strict,
"react-hooks": reactHooks, reactHooks: reactHooks.configs.recommended,
tseslint: tseslint.configs.recommended, tseslint: tseslint.configs.recommended,
"tseslint-styles": tseslint.configs.stylistic tseslintStyle: tseslint.configs.stylisticTypeChecked
} }
} }
]; ]);
export default eslintConfig; export default eslintConfig;

2
next-env.d.ts vendored
View File

@@ -1,6 +1,6 @@
/// <reference types="next" /> /// <reference types="next" />
/// <reference types="next/image-types/global" /> /// <reference types="next/image-types/global" />
/// <reference path="./.next/types/routes.d.ts" /> import "./.next/types/routes.d.ts";
// NOTE: This file should not be edited // NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

View File

@@ -1,43 +1,43 @@
{ {
"name": "werewolf-kid-creations-website", "name": "werewolf-kid-creations-website",
"homepage": "https://werewolfkid.monster/", "homepage": "https://werewolfkid.monster/",
"version": "0.1.0", "version": "0.1.1",
"private": true, "private": true,
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint", "lint": "eslint .",
"pretty": "prettier --write ." "pretty": "prettier --write ."
}, },
"dependencies": { "dependencies": {
"@chakra-ui/react": "^3.27.1", "@chakra-ui/react": "^3.30.0",
"@emotion/react": "^11.14.0", "@emotion/react": "^11.14.0",
"next": "15.5.4", "next": "16.0.7",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"react": "^19.2.0", "react": "^19.2.1",
"react-dom": "^19.2.0", "react-dom": "^19.2.1",
"react-icons": "^5.5.0" "react-icons": "^5.5.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3.3.1", "@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.37.0", "@eslint/js": "^9.39.1",
"@types/node": "^24.7.2", "@types/node": "^24.10.1",
"@types/react": "^19.2.2", "@types/react": "^19.2.7",
"@types/react-dom": "^19.2.1", "@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^8.46.0", "@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.46.0", "@typescript-eslint/parser": "^8.48.1",
"eslint": "^9.37.0", "eslint": "^9.39.1",
"eslint-config-next": "15.5.4", "eslint-config-next": "16.0.7",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^5.5.4", "eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-react": "^7.37.5", "eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.0", "eslint-plugin-react-hooks": "^7.0.1",
"prettier": "3.6.2", "prettier": "3.7.4",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"typescript-eslint": "^8.46.0" "typescript-eslint": "^8.48.1"
}, },
"packageManager": "yarn@4.9.2" "packageManager": "yarn@4.12.0"
} }

View File

@@ -1,5 +1,3 @@
/* eslint-disable @typescript-eslint/no-empty-object-type */
/* eslint-disable prettier/prettier */
/* eslint-disable no-unused-vars */ /* eslint-disable no-unused-vars */
"use client"; "use client";

View File

@@ -1,7 +1,11 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "ESNext", "target": "ESNext",
"lib": ["dom", "dom.iterable", "esnext"], "lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true, "allowJs": true,
"skipLibCheck": true, "skipLibCheck": true,
"strict": true, "strict": true,
@@ -11,7 +15,7 @@
"moduleResolution": "Bundler", "moduleResolution": "Bundler",
"resolveJsonModule": true, "resolveJsonModule": true,
"isolatedModules": true, "isolatedModules": true,
"jsx": "preserve", "jsx": "react-jsx",
"incremental": true, "incremental": true,
"plugins": [ "plugins": [
{ {
@@ -19,9 +23,19 @@
} }
], ],
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": [
"./src/*"
]
} }
}, },
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], "include": [
"exclude": ["node_modules"] "next-env.d.ts",
"**/*.ts",
"**/*.tsx",
".next/types/**/*.ts",
".next/dev/types/**/*.ts"
],
"exclude": [
"node_modules"
]
} }

2372
yarn.lock

File diff suppressed because it is too large Load Diff