Nonstop Pajama Models

    mix-replacer

    1.4.0 • Public • Published

    npm npm Build Status codecov MIT license

    ⚠️ This package is deprecated. Use laravel-mix-manifest-paths instead. ⚠️

    mix-replacer

    A laravel-mix extension to copy files and append hash queries to public urls.

    Installation

    Install this package as a dev dependency:

    npm --save-dev i mix-replacer

    Usage

    from your webpack.mix.js, require mix-replacer.

    This will add a new copyAndReplace method that can be used like this:

    const mix = require("laravel-mix");
    require("mix-replacer");
    
    mix.setPublicPath("public")
       .js("resources/js/index.js", "public/js")
       .sass("resources/scss/index.scss", "public/css")
       .copy("resources/images/*", "public/images")
       .copyAndReplace("resources/config/*", "public");

    Now after the compilation is done, your public directory will contain your expected files.

    Also, for all files matched against the resources/config/* pattern, public URLs inside double braces {{ }} will contain hash queries extracted from the generated public/mix-manifest.json.

    Example

    This:

    <?xml version="1.0" encoding="utf-8"?>
    <browserconfig>
        <msapplication>
            <tile>
                <square70x70logo src="{{/images/logo70.png}}"/>
                <square150x150logo src="{{/images/logo150.png}}"/>
                <square310x310logo src="{{/images/logo310.png}}"/>
                <TileColor>#2483DD</TileColor>
            </tile>
        </msapplication>
    </browserconfig>

    Will be transformed to This: (Of course, your particular hashes will be unique)

    <?xml version="1.0" encoding="utf-8"?>
    <browserconfig>
        <msapplication>
            <tile>
                <square70x70logo src="/images/logo70.png?id=2c488484a2545fa0d94f"/>
                <square150x150logo src="/images/logo150.png?id=a97169e69a58920b624d"/>
                <square310x310logo src="/images/logo310.png?id=16938d48f46cc4dfa071"/>
                <TileColor>#2483DD</TileColor>
            </tile>
        </msapplication>
    </browserconfig>

    Options

    You can pass an object to the options method to specify custom options:

    require("mix-replacer").options({
    	delimiters: {
    		left: "[["
    	}
    });
    • delimiters: {object}
      • left: {string} - The left delimiter. Defaults to "{{".
      • right: {string} - The right delimiter. Defaults to "}}".

    Getting started

    These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

    Installation

    Install dependencies with: npm install

    Running tests

    Running tests is as simple as typing npm run test in a terminal from the project's root directory.

    Coverage reports are generated to tests/coverage.

    ⚠️ make sure your node.js version is >= 10.14.2, here's why

    Contributing

    Please feel free to submit issues and pull requests.

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Install

    npm i mix-replacer

    DownloadsWeekly Downloads

    62

    Version

    1.4.0

    License

    MIT

    Unpacked Size

    17.2 kB

    Total Files

    11

    Last publish

    Collaborators

    • soufyakoub