Skip to content

Commit ecc1a23

Browse files
committed
Merge branch 'dev' into refactor/what-is-ethereum-shadcn
2 parents 71b8c3c + ed96e51 commit ecc1a23

File tree

72 files changed

+6664
-2811
lines changed

Some content is hidden

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

72 files changed

+6664
-2811
lines changed

.all-contributorsrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12389,6 +12389,15 @@
1238912389
"contributions": [
1239012390
"bug"
1239112391
]
12392+
},
12393+
{
12394+
"login": "zaryab2000",
12395+
"name": "Zaryab",
12396+
"avatar_url": "https://avatars.githubusercontent.com/u/42082608?v=4",
12397+
"profile": "https://www.zaryabs.com/",
12398+
"contributions": [
12399+
"content"
12400+
]
1239212401
}
1239312402
],
1239412403
"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/workflows/non-english-warning.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

README.md

Lines changed: 3 additions & 0 deletions
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

@@ -1892,6 +1894,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
18921894
<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>
18931895
<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>
18941896
<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>
1897+
<td align="center" valign="top" width="14.28%"><a href="https://www.zaryabs.com/"><img src="https://avatars.githubusercontent.com/u/42082608?v=4?s=100" width="100px;" alt="Zaryab"/><br /><sub><b>Zaryab</b></sub></a><br /><a href="#content-zaryab2000" title="Content">🖋</a></td>
18951898
</tr>
18961899
</tbody>
18971900
</table>

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: 34 additions & 2 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,7 +27,7 @@ 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",
@@ -53,13 +58,30 @@ module.exports = (phase, { defaultConfig }) => {
5358
// Modify the file loader rule to ignore *.svg, since we have it handled now.
5459
fileLoaderRule.exclude = /\.svg$/i
5560

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+
)
71+
5672
return config
5773
},
5874
i18n,
5975
trailingSlash: true,
6076
images: {
6177
deviceSizes: [640, 750, 828, 1080, 1200, 1504, 1920],
6278
},
79+
env: {
80+
NEXT_PUBLIC_CONTEXT: process.env.CONTEXT,
81+
},
82+
experimental: {
83+
instrumentationHook: true,
84+
},
6385
}
6486

6587
if (phase !== PHASE_DEVELOPMENT_SERVER) {
@@ -88,5 +110,15 @@ module.exports = (phase, { defaultConfig }) => {
88110
}
89111
}
90112

91-
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+
)
92124
}

package.json

Lines changed: 8 additions & 4 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,13 +34,17 @@
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",
3839
"@radix-ui/react-checkbox": "^1.1.1",
40+
"@radix-ui/react-dialog": "^1.1.1",
3941
"@radix-ui/react-navigation-menu": "^1.2.0",
4042
"@radix-ui/react-popover": "^1.1.1",
4143
"@radix-ui/react-radio-group": "^1.2.0",
4244
"@radix-ui/react-slot": "^1.1.0",
45+
"@radix-ui/react-switch": "^1.1.0",
4346
"@radix-ui/react-visually-hidden": "^1.1.0",
47+
"@sentry/nextjs": "^8.19.0",
4448
"@socialgouv/matomo-next": "^1.8.0",
4549
"chart.js": "^4.4.2",
4650
"chartjs-plugin-datalabels": "^2.2.0",
@@ -76,6 +80,7 @@
7680
"remark-gfm": "^3.0.1",
7781
"tailwind-merge": "^2.3.0",
7882
"tailwindcss-animate": "^1.0.7",
83+
"usehooks-ts": "^3.1.0",
7984
"yaml-loader": "^0.8.0"
8085
},
8186
"devDependencies": {
@@ -124,11 +129,10 @@
124129
"tsconfig-paths-webpack-plugin": "4.1.0",
125130
"typescript": "^5.5.2",
126131
"unified": "^10.0.0",
127-
"unist-util-visit": "^5.0.0",
128-
"usehooks-ts": "^3.1.0"
132+
"unist-util-visit": "^5.0.0"
129133
},
130134
"resolutions": {
131135
"jackspeak": "2.1.1",
132136
"sharp": "0.32.6"
133137
}
134-
}
138+
}

public/_redirects

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,3 @@
173173
/*/guides/how-to-register-an-ethereum-account /:splat/guides/how-to-create-an-ethereum-account/ 301!
174174

175175
/*/deprecated-software /:splat/dapps/ 301!
176-
177-
/*/developers/docs/smart-contracts/languages/ /:splat/developers/docs/smart-contracts/languages/
178-
179-
/*/languages /:splat/developers/docs/programming-languages/ 301!

public/content/contributing/translation-program/translatathon/details/index.md

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,83 @@ To learn more about the conventions and best practices for translating ethereum.
4545

4646
### Prizes
4747

48-
The total prize pool for the Translatathon is 30,000$.
48+
<TranslatathonPrizes />
4949

50-
A detailed breakdown of prizes will be announced at the end of the application period.
50+
**How points work**
51+
52+
Every Translatathon participant will earn points towards their final score by translating content in the ethereum.org Crowdin project and other eligible projects (the full list of eligible projects is available in the next section).
53+
54+
The scoring is simple: **1 translated word = 1 point**
55+
56+
Please note that in order to receive your final points allocation, your suggested translations will need to pass the evaluation process, where professional reviewers will check each participant's translations to ensure they meet the minimum quality threshold and no machine or AI translations were used in the process.
57+
58+
**Bonus points**
59+
60+
This year, Translatathon participants also have several options to earn bonus points.
61+
62+
Bonus points breakdown:
63+
- ETHglossary contributors: 100-1,000 bonus points
64+
- Ethereum.org contributors: 1,000 bonus points
65+
- Previous Translatathon participants: 1,000 bonus points
66+
67+
1) ETHglossary translators
68+
[ETHglossary](https://ethglossaryproject.vercel.app/) is an open-source glossary of key Ethereum terms, and an initiative to create and maintain a glossary of Ethereum terms and their translations in 60+ languages that anyone can use and contribute to.
69+
Translatathon participants can suggest translations for these terms and vote or discuss existing translations to earn bonus points in the Translathon.
70+
Each 10 translated terms will earn you 100 bonus points, with a bonus for completing all 70 terms currently available in the glossary app. The bonus points will be automatically added to your final score once the Translatathon ends and the final scores are calculated.
71+
72+
Participants can earn a maximum of 1,000 bonus points by translating all of the terms in their native language, but translating multiple languages will not result in any additional points!
73+
74+
ETHglossary points breakdown:
75+
- 10 translated terms = 100 bonus points
76+
- 20 translated terms = 200 bonus points
77+
- 30 translated terms = 300 bonus points
78+
- 40 translated terms = 400 bonus points
79+
- 50 translated terms = 500 bonus points
80+
- 60 translated terms = 600 bonus points
81+
- 70 translated terms = 1,000 bonus points
82+
83+
2) Ethereum.org contributors
84+
To reward our existing contributors, each past ethereum.org contributor is eligible for 1,000 bonus points.
85+
Contributors are individuals that have received any ethereum.org contributor POAP, OAT or GitPOAP in the past.
86+
You can check out the full list of eligible contributor POAPs, OATs and GitPOAPs [here](https://efdn.notion.site/Ethereum-org-contributor-credentials-1c23938dfd7f44d0bda3992c58897d63)
87+
88+
3) Previous Translatathon participants
89+
Previous Translatathon participants will also receive 1,000 bonus points.
90+
Anyone who participated in the 2023 edition of the ethereum.org Translatathon and scored at least 100 points, will automatically receive their bonus points once the Translatathon ends and the final scores are calculated.
91+
92+
**In order to claim their bonus points, participants must score at least 100 points in the 2024 Translatathon!**
93+
94+
### Ecosystem content
95+
96+
Since the ethereum.org Translation program is active throughout the year, the translation progress in some target languages on the website is significantly higher than others.
97+
98+
In order to ensure that all Translatathon participants have an equal opportunity to translate as much content as they can and compete for the top prizes, the source content that is part of the Translatathon is not only limited to ethereum.org website content.
99+
100+
Participants translating any of the eligible projects will earn an equal amounts of points, 1 translated word in any project = 1 point.
101+
102+
Here is a list of all the eligible projects that are part of the 2024 Translatathon:
103+
104+
Ethereum.org
105+
- https://crowdin.com/project/ethereum-org
106+
107+
Ethereum.org developer tutorials
108+
- https://crowdin.com/project/33388446abbe9d7aa21e42e49bba7f97
109+
110+
Remix
111+
- https://crowdin.com/project/remix-translation
112+
- https://crowdin.com/project/remix-ui
113+
- https://crowdin.com/project/remix-learneth
114+
- https://crowdin.com/project/361d7e8c3b07220fa22e9d5a901b0021
115+
116+
Privacy + Scaling explorations
117+
- https://crowdin.com/project/privacy-scaling-explorations
118+
119+
Speed Run Ethereum
120+
- https://crowdin.com/project/speed-run-ethereum
121+
122+
EthStaker
123+
- https://crowdin.com/project/ethstaker-website
124+
- https://crowdin.com/project/ethstaker-knowledge-base
51125

52126
### Evaluation process
53127

public/content/developers/docs/nodes-and-clients/light-clients/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ There are several light clients in development, including execution, consensus a
4444

4545
- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client): consensus light client in TypeScript
4646
- [Helios](https://github.com/a16z/helios): combined execution and consensus light client in Rust
47-
- [Geth](https://github.com/ethereum/go-ethereum/tree/master/light): light mode for execution client (in development) in Go
47+
- [Geth](https://github.com/ethereum/go-ethereum/tree/master/beacon/light): light mode for execution client (in development) in Go
4848
- [Nimbus](https://nimbus.guide/el-light-client.html): consensus light client in Nim
4949

5050
To our knowledge none of these are considered production-ready yet.

0 commit comments

Comments
 (0)