diff --git a/rollup.tracker.config.mjs b/rollup.tracker.config.mjs index 6a692efa..05df2879 100644 --- a/rollup.tracker.config.mjs +++ b/rollup.tracker.config.mjs @@ -10,7 +10,8 @@ export default { }, plugins: [ replace({ - '/api/send': process.env.COLLECT_API_ENDPOINT || '/api/send', + '__COLLECT_API_HOST__': process.env.COLLECT_API_HOST || '', + '__COLLECT_API_ENDPOINT__': process.env.COLLECT_API_ENDPOINT || '/api/send', delimiters: ['', ''], preventAssignment: true, }), diff --git a/src/tracker/index.js b/src/tracker/index.js index 9af6351d..333a61cd 100644 --- a/src/tracker/index.js +++ b/src/tracker/index.js @@ -22,10 +22,9 @@ const stripSearch = attr(_data + 'strip-search') === _true; const domain = attr(_data + 'domains') || ''; const domains = domain.split(',').map(n => n.trim()); - const root = hostUrl - ? hostUrl.replace(/\/$/, '') - : currentScript.src.split('/').slice(0, -1).join('/'); - const endpoint = `${root}/api/send`; + const host = + '__COLLECT_API_HOST__' || hostUrl || currentScript.src.split('/').slice(0, -1).join('/'); + const endpoint = `${host.replace(/\/$/, '')}__COLLECT_API_ENDPOINT__`; const screen = `${width}x${height}`; const eventRegex = /data-umami-event-([\w-_]+)/; const eventNameAttribute = _data + 'umami-event';