Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
22 lines
814 B
JavaScript
22 lines
814 B
JavaScript
// Dynamically set webpack's loading path depending on a meta header, in order
|
|
// to share the same assets regardless of instance configuration.
|
|
// See https://webpack.js.org/guides/public-path/#on-the-fly
|
|
|
|
function removeOuterSlashes(string) {
|
|
return string.replace(/^\/*/, "").replace(/\/*$/, "");
|
|
}
|
|
|
|
function formatPublicPath(host = "", path = "") {
|
|
let formattedHost = removeOuterSlashes(host);
|
|
if (formattedHost && !/^http/i.test(formattedHost)) {
|
|
formattedHost = `//${formattedHost}`;
|
|
}
|
|
const formattedPath = removeOuterSlashes(path);
|
|
return `${formattedHost}/${formattedPath}/`;
|
|
}
|
|
|
|
const cdnHost = document.querySelector("meta[name=cdn-host]");
|
|
|
|
// eslint-disable-next-line no-undef
|
|
__webpack_public_path__ = formatPublicPath(cdnHost ? cdnHost.content : "", process.env.PUBLIC_OUTPUT_PATH);
|