63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
const path = require("path");
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const MergeIntoSingleFilePlugin = require("webpack-merge-and-include-globally");
|
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
|
|
module.exports = {
|
|
entry: [
|
|
path.resolve(__dirname, "src", "main.js"),
|
|
path.resolve(__dirname, "src", "main.scss"),
|
|
],
|
|
output: {
|
|
path: path.join(__dirname, "dist"),
|
|
filename: "dist.js"
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.s[ac]ss$/i,
|
|
use: [
|
|
MiniCssExtractPlugin.loader,
|
|
"css-loader",
|
|
{
|
|
loader: "sass-loader",
|
|
options: {
|
|
sassOptions: {
|
|
includePaths: [
|
|
"src/main.scss"
|
|
],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
new MiniCssExtractPlugin({
|
|
filename: "dist.css"
|
|
}),
|
|
new MergeIntoSingleFilePlugin({
|
|
files: {
|
|
"vendor.js": [
|
|
require.resolve('jquery/dist/jquery.min.js'),
|
|
require.resolve('bootstrap/dist/js/bootstrap.min.js'),
|
|
require.resolve('summernote/dist/summernote.min.js'),
|
|
require.resolve('@standardnotes/component-relay/dist/dist.js'),
|
|
require.resolve('dompurify/dist/purify.min.js'),
|
|
'node_modules/sn-stylekit/dist/stylekit.js'
|
|
],
|
|
"vendor.css": [
|
|
require.resolve('bootstrap/dist/css/bootstrap.min.css'),
|
|
require.resolve('summernote/dist/summernote.min.css'),
|
|
'node_modules/sn-stylekit/dist/stylekit.css'
|
|
]
|
|
}
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
title: "Plus Editor",
|
|
template: "editor.index.ejs"
|
|
})
|
|
],
|
|
};
|