code: function cacheStream(strategy) {
      if (!(strategy instanceof CacheStrategy)) {
          strategy = DefaultCacheStrategy.INSTANCE;
      }
  
      return through.obj(function(chunk, enc, cb) {
          strategy.executeStart(this, chunk).then(function(isChanged) {
              var filename = path.resolve(chunk.path);
  
              if (isChanged === true) {
                  gutil.log(OBSOLETE_MESSAGE, gutil.colors.magenta(tildify(filename)));
  
                  cb(null, chunk);
              } else {
                  gutil.log(UP_TO_DATE_MESSAGE, gutil.colors.magenta(tildify(filename)));
  
                  cb();
              }
          });
      }, function(cb) {
          strategy.executeEnd().then(function() {
              cb();
          });
      });
  }
docs: Helps to prevent compilation of `webpack.config.js` if nothing changes.
  **Note**: Needs to be used before `webpack.run()` and `webpack.watch()`.
  @function
  @alias cacheStream
  @param {CacheStrategy=} strategy
  @returns {Stream}