Skip to content

Commit b39c004

Browse files
Ivan Bochkarevcursoragent
andcommitted
chore: синхронизация с upstream nuxt/nuxt.com (main)
- Merge 363 коммитов из nuxt/nuxt.com - Сохранены URL translation-gang в content.config.ts - Обновлены зависимости: @nuxt/ui v4, nuxt 4.3.1, @nuxt/content 3.11, @nuxthub/core 0.10.6 - Удалён @nuxt/ui-pro, добавлены @nuxtjs/mcp-toolkit, resend и др. - Разрешены конфликты в переведённых YML, Vue-компонентах и deploy-гайдах - Русские подписи сохранены в навигации, страницах и контенте Co-authored-by: Cursor <cursoragent@cursor.com>
2 parents 5780b24 + fc124a6 commit b39c004

File tree

449 files changed

+15069
-7673
lines changed

Some content is hidden

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

449 files changed

+15069
-7673
lines changed

.env.example

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
# Specify the path of the nuxt/nuxt repository locally
2-
NUXT_PATH=
2+
NUXT_V3_PATH=
3+
NUXT_V4_PATH=
34
# Specify the path of the nuxt/examples repository locally
45
NUXT_EXAMPLES_PATH=
5-
# Specify the path of the nuxt/ui-pro repository locally
6-
NUXT_UI_PRO_PATH=
7-
# Production token for @nuxt/ui-pro, purchase on https://ui.nuxt.com/pro/purchase
8-
NUXT_UI_PRO_LICENSE=
96
# Used when pre-rendering the docs for dynamic OG images
107
NUXT_PUBLIC_SITE_URL=
11-
# Used for fetching the docs & examples from GitHub (if no local docs)
8+
# Used for fetching the docs & examples from GitHub and GitHub sponsors
129
NUXT_GITHUB_TOKEN=
1310
# Use for Turnsttle: Privacy-focused alternative to CAPTCHA from Cloudflare https://nuxt.com/modules/turnstile
1411
NUXT_PUBLIC_TURNSTILE_SITE_KEY=
@@ -23,9 +20,26 @@ NUXT_PUBLIC_TURNSTILE_SITE_KEY=
2320
# GitHub OAuth Application Client ID
2421
NUXT_OAUTH_GITHUB_CLIENT_ID=
2522

26-
# GitHub OAuth Application Client Secret
23+
# GitHub OAuth Application Client Secret
2724
NUXT_OAUTH_GITHUB_CLIENT_SECRET=
2825

2926
# Session encryption password (generate a secure random string)
3027
# You can use: openssl rand -base64 32
31-
NUXT_SESSION_PASSWORD=
28+
NUXT_SESSION_PASSWORD=
29+
30+
# MCP Evaluation (Optional - for running evalite tests)
31+
AI_GATEWAY_API_KEY=
32+
MCP_URL=http://localhost:3000/mcp
33+
34+
# for fetching sponsors
35+
NUXT_OPEN_COLLECTIVE_API_KEY=
36+
37+
# for newsletter subscription via Resend
38+
NUXT_RESEND_API_KEY=
39+
NUXT_RESEND_AUDIENCE_ID=
40+
41+
# for overriding the contact email used in the site footer and contact forms
42+
NUXT_CONTACT_EMAIL=""
43+
44+
# for verifying Turnstile responses (/api/support/contact form)
45+
NUXT_TURNSTILE_SECRET_KEY=

.github/workflows/ci.yml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,37 @@ jobs:
1212
lint:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
1616
- run: corepack enable
17-
- uses: actions/setup-node@v4
17+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
1818
with:
19-
node-version: 20
19+
node-version: lts/-1
2020
cache: "pnpm"
2121
- run: pnpm install
2222
- run: pnpm nuxt prepare
2323
- run: pnpm lint
24+
25+
unit:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
29+
- run: corepack enable
30+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
31+
with:
32+
node-version: lts/-1
33+
cache: "pnpm"
34+
- run: pnpm install
35+
- run: pnpm nuxt prepare
36+
- run: pnpm vitest run
37+
2438
typecheck:
2539
runs-on: ubuntu-latest
2640
steps:
27-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2842
- run: corepack enable
29-
- uses: actions/setup-node@v4
43+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
3044
with:
31-
node-version: 20
45+
node-version: lts/-1
3246
cache: "pnpm"
3347
- run: pnpm install
3448
- run: pnpm nuxt prepare

.github/workflows/e2e.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,36 @@ on:
1010
deployment_status:
1111

1212
jobs:
13+
e2e:
14+
environment:
15+
name: ${{ github.event.deployment.environment || 'Production' }}
16+
url: ${{ github.event.inputs.url || github.event.deployment_status.environment_url }}
17+
if: github.event.deployment_status.state == 'success' || github.event_name == 'workflow_dispatch'
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
21+
- run: corepack enable
22+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
23+
with:
24+
node-version: lts/-1
25+
cache: 'pnpm'
26+
- run: pnpm install
27+
- run: pnpm exec playwright install
28+
- name: Run Playwright E2E tests
29+
run: pnpm test:browser
30+
env:
31+
BASE_URL: ${{ github.event.inputs.url || github.event.deployment_status.environment_url }}
32+
1333
lighthouse:
1434
environment:
1535
name: ${{ github.event.deployment.environment || 'Production' }}
1636
url: ${{ github.event.inputs.url || github.event.deployment_status.environment_url }}
1737
if: github.event.deployment_status.state == 'success' || github.event_name == 'workflow_dispatch'
1838
runs-on: ubuntu-latest
1939
steps:
20-
- uses: actions/checkout@v3
40+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2141
- name: Audit URLs using Lighthouse
22-
uses: treosh/lighthouse-ci-action@v12
42+
uses: treosh/lighthouse-ci-action@fcd65974f7c4c2bf0ee9d09b84d2489183c29726 # v12
2343
with:
2444
urls: ${{ github.event.inputs.url || github.event.deployment_status.environment_url }}
2545
uploadArtifacts: true
@@ -39,6 +59,6 @@ jobs:
3959
run: |
4060
curl -sS $BASE_URL/api/jobs
4161
curl -sS $BASE_URL/api/sponsors
42-
curl -sS $BASE_URL/api/modules
62+
curl -sS $BASE_URL/api/v1/modules
4363
env:
4464
BASE_URL: ${{ github.event.inputs.url || github.event.deployment_status.environment_url }}

.github/workflows/nuxthub.yml

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

.github/workflows/provenance.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
permissions:
11+
contents: read
12+
jobs:
13+
check-provenance:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
17+
with:
18+
fetch-depth: 0
19+
- name: Check provenance downgrades
20+
uses: danielroe/provenance-action@41bcc969e579d9e29af08ba44fcbfdf95cee6e6c # v0.1.1
21+
with:
22+
fail-on-provenance-change: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules
2+
.pnpm-store
23
*.log
34
.nuxt
45
nuxt.d.ts
@@ -21,3 +22,5 @@ dist
2122

2223
.wrangler
2324
node-compile-cache
25+
test-results/
26+

.mcp.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"mcpServers": {
3+
"nuxt": {
4+
"type": "http",
5+
"url": "https://nuxt.com/mcp"
6+
},
7+
"nuxt-ui": {
8+
"type": "http",
9+
"url": "https://ui.nuxt.com/mcp"
10+
},
11+
"nuxt-hub": {
12+
"type": "http",
13+
"url": "https://hub.nuxt.com/mcp"
14+
}
15+
}
16+
}

.nuxtrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
setups.@nuxt/test-utils="4.0.0"

README.md

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
<a href="https://nuxt.com"><img width="1200" alt="Nuxt Website" src="./public/website.jpg"></a>
22

3-
# <https://nuxt-ru.vercel.app>
3+
[![Install in Cursor](https://nuxt.com/mcp/badge.svg)](https://nuxt.com/mcp/deeplink)
4+
[![Install in VSCode](https://nuxt.com/mcp/badge.svg?ide=vscode)](https://nuxt.com/mcp/deeplink?ide=vscode)
5+
6+
# nuxt-ru.vercel.app
47

58
Добро пожаловать на сайт-репозиторий Nuxt, доступный по адресу [https://nuxt-ru.vercel.app](https://nuxt-ru.vercel.app).
69

7-
[![Nuxt UI Pro](https://img.shields.io/badge/Made%20with-Nuxt%20UI%20Pro-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com/pro)
10+
[![Nuxt UI](https://img.shields.io/badge/Made%20with-Nuxt%20UI-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com)
811

912
## Настройка
1013

@@ -33,7 +36,7 @@ pwd
3336
echo %cd%
3437
```
3538

36-
Скопируйте вывод команды выше и вставьте его в переменную `NUXT_PATH` в файле `.env`.
39+
Скопируйте вывод команды выше и вставьте его в переменные `NUXT_V3_PATH` и `NUXT_V4_PATH` в файле `.env`.
3740

3841
## Разработка
3942

@@ -43,7 +46,13 @@ echo %cd%
4346
pnpm dev
4447
```
4548

46-
### Добавьте шаблон Nuxt
49+
Чтобы запустить сервер разработки с полной подгрузкой контента (модули, API и т.д.):
50+
51+
```bash
52+
pnpm dev:full
53+
```
54+
55+
### Добавление шаблона Nuxt
4756

4857
Чтобы добавить шаблон Nuxt в список, добавьте его в папку [./content/templates](./content/templates).
4958

@@ -55,16 +64,16 @@ pnpm dev
5564

5665
## Продакшен
5766

58-
Для того, чтобы собрать приложение для продакшена, вам необходимо иметь лицензию [Nuxt UI Pro](https://ui.nuxt.com/pro) и установить переменную `NUXT_UI_PRO_LICENSE` в файле `.env`.
59-
60-
Обратите внимание, что это не требуется для запуска в разработке и внесения вклада на сайт Nuxt или в документацию.
61-
6267
Соберите production-приложение:
6368

6469
```bash
65-
pnpm generate
70+
pnpm build
6671
```
6772

73+
### Evals для MCP-сервера
74+
75+
Для запуска evals убедитесь, что dev-сервер запущен, создайте API-ключ на https://vercel.com/ai-gateway и добавьте `AI_GATEWAY_API_KEY` в `.env`. Затем: `pnpm eval` или `pnpm eval:ui`.
76+
6877
## Лицензия
6978

7079
[MIT License](./LICENSE)

app/app.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ export default defineAppConfig({
44
primary: 'green',
55
neutral: 'slate',
66
important: 'violet'
7-
}
8-
},
9-
uiPro: {
7+
},
108
pageHero: {
119
slots: {
1210
container: 'py-10 sm:py-20 lg:py-20',

0 commit comments

Comments
 (0)