mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 18:12:29 +08:00
77 lines
2.2 KiB
TypeScript
77 lines
2.2 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",
|
|
mobile: "./src/public/app/mobile.js",
|
|
desktop: "./src/public/app/desktop.js",
|
|
share: "./src/public/app/share.js"
|
|
},
|
|
output: {
|
|
publicPath: `${assetPath}/app-dist/`,
|
|
path: path.resolve(rootDir, "src/public/app-dist"),
|
|
filename: "[name].js"
|
|
},
|
|
plugins: [
|
|
new miniCssExtractPlugin()
|
|
],
|
|
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: "none",
|
|
target: "electron-renderer"
|
|
};
|
|
|
|
export default config;
|