mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 14:05:41 +00:00
c7d71ea57c
* feat(whats-new): remote release notes with dev workspace mode Add WHATS_NEW.md, CI whats-new.md asset upload, and client fetch/cache with embedded fallbacks. Dev and -dev builds read the full file from the repo for debugging; RC/stable download the release asset on first use. * fix(whats-new): render ## headings and add changelog tab Parse h2 sections in release-notes markdown; load changelog alongside highlights and let users switch views on the What's New page. * fix(whats-new): prefetch on startup and fix CI typecheck prebuild Prefetch whats-new asset when the shell loads on RC/stable builds. Run prebuild:release-notes before tsc and coverage jobs so the gitignored generated bundle exists in CI. * docs: CHANGELOG and credits for What's New remote notes (PR #1058) * fix(whats-new): always slice embedded release notes to current line Drop full CHANGELOG embed for -dev bundles; tauri:dev still reads live markdown from the repo. Ignore all of src/generated/ in git. * fix(whats-new): fetch release asset via Rust to bypass CORS Route whats-new.md download through fetch_url_bytes; rename the technical tab label; add fetch unit tests (PR #1058 review).
74 lines
2.7 KiB
JSON
74 lines
2.7 KiB
JSON
{
|
|
"name": "psysonic",
|
|
"version": "1.48.0-dev",
|
|
"private": true,
|
|
"scripts": {
|
|
"check:css-imports": "node scripts/check-css-import-graph.mjs",
|
|
"prebuild:release-notes": "node scripts/generate-release-notes-bundle.mjs",
|
|
"dev": "vite",
|
|
"build": "npm run prebuild:release-notes && tsc && vite build",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"tauri:dev": "tauri dev",
|
|
"tauri:build": "npm run prebuild:release-notes && tauri build",
|
|
"test": "npm run prebuild:release-notes && vitest run && node --test scripts/extract-release-section.test.mjs && npm run check:css-imports",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "npm run prebuild:release-notes && vitest run --coverage && npm run check:css-imports"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource-variable/dm-sans": "^5.2.8",
|
|
"@fontsource-variable/figtree": "^5.2.10",
|
|
"@fontsource-variable/geist": "^5.2.8",
|
|
"@fontsource-variable/golos-text": "^5.2.8",
|
|
"@fontsource-variable/inter": "^5.2.8",
|
|
"@fontsource-variable/jetbrains-mono": "^5.2.8",
|
|
"@fontsource-variable/lexend": "^5.2.11",
|
|
"@fontsource-variable/manrope": "^5.2.8",
|
|
"@fontsource-variable/nunito": "^5.2.7",
|
|
"@fontsource-variable/outfit": "^5.2.8",
|
|
"@fontsource-variable/plus-jakarta-sans": "^5.2.8",
|
|
"@fontsource-variable/rubik": "^5.2.8",
|
|
"@fontsource-variable/space-grotesk": "^5.2.10",
|
|
"@fontsource-variable/unbounded": "^5.2.8",
|
|
"@fontsource/opendyslexic": "^5.2.5",
|
|
"@tanstack/react-virtual": "^3.13.26",
|
|
"@tauri-apps/api": "^2",
|
|
"@tauri-apps/plugin-dialog": "^2.7.1",
|
|
"@tauri-apps/plugin-fs": "^2.5.1",
|
|
"@tauri-apps/plugin-global-shortcut": "^2",
|
|
"@tauri-apps/plugin-process": "^2.3.1",
|
|
"@tauri-apps/plugin-shell": "^2",
|
|
"@tauri-apps/plugin-store": "^2",
|
|
"@tauri-apps/plugin-updater": "^2.10.1",
|
|
"@tauri-apps/plugin-window-state": "^2.4.1",
|
|
"axios": "^1.16.0",
|
|
"i18next": "^26.0.8",
|
|
"lucide-react": "^1.17.0",
|
|
"md5": "^2.3.0",
|
|
"papaparse": "^5.5.3",
|
|
"react": "^19.2.5",
|
|
"react-dom": "^19.2.6",
|
|
"react-i18next": "^17.0.6",
|
|
"react-router-dom": "^7.16.0",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@tauri-apps/cli": "^2.11.2",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/md5": "^2.3.6",
|
|
"@types/node": "^25.6.0",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/react": "^19.2.15",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^6.0.2",
|
|
"@vitest/coverage-v8": "^4.1.8",
|
|
"esbuild": "^0.28.0",
|
|
"jsdom": "^29.1.1",
|
|
"typescript": "^6.0.3",
|
|
"vite": "^8.0.14",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|