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

update-chunk-links-in-files-webpack-plugin

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

update-chunk-links-in-files-webpack-plugin

a WebPack plugin which updates chunk links in HTML/PHP/ASPX files

  • 1.0.4
  • latest
  • Source
  • npm
  • Socket score

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

This plugin replaces chunk file names (links) in given list of files.

It's meant to solve the problem of updating file names inside HTML / ASPX / PHP / etc. files when chunk names contain a hash, which changes every time a new version of the file is created by WebPack.

In case you are not using Webpack to build your HTML / ASPX / PHP files, this plugin will solve that problem!

Installation

$ npm install update-chunk-links-in-files-webpack-plugin --save-dev

Example

Webpack.config.js

First let's have a look at WebPack config file (unimportant bits are omitted for brevity).

Notice that the file names in the output section contain [contenthash], which changes each time the content of the file changes.

const path = require('path');
const UpdateChunkLinksInFilesWebpackPlugin = require('update-chunk-links-in-files-webpack-plugin');

module.exports = {

    entry: {
        "app": path.resolve("src/index.js")
    },
    output: {
        // chunk names contain `contenthash`
        filename: "[name].[contenthash].bundle.js",
        chunkFilename: "[name].[contenthash].bundle.js"
    },

    /* ... your usual WebPack stuff goes here ... */

    plugins: [
        new UpdateChunkLinksInFilesWebpackPlugin({
            // files containing links to chunks, which need to be updated
            replaceInFiles: [
                path.resolve(__dirname, '_site/master-pages/default.aspx')
            ],
            // regexp patterns to be used to find chunk names in the file
            chunkNamePatterns: [
                /vendor\.[a-z0-9]+\.bundle\.js/g,
                /app\.[a-z0-9]+\.bundle\.js/g
            ],
            // (optional) regexp anti-patterns which can be used to exclude
            // chunk names from being inserted into HTML ... i.e. source maps
            chunkNameAntiPatterns: [
                /vendor\.[a-z0-9]+\.bundle\.js.map/g,
                /app\.[a-z0-9]+\.bundle\.js.map/g
            ]
        })
    ]
};

HTML

The following snippet shows the default.aspx file, which is indicated in the WebPack config

Each time any of the bundle files changes the plugin will update the ASPX file accordingly.

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <p>Hello World</p>
    <script src="/script/vendor.0f8f98e02847fe61032d.bundle.js"></script>
    <script src="/script/app.f0c4c1d45df3e888a309.bundle.js" async></script>
</body>
</html>

License

MIT

Keywords

FAQs

Package last updated on 08 Feb 2019

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