presto-8.x-2.2/themes/presto_theme/gulp-tasks/js.js

themes/presto_theme/gulp-tasks/js.js
import ignore from 'gulp-ignore';
import webpack from 'webpack';
import named from 'vinyl-named';
import gulpWebpack from 'webpack-stream';
import UglifyJSPlugin from 'uglifyjs-webpack-plugin';
import path from 'path';
import * as paths from './paths';

module.exports = gulp =>
  gulp.src(paths.SRC.js)
    .pipe(named())
    .pipe(gulpWebpack({
      devtool: 'source-map',
      plugins: [
        new UglifyJSPlugin({
          sourceMap: true,
          parallel: true,
          extractComments: true,
          compress: false,
          mangle: false,
          output: {
            beautify: true,
            preamble: `/* Presto JS -- built ${new Date()}*/`,
          },
        }),
        new webpack.LoaderOptionsPlugin({
          options: {
            eslint: {
              configFile: path.join(__dirname, '../.eslintrc.json'),
              useEslintrc: false,
            },
          },
        }),
      ],
      module: {
        rules: [{
          enforce: 'pre',
          test: /\.js/,
          exclude: /(node_modules|bower_components|typekit-dev.js)/,
          use: {
            loader: 'eslint-loader',
            options: {
              cache: true,
            },
          },
        },
        {
          test: /\.js$/,
          exclude: /(node_modules|bower_components)/,
          use: {
            loader: 'babel-loader',
          },
        }],
      },
    }, webpack))
    .on('error', () => {
    // This will catch the webpack/gulp issue that closes the process on an error.
      this.emit('end');
    })
    .pipe(gulp.dest(paths.DEST.js))
    .pipe(ignore.exclude('*.map'))
    .pipe(ignore.exclude('*.LICENSE'))
    .pipe(named(file => `${file.stem}.min`))
    .pipe(gulpWebpack({
      devtool: 'source-map',
      plugins: [
        new UglifyJSPlugin({
          mangle: true,
          sourceMap: true,
          parallel: true,
        }),
      ],
    }, webpack))
    .on('error', () => {
    // This will catch the webpack/gulp issue that closes the process on an error.
      this.emit('end');
    })
    .pipe(gulp.dest(paths.DEST.js));

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc