diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a61560f..19095c7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,12 +12,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: - node-version: 20 + node-version: 22 cache: npm - name: Install dependencies diff --git a/AGENTS.md b/AGENTS.md index 4a15583..5890e26 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,8 @@ Make Sonic feel like a real terminal product, not a code sketch. Favor changes t - curated vibes and activity presets - expressive terminal UI and visualizers - switchable curated themes with a persisted default -- experimental SoundCloud search +- SoundCloud and Mixcloud search +- direct YouTube, SoundCloud, and Mixcloud link playback ## Commands diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ce20b78..2630e64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ Sonic should stay fast, readable, and fun. Favor improvements that make the CLI ## Local Setup -1. Install Node.js 20+ +1. Install Node.js 22+ 2. Install `yt-dlp` and `mpv` 3. Install dependencies diff --git a/README.md b/README.md index e9d90f4..b53a30d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@

- Node + Node License Sources

@@ -27,7 +27,7 @@ curl -fsSL https://raw.githubusercontent.com/sethmills21/sonic/main/install.sh | npm ```bash -npm install -g sonic-cli +npm install -g github:sethmills21/SONIC sonic "lofi" ``` @@ -58,6 +58,7 @@ sonic # open the picker sonic "deep house" # search and play sonic --soundcloud "liquid dnb" # search SoundCloud sonic --mixcloud "techno mix" # search Mixcloud +sonic "https://youtu.be/..." # play a link (quote it) sonic doctor # check setup sonic --help # full help ``` @@ -100,7 +101,7 @@ YouTube, SoundCloud, and Mixcloud. All use `mpv` for playback and require no aut ## Requirements -**Node.js** 20+  ·  **yt-dlp**  ·  **mpv**  ·  macOS or Linux +**Node.js** 22+  ·  **yt-dlp**  ·  **mpv**  ·  macOS or Linux ## Contributing @@ -113,7 +114,7 @@ MIT ---

- Cooked up by Seth Miller and Claude Code + Cooked up by Seth Mills and Claude Code

diff --git a/install.sh b/install.sh index 3772174..bf823b5 100755 --- a/install.sh +++ b/install.sh @@ -35,13 +35,13 @@ fi info "Checking Node.js..." if command -v node &>/dev/null; then NODE_VERSION=$(node -v | sed 's/v//' | cut -d. -f1) - if [[ "$NODE_VERSION" -ge 20 ]]; then + if [[ "$NODE_VERSION" -ge 22 ]]; then ok "Node.js $(node -v)" else - fail "Node.js 20+ required (found $(node -v)). Update at https://nodejs.org" + fail "Node.js 22+ required (found $(node -v)). Update at https://nodejs.org" fi else - fail "Node.js not found. Install 20+ from https://nodejs.org" + fail "Node.js not found. Install 22+ from https://nodejs.org" fi # --- Check / install yt-dlp --- diff --git a/lib/channels.js b/lib/channels.js index 053c376..cde2eea 100644 --- a/lib/channels.js +++ b/lib/channels.js @@ -36,7 +36,7 @@ export const CHANNELS = [ name: 'dubstep', icon: '\u{1F525}', desc: 'heavy, hard, filthy', - query: 'heavy dubstep mix 2024 filthy drops 1 hour', + query: 'heavy dubstep mix filthy drops 1 hour', }, { key: '6', @@ -122,10 +122,10 @@ export const ACTIVITIES = [ icon: '\u{1F525}', desc: 'high energy, heavy', queries: [ - 'heavy dubstep mix 2024 filthy drops 1 hour', - 'hard dubstep workout mix 2024', + 'heavy dubstep mix filthy drops 1 hour', + 'hard dubstep workout mix', 'drum and bass gym mix high energy 1 hour', - 'techno workout mix 2024 hard', + 'techno workout mix hard', ], }, { @@ -146,10 +146,10 @@ export const ACTIVITIES = [ icon: '\u{1F373}', desc: 'groovy, upbeat, fun', queries: [ - 'amapiano mix 2024 upbeat groovy', + 'amapiano mix upbeat groovy', 'disco house mix feel good 1 hour', 'funk soul groovy cooking mix 2 hours', - 'afrobeats mix 2024 upbeat vibes', + 'afrobeats mix upbeat vibes', ], }, { @@ -171,9 +171,9 @@ export const ACTIVITIES = [ desc: 'upbeat, keep moving', queries: [ 'upbeat house cleaning mix 1 hour', - 'pop dance mix 2024 energy', + 'pop dance mix energy', 'disco funk cleaning playlist 1 hour', - 'afrobeats dance mix 2024', + 'afrobeats dance mix', ], }, ]; diff --git a/lib/system.js b/lib/system.js index 5f31cf3..f7d95d9 100644 --- a/lib/system.js +++ b/lib/system.js @@ -120,7 +120,7 @@ Links: list= falls back to the single linked track. Requirements: - - Node.js 20+ + - Node.js 22+ - yt-dlp - mpv diff --git a/package-lock.json b/package-lock.json index d0de40d..07894ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,22 +9,22 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "chalk": "^5.4.1" + "chalk": "^6.0.1" }, "bin": { "sonic": "bin/sonic.js" }, "engines": { - "node": ">=20" + "node": ">=22" } }, "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-6.0.1.tgz", + "integrity": "sha512-/Ce6KNm3vIbWdMlNna6RVIZ/ICQxnJxCicet5LBKK9ZffBkqzDw0xh9EiKSljdRtiIQ1S1z4YgcscUUGzNCWrA==", "license": "MIT", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=22" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" diff --git a/package.json b/package.json index f0fbcf5..f327f09 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "README.md", "CONTRIBUTING.md", "SECURITY.md", - "CLAUDE.md", "AGENTS.md" ], "scripts": { @@ -24,7 +23,7 @@ "doctor": "node ./bin/sonic.js doctor" }, "engines": { - "node": ">=20" + "node": ">=22" }, "repository": { "type": "git", @@ -48,6 +47,6 @@ "visualizer" ], "dependencies": { - "chalk": "^5.4.1" + "chalk": "^6.0.1" } }