Skip to content

Commit 2b525a0

Browse files
committed
Update helpers
1 parent c496a21 commit 2b525a0

File tree

3 files changed

+48
-22
lines changed

3 files changed

+48
-22
lines changed

_speaker-tips/CustomDependency.js

-22
This file was deleted.

_speaker-tips/ReplaceDependency.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const Dependency = require('webpack/lib/Dependency');
2+
3+
class ReplaceDependency extends Dependency {
4+
constructor(module, range, value) {
5+
super();
6+
this.module = module;
7+
this.range = range;
8+
this.value = value;
9+
10+
}
11+
}
12+
13+
ReplaceDependency.Template = class ReplaceDependencyTemplate {
14+
apply(dep, source) {
15+
source.replace(
16+
dep.range[0],
17+
dep.range[1] - 1,
18+
dep.value
19+
)
20+
}
21+
};
22+
23+
module.exports = ReplaceDependency;

_speaker-tips/helpers.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const HarmonyImportSideEffectDependency = require('webpack/lib/HarmonyImportSideEffectDependency');
2+
const HarmonyImportSpecifierDependency = require('webpack/lib/dependencies/HarmonyImportSpecifierDependency');
3+
4+
class PluginHelpers {
5+
getModuleParents(cssModule, compilation) {
6+
const isChildCompiler = compilation.compiler.isChild();
7+
8+
const allModules = []
9+
.concat(
10+
compilation.modules,
11+
isChildCompiler ? compilation.compiler.parentCompilation.modules : []
12+
)
13+
.filter((module) => this.imports.has(module.request));
14+
15+
const parents = allModules.filter((module) => {
16+
const cssModuleDep = module.dependencies
17+
.filter((d) => d instanceof HarmonyImportSideEffectDependency)
18+
.find((d) => d.module.resource === cssModule.resource);
19+
20+
return !!cssModuleDep;
21+
});
22+
23+
return parents;
24+
}
25+
}

0 commit comments

Comments
 (0)