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

Sync with reactjs.org @ e565b43a #253

Open
wants to merge 1,370 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1370 commits
Select commit Hold shift + click to select a range
8fe817e
[Beta] fix: gutter overlap with sandpack code on mobile (#5170)
shanpriyan Oct 16, 2022
641f20a
Scroll behavior (#5182)
AdnanOlarmmi Oct 17, 2022
ec6c673
fix: broken link for render-and-commt (#5184)
jukrb0x Oct 18, 2022
c69ff23
Revert "Scroll behavior (#5182)" (#5186)
gaearon Oct 18, 2022
30cafef
Fix 'queueing a series of state changes->updates' typo in beta docs (…
melissapthai Oct 18, 2022
415751c
[Beta] Remove superfluous IllustrationBlock title prop
gaearon Oct 18, 2022
0867cc1
[Beta] Show illustration credit on hover/tap (#5188)
gaearon Oct 18, 2022
e698f2f
[beta] broken links in updating-objects-in-state (#5190)
jukrb0x Oct 19, 2022
7e98d1f
fix(beta): removes debug console.log (#5189)
danecando Oct 19, 2022
d0a809a
[Beta] Note on Children vs children
gaearon Oct 19, 2022
36656af
[beta] Fix typo on apis/react-dom/render (#5191)
eps1lon Oct 19, 2022
d483aeb
[Beta] cloneElement API (#5194)
gaearon Oct 19, 2022
8a22e6e
[Beta] Sandpack bundler improvements (#5164)
danilowoz Oct 25, 2022
5d1cac5
Update 2022-03-08-react-18-upgrade-guide.md (#5208)
claidler Oct 26, 2022
8ab1291
[Beta] Sandpack: fix accessibility issue on Codeeditor (#5216)
danilowoz Oct 28, 2022
f4d42d6
[Beta] fix typo in apis/react/cloneElement (#5201)
SukkaW Oct 29, 2022
e21b37c
[Beta] Add missing dependencies (#5220)
holazz Oct 29, 2022
4df7cce
Fix broken links (#5225)
EzraBerendsen Oct 31, 2022
751a13f
Add github repo link in the footer (#5204)
arafatiqbal Oct 31, 2022
dee6aed
[Beta] fix useMemo API doc error. (#5224)
webpig Nov 1, 2022
fc7bd4d
Fix typo (#5222)
npentrel Nov 1, 2022
822330c
fix #5212 (#5213)
xnivaxhzne Nov 3, 2022
ec368f4
Update SandpackRoot.tsx (#5247)
danilowoz Nov 7, 2022
3915ef3
Add App.js Conf 2023 to the conferences page (#5248)
tsapeta Nov 7, 2022
27152d3
chore: move conf (#5249)
harish-sethuraman Nov 7, 2022
dc20245
Fix createContext href in React APIs (#5245)
AlekseiPopovDev Nov 8, 2022
40251d2
fix #5210 (#5211)
xnivaxhzne Nov 9, 2022
06ae637
Change footer link to React repo
gaearon Nov 11, 2022
3bba430
[Beta] Add missing styles to search box in modal (#5234)
zqianem Nov 13, 2022
bc39165
docs: Fix a broken link, add a missing quote (#5260)
aleksandr-kiliushin Nov 14, 2022
29b163a
Add "Meta Front-End Developer Professional Certificate" to Paid Cours…
hstarikov-coursera Nov 14, 2022
dd52cdd
[Beta] Remove remaining use of embed: scheme (#5265)
gaearon Nov 14, 2022
9d5d1e2
Update with correct index (#5266)
arafatiqbal Nov 15, 2022
eceab8f
[Beta] Fix toc overflow (#5267)
gaearon Nov 15, 2022
c581381
[Beta] React.Component API (#5196)
gaearon Nov 15, 2022
15e5bac
[Beta] Update text with cloneElement (#5268)
dhavall08 Nov 15, 2022
d2bf257
Clarify example
gaearon Nov 16, 2022
b44e18e
Add note about getSnapshotBeforeUpdate
gaearon Nov 16, 2022
081b568
[Beta] createRef API (#5270)
gaearon Nov 16, 2022
501de4a
[Beta] PureComponent API (#5271)
gaearon Nov 16, 2022
5e5eb21
[Beta] useDebugValue API (#5272)
gaearon Nov 16, 2022
543db5b
Fix title
gaearon Nov 16, 2022
28f30b4
Fix typo
gaearon Nov 16, 2022
1503e6b
[Beta] Fix Defining frameId in useAnimationLoop (#5277)
madany01 Nov 18, 2022
e50e563
Added undefined to in the list of possible return types of render fun…
kunxl-gg Nov 18, 2022
2896038
[Beta] Remove nav fadein
gaearon Nov 21, 2022
c19a34b
Fix typo in bookmark (#5279)
uthbees Nov 22, 2022
2381149
chore: its -> it is, to 1 line (#5292)
marcelrsoub Nov 25, 2022
5beee0a
fix: Use relative LICENSE-DOCS path in README (#5294)
andrewbrennanfr Nov 25, 2022
1a641bb
[Beta] Revamp navigation (#5287)
gaearon Nov 25, 2022
b562a4f
Rename breadcrumb
gaearon Nov 28, 2022
eef0910
Rename
gaearon Nov 28, 2022
a05c1d9
Add ReactNext 2023 (#5300)
adamkleingit Nov 29, 2022
f35d831
Fix key error (#5302)
rickhanlonii Nov 29, 2022
ed20748
[Beta] Rewrite Suspense API, add useDeferredValue API (#5308)
gaearon Dec 1, 2022
2128e1e
Update the link to the Node.js stream module (#5298)
xfq Dec 2, 2022
b3b6edd
[Beta] Add deps to useEffect example
gaearon Dec 2, 2022
2e7b147
Update acdlite picture (#5313)
acdlite Dec 2, 2022
cb9854a
[Beta] Add link anchor for ExpandableExample (Deep Dive) (#5310)
ibarapascal Dec 2, 2022
5414129
[Beta] Update the bundler (#5319)
gaearon Dec 5, 2022
e162995
[Beta] useTransition API (#5311)
gaearon Dec 6, 2022
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
d70de3e
merging all conflicts
react-translations-bot Mar 20, 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: |
pr_number=$(cat pr_number/pr_number)
body=$(cat analysis_comment.txt/__bundle_analysis_comment.txt)
body="## Size Changes
<details>

${body}

</details>"
body="${body//'%'/'%25'}"
body="${body//$'\n'/'%0A'}"
body="${body//$'\r'/'%0D'}"
echo ::set-output name=body::$body
echo ::set-output name=pr-number::$pr_number

- 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