From 52e4423cf1780b32da8d182cc42e98fda0bf7105 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Sun, 25 May 2025 21:15:24 -0700 Subject: [PATCH] update readme with new pnpm scripts --- README.md | 69 ++++++++++++++++++++++++++++++++++------------------ package.json | 3 +-- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index d2a96210..490ddd17 100644 --- a/README.md +++ b/README.md @@ -41,13 +41,13 @@ Rewrite of [Sonixd](https://github.com/jeffvli/sonixd). ## Features -- [x] MPV player backend -- [x] Web player backend -- [x] Modern UI -- [x] Scrobble playback to your server -- [x] Smart playlist editor (Navidrome) -- [x] Synchronized and unsynchronized lyrics support -- [ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1) +- [x] MPV player backend +- [x] Web player backend +- [x] Modern UI +- [x] Scrobble playback to your server +- [x] Smart playlist editor (Navidrome) +- [x] Synchronized and unsynchronized lyrics support +- [ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1) ## Screenshots @@ -109,8 +109,8 @@ services: 2. After restarting the app, you will be prompted to select a server. Click the `Open menu` button and select `Manage servers`. Click the `Add server` button in the popup and fill out all applicable details. You will need to enter the full URL to your server, including the protocol and port if applicable (e.g. `https://navidrome.my-server.com` or `http://192.168.0.1:4533`). -- **Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h). - - **Linux users** - The default password store uses `libsecret`. `kwallet4/5/6` are also supported, but must be explicitly set in Settings > Window > Passwords/secret score. +- **Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h). + - **Linux users** - The default password store uses `libsecret`. `kwallet4/5/6` are also supported, but must be explicitly set in Settings > Window > Passwords/secret score. 3. _Optional_ - If you want to host Feishin on a subpath (not `/`), then pass in the following environment variable: `PUBLIC_PATH=PATH`. For example, to host on `/feishin`, pass in `PUBLIC_PATH=/feishin`. @@ -126,18 +126,18 @@ First thing to do is check that your MPV binary path is correct. Navigate to the Feishin supports any music server that implements a [Navidrome](https://www.navidrome.org/) or [Jellyfin](https://jellyfin.org/) API. **Subsonic API is not currently supported**. This will likely be added in [later when the new Subsonic API is decided on](https://support.symfonium.app/t/subsonic-servers-participation/1233). -- [Navidrome](https://github.com/navidrome/navidrome) -- [Jellyfin](https://github.com/jellyfin/jellyfin) -- Subsonic-compatible servers - - [Airsonic-Advanced](https://github.com/airsonic-advanced/airsonic-advanced) - - [Ampache](https://ampache.org) - - [Astiga](https://asti.ga/) - - [Funkwhale](https://www.funkwhale.audio/) - - [Gonic](https://github.com/sentriz/gonic) - - [LMS](https://github.com/epoupon/lms) - - [Nextcloud Music](https://apps.nextcloud.com/apps/music) - - [Supysonic](https://github.com/spl0k/supysonic) - - More (?) +- [Navidrome](https://github.com/navidrome/navidrome) +- [Jellyfin](https://github.com/jellyfin/jellyfin) +- Subsonic-compatible servers + - [Airsonic-Advanced](https://github.com/airsonic-advanced/airsonic-advanced) + - [Ampache](https://ampache.org) + - [Astiga](https://asti.ga/) + - [Funkwhale](https://www.funkwhale.audio/) + - [Gonic](https://github.com/sentriz/gonic) + - [LMS](https://github.com/epoupon/lms) + - [Nextcloud Music](https://apps.nextcloud.com/apps/music) + - [Supysonic](https://github.com/spl0k/supysonic) + - More (?) ### I have the issue "The SUID sandbox helper binary was found, but is not configured correctly" on Linux @@ -152,9 +152,32 @@ Ubunutu 24.04 specifically introduced breaking changes that affect how namespace ## Development -Built and tested using Node `v16.15.0`. +Built and tested using Node `v23.11.0`. -This project is built off of [electron-react-boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate) v4.6.0. +This project is built off of [electron-vite](https://github.com/alex8088/electron-vite) + +- `pnpm run dev` - Start the development server +- `pnpm run dev:watch` - Start the development server in watch mode (for main / preload HMR) +- `pnpm run start` - Starts the app in production preview mode +- `pnpm run build` - Builds the app for desktop +- `pnpm run build:electron` - Build the electron app (main, preload, and renderer) +- `pnpm run build:remote` - Build the remote app (remote) +- `pnpm run build:web` - Build the standalone web app (renderer) +- `pnpm run package` - Package the project +- `pnpm run package:dev` - Package the project for development +- `pnpm run package:linux` - Package the project for Linux +- `pnpm run package:mac` - Package the project for Mac +- `pnpm run package:win` - Package the project for Windows +- `pnpm run publish:linux` - Publish the project for Linux +- `pnpm run publish:linux-arm64` - Publish the project for Linux ARM64 +- `pnpm run publish:mac` - Publish the project for Mac +- `pnpm run publish:win` - Publish the project for Windows +- `pnpm run typecheck` - Type check the project +- `pnpm run typecheck:node` - Type check the project with tsconfig.node.json +- `pnpm run typecheck:web` - Type check the project with tsconfig.web.json +- `pnpm run lint` - Lint the project +- `pnpm run lint:fix` - Lint the project and fix linting errors +- `pnpm run i18next` - Generate i18n files ## Translation diff --git a/package.json b/package.json index b1707d81..cdc26e3f 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,9 @@ "build:web": "vite build --config web.vite.config.ts", "dev": "electron-vite dev", "dev:watch": "electron-vite dev --watch", - "format": "prettier --write .", "i18next": "i18next -c src/i18n/i18next-parser.config.js", "postinstall": "electron-builder install-app-deps", - "lint": "eslint --cache --fix .", + "lint": "eslint --cache .", "lint:fix": "eslint --cache --fix .", "package": "pnpm run build && electron-builder", "package:dev": "pnpm run build && electron-builder --dir",