@wix/himalaya-cli 0.985.0 → 0.987.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.mjs +33 -5
  2. package/package.json +2 -2
package/dist/cli.mjs CHANGED
@@ -52591,7 +52591,7 @@ async function toPlaywrightCookies(setCookies, url) {
52591
52591
  }
52592
52592
  return out;
52593
52593
  }
52594
- async function createPlaywrightBrowser(load = () => import("playwright"), siteFetch = guardedSiteFetch) {
52594
+ async function createPlaywrightBrowser(load = () => import("playwright"), siteFetch = guardedSiteFetch, pin = realPin) {
52595
52595
  const screenshots = [];
52596
52596
  let pw;
52597
52597
  try {
@@ -52601,7 +52601,8 @@ async function createPlaywrightBrowser(load = () => import("playwright"), siteFe
52601
52601
  port: { crawl: async () => ({ unavailable: `playwright_not_installed: ${PLAYWRIGHT_HINT}`, pages: [], navLabels: [], theme: null }) },
52602
52602
  screenshots,
52603
52603
  unavailable: `playwright_not_installed: ${PLAYWRIGHT_HINT}`,
52604
- siteFetch
52604
+ siteFetch,
52605
+ pin
52605
52606
  };
52606
52607
  }
52607
52608
  const port = {
@@ -52615,10 +52616,35 @@ async function createPlaywrightBrowser(load = () => import("playwright"), siteFe
52615
52616
  }
52616
52617
  try {
52617
52618
  const page = await browser.newPage();
52619
+ const inFlight = /* @__PURE__ */ new Map();
52620
+ const mayDial = (url) => {
52621
+ const pending = inFlight.get(url.hostname);
52622
+ if (pending) return pending;
52623
+ const verdict = pin(url, AbortSignal.timeout(SUBRESOURCE_PIN_TIMEOUT_MS)).then(() => true, () => false);
52624
+ inFlight.set(url.hostname, verdict);
52625
+ void verdict.finally(() => {
52626
+ if (inFlight.get(url.hostname) === verdict) inFlight.delete(url.hostname);
52627
+ });
52628
+ return verdict;
52629
+ };
52618
52630
  await page.route("**/*", async (route) => {
52619
52631
  const request = route.request();
52620
52632
  if (request.resourceType() !== "document") {
52621
- await route.continue();
52633
+ try {
52634
+ const url = new URL(request.url());
52635
+ if (NON_NETWORK_SCHEMES.has(url.protocol)) {
52636
+ await route.continue();
52637
+ return;
52638
+ }
52639
+ if (ASSET_HOP(url)) {
52640
+ await route.abort();
52641
+ return;
52642
+ }
52643
+ if (await mayDial(url)) await route.continue();
52644
+ else await route.abort();
52645
+ } catch {
52646
+ await route.abort();
52647
+ }
52622
52648
  return;
52623
52649
  }
52624
52650
  try {
@@ -52789,9 +52815,9 @@ async function createPlaywrightBrowser(load = () => import("playwright"), siteFe
52789
52815
  }
52790
52816
  }
52791
52817
  };
52792
- return { port, screenshots, siteFetch };
52818
+ return { port, screenshots, siteFetch, pin };
52793
52819
  }
52794
- var PLAYWRIGHT_HINT, PAGE_EVAL, CAP2, DOCUMENT_FETCH_TIMEOUT_MS, MAX_DOCUMENT_BYTES, FORWARDED_REQUEST_HEADERS;
52820
+ var PLAYWRIGHT_HINT, PAGE_EVAL, CAP2, DOCUMENT_FETCH_TIMEOUT_MS, MAX_DOCUMENT_BYTES, SUBRESOURCE_PIN_TIMEOUT_MS, NON_NETWORK_SCHEMES, FORWARDED_REQUEST_HEADERS;
52795
52821
  var init_crawl_look = __esm({
52796
52822
  "src/site-analyze/crawl-look.ts"() {
52797
52823
  init_dist();
@@ -53002,6 +53028,8 @@ var init_crawl_look = __esm({
53002
53028
  };
53003
53029
  DOCUMENT_FETCH_TIMEOUT_MS = 12e3;
53004
53030
  MAX_DOCUMENT_BYTES = 15e6;
53031
+ SUBRESOURCE_PIN_TIMEOUT_MS = 5e3;
53032
+ NON_NETWORK_SCHEMES = /* @__PURE__ */ new Set(["data:", "blob:", "about:"]);
53005
53033
  FORWARDED_REQUEST_HEADERS = ["user-agent", "accept-language", "accept", "cookie", "referer"];
53006
53034
  }
53007
53035
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.985.0",
3
+ "version": "0.987.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -65,5 +65,5 @@
65
65
  "artifactId": "himalaya-cli"
66
66
  }
67
67
  },
68
- "falconPackageHash": "277e41b04416b46fd7ccd42d09987c9e0478a67820885fef3debe4eb"
68
+ "falconPackageHash": "3f79c893fa88aecaae73386660fd819cce12d5a671bdf832dfbe7f39"
69
69
  }