Skip to content

Commit ec44c25

Browse files
Merge branch 'main' into eol
Signed-off-by: Brian Muenzenmeyer <[email protected]>
2 parents ef51f5c + cd078de commit ec44c25

45 files changed

Lines changed: 1765 additions & 1327 deletions

File tree

Some content is hidden

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

.github/workflows/playwright-cloudflare-open-next.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ jobs:
5151
- name: Install packages
5252
run: pnpm install --frozen-lockfile
5353

54-
- name: Downgrade Next.js
55-
# Open-next does not yet support [email protected], so temporarily in order to have
56-
# this workflow working we force install the latest Next.js 15.3 version instead
57-
run: pnpm i [email protected]
58-
working-directory: apps/site
59-
6054
- name: Get Playwright version
6155
id: playwright-version
6256
working-directory: apps/site

apps/site/app/[locale]/not-found.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
'use client';
22

33
import { ArrowRightIcon } from '@heroicons/react/24/solid';
4-
import Image from 'next/image';
54
import { useTranslations } from 'next-intl';
65
import type { FC } from 'react';
76

87
import Button from '#site/components/Common/Button';
8+
import Turtle from '#site/components/Common/Turtle';
99
import GlowingBackdropLayout from '#site/layouts/GlowingBackdrop';
1010

1111
const NotFoundPage: FC = () => {
@@ -20,14 +20,7 @@ const NotFoundPage: FC = () => {
2020
</h1>
2121

2222
<div className="my-4 flex h-[150px] items-center justify-center md:h-[300px]">
23-
<div className="turtle motion-safe:animate-surf motion-reduce:animate-none">
24-
<Image
25-
src="/static/images/node-mascot.svg"
26-
alt="The Node.js mascot"
27-
height={114.69}
28-
width={100}
29-
/>
30-
</div>
23+
<Turtle />
3124
</div>
3225

3326
<p className="-mt-4 max-w-sm text-center text-lg">

apps/site/styles/effects.css renamed to apps/site/components/Common/Turtle/index.module.css

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
@utility turtle {
2-
@apply animate-surf
1+
@reference "../../../styles/index.css";
2+
3+
.turtle {
4+
@apply motion-safe:animate-surf
5+
animate-surf
36
absolute
47
z-10
58
translate-x-0
@@ -16,12 +19,13 @@
1619
after:bg-[url('/static/images/smoke.gif')]
1720
after:opacity-[0.15]
1821
after:content-['']
22+
motion-reduce:animate-none
1923
after:md:-left-1/2
2024
after:md:top-1/2;
25+
}
2126

22-
& img {
23-
@apply h-auto
24-
w-24
25-
md:w-48;
26-
}
27+
.image {
28+
@apply h-auto
29+
w-24
30+
md:w-48;
2731
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import Image from 'next/image';
2+
import type { FC } from 'react';
3+
4+
import styles from './index.module.css';
5+
6+
const Turtle: FC = () => (
7+
<div className={styles.turtle}>
8+
<Image
9+
className={styles.image}
10+
src="/static/images/node-mascot.svg"
11+
alt="The Node.js mascot"
12+
height={115}
13+
width={100}
14+
/>
15+
</div>
16+
);
17+
18+
export default Turtle;

apps/site/components/Downloads/Release/VersionDropdown.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client';
22

3-
import Select from '@node-core/ui-components/Common/Select';
3+
import WithNoScriptSelect from '@node-core/ui-components/Common/Select/NoScriptSelect';
44
import { useLocale, useTranslations } from 'next-intl';
55
import type { FC } from 'react';
66
import { useContext } from 'react';
@@ -51,7 +51,7 @@ const VersionDropdown: FC = () => {
5151
};
5252

5353
return (
54-
<Select
54+
<WithNoScriptSelect
5555
ariaLabel={t('layouts.download.dropdown.version')}
5656
values={releases.map(({ status, versionWithPrefix }) => ({
5757
value: versionWithPrefix,

apps/site/components/withNavBar.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import LanguageDropdown from '@node-core/ui-components/Common/LanguageDropDown';
44
import Skeleton from '@node-core/ui-components/Common/Skeleton';
5-
import ThemeToggle from '@node-core/ui-components/Common/ThemeToggle';
65
import NavBar from '@node-core/ui-components/Containers/NavBar';
76
// TODO(@AvivKeller): I don't like that we are importing styles from another module
87
import styles from '@node-core/ui-components/Containers/NavBar/index.module.css';
@@ -27,6 +26,16 @@ const SearchButton = dynamic(() => import('#site/components/Common/Search'), {
2726
),
2827
});
2928

29+
const ThemeToggle = dynamic(
30+
() => import('@node-core/ui-components/Common/ThemeToggle'),
31+
{
32+
ssr: false,
33+
loading: () => (
34+
<Skeleton className={styles.themeToggleSkeleton} loading={true} />
35+
),
36+
}
37+
);
38+
3039
const WithNavBar: FC = () => {
3140
const { navigationItems } = useSiteNavigation();
3241
const { resolvedTheme, setTheme } = useTheme();
@@ -39,6 +48,11 @@ const WithNavBar: FC = () => {
3948
const toggleCurrentTheme = () =>
4049
setTheme(resolvedTheme === 'dark' ? 'light' : 'dark');
4150

51+
const themeToggleAriaLabel =
52+
resolvedTheme === 'dark'
53+
? t('components.common.themeToggle.light')
54+
: t('components.common.themeToggle.dark');
55+
4256
const changeLanguage = (locale: SimpleLocaleConfig) =>
4357
replace(pathname!, { locale: locale.code });
4458

@@ -63,7 +77,7 @@ const WithNavBar: FC = () => {
6377

6478
<ThemeToggle
6579
onClick={toggleCurrentTheme}
66-
aria-label={t('components.common.themeToggle.label')}
80+
aria-label={themeToggleAriaLabel}
6781
/>
6882

6983
<LanguageDropdown

apps/site/navigation.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
},
6666
{
6767
"icon": "discord",
68-
"link": "https://nodejs.org/discord",
68+
"link": "https://discord.gg/nodejs",
6969
"alt": "Discord"
7070
},
7171
{

apps/site/package.json

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@
1414
"deploy": "cross-env NEXT_PUBLIC_STATIC_EXPORT=true node --run build:default -- --turbo",
1515
"predev": "node --run build:blog-data",
1616
"dev": "cross-env NODE_NO_WARNINGS=1 next dev --turbo",
17-
"lint": "turbo run lint:md lint:js lint:css",
17+
"lint": "node --run lint:js && node --run lint:css && node --run lint:md",
18+
"lint:fix": "node --run lint:js:fix && node --run lint:css:fix && node --run lint:md:fix",
1819
"lint:css": "stylelint \"**/*.css\" --allow-empty-input --cache --cache-strategy=content --cache-location=.stylelintcache",
19-
"lint:fix": "node --run lint -- -- --fix",
20+
"lint:css:fix": "node --run lint:css -- --fix",
2021
"lint:js": "eslint \"**/*.{js,mjs,ts,tsx}\"",
22+
"lint:js:fix": "node --run lint:js -- --fix",
2123
"lint:md": "eslint \"**/*.md?(x)\" --cache --cache-strategy=content --cache-location=.eslintmdcache",
24+
"lint:md:fix": "node --run lint:md -- --fix",
2225
"lint:types": "tsc --noEmit",
2326
"playwright": "playwright test",
2427
"scripts:release-post": "cross-env NODE_NO_WARNINGS=1 node scripts/release-post/index.mjs",
@@ -62,7 +65,7 @@
6265
"next-themes": "~0.4.6",
6366
"postcss-calc": "~10.1.1",
6467
"react": "catalog:",
65-
"react-dom": "^19.1.0",
68+
"react-dom": "^19.1.1",
6669
"reading-time": "~1.5.0",
6770
"rehype-autolink-headings": "~7.1.0",
6871
"rehype-slug": "~6.0.0",
@@ -79,12 +82,12 @@
7982
"@eslint/eslintrc": "~3.3.1",
8083
"@flarelabs-net/wrangler-build-time-fs-assets-polyfilling": "^0.0.1",
8184
"@next/eslint-plugin-next": "15.4.4",
82-
"@opennextjs/cloudflare": "^1.6.0",
85+
"@opennextjs/cloudflare": "^1.6.4",
8386
"@playwright/test": "^1.54.1",
8487
"@testing-library/user-event": "~14.6.1",
8588
"@types/mdx": "^2.0.13",
8689
"@types/semver": "~7.7.0",
87-
"eslint-config-next": "15.4.3",
90+
"eslint-config-next": "15.4.4",
8891
"eslint-import-resolver-typescript": "~4.4.4",
8992
"eslint-plugin-mdx": "~3.6.2",
9093
"eslint-plugin-react": "~7.37.4",
@@ -103,15 +106,15 @@
103106
"remark-lint-prohibited-strings": "^4.0.0",
104107
"remark-lint-unordered-list-marker-style": "^4.0.1",
105108
"remark-preset-lint-node": "5.1.2",
106-
"stylelint": "16.22.0",
107-
"stylelint-config-standard": "38.0.0",
109+
"stylelint": "16.23.0",
110+
"stylelint-config-standard": "39.0.0",
108111
"stylelint-order": "7.0.0",
109112
"stylelint-selector-bem-pattern": "4.0.1",
110113
"tsx": "^4.20.3",
111114
"typescript": "catalog:",
112115
"typescript-eslint": "~8.38.0",
113116
"user-agent-data-types": "0.4.2",
114-
"wrangler": "^4.25.1"
117+
"wrangler": "^4.26.1"
115118
},
116119
"imports": {
117120
"#site/*": [

apps/site/pages/en/about/get-involved/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ If you are interested in getting involved with the Node.js community, there are
1111

1212
- The [`nodejs/node` GitHub repository](https://github.com/nodejs/node/issues) is the place to discuss Node.js core features and reporting issues.
1313
- The [`nodejs/help` GitHub repository](https://github.com/nodejs/help/issues) is the official place to ask questions about Node.js.
14-
- Node.js's [official Discord server](/discord) is a place to chat with other Node.js developers and get official news from the Node.js project.
14+
- Node.js's [official Discord server](https://discord.gg/nodejs) is a place to chat with other Node.js developers and get official news from the Node.js project.
1515
- Node.js's [project calendar](https://nodejs.org/calendar) with all public Node.js team meetings.
1616

1717
## Learning Materials

apps/site/pages/en/blog/announcements/official-discord-launch-announcement.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ layout: blog-post
66
author: Carl Vitullo, Claudio Wunder
77
---
88

9-
First, the news: [The OpenJS Foundation](https://openjsf.org/) and [Reactiflux](https://reactiflux.com/) have collaborated to bring forth an official Discord community for Node.js 🎉 You can [join the Node.js Discord](/discord) now.
9+
First, the news: [The OpenJS Foundation](https://openjsf.org/) and [Reactiflux](https://reactiflux.com/) have collaborated to bring forth an official Discord community for Node.js 🎉 You can [join the Node.js Discord](https://discord.gg/nodejs) now.
1010

1111
Over the past several years, Discord has become the de-facto platform for communities to connect and communicate. Many Node.js community members already use Discord to discuss Node.js, seek advice, and share their projects. By establishing an official Node.js Discord server, we aim to gather these conversations and provide a safe and well-moderated space for our online community to congregate. Lots of other open-source projects, such as [TypeScript](https://discord.gg/typescript), [Rust](https://discord.gg/rust-lang), and [Python](https://discord.gg/python), have successfully built their communities on Discord.
1212

@@ -27,7 +27,7 @@ Reactiflux was one of the first large commuinities on Discord, joining the platf
2727

2828
Now, 7 years on, the Nodeiflux server has joined up with the OpenJS Foundation to serve as the official Node.js Discord server. We are excited to see how our community will thrive in this new environment — the server will be jointly managed by the Node.js project and the Nodeiflux community, with the Node.js Technical Steering Committee (TSC) providing advisory support. The Nodeiflux community will handle the day-to-day administration of the server.
2929

30-
For all intents and purposes, this is an official Node.js space, and we are eager to see how it will grow and evolve. [Join the Node.js Discord](/discord) and become part of our growing community. See you there!
30+
For all intents and purposes, this is an official Node.js space, and we are eager to see how it will grow and evolve. [Join the Node.js Discord](https://discord.gg/nodejs) and become part of our growing community. See you there!
3131

3232
### Looking Ahead
3333

0 commit comments

Comments
 (0)