Skip to content

Commit 240b444

Browse files
gjaJeevan-Kishore
authored andcommitted
feat(Performance): Remove Lodash (#67)
* feat(Performance): Remove Lodash - Upgraded redux and react-redux - Switched to @quintype/lodash for get - Removed omit (using babel) - Fixing warnings from rollup * chore(release): 1.54.0-remove-lodash.0 * fix(access-type): Replace lodash get * fix(package): Bump to beta post merge * chore(release): 1.54.0-remove-lodash.1 * fix(react-redux): Revert to 5.0.7 as 6 is breaking change * chore(release): 1.54.0-remove-lodash.2 * fix(papaparse): Remove paparse, refactor table element * chore(release): 1.54.0-remove-lodash.3 * fix(lodash): Replace quintype get with lodash get * chore(release): 1.54.0-remove-lodash.4
1 parent 5846594 commit 240b444

File tree

12 files changed

+1159
-1183
lines changed

12 files changed

+1159
-1183
lines changed

package-lock.json

Lines changed: 1074 additions & 1098 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,39 +22,37 @@
2222
},
2323
"homepage": "https://github.com/quintype/quintype-node-components#readme",
2424
"dependencies": {
25-
"@babel/runtime": "^7.2.0",
25+
"@babel/runtime": "^7.3.4",
2626
"atob": "^2.1.2",
27-
"classnames": "^2.2.5",
27+
"classnames": "^2.2.6",
2828
"empty-web-gif": "^1.0.0",
29-
"get-youtube-id": "^1.0.0",
30-
"lodash": "^4.17.11",
31-
"papaparse": "^4.3.6",
32-
"prop-types": "^15.6.0",
29+
"get-youtube-id": "^1.0.1",
30+
"prop-types": "^15.7.2",
3331
"quintype-js": "^1.1.0",
34-
"react": "^16.2.0",
35-
"react-dfp": "^0.6.0",
36-
"react-redux": "^5.0.6",
37-
"react-youtube": "^7.5.0",
38-
"redux": "^3.7.2",
39-
"wretch": "^1.1.1"
32+
"react": "^16.8.4",
33+
"react-dfp": "^0.10.3",
34+
"react-redux": "^5.0.7",
35+
"react-youtube": "^7.9.0",
36+
"redux": "^4.0.1",
37+
"wretch": "^1.5.0"
4038
},
4139
"devDependencies": {
42-
"@babel/cli": "^7.0.0",
43-
"@babel/core": "^7.0.0",
44-
"@babel/plugin-external-helpers": "^7.0.0",
45-
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
46-
"@babel/plugin-transform-runtime": "^7.2.0",
47-
"@babel/preset-env": "^7.0.0",
40+
"@babel/cli": "^7.2.3",
41+
"@babel/core": "^7.3.4",
42+
"@babel/plugin-external-helpers": "^7.2.0",
43+
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
44+
"@babel/plugin-transform-runtime": "^7.3.4",
45+
"@babel/preset-env": "^7.3.4",
4846
"@babel/preset-react": "^7.0.0",
49-
"babel-plugin-annotate-pure-calls": "^0.3.0",
50-
"babel-plugin-quintype-assets": "^1.0.2",
51-
"babel-plugin-transform-react-remove-prop-types": "^0.4.15",
47+
"babel-plugin-annotate-pure-calls": "^0.4.0",
48+
"babel-plugin-quintype-assets": "^1.1.1",
49+
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
5250
"onchange": "^4.1.0",
53-
"react-dom": "^16.2.0",
54-
"rimraf": "^2.6.2",
55-
"rollup": "^0.65.2",
56-
"rollup-plugin-babel": "^4.0.3",
57-
"standard-version": "^4.4.0"
51+
"react-dom": "^16.8.4",
52+
"rimraf": "^2.6.3",
53+
"rollup": "^1.4.2",
54+
"rollup-plugin-babel": "^4.3.2",
55+
"standard-version": "^5.0.1"
5856
},
5957
"scripts": {
6058
"build:cjs": "npx rollup -c",

rollup.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ export default {
1313
runtimeHelpers: true
1414
})
1515
],
16-
external: Object.keys(dependencies).concat(["lodash/get", "lodash/omit"])
16+
external: file => Object.keys(dependencies).includes(file) || file.startsWith("@babel/runtime")
1717
};

src/components/access-type.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, {Component} from 'react';
22
import {connect} from 'react-redux';
3-
import get from 'lodash/get';
3+
import get from "lodash/get";
44
import {
55
ACCESS_BEING_LOADED,
66
ACCESS_UPDATED,

src/components/breaking-news.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from "react";
22
import {connect} from "react-redux";
33
import {BREAKING_NEWS_UPDATED} from '../store/actions';
44
import {Link} from "./link";
5-
import get from 'lodash/get';
5+
import get from "lodash/get";
66
import {getRequest} from './api-client';
77

88
class BreakingNewsBase extends React.Component {

src/components/infinite-story-base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from "react";
2-
import get from 'lodash/get';
2+
import get from "lodash/get";
33
import { InfiniteScroll } from "./infinite-scroll.js";
44
import { removeDuplicateStories } from '../utils';
55

src/components/link.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import React from "react";
22
import {connect} from "react-redux";
3-
import omit from "lodash/omit";
43

54
function LinkBase(props) {
6-
return React.createElement("a", Object.assign(omit(props, "navigateTo"), {
5+
const {navigateTo, externalLink, callback, ...otherProps} = props;
6+
7+
return React.createElement("a", Object.assign(otherProps, {
78
onClick(e) {
89
if(global.disableAjaxLinks)
910
return;
@@ -14,14 +15,14 @@ function LinkBase(props) {
1415
e.preventDefault();
1516
e.stopPropagation();
1617

17-
if(props.externalLink) {
18-
global.open(props.externalLink, "_blank");
18+
if(externalLink) {
19+
global.open(externalLink, "_blank");
1920
}
2021
else {
21-
props.navigateTo(props.href);
22+
navigateTo(props.href);
2223
}
2324

24-
typeof props.callback === 'function' && props.callback(e);
25+
typeof callback === 'function' && callback(e);
2526
}
2627
}));
2728
}

src/components/load-more-stories-base.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22

3-
import get from 'lodash/get';
3+
import get from "lodash/get";
44
import { removeDuplicateStories } from '../utils';
55
import { getRequest } from './api-client';
66

@@ -55,7 +55,7 @@ export class LoadMoreStoriesBase extends React.Component {
5555
fields: this.props.fields
5656
})).json(response => response.stories || get(response, ['results', 'stories'], []));
5757
}
58-
58+
5959
render() {
6060
return React.createElement(LoadMoreStoriesManager, Object.assign({}, this.props.data, {
6161
template: this.props.template,

src/components/responsive-image.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import React from "react";
22
import {connect} from "react-redux";
33
import {FocusedImage} from "quintype-js";
44
import {func} from 'prop-types';
5-
import omit from 'lodash/omit';
65
import emptyWebGif from 'empty-web-gif';
6+
import omit from '@babel/runtime/helpers/objectWithoutProperties';
77

88
const USED_PARAMS = ["imageCDN","defaultWidth","widths","imgParams","slug","metadata","aspectRatio", "reactTag", "eager"];
99

src/components/search-page-base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import get from 'lodash/get';
2+
import get from "lodash/get";
33
import { getRequest } from './api-client';
44

55
import { LoadMoreStoriesManager } from './load-more-stories-base'

0 commit comments

Comments
 (0)