Skip to content

Commit 2ca1e81

Browse files
committed
v3.1.2: fix issue#74
1 parent d740ccb commit 2ca1e81

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## V3.1.2
2+
- fix [issue#74](https://github.com/indooorsman/esbuild-css-modules-plugin/issues/74)
3+
14
## V3.1.1
25
- fix build with `bundle: true` & `splitting: true` & multiple entrypoints
36

index.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -354,13 +354,14 @@ export const setup = (build, _options) => {
354354
readFile(fullJsPath, { encoding: 'utf8' })
355355
])
356356
.then(([css, js]) => {
357+
const cssContent = simpleMinifyCss(css, patchedBuild.esbuild);
358+
const digest = genDigest(c, buildId);
357359
const newJs = js
358-
.replace(
359-
contentPlaceholder,
360-
JSON.stringify(simpleMinifyCss(css, patchedBuild.esbuild))
361-
)
362-
.replace(digestPlaceholder, JSON.stringify(genDigest(c, buildId)));
363-
return newJs;
360+
.replaceAll(contentPlaceholder, `globalThis['__css-content-${digest}__']`)
361+
.replaceAll(digestPlaceholder, `globalThis['__css-digest-${digest}__']`);
362+
return `globalThis['__css-content-${digest}__']=${JSON.stringify(
363+
cssContent
364+
)};globalThis['__css-digest-${digest}__']=${JSON.stringify(digest)};\n${newJs}`;
364365
})
365366
.then((newJs) => writeFile(fullJsPath, newJs, { encoding: 'utf8' }));
366367
})

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "esbuild-css-modules-plugin",
3-
"version": "3.1.1",
3+
"version": "3.1.2",
44
"description": "A esbuild plugin to bundle css modules into js(x)/ts(x), based on extremely fast [Lightning CSS](https://lightningcss.dev/)",
55
"main": "./index.cjs",
66
"module": "./index.js",

test/test.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import cssModulesPlugin from '../index.js';
2222
emitDeclarationFile: true
2323
})
2424
],
25+
metafile: true,
2526
logLevel: 'debug'
2627
});
2728
console.log('[test][esbuild:bundle:inject] done, please check `test/dist/bundle-inject`', '\n');
@@ -39,6 +40,7 @@ import cssModulesPlugin from '../index.js';
3940
external: ['react', 'react-dom'],
4041
outdir: './dist/bundle-custom-inject',
4142
write: true,
43+
metafile: true,
4244
loader: {
4345
'.jpg': 'dataurl'
4446
},
@@ -86,7 +88,8 @@ import cssModulesPlugin from '../index.js';
8688
filter: /\.css$/i
8789
})
8890
],
89-
logLevel: 'debug'
91+
logLevel: 'debug',
92+
metafile: true
9093
});
9194
console.log('[test][esbuild:bundle:custom:filter] done, please check `test/dist/bundle-custom-filter`', '\n');
9295

@@ -112,7 +115,8 @@ import cssModulesPlugin from '../index.js';
112115
emitDeclarationFile: true
113116
})
114117
],
115-
logLevel: 'debug'
118+
logLevel: 'debug',
119+
metafile: true
116120
});
117121
console.log('[test][esbuild:bundle:no:inject] done, please check `test/dist/bundle-no-inject`', '\n');
118122

@@ -143,7 +147,8 @@ import cssModulesPlugin from '../index.js';
143147
inject: '#my-styles-container'
144148
})
145149
],
146-
logLevel: 'debug'
150+
logLevel: 'debug',
151+
metafile: true
147152
};
148153

149154
await esbuild.build(buildOptions);

0 commit comments

Comments
 (0)