grunt-xdt

0.1.1 • Public • Published

grunt-xdt NPM version

Grunt 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 :

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>

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

Package Sidebar

Install

npm i grunt-xdt

Weekly Downloads

83

Version

0.1.1

License

none

Last publish

Collaborators

  • mluce