const CKEditorWebpackPlugin = require( '@ckeditor/ckeditor5-dev-webpack-plugin' ); const { styles } = require( '@ckeditor/ckeditor5-dev-utils' ); buildCKEditor = function(encore) { encore .addPlugin( new CKEditorWebpackPlugin( { language: 'fr', addMainLanguageTranslationsToAllAssets: true, verbose: !encore.isProduction(), strict: true } ) ) // Use raw-loader for CKEditor 5 SVG files. .addRule( { test: /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/, loader: 'raw-loader' } ) // Configure other image loaders to exclude CKEditor 5 SVG files. .configureLoaderRule( 'images', loader => { loader.exclude = /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/; } ) // Configure PostCSS loader. .addLoader({ test: /ckeditor5-[^/\\]+[/\\]theme[/\\].+\.css$/, loader: 'postcss-loader', options: styles.getPostCssConfig( { themeImporter: { themePath: require.resolve('@ckeditor/ckeditor5-theme-lark') }, minify: true } ) } ) ; }; // Compile and loads all assets from the Chill Main Bundle module.exports = function(encore, entries) { // Push into "chill" entrypoint entries.push(__dirname + '/Resources/public/main.js'); // Aliases are used when webpack is trying to resolve modules path encore.addAliases({ ChillMainAssets: __dirname + '/Resources/public', ShowHide: __dirname + '/Resources/public/modules/show_hide' }); // Page entrypoints encore.addEntry('page_login', __dirname + '/Resources/public/modules/login_page/index.js'); // Modules entrypoints encore.addEntry('mod_forkawesome', __dirname + '/Resources/public/modules/forkawesome/index.js'); encore.addEntry('mod_bootstrap', __dirname + '/Resources/public/modules/bootstrap/index.js'); buildCKEditor(encore); encore.addEntry('mod_ckeditor5', __dirname + '/Resources/public/modules/ckeditor5/index.js'); // Vue entrypoints encore.addEntry('vue_address', __dirname + '/Resources/public/vuejs/Address/index.js'); };