cordova-webpack-config-plugin
v1.0.2
Published
A Webpack plugin to modify config.xml in build
Downloads
105
Maintainers
Readme
CordovaConfigWebpackPlugin
A plugin to modify config.xml from Webpack
Getting Started
Install the plugin:
npm install --save-dev cordova-webpack-config-plugin
CordovaConfigWebpackPlugin will look for config.xml
or the file specified relative to the context
path from your webpack configuration.
Replace values passed as an object in config.xml
values. Throws exception if tag passed isn't present in the config.xml
file.
Usage
new CordovaConfigWebpackPlugin({
_: {
inputPath: "path/to/template-config.xml",
outputPath: "path/to/cordova-config.xml",
},
content: {
src: "index.html"
},
widget: {
version: "2.0.0"
}
...
})
The _
object allows configuration of the plugin itself. All other options affect elements and attributes of the corresponding names in the Cordova configuration file.
inputPath
can be used to indicate a file to be used as input. If omitted, config.xml
in your webpack context
path is assumed.
outputPath
can be used to indicate a file to be used (created or modified) as output in case you don't want to modify your source Cordova configuration file or do want to output to a path other than your webpack context
path (useful for source control where you don't want to trigger a commit for dynamic configuration values or to have more control over the location of your Cordova project). If omitted, inputPath
is assumed.
Simply omit the _
options to modify the config.xml
file in place.
Examples
Given the config.xml sample file:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.hello" version="1.0.0">
<name>HelloWorld</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="[email protected]" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<a_number>666</a_number>
</widget>
Replace the src
attribute of the content
element.
var CordovaConfigWebpackPlugin = require('cordova-webpack-config-plugin');
var path = require('path');
module.exports = {
context: path.join(__dirname, 'app'),
plugins: [
new CordovaConfigWebpackPlugin({
content: {
src: "http://localhost:8080"
}
})
]
}
Replace the email
and href
attributes of the author
element, and replace the author
element's inner text using "_".
module.exports = {
context: path.join(__dirname, 'app'),
plugins: [
new CordovaConfigWebpackPlugin({
author: {
_: "Fake Team",
email: "[email protected]",
href: "http://fake.invalid"
}
})
]
}
Replace the inner text of the name
element which has no attributes.
module.exports = {
context: path.join(__dirname, 'app'),
plugins: [
new CordovaConfigWebpackPlugin({
name: "fake name"
})
]
}