Skip to content

Commit ca40bf2

Browse files
committed
fix: use right methods
1 parent 80a468b commit ca40bf2

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "launch",
10+
"name": "Launch Program",
11+
"skipFiles": ["<node_internals>/**"],
12+
"program": "${workspaceFolder}/node_modules/.bin/jasmine"
13+
}
14+
]
15+
}

lib/optimizer.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
const { ReplaceSource } = require('webpack-sources');
21
const chalk = require('./chalk');
32
const ClassGenerator = require('./classGenerator');
43

@@ -17,7 +16,7 @@ const validate = (opts, classGenerator) => {
1716
}
1817
};
1918

20-
const optimize = ([file, originalSource], compilation, opts, classGenerator) => {
19+
const optimize = (compiler, [file, originalSource], compilation, opts, classGenerator) => {
2120
let classnameRegex;
2221
if (file.match(/.+\.css.*$/)) {
2322
classnameRegex = new RegExp(`\\\.(${opts.classNameRegExp})`, 'g');
@@ -37,6 +36,9 @@ const optimize = ([file, originalSource], compilation, opts, classGenerator) =>
3736

3837
const rawSource = originalSource.source();
3938
let source;
39+
40+
const { ReplaceSource } = compiler.webpack.sources;
41+
4042
while (match = classnameRegex.exec(rawSource)) {
4143
const originalName = match[1];
4244
let targetName = originalName
@@ -77,13 +79,13 @@ const optimize = ([file, originalSource], compilation, opts, classGenerator) =>
7779
if (!source) {
7880
return;
7981
}
80-
compilation.assets[file] = source;
82+
compilation.updateAsset(file, source, { minimized: true });
8183
};
8284

8385
const optimizer = (compiler, compilation, opts) => (assets) => {
8486
if (!opts.classNameRegExp) throw new Error("'classNameRegExp' option is required. e.g. '[c]-[a-z][a-zA-Z0-9_]*'");
8587
const classGenerator = new ClassGenerator();
86-
Object.entries(assets).forEach((asset) => optimize(asset, compilation, opts, classGenerator));
88+
Object.entries(assets).forEach((asset) => optimize(compiler, asset, compilation, opts, classGenerator));
8789
validate(opts, classGenerator);
8890
}
8991

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)