Handlers

Rollup

Used for building modern applications. It supports Vue components and ES6 modules.

In production environment, it minimizes files and generates sourcemaps.

{
  handler: 'rollup',
  name: 'yprox-store-locator',
  src: 'src/StoreLocatorBundle/Resources/private/js/yprox-store-locator/index.js',
  dest: './public/js',
  destFile: 'yprox-store-locator.min.js',
}

Plain Javascript files

Used for handling JS files with the support of ES6 code. Note that ES6 modules are not supported, use Rollup instead.

In production environment, it minimizes files and generates sourcemaps.

{
  handler: 'js',
  src: 'src/StoreLocatorBundle/Resources/public/storeLocatorUtils.js',
  concat: 'storeLocatorUtils.min.js',
  dest: './public/js',
}

{
  handler: 'js',
  src: 'src/StoreLocatorBundle/Resources/public/*.js',
  concat: 'store-locator-bundle.min.js',
  dest: './public/js',
}

Plain CSS Files

Used for handling CSS files, it runs autoprefixer on them.

In production environment, it runs CSSNano, uglify files, and generates sourcemaps.

{
  handler: 'css',
  src: 'src/CoreBundle/Resources/private/css/legacy.css',
  concat: 'legacy.css',
  dest: './public/css',
}

Sass and SCSS

The same behavior that CSS handler, but for .sass and .scss files.

{
  handler: 'sass',
  src: 'src/CoreBundle/Resources/private/sass/grid.scss',
  concat: 'grid.css',
  dest: './public/css',
}

Files

Used for copying files:

{
  handler: 'file',
  src: 'src/CoreBundle/Resources/private/plugins/jQuery-Validation-Engine/**/*',
  dest: `./public/plugins/jQuery-Validation-Engine`,
}

Images

Used for optimizing PNG, JPEG, GIF and SVG images:

{
  handler: 'image',
  src: 'src/CoreBundle/Resources/private/img/*',
  dest: './public/img/core-bundle',
}