Skip to content
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
22 changes: 11 additions & 11 deletions docs/changes/per-environment-apis.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Move to per-environment APIs
# انتقال به APIهای مخصوص هر محیط

::: tip Feedback
Give us feedback at [Environment API feedback discussion](https://github.com/vitejs/vite/discussions/16358)
::: tip بازخورد
بازخورد خود را در [بحث بازخورد API محیط](https://github.com/vitejs/vite/discussions/16358) با ما در میان بگذارید.
:::

Multiple APIs from `ViteDevServer` related to module graph and modules transforms have been moved to the `DevEnvironment` instances.
چندین API از `ViteDevServer` که به گراف ماژول‌ها و تبدیل ماژول‌ها مرتبط بودند، به نمونه‌های `DevEnvironment` منتقل شده‌اند.

Affect scope: `Vite Plugin Authors`
دامنه تأثیر: `نویسندگان افزونه‌های Vite`

::: warning Future Deprecation
The `Environment` instance was first introduced at `v6.0`. The deprecation of `server.moduleGraph` and other methods that are now in environments is planned for `v7.0`. We don't recommend moving away from server methods yet. To identify your usage, set these in your vite config.
::: warning منسوخ شدن در آینده
نمونه `Environment` برای اولین بار در نسخه `v6.0` معرفی شد. منسوخ شدن `server.moduleGraph` و سایر متدهایی که اکنون در محیط‌ها قرار دارند، برای نسخه `v7.0` برنامه‌ریزی شده است. هنوز توصیه نمی‌کنیم از متدهای سرور فاصله بگیرید. برای شناسایی استفاده خود، این موارد را در تنظیمات Vite خود تنظیم کنید:

```ts
future: {
Expand All @@ -20,13 +20,13 @@ future: {

:::

## Motivation
## انگیزه

In Vite v5 and before, a single Vite dev server always had two environments (`client` and `ssr`). The `server.moduleGraph` had mixed modules from both of these environments. Nodes were connected through `clientImportedModules` and `ssrImportedModules` lists (but a single `importers` list was maintained for each). A transformed module was represented by an `id` and a `ssr` boolean. This boolean needed to be passed to APIs, for example `server.moduleGraph.getModuleByUrl(url, ssr)` and `server.transformRequest(url, { ssr })`.
در Vite نسخه ۵ و قبل از آن، یک سرور توسعه Vite همیشه دو محیط (`client` و `ssr`) داشت. گراف `server.moduleGraph` شامل ماژول‌هایی از هر دو این محیط‌ها به‌صورت مخلوط بود. گره‌ها از طریق لیست‌های `clientImportedModules` و `ssrImportedModules` به هم متصل بودند (اما یک لیست واحد `importers` برای هر کدام نگهداری می‌شد). یک ماژول تبدیل‌شده با یک `id` و یک مقدار بولین `ssr` نمایش داده می‌شد. این مقدار بولین باید به APIها منتقل می‌شد، به عنوان مثال `server.moduleGraph.getModuleByUrl(url, ssr)` و `server.transformRequest(url, { ssr })`.

In Vite v6, it is now possible to create any number of custom environments (`client`, `ssr`, `edge`, etc). A single `ssr` boolean isn't enough anymore. Instead of changing the APIs to be of the form `server.transformRequest(url, { environment })`, we moved these methods to the environment instance allowing them to be called without a Vite dev server.
در Vite نسخه ۶، اکنون امکان ایجاد هر تعداد محیط سفارشی (`client`، `ssr`، `edge` و غیره) وجود دارد. یک مقدار بولین ساده `ssr` دیگر کافی نیست. به جای تغییر APIها به شکلی مانند `server.transformRequest(url, { environment })`، این متدها را به نمونه محیط منتقل کردیم تا بتوان آن‌ها را بدون نیاز به سرور توسعه Vite فراخوانی کرد.

## Migration Guide
## راهنمای مهاجرت

- `server.moduleGraph` -> [`environment.moduleGraph`](/guide/api-environment#separate-module-graphs)
- `server.transformRequest(url, ssr)` -> `environment.transformRequest(url)`
Expand Down
26 changes: 13 additions & 13 deletions docs/changes/shared-plugins-during-build.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# Shared Plugins during Build
# افزونه‌های مشترک در زمان ساخت

::: tip Feedback
Give us feedback at [Environment API feedback discussion](https://github.com/vitejs/vite/discussions/16358)
::: tip بازخورد
بازخورد خود را در [بحث بازخورد API محیط](https://github.com/vitejs/vite/discussions/16358) با ما در میان بگذارید.
:::

See [Shared plugins during build](/guide/api-environment.md#shared-plugins-during-build).
به [افزونه‌های مشترک در زمان ساخت](/guide/api-environment.md#shared-plugins-during-build) مراجعه کنید.

Affect scope: `Vite Plugin Authors`
دامنه تأثیر: `نویسندگان افزونه‌های Vite`

::: warning Future Default Change
`builder.sharedConfigBuild` was first introduce in `v6.0`. You can set it true to check how your plugins work with a shared config. We're looking for feedback about changing the default in a future major once the plugin ecosystem is ready.
::: warning تغییر پیش‌فرض در آینده
`builder.sharedConfigBuild` برای اولین بار در نسخه `v6.0` معرفی شد. می‌توانید آن را روی `true` تنظیم کنید تا بررسی کنید افزونه‌هایتان با تنظیمات مشترک چگونه کار می‌کنند. ما به دنبال بازخورد درباره تغییر پیش‌فرض در یک نسخه اصلی آینده هستیم، زمانی که اکوسیستم افزونه‌ها آماده باشد.
:::

## Motivation
## انگیزه

Align dev and build plugin pipelines.
هم‌راستا کردن خطوط لوله افزونه‌ها در زمان توسعه و ساخت.

## Migration Guide
## راهنمای مهاجرت

To be able to share plugins across environments, plugin state must be keyed by the current environment. A plugin of the following form will count the number of transformed modules across all environments.
برای به اشتراک گذاشتن افزونه‌ها بین محیط‌ها، وضعیت افزونه باید بر اساس محیط فعلی کلیدگذاری شود. افزونه‌ای به شکل زیر تعداد ماژول‌های تبدیل‌شده را در همه محیط‌ها می‌شمارد:

```js
function CountTransformedModulesPlugin() {
Expand All @@ -38,7 +38,7 @@ function CountTransformedModulesPlugin() {
}
```

If we instead want to count the number of transformed modules for each environment, we need to keep a map:
اگر بخواهیم تعداد ماژول‌های تبدیل‌شده را برای هر محیط به‌صورت جداگانه بشماریم، باید یک نقشه نگه داریم:

```js
function PerEnvironmentCountTransformedModulesPlugin() {
Expand All @@ -59,7 +59,7 @@ function PerEnvironmentCountTransformedModulesPlugin() {
}
```

To simplify this pattern, Vite exports a `perEnvironmentState` helper:
برای ساده‌سازی این الگو، Vite یک کمک‌کننده به نام `perEnvironmentState` ارائه می‌دهد:

```js
function PerEnvironmentCountTransformedModulesPlugin() {
Expand Down
22 changes: 11 additions & 11 deletions docs/changes/ssr-using-modulerunner.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# SSR using `ModuleRunner` API
# SSR با استفاده از API `ModuleRunner`

::: tip Feedback
Give us feedback at [Environment API feedback discussion](https://github.com/vitejs/vite/discussions/16358)
::: tip بازخورد
بازخورد خود را در [بحث بازخورد API محیط](https://github.com/vitejs/vite/discussions/16358) با ما در میان بگذارید.
:::

`server.ssrLoadModule` has been replaced by importing from a [Module Runner](/guide/api-environment#modulerunner).
`server.ssrLoadModule` با وارد کردن از یک [Module Runner](/guide/api-environment#modulerunner) جایگزین شده است.

Affect scope: `Vite Plugin Authors`
دامنه تأثیر: `نویسندگان افزونه‌های Vite`

::: warning Future Deprecation
`ModuleRunner` was first introduce in `v6.0`. The deprecation of `server.ssrLoadModule` is planned for a future major. To identify your usage, set `future.removeSsrLoadModule` to `"warn"` in your vite config.
::: warning منسوخ شدن در آینده
`ModuleRunner` برای اولین بار در نسخه `v6.0` معرفی شد. منسوخ شدن `server.ssrLoadModule` برای یک نسخه اصلی آینده برنامه‌ریزی شده است. برای شناسایی استفاده خود، `future.removeSsrLoadModule` را در تنظیمات Vite خود روی `"warn"` تنظیم کنید.
:::

## Motivation
## انگیزه

The `server.ssrLoadModule(url)` only allows importing modules in the `ssr` environment and can only execute the modules in the same process as the Vite dev server. For apps with custom environments, each is associated with a `ModuleRunner` that may be running in a separate thread or process. To import modules, we now have `moduleRunner.import(url)`.
متد `server.ssrLoadModule(url)` فقط امکان وارد کردن ماژول‌ها در محیط `ssr` را فراهم می‌کند و تنها می‌تواند ماژول‌ها را در همان پروسه سرور توسعه Vite اجرا کند. برای اپلیکیشن‌هایی با محیط‌های سفارشی، هر کدام با یک `ModuleRunner` مرتبط هستند که ممکن است در یک نخ یا پروسه جداگانه اجرا شود. برای وارد کردن ماژول‌ها، اکنون از `moduleRunner.import(url)` استفاده می‌کنیم.

## Migration Guide
## راهنمای مهاجرت

Check out the [Environment API for Frameworks Guide](../guide/api-environment-frameworks.md).
به [راهنمای API محیط برای فریم‌ورک‌ها](../guide/api-environment-frameworks.md) مراجعه کنید.
Loading