https://github.com/maize-tech/laravel-mix-static-cache-busting
Add static cache busting to Laravel mix
https://github.com/maize-tech/laravel-mix-static-cache-busting
cache laravel laravel-mix-extension laravel-mix-plugin laravel-mix-vue mix vue
Last synced: 8 months ago
JSON representation
Add static cache busting to Laravel mix
- Host: GitHub
- URL: https://github.com/maize-tech/laravel-mix-static-cache-busting
- Owner: maize-tech
- License: mit
- Created: 2022-10-24T11:06:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-12T09:38:23.000Z (almost 3 years ago)
- Last Synced: 2023-11-03T18:42:21.951Z (over 2 years ago)
- Topics: cache, laravel, laravel-mix-extension, laravel-mix-plugin, laravel-mix-vue, mix, vue
- Language: JavaScript
- Homepage:
- Size: 12.7 KB
- Stars: 4
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Laravel Mix Static Cache Busting
This package allows you to simulate Laravel `mix` function, used for cache busting, without the need to use PHP in your project.
The plugin will grab your static `index.html` file, search for any asset and replace them with all occurrences specified within `mix-manifest.json`.
For example, if your `index.html` file includes this stylesheet reference:
```html
```
the plugin will automatically replace it during the compilation with:
```html
```
### Installation
You can install this package via npm:
```bash
npm i @maize-tech/laravel-mix-static-cache-busting --save-dev
```
### Usage
To use the package, all you need to do is update your `webpack.mix.js` file and add the `staticCacheBusting` method.
The first parameter is the `mix-manifest.json` file path, while the second one is the `index.html` file path.
Here's an example implementation of the method:
```js
let mix = require('laravel-mix');
require('@maize-tech/laravel-mix-static-cache-busting');
mix
// tasks that will generate a mix-manifest.json
.staticCacheBusting('./dist/mix-manifest.json', './dist/index.html') // change paths at your discretion
```
### Troubleshooting
The plugin isn't working?
Check the entry attributes in your `mix-manifest.json` and make sure your html `href` attributes follow the same path.
For example, if your `mix-manifest.json` file has this attribute for the `app.css` file:
```json
{
"/app.css": "/app.css?id=fbd7c81ea490324c303c"
}
```
then your `index.html` should reference the file this way:
```html
```
while this will **not** work:
```html
```
Also, please note that this plugin will replace any entry as-is and anywhere it's placed within the targeted file (index.html).
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](https://github.com/maize-tech/.github/blob/main/CONTRIBUTING.md) for details.
## Security Vulnerabilities
Please review [our security policy](https://github.com/maize-tech/.github/security/policy) on how to report security vulnerabilities.
## Credits
- [Francesco Zaniol](https://github.com/francescozaniol)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.