diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 833e6bb..ce6e9b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 24 cache: pnpm - name: Setup pnpm diff --git a/db/nodecg.sqlite3 b/db/nodecg.sqlite3 new file mode 100644 index 0000000..8600b93 Binary files /dev/null and b/db/nodecg.sqlite3 differ diff --git a/package.json b/package.json index 26714e8..48f6928 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,8 @@ "@eslint/js": "^9.39.0", "@quasar/extras": "^1.17.0", "@quasar/vite-plugin": "^1.10.0", - "@tsconfig/node22": "^22.0.2", - "@types/node": "^22.18.13", + "@tsconfig/node24": "^24.0.0", + "@types/node": "^24.0.0", "@unhead/vue": "^2.0.19", "@vitejs/plugin-vue": "^6.0.1", "@vue/eslint-config-typescript": "^14.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e46f6fc..b792992 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,19 +23,19 @@ importers: version: 1.18.0 '@quasar/vite-plugin': specifier: ^1.10.0 - version: 1.11.0(@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)))(quasar@2.19.3)(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) - '@tsconfig/node22': - specifier: ^22.0.2 - version: 22.0.5 + version: 1.11.0(@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)))(quasar@2.19.3)(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) + '@tsconfig/node24': + specifier: ^24.0.0 + version: 24.0.4 '@types/node': - specifier: ^22.18.13 - version: 22.19.17 + specifier: ^24.0.0 + version: 24.12.2 '@unhead/vue': specifier: ^2.0.19 version: 2.1.13(vue@3.5.34(typescript@5.9.3)) '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.6(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) + version: 6.0.6(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) '@vue/eslint-config-typescript': specifier: ^14.6.0 version: 14.7.0(eslint-plugin-vue@10.9.1(@typescript-eslint/parser@8.59.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(vue-eslint-parser@10.4.0(eslint@9.39.4)))(eslint@9.39.4)(typescript@5.9.3) @@ -77,13 +77,13 @@ importers: version: 8.59.2(eslint@9.39.4)(typescript@5.9.3) vite: specifier: ^7.1.12 - version: 7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0) + version: 7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0) vite-plugin-checker: specifier: ^0.11.0 - version: 0.11.0(eslint@9.39.4)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue-tsc@3.2.8(typescript@5.9.3)) + version: 0.11.0(eslint@9.39.4)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue-tsc@3.2.8(typescript@5.9.3)) vite-plugin-nodecg: specifier: ^2.1.0 - version: 2.1.0(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0)) + version: 2.1.0(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0)) vue: specifier: ^3.5.22 version: 3.5.34(typescript@5.9.3) @@ -1251,8 +1251,8 @@ packages: resolution: {integrity: sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==} engines: {node: '>=8'} - '@tsconfig/node22@22.0.5': - resolution: {integrity: sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==} + '@tsconfig/node24@24.0.4': + resolution: {integrity: sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==} '@types/better-sqlite3@7.6.13': resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} @@ -1316,6 +1316,9 @@ packages: '@types/node@22.19.17': resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} + '@types/node@24.12.2': + resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} + '@types/passport@1.0.17': resolution: {integrity: sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==} @@ -3710,6 +3713,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici@7.25.0: resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} engines: {node: '>=20.18.1'} @@ -5051,11 +5057,11 @@ snapshots: '@quasar/extras@1.18.0': {} - '@quasar/vite-plugin@1.11.0(@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)))(quasar@2.19.3)(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3))': + '@quasar/vite-plugin@1.11.0(@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)))(quasar@2.19.3)(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3))': dependencies: - '@vitejs/plugin-vue': 6.0.6(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3)) quasar: 2.19.3 - vite: 7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0) + vite: 7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0) vue: 3.5.34(typescript@5.9.3) '@rolldown/pluginutils@1.0.0-rc.13': {} @@ -5219,7 +5225,7 @@ snapshots: '@stroncium/procfs@1.2.1': {} - '@tsconfig/node22@22.0.5': {} + '@tsconfig/node24@24.0.4': {} '@types/better-sqlite3@7.6.13': dependencies: @@ -5289,6 +5295,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@24.12.2': + dependencies: + undici-types: 7.16.0 + '@types/passport@1.0.17': dependencies: '@types/express': 5.0.6 @@ -5476,10 +5486,10 @@ snapshots: dependencies: '@vaadin/vaadin-development-mode-detector': 2.0.7 - '@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue@3.5.34(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0) + vite: 7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0) vue: 3.5.34(typescript@5.9.3) '@volar/language-core@2.4.28': @@ -7921,6 +7931,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.16.0: {} + undici@7.25.0: {} unhead@2.1.13: @@ -7973,7 +7985,7 @@ snapshots: vary@1.1.2: {} - vite-plugin-checker@0.11.0(eslint@9.39.4)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0))(vue-tsc@3.2.8(typescript@5.9.3)): + vite-plugin-checker@0.11.0(eslint@9.39.4)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0))(vue-tsc@3.2.8(typescript@5.9.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -7982,7 +7994,7 @@ snapshots: picomatch: 4.0.4 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0) + vite: 7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4 @@ -7990,13 +8002,13 @@ snapshots: typescript: 5.9.3 vue-tsc: 3.2.8(typescript@5.9.3) - vite-plugin-nodecg@2.1.0(vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0)): + vite-plugin-nodecg@2.1.0(vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0)): dependencies: globby: 14.1.0 minimatch: 9.0.9 - vite: 7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0) + vite: 7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0) - vite@7.3.3(@types/node@22.19.17)(sass-embedded@1.99.0)(sass@1.99.0): + vite@7.3.3(@types/node@24.12.2)(sass-embedded@1.99.0)(sass@1.99.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -8005,7 +8017,7 @@ snapshots: rollup: 4.60.3 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 22.19.17 + '@types/node': 24.12.2 fsevents: 2.3.3 sass: 1.99.0 sass-embedded: 1.99.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..544bc5b --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +allowBuilds: + '@parcel/watcher': true + '@vaadin/vaadin-usage-statistics': true + better-sqlite3: true + esbuild: true + msgpackr-extract: true + vue-demi: true diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 4f24fe5..a2546f9 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -4,6 +4,11 @@ "extends": "@vue/tsconfig/tsconfig.dom.json", "compilerOptions": { "baseUrl": ".", + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], "typeRoots": [ "./node_modules/@types" ], diff --git a/tsconfig.extension.json b/tsconfig.extension.json index e8a4a5d..b0557f4 100644 --- a/tsconfig.extension.json +++ b/tsconfig.extension.json @@ -1,6 +1,6 @@ { /* Settings used for anything extension related. */ - "extends": "@tsconfig/node22/tsconfig.json", + "extends": "@tsconfig/node24/tsconfig.json", "compilerOptions": { "baseUrl": ".", "typeRoots": [ diff --git a/tsconfig.vite.json b/tsconfig.vite.json index 5187971..b590245 100644 --- a/tsconfig.vite.json +++ b/tsconfig.vite.json @@ -1,7 +1,7 @@ { /* Settings here mimick those included in a generated Vue project (pnpm create vue). */ /* They are only used for the vite.config.ts file. */ - "extends": "@tsconfig/node22/tsconfig.json", + "extends": "@tsconfig/node24/tsconfig.json", "compilerOptions": { "baseUrl": ".", "typeRoots": [