Commit d8e92e0
authored
feat: migrate from JSON files to PocketBase public API (#510)
* feat: migrate from JSON files to PocketBase public API
- Remove all community JSON files from json/ folder (folder kept for user scripts)
- Add pocketbase npm package
- Add pbService.ts: PocketBase singleton client (unauthenticated)
- Add pbScripts.ts: PocketBase queries mirroring the website's API
- Update localScripts.ts: use PocketBase as primary source, local JSON as fallback
- Rewrite scripts.ts router: all data fetching via PocketBase
- Update scriptDownloader.js: derive script paths by convention (type+slug)
instead of relying on explicit JSON paths
- Update autoSyncService.js: fetch scripts from PocketBase instead of JSON files
- Update env.js: add PB_URL, remove JSON_FOLDER requirement
- Update .env.example: document new PB_URL variable
* fix: correct PocketBase URL to db.community-scripts.org
* fix: downgrade @vitejs/plugin-react to ^5 (compatible with vitest@4/vite@6), add .npmrc
* fix: resolve all npm audit vulnerabilities via overrides
- @hono/node-server: >=1.19.10 (authorization bypass fix)
- lodash: ^4.17.23 (prototype pollution fix)
All vulns were transitive deps of prisma CLI internals (@prisma/dev)
* fix: remove .js extensions from TS imports for webpack compatibility
* fix: remove 'source' from ScriptCard literal, fix pbScripts import extension
* fix: restore repository_url as optional in ScriptCard, remove dead repo filters
* fix: resolve all remaining build errors
- resyncScripts: add error field to return type
- ScriptsGrid.tsx: remove 'source' from ScriptCard literal
- autoSyncService.js: add JSDoc types for implicit any params
- githubJsonService.ts: use process.env.JSON_FOLDER directly
- localScripts.ts: fix PB->Script mapping (interface_port, default_credentials,
date_created, logo as null); add website field to getScriptCards()
* fix: use dbUrl fallback for Prisma adapter and align default DB path with prisma.config.ts
- db.ts / db.js: use dbUrl variable (with fallback to pve-scripts.db) instead
of process.env.DATABASE_URL! directly, prevents crash when DATABASE_URL is
not set in environment
- autoSyncService.js: suppress ENOENT error log in loadSettings when .env file
does not exist (return defaults silently instead of printing error)
* fix: align .env.example DATABASE_URL db filename with prisma.config.ts default1 parent f396e38 commit d8e92e0
422 files changed
Lines changed: 1779 additions & 19637 deletions
File tree
- json
- src
- app/_components
- server
- api/routers
- services
- types
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
4 | 8 | | |
5 | 9 | | |
6 | 10 | | |
7 | 11 | | |
8 | 12 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments