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

feat: Extraction of AST Logic #15892

Merged
merged 16 commits into from
Aug 23, 2022
Merged

feat: Extraction of AST Logic #15892

merged 16 commits into from
Aug 23, 2022

Conversation

Irongade
Copy link
Contributor

@Irongade Irongade commented Aug 10, 2022

This PR:

  1. Extracts AST Logic into Shared/ast folder and
  2. Replaces the hardcoded AST logic with the Yarn symlinked AST shared module.

Fixes #15642
Fixes #14139
Fixes #15643

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Jest

Checklist:

  • 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

@vercel
Copy link

vercel bot commented Aug 10, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
appsmith ✅ Ready (Inspect) Visit Preview Aug 22, 2022 at 8:21AM (UTC)

@github-actions github-actions bot added AST-frontend Issues related to maintaining AST logic Query & JS Pod Issues related to the query & JS Pod Datasources Issues related to configuring datasource on appsmith Epic A zenhub epic that describes a project Frontend This label marks the issue or pull request to reference client code Task A simple Todo labels Aug 10, 2022
@Irongade Irongade marked this pull request as draft August 10, 2022 10:21
@github-actions github-actions bot added the Enhancement New feature or request label Aug 10, 2022
@github-actions
Copy link

Unable to find test scripts. Please add necessary tests to the PR.

@Irongade
Copy link
Contributor Author

/ok-to-test sha=5425ef7

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/2841492951.
Workflow: Appsmith External Integration Test Workflow.
Commit: 5425ef7.
PR: 15892.

@Irongade
Copy link
Contributor Author

/ok-to-test sha=a837095

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/2841629218.
Workflow: Appsmith External Integration Test Workflow.
Commit: a837095.
PR: 15892.

AmanAgarwal041
AmanAgarwal041 previously approved these changes Aug 16, 2022
app/shared/ast/src/jsObject/index.ts Outdated Show resolved Hide resolved
app/shared/ast/src/jsObject/index.ts Show resolved Hide resolved
Copy link
Contributor Author

@Irongade Irongade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kindly review.

app/shared/ast/src/jsObject/index.ts Show resolved Hide resolved
app/shared/ast/src/jsObject/index.ts Outdated Show resolved Hide resolved
@Irongade
Copy link
Contributor Author

/ok-to-test sha=e16a731

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/2890649983.
Workflow: Appsmith External Integration Test Workflow.
Commit: e16a731.
PR: 15892.

@github-actions
Copy link

UI Performance test run logs and artifacts: https://github.com/appsmithorg/appsmith/actions/runs/2890649983.
Commit: e16a731.
Results:

Click to view performance test results

Run 1 (ms) Run 2 (ms) Run 3 (ms) Run 4 (ms) Run 5 (ms) Median (ms) Mean (ms) Range (%) SD.Sample (%) SD.Population (%)
SELECT_CATEGORY
scripting 401.28 295.82 301.36 360.1 338.15 338.15 339.34 31.08 12.85 11.49
painting 4.86 6.36 3.37 5.07 3.46 4.86 4.62 64.72 26.84 24.03
rendering 116.01 106.12 104.52 113.75 109.68 109.68 110.02 10.44 4.44 3.97
BIND_TABLE_DATA
scripting 1343.56 1205.12 1329.03 1172.1 1213.36 1213.36 1252.63 13.69 6.23 5.58
painting 22.05 10.53 12.12 13 16.68 13 14.88 77.42 30.91 27.69
rendering 874.86 781.83 778.49 809.64 815.64 809.64 812.09 11.87 4.77 4.27
CLICK_ON_TABLE_ROW
scripting 839.77 1211.67 906.04 945.59 865.49 906.04 953.71 39.00 15.70 14.04
painting 11.77 10.12 9.62 9.56 16.22 10.12 11.46 58.12 24.52 21.90
rendering 303.77 299.85 310.06 317.4 309.33 309.33 308.08 5.70 2.17 1.94
UPDATE_POST_TITLE
scripting 1612.59 1394.57 1332.68 1599.02 1477.73 1477.73 1483.32 18.87 8.30 7.43
painting 19.85 16.03 14.27 24.92 18.69 18.69 18.75 56.80 21.81 19.47
rendering 479.87 473.15 449.51 499.65 477.48 477.48 475.93 10.54 3.77 3.37
OPEN_MODAL
scripting 1066.74 532.65 615.32 511.47 576.13 576.13 660.46 84.07 34.92 31.23
painting 14.39 16 16.04 9.41 19.15 16 15 64.93 23.80 21.27
rendering 380.2 381.2 386.15 377.35 405.9 381.2 386.16 7.39 2.97 2.66
CLOSE_MODAL
scripting 370.04 309.41 364.65 337.35 327.2 337.35 341.73 17.74 7.46 6.67
painting 6.95 11.45 4.93 7.64 16.17 7.64 9.43 119.19 47.19 42.21
rendering 624.9 602.21 646.49 621.65 623.48 623.48 623.75 7.10 2.52 2.25
SELECT_WIDGET_MENU_OPEN
scripting 1094.62 1124.3 1086.19 1219.2 1221.61 1124.3 1149.18 11.78 5.79 5.18
painting 14.6 10.73 16.09 11.04 13.47 13.47 13.19 40.64 17.44 15.62
rendering 551.64 562.59 568.85 619.23 607.93 568.85 582.05 11.61 5.10 4.56
SELECT_WIDGET_SELECT_OPTION
scripting 130.68 141.05 156.56 165.23 156.11 156.11 149.93 23.04 9.23 8.25
painting 13 8.25 3.22 10.23 3.75 8.25 7.69 127.18 54.62 48.76
rendering 304.39 297.98 322.51 317.84 316.44 316.44 311.83 7.87 3.28 2.93

@Irongade
Copy link
Contributor Author

/ok-to-test sha=c45327d

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/2901997703.
Workflow: Appsmith External Integration Test Workflow.
Commit: c45327d.
PR: 15892.

@Irongade
Copy link
Contributor Author

/ok-to-test sha=b420d8e

@github-actions
Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/2902503381.
Workflow: Appsmith External Integration Test Workflow.
Commit: b420d8e.
PR: 15892.

@github-actions
Copy link

UI Performance test run logs and artifacts: https://github.com/appsmithorg/appsmith/actions/runs/2902503381.
Commit: b420d8e.
Results:

Click to view performance test results

Run 1 (ms) Run 2 (ms) Run 3 (ms) Run 4 (ms) Run 5 (ms) Median (ms) Mean (ms) Range (%) SD.Sample (%) SD.Population (%)
SELECT_CATEGORY
scripting 317.2 318.43 296.66 307.87 291.29 307.87 306.29 8.86 3.95 3.54
painting 3.43 12.24 7.28 6.94 3.76 6.94 6.73 130.91 52.75 47.25
rendering 106.09 104.41 103.87 108.49 106 106 105.77 4.37 1.70 1.52
BIND_TABLE_DATA
scripting 1316.33 1204.93 1283.3 1180.8 1219.49 1219.49 1240.97 10.92 4.57 4.09
painting 13.73 16.19 14.4 18.01 14.58 14.58 15.38 27.83 11.18 10.01
rendering 788.59 781.14 755.25 777.88 796.01 781.14 779.77 5.23 1.97 1.77
CLICK_ON_TABLE_ROW
scripting 1070.57 840.17 836.52 828.44 864.51 840.17 888.04 27.27 11.59 10.37
painting 9.3 10.61 9.02 13.79 8.79 9.3 10.3 48.54 20.10 17.96
rendering 307.71 295.81 306.71 298.07 300.85 300.85 301.83 3.94 1.74 1.55
UPDATE_POST_TITLE
scripting 1394.79 1317.05 1264.76 1310.3 1231.41 1310.3 1303.66 12.53 4.74 4.24
painting 15.27 18.94 13.1 19.41 13.63 15.27 16.07 39.27 18.36 16.43
rendering 447.76 439.32 436.18 432.16 441.03 439.32 439.29 3.55 1.32 1.18
OPEN_MODAL
scripting 497.1 548.32 492.53 490.48 500.73 497.1 505.83 11.43 4.76 4.26
painting 9.45 9.53 12.3 13.16 12.5 12.3 11.39 32.57 15.45 13.87
rendering 377.17 372.57 376.23 369.54 382.38 376.23 375.58 3.42 1.30 1.16
CLOSE_MODAL
scripting 289.29 322.04 316.01 310.88 297.58 310.88 307.16 10.66 4.38 3.92
painting 4.81 5.28 5.21 7.11 4.08 5.21 5.3 57.17 21.13 18.87
rendering 600.04 600.2 633.54 611.03 613.38 611.03 611.64 5.48 2.24 2.00
SELECT_WIDGET_MENU_OPEN
scripting 1074.42 1092.28 1069.9 1055.5 1042.99 1069.9 1067.02 4.62 1.76 1.57
painting 12.96 6.41 8.27 7.51 5.67 7.51 8.16 89.34 35.05 31.37
rendering 608.01 601.09 598 609.22 604.08 604.08 604.08 1.86 0.77 0.69
SELECT_WIDGET_SELECT_OPTION
scripting 145.66 146.58 145.33 137.82 138.15 145.33 142.71 6.14 3.04 2.72
painting 2.21 3.59 6.42 3.51 2.54 3.51 3.65 115.34 45.48 40.55
rendering 310.87 313.19 309.78 308.77 329.5 310.87 314.42 6.59 2.73 2.44

@ramsaptami
Copy link
Contributor

QA on AST DP has been completed

@ramsaptami ramsaptami added Test Plan Approved Manual/Cypress tests covers changes made on the PR. Else, add skip-testPlan label if not applicable and removed Task A simple Todo labels Aug 23, 2022
@github-actions github-actions bot added the Task A simple Todo label Aug 23, 2022
@nidhi-nair nidhi-nair merged commit 3de00c6 into release Aug 23, 2022
@nidhi-nair nidhi-nair deleted the feat/ast-extraction branch August 23, 2022 11:09
@Nikhil-Nandagopal Nikhil-Nandagopal added the Javascript Product Issues related to users writing javascript in appsmith label Aug 5, 2024
Copy link
Contributor

coderabbitai bot commented Aug 5, 2024

Warning

Rate limit exceeded

@Nikhil-Nandagopal has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 20 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Commits

Files that changed from the base of the PR and between b7de2c0 and b420d8e.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AST-frontend Issues related to maintaining AST logic Core Query Execution Issues related to the execution of all queries Datasources Issues related to configuring datasource on appsmith Enhancement New feature or request Epic A zenhub epic that describes a project Frontend This label marks the issue or pull request to reference client code Javascript Product Issues related to users writing javascript in appsmith Query & JS Pod Issues related to the query & JS Pod Task A simple Todo Test Plan Approved Manual/Cypress tests covers changes made on the PR. Else, add skip-testPlan label if not applicable
Projects
None yet
6 participants