/* * MIT License * * Copyright (c) 2020-present Cloudogu GmbH and Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ const WorkerPlugin = require("worker-plugin"); module.exports = { module: { rules: [ { parser: { system: false, systemjs: false } }, { test: /\.(js|ts|jsx|tsx)$/, exclude: /node_modules/, use: [ { loader: "babel-loader", options: { cacheDirectory: true, presets: ["@scm-manager/babel-preset"] } } ] }, { test: /\.(css|scss|sass)$/i, use: [ // Creates `style` nodes from JS strings "style-loader", { loader: "css-loader", options: { // Run `postcss-loader` on each CSS `@import`, do not forget that `sass-loader` compile non CSS `@import`'s into a single file // If you need run `sass-loader` and `postcss-loader` on each CSS `@import` please set it to `2` importLoaders: 1, // Automatically enable css modules for files satisfying `/\.module\.\w+$/i` RegExp. modules: { auto: true } } }, // Compiles Sass to CSS "sass-loader" ] }, { test: /\.(png|svg|jpg|gif|woff2?|eot|ttf)$/, use: ["file-loader"] } ] }, resolve: { extensions: [".ts", ".tsx", ".js", ".jsx", ".css", ".scss", ".json"] }, plugins: [ new WorkerPlugin() ] };