make-mp-data 2.1.2 → 2.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.
@@ -168,6 +168,8 @@ export async function makeEvent(
168
168
  const distinctId = eventTemplate.user_id || eventTemplate.device_id || eventTemplate.distinct_id || distinct_id;
169
169
  const tuple = `${eventTemplate.event}-${eventTemplate.time}-${distinctId}`;
170
170
  eventTemplate.insert_id = u.quickHash(tuple);
171
+ //v2 compat
172
+ eventTemplate.distinct_id = distinctId;
171
173
 
172
174
  // Call hook if configured (before returning the event)
173
175
  const { hook } = config;
@@ -361,19 +361,30 @@ async function generateFunnelEvents(
361
361
  );
362
362
 
363
363
  if (index === 0) {
364
- funnelStartTime = dayjs(newEvent.time);
364
+ const parsedTime = dayjs(newEvent.time);
365
+ // Validate the first event's time - if invalid, use TimeSoup-generated time as-is
366
+ funnelStartTime = parsedTime.isValid() ? parsedTime : null;
367
+ delete newEvent.relativeTimeMs;
368
+ return newEvent;
369
+ }
370
+
371
+ // If funnelStartTime is invalid, just use the TimeSoup-generated time from makeEvent
372
+ if (!funnelStartTime || !funnelStartTime.isValid()) {
365
373
  delete newEvent.relativeTimeMs;
366
374
  return newEvent;
367
375
  }
368
376
 
369
377
  try {
370
- newEvent.time = dayjs(funnelStartTime)
371
- .add(event.relativeTimeMs, "milliseconds")
372
- .toISOString();
378
+ const computedTime = dayjs(funnelStartTime).add(event.relativeTimeMs, "milliseconds");
379
+ if (computedTime.isValid()) {
380
+ newEvent.time = computedTime.toISOString();
381
+ }
382
+ // If invalid, keep the TimeSoup-generated time from makeEvent
373
383
  delete newEvent.relativeTimeMs;
374
384
  return newEvent;
375
385
  } catch (e) {
376
- console.error("Error setting funnel event time:", e);
386
+ // Graceful fallback: keep the TimeSoup-generated time from makeEvent
387
+ delete newEvent.relativeTimeMs;
377
388
  return newEvent;
378
389
  }
379
390
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "make-mp-data",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "builds all mixpanel primitives for a given project",
5
5
  "type": "module",
6
6
  "main": "index.js",