webpack-laravel-mix-manifest
Version:
ðķA webpack plugin that generates Laravel framework compatible mix-manifest.josn file.
111 lines (75 loc) âĒ 3.45 kB
Markdown
# Webpack Laravel Mix Manifest


[](https://www.npmjs.com/package/webpack-laravel-mix-manifest)
[](https://github.com/medz/webpack-laravel-mix-manifest)
[](https://www.npmjs.com/package/webpack-laravel-mix-manifest)
A webpack plugin that generates Laravel framework compatible `mix-manifest.json` file.
> If you are using `webpack` 2 or 3 then install version `1.x` instead.
**The plug-in version corresponding to the webpack version**
| webpack version | plugin version |
| :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: |
| `2.x` or `3.x` | [1.0.x](https://github.com/medz/webpack-laravel-mix-manifest/tree/v1.0) |
| `4.x` | [2.1.x](https://github.com/medz/webpack-laravel-mix-manifest/tree/v2.1) or [v2.2](https://github.com/medz/webpack-laravel-mix-manifest/tree/v2.2) |
| `5.0` | `3.x` - current branch |
## Use Case
If you are not using [Laravel Mix](https://github.com/JeffreyWay/laravel-mix) to bundle your assets in Laravel php framework,
and you still want to utilize `mix()` helper method, this plugin can help you in generating `mix-manifest.json`
Supported:
- [x] TypeScript
- [x] ECMAScript 2015+ or Babel
- [x] CommonJS
## Installation
The plugin is available via npm:
```shell
npm install webpack-laravel-mix-manifest --save-dev
```
If you are using yarn:
```shell
yarn add webpack-laravel-mix-manifest --dev
```
## Examples
### Using the ES module (Babel) webpack configuration usage
```js
import { WebpackLaravelMixManifest } from 'webpack-laravel-mix-manifest';
export default {
plugins: [
// Write out mix-manifest.json to build directory.
new WebpackLaravelMixManifest(),
],
};
```
Example ð [ES module(Babel) Example](examples/dev-es-module)
### Using CommonJS webpack configuration usage
```js
const { WebpackLaravelMixManifest } = require('webpack-laravel-mix-manifest');
module.exports = {
plugins: [
// Write out mix-manifest.json to build directory.
new WebpackLaravelMixManifest(),
],
};
```
Example ð [CommonJS Example](examples/dev-commonjs-module)
### Laravel usage
Assume that the generated `public/mix-manifest.json` content is:
```json
{
"/js/main.js": "/js/main-be4b86e10e835384d714.js"
}
```
Blade usage:
```blade
<script src="{{ mix('js/main.js') }}"></script>
```
Browser output:
```html
<script src="/js/main-be4b86e10e835384d714.js"></script>
```
## Configuration options
You can customize the name of the generated JSON file name.
```js
new WebpackLaravelMixManifest('mix-manifest.json');
```
## License
This package follows the MIT open source agreement.