Skip to content

Commit 12fcff1

Browse files
committed
fix: a bunch of random stuff
1 parent dcb4a4e commit 12fcff1

File tree

82 files changed

+9242
-6102
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+9242
-6102
lines changed

.eslintrc.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ services:
3636
- './themes:/zipline/themes'
3737

3838
volumes:
39-
pgdata:
39+
pgdata:

eslint.config.mjs

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
// TODO: migrate everything to use eslint 9 features instead of compatibility layers
2+
3+
import unusedImports from 'eslint-plugin-unused-imports';
4+
import typescriptEslint from '@typescript-eslint/eslint-plugin';
5+
import tsParser from '@typescript-eslint/parser';
6+
import path from 'node:path';
7+
import { fileURLToPath } from 'node:url';
8+
import js from '@eslint/js';
9+
import { FlatCompat } from '@eslint/eslintrc';
10+
import { includeIgnoreFile } from '@eslint/compat';
11+
12+
const __filename = fileURLToPath(import.meta.url);
13+
const __dirname = path.dirname(__filename);
14+
const compat = new FlatCompat({
15+
baseDirectory: __dirname,
16+
recommendedConfig: js.configs.recommended,
17+
allConfig: js.configs.all,
18+
});
19+
20+
const gitignorePath = path.resolve(__dirname, '.gitignore');
21+
22+
export default [
23+
includeIgnoreFile(gitignorePath),
24+
...compat.extends(
25+
'next/core-web-vitals',
26+
'plugin:prettier/recommended',
27+
'plugin:@typescript-eslint/recommended',
28+
),
29+
{
30+
plugins: {
31+
'unused-imports': unusedImports,
32+
'@typescript-eslint': typescriptEslint,
33+
},
34+
35+
languageOptions: {
36+
parser: tsParser,
37+
},
38+
39+
rules: {
40+
'linebreak-style': ['error', 'unix'],
41+
42+
quotes: [
43+
'error',
44+
'single',
45+
{
46+
avoidEscape: true,
47+
},
48+
],
49+
50+
semi: ['error', 'always'],
51+
'jsx-quotes': ['error', 'prefer-single'],
52+
indent: 'off',
53+
'react/prop-types': 'off',
54+
'react-hooks/rules-of-hooks': 'off',
55+
'react-hooks/exhaustive-deps': 'off',
56+
'react/jsx-uses-react': 'warn',
57+
'react/jsx-uses-vars': 'warn',
58+
'react/no-danger-with-children': 'warn',
59+
'react/no-deprecated': 'warn',
60+
'react/no-direct-mutation-state': 'warn',
61+
'react/no-is-mounted': 'warn',
62+
'react/no-typos': 'error',
63+
'react/react-in-jsx-scope': 'off',
64+
'react/require-render-return': 'error',
65+
'react/style-prop-object': 'warn',
66+
'jsx-a11y/alt-text': 'off',
67+
'react/display-name': 'off',
68+
'no-unused-vars': 'off',
69+
'@typescript-eslint/no-unused-vars': 'off',
70+
'unused-imports/no-unused-imports': 'error',
71+
'unused-imports/no-unused-vars': [
72+
'warn',
73+
{
74+
vars: 'all',
75+
varsIgnorePattern: '^_',
76+
args: 'after-used',
77+
argsIgnorePattern: '^_',
78+
},
79+
],
80+
81+
'@typescript-eslint/ban-ts-comment': 'off',
82+
'@typescript-eslint/no-explicit-any': 'off',
83+
'@typescript-eslint/no-unused-expressions': 'off',
84+
},
85+
},
86+
];

mimes.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1381,4 +1381,4 @@
13811381
["zir", ["application/vnd.zul"]],
13821382
["zirz", ["application/vnd.zul"]],
13831383
["zmm", ["application/vnd.handheld-entertainment+xml"]]
1384-
]
1384+
]

package.json

Lines changed: 59 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -8,99 +8,100 @@
88
"build:prisma": "prisma generate",
99
"build:next": "next build",
1010
"build:server": "tsup",
11-
"dev": "NODE_ENV=development DEBUG=zipline tsx --require dotenv/config --enable-source-maps ./src/server",
12-
"dev:inspector": "NODE_ENV=development DEBUG=zipline tsx --require dotenv/config --inspect=0.0.0.0:9229 --enable-source-maps ./src/server",
13-
"dev:ctl": "tsup --config tsup.ctl.config.ts --watch",
14-
"start": "NODE_ENV=production node --require dotenv/config --enable-source-maps ./build/server",
11+
"dev": "TURBOPACK=1 NODE_ENV=development DEBUG=zipline tsx --require dotenv/config --enable-source-maps ./src/server",
12+
"dev:inspector": "TURBOPACK=1 NODE_ENV=development DEBUG=zipline tsx --require dotenv/config --inspect=0.0.0.0:9229 --enable-source-maps ./src/server",
13+
"start": "NODE_ENV=production node --trace-warnings --require dotenv/config --enable-source-maps ./build/server",
1514
"start:inspector": "NODE_ENV=production node --require dotenv/config --inspect=0.0.0.0:9229 --enable-source-maps ./build/server",
1615
"ctl": "NODE_ENV=production node --require dotenv/config --enable-source-maps ./build/ctl",
1716
"validate": "pnpm run \"/^validate:.*/\"",
18-
"validate:lint": "eslint --cache --ignore-path .gitignore --fix .",
17+
"validate:lint": "eslint --cache --fix .",
1918
"validate:format": "prettier --write --ignore-path .gitignore .",
2019
"db:prototype": "prisma db push --skip-generate && prisma generate --no-hints"
2120
},
2221
"dependencies": {
23-
"@ant-design/plots": "^1.2.6",
24-
"@aws-sdk/client-s3": "^3.654.0",
25-
"@fastify/cookie": "^9.3.1",
22+
"@aws-sdk/client-s3": "^3.714.0",
23+
"@fastify/cookie": "^9.4.0",
2624
"@fastify/cors": "^9.0.1",
27-
"@fastify/multipart": "^8.2.0",
25+
"@fastify/multipart": "^8.3.0",
2826
"@fastify/rate-limit": "^9.1.0",
29-
"@fastify/sensible": "^5.5.0",
27+
"@fastify/sensible": "^5.6.0",
3028
"@fastify/static": "^7.0.4",
3129
"@github/webauthn-json": "^2.1.1",
32-
"@mantine/code-highlight": "^7.12.2",
33-
"@mantine/core": "^7.12.2",
34-
"@mantine/dates": "^7.12.2",
35-
"@mantine/dropzone": "^7.12.2",
36-
"@mantine/form": "^7.12.2",
37-
"@mantine/hooks": "^7.12.2",
38-
"@mantine/modals": "^7.12.2",
39-
"@mantine/notifications": "^7.12.2",
40-
"@prisma/client": "^5.19.1",
41-
"@prisma/internals": "^5.19.1",
42-
"@prisma/migrate": "^5.19.1",
43-
"@tabler/icons-react": "^2.47.0",
30+
"@mantine/charts": "^7.15.1",
31+
"@mantine/code-highlight": "^7.15.1",
32+
"@mantine/core": "^7.15.1",
33+
"@mantine/dates": "^7.15.1",
34+
"@mantine/dropzone": "^7.15.1",
35+
"@mantine/form": "^7.15.1",
36+
"@mantine/hooks": "^7.15.1",
37+
"@mantine/modals": "^7.15.1",
38+
"@mantine/notifications": "^7.15.1",
39+
"@prisma/client": "^6.1.0",
40+
"@prisma/internals": "^6.1.0",
41+
"@prisma/migrate": "^6.1.0",
42+
"@tabler/icons-react": "^3.26.0",
4443
"@xoi/gps-metadata-remover": "^1.1.2",
45-
"argon2": "^0.30.3",
44+
"argon2": "^0.41.1",
4645
"bytes": "^3.1.2",
4746
"clsx": "^2.1.1",
4847
"colorette": "^2.0.20",
4948
"commander": "^12.1.0",
5049
"dayjs": "^1.11.13",
51-
"dotenv": "^16.4.5",
52-
"express": "^4.18.2",
50+
"dotenv": "^16.4.7",
51+
"express": "^4.21.2",
5352
"fast-glob": "^3.3.2",
54-
"fastify": "^4.28.1",
53+
"fastify": "^4.29.0",
5554
"fastify-plugin": "^4.5.1",
5655
"fflate": "^0.8.2",
5756
"fluent-ffmpeg": "^2.1.3",
58-
"highlight.js": "^11.10.0",
59-
"iron-session": "^8.0.3",
60-
"isomorphic-dompurify": "^1.13.0",
61-
"katex": "^0.16.11",
62-
"mantine-datatable": "^7.12.4",
57+
"highlight.js": "^11.11.0",
58+
"iron-session": "^8.0.4",
59+
"isomorphic-dompurify": "^2.19.0",
60+
"katex": "^0.16.17",
61+
"mantine-datatable": "^7.14.5",
6362
"ms": "^2.1.3",
6463
"multer": "1.4.5-lts.1",
65-
"next": "^14.2.13",
64+
"next": "^15.1.1",
6665
"otplib": "^12.0.1",
67-
"prisma": "^5.19.1",
66+
"prisma": "^6.1.0",
6867
"qrcode": "^1.5.4",
69-
"react": "^18.3.1",
70-
"react-dom": "^18.3.1",
71-
"react-markdown": "^8.0.7",
72-
"remark-gfm": "^3.0.1",
73-
"sharp": "^0.32.6",
68+
"react": "^19.0.0-rc.1",
69+
"react-dom": "^19.0.0-rc.1",
70+
"react-markdown": "^9.0.1",
71+
"remark-gfm": "^4.0.0",
72+
"sharp": "^0.33.5",
7473
"swr": "^2.2.5",
75-
"znv": "^0.3.2",
76-
"zod": "^3.23.8",
77-
"zustand": "^4.5.5"
74+
"zod": "^3.24.1",
75+
"zustand": "^5.0.2"
7876
},
7977
"devDependencies": {
80-
"@types/bytes": "^3.1.4",
78+
"@eslint/compat": "^1.2.4",
79+
"@eslint/eslintrc": "^3.2.0",
80+
"@eslint/js": "^9.17.0",
81+
"@types/bytes": "^3.1.5",
8182
"@types/express": "^4.17.21",
82-
"@types/fluent-ffmpeg": "^2.1.26",
83+
"@types/fluent-ffmpeg": "^2.1.27",
8384
"@types/katex": "^0.16.7",
8485
"@types/ms": "^0.7.34",
8586
"@types/multer": "^1.4.12",
86-
"@types/node": "^20.16.5",
87+
"@types/node": "^20.17.10",
8788
"@types/qrcode": "^1.5.5",
88-
"@types/react": "^18.3.8",
89-
"@types/react-dom": "^18.3.0",
90-
"@typescript-eslint/eslint-plugin": "^6.13.1",
91-
"@typescript-eslint/parser": "^6.13.1",
92-
"eslint": "^8.54.0",
93-
"eslint-config-next": "^13.5.6",
94-
"eslint-config-prettier": "^9.0.0",
95-
"eslint-plugin-prettier": "^5.0.1",
96-
"eslint-plugin-unused-imports": "^3.0.0",
97-
"postcss": "^8.4.47",
89+
"@types/react": "^19.0.1",
90+
"@types/react-dom": "^19.0.2",
91+
"@typescript-eslint/eslint-plugin": "^8.18.1",
92+
"@typescript-eslint/parser": "^8.18.1",
93+
"eslint": "^9.17.0",
94+
"eslint-config-next": "^15.1.1",
95+
"eslint-config-prettier": "^9.1.0",
96+
"eslint-plugin-prettier": "^5.2.1",
97+
"eslint-plugin-unused-imports": "^4.1.4",
98+
"postcss": "^8.4.49",
9899
"postcss-preset-mantine": "^1.17.0",
99100
"postcss-simple-vars": "^7.0.1",
100-
"prettier": "^3.3.3",
101-
"tsup": "^7.2.0",
102-
"tsx": "^4.19.1",
103-
"typescript": "^5.6.2"
101+
"prettier": "^3.4.2",
102+
"tsup": "^8.3.5",
103+
"tsx": "^4.19.2",
104+
"typescript": "^5.7.2"
104105
},
105106
"engines": {
106107
"node": ">=18"

0 commit comments

Comments
 (0)