@schibsted/pulse-sdk 8.0.0-rc.13 → 8.0.0-rc.15

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.
Files changed (73) hide show
  1. package/dist/cjs/Tracker.js +40 -0
  2. package/dist/cjs/leaveTrackingTpaas/index.js +18 -6
  3. package/dist/cjs/tpaas-builders/builders/device.js +1 -1
  4. package/dist/cjs/tpaas-builders/builders/trackerBuilder.js +2 -1
  5. package/dist/cjs/tpaas-builders/builders.js +18 -6
  6. package/dist/cjs/tpaas-schemas/constants.js +75 -51
  7. package/dist/cjs/tracker-proxy/consts.js +3 -0
  8. package/dist/cjs/version.js +1 -1
  9. package/dist/ejs/Tracker.js +41 -1
  10. package/dist/ejs/leaveTrackingTpaas/index.js +18 -6
  11. package/dist/ejs/tpaas-builders/builders/device.js +1 -1
  12. package/dist/ejs/tpaas-builders/builders/trackerBuilder.js +2 -1
  13. package/dist/ejs/tpaas-builders/builders.js +16 -7
  14. package/dist/ejs/tpaas-schemas/constants.js +73 -49
  15. package/dist/ejs/tracker-proxy/consts.js +3 -0
  16. package/dist/ejs/version.js +1 -1
  17. package/dist/types/Tracker.d.ts +16 -1
  18. package/dist/types/builders/consents.d.ts +2 -2
  19. package/dist/types/builders/device-node.d.ts +2 -2
  20. package/dist/types/builders/events-anonymous-node.d.ts +4 -4
  21. package/dist/types/builders/events-node.d.ts +5 -5
  22. package/dist/types/builders/objects/objects-anonymous-node.d.ts +1 -1
  23. package/dist/types/builders/objects/objects-node.d.ts +1 -1
  24. package/dist/types/builders/origin-node.d.ts +1 -1
  25. package/dist/types/cis-sync/storage/pulseStorage.d.ts +8 -4
  26. package/dist/types/config.d.ts +1 -1
  27. package/dist/types/tpaas-builders/builders/device.d.ts +1 -1
  28. package/dist/types/tpaas-builders/builders/experiments.d.ts +1 -1
  29. package/dist/types/tpaas-builders/builders/navigationType.d.ts +2 -2
  30. package/dist/types/tpaas-builders/builders/pageviewId.d.ts +1 -1
  31. package/dist/types/tpaas-builders/builders/trackerBuilder.d.ts +1 -1
  32. package/dist/types/tpaas-builders/builders/user.d.ts +1 -1
  33. package/dist/types/tpaas-builders/builders.d.ts +43 -39
  34. package/dist/types/tpaas-builders/index.d.ts +1 -1
  35. package/dist/types/tpaas-builders/types.d.ts +2 -0
  36. package/dist/types/tpaas-schemas/constants.d.ts +196 -174
  37. package/dist/types/tpaas-schemas/types/ITpaasEvent.d.ts +6 -0
  38. package/dist/types/tpaas-schemas/types/schemas/IEngagementAffiliate.d.ts +138 -0
  39. package/dist/types/tpaas-schemas/types/schemas/IEngagementAudio.d.ts +0 -6
  40. package/dist/types/tpaas-schemas/types/schemas/IEngagementTeaser.d.ts +9 -0
  41. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvModule.d.ts +130 -0
  42. package/dist/types/tpaas-schemas/types/schemas/IEngagementUIElement.d.ts +4 -0
  43. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideo.d.ts +1 -7
  44. package/dist/types/tpaas-schemas/types/schemas/IImpressionAffiliate.d.ts +136 -0
  45. package/dist/types/tpaas-schemas/types/schemas/IImpressionForm.d.ts +2 -2
  46. package/dist/types/tpaas-schemas/types/schemas/IImpressionTeaser.d.ts +9 -0
  47. package/dist/types/tpaas-schemas/types/schemas/ILeaveArticle.d.ts +1 -1
  48. package/dist/types/tpaas-schemas/types/schemas/ILeaveAudioPage.d.ts +1 -1
  49. package/dist/types/tpaas-schemas/types/schemas/ILeaveFrontpage.d.ts +1 -1
  50. package/dist/types/tpaas-schemas/types/schemas/ILeaveListing.d.ts +10 -1
  51. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedArticle.d.ts +1 -1
  52. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedAudioPage.d.ts +1 -1
  53. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedVideoPage.d.ts +1 -1
  54. package/dist/types/tpaas-schemas/types/schemas/ILeaveVideoPage.d.ts +1 -1
  55. package/dist/types/tpaas-schemas/types/schemas/IViewArticle.d.ts +1 -1
  56. package/dist/types/tpaas-schemas/types/schemas/IViewAudioPage.d.ts +1 -1
  57. package/dist/types/tpaas-schemas/types/schemas/IViewFrontpage.d.ts +1 -1
  58. package/dist/types/tpaas-schemas/types/schemas/IViewListing.d.ts +10 -1
  59. package/dist/types/tpaas-schemas/types/schemas/IViewLockedArticle.d.ts +1 -1
  60. package/dist/types/tpaas-schemas/types/schemas/IViewLockedAudioPage.d.ts +1 -1
  61. package/dist/types/tpaas-schemas/types/schemas/IViewLockedVideoPage.d.ts +1 -1
  62. package/dist/types/tpaas-schemas/types/schemas/IViewVideoPage.d.ts +1 -1
  63. package/dist/types/tpaas-schemas/types/schemas/index.d.ts +3 -0
  64. package/dist/types/tpaas-schemas/types/templates/IDevice.d.ts +1 -1
  65. package/dist/types/tpaas-schemas/types/templates/IPageRef.d.ts +3 -1
  66. package/dist/types/tpaas-schemas/types/templates/IProvider.d.ts +1 -1
  67. package/dist/types/tpaas-schemas/types/templates/ITracker.d.ts +4 -0
  68. package/dist/types/tpaas-schemas/types/templates/IUtmTags.d.ts +0 -2
  69. package/dist/types/tpaas-schemas/types.d.ts +3 -3
  70. package/dist/types/tracker-proxy/consts.d.ts +2 -2
  71. package/dist/types/version.d.ts +1 -1
  72. package/dist/types/wrapper/types/event.d.ts +1 -1
  73. package/package.json +8 -7
@@ -72,7 +72,7 @@ export interface IViewLockedAudioPage {
72
72
  /**
73
73
  * The browser navigation that got the user to the current page.
74
74
  */
75
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
75
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
76
76
  /**
77
77
  * The pageviewID.
78
78
  * @format uuid
@@ -72,7 +72,7 @@ export interface IViewLockedVideoPage {
72
72
  /**
73
73
  * The browser navigation that got the user to the current page.
74
74
  */
75
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
75
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
76
76
  /**
77
77
  * The pageviewID.
78
78
  * @format uuid
@@ -64,7 +64,7 @@ export interface IViewVideoPage {
64
64
  /**
65
65
  * The browser navigation that got the user to the current page.
66
66
  */
67
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
67
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
68
68
  /**
69
69
  * The pageviewID.
70
70
  * @format uuid
@@ -1,15 +1,18 @@
1
1
  export type { IAnonymousViewUIElement } from './IAnonymousViewUIElement.d.ts';
2
2
  export type { ICompletedHealthAction } from './ICompletedHealthAction.d.ts';
3
+ export type { IEngagementAffiliate } from './IEngagementAffiliate.d.ts';
3
4
  export type { IEngagementAudio } from './IEngagementAudio.d.ts';
4
5
  export type { IEngagementForm } from './IEngagementForm.d.ts';
5
6
  export type { IEngagementHealthUIElement } from './IEngagementHealthUIElement.d.ts';
6
7
  export type { IEngagementOffer } from './IEngagementOffer.d.ts';
7
8
  export type { IEngagementTeaser } from './IEngagementTeaser.d.ts';
9
+ export type { IEngagementTvModule } from './IEngagementTvModule.d.ts';
8
10
  export type { IEngagementUIElement } from './IEngagementUIElement.d.ts';
9
11
  export type { IEngagementVideo } from './IEngagementVideo.d.ts';
10
12
  export type { IEngagementVideoAd } from './IEngagementVideoAd.d.ts';
11
13
  export type { IEngagementWidget } from './IEngagementWidget.d.ts';
12
14
  export type { IImpressionAdSlot } from './IImpressionAdSlot.d.ts';
15
+ export type { IImpressionAffiliate } from './IImpressionAffiliate.d.ts';
13
16
  export type { IImpressionForm } from './IImpressionForm.d.ts';
14
17
  export type { IImpressionHealthUIElement } from './IImpressionHealthUIElement.d.ts';
15
18
  export type { IImpressionOffer } from './IImpressionOffer.d.ts';
@@ -23,7 +23,7 @@ export interface IDevice {
23
23
  deviceType: 'Desktop' | 'Mobile' | 'Tablet' | 'SmartTv' | 'Other';
24
24
  /**
25
25
  * The environmentId.
26
- * @pattern ^[0-9a-fA-F-]+$
26
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[47][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
27
27
  * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
28
28
  */
29
29
  environmentId: string;
@@ -32,7 +32,9 @@ export interface IPageRef {
32
32
  | 'SportsPage'
33
33
  | 'Title'
34
34
  | 'VideoPage'
35
- | 'Weather';
35
+ | 'Weather'
36
+ | 'AppWidget'
37
+ | 'Notification';
36
38
  /**
37
39
  * The URL of the page.
38
40
  * @format uri
@@ -63,7 +63,7 @@ export interface IProvider {
63
63
  /**
64
64
  * The deployment stage of the event.
65
65
  */
66
- stage: 'Dev' | 'Test' | 'Pro';
66
+ stage: 'Dev' | 'Pre' | 'Pro';
67
67
  /**
68
68
  * Version of the product.
69
69
  * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
@@ -29,6 +29,10 @@ export interface ITracker {
29
29
  * @example "2.3.4"
30
30
  */
31
31
  proxyVersion?: string;
32
+ /**
33
+ * Allows apps to pick up collector destination correctly.
34
+ */
35
+ routingStage: 'Dev' | 'Pre' | 'Pro';
32
36
  /**
33
37
  * The SDK being used. If no SDK was used, use “backend”.
34
38
  * @example "JS"
@@ -11,13 +11,11 @@
11
11
  export interface IUtmTags {
12
12
  /**
13
13
  * The marketing campaign that brought the user to this page, if present.
14
- * @pattern ^[a-zA-Z0-9-_]+$
15
14
  * @example "fotball-league-25"
16
15
  */
17
16
  utmCampaign?: string;
18
17
  /**
19
18
  * The UIElement a user engaged with to be sent here.
20
- * @pattern ^[a-zA-Z0-9-_]+$
21
19
  * @example "viewNowButton"
22
20
  */
23
21
  utmContent?: string;
@@ -1,12 +1,12 @@
1
1
  import type { ITpaasEvent } from './types/ITpaasEvent.d.ts';
2
- import type { IAnonymousViewUIElement, ICompletedHealthAction, IEngagementAudio, IEngagementForm, IEngagementHealthUIElement, IEngagementOffer, IEngagementTeaser, IEngagementUIElement, IEngagementVideo, IEngagementVideoAd, IEngagementWidget, IImpressionAdSlot, IImpressionForm, IImpressionHealthUIElement, IImpressionOffer, IImpressionPlayer, IImpressionTeaser, IImpressionUIElement, IImpressionWidget, ILeaveAudioPage, ILeaveError, ILeaveFrontpage, ILeaveLandingpage, ILeaveListing, ILeaveLockedAudioPage, ILeaveLockedVideoPage, ILeavePage, ILeaveSportsPage, ILeaveVideoPage, ILeaveWeather, IViewAudioPage, IViewError, IViewFrontpage, IViewHealthPage, IViewLandingpage, IViewListing, IViewLockedAudioPage, IViewLockedVideoPage, IViewPage, IViewSportsPage, IViewTitle, IViewVideoPage, IViewWeather } from './types/schemas/index.d.ts';
2
+ import type { IAnonymousViewUIElement, ICompletedHealthAction, IEngagementAffiliate, IEngagementAudio, IEngagementForm, IEngagementHealthUIElement, IEngagementOffer, IEngagementTeaser, IEngagementTvModule, IEngagementUIElement, IEngagementVideo, IEngagementVideoAd, IEngagementWidget, IImpressionAdSlot, IImpressionAffiliate, IImpressionForm, IImpressionHealthUIElement, IImpressionOffer, IImpressionPlayer, IImpressionTeaser, IImpressionUIElement, IImpressionWidget, ILeaveAudioPage, ILeaveError, ILeaveFrontpage, ILeaveLandingpage, ILeaveListing, ILeaveLockedAudioPage, ILeaveLockedVideoPage, ILeavePage, ILeaveSportsPage, ILeaveVideoPage, ILeaveWeather, IViewAudioPage, IViewError, IViewFrontpage, IViewHealthPage, IViewLandingpage, IViewListing, IViewLockedAudioPage, IViewLockedVideoPage, IViewPage, IViewSportsPage, IViewTitle, IViewVideoPage, IViewWeather } from './types/schemas/index.d.ts';
3
3
  export type OmittedProperties = 'user' | 'eventId' | 'consents' | 'device' | 'time' | 'tracker' | 'session' | 'eventType' | 'schema' | 'object.objectType' | 'isAnonymous' | 'provider.providerId' | 'provider.providerSdrn' | 'provider.component' | 'provider.componentVersion' | 'provider.name' | 'provider.group' | 'page.pageviewId' | 'page.utm' | 'page.info' | 'catalogVersion';
4
4
  export type TpaasSchemasWithNavigationType = Extract<ITpaasEvent, {
5
5
  page: {
6
6
  navigationType?: string;
7
7
  };
8
8
  }>;
9
- export type NavigationType = TpaasSchemasWithNavigationType['page']['navigationType'];
9
+ export type NavigationType = Exclude<TpaasSchemasWithNavigationType['page']['navigationType'], 'DeepLink' | 'Push' | 'Swipe'>;
10
10
  export type DeepOmit<T, K extends string> = T extends readonly unknown[] ? T : T extends object ? {
11
11
  [P in keyof T as P extends K ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never>;
12
12
  } extends infer Result ? {
@@ -37,6 +37,6 @@ type WithOmittedReferrer<T> = T extends Exclude<ITpaasEvent, {
37
37
  }> ? Omit<T, 'page'> & {
38
38
  page: Omit<T['page'], 'referrer'>;
39
39
  } : T;
40
- export type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
40
+ export type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAffiliate | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementTvModule | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionAffiliate | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
41
41
  export type InputParams<T extends ITpaasEvent> = DeepOmit<OptionalNavigationType<WithOptionalPage<WithOmittedReferrer<T>>>, OmittedProperties>;
42
42
  export {};
@@ -16,8 +16,8 @@ export declare const MESSAGE_TYPE_ACK = "pulse-tracker-proxy:ack";
16
16
  export declare const MESSAGE_TYPE_INVOKE = "pulse-tracker-proxy:invoke";
17
17
  export declare const MESSAGE_TYPE_RETURN = "pulse-tracker-proxy:return";
18
18
  export declare const MESSAGE_TYPE_RETURN_ERROR = "pulse-tracker-proxy:return-error";
19
- export declare const ALLOWED_METHODS: readonly ["track"];
20
- export declare const TPAAS_ALLOWED_METHODS: readonly ["trackAnonymousViewUIElement", "trackEngagementAudio", "trackEngagementForm", "trackEngagementHealthUIElement", "trackEngagementOffer", "trackEngagementTeaser", "trackEngagementUIElement", "trackEngagementVideo", "trackEngagementVideoAd", "trackEngagementWidget", "trackCompletedHealthAction", "trackImpressionAdSlot", "trackImpressionForm", "trackImpressionHealthUIElement", "trackImpressionOffer", "trackImpressionPlayer", "trackImpressionTeaser", "trackImpressionUIElement", "trackImpressionWidget", "trackLeaveArticle", "trackLeaveAudioPage", "trackLeaveError", "trackLeaveFrontpage", "trackLeaveLandingpage", "trackLeaveListing", "trackLeaveLockedArticle", "trackLeaveLockedAudioPage", "trackLeaveLockedVideoPage", "trackLeavePage", "trackLeaveSportsPage", "trackLeaveVideoPage", "trackLeaveWeather", "trackViewArticle", "trackViewAudioPage", "trackViewError", "trackViewFrontpage", "trackViewHealthPage", "trackViewLandingpage", "trackViewListing", "trackViewLockedArticle", "trackViewLockedAudioPage", "trackViewLockedVideoPage", "trackViewPage", "trackViewSportsPage", "trackViewTitle", "trackViewVideoPage", "trackViewWeather", "trackLegacyViewArticle", "trackLegacyViewLoginPoster", "trackLegacyViewSalesPoster", "trackLegacyViewListing", "trackLegacyViewFrontpage", "trackLegacyViewPage", "trackLegacyViewUIElement", "trackLegacyClickUIElement"];
19
+ export declare const ALLOWED_METHODS: readonly ['track'];
20
+ export declare const TPAAS_ALLOWED_METHODS: readonly ['trackAnonymousViewUIElement', 'trackEngagementAffiliate', 'trackEngagementAudio', 'trackEngagementForm', 'trackEngagementHealthUIElement', 'trackEngagementOffer', 'trackEngagementTeaser', 'trackEngagementTvModule', 'trackEngagementUIElement', 'trackEngagementVideo', 'trackEngagementVideoAd', 'trackEngagementWidget', 'trackCompletedHealthAction', 'trackImpressionAdSlot', 'trackImpressionAffiliate', 'trackImpressionForm', 'trackImpressionHealthUIElement', 'trackImpressionOffer', 'trackImpressionPlayer', 'trackImpressionTeaser', 'trackImpressionUIElement', 'trackImpressionWidget', 'trackLeaveArticle', 'trackLeaveAudioPage', 'trackLeaveError', 'trackLeaveFrontpage', 'trackLeaveLandingpage', 'trackLeaveListing', 'trackLeaveLockedArticle', 'trackLeaveLockedAudioPage', 'trackLeaveLockedVideoPage', 'trackLeavePage', 'trackLeaveSportsPage', 'trackLeaveVideoPage', 'trackLeaveWeather', 'trackViewArticle', 'trackViewAudioPage', 'trackViewError', 'trackViewFrontpage', 'trackViewHealthPage', 'trackViewLandingpage', 'trackViewListing', 'trackViewLockedArticle', 'trackViewLockedAudioPage', 'trackViewLockedVideoPage', 'trackViewPage', 'trackViewSportsPage', 'trackViewTitle', 'trackViewVideoPage', 'trackViewWeather', 'trackLegacyViewArticle', 'trackLegacyViewLoginPoster', 'trackLegacyViewSalesPoster', 'trackLegacyViewListing', 'trackLegacyViewFrontpage', 'trackLegacyViewPage', 'trackLegacyViewUIElement', 'trackLegacyClickUIElement'];
21
21
  export declare function isPulseProxyMessage(message: unknown): message is Message;
22
22
  export type TrackInvocation = {
23
23
  method: 'track';
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "8.0.0-rc.13";
1
+ export declare const SDK_VERSION = "8.0.0-rc.15";
@@ -1,5 +1,5 @@
1
1
  type NavigationType = 'navigation' | 'alternative' | 'refresh' | 'unknown';
2
- declare const LEGACY_PAGE_TYPE_VALUES: readonly ["Article", "Listing", "Frontpage", "SalesPoster", "Page", "LoginPoster"];
2
+ declare const LEGACY_PAGE_TYPE_VALUES: readonly ['Article', 'Listing', 'Frontpage', 'SalesPoster', 'Page', 'LoginPoster'];
3
3
  export declare function isLegacyPageType(value: string): value is PageType;
4
4
  type PageType = (typeof LEGACY_PAGE_TYPE_VALUES)[number];
5
5
  type TargetCategory = 'Article' | 'Audio' | 'Video' | 'Weather' | 'Title' | 'other';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schibsted/pulse-sdk",
3
- "version": "8.0.0-rc.13",
3
+ "version": "8.0.0-rc.15",
4
4
  "description": "Node.js / Browser Pulse SDK",
5
5
  "author": "Schibsted Data&Tech",
6
6
  "license": "UNLICENSED",
@@ -42,7 +42,7 @@
42
42
  "dependencies": {
43
43
  "loglevel": "1.9.2",
44
44
  "ts-deepmerge": "8.0.0",
45
- "ua-parser-js": "2.0.10",
45
+ "ua-parser-js": "1.0.41",
46
46
  "uuid": "14.0.1"
47
47
  },
48
48
  "devDependencies": {
@@ -50,14 +50,15 @@
50
50
  "@types/debounce": "1.2.4",
51
51
  "@types/lodash": "4.17.24",
52
52
  "@types/node": "24.13.2",
53
- "@vitest/browser-playwright": "4.1.9",
53
+ "@types/ua-parser-js": "0.7.39",
54
+ "@vitest/browser-playwright": "4.1.10",
54
55
  "json-schema-to-typescript": "15.0.4",
55
56
  "lodash": "4.18.1",
56
- "msw": "2.14.6",
57
+ "msw": "2.15.0",
57
58
  "ts-morph": "28.0.0",
58
- "tsx": "4.22.4",
59
- "typescript": "6.0.3",
60
- "yoctocolors": "2.1.2",
59
+ "tsx": "4.23.1",
60
+ "typescript": "7.0.2",
61
+ "yoctocolors": "2.2.0",
61
62
  "@schibsted/tpaas-test-fixtures": "1.0.0"
62
63
  },
63
64
  "scripts": {