{"action":"created","comment":{"url":"https://api.github.com/repos/udemy/js-tooling/pulls/comments/201828756","pull_request_review_id":136409116,"id":201828756,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTgyODc1Ng==","diff_hunk":"@@ -37,10 +37,20 @@ module.exports = {\n                 source: '^enzyme/build/index(?:\\\\.js)?$',\n                 message: 'Please import from enzyme, not from enzyme/build/index',\n             },\n+            {\n+                // Prefer lodash-es\n+                source: '^lodash/(.*)$',\n+                message: 'Please import from lodash-es/$1 instead of lodash/$1',\n+            },\n             {\n                 // For improved JS bundling\n-                source: '^lodash(?:\\\\.js)?$',\n-                message: 'Please import from e.g. lodash/foo, not from lodash directly',\n+                source: '^(lodash(?:-es)?)(?:\\\\.js)?$',\n+                message: 'Please import from e.g. lodash-es/foo, not from $1 directly',\n+            },\n+            {\n+                // Suggest using native Javascript instead of depending on lodash\n+                source: '^lodash-es/(each|reduce|filter|includes|map|every|some|keys|values|isArray|isString|findIndex|extend|max|first|head|tail|last)(?:\\\\.js)?$',","path":"packages/eslint-config-udemy-website/index.js","position":18,"original_position":18,"commit_id":"f4224bd1a05c4489ec2f02ca6f5ce6c677358433","original_commit_id":"f4224bd1a05c4489ec2f02ca6f5ce6c677358433","user":{"login":"inancsevinc","id":1168428,"node_id":"MDQ6VXNlcjExNjg0Mjg=","avatar_url":"https://avatars3.githubusercontent.com/u/1168428?v=4","gravatar_id":"","url":"https://api.github.com/users/inancsevinc","html_url":"https://github.com/inancsevinc","followers_url":"https://api.github.com/users/inancsevinc/followers","following_url":"https://api.github.com/users/inancsevinc/following{/other_user}","gists_url":"https://api.github.com/users/inancsevinc/gists{/gist_id}","starred_url":"https://api.github.com/users/inancsevinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inancsevinc/subscriptions","organizations_url":"https://api.github.com/users/inancsevinc/orgs","repos_url":"https://api.github.com/users/inancsevinc/repos","events_url":"https://api.github.com/users/inancsevinc/events{/privacy}","received_events_url":"https://api.github.com/users/inancsevinc/received_events","type":"User","site_admin":false},"body":"Note that I am considering separating this list into different rules in the future to have a more helpful message. e.g. use Object.keys instead of `lodash-es/keys`.","created_at":"2018-07-11T20:28:52Z","updated_at":"2018-07-11T20:28:53Z","html_url":"https://github.com/udemy/js-tooling/pull/35#discussion_r201828756","pull_request_url":"https://api.github.com/repos/udemy/js-tooling/pulls/35","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/comments/201828756"},"html":{"href":"https://github.com/udemy/js-tooling/pull/35#discussion_r201828756"},"pull_request":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/35"}}},"pull_request":{"url":"https://api.github.com/repos/udemy/js-tooling/pulls/35","id":200816125,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAwODE2MTI1","html_url":"https://github.com/udemy/js-tooling/pull/35","diff_url":"https://github.com/udemy/js-tooling/pull/35.diff","patch_url":"https://github.com/udemy/js-tooling/pull/35.patch","issue_url":"https://api.github.com/repos/udemy/js-tooling/issues/35","number":35,"state":"open","locked":false,"title":"Improve lodash related linting (TF-517)","user":{"login":"inancsevinc","id":1168428,"node_id":"MDQ6VXNlcjExNjg0Mjg=","avatar_url":"https://avatars3.githubusercontent.com/u/1168428?v=4","gravatar_id":"","url":"https://api.github.com/users/inancsevinc","html_url":"https://github.com/inancsevinc","followers_url":"https://api.github.com/users/inancsevinc/followers","following_url":"https://api.github.com/users/inancsevinc/following{/other_user}","gists_url":"https://api.github.com/users/inancsevinc/gists{/gist_id}","starred_url":"https://api.github.com/users/inancsevinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inancsevinc/subscriptions","organizations_url":"https://api.github.com/users/inancsevinc/orgs","repos_url":"https://api.github.com/users/inancsevinc/repos","events_url":"https://api.github.com/users/inancsevinc/events{/privacy}","received_events_url":"https://api.github.com/users/inancsevinc/received_events","type":"User","site_admin":false},"body":"##### *To:*\r\n@udemy/team-f \r\n\r\n##### *What:*\r\nAdded more import rules related with lodash usages. \r\n1) Make sure we import from `lodash-es` not `lodash`.\r\n2) Add a blacklist of lodash functions where there is a straightforward native javascript alternative.\r\n\r\n##### *JIRA:*\r\nhttps://udemyjira.atlassian.net/browse/TF-517\r\n\r\n##### *What did you test:*\r\nTested the rules in website-django repo\r\n\r\n","created_at":"2018-07-11T20:26:21Z","updated_at":"2018-07-11T20:28:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78cc93bc1f46167943791fc24382aa32698248a3","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[{"name":"Team F","id":1933411,"node_id":"MDQ6VGVhbTE5MzM0MTE=","slug":"team-f","description":"The sub-team within Web App that works on Framework, Performance and Architecture","privacy":"closed","url":"https://api.github.com/teams/1933411","members_url":"https://api.github.com/teams/1933411/members{/member}","repositories_url":"https://api.github.com/teams/1933411/repos","permission":"pull"}],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/udemy/js-tooling/pulls/35/commits","review_comments_url":"https://api.github.com/repos/udemy/js-tooling/pulls/35/comments","review_comment_url":"https://api.github.com/repos/udemy/js-tooling/pulls/comments{/number}","comments_url":"https://api.github.com/repos/udemy/js-tooling/issues/35/comments","statuses_url":"https://api.github.com/repos/udemy/js-tooling/statuses/f4224bd1a05c4489ec2f02ca6f5ce6c677358433","head":{"label":"udemy:improvement/lint-lodash-usages","ref":"improvement/lint-lodash-usages","sha":"f4224bd1a05c4489ec2f02ca6f5ce6c677358433","user":{"login":"udemy","id":1714691,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTQ2OTE=","avatar_url":"https://avatars1.githubusercontent.com/u/1714691?v=4","gravatar_id":"","url":"https://api.github.com/users/udemy","html_url":"https://github.com/udemy","followers_url":"https://api.github.com/users/udemy/followers","following_url":"https://api.github.com/users/udemy/following{/other_user}","gists_url":"https://api.github.com/users/udemy/gists{/gist_id}","starred_url":"https://api.github.com/users/udemy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udemy/subscriptions","organizations_url":"https://api.github.com/users/udemy/orgs","repos_url":"https://api.github.com/users/udemy/repos","events_url":"https://api.github.com/users/udemy/events{/privacy}","received_events_url":"https://api.github.com/users/udemy/received_events","type":"Organization","site_admin":false},"repo":{"id":110182316,"node_id":"MDEwOlJlcG9zaXRvcnkxMTAxODIzMTY=","name":"js-tooling","full_name":"udemy/js-tooling","owner":{"login":"udemy","id":1714691,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTQ2OTE=","avatar_url":"https://avatars1.githubusercontent.com/u/1714691?v=4","gravatar_id":"","url":"https://api.github.com/users/udemy","html_url":"https://github.com/udemy","followers_url":"https://api.github.com/users/udemy/followers","following_url":"https://api.github.com/users/udemy/following{/other_user}","gists_url":"https://api.github.com/users/udemy/gists{/gist_id}","starred_url":"https://api.github.com/users/udemy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udemy/subscriptions","organizations_url":"https://api.github.com/users/udemy/orgs","repos_url":"https://api.github.com/users/udemy/repos","events_url":"https://api.github.com/users/udemy/events{/privacy}","received_events_url":"https://api.github.com/users/udemy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/udemy/js-tooling","description":"Udemy's JS tooling related public NPM packages","fork":false,"url":"https://api.github.com/repos/udemy/js-tooling","forks_url":"https://api.github.com/repos/udemy/js-tooling/forks","keys_url":"https://api.github.com/repos/udemy/js-tooling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/udemy/js-tooling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/udemy/js-tooling/teams","hooks_url":"https://api.github.com/repos/udemy/js-tooling/hooks","issue_events_url":"https://api.github.com/repos/udemy/js-tooling/issues/events{/number}","events_url":"https://api.github.com/repos/udemy/js-tooling/events","assignees_url":"https://api.github.com/repos/udemy/js-tooling/assignees{/user}","branches_url":"https://api.github.com/repos/udemy/js-tooling/branches{/branch}","tags_url":"https://api.github.com/repos/udemy/js-tooling/tags","blobs_url":"https://api.github.com/repos/udemy/js-tooling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/udemy/js-tooling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/udemy/js-tooling/git/refs{/sha}","trees_url":"https://api.github.com/repos/udemy/js-tooling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/udemy/js-tooling/statuses/{sha}","languages_url":"https://api.github.com/repos/udemy/js-tooling/languages","stargazers_url":"https://api.github.com/repos/udemy/js-tooling/stargazers","contributors_url":"https://api.github.com/repos/udemy/js-tooling/contributors","subscribers_url":"https://api.github.com/repos/udemy/js-tooling/subscribers","subscription_url":"https://api.github.com/repos/udemy/js-tooling/subscription","commits_url":"https://api.github.com/repos/udemy/js-tooling/commits{/sha}","git_commits_url":"https://api.github.com/repos/udemy/js-tooling/git/commits{/sha}","comments_url":"https://api.github.com/repos/udemy/js-tooling/comments{/number}","issue_comment_url":"https://api.github.com/repos/udemy/js-tooling/issues/comments{/number}","contents_url":"https://api.github.com/repos/udemy/js-tooling/contents/{+path}","compare_url":"https://api.github.com/repos/udemy/js-tooling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/udemy/js-tooling/merges","archive_url":"https://api.github.com/repos/udemy/js-tooling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/udemy/js-tooling/downloads","issues_url":"https://api.github.com/repos/udemy/js-tooling/issues{/number}","pulls_url":"https://api.github.com/repos/udemy/js-tooling/pulls{/number}","milestones_url":"https://api.github.com/repos/udemy/js-tooling/milestones{/number}","notifications_url":"https://api.github.com/repos/udemy/js-tooling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/udemy/js-tooling/labels{/name}","releases_url":"https://api.github.com/repos/udemy/js-tooling/releases{/id}","deployments_url":"https://api.github.com/repos/udemy/js-tooling/deployments","created_at":"2017-11-10T00:34:14Z","updated_at":"2018-06-30T00:03:37Z","pushed_at":"2018-07-11T20:26:21Z","git_url":"git://github.com/udemy/js-tooling.git","ssh_url":"git@github.com:udemy/js-tooling.git","clone_url":"https://github.com/udemy/js-tooling.git","svn_url":"https://github.com/udemy/js-tooling","homepage":"https://www.npmjs.com/org/udemy","size":352,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"udemy:master","ref":"master","sha":"b1ad9609b48b87519abff89303a967af9b85d5f7","user":{"login":"udemy","id":1714691,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTQ2OTE=","avatar_url":"https://avatars1.githubusercontent.com/u/1714691?v=4","gravatar_id":"","url":"https://api.github.com/users/udemy","html_url":"https://github.com/udemy","followers_url":"https://api.github.com/users/udemy/followers","following_url":"https://api.github.com/users/udemy/following{/other_user}","gists_url":"https://api.github.com/users/udemy/gists{/gist_id}","starred_url":"https://api.github.com/users/udemy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udemy/subscriptions","organizations_url":"https://api.github.com/users/udemy/orgs","repos_url":"https://api.github.com/users/udemy/repos","events_url":"https://api.github.com/users/udemy/events{/privacy}","received_events_url":"https://api.github.com/users/udemy/received_events","type":"Organization","site_admin":false},"repo":{"id":110182316,"node_id":"MDEwOlJlcG9zaXRvcnkxMTAxODIzMTY=","name":"js-tooling","full_name":"udemy/js-tooling","owner":{"login":"udemy","id":1714691,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTQ2OTE=","avatar_url":"https://avatars1.githubusercontent.com/u/1714691?v=4","gravatar_id":"","url":"https://api.github.com/users/udemy","html_url":"https://github.com/udemy","followers_url":"https://api.github.com/users/udemy/followers","following_url":"https://api.github.com/users/udemy/following{/other_user}","gists_url":"https://api.github.com/users/udemy/gists{/gist_id}","starred_url":"https://api.github.com/users/udemy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udemy/subscriptions","organizations_url":"https://api.github.com/users/udemy/orgs","repos_url":"https://api.github.com/users/udemy/repos","events_url":"https://api.github.com/users/udemy/events{/privacy}","received_events_url":"https://api.github.com/users/udemy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/udemy/js-tooling","description":"Udemy's JS tooling related public NPM packages","fork":false,"url":"https://api.github.com/repos/udemy/js-tooling","forks_url":"https://api.github.com/repos/udemy/js-tooling/forks","keys_url":"https://api.github.com/repos/udemy/js-tooling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/udemy/js-tooling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/udemy/js-tooling/teams","hooks_url":"https://api.github.com/repos/udemy/js-tooling/hooks","issue_events_url":"https://api.github.com/repos/udemy/js-tooling/issues/events{/number}","events_url":"https://api.github.com/repos/udemy/js-tooling/events","assignees_url":"https://api.github.com/repos/udemy/js-tooling/assignees{/user}","branches_url":"https://api.github.com/repos/udemy/js-tooling/branches{/branch}","tags_url":"https://api.github.com/repos/udemy/js-tooling/tags","blobs_url":"https://api.github.com/repos/udemy/js-tooling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/udemy/js-tooling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/udemy/js-tooling/git/refs{/sha}","trees_url":"https://api.github.com/repos/udemy/js-tooling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/udemy/js-tooling/statuses/{sha}","languages_url":"https://api.github.com/repos/udemy/js-tooling/languages","stargazers_url":"https://api.github.com/repos/udemy/js-tooling/stargazers","contributors_url":"https://api.github.com/repos/udemy/js-tooling/contributors","subscribers_url":"https://api.github.com/repos/udemy/js-tooling/subscribers","subscription_url":"https://api.github.com/repos/udemy/js-tooling/subscription","commits_url":"https://api.github.com/repos/udemy/js-tooling/commits{/sha}","git_commits_url":"https://api.github.com/repos/udemy/js-tooling/git/commits{/sha}","comments_url":"https://api.github.com/repos/udemy/js-tooling/comments{/number}","issue_comment_url":"https://api.github.com/repos/udemy/js-tooling/issues/comments{/number}","contents_url":"https://api.github.com/repos/udemy/js-tooling/contents/{+path}","compare_url":"https://api.github.com/repos/udemy/js-tooling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/udemy/js-tooling/merges","archive_url":"https://api.github.com/repos/udemy/js-tooling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/udemy/js-tooling/downloads","issues_url":"https://api.github.com/repos/udemy/js-tooling/issues{/number}","pulls_url":"https://api.github.com/repos/udemy/js-tooling/pulls{/number}","milestones_url":"https://api.github.com/repos/udemy/js-tooling/milestones{/number}","notifications_url":"https://api.github.com/repos/udemy/js-tooling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/udemy/js-tooling/labels{/name}","releases_url":"https://api.github.com/repos/udemy/js-tooling/releases{/id}","deployments_url":"https://api.github.com/repos/udemy/js-tooling/deployments","created_at":"2017-11-10T00:34:14Z","updated_at":"2018-06-30T00:03:37Z","pushed_at":"2018-07-11T20:26:21Z","git_url":"git://github.com/udemy/js-tooling.git","ssh_url":"git@github.com:udemy/js-tooling.git","clone_url":"https://github.com/udemy/js-tooling.git","svn_url":"https://github.com/udemy/js-tooling","homepage":"https://www.npmjs.com/org/udemy","size":352,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/35"},"html":{"href":"https://github.com/udemy/js-tooling/pull/35"},"issue":{"href":"https://api.github.com/repos/udemy/js-tooling/issues/35"},"comments":{"href":"https://api.github.com/repos/udemy/js-tooling/issues/35/comments"},"review_comments":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/35/comments"},"review_comment":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/udemy/js-tooling/pulls/35/commits"},"statuses":{"href":"https://api.github.com/repos/udemy/js-tooling/statuses/f4224bd1a05c4489ec2f02ca6f5ce6c677358433"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"inancsevinc"}}