UNPKG

@bacons/expo-metro-runtime

Version:

Tools for making experimental Metro bundler features work

25 lines 1.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildUrlForBundle = void 0; const qs_1 = __importDefault(require("qs")); /** * Given a path and some optional additional query parameters, create the dev server bundle URL. * @param bundlePath like `/foobar` * @param params like `{ platform: "web" }` * @returns a URL like "/foobar.bundle?platform=android&modulesOnly=true&runModule=false&runtimeBytecodeVersion=null" */ function buildUrlForBundle(bundlePath, params = {}) { // NOTE(EvanBacon): This must come from the window origin (at least in dev mode). // Otherwise Metro will crash from attempting to load a bundle that doesn't exist. let url = ""; if (!bundlePath.startsWith("/")) { url += "/"; } const query = qs_1.default.stringify(params); return url + bundlePath + ".bundle" + (query ? "?" + query : ""); } exports.buildUrlForBundle = buildUrlForBundle; //# sourceMappingURL=buildUrlForBundle.js.map