Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from nodejs:main #1547

Merged
merged 2 commits into from
Aug 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ jobs:
# this should be a last resort in case by any chances the build memory gets too high
# but in general this should never happen
NODE_OPTIONS: '--max_old_space_size=4096'
# Used for API requests that require GitHub API scopes
NEXT_GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}

- name: Build Next.js (Static)
# We only run full static builds within Pull Requests. As they're not needed on `merge_group` or `push` events
Expand All @@ -115,6 +117,8 @@ jobs:
# this should be a last resort in case by any chances the build memory gets too high
# but in general this should never happen
NODE_OPTIONS: '--max_old_space_size=4096'
# Used for API requests that require GitHub API scopes
NEXT_GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}

- name: Sync Orama Cloud
# We only want to sync the Orama Cloud production indexes on `push` events.
Expand Down
14 changes: 12 additions & 2 deletions apps/site/app/[locale]/next-data/api-data/route.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
import { deflateSync } from 'node:zlib';

import provideReleaseData from '@/next-data/providers/releaseData';
import { VERCEL_REVALIDATE } from '@/next.constants.mjs';
import { GITHUB_API_KEY, VERCEL_REVALIDATE } from '@/next.constants.mjs';
import { defaultLocale } from '@/next.locales.mjs';
import type { GitHubApiFile } from '@/types';
import { getGitHubApiDocsUrl } from '@/util/gitHubUtils';
import { parseRichTextIntoPlainText } from '@/util/stringUtils';

// Defines if we should use the GitHub API Key for the request
// based on the environment variable `GITHUB_API_KEY`
const authorizationHeaders = GITHUB_API_KEY
? { headers: { Authorization: `Bearer ${GITHUB_API_KEY}` } }
: undefined;

// Formats a pathname for an API file from Markdown file basename
const getPathnameForApiFile = (name: string, version: string) =>
`docs/${version}/api/${name.replace('.md', '.html')}`;

Expand All @@ -20,7 +27,10 @@ export const GET = async () => {
release => release.status === 'LTS'
)!;

const gitHubApiResponse = await fetch(getGitHubApiDocsUrl(versionWithPrefix));
const gitHubApiResponse = await fetch(
getGitHubApiDocsUrl(versionWithPrefix),
authorizationHeaders
);

return gitHubApiResponse.json().then((apiDocsFiles: Array<GitHubApiFile>) => {
// maps over each api file and get the download_url, fetch the content and deflates it
Expand Down
8 changes: 8 additions & 0 deletions apps/site/next.constants.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,11 @@ export const ORAMA_CLOUD_ENDPOINT =
* This is a public API key and can be shared publicly on the frontend.
*/
export const ORAMA_CLOUD_API_KEY = process.env.NEXT_PUBLIC_ORAMA_API_KEY || '';

/**
* A GitHub Access Token for accessing the GitHub API and not being rate-limited
* The current token is registered on the "nodejs-vercel" GitHub Account.
*
* Note: This has no NEXT_PUBLIC prefix as it should not be exposed to the Browser.
*/
export const GITHUB_API_KEY = process.env.NEXT_GITHUB_API_KEY || '';
4 changes: 2 additions & 2 deletions apps/site/pages/fr/about/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ Un guide pour les collaborateurs est disponible à l'adresse suivante : [collabo

## Comité de pilotage technique

Le projet est régi par le \[Comité de pilotage technique (TSC)]\[]
Le projet est régi par le [Comité de pilotage technique (TSC)][]
qui est responsable de l'orientation de haut niveau du projet. Le TSC est un
un sous-ensemble de collaborateurs actifs qui sont nommés par d'autres membres existants du TSC.

[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making
[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members
[tsc]: https://github.com/nodejs/TSC
[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[comité de pilotage technique (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md
[nodejs/node]: https://github.com/nodejs/node
8 changes: 4 additions & 4 deletions apps/site/pages/id/about/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ layout: about

## Proses Pencarian Kesepakatan

Proyek Node.js mengikuti model pengambilan keputusan \[Pencarian Konsensus] \[].
Proyek Node.js mengikuti model pengambilan keputusan [Pencarian Konsensus][].

## Kolaborator

Repositori inti GitHub [nodejs/node] \[] dikelola oleh Kolaborator
Repositori inti GitHub [nodejs/node][] dikelola oleh Kolaborator
yang dinominasikan oleh Kolaborator lain yang ada secara berkelanjutan.

Individu yang memberikan kontribusi signifikan dan berharga akan dijadikan Kolaborator dan diberikan akses komitmen terhadap proyek. Individu-individu ini diidentifikasi oleh Kolaborator lain dan nominasi mereka didiskusikan dengan Kolaborator yang ada.
Expand All @@ -22,11 +22,11 @@ Panduan untuk Kolaborator disimpan di [collaborator-guide.md][].

## Komite Pengarah Teknis

Proyek ini diatur oleh \[Komite Pengarah Teknis]\[] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada.
Proyek ini diatur oleh [Komite Pengarah Teknis][] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada.

[consensus seeking]: https://id.wikipedia.org/wiki/Musyawarah
[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members
[tsc]: https://github.com/nodejs/TSC
[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[komite pengarah teknis]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md
[nodejs/node]: https://github.com/nodejs/node
2 changes: 1 addition & 1 deletion apps/site/pages/id/about/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Jika ada yang belum familiar dengan bahasa ini, ada artikel lengkap tentang [Blo

---

Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine] \[] Ruby dan \[Twisted] \[] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna.
Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine][] Ruby dan [Twisted][] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna.

HTTP adalah warga negara kelas satu di Node.js, dirancang dengan streaming dan rendah
latensi dalam pikiran. Ini membuat Node.js sangat cocok untuk fondasi web
Expand Down
6 changes: 3 additions & 3 deletions apps/site/pages/uk/about/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ layout: about

## Процес пошуку консенсусу

Node.js дотримується моделі прийняття рішень \[знаходження консенсусу]\[].
Node.js дотримується моделі прийняття рішень [знаходження консенсусу][].

## Співавтори

Expand All @@ -21,11 +21,11 @@ Node.js дотримується моделі прийняття рішень \[

## Технічний керівний комітет

Проєкт керується \\[Технічним керівним комітетом (TSC)]\\[], який відповідальний за високорівневе керування проєктом. TSC — це набір активних співавторів, які номінуються іншими чинними членами TSC.
Проєкт керується [Технічним керівним комітетом (TSC)][], який відповідальний за високорівневе керування проєктом. TSC — це набір активних співавторів, які номінуються іншими чинними членами TSC.

[consensus seeking]: https://uk.wikipedia.org/wiki/%D0%97%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F_%D0%BA%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%81%D1%83%D1%81%D1%83
[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members
[tsc]: https://github.com/nodejs/TSC
[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[Технічним керівним комітетом (TSC)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md
[nodejs/node]: https://github.com/nodejs/node
Loading
Loading