🎧 Lightweight integration with the Spotify Web API for modern Javascript runtimes
Attributes
Includes Deno configuration
Repository
Current version released
2 years ago
Dependencies
std
Versions
- v1.1.5Latest
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- v1.0.0-rc11
- v1.0.0-rc10
- v1.0.0-rc9
- v1.0.0-rc8
- v1.0.0-rc7
- v1.0.0-rc6
- v1.0.0-rc5
- v1.0.0-rc4
- v1.0.0-rc3
- v1.0.0-rc2
- v0.1.4-beta.0
- v0.1.3-beta.1
- v0.1.3-beta.0
- v0.1.2-beta.0
- v0.1.1-beta.0
- v0.1.0-alpha.3
- v0.1.0-alpha.2
- v0.1.0-alpha.1
- v0.1.0-alpha.0
- v0.0.37
- v0.0.36
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.32
- v0.0.31
- v0.0.30
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- list
- v0.0.8
- v0.0.7
- v0.0.3
- 0.0.2
- v0.0.6
- v0.0.5
- v0.0.4
⚠️ Not ready for production
Soundify
Soundify is a lightweight and flexible library for seamless communication with Spotify API, designed to work smoothly with TypeScript, Deno, Node.js, and client-side JavaScript. It’s open source and provides an easy-to-use interface for accessing Spotify’s data.
Features ✨
- 💻 Multiruntime: supports Node, Deno and Browser environment.
- 🚀 Modern: It leverages modern web APIs like native
fetch
,crypto
,URLSearchParams
, etc. - 🔑 Comprehensive auth support: It can handle all Spotify Auth flows and automatically refreshes access token.
- 📦 Lightweight and treeshakable: It is designed with care for your bundle size.
- 🆎 Strictly typed: All entities returned by the api have exact and up to date types.
- 📖 Great docs: The library comes with extensive documentation and lots of examples.
Installation
Soundify is split into subpackages:
/auth
- Handles Spotify authorization/api
- Provides client, endpoints and entity types/shared
- General functions and types (used under the hood in/auth
and/api
)
This separation is designed to enable the use of specific package on specific platforms. For example,
@soundify/web-auth
is suitable for browser, while@soundify/node-auth
is appropriate for nodejs. The only difference in these packages is that under the hood they use different platform api to perform the same tasks.
NPM
// "/api" - Can be used both in the browser and in nodejs
import { ... } from "@soudnfiy/api"
// "/web-auth" - Authorization for browser
import { ... } from "@soundify/web-auth"
// "/node-auth" - Authorization for nodejs
import { ... } from "@soundify/node-auth"
Deno
import { ... } from "https://deno.land/x/soundify/mod.ts"