-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: change to lodash wrapper #24610
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a cypress test where a field is currency field in JSONForm and a value can be entered into field?
@ashit-rath I have added the cypress test |
/ok-to-test |
/build-deploy-preview env=release |
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/5311164175. |
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/5311164867. |
Deploy-Preview-URL: https://appsmith-ctofb5wsy-get-appsmith.vercel.app |
Tested this PR and LGTM
|
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/5311164175. |
1 similar comment
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/5311164175. |
Tested & Verified on Release environment and LGTM |
## Description This issue is happening because we are getting lodash library as `undefined` when we pass it to` derived.value` function here. This is happening because of the following reason: * [Bundle optimisation PR](#21667) introduces a new plugin called: `babel-plugin-lodash`. It helps in transforming the imports. * But this plugin doesn't work on the following pattern: `import _ from "lodash"`. Here it replaces `_` with `undefined` [ This file](https://github.com/appsmithorg/appsmith/blob/3bc50d9632cf269935aed6657092ddb8b7e8c92f/app/client/src/workers/common/JSLibrary/lodash-wrapper.js#L1) explains the exact scenario that we are facing. There is also [an open bug](lodash/babel-plugin-lodash#235) for this issue on the `babel-plugin-lodash` repository. This PR imports lodash from the lodash-wrapper instead of directly importing as follows: `import _ from "lodash"` > #### PR fixes following issue(s) Fixes #23671 #### Type of change - Bug fix (non-breaking change which fixes an issue) ## Testing > #### How Has This Been Tested? - [x] Manual - [ ] Jest - [x] Cypress - should check that value entered in currency field appears in the actual field > > #### Test Plan > Add Testsmith test cases links that relate to this PR > > #### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) > > > ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed (cherry picked from commit f47b1c8)
Description
This issue is happening because we are getting lodash library as
undefined
when we pass it toderived.value
function here. This is happening because of the following reason:babel-plugin-lodash
. It helps in transforming the imports.import _ from "lodash"
. Here it replaces_
withundefined
This file explains the exact scenario that we are facing.
There is also an open bug for this issue on the
babel-plugin-lodash
repository.This PR imports lodash from the lodash-wrapper instead of directly importing as follows:
import _ from "lodash"
PR fixes following issue(s)
Fixes #23671
Type of change
Testing
How Has This Been Tested?
Test Plan
Issues raised during DP testing
Checklist:
Dev activity
QA activity:
Test Plan Approved
label after Cypress tests were reviewedTest Plan Approved
label after JUnit tests were reviewed