A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4 306 lines 20 kB view raw
1{ 2 "name": "@toko/diffuse", 3 "version": "4.0.0-alpha", 4 "vendor": true, 5 "imports": { 6 "98.css": "npm:98.css@^0.1.21", 7 "@atcute/atproto": "npm:@atcute/atproto@^3.1.10", 8 "@atcute/car": "npm:@atcute/car@^5.1.1", 9 "@atcute/cbor": "npm:@atcute/cbor@^2.3.2", 10 "@atcute/cid": "npm:@atcute/cid@^2.4.1", 11 "@atcute/tid": "npm:@atcute/tid@^1.1.2", 12 "@atcute/client": "npm:@atcute/client@^4.2.1", 13 "@atcute/firehose": "npm:@atcute/firehose@^0.1.0", 14 "@atcute/repo": "npm:@atcute/repo@^0.1.3", 15 "@atcute/identity-resolver": "npm:@atcute/identity-resolver@^1.2.2", 16 "@atcute/lexicons": "npm:@atcute/lexicons@^1.2.9", 17 "@atcute/oauth-browser-client": "npm:@atcute/oauth-browser-client@^3.0.0", 18 "@atcute/uint8array": "npm:@atcute/uint8array@^1.1.1", 19 "@automerge/automerge": "npm:@automerge/automerge@^3.2.4", 20 "@awesome.me/webawesome": "npm:@awesome.me/webawesome@^3.3.1", 21 "@bradenmacdonald/s3-lite-client": "jsr:@bradenmacdonald/s3-lite-client@^0.9.5", 22 "@cloudradio/icy-parser": "jsr:@cloudradio/icy-parser@^1.0.2", 23 "@char/cbor": "jsr:@char/cbor@^0.1.4", 24 "@codemirror/autocomplete": "npm:@codemirror/autocomplete@^6.20.1", 25 "@codemirror/lang-css": "npm:@codemirror/lang-css@^6.3.1", 26 "@codemirror/lang-html": "npm:@codemirror/lang-html@^6.4.11", 27 "@codemirror/lang-javascript": "npm:@codemirror/lang-javascript@^6.2.5", 28 "@fcrozatier/htmlcrunch": "jsr:@fcrozatier/htmlcrunch@^1.5.1", 29 "@fortawesome/free-regular-svg-icons": "npm:@fortawesome/free-regular-svg-icons@^7.2.0", 30 "@fry69/deep-diff": "jsr:@fry69/deep-diff@^0.1.10", 31 "@mary/ds-queue": "jsr:@mary/ds-queue@^0.1.3", 32 "@noble/ciphers": "npm:@noble/ciphers@^2.1.1", 33 "@noble/hashes": "npm:@noble/hashes@^2.0.1", 34 "@okikio/transferables": "jsr:@okikio/transferables@^1.0.2", 35 "@orama/orama": "npm:@orama/orama@^3.1.18", 36 "@phosphor-icons/web": "npm:@phosphor-icons/web@^2.1.2", 37 "@std/html": "jsr:@std/html@^1.0.5", 38 "@std/semver": "jsr:@std/semver@^1.0.8", 39 "@std/xml": "jsr:@std/xml@^0.1.0", 40 "@vicary/debounce-microtask": "jsr:@vicary/debounce-microtask@^0.1.8", 41 "@tanstack/virtual-core": "npm:@tanstack/virtual-core@^3.13.0", 42 "alien-signals": "npm:alien-signals@^3.1.2", 43 "bs58check": "npm:bs58check@^4.0.0", 44 "codemirror": "npm:codemirror@^6.0.2", 45 "fast-average-color": "npm:fast-average-color@^9.5.0", 46 "fast-uri": "npm:fast-uri@^3.1.0", 47 "idb-keyval": "npm:idb-keyval@^6.2.2", 48 "kmenu": "npm:kmenu@^2.0.3", 49 "iso-base": "npm:iso-base@^4.3.0", 50 "lit-html": "npm:lit-html@^3.3.2", 51 "marked": "npm:marked@^17.0.4", 52 "query-string": "npm:query-string@^9.3.1", 53 "subsonic-api": "npm:subsonic-api@^3.2.0", 54 "temporal-polyfill": "npm:temporal-polyfill@^0.3.2", 55 "throttle-debounce": "npm:throttle-debounce@^5.0.2", 56 "xxh32": "npm:xxh32@^2.0.5", 57 "butterchurn": "npm:butterchurn@3.0.0-beta.5", 58 "butterchurn-presets": "npm:butterchurn-presets@3.0.0-beta.4", 59 60 // music-metadata 61 "@tokenizer/http": "npm:@tokenizer/http@^0.9.2", 62 "@tokenizer/range": "npm:@tokenizer/range@^0.13.1", 63 "music-metadata": "npm:music-metadata@^11.12.2", 64 65 // Build 66 "@atcute/lex-cli": "npm:@atcute/lex-cli@^2.5.3", 67 "@dotenv-run/esbuild": "npm:@dotenv-run/esbuild@^1.5.1", 68 "@std/fs": "jsr:@std/fs@^1.0.23", 69 "@std/path": "jsr:@std/path@^1.1.4", 70 "@types/wicg-file-system-access": "npm:@types/wicg-file-system-access@^2023.10.7", 71 "autoprefixer": "npm:autoprefixer@^10.4.27", 72 "esbuild-plugins-node-modules-polyfill": "npm:esbuild-plugins-node-modules-polyfill@^1.8.1", 73 "esbuild-plugin-wasm": "npm:esbuild-plugin-wasm@^1.1.0", 74 "cssnano": "npm:cssnano@^7.1.3", 75 "lume/": "https://cdn.jsdelivr.net/gh/lumeland/lume@3.2.2/", 76 "lume/jsx-runtime": "https://cdn.jsdelivr.net/gh/oscarotero/ssx@0.1.14/jsx-runtime.ts", 77 78 // Tests 79 "@astral/astral": "jsr:@astral/astral@0.5.5", 80 "@std/expect": "jsr:@std/expect@1.0.18", 81 "@std/testing/bdd": "jsr:@std/testing@1.0.17/bdd", 82 83 // Paths 84 "~/": "./src/", 85 86 "@tests/": "./tests/", 87 }, 88 "exports": { 89 // .js 90 "./common/foundation.js": "./src/common/foundation.js", 91 "./common/facets/utils.js": "./src/common/facets/utils.js", 92 "./common/element.js": "./src/common/element.js", 93 "./common/signal.js": "./src/common/signal.js", 94 "./common/worker.js": "./src/common/worker.js", 95 "./common/worker/rpc.js": "./src/common/worker/rpc.js", 96 "./common/utils.js": "./src/common/utils.js", 97 "./components/artwork/audio-metadata/element.js": "./src/components/artwork/audio-metadata/element.js", 98 "./components/artwork/audio-metadata/worker.js": "./src/components/artwork/audio-metadata/worker.js", 99 "./components/artwork/input/element.js": "./src/components/artwork/input/element.js", 100 "./components/artwork/input/worker.js": "./src/components/artwork/input/worker.js", 101 "./components/artwork/last.fm/element.js": "./src/components/artwork/last.fm/element.js", 102 "./components/artwork/last.fm/worker.js": "./src/components/artwork/last.fm/worker.js", 103 "./components/artwork/musicbrainz/element.js": "./src/components/artwork/musicbrainz/element.js", 104 "./components/artwork/musicbrainz/worker.js": "./src/components/artwork/musicbrainz/worker.js", 105 "./components/configurator/artwork/element.js": "./src/components/configurator/artwork/element.js", 106 "./components/configurator/artwork/worker.js": "./src/components/configurator/artwork/worker.js", 107 "./components/configurator/input/element.js": "./src/components/configurator/input/element.js", 108 "./components/configurator/input/worker.js": "./src/components/configurator/input/worker.js", 109 "./components/configurator/metadata/element.js": "./src/components/configurator/metadata/element.js", 110 "./components/configurator/metadata/worker.js": "./src/components/configurator/metadata/worker.js", 111 "./components/configurator/output/element.js": "./src/components/configurator/output/element.js", 112 "./components/configurator/scrobbles/element.js": "./src/components/configurator/scrobbles/element.js", 113 "./components/engine/audio/element.js": "./src/components/engine/audio/element.js", 114 "./components/engine/queue/element.js": "./src/components/engine/queue/element.js", 115 "./components/engine/queue/worker.js": "./src/components/engine/queue/worker.js", 116 "./components/engine/repeat-shuffle/element.js": "./src/components/engine/repeat-shuffle/element.js", 117 "./components/engine/scope/element.js": "./src/components/engine/scope/element.js", 118 "./components/input/common.js": "./src/components/input/common.js", 119 "./components/input/dropbox/common.js": "./src/components/input/dropbox/common.js", 120 "./components/input/dropbox/constants.js": "./src/components/input/dropbox/constants.js", 121 "./components/input/dropbox/element.js": "./src/components/input/dropbox/element.js", 122 "./components/input/dropbox/worker.js": "./src/components/input/dropbox/worker.js", 123 "./components/input/ephemeral-cache/constants.js": "./src/components/input/ephemeral-cache/constants.js", 124 "./components/input/ephemeral-cache/element.js": "./src/components/input/ephemeral-cache/element.js", 125 "./components/input/ephemeral-cache/worker.js": "./src/components/input/ephemeral-cache/worker.js", 126 "./components/input/https/common.js": "./src/components/input/https/common.js", 127 "./components/input/https/constants.js": "./src/components/input/https/constants.js", 128 "./components/input/https/element.js": "./src/components/input/https/element.js", 129 "./components/input/https/worker.js": "./src/components/input/https/worker.js", 130 "./components/input/icecast/common.js": "./src/components/input/icecast/common.js", 131 "./components/input/icecast/constants.js": "./src/components/input/icecast/constants.js", 132 "./components/input/icecast/element.js": "./src/components/input/icecast/element.js", 133 "./components/input/icecast/worker.js": "./src/components/input/icecast/worker.js", 134 "./components/input/local/common.js": "./src/components/input/local/common.js", 135 "./components/input/local/constants.js": "./src/components/input/local/constants.js", 136 "./components/input/local/element.js": "./src/components/input/local/element.js", 137 "./components/input/local/worker.js": "./src/components/input/local/worker.js", 138 "./components/input/opensubsonic/common.js": "./src/components/input/opensubsonic/common.js", 139 "./components/input/opensubsonic/constants.js": "./src/components/input/opensubsonic/constants.js", 140 "./components/input/opensubsonic/element.js": "./src/components/input/opensubsonic/element.js", 141 "./components/input/opensubsonic/worker.js": "./src/components/input/opensubsonic/worker.js", 142 "./components/input/s3/common.js": "./src/components/input/s3/common.js", 143 "./components/input/s3/constants.js": "./src/components/input/s3/constants.js", 144 "./components/input/s3/element.js": "./src/components/input/s3/element.js", 145 "./components/input/s3/worker.js": "./src/components/input/s3/worker.js", 146 "./components/input/webdav/constants.js": "./src/components/input/webdav/constants.js", 147 "./components/input/webdav/element.js": "./src/components/input/webdav/element.js", 148 "./components/input/webdav/worker.js": "./src/components/input/webdav/worker.js", 149 "./components/metadata/audio-file/element.js": "./src/components/metadata/audio-file/element.js", 150 "./components/metadata/audio-file/worker.js": "./src/components/metadata/audio-file/worker.js", 151 "./components/metadata/common.js": "./src/components/metadata/common.js", 152 "./components/orchestrator/artwork/element.js": "./src/components/orchestrator/artwork/element.js", 153 "./components/orchestrator/artwork/worker.js": "./src/components/orchestrator/artwork/worker.js", 154 "./components/orchestrator/auto-queue/element.js": "./src/components/orchestrator/auto-queue/element.js", 155 "./components/orchestrator/controller/element.js": "./src/components/orchestrator/controller/element.js", 156 "./components/orchestrator/cover-groups/element.js": "./src/components/orchestrator/cover-groups/element.js", 157 "./components/orchestrator/favourites/element.js": "./src/components/orchestrator/favourites/element.js", 158 "./components/orchestrator/media-session/element.js": "./src/components/orchestrator/media-session/element.js", 159 "./components/orchestrator/output/element.js": "./src/components/orchestrator/output/element.js", 160 "./components/orchestrator/path-collections/element.js": "./src/components/orchestrator/path-collections/element.js", 161 "./components/orchestrator/process-tracks/element.js": "./src/components/orchestrator/process-tracks/element.js", 162 "./components/orchestrator/process-tracks/worker.js": "./src/components/orchestrator/process-tracks/worker.js", 163 "./components/orchestrator/queue-audio/element.js": "./src/components/orchestrator/queue-audio/element.js", 164 "./components/orchestrator/scoped-tracks/element.js": "./src/components/orchestrator/scoped-tracks/element.js", 165 "./components/orchestrator/scoped-tracks/worker.js": "./src/components/orchestrator/scoped-tracks/worker.js", 166 "./components/orchestrator/scrobble-audio/element.js": "./src/components/orchestrator/scrobble-audio/element.js", 167 "./components/orchestrator/sources/element.js": "./src/components/orchestrator/sources/element.js", 168 "./components/output/bytes/s3/constants.js": "./src/components/output/bytes/s3/constants.js", 169 "./components/output/bytes/s3/element.js": "./src/components/output/bytes/s3/element.js", 170 "./components/output/bytes/s3/worker.js": "./src/components/output/bytes/s3/worker.js", 171 "./components/output/common.js": "./src/components/output/common.js", 172 "./components/output/polymorphic/indexed-db/constants.js": "./src/components/output/polymorphic/indexed-db/constants.js", 173 "./components/output/polymorphic/indexed-db/element.js": "./src/components/output/polymorphic/indexed-db/element.js", 174 "./components/output/polymorphic/indexed-db/worker.js": "./src/components/output/polymorphic/indexed-db/worker.js", 175 "./components/output/raw/atproto/element.js": "./src/components/output/raw/atproto/element.js", 176 "./components/supplement/last.fm/element.js": "./src/components/supplement/last.fm/element.js", 177 "./components/supplement/listenbrainz/element.js": "./src/components/supplement/listenbrainz/element.js", 178 "./components/supplement/rocksky/element.js": "./src/components/supplement/rocksky/element.js", 179 "./components/supplement/session.js": "./src/components/supplement/session.js", 180 "./components/transformer/output/base.js": "./src/components/transformer/output/base.js", 181 "./components/transformer/output/bytes/automerge/constants.js": "./src/components/transformer/output/bytes/automerge/constants.js", 182 "./components/transformer/output/bytes/automerge/element.js": "./src/components/transformer/output/bytes/automerge/element.js", 183 "./components/transformer/output/bytes/automerge/utils.js": "./src/components/transformer/output/bytes/automerge/utils.js", 184 "./components/transformer/output/bytes/dasl-sync/constants.js": "./src/components/transformer/output/bytes/dasl-sync/constants.js", 185 "./components/transformer/output/bytes/dasl-sync/element.js": "./src/components/transformer/output/bytes/dasl-sync/element.js", 186 "./components/transformer/output/bytes/json/element.js": "./src/components/transformer/output/bytes/json/element.js", 187 "./components/transformer/output/raw/atproto-sync/element.js": "./src/components/transformer/output/raw/atproto-sync/element.js", 188 "./components/transformer/output/refiner/default/element.js": "./src/components/transformer/output/refiner/default/element.js", 189 "./components/transformer/output/refiner/initial-contents/element.js": "./src/components/transformer/output/refiner/initial-contents/element.js", 190 "./components/transformer/output/refiner/passkey-encryption/element.js": "./src/components/transformer/output/refiner/passkey-encryption/element.js", 191 "./components/transformer/output/string/json/element.js": "./src/components/transformer/output/string/json/element.js", 192 193 // .d.ts 194 "./common/element.d.ts": "./src/common/element.d.ts", 195 "./common/signal.d.ts": "./src/common/signal.d.ts", 196 "./common/worker.d.ts": "./src/common/worker.d.ts", 197 "./components/artwork/types.d.ts": "./src/components/artwork/types.d.ts", 198 "./components/configurator/artwork/types.d.ts": "./src/components/configurator/artwork/types.d.ts", 199 "./components/configurator/input/types.d.ts": "./src/components/configurator/input/types.d.ts", 200 "./components/configurator/metadata/types.d.ts": "./src/components/configurator/metadata/types.d.ts", 201 "./components/configurator/output/types.d.ts": "./src/components/configurator/output/types.d.ts", 202 "./components/engine/audio/types.d.ts": "./src/components/engine/audio/types.d.ts", 203 "./components/engine/queue/types.d.ts": "./src/components/engine/queue/types.d.ts", 204 "./components/input/opensubsonic/types.d.ts": "./src/components/input/opensubsonic/types.d.ts", 205 "./components/input/s3/types.d.ts": "./src/components/input/s3/types.d.ts", 206 "./components/input/types.d.ts": "./src/components/input/types.d.ts", 207 "./components/input/webdav/types.d.ts": "./src/components/input/webdav/types.d.ts", 208 "./components/metadata/audio-file/types.d.ts": "./src/components/metadata/audio-file/types.d.ts", 209 "./components/metadata/types.d.ts": "./src/components/metadata/types.d.ts", 210 "./components/orchestrator/artwork/types.d.ts": "./src/components/orchestrator/artwork/types.d.ts", 211 "./components/orchestrator/favourites/types.d.ts": "./src/components/orchestrator/favourites/types.d.ts", 212 "./components/orchestrator/process-tracks/types.d.ts": "./src/components/orchestrator/process-tracks/types.d.ts", 213 "./components/orchestrator/scoped-tracks/types.d.ts": "./src/components/orchestrator/scoped-tracks/types.d.ts", 214 "./components/output/bytes/s3/types.d.ts": "./src/components/output/bytes/s3/types.d.ts", 215 "./components/output/polymorphic/indexed-db/types.d.ts": "./src/components/output/polymorphic/indexed-db/types.d.ts", 216 "./components/output/raw/atproto/types.d.ts": "./src/components/output/raw/atproto/types.d.ts", 217 "./components/output/types.d.ts": "./src/components/output/types.d.ts", 218 "./components/supplement/types.d.ts": "./src/components/supplement/types.d.ts", 219 "./components/transformer/output/bytes/automerge/types.d.ts": "./src/components/transformer/output/bytes/automerge/types.d.ts", 220 "./components/transformer/output/bytes/dasl-sync/types.d.ts": "./src/components/transformer/output/bytes/dasl-sync/types.d.ts", 221 "./definitions/types.d.ts": "./src/definitions/types.d.ts", 222 223 // .ts 224 "./definitions/types/sh/diffuse/output/facet.ts": "./src/definitions/types/sh/diffuse/output/facet.ts", 225 "./definitions/types/sh/diffuse/output/playlistItem.ts": "./src/definitions/types/sh/diffuse/output/playlistItem.ts", 226 "./definitions/types/sh/diffuse/output/theme.ts": "./src/definitions/types/sh/diffuse/output/theme.ts", 227 "./definitions/types/sh/diffuse/output/track.ts": "./src/definitions/types/sh/diffuse/output/track.ts", 228 }, 229 "tasks": { 230 "build": { 231 "description": "Build the site for production", 232 "command": "deno task lume", 233 }, 234 "gen:defs:types": { 235 "description": "Generate definition Typescript types", 236 "command": "deno run -A npm:@atcute/lex-cli generate -c ./lexicon.config.js && deno run -A ./tasks/replace-gen-import-extensions.ts", 237 }, 238 "lume": { 239 "description": "Run Lume command", 240 "command": "deno run -P=lume --allow-write --allow-read lume/cli.ts", 241 }, 242 "serve": { 243 "description": "Run and serve the site for development", 244 "command": "deno task lume -s", 245 }, 246 "test:doc": { 247 "description": "Run documentation tests", 248 "command": "deno test src -A --doc --ignore=README.md", 249 }, 250 "test:unit": { 251 "description": "Run unit tests (documentation tests)", 252 "command": "deno task test:doc", 253 }, 254 "test:integration": { 255 "description": "Run integration tests", 256 "command": "deno test tests -A --ignore=README.md", 257 }, 258 }, 259 "compilerOptions": { 260 "checkJs": true, 261 "lib": ["deno.ns", "dom", "esnext"], 262 "types": ["lume/types.ts", "@types/wicg-file-system-access"], 263 "jsx": "react-jsx", 264 "jsxImportSource": "lume", 265 }, 266 "unstable": ["temporal", "fmt-component"], 267 "lint": { 268 "plugins": ["https://cdn.jsdelivr.net/gh/lumeland/lume@3.1.4/lint.ts"], 269 "rules": { 270 "exclude": ["no-import-prefix"], 271 }, 272 }, 273 "publish": { 274 "exclude": ["!src/definitions/types"], 275 "include": [ 276 "LICENSE", 277 "src/common/**/*.js", 278 "src/common/**/*.d.ts", 279 "src/components/**/*.js", 280 "src/components/**/*.d.ts", 281 "src/definitions/**/*.json", 282 "src/definitions/**/*.ts", 283 ], 284 }, 285 "permissions": { 286 "lume": { 287 "read": true, 288 "write": ["./"], 289 "import": ["cdn.jsdelivr.net:443", "jsr.io:443", "deno.land:443", "esm.sh:443"], 290 "net": [ 291 "0.0.0.0", 292 "cdn.jsdelivr.net:443", 293 "data.jsdelivr.com:443", 294 "jsr.io:443", 295 "deno.land:443", 296 "esm.sh:443", 297 "registry.npmjs.org:443", 298 ], 299 "env": true, 300 "run": true, 301 "ffi": true, 302 "sys": true, 303 }, 304 }, 305 "lock": false, 306}