1 | const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
2 |
|
3 | module.exports = {
|
4 | entry: {
|
5 | 'aws-amplify-ui': './src/index.ts',
|
6 | 'aws-amplify-ui.min': './src/index.ts',
|
7 | },
|
8 | output: {
|
9 | filename: '[name].js',
|
10 | path: __dirname + '/dist',
|
11 | library: 'aws_amplify_ui',
|
12 | libraryTarget: 'umd',
|
13 | umdNamedDefine: true,
|
14 | globalObject: 'this',
|
15 | devtoolModuleFilenameTemplate: require('../aws-amplify/webpack-utils')
|
16 | .devtoolModuleFilenameTemplate,
|
17 | },
|
18 |
|
19 | devtool: 'source-map',
|
20 | resolve: {
|
21 | extensions: ['.tsx', '.ts', '.js', '.css'],
|
22 | },
|
23 |
|
24 | mode: process.env.NODE_ENV || 'production',
|
25 |
|
26 | module: {
|
27 | rules: [
|
28 | { test: /\.jsx?$/, use: 'ts-loader', exclude: /node_modules/ },
|
29 | { test: /\.tsx?$/, use: 'ts-loader', exclude: /node_modules/ },
|
30 | {
|
31 | test: /\.css$/,
|
32 | use: [
|
33 | {
|
34 | loader: MiniCssExtractPlugin.loader,
|
35 | options: {
|
36 | hmr: process.env.NODE_ENV === 'development',
|
37 | },
|
38 | },
|
39 | {
|
40 | loader: 'dts-css-modules-loader',
|
41 | options: {
|
42 | banner: '// AUTOMATICALLY GENERATED - DO NOT EDIT',
|
43 | namedExport: true,
|
44 | },
|
45 | },
|
46 | {
|
47 | loader: 'css-loader',
|
48 | options: {
|
49 | modules: true,
|
50 | importLoaders: 1,
|
51 | localIdentName: '[name]__[local]___[hash:base64:5]',
|
52 | },
|
53 | },
|
54 | 'postcss-loader',
|
55 | ],
|
56 | },
|
57 | ],
|
58 | },
|
59 |
|
60 | plugins: [
|
61 | new MiniCssExtractPlugin({ filename: 'style.css', allChunks: true }),
|
62 | ],
|
63 | };
|