muzical-ui 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +6 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/youtube/audio/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route.js +7 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/youtube/audio/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/musicbrainz/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/musicbrainz.html +1 -1
- package/.next/standalone/.next/server/app/musicbrainz.rsc +16 -16
- package/.next/standalone/.next/server/app/musicbrainz.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/musicbrainz.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/musicbrainz.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/musicbrainz.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz.segments/musicbrainz/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/musicbrainz.segments/musicbrainz.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/browse/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/browse/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/browse.html +1 -1
- package/.next/standalone/.next/server/app/settings/browse.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/browse.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/browse.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/browse.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/browse.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/browse.segments/settings/browse/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/browse.segments/settings/browse.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/browse.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/display/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/display/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/display.html +1 -1
- package/.next/standalone/.next/server/app/settings/display.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/display.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/display.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/display.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/display.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/display.segments/settings/display/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/display.segments/settings/display.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/display.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/genius/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/genius/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/genius.html +1 -1
- package/.next/standalone/.next/server/app/settings/genius.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/genius.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/genius.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/genius.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/genius.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/genius.segments/settings/genius/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/genius.segments/settings/genius.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/genius.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/lastfm/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/lastfm/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/lastfm.html +1 -1
- package/.next/standalone/.next/server/app/settings/lastfm.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/lastfm.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings/lastfm/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings/lastfm.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/lastfm.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/library/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/library/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/library.html +1 -1
- package/.next/standalone/.next/server/app/settings/library.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/library.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/library.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/library.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/library.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/library.segments/settings/library/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/library.segments/settings/library.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/library.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/playback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/playback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/playback.html +1 -1
- package/.next/standalone/.next/server/app/settings/playback.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/playback.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/playback.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/playback.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/playback.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/playback.segments/settings/playback/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/playback.segments/settings/playback.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/playback.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/youtube/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/youtube/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/youtube.html +1 -1
- package/.next/standalone/.next/server/app/settings/youtube.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/youtube.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings/youtube.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/youtube.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/youtube.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings/youtube/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings/youtube.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/youtube.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +18 -18
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +18 -18
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/youtube/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/youtube/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/youtube.html +1 -1
- package/.next/standalone/.next/server/app/youtube.rsc +16 -16
- package/.next/standalone/.next/server/app/youtube.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/youtube.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/youtube.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/youtube.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/youtube.segments/youtube/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/youtube.segments/youtube.segment.rsc +3 -3
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/[externals]__0j1rmnr._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ikt5.y._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_youtube_audio_route_actions_0ix49ob.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-tq1if._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zs1ztp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0w7m.s8._.js → [root-of-the-server]__13tszzt._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_05uoimn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0b8qx~m._.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +3 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/0lhqk6x34unxe.css +3 -0
- package/.next/standalone/.next/static/chunks/0r32qvgl36~jc.js +1 -0
- package/.next/standalone/.next/static/chunks/0~phgwn0_69_u.js +1 -0
- package/.next/standalone/.next/static/chunks/{0pmdnv4s~ewq~.js → 16kria84.v_he.js} +1 -1
- package/.next/standalone/package.json +101 -100
- package/package.json +101 -100
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03-3mbr._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rojnap._.js +0 -3
- package/.next/standalone/.next/static/chunks/0.lupx4pzsf~o.css +0 -3
- package/.next/standalone/.next/static/chunks/015agggs30k0p.js +0 -1
- package/.next/standalone/.next/static/chunks/02r.ik~_51-c2.js +0 -1
- /package/.next/standalone/.next/static/{boRiHjPbPt3qjgYApnVFs → Ez87CktJcg9_xUZRSbiRz}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{boRiHjPbPt3qjgYApnVFs → Ez87CktJcg9_xUZRSbiRz}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{boRiHjPbPt3qjgYApnVFs → Ez87CktJcg9_xUZRSbiRz}/_ssgManifest.js +0 -0
|
@@ -1,100 +1,101 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "muzical-ui",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Local Node.JS music player with library browse, queue playback and MusicBrainz",
|
|
5
|
-
"author": "f3rnox",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"homepage": "https://github.com/f3rnox/muzical-ui#readme",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/f3rnox/muzical-ui.git"
|
|
11
|
-
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/f3rnox/muzical-ui/issues"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"music",
|
|
17
|
-
"player",
|
|
18
|
-
"local-library",
|
|
19
|
-
"musicbrainz",
|
|
20
|
-
"nextjs"
|
|
21
|
-
],
|
|
22
|
-
"engines": {
|
|
23
|
-
"node": ">=20"
|
|
24
|
-
},
|
|
25
|
-
"bin": {
|
|
26
|
-
"muzical-ui": "./bin/muzical-ui.js"
|
|
27
|
-
},
|
|
28
|
-
"files": [
|
|
29
|
-
"bin",
|
|
30
|
-
".next/standalone",
|
|
31
|
-
"package.json"
|
|
32
|
-
],
|
|
33
|
-
"scripts": {
|
|
34
|
-
"dev": "next dev",
|
|
35
|
-
"build": "next build && node scripts/prepare-standalone-build.js",
|
|
36
|
-
"start": "next start",
|
|
37
|
-
"build:docs": "typedoc --out ./docs ./src && cp LICENSE.md docs/LICENSE.md && cp CHANGELOG.md docs/CHANGELOG.md",
|
|
38
|
-
"build:ts": "NODE_PATH=./src tsc -p tsconfig.json",
|
|
39
|
-
"format": "pnpm format:prettier",
|
|
40
|
-
"format:check": "pnpm format:prettier:check",
|
|
41
|
-
"format:prettier": "prettier --write .",
|
|
42
|
-
"format:prettier:check": "prettier --check .",
|
|
43
|
-
"lint": "pnpm lint:markdownlint && pnpm lint:eslint",
|
|
44
|
-
"lint:eslint": "eslint package.json src/**/*",
|
|
45
|
-
"lint:eslint:fix": "eslint package.json src/**/*",
|
|
46
|
-
"lint:fix": "pnpm lint:markdownlint:fix && pnpm lint:eslint:fix",
|
|
47
|
-
"lint:markdownlint": "markdownlint README.md",
|
|
48
|
-
"lint:markdownlint:fix": "markdownlint --fix README.md",
|
|
49
|
-
"prepare": "husky",
|
|
50
|
-
"prepare-release": "pnpm build && git add docs",
|
|
51
|
-
"prepublishOnly": "pnpm build",
|
|
52
|
-
"release": "pnpm prepare-release && pnpm update-version && git push --follow-tags origin main",
|
|
53
|
-
"serve:coverage": "http-server ./coverage",
|
|
54
|
-
"serve:docs": "http-server ./docs",
|
|
55
|
-
"test": "NODE_PATH=./src NODE_ENV=test vitest run",
|
|
56
|
-
"update-deps": "updates -u -g -c",
|
|
57
|
-
"update-version": "standard-version -a"
|
|
58
|
-
},
|
|
59
|
-
"dependencies": {
|
|
60
|
-
"browser-id3-writer": "^6.3.1",
|
|
61
|
-
"music-metadata": "^11.12.3",
|
|
62
|
-
"next": "16.2.6",
|
|
63
|
-
"react": "19.2.4",
|
|
64
|
-
"react-dom": "19.2.4"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"@commitlint/
|
|
69
|
-
"@commitlint/
|
|
70
|
-
"@commitlint/
|
|
71
|
-
"@
|
|
72
|
-
"@
|
|
73
|
-
"@
|
|
74
|
-
"@
|
|
75
|
-
"@types/
|
|
76
|
-
"@types/react
|
|
77
|
-
"
|
|
78
|
-
"eslint
|
|
79
|
-
"eslint-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"typescript
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "muzical-ui",
|
|
3
|
+
"version": "0.1.21",
|
|
4
|
+
"description": "Local Node.JS music player with library browse, queue playback and MusicBrainz",
|
|
5
|
+
"author": "f3rnox",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/f3rnox/muzical-ui#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/f3rnox/muzical-ui.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/f3rnox/muzical-ui/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"music",
|
|
17
|
+
"player",
|
|
18
|
+
"local-library",
|
|
19
|
+
"musicbrainz",
|
|
20
|
+
"nextjs"
|
|
21
|
+
],
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=20"
|
|
24
|
+
},
|
|
25
|
+
"bin": {
|
|
26
|
+
"muzical-ui": "./bin/muzical-ui.js"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"bin",
|
|
30
|
+
".next/standalone",
|
|
31
|
+
"package.json"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"dev": "next dev",
|
|
35
|
+
"build": "next build && node scripts/prepare-standalone-build.js",
|
|
36
|
+
"start": "next start",
|
|
37
|
+
"build:docs": "typedoc --out ./docs ./src && cp LICENSE.md docs/LICENSE.md && cp CHANGELOG.md docs/CHANGELOG.md",
|
|
38
|
+
"build:ts": "NODE_PATH=./src tsc -p tsconfig.json",
|
|
39
|
+
"format": "pnpm format:prettier",
|
|
40
|
+
"format:check": "pnpm format:prettier:check",
|
|
41
|
+
"format:prettier": "prettier --write .",
|
|
42
|
+
"format:prettier:check": "prettier --check .",
|
|
43
|
+
"lint": "pnpm lint:markdownlint && pnpm lint:eslint",
|
|
44
|
+
"lint:eslint": "eslint package.json src/**/*",
|
|
45
|
+
"lint:eslint:fix": "eslint package.json src/**/*",
|
|
46
|
+
"lint:fix": "pnpm lint:markdownlint:fix && pnpm lint:eslint:fix",
|
|
47
|
+
"lint:markdownlint": "markdownlint README.md",
|
|
48
|
+
"lint:markdownlint:fix": "markdownlint --fix README.md",
|
|
49
|
+
"prepare": "husky",
|
|
50
|
+
"prepare-release": "pnpm build && git add docs",
|
|
51
|
+
"prepublishOnly": "pnpm build",
|
|
52
|
+
"release": "pnpm prepare-release && pnpm update-version && git push --follow-tags origin main",
|
|
53
|
+
"serve:coverage": "http-server ./coverage",
|
|
54
|
+
"serve:docs": "http-server ./docs",
|
|
55
|
+
"test": "NODE_PATH=./src NODE_ENV=test vitest run",
|
|
56
|
+
"update-deps": "updates -u -g -c",
|
|
57
|
+
"update-version": "standard-version -a"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"browser-id3-writer": "^6.3.1",
|
|
61
|
+
"music-metadata": "^11.12.3",
|
|
62
|
+
"next": "16.2.6",
|
|
63
|
+
"react": "19.2.4",
|
|
64
|
+
"react-dom": "19.2.4",
|
|
65
|
+
"yt-dlp-wrap": "^2.3.12"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@commitlint/cli": "^20.5.0",
|
|
69
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
70
|
+
"@commitlint/format": "^20.5.0",
|
|
71
|
+
"@commitlint/types": "^20.5.0",
|
|
72
|
+
"@eslint/js": "^10.0.1",
|
|
73
|
+
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
74
|
+
"@tailwindcss/postcss": "^4",
|
|
75
|
+
"@types/node": "^20",
|
|
76
|
+
"@types/react": "^19",
|
|
77
|
+
"@types/react-dom": "^19",
|
|
78
|
+
"eslint": "^9",
|
|
79
|
+
"eslint-config-next": "16.2.6",
|
|
80
|
+
"eslint-plugin-package-json": "^0.91.1",
|
|
81
|
+
"globals": "^17.4.0",
|
|
82
|
+
"http-server": "^14.1.1",
|
|
83
|
+
"husky": "^9.1.7",
|
|
84
|
+
"jiti": "^2.6.1",
|
|
85
|
+
"lint-staged": "^16.4.0",
|
|
86
|
+
"markdownlint-cli": "^0.48.0",
|
|
87
|
+
"nyc": "^18.0.0",
|
|
88
|
+
"prettier": "^3.8.1",
|
|
89
|
+
"remark": "^15.0.1",
|
|
90
|
+
"standard-version": "^9.5.0",
|
|
91
|
+
"tailwindcss": "^4",
|
|
92
|
+
"ts-node": "^10.9.2",
|
|
93
|
+
"tslib": "^2.8.1",
|
|
94
|
+
"tsx": "^4.21.0",
|
|
95
|
+
"typedoc": "^0.28.18",
|
|
96
|
+
"typescript": "^6.0.2",
|
|
97
|
+
"typescript-eslint": "^8.58.0",
|
|
98
|
+
"updates": "^17.13.5",
|
|
99
|
+
"vitest": "^4.1.2"
|
|
100
|
+
}
|
|
101
|
+
}
|
package/package.json
CHANGED
|
@@ -1,100 +1,101 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "muzical-ui",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Local Node.JS music player with library browse, queue playback and MusicBrainz",
|
|
5
|
-
"author": "f3rnox",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"homepage": "https://github.com/f3rnox/muzical-ui#readme",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/f3rnox/muzical-ui.git"
|
|
11
|
-
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/f3rnox/muzical-ui/issues"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"music",
|
|
17
|
-
"player",
|
|
18
|
-
"local-library",
|
|
19
|
-
"musicbrainz",
|
|
20
|
-
"nextjs"
|
|
21
|
-
],
|
|
22
|
-
"engines": {
|
|
23
|
-
"node": ">=20"
|
|
24
|
-
},
|
|
25
|
-
"bin": {
|
|
26
|
-
"muzical-ui": "./bin/muzical-ui.js"
|
|
27
|
-
},
|
|
28
|
-
"files": [
|
|
29
|
-
"bin",
|
|
30
|
-
".next/standalone",
|
|
31
|
-
"package.json"
|
|
32
|
-
],
|
|
33
|
-
"scripts": {
|
|
34
|
-
"dev": "next dev",
|
|
35
|
-
"build": "next build && node scripts/prepare-standalone-build.js",
|
|
36
|
-
"start": "next start",
|
|
37
|
-
"build:docs": "typedoc --out ./docs ./src && cp LICENSE.md docs/LICENSE.md && cp CHANGELOG.md docs/CHANGELOG.md",
|
|
38
|
-
"build:ts": "NODE_PATH=./src tsc -p tsconfig.json",
|
|
39
|
-
"format": "pnpm format:prettier",
|
|
40
|
-
"format:check": "pnpm format:prettier:check",
|
|
41
|
-
"format:prettier": "prettier --write .",
|
|
42
|
-
"format:prettier:check": "prettier --check .",
|
|
43
|
-
"lint": "pnpm lint:markdownlint && pnpm lint:eslint",
|
|
44
|
-
"lint:eslint": "eslint package.json src/**/*",
|
|
45
|
-
"lint:eslint:fix": "eslint package.json src/**/*",
|
|
46
|
-
"lint:fix": "pnpm lint:markdownlint:fix && pnpm lint:eslint:fix",
|
|
47
|
-
"lint:markdownlint": "markdownlint README.md",
|
|
48
|
-
"lint:markdownlint:fix": "markdownlint --fix README.md",
|
|
49
|
-
"prepare": "husky",
|
|
50
|
-
"prepare-release": "pnpm build && git add docs",
|
|
51
|
-
"prepublishOnly": "pnpm build",
|
|
52
|
-
"release": "pnpm prepare-release && pnpm update-version && git push --follow-tags origin main",
|
|
53
|
-
"serve:coverage": "http-server ./coverage",
|
|
54
|
-
"serve:docs": "http-server ./docs",
|
|
55
|
-
"test": "NODE_PATH=./src NODE_ENV=test vitest run",
|
|
56
|
-
"update-deps": "updates -u -g -c",
|
|
57
|
-
"update-version": "standard-version -a"
|
|
58
|
-
},
|
|
59
|
-
"dependencies": {
|
|
60
|
-
"browser-id3-writer": "^6.3.1",
|
|
61
|
-
"music-metadata": "^11.12.3",
|
|
62
|
-
"next": "16.2.6",
|
|
63
|
-
"react": "19.2.4",
|
|
64
|
-
"react-dom": "19.2.4"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"@commitlint/
|
|
69
|
-
"@commitlint/
|
|
70
|
-
"@commitlint/
|
|
71
|
-
"@
|
|
72
|
-
"@
|
|
73
|
-
"@
|
|
74
|
-
"@
|
|
75
|
-
"@types/
|
|
76
|
-
"@types/react
|
|
77
|
-
"
|
|
78
|
-
"eslint
|
|
79
|
-
"eslint-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"typescript
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "muzical-ui",
|
|
3
|
+
"version": "0.1.21",
|
|
4
|
+
"description": "Local Node.JS music player with library browse, queue playback and MusicBrainz",
|
|
5
|
+
"author": "f3rnox",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/f3rnox/muzical-ui#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/f3rnox/muzical-ui.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/f3rnox/muzical-ui/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"music",
|
|
17
|
+
"player",
|
|
18
|
+
"local-library",
|
|
19
|
+
"musicbrainz",
|
|
20
|
+
"nextjs"
|
|
21
|
+
],
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=20"
|
|
24
|
+
},
|
|
25
|
+
"bin": {
|
|
26
|
+
"muzical-ui": "./bin/muzical-ui.js"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"bin",
|
|
30
|
+
".next/standalone",
|
|
31
|
+
"package.json"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"dev": "next dev",
|
|
35
|
+
"build": "next build && node scripts/prepare-standalone-build.js",
|
|
36
|
+
"start": "next start",
|
|
37
|
+
"build:docs": "typedoc --out ./docs ./src && cp LICENSE.md docs/LICENSE.md && cp CHANGELOG.md docs/CHANGELOG.md",
|
|
38
|
+
"build:ts": "NODE_PATH=./src tsc -p tsconfig.json",
|
|
39
|
+
"format": "pnpm format:prettier",
|
|
40
|
+
"format:check": "pnpm format:prettier:check",
|
|
41
|
+
"format:prettier": "prettier --write .",
|
|
42
|
+
"format:prettier:check": "prettier --check .",
|
|
43
|
+
"lint": "pnpm lint:markdownlint && pnpm lint:eslint",
|
|
44
|
+
"lint:eslint": "eslint package.json src/**/*",
|
|
45
|
+
"lint:eslint:fix": "eslint package.json src/**/*",
|
|
46
|
+
"lint:fix": "pnpm lint:markdownlint:fix && pnpm lint:eslint:fix",
|
|
47
|
+
"lint:markdownlint": "markdownlint README.md",
|
|
48
|
+
"lint:markdownlint:fix": "markdownlint --fix README.md",
|
|
49
|
+
"prepare": "husky",
|
|
50
|
+
"prepare-release": "pnpm build && git add docs",
|
|
51
|
+
"prepublishOnly": "pnpm build",
|
|
52
|
+
"release": "pnpm prepare-release && pnpm update-version && git push --follow-tags origin main",
|
|
53
|
+
"serve:coverage": "http-server ./coverage",
|
|
54
|
+
"serve:docs": "http-server ./docs",
|
|
55
|
+
"test": "NODE_PATH=./src NODE_ENV=test vitest run",
|
|
56
|
+
"update-deps": "updates -u -g -c",
|
|
57
|
+
"update-version": "standard-version -a"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"browser-id3-writer": "^6.3.1",
|
|
61
|
+
"music-metadata": "^11.12.3",
|
|
62
|
+
"next": "16.2.6",
|
|
63
|
+
"react": "19.2.4",
|
|
64
|
+
"react-dom": "19.2.4",
|
|
65
|
+
"yt-dlp-wrap": "^2.3.12"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@commitlint/cli": "^20.5.0",
|
|
69
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
70
|
+
"@commitlint/format": "^20.5.0",
|
|
71
|
+
"@commitlint/types": "^20.5.0",
|
|
72
|
+
"@eslint/js": "^10.0.1",
|
|
73
|
+
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
74
|
+
"@tailwindcss/postcss": "^4",
|
|
75
|
+
"@types/node": "^20",
|
|
76
|
+
"@types/react": "^19",
|
|
77
|
+
"@types/react-dom": "^19",
|
|
78
|
+
"eslint": "^9",
|
|
79
|
+
"eslint-config-next": "16.2.6",
|
|
80
|
+
"eslint-plugin-package-json": "^0.91.1",
|
|
81
|
+
"globals": "^17.4.0",
|
|
82
|
+
"http-server": "^14.1.1",
|
|
83
|
+
"husky": "^9.1.7",
|
|
84
|
+
"jiti": "^2.6.1",
|
|
85
|
+
"lint-staged": "^16.4.0",
|
|
86
|
+
"markdownlint-cli": "^0.48.0",
|
|
87
|
+
"nyc": "^18.0.0",
|
|
88
|
+
"prettier": "^3.8.1",
|
|
89
|
+
"remark": "^15.0.1",
|
|
90
|
+
"standard-version": "^9.5.0",
|
|
91
|
+
"tailwindcss": "^4",
|
|
92
|
+
"ts-node": "^10.9.2",
|
|
93
|
+
"tslib": "^2.8.1",
|
|
94
|
+
"tsx": "^4.21.0",
|
|
95
|
+
"typedoc": "^0.28.18",
|
|
96
|
+
"typescript": "^6.0.2",
|
|
97
|
+
"typescript-eslint": "^8.58.0",
|
|
98
|
+
"updates": "^17.13.5",
|
|
99
|
+
"vitest": "^4.1.2"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[68231,a=>{"use strict";var b=a.i(1962),c=a.i(82670);let d={get:(a,b)=>127&a[b+3]|a[b+2]<<7|a[b+1]<<14|a[b]<<21,len:4},e={len:1,get:(a,b)=>{switch(a[b]){case 0:return{encoding:"latin1"};case 1:return{encoding:"utf-16le",bom:!0};case 2:return{encoding:"utf-16le",bom:!1};default:return{encoding:"utf8",bom:!1}}}},f={len:4,get:(a,c)=>({encoding:e.get(a,c),language:new b.StringType(3,"latin1").get(a,c+1)})};a.s(["AttachedPictureType",0,{0:"Other",1:"32x32 pixels 'file icon' (PNG only)",2:"Other file icon",3:"Cover (front)",4:"Cover (back)",5:"Leaflet page",6:"Media (e.g. label side of CD)",7:"Lead artist/lead performer/soloist",8:"Artist/performer",9:"Conductor",10:"Band/Orchestra",11:"Composer",12:"Lyricist/text writer",13:"Recording Location",14:"During recording",15:"During performance",16:"Movie/video screen capture",17:"A bright coloured fish",18:"Illustration",19:"Band/artist logotype",20:"Publisher/Studio logotype"},"ExtendedHeader",0,{len:10,get:(a,d)=>({size:b.UINT32_BE.get(a,d),extendedFlags:b.UINT16_BE.get(a,d+4),sizeOfPadding:b.UINT32_BE.get(a,d+6),crcDataPresent:c.getBit(a,d+4,31)})},"ID3v2Header",0,{len:10,get:(a,e)=>({fileIdentifier:new b.StringType(3,"ascii").get(a,e),version:{major:b.INT8.get(a,e+3),revision:b.INT8.get(a,e+4)},flags:{unsynchronisation:c.getBit(a,e+5,7),isExtendedHeader:c.getBit(a,e+5,6),expIndicator:c.getBit(a,e+5,5),footer:c.getBit(a,e+5,4)},size:d.get(a,e+6)})},"LyricsContentType",0,{other:0,lyrics:1,text:2,movement_part:3,events:4,chord:5,trivia_pop:6},"SyncTextHeader",0,{len:6,get:(a,c)=>{let d=f.get(a,c);return{encoding:d.encoding,language:d.language,timeStampFormat:b.UINT8.get(a,c+4),contentType:b.UINT8.get(a,c+5)}}},"TextEncodingToken",0,e,"TextHeader",0,f,"TimestampFormat",0,{notSynchronized:0,mpegFrameNumber:1,milliseconds:2},"UINT32SYNCSAFE",0,d])},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},17588,82663,77789,a=>{"use strict";var b=a.i(12714);class c extends Error{constructor(){super("End-Of-Stream"),this.name="EndOfStreamError"}}a.s(["AbortError",0,class extends Error{constructor(a="The operation was aborted"){super(a),this.name="AbortError"}},"EndOfStreamError",0,c],82663);class d{constructor(a){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=a?.onClose,a?.abortSignal&&a.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(a,b=this.position){let d=new Uint8Array(a.len);if(await this.readBuffer(d,{position:b})<a.len)throw new c;return a.get(d,0)}async peekToken(a,b=this.position){let d=new Uint8Array(a.len);if(await this.peekBuffer(d,{position:b})<a.len)throw new c;return a.get(d,0)}async readNumber(a){if(await this.readBuffer(this.numBuffer,{length:a.len})<a.len)throw new c;return a.get(this.numBuffer,0)}async peekNumber(a){if(await this.peekBuffer(this.numBuffer,{length:a.len})<a.len)throw new c;return a.get(this.numBuffer,0)}async ignore(a){if(a<0)throw RangeError("ignore length must be ≥ 0 bytes");if(void 0!==this.fileInfo.size){let b=this.fileInfo.size-this.position;if(a>b)return this.position+=b,b}return this.position+=a,a}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(a,b){if(!this.supportsRandomAccess()&&b&&void 0!==b.position&&b.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{...{mayBeLess:!1,offset:0,length:a.length,position:this.position},...b}}abort(){return Promise.resolve()}}a.s(["AbstractTokenizer",0,d],77789);class e extends d{static async fromFile(a){let c=await (0,b.open)(a,"r"),d=await c.stat();return new e(c,{fileInfo:{path:a,size:d.size}})}constructor(a,b){super(b),this.fileHandle=a,this.fileInfo=b.fileInfo}async readBuffer(a,b){let d=this.normalizeOptions(a,b);if(this.position=d.position,0===d.length)return 0;let e=await this.fileHandle.read(a,0,d.length,d.position);if(this.position+=e.bytesRead,e.bytesRead<d.length&&(!b||!b.mayBeLess))throw new c;return e.bytesRead}async peekBuffer(a,b){let d=this.normalizeOptions(a,b),e=await this.fileHandle.read(a,0,d.length,d.position);if(!d.mayBeLess&&e.bytesRead<d.length)throw new c;return e.bytesRead}async close(){return await this.fileHandle.close(),super.close()}setPosition(a){this.position=a}supportsRandomAccess(){return!0}}e.fromFile,a.s([],17588)},82670,37187,a=>{"use strict";var b=a.i(1962),c=a.i(74777);let d=Object.prototype.toString;new globalThis.TextDecoder("utf8"),new globalThis.TextEncoder;let e=Array.from({length:256},(a,b)=>b.toString(16).padStart(2,"0"));function f(a){let{byteLength:b}=a;return 6===b?0x100000000*a.getUint16(0)+a.getUint32(2):5===b?0x100000000*a.getUint8(0)+a.getUint32(1):4===b?a.getUint32(0):3===b?65536*a.getUint8(0)+a.getUint16(1):2===b?a.getUint16(0):1===b?a.getUint8(0):void 0}function g(a,b,c,d){let e=b+~~(c/8),f=c%8,h=a[e];h&=255>>f;let i=8-f,j=d-i;return j<0?h>>=8-f-d:j>0&&(h<<=j,h|=g(a,b,c+i,j)),h}a.s(["getUintBE",0,f,"uint8ArrayToHex",0,function(a){var b;if(b=Uint8Array,!a||a.constructor!==b&&"[object Uint8Array]"!==d.call(a))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof a}\``);let c="";for(let b=0;b<a.length;b++)c+=e[a[b]];return c}],37187),a.s(["a2hex",0,function(a){let b=[];for(let c=0,d=a.length;c<d;c++){let d=Number(a.charCodeAt(c)).toString(16);b.push(1===d.length?`0${d}`:d)}return b.join(" ")},"decodeString",0,function a(d,e){if(255===d[0]&&254===d[1])return a(d.subarray(2),e);if("utf-16le"===e&&254===d[0]&&255===d[1]){if((1&d.length)!=0)throw new c.FieldDecodingError("Expected even number of octets for 16-bit unicode string");return a(function(a){let b=a.length;if((1&b)!=0)throw new c.FieldDecodingError("Buffer length must be even");for(let c=0;c<b;c+=2){let b=a[c];a[c]=a[c+1],a[c+1]=b}return a}(d),e)}return new b.StringType(d.length,e).get(d,0)},"decodeUintBE",0,function(a){if(0===a.length)throw Error("decodeUintBE: empty Uint8Array");return f(new DataView(a.buffer,a.byteOffset,a.byteLength))},"findZero",0,function(a,b){let c=a.length;if("utf-16le"===b){for(let b=0;b+1<c;b+=2)if(0===a[b]&&0===a[b+1])return b;return c}for(let b=0;b<c;b++)if(0===a[b])return b;return c},"getBit",0,function(a,b,c){return(a[b]&1<<c)!=0},"getBitAllignedNumber",0,g,"isBitSet",0,function(a,b,c){return 1===g(a,b,c,1)},"stripNulls",0,function(a){return(a=a.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")},"toRatio",0,function(a){let b=a.split(" ").map(a=>a.trim().toLowerCase());if(b.length>=1){let a=Number.parseFloat(b[0]);return 2===b.length&&"db"===b[1]?{dB:a,ratio:10**(a/10)}:{dB:10*Math.log10(a),ratio:a}}},"trimRightNull",0,function(a){let b=a.indexOf("\0");return -1===b?a:a.substring(0,b)}],82670)},49597,a=>{"use strict";var b=a.i(35617),c=a.i(1962),d=a.i(82670),e=a.i(7304),f=a.i(81318),g=a.i(73635);let h=(0,b.default)("music-metadata:parser:ID3v1"),i=["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"],j={len:128,get:(a,b)=>{let d=new k(3).get(a,b);return"TAG"===d?{header:d,title:new k(30).get(a,b+3),artist:new k(30).get(a,b+33),album:new k(30).get(a,b+63),year:new k(4).get(a,b+93),comment:new k(28).get(a,b+97),zeroByte:c.UINT8.get(a,b+127),track:c.UINT8.get(a,b+126),genre:c.UINT8.get(a,b+127)}:null}};class k{constructor(a){this.len=a,this.stringType=new c.StringType(a,"latin1")}get(a,b){let c=this.stringType.get(a,b);return(c=(c=d.trimRightNull(c)).trim()).length>0?c:void 0}}class l extends e.BasicParser{constructor(a,b,c){super(a,b,c),this.apeHeader=c.apeHeader}static getGenre(a){if(a<i.length)return i[a]}async parse(){if(!this.tokenizer.fileInfo.size)return void h("Skip checking for ID3v1 because the file-size is unknown");if(this.apeHeader){this.tokenizer.ignore(this.apeHeader.offset-this.tokenizer.position);let a=new f.APEv2Parser(this.metadata,this.tokenizer,this.options);await a.parseTags(this.apeHeader.footer)}let a=this.tokenizer.fileInfo.size-j.len;if(this.tokenizer.position>a)return void h("Already consumed the last 128 bytes");let b=await this.tokenizer.readToken(j,a);if(b){for(let a of(h("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-j.len),["title","artist","album","comment","track","year"]))b[a]&&""!==b[a]&&await this.addTag(a,b[a]);let a=l.getGenre(b.genre);a&&await this.addTag("genre",a)}else h("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-j.len)}async addTag(a,b){await this.metadata.addTag("ID3v1",a,b)}}async function m(a){if(a.fileInfo.size>=128){let b=new Uint8Array(3),c=a.position;return await a.readBuffer(b,{position:a.fileInfo.size-128}),a.setPosition(c),"TAG"===(0,g.textDecode)(b,"latin1")}return!1}a.s(["Genres",0,i,"ID3v1Parser",0,l,"hasID3v1Header",0,m])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__03-3mbr._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},11391,(a,b,c)=>{"use strict";b.exports=a.r(18622)},61401,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored["react-ssr"].ReactJsxRuntime},59021,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored["react-ssr"].React},82583,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored.contexts.AppRouterContext},35634,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored["react-ssr"].ReactServerDOMTurbopackClient},98548,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored.contexts.HooksClientContext},19973,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored.contexts.ServerInsertedHtml},23678,(a,b,c)=>{"use strict";b.exports=a.r(11391).vendored["react-ssr"].ReactDOM},44753,a=>{"use strict";let b={video:1,audio:2,complex:3,logo:4,subtitle:17,button:18,control:32},c={[b.video]:"video",[b.audio]:"audio",[b.complex]:"complex",[b.logo]:"logo",[b.subtitle]:"subtitle",[b.button]:"button",[b.control]:"control"};a.s(["TargetType",0,{10:"shot",20:"scene",30:"track",40:"part",50:"album",60:"edition",70:"collection"},"TrackType",0,b,"TrackTypeValueToKeyMap",0,c])},41090,a=>{"use strict";let b=!1;a.s(["default",0,function(){return b},"setYoutubeDataApiBlockedInternal",0,function(a){b=a}])},37978,a=>{"use strict";a.s(["default",0,function(){return""}])},56663,33118,a=>{"use strict";var b=a.i(61401),c=a.i(59021);function d(){return{prefetchQueueVideoIds:!0,prefetchQueueMaxTracks:8}}a.s(["DEFAULT_PREFETCH_QUEUE_MAX_TRACKS",0,8,"PREFETCH_QUEUE_MAX_TRACKS_MAX",0,32,"PREFETCH_QUEUE_MAX_TRACKS_MIN",0,1,"PREFETCH_QUEUE_VIDEO_IDS_STORAGE_KEY",0,"muzical.youtubePrefetchQueueVideoIds"],33118);let e=(0,c.createContext)(null);a.s(["YoutubePreferencesProvider",0,function(a){let[f,g]=(0,c.useState)(d);(0,c.useEffect)(()=>{queueMicrotask(()=>{g({prefetchQueueVideoIds:d().prefetchQueueVideoIds,prefetchQueueMaxTracks:d().prefetchQueueMaxTracks})})},[]);let h=(0,c.useCallback)(a=>{g(b=>({...b,...a}))},[]),i=(0,c.useCallback)(a=>{h({prefetchQueueVideoIds:a})},[h]),j=(0,c.useCallback)(a=>{h({prefetchQueueMaxTracks:Math.min(32,Math.max(1,Math.floor(a)||1))})},[h]),k=(0,c.useMemo)(()=>({preferences:f,setPrefetchQueueVideoIds:i,setPrefetchQueueMaxTracks:j,patchPreferences:h}),[f,i,j,h]);return(0,b.jsx)(e.Provider,{value:k,children:a.children})},"useYoutubePreferences",0,function(){let a=(0,c.useContext)(e);if(!a)throw Error("useYoutubePreferences must be used within YoutubePreferencesProvider");return a}],56663)},52397,a=>{"use strict";var b=a.i(61401),c=a.i(59021);let d=(0,c.createContext)({notifySettingsSaved:()=>void 0});a.s(["SettingsSaveNotificationProvider",0,function(a){let[e,f]=(0,c.useState)(null),g=(0,c.useRef)(null),h=(0,c.useCallback)(()=>{g.current&&(clearTimeout(g.current),g.current=null)},[]),i=(0,c.useCallback)(()=>{h(),f(null)},[h]),j=(0,c.useCallback)((a="Settings saved")=>{h(),f(a),g.current=setTimeout(()=>{f(null),g.current=null},2200)},[h]);(0,c.useEffect)(()=>h,[h]);let k=(0,c.useMemo)(()=>({notifySettingsSaved:j}),[j]);return(0,b.jsxs)(d.Provider,{value:k,children:[a.children,e?(0,b.jsxs)("div",{role:"status","aria-live":"polite",className:"pointer-events-auto fixed bottom-4 right-4 z-50 w-[min(100vw-2rem,22rem)] rounded-xl border border-emerald-200/90 bg-white/95 p-4 pr-10 shadow-lg shadow-zinc-900/10 backdrop-blur-sm dark:border-emerald-800/80 dark:bg-zinc-900/95 dark:shadow-black/40",children:[(0,b.jsx)("button",{type:"button",onClick:i,className:"absolute right-2 top-2 flex h-7 w-7 cursor-pointer items-center justify-center rounded-full text-zinc-500 transition hover:bg-zinc-100 hover:text-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-200","aria-label":"Dismiss notification",children:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:(0,b.jsx)("path",{d:"M6 6l12 12M18 6L6 18",strokeLinecap:"round"})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",children:(0,b.jsx)("svg",{viewBox:"0 0 24 24",className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"2.25","aria-hidden":!0,children:(0,b.jsx)("path",{d:"M5 12.5l4 4L19 7",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("p",{className:"min-w-0 text-sm font-medium text-zinc-900 dark:text-zinc-100",children:e})]})]}):null]})},"useSettingsSaveNotification",0,function(){return(0,c.useContext)(d)}])},85543,a=>{"use strict";a.s(["default",0,function(){return""}])},21337,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},358,a=>{"use strict";a.s(["default",0,function(){return"library"}],358)},41603,a=>{"use strict";var b=a.i(80977);a.s(["default",0,function(a){if(a<=0)return"—";let c=Math.floor(a/3600);if(c>0){let b=Math.floor(a%3600/60);return`${c}h ${b}m`}return(0,b.formatDuration)(a)}])},50049,26737,a=>{"use strict";a.s(["default",0,function(){return""}],50049),a.s(["default",0,function(a){}],26737)},53804,57670,a=>{"use strict";var b=a.i(61401),c=a.i(59021);function d(){return{repeatMode:"all",shuffle:!1,playbackRate:1,rememberVolume:!1,volume:.85,seekStepSmallSec:5,seekStepLargeSec:30,autoAdvanceOnEnd:!0}}a.s(["AUTO_ADVANCE_ON_END_STORAGE_KEY",0,"muzical.autoAdvanceOnEnd","DEFAULT_PLAYBACK_VOLUME",0,.85,"REMEMBER_VOLUME_STORAGE_KEY",0,"muzical.rememberVolume","SEEK_STEP_LARGE_STORAGE_KEY",0,"muzical.seekStepLargeSec","SEEK_STEP_SMALL_STORAGE_KEY",0,"muzical.seekStepSmallSec"],57670);function e(a){}let f=(0,c.createContext)(null);a.s(["PlaybackPreferencesProvider",0,function(a){let[g,h]=(0,c.useState)(d);(0,c.useEffect)(()=>{queueMicrotask(()=>{let a;h((a=d(),{repeatMode:d().repeatMode,shuffle:!1,playbackRate:d().playbackRate,rememberVolume:a.rememberVolume,volume:.85,seekStepSmallSec:a.seekStepSmallSec,seekStepLargeSec:a.seekStepLargeSec,autoAdvanceOnEnd:a.autoAdvanceOnEnd}))})},[]);let i=(0,c.useCallback)(a=>{h(b=>{let c={...b,...a};return e(c),c})},[]),j=(0,c.useCallback)(a=>{i({repeatMode:a})},[i]),k=(0,c.useCallback)(a=>{i({shuffle:a})},[i]),l=(0,c.useCallback)(a=>{i({playbackRate:a})},[i]),m=(0,c.useCallback)(a=>{i({rememberVolume:a})},[i]),n=(0,c.useCallback)(a=>{let b=Math.min(1,Math.max(0,a));h(a=>{let c={...a,volume:b};return a.rememberVolume&&e(c),c})},[]),o=(0,c.useCallback)(a=>{i({seekStepSmallSec:Math.min(120,Math.max(1,Math.floor(a)||5))})},[i]),p=(0,c.useCallback)(a=>{i({seekStepLargeSec:Math.min(600,Math.max(1,Math.floor(a)||30))})},[i]),q=(0,c.useCallback)(a=>{i({autoAdvanceOnEnd:a})},[i]),r=(0,c.useMemo)(()=>({preferences:g,setRepeatMode:j,setShuffle:k,setPlaybackRate:l,setRememberVolume:m,setVolume:n,setSeekStepSmallSec:o,setSeekStepLargeSec:p,setAutoAdvanceOnEnd:q,patchPreferences:i}),[g,j,k,l,m,n,o,p,q,i]);return(0,b.jsx)(f.Provider,{value:r,children:a.children})},"usePlaybackPreferences",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("usePlaybackPreferences must be used within PlaybackPreferencesProvider");return a}],53804)},82986,a=>{"use strict";a.s(["PLAYBACK_RATES",0,[.5,.75,1,1.25,1.5,2]])},31470,a=>{"use strict";var b=a.i(61401),c=a.i(59021);let d="muzical-theme",e=(0,c.createContext)(null);function f(a){document.documentElement.classList.toggle("dark","dark"===a)}a.s(["ThemeProvider",0,function(a){let[g,h]=(0,c.useState)("light");(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>{let a="dark"===localStorage.getItem(d)?"dark":"light";h(a),f(a)});return()=>cancelAnimationFrame(a)},[]);let i=(0,c.useCallback)(a=>{h(a),localStorage.setItem(d,a),f(a)},[]),j=(0,c.useCallback)(()=>{h(a=>{let b="light"===a?"dark":"light";return localStorage.setItem(d,b),f(b),b})},[]),k=(0,c.useMemo)(()=>({scheme:g,setScheme:i,toggleScheme:j}),[g,i,j]);return(0,b.jsx)(e.Provider,{value:k,children:a.children})},"useTheme",0,function(){let a=(0,c.useContext)(e);if(!a)throw Error("useTheme must be used within ThemeProvider");return a}],31470)},98062,77043,a=>{"use strict";var b=a.i(61401),c=a.i(59021);let d="warm";function e(a){document.documentElement.setAttribute("data-palette",a||d)}a.s(["COLOR_PALETTES",0,[{id:"warm",label:"Warm",description:"Amber highlights on soft stone",accent:"#f59e0b",lightBackground:"#fafaf9",darkBackground:"#0c0a09"},{id:"sunset",label:"Sunset",description:"Orange glow on peach paper",accent:"#f97316",lightBackground:"#fffbf7",darkBackground:"#140a06"},{id:"bloom",label:"Bloom",description:"Rose accents on blush white",accent:"#f43f5e",lightBackground:"#fffafa",darkBackground:"#12080b"},{id:"crimson",label:"Crimson",description:"Red highlights on warm ivory",accent:"#ef4444",lightBackground:"#fefafa",darkBackground:"#140606"},{id:"aurora",label:"Aurora",description:"Violet accents on cool mist",accent:"#8b5cf6",lightBackground:"#faf9ff",darkBackground:"#0b0814"},{id:"ocean",label:"Ocean",description:"Blue accents on airy sky",accent:"#3b82f6",lightBackground:"#f8fafc",darkBackground:"#060a14"},{id:"lagoon",label:"Lagoon",description:"Teal accents on sea foam",accent:"#14b8a6",lightBackground:"#f7fdfb",darkBackground:"#041210"},{id:"forest",label:"Forest",description:"Emerald accents on sage mist",accent:"#10b981",lightBackground:"#f7fdf9",darkBackground:"#04120c"},{id:"midnight",label:"Midnight",description:"Indigo accents on deep night",accent:"#6366f1",lightBackground:"#f5f6ff",darkBackground:"#05060f"},{id:"slate",label:"Slate",description:"Neutral zinc with minimal color",accent:"#71717a",lightBackground:"#fafafa",darkBackground:"#09090b"}],"DEFAULT_PALETTE_ID",0,d],77043);let f=(0,c.createContext)(null);a.s(["PaletteProvider",0,function(a){let[g,h]=(0,c.useState)(d);(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>{h(d),e(d)});return()=>cancelAnimationFrame(a)},[]);let i=(0,c.useCallback)(a=>{h(a),e(a)},[]),j=(0,c.useMemo)(()=>({paletteId:g,setPaletteId:i}),[g,i]);return(0,b.jsx)(f.Provider,{value:j,children:a.children})},"usePalette",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("usePalette must be used within PaletteProvider");return a}],98062)},46769,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_id3v2_048_t.z._.js","server/chunks/ssr/0a6e_music-metadata_lib_mpeg_MpegParser_02l3ght.js"].map(b=>a.l(b))).then(()=>b(70373)))},92102,a=>{a.v(a=>Promise.resolve().then(()=>a(81318)))},1995,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_asf_AsfParser_0wobq.s.js"].map(b=>a.l(b))).then(()=>b(78330)))},89469,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0xiet5m._.js"].map(b=>a.l(b))).then(()=>b(93875)))},60519,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0vvxdoi._.js"].map(b=>a.l(b))).then(()=>b(62748)))},48352,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0epj5a8._.js"].map(b=>a.l(b))).then(()=>b(85190)))},17808,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0mpaeoj._.js"].map(b=>a.l(b))).then(()=>b(23163)))},71875,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_matroska_MatroskaParser_129r4d4.js"].map(b=>a.l(b))).then(()=>b(27755)))},7219,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_mp4_MP4Parser_0iiz1xe.js"].map(b=>a.l(b))).then(()=>b(91486)))},75093,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0lxnb~i._.js"].map(b=>a.l(b))).then(()=>b(12190)))},99889,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0xr.otg._.js"].map(b=>a.l(b))).then(()=>b(77677)))},56564,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_wavpack_WavPackParser_053dpex.js"].map(b=>a.l(b))).then(()=>b(42666)))},14180,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0a6e_music-metadata_lib_0952jxx._.js"].map(b=>a.l(b))).then(()=>b(95516)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0rojnap._.js.map
|