Compare commits
6 commits
feat/pnpm-
...
master
Author | SHA1 | Date | |
---|---|---|---|
ad20ddea21 | |||
7f2d7bab00 | |||
169a0a3bdc | |||
8c3d5783c0 | |||
56cfe2c055 | |||
0337d6eeee |
14
.eslintrc.js
14
.eslintrc.js
|
@ -4,4 +4,18 @@ module.exports = {
|
|||
parser: '@typescript-eslint/parser',
|
||||
plugins: ['@typescript-eslint'],
|
||||
root: true,
|
||||
rules: {
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"error",
|
||||
{
|
||||
"args": "all",
|
||||
"argsIgnorePattern": "^_",
|
||||
"caughtErrors": "all",
|
||||
"caughtErrorsIgnorePattern": "^_",
|
||||
"destructuredArrayIgnorePattern": "^_",
|
||||
"varsIgnorePattern": "^_",
|
||||
"ignoreRestSiblings": true
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
32
.github/workflows/check.yml
vendored
32
.github/workflows/check.yml
vendored
|
@ -15,17 +15,13 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
cache: "npm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: npm ci
|
||||
|
||||
- name: Run ESLint
|
||||
run: node_modules/.bin/eslint .
|
||||
|
@ -35,17 +31,13 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
cache: "npm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: npm ci
|
||||
|
||||
- name: Run Prettier
|
||||
run: node_modules/.bin/prettier -c .
|
||||
|
@ -55,17 +47,13 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
cache: "npm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: npm ci
|
||||
|
||||
- name: Build package
|
||||
run: pnpm build
|
||||
run: npm run build
|
||||
|
|
20
.github/workflows/code-quality.yml
vendored
20
.github/workflows/code-quality.yml
vendored
|
@ -19,14 +19,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
cache: "npm"
|
||||
|
||||
- name: Configure git
|
||||
run: |
|
||||
|
@ -34,7 +30,7 @@ jobs:
|
|||
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: npm ci
|
||||
|
||||
- name: Run ESLint
|
||||
run: node_modules/.bin/eslint --fix .
|
||||
|
@ -58,14 +54,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
cache: "npm"
|
||||
|
||||
- name: Configure git
|
||||
run: |
|
||||
|
@ -73,7 +65,7 @@ jobs:
|
|||
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: npm ci
|
||||
|
||||
- name: Run Prettier
|
||||
run: node_modules/.bin/prettier -w .
|
||||
|
|
|
@ -2,5 +2,5 @@ dist/
|
|||
public/
|
||||
*.js
|
||||
.github/
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
||||
nodemon.json
|
||||
|
|
|
@ -3,7 +3,6 @@ FROM node:lts-hydrogen as common
|
|||
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
|
||||
ENV PATH=$PATH:/home/node/.npm-global/bin
|
||||
|
||||
RUN npm i -g pnpm
|
||||
|
||||
WORKDIR /home/node/app
|
||||
|
||||
|
@ -11,14 +10,14 @@ FROM common as build
|
|||
|
||||
COPY . /home/node/app
|
||||
|
||||
RUN pnpm install --frozen-lockfile
|
||||
RUN pnpm build
|
||||
RUN npm ci
|
||||
RUN npm run build
|
||||
|
||||
FROM common as app
|
||||
|
||||
COPY --from=build --chown=node:node /home/node/app/dist /home/node/app/dist
|
||||
COPY --from=build --chown=node:node /home/node/app/public /home/node/app/public
|
||||
COPY --from=build --chown=node:node /home/node/app/package.json /home/node/app/pnpm-lock.yaml /home/node/app/
|
||||
COPY --from=build --chown=node:node /home/node/app/package.json /home/node/app/package-lock.json /home/node/app/
|
||||
COPY --from=build --chown=node:node /home/node/app/node_modules /home/node/app/node_modules
|
||||
|
||||
RUN mkdir /home/node/app/data
|
||||
|
|
50
default.nix
50
default.nix
|
@ -1,46 +1,4 @@
|
|||
{ pkgs ? (import <nixpkgs> {})}:
|
||||
with pkgs;
|
||||
with (import (fetchFromGitHub {
|
||||
owner = "TSRBerry";
|
||||
repo = "pnpm2nix";
|
||||
rev = "8df6e2a8bd0174f4e9fa858d37c08ff3e91019bc";
|
||||
sha256 = "YhWzfuqNCZmKMbcoDoAT52KodjpuNj/7MklwKD0ojrg=";
|
||||
}) { inherit pkgs; });
|
||||
|
||||
|
||||
let
|
||||
|
||||
buildPackage = mkPnpmPackage {
|
||||
src = nix-gitignore.gitignoreSource [] ./.;
|
||||
|
||||
linkDevDependencies = true;
|
||||
|
||||
postBuild = ''
|
||||
cp -R "node_modules/$pname"/* ./
|
||||
|
||||
export PATH="node_modules/.bin:$PATH"
|
||||
|
||||
mkdir -p "$out/dist"
|
||||
|
||||
npm run build -- --outDir "$out/dist"
|
||||
mv public package.json pnpm-lock.yaml "$out/"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm -rf "$out/bin" "$lib/node_modules/$pname"
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPnpmPackage {
|
||||
src = buildPackage;
|
||||
|
||||
postInstall = ''
|
||||
mv "$lib/node_modules/$pname/dist" "$lib/node_modules/$pname/public" "$lib/node_modules/$pname/package.json" "$out/"
|
||||
rm -rf "$lib/node_modules/$pname"
|
||||
|
||||
ln -s "$lib/node_modules" "$out/node_modules"
|
||||
ln -s "$npm_config_nodedir/bin/node" "$out/bin/node"
|
||||
'';
|
||||
};
|
||||
|
||||
in package
|
||||
(import (fetchTarball
|
||||
"https://github.com/edolstra/flake-compat/archive/master.tar.gz") {
|
||||
src = builtins.fetchGit ./.;
|
||||
}).defaultNix
|
||||
|
|
61
flake.lock
Normal file
61
flake.lock
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709126324,
|
||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1709677081,
|
||||
"narHash": "sha256-tix36Y7u0rkn6mTm0lA45b45oab2cFLqAzDbJxeXS+c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "880992dcc006a5e00dd0591446fdf723e6a51a64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
45
flake.nix
Normal file
45
flake.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
inputs = {
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
let
|
||||
wesbite_overlay = final: prev: {
|
||||
ryujinx-ldn-website = with final;
|
||||
buildNpmPackage {
|
||||
pname = "ryujinx-ldn-website";
|
||||
version = "1.0.0";
|
||||
|
||||
src = ./.;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -r dist $out/
|
||||
cp -r public package.json package-lock.json node_modules $out/
|
||||
|
||||
makeWrapper '${nodejs}/bin/node' "$out/bin/ryujinx-ldn-website" --add-flags "$out/index.js"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-fqvUE5/M2VyIL5CyDEuUGye27e9fJJImMYL1wwZNFPg=";
|
||||
};
|
||||
};
|
||||
in flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ self.overlays."${system}" ];
|
||||
};
|
||||
in {
|
||||
packages = {
|
||||
default = self.packages.${system}.ryujinx-ldn-website;
|
||||
ryujinx-ldn-website = pkgs.ryujinx-ldn-website;
|
||||
};
|
||||
|
||||
overlays = wesbite_overlay;
|
||||
formatter = pkgs.nixfmt;
|
||||
});
|
||||
}
|
|
@ -9,5 +9,5 @@
|
|||
"views"
|
||||
],
|
||||
"ext": "ts,js,html,css,ejs,png",
|
||||
"exec": "pnpm run dev"
|
||||
"exec": "npm run dev"
|
||||
}
|
||||
|
|
3175
package-lock.json
generated
Normal file
3175
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
24
package.json
24
package.json
|
@ -13,30 +13,30 @@
|
|||
"format": "prettier -w .",
|
||||
"lint": "eslint --fix .",
|
||||
"build": "tsc",
|
||||
"prestart": "pnpm build",
|
||||
"prestart": "npm run build",
|
||||
"start": "node .",
|
||||
"dev": "pnpm build && pnpm start",
|
||||
"dev": "npm run build && npm run start",
|
||||
"serve": "nodemon",
|
||||
"prepack": "pnpm build"
|
||||
"prepack": "npm run build"
|
||||
},
|
||||
"dependencies": {
|
||||
"ejs": "^3.1.9",
|
||||
"express": "~4.18.2",
|
||||
"express-actuator": "^1.8.4",
|
||||
"redis": "^4.6.9",
|
||||
"winston": "^3.10.0"
|
||||
"redis": "^4.6.13",
|
||||
"winston": "^3.12.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/recommended": "^1.0.3",
|
||||
"@types/express": "^4.17.17",
|
||||
"@types/express-actuator": "^1.8.0",
|
||||
"@types/node": "^18.16.1",
|
||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||
"@typescript-eslint/parser": "^5.62.0",
|
||||
"eslint": "^8.49.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"nodemon": "^3.0.1",
|
||||
"prettier": "3.0.3",
|
||||
"typescript": "^5.2.2"
|
||||
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
||||
"@typescript-eslint/parser": "^7.1.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"nodemon": "^3.1.0",
|
||||
"prettier": "3.2.5",
|
||||
"typescript": "^5.4.0"
|
||||
}
|
||||
}
|
||||
|
|
1898
pnpm-lock.yaml
1898
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
@ -3,7 +3,7 @@ import { redisClient } from "./app";
|
|||
|
||||
const router = Router();
|
||||
|
||||
router.get("/", async (req, res, next) => {
|
||||
router.get("/", async (_req, res, _next) => {
|
||||
if (!redisClient.isOpen) {
|
||||
await redisClient.connect();
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ router.get("/", async (req, res, next) => {
|
|||
return res.send(result);
|
||||
});
|
||||
|
||||
router.get("/public_games", async (req, res, next) => {
|
||||
router.get("/public_games", async (req, res, _next) => {
|
||||
let gameFilter = "";
|
||||
|
||||
if (req.query.titleid != null && (req.query.titleid as string)?.length > 0) {
|
||||
|
|
|
@ -2,7 +2,11 @@ import { Request, Response, NextFunction } from "express";
|
|||
import { logger } from "./app";
|
||||
import { loggerDefaultMetadata } from "./utils";
|
||||
|
||||
export function requestLogger(req: Request, res: Response, next: NextFunction) {
|
||||
export function requestLogger(
|
||||
req: Request,
|
||||
_res: Response,
|
||||
next: NextFunction
|
||||
) {
|
||||
logger.debug("Incoming request.", loggerDefaultMetadata(req));
|
||||
next();
|
||||
}
|
||||
|
@ -10,7 +14,7 @@ export function requestLogger(req: Request, res: Response, next: NextFunction) {
|
|||
export function errorLogger(
|
||||
err: Error,
|
||||
req: Request,
|
||||
res: Response,
|
||||
_res: Response,
|
||||
next: NextFunction
|
||||
) {
|
||||
logger.error(err.message, {
|
||||
|
|
Loading…
Reference in a new issue