Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.

Sync with reactjs.org @ f37ef36b #293

Open
wants to merge 1,330 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1330 commits
Select commit Hold shift + click to select a range
2246611
fix: correct order of future conference dates content (#5307)
techieeliot Dec 6, 2022
640f42e
[Beta] useSyncExternalStore API (#5325)
gaearon Dec 7, 2022
2e539fa
[Beta] Anchor for individual challenges & deepdive (#5318)
ibarapascal Dec 7, 2022
51f0d2d
[API] Legacy renderTo* SSR methods (#5326)
gaearon Dec 7, 2022
583f9a7
Add missing stub for Profiler
gaearon Dec 7, 2022
e342965
Consistency naming tweaks
gaearon Dec 8, 2022
47916ff
[Beta] Fix broken links
gaearon Dec 8, 2022
c086b13
[beta] Add unmountComponentAtNode (#5328)
rickhanlonii Dec 8, 2022
a08caba
[Beta] Docs Contributors page (#5330)
gaearon Dec 8, 2022
a234788
Update reusing-logic-with-custom-hooks.md (#5331)
zetaraku Dec 8, 2022
e544ae4
Update team pages (#5329)
josephsavona Dec 8, 2022
cc1687b
[Beta] Fix a word from useMemo to useCallback (#5334)
dhavall08 Dec 8, 2022
3bd9bed
[Beta] renderToPipeableStream API (#5339)
gaearon Dec 9, 2022
0e508cb
Typo
gaearon Dec 9, 2022
d1a3e17
Typo
gaearon Dec 9, 2022
e6587b3
edits
gaearon Dec 11, 2022
b2e8dbf
[Beta] renderToReadableStream API (#5346)
gaearon Dec 11, 2022
01ec244
fix typo (#5343)
shuding Dec 11, 2022
84efcd3
[Beta] Edits to hydrateRoot
gaearon Dec 11, 2022
c883f62
typo
gaearon Dec 11, 2022
8bf3b48
[Beta] startTransition API (#5354)
gaearon Dec 12, 2022
c68c36f
[Beta] Profiler API (#5355)
gaearon Dec 12, 2022
45b1068
[Beta] Fix some code blocks
gaearon Dec 12, 2022
6031b00
[beta] Fix Chai recipe in docs (#5342)
ashrene-roy Dec 12, 2022
cfa9498
Fix link to new URL (#5281)
castor4bit Dec 12, 2022
ca61341
[Beta] Fixed a dead link in useTransition.md (#5356)
mihail-8480 Dec 13, 2022
bad27d1
[beta] Add StrictMode docs (#5340)
rickhanlonii Dec 13, 2022
c2566a5
[beta] Add findDOMNode (#5357)
rickhanlonii Dec 14, 2022
9eca28f
Tweak header
gaearon Dec 14, 2022
5d65144
Tweaks
gaearon Dec 14, 2022
06d472d
[Beta] Fixed Semicolon missing in a code snippet. #5337 (#5360)
abhinandanwadwa Dec 14, 2022
3bb6d8c
[Beta] createPortal API (#5362)
gaearon Dec 14, 2022
596b50c
[Beta] Split "Components" and "APIs" (#5363)
gaearon Dec 14, 2022
7a9fe8d
Wording tweak
gaearon Dec 14, 2022
3d87a27
[Beta] useInsertionEffect API (#5364)
gaearon Dec 14, 2022
98bb99e
Fix typo
gaearon Dec 15, 2022
24a3e04
Fix typo
gaearon Dec 15, 2022
add83fa
[Beta] Highlight <Foo> and <foo> differently (#5368)
gaearon Dec 16, 2022
a7f4260
Fix typo (#5371)
mathmarqq Dec 16, 2022
a8db9c0
[Beta] useLayoutEffect API (#5372)
gaearon Dec 16, 2022
1aadd78
Fix copypasta
gaearon Dec 16, 2022
84a1085
More credits
gaearon Dec 16, 2022
119177b
[Beta] useEvent -> useEffectEvent (#5373)
gaearon Dec 16, 2022
d542994
Typo
gaearon Dec 16, 2022
c4d2a6d
[Beta] Reorder example
gaearon Dec 17, 2022
5385031
[Beta] Fix scroll jumps on navigating to fragments (#5375)
gaearon Dec 17, 2022
6faa4f5
Add missing patch for #5368
gaearon Dec 17, 2022
868d525
Update index.md
gaearon Dec 17, 2022
966b7b8
[Beta] Move search outside tabs (#5389)
gaearon Dec 20, 2022
ff22655
Adding a minor grammatical correction. (#5388)
rahulrao0209 Dec 23, 2022
39b9599
Remove stale RFC link
gaearon Dec 23, 2022
dc4d82b
Change 'options object' to 'createOptions function' (#5394)
rahulrao0209 Dec 24, 2022
89ad619
useTransition add semicolon (#5384)
2239559319 Dec 24, 2022
167603a
Making serverUrl a reactive dependency for the provided example. (#5392)
rahulrao0209 Dec 24, 2022
d981e00
[Beta] react-dom: Components (#5383)
gaearon Dec 24, 2022
e2a0f2e
[Beta] Remove TOC from short pages
gaearon Dec 24, 2022
81b5f81
[beta] Tic-tac-toe tutorial rewrite (#5352)
mattcarrollcode Dec 24, 2022
302fb7a
Bump the numbers
gaearon Dec 24, 2022
bd9f3ea
Typo
gaearon Dec 24, 2022
147bab9
[Beta] Move Reference before Usage (#5399)
gaearon Dec 25, 2022
c793076
[Beta] APIs -> Reference (#5400)
gaearon Dec 25, 2022
88e689e
Always link to Usage for consistency
gaearon Dec 25, 2022
3473846
Fix above/below
gaearon Dec 25, 2022
8d51b16
[Beta] Remove some duplicated banners
gaearon Dec 25, 2022
4b68508
[Beta] Misc edits
gaearon Dec 25, 2022
20252cb
fix(typos): some small typos (#5401)
pfongkye Dec 26, 2022
ddde7e8
[Beta] Sidebar groups (#5402)
gaearon Dec 26, 2022
45e4b52
Fixed property "value" typo'd as "values" (#5404)
Dec 27, 2022
2a3bcb6
Minor grammatical correction (#5406)
rahulrao0209 Dec 27, 2022
bcf7759
[Beta] Fixes typo in editor-setup page (#5413)
filipenevola Dec 28, 2022
afb7d7a
Fixes a typo (#5411)
acharyasaagar Dec 29, 2022
c7efb5c
Minor grammatical correction (#5407)
rahulrao0209 Dec 29, 2022
33c4d58
Fix 404 for json file (#5403)
domscript Dec 29, 2022
f741a42
Fix #5412
gaearon Dec 29, 2022
9cd0db0
fix(typo): add missing closing character (#5415)
pfongkye Dec 29, 2022
e77ba1e
[beta] Fix inconsistent anchor link on `flushSync` page (#5429)
eps1lon Jan 1, 2023
0eba7f6
Fix typo in tutorial-tic-tac-toe.md (#5436)
derrekcoleman Jan 5, 2023
46b5a69
Fix typo in tutorial-tic-tac-toe.md (#5438)
rijavecb Jan 5, 2023
e8a64f6
Fix link
gaearon Jan 5, 2023
eefa33a
Fix typo in tutorial
sophiebits Jan 5, 2023
44390cd
Fix for ReactDOM.createRoot() example (#5437)
chalder Jan 6, 2023
05bf01d
[Beta] Add missing imports to ref pages (#5442)
gaearon Jan 6, 2023
b4ae933
Add missing X in starter Square component (#5445)
SecondThundeR Jan 7, 2023
52b2d7d
Bump json5 from 1.0.1 to 1.0.2 in /beta (#5446)
dependabot[bot] Jan 8, 2023
3ff6fe8
Fix typos in Suspense.md, useDeferredValue.md & useTransition.md (#5450)
tryonelove Jan 8, 2023
1d918b9
fix link (#5449)
domscript Jan 9, 2023
ddd3c7e
typo
gaearon Jan 10, 2023
09f0da6
typo
gaearon Jan 10, 2023
cde02f8
Fix Typo (#5433)
BeLi4L Jan 10, 2023
905b367
Update poteto description (#5462)
poteto Jan 15, 2023
38bf76a
Update broken link in "Synchronizing with effects" (#5461)
kshyr Jan 15, 2023
c9e2e39
[Beta] Refactor navigation logic (#5492)
gaearon Jan 23, 2023
7425ccf
[Beta] Blog MVP (#5493)
gaearon Jan 24, 2023
a260e0e
[Beta] Community (#5494)
gaearon Jan 24, 2023
dd366ed
Rm dead redirects
gaearon Jan 24, 2023
dd213e4
[Beta] Port some warning pages
gaearon Jan 24, 2023
e71c47a
Mention custom components
gaearon Jan 24, 2023
60d2937
Rm unused
gaearon Jan 24, 2023
d9dd87c
Redirect .html paths to legacy site
gaearon Jan 24, 2023
405870f
Remove unused
gaearon Jan 24, 2023
7b57cb6
More redirects
gaearon Jan 24, 2023
7320882
[Beta] Mention error boundaries
gaearon Jan 24, 2023
3b0be4f
Link to beta in content (#5495)
gaearon Jan 24, 2023
ef41566
Formatting nit
gaearon Jan 24, 2023
5ef6955
Simplify wording
gaearon Jan 24, 2023
af255ea
[Beta] Add React to <title>
gaearon Jan 24, 2023
5b8126a
[Beta] Clean URLs for analytics
gaearon Jan 24, 2023
b8dcdf4
Fix some links
gaearon Jan 24, 2023
79f5007
Update tutorial-tic-tac-toe.md (#5458)
derrekcoleman Jan 24, 2023
1fd3538
[Beta] Simplify Immer installation guide (#5499)
chernodub Jan 25, 2023
e8917a0
[Beta] Responsive iframes (#5500)
gaearon Jan 25, 2023
affb77d
Fix typo on useSyncExternalStore page (#5503)
jingsu96 Jan 26, 2023
d4e063f
fix(typos): remove misplaced word (#5510)
vicsantizo Jan 27, 2023
114ad3e
fix(typos): place word in the correct place (#5507)
vicsantizo Jan 27, 2023
5647a94
docs(tutorial-tic-tac-toe.md): fix typos (#5515)
myfreespirit Jan 29, 2023
e354061
Fix typo
gaearon Jan 30, 2023
720b37f
Update reference Profiler.md (#5502)
hwanyoungChoi Jan 31, 2023
0300f8a
Fix typo, closes #5505
gaearon Jan 31, 2023
0da108f
Update conference lists for beta docs (#5529)
apherio Jan 31, 2023
b2aeca6
Announce react india 2023 conference dates (#5525)
apherio Jan 31, 2023
6fa4673
Update instructions to Babel 7
gaearon Feb 1, 2023
683db72
Added react nexus to the conference list (#5536)
akiran Feb 2, 2023
d4e42ab
Add missing word (#5537)
beau-house Feb 2, 2023
fa89af8
docs(your-first-component.md): edit typo (#5543)
myfreespirit Feb 6, 2023
3514b23
`Conferences`: Move past conferences to past section (#5544)
NickFoden Feb 8, 2023
d696cb1
added React Nexus to conference list in beta docs (#5552)
akiran Feb 8, 2023
47adefd
Fix typo in flushSync docs (#5589)
NMinhNguyen Feb 11, 2023
ae6147f
fix: change experimental_useEvent to experimental_useEffectEvent in e…
DawnGate Feb 14, 2023
5349488
Fix typo in forwardRef Beta Docs Reference (#5570)
hslee2008 Feb 14, 2023
3277c94
Fixed wrong debug command (#5596)
Biki-das Feb 16, 2023
1b186df
Add images
gaearon Feb 17, 2023
8e36746
Forgotten import statement for `createElement` (#5601)
MarkE16 Feb 17, 2023
63c7769
docs: fix `react-hooks/exhaustive-dependencies` typo (#5605)
Juneezee Feb 18, 2023
36e8f49
fix: correct prev link in `hello-world` (#5595)
awxiaoxian2020 Feb 20, 2023
0600fa4
fix typo (#5611)
0ldh Feb 21, 2023
78dc96d
Fix fonts
gaearon Feb 21, 2023
810cb70
Update .gitignore
gaearon Feb 21, 2023
b0ccb47
fix(beta): typo on renderToReadableStream assetMap (#5621)
thebergamo Feb 23, 2023
ec8b46d
Update legacy.md
sophiebits Feb 28, 2023
9104c77
fix og images
lebo Mar 2, 2023
38fbdaf
A typo (#5644)
ruokaizhao Mar 3, 2023
c7db27b
Add React Norway to events pages (#5641)
seanryankeegan Mar 3, 2023
ba290ad
(tic-tac-toe) fix or-and in sentence (#5646)
Mar 5, 2023
a9bcfaf
Update react-redux connect documentation link on HOC page to updated …
samilieberman Mar 6, 2023
fc42e16
Update team page
josephsavona Mar 7, 2023
41be527
Docs: Fix `useEffect` link typo in `react/useLayoutEffect.md` (#5661)
0ldh Mar 8, 2023
2c1f905
chore: update text color of console block (#5666)
harish-sethuraman Mar 10, 2023
1dc02c9
missing word: "in" (#5665)
lpaube Mar 10, 2023
cfdb03a
Fix a misleading style in the example (#5660)
kkshinkai Mar 10, 2023
19aa5b4
Make consistent
gaearon Mar 10, 2023
0c59913
Update conferences.md (beta docs) (#5615)
dunphyben Mar 15, 2023
4c50846
Update conferences.md (#5613)
dunphyben Mar 15, 2023
149d5ff
Fix typo in useCallback example (#5676)
jacobtylerwalls Mar 15, 2023
a45fec9
Fix typo (issue #5678) (#5679)
mchammam Mar 15, 2023
41f1ca2
[Beta] Homepage (#5501)
rickhanlonii Mar 16, 2023
965cf17
fonts
sophiebits Mar 16, 2023
3168f87
SEO
gaearon Mar 16, 2023
ff7fc24
More redirects
gaearon Mar 16, 2023
6f6c27d
twitter:title
sophiebits Mar 16, 2023
c580f3f
Add more todos
gaearon Mar 16, 2023
cdcdfc6
Fix merge
gaearon Mar 16, 2023
db93fb0
Fix CSS overflow
gaearon Mar 16, 2023
dc1f776
Update team page (#5699)
josephsavona Mar 16, 2023
90e8ba6
Update some text
gaearon Mar 16, 2023
fde86f7
Update conferences.md - React Miami (#5703)
michellebakels Mar 16, 2023
d53caa2
fix wording: and and
sophiebits Mar 17, 2023
399e8ce
Update conferences.md - React Miami (#5704)
michellebakels Mar 17, 2023
19e6a0c
chore: change to correct link (#5708)
harish-sethuraman Mar 17, 2023
c1f6dc9
chore: fix footer "Community" link (#5720)
asportnoy Mar 17, 2023
c2164d5
docs: changed useEffect example (#5711)
avsssai Mar 17, 2023
9f929d3
missing word: of (#5669)
lpaube Mar 17, 2023
657cd40
Update useCallback.md - rename ShoppingForm to ShippingForm (#5656)
skyhawk14 Mar 17, 2023
5952c6b
Update GitNation React conferences (#5697)
robhrt7 Mar 18, 2023
70a88ea
Update conferences.md (#5718)
robhrt7 Mar 18, 2023
adb0d85
Fix mobile nav layering
sophiebits Mar 18, 2023
5dcfeb6
Display ctrl key in search bar for non-mac browsers (#5737)
jirkavrba Mar 18, 2023
50551f8
Improve anchor link (#5721)
oliviertassinari Mar 18, 2023
4c2503a
Move the old site to another repo (#5739)
gaearon Mar 18, 2023
dd65dca
Move beta to top level
gaearon Mar 18, 2023
9e3eb15
Update more links
gaearon Mar 18, 2023
febba57
chore: remove labeler (#5748)
harish-sethuraman Mar 19, 2023
cb47e2b
Fix GA for first page view (#5769)
gaearon Mar 19, 2023
c00e4bf
Add Google verification HTML
gaearon Mar 19, 2023
5fff3be
Try to fix redirects
gaearon Mar 19, 2023
1c640c6
Maybe fix
gaearon Mar 19, 2023
0e72964
Maybe this works
gaearon Mar 19, 2023
ceaa729
Maybe this?
gaearon Mar 19, 2023
e565b43
Oops, reuse existing <meta> tag
gaearon Mar 19, 2023
67721a6
Reorder sections
gaearon Mar 20, 2023
1a11868
Fix invalid link to useEffect docs (#5773)
dean-leszman Mar 20, 2023
fc2e89c
Remove unnecessary scrollbar
gaearon Mar 20, 2023
8e4f8c5
Replace deprecated command with environment file (#5776)
jongwooo Mar 20, 2023
de6f0af
fix: fix broken link in cloneElement.md (#5766)
andrewmmc Mar 20, 2023
ccc8a49
Misc Footer fixes (#5777)
gaearon Mar 20, 2023
e60d5e5
Add React On The Beach to the list of conferences. (#5763)
hernanif1 Mar 20, 2023
19ad88b
Prettier
gaearon Mar 20, 2023
a77fa55
Fix Git hooks
gaearon Mar 20, 2023
1926e48
Disconnect sidebar scroll behaviors (#5778)
gaearon Mar 20, 2023
ca4444d
Try to fix GH analyze workflow
gaearon Mar 20, 2023
ce3adb8
Revert "Try to fix GH analyze workflow"
gaearon Mar 20, 2023
4f2ea43
Remove current members from alumni
gaearon Mar 20, 2023
8eeff10
Try to fix the workflow
gaearon Mar 21, 2023
e17c47a
Edit GH action comment
gaearon Mar 21, 2023
cbe2a26
Fix <meta> for Twitter
gaearon Mar 21, 2023
6b4aa49
Wrong link fix - #5770 (#5771)
LoyalPotato Mar 21, 2023
61bf23a
FIX: Various typos across codebase :) (#5767)
Pranav-yadav Mar 21, 2023
d0f94d1
fix toc to highlight the correct header on click (#5765)
alexandruvisan19 Mar 21, 2023
b40432a
fix: grammar error (#5760)
J-Zam Mar 21, 2023
b329ad8
docs: Disable lint in Code Example Preview unblock user from seeing i…
teepobharu Mar 21, 2023
963829f
FIX: Various 'hrefs' - 'beta.reactjs.org' -> 'react.dev' (#5768)
Pranav-yadav Mar 21, 2023
75001de
Update startTransition.md (#5757)
matijs Mar 21, 2023
fecaa1e
Update meetups.md (#5695)
asif-simform Mar 21, 2023
52b7706
Fix Chart component to use handleClick (#5786)
sushidesu Mar 21, 2023
113f509
docs: Remove `serverUrl` in code example (#5791)
yujiseok Mar 21, 2023
5339120
Add a missing comment
gaearon Mar 21, 2023
8de8a03
Fix search modal not disappearing on Enter (#5794)
gaearon Mar 22, 2023
2978946
Fix roomId not passed to child (#5795)
Toavina23 Mar 22, 2023
1b0c5e3
Add React Labs March 2023 blog post (#5798)
poteto Mar 22, 2023
78f35d5
Fix typo
gaearon Mar 22, 2023
e108143
Tweak casing
gaearon Mar 22, 2023
dfff349
Typo
gaearon Mar 22, 2023
c637579
Tweak text
gaearon Mar 22, 2023
3c1fa0b
Fix hanging word
gaearon Mar 22, 2023
7d297a2
Fix typo
gaearon Mar 23, 2023
b9af9f5
Link RSC to blog
gaearon Mar 23, 2023
2f8bd30
added missing roomId prop to useEffect docs (#5803)
Kvek Mar 23, 2023
ccc8d1d
Remove `import React` for consistency (#5804)
0ldh Mar 23, 2023
72dfcec
chore: update the link of LICENSE-DOCS.md (#5799)
leedom92 Mar 23, 2023
4b313b9
chore: update tutorial-tic-tac-toe.md (#5802)
Efrice Mar 23, 2023
7f04124
Update "top level" language to be less ambiguous with "levelContext" …
jbonta Mar 23, 2023
8a12d33
fix(docs): small typos (#5787)
pfongkye Mar 24, 2023
9f89fff
Resolved the Tailwind CSS conflicts (#5814)
abhinav-m22 Mar 24, 2023
f68a91b
Remove superfluous word 'like' (#5813)
tristndev Mar 24, 2023
e18bb3b
Add useState semicolon (#5823)
aliaksandrsen Mar 25, 2023
e5fd79c
Fix typo: missing `reactNode` in `hydrateRoot.md` (#5827)
0ldh Mar 26, 2023
401ca1a
Docs: Update sentence about Next.js static export (#5837)
delbaoliveira Mar 28, 2023
d1ce846
chore: update bundlerUrl (#5835)
DeMoorJasper Mar 28, 2023
7f7308c
chore: use default parameters replace defaultProps (#5839)
li-jia-nan Mar 29, 2023
53f6bb7
docs: fix typos in Component section of Legacy APIs (#5842)
Ruchita1010 Mar 29, 2023
81c91bc
Add additional thanks to React Labs post (#5843)
lunaleaps Mar 29, 2023
5e1ec56
Download all fonts
gaearon Mar 29, 2023
7f296c6
Change URLs for fonts
gaearon Mar 29, 2023
faa395f
Add missing fonts
gaearon Mar 29, 2023
6b22284
Add more fonts (#5841)
gaearon Mar 29, 2023
881f928
improve visibility of code
lebo Mar 30, 2023
8f05b84
Adding Conference - Chain React 2023 - Portland, USA (#5852)
lxmarinkovic Mar 31, 2023
9f0f1c1
Fix typo in updating-arrays-in-state.md
sophiebits Mar 31, 2023
5273fe2
Add <meta> tag for search order (#5859)
gaearon Apr 1, 2023
f37ef36
Clarify tutorial
gaearon Apr 1, 2023
ab4a84f
merging all conflicts
react-translations-bot Apr 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 0 additions & 41 deletions .babelrc

This file was deleted.

20 changes: 0 additions & 20 deletions .circleci/config.yml

This file was deleted.

1 change: 1 addition & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SANDPACK_BARE_COMPONENTS=true
2 changes: 2 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
NEXT_PUBLIC_GA_TRACKING_ID = 'UA-41298772-4'
SANDPACK_BARE_COMPONENTS=true
13 changes: 3 additions & 10 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
node_modules/*

# Ignore markdown files and examples
content/*

# Ignore built files
public/*

# Ignore examples
examples/*
scripts
plugins
next.config.js
20 changes: 9 additions & 11 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
{
"extends": [
"fbjs"
],
"plugins": [
"prettier",
"react"
],
"parser": "babel-eslint",
"root": true,
"extends": "next/core-web-vitals",
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"rules": {
"relay/graphql-naming": 0,
"max-len": 0
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "warn"
},
"env": {
"node": true,
"browser": true
"commonjs": true,
"browser": true,
"es6": true
}
}
35 changes: 0 additions & 35 deletions .flowconfig

This file was deleted.

4 changes: 1 addition & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@


<!--

Thank you for the PR! Contributors like you keep React awesome!

Please see the Contribution Guide for guidelines:

https://github.com/reactjs/reactjs.org/blob/master/CONTRIBUTING.md
https://github.com/reactjs/react.dev/blob/main/CONTRIBUTING.md

If your PR references an existing issue, please add the issue number below

Expand Down
91 changes: 91 additions & 0 deletions .github/workflows/analyze.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Analyze Bundle

on:
pull_request:
push:
branches:
- main # change this if your default branch is named differently
workflow_dispatch:

jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Set up node
uses: actions/setup-node@v1
with:
node-version: "14.x"

- name: Install dependencies
uses: bahmutov/[email protected]

- name: Restore next build
uses: actions/cache@v2
id: restore-build-cache
env:
cache-name: cache-next-build
with:
path: .next/cache
# change this if you prefer a more strict cache
key: ${{ runner.os }}-build-${{ env.cache-name }}

- name: Build next.js app
# change this if your site requires a custom build command
run: ./node_modules/.bin/next build

# Here's the first place where next-bundle-analysis' own script is used
# This step pulls the raw bundle stats for the current bundle
- name: Analyze bundle
run: npx -p nextjs-bundle-analysis report

- name: Upload bundle
uses: actions/upload-artifact@v2
with:
path: .next/analyze/__bundle_analysis.json
name: bundle_analysis.json

- name: Download base branch bundle stats
uses: dawidd6/action-download-artifact@v2
if: success() && github.event.number
with:
workflow: analyze.yml
branch: ${{ github.event.pull_request.base.ref }}
name: bundle_analysis.json
path: .next/analyze/base/bundle

# And here's the second place - this runs after we have both the current and
# base branch bundle stats, and will compare them to determine what changed.
# There are two configurable arguments that come from package.json:
#
# - budget: optional, set a budget (bytes) against which size changes are measured
# it's set to 350kb here by default, as informed by the following piece:
# https://infrequently.org/2021/03/the-performance-inequality-gap/
#
# - red-status-percentage: sets the percent size increase where you get a red
# status indicator, defaults to 20%
#
# Either of these arguments can be changed or removed by editing the `nextBundleAnalysis`
# entry in your package.json file.
- name: Compare with base branch bundle
if: success() && github.event.number
run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare

- name: Upload analysis comment
uses: actions/upload-artifact@v2
with:
name: analysis_comment.txt
path: .next/analyze/__bundle_analysis_comment.txt

- name: Save PR number
run: echo ${{ github.event.number }} > ./pr_number

- name: Upload PR number
uses: actions/upload-artifact@v2
with:
name: pr_number
path: ./pr_number

# The actual commenting happens in the other action, matching the guidance in
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
72 changes: 72 additions & 0 deletions .github/workflows/analyze_comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Analyze Bundle (Comment)

on:
workflow_run:
workflows: ["Analyze Bundle"]
types:
- completed

jobs:
comment:
runs-on: ubuntu-latest
if: >
${{ github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Download base branch bundle stats
uses: dawidd6/action-download-artifact@v2
with:
workflow: analyze.yml
run_id: ${{ github.event.workflow_run.id }}
name: analysis_comment.txt
path: analysis_comment.txt

- name: Download PR number
uses: dawidd6/action-download-artifact@v2
with:
workflow: analyze.yml
run_id: ${{ github.event.workflow_run.id }}
name: pr_number
path: pr_number

- name: Get comment body
id: get-comment-body
if: success()
run: |
echo 'body<<EOF' >> $GITHUB_OUTPUT
echo '' >> $GITHUB_OUTPUT
echo '## Size changes' >> $GITHUB_OUTPUT
echo '' >> $GITHUB_OUTPUT
echo '<details>' >> $GITHUB_OUTPUT
echo '' >> $GITHUB_OUTPUT
cat analysis_comment.txt/__bundle_analysis_comment.txt >> $GITHUB_OUTPUT
echo '' >> $GITHUB_OUTPUT
echo '</details>' >> $GITHUB_OUTPUT
echo '' >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
pr_number=$(cat pr_number/pr_number)
echo "pr-number=$pr_number" >> $GITHUB_OUTPUT

- name: Find Comment
uses: peter-evans/find-comment@v1
if: success()
id: fc
with:
issue-number: ${{ steps.get-comment-body.outputs.pr-number }}
body-includes: "<!-- __NEXTJS_BUNDLE -->"

- name: Create Comment
uses: peter-evans/[email protected]
if: success() && steps.fc.outputs.comment-id == 0
with:
issue-number: ${{ steps.get-comment-body.outputs.pr-number }}
body: ${{ steps.get-comment-body.outputs.body }}

- name: Update Comment
uses: peter-evans/[email protected]
if: success() && steps.fc.outputs.comment-id != 0
with:
issue-number: ${{ steps.get-comment-body.outputs.pr-number }}
body: ${{ steps.get-comment-body.outputs.body }}
comment-id: ${{ steps.fc.outputs.comment-id }}
edit-mode: replace
27 changes: 27 additions & 0 deletions .github/workflows/site_lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Site Lint / Heading ID check

on:
push:
branches:
- main # change this if your default branch is named differently
pull_request:
types: [opened, synchronize, reopened]

jobs:
lint:
runs-on: ubuntu-latest

name: Lint on node 12.x and ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x

- name: Install deps and build (with cache)
uses: bahmutov/[email protected]

- name: Lint codebase
run: yarn ci-check
Loading