8
0

webpack.compat.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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: [
  16. require.resolve( 'regenerator-runtime/runtime.js' ),
  17. path.resolve( __dirname, 'ckeditor.js' )
  18. ],
  19. output: {
  20. path: path.resolve( __dirname, 'build' ),
  21. filename: 'ckeditor.compat.js',
  22. libraryTarget: 'umd'
  23. },
  24. plugins: [
  25. new CKEditorWebpackPlugin( {
  26. languages: [ buildConfig.language ]
  27. } ),
  28. new BabiliPlugin( null, {
  29. comments: false
  30. } ),
  31. new webpack.BannerPlugin( {
  32. banner: bundler.getLicenseBanner(),
  33. raw: true
  34. } )
  35. ],
  36. module: {
  37. rules: [
  38. {
  39. test: /\.js$/,
  40. use: [
  41. {
  42. loader: 'babel-loader',
  43. query: {
  44. presets: [
  45. [
  46. require( 'babel-preset-env' ),
  47. {
  48. targets: {
  49. browsers: [
  50. 'last 2 versions',
  51. 'ie >= 11'
  52. ]
  53. }
  54. }
  55. ]
  56. ]
  57. }
  58. }
  59. ]
  60. },
  61. {
  62. test: /\.svg$/,
  63. use: [ 'raw-loader' ]
  64. },
  65. {
  66. test: /\.scss$/,
  67. use: [
  68. 'style-loader',
  69. {
  70. loader: 'css-loader',
  71. options: {
  72. minimize: true
  73. }
  74. },
  75. 'sass-loader'
  76. ]
  77. }
  78. ]
  79. }
  80. };