first commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
const path = require('path')
|
||||
const del = require('del')
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
||||
const RtlCssPlugin = require('rtlcss-webpack-plugin')
|
||||
|
||||
// global variables
|
||||
const rootPath = path.resolve(__dirname)
|
||||
const distPath = rootPath + '/src/_metronic/assets'
|
||||
const entries = {
|
||||
'css/style': './src/_metronic/assets/sass/style.scss',
|
||||
}
|
||||
|
||||
// remove older folders and files
|
||||
;(async () => {
|
||||
await del(distPath + '/css', {force: true})
|
||||
})()
|
||||
|
||||
module.exports = {
|
||||
mode: 'development',
|
||||
stats: 'verbose',
|
||||
performance: {
|
||||
hints: 'error',
|
||||
maxAssetSize: 10000000,
|
||||
maxEntrypointSize: 4000000,
|
||||
},
|
||||
entry: entries,
|
||||
output: {
|
||||
// main output path in assets folder
|
||||
path: distPath,
|
||||
// output path based on the entries' filename
|
||||
filename: '[name].js',
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.scss'],
|
||||
},
|
||||
plugins: [
|
||||
new MiniCssExtractPlugin({
|
||||
filename: '[name].rtl.css',
|
||||
}),
|
||||
new RtlCssPlugin({
|
||||
filename: '[name].rtl.css',
|
||||
}),
|
||||
{
|
||||
apply: (compiler) => {
|
||||
// hook name
|
||||
compiler.hooks.afterEmit.tap('AfterEmitPlugin', () => {
|
||||
;(async () => {
|
||||
await del(distPath + '/css/*.js', {force: true})
|
||||
})()
|
||||
})
|
||||
},
|
||||
},
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.scss$/,
|
||||
use: [
|
||||
MiniCssExtractPlugin.loader,
|
||||
'css-loader',
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user