File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /**
2+ * Audience web SDK CDN entry point — self-contained IIFE bundle.
3+ * Assigns exports to window globals for script-tag usage:
4+ * window.ImmutableWebSDK
5+ * window.AudienceEvent
6+ * window.IdentityProvider
7+ */
8+ import { ImmutableWebSDK , AudienceEvent , IdentityProvider } from './index' ;
9+
10+ if ( typeof window !== 'undefined' ) {
11+ ( window as any ) . ImmutableWebSDK = ImmutableWebSDK ;
12+ ( window as any ) . AudienceEvent = AudienceEvent ;
13+ ( window as any ) . IdentityProvider = IdentityProvider ;
14+ }
15+
16+ export { ImmutableWebSDK , AudienceEvent , IdentityProvider } ;
17+ export type {
18+ EventParamMap ,
19+ Identity ,
20+ WebSDKConfig ,
21+ ConsentLevel ,
22+ UserTraits ,
23+ Environment ,
24+ } from './index' ;
Original file line number Diff line number Diff line change 1+ // @ts -check
2+ import { defineConfig } from 'tsup' ;
3+ import { replace } from 'esbuild-plugin-replace' ;
4+ import pkg from './package.json' assert { type : 'json ' } ;
5+
6+ /**
7+ * Audience web SDK CDN bundle — self-contained IIFE exposing window.ImmutableWebSDK.
8+ * All dependencies (including @imtbl/audience) are inlined.
9+ *
10+ * Output: dist/cdn/imtbl-web.js
11+ * Usage: <script src="https://cdn.immutable.com/web-sdk/v1/imtbl-web.js"></script>
12+ * <script>
13+ * var sdk = window.ImmutableWebSDK.init({ ... });
14+ * sdk.track(window.AudienceEvent.Purchase, { currency: 'USD', value: 9.99 });
15+ * </script>
16+ */
17+ export default defineConfig ( {
18+ entry : { 'imtbl-web' : 'src/cdn.ts' } ,
19+ outDir : 'dist/cdn' ,
20+ format : 'iife' ,
21+ platform : 'browser' ,
22+ target : 'es2020' ,
23+ minify : true ,
24+ bundle : true ,
25+ treeshake : true ,
26+ noExternal : [ / .* / ] ,
27+ esbuildPlugins : [
28+ replace ( {
29+ '__SDK_VERSION__' : pkg . version === '0.0.0' ? '0.1.0' : pkg . version ,
30+ } ) ,
31+ ] ,
32+ } ) ;
You can’t perform that action at this time.
0 commit comments