Skip to content

Commit 2caf5db

Browse files
fix: avoid importing all of lodash (#1864)
1 parent 4c0c894 commit 2caf5db

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const promisify = require("util").promisify;
55

66
const vm = require("vm");
77
const fs = require("fs");
8-
const _ = require("lodash");
8+
const _uniq = require("lodash/uniq");
99
const path = require("path");
1010
const { CachedChildCompilation } = require("./lib/cached-child-compiler");
1111

@@ -987,7 +987,7 @@ class HtmlWebpackPlugin {
987987
* @private
988988
*/
989989
getAssetFiles(assets) {
990-
const files = _.uniq(
990+
const files = _uniq(
991991
Object.keys(assets)
992992
.filter((assetType) => assetType !== "chunks" && assets[assetType])
993993
.reduce((files, assetType) => files.concat(assets[assetType]), []),

lib/loader.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* This loader renders the template with underscore if no other loader was found */
22
// @ts-nocheck
33
"use strict";
4-
const _ = require("lodash");
4+
const _template = require("lodash/template");
55

66
module.exports = function (source) {
77
// Get templating options
@@ -34,7 +34,7 @@ module.exports = function (source) {
3434

3535
// The following part renders the template with lodash as a minimalistic loader
3636
//
37-
const template = _.template(source, {
37+
const template = _template(source, {
3838
interpolate: /<%=([\s\S]+?)%>/g,
3939
variable: "data",
4040
...options,

spec/basic.spec.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const path = require("path");
99
const fs = require("fs");
1010
const webpack = require("webpack");
1111
const rimraf = require("rimraf");
12-
const _ = require("lodash");
12+
const _extend = require("lodash/extend");
1313
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
1414
const webpackMajorVersion = Number(
1515
require("webpack/package.json").version.split(".")[0],
@@ -2167,7 +2167,7 @@ describe("HtmlWebpackPlugin", () => {
21672167
compilation,
21682168
).beforeEmit.tapAsync("HtmlWebpackPluginTest", (object, callback) => {
21692169
eventFiredForFirstPlugin = true;
2170-
const result = _.extend(object, {
2170+
const result = _extend(object, {
21712171
html: object.html + "Injected by first plugin",
21722172
});
21732173
callback(null, result);
@@ -2224,7 +2224,7 @@ describe("HtmlWebpackPlugin", () => {
22242224
compilation,
22252225
).beforeEmit.tapAsync("HtmlWebpackPluginTest", (object, callback) => {
22262226
eventFiredForFirstPlugin = true;
2227-
const result = _.extend(object, {
2227+
const result = _extend(object, {
22282228
html: object.html + "Injected by first plugin",
22292229
});
22302230
callback(null, result);
@@ -2239,7 +2239,7 @@ describe("HtmlWebpackPlugin", () => {
22392239
compilation,
22402240
).beforeEmit.tapAsync("HtmlWebpackPluginTest", (object, callback) => {
22412241
eventFiredForSecondPlugin = true;
2242-
const result = _.extend(object, {
2242+
const result = _extend(object, {
22432243
html: object.html + " Injected by second plugin",
22442244
});
22452245
callback(null, result);

0 commit comments

Comments
 (0)