UNPKG

@segment/analytics-next

Version:

Analytics Next (aka Analytics 2.0) is the latest version of Segment’s JavaScript SDK - enabling you to send your data to any tool without having to learn, test, or use a new API every time.

316 lines (311 loc) 6.61 kB
import { AnalyticsBrowserSettings } from '../..' import type { RemotePlugin } from '../../plugins/remote-loader' import { mockIntegrationName } from './classic-destination' type CDNSettings = NonNullable<AnalyticsBrowserSettings['cdnSettings']> export const cdnSettingsKitchenSink: CDNSettings = { integrations: { [mockIntegrationName]: {}, 'Customer.io': { siteId: 'abc123foofixture', // overwritten versionSettings: { version: '2.2.3', componentTypes: ['browser', 'server'], }, type: 'browser', bundlingStatus: 'bundled', }, FullStory: { debug: false, org: 'se', trackAllPages: false, trackCategorizedPages: false, trackNamedPages: false, versionSettings: { version: '3.0.1', componentTypes: ['browser'], }, type: 'browser', bundlingStatus: 'bundled', }, 'Google Analytics': { anonymizeIp: false, classic: false, contentGroupings: {}, dimensions: {}, domain: '', doubleClick: false, enableServerIdentify: false, enhancedEcommerce: false, enhancedLinkAttribution: false, identifyCategory: '', identifyEventName: '', ignoredReferrers: [], includeSearch: false, metrics: {}, mobileTrackingId: '', nameTracker: false, nonInteraction: false, optimize: '', protocolMappings: {}, reportUncaughtExceptions: false, resetCustomDimensionsOnPage: [], sampleRate: 100, sendUserId: false, setAllMappedProps: true, siteSpeedSampleRate: 1, trackCategorizedPages: true, trackNamedPages: true, trackingId: 'UA-970334309-1', useGoogleAmpClientId: false, versionSettings: { version: '2.18.5', componentTypes: ['browser', 'ios', 'android', 'server'], }, type: 'browser', bundlingStatus: 'unbundled', }, 'Segment.io': { apiKey: 'D8frB7upBChqDN9PMWksNvZYDaKJIYo6', unbundledIntegrations: ['Google Analytics'], addBundledMetadata: true, maybeBundledConfigIds: { 'Customer.io': ['60104dde8882b933c2006d1f'], FullStory: ['6010547f5a1d4d46c418d68e'], }, versionSettings: { version: '4.4.7', componentTypes: ['browser'], }, }, }, plan: { track: { __default: { enabled: true, integrations: {}, }, }, identify: { __default: { enabled: true, }, address: { enabled: true, }, avatar: { enabled: true, }, bs: { enabled: true, }, bsAdjective: { enabled: true, }, bsBuzz: { enabled: true, }, bsNoun: { enabled: true, }, catchPhrase: { enabled: true, }, catchPhraseAdjective: { enabled: true, }, catchPhraseDescriptor: { enabled: true, }, catchPhraseNoun: { enabled: true, }, color: { enabled: true, }, company: { enabled: true, }, companyName: { enabled: true, }, companySuffix: { enabled: true, }, custom: { enabled: true, }, department: { enabled: true, }, domainName: { enabled: true, }, domainSuffix: { enabled: true, }, domainWord: { enabled: true, }, email: { enabled: true, }, exampleEmail: { enabled: true, }, findName: { enabled: true, }, firstName: { enabled: true, }, gender: { enabled: true, }, id: { enabled: true, }, ip: { enabled: true, }, ipv6: { enabled: true, }, jobArea: { enabled: true, }, jobDescriptor: { enabled: true, }, jobTitle: { enabled: true, }, jobType: { enabled: true, }, lastName: { enabled: true, }, mac: { enabled: true, }, name: { enabled: true, }, person: { enabled: true, }, phone: { enabled: true, }, prefix: { enabled: true, }, price: { enabled: true, }, product: { enabled: true, }, productAdjective: { enabled: true, }, productDescription: { enabled: true, }, productMaterial: { enabled: true, }, productName: { enabled: true, }, protocol: { enabled: true, }, suffix: { enabled: true, }, suffixes: { enabled: true, }, title: { enabled: true, }, url: { enabled: true, }, userAgent: { enabled: true, }, userName: { enabled: true, }, username: { enabled: true, }, website: { enabled: true, }, }, group: { __default: { enabled: true, }, coolKids: { enabled: true, }, }, }, middlewareSettings: { routingRules: [ { matchers: [ { ir: '["and",["=","event",{"value":"munanyo"}],["and",["=","type",{"value":"track"}],["=","properties.referrer",{"value":"munyaaaanyo"}]]]', type: 'fql', config: { expr: 'event = "munanyo" and type = "track" and properties.referrer = "munyaaaanyo"', }, }, ], scope: 'destinations', target_type: 'workspace::project::destination::config', transformers: [ [ { type: 'drop_properties', config: { drop: { properties: ['url'], }, }, }, ], ], destinationName: 'Google Analytics', }, ], }, enabledMiddleware: {}, metrics: { sampleRate: 0.1, }, legacyVideoPluginsEnabled: true, remotePlugins: [], } export const cdnSettingsMinimal: CDNSettings = { integrations: { [mockIntegrationName]: {}, }, } export const createRemotePlugin = ( name: string, creationName?: string ): RemotePlugin => { return { name, url: 'https://foo.com/v1/projects/abc/plugins/def.js', creationName: creationName || name, libraryName: name, settings: {}, } }