freyr-js
freyr-js copied to clipboard
Release precompiled binaries for every platform
#121 introduces CI automation for NPM and Docker Hub publishing, #148 automates GitHub releases.
We should consider using a solution like https://github.com/vercel/pkg to package freyr into a single executable, self-contained with all dependencies, built for all platforms and served straight from the releases page.
The issues with this is as follows;
- Having to update youtube-dl periodically.
- Having to update the Apple Music API token periodically.
However, solutions can be worked out for that, so I'll leave this issue here.
This is a great idea. Maybe you could integrate a .freyr-config.json file inside of the user's home. Then, every time Freyr runs, it could verify the token against one inside of a raw GitHub url, then update it if it needs to. About the youtube-dl issue, you could just have entire app updates with the new, updated, youtube-dl package added. There's my two cents, but love the program!
Additionally, consider this log from a Linux machine:
| ➤ Collating sources...
| ➤ [•] YouTube Music...[success, found 5 sources]
| ➤ Awaiting audiofeeds...(failed: [Command failed with ENOENT: /snapshot/freyr-js/node_modules/youtube-dl-exec/bin/youtube-dl --socket-timeout 20 --no-cache-dir --dump-single-json -- L0yOCIqqBWM
spawn /snapshot/freyr-js/node_modules/youtube-dl-exec/bin/youtube-dl ENOENT]) ```
@hard-shutdown, could you file another issue for this one specifically, I'll address it there. (referenced: #158)