Skip to content
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

Merged
merged 2 commits into from
Jun 19, 2023
Merged

fix: change to lodash wrapper #24610

merged 2 commits into from
Jun 19, 2023

Conversation

keyurparalkar
Copy link
Contributor

@keyurparalkar keyurparalkar commented Jun 19, 2023

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 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 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

  • Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

  • Manual
  • Jest
  • 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

  • My code follows the style guidelines of this project
  • 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 have been covered
  • Test plan covers all impacted features and 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

@github-actions github-actions bot added App Viewers Pod This label assigns issues to the app viewers pod Bug Something isn't working Community Reported issues reported by community members Currency Input Widget Issues related to currency input widget High This issue blocks a user from building or impacts a lot of users Needs Triaging Needs attention from maintainers to triage Sentry Issues reported from Sentry errors labels Jun 19, 2023
Copy link
Contributor

@ashit-rath ashit-rath left a 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?

@keyurparalkar
Copy link
Contributor Author

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

@keyurparalkar
Copy link
Contributor Author

/ok-to-test

@keyurparalkar
Copy link
Contributor Author

/build-deploy-preview env=release

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/5311164175.
Workflow: Appsmith External Integration Test Workflow.
Commit: ``.
PR: 24610.
Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=24610&runId=5311164175_1

@github-actions
Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/5311164867.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 24610.
recreate: .

@github-actions
Copy link

Deploy-Preview-URL: https://appsmith-ctofb5wsy-get-appsmith.vercel.app

@chandannkumar
Copy link

Tested this PR and LGTM

  • Tested currency widget on JSON Form
  • Tested currency widget on Form and container type widgets

@chandannkumar chandannkumar added the Test Plan Approved Manual/Cypress tests covers changes made on the PR. Else, add skip-testPlan label if not applicable label Jun 19, 2023
@github-actions github-actions bot added the Critical This issue needs immediate attention. Drop everything else label Jun 19, 2023
@github-actions
Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/5311164175.
Commit: ``.
All cypress tests have passed 🎉

1 similar comment
@github-actions
Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/5311164175.
Commit: ``.
All cypress tests have passed 🎉

@keyurparalkar keyurparalkar merged commit f47b1c8 into release Jun 19, 2023
22 of 23 checks passed
@keyurparalkar keyurparalkar deleted the fix/fix-undefined-lodash branch June 19, 2023 17:05
@chandannkumar
Copy link

Tested & Verified on Release environment and LGTM

keyurparalkar added a commit that referenced this pull request Jun 20, 2023
## 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Viewers Pod This label assigns issues to the app viewers pod Bug Something isn't working Community Reported issues reported by community members Critical This issue needs immediate attention. Drop everything else Currency Input Widget Issues related to currency input widget High This issue blocks a user from building or impacts a lot of users Needs Triaging Needs attention from maintainers to triage Sentry Issues reported from Sentry errors Test Plan Approved Manual/Cypress tests covers changes made on the PR. Else, add skip-testPlan label if not applicable
Projects
None yet
3 participants