Where to find webplayer source used in publisher


#1

Hi,

I’m currently trying to understand the workings of publisher. There are several minified javascripts for players included, for example https://github.com/podlove/podlove-publisher/tree/master/lib/modules/podlove_web_player/player_v4/dist. I would have expected the script to be a minified version of the official Webplayer (like https://raw.githubusercontent.com/podlove/podlove-web-player/v4.0.7/src/embed/embed.js), however the versions shipped with publisher don’t look like they match the official player releases and seem to contain more code. Is there an official source of the original, not minified scriped used here?


#2

Hey,

you are comparing the source with the minified version :slight_smile: You can find all minified versions as an npm package right here: https://www.npmjs.com/package/@podlove/podlove-web-player That is also what is consumed by the Podlove Publisher.


#3

well… yes? Not in the diff-way, but in the functional one.

I know minification as a way to remove whitespaces, comments, shorten variable names, etc. Take for example JQuery: Their uncompressed and compressed versions are identical logicwise. I can take code using the minified version, replace the file with the uncompressed variant and - besides a slightly larger file - the program works the same.
For Podlove we’ve got a minified file named “window.js” containing 680KB of code. The only source mentioned on github is also named “window.js” but is only 70B - without minification.
So for me it looks like this is either not the source used to generate the final file or there is some additional compiling beforehand.

I hoped there would be a unminified but complete version available, just as for other projects named above, saving the hassle of following a seemingly endless recursion of includes.


#4

The Webplayer is built with VueJS. Modern Web applications featuring React, Angular or any kind of SPA framework using bundlers like webpack. An SPA like the Player is constructed from around 100 files. Requesting ~100 files is not performant, therefore it is bundled to 6 different files (potentially more in the next releases). So the source code and the bundling logic is right here: https://github.com/podlove/podlove-web-player/