node package manager



Gulp plugin for ASP.NET 5. You can use this plugin to integrate ASP.NET 5 dnu build, dnu restore and dnx command execution (for the commands available inside you project.json file). Check out the example inside the repository.


You can install gulp-dnx plugin through npm:

npm install gulp-dnx

Preferably, you can save this as dev dependency:

npm install gulp-dnx --save-dev


var gulp = require('gulp'),
    dnx = require("gulp-dnx");
gulp.task('default', function(cb) {
    return gulp.start('dnx-run');
gulp.task('dnx-run', dnx('kestrel'));

The default function restores the packages according to your project.json file and runs the web command inside the project.json file. You can pass a few options to this to choose what's actually going to run:

// the default options 
var options = {
    restore: true,
    build: false,
    run: true,
    cwd: './'
var dnxCommand = 'web';
gulp.task('dnx-run', dnx(dnxCommand, options));

There are also shorthand methods for specific tasks:

//runs the project.json's command 'kestrel' 
gulp.task('dnx-run', dnx('kestrel'));
// only restores the packages 
gulp.task('dnu-restore', dnx.restore());
// only builds the project 
// restores the packages and builds the project 
gulp.task('dnu-restore-build', dnx.restoreBuild());

gulp-dnx also integrates with dnx --watch to run your commands. So, it will restart your server when you change a code file.


You can change the working directory for the specific command to run passing cwd as an option to the main method or as parameter to the shorthand methods.

//assuming project.json is inside the 'server' directory 
var options = {
    cwd: './server/'
gulp.task('dnx-run', dnx('web', options));
//using the shorthand methods 
gulp.task('dnx-restore', dnx.restore('./server/'));
gulp.task('dnu-restore-build', dnx.restoreBuild('./server/'));