mirror of
https://github.com/community-scripts/ProxmoxVE-Local.git
synced 2026-04-24 20:25:50 +03:00
[PR #354] [MERGED] Add TypeScript Runtime Support and add Prisma 7 Compatibility #383
Labels
No labels
bug
enhancement
enhancement
feature
in progress
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ProxmoxVE-Local#383
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/community-scripts/ProxmoxVE-Local/pull/354
Author: @MickLesk
Created: 11/28/2025
Status: ✅ Merged
Merged: 11/28/2025
Merged by: @michelroegl-brunner
Base:
main← Head:bugfixing_bumps📝 Commits (10+)
40805f3Update dependencies and adjust TypeScript JSX settingf467b9afix vulnerabilities9c759bafix: ESLint/TypeScript fixes - nullish coalescing, regexp-exec, optional-chain, unescaped-entities, unused-vars, type-safetyd40aeb6Refactor scripts grid and filter handling for robustness48cf86aRefactor nullish checks and add type safetyb5bce88Refactor InstalledScriptsTab for code style consistencyc266c4cRefactor InstalledScriptsTab for code style consistency41a9c0aSwitch to ESLint CLI (Deprecation of ESLint)ec23600Switch ESLint config to eslint-config-next/core-web-vitals1945b14Update ESLint config to use FlatCompat and expand ignores📊 Changes
53 files changed (+9546 additions, -4969 deletions)
View changed files
📝
.gitignore(+3 -0)📝
eslint.config.js(+15 -12)📝
next.config.js(+14 -24)📝
package-lock.json(+1178 -204)📝
package.json(+42 -37)➕
prisma.config.ts(+20 -0)📝
prisma/schema.prisma(+2 -2)📝
server.js(+220 -39)📝
src/app/_components/AuthProvider.tsx(+45 -30)📝
src/app/_components/BackupWarningModal.tsx(+27 -20)📝
src/app/_components/BackupsTab.tsx(+172 -130)📝
src/app/_components/DownloadedScriptsTab.tsx(+226 -157)📝
src/app/_components/FilterBar.tsx(+337 -306)📝
src/app/_components/GeneralSettingsModal.tsx(+968 -576)📝
src/app/_components/HelpModal.tsx(+1614 -604)📝
src/app/_components/InstalledScriptsTab.tsx(+1264 -836)📝
src/app/_components/LoadingModal.tsx(+42 -27)📝
src/app/_components/PBSCredentialsModal.tsx(+133 -86)📝
src/app/_components/ScriptCard.tsx(+66 -40)📝
src/app/_components/ScriptCardList.tsx(+142 -65)...and 33 more files
📄 Description
Closes: #347 #346 #345 #344 #343
✍️ Description
This PR introduces comprehensive TypeScript runtime support via
tsxand resolves critical compatibility issues with Prisma 7, enabling the application to run successfully in production. The changes span type safety improvements, module resolution fixes, and production deployment readiness.📋 Changes Summary (30 Commits)
🔧 Core Infrastructure Changes
TypeScript Runtime Support
tsx@^4.19.4as a production dependencystartscript:node server.js→node --import tsx server.jsdev:serverscript for consistency:node --import tsx server.js.tsfile loading in production environmentModule Resolution & Imports
.tsextensions to TypeScript imports where required🐛 Bug Fixes
Prisma 7 Compatibility
src/server/db.jsto properly import Prisma 7 clientprisma/generated/prisma/client.tsServer Initialization Issues
initializeRepositories()export tosrc/server/lib/autoSyncInit.tsTypeError: autoSyncModule.initializeRepositories is not a functionService Module Exports
src/server/services/autoSyncService.jssrc/server/services/repositoryService.jssrc/server/services/githubJsonService.jsDynamic Import Implementation
autoSyncInitmodule✨ Features & Improvements
Development Experience
dev:servercommand for development with TypeScript supportProduction Readiness
Type Safety
npm run typecheck📝 Files Modified
package.jsontsxdependency; Updated start/dev scriptsserver.jssrc/server/db.jssrc/server/lib/autoSyncInit.tsinitializeRepositories()export; Added TypeScript definitionssrc/server/services/autoSyncService.jssrc/server/services/repositoryService.jssrc/server/services/githubJsonService.jssrc/server/database-prisma.tsanytype issues; Added explicit return types🔍 Technical Details
What Was Wrong
.tsfiles while.jsversions had themHow It Was Fixed
.tsand.jsexports to match✅ Testing & Verification
npm installcompletes without errorsnpm run buildcompletes successfullynpm run typecheckpasses with no errorsnpm run lintandnpm run format:checkpassnpm startruns without errors📊 Commit Overview
30 commits across:
🔗 Related Issues
✅ Prerequisites
🛠️ Type of Change
tsx🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.