gerdur 2.6.0 → 2.7.0
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/CHANGELOG.md +16 -0
- package/README.md +8 -2
- package/dist/package.json +2 -2
- package/dist/src/gerdur.js +11 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +71 -63
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.7.0 - 2026-08-31
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`gerdur-core@^2.9.0`** — re-exports `downloadTrackBuffer` (download + decrypt
|
|
8
|
+
to a `Buffer`) and the low-level session client as `createCoreSession` /
|
|
9
|
+
`CoreSession` / `defaultSession` (for talking to Deezer directly or from
|
|
10
|
+
multiple accounts — gerdur's own `Session` stays the download orchestrator).
|
|
11
|
+
- **CLI `chart` / `chart:<genreId>`** — pick tracks from this week's Deezer chart
|
|
12
|
+
(optionally a genre) and download them. Headless-friendly.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Gateway retries are bounded and downloads are session-aware (via
|
|
17
|
+
`gerdur-core@2.4`–`2.9`); `license_token` refreshes proactively.
|
|
18
|
+
|
|
3
19
|
## 2.6.0 - 2026-08-31
|
|
4
20
|
|
|
5
21
|
### Added
|
package/README.md
CHANGED
|
@@ -162,6 +162,7 @@ When `gerdur` asks for a URL, a search term, or a prefixed query:
|
|
|
162
162
|
| `flow` | pick tracks from your Deezer **Flow** |
|
|
163
163
|
| `flow:2064440442` | pick tracks from another user's Flow |
|
|
164
164
|
| `radio:38305` | pick tracks from a radio's current playlist |
|
|
165
|
+
| `chart` / `chart:132` | pick tracks from this week's chart (optionally a genre) |
|
|
165
166
|
|
|
166
167
|
`isrc:` / `upc:` / `flow` / `radio:` also work in `--headless` mode (`-u flow`, …).
|
|
167
168
|
|
|
@@ -330,9 +331,14 @@ or `createSession`):
|
|
|
330
331
|
`getUserRadios`, `getUserChartTracks`, `getRadios`, `getRadioTracks`,
|
|
331
332
|
`getRadioGenres`
|
|
332
333
|
- **Download** — `getTrackDownloadUrl`, `resolveDownloadUrls`,
|
|
333
|
-
`streamTrackDownload`, `
|
|
334
|
-
`downloadPreview`, `formatName`, `toFormat`, `DEEZER_FORMATS`
|
|
334
|
+
`streamTrackDownload`, `downloadTrackBuffer`, `createDecryptStream`, `getStream`,
|
|
335
|
+
`getTrackPreview`, `downloadPreview`, `formatName`, `toFormat`, `DEEZER_FORMATS`
|
|
335
336
|
- **Errors** — `DeezerError` (`code` / `keys` / `retryable`), `GeoBlocked`
|
|
337
|
+
- **Low-level sessions** — `createCoreSession(arl)` / `CoreSession` /
|
|
338
|
+
`defaultSession` from `gerdur-core`: an isolated client (its own `arl`, cache,
|
|
339
|
+
`license_token`) with `getTrackInfo` / `searchMusic` / `getTrackBuffer` / … for
|
|
340
|
+
talking to Deezer directly or from multiple accounts. gerdur's own
|
|
341
|
+
`createSession` / `Session` (above) is the higher-level download orchestrator.
|
|
336
342
|
|
|
337
343
|
### Auth & config helpers
|
|
338
344
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gerdur",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "The crucial streaming module for dabox systems.",
|
|
5
5
|
"author": "Christian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"adm-zip": "^0.5.16",
|
|
49
49
|
"chalk": "^4.1.2",
|
|
50
50
|
"commander": "^9.5.0",
|
|
51
|
-
"gerdur-core": "^2.
|
|
51
|
+
"gerdur-core": "^2.9.0",
|
|
52
52
|
"dot-prop": "^6.0.1",
|
|
53
53
|
"got": "^11.8.6",
|
|
54
54
|
"gradient-string": "^2.0.2",
|
package/dist/src/gerdur.js
CHANGED
|
@@ -236,7 +236,7 @@ const startDownload = async (saveLayout, url, skipPrompt) => {
|
|
|
236
236
|
{
|
|
237
237
|
type: 'text',
|
|
238
238
|
name: 'query',
|
|
239
|
-
message: 'Enter a URL, a search term, or `search:` / `isrc:` / `upc:` / `flow` / `radio:<id
|
|
239
|
+
message: 'Enter a URL, a search term, or `search:` / `isrc:` / `upc:` / `flow` / `radio:<id>` / `chart[:<genre>]`:',
|
|
240
240
|
validate: (value) => (value ? true : false),
|
|
241
241
|
},
|
|
242
242
|
], { onCancel });
|
|
@@ -288,6 +288,16 @@ const startDownload = async (saveLayout, url, skipPrompt) => {
|
|
|
288
288
|
throw new Error(`Radio ${rid} returned no tracks.`);
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
|
+
// `chart` / `chart:<genreId>` — download from Deezer's weekly chart.
|
|
292
|
+
if (!searchData && url && (url === 'chart' || url.startsWith('chart:'))) {
|
|
293
|
+
const genreId = url.includes(':') ? url.slice('chart:'.length).trim() : 0;
|
|
294
|
+
console.log(signale_1.default.info(`Fetching chart${genreId ? ` for genre ${genreId}` : ''}…`));
|
|
295
|
+
const { data } = await (0, gerdur_core_1.getChartTracks)(genreId, toFiniteNumber(options.searchLimit) ?? 50);
|
|
296
|
+
searchData = await pickAndHydrate(data, `chart:${genreId}`);
|
|
297
|
+
if (!searchData) {
|
|
298
|
+
throw new Error('Chart returned no tracks.');
|
|
299
|
+
}
|
|
300
|
+
}
|
|
291
301
|
if (!searchData && !url.match(urlRegex)) {
|
|
292
302
|
if (options.headless) {
|
|
293
303
|
throw new Error('Please provide a valid URL. Unknown URL: ' + url);
|
package/dist/src/index.d.ts
CHANGED
|
@@ -56,10 +56,12 @@ export declare class LoginError extends Error {
|
|
|
56
56
|
export declare const getArl: (email: string, password: string) => Promise<string>;
|
|
57
57
|
export { createSession, Session } from './lib/session';
|
|
58
58
|
export type { SessionOptions, DownloadTracksOptions, SearchType } from './lib/session';
|
|
59
|
+
export { createSession as createCoreSession, Session as CoreSession, defaultSession } from 'gerdur-core';
|
|
60
|
+
export type { SessionUserData } from 'gerdur-core';
|
|
59
61
|
export { getTrackBuffer, getTaggedTrack, downloadTrackToFile } from './lib/api-download';
|
|
60
62
|
export type { Quality, GetTrackBufferOptions, DownloadTrackOptions, DownloadResult } from './lib/api-download';
|
|
61
63
|
export { default as Config, globalConfigPath, resolveConfigFile } from './lib/config';
|
|
62
|
-
export { initDeezerApi, parseInfo, searchMusic, searchPublicApi, searchTracks, searchAlbums, searchArtists, searchPlaylists, buildAdvancedQuery, suggest, getGenres, getChart, getChartTracks, getGenreArtists, getEditorialList, getEditorialReleases, getEditorialSelection, getEditorialCharts, getArtistTopTracks, getRelatedArtists, getArtistAlbums, getArtistPlaylists, getArtistRadioTracks, getUserFlow, getUserFavoriteTracks, getUserFavoriteAlbums, getUserFavoriteArtists, getUserPlaylists, getUserRadios, getUserChartTracks, getRadios, getRadioTracks, getRadioGenres, getTrackByISRC, getAlbumByUPC, getTrackPreview, downloadPreview, formatName, toFormat, DEEZER_FORMATS, getUser, getTrackInfo, getAlbumInfo, getAlbumTracks, getPlaylistInfo, getPlaylistTracks, getArtistInfo, getDiscography, getLyrics, getTrackDownloadUrl, resolveDownloadUrls, streamTrackDownload, createDecryptStream, getStream, addTrackTags, getRichAlbum, normalizeContributors, toLrc, GeoBlocked, DeezerError, } from 'gerdur-core';
|
|
64
|
+
export { initDeezerApi, parseInfo, searchMusic, searchPublicApi, searchTracks, searchAlbums, searchArtists, searchPlaylists, buildAdvancedQuery, suggest, getGenres, getChart, getChartTracks, getGenreArtists, getEditorialList, getEditorialReleases, getEditorialSelection, getEditorialCharts, getArtistTopTracks, getRelatedArtists, getArtistAlbums, getArtistPlaylists, getArtistRadioTracks, getUserFlow, getUserFavoriteTracks, getUserFavoriteAlbums, getUserFavoriteArtists, getUserPlaylists, getUserRadios, getUserChartTracks, getRadios, getRadioTracks, getRadioGenres, getTrackByISRC, getAlbumByUPC, getTrackPreview, downloadPreview, formatName, toFormat, DEEZER_FORMATS, getUser, getTrackInfo, getAlbumInfo, getAlbumTracks, getPlaylistInfo, getPlaylistTracks, getArtistInfo, getDiscography, getLyrics, getTrackDownloadUrl, resolveDownloadUrls, streamTrackDownload, downloadTrackBuffer, createDecryptStream, getStream, addTrackTags, getRichAlbum, normalizeContributors, toLrc, GeoBlocked, DeezerError, } from 'gerdur-core';
|
|
63
65
|
export type { AddTrackTagsOptions, TaggedTrack, TrackTagModel, RichAlbum, ResolvedUrl, NormalizedContributors, } from 'gerdur-core';
|
|
64
66
|
export type { advancedSearchFilters, searchOrder, searchEntity, publicApiSearchOptions, publicApiSearchResponse, searchResultTrack, searchResultAlbum, searchResultArtist, searchResultPlaylist, suggestResult, publicApiList, chartType, chartTrack, chartAlbum, chartArtist, chartPlaylist, chartPodcast, genreType, editorialType, artistAlbumResult, userFavoriteTrack, userFavoriteAlbum, userFavoriteArtist, userPlaylistResult, radioResult, radioGenre, } from 'gerdur-core/types';
|
|
65
67
|
export type { Quality as MediaFormat, DeezerFormat, TrackPreview, StreamTrackOptions, TrackStream, StreamResponse, DeezerErrorPayload, } from 'gerdur-core';
|
package/dist/src/index.js
CHANGED
|
@@ -33,8 +33,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
33
33
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
37
|
-
exports.DeezerError = exports.GeoBlocked = exports.toLrc = exports.normalizeContributors = exports.getRichAlbum = exports.addTrackTags = exports.getStream = exports.createDecryptStream = exports.streamTrackDownload = exports.resolveDownloadUrls = exports.getTrackDownloadUrl = exports.getLyrics = exports.getDiscography = exports.getArtistInfo = exports.getPlaylistTracks = exports.getPlaylistInfo = exports.getAlbumTracks = exports.getAlbumInfo = exports.getTrackInfo = exports.getUser = exports.DEEZER_FORMATS = void 0;
|
|
36
|
+
exports.getTrackPreview = exports.getAlbumByUPC = exports.getTrackByISRC = exports.getRadioGenres = exports.getRadioTracks = exports.getRadios = exports.getUserChartTracks = exports.getUserRadios = exports.getUserPlaylists = exports.getUserFavoriteArtists = exports.getUserFavoriteAlbums = exports.getUserFavoriteTracks = exports.getUserFlow = exports.getArtistRadioTracks = exports.getArtistPlaylists = exports.getArtistAlbums = exports.getRelatedArtists = exports.getArtistTopTracks = exports.getEditorialCharts = exports.getEditorialSelection = exports.getEditorialReleases = exports.getEditorialList = exports.getGenreArtists = exports.getChartTracks = exports.getChart = exports.getGenres = exports.suggest = exports.buildAdvancedQuery = exports.searchPlaylists = exports.searchArtists = exports.searchAlbums = exports.searchTracks = exports.searchPublicApi = exports.searchMusic = exports.parseInfo = exports.initDeezerApi = exports.resolveConfigFile = exports.globalConfigPath = exports.Config = exports.downloadTrackToFile = exports.getTaggedTrack = exports.getTrackBuffer = exports.defaultSession = exports.CoreSession = exports.createCoreSession = exports.Session = exports.createSession = exports.getArl = exports.LoginError = exports.loginWithEmail = void 0;
|
|
37
|
+
exports.DeezerError = exports.GeoBlocked = exports.toLrc = exports.normalizeContributors = exports.getRichAlbum = exports.addTrackTags = exports.getStream = exports.createDecryptStream = exports.downloadTrackBuffer = exports.streamTrackDownload = exports.resolveDownloadUrls = exports.getTrackDownloadUrl = exports.getLyrics = exports.getDiscography = exports.getArtistInfo = exports.getPlaylistTracks = exports.getPlaylistInfo = exports.getAlbumTracks = exports.getAlbumInfo = exports.getTrackInfo = exports.getUser = exports.DEEZER_FORMATS = exports.toFormat = exports.formatName = exports.downloadPreview = void 0;
|
|
38
38
|
// ─── Authentication ────────────────────────────────────────────────────────
|
|
39
39
|
const email_login_1 = require("./lib/email-login");
|
|
40
40
|
Object.defineProperty(exports, "loginWithEmail", { enumerable: true, get: function () { return email_login_1.loginWithEmail; } });
|
|
@@ -72,6 +72,13 @@ exports.getArl = getArl;
|
|
|
72
72
|
var session_1 = require("./lib/session");
|
|
73
73
|
Object.defineProperty(exports, "createSession", { enumerable: true, get: function () { return session_1.createSession; } });
|
|
74
74
|
Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return session_1.Session; } });
|
|
75
|
+
// `gerdur-core`'s low-level session — an isolated client (its own `arl`, cache,
|
|
76
|
+
// `license_token`) for talking to Deezer directly / from multiple accounts.
|
|
77
|
+
// gerdur's `Session` above is the higher-level download-orchestration one.
|
|
78
|
+
var gerdur_core_1 = require("gerdur-core");
|
|
79
|
+
Object.defineProperty(exports, "createCoreSession", { enumerable: true, get: function () { return gerdur_core_1.createSession; } });
|
|
80
|
+
Object.defineProperty(exports, "CoreSession", { enumerable: true, get: function () { return gerdur_core_1.Session; } });
|
|
81
|
+
Object.defineProperty(exports, "defaultSession", { enumerable: true, get: function () { return gerdur_core_1.defaultSession; } });
|
|
75
82
|
// ─── Download primitives ─────────────────────────────────────────────────────
|
|
76
83
|
var api_download_1 = require("./lib/api-download");
|
|
77
84
|
Object.defineProperty(exports, "getTrackBuffer", { enumerable: true, get: function () { return api_download_1.getTrackBuffer; } });
|
|
@@ -86,64 +93,65 @@ Object.defineProperty(exports, "resolveConfigFile", { enumerable: true, get: fun
|
|
|
86
93
|
// ─── Re-exported core query functions ────────────────────────────────────────
|
|
87
94
|
// Convenience re-exports so consumers don't need `gerdur-core` directly.
|
|
88
95
|
// After `initDeezerApi(arl)` (or `createSession`) these are ready to use.
|
|
89
|
-
var
|
|
90
|
-
Object.defineProperty(exports, "initDeezerApi", { enumerable: true, get: function () { return
|
|
91
|
-
Object.defineProperty(exports, "parseInfo", { enumerable: true, get: function () { return
|
|
92
|
-
Object.defineProperty(exports, "searchMusic", { enumerable: true, get: function () { return
|
|
93
|
-
Object.defineProperty(exports, "searchPublicApi", { enumerable: true, get: function () { return
|
|
94
|
-
Object.defineProperty(exports, "searchTracks", { enumerable: true, get: function () { return
|
|
95
|
-
Object.defineProperty(exports, "searchAlbums", { enumerable: true, get: function () { return
|
|
96
|
-
Object.defineProperty(exports, "searchArtists", { enumerable: true, get: function () { return
|
|
97
|
-
Object.defineProperty(exports, "searchPlaylists", { enumerable: true, get: function () { return
|
|
98
|
-
Object.defineProperty(exports, "buildAdvancedQuery", { enumerable: true, get: function () { return
|
|
99
|
-
Object.defineProperty(exports, "suggest", { enumerable: true, get: function () { return
|
|
100
|
-
Object.defineProperty(exports, "getGenres", { enumerable: true, get: function () { return
|
|
101
|
-
Object.defineProperty(exports, "getChart", { enumerable: true, get: function () { return
|
|
102
|
-
Object.defineProperty(exports, "getChartTracks", { enumerable: true, get: function () { return
|
|
103
|
-
Object.defineProperty(exports, "getGenreArtists", { enumerable: true, get: function () { return
|
|
104
|
-
Object.defineProperty(exports, "getEditorialList", { enumerable: true, get: function () { return
|
|
105
|
-
Object.defineProperty(exports, "getEditorialReleases", { enumerable: true, get: function () { return
|
|
106
|
-
Object.defineProperty(exports, "getEditorialSelection", { enumerable: true, get: function () { return
|
|
107
|
-
Object.defineProperty(exports, "getEditorialCharts", { enumerable: true, get: function () { return
|
|
108
|
-
Object.defineProperty(exports, "getArtistTopTracks", { enumerable: true, get: function () { return
|
|
109
|
-
Object.defineProperty(exports, "getRelatedArtists", { enumerable: true, get: function () { return
|
|
110
|
-
Object.defineProperty(exports, "getArtistAlbums", { enumerable: true, get: function () { return
|
|
111
|
-
Object.defineProperty(exports, "getArtistPlaylists", { enumerable: true, get: function () { return
|
|
112
|
-
Object.defineProperty(exports, "getArtistRadioTracks", { enumerable: true, get: function () { return
|
|
113
|
-
Object.defineProperty(exports, "getUserFlow", { enumerable: true, get: function () { return
|
|
114
|
-
Object.defineProperty(exports, "getUserFavoriteTracks", { enumerable: true, get: function () { return
|
|
115
|
-
Object.defineProperty(exports, "getUserFavoriteAlbums", { enumerable: true, get: function () { return
|
|
116
|
-
Object.defineProperty(exports, "getUserFavoriteArtists", { enumerable: true, get: function () { return
|
|
117
|
-
Object.defineProperty(exports, "getUserPlaylists", { enumerable: true, get: function () { return
|
|
118
|
-
Object.defineProperty(exports, "getUserRadios", { enumerable: true, get: function () { return
|
|
119
|
-
Object.defineProperty(exports, "getUserChartTracks", { enumerable: true, get: function () { return
|
|
120
|
-
Object.defineProperty(exports, "getRadios", { enumerable: true, get: function () { return
|
|
121
|
-
Object.defineProperty(exports, "getRadioTracks", { enumerable: true, get: function () { return
|
|
122
|
-
Object.defineProperty(exports, "getRadioGenres", { enumerable: true, get: function () { return
|
|
123
|
-
Object.defineProperty(exports, "getTrackByISRC", { enumerable: true, get: function () { return
|
|
124
|
-
Object.defineProperty(exports, "getAlbumByUPC", { enumerable: true, get: function () { return
|
|
125
|
-
Object.defineProperty(exports, "getTrackPreview", { enumerable: true, get: function () { return
|
|
126
|
-
Object.defineProperty(exports, "downloadPreview", { enumerable: true, get: function () { return
|
|
127
|
-
Object.defineProperty(exports, "formatName", { enumerable: true, get: function () { return
|
|
128
|
-
Object.defineProperty(exports, "toFormat", { enumerable: true, get: function () { return
|
|
129
|
-
Object.defineProperty(exports, "DEEZER_FORMATS", { enumerable: true, get: function () { return
|
|
130
|
-
Object.defineProperty(exports, "getUser", { enumerable: true, get: function () { return
|
|
131
|
-
Object.defineProperty(exports, "getTrackInfo", { enumerable: true, get: function () { return
|
|
132
|
-
Object.defineProperty(exports, "getAlbumInfo", { enumerable: true, get: function () { return
|
|
133
|
-
Object.defineProperty(exports, "getAlbumTracks", { enumerable: true, get: function () { return
|
|
134
|
-
Object.defineProperty(exports, "getPlaylistInfo", { enumerable: true, get: function () { return
|
|
135
|
-
Object.defineProperty(exports, "getPlaylistTracks", { enumerable: true, get: function () { return
|
|
136
|
-
Object.defineProperty(exports, "getArtistInfo", { enumerable: true, get: function () { return
|
|
137
|
-
Object.defineProperty(exports, "getDiscography", { enumerable: true, get: function () { return
|
|
138
|
-
Object.defineProperty(exports, "getLyrics", { enumerable: true, get: function () { return
|
|
139
|
-
Object.defineProperty(exports, "getTrackDownloadUrl", { enumerable: true, get: function () { return
|
|
140
|
-
Object.defineProperty(exports, "resolveDownloadUrls", { enumerable: true, get: function () { return
|
|
141
|
-
Object.defineProperty(exports, "streamTrackDownload", { enumerable: true, get: function () { return
|
|
142
|
-
Object.defineProperty(exports, "
|
|
143
|
-
Object.defineProperty(exports, "
|
|
144
|
-
Object.defineProperty(exports, "
|
|
145
|
-
Object.defineProperty(exports, "
|
|
146
|
-
Object.defineProperty(exports, "
|
|
147
|
-
Object.defineProperty(exports, "
|
|
148
|
-
Object.defineProperty(exports, "
|
|
149
|
-
Object.defineProperty(exports, "
|
|
96
|
+
var gerdur_core_2 = require("gerdur-core");
|
|
97
|
+
Object.defineProperty(exports, "initDeezerApi", { enumerable: true, get: function () { return gerdur_core_2.initDeezerApi; } });
|
|
98
|
+
Object.defineProperty(exports, "parseInfo", { enumerable: true, get: function () { return gerdur_core_2.parseInfo; } });
|
|
99
|
+
Object.defineProperty(exports, "searchMusic", { enumerable: true, get: function () { return gerdur_core_2.searchMusic; } });
|
|
100
|
+
Object.defineProperty(exports, "searchPublicApi", { enumerable: true, get: function () { return gerdur_core_2.searchPublicApi; } });
|
|
101
|
+
Object.defineProperty(exports, "searchTracks", { enumerable: true, get: function () { return gerdur_core_2.searchTracks; } });
|
|
102
|
+
Object.defineProperty(exports, "searchAlbums", { enumerable: true, get: function () { return gerdur_core_2.searchAlbums; } });
|
|
103
|
+
Object.defineProperty(exports, "searchArtists", { enumerable: true, get: function () { return gerdur_core_2.searchArtists; } });
|
|
104
|
+
Object.defineProperty(exports, "searchPlaylists", { enumerable: true, get: function () { return gerdur_core_2.searchPlaylists; } });
|
|
105
|
+
Object.defineProperty(exports, "buildAdvancedQuery", { enumerable: true, get: function () { return gerdur_core_2.buildAdvancedQuery; } });
|
|
106
|
+
Object.defineProperty(exports, "suggest", { enumerable: true, get: function () { return gerdur_core_2.suggest; } });
|
|
107
|
+
Object.defineProperty(exports, "getGenres", { enumerable: true, get: function () { return gerdur_core_2.getGenres; } });
|
|
108
|
+
Object.defineProperty(exports, "getChart", { enumerable: true, get: function () { return gerdur_core_2.getChart; } });
|
|
109
|
+
Object.defineProperty(exports, "getChartTracks", { enumerable: true, get: function () { return gerdur_core_2.getChartTracks; } });
|
|
110
|
+
Object.defineProperty(exports, "getGenreArtists", { enumerable: true, get: function () { return gerdur_core_2.getGenreArtists; } });
|
|
111
|
+
Object.defineProperty(exports, "getEditorialList", { enumerable: true, get: function () { return gerdur_core_2.getEditorialList; } });
|
|
112
|
+
Object.defineProperty(exports, "getEditorialReleases", { enumerable: true, get: function () { return gerdur_core_2.getEditorialReleases; } });
|
|
113
|
+
Object.defineProperty(exports, "getEditorialSelection", { enumerable: true, get: function () { return gerdur_core_2.getEditorialSelection; } });
|
|
114
|
+
Object.defineProperty(exports, "getEditorialCharts", { enumerable: true, get: function () { return gerdur_core_2.getEditorialCharts; } });
|
|
115
|
+
Object.defineProperty(exports, "getArtistTopTracks", { enumerable: true, get: function () { return gerdur_core_2.getArtistTopTracks; } });
|
|
116
|
+
Object.defineProperty(exports, "getRelatedArtists", { enumerable: true, get: function () { return gerdur_core_2.getRelatedArtists; } });
|
|
117
|
+
Object.defineProperty(exports, "getArtistAlbums", { enumerable: true, get: function () { return gerdur_core_2.getArtistAlbums; } });
|
|
118
|
+
Object.defineProperty(exports, "getArtistPlaylists", { enumerable: true, get: function () { return gerdur_core_2.getArtistPlaylists; } });
|
|
119
|
+
Object.defineProperty(exports, "getArtistRadioTracks", { enumerable: true, get: function () { return gerdur_core_2.getArtistRadioTracks; } });
|
|
120
|
+
Object.defineProperty(exports, "getUserFlow", { enumerable: true, get: function () { return gerdur_core_2.getUserFlow; } });
|
|
121
|
+
Object.defineProperty(exports, "getUserFavoriteTracks", { enumerable: true, get: function () { return gerdur_core_2.getUserFavoriteTracks; } });
|
|
122
|
+
Object.defineProperty(exports, "getUserFavoriteAlbums", { enumerable: true, get: function () { return gerdur_core_2.getUserFavoriteAlbums; } });
|
|
123
|
+
Object.defineProperty(exports, "getUserFavoriteArtists", { enumerable: true, get: function () { return gerdur_core_2.getUserFavoriteArtists; } });
|
|
124
|
+
Object.defineProperty(exports, "getUserPlaylists", { enumerable: true, get: function () { return gerdur_core_2.getUserPlaylists; } });
|
|
125
|
+
Object.defineProperty(exports, "getUserRadios", { enumerable: true, get: function () { return gerdur_core_2.getUserRadios; } });
|
|
126
|
+
Object.defineProperty(exports, "getUserChartTracks", { enumerable: true, get: function () { return gerdur_core_2.getUserChartTracks; } });
|
|
127
|
+
Object.defineProperty(exports, "getRadios", { enumerable: true, get: function () { return gerdur_core_2.getRadios; } });
|
|
128
|
+
Object.defineProperty(exports, "getRadioTracks", { enumerable: true, get: function () { return gerdur_core_2.getRadioTracks; } });
|
|
129
|
+
Object.defineProperty(exports, "getRadioGenres", { enumerable: true, get: function () { return gerdur_core_2.getRadioGenres; } });
|
|
130
|
+
Object.defineProperty(exports, "getTrackByISRC", { enumerable: true, get: function () { return gerdur_core_2.getTrackByISRC; } });
|
|
131
|
+
Object.defineProperty(exports, "getAlbumByUPC", { enumerable: true, get: function () { return gerdur_core_2.getAlbumByUPC; } });
|
|
132
|
+
Object.defineProperty(exports, "getTrackPreview", { enumerable: true, get: function () { return gerdur_core_2.getTrackPreview; } });
|
|
133
|
+
Object.defineProperty(exports, "downloadPreview", { enumerable: true, get: function () { return gerdur_core_2.downloadPreview; } });
|
|
134
|
+
Object.defineProperty(exports, "formatName", { enumerable: true, get: function () { return gerdur_core_2.formatName; } });
|
|
135
|
+
Object.defineProperty(exports, "toFormat", { enumerable: true, get: function () { return gerdur_core_2.toFormat; } });
|
|
136
|
+
Object.defineProperty(exports, "DEEZER_FORMATS", { enumerable: true, get: function () { return gerdur_core_2.DEEZER_FORMATS; } });
|
|
137
|
+
Object.defineProperty(exports, "getUser", { enumerable: true, get: function () { return gerdur_core_2.getUser; } });
|
|
138
|
+
Object.defineProperty(exports, "getTrackInfo", { enumerable: true, get: function () { return gerdur_core_2.getTrackInfo; } });
|
|
139
|
+
Object.defineProperty(exports, "getAlbumInfo", { enumerable: true, get: function () { return gerdur_core_2.getAlbumInfo; } });
|
|
140
|
+
Object.defineProperty(exports, "getAlbumTracks", { enumerable: true, get: function () { return gerdur_core_2.getAlbumTracks; } });
|
|
141
|
+
Object.defineProperty(exports, "getPlaylistInfo", { enumerable: true, get: function () { return gerdur_core_2.getPlaylistInfo; } });
|
|
142
|
+
Object.defineProperty(exports, "getPlaylistTracks", { enumerable: true, get: function () { return gerdur_core_2.getPlaylistTracks; } });
|
|
143
|
+
Object.defineProperty(exports, "getArtistInfo", { enumerable: true, get: function () { return gerdur_core_2.getArtistInfo; } });
|
|
144
|
+
Object.defineProperty(exports, "getDiscography", { enumerable: true, get: function () { return gerdur_core_2.getDiscography; } });
|
|
145
|
+
Object.defineProperty(exports, "getLyrics", { enumerable: true, get: function () { return gerdur_core_2.getLyrics; } });
|
|
146
|
+
Object.defineProperty(exports, "getTrackDownloadUrl", { enumerable: true, get: function () { return gerdur_core_2.getTrackDownloadUrl; } });
|
|
147
|
+
Object.defineProperty(exports, "resolveDownloadUrls", { enumerable: true, get: function () { return gerdur_core_2.resolveDownloadUrls; } });
|
|
148
|
+
Object.defineProperty(exports, "streamTrackDownload", { enumerable: true, get: function () { return gerdur_core_2.streamTrackDownload; } });
|
|
149
|
+
Object.defineProperty(exports, "downloadTrackBuffer", { enumerable: true, get: function () { return gerdur_core_2.downloadTrackBuffer; } });
|
|
150
|
+
Object.defineProperty(exports, "createDecryptStream", { enumerable: true, get: function () { return gerdur_core_2.createDecryptStream; } });
|
|
151
|
+
Object.defineProperty(exports, "getStream", { enumerable: true, get: function () { return gerdur_core_2.getStream; } });
|
|
152
|
+
Object.defineProperty(exports, "addTrackTags", { enumerable: true, get: function () { return gerdur_core_2.addTrackTags; } });
|
|
153
|
+
Object.defineProperty(exports, "getRichAlbum", { enumerable: true, get: function () { return gerdur_core_2.getRichAlbum; } });
|
|
154
|
+
Object.defineProperty(exports, "normalizeContributors", { enumerable: true, get: function () { return gerdur_core_2.normalizeContributors; } });
|
|
155
|
+
Object.defineProperty(exports, "toLrc", { enumerable: true, get: function () { return gerdur_core_2.toLrc; } });
|
|
156
|
+
Object.defineProperty(exports, "GeoBlocked", { enumerable: true, get: function () { return gerdur_core_2.GeoBlocked; } });
|
|
157
|
+
Object.defineProperty(exports, "DeezerError", { enumerable: true, get: function () { return gerdur_core_2.DeezerError; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gerdur",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "The crucial streaming module for dabox systems.",
|
|
5
5
|
"author": "Christian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"adm-zip": "^0.5.16",
|
|
49
49
|
"chalk": "^4.1.2",
|
|
50
50
|
"commander": "^9.5.0",
|
|
51
|
-
"gerdur-core": "^2.
|
|
51
|
+
"gerdur-core": "^2.9.0",
|
|
52
52
|
"dot-prop": "^6.0.1",
|
|
53
53
|
"got": "^11.8.6",
|
|
54
54
|
"gradient-string": "^2.0.2",
|