UNPKG

material-inspired-component-library

Version:

The Material-Inspired Component Library (MICL) offers a collection of beautifully crafted components leveraging native HTML markup, designed to align with the Material Design 3 guidelines.

53 lines (50 loc) 1.28 kB
const path = require('path'); const glob = require('glob'); const webpack = require('webpack'); const miniCss = require('mini-css-extract-plugin'); const distDir = path.resolve(__dirname, 'dist'); const scssFiles = glob.sync('./components/**/*.scss'); const scssEntries = scssFiles.reduce((entries, filePath) => { const componentName = path.dirname(filePath).split('\\').pop(); entries[componentName] = './' + filePath; return entries; }, {}); module.exports = [{ mode: 'production', entry: { ...scssEntries, micl: ['./styles.scss', './micl.ts'] }, resolve: { extensions: ['.ts', '.tsx', '.js'] }, output: { path: distDir, filename: '[name].js', clean: true, library: { name: 'micl', type: 'umd' } }, module: { rules: [{ test: /\.scss$/, use : [ miniCss.loader, 'css-loader', 'postcss-loader', 'sass-loader' ] }, { test: /\.tsx?$/, use: 'ts-loader', exclude: /node_modules/ }] }, plugins: [ new miniCss({ filename: '[name].css' }) ] }];