Skip to content

Commit 03abc06

Browse files
committed
build: add CSS Modules support
Signed-off-by: Grigorii K. Shartsev <[email protected]>
1 parent 6efcfea commit 03abc06

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

webpack.renderer.config.js

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,18 @@ function getFullVersion(cwd = __dirname) {
9595
const appName = process.env.npm_package_name
9696
const appVersion = process.env.npm_package_version
9797

98+
const cssLoaderWithModules = {
99+
loader: 'css-loader',
100+
options: {
101+
modules: {
102+
namedExport: false,
103+
// Same as in Vite
104+
localIdentName: '_[local]_[hash:base64:5]',
105+
exportLocalsConvention: 'asIs',
106+
},
107+
},
108+
}
109+
98110
const webpackRendererConfig = {
99111
output: {
100112
assetModuleFilename: 'talk_desktop__dist/assets/[name][ext]?v=[contenthash]',
@@ -128,11 +140,21 @@ const webpackRendererConfig = {
128140
// Talk Desktop specific rules
129141
{
130142
test: /\.css$/,
131-
use: [MiniCssExtractPlugin.loader, 'css-loader'],
143+
oneOf: [{
144+
resourceQuery: /module/,
145+
use: [MiniCssExtractPlugin.loader, cssLoaderWithModules, 'sass-loader'],
146+
}, {
147+
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
148+
}],
132149
},
133150
{
134151
test: /\.scss$/,
135-
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
152+
oneOf: [{
153+
resourceQuery: /module/,
154+
use: [MiniCssExtractPlugin.loader, cssLoaderWithModules, 'sass-loader'],
155+
}, {
156+
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
157+
}],
136158
},
137159
{
138160
test: /\.(js|mjs)$/,

0 commit comments

Comments
 (0)