126ad19fcSEvan Baconimport qs from 'qs';
226ad19fcSEvan Bacon
326ad19fcSEvan Baconconst getDevServer = () => {
426ad19fcSEvan Bacon  // Disable for SSR
5*f69191a2SEvan Bacon  if (typeof window === 'undefined') {
626ad19fcSEvan Bacon    return {
726ad19fcSEvan Bacon      bundleLoadedFromServer: true,
826ad19fcSEvan Bacon      fullBundleUrl: '',
926ad19fcSEvan Bacon      url: '',
1026ad19fcSEvan Bacon    };
1126ad19fcSEvan Bacon  }
1226ad19fcSEvan Bacon
1326ad19fcSEvan Bacon  return {
1426ad19fcSEvan Bacon    // The bundle is always loaded from a server in the browser.
1526ad19fcSEvan Bacon    bundleLoadedFromServer: true,
1626ad19fcSEvan Bacon
1726ad19fcSEvan Bacon    /** URL but ensures that platform query param is added. */
1826ad19fcSEvan Bacon    get fullBundleUrl() {
1926ad19fcSEvan Bacon      if (document?.currentScript && 'src' in document.currentScript) {
2026ad19fcSEvan Bacon        return document.currentScript.src;
2126ad19fcSEvan Bacon      }
2226ad19fcSEvan Bacon
2326ad19fcSEvan Bacon      const url = window.location.toString();
2426ad19fcSEvan Bacon      const query = qs.parse(url);
2526ad19fcSEvan Bacon
2626ad19fcSEvan Bacon      return (
27*f69191a2SEvan Bacon        location.origin + location.pathname + '?' + qs.stringify({ ...query, platform: 'web' })
2826ad19fcSEvan Bacon      );
2926ad19fcSEvan Bacon    },
3026ad19fcSEvan Bacon    url: location.origin + location.pathname,
3126ad19fcSEvan Bacon  };
3226ad19fcSEvan Bacon};
3326ad19fcSEvan Bacon
3426ad19fcSEvan Baconexport default getDevServer;
35