@jwiedeman/gtm-kit-astro 1.1.3 → 1.1.4
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.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var gtmKit = require('@jwiedeman/gtm-kit');
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var C=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!=null)),w=t=>{let{containers:e,host:o=gtmKit.DEFAULT_GTM_HOST,defaultQueryParams:c,scriptAttributes:i,dataLayerName:g=gtmKit.DEFAULT_DATA_LAYER_NAME}=t,n=gtmKit.normalizeContainers(e);if(!n.length)throw new Error("At least one GTM container is required.");return n.map(r=>{if(!r.id)throw new Error("Container id is required.");let p={...c,...r.queryParams},u=gtmKit.buildGtmScriptUrl(o,r.id,p,g),{async:s,defer:d,nonce:a,...l}=i!=null?i:{};return {id:r.id,src:u,async:s!=null?s:!0,defer:d,nonce:a,attributes:C(l)}})},E=t=>{let{containers:e,host:o=gtmKit.DEFAULT_GTM_HOST,defaultQueryParams:c,iframeAttributes:i,dataLayerName:g=gtmKit.DEFAULT_DATA_LAYER_NAME}=t,n=gtmKit.normalizeContainers(e);if(!n.length)throw new Error("At least one GTM container is required.");return n.map(r=>{if(!r.id)throw new Error("Container id is required.");let p={...c,...r.queryParams},u=gtmKit.buildGtmNoscriptUrl(o,r.id,p,g),s={...gtmKit.DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,...i},d=Object.fromEntries(Object.entries(s).filter(([,a])=>a!=null).map(([a,l])=>[a,String(l)]));return {id:r.id,src:u,attributes:d}})},N=(t=gtmKit.DEFAULT_DATA_LAYER_NAME)=>`window.${t}=window.${t}||[];`;
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, 'DEFAULT_GTM_HOST', {
|
|
8
8
|
enumerable: true,
|
|
@@ -24,8 +24,8 @@ Object.defineProperty(exports, 'normalizeContainers', {
|
|
|
24
24
|
enumerable: true,
|
|
25
25
|
get: function () { return gtmKit.normalizeContainers; }
|
|
26
26
|
});
|
|
27
|
-
exports.generateDataLayerScript =
|
|
28
|
-
exports.generateNoscriptTags =
|
|
29
|
-
exports.generateScriptTags =
|
|
27
|
+
exports.generateDataLayerScript = N;
|
|
28
|
+
exports.generateNoscriptTags = E;
|
|
29
|
+
exports.generateScriptTags = w;
|
|
30
30
|
//# sourceMappingURL=out.js.map
|
|
31
31
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/helpers.ts","../../src/components/index.ts"],"names":["DEFAULT_DATA_LAYER_NAME","DEFAULT_GTM_HOST","normalizeContainer","normalizeContainers","buildGtmScriptUrl","buildGtmNoscriptUrl","generateScriptTags","config","containers","host","defaultQueryParams","scriptAttributes","dataLayerName","normalized","container","params","src","asyncAttr","defer","nonce","restAttributes","
|
|
1
|
+
{"version":3,"sources":["../../src/components/helpers.ts","../../src/components/index.ts"],"names":["DEFAULT_DATA_LAYER_NAME","DEFAULT_GTM_HOST","DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES","normalizeContainer","normalizeContainers","buildGtmScriptUrl","buildGtmNoscriptUrl","filterNullish","obj","v","generateScriptTags","config","containers","host","defaultQueryParams","scriptAttributes","dataLayerName","normalized","container","params","src","asyncAttr","defer","nonce","restAttributes","generateNoscriptTags","iframeAttributes","mergedAttributes","attributes","k","generateDataLayerScript"],"mappings":"AAAA,OACE,2BAAAA,EACA,oBAAAC,EACA,sCAAAC,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,uBAAAC,MACK,qBAcP,IAAMC,EAAoDC,GACxD,OAAO,YAAY,OAAO,QAAQA,CAAG,EAAE,OAAO,CAAC,CAAC,CAAEC,CAAC,IAAMA,GAAK,IAAI,CAAC,EAuBxDC,EAAsBC,GAA6C,CAC9E,GAAM,CACJ,WAAAC,EACA,KAAAC,EAAOZ,EACP,mBAAAa,EACA,iBAAAC,EACA,cAAAC,EAAgBhB,CAClB,EAAIW,EAEEM,EAAab,EAAoBQ,CAAU,EAEjD,GAAI,CAACK,EAAW,OACd,MAAM,IAAI,MAAM,yCAAyC,EAG3D,OAAOA,EAAW,IAAKC,GAAc,CACnC,GAAI,CAACA,EAAU,GACb,MAAM,IAAI,MAAM,2BAA2B,EAG7C,IAAMC,EAAS,CACb,GAAGL,EACH,GAAGI,EAAU,WACf,EAEME,EAAMf,EAAkBQ,EAAMK,EAAU,GAAIC,EAAQH,CAAa,EACjE,CAAE,MAAOK,EAAW,MAAAC,EAAO,MAAAC,EAAO,GAAGC,CAAe,EAAIT,GAAA,KAAAA,EAAoB,CAAC,EAEnF,MAAO,CACL,GAAIG,EAAU,GACd,IAAAE,EACA,MAAOC,GAAA,KAAAA,EAAa,GACpB,MAAAC,EACA,MAAAC,EACA,WAAYhB,EAAciB,CAAc,CAC1C,CACF,CAAC,CACH,EAYaC,EACXd,GAGsB,CACtB,GAAM,CACJ,WAAAC,EACA,KAAAC,EAAOZ,EACP,mBAAAa,EACA,iBAAAY,EACA,cAAAV,EAAgBhB,CAClB,EAAIW,EAEEM,EAAab,EAAoBQ,CAAU,EAEjD,GAAI,CAACK,EAAW,OACd,MAAM,IAAI,MAAM,yCAAyC,EAG3D,OAAOA,EAAW,IAAKC,GAAc,CACnC,GAAI,CAACA,EAAU,GACb,MAAM,IAAI,MAAM,2BAA2B,EAG7C,IAAMC,EAAS,CACb,GAAGL,EACH,GAAGI,EAAU,WACf,EAEME,EAAMd,EAAoBO,EAAMK,EAAU,GAAIC,EAAQH,CAAa,EACnEW,EAAmB,CACvB,GAAGzB,EACH,GAAGwB,CACL,EAGME,EAAa,OAAO,YACxB,OAAO,QAAQD,CAAgB,EAC5B,OAAO,CAAC,CAAC,CAAElB,CAAC,IAAMA,GAAK,IAAI,EAC3B,IAAI,CAAC,CAACoB,EAAGpB,CAAC,IAAM,CAACoB,EAAG,OAAOpB,CAAC,CAAC,CAAC,CACnC,EAEA,MAAO,CACL,GAAIS,EAAU,GACd,IAAAE,EACA,WAAAQ,CACF,CACF,CAAC,CACH,EAKaE,EAA0B,CAACd,EAAwBhB,IACvD,UAAUgB,CAAa,WAAWA,CAAa,QClJxD,OACE,uBAAAZ,EACA,sBAAAD,EACqB,qBAArBE,EACuB,uBAAvBC,MACK","sourcesContent":["import {\n DEFAULT_DATA_LAYER_NAME,\n DEFAULT_GTM_HOST,\n DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n normalizeContainer,\n normalizeContainers,\n buildGtmScriptUrl,\n buildGtmNoscriptUrl\n} from '@jwiedeman/gtm-kit';\nimport type { ContainerConfigInput, ScriptAttributes } from '@jwiedeman/gtm-kit';\n\n// Re-export for convenience\nexport {\n DEFAULT_GTM_HOST,\n DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n normalizeContainer,\n normalizeContainers,\n buildGtmScriptUrl as buildScriptUrl,\n buildGtmNoscriptUrl as buildNoscriptUrl\n};\n\n/** Filter out null/undefined values from an object */\nconst filterNullish = <T extends Record<string, unknown>>(obj: T): T =>\n Object.fromEntries(Object.entries(obj).filter(([, v]) => v != null)) as T;\n\nexport interface GtmScriptConfig {\n containers: ContainerConfigInput | ContainerConfigInput[];\n host?: string;\n defaultQueryParams?: Record<string, string | number | boolean>;\n scriptAttributes?: ScriptAttributes;\n dataLayerName?: string;\n}\n\nexport interface ScriptTagData {\n id: string;\n src: string;\n async: boolean;\n defer?: boolean;\n nonce?: string;\n attributes: Record<string, string | boolean>;\n}\n\n/**\n * Generate script tag data for GTM containers.\n * Used by Astro components to render script tags.\n */\nexport const generateScriptTags = (config: GtmScriptConfig): ScriptTagData[] => {\n const {\n containers,\n host = DEFAULT_GTM_HOST,\n defaultQueryParams,\n scriptAttributes,\n dataLayerName = DEFAULT_DATA_LAYER_NAME\n } = config;\n\n const normalized = normalizeContainers(containers);\n\n if (!normalized.length) {\n throw new Error('At least one GTM container is required.');\n }\n\n return normalized.map((container) => {\n if (!container.id) {\n throw new Error('Container id is required.');\n }\n\n const params = {\n ...defaultQueryParams,\n ...container.queryParams\n };\n\n const src = buildGtmScriptUrl(host, container.id, params, dataLayerName);\n const { async: asyncAttr, defer, nonce, ...restAttributes } = scriptAttributes ?? {};\n\n return {\n id: container.id,\n src,\n async: asyncAttr ?? true,\n defer,\n nonce,\n attributes: filterNullish(restAttributes) as Record<string, string | boolean>\n };\n });\n};\n\nexport interface NoscriptTagData {\n id: string;\n src: string;\n attributes: Record<string, string>;\n}\n\n/**\n * Generate noscript iframe data for GTM containers.\n * Used by Astro components to render noscript fallbacks.\n */\nexport const generateNoscriptTags = (\n config: Omit<GtmScriptConfig, 'scriptAttributes'> & {\n iframeAttributes?: Record<string, string | number | boolean>;\n }\n): NoscriptTagData[] => {\n const {\n containers,\n host = DEFAULT_GTM_HOST,\n defaultQueryParams,\n iframeAttributes,\n dataLayerName = DEFAULT_DATA_LAYER_NAME\n } = config;\n\n const normalized = normalizeContainers(containers);\n\n if (!normalized.length) {\n throw new Error('At least one GTM container is required.');\n }\n\n return normalized.map((container) => {\n if (!container.id) {\n throw new Error('Container id is required.');\n }\n\n const params = {\n ...defaultQueryParams,\n ...container.queryParams\n };\n\n const src = buildGtmNoscriptUrl(host, container.id, params, dataLayerName);\n const mergedAttributes = {\n ...DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n ...iframeAttributes\n };\n\n // Filter nullish values and convert to strings\n const attributes = Object.fromEntries(\n Object.entries(mergedAttributes)\n .filter(([, v]) => v != null)\n .map(([k, v]) => [k, String(v)])\n ) as Record<string, string>;\n\n return {\n id: container.id,\n src,\n attributes\n };\n });\n};\n\n/**\n * Generate the dataLayer initialization script.\n */\nexport const generateDataLayerScript = (dataLayerName: string = DEFAULT_DATA_LAYER_NAME): string => {\n return `window.${dataLayerName}=window.${dataLayerName}||[];`;\n};\n","export { generateScriptTags, generateNoscriptTags, generateDataLayerScript, DEFAULT_GTM_HOST } from './helpers';\n\n// Re-export URL utilities from core for backwards compatibility\nexport {\n normalizeContainers,\n normalizeContainer,\n buildGtmScriptUrl as buildScriptUrl,\n buildGtmNoscriptUrl as buildNoscriptUrl\n} from '@jwiedeman/gtm-kit';\n\nexport type { GtmScriptConfig, ScriptTagData, NoscriptTagData } from './helpers';\n"]}
|
package/dist/components/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { normalizeContainers, buildGtmScriptUrl, buildGtmNoscriptUrl, DEFAULT_DATA_LAYER_NAME, DEFAULT_GTM_HOST } from '@jwiedeman/gtm-kit';
|
|
1
|
+
import { normalizeContainers, buildGtmScriptUrl, buildGtmNoscriptUrl, DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES, DEFAULT_DATA_LAYER_NAME, DEFAULT_GTM_HOST } from '@jwiedeman/gtm-kit';
|
|
2
2
|
export { DEFAULT_GTM_HOST, buildGtmNoscriptUrl as buildNoscriptUrl, buildGtmScriptUrl as buildScriptUrl, normalizeContainer, normalizeContainers } from '@jwiedeman/gtm-kit';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var C=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!=null)),w=t=>{let{containers:e,host:o=DEFAULT_GTM_HOST,defaultQueryParams:c,scriptAttributes:i,dataLayerName:g=DEFAULT_DATA_LAYER_NAME}=t,n=normalizeContainers(e);if(!n.length)throw new Error("At least one GTM container is required.");return n.map(r=>{if(!r.id)throw new Error("Container id is required.");let p={...c,...r.queryParams},u=buildGtmScriptUrl(o,r.id,p,g),{async:s,defer:d,nonce:a,...l}=i!=null?i:{};return {id:r.id,src:u,async:s!=null?s:!0,defer:d,nonce:a,attributes:C(l)}})},E=t=>{let{containers:e,host:o=DEFAULT_GTM_HOST,defaultQueryParams:c,iframeAttributes:i,dataLayerName:g=DEFAULT_DATA_LAYER_NAME}=t,n=normalizeContainers(e);if(!n.length)throw new Error("At least one GTM container is required.");return n.map(r=>{if(!r.id)throw new Error("Container id is required.");let p={...c,...r.queryParams},u=buildGtmNoscriptUrl(o,r.id,p,g),s={...DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,...i},d=Object.fromEntries(Object.entries(s).filter(([,a])=>a!=null).map(([a,l])=>[a,String(l)]));return {id:r.id,src:u,attributes:d}})},N=(t=DEFAULT_DATA_LAYER_NAME)=>`window.${t}=window.${t}||[];`;
|
|
5
5
|
|
|
6
|
-
export {
|
|
6
|
+
export { N as generateDataLayerScript, E as generateNoscriptTags, w as generateScriptTags };
|
|
7
7
|
//# sourceMappingURL=out.js.map
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/helpers.ts","../../src/components/index.ts"],"names":["DEFAULT_DATA_LAYER_NAME","DEFAULT_GTM_HOST","normalizeContainer","normalizeContainers","buildGtmScriptUrl","buildGtmNoscriptUrl","generateScriptTags","config","containers","host","defaultQueryParams","scriptAttributes","dataLayerName","normalized","container","params","src","asyncAttr","defer","nonce","restAttributes","
|
|
1
|
+
{"version":3,"sources":["../../src/components/helpers.ts","../../src/components/index.ts"],"names":["DEFAULT_DATA_LAYER_NAME","DEFAULT_GTM_HOST","DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES","normalizeContainer","normalizeContainers","buildGtmScriptUrl","buildGtmNoscriptUrl","filterNullish","obj","v","generateScriptTags","config","containers","host","defaultQueryParams","scriptAttributes","dataLayerName","normalized","container","params","src","asyncAttr","defer","nonce","restAttributes","generateNoscriptTags","iframeAttributes","mergedAttributes","attributes","k","generateDataLayerScript"],"mappings":"AAAA,OACE,2BAAAA,EACA,oBAAAC,EACA,sCAAAC,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,uBAAAC,MACK,qBAcP,IAAMC,EAAoDC,GACxD,OAAO,YAAY,OAAO,QAAQA,CAAG,EAAE,OAAO,CAAC,CAAC,CAAEC,CAAC,IAAMA,GAAK,IAAI,CAAC,EAuBxDC,EAAsBC,GAA6C,CAC9E,GAAM,CACJ,WAAAC,EACA,KAAAC,EAAOZ,EACP,mBAAAa,EACA,iBAAAC,EACA,cAAAC,EAAgBhB,CAClB,EAAIW,EAEEM,EAAab,EAAoBQ,CAAU,EAEjD,GAAI,CAACK,EAAW,OACd,MAAM,IAAI,MAAM,yCAAyC,EAG3D,OAAOA,EAAW,IAAKC,GAAc,CACnC,GAAI,CAACA,EAAU,GACb,MAAM,IAAI,MAAM,2BAA2B,EAG7C,IAAMC,EAAS,CACb,GAAGL,EACH,GAAGI,EAAU,WACf,EAEME,EAAMf,EAAkBQ,EAAMK,EAAU,GAAIC,EAAQH,CAAa,EACjE,CAAE,MAAOK,EAAW,MAAAC,EAAO,MAAAC,EAAO,GAAGC,CAAe,EAAIT,GAAA,KAAAA,EAAoB,CAAC,EAEnF,MAAO,CACL,GAAIG,EAAU,GACd,IAAAE,EACA,MAAOC,GAAA,KAAAA,EAAa,GACpB,MAAAC,EACA,MAAAC,EACA,WAAYhB,EAAciB,CAAc,CAC1C,CACF,CAAC,CACH,EAYaC,EACXd,GAGsB,CACtB,GAAM,CACJ,WAAAC,EACA,KAAAC,EAAOZ,EACP,mBAAAa,EACA,iBAAAY,EACA,cAAAV,EAAgBhB,CAClB,EAAIW,EAEEM,EAAab,EAAoBQ,CAAU,EAEjD,GAAI,CAACK,EAAW,OACd,MAAM,IAAI,MAAM,yCAAyC,EAG3D,OAAOA,EAAW,IAAKC,GAAc,CACnC,GAAI,CAACA,EAAU,GACb,MAAM,IAAI,MAAM,2BAA2B,EAG7C,IAAMC,EAAS,CACb,GAAGL,EACH,GAAGI,EAAU,WACf,EAEME,EAAMd,EAAoBO,EAAMK,EAAU,GAAIC,EAAQH,CAAa,EACnEW,EAAmB,CACvB,GAAGzB,EACH,GAAGwB,CACL,EAGME,EAAa,OAAO,YACxB,OAAO,QAAQD,CAAgB,EAC5B,OAAO,CAAC,CAAC,CAAElB,CAAC,IAAMA,GAAK,IAAI,EAC3B,IAAI,CAAC,CAACoB,EAAGpB,CAAC,IAAM,CAACoB,EAAG,OAAOpB,CAAC,CAAC,CAAC,CACnC,EAEA,MAAO,CACL,GAAIS,EAAU,GACd,IAAAE,EACA,WAAAQ,CACF,CACF,CAAC,CACH,EAKaE,EAA0B,CAACd,EAAwBhB,IACvD,UAAUgB,CAAa,WAAWA,CAAa,QClJxD,OACE,uBAAAZ,EACA,sBAAAD,EACqB,qBAArBE,EACuB,uBAAvBC,MACK","sourcesContent":["import {\n DEFAULT_DATA_LAYER_NAME,\n DEFAULT_GTM_HOST,\n DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n normalizeContainer,\n normalizeContainers,\n buildGtmScriptUrl,\n buildGtmNoscriptUrl\n} from '@jwiedeman/gtm-kit';\nimport type { ContainerConfigInput, ScriptAttributes } from '@jwiedeman/gtm-kit';\n\n// Re-export for convenience\nexport {\n DEFAULT_GTM_HOST,\n DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n normalizeContainer,\n normalizeContainers,\n buildGtmScriptUrl as buildScriptUrl,\n buildGtmNoscriptUrl as buildNoscriptUrl\n};\n\n/** Filter out null/undefined values from an object */\nconst filterNullish = <T extends Record<string, unknown>>(obj: T): T =>\n Object.fromEntries(Object.entries(obj).filter(([, v]) => v != null)) as T;\n\nexport interface GtmScriptConfig {\n containers: ContainerConfigInput | ContainerConfigInput[];\n host?: string;\n defaultQueryParams?: Record<string, string | number | boolean>;\n scriptAttributes?: ScriptAttributes;\n dataLayerName?: string;\n}\n\nexport interface ScriptTagData {\n id: string;\n src: string;\n async: boolean;\n defer?: boolean;\n nonce?: string;\n attributes: Record<string, string | boolean>;\n}\n\n/**\n * Generate script tag data for GTM containers.\n * Used by Astro components to render script tags.\n */\nexport const generateScriptTags = (config: GtmScriptConfig): ScriptTagData[] => {\n const {\n containers,\n host = DEFAULT_GTM_HOST,\n defaultQueryParams,\n scriptAttributes,\n dataLayerName = DEFAULT_DATA_LAYER_NAME\n } = config;\n\n const normalized = normalizeContainers(containers);\n\n if (!normalized.length) {\n throw new Error('At least one GTM container is required.');\n }\n\n return normalized.map((container) => {\n if (!container.id) {\n throw new Error('Container id is required.');\n }\n\n const params = {\n ...defaultQueryParams,\n ...container.queryParams\n };\n\n const src = buildGtmScriptUrl(host, container.id, params, dataLayerName);\n const { async: asyncAttr, defer, nonce, ...restAttributes } = scriptAttributes ?? {};\n\n return {\n id: container.id,\n src,\n async: asyncAttr ?? true,\n defer,\n nonce,\n attributes: filterNullish(restAttributes) as Record<string, string | boolean>\n };\n });\n};\n\nexport interface NoscriptTagData {\n id: string;\n src: string;\n attributes: Record<string, string>;\n}\n\n/**\n * Generate noscript iframe data for GTM containers.\n * Used by Astro components to render noscript fallbacks.\n */\nexport const generateNoscriptTags = (\n config: Omit<GtmScriptConfig, 'scriptAttributes'> & {\n iframeAttributes?: Record<string, string | number | boolean>;\n }\n): NoscriptTagData[] => {\n const {\n containers,\n host = DEFAULT_GTM_HOST,\n defaultQueryParams,\n iframeAttributes,\n dataLayerName = DEFAULT_DATA_LAYER_NAME\n } = config;\n\n const normalized = normalizeContainers(containers);\n\n if (!normalized.length) {\n throw new Error('At least one GTM container is required.');\n }\n\n return normalized.map((container) => {\n if (!container.id) {\n throw new Error('Container id is required.');\n }\n\n const params = {\n ...defaultQueryParams,\n ...container.queryParams\n };\n\n const src = buildGtmNoscriptUrl(host, container.id, params, dataLayerName);\n const mergedAttributes = {\n ...DEFAULT_NOSCRIPT_IFRAME_ATTRIBUTES,\n ...iframeAttributes\n };\n\n // Filter nullish values and convert to strings\n const attributes = Object.fromEntries(\n Object.entries(mergedAttributes)\n .filter(([, v]) => v != null)\n .map(([k, v]) => [k, String(v)])\n ) as Record<string, string>;\n\n return {\n id: container.id,\n src,\n attributes\n };\n });\n};\n\n/**\n * Generate the dataLayer initialization script.\n */\nexport const generateDataLayerScript = (dataLayerName: string = DEFAULT_DATA_LAYER_NAME): string => {\n return `window.${dataLayerName}=window.${dataLayerName}||[];`;\n};\n","export { generateScriptTags, generateNoscriptTags, generateDataLayerScript, DEFAULT_GTM_HOST } from './helpers';\n\n// Re-export URL utilities from core for backwards compatibility\nexport {\n normalizeContainers,\n normalizeContainer,\n buildGtmScriptUrl as buildScriptUrl,\n buildGtmNoscriptUrl as buildNoscriptUrl\n} from '@jwiedeman/gtm-kit';\n\nexport type { GtmScriptConfig, ScriptTagData, NoscriptTagData } from './helpers';\n"]}
|