UNPKG

1.45 kBJavaScriptView Raw
1const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2
3module.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 // Enable sourcemaps for debugging webpack's output.
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};