Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mix-replacer

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mix-replacer

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

  • 1.3.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-50%
Maintainers
1
Weekly downloads
 
Created
Source

npm npm Build Status codecov MIT license

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 to specify custom options:

require("mix-replacer").options({
	delimiter: {
		left: "[["
	}
});
  • delimiter: {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.

:warning: 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.

Keywords

FAQs

Package last updated on 04 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc