diff --git a/apps/cli b/apps/cli index c6d4ef6..085e0a5 160000 --- a/apps/cli +++ b/apps/cli @@ -1 +1 @@ -Subproject commit c6d4ef69659524f96ab4e29a8f316fd2adf4c08b +Subproject commit 085e0a5a8126815dbe094e5e929eb7bbe8056471 diff --git a/package-lock.json b/package-lock.json index 0c36e3e..2e79bd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ }, "apps/cli": { "name": "@streamyx/cli", - "version": "4.0.0-rc.9", + "version": "4.0.0-rc.10", "hasInstallScript": true, "dependencies": { "blowfish-node": "^1.1.4", @@ -21243,7 +21243,7 @@ }, "packages/core": { "name": "@streamyx/core", - "version": "2.1.0", + "version": "2.1.1", "license": "AGPL-3.0", "dependencies": { "dasha": "^3.0.5", @@ -21269,7 +21269,7 @@ "hasInstallScript": true, "license": "AGPL-3.0", "dependencies": { - "@streamyx/core": "^2.1.0" + "@streamyx/core": "^2.1.1" }, "devDependencies": { "@types/node": "^22.5.5", diff --git a/packages/core/lib/utils.ts b/packages/core/lib/utils.ts index bbd483e..6ea9494 100644 --- a/packages/core/lib/utils.ts +++ b/packages/core/lib/utils.ts @@ -25,17 +25,13 @@ export const execUrlPatterns = (url: string, patterns: string[], baseUrls: strin return { pathname, search }; }; -// Like global eval but just for JS objects +// Like eval but just for JS objects export const safeEval = (jsObjectString: string): T | null => { - const jsonString = jsObjectString - .trim() - .replace(/(\w+):/g, '"$1":') - .replace(/'/g, '"'); try { - return JSON.parse(jsonString); + return new Function('return ' + jsObjectString)(); } catch (e) { - logger.error('JSON parsing failed'); - logger.debug(jsonString); + logger.error('Evaluation JS object failed. Input:'); + logger.debug(jsObjectString); logger.debug(e); return null as T; } @@ -62,7 +58,7 @@ export const extendEpisodes = (episodesBySeasons: Map>) => { else episodesBySeasons.set(s, new Set([e])); }; const getAllEpisodeNumbers = () => - Array.from(episodesBySeasons.values()).flatMap(Array.from) as number[]; + Array.from(episodesBySeasons.values()).flatMap((value) => Array.from(value)) as number[]; const seasonsCount = episodesBySeasons.size; const episodes = getAllEpisodeNumbers(); const episodesCount = episodes.length; diff --git a/packages/core/package.json b/packages/core/package.json index c2d4094..6f6a85b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@streamyx/core", - "version": "2.1.0", + "version": "2.1.1", "author": "Vitaly Gashkov ", "description": "Core modules for Streamyx", "license": "AGPL-3.0", diff --git a/packages/crunchyroll b/packages/crunchyroll index 6d50b62..c1826ea 160000 --- a/packages/crunchyroll +++ b/packages/crunchyroll @@ -1 +1 @@ -Subproject commit 6d50b621963da10cf4904a82dc713d87c3b03473 +Subproject commit c1826eaf0692489cb0965b11b7f4594edb126cd1