diff --git a/src/Umbraco.Web.UI.Docs/gulpfile.js b/src/Umbraco.Web.UI.Docs/gulpfile.js index a3e596ecad..a7269ec8b7 100644 --- a/src/Umbraco.Web.UI.Docs/gulpfile.js +++ b/src/Umbraco.Web.UI.Docs/gulpfile.js @@ -8,6 +8,8 @@ var connect = require('gulp-connect'); var open = require('gulp-open'); var gulpDocs = require('gulp-ngdocs'); +var documentationFiles = ['../Umbraco.Web.UI.Client/src/common/**/*.js', './src/api/**/*.ngdoc']; + /************************** * Build Backoffice UI API documentation **************************/ @@ -24,14 +26,15 @@ gulp.task('docs', [], function (cb) { return gulpDocs.sections({ api: { - glob: ['../Umbraco.Web.UI.Client/src/common/**/*.js', './src/api/**/*.ngdoc'], + glob: documentationFiles, api: true, title: 'UI API Documentation' } }) .pipe(gulpDocs.process(options)) - .pipe(gulp.dest('./api')); - cb(); + .pipe(gulp.dest('./api')) + .pipe(connect.reload()); + }); gulp.task('connect:docs', function (cb) { @@ -44,6 +47,10 @@ gulp.task('connect:docs', function (cb) { cb(); }); +gulp.task('watch:docs', function (cb) { + return gulp.watch(documentationFiles, ['docs']); +}); + gulp.task('open:docs', function (cb) { var options = { @@ -54,3 +61,6 @@ gulp.task('open:docs', function (cb) { .pipe(open(options)); cb(); }); + +gulp.task('watch', ['docs', 'connect:docs', 'open:docs', 'watch:docs']); + diff --git a/src/Umbraco.Web.UI.Docs/package.json b/src/Umbraco.Web.UI.Docs/package.json index 843740482e..6e58f958cf 100644 --- a/src/Umbraco.Web.UI.Docs/package.json +++ b/src/Umbraco.Web.UI.Docs/package.json @@ -1,9 +1,16 @@ { "private": true, "scripts": { + "preinstall": "npx npm-force-resolutions", "docs": "gulp docs", "start": "gulp docs", - "default": "gulp docs" + "default": "gulp docs", + "dev": "gulp watch", + "serve": "gulp watch", + "watch": "gulp watch" + }, + "resolutions": { + "graceful-fs": "4.2.3" }, "devDependencies": { "gulp": "^3.9.1",