First And Third Party Script Info
List all scripts using PerformanceResourceTiming API and separating them by first and third party
More Info (opens in a new tab)
Info On CORS (opens in a new tab)
Snippet
// ex: katespade.com - list firsty party subdomains in HOSTS array const HOSTS = ["assets.katespade.com"];   function getScriptInfo() {  const resourceListEntries = performance.getEntriesByType("resource");  // set for first party scripts  const first = [];  // set for third party scripts  const third = [];    resourceListEntries.forEach((resource) => {  // check for initiator type  const value = "initiatorType" in resource;  if (value) {  if (resource.initiatorType === "script") {  const { host } = new URL(resource.name);  // check if resource url host matches location.host = first party script  if (host === location.host || HOSTS.includes(host)) {  const json = resource.toJSON();  first.push({ ...json, type: "First Party" });  } else {  // add to third party script  const json = resource.toJSON();  third.push({ ...json, type: "Third Party" });  }  }  }  });    const scripts = {  firstParty: [{ name: "no data" }],  thirdParty: [{ name: "no data" }],  };    if (first.length) {  scripts.firstParty = first;  }    if (third.length) {  scripts.thirdParty = third;  }    return scripts; }   const { firstParty, thirdParty } = getScriptInfo();   console.groupCollapsed("FIRST PARTY SCRIPTS"); console.table(firstParty); console.groupEnd();   console.groupCollapsed("THIRD PARTY SCRIPTS"); console.table(thirdParty); console.groupEnd();