Grunt task to build Durandal projects using a custom require config with a custom almond
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
content
scripts
tasks
.gitattributes
.gitignore
.npminclude
Gruntfile.js
LICENSE
README.md
package.json
packages.config

README.md

grunt-durandal NPM version

Grunt task to build Durandal projects using a custom require config with a custom almond

Getting Started

Install this grunt plugin next to your project's gruntfile with: npm install grunt-durandal --save-dev

Then add this line to your project's Gruntfile.js :

grunt.loadNpmTasks("grunt-durandal");

Then specify your config: (more informations)

grunt.initConfig({
    durandal: {
        dist: {
            src: [
				"app/**/*.*",
				"scripts/durandal/**/*.*"
			],
            options: {
                baseUrl: "app/",
                mainPath: "app/main.js",
                out: "app/main-built.js",

                uglify2: {
                    compress: {
                        global_defs: {
                            DEBUG: false
                        }
                    }
                }
            }
        }
    }
});

Using the configuration above, consider the following app structure :

  • App
    • viewmodels
      • shell.js
      • home.js
    • views
      • shell.html
      • home.html
    • main.js
  • Scripts
    • durandal
      • all durandal files
    • require.js
    • text.js
    • almond-custom.js

After running the grunt task, a main-built file will be created in your app folder. This file contains a custom almond, and all your modules inlined (views included as text!...)

Release History

  • 0.0.1 Initial Release
  • 0.1.0 Update to Durandal 2.0
  • 0.1.1 Fix issue with path separator on Windows
  • 0.1.2 Fix naming path issue by renaming path for forced includes
  • 0.1.3 Append a includeMain options which allow to disable automatic main include