UNPKG

q42-cms-components

Version:

Front-end package that provides a UI on top of the QMS back-end

114 lines (110 loc) 3.25 kB
'use strict' const webpack = require('webpack'); const { VueLoaderPlugin } = require('vue-loader'); module.exports = { entry: { "cms": "./Statics/cms.js", }, output: { // 'path' is set via package.json filename: "[name].js", publicPath: "/statics/" }, module: { rules: [ { test: /\.(js|vue)$/, use: [ { loader: 'eslint-loader', options: { "baseConfig": { "extends": ["eslint:recommended","plugin:vue/essential"], "globals":{ "require": true // still needed for Markdown lib }, "env": { "es6": true, "browser": true, "commonjs": true }, }, "rules": { "no-console": ["warn", { "allow": ["warn","error"] }], "vue/no-unused-components": false, // doesn't work with this.$options.components.[component] "vue/require-component-is": false, // gives false positives: https://github.com/vuejs/eslint-plugin-vue/issues/869 }, "parser": "vue-eslint-parser", "parserOptions": { "ecmaVersion": 2019, "sourceType": "module" } } } ], exclude: [/^(?=.*node_modules)(?!.*q42-cms-components).*|resources/], enforce: 'pre' }, { test: /\.vue$/, loader: 'vue-loader' }, { test: /\.(babel|js)$/, use: [ { loader: 'babel-loader', options: { presets: [ [ "@babel/preset-env", { "targets": [ // still used by NLO "Chrome 58", // we don't officially support other browsers, but since this cms is also used outside NLO, we use 'support' some more browsers "last 4 Safari versions", "last 4 Firefox versions", "last 4 Edge versions" ], "loose": true, "modules": false, "useBuiltIns": "usage", "corejs": "2" } ] ] } } ], exclude: [/^(?=.*node_modules)(?!.*q42-cms-components).*|resources/] }, { test: /\.css$/, use: ['style-loader', 'css-loader'] }, { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }, { test: /\.(svg|woff(2)?)(\?[a-z0-9]+)?$/, use: 'file-loader' }, { test: /\.(png|jpeg)$/, use: 'url-loader' } ] }, resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' } }, plugins: [ new VueLoaderPlugin(), // Only include 'nl' locale for moment.js new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /^\.\/nl$/), ] };