code: function procES6(src, base, dest = '', handle_error = false, min = false) {
      const babelOptions = requireJSON.parse(fs.readFileSync('./.babelrc', 'utf8'));
      let bo = Object.assign(babelOptions);
      let bplg = bo.plugins || (bo.plugins = []);
      bplg.push("external-helpers");
      bo.exclude = "node_modules/**";
  
      let plugins = [
          // require('rollup-plugin-strip')(),
          require('rollup-plugin-babel')(bo),
      ];
  
      if ( min ) {
          plugins.push(require('rollup-plugin-uglify')({
              output: {
                  comments: function(node, comment) {
                      let { value, type } = comment;
                      // multiline comment
                      if (type === "comment2") {
                          return /@preserve|@license|@cc_on/i.test(value);
                      }
                  },
              },
          }));
      }
  
      let s = gulp.src(src, { base })
          .pipe($.sourcemaps.init({loadMaps:true}))
          // .pipe($.babel(babelOptions))
  
          .pipe($.betterRollup({ plugins }, 'umd'))
          // .pipe($.rename((fn)=>{fn.basename = path.basename(fn.basename, '.es')}))
      ;
      if ( handle_error ) {
          handle_stream_error(s);
      }
      if ( min ) {
          s = s.pipe($.rename({extname: '.min.js'}));
      }
      s = s.pipe($.sourcemaps.write('.'));
      if ( dest ) {
          s = s.pipe(gulp.dest(dest));
      }
      return s;
  }
docs: ----------------------------------------------------------------------------- / Process JS ES6/7 with babel