# Working With Scripts

You can compile scripts using the `mix.js` method. It accepts either a single file or an array of files to combine. Each file will be crawled for dependencies by Webpack.

```javascript
const elixir = require("coldbox-elixir");

module.exports = elixir(mix => {
    mix.js("app.js");
    mix.js([
        "node_modules/jquery/dist/jquery.min.js",
        "node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js"
    ], {
        name: "bootstrap",
        entryDirectory: ""
    });
});
```

The second argument to `mix.js` is a configuration object.

```javascript
{
    name: this.withoutExtension(filename),
    outputDirectory: "includes/js/",
    entryDirectory: "resources/assets/js/"
}
```

## `runtime.js` and `vendor.js`

Using `mix.js` or any methods that depend on it create up to two additional files that you should be aware of: `runtime.js` and `vendor.js`. `runtime.js` is the Webpack runtime and should be included as the first script on your page. Without this script, your other files will fail silently. The `vendor.js` is comprised of any dependencies pulled from `node_modules`. This allows your users to keep using the cached `vendor.js` file even when you change your application code. This file should be included after `runtime.js` and before any of your application code.


---

# 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://coldbox-elixir.ortusbooks.com/working_with_scripts.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.
