Performance: Standardize lodash imports to use destructured members (#33040)

* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.

* Remove unnecessary _ import from Graph component

* Enforce lodash import style

* Fix remaining lodash imports
This commit is contained in:
kay delaney
2021-04-21 08:38:00 +01:00
committed by GitHub
parent 2bb7eb18d1
commit bad048b7ba
299 changed files with 1135 additions and 1137 deletions

View File

@@ -1,5 +1,5 @@
// Libraries
import _ from 'lodash';
import { cloneDeep, defaultsDeep, isArray, isEqual, keys } from 'lodash';
// Utils
import { getTemplateSrv } from '@grafana/runtime';
import { getNextRefIdChar } from 'app/core/utils/query';
@@ -209,14 +209,14 @@ export class PanelModel implements DataConfigSource {
}
// defaults
_.defaultsDeep(this, _.cloneDeep(defaults));
defaultsDeep(this, cloneDeep(defaults));
// queries must have refId
this.ensureQueryIds();
}
ensureQueryIds() {
if (this.targets && _.isArray(this.targets)) {
if (this.targets && isArray(this.targets)) {
for (const query of this.targets) {
if (!query.refId) {
query.refId = getNextRefIdChar(this.targets);
@@ -261,11 +261,11 @@ export class PanelModel implements DataConfigSource {
continue;
}
if (_.isEqual(this[property], defaults[property])) {
if (isEqual(this[property], defaults[property])) {
continue;
}
model[property] = _.cloneDeep(this[property]);
model[property] = cloneDeep(this[property]);
}
if (model.datasource === undefined) {
@@ -360,7 +360,7 @@ export class PanelModel implements DataConfigSource {
clearPropertiesBeforePluginChange() {
// remove panel type specific options
for (const key of _.keys(this)) {
for (const key of keys(this)) {
if (mustKeepProps[key]) {
continue;
}