@newskit-render/core 0.0.0-cffdc2dcc → 0.0.0-d2d4de3d1

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 (48) hide show
  1. package/CHANGELOG.md +1240 -0
  2. package/Dockerfile.withNewRelic +1 -2
  3. package/__tests__/pages/__snapshots__/home.test.tsx.snap +0 -3
  4. package/components/article/__tests__/__snapshots__/index.test.tsx.snap +0 -3
  5. package/components/header/banner-messages.ts +6 -0
  6. package/cypress/e2e/account/banners.cy.js +13 -0
  7. package/cypress/e2e/account/holiday-stops.cy.js +4 -4
  8. package/cypress/e2e/account/newsletters-page.cy.js +22 -20
  9. package/cypress/e2e/account/subscription-and-billing.cy.js +10 -40
  10. package/cypress/support/commands.js +0 -5
  11. package/cypress/support/users.js +6 -2
  12. package/helpers/getProviderPropsUtil.ts +20 -0
  13. package/next.config.js +55 -57
  14. package/package.json +12 -13
  15. package/pages/account/add/[field].tsx +11 -2
  16. package/pages/account/{family → bonus-accounts}/index.tsx +9 -4
  17. package/pages/account/cancel/index.tsx +14 -0
  18. package/pages/account/cancellation/index.tsx +3 -2
  19. package/pages/account/delete/confirm/index.tsx +3 -5
  20. package/pages/account/delete/error/index.tsx +3 -5
  21. package/pages/account/delete/index.tsx +3 -5
  22. package/pages/account/delete/success/index.tsx +3 -5
  23. package/pages/account/dream-team/index.tsx +3 -2
  24. package/pages/account/edit/[field].tsx +17 -4
  25. package/pages/account/holiday-stop/index.tsx +3 -2
  26. package/pages/account/holiday-stop/previous-holiday-stops.tsx +3 -2
  27. package/pages/account/holiday-stop/upcoming-holiday-stops.tsx +3 -2
  28. package/pages/account/index.tsx +3 -2
  29. package/pages/account/newsletters/index.tsx +3 -2
  30. package/pages/account/newsletters-and-alerts/index.tsx +3 -5
  31. package/pages/account/payment/[paymentMethod].tsx +2 -2
  32. package/pages/account/payment/index.tsx +3 -2
  33. package/pages/account/payment-methods/index.tsx +3 -2
  34. package/pages/account/subscription-and-billing/index.tsx +13 -5
  35. package/pages/account/user-hub/index.tsx +4 -6
  36. package/pages/api/account/track-event/index.ts +16 -0
  37. package/public/assets/cancellation/another-source.png +0 -0
  38. package/public/assets/cancellation/cancellation-hero.png +0 -0
  39. package/public/assets/cancellation/content.png +0 -0
  40. package/public/assets/cancellation/delivery-problems.png +0 -0
  41. package/public/assets/cancellation/issues.png +0 -0
  42. package/public/assets/cancellation/money.png +0 -0
  43. package/public/assets/cancellation/placeholder.png +0 -0
  44. package/public/assets/cancellation/thank-you.png +0 -0
  45. package/public/assets/cancellation/time.png +0 -0
  46. package/public/assets/sun-placeholder.png +0 -0
  47. package/temp/_document.tsx +1 -0
  48. package/cypress/support/blaizeValues.js +0 -3
@@ -4,7 +4,6 @@ WORKDIR /app
4
4
 
5
5
  ENV NEXT_TELEMETRY_DISABLED 1
6
6
 
7
- RUN npm install @newrelic/next
8
7
  COPY .next/standalone ./standalone
9
8
  COPY public ./standalone/public
10
9
  COPY .next/static ./standalone/.next/static
@@ -12,4 +11,4 @@ COPY .next/static ./standalone/.next/static
12
11
  EXPOSE 3000
13
12
  ENV PORT 3000
14
13
 
15
- CMD ["node", "-r", "@newrelic/next", "./standalone/server.js"]
14
+ CMD ["node", "./standalone/server.js"]
@@ -102,7 +102,6 @@ exports[`getServerSideProps Homepage 1`] = `
102
102
  aria-label="Section One Link"
103
103
  class="css-1ulbpfm"
104
104
  href="/section-one"
105
- type="standalone"
106
105
  >
107
106
  <span
108
107
  class="css-1xnclyu"
@@ -126,7 +125,6 @@ exports[`getServerSideProps Homepage 1`] = `
126
125
  aria-label="Section Two Link"
127
126
  class="css-1ulbpfm"
128
127
  href="/section-two"
129
- type="standalone"
130
128
  >
131
129
  <span
132
130
  class="css-1xnclyu"
@@ -150,7 +148,6 @@ exports[`getServerSideProps Homepage 1`] = `
150
148
  aria-label="Section Three Link"
151
149
  class="css-1ulbpfm"
152
150
  href="/section-three"
153
- type="standalone"
154
151
  >
155
152
  <span
156
153
  class="css-1xnclyu"
@@ -102,7 +102,6 @@ exports[`Article should render tile and sub title 1`] = `
102
102
  aria-label="Section One Link"
103
103
  class="css-1ulbpfm"
104
104
  href="/section-one"
105
- type="standalone"
106
105
  >
107
106
  <span
108
107
  class="css-1xnclyu"
@@ -126,7 +125,6 @@ exports[`Article should render tile and sub title 1`] = `
126
125
  aria-label="Section Two Link"
127
126
  class="css-1ulbpfm"
128
127
  href="/section-two"
129
- type="standalone"
130
128
  >
131
129
  <span
132
130
  class="css-1xnclyu"
@@ -150,7 +148,6 @@ exports[`Article should render tile and sub title 1`] = `
150
148
  aria-label="Section Three Link"
151
149
  class="css-1ulbpfm"
152
150
  href="/section-three"
153
- type="standalone"
154
151
  >
155
152
  <span
156
153
  class="css-1xnclyu"
@@ -25,6 +25,8 @@ export const pastDueBanner = {
25
25
  title: 'Your subscription will end soon.',
26
26
  phoneNumber: 'XXXX-XXX-XXXX',
27
27
  text: 'You have cancelled your subscription and will lose access to all benefits on ##DATE##. To re-activate your subscription call ##PHONE_NUMBER##.',
28
+ alternativeText:
29
+ 'You have cancelled your subscription and will lose access to all benefits. To re-activate your subscription call ##PHONE_NUMBER##.',
28
30
  },
29
31
  toBeCancelledWithRefund: {
30
32
  title: 'Your subscription will end soon.',
@@ -32,6 +34,10 @@ export const pastDueBanner = {
32
34
  text: 'We have successfully cancelled your subscription and will be processing your refund shortly. If you have any question please call ##PHONE_NUMBER##.',
33
35
  dismissDays: 7,
34
36
  },
37
+ paymentFailure: {
38
+ title: 'We haven’t been able to take payment',
39
+ text: 'Your latest payment has failed. Please update your payment details as soon as possible to keep your membership.',
40
+ },
35
41
  treshold: {
36
42
  firstNotice: 26,
37
43
  secondNotice: 30,
@@ -84,6 +84,19 @@ describe('Banners', () => {
84
84
  cy.get('[data-testid="banner-close-button"]').should('be.visible')
85
85
  })
86
86
 
87
+ it('Should show cancelled notice with alternative text if the serviceCancellationDate is not updated yet', () => {
88
+ cy.GetTnlAcsSession('tnl')
89
+ cy.mockConsent()
90
+ cy.visitAndOverrideNextData(
91
+ '/account',
92
+ 'props.pageProps.user.subscriptions[0].status',
93
+ 'Cancellation Requested'
94
+ )
95
+ cy.contains(
96
+ 'You have cancelled your subscription and will lose access to all benefits. To re-activate your subscription call XXXX-XXX-XXXX.'
97
+ )
98
+ })
99
+
87
100
  it('Should show expired subscription view with terminated notice', () => {
88
101
  cy.GetAcsSession('expiredSub')
89
102
  cy.mockConsent()
@@ -1,6 +1,6 @@
1
1
  import { getTestDates } from '../../fixtures/testDates'
2
2
 
3
- describe('Book a Holiday Stop', () => {
3
+ describe.skip('Book a Holiday Stop', () => {
4
4
  beforeEach(() => {
5
5
  cy.GetTnlAcsSession('tnl')
6
6
  cy.mockConsentAndVisit('/account/holiday-stop')
@@ -13,7 +13,7 @@ describe('Book a Holiday Stop', () => {
13
13
  })
14
14
  })
15
15
 
16
- describe('Add a Holiday Stop', () => {
16
+ describe.skip('Add a Holiday Stop', () => {
17
17
  beforeEach(() => {
18
18
  cy.GetTnlAcsSession('tnl')
19
19
  cy.mockConsentAndVisit('/account/add/holiday-stop')
@@ -52,7 +52,7 @@ describe('Add a Holiday Stop', () => {
52
52
  })
53
53
  })
54
54
 
55
- describe('Upcoming Holiday Stops - edit button', () => {
55
+ describe.skip('Upcoming Holiday Stops - edit button', () => {
56
56
  beforeEach(() => {
57
57
  cy.GetTnlAcsSession('tnl')
58
58
  cy.mockConsentAndVisit('/account/holiday-stop')
@@ -86,7 +86,7 @@ describe('Upcoming Holiday Stops - edit button', () => {
86
86
  })
87
87
  })
88
88
 
89
- describe('Cancel Holiday Stop', () => {
89
+ describe.skip('Cancel Holiday Stop', () => {
90
90
  beforeEach(() => {
91
91
  cy.GetTnlAcsSession('tnl')
92
92
  cy.mockConsentAndVisit('/account/holiday-stop')
@@ -1,50 +1,52 @@
1
- import {
2
- registration_blaize_jwt,
3
- subscription_blaize_jwt,
4
- } from '../../support/blaizeValues'
5
-
6
1
  describe('Newsletters page', () => {
7
2
  beforeEach(() => {
8
3
  cy.GetTnlAcsSession()
9
4
  cy.mockConsent()
10
5
  })
11
6
 
12
- it('Should display all the newsletters on the newsletters page when user is subscribed', () => {
13
- cy.mockBlaizeJwtAndVisit(subscription_blaize_jwt, '/account/newsletters')
7
+ it('Should display all the newsletters on the newsletters page when user has a subscription', () => {
8
+ cy.mockConsentAndVisit('/account/newsletters')
14
9
  cy.contains('Newsletters')
15
10
  cy.contains(
16
11
  'Exclusive content and a curated selection of our top stories straight to your inbox.'
17
12
  )
18
- cy.get('[data-testid="newsletters-grid"] > div').should('have.length', 20)
13
+ cy.get('[data-testid="newsletters-grid"] > div > div').should(
14
+ 'have.length.greaterThan',
15
+ 1
16
+ )
19
17
  })
20
18
 
21
19
  it('Should only display selected newsletters on the newsletters page when user is registered', () => {
22
- cy.mockBlaizeJwtAndVisit(registration_blaize_jwt, '/account/newsletters')
20
+ cy.GetTnlAcsSession('tnlNoSubscription')
21
+ cy.mockConsentAndVisit('/account/newsletters')
23
22
  cy.contains('Newsletters')
24
23
  cy.contains(
25
24
  'Exclusive content and a curated selection of our top stories straight to your inbox.'
26
25
  )
27
- cy.get('[data-testid="newsletters-grid"] > div').should('have.length', 12)
26
+ cy.get('[data-testid="newsletters-grid"] > div > div').should(
27
+ 'have.length.greaterThan',
28
+ 1
29
+ )
28
30
  })
29
31
 
30
32
  it('Should display all required newsletter text in the first grid card', () => {
31
- cy.mockBlaizeJwtAndVisit(subscription_blaize_jwt, '/account/newsletters')
32
- cy.get('[data-testid="newsletters-grid"]').then(($parentDiv) => {
33
+ cy.mockConsentAndVisit('/account/newsletters')
34
+ cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
33
35
  const firstNewsletter = $parentDiv.find('div:first-child')
34
36
 
35
- cy.wrap(firstNewsletter).contains('Business').should('be.visible')
37
+ cy.wrap(firstNewsletter).contains('Daily Briefing').should('be.visible')
36
38
  cy.wrap(firstNewsletter).contains('Daily').should('be.visible')
37
39
  cy.wrap(firstNewsletter)
38
40
  .contains(
39
- "The business editor's exclusive analysis of all the latest financial and economic news."
41
+ 'Our flagship newsletter with our top stories and exclusive analysis every morning.'
40
42
  )
41
43
  .should('be.visible')
42
44
  })
43
45
  })
44
46
 
45
47
  it('Should successfully subscribe to a newsletter', () => {
46
- cy.mockBlaizeJwtAndVisit(subscription_blaize_jwt, '/account/newsletters')
47
- cy.get('[data-testid="newsletters-grid"]').then(($parentDiv) => {
48
+ cy.mockConsentAndVisit('/account/newsletters')
49
+ cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
48
50
  cy.intercept('POST', '/api/account/mutate', { statusCode: 200, ok: true })
49
51
 
50
52
  const firstNewsletter = $parentDiv.find('div:first-child')
@@ -57,14 +59,14 @@ describe('Newsletters page', () => {
57
59
 
58
60
  cy.contains(
59
61
  '[data-testid="toast-container"]',
60
- 'Thank you, you are now signed up to the Business newsletter'
62
+ 'Thank you, you are now signed up to the Daily Briefing newsletter'
61
63
  )
62
64
  })
63
65
  })
64
66
 
65
67
  it('Should show the error toast on server error', () => {
66
- cy.mockBlaizeJwtAndVisit(subscription_blaize_jwt, '/account/newsletters')
67
- cy.get('[data-testid="newsletters-grid"]').then(($parentDiv) => {
68
+ cy.mockConsentAndVisit('/account/newsletters')
69
+ cy.get('[data-testid="newsletters-grid-featured"]').then(($parentDiv) => {
68
70
  cy.intercept('POST', '/api/account/mutate', {
69
71
  statusCode: 500,
70
72
  ok: false,
@@ -80,7 +82,7 @@ describe('Newsletters page', () => {
80
82
 
81
83
  cy.contains(
82
84
  '[data-testid="toast-container"]',
83
- 'Sorry we were unable to sign you up to the Business newsletter, please try again'
85
+ 'Sorry we were unable to sign you up to the Daily Briefing newsletter, please try again'
84
86
  )
85
87
  })
86
88
  })
@@ -134,18 +134,18 @@ describe('Subscription and billing details for Digital user', () => {
134
134
  cy.contains('[data-testid="ContentListIntroduction"]', 'Billing details')
135
135
  cy.contains('Payment method')
136
136
  cy.get('[data-testid="visa-icon"]').should('exist')
137
- cy.contains('************1111')
138
- cy.contains('expiry date 03/30')
137
+ cy.contains('************4242')
138
+ cy.contains('expiry date 02/27')
139
139
  })
140
140
 
141
- it('Should display Invoice history section', () => {
142
- cy.contains('[data-testid="ContentListIntroduction"]', 'Invoice history')
143
- cy.contains('Digital pack')
144
- cy.contains('20 Sept 2022')
145
- cy.contains('Paid')
146
- cy.get('a[data-testid="download-button"]')
147
- .should('have.attr', 'href', '#')
148
- .contains('View')
141
+ // Section no longer displayed when Invoice history is empty due to graphql change
142
+ // Invoices are no longer fetched if older than 1 year
143
+ // This test would periodically fail as it depends on changing user data
144
+ it('Should not display empty Invoice history section', () => {
145
+ cy.get('[data-testid="ContentListIntroduction"]').should(
146
+ 'not.contain',
147
+ 'Invoice history'
148
+ )
149
149
  })
150
150
 
151
151
  it('Should NOT display Your deliveries section', () => {
@@ -226,16 +226,6 @@ describe('Subscription and billing details for Print user', () => {
226
226
  )
227
227
  })
228
228
 
229
- it('Should display Invoice history section', () => {
230
- cy.contains('[data-testid="ContentListIntroduction"]', 'Invoice history')
231
- cy.contains('Print pack')
232
- cy.contains('24 Apr 2023')
233
- cy.contains('Paid')
234
- cy.get('a[data-testid="download-button"]')
235
- .should('have.attr', 'href', '#')
236
- .contains('View')
237
- })
238
-
239
229
  it('Should display Your deliveries section for users with vouchers', () => {
240
230
  cy.GetTnlAcsSession('printVouchers')
241
231
  cy.mockConsentAndVisit('/account/subscription-and-billing')
@@ -243,8 +233,6 @@ describe('Subscription and billing details for Print user', () => {
243
233
  cy.contains('[data-testid="ContentListIntroduction"]', 'Your deliveries')
244
234
  cy.contains('Address')
245
235
  cy.contains('2 Tuke House, Cromwell Road, York, YO1 6DJ, North Yorkshire')
246
- cy.contains('Delivery instructions')
247
- cy.contains('On my doorstep')
248
236
  cy.contains('Holiday Stops')
249
237
  cy.contains(
250
238
  'You can pause your print delivery at any time by adding a Holiday Stop to your account. Holiday Stops need to be booked before 16:00 GMT the day before you want to pause delivery.'
@@ -277,16 +265,6 @@ describe('Subscription and billing details for Digi-Print user', () => {
277
265
  cy.contains('Digi-Print')
278
266
  //...rest is same as Print user
279
267
  })
280
-
281
- it('Should display Invoice history section', () => {
282
- cy.contains('[data-testid="ContentListIntroduction"]', 'Invoice history')
283
- cy.contains('Digi-Print pack')
284
- cy.contains('12 Nov 2023')
285
- cy.contains('Paid')
286
- cy.get('a[data-testid="download-button"]')
287
- .should('have.attr', 'href', '#')
288
- .contains('View')
289
- })
290
268
  })
291
269
 
292
270
  describe('Subscription and billing details for Paypal user', () => {
@@ -302,14 +280,6 @@ describe('Subscription and billing details for Paypal user', () => {
302
280
  cy.get('[data-testid="paypal-icon"]').should('exist')
303
281
  cy.contains('cmp.paypal.user.verified.test@news.co.uk')
304
282
  })
305
-
306
- it('Should show inline banner for Paypal subscription', () => {
307
- cy.get('a[href="/account/payment"]').should('be.visible').click()
308
- cy.contains(
309
- '[data-testid="Zuora-inline"]',
310
- 'To update your Paypal credentials, please speak to one of our advisors on xxxx-xxx-xxxx or add a new payment method via credit/debit card using the form below.'
311
- )
312
- })
313
283
  })
314
284
 
315
285
  describe('Subscription and billing edit pages', () => {
@@ -31,11 +31,6 @@ Cypress.Commands.add('mockConsent', () => {
31
31
  setConsentLocalStorage()
32
32
  })
33
33
 
34
- Cypress.Commands.add('mockBlaizeJwtAndVisit', (jwtValue, url) => {
35
- cy.setCookie('blaize_jwt', jwtValue)
36
- cy.visit(url)
37
- })
38
-
39
34
  Cypress.Commands.add('GetAcsSession', (user = 'default') => {
40
35
  const { username, password } = userMap[user]
41
36
 
@@ -54,5 +54,9 @@ export const userMap = {
54
54
  username: 'digi-print-card-15-11-22@yopmail.com',
55
55
  password: 'Password123Testing123$',
56
56
  },
57
- }
58
-
57
+ tnlNoSubscription: {
58
+ //registered user with no subscription, tests the number of newsletters displayed
59
+ username: 'tm-test+staging-registered-user@news.co.uk',
60
+ password: 'Growth123',
61
+ },
62
+ }
@@ -0,0 +1,20 @@
1
+ import {
2
+ getProviderProps,
3
+ getProviderPropsTimes,
4
+ } from '@newskit-render/my-account'
5
+ import { publisher } from '../config'
6
+
7
+ export const getProviderPropsUtil = (context, options?) => {
8
+ if (process.env.NODE_ENV === 'development' && publisher === 'TIMES') {
9
+ return getProviderPropsTimes({
10
+ context,
11
+ options: {
12
+ ...options,
13
+ },
14
+ })
15
+ }
16
+
17
+ return getProviderProps(context, {
18
+ ...options,
19
+ })
20
+ }
package/next.config.js CHANGED
@@ -29,67 +29,65 @@ module.exports = (phase) => {
29
29
  }
30
30
 
31
31
  const path = require('path')
32
- const withTM = require('next-transpile-modules')([
33
- '@newskit-render/auth',
34
- '@newskit-render/my-account',
35
- '@newskit-render/validation',
36
- ])
37
32
  const withBundleAnalyzer = require('@next/bundle-analyzer')({
38
33
  enabled: process.env.ANALYZE === 'true',
39
34
  })
40
35
 
41
- return withBundleAnalyzer(
42
- withTM({
43
- webpack: (config, options) => {
44
- if (options.isServer) {
45
- config.externals = ['react', ...config.externals]
46
- }
36
+ return withBundleAnalyzer({
37
+ transpilePackages: [
38
+ '@newskit-render/auth',
39
+ '@newskit-render/my-account',
40
+ '@newskit-render/validation',
41
+ ],
42
+ webpack: (config, options) => {
43
+ if (options.isServer) {
44
+ config.externals = ['react', ...config.externals]
45
+ }
47
46
 
48
- config.resolve.alias.newskit = path.resolve(
49
- __dirname,
50
- '.',
51
- 'node_modules',
52
- 'newskit'
53
- )
54
- config.resolve.alias.react = path.resolve(
55
- __dirname,
56
- '.',
57
- 'node_modules',
58
- 'react'
59
- )
47
+ config.resolve.alias.newskit = path.resolve(
48
+ __dirname,
49
+ '.',
50
+ 'node_modules',
51
+ 'newskit'
52
+ )
53
+ config.resolve.alias.react = path.resolve(
54
+ __dirname,
55
+ '.',
56
+ 'node_modules',
57
+ 'react'
58
+ )
60
59
 
61
- return config
62
- },
63
- images,
64
- output: 'standalone',
65
- async rewrites() {
66
- return [
67
- {
68
- source: '/sitemap.xml',
69
- destination: '/api/sitemap',
70
- },
71
- {
72
- source: '/pages-sitemap.xml',
73
- destination: '/api/pages-sitemap',
74
- },
75
- {
76
- source: '/competitions-sitemap.xml',
77
- destination: '/api/competitions-sitemap',
78
- },
79
- {
80
- source: '/news-sitemap.xml',
81
- destination: '/api/news-sitemap',
82
- },
83
- {
84
- source: '/feed',
85
- destination: '/api/feed',
86
- },
87
- {
88
- source: '/robots.txt',
89
- destination: '/api/robots',
90
- },
91
- ]
92
- },
93
- })
94
- )
60
+ return config
61
+ },
62
+ images,
63
+ output: 'standalone',
64
+ async rewrites() {
65
+ return [
66
+ {
67
+ source: '/sitemap.xml',
68
+ destination: '/api/sitemap',
69
+ },
70
+ {
71
+ source: '/pages-sitemap.xml',
72
+ destination: '/api/pages-sitemap',
73
+ },
74
+ {
75
+ source: '/competitions-sitemap.xml',
76
+ destination: '/api/competitions-sitemap',
77
+ },
78
+ {
79
+ source: '/news-sitemap.xml',
80
+ destination: '/api/news-sitemap',
81
+ },
82
+ {
83
+ source: '/feed',
84
+ destination: '/api/feed',
85
+ },
86
+ {
87
+ source: '/robots.txt',
88
+ destination: '/api/robots',
89
+ },
90
+ ]
91
+ },
92
+ })
95
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/core",
3
- "version": "0.0.0-cffdc2dcc",
3
+ "version": "0.0.0-d2d4de3d1",
4
4
  "description": "Newskit Render - Core package",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -42,21 +42,21 @@
42
42
  "@emotion/styled": "11.9.3",
43
43
  "@newrelic/next": "0.5.2",
44
44
  "@newrelic/winston-enricher": "4.0.1",
45
- "@newskit-render/api": "^1.12.2",
46
- "@newskit-render/auth": "^1.8.1",
47
- "@newskit-render/checkout": "^3.10.10",
48
- "@newskit-render/feature-flags": "^1.10.0",
49
- "@newskit-render/feed": "^1.8.10",
50
- "@newskit-render/my-account": "^7.66.0-alpha.0",
51
- "@newskit-render/shared-components": "^4.31.4",
52
- "@newskit-render/standalone-components": "^3.21.10",
53
- "@newskit-render/validation": "^1.17.1",
45
+ "@newskit-render/api": "^1.16.63",
46
+ "@newskit-render/auth": "^1.8.82",
47
+ "@newskit-render/checkout": "^3.11.47",
48
+ "@newskit-render/feature-flags": "^1.11.79",
49
+ "@newskit-render/feed": "^1.8.98",
50
+ "@newskit-render/my-account": "^7.129.5",
51
+ "@newskit-render/shared-components": "^4.53.29",
52
+ "@newskit-render/standalone-components": "^3.25.90",
53
+ "@newskit-render/validation": "^1.20.23",
54
54
  "cross-fetch": "3.1.5",
55
55
  "graphql": "16.6.0",
56
56
  "lodash.get": "4.4.2",
57
57
  "newrelic": "10.6.1",
58
58
  "newskit": "7.7.0",
59
- "next": "13.4.4",
59
+ "next": "13.5.10",
60
60
  "react": "18.2.0",
61
61
  "react-dom": "18.2.0",
62
62
  "react-helmet": "6.1.0",
@@ -100,11 +100,10 @@
100
100
  "jest-junit": "15.0.0",
101
101
  "jest-watch-typeahead": "2.2.1",
102
102
  "lint-staged": "13.1.0",
103
- "next-transpile-modules": "10.0.0",
104
103
  "prettier": "2.8.3",
105
104
  "prettier-eslint": "15.0.1",
106
105
  "prettier-eslint-cli": "7.1.0",
107
- "typescript": "4.9.4",
106
+ "typescript": "5.6.3",
108
107
  "wait-on": "7.0.1"
109
108
  },
110
109
  "precommit": [
@@ -3,6 +3,8 @@ import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
3
3
  import { AddField, addComponentMap } from '@newskit-render/my-account'
4
4
  import validation from '../../../validation'
5
5
  import { DynamicPage } from '@newskit-render/my-account'
6
+ import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
7
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
6
8
 
7
9
  const AccountAddField = (props) => (
8
10
  <DynamicPage
@@ -28,7 +30,14 @@ export const getServerSideProps = async (context) => {
28
30
  console.error(`An error ${context.res.statusCode} occurred on server`)
29
31
  }
30
32
 
31
- return {
32
- props: { data: { type: field } },
33
+ const featureFlags = await getAllFeatureFlags()
34
+ const providerProps = (await getProviderPropsUtil(
35
+ { ...context, provider: 'AddField' },
36
+ { featureFlags } /* cra-effected */
37
+ )) as unknown as { props: { data: { type: string } } }
38
+
39
+ if (providerProps?.props) {
40
+ providerProps.props = { ...providerProps.props, data: { type: field } }
33
41
  }
42
+ return providerProps
34
43
  }
@@ -1,19 +1,24 @@
1
1
  import React from 'react'
2
- import { Family, getProviderProps } from '@newskit-render/my-account'
2
+ import { Family } from '@newskit-render/my-account'
3
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
5
6
 
6
7
  const AccountFamily = (props) => <Family {...props} />
7
8
 
8
9
  export default AccountFamily
9
10
 
10
11
  export const getServerSideProps = async (context) => {
11
- replaceConsoleAndSetTransactionName('Account: Family')
12
+ replaceConsoleAndSetTransactionName('Account: Bonus Accounts')
12
13
  /* start cra-effected */
13
14
  const featureFlags = await getAllFeatureFlags()
15
+
14
16
  /* end cra-effected */
15
- return getProviderProps(
16
- { ...context, provider: 'GroupAccounts' },
17
+ return getProviderPropsUtil(
18
+ {
19
+ ...context,
20
+ provider: 'GroupAccountsV2',
21
+ },
17
22
  { featureFlags } /* cra-effected */
18
23
  )
19
24
  }
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import { CancellationStepper } from '@newskit-render/my-account'
3
+ import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
5
+
6
+ const AccountCancellation = (props) => <CancellationStepper {...props} />
7
+
8
+ export default AccountCancellation
9
+
10
+ export const getServerSideProps = async (context) => {
11
+ replaceConsoleAndSetTransactionName('Account: Cancellation')
12
+
13
+ return getProviderPropsUtil({ ...context, provider: 'Cancellation' })
14
+ }
@@ -1,8 +1,9 @@
1
1
  import React from 'react'
2
- import { Cancellation, getProviderProps } from '@newskit-render/my-account'
2
+ import { Cancellation } from '@newskit-render/my-account'
3
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
5
  import validation from '../../../validation'
6
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
6
7
 
7
8
  const AccountCancellation = (props) => (
8
9
  <Cancellation {...props} validation={validation} />
@@ -15,7 +16,7 @@ export const getServerSideProps = async (context) => {
15
16
  /* start cra-effected */
16
17
  const featureFlags = await getAllFeatureFlags()
17
18
  /* end cra-effected */
18
- return getProviderProps(
19
+ return getProviderPropsUtil(
19
20
  { ...context, provider: 'Cancellation' },
20
21
  { featureFlags } /* cra-effected */
21
22
  )
@@ -1,9 +1,7 @@
1
1
  import React from 'react'
2
- import {
3
- ConfirmAccountDeletion,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { ConfirmAccountDeletion } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../../helpers/getProviderPropsUtil'
7
5
 
8
6
  const ConfirmDeletion = (props) => <ConfirmAccountDeletion {...props} />
9
7
 
@@ -12,5 +10,5 @@ export default ConfirmDeletion
12
10
  export const getServerSideProps = async (context) => {
13
11
  replaceConsoleAndSetTransactionName('Account: Deletion - Confirmation')
14
12
 
15
- return getProviderProps({ ...context })
13
+ return getProviderPropsUtil({ ...context })
16
14
  }