Skip to content

Commit 3ea5159

Browse files
authored
Merge pull request #13596 from ethereum/staging
Deploy v8.9.0
2 parents d270b37 + 8693106 commit 3ea5159

File tree

233 files changed

+5545
-2599
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

233 files changed

+5545
-2599
lines changed

.all-contributorsrc

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12260,7 +12260,8 @@
1226012260
"avatar_url": "https://avatars.githubusercontent.com/u/112751524?v=4",
1226112261
"profile": "https://github.com/Shiva-Sai-ssb",
1226212262
"contributions": [
12263-
"bug"
12263+
"bug",
12264+
"maintenance"
1226412265
]
1226512266
},
1226612267
{
@@ -12343,6 +12344,51 @@
1234312344
"contributions": [
1234412345
"content"
1234512346
]
12347+
},
12348+
{
12349+
"login": "0xV4L3NT1N3",
12350+
"name": "0xV4L3NT1N3",
12351+
"avatar_url": "https://avatars.githubusercontent.com/u/33112835?v=4",
12352+
"profile": "https://github.com/0xV4L3NT1N3",
12353+
"contributions": [
12354+
"tool"
12355+
]
12356+
},
12357+
{
12358+
"login": "JoshDavisLight",
12359+
"name": "Josh Davis",
12360+
"avatar_url": "https://avatars.githubusercontent.com/u/82784104?v=4",
12361+
"profile": "https://github.com/JoshDavisLight",
12362+
"contributions": [
12363+
"content"
12364+
]
12365+
},
12366+
{
12367+
"login": "tr1sm0s1n",
12368+
"name": "Mobin Mohanan",
12369+
"avatar_url": "https://avatars.githubusercontent.com/u/47410557?v=4",
12370+
"profile": "https://github.com/tr1sm0s1n",
12371+
"contributions": [
12372+
"content"
12373+
]
12374+
},
12375+
{
12376+
"login": "Baystef",
12377+
"name": "Adebayo Steve",
12378+
"avatar_url": "https://avatars.githubusercontent.com/u/36106823?v=4",
12379+
"profile": "https://github.com/Baystef",
12380+
"contributions": [
12381+
"code"
12382+
]
12383+
},
12384+
{
12385+
"login": "sanjanaynvsdl",
12386+
"name": "Sanjana",
12387+
"avatar_url": "https://avatars.githubusercontent.com/u/142678317?v=4",
12388+
"profile": "https://github.com/sanjanaynvsdl",
12389+
"contributions": [
12390+
"bug"
12391+
]
1234612392
}
1234712393
],
1234812394
"contributorsPerLine": 7,

.env.example

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,11 @@ BUILD_LOCALES=
3333

3434
# If resource constraints are being hit during builds, change LIMIT_CPUS to a
3535
# fixed number of CPUs (e.g. 2) to limit the demand during build time
36-
LIMIT_CPUS=
36+
LIMIT_CPUS=
37+
38+
# Sentry auth token required for error tracking
39+
SENTRY_AUTH_TOKEN=
40+
NEXT_PUBLIC_SENTRY_DSN=
41+
42+
# Enables the bundle analyzer
43+
ANALYZE=false

.github/ISSUE_TEMPLATE/suggest_wallet.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ body:
264264
- type: input
265265
id: wallet_l2_support
266266
attributes:
267-
label: Does the wallet support Ethereum layer 2 networks?
267+
label: Which Ethereum Layer 2 networks does the wallet support?
268268
description: Please provide documentation on Ethereum layer 2 networks this wallet supports.
269269
validations:
270270
required: true

.storybook/i18next.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const ns = [
2121
"page-upgrades",
2222
"page-developers-index",
2323
"page-what-is-ethereum",
24+
"page-upgrades-index",
2425
] as const
2526
const supportedLngs = Object.keys(baseLocales)
2627

.storybook/main.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ const config: StorybookConfig = {
4747
},
4848
},
4949
webpackFinal: async (config) => {
50+
config.module = config.module || {}
51+
config.module.rules = config.module.rules || []
52+
5053
if (config.resolve) {
5154
config.resolve.plugins = [
5255
...(config.resolve.plugins || []),
@@ -55,6 +58,22 @@ const config: StorybookConfig = {
5558
}),
5659
]
5760
}
61+
62+
// This modifies the existing image rule to exclude .svg files
63+
// since you want to handle those files with @svgr/webpack
64+
const imageRule = config.module.rules.find((rule) =>
65+
rule?.["test"]?.test(".svg")
66+
)
67+
if (imageRule) {
68+
imageRule["exclude"] = /\.svg$/
69+
}
70+
71+
// Configure .svg files to be loaded with @svgr/webpack
72+
config.module.rules.push({
73+
test: /\.svg$/,
74+
use: ["@svgr/webpack"],
75+
})
76+
5877
return config
5978
},
6079
typescript: {

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ yarn dev
9696
- Pro Tip:
9797
- Explore scripts within `package.json` for more build options
9898
- Get **faster** production builds by building only one language. E.g. in your `.env` file, set `BUILD_LOCALES=en` to build the content only in English
99+
- To build the site in other selected languages too, you need to set them in `BUILD_LOCALES`, eg: `BUILD_LOCALES=en,es` if you also want to build only English (required) and Spanish.
100+
- To build all languages, simply comment this line out with a hash mark, eg: `# BUILD_LOCALES=`
99101

100102
By default the script will build all the languages (complete list in `i18n.config.json`).
101103

@@ -1873,7 +1875,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
18731875
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abonnaudet-ledger"><img src="https://avatars.githubusercontent.com/u/71646516?v=4?s=100" width="100px;" alt="abonnaudet-ledger"/><br /><sub><b>abonnaudet-ledger</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Aabonnaudet-ledger" title="Bug reports">🐛</a></td>
18741876
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JacobSharples"><img src="https://avatars.githubusercontent.com/u/45126111?v=4?s=100" width="100px;" alt="Jacob Sharples"/><br /><sub><b>Jacob Sharples</b></sub></a><br /><a href="#content-JacobSharples" title="Content">🖋</a></td>
18751877
<td align="center" valign="top" width="14.28%"><a href="https://github.com/omahs"><img src="https://avatars.githubusercontent.com/u/73983677?v=4?s=100" width="100px;" alt="omahs"/><br /><sub><b>omahs</b></sub></a><br /><a href="#translation-omahs" title="Translation">🌍</a> <a href="#maintenance-omahs" title="Maintenance">🚧</a></td>
1876-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Shiva-Sai-ssb"><img src="https://avatars.githubusercontent.com/u/112751524?v=4?s=100" width="100px;" alt="Shiva Sai"/><br /><sub><b>Shiva Sai</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3AShiva-Sai-ssb" title="Bug reports">🐛</a></td>
1878+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Shiva-Sai-ssb"><img src="https://avatars.githubusercontent.com/u/112751524?v=4?s=100" width="100px;" alt="Shiva Sai"/><br /><sub><b>Shiva Sai</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3AShiva-Sai-ssb" title="Bug reports">🐛</a> <a href="#maintenance-Shiva-Sai-ssb" title="Maintenance">🚧</a></td>
18771879
<td align="center" valign="top" width="14.28%"><a href="https://bsaurabh.xyz/"><img src="https://avatars.githubusercontent.com/u/39492927?v=4?s=100" width="100px;" alt="Saurabh Burade"/><br /><sub><b>Saurabh Burade</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=saurabhburade" title="Code">💻</a></td>
18781880
</tr>
18791881
<tr>
@@ -1887,6 +1889,11 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
18871889
</tr>
18881890
<tr>
18891891
<td align="center" valign="top" width="14.28%"><a href="https://github.com/krishchvn"><img src="https://avatars.githubusercontent.com/u/58606754?v=4?s=100" width="100px;" alt="Krishnakumar Chavan"/><br /><sub><b>Krishnakumar Chavan</b></sub></a><br /><a href="#content-krishchvn" title="Content">🖋</a></td>
1892+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/0xV4L3NT1N3"><img src="https://avatars.githubusercontent.com/u/33112835?v=4?s=100" width="100px;" alt="0xV4L3NT1N3"/><br /><sub><b>0xV4L3NT1N3</b></sub></a><br /><a href="#tool-0xV4L3NT1N3" title="Tools">🔧</a></td>
1893+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JoshDavisLight"><img src="https://avatars.githubusercontent.com/u/82784104?v=4?s=100" width="100px;" alt="Josh Davis"/><br /><sub><b>Josh Davis</b></sub></a><br /><a href="#content-JoshDavisLight" title="Content">🖋</a></td>
1894+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tr1sm0s1n"><img src="https://avatars.githubusercontent.com/u/47410557?v=4?s=100" width="100px;" alt="Mobin Mohanan"/><br /><sub><b>Mobin Mohanan</b></sub></a><br /><a href="#content-tr1sm0s1n" title="Content">🖋</a></td>
1895+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Baystef"><img src="https://avatars.githubusercontent.com/u/36106823?v=4?s=100" width="100px;" alt="Adebayo Steve"/><br /><sub><b>Adebayo Steve</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=Baystef" title="Code">💻</a></td>
1896+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sanjanaynvsdl"><img src="https://avatars.githubusercontent.com/u/142678317?v=4?s=100" width="100px;" alt="Sanjana"/><br /><sub><b>Sanjana</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Asanjanaynvsdl" title="Bug reports">🐛</a></td>
18901897
</tr>
18911898
</tbody>
18921899
</table>

chromatic.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"projectId": "Project:6629cd26b1440f2cc20b94c0",
33
"zip": true,
4-
"buildScriptName": "build-storybook:chromatic"
4+
"buildScriptName": "build-storybook:chromatic",
5+
"onlyChanged": true
56
}

instrumentation.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import * as Sentry from "@sentry/nextjs"
2+
3+
export async function register() {
4+
const dsn = process.env.NEXT_PUBLIC_SENTRY_DSN
5+
6+
if (!dsn) {
7+
console.warn("Sentry DSN not found, skipping")
8+
return
9+
}
10+
11+
const commonSentryOptions = {
12+
dsn,
13+
enabled: process.env.NODE_ENV === "production",
14+
tracesSampleRate: 1.0,
15+
}
16+
17+
if (process.env.NEXT_RUNTIME === "nodejs") {
18+
Sentry.init({
19+
...commonSentryOptions,
20+
})
21+
}
22+
23+
if (process.env.NEXT_RUNTIME === "edge") {
24+
Sentry.init({
25+
...commonSentryOptions,
26+
})
27+
}
28+
}

next.config.js

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
/* eslint-disable @typescript-eslint/no-var-requires */
22
const { PHASE_DEVELOPMENT_SERVER } = require("next/constants")
3+
const { withSentryConfig } = require("@sentry/nextjs")
4+
5+
const withBundleAnalyzer = require("@next/bundle-analyzer")({
6+
enabled: process.env.ANALYZE === "true",
7+
})
38

49
const { i18n } = require("./next-i18next.config")
510

@@ -22,15 +27,47 @@ module.exports = (phase, { defaultConfig }) => {
2227
let nextConfig = {
2328
...defaultConfig,
2429
reactStrictMode: true,
25-
webpack: (config) => {
30+
webpack: (config, { webpack }) => {
2631
config.module.rules.push({
2732
test: /\.ya?ml$/,
2833
use: "yaml-loader",
2934
})
30-
config.module.rules.push({
31-
test: /\.svg$/,
32-
use: "@svgr/webpack",
33-
})
35+
36+
// SVG loader
37+
// Grab the existing rule that handles SVG imports
38+
const fileLoaderRule = config.module.rules.find((rule) =>
39+
rule.test?.test?.(".svg")
40+
)
41+
42+
config.module.rules.push(
43+
// Reapply the existing rule, but only for svg imports ending in ?url
44+
{
45+
...fileLoaderRule,
46+
test: /\.svg$/i,
47+
resourceQuery: /url/, // *.svg?url
48+
},
49+
// Convert all other *.svg imports to React components
50+
{
51+
test: /\.svg$/i,
52+
issuer: fileLoaderRule.issuer,
53+
resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] }, // exclude if *.svg?url
54+
use: ["@svgr/webpack"],
55+
}
56+
)
57+
58+
// Modify the file loader rule to ignore *.svg, since we have it handled now.
59+
fileLoaderRule.exclude = /\.svg$/i
60+
61+
// Tree shake Sentry debug code
62+
// ref. https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/tree-shaking/#tree-shaking-with-nextjs
63+
config.plugins.push(
64+
new webpack.DefinePlugin({
65+
__SENTRY_DEBUG__: false,
66+
__RRWEB_EXCLUDE_IFRAME__: true,
67+
__RRWEB_EXCLUDE_SHADOW_DOM__: true,
68+
__SENTRY_EXCLUDE_REPLAY_WORKER__: true,
69+
})
70+
)
3471

3572
return config
3673
},
@@ -39,6 +76,12 @@ module.exports = (phase, { defaultConfig }) => {
3976
images: {
4077
deviceSizes: [640, 750, 828, 1080, 1200, 1504, 1920],
4178
},
79+
env: {
80+
NEXT_PUBLIC_CONTEXT: process.env.CONTEXT,
81+
},
82+
experimental: {
83+
instrumentationHook: true,
84+
},
4285
}
4386

4487
if (phase !== PHASE_DEVELOPMENT_SERVER) {
@@ -67,5 +110,15 @@ module.exports = (phase, { defaultConfig }) => {
67110
}
68111
}
69112

70-
return nextConfig
113+
return withBundleAnalyzer(
114+
withSentryConfig(nextConfig, {
115+
// TODO: temp config, update this to the correct org & project
116+
org: "ethereumorg-ow",
117+
project: "javascript-nextjs",
118+
authToken: process.env.SENTRY_AUTH_TOKEN,
119+
release: `${process.env.BUILD_ID}_${process.env.REVIEW_ID}`,
120+
disableLogger: true,
121+
silent: true,
122+
})
123+
)
71124
}

package.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ethereum-org-website",
3-
"version": "8.8.0",
3+
"version": "8.9.0",
44
"license": "MIT",
55
"private": true,
66
"scripts": {
@@ -34,9 +34,16 @@
3434
"@emotion/react": "^11.11.1",
3535
"@emotion/styled": "^11.11.0",
3636
"@hookform/resolvers": "^3.8.0",
37+
"@next/bundle-analyzer": "^14.2.5",
3738
"@radix-ui/react-accordion": "^1.2.0",
39+
"@radix-ui/react-checkbox": "^1.1.1",
40+
"@radix-ui/react-dialog": "^1.1.1",
3841
"@radix-ui/react-navigation-menu": "^1.2.0",
42+
"@radix-ui/react-popover": "^1.1.1",
43+
"@radix-ui/react-radio-group": "^1.2.0",
3944
"@radix-ui/react-slot": "^1.1.0",
45+
"@radix-ui/react-visually-hidden": "^1.1.0",
46+
"@sentry/nextjs": "^8.19.0",
4047
"@socialgouv/matomo-next": "^1.8.0",
4148
"chart.js": "^4.4.2",
4249
"chartjs-plugin-datalabels": "^2.2.0",
@@ -72,12 +79,13 @@
7279
"remark-gfm": "^3.0.1",
7380
"tailwind-merge": "^2.3.0",
7481
"tailwindcss-animate": "^1.0.7",
82+
"usehooks-ts": "^3.1.0",
7583
"yaml-loader": "^0.8.0"
7684
},
7785
"devDependencies": {
7886
"@chakra-ui/cli": "^2.4.1",
7987
"@chromatic-com/storybook": "1.5.0",
80-
"@netlify/plugin-nextjs": "^5.0.0",
88+
"@netlify/plugin-nextjs": "^5.5.1",
8189
"@storybook/addon-essentials": "8.1.10",
8290
"@storybook/addon-interactions": "8.1.10",
8391
"@storybook/addon-links": "8.1.10",

0 commit comments

Comments
 (0)