Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bf1023d
feat(arabic): initialize Arabic translation
RlxChap2 May 19, 2026
e7ae69e
docs(configuration): translate configuration pages
RlxChap2 May 19, 2026
388f553
docs(configuration): edited language terms
RlxChap2 May 19, 2026
8c74c7d
docs(ar): add final newlines
RlxChap2 May 20, 2026
6536001
docs(concept): translated concepts files
RlxChap2 May 20, 2026
917c693
Merge branch 'main' of https://github.com/RlxChap2/webpack.js.org
RlxChap2 May 20, 2026
2b1905a
docs(ar): changing layout from ltr to rtl
RlxChap2 May 21, 2026
4a205de
feat(guides): guides arabic translation
arabpolice May 21, 2026
a8fd007
docs(guides): add contributors to getting started and index guides
RlxChap2 May 21, 2026
a7219db
docs(ar): fix MDX lint issues
RlxChap2 May 22, 2026
505b187
feat(i18n): add language switcher
RlxChap2 May 22, 2026
b28ccc1
fix(ar): decode hash anchors
RlxChap2 May 22, 2026
6cdae05
test(e2e): update Arabic assertions
RlxChap2 May 22, 2026
cf426c0
fix(ar): encode heading anchors
RlxChap2 May 22, 2026
6dd7172
docs(ar): fix links and lint
RlxChap2 May 22, 2026
46c72a3
docs(ar): fix config lint issues
RlxChap2 May 22, 2026
65067c1
docs(ar): format remaining config tables
RlxChap2 May 22, 2026
d4b6bd6
docs(ar): fix asset guide lint
RlxChap2 May 22, 2026
23cacbd
docs(ar): fix guide lint issues
RlxChap2 May 22, 2026
0f1c594
fix(ar): lint site config module
RlxChap2 May 22, 2026
7c89635
docs(contribute): translated contribute docs
semon009 May 24, 2026
c87160f
docs: ar translation for plugins
MohaDev-69 May 25, 2026
556ccb1
feat: add plugin documentations
MohaDev-69 May 25, 2026
cf46228
feat: add documentation for plugins
MohaDev-69 May 25, 2026
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
33 changes: 0 additions & 33 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1,739 changes: 869 additions & 870 deletions src/content/blog/2020-10-10-webpack-5-release.mdx

Large diffs are not rendered by default.

275 changes: 138 additions & 137 deletions src/content/blog/2020-12-08-roadmap-2021.mdx

Large diffs are not rendered by default.

137 changes: 68 additions & 69 deletions src/content/blog/2026-02-03-webpack-5-105.mdx

Large diffs are not rendered by default.

161 changes: 80 additions & 81 deletions src/content/blog/2026-02-04-roadmap-2026.mdx

Large diffs are not rendered by default.

153 changes: 77 additions & 76 deletions src/content/blog/2026-04-08-webpack-5-106.mdx

Large diffs are not rendered by default.

9 changes: 5 additions & 4 deletions src/content/blog/index.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: Blog
title: المدونة
sort: -1
contributors:
- sokra
- ameencfw
- RlxChap2
---

Read here for announcements.
اقرأ الإعلانات هنا.

See recent blog posts in the side bar.
شاهد أحدث مقالات المدونة في الشريط الجانبي.
56 changes: 26 additions & 30 deletions src/content/concepts/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,32 @@
title: Configuration
sort: 5
contributors:
- TheLarkInn
- simon04
- EugeneHlushko
- byzyk
- mr-baraiya
- RlxChap2
---

You may have noticed that few webpack configurations look exactly alike. This is because **webpack's configuration file is a JavaScript file that exports a webpack [configuration](/configuration/).** This configuration is then processed by webpack based upon its defined properties.
ربما لاحظت أن ملفات تكوين webpack نادرًا ما تبدو متطابقة تمامًا. والسبب أن **ملف تكوين webpack هو ملف JavaScript يصدّر [تكوينًا](/configuration/) خاصًا بـ webpack.** بعد ذلك يعالج webpack هذا التكوين بناءً على الخصائص المعرّفة فيه.

Because it's a standard Node.js module, you **can do the following**:
ولأنه وحدة Node.js قياسية، يمكنك **فعل الآتي**:

- Import other files via `require(...)` **or** `import`
- Use utilities on npm via `require(...)` **or** `import`
- Use JavaScript control flow expressions (e.g. `?:`, `if`, `for`, etc.)
- Use constants or variables for often used values
- Write and execute functions to generate a part of the configuration
- استيراد ملفات أخرى باستخدام `require(...)` **أو** `import`
- استخدام أدوات من npm باستخدام `require(...)` **أو** `import`
- استخدام تعبيرات التحكم في JavaScript مثل `?:` و `if` و `for` وغيرها
- استخدام الثوابت أو المتغيرات للقيم التي تتكرر كثيرًا
- كتابة دوال وتنفيذها لتوليد جزء من التكوين

Use these features when appropriate.
استخدم هذه الإمكانات عندما تكون مناسبة.

While they are technically feasible, **the following practices should be avoided**:
مع أنها ممكنة تقنيًا، **ينبغي تجنب الممارسات الآتية**:

- Access CLI arguments, when using the webpack CLI. This can make your configuration non-portable and harder to maintain. Instead, write your own CLI, or [use `--env`](/api/cli/#env) to pass environment variables.
- Export non-deterministic values (calling webpack twice should result in the same output files)
- Write long configurations (instead split the configuration into multiple files)
- الوصول إلى وسائط CLI عند استخدام webpack CLI. قد يجعل ذلك التكوين غير قابل للنقل وأصعب في الصيانة. بدلًا من ذلك، اكتب CLI خاصًا بك، أو [استخدم `--env`](/api/cli/#env) لتمرير متغيرات البيئة.
- تصدير قيم غير حتمية؛ تشغيل webpack مرتين يجب أن ينتج الملفات نفسها.
- كتابة تكوينات طويلة؛ من الأفضل تقسيم التكوين إلى عدة ملفات.

T> The most important part to take away from this document is that there are many different ways to format and style your webpack configuration. The key is to stick with something consistent that you and your team can understand and maintain.
T> أهم ما ينبغي الخروج به من هذه الصفحة هو أن هناك طرقًا كثيرة لتنسيق وكتابة تكوين webpack. المهم هو الالتزام بأسلوب ثابت تستطيع أنت وفريقك فهمه وصيانته.

The examples below describe how webpack's configuration can be both expressive and configurable because _it is code_:
توضح الأمثلة التالية كيف يمكن لتكوين webpack أن يكون معبرًا وقابلًا للضبط لأنه _كود_:

## Introductory Configuration
## تكوين تمهيدي

**webpack.config.js**

Expand All @@ -52,13 +48,13 @@ export default {
};
```

_See_: [Configuration section](/configuration/) for all supported configuration options
_راجع_: [قسم التكوين](/configuration/) للاطلاع على جميع خيارات التكوين المدعومة.

## Using multiple configurations
## استخدام عدة تكوينات

Webpack supports exporting multiple configuration objects, which can be useful when building different targets or outputs (for example, separate client and server bundles).
يدعم webpack تصدير عدة كائنات تكوين، وهذا مفيد عند بناء أهداف أو مخرجات مختلفة، مثل حزم منفصلة للعميل والخادم.

While a single configuration is sufficient for many projects, multiple configurations can help organize more complex setups.
مع أن تكوينًا واحدًا يكفي لكثير من المشاريع، تساعد التكوينات المتعددة على تنظيم الإعدادات الأكثر تعقيدًا.

```js
module.exports = [
Expand All @@ -77,14 +73,14 @@ module.exports = [
];
```

## Multiple Targets
## أهداف متعددة

Along with exporting a single configuration as an object, [function](/configuration/configuration-types/#exporting-a-function) or [Promise](/configuration/configuration-types/#exporting-a-promise), you can export multiple configurations.
إلى جانب تصدير تكوين واحد على هيئة كائن أو [دالة](/configuration/configuration-types/#exporting-a-function) أو [Promise](/configuration/configuration-types/#exporting-a-promise)، يمكنك تصدير عدة تكوينات.

_See_: [Exporting multiple configurations](/configuration/configuration-types/#exporting-multiple-configurations)
_راجع_: [تصدير عدة تكوينات](/configuration/configuration-types/#exporting-multiple-configurations)

## Using other Configuration Languages
## استخدام لغات تكوين أخرى

Webpack accepts configuration files written in multiple programming and data languages.
يقبل webpack ملفات تكوين مكتوبة بعدة لغات برمجة ولغات بيانات.

_See_: [Configuration Languages](/configuration/configuration-languages/)
_راجع_: [لغات التكوين](/configuration/configuration-languages/)
11 changes: 5 additions & 6 deletions src/content/concepts/dependency-graph.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,17 @@
title: Dependency Graph
sort: 9
contributors:
- TheLarkInn
- EugeneHlushko
- RlxChap2
related:
- title: HTTP2 Aggressive Splitting Example
url: https://github.com/webpack/webpack/tree/master/examples/http2-aggressive-splitting
- title: webpack & HTTP/2
url: https://medium.com/webpack/webpack-http-2-7083ec3f3ce6
---

Any time one file depends on another, webpack treats this as a _dependency_. This allows webpack to take non-code assets, such as images or web fonts, and also provide them as _dependencies_ for your application.
كلما اعتمد ملف على ملف آخر، يتعامل webpack مع ذلك على أنه _تبعية_. يسمح هذا لـ webpack بأخذ أصول غير برمجية، مثل الصور أو خطوط الويب، وتقديمها أيضًا على أنها _تبعيات_ لتطبيقك.

When webpack processes your application, it starts from a list of modules defined on the command line or in its configuration file.
Starting from these [_entry points_](/concepts/entry-points/), webpack recursively builds a _dependency graph_ that includes every module your application needs, then bundles all of those modules into a small number of _bundles_ - often, only one - to be loaded by the browser.
عندما يعالج webpack تطبيقك، يبدأ من قائمة وحدات معرّفة في سطر الأوامر أو في ملف التكوين.
وانطلاقًا من [_نقاط الدخول_](/concepts/entry-points/)، يبني webpack بشكل تكراري _مخطط تبعيات_ يتضمن كل وحدة يحتاجها تطبيقك، ثم يجمع كل هذه الوحدات في عدد قليل من _الحزم_، وغالبًا في حزمة واحدة فقط، ليحمّلها المتصفح.

T> Bundling your application is especially powerful for _HTTP/1.1_ clients, as it minimizes the number of times your app has to wait while the browser starts a new request. For _HTTP/2_, you can also use [Code Splitting](/guides/code-splitting/) to achieve best results.
T> تجميع تطبيقك في حزم قوي خصوصًا لعملاء _HTTP/1.1_ لأنه يقلل عدد المرات التي ينتظر فيها التطبيق بدء المتصفح لطلب جديد. أما مع _HTTP/2_، فيمكنك أيضًا استخدام [تقسيم الكود](/guides/code-splitting/) للوصول إلى أفضل النتائج.
Loading
Loading