main

mattermost/focalboard

Last updated at: 28/12/2023 01:41

webpack.editor.js

TLDR

This file is a webpack config file used in the Demo Projects project. It specifies the development environment, sets up a local server, and configures plugins and entry points for the project.

Methods

None

Classes

None

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
const merge = require('webpack-merge');
const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');

const makeCommonConfig = require('./webpack.common.js');

const commonConfig = makeCommonConfig();

const config = merge.merge(commonConfig, {
    mode: 'development',
    devtool: 'inline-source-map',
    optimization: {
        minimize: false,
    },
    devServer: {
        port: 9000,
        open: "/editor.html",
    },
    entry: ['./src/components/blocksEditor/devmain.tsx'],
    plugins: [
        new CopyPlugin({
            patterns: [
                {from: path.resolve(__dirname, 'static'), to: 'static'},
            ],
        }),
        new HtmlWebpackPlugin({
            inject: true,
            title: 'Focalboard',
            chunks: ['main'],
            template: 'html-templates/deveditor.ejs',
            filename: 'editor.html',
            publicPath: '/',
            hash: true,
        }),
    ],
});

module.exports = [
    merge.merge(config, {
        devtool: 'source-map',
        output: {
            devtoolNamespace: 'focalboard',
        },
    }),
];