UNPKG

replace-text-in-bundle-plugin

Version:

A webpack plugin for dynamically replacing text patterns in bundle files during the build process.

61 lines (42 loc) 2.49 kB
# replace-text-in-bundle-plugin A webpack plugin for replacing text in bundle files. ## Installation Install the plugin using npm: ```shell npm i --save-dev replace-text-in-bundle-plugin ``` ## Usage 1. Import the plugin in your webpack configuration file: ```javascript const ReplaceTextInBundlePlugin = require('replace-text-in-bundle-plugin'); ``` 2. Add an instance of the plugin to the `plugins` array in your webpack configuration: ```javascript plugins: [ new ReplaceTextInBundlePlugin([ { bundle: 'main.bundle.js', from: '"${temp_base_url}"', to: `window.site_base_url + "/some/path/to/"`, }, { bundle: 'style.css', from: '${temp_base_url}', to: '', } ]) ] ``` The plugin takes an array of objects as an argument. Each object represents a replacement configuration. The properties of the configuration object are as follows: - `bundle`: The name of the generated bundle file to modify. - `from`: The text pattern to search for in the bundle. - `to`: The replacement text to use. In the above example, the plugin will replace `"${temp_base_url}"` with `window.site_base_url + "/some/path/to/"` in the `main.bundle.js` file, and `${temp_base_url}` with an empty string in the `style.css` file. ## Use Case This plugin is useful when you need to dynamically replace specific text patterns in your bundle files during the webpack build process. For example, you may want to replace placeholder URLs or environment-specific values with actual values. In the provided usage example, the plugin replaces the `${temp_base_url}` placeholder with a custom URL defined in the `window.site_base_url` variable, concatenated with the value of `/some/path/to/`. This allows you to dynamically set the base URL for your application or replace any other placeholders as needed. Note: Make sure that the specified text patterns (`from`) exist in the bundle files you're targeting, otherwise the plugin won't make any changes. ## License This project is licensed under the [MIT License](https://opensource.org/licenses/MIT). ## Contributing We welcome contributions from the community to enhance the plugin's functionality and address any issues. If you have any feedback, bug reports, or feature requests, please don't hesitate to [open an issue](https://github.com/mohit-raj-purohit/ReplaceTextInBundlePlugin/issues) or submit a pull request on GitHub.