diff --git a/webpack/webpack.prod.js b/webpack/webpack.prod.js index be80faf9..eb66b246 100644 --- a/webpack/webpack.prod.js +++ b/webpack/webpack.prod.js @@ -3,14 +3,22 @@ const { SourceMapDevToolPlugin } = require('webpack'); const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); -function createGHPSourceMapURL(env) { +async function createGHPSourceMapURL(env) { const manifest = require("../manifest/manifest.json"); const version = manifest.version; const [owner, repo_name] = (process.env.GITHUB_REPOSITORY ?? "ajayyy/SponsorBlock").split("/"); - return `https://${owner.toLowerCase()}.github.io/${repo_name}/${env.browser}${env.stream === "beta" ? "-beta" : ""}/${version}/`; + const ghpUrl = `https://${owner.toLowerCase()}.github.io/${repo_name}/${env.browser}${env.stream === "beta" ? "-beta" : ""}/${version}/`; + // make a request to the url and check if we got redirected + // firefox doesn't seem to like getting redirected on a source map request + try { + const resp = await fetch(ghpUrl); + return resp.url; + } catch { + return ghpUrl; + } } -module.exports = env => { +module.exports = async env => { let mode = "production"; env.mode = mode; @@ -20,7 +28,7 @@ module.exports = env => { ? { devtool: false, plugins: [new SourceMapDevToolPlugin({ - publicPath: createGHPSourceMapURL(env), + publicPath: await createGHPSourceMapURL(env), filename: '[file].map[query]', })], }