mirror of
https://github.com/zadam/trilium.git
synced 2025-10-17 02:48:16 +08:00
output the bundled files directly in the build folder a) keeps the src folder clean from build output b) it saves us some "manual" copying work
82 lines
2.6 KiB
TypeScript
82 lines
2.6 KiB
TypeScript
import { fileURLToPath } from "url";
|
|
import path from "path";
|
|
import autoprefixer from "autoprefixer";
|
|
import assetPath from "./src/services/asset_path.js";
|
|
import miniCssExtractPlugin from "mini-css-extract-plugin";
|
|
import type { Configuration } from "webpack";
|
|
|
|
const rootDir = path.dirname(fileURLToPath(import.meta.url));
|
|
const config: Configuration = {
|
|
mode: "production",
|
|
entry: {
|
|
setup: "./src/public/app/setup.js",
|
|
login: "./src/public/app/login.js",
|
|
mobile: "./src/public/app/mobile.js",
|
|
desktop: "./src/public/app/desktop.js",
|
|
share: "./src/public/app/share.js",
|
|
// TriliumNextTODO: integrate set_password into setup entry point/view
|
|
set_password: "./src/public/app/set_password.js"
|
|
},
|
|
output: {
|
|
publicPath: `${assetPath}/app-dist/`,
|
|
path: path.resolve(rootDir, "build/src/public/app-dist"),
|
|
filename: "[name].js"
|
|
},
|
|
plugins: [
|
|
new miniCssExtractPlugin({
|
|
// TriliumNextTODO: enable this, once webpack build outputs into the "build" folder, instead of "src/public/app-dist" folder => @pano9000
|
|
//filename: "../stylesheets/[name].css"
|
|
})
|
|
],
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.ts$/,
|
|
use: [
|
|
{
|
|
loader: "ts-loader",
|
|
options: {
|
|
configFile: path.join(rootDir, "tsconfig.webpack.json")
|
|
}
|
|
}
|
|
],
|
|
exclude: /node_modules/
|
|
},
|
|
{
|
|
// bootstrap CSS related configuration
|
|
test: /\.(scss)$/,
|
|
use: [
|
|
{
|
|
loader: miniCssExtractPlugin.loader
|
|
},
|
|
{
|
|
loader: "css-loader"
|
|
},
|
|
{
|
|
loader: "postcss-loader",
|
|
options: {
|
|
postcssOptions: {
|
|
plugins: [autoprefixer]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
loader: "sass-loader"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
resolve: {
|
|
extensions: [".ts", ".js"],
|
|
extensionAlias: {
|
|
".js": [".js", ".ts"],
|
|
".cjs": [".cjs", ".cts"],
|
|
".mjs": [".mjs", ".mts"]
|
|
}
|
|
},
|
|
devtool: "source-map",
|
|
target: "electron-renderer"
|
|
};
|
|
|
|
export default config;
|