Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Select Git revision
  • a9695371e08c20d6de2cb447ddf3331f220df2e8
  • master default protected
  • v2.0.0
  • v1.1.1
  • v1.1.0
  • v1.0.0
6 results

lambda-calculator.cabal

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    webpack.config.js 2.06 KiB
    const path = require('path');
    const webpack = require('webpack');
    const BundleTracker = require('webpack-bundle-tracker');
    
    module.exports = {
      context: __dirname,
    
      entry: './assets/js/index', // entry point of our app. assets/js/index.js should require other js modules and dependencies it needs
    
      output: {
        path: path.resolve('./assets/bundles/'),
        filename: '[name]-[hash].js',
      },
    
      plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new BundleTracker({ filename: './webpack-stats.json' }),
      ],
    
      module: {
        rules: [
          {
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel-loader', // to transform JSX into JS
            options: {
              presets: ['@babel/react', '@babel/env'],
              plugins: [
                '@babel/plugin-proposal-class-properties',
                ['@babel/plugin-proposal-decorators', { legacy: true }],
                '@babel/plugin-proposal-do-expressions',
                '@babel/plugin-proposal-export-default-from',
                '@babel/plugin-proposal-export-namespace-from',
                '@babel/plugin-proposal-function-sent',
                '@babel/plugin-proposal-json-strings',
                '@babel/plugin-proposal-logical-assignment-operators',
                '@babel/plugin-proposal-nullish-coalescing-operator',
                '@babel/plugin-proposal-numeric-separator',
                '@babel/plugin-proposal-optional-chaining',
                ['@babel/plugin-proposal-pipeline-operator', { proposal: 'minimal' }],
                '@babel/plugin-proposal-throw-expressions',
                '@babel/plugin-syntax-dynamic-import',
                '@babel/plugin-syntax-import-meta',
              ],
            },
          },
          {
            test: /\.jsx?$/,
            include: path.resolve('assets/js/'),
            exclude: [path.resolve('node_modules/'), path.resolve('assets/js/__test__/')],
            loader: 'istanbul-instrumenter-loader',
            options: {
              esModules: true,
            },
            enforce: 'post',
          },
        ],
      },
    
      resolve: {
        modules: ['node_modules', 'bower_components'],
        extensions: ['*', '.js', '.jsx'],
      },
    };