Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

SimpleORMap.class.php

Blame
  • Forked from Stud.IP / Stud.IP
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    webpack.common.js 6.33 KiB
    const webpack = require("webpack");
    const path = require("path");
    const MiniCssExtractPlugin = require("mini-css-extract-plugin");
    const VueLoaderPlugin = require('vue-loader/lib/plugin');
    const ESLintPlugin = require('eslint-webpack-plugin');
    const CKEditorWebpackPlugin = require( '@ckeditor/ckeditor5-dev-webpack-plugin' );
    
    const { styles } = require('@ckeditor/ckeditor5-dev-utils');
    
    const assetsPath = path.resolve(__dirname, "resources/assets/javascripts");
    
    module.exports = {
        entry: {
            "studip-base": assetsPath + "/entry-base.js",
            "studip-admission": assetsPath + "/entry-admission.js",
            "studip-statusgroups": assetsPath + "/entry-statusgroups.js",
            "studip-wysiwyg": assetsPath + "/entry-wysiwyg.js",
            "studip-installer": assetsPath + "/entry-installer.js",
            "print": path.resolve(__dirname, "resources/assets/stylesheets") + "/print.less",
            "webservices": path.resolve(__dirname, "resources/assets/stylesheets") + "/webservices.scss",
            "accessibility": path.resolve(__dirname, "resources/assets/stylesheets") + "/highcontrast.scss"
        },
        output: {
            path: path.resolve(__dirname, "public/assets"),
            chunkFilename: "javascripts/[id].chunk.js?h=[chunkhash]",
            filename: "javascripts/[name].js"
        },
        module: {
            rules: [
                {
                    test: /ckeditor5-[^/\\]+[/\\]theme[/\\]icons[/\\][^/\\]+\.svg$/,
                    use: [ 'raw-loader' ]
                },
                {
                    test: /\.css$/,
                    use: [
                        {
                            loader: MiniCssExtractPlugin.loader
                        },
                        {
                            loader: "css-loader",
                            options: {
                                url: false,
                                importLoaders: 1
                            }
                        },
                        {
                            loader: "postcss-loader",
                            options: {
                                postcssOptions: styles.getPostCssConfig( {
                                    themeImporter: {
                                        themePath: require.resolve( '@ckeditor/ckeditor5-theme-lark' )
                                    },
                                    minify: true
                                } )
                            }
                        }
                    ]
                },
                {
                    test: /\.scss$/,
                    use: [
                        {
                            loader: MiniCssExtractPlugin.loader
                        },
                        {
                            loader: "css-loader",
                            options: {
                                url: false,
                                importLoaders: 2
                            }
                        },
                        {
                            loader: "postcss-loader"
                        },
                        {
                            loader: "sass-loader"
                        }
                    ]
                },
                {
                    test: /\.less$/,
                    use: [
                        {
                            loader: MiniCssExtractPlugin.loader
                        },
                        {
                            loader: "css-loader",
                            options: {
                                url: false,
                                importLoaders: 2
                            }
                        },
                        {
                            loader: "postcss-loader"
                        },
                        {
                            loader: "less-loader",
                            options: {
                                lessOptions: {
                                    relativeUrls: false
                                }
                            }
                        }
                    ]
                },
                {
                    test: /\.js$/,
                    exclude: /node_modules|ckeditor/,
                    use: {
                        loader: 'babel-loader'
                    }
                },
                {
                    test: /\.vue$/,
                    loader: 'vue-loader',
                    options: {
                        compiler: require('vue-template-babel-compiler')
                    }
                }
            ]
        },
        plugins: [
            new VueLoaderPlugin(),
            new MiniCssExtractPlugin({
                filename: "stylesheets/[name].css",
                chunkFilename: "stylesheets/[name].css?h=[chunkhash]"
            }),
            new ESLintPlugin({
                exclude: [
                    'node_modules',
                    'public/assets/javascripts/ckeditor/ckeditor.js',
                    'resources/assets/javascripts/vendor',
                    'resources/assets/javascripts/jquery/jstree/jquery.jstree.js',
                ]
            }),
            new CKEditorWebpackPlugin({
                language: 'de',
                addMainLanguageTranslationsToAllAssets: true
            }),
        ],
        resolve: {
            alias: {
                'vue$': 'vue/dist/vue.esm.js',
                'jquery-ui/data': 'jquery-ui/ui/data',
                'jquery-ui/disable-selection': 'jquery-ui/ui/disable-selection',
                'jquery-ui/focusable': 'jquery-ui/ui/focusable',
                'jquery-ui/form': 'jquery-ui/ui/form',
                'jquery-ui/ie': 'jquery-ui/ui/ie',
                'jquery-ui/keycode': 'jquery-ui/ui/keycode',
                'jquery-ui/labels': 'jquery-ui/ui/labels',
                'jquery-ui/jquery-1-7': 'jquery-ui/ui/jquery-1-7',
                'jquery-ui/plugin': 'jquery-ui/ui/plugin',
                'jquery-ui/safe-active-element': 'jquery-ui/ui/safe-active-element',
                'jquery-ui/safe-blur': 'jquery-ui/ui/safe-blur',
                'jquery-ui/scroll-parent': 'jquery-ui/ui/scroll-parent',
                'jquery-ui/tabbable': 'jquery-ui/ui/tabbable',
                'jquery-ui/unique-id': 'jquery-ui/ui/unique-id',
                'jquery-ui/version': 'jquery-ui/ui/version',
                'jquery-ui/widget': 'jquery-ui/ui/widget',
                'jquery-ui/widgets/mouse': 'jquery-ui/ui/widgets/mouse',
                'jquery-ui/widgets/draggable': 'jquery-ui/ui/widgets/draggable',
                'jquery-ui/widgets/droppable': 'jquery-ui/ui/widgets/droppable',
                'jquery-ui/widgets/resizable': 'jquery-ui/ui/widgets/resizable',
                '@': path.resolve(__dirname, 'resources')
            },
            fallback: {
                'stream': require.resolve("stream-browserify"),
                'buffer': require.resolve("buffer/")
            }
        }
    };