@plasmicapp/loader-core 1.0.130 → 1.0.132

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.
package/dist/index.esm.js CHANGED
@@ -289,26 +289,11 @@ function getVariationCookieValues() {
289
289
  Object.keys(cookies).map((key) => [key.split(".")[1], cookies[key]]).filter((val) => !!val[0])
290
290
  );
291
291
  }
292
- function generateUUID() {
293
- var d = (/* @__PURE__ */ new Date()).getTime();
294
- var d2 = typeof performance !== "undefined" && performance.now && performance.now() * 1e3 || 0;
295
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
296
- var r = Math.random() * 16;
297
- if (d > 0) {
298
- r = (d + r) % 16 | 0;
299
- d = Math.floor(d / 16);
300
- } else {
301
- r = (d2 + r) % 16 | 0;
302
- d2 = Math.floor(d2 / 16);
303
- }
304
- return (c === "x" ? r : r & 3 | 8).toString(16);
305
- });
306
- }
307
292
  function getDistinctId() {
308
293
  if (!isBrowser2) {
309
294
  return "LOADER-SERVER";
310
295
  }
311
- return generateUUID();
296
+ return "LOADER-CLIENT";
312
297
  }
313
298
  function getCampaignParams() {
314
299
  const { location } = window;
@@ -459,7 +444,7 @@ function throttled(func2) {
459
444
  // src/tracker/index.ts
460
445
  var API_ENDPOINT = "https://analytics.plasmic.app/capture";
461
446
  var API_PUBLIC_KEY = "phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n";
462
- var TRACKER_VERSION = 3;
447
+ var TRACKER_VERSION = 4;
463
448
  var PlasmicTracker = class {
464
449
  constructor(opts2) {
465
450
  this.opts = opts2;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/deps-graph.ts", "../src/bundles.ts", "../src/registry.ts", "../src/tracker/index.ts", "../src/tracker/utils.ts"],
4
- "sourcesContent": ["export { Api, PlasmicModulesFetcher } from \"@plasmicapp/loader-fetcher\";\nexport type {\n AssetModule,\n CodeModule,\n ComponentMeta,\n ExperimentSlice,\n FontMeta,\n GlobalGroupMeta,\n LoaderBundleCache,\n LoaderBundleOutput,\n LoaderHtmlOutput,\n PageMeta,\n PageMetadata,\n ProjectMeta,\n SegmentSlice,\n Split,\n} from \"@plasmicapp/loader-fetcher\";\nexport { getBundleSubset } from \"./bundles\";\nexport { Registry } from \"./registry\";\nexport { PlasmicTracker } from \"./tracker\";\nexport type { TrackRenderOptions } from \"./tracker\";\n", "import { LoaderBundleOutput } from '@plasmicapp/loader-fetcher';\n\nexport class DepsGraph {\n private dependsOn: Record<string, string[]> = {};\n private dependedBy: Record<string, string[]> = {};\n constructor(\n private bundle: LoaderBundleOutput,\n private browserBuild: boolean\n ) {\n this.rebuildGraph();\n }\n\n getTransitiveDependers(name: string) {\n return this.transitiveCrawl(name, this.dependedBy);\n }\n\n getTransitiveDeps(name: string) {\n if (!(name in this.dependsOn)) {\n return [];\n }\n\n return this.transitiveCrawl(name, this.dependsOn);\n }\n\n private transitiveCrawl(name: string, edges: Record<string, string[]>) {\n const deps = new Set<string>();\n\n const crawl = (dep: string) => {\n if (deps.has(dep)) {\n return;\n }\n deps.add(dep);\n for (const subdep of edges[dep] ?? []) {\n crawl(subdep);\n }\n };\n\n for (const dep of edges[name]) {\n crawl(dep);\n }\n return Array.from(deps);\n }\n\n private rebuildGraph() {\n this.dependedBy = {};\n this.dependsOn = {};\n for (const mod of this.browserBuild\n ? this.bundle.modules.browser\n : this.bundle.modules.server) {\n if (mod.type === 'code') {\n for (const imported of mod.imports) {\n if (!(mod.fileName in this.dependsOn)) {\n this.dependsOn[mod.fileName] = [imported];\n } else {\n this.dependsOn[mod.fileName].push(imported);\n }\n\n if (!(imported in this.dependedBy)) {\n this.dependedBy[imported] = [mod.fileName];\n } else {\n this.dependedBy[imported].push(mod.fileName);\n }\n }\n }\n }\n }\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\nimport { DepsGraph } from \"./deps-graph\";\n\n/**\n * Get sub-bundle including only modules that are reachable from `names`.\n * @param opts.target by default, will target the browser modules. Can request\n * the server modules instead.\n */\nexport function getBundleSubset(\n bundle: LoaderBundleOutput,\n names: string[],\n opts?: {\n target?: \"browser\" | \"server\";\n }\n): LoaderBundleOutput {\n const namesSet = new Set(names);\n const target = opts?.target ?? \"browser\";\n\n const forBrowser = target === \"browser\";\n const graph = new DepsGraph(bundle, forBrowser);\n const deps = new Set(names.flatMap((name) => graph.getTransitiveDeps(name)));\n const isSubModule = (fileName: string) =>\n deps.has(fileName) || namesSet.has(fileName);\n const modules = bundle.modules[target];\n const filteredModules = modules.filter((mod) => isSubModule(mod.fileName));\n const filteredComponents = bundle.components.filter((c) =>\n isSubModule(c.entry)\n );\n\n const filteredComponentsIds = new Set(filteredComponents.map((c) => c.id));\n\n // Make deep copy of filteredIds to avoid mutating original bundle\n const filteredIds = Object.fromEntries(\n Object.entries(bundle.filteredIds).map(([k, v]) => [k, [...v]])\n );\n bundle.components\n .filter((c) => !filteredComponentsIds.has(c.id))\n .forEach((component) => {\n filteredIds[component.projectId] = filteredIds[component.projectId] ?? [];\n if (!filteredIds[component.projectId].includes(component.id)) {\n filteredIds[component.projectId].push(component.id);\n }\n });\n\n return {\n modules: {\n browser: forBrowser ? filteredModules : [],\n server: forBrowser ? [] : filteredModules,\n },\n components: filteredComponents,\n globalGroups: bundle.globalGroups,\n projects: bundle.projects,\n activeSplits: bundle.activeSplits,\n bundleKey: bundle.bundleKey ?? null,\n deferChunksByDefault: bundle.deferChunksByDefault,\n filteredIds,\n };\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport class Registry {\n private loadedModules: Record<string, any> = {};\n private registeredModules: Record<string, any> = {};\n private modules: Record<string, string> = {};\n\n constructor() {}\n\n register(name: string, module: any) {\n this.registeredModules[name] = module;\n }\n\n isEmpty() {\n return Object.keys(this.loadedModules).length === 0;\n }\n\n clear() {\n this.loadedModules = {};\n }\n\n getRegisteredModule(name: string) {\n return this.registeredModules[name];\n }\n\n hasModule(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return true;\n }\n\n if (name in this.modules) {\n return true;\n }\n\n if (\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n return true;\n }\n\n if (\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n return true;\n }\n\n return false;\n }\n\n load(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return this.registeredModules[name];\n }\n\n if (name in this.loadedModules) {\n return this.loadedModules[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n this.modules[name] = (globalThis as any).__PLASMIC_CHUNKS[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n throw (globalThis as any).__PlasmicBundlePromises[name];\n }\n\n if (!(name in this.modules)) {\n throw new Error(`Unknown module ${name}`);\n }\n\n const code = this.modules[name];\n\n const requireFn = isBrowser\n ? (dep: string) => {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n }\n : (dep: string) => {\n try {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n } catch (err) {\n try {\n // Might be a nodeJs module such as tty\n return eval(\"require\")(dep);\n } catch {\n throw err;\n }\n }\n };\n\n let func;\n try {\n func = new Function(\"require\", \"exports\", code);\n } catch (err) {\n throw new Error(`PLASMIC: Failed to create function for ${name}: ${err}`);\n }\n const exports = {};\n this.loadedModules[name] = exports;\n try {\n func(requireFn, exports);\n } catch (err: any) {\n // Delete exports from loadedModules, so subsequent uses don't incorrectly\n // believe that this module has been loaded.\n delete this.loadedModules[name];\n if (!(err instanceof Error) && !!err && !!err.then) {\n // Re-throw the Promise\n throw err;\n }\n throw new Error(`PLASMIC: Failed to load ${name}: ${err}`);\n }\n return exports;\n }\n\n updateModules(bundle: LoaderBundleOutput) {\n let updated = false;\n for (const mod of isBrowser\n ? bundle.modules.browser\n : bundle.modules.server) {\n if (\n mod.type === \"code\" &&\n !!mod.code &&\n mod.code !== this.modules[mod.fileName]\n ) {\n this.modules[mod.fileName] = mod.code;\n if (!(globalThis as any).__PLASMIC_CHUNKS) {\n (globalThis as any).__PLASMIC_CHUNKS = {};\n }\n (globalThis as any).__PLASMIC_CHUNKS[mod.fileName] = mod.code;\n updated = true;\n }\n }\n\n if (updated) {\n // TODO: do something more efficient than tearing everything down?\n this.clear();\n }\n }\n}\n\nfunction resolvePath(path: string, from: string) {\n const fromParts = from.split(\"/\");\n const pathParts = path.split(\"/\");\n if (pathParts.length === 0) {\n return path;\n }\n\n if (pathParts[0] === \".\") {\n return [\n ...fromParts.slice(0, fromParts.length - 1),\n ...pathParts.slice(1),\n ].join(\"/\");\n } else if (pathParts[0] === \"..\") {\n let count = 0;\n for (const part of pathParts) {\n if (part === \"..\") {\n count += 1;\n } else {\n break;\n }\n }\n return [\n ...fromParts.slice(0, fromParts.length - count - 1),\n ...pathParts.slice(count),\n ].join(\"/\");\n } else {\n return path;\n }\n}\n", "import unfetch from \"@plasmicapp/isomorphic-unfetch\";\nimport {\n getDistinctId,\n getEnvMeta,\n getVariationCookieValues,\n getWindowMeta,\n rawSplitVariation,\n throttled,\n} from \"./utils\";\n\nexport interface TrackerOptions {\n projectIds: string[];\n host?: string;\n platform?: string;\n preview?: boolean;\n nativeFetch?: boolean;\n}\n\ntype EventType = \"$render\" | \"$fetch\" | \"$conversion\";\n\ninterface Event {\n event: EventType;\n properties: Record<string, any>;\n}\n\nexport interface TrackerRenderProperties {\n rootProjectId?: string;\n rootComponentId?: string;\n rootComponentName?: string;\n teamIds: string[];\n projectIds: string[];\n}\n\nexport interface TrackRenderOptions {\n renderCtx?: TrackerRenderProperties;\n variation?: Record<string, string>;\n}\n\nconst API_ENDPOINT = \"https://analytics.plasmic.app/capture\";\nconst API_PUBLIC_KEY = \"phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n\";\nconst TRACKER_VERSION = 3;\n\nexport class PlasmicTracker {\n private eventQueue: Event[] = [];\n private fetch: typeof globalThis.fetch;\n\n constructor(private opts: TrackerOptions) {\n this.fetch = (\n opts.nativeFetch && globalThis.fetch ? globalThis.fetch : unfetch\n ).bind(globalThis);\n }\n\n public trackRender(opts?: TrackRenderOptions) {\n this.enqueue({\n event: \"$render\",\n properties: {\n ...this.getProperties(),\n ...(opts?.renderCtx ?? {}),\n ...rawSplitVariation(opts?.variation ?? {}),\n },\n });\n }\n\n public trackFetch() {\n this.enqueue({\n event: \"$fetch\",\n properties: this.getProperties(),\n });\n }\n\n public trackConversion(value: number = 0) {\n this.enqueue({\n event: \"$conversion\",\n properties: {\n ...this.getProperties(),\n value,\n },\n });\n }\n\n private getProperties() {\n return {\n distinct_id: getDistinctId(),\n ...getWindowMeta(),\n ...getEnvMeta(),\n ...this.getContextMeta(),\n ...getVariationCookieValues(),\n timestamp: Date.now() ?? +new Date(),\n trackerVersion: TRACKER_VERSION,\n };\n }\n\n private enqueue(event: Event) {\n this.eventQueue.push(event);\n\n this.sendEvents(\"fetch\");\n }\n\n private getContextMeta() {\n return {\n platform: this.opts.platform,\n preview: this.opts.preview,\n projectIds: this.opts.projectIds,\n };\n }\n\n private sendEvents = throttled(async (transport: \"fetch\" | \"beacon\") => {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue.length = 0;\n\n const body = {\n api_key: API_PUBLIC_KEY,\n batch: events,\n };\n\n try {\n const stringBody = JSON.stringify(body);\n if (transport === \"beacon\") {\n // Triggers warning: https://chromestatus.com/feature/5629709824032768\n window.navigator.sendBeacon(API_ENDPOINT, stringBody);\n } else {\n this.fetch(API_ENDPOINT, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n },\n body: stringBody,\n })\n .then(() => {})\n .catch(() => {});\n }\n } catch (err) {}\n });\n}\n", "const isBrowser =\n typeof window !== 'undefined' &&\n window != null &&\n typeof window.document !== 'undefined';\n\nexport function getPlasmicCookieValues() {\n if (!isBrowser) {\n return {};\n }\n return Object.fromEntries(\n document.cookie\n .split('; ')\n .filter((cookie) => cookie.includes('plasmic:'))\n .map((cookie) => cookie.split('='))\n .map(([key, value]) => [key.split(':')[1], value])\n );\n}\n\nexport function getVariationCookieValues() {\n const cookies = getPlasmicCookieValues();\n return Object.fromEntries(\n Object.keys(cookies)\n .map((key) => [key.split('.')[1], cookies[key]])\n .filter((val) => !!val[0])\n );\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID() {\n // Public Domain/MIT\n var d = new Date().getTime(); //Timestamp\n var d2 =\n (typeof performance !== 'undefined' &&\n performance.now &&\n performance.now() * 1000) ||\n 0; //Time in microseconds since page-load or 0 if unsupported\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16; //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\nexport function getDistinctId(): string {\n if (!isBrowser) {\n return 'LOADER-SERVER';\n }\n return generateUUID();\n}\n\nfunction getCampaignParams() {\n const { location } = window;\n const params: Record<string, string> = {};\n try {\n const url = new URL(location.href);\n const CAMPAIGN_KEYWORDS = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_content',\n 'utm_term',\n 'gclid',\n ];\n CAMPAIGN_KEYWORDS.forEach((keyword) => {\n const value = url.searchParams.get(keyword);\n if (value) {\n params[keyword] = value;\n }\n });\n } catch (err) {}\n return params;\n}\n\nfunction getLocationMeta() {\n const { location } = window;\n const { referrer } = document;\n return {\n url: location.href,\n host: location.host,\n pathname: location.pathname,\n referrer,\n ...getCampaignParams(),\n };\n}\n\nfunction getScreenMeta() {\n const { screen } = window;\n return {\n screen_height: screen.height,\n screen_width: screen.width,\n viewport_height: window.innerHeight,\n viewport_width: window.innerWidth,\n };\n}\n\nfunction getOS(userAgent: string) {\n if (/Windows/i.test(userAgent)) {\n if (/Phone/.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return 'Windows Phone';\n }\n return 'Windows';\n } else if (/(iPhone|iPad|iPod)/.test(userAgent)) {\n return 'iOS';\n } else if (/Android/.test(userAgent)) {\n return 'Android';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry';\n } else if (/Mac/i.test(userAgent)) {\n return 'Mac OS X';\n } else if (/Linux/.test(userAgent)) {\n return 'Linux';\n } else if (/CrOS/.test(userAgent)) {\n return 'Chrome OS';\n } else {\n return '';\n }\n}\n\nfunction getDeviceInfo(userAgent: string) {\n const PATTERNS = [\n {\n device: 'iPhone',\n patterns: [/iPhone/],\n },\n {\n device: 'iPad',\n patterns: [/iPad/],\n },\n {\n device: 'iPod Touch',\n patterns: [/iPod/],\n },\n {\n device: 'Windows Phone',\n patterns: [/Windows Phone/i, /WPDesktop/],\n },\n {\n device: 'Android',\n patterns: [/Android/],\n },\n ];\n const match = PATTERNS.find((pattern) =>\n pattern.patterns.some((expr) => expr.test(userAgent))\n );\n const device = match?.device;\n return {\n device: device ?? '',\n deviceType: device ? 'Mobile' : 'Desktop',\n os: getOS(userAgent),\n };\n}\n\nfunction getUserAgentMeta() {\n const { navigator } = window;\n const { userAgent } = navigator;\n return {\n ...getDeviceInfo(userAgent),\n };\n}\n\nexport function getWindowMeta() {\n if (!isBrowser) {\n return {};\n }\n return {\n ...getLocationMeta(),\n ...getScreenMeta(),\n ...getUserAgentMeta(),\n };\n}\n\nconst isProduction = process.env.NODE_ENV === 'production';\n\nexport function getEnvMeta() {\n return {\n isBrowser,\n isProduction,\n };\n}\n\nexport function rawSplitVariation(variation: Record<string, string>) {\n const rawVariations: Record<string, string> = {};\n Object.keys(variation).forEach((variationKey) => {\n const [, splitId] = variationKey.split('.');\n if (splitId) {\n rawVariations[splitId] = variation[variationKey];\n }\n });\n return rawVariations;\n}\n\nconst POLL_TIME = 5000;\n\nexport function throttled<T>(func: (param: T) => Promise<void>) {\n let timerId: number | undefined = undefined;\n return (param: T) => {\n if (timerId) {\n // will already be taken care of next time we run\n return;\n }\n\n if (isBrowser) {\n timerId = window.requestAnimationFrame(() => {\n timerId = undefined;\n func(param);\n });\n } else {\n timerId = setTimeout(() => {\n timerId = undefined;\n func(param);\n }, POLL_TIME) as any;\n }\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["name", "dep", "opts", "name", "_a", "name", "opts", "dep", "err", "isBrowser", "err", "func", "opts", "err"]
4
+ "sourcesContent": ["export { Api, PlasmicModulesFetcher } from \"@plasmicapp/loader-fetcher\";\nexport type {\n AssetModule,\n CodeModule,\n ComponentMeta,\n ExperimentSlice,\n FontMeta,\n GlobalGroupMeta,\n LoaderBundleCache,\n LoaderBundleOutput,\n LoaderHtmlOutput,\n PageMeta,\n PageMetadata,\n ProjectMeta,\n SegmentSlice,\n Split,\n} from \"@plasmicapp/loader-fetcher\";\nexport { getBundleSubset } from \"./bundles\";\nexport { Registry } from \"./registry\";\nexport { PlasmicTracker } from \"./tracker\";\nexport type { TrackRenderOptions } from \"./tracker\";\n", "import { LoaderBundleOutput } from '@plasmicapp/loader-fetcher';\n\nexport class DepsGraph {\n private dependsOn: Record<string, string[]> = {};\n private dependedBy: Record<string, string[]> = {};\n constructor(\n private bundle: LoaderBundleOutput,\n private browserBuild: boolean\n ) {\n this.rebuildGraph();\n }\n\n getTransitiveDependers(name: string) {\n return this.transitiveCrawl(name, this.dependedBy);\n }\n\n getTransitiveDeps(name: string) {\n if (!(name in this.dependsOn)) {\n return [];\n }\n\n return this.transitiveCrawl(name, this.dependsOn);\n }\n\n private transitiveCrawl(name: string, edges: Record<string, string[]>) {\n const deps = new Set<string>();\n\n const crawl = (dep: string) => {\n if (deps.has(dep)) {\n return;\n }\n deps.add(dep);\n for (const subdep of edges[dep] ?? []) {\n crawl(subdep);\n }\n };\n\n for (const dep of edges[name]) {\n crawl(dep);\n }\n return Array.from(deps);\n }\n\n private rebuildGraph() {\n this.dependedBy = {};\n this.dependsOn = {};\n for (const mod of this.browserBuild\n ? this.bundle.modules.browser\n : this.bundle.modules.server) {\n if (mod.type === 'code') {\n for (const imported of mod.imports) {\n if (!(mod.fileName in this.dependsOn)) {\n this.dependsOn[mod.fileName] = [imported];\n } else {\n this.dependsOn[mod.fileName].push(imported);\n }\n\n if (!(imported in this.dependedBy)) {\n this.dependedBy[imported] = [mod.fileName];\n } else {\n this.dependedBy[imported].push(mod.fileName);\n }\n }\n }\n }\n }\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\nimport { DepsGraph } from \"./deps-graph\";\n\n/**\n * Get sub-bundle including only modules that are reachable from `names`.\n * @param opts.target by default, will target the browser modules. Can request\n * the server modules instead.\n */\nexport function getBundleSubset(\n bundle: LoaderBundleOutput,\n names: string[],\n opts?: {\n target?: \"browser\" | \"server\";\n }\n): LoaderBundleOutput {\n const namesSet = new Set(names);\n const target = opts?.target ?? \"browser\";\n\n const forBrowser = target === \"browser\";\n const graph = new DepsGraph(bundle, forBrowser);\n const deps = new Set(names.flatMap((name) => graph.getTransitiveDeps(name)));\n const isSubModule = (fileName: string) =>\n deps.has(fileName) || namesSet.has(fileName);\n const modules = bundle.modules[target];\n const filteredModules = modules.filter((mod) => isSubModule(mod.fileName));\n const filteredComponents = bundle.components.filter((c) =>\n isSubModule(c.entry)\n );\n\n const filteredComponentsIds = new Set(filteredComponents.map((c) => c.id));\n\n // Make deep copy of filteredIds to avoid mutating original bundle\n const filteredIds = Object.fromEntries(\n Object.entries(bundle.filteredIds).map(([k, v]) => [k, [...v]])\n );\n bundle.components\n .filter((c) => !filteredComponentsIds.has(c.id))\n .forEach((component) => {\n filteredIds[component.projectId] = filteredIds[component.projectId] ?? [];\n if (!filteredIds[component.projectId].includes(component.id)) {\n filteredIds[component.projectId].push(component.id);\n }\n });\n\n return {\n modules: {\n browser: forBrowser ? filteredModules : [],\n server: forBrowser ? [] : filteredModules,\n },\n components: filteredComponents,\n globalGroups: bundle.globalGroups,\n projects: bundle.projects,\n activeSplits: bundle.activeSplits,\n bundleKey: bundle.bundleKey ?? null,\n deferChunksByDefault: bundle.deferChunksByDefault,\n filteredIds,\n };\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport class Registry {\n private loadedModules: Record<string, any> = {};\n private registeredModules: Record<string, any> = {};\n private modules: Record<string, string> = {};\n\n constructor() {}\n\n register(name: string, module: any) {\n this.registeredModules[name] = module;\n }\n\n isEmpty() {\n return Object.keys(this.loadedModules).length === 0;\n }\n\n clear() {\n this.loadedModules = {};\n }\n\n getRegisteredModule(name: string) {\n return this.registeredModules[name];\n }\n\n hasModule(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return true;\n }\n\n if (name in this.modules) {\n return true;\n }\n\n if (\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n return true;\n }\n\n if (\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n return true;\n }\n\n return false;\n }\n\n load(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return this.registeredModules[name];\n }\n\n if (name in this.loadedModules) {\n return this.loadedModules[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n this.modules[name] = (globalThis as any).__PLASMIC_CHUNKS[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n throw (globalThis as any).__PlasmicBundlePromises[name];\n }\n\n if (!(name in this.modules)) {\n throw new Error(`Unknown module ${name}`);\n }\n\n const code = this.modules[name];\n\n const requireFn = isBrowser\n ? (dep: string) => {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n }\n : (dep: string) => {\n try {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n } catch (err) {\n try {\n // Might be a nodeJs module such as tty\n return eval(\"require\")(dep);\n } catch {\n throw err;\n }\n }\n };\n\n let func;\n try {\n func = new Function(\"require\", \"exports\", code);\n } catch (err) {\n throw new Error(`PLASMIC: Failed to create function for ${name}: ${err}`);\n }\n const exports = {};\n this.loadedModules[name] = exports;\n try {\n func(requireFn, exports);\n } catch (err: any) {\n // Delete exports from loadedModules, so subsequent uses don't incorrectly\n // believe that this module has been loaded.\n delete this.loadedModules[name];\n if (!(err instanceof Error) && !!err && !!err.then) {\n // Re-throw the Promise\n throw err;\n }\n throw new Error(`PLASMIC: Failed to load ${name}: ${err}`);\n }\n return exports;\n }\n\n updateModules(bundle: LoaderBundleOutput) {\n let updated = false;\n for (const mod of isBrowser\n ? bundle.modules.browser\n : bundle.modules.server) {\n if (\n mod.type === \"code\" &&\n !!mod.code &&\n mod.code !== this.modules[mod.fileName]\n ) {\n this.modules[mod.fileName] = mod.code;\n if (!(globalThis as any).__PLASMIC_CHUNKS) {\n (globalThis as any).__PLASMIC_CHUNKS = {};\n }\n (globalThis as any).__PLASMIC_CHUNKS[mod.fileName] = mod.code;\n updated = true;\n }\n }\n\n if (updated) {\n // TODO: do something more efficient than tearing everything down?\n this.clear();\n }\n }\n}\n\nfunction resolvePath(path: string, from: string) {\n const fromParts = from.split(\"/\");\n const pathParts = path.split(\"/\");\n if (pathParts.length === 0) {\n return path;\n }\n\n if (pathParts[0] === \".\") {\n return [\n ...fromParts.slice(0, fromParts.length - 1),\n ...pathParts.slice(1),\n ].join(\"/\");\n } else if (pathParts[0] === \"..\") {\n let count = 0;\n for (const part of pathParts) {\n if (part === \"..\") {\n count += 1;\n } else {\n break;\n }\n }\n return [\n ...fromParts.slice(0, fromParts.length - count - 1),\n ...pathParts.slice(count),\n ].join(\"/\");\n } else {\n return path;\n }\n}\n", "import unfetch from \"@plasmicapp/isomorphic-unfetch\";\nimport {\n getDistinctId,\n getEnvMeta,\n getVariationCookieValues,\n getWindowMeta,\n rawSplitVariation,\n throttled,\n} from \"./utils\";\n\nexport interface TrackerOptions {\n projectIds: string[];\n host?: string;\n platform?: string;\n preview?: boolean;\n nativeFetch?: boolean;\n}\n\ntype EventType = \"$render\" | \"$fetch\" | \"$conversion\";\n\ninterface Event {\n event: EventType;\n properties: Record<string, any>;\n}\n\nexport interface TrackerRenderProperties {\n rootProjectId?: string;\n rootComponentId?: string;\n rootComponentName?: string;\n teamIds: string[];\n projectIds: string[];\n}\n\nexport interface TrackRenderOptions {\n renderCtx?: TrackerRenderProperties;\n variation?: Record<string, string>;\n}\n\nconst API_ENDPOINT = \"https://analytics.plasmic.app/capture\";\nconst API_PUBLIC_KEY = \"phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n\";\nconst TRACKER_VERSION = 4;\n\nexport class PlasmicTracker {\n private eventQueue: Event[] = [];\n private fetch: typeof globalThis.fetch;\n\n constructor(private opts: TrackerOptions) {\n this.fetch = (\n opts.nativeFetch && globalThis.fetch ? globalThis.fetch : unfetch\n ).bind(globalThis);\n }\n\n public trackRender(opts?: TrackRenderOptions) {\n this.enqueue({\n event: \"$render\",\n properties: {\n ...this.getProperties(),\n ...(opts?.renderCtx ?? {}),\n ...rawSplitVariation(opts?.variation ?? {}),\n },\n });\n }\n\n public trackFetch() {\n this.enqueue({\n event: \"$fetch\",\n properties: this.getProperties(),\n });\n }\n\n public trackConversion(value: number = 0) {\n this.enqueue({\n event: \"$conversion\",\n properties: {\n ...this.getProperties(),\n value,\n },\n });\n }\n\n private getProperties() {\n return {\n distinct_id: getDistinctId(),\n ...getWindowMeta(),\n ...getEnvMeta(),\n ...this.getContextMeta(),\n ...getVariationCookieValues(),\n timestamp: Date.now() ?? +new Date(),\n trackerVersion: TRACKER_VERSION,\n };\n }\n\n private enqueue(event: Event) {\n this.eventQueue.push(event);\n\n this.sendEvents(\"fetch\");\n }\n\n private getContextMeta() {\n return {\n platform: this.opts.platform,\n preview: this.opts.preview,\n projectIds: this.opts.projectIds,\n };\n }\n\n private sendEvents = throttled(async (transport: \"fetch\" | \"beacon\") => {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue.length = 0;\n\n const body = {\n api_key: API_PUBLIC_KEY,\n batch: events,\n };\n\n try {\n const stringBody = JSON.stringify(body);\n if (transport === \"beacon\") {\n // Triggers warning: https://chromestatus.com/feature/5629709824032768\n window.navigator.sendBeacon(API_ENDPOINT, stringBody);\n } else {\n this.fetch(API_ENDPOINT, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n },\n body: stringBody,\n })\n .then(() => {})\n .catch(() => {});\n }\n } catch (err) {}\n });\n}\n", "const isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport function getPlasmicCookieValues() {\n if (!isBrowser) {\n return {};\n }\n return Object.fromEntries(\n document.cookie\n .split(\"; \")\n .filter((cookie) => cookie.includes(\"plasmic:\"))\n .map((cookie) => cookie.split(\"=\"))\n .map(([key, value]) => [key.split(\":\")[1], value])\n );\n}\n\nexport function getVariationCookieValues() {\n const cookies = getPlasmicCookieValues();\n return Object.fromEntries(\n Object.keys(cookies)\n .map((key) => [key.split(\".\")[1], cookies[key]])\n .filter((val) => !!val[0])\n );\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID() {\n // Public Domain/MIT\n var d = new Date().getTime(); //Timestamp\n var d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1000) ||\n 0; //Time in microseconds since page-load or 0 if unsupported\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = Math.random() * 16; //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\nexport function getDistinctId(): string {\n if (!isBrowser) {\n return \"LOADER-SERVER\";\n }\n // Don't generate a new UUID per event so that we don't consider\n // each event from a different person which uses more storage\n // return generateUUID();\n return \"LOADER-CLIENT\";\n}\n\nfunction getCampaignParams() {\n const { location } = window;\n const params: Record<string, string> = {};\n try {\n const url = new URL(location.href);\n const CAMPAIGN_KEYWORDS = [\n \"utm_source\",\n \"utm_medium\",\n \"utm_campaign\",\n \"utm_content\",\n \"utm_term\",\n \"gclid\",\n ];\n CAMPAIGN_KEYWORDS.forEach((keyword) => {\n const value = url.searchParams.get(keyword);\n if (value) {\n params[keyword] = value;\n }\n });\n } catch (err) {}\n return params;\n}\n\nfunction getLocationMeta() {\n const { location } = window;\n const { referrer } = document;\n return {\n url: location.href,\n host: location.host,\n pathname: location.pathname,\n referrer,\n ...getCampaignParams(),\n };\n}\n\nfunction getScreenMeta() {\n const { screen } = window;\n return {\n screen_height: screen.height,\n screen_width: screen.width,\n viewport_height: window.innerHeight,\n viewport_width: window.innerWidth,\n };\n}\n\nfunction getOS(userAgent: string) {\n if (/Windows/i.test(userAgent)) {\n if (/Phone/.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return \"Windows Phone\";\n }\n return \"Windows\";\n } else if (/(iPhone|iPad|iPod)/.test(userAgent)) {\n return \"iOS\";\n } else if (/Android/.test(userAgent)) {\n return \"Android\";\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return \"BlackBerry\";\n } else if (/Mac/i.test(userAgent)) {\n return \"Mac OS X\";\n } else if (/Linux/.test(userAgent)) {\n return \"Linux\";\n } else if (/CrOS/.test(userAgent)) {\n return \"Chrome OS\";\n } else {\n return \"\";\n }\n}\n\nfunction getDeviceInfo(userAgent: string) {\n const PATTERNS = [\n {\n device: \"iPhone\",\n patterns: [/iPhone/],\n },\n {\n device: \"iPad\",\n patterns: [/iPad/],\n },\n {\n device: \"iPod Touch\",\n patterns: [/iPod/],\n },\n {\n device: \"Windows Phone\",\n patterns: [/Windows Phone/i, /WPDesktop/],\n },\n {\n device: \"Android\",\n patterns: [/Android/],\n },\n ];\n const match = PATTERNS.find((pattern) =>\n pattern.patterns.some((expr) => expr.test(userAgent))\n );\n const device = match?.device;\n return {\n device: device ?? \"\",\n deviceType: device ? \"Mobile\" : \"Desktop\",\n os: getOS(userAgent),\n };\n}\n\nfunction getUserAgentMeta() {\n const { navigator } = window;\n const { userAgent } = navigator;\n return {\n ...getDeviceInfo(userAgent),\n };\n}\n\nexport function getWindowMeta() {\n if (!isBrowser) {\n return {};\n }\n return {\n ...getLocationMeta(),\n ...getScreenMeta(),\n ...getUserAgentMeta(),\n };\n}\n\nconst isProduction = process.env.NODE_ENV === \"production\";\n\nexport function getEnvMeta() {\n return {\n isBrowser,\n isProduction,\n };\n}\n\nexport function rawSplitVariation(variation: Record<string, string>) {\n const rawVariations: Record<string, string> = {};\n Object.keys(variation).forEach((variationKey) => {\n const [, splitId] = variationKey.split(\".\");\n if (splitId) {\n rawVariations[splitId] = variation[variationKey];\n }\n });\n return rawVariations;\n}\n\nconst POLL_TIME = 5000;\n\nexport function throttled<T>(func: (param: T) => Promise<void>) {\n let timerId: number | undefined = undefined;\n return (param: T) => {\n if (timerId) {\n // will already be taken care of next time we run\n return;\n }\n\n if (isBrowser) {\n timerId = window.requestAnimationFrame(() => {\n timerId = undefined;\n func(param);\n });\n } else {\n timerId = setTimeout(() => {\n timerId = undefined;\n func(param);\n }, POLL_TIME) as any;\n }\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["name", "dep", "opts", "name", "_a", "name", "opts", "dep", "err", "isBrowser", "isBrowser", "err", "func", "opts", "err"]
7
7
  }
package/dist/index.js CHANGED
@@ -324,26 +324,11 @@ function getVariationCookieValues() {
324
324
  Object.keys(cookies).map((key) => [key.split(".")[1], cookies[key]]).filter((val) => !!val[0])
325
325
  );
326
326
  }
327
- function generateUUID() {
328
- var d = (/* @__PURE__ */ new Date()).getTime();
329
- var d2 = typeof performance !== "undefined" && performance.now && performance.now() * 1e3 || 0;
330
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
331
- var r = Math.random() * 16;
332
- if (d > 0) {
333
- r = (d + r) % 16 | 0;
334
- d = Math.floor(d / 16);
335
- } else {
336
- r = (d2 + r) % 16 | 0;
337
- d2 = Math.floor(d2 / 16);
338
- }
339
- return (c === "x" ? r : r & 3 | 8).toString(16);
340
- });
341
- }
342
327
  function getDistinctId() {
343
328
  if (!isBrowser2) {
344
329
  return "LOADER-SERVER";
345
330
  }
346
- return generateUUID();
331
+ return "LOADER-CLIENT";
347
332
  }
348
333
  function getCampaignParams() {
349
334
  const { location } = window;
@@ -494,7 +479,7 @@ function throttled(func2) {
494
479
  // src/tracker/index.ts
495
480
  var API_ENDPOINT = "https://analytics.plasmic.app/capture";
496
481
  var API_PUBLIC_KEY = "phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n";
497
- var TRACKER_VERSION = 3;
482
+ var TRACKER_VERSION = 4;
498
483
  var PlasmicTracker = class {
499
484
  constructor(opts2) {
500
485
  this.opts = opts2;
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/deps-graph.ts", "../src/bundles.ts", "../src/registry.ts", "../src/tracker/index.ts", "../src/tracker/utils.ts"],
4
- "sourcesContent": ["export { Api, PlasmicModulesFetcher } from \"@plasmicapp/loader-fetcher\";\nexport type {\n AssetModule,\n CodeModule,\n ComponentMeta,\n ExperimentSlice,\n FontMeta,\n GlobalGroupMeta,\n LoaderBundleCache,\n LoaderBundleOutput,\n LoaderHtmlOutput,\n PageMeta,\n PageMetadata,\n ProjectMeta,\n SegmentSlice,\n Split,\n} from \"@plasmicapp/loader-fetcher\";\nexport { getBundleSubset } from \"./bundles\";\nexport { Registry } from \"./registry\";\nexport { PlasmicTracker } from \"./tracker\";\nexport type { TrackRenderOptions } from \"./tracker\";\n", "import { LoaderBundleOutput } from '@plasmicapp/loader-fetcher';\n\nexport class DepsGraph {\n private dependsOn: Record<string, string[]> = {};\n private dependedBy: Record<string, string[]> = {};\n constructor(\n private bundle: LoaderBundleOutput,\n private browserBuild: boolean\n ) {\n this.rebuildGraph();\n }\n\n getTransitiveDependers(name: string) {\n return this.transitiveCrawl(name, this.dependedBy);\n }\n\n getTransitiveDeps(name: string) {\n if (!(name in this.dependsOn)) {\n return [];\n }\n\n return this.transitiveCrawl(name, this.dependsOn);\n }\n\n private transitiveCrawl(name: string, edges: Record<string, string[]>) {\n const deps = new Set<string>();\n\n const crawl = (dep: string) => {\n if (deps.has(dep)) {\n return;\n }\n deps.add(dep);\n for (const subdep of edges[dep] ?? []) {\n crawl(subdep);\n }\n };\n\n for (const dep of edges[name]) {\n crawl(dep);\n }\n return Array.from(deps);\n }\n\n private rebuildGraph() {\n this.dependedBy = {};\n this.dependsOn = {};\n for (const mod of this.browserBuild\n ? this.bundle.modules.browser\n : this.bundle.modules.server) {\n if (mod.type === 'code') {\n for (const imported of mod.imports) {\n if (!(mod.fileName in this.dependsOn)) {\n this.dependsOn[mod.fileName] = [imported];\n } else {\n this.dependsOn[mod.fileName].push(imported);\n }\n\n if (!(imported in this.dependedBy)) {\n this.dependedBy[imported] = [mod.fileName];\n } else {\n this.dependedBy[imported].push(mod.fileName);\n }\n }\n }\n }\n }\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\nimport { DepsGraph } from \"./deps-graph\";\n\n/**\n * Get sub-bundle including only modules that are reachable from `names`.\n * @param opts.target by default, will target the browser modules. Can request\n * the server modules instead.\n */\nexport function getBundleSubset(\n bundle: LoaderBundleOutput,\n names: string[],\n opts?: {\n target?: \"browser\" | \"server\";\n }\n): LoaderBundleOutput {\n const namesSet = new Set(names);\n const target = opts?.target ?? \"browser\";\n\n const forBrowser = target === \"browser\";\n const graph = new DepsGraph(bundle, forBrowser);\n const deps = new Set(names.flatMap((name) => graph.getTransitiveDeps(name)));\n const isSubModule = (fileName: string) =>\n deps.has(fileName) || namesSet.has(fileName);\n const modules = bundle.modules[target];\n const filteredModules = modules.filter((mod) => isSubModule(mod.fileName));\n const filteredComponents = bundle.components.filter((c) =>\n isSubModule(c.entry)\n );\n\n const filteredComponentsIds = new Set(filteredComponents.map((c) => c.id));\n\n // Make deep copy of filteredIds to avoid mutating original bundle\n const filteredIds = Object.fromEntries(\n Object.entries(bundle.filteredIds).map(([k, v]) => [k, [...v]])\n );\n bundle.components\n .filter((c) => !filteredComponentsIds.has(c.id))\n .forEach((component) => {\n filteredIds[component.projectId] = filteredIds[component.projectId] ?? [];\n if (!filteredIds[component.projectId].includes(component.id)) {\n filteredIds[component.projectId].push(component.id);\n }\n });\n\n return {\n modules: {\n browser: forBrowser ? filteredModules : [],\n server: forBrowser ? [] : filteredModules,\n },\n components: filteredComponents,\n globalGroups: bundle.globalGroups,\n projects: bundle.projects,\n activeSplits: bundle.activeSplits,\n bundleKey: bundle.bundleKey ?? null,\n deferChunksByDefault: bundle.deferChunksByDefault,\n filteredIds,\n };\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport class Registry {\n private loadedModules: Record<string, any> = {};\n private registeredModules: Record<string, any> = {};\n private modules: Record<string, string> = {};\n\n constructor() {}\n\n register(name: string, module: any) {\n this.registeredModules[name] = module;\n }\n\n isEmpty() {\n return Object.keys(this.loadedModules).length === 0;\n }\n\n clear() {\n this.loadedModules = {};\n }\n\n getRegisteredModule(name: string) {\n return this.registeredModules[name];\n }\n\n hasModule(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return true;\n }\n\n if (name in this.modules) {\n return true;\n }\n\n if (\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n return true;\n }\n\n if (\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n return true;\n }\n\n return false;\n }\n\n load(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return this.registeredModules[name];\n }\n\n if (name in this.loadedModules) {\n return this.loadedModules[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n this.modules[name] = (globalThis as any).__PLASMIC_CHUNKS[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n throw (globalThis as any).__PlasmicBundlePromises[name];\n }\n\n if (!(name in this.modules)) {\n throw new Error(`Unknown module ${name}`);\n }\n\n const code = this.modules[name];\n\n const requireFn = isBrowser\n ? (dep: string) => {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n }\n : (dep: string) => {\n try {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n } catch (err) {\n try {\n // Might be a nodeJs module such as tty\n return eval(\"require\")(dep);\n } catch {\n throw err;\n }\n }\n };\n\n let func;\n try {\n func = new Function(\"require\", \"exports\", code);\n } catch (err) {\n throw new Error(`PLASMIC: Failed to create function for ${name}: ${err}`);\n }\n const exports = {};\n this.loadedModules[name] = exports;\n try {\n func(requireFn, exports);\n } catch (err: any) {\n // Delete exports from loadedModules, so subsequent uses don't incorrectly\n // believe that this module has been loaded.\n delete this.loadedModules[name];\n if (!(err instanceof Error) && !!err && !!err.then) {\n // Re-throw the Promise\n throw err;\n }\n throw new Error(`PLASMIC: Failed to load ${name}: ${err}`);\n }\n return exports;\n }\n\n updateModules(bundle: LoaderBundleOutput) {\n let updated = false;\n for (const mod of isBrowser\n ? bundle.modules.browser\n : bundle.modules.server) {\n if (\n mod.type === \"code\" &&\n !!mod.code &&\n mod.code !== this.modules[mod.fileName]\n ) {\n this.modules[mod.fileName] = mod.code;\n if (!(globalThis as any).__PLASMIC_CHUNKS) {\n (globalThis as any).__PLASMIC_CHUNKS = {};\n }\n (globalThis as any).__PLASMIC_CHUNKS[mod.fileName] = mod.code;\n updated = true;\n }\n }\n\n if (updated) {\n // TODO: do something more efficient than tearing everything down?\n this.clear();\n }\n }\n}\n\nfunction resolvePath(path: string, from: string) {\n const fromParts = from.split(\"/\");\n const pathParts = path.split(\"/\");\n if (pathParts.length === 0) {\n return path;\n }\n\n if (pathParts[0] === \".\") {\n return [\n ...fromParts.slice(0, fromParts.length - 1),\n ...pathParts.slice(1),\n ].join(\"/\");\n } else if (pathParts[0] === \"..\") {\n let count = 0;\n for (const part of pathParts) {\n if (part === \"..\") {\n count += 1;\n } else {\n break;\n }\n }\n return [\n ...fromParts.slice(0, fromParts.length - count - 1),\n ...pathParts.slice(count),\n ].join(\"/\");\n } else {\n return path;\n }\n}\n", "import unfetch from \"@plasmicapp/isomorphic-unfetch\";\nimport {\n getDistinctId,\n getEnvMeta,\n getVariationCookieValues,\n getWindowMeta,\n rawSplitVariation,\n throttled,\n} from \"./utils\";\n\nexport interface TrackerOptions {\n projectIds: string[];\n host?: string;\n platform?: string;\n preview?: boolean;\n nativeFetch?: boolean;\n}\n\ntype EventType = \"$render\" | \"$fetch\" | \"$conversion\";\n\ninterface Event {\n event: EventType;\n properties: Record<string, any>;\n}\n\nexport interface TrackerRenderProperties {\n rootProjectId?: string;\n rootComponentId?: string;\n rootComponentName?: string;\n teamIds: string[];\n projectIds: string[];\n}\n\nexport interface TrackRenderOptions {\n renderCtx?: TrackerRenderProperties;\n variation?: Record<string, string>;\n}\n\nconst API_ENDPOINT = \"https://analytics.plasmic.app/capture\";\nconst API_PUBLIC_KEY = \"phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n\";\nconst TRACKER_VERSION = 3;\n\nexport class PlasmicTracker {\n private eventQueue: Event[] = [];\n private fetch: typeof globalThis.fetch;\n\n constructor(private opts: TrackerOptions) {\n this.fetch = (\n opts.nativeFetch && globalThis.fetch ? globalThis.fetch : unfetch\n ).bind(globalThis);\n }\n\n public trackRender(opts?: TrackRenderOptions) {\n this.enqueue({\n event: \"$render\",\n properties: {\n ...this.getProperties(),\n ...(opts?.renderCtx ?? {}),\n ...rawSplitVariation(opts?.variation ?? {}),\n },\n });\n }\n\n public trackFetch() {\n this.enqueue({\n event: \"$fetch\",\n properties: this.getProperties(),\n });\n }\n\n public trackConversion(value: number = 0) {\n this.enqueue({\n event: \"$conversion\",\n properties: {\n ...this.getProperties(),\n value,\n },\n });\n }\n\n private getProperties() {\n return {\n distinct_id: getDistinctId(),\n ...getWindowMeta(),\n ...getEnvMeta(),\n ...this.getContextMeta(),\n ...getVariationCookieValues(),\n timestamp: Date.now() ?? +new Date(),\n trackerVersion: TRACKER_VERSION,\n };\n }\n\n private enqueue(event: Event) {\n this.eventQueue.push(event);\n\n this.sendEvents(\"fetch\");\n }\n\n private getContextMeta() {\n return {\n platform: this.opts.platform,\n preview: this.opts.preview,\n projectIds: this.opts.projectIds,\n };\n }\n\n private sendEvents = throttled(async (transport: \"fetch\" | \"beacon\") => {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue.length = 0;\n\n const body = {\n api_key: API_PUBLIC_KEY,\n batch: events,\n };\n\n try {\n const stringBody = JSON.stringify(body);\n if (transport === \"beacon\") {\n // Triggers warning: https://chromestatus.com/feature/5629709824032768\n window.navigator.sendBeacon(API_ENDPOINT, stringBody);\n } else {\n this.fetch(API_ENDPOINT, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n },\n body: stringBody,\n })\n .then(() => {})\n .catch(() => {});\n }\n } catch (err) {}\n });\n}\n", "const isBrowser =\n typeof window !== 'undefined' &&\n window != null &&\n typeof window.document !== 'undefined';\n\nexport function getPlasmicCookieValues() {\n if (!isBrowser) {\n return {};\n }\n return Object.fromEntries(\n document.cookie\n .split('; ')\n .filter((cookie) => cookie.includes('plasmic:'))\n .map((cookie) => cookie.split('='))\n .map(([key, value]) => [key.split(':')[1], value])\n );\n}\n\nexport function getVariationCookieValues() {\n const cookies = getPlasmicCookieValues();\n return Object.fromEntries(\n Object.keys(cookies)\n .map((key) => [key.split('.')[1], cookies[key]])\n .filter((val) => !!val[0])\n );\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID() {\n // Public Domain/MIT\n var d = new Date().getTime(); //Timestamp\n var d2 =\n (typeof performance !== 'undefined' &&\n performance.now &&\n performance.now() * 1000) ||\n 0; //Time in microseconds since page-load or 0 if unsupported\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16; //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\nexport function getDistinctId(): string {\n if (!isBrowser) {\n return 'LOADER-SERVER';\n }\n return generateUUID();\n}\n\nfunction getCampaignParams() {\n const { location } = window;\n const params: Record<string, string> = {};\n try {\n const url = new URL(location.href);\n const CAMPAIGN_KEYWORDS = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_content',\n 'utm_term',\n 'gclid',\n ];\n CAMPAIGN_KEYWORDS.forEach((keyword) => {\n const value = url.searchParams.get(keyword);\n if (value) {\n params[keyword] = value;\n }\n });\n } catch (err) {}\n return params;\n}\n\nfunction getLocationMeta() {\n const { location } = window;\n const { referrer } = document;\n return {\n url: location.href,\n host: location.host,\n pathname: location.pathname,\n referrer,\n ...getCampaignParams(),\n };\n}\n\nfunction getScreenMeta() {\n const { screen } = window;\n return {\n screen_height: screen.height,\n screen_width: screen.width,\n viewport_height: window.innerHeight,\n viewport_width: window.innerWidth,\n };\n}\n\nfunction getOS(userAgent: string) {\n if (/Windows/i.test(userAgent)) {\n if (/Phone/.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return 'Windows Phone';\n }\n return 'Windows';\n } else if (/(iPhone|iPad|iPod)/.test(userAgent)) {\n return 'iOS';\n } else if (/Android/.test(userAgent)) {\n return 'Android';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry';\n } else if (/Mac/i.test(userAgent)) {\n return 'Mac OS X';\n } else if (/Linux/.test(userAgent)) {\n return 'Linux';\n } else if (/CrOS/.test(userAgent)) {\n return 'Chrome OS';\n } else {\n return '';\n }\n}\n\nfunction getDeviceInfo(userAgent: string) {\n const PATTERNS = [\n {\n device: 'iPhone',\n patterns: [/iPhone/],\n },\n {\n device: 'iPad',\n patterns: [/iPad/],\n },\n {\n device: 'iPod Touch',\n patterns: [/iPod/],\n },\n {\n device: 'Windows Phone',\n patterns: [/Windows Phone/i, /WPDesktop/],\n },\n {\n device: 'Android',\n patterns: [/Android/],\n },\n ];\n const match = PATTERNS.find((pattern) =>\n pattern.patterns.some((expr) => expr.test(userAgent))\n );\n const device = match?.device;\n return {\n device: device ?? '',\n deviceType: device ? 'Mobile' : 'Desktop',\n os: getOS(userAgent),\n };\n}\n\nfunction getUserAgentMeta() {\n const { navigator } = window;\n const { userAgent } = navigator;\n return {\n ...getDeviceInfo(userAgent),\n };\n}\n\nexport function getWindowMeta() {\n if (!isBrowser) {\n return {};\n }\n return {\n ...getLocationMeta(),\n ...getScreenMeta(),\n ...getUserAgentMeta(),\n };\n}\n\nconst isProduction = process.env.NODE_ENV === 'production';\n\nexport function getEnvMeta() {\n return {\n isBrowser,\n isProduction,\n };\n}\n\nexport function rawSplitVariation(variation: Record<string, string>) {\n const rawVariations: Record<string, string> = {};\n Object.keys(variation).forEach((variationKey) => {\n const [, splitId] = variationKey.split('.');\n if (splitId) {\n rawVariations[splitId] = variation[variationKey];\n }\n });\n return rawVariations;\n}\n\nconst POLL_TIME = 5000;\n\nexport function throttled<T>(func: (param: T) => Promise<void>) {\n let timerId: number | undefined = undefined;\n return (param: T) => {\n if (timerId) {\n // will already be taken care of next time we run\n return;\n }\n\n if (isBrowser) {\n timerId = window.requestAnimationFrame(() => {\n timerId = undefined;\n func(param);\n });\n } else {\n timerId = setTimeout(() => {\n timerId = undefined;\n func(param);\n }, POLL_TIME) as any;\n }\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["name", "dep", "opts", "name", "_a", "name", "module", "opts", "dep", "err", "isBrowser", "err", "func", "opts", "err", "unfetch"]
4
+ "sourcesContent": ["export { Api, PlasmicModulesFetcher } from \"@plasmicapp/loader-fetcher\";\nexport type {\n AssetModule,\n CodeModule,\n ComponentMeta,\n ExperimentSlice,\n FontMeta,\n GlobalGroupMeta,\n LoaderBundleCache,\n LoaderBundleOutput,\n LoaderHtmlOutput,\n PageMeta,\n PageMetadata,\n ProjectMeta,\n SegmentSlice,\n Split,\n} from \"@plasmicapp/loader-fetcher\";\nexport { getBundleSubset } from \"./bundles\";\nexport { Registry } from \"./registry\";\nexport { PlasmicTracker } from \"./tracker\";\nexport type { TrackRenderOptions } from \"./tracker\";\n", "import { LoaderBundleOutput } from '@plasmicapp/loader-fetcher';\n\nexport class DepsGraph {\n private dependsOn: Record<string, string[]> = {};\n private dependedBy: Record<string, string[]> = {};\n constructor(\n private bundle: LoaderBundleOutput,\n private browserBuild: boolean\n ) {\n this.rebuildGraph();\n }\n\n getTransitiveDependers(name: string) {\n return this.transitiveCrawl(name, this.dependedBy);\n }\n\n getTransitiveDeps(name: string) {\n if (!(name in this.dependsOn)) {\n return [];\n }\n\n return this.transitiveCrawl(name, this.dependsOn);\n }\n\n private transitiveCrawl(name: string, edges: Record<string, string[]>) {\n const deps = new Set<string>();\n\n const crawl = (dep: string) => {\n if (deps.has(dep)) {\n return;\n }\n deps.add(dep);\n for (const subdep of edges[dep] ?? []) {\n crawl(subdep);\n }\n };\n\n for (const dep of edges[name]) {\n crawl(dep);\n }\n return Array.from(deps);\n }\n\n private rebuildGraph() {\n this.dependedBy = {};\n this.dependsOn = {};\n for (const mod of this.browserBuild\n ? this.bundle.modules.browser\n : this.bundle.modules.server) {\n if (mod.type === 'code') {\n for (const imported of mod.imports) {\n if (!(mod.fileName in this.dependsOn)) {\n this.dependsOn[mod.fileName] = [imported];\n } else {\n this.dependsOn[mod.fileName].push(imported);\n }\n\n if (!(imported in this.dependedBy)) {\n this.dependedBy[imported] = [mod.fileName];\n } else {\n this.dependedBy[imported].push(mod.fileName);\n }\n }\n }\n }\n }\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\nimport { DepsGraph } from \"./deps-graph\";\n\n/**\n * Get sub-bundle including only modules that are reachable from `names`.\n * @param opts.target by default, will target the browser modules. Can request\n * the server modules instead.\n */\nexport function getBundleSubset(\n bundle: LoaderBundleOutput,\n names: string[],\n opts?: {\n target?: \"browser\" | \"server\";\n }\n): LoaderBundleOutput {\n const namesSet = new Set(names);\n const target = opts?.target ?? \"browser\";\n\n const forBrowser = target === \"browser\";\n const graph = new DepsGraph(bundle, forBrowser);\n const deps = new Set(names.flatMap((name) => graph.getTransitiveDeps(name)));\n const isSubModule = (fileName: string) =>\n deps.has(fileName) || namesSet.has(fileName);\n const modules = bundle.modules[target];\n const filteredModules = modules.filter((mod) => isSubModule(mod.fileName));\n const filteredComponents = bundle.components.filter((c) =>\n isSubModule(c.entry)\n );\n\n const filteredComponentsIds = new Set(filteredComponents.map((c) => c.id));\n\n // Make deep copy of filteredIds to avoid mutating original bundle\n const filteredIds = Object.fromEntries(\n Object.entries(bundle.filteredIds).map(([k, v]) => [k, [...v]])\n );\n bundle.components\n .filter((c) => !filteredComponentsIds.has(c.id))\n .forEach((component) => {\n filteredIds[component.projectId] = filteredIds[component.projectId] ?? [];\n if (!filteredIds[component.projectId].includes(component.id)) {\n filteredIds[component.projectId].push(component.id);\n }\n });\n\n return {\n modules: {\n browser: forBrowser ? filteredModules : [],\n server: forBrowser ? [] : filteredModules,\n },\n components: filteredComponents,\n globalGroups: bundle.globalGroups,\n projects: bundle.projects,\n activeSplits: bundle.activeSplits,\n bundleKey: bundle.bundleKey ?? null,\n deferChunksByDefault: bundle.deferChunksByDefault,\n filteredIds,\n };\n}\n", "import { LoaderBundleOutput } from \"@plasmicapp/loader-fetcher\";\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport class Registry {\n private loadedModules: Record<string, any> = {};\n private registeredModules: Record<string, any> = {};\n private modules: Record<string, string> = {};\n\n constructor() {}\n\n register(name: string, module: any) {\n this.registeredModules[name] = module;\n }\n\n isEmpty() {\n return Object.keys(this.loadedModules).length === 0;\n }\n\n clear() {\n this.loadedModules = {};\n }\n\n getRegisteredModule(name: string) {\n return this.registeredModules[name];\n }\n\n hasModule(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return true;\n }\n\n if (name in this.modules) {\n return true;\n }\n\n if (\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n return true;\n }\n\n if (\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n return true;\n }\n\n return false;\n }\n\n load(name: string, opts: { forceOriginal?: boolean } = {}) {\n if (name in this.registeredModules && !opts.forceOriginal) {\n return this.registeredModules[name];\n }\n\n if (name in this.loadedModules) {\n return this.loadedModules[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PLASMIC_CHUNKS &&\n !!(globalThis as any).__PLASMIC_CHUNKS[name]\n ) {\n this.modules[name] = (globalThis as any).__PLASMIC_CHUNKS[name];\n }\n\n if (\n !this.modules[name] &&\n (globalThis as any).__PlasmicBundlePromises &&\n !!typeof (globalThis as any).__PlasmicBundlePromises[name] &&\n !!(globalThis as any).__PlasmicBundlePromises[name].then\n ) {\n throw (globalThis as any).__PlasmicBundlePromises[name];\n }\n\n if (!(name in this.modules)) {\n throw new Error(`Unknown module ${name}`);\n }\n\n const code = this.modules[name];\n\n const requireFn = isBrowser\n ? (dep: string) => {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n }\n : (dep: string) => {\n try {\n const normalizedDep = resolvePath(dep, name);\n return this.load(normalizedDep);\n } catch (err) {\n try {\n // Might be a nodeJs module such as tty\n return eval(\"require\")(dep);\n } catch {\n throw err;\n }\n }\n };\n\n let func;\n try {\n func = new Function(\"require\", \"exports\", code);\n } catch (err) {\n throw new Error(`PLASMIC: Failed to create function for ${name}: ${err}`);\n }\n const exports = {};\n this.loadedModules[name] = exports;\n try {\n func(requireFn, exports);\n } catch (err: any) {\n // Delete exports from loadedModules, so subsequent uses don't incorrectly\n // believe that this module has been loaded.\n delete this.loadedModules[name];\n if (!(err instanceof Error) && !!err && !!err.then) {\n // Re-throw the Promise\n throw err;\n }\n throw new Error(`PLASMIC: Failed to load ${name}: ${err}`);\n }\n return exports;\n }\n\n updateModules(bundle: LoaderBundleOutput) {\n let updated = false;\n for (const mod of isBrowser\n ? bundle.modules.browser\n : bundle.modules.server) {\n if (\n mod.type === \"code\" &&\n !!mod.code &&\n mod.code !== this.modules[mod.fileName]\n ) {\n this.modules[mod.fileName] = mod.code;\n if (!(globalThis as any).__PLASMIC_CHUNKS) {\n (globalThis as any).__PLASMIC_CHUNKS = {};\n }\n (globalThis as any).__PLASMIC_CHUNKS[mod.fileName] = mod.code;\n updated = true;\n }\n }\n\n if (updated) {\n // TODO: do something more efficient than tearing everything down?\n this.clear();\n }\n }\n}\n\nfunction resolvePath(path: string, from: string) {\n const fromParts = from.split(\"/\");\n const pathParts = path.split(\"/\");\n if (pathParts.length === 0) {\n return path;\n }\n\n if (pathParts[0] === \".\") {\n return [\n ...fromParts.slice(0, fromParts.length - 1),\n ...pathParts.slice(1),\n ].join(\"/\");\n } else if (pathParts[0] === \"..\") {\n let count = 0;\n for (const part of pathParts) {\n if (part === \"..\") {\n count += 1;\n } else {\n break;\n }\n }\n return [\n ...fromParts.slice(0, fromParts.length - count - 1),\n ...pathParts.slice(count),\n ].join(\"/\");\n } else {\n return path;\n }\n}\n", "import unfetch from \"@plasmicapp/isomorphic-unfetch\";\nimport {\n getDistinctId,\n getEnvMeta,\n getVariationCookieValues,\n getWindowMeta,\n rawSplitVariation,\n throttled,\n} from \"./utils\";\n\nexport interface TrackerOptions {\n projectIds: string[];\n host?: string;\n platform?: string;\n preview?: boolean;\n nativeFetch?: boolean;\n}\n\ntype EventType = \"$render\" | \"$fetch\" | \"$conversion\";\n\ninterface Event {\n event: EventType;\n properties: Record<string, any>;\n}\n\nexport interface TrackerRenderProperties {\n rootProjectId?: string;\n rootComponentId?: string;\n rootComponentName?: string;\n teamIds: string[];\n projectIds: string[];\n}\n\nexport interface TrackRenderOptions {\n renderCtx?: TrackerRenderProperties;\n variation?: Record<string, string>;\n}\n\nconst API_ENDPOINT = \"https://analytics.plasmic.app/capture\";\nconst API_PUBLIC_KEY = \"phc_BRvYTAoMoam9fDHfrIneF67KdtMJagLVVCM6ELNYd4n\";\nconst TRACKER_VERSION = 4;\n\nexport class PlasmicTracker {\n private eventQueue: Event[] = [];\n private fetch: typeof globalThis.fetch;\n\n constructor(private opts: TrackerOptions) {\n this.fetch = (\n opts.nativeFetch && globalThis.fetch ? globalThis.fetch : unfetch\n ).bind(globalThis);\n }\n\n public trackRender(opts?: TrackRenderOptions) {\n this.enqueue({\n event: \"$render\",\n properties: {\n ...this.getProperties(),\n ...(opts?.renderCtx ?? {}),\n ...rawSplitVariation(opts?.variation ?? {}),\n },\n });\n }\n\n public trackFetch() {\n this.enqueue({\n event: \"$fetch\",\n properties: this.getProperties(),\n });\n }\n\n public trackConversion(value: number = 0) {\n this.enqueue({\n event: \"$conversion\",\n properties: {\n ...this.getProperties(),\n value,\n },\n });\n }\n\n private getProperties() {\n return {\n distinct_id: getDistinctId(),\n ...getWindowMeta(),\n ...getEnvMeta(),\n ...this.getContextMeta(),\n ...getVariationCookieValues(),\n timestamp: Date.now() ?? +new Date(),\n trackerVersion: TRACKER_VERSION,\n };\n }\n\n private enqueue(event: Event) {\n this.eventQueue.push(event);\n\n this.sendEvents(\"fetch\");\n }\n\n private getContextMeta() {\n return {\n platform: this.opts.platform,\n preview: this.opts.preview,\n projectIds: this.opts.projectIds,\n };\n }\n\n private sendEvents = throttled(async (transport: \"fetch\" | \"beacon\") => {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue.length = 0;\n\n const body = {\n api_key: API_PUBLIC_KEY,\n batch: events,\n };\n\n try {\n const stringBody = JSON.stringify(body);\n if (transport === \"beacon\") {\n // Triggers warning: https://chromestatus.com/feature/5629709824032768\n window.navigator.sendBeacon(API_ENDPOINT, stringBody);\n } else {\n this.fetch(API_ENDPOINT, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n },\n body: stringBody,\n })\n .then(() => {})\n .catch(() => {});\n }\n } catch (err) {}\n });\n}\n", "const isBrowser =\n typeof window !== \"undefined\" &&\n window != null &&\n typeof window.document !== \"undefined\";\n\nexport function getPlasmicCookieValues() {\n if (!isBrowser) {\n return {};\n }\n return Object.fromEntries(\n document.cookie\n .split(\"; \")\n .filter((cookie) => cookie.includes(\"plasmic:\"))\n .map((cookie) => cookie.split(\"=\"))\n .map(([key, value]) => [key.split(\":\")[1], value])\n );\n}\n\nexport function getVariationCookieValues() {\n const cookies = getPlasmicCookieValues();\n return Object.fromEntries(\n Object.keys(cookies)\n .map((key) => [key.split(\".\")[1], cookies[key]])\n .filter((val) => !!val[0])\n );\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID() {\n // Public Domain/MIT\n var d = new Date().getTime(); //Timestamp\n var d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1000) ||\n 0; //Time in microseconds since page-load or 0 if unsupported\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = Math.random() * 16; //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\nexport function getDistinctId(): string {\n if (!isBrowser) {\n return \"LOADER-SERVER\";\n }\n // Don't generate a new UUID per event so that we don't consider\n // each event from a different person which uses more storage\n // return generateUUID();\n return \"LOADER-CLIENT\";\n}\n\nfunction getCampaignParams() {\n const { location } = window;\n const params: Record<string, string> = {};\n try {\n const url = new URL(location.href);\n const CAMPAIGN_KEYWORDS = [\n \"utm_source\",\n \"utm_medium\",\n \"utm_campaign\",\n \"utm_content\",\n \"utm_term\",\n \"gclid\",\n ];\n CAMPAIGN_KEYWORDS.forEach((keyword) => {\n const value = url.searchParams.get(keyword);\n if (value) {\n params[keyword] = value;\n }\n });\n } catch (err) {}\n return params;\n}\n\nfunction getLocationMeta() {\n const { location } = window;\n const { referrer } = document;\n return {\n url: location.href,\n host: location.host,\n pathname: location.pathname,\n referrer,\n ...getCampaignParams(),\n };\n}\n\nfunction getScreenMeta() {\n const { screen } = window;\n return {\n screen_height: screen.height,\n screen_width: screen.width,\n viewport_height: window.innerHeight,\n viewport_width: window.innerWidth,\n };\n}\n\nfunction getOS(userAgent: string) {\n if (/Windows/i.test(userAgent)) {\n if (/Phone/.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return \"Windows Phone\";\n }\n return \"Windows\";\n } else if (/(iPhone|iPad|iPod)/.test(userAgent)) {\n return \"iOS\";\n } else if (/Android/.test(userAgent)) {\n return \"Android\";\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return \"BlackBerry\";\n } else if (/Mac/i.test(userAgent)) {\n return \"Mac OS X\";\n } else if (/Linux/.test(userAgent)) {\n return \"Linux\";\n } else if (/CrOS/.test(userAgent)) {\n return \"Chrome OS\";\n } else {\n return \"\";\n }\n}\n\nfunction getDeviceInfo(userAgent: string) {\n const PATTERNS = [\n {\n device: \"iPhone\",\n patterns: [/iPhone/],\n },\n {\n device: \"iPad\",\n patterns: [/iPad/],\n },\n {\n device: \"iPod Touch\",\n patterns: [/iPod/],\n },\n {\n device: \"Windows Phone\",\n patterns: [/Windows Phone/i, /WPDesktop/],\n },\n {\n device: \"Android\",\n patterns: [/Android/],\n },\n ];\n const match = PATTERNS.find((pattern) =>\n pattern.patterns.some((expr) => expr.test(userAgent))\n );\n const device = match?.device;\n return {\n device: device ?? \"\",\n deviceType: device ? \"Mobile\" : \"Desktop\",\n os: getOS(userAgent),\n };\n}\n\nfunction getUserAgentMeta() {\n const { navigator } = window;\n const { userAgent } = navigator;\n return {\n ...getDeviceInfo(userAgent),\n };\n}\n\nexport function getWindowMeta() {\n if (!isBrowser) {\n return {};\n }\n return {\n ...getLocationMeta(),\n ...getScreenMeta(),\n ...getUserAgentMeta(),\n };\n}\n\nconst isProduction = process.env.NODE_ENV === \"production\";\n\nexport function getEnvMeta() {\n return {\n isBrowser,\n isProduction,\n };\n}\n\nexport function rawSplitVariation(variation: Record<string, string>) {\n const rawVariations: Record<string, string> = {};\n Object.keys(variation).forEach((variationKey) => {\n const [, splitId] = variationKey.split(\".\");\n if (splitId) {\n rawVariations[splitId] = variation[variationKey];\n }\n });\n return rawVariations;\n}\n\nconst POLL_TIME = 5000;\n\nexport function throttled<T>(func: (param: T) => Promise<void>) {\n let timerId: number | undefined = undefined;\n return (param: T) => {\n if (timerId) {\n // will already be taken care of next time we run\n return;\n }\n\n if (isBrowser) {\n timerId = window.requestAnimationFrame(() => {\n timerId = undefined;\n func(param);\n });\n } else {\n timerId = setTimeout(() => {\n timerId = undefined;\n func(param);\n }, POLL_TIME) as any;\n }\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["name", "dep", "opts", "name", "_a", "name", "module", "opts", "dep", "err", "isBrowser", "isBrowser", "err", "func", "opts", "err", "unfetch"]
7
7
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.130",
2
+ "version": "1.0.132",
3
3
  "license": "MIT",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.js",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@plasmicapp/isomorphic-unfetch": "1.0.3",
45
- "@plasmicapp/loader-fetcher": "1.0.51"
45
+ "@plasmicapp/loader-fetcher": "1.0.52"
46
46
  },
47
- "gitHead": "933d82fb98100cf0d00ccb97d60bb31c0bd82bcb"
47
+ "gitHead": "572a5a7ad5d2cb32d12ac48b90074a73b006771b"
48
48
  }