Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including grunt-sp_module with all npm packages installed. Try it out:

require("grunt/package.json"); // grunt is a peer dependency. var gruntSpModule = require("grunt-sp_module")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

grunt-sp_module v0.1.1

Create SharePoint Module files

grunt-sp_module Build Status

Automatic generation of Elements.xml and SharePointProjectItem.spdata files for SharePoint Modules

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-sp_module --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade, but in case you can't please use v0.3.2.

sp_module task

Run this task with the grunt sp_module command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Usage Examples

Assume we have this file structure for myModule/

|- foo.html
+- bar/
    +- baz.html

and configure the sp_module task like:

sp_module: {
  myModule: {
    options: {
      name: 'myModuleName'
    files: [{
      cwd: 'myModule',
      src: "{,*/}*.*"

This will create the following files in myModule/

  • Elements.xml
<?xml version="1.0" encoding="UTF-8"?>
<Elements xmlns="">
  <Module Name="myModule">
    <File Path="myModule\foo.html" Url="myModule\foo.html" ReplaceContent="TRUE"/>
    <File Path="myModule\bar\baz.html" Url="myModule\bar\baz.html" ReplaceContent="TRUE"/>
  • SharePointProjectItem.spdata
<?xml version="1.0" encoding="UTF-8"?>
<ProjectItem xmlns="" Type="Microsoft.VisualStudio.SharePoint.Module" DefaultFile="Elements.xml" SupportedTrustLevels="All" SupportedDeploymentScopes="Web, Site">
    <ProjectItemFile Source="Elements.xml" Target="myModule\" Type="ElementManifest"/>
    <ProjectItemFile Source="foo.html" Target="myModule\" Type="ElementFile"/>
    <ProjectItemFile Source="bar\baz.html" Target="myModule\bar\" Type="ElementFile"/>
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free