Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
# Conflicts:
#	docs/1.getting-started/1.introduction.md
#	docs/1.getting-started/12.upgrade.md
#	docs/1.getting-started/3.configuration.md
#	docs/1.getting-started/4.assets.md
#	docs/1.getting-started/4.styling.md
#	docs/1.getting-started/8.server.md
#	docs/2.guide/1.concepts/2.vuejs-development.md
#	docs/2.guide/1.concepts/4.server-engine.md
#	docs/2.guide/3.going-further/1.experimental-features.md
#	docs/2.guide/3.going-further/1.features.md
#	docs/3.api/2.composables/use-head-safe.md
#	docs/3.api/2.composables/use-id.md
#	docs/3.api/4.commands/upgrade.md
#	docs/3.api/5.kit/14.builder.md
#	docs/3.api/6.advanced/1.hooks.md
#	docs/5.community/4.contribution.md
#	docs/5.community/5.framework-contribution.md
#	docs/7.migration/10.bundling.md
  • Loading branch information
Ivan Bochkarev committed Dec 15, 2024
2 parents cb20888 + 2b8527e commit 9b65423
Show file tree
Hide file tree
Showing 135 changed files with 3,212 additions and 2,167 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:lts@sha256:5c76d05034644fa8ecc9c2aa84e0a83cd981d0ef13af5455b87b9adf5b216561
FROM node:lts@sha256:35a5dd72bcac4bce43266408b58a02be6ff0b6098ffa6f5435aeea980a8951d7

RUN apt-get update && \
apt-get install -fy libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdbus-1-3 libdrm2 libxkbcommon0 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2 && \
Expand Down
5 changes: 0 additions & 5 deletions .github/issue-up.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/autofix-docs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: autofix.ci # needed to securely identify the workflow
name: autofix.ci # needed to securely identify the workflow

on:
pull_request:
Expand All @@ -21,7 +21,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: autofix.ci # needed to securely identify the workflow
name: autofix.ci # needed to securely identify the workflow

on:
pull_request:
Expand All @@ -17,12 +17,15 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
run: pnpm install

- name: Check engine ranges, peer dependency ranges and installed versions
run: pnpm installed-check -d --fix

- name: Build (stub)
run: pnpm dev:prepare

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ jobs:
- name: Build
run: pnpm build

- name: Check types
run: pnpm test:attw

- name: Cache dist
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
Expand All @@ -75,7 +78,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Initialize CodeQL
uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
config: |
paths:
Expand All @@ -91,7 +94,7 @@ jobs:
queries: +security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
category: "/language:javascript-typescript"

Expand All @@ -111,7 +114,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down Expand Up @@ -142,7 +145,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand All @@ -166,7 +169,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down Expand Up @@ -248,7 +251,7 @@ jobs:
TEST_PAYLOAD: ${{ matrix.payload }}
SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || matrix.payload == 'js' || runner.os == 'Windows' }}

- uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
if: github.event_name != 'push' && matrix.env == 'built' && matrix.builder == 'vite' && matrix.context == 'default' && matrix.os == 'ubuntu-latest' && matrix.manifest == 'manifest-on'
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down Expand Up @@ -277,7 +280,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down Expand Up @@ -318,7 +321,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/docs-check-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
# Cache lychee results (e.g. to avoid hitting rate limits)
- name: Restore lychee cache
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
Expand All @@ -33,14 +33,14 @@ jobs:
with:
# arguments with file types to check
args: >-
--cache
--verbose
--no-progress
--max-cache-age=1d
'./**/*.md'
'./**/*.html'
'-c=lychee.toml'
'./docs/**/*.md'
'./docs/**/*.html'
'./packages/*/src/**/*.ts'
'./packages/*/src/**/*.js'
'./packages/*/src/**/*.md'
# fail the action on broken links
fail: true
env:
# to be used in case rate limits are surpassed
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ on:
push:
paths:
- "**/package.json"
- "pnpm-lock.yaml"
branches:
- main
- 3.x
pull_request:
paths:
- "**/package.json"
- "pnpm-lock.yaml"
branches:
- main
- 3.x
Expand All @@ -27,10 +29,14 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20
node-version: 22
cache: "pnpm"

- name: Install dependencies
run: pnpm install

- name: Lint monorepo
run: pnpm sherif -r multiple-dependency-versions

- name: Check engine ranges, peer dependency ranges and installed versions
run: pnpm installed-check -d
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
if: github.repository == 'nuxt/nuxt' && success()
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions docs/1.getting-started/1.introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Nuxt использует соглашения и продуманную стр
- **Автоматические импорты:** Пишите Vue композаблы и компоненты в соответствующих каталогах и используйте их без необходимости импорта, с преимуществами tree-shaking и оптимизированных JS-пакетов.
- **Data-fetching утилиты:** Nuxt предоставляет композаблы для SSR-совместимого получения данных, а также различные стратегии для этого.
- **Поддержка TypeScript без настройки:** пишите type-safe код без необходимости изучать TypeScript с нашими автоматически сгенерированными типами и `tsconfig.json`
- **Настроенные инструменты сборки:** мы используем [Vite](https://vitejs.dev) по умолчанию для поддержки горячей заменой модулей (HMR) во время разработки и сборки вашего кода для продакшена с использованием лучших практик.
- **Настроенные инструменты сборки:** мы используем [Vite](https://vite.dev) по умолчанию для поддержки горячей заменой модулей (HMR) во время разработки и сборки вашего кода для продакшена с использованием лучших практик.

Nuxt заботится обо всем этом и предоставляет как frontend, так и backend-функциональность, чтобы вы могли сфокусироваться на важном: **создании своего веб-приложения**.

Expand Down Expand Up @@ -74,7 +74,7 @@ Nuxt состоит из различных [core-пакетов](https://github
- Основной движок: [nuxt](https://github.com/nuxt/nuxt/tree/main/packages/nuxt)
- Сборщики: [@nuxt/vite-builder](https://github.com/nuxt/nuxt/tree/main/packages/vite) и [@nuxt/webpack-builder](https://github.com/nuxt/nuxt/tree/main/packages/webpack)
- Интерфейс командной строки: [nuxi](https://github.com/nuxt/nuxt/tree/main/packages/nuxi)
- Серверный движок: [nitro](https://github.com/unjs/nitro)
- Серверный движок: [nitro](https://github.com/nitrojs/nitro)
- Development kit: [@nuxt/kit](https://github.com/nuxt/nuxt/tree/main/packages/kit)

Мы рекомендуем прочитать каждую концепцию, чтобы иметь полное представление о возможностях Nuxt и области действия каждого пакета.
Expand Down
44 changes: 42 additions & 2 deletions docs/1.getting-started/12.upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ bun x nuxi upgrade

## Тестируем Nuxt 4

Дата выхода Nuxt 4 будет объявлена позднее. Она зависит от наличия достаточного времени после основного релиза Nitro для тщательного тестирования сообществом. Вы можете следить за прогрессом выхода Nitro в [этом PR](https://github.com/unjs/nitro/pull/2521).
Дата выхода Nuxt 4 будет объявлена позднее. Она зависит от наличия достаточного времени после основного релиза Nitro для тщательного тестирования сообществом. Вы можете следить за прогрессом выхода Nitro в [этом PR](https://github.com/nitrojs/nitro/pull/2521).

До выхода Nuxt 4 многие критические изменения, которые войдут в Nuxt 4, уже можно протестировать в версиях Nuxt 3.12 и выше.

Expand Down Expand Up @@ -73,7 +73,8 @@ export default defineNuxtConfig({
// resetAsyncDataToUndefined: true,
// templateUtils: true,
// relativeWatchPaths: true,
// normalizeComponentNames: false
// normalizeComponentNames: false,
// spaLoadingTemplateLocation: 'within',
// defaults: {
// useAsyncData: {
// deep: true
Expand Down Expand Up @@ -236,6 +237,45 @@ export default defineNuxtConfig({
})
```

#### New DOM Location for SPA Loading Screen

🚦 **Impact Level**: Minimal

##### What Changed

When rendering a client-only page (with `ssr: false`), we optionally render a loading screen (from `app/spa-loading-template.html`), within the Nuxt app root:

```html
<div id="__nuxt">
<!-- spa loading template -->
</div>
```

Now, we default to rendering the template alongside the Nuxt app root:

```html
<div id="__nuxt"></div>
<!-- spa loading template -->
```

##### Reasons for Change

This allows the spa loading template to remain in the DOM until the Vue app suspense resolves, preventing a flash of white.

##### Migration Steps

If you were targeting the spa loading template with CSS or `document.queryElement` you will need to update your selectors. For this purpose you can use the new `app.spaLoaderTag` and `app.spaLoaderAttrs` configuration options.

Alternatively, you can revert to the previous behaviour with:

```ts twoslash [nuxt.config.ts]
export default defineNuxtConfig({
experimental: {
spaLoadingTemplateLocation: 'within',
}
})
```

#### Scan Page Meta After Resolution

🚦 **Impact Level**: Minimal
Expand Down
3 changes: 3 additions & 0 deletions docs/1.getting-started/2.installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ pnpm dev -o

```bash [bun]
bun run dev -o

# To use the Bun runtime during development
# bun --bun run dev -o
```
::

Expand Down
2 changes: 1 addition & 1 deletion docs/1.getting-started/3.configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ Nuxt использует файл [`nuxt.config.ts`](/docs/guide/directory-stru
----------------------------------|-------------------------|------------------------------------------------------------------------------
[Nitro](https://nitro.unjs.io) | ~~`nitro.config.ts`~~ | Используйте ключ [`nitro`](/docs/api/nuxt-config#nitro) в `nuxt.config`
[PostCSS](https://postcss.org) | ~~`postcss.config.js`~~ | Используйте ключ [`postcss`](/docs/api/nuxt-config#postcss) в `nuxt.config`
[Vite](https://vitejs.dev) | ~~`vite.config.ts`~~ | Используйте ключ [`vite`](/docs/api/nuxt-config#vite) в `nuxt.config`
[Vite](https://vite.dev) | ~~`vite.config.ts`~~ | Используйте ключ [`vite`](/docs/api/nuxt-config#vite) в `nuxt.config`
[webpack](https://webpack.js.org) | ~~`webpack.config.ts`~~ | Используйте ключ [`webpack`](/docs/api/nuxt-config#webpack-1) в `nuxt.config`

Вот список других распространенных конфигурационных файлов:
Expand Down
2 changes: 1 addition & 1 deletion docs/1.getting-started/4.assets.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Nuxt использует две директории для обработки

## Директория Assets

Nuxt использует [Vite](https://vitejs.dev/guide/assets.html) (по умолчанию) или [webpack](https://webpack.js.org/guides/asset-management) для сборки и упаковки приложения. Основная функция этих инструментов сборки - обработка файлов JavaScript, но они могут быть расширены с помощью [плагинов](https://vitejs.dev/plugins) (для Vite) или [загрузчиков](https://webpack.js.org/loaders) (для webpack) для обработки других видов ресурсов, таких как таблицы стилей, шрифты или SVG. На этом этапе исходный файл преобразуется (в основном) для повышения производительности или кэширования (например, для минимизации таблиц стилей или инвалидации кэша браузера).
Nuxt использует [Vite](https://vite.dev/guide/assets.html) (по умолчанию) или [webpack](https://webpack.js.org/guides/asset-management) для сборки и упаковки приложения. Основная функция этих инструментов сборки - обработка файлов JavaScript, но они могут быть расширены с помощью [плагинов](https://vitejs.dev/plugins) (для Vite) или [загрузчиков](https://webpack.js.org/loaders) (для webpack) для обработки других видов ресурсов, таких как таблицы стилей, шрифты или SVG. На этом этапе исходный файл преобразуется (в основном) для повышения производительности или кэширования (например, для минимизации таблиц стилей или инвалидации кэша браузера).

По соглашению, Nuxt использует директорию [`assets/`](/docs/guide/directory-structure/assets) для хранения этих файлов, но для этого каталога нет функции автоматического сканирования, и вы можете использовать для него любое другое имя.

Expand Down
Loading

0 comments on commit 9b65423

Please sign in to comment.