grunt-xdt
Version:
XDT Transformation task for Grunt
79 lines (61 loc) • 2.15 kB
Markdown
# grunt-xdt [](http://badge.fury.io/js/grunt-xdt)
[Grunt][grunt] [XDT][xdt] - XDT Transformation task for Grunt
## Getting Started
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` :
```javascript
grunt.loadNpmTasks('grunt-xdt');
```
Then specify your config:
```javascript
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
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="DefaultValue" />
</connectionStrings>
</configuration>
```
Using the transformation configuration below:
```xml
<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
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Transformed" />
<add name="AWLT" connectionString="newstring" providerName="newprovider" /></connectionStrings>
</configuration>
```
[grunt]: https://github.com/gruntjs/grunt
[xdt]: http://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx
## Release History
* 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