const {
  override,
  addLessLoader,
  disableEsLint,
  addBundleVisualizer,
  addWebpackAlias,
  fixBabelImports,
  addWebpackPlugin
} = require("customize-cra")

const path = require('path');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin')
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');

module.exports = override(
  disableEsLint(),
  // addBundleVisualizer(),
  addWebpackAlias({
    "educoder": path.resolve(__dirname, 'src/common/educoder.js')
  }),
  addLessLoader({
    javascriptEnabled: true
  }),
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
    style: true
  }),
  addWebpackPlugin(new MonacoWebpackPlugin({})),
  (config) => {
    config.resolve.plugins = config.resolve.plugins.filter(plugin => !(plugin instanceof ModuleScopePlugin));
    if (process.env.NODE_ENV !== "development") {
      config.output.publicPath = `/react/build/`;
    }
    return config
  }
);