@newskit-render/core 0.136.0 → 0.138.1

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,63 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.138.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.138.0...@newskit-render/core@0.138.1) (2021-11-15)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **PPDSR-541:** revert CRA to commonjs ([#505](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/505)) ([4cb288f](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/4cb288fbccc43cd40de4f06d3543de5bd7ad8706))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.138.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.137.0...@newskit-render/core@0.138.0) (2021-11-10)
18
+
19
+
20
+ ### Features
21
+
22
+ * **PPDSR-496:** add next link wrapper component ([#500](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/500)) ([a8ca436](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/a8ca436f6f8061d58e857eb83d7d3ee9cfb449a6))
23
+
24
+
25
+
26
+
27
+
28
+ # [0.137.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.136.3...@newskit-render/core@0.137.0) (2021-11-10)
29
+
30
+
31
+ ### Features
32
+
33
+ * **PPDSR-500:** Up next version and switch to es2015 ([#496](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/496)) ([1e41435](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/1e414351247e4c069a829a0a2210a8e6da0e0287))
34
+
35
+
36
+
37
+
38
+
39
+ ## [0.136.3](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.136.2...@newskit-render/core@0.136.3) (2021-11-09)
40
+
41
+ **Note:** Version bump only for package @newskit-render/core
42
+
43
+
44
+
45
+
46
+
47
+ ## [0.136.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.136.1...@newskit-render/core@0.136.2) (2021-11-09)
48
+
49
+ **Note:** Version bump only for package @newskit-render/core
50
+
51
+
52
+
53
+
54
+
55
+ ## [0.136.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.136.0...@newskit-render/core@0.136.1) (2021-11-08)
56
+
57
+ **Note:** Version bump only for package @newskit-render/core
58
+
59
+
60
+
61
+
62
+
6
63
  # [0.136.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@0.135.0...@newskit-render/core@0.136.0) (2021-11-05)
7
64
 
8
65
 
@@ -94,12 +94,14 @@ jest.mock('@newskit-render/api', () => ({
94
94
  })
95
95
  }),
96
96
  sessionParser: jest.fn(),
97
+ getMainSession: jest.fn(),
97
98
  }))
98
99
 
99
100
  jest.mock('@newskit-render/my-account', () => {
100
101
  return {
101
102
  PastDueBannerExternal: 'PastDueBannerExternal',
102
103
  sessionParser: jest.fn(),
104
+ getMainSession: jest.fn(),
103
105
  }
104
106
  })
105
107
 
@@ -2384,7 +2384,7 @@ exports[`getServerSideProps Homepage 1`] = `
2384
2384
  <p>
2385
2385
  <a
2386
2386
  class="emotion-112"
2387
- href="catagory-one/demo-1/test-headline"
2387
+ href="/catagory-one/demo-1/test-headline"
2388
2388
  >
2389
2389
  <span
2390
2390
  class="emotion-113"
@@ -2400,7 +2400,7 @@ exports[`getServerSideProps Homepage 1`] = `
2400
2400
  <p>
2401
2401
  <a
2402
2402
  class="emotion-112"
2403
- href="catagory-two/demo-2/test-headline-2"
2403
+ href="/catagory-two/demo-2/test-headline-2"
2404
2404
  >
2405
2405
  <span
2406
2406
  class="emotion-113"
@@ -2426,7 +2426,7 @@ exports[`getServerSideProps Homepage 1`] = `
2426
2426
  <p>
2427
2427
  <a
2428
2428
  class="emotion-112"
2429
- href="uncategorized"
2429
+ href="/uncategorized"
2430
2430
  >
2431
2431
  <span
2432
2432
  class="emotion-113"
@@ -2442,7 +2442,7 @@ exports[`getServerSideProps Homepage 1`] = `
2442
2442
  <p>
2443
2443
  <a
2444
2444
  class="emotion-112"
2445
- href="uncategorized"
2445
+ href="/uncategorized"
2446
2446
  >
2447
2447
  <span
2448
2448
  class="emotion-113"
@@ -2458,7 +2458,7 @@ exports[`getServerSideProps Homepage 1`] = `
2458
2458
  <p>
2459
2459
  <a
2460
2460
  class="emotion-112"
2461
- href="uncategorized"
2461
+ href="/uncategorized"
2462
2462
  >
2463
2463
  <span
2464
2464
  class="emotion-113"
@@ -20,6 +20,7 @@ jest.mock('@newskit-render/api', () => ({
20
20
  })
21
21
  }),
22
22
  sessionParser: jest.fn(),
23
+ getMainSession: jest.fn(),
23
24
  }))
24
25
 
25
26
  jest.mock('cross-fetch', () =>
@@ -4,13 +4,13 @@ import {
4
4
  Cell,
5
5
  Image,
6
6
  TextBlock,
7
- LinkStandalone,
8
7
  IconFilledKeyboardArrowLeft,
9
8
  styled,
10
9
  getMediaQueryFromTheme,
11
10
  getSizingCssFromTheme,
12
11
  } from 'newskit'
13
12
  import Head from 'next/head'
13
+ import { NextLink } from '@newskit-render/shared-components'
14
14
  import Layout from '../layout'
15
15
  import { headerSize } from '../header'
16
16
 
@@ -46,9 +46,12 @@ const StyledMain = styled.main`
46
46
  max-width: 440px;
47
47
  }
48
48
  `
49
+ const paddingCB = (size: string) => ({
50
+ padding: `${size} 0`,
51
+ })
49
52
 
50
- const StyledLinkStandalone = styled(LinkStandalone)`
51
- padding: 14px 0;
53
+ const StyledLink = styled(NextLink)`
54
+ ${getSizingCssFromTheme(paddingCB, 'sizing030')}
52
55
  `
53
56
 
54
57
  const gridOverride = {
@@ -101,7 +104,8 @@ const FourOhFour = () => (
101
104
  <Block
102
105
  spaceStack={{ xs: 'space070', sm: 'space080', md: 'space090' }}
103
106
  >
104
- <StyledLinkStandalone
107
+ <StyledLink
108
+ type="standalone"
105
109
  data-test-id="StyledLinkStandalone"
106
110
  href="/"
107
111
  external={false}
@@ -114,7 +118,7 @@ const FourOhFour = () => (
114
118
  }}
115
119
  />
116
120
  Back to ...
117
- </StyledLinkStandalone>
121
+ </StyledLink>
118
122
  </Block>
119
123
  </StyledMain>
120
124
  </Cell>
@@ -1,5 +1,5 @@
1
- import { LinkStandalone } from 'newskit'
2
1
  import React from 'react'
2
+ import { NextLink } from '@newskit-render/shared-components'
3
3
 
4
4
  const NavLink = ({
5
5
  href,
@@ -10,7 +10,8 @@ const NavLink = ({
10
10
  href: string
11
11
  ariaLabel?: string
12
12
  }) => (
13
- <LinkStandalone
13
+ <NextLink
14
+ type="standalone"
14
15
  overrides={{
15
16
  typographyPreset: 'utilityMeta020',
16
17
  stylePreset: 'linkStandaloneInverse',
@@ -19,7 +20,7 @@ const NavLink = ({
19
20
  aria-label={ariaLabel}
20
21
  >
21
22
  {buttonText}
22
- </LinkStandalone>
23
+ </NextLink>
23
24
  )
24
25
 
25
26
  export default NavLink
@@ -1,7 +1,6 @@
1
1
  import React, { useContext, useState } from 'react'
2
2
  import {
3
3
  Cell,
4
- LinkStandalone,
5
4
  styled,
6
5
  getColorCssFromTheme,
7
6
  getSizingCssFromTheme,
@@ -13,6 +12,7 @@ import {
13
12
  IconFilledMenu,
14
13
  } from 'newskit'
15
14
  import { PastDueBannerExternal } from '@newskit-render/my-account'
15
+ import { NextLink } from '@newskit-render/shared-components'
16
16
  import {
17
17
  renderCustomLightTheme as LightTheme,
18
18
  renderCustomDarkTheme as DarkTheme,
@@ -180,7 +180,8 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
180
180
  stackDistribution="space-between"
181
181
  wrap="nowrap"
182
182
  >
183
- <LinkStandalone
183
+ <NextLink
184
+ type="standalone"
184
185
  overrides={{ stylePreset: 'linkStandaloneInverse' }}
185
186
  href="/"
186
187
  aria-label="Home Page"
@@ -191,7 +192,7 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
191
192
  <Visible xs sm>
192
193
  <NewsKitLogoShort color="white" size="sizing120" />
193
194
  </Visible>
194
- </LinkStandalone>
195
+ </NextLink>
195
196
  <Stack
196
197
  flow="horizontal-center"
197
198
  stackDistribution="flex-end"
@@ -94,11 +94,11 @@ describe('ArticleSlice', () => {
94
94
  expect(getByText('Layout: LEAD_1_AND_1')).toBeInTheDocument()
95
95
  expect(getByText('test headline').closest('a')).toHaveAttribute(
96
96
  'href',
97
- 'catagory-one/demo-1/test-headline'
97
+ '/catagory-one/demo-1/test-headline'
98
98
  )
99
99
  expect(getByText('test headline 2').closest('a')).toHaveAttribute(
100
100
  'href',
101
- 'catagory-two/demo-2/test-headline-2'
101
+ '/catagory-two/demo-2/test-headline-2'
102
102
  )
103
103
  })
104
104
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { LinkStandalone } from 'newskit'
2
+ import { NextLink } from '@newskit-render/shared-components'
3
3
  import { getBlockProps } from './Block'
4
4
  import { teaserURL } from '../sectionUtils'
5
5
  import { LayoutProps } from './types'
@@ -14,9 +14,9 @@ export const FallBack: React.FC<LayoutProps> = ({ slice }) => (
14
14
  const { id, headline } = teaserProps
15
15
  return (
16
16
  <p key={id || i}>
17
- <LinkStandalone href={teaserURL(teaserProps)}>
17
+ <NextLink href={teaserURL(teaserProps)} type="standalone">
18
18
  {headline}
19
- </LinkStandalone>
19
+ </NextLink>
20
20
  </p>
21
21
  )
22
22
  })}
@@ -1,12 +1,12 @@
1
1
  import React from 'react'
2
2
  import {
3
- LinkStandalone,
4
3
  styled,
5
4
  getColorCssFromTheme,
6
5
  Block,
7
6
  Divider,
8
7
  BlockProps,
9
8
  } from 'newskit'
9
+ import { NextLink } from '@newskit-render/shared-components'
10
10
  import { LayoutProps } from './types'
11
11
  import { CollectionBlock } from '../../../helpers/global-types'
12
12
  import StyledIconFilledChevronRight from '../../common/icons/StyledIconFilledChevronRight'
@@ -30,7 +30,8 @@ const StyledDivider = styled(Divider)`
30
30
  `
31
31
 
32
32
  const link = (href: string, stylePreset?: string) => (
33
- <LinkStandalone
33
+ <NextLink
34
+ type="standalone"
34
35
  href={href}
35
36
  overrides={{
36
37
  stylePreset: stylePreset || 'inkInverse',
@@ -40,7 +41,7 @@ const link = (href: string, stylePreset?: string) => (
40
41
  >
41
42
  Link
42
43
  <StyledIconFilledChevronRight overrides={{ size: 'iconSize020' }} />
43
- </LinkStandalone>
44
+ </NextLink>
44
45
  )
45
46
 
46
47
  type SectionRowProps = {
package/jest.config.js CHANGED
@@ -29,4 +29,8 @@ module.exports = {
29
29
  'jest-watch-typeahead/filename',
30
30
  'jest-watch-typeahead/testname',
31
31
  ],
32
+ moduleNameMapper: {
33
+ '^react$': '<rootDir>/node_modules/react',
34
+ '^newskit$': '<rootDir>/node_modules/newskit',
35
+ },
32
36
  }
@@ -6,12 +6,13 @@ module.exports = {
6
6
  ],
7
7
  globals: {
8
8
  'ts-jest': {
9
- tsConfig: 'tsconfig.test.json'
9
+ tsconfig: 'tsconfig.test.json'
10
10
  }
11
11
  },
12
12
  transform: {
13
13
  '^.+\\.(ts|tsx)$': 'ts-jest',
14
14
  },
15
15
  modulePathIgnorePatterns: [],
16
- moduleFileExtensions: ['ts', 'tsx', 'js', 'json']
16
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
17
+ preset: 'ts-jest/presets/js-with-ts',
17
18
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/core",
3
- "version": "0.136.0",
3
+ "version": "0.138.1",
4
4
  "description": "Newskit Render - Core package",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -28,17 +28,18 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@apollo/client": "^3.4.16",
31
- "@newskit-render/api": "^0.2.0",
32
- "@newskit-render/auth": "^0.19.0",
33
- "@newskit-render/checkout": "^0.2.0",
34
- "@newskit-render/my-account": "^0.102.0",
35
- "@newskit-render/sitemap": "^0.22.0",
36
- "@newskit-render/validation": "^0.22.0",
31
+ "@newskit-render/api": "^0.3.0",
32
+ "@newskit-render/auth": "^0.21.0",
33
+ "@newskit-render/checkout": "^0.4.0",
34
+ "@newskit-render/my-account": "^0.104.1",
35
+ "@newskit-render/shared-components": "^0.8.0",
36
+ "@newskit-render/sitemap": "^0.24.0",
37
+ "@newskit-render/validation": "^0.24.0",
37
38
  "cross-fetch": "^3.1.4",
38
39
  "graphql": "^15.6.0",
39
40
  "newrelic": "^7.1.0",
40
41
  "newskit": "^4.0.1",
41
- "next": "^11.1.2",
42
+ "next": "^12.0.2",
42
43
  "react": "^17.0.1",
43
44
  "react-dom": "^17.0.2",
44
45
  "react-helmet": "^6.1.0",
@@ -3,6 +3,7 @@ import newrelic from 'newrelic'
3
3
  import {
4
4
  createApolloClient,
5
5
  sessionParser,
6
+ getMainSession,
6
7
  ClientTypes,
7
8
  } from '@newskit-render/api'
8
9
  import { GET_UNIVERSAL_ARTICLE } from '../../../queries'
@@ -45,7 +46,8 @@ const Article: React.FC<ArticleSlug> = ({
45
46
 
46
47
  export async function getServerSideProps(context) {
47
48
  const apolloClient = await createApolloClient(ClientTypes.nkapi)
48
- const session = sessionParser(context.req.headers.cookie)
49
+ const mainSession = getMainSession(context.req.headers.cookie)
50
+ const session = sessionParser(mainSession)
49
51
 
50
52
  const {
51
53
  params: { articleId, section, articleSlug },
@@ -2,6 +2,7 @@ import newrelic from 'newrelic'
2
2
  import {
3
3
  createApolloClient,
4
4
  sessionParser,
5
+ getMainSession,
5
6
  ClientTypes,
6
7
  } from '@newskit-render/api'
7
8
  import { GET_PAGE } from '../../queries'
@@ -17,7 +18,8 @@ export async function getServerSideProps(context) {
17
18
  params: { section },
18
19
  } = context
19
20
 
20
- const session = sessionParser(context.req.headers.cookie)
21
+ const mainSession = getMainSession(context.req.headers.cookie)
22
+ const session = sessionParser(mainSession)
21
23
 
22
24
  newrelic.setTransactionName(`Section: ${section}`)
23
25
  const [{ data }, user] = await Promise.all([
@@ -0,0 +1,5 @@
1
+ import { NextApiRequest, NextApiResponse } from 'next'
2
+ import { generateRSASignature } from '@newskit-render/my-account'
3
+
4
+ export default (req: NextApiRequest, res: NextApiResponse) =>
5
+ generateRSASignature(req, res)
package/pages/index.tsx CHANGED
@@ -2,6 +2,7 @@ import newrelic from 'newrelic'
2
2
  import {
3
3
  createApolloClient,
4
4
  sessionParser,
5
+ getMainSession,
5
6
  ClientTypes,
6
7
  } from '@newskit-render/api'
7
8
  import { GET_PAGE } from '../queries'
@@ -15,8 +16,9 @@ export async function getServerSideProps(context) {
15
16
  console.warn('context:')
16
17
  console.warn(context.req && context.req.headers)
17
18
 
18
- const session = sessionParser(context.req.headers.cookie)
19
19
  const apolloClient = await createApolloClient(ClientTypes.nkapi)
20
+ const mainSession = getMainSession(context.req.headers.cookie)
21
+ const session = sessionParser(mainSession)
20
22
 
21
23
  const [{ data }, user] = await Promise.all([
22
24
  apolloClient.query({
package/temp/header.tsx CHANGED
@@ -1,7 +1,6 @@
1
1
  import React, { useState } from 'react'
2
2
  import {
3
3
  Cell,
4
- LinkStandalone,
5
4
  styled,
6
5
  getColorCssFromTheme,
7
6
  getSizingCssFromTheme,
@@ -12,6 +11,7 @@ import {
12
11
  Block,
13
12
  IconFilledMenu,
14
13
  } from 'newskit'
14
+ import { NextLink } from '@newskit-render/shared-components'
15
15
  import { PastDueBannerExternal } from '@newskit-render/my-account'
16
16
  import { MainGrid } from '../layout/MainGrid'
17
17
  import NewsKitLogoFull from '../common/NewskitLogo'
@@ -160,7 +160,8 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
160
160
  stackDistribution="space-between"
161
161
  wrap="nowrap"
162
162
  >
163
- <LinkStandalone
163
+ <NextLink
164
+ type="standalone"
164
165
  overrides={{ stylePreset: 'linkStandaloneInverse' }}
165
166
  href="/"
166
167
  aria-label="Logo Link"
@@ -171,7 +172,7 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
171
172
  <Visible xs sm>
172
173
  <NewsKitLogoShort color="white" size="sizing120" />
173
174
  </Visible>
174
- </LinkStandalone>
175
+ </NextLink>
175
176
  <Stack
176
177
  flow="horizontal-center"
177
178
  stackDistribution="flex-end"
package/tsconfig.json CHANGED
@@ -18,7 +18,8 @@
18
18
  "useUnknownInCatchVariables": false,
19
19
  "exactOptionalPropertyTypes": false,
20
20
  "isolatedModules": true,
21
- "jsx": "preserve"
21
+ "jsx": "preserve",
22
+ "incremental": true
22
23
  },
23
24
  "paths": {
24
25
  "@newskit-render/*": [
@@ -42,4 +43,4 @@
42
43
  ".circleci",
43
44
  "temp"
44
45
  ]
45
- }
46
+ }