Negotiate Pushing Milestone

    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

    Install

    npm i grunt-xdt

    DownloadsWeekly Downloads

    144

    Version

    0.1.1

    License

    none

    Last publish

    Collaborators

    • mluce