Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefer nullish coalescing and optional chaining #6715

Merged
merged 1 commit into from
Jan 19, 2023
Merged

Conversation

mxdvl
Copy link
Contributor

@mxdvl mxdvl commented Dec 7, 2022

What does this change?

Enforce nullish coalescing and optional chaining linting rules.

Why?

They are the default in the @guardian/eslint-config-typescript and convey the intent of the logic better.

Part of #4935 and #5863

@mxdvl mxdvl added the Health label Dec 7, 2022
@mxdvl mxdvl force-pushed the mxdvl/nullish-coalesing branch from f9c1f27 to 39153a8 Compare December 7, 2022 13:01
@github-actions
Copy link

github-actions bot commented Dec 7, 2022

Size Change: -4.1 kB (0%)

Total Size: 2.31 MB

Filename Size Change
dotcom-rendering/dist/7069.variant.********************.js 0 B -5.31 kB (removed) 🏆
ℹ️ View Unchanged
Filename Size Change
dotcom-rendering/dist/1042.variant.********************.js 3.27 kB 0 B
dotcom-rendering/dist/1121.variant.********************.js 4.72 kB 0 B
dotcom-rendering/dist/1129.variant.********************.js 3.44 kB 0 B
dotcom-rendering/dist/1490.variant.********************.js 23.3 kB 0 B
dotcom-rendering/dist/1602.variant.********************.js 3.45 kB 0 B
dotcom-rendering/dist/1619.variant.********************.js 3.14 kB 0 B
dotcom-rendering/dist/1626.modern.********************.js 3.03 kB 0 B
dotcom-rendering/dist/1698.variant.********************.js 2.42 kB 0 B
dotcom-rendering/dist/1880.variant.********************.js 3.79 kB 0 B
dotcom-rendering/dist/1901.legacy.********************.js 2.61 kB 0 B
dotcom-rendering/dist/1901.modern.********************.js 2.6 kB 0 B
dotcom-rendering/dist/1917.variant.********************.js 2.53 kB 0 B
dotcom-rendering/dist/1960.legacy.********************.js 3.22 kB 0 B
dotcom-rendering/dist/208.js 2.01 kB -1 B (0%)
dotcom-rendering/dist/2095.modern.********************.js 2.55 kB 0 B
dotcom-rendering/dist/213.legacy.********************.js 2.57 kB 0 B
dotcom-rendering/dist/213.modern.********************.js 2.56 kB 0 B
dotcom-rendering/dist/2132.legacy.********************.js 4.46 kB 0 B
dotcom-rendering/dist/2136.variant.********************.js 4.48 kB 0 B
dotcom-rendering/dist/2186.legacy.********************.js 3.64 kB 0 B
dotcom-rendering/dist/2221.modern.********************.js 7.97 kB 0 B
dotcom-rendering/dist/2304.variant.********************.js 6.24 kB 0 B
dotcom-rendering/dist/2313.legacy.********************.js 22 kB 0 B
dotcom-rendering/dist/2313.modern.********************.js 20 kB 0 B
dotcom-rendering/dist/2353.modern.********************.js 4.53 kB +46 B (+1%)
dotcom-rendering/dist/2427.legacy.********************.js 3.15 kB 0 B
dotcom-rendering/dist/2427.modern.********************.js 3.09 kB 0 B
dotcom-rendering/dist/2599.modern.********************.js 4.06 kB 0 B
dotcom-rendering/dist/2669.modern.********************.js 5.56 kB 0 B
dotcom-rendering/dist/2705.legacy.********************.js 3.07 kB 0 B
dotcom-rendering/dist/2714.legacy.********************.js 5.14 kB 0 B
dotcom-rendering/dist/2714.variant.********************.js 3.45 kB 0 B
dotcom-rendering/dist/2790.legacy.********************.js 3.17 kB 0 B
dotcom-rendering/dist/2856.legacy.********************.js 3.65 kB 0 B
dotcom-rendering/dist/2867.variant.********************.js 6.39 kB 0 B
dotcom-rendering/dist/290.legacy.********************.js 6.64 kB 0 B
dotcom-rendering/dist/290.modern.********************.js 5.74 kB 0 B
dotcom-rendering/dist/2965.legacy.********************.js 4.85 kB 0 B
dotcom-rendering/dist/3033.variant.********************.js 3.16 kB 0 B
dotcom-rendering/dist/3082.legacy.********************.js 2.98 kB 0 B
dotcom-rendering/dist/3107.modern.********************.js 4.72 kB 0 B
dotcom-rendering/dist/3490.legacy.********************.js 23.7 kB 0 B
dotcom-rendering/dist/3490.modern.********************.js 23.7 kB 0 B
dotcom-rendering/dist/3490.variant.********************.js 23.7 kB 0 B
dotcom-rendering/dist/3584.legacy.********************.js 1.81 kB 0 B
dotcom-rendering/dist/3584.modern.********************.js 1.81 kB 0 B
dotcom-rendering/dist/3584.variant.********************.js 1.81 kB 0 B
dotcom-rendering/dist/3768.modern.********************.js 2.82 kB 0 B
dotcom-rendering/dist/3998.legacy.********************.js 3.47 kB +7 B (0%)
dotcom-rendering/dist/4009.modern.********************.js 3.21 kB 0 B
dotcom-rendering/dist/4010.legacy.********************.js 4.88 kB 0 B
dotcom-rendering/dist/4031.variant.********************.js 2.58 kB 0 B
dotcom-rendering/dist/4145.legacy.********************.js 2.7 kB 0 B
dotcom-rendering/dist/4180.variant.********************.js 5.06 kB +9 B (0%)
dotcom-rendering/dist/4256.modern.********************.js 3.21 kB 0 B
dotcom-rendering/dist/4359.modern.********************.js 2.9 kB 0 B
dotcom-rendering/dist/4466.legacy.********************.js 21.6 kB 0 B
dotcom-rendering/dist/463.js 10.5 kB 0 B
dotcom-rendering/dist/4655.legacy.********************.js 3.85 kB 0 B
dotcom-rendering/dist/4673.legacy.********************.js 3.88 kB 0 B
dotcom-rendering/dist/4730.variant.********************.js 3.96 kB +14 B (0%)
dotcom-rendering/dist/4783.variant.********************.js 3.45 kB 0 B
dotcom-rendering/dist/4850.modern.********************.js 4.3 kB 0 B
dotcom-rendering/dist/490.js 2.57 kB 0 B
dotcom-rendering/dist/4983.modern.********************.js 2.55 kB 0 B
dotcom-rendering/dist/5.js 1.13 kB 0 B
dotcom-rendering/dist/5120.modern.********************.js 3.21 kB 0 B
dotcom-rendering/dist/5166.legacy.********************.js 3.46 kB 0 B
dotcom-rendering/dist/5166.modern.********************.js 3.38 kB 0 B
dotcom-rendering/dist/5237.variant.********************.js 2.44 kB 0 B
dotcom-rendering/dist/5379.variant.********************.js 3.29 kB 0 B
dotcom-rendering/dist/5459.variant.********************.js 5.22 kB -4 B (0%)
dotcom-rendering/dist/5462.variant.********************.js 2.4 kB 0 B
dotcom-rendering/dist/551.variant.********************.js 2.51 kB 0 B
dotcom-rendering/dist/5578.legacy.********************.js 5.06 kB 0 B
dotcom-rendering/dist/5578.modern.********************.js 5.02 kB 0 B
dotcom-rendering/dist/5718.variant.********************.js 2.36 kB 0 B
dotcom-rendering/dist/5761.modern.********************.js 22.7 kB 0 B
dotcom-rendering/dist/597.variant.********************.js 2.43 kB 0 B
dotcom-rendering/dist/598.legacy.********************.js 2.81 kB +38 B (+1%)
dotcom-rendering/dist/6131.legacy.********************.js 4.3 kB 0 B
dotcom-rendering/dist/6131.modern.********************.js 4.3 kB 0 B
dotcom-rendering/dist/6131.variant.********************.js 4.3 kB 0 B
dotcom-rendering/dist/6201.variant.********************.js 3.05 kB 0 B
dotcom-rendering/dist/6255.modern.********************.js 7.09 kB 0 B
dotcom-rendering/dist/6345.variant.********************.js 4.68 kB 0 B
dotcom-rendering/dist/6587.modern.********************.js 2.96 kB 0 B
dotcom-rendering/dist/6695.variant.********************.js 2.58 kB 0 B
dotcom-rendering/dist/6880.modern.********************.js 3.29 kB 0 B
dotcom-rendering/dist/7320.legacy.********************.js 6.05 kB 0 B
dotcom-rendering/dist/7320.modern.********************.js 5.64 kB 0 B
dotcom-rendering/dist/7349.variant.********************.js 2.56 kB 0 B
dotcom-rendering/dist/7521.variant.********************.js 11.2 kB 0 B
dotcom-rendering/dist/7576.legacy.********************.js 7.76 kB 0 B
dotcom-rendering/dist/7576.modern.********************.js 6.18 kB 0 B
dotcom-rendering/dist/7635.legacy.********************.js 2.61 kB 0 B
dotcom-rendering/dist/7750.variant.********************.js 2.54 kB 0 B
dotcom-rendering/dist/7757.legacy.********************.js 3.85 kB 0 B
dotcom-rendering/dist/7927.legacy.********************.js 1.88 kB 0 B
dotcom-rendering/dist/7969.legacy.********************.js 3.22 kB 0 B
dotcom-rendering/dist/7983.modern.********************.js 4.05 kB 0 B
dotcom-rendering/dist/8096.variant.********************.js 2.56 kB 0 B
dotcom-rendering/dist/8159.variant.********************.js 21.3 kB 0 B
dotcom-rendering/dist/8198.legacy.********************.js 3.85 kB 0 B
dotcom-rendering/dist/8359.legacy.********************.js 2.52 kB 0 B
dotcom-rendering/dist/8382.modern.********************.js 7.23 kB 0 B
dotcom-rendering/dist/8462.modern.********************.js 5.71 kB 0 B
dotcom-rendering/dist/8469.modern.********************.js 2.56 kB 0 B
dotcom-rendering/dist/8616.variant.********************.js 2.89 kB 0 B
dotcom-rendering/dist/8639.legacy.********************.js 3.11 kB 0 B
dotcom-rendering/dist/8639.modern.********************.js 3.04 kB 0 B
dotcom-rendering/dist/8731.legacy.********************.js 3.04 kB 0 B
dotcom-rendering/dist/8829.modern.********************.js 6.61 kB 0 B
dotcom-rendering/dist/8887.legacy.********************.js 3.2 kB 0 B
dotcom-rendering/dist/8887.modern.********************.js 3.18 kB 0 B
dotcom-rendering/dist/8907.modern.********************.js 3.01 kB 0 B
dotcom-rendering/dist/9198.variant.********************.js 3.61 kB 0 B
dotcom-rendering/dist/9241.modern.********************.js 3.43 kB 0 B
dotcom-rendering/dist/9353.variant.********************.js 2.62 kB 0 B
dotcom-rendering/dist/9359.legacy.********************.js 7.26 kB 0 B
dotcom-rendering/dist/938.js 9 kB 0 B
dotcom-rendering/dist/9381.modern.********************.js 2.42 kB 0 B
dotcom-rendering/dist/9610.legacy.********************.js 4.02 kB 0 B
dotcom-rendering/dist/9610.modern.********************.js 3.94 kB 0 B
dotcom-rendering/dist/9710.variant.********************.js 5.82 kB 0 B
dotcom-rendering/dist/9789.legacy.********************.js 8.36 kB -2 B (0%)
dotcom-rendering/dist/9861.variant.********************.js 3.5 kB 0 B
dotcom-rendering/dist/AlreadyVisited-importable.legacy.********************.js 410 B +19 B (+5%) 🔍
dotcom-rendering/dist/AlreadyVisited-importable.modern.********************.js 411 B +23 B (+6%) 🔍
dotcom-rendering/dist/AlreadyVisited-importable.variant.********************.js 411 B +23 B (+6%) 🔍
dotcom-rendering/dist/atomIframe.legacy.********************.js 815 B +9 B (+1%)
dotcom-rendering/dist/atomIframe.modern.********************.js 769 B +10 B (+1%)
dotcom-rendering/dist/atomIframe.variant.********************.js 782 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.legacy.********************.js 514 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.modern.********************.js 459 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.variant.********************.js 466 B 0 B
dotcom-rendering/dist/bootCmp.legacy.********************.js 12.7 kB 0 B
dotcom-rendering/dist/bootCmp.modern.********************.js 8.98 kB 0 B
dotcom-rendering/dist/bootCmp.variant.********************.js 8.94 kB +54 B (+1%)
dotcom-rendering/dist/Branding-importable.legacy.********************.js 4.91 kB 0 B
dotcom-rendering/dist/Branding-importable.modern.********************.js 4.9 kB -1 B (0%)
dotcom-rendering/dist/Branding-importable.variant.********************.js 5.15 kB +1 B (0%)
dotcom-rendering/dist/braze-web-sdk-core.legacy.********************.js 36.9 kB 0 B
dotcom-rendering/dist/braze-web-sdk-core.modern.********************.js 36.9 kB 0 B
dotcom-rendering/dist/braze-web-sdk-core.variant.********************.js 36.9 kB 0 B
dotcom-rendering/dist/BrazeMessaging-importable.legacy.********************.js 6.09 kB +10 B (0%)
dotcom-rendering/dist/BrazeMessaging-importable.modern.********************.js 5.52 kB 0 B
dotcom-rendering/dist/BrazeMessaging-importable.variant.********************.js 2.13 kB +20 B (+1%)
dotcom-rendering/dist/CalloutBlockComponent-importable.legacy.********************.js 5.35 kB 0 B
dotcom-rendering/dist/CalloutBlockComponent-importable.modern.********************.js 5.06 kB 0 B
dotcom-rendering/dist/CalloutBlockComponent-importable.variant.********************.js 5.57 kB 0 B
dotcom-rendering/dist/CalloutEmbedBlockComponent-importable.legacy.********************.js 6.14 kB +86 B (+1%)
dotcom-rendering/dist/CalloutEmbedBlockComponent-importable.modern.********************.js 5.74 kB +40 B (+1%)
dotcom-rendering/dist/CalloutEmbedBlockComponent-importable.variant.********************.js 7.08 kB 0 B
dotcom-rendering/dist/Carousel-importable.legacy.********************.js 4.47 kB 0 B
dotcom-rendering/dist/Carousel-importable.modern.********************.js 3.38 kB 0 B
dotcom-rendering/dist/Carousel-importable.variant.********************.js 1.75 kB 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.legacy.********************.js 490 B 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.modern.********************.js 494 B 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.variant.********************.js 476 B 0 B
dotcom-rendering/dist/CommentCount-importable.legacy.********************.js 1.5 kB 0 B
dotcom-rendering/dist/CommentCount-importable.modern.********************.js 1.45 kB 0 B
dotcom-rendering/dist/CommentCount-importable.variant.********************.js 1.65 kB 0 B
dotcom-rendering/dist/CommercialMetrics-importable.legacy.********************.js 4.18 kB 0 B
dotcom-rendering/dist/CommercialMetrics-importable.modern.********************.js 3.93 kB +10 B (0%)
dotcom-rendering/dist/CommercialMetrics-importable.variant.********************.js 3.95 kB +16 B (0%)
dotcom-rendering/dist/CoreVitals-importable.legacy.********************.js 2.6 kB -2 B (0%)
dotcom-rendering/dist/CoreVitals-importable.modern.********************.js 2.39 kB -1 B (0%)
dotcom-rendering/dist/CoreVitals-importable.variant.********************.js 2.41 kB 0 B
dotcom-rendering/dist/debug.js 1.75 kB 0 B
dotcom-rendering/dist/DiscussionContainer-importable.legacy.********************.js 3.98 kB +74 B (+2%)
dotcom-rendering/dist/DiscussionContainer-importable.modern.********************.js 3.75 kB +74 B (+2%)
dotcom-rendering/dist/DiscussionContainer-importable.variant.********************.js 4.04 kB 0 B
dotcom-rendering/dist/DiscussionMeta-importable.legacy.********************.js 1.92 kB +10 B (+1%)
dotcom-rendering/dist/DiscussionMeta-importable.modern.********************.js 1.89 kB +14 B (+1%)
dotcom-rendering/dist/DiscussionMeta-importable.variant.********************.js 2.1 kB +10 B (0%)
dotcom-rendering/dist/DocumentBlockComponent-importable.legacy.********************.js 4.13 kB 0 B
dotcom-rendering/dist/DocumentBlockComponent-importable.modern.********************.js 3.43 kB 0 B
dotcom-rendering/dist/DocumentBlockComponent-importable.variant.********************.js 3.8 kB +5 B (0%)
dotcom-rendering/dist/dynamicImport.legacy.********************.js 2.07 kB 0 B
dotcom-rendering/dist/dynamicImport.modern.********************.js 2 kB 0 B
dotcom-rendering/dist/dynamicImport.variant.********************.js 2.03 kB 0 B
dotcom-rendering/dist/EditionDropdown-importable.legacy.********************.js 1.92 kB 0 B
dotcom-rendering/dist/EditionDropdown-importable.modern.********************.js 3.73 kB 0 B
dotcom-rendering/dist/EditionDropdown-importable.variant.********************.js 1.39 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.legacy.********************.js 4.57 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.modern.********************.js 3.86 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.variant.********************.js 4.35 kB 0 B
dotcom-rendering/dist/embedIframe.legacy.********************.js 817 B +7 B (+1%)
dotcom-rendering/dist/embedIframe.modern.********************.js 773 B +10 B (+1%)
dotcom-rendering/dist/embedIframe.variant.********************.js 788 B +10 B (+1%)
dotcom-rendering/dist/EnhancePinnedPost-importable.legacy.********************.js 2.87 kB +6 B (0%)
dotcom-rendering/dist/EnhancePinnedPost-importable.modern.********************.js 2.22 kB 0 B
dotcom-rendering/dist/EnhancePinnedPost-importable.variant.********************.js 2.27 kB +14 B (+1%)
dotcom-rendering/dist/FetchCommentCounts-importable.legacy.********************.js 2.32 kB 0 B
dotcom-rendering/dist/FetchCommentCounts-importable.modern.********************.js 1.68 kB 0 B
dotcom-rendering/dist/FetchCommentCounts-importable.variant.********************.js 1.83 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.legacy.********************.js 2.23 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.modern.********************.js 1.46 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.variant.********************.js 3.97 kB 0 B
dotcom-rendering/dist/FilterButton-importable.legacy.********************.js 3.28 kB 0 B
dotcom-rendering/dist/FilterButton-importable.modern.********************.js 3.22 kB 0 B
dotcom-rendering/dist/FilterButton-importable.variant.********************.js 1.1 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.legacy.********************.js 4.66 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.modern.********************.js 4.01 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.variant.********************.js 4.46 kB 0 B
dotcom-rendering/dist/FocusStyles-importable.legacy.********************.js 612 B 0 B
dotcom-rendering/dist/FocusStyles-importable.modern.********************.js 553 B 0 B
dotcom-rendering/dist/FocusStyles-importable.variant.********************.js 509 B 0 B
dotcom-rendering/dist/frontend.server.js 435 kB +96 B (0%)
dotcom-rendering/dist/ga.legacy.********************.js 3.38 kB 0 B
dotcom-rendering/dist/ga.modern.********************.js 2.84 kB 0 B
dotcom-rendering/dist/ga.variant.********************.js 2.89 kB +4 B (0%)
dotcom-rendering/dist/GetCricketScoreboard-importable.legacy.********************.js 2.04 kB +3 B (0%)
dotcom-rendering/dist/GetCricketScoreboard-importable.modern.********************.js 1.96 kB 0 B
dotcom-rendering/dist/GetCricketScoreboard-importable.variant.********************.js 2.19 kB +4 B (0%)
dotcom-rendering/dist/GetMatchNav-importable.legacy.********************.js 7.94 kB +14 B (0%)
dotcom-rendering/dist/GetMatchNav-importable.modern.********************.js 7.42 kB 0 B
dotcom-rendering/dist/GetMatchNav-importable.variant.********************.js 10.3 kB +22 B (0%)
dotcom-rendering/dist/GetMatchStats-importable.legacy.********************.js 5.09 kB 0 B
dotcom-rendering/dist/GetMatchStats-importable.modern.********************.js 4.36 kB 0 B
dotcom-rendering/dist/GetMatchStats-importable.variant.********************.js 5.14 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.legacy.********************.js 3.44 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.modern.********************.js 3.33 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.variant.********************.js 3.54 kB +9 B (0%)
dotcom-rendering/dist/guardian-braze-components-banner.legacy.********************.js 11.5 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.modern.********************.js 11.5 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.variant.********************.js 11.8 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.legacy.********************.js 9.57 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.modern.********************.js 9.46 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.variant.********************.js 9.71 kB 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.legacy.********************.js 492 B 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.modern.********************.js 496 B 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.variant.********************.js 475 B 0 B
dotcom-rendering/dist/HeaderTopBar-importable.legacy.********************.js 7.61 kB -1 B (0%)
dotcom-rendering/dist/HeaderTopBar-importable.modern.********************.js 12.8 kB +9 B (0%)
dotcom-rendering/dist/HeaderTopBar-importable.variant.********************.js 8.22 kB 0 B
dotcom-rendering/dist/initDiscussion.legacy.********************.js 27 kB +6 B (0%)
dotcom-rendering/dist/initDiscussion.modern.********************.js 24.5 kB +4 B (0%)
dotcom-rendering/dist/initDiscussion.variant.********************.js 24.2 kB +21 B (0%)
dotcom-rendering/dist/InstagramBlockComponent-importable.legacy.********************.js 4.2 kB 0 B
dotcom-rendering/dist/InstagramBlockComponent-importable.modern.********************.js 3.53 kB +16 B (0%)
dotcom-rendering/dist/InstagramBlockComponent-importable.variant.********************.js 3.85 kB +17 B (0%)
dotcom-rendering/dist/InteractiveBlockComponent-importable.legacy.********************.js 5.42 kB 0 B
dotcom-rendering/dist/InteractiveBlockComponent-importable.modern.********************.js 4.24 kB 0 B
dotcom-rendering/dist/InteractiveBlockComponent-importable.variant.********************.js 5.8 kB +12 B (0%)
dotcom-rendering/dist/InteractiveContentsBlockComponent-importable.legacy.********************.js 5.45 kB 0 B
dotcom-rendering/dist/InteractiveContentsBlockComponent-importable.modern.********************.js 4.76 kB +3 B (0%)
dotcom-rendering/dist/InteractiveContentsBlockComponent-importable.variant.********************.js 5.16 kB 0 B
dotcom-rendering/dist/islands.legacy.********************.js 27.7 kB +6 B (0%)
dotcom-rendering/dist/islands.modern.********************.js 24.8 kB 0 B
dotcom-rendering/dist/islands.variant.********************.js 24.5 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.legacy.********************.js 3.21 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.modern.********************.js 3.11 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.variant.********************.js 3.91 kB 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.legacy.********************.js 499 B 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.modern.********************.js 500 B 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.variant.********************.js 484 B 0 B
dotcom-rendering/dist/LabsHeader-importable.legacy.********************.js 4.57 kB 0 B
dotcom-rendering/dist/LabsHeader-importable.modern.********************.js 5.34 kB 0 B
dotcom-rendering/dist/LabsHeader-importable.variant.********************.js 4.59 kB 0 B
dotcom-rendering/dist/LiveBlogEpic-importable.legacy.********************.js 2.06 kB 0 B
dotcom-rendering/dist/LiveBlogEpic-importable.modern.********************.js 3.9 kB +41 B (+1%)
dotcom-rendering/dist/LiveBlogEpic-importable.variant.********************.js 2.15 kB 0 B
dotcom-rendering/dist/Liveness-importable.legacy.********************.js 4.34 kB 0 B
dotcom-rendering/dist/Liveness-importable.modern.********************.js 3.65 kB 0 B
dotcom-rendering/dist/Liveness-importable.variant.********************.js 4.08 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.legacy.********************.js 2.99 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.modern.********************.js 2.84 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.variant.********************.js 3.43 kB 0 B
dotcom-rendering/dist/MostViewedFooter-importable.legacy.********************.js 5.47 kB 0 B
dotcom-rendering/dist/MostViewedFooter-importable.modern.********************.js 3.24 kB 0 B
dotcom-rendering/dist/MostViewedFooter-importable.variant.********************.js 7.03 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.legacy.********************.js 7.79 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.modern.********************.js 1.81 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.variant.********************.js 9.43 kB +13 B (0%)
dotcom-rendering/dist/MostViewedRightWrapper-importable.legacy.********************.js 4.14 kB 0 B
dotcom-rendering/dist/MostViewedRightWrapper-importable.modern.********************.js 3.1 kB 0 B
dotcom-rendering/dist/MostViewedRightWrapper-importable.variant.********************.js 5.94 kB 0 B
dotcom-rendering/dist/newsletterEmbedIframe.legacy.********************.js 984 B 0 B
dotcom-rendering/dist/newsletterEmbedIframe.modern.********************.js 946 B 0 B
dotcom-rendering/dist/newsletterEmbedIframe.variant.********************.js 960 B +11 B (+1%)
dotcom-rendering/dist/OnwardsUpper-importable.legacy.********************.js 7.27 kB 0 B
dotcom-rendering/dist/OnwardsUpper-importable.modern.********************.js 6.29 kB 0 B
dotcom-rendering/dist/OnwardsUpper-importable.variant.********************.js 7.58 kB -2 B (0%)
dotcom-rendering/dist/ophan.legacy.********************.js 8.44 kB 0 B
dotcom-rendering/dist/ophan.modern.********************.js 7.83 kB 0 B
dotcom-rendering/dist/ophan.variant.********************.js 7.65 kB 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.legacy.********************.js 500 B 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.modern.********************.js 502 B 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.variant.********************.js 483 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.legacy.********************.js 493 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.modern.********************.js 496 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.variant.********************.js 478 B 0 B
dotcom-rendering/dist/PulsingDot-importable.legacy.********************.js 2.41 kB 0 B
dotcom-rendering/dist/PulsingDot-importable.modern.********************.js 1.76 kB 0 B
dotcom-rendering/dist/PulsingDot-importable.variant.********************.js 1.88 kB 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.legacy.********************.js 491 B 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.modern.********************.js 496 B 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.variant.********************.js 478 B 0 B
dotcom-rendering/dist/ReaderRevenueDev-importable.legacy.********************.js 488 B +18 B (+4%)
dotcom-rendering/dist/ReaderRevenueDev-importable.modern.********************.js 473 B 0 B
dotcom-rendering/dist/ReaderRevenueDev-importable.variant.********************.js 477 B 0 B
dotcom-rendering/dist/readerRevenueDevUtils.legacy.********************.js 4 kB +13 B (0%)
dotcom-rendering/dist/readerRevenueDevUtils.modern.********************.js 3.28 kB +13 B (0%)
dotcom-rendering/dist/readerRevenueDevUtils.variant.********************.js 3.41 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.legacy.********************.js 6.64 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.modern.********************.js 6.12 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.variant.********************.js 6.43 kB +16 B (0%)
dotcom-rendering/dist/RecipeMultiplier-importable.legacy.********************.js 4.75 kB 0 B
dotcom-rendering/dist/RecipeMultiplier-importable.modern.********************.js 3.94 kB 0 B
dotcom-rendering/dist/RecipeMultiplier-importable.variant.********************.js 4.26 kB 0 B
dotcom-rendering/dist/relativeTime.legacy.********************.js 1.26 kB 0 B
dotcom-rendering/dist/relativeTime.modern.********************.js 1.22 kB 0 B
dotcom-rendering/dist/relativeTime.variant.********************.js 1.22 kB 0 B
dotcom-rendering/dist/RichLinkComponent-importable.legacy.********************.js 4.82 kB -13 B (0%)
dotcom-rendering/dist/RichLinkComponent-importable.modern.********************.js 5.38 kB 0 B
dotcom-rendering/dist/RichLinkComponent-importable.variant.********************.js 3.88 kB 0 B
dotcom-rendering/dist/SecureSignupIframe-importable.legacy.********************.js 2.95 kB 0 B
dotcom-rendering/dist/SecureSignupIframe-importable.modern.********************.js 2.65 kB 0 B
dotcom-rendering/dist/SecureSignupIframe-importable.variant.********************.js 7.83 kB 0 B
dotcom-rendering/dist/sentry.legacy.********************.js 713 B 0 B
dotcom-rendering/dist/sentry.modern.********************.js 718 B 0 B
dotcom-rendering/dist/sentry.variant.********************.js 718 B 0 B
dotcom-rendering/dist/sentryLoader.legacy.********************.js 14.5 kB 0 B
dotcom-rendering/dist/sentryLoader.modern.********************.js 10.4 kB 0 B
dotcom-rendering/dist/sentryLoader.variant.********************.js 10.3 kB 0 B
dotcom-rendering/dist/SetABTests-importable.legacy.********************.js 5.82 kB 0 B
dotcom-rendering/dist/SetABTests-importable.modern.********************.js 5.58 kB +14 B (0%)
dotcom-rendering/dist/SetABTests-importable.variant.********************.js 5.64 kB +14 B (0%)
dotcom-rendering/dist/ShareCount-importable.legacy.********************.js 1.63 kB 0 B
dotcom-rendering/dist/ShareCount-importable.modern.********************.js 1.57 kB 0 B
dotcom-rendering/dist/ShareCount-importable.variant.********************.js 1.76 kB 0 B
dotcom-rendering/dist/shimport.legacy.********************.js 2.79 kB 0 B
dotcom-rendering/dist/shimport.modern.********************.js 2.79 kB 0 B
dotcom-rendering/dist/shimport.variant.********************.js 2.78 kB 0 B
dotcom-rendering/dist/ShowHideContainers-importable.legacy.********************.js 1.37 kB 0 B
dotcom-rendering/dist/ShowHideContainers-importable.modern.********************.js 728 B 0 B
dotcom-rendering/dist/ShowHideContainers-importable.variant.********************.js 729 B 0 B
dotcom-rendering/dist/ShowMore-importable.legacy.********************.js 4.42 kB +18 B (0%)
dotcom-rendering/dist/ShowMore-importable.modern.********************.js 3.66 kB 0 B
dotcom-rendering/dist/ShowMore-importable.variant.********************.js 6.05 kB 0 B
dotcom-rendering/dist/SignInGateMain.legacy.********************.js 4.91 kB 0 B
dotcom-rendering/dist/SignInGateMain.modern.********************.js 4.79 kB 0 B
dotcom-rendering/dist/SignInGateMain.variant.********************.js 4.51 kB 0 B
dotcom-rendering/dist/SignInGateSelector-importable.legacy.********************.js 5.21 kB 0 B
dotcom-rendering/dist/SignInGateSelector-importable.modern.********************.js 4.94 kB +62 B (+1%)
dotcom-rendering/dist/SignInGateSelector-importable.variant.********************.js 4.11 kB 0 B
dotcom-rendering/dist/SlotBodyEnd-importable.legacy.********************.js 6.01 kB 0 B
dotcom-rendering/dist/SlotBodyEnd-importable.modern.********************.js 2.62 kB 0 B
dotcom-rendering/dist/SlotBodyEnd-importable.variant.********************.js 2.79 kB 0 B
dotcom-rendering/dist/Snow-importable.legacy.********************.js 5.48 kB 0 B
dotcom-rendering/dist/Snow-importable.modern.********************.js 4.83 kB 0 B
dotcom-rendering/dist/Snow-importable.variant.********************.js 5.3 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.legacy.********************.js 2.91 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.modern.********************.js 2.77 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.variant.********************.js 3.27 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.legacy.********************.js 10.9 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.modern.********************.js 7.18 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.variant.********************.js 7.39 kB +29 B (0%)
dotcom-rendering/dist/SubNav-importable.legacy.********************.js 1.42 kB 0 B
dotcom-rendering/dist/SubNav-importable.modern.********************.js 1.38 kB 0 B
dotcom-rendering/dist/SubNav-importable.variant.********************.js 1.74 kB 0 B
dotcom-rendering/dist/SupportTheG-importable.legacy.********************.js 6.59 kB +7 B (0%)
dotcom-rendering/dist/SupportTheG-importable.modern.********************.js 6.09 kB 0 B
dotcom-rendering/dist/SupportTheG-importable.variant.********************.js 6.4 kB 0 B
dotcom-rendering/dist/TableOfContents-importable.legacy.********************.js 1.04 kB 0 B
dotcom-rendering/dist/TableOfContents-importable.modern.********************.js 1.01 kB 0 B
dotcom-rendering/dist/TableOfContents-importable.variant.********************.js 1.24 kB 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.legacy.********************.js 492 B 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.modern.********************.js 493 B 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.variant.********************.js 477 B 0 B
dotcom-rendering/dist/TopicFilterBank-importable.legacy.********************.js 1.62 kB 0 B
dotcom-rendering/dist/TopicFilterBank-importable.modern.********************.js 1.57 kB 0 B
dotcom-rendering/dist/TopicFilterBank-importable.variant.********************.js 2.28 kB 0 B
dotcom-rendering/dist/TopRightAdSlot-importable.legacy.********************.js 1.62 kB 0 B
dotcom-rendering/dist/TopRightAdSlot-importable.modern.********************.js 1.62 kB 0 B
dotcom-rendering/dist/TopRightAdSlot-importable.variant.********************.js 1.79 kB 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.legacy.********************.js 1.89 kB 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.modern.********************.js 1.91 kB 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.variant.********************.js 2.12 kB 0 B
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.legacy.********************.js 4.22 kB +12 B (0%)
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.modern.********************.js 3.54 kB +13 B (0%)
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.variant.********************.js 3.86 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.legacy.********************.js 3 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.modern.********************.js 2.86 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.variant.********************.js 3.45 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.legacy.********************.js 4.01 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.modern.********************.js 3.32 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.variant.********************.js 3.74 kB 0 B
dotcom-rendering/dist/YoutubeBlockComponent-importable.legacy.********************.js 6.55 kB 0 B
dotcom-rendering/dist/YoutubeBlockComponent-importable.modern.********************.js 6.27 kB +33 B (+1%)
dotcom-rendering/dist/YoutubeBlockComponent-importable.variant.********************.js 6.83 kB 0 B

compressed-size-action

@github-actions
Copy link

github-actions bot commented Dec 7, 2022

⚡️ Lighthouse report for the changes in this PR

Lighthouse tested 2 URLs

⚠️ Budget exceeded for 2 of 12 audits.

Report for Article

tested url https://www.theguardian.com/commentisfree/2020/feb/08/hungary-now-for-the-new-right-what-venezuela-once-was-for-the-left

Category Status Expected Actual
First Contentful Paint 1500 1479
Largest Contentful Paint 3000 1942
Time to Interactive 3500 2555
Cumulative Layout Shift ⚠️ 0.002 0.016917
Total Blocking Time 219 45
accessibility 0.97 1.000000

Report for Front

tested url https://www.theguardian.com/uk

Category Status Expected Actual
First Contentful Paint 1500 1420
Largest Contentful Paint 3000 1845
Time to Interactive 3500 2046
Cumulative Layout Shift ⚠️ 0.002 0.013381
Total Blocking Time 716 254
accessibility 0.97 0.980000

@mxdvl mxdvl force-pushed the mxdvl/nullish-coalesing branch 2 times, most recently from dfdbd9d to f6a9c35 Compare December 7, 2022 15:24
Copy link
Contributor Author

@mxdvl mxdvl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some pointers below

@@ -11,7 +11,7 @@ const captionStyle = css`
padding-top: 10px;
${textSans.xxsmall()};
word-wrap: break-word;
color: ${text.supporting};
color: ${neutral[46]};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pass-by refactor…

Comment on lines 28 to 32
{formField.options.map((option, index) => (
<option key={index} value={option.value}>
{option.value}
</option>
))}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The compiler thinks this is always defined

Comment on lines +31 to +32
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- window.guardian may be missing?
if (window?.guardian) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about that one, but I assumed it was added for a reason

Comment on lines +231 to +233
const isPaidContent = !!tags.find(
({ id }) => id === 'tone/advertisement-features',
);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like we use this in several places…

@@ -78,7 +78,7 @@ type Props = {
* @see https://github.com/guardian/dotcom-rendering/blob/main/dotcom-rendering/src/web/browser/debug/README.md
*/
containerName?: string;
/** Fronts containers can have their styling overidden using a `containerPalette` */
/** Fronts containers can have their styling overridden using a `containerPalette` */
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pass-by refactor

Comment on lines +470 to +463
typeof CAPIArticle.starRating ===
'number'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually what we want, as star rating could be 0

Comment on lines +7 to +9
const fileAsBase64 = reader.result
?.toString()
.split(';base64,')[1];
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The compiler thinks reader is always defined

@mxdvl mxdvl marked this pull request as ready for review December 7, 2022 15:26
@mxdvl mxdvl requested a review from a team as a code owner December 7, 2022 15:26
@mxdvl mxdvl force-pushed the mxdvl/nullish-coalesing branch from f6a9c35 to 6cae568 Compare December 7, 2022 15:34
@@ -6,10 +6,12 @@ export const findPillar: (
tags?: TagType[],
) => ArticleTheme | undefined = (name, tags?) => {
// Flag paid content for Labs pillar (for styling purposes)
const isPaidContent = (tag: TagType) =>
tag.type === 'Tone' && tag.id === 'tone/advertisement-features';
const hasPaidContent = !!tags?.some(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't this coerce tags into a boolean? can you call some on that?

Copy link
Contributor Author

@mxdvl mxdvl Dec 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@github-actions
Copy link

"This PR is stale because it has been open 30 days with no activity. Unless a comment is added or the “stale” label removed, this will be closed in 3 days"

@github-actions github-actions bot added the Stale label Jan 19, 2023
Comment on lines +26 to 27
// This is not safe to remove whilst we have noUncheckedIndexedAccess
'@typescript-eslint/no-unnecessary-condition': 'warn',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this change now then?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting on your PR 😉

Copy link
Contributor

@OllysCoding OllysCoding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :) Nice tidy!

Copy link
Member

@AshCorr AshCorr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it!

@mxdvl mxdvl force-pushed the mxdvl/nullish-coalesing branch from 9d72165 to 2d22f28 Compare January 19, 2023 16:50
The following rules are now reported as errors:
- nullish coalescing
- optional chaining

This aligns us closer to the Guardian’s house rules
@mxdvl mxdvl force-pushed the mxdvl/nullish-coalesing branch from 2d22f28 to 605a5f6 Compare January 19, 2023 17:19
@mxdvl mxdvl merged commit 94ca634 into main Jan 19, 2023
@mxdvl mxdvl deleted the mxdvl/nullish-coalesing branch January 19, 2023 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants