laravel-mix-merge-manifest

    2.0.0 • Public • Published

    Laravel Mix - Merge Manifest

    This extension supports multi mix configration without overwriting the mix-manifest.json file. It merges new manifests into the existing one.

    Usage

    First, install the extension.

    // Laravel Mix v5
    npm install laravel-mix-merge-manifest@v1 --save-dev
    
    // Laravel Mix v6
    npm install laravel-mix-merge-manifest@v2 --save-dev
    

    Then, require it within your webpack.mix.js file, like so:

    let mix = require('laravel-mix');
    
    require('laravel-mix-merge-manifest');
    
    mix
        .js('resources/assets/js/app.js', 'public/js')
        .less('resources/assets/less/app.less', 'public/css')
        .mergeManifest();

    Examples - Laravel Mix v6

    Running Laravel Mix with different configurations

    Laravel Mix only supports a global configuration. If you want to use diffent configurations - e.g. to provide a separate JS file for legacy browsers - you need to run mix multiple times with different configs.

    npx mix && npx mix --mix-config=webpack.legacy.mix.js

    Your default configuration in webpack.mix.js could look like this:

    // ...
    mix.js('resources/assets/scripts/main.js', 'scripts')
        .mergeManifest()
    // ...

    And your legacy configuration in webpack.legacy.mix.js would use .mergeManifest():

    // ...
    mix
        .babel({ ... }) // Different Babel Configuration
        .js('resources/assets/scripts/main.js', 'scripts/main.legacy.js')
        .mergeManifest()
    // ...

    Extracting multiple vendors

    npx mix --mix-config=webpack.backoffice.mix.js && npx mix --mix-config=webpack.customers.mix.js

    webpack.backoffice.mix.js

    mix
        .js('resources/js/backoffice/backoffice.js', 'public/js/backoffice')
        .extract(['jquery', 'bootstrap', 'lodash', 'popper.js'])
        .mergeManifest()

    webpack.customers.mix.js

    mix
        .js('resources/js/customers/customers.js', 'public/js/customers')
        .extract(['vue'])
        .mergeManifest()

    Source: How to Split Dependencies into Multiple Vendors using Laravel Mix

    Install

    npm i laravel-mix-merge-manifest

    DownloadsWeekly Downloads

    8,778

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    3.74 kB

    Total Files

    4

    Last publish

    Collaborators

    • kabbouchi