webpack.config.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /**
  2. * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. /* eslint-env node */
  7. const path = require( 'path' );
  8. const webpack = require( 'webpack' );
  9. const { bundler } = require( '@ckeditor/ckeditor5-dev-utils' );
  10. const CKEditorWebpackPlugin = require( '@ckeditor/ckeditor5-dev-webpack-plugin' );
  11. const BabiliPlugin = require( 'babel-minify-webpack-plugin' );
  12. const buildConfig = require( './build-config' );
  13. module.exports = {
  14. devtool: 'source-map',
  15. entry: path.resolve( __dirname, 'ckeditor.js' ),
  16. output: {
  17. path: path.resolve( __dirname, 'build' ),
  18. filename: 'ckeditor.js',
  19. libraryTarget: 'umd'
  20. },
  21. plugins: [
  22. new CKEditorWebpackPlugin( {
  23. languages: [ buildConfig.language ]
  24. } ),
  25. new BabiliPlugin( null, {
  26. comments: false
  27. } ),
  28. new webpack.BannerPlugin( {
  29. banner: bundler.getLicenseBanner(),
  30. raw: true
  31. } )
  32. ],
  33. module: {
  34. rules: [
  35. {
  36. test: /\.svg$/,
  37. use: [ 'raw-loader' ]
  38. },
  39. {
  40. test: /\.scss$/,
  41. use: [
  42. 'style-loader',
  43. {
  44. loader: 'css-loader',
  45. options: {
  46. minimize: true
  47. }
  48. },
  49. 'sass-loader'
  50. ]
  51. }
  52. ]
  53. }
  54. };