Grunt XDT - XDT Transformation task for Grunt
Install this grunt plugin next to your project's gruntfile with: npm install grunt-xdt --save-dev
Then add this line to your project's Gruntfile.js
:
grunt.loadNpmTasks('grunt-xdt');
Then specify your config:
grunt.initConfig({
xdt: {
debug: {
src: 'test/Web.config',
dest: 'test/Web.Result.config',
options: {
transform: 'test/Web.Release.config',
}
}
}
});
Using the configuration above, consider the following example xml to see it in action:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="DefaultValue" />
</connectionStrings>
</configuration>
Using the transformation configuration below:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="DefaultConnection"
connectionString="Transformed"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<add name="AWLT" connectionString="newstring"
providerName="newprovider"
xdt:Transform="Insert" />
</connectionStrings>
</configuration>
After running the grunt task it will be stored on the dist folder as
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Transformed" />
<add name="AWLT" connectionString="newstring" providerName="newprovider" /></connectionStrings>
</configuration>
- 0.1.0 Initial Release
- 0.1.1
- Fix issue causing ENOENT when executing task multiple times
- Use async to better handle async spawn calls