# Webpack

In Project Zero, Webpack is used as a bundle tool. With Webpack, operations such as compiling SCSS files, CSS & JS minification, and uglifying are performed. All files related to webpack are located under **templates/webpack** directory.

### <mark style="color:red;">Environments</mark>​ <a href="#environments" id="environments"></a>

There are two environment types in the project which are development and production. When you run the script in package.json to run the project, the relevant webpack environment is automatically detected and the settings are applied. When you run "dev" script in package.json, the settings in the webpack.dev.js file are used. When the "build" script is run, the settings in the webpack.prod.js file are applied.

### <mark style="color:red;">Babel</mark>​ <a href="#babel" id="babel"></a>

In Project Zero, Babel is used to compile the code written in ES6 standards. In order to add any Babel plugin to the project, after installing the plugin from npm, it should be added to the plugins in `babel.config.json` as below.

```
{
"plugins":[
           "@babel/plugin-syntax-dynamic-import",
           "@babel/plugin-proposal-class-properties",
           "@babel/plugin-proposal-optional-chaining",
           "@babel/plugin-transform-runtime"
         ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.akinon.com/technical-guides/project-zero/django/project-structure/webpack.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
