'use strict'; // check if gulp dist was called if (process.argv.indexOf('dist') !== -1) { // add ship options to command call process.argv.push('--ship'); } const path = require('path'); const gulp = require('gulp'); const build = require('@microsoft/sp-build-web'); const gulpSequence = require('gulp-sequence'); build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`); // Create clean distrubution package gulp.task('dist', gulpSequence('clean', 'bundle', 'package-solution')); // Create clean development package gulp.task('dev', gulpSequence('clean', 'bundle', 'package-solution')); /** * Custom Framework Specific gulp tasks */ const argv = build.rig.getYargs().argv; const useCustomServe = argv['custom-serve']; const fs = require("fs"); const workbenchApi = require("@microsoft/sp-webpart-workbench/lib/api"); if (useCustomServe) { build.tslintCmd.enabled = false; const ensureWorkbenchSubtask = build.subTask('ensure-workbench-task', function (gulp, buildOptions, done) { this.log('Creating workbench.html file...'); try { workbenchApi.default["/workbench"](); } catch (e) { } done(); }); build.rig.addPostBuildTask(build.task('ensure-workbench', ensureWorkbenchSubtask)); build.configureWebpack.mergeConfig({ additionalConfiguration: (generatedConfiguration) => { fs.writeFileSync("./temp/_webpack_config.json", JSON.stringify(generatedConfiguration, null, 2)); return generatedConfiguration; } }); } build.initialize(require('gulp'));