Skip to content

Conversation

divyanshub024
Copy link
Member

@divyanshub024 divyanshub024 commented Sep 22, 2025

Description

This PR introduces Dart-to-JSON export functionality for Stac, along with multiple bug fixes. This PR represents a comprehensive refactoring of the Stac framework, introducing significant architectural improvements and a new DSL-based approach for widget and action definitions.

�� Key Features & Changes

New Architecture

  • Introduce stac_core package: Centralized core models, widgets, and actions with proper separation of concerns
  • DSL Support: Complete DSL implementation for all STAC widgets and actions with JSON serialization
  • Enhanced Framework: New StacService for improved asset handling and network requests
  • Action System: Unified StacAction base class with centralized action types

Major Refactoring

  • Widget Migration: Moved all widget models from stac to stac_core package
  • Parser Architecture: Refactored type parsers with centralized foundation classes
  • Theme System: Enhanced theme handling with improved serialization
  • Code Generation: Streamlined freezed/json_annotation code generation

Platform Improvements

  • iOS Compatibility: Updated deployment target to iOS 13.0 across all projects
  • Dependency Management: Improved melos managed dependency overrides
  • Build System: Enhanced build configurations and LLDB debugging support

Widget & Action Enhancements

  • New Widgets: Added new widgets including StacTab, StacTable, StacCarouselView, StacGridView, etc.
  • Action Improvements: Enhanced StacSnackBarAction with routing capabilities
  • Form Support: Complete form validation and input handling system
  • Navigation: Improved navigation actions and routing

Breaking Changes

  • StacTextSpan: The data property has been renamed to text for better clarity and consistency
  • StacShapeBorder: Updated shape border implementation with improved type safety and serialization
  • StacGradient: Now requires explicit gradient type specification in JSON for better type safety and performance

Related Issues

Closes #130

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Code refactor
  • Build configuration change
  • Documentation
  • Chore

divyanshub024 and others added 30 commits July 15, 2025 12:27
- Added StacRow model for Stac DSL
- Added foll. enums
  - StacMainAxisAlignment
  - StacMainAxisSize
  - StacCrossAxisAlignment
  - StacVerticalDirection
- made type field static in StacElement
 Added StacRow, StacColumn, StacPadding, StacSizedBox to DSL
refactor: Streamline toJson & remove StacDouble Type
- added StacStackFit enum
- added parse ext fn for StacStacFit
Added StacStack, StacPositioned, StacExpanded, StacSpacer
added StacFlexFit enum and parsing extension for it
divyanshub024 and others added 18 commits September 12, 2025 16:13
Updated StacTextStyle and StacGradient
…ase instead of null; simplify onRefresh parsing in StacRefreshIndicator
…ust Podfile configurations for compatibility. Also, add custom LLDB initialization for debugging in Runner scheme.
Copy link

coderabbitai bot commented Sep 22, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

111 files out of 294 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dv/stac-export

Comment @coderabbitai help to get the list of available commands and usage tips.

@divyanshub024 divyanshub024 marked this pull request as ready for review September 22, 2025 14:38
@divyanshub024
Copy link
Member Author

@coderabbitai help

Copy link

coderabbitai bot commented Sep 22, 2025

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>, please review it.
    • 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.
  • 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

CodeRabbit commands

These commands are invoked using PR/Issue 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 evaluate custom pre-merge check --instructions <custom-checks-instructions> --name <custom-checks-title> [--mode <error|warning>] to validate the custom pre-merge checks instructions. Defaults to error when --mode is omitted.
    • @coderabbitai ignore pre-merge checks to override pre-merge checks and get an approval on PR.
    • @coderabbitai run pre-merge checks to run pre-merge checks on the pull request.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve to resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

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

Status, support, documentation and community

  • Visit our status page to check the current availability of CodeRabbit.
  • Create a ticket on our support page for assistance with any issues or questions.
  • Visit our documentation site for detailed information on how to use CodeRabbit.
  • Join our Discord community to connect with other users and get help from the community.
  • Follow us on X/Twitter for updates and announcements.

@divyanshub024
Copy link
Member Author

@coderabbitai review

Copy link

coderabbitai bot commented Sep 22, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@divyanshub024 divyanshub024 changed the title [breaking-changes] Stac Dart-To-Json export and bug fixes [breaking-changes] Add Dart-to-JSON export for Stac and fix related bugs Sep 22, 2025
@divyanshub024 divyanshub024 changed the title [breaking-changes] Add Dart-to-JSON export for Stac and fix related bugs feat: Major STAC framework refactoring - Introduce stac_core package and Dart-to-JSON conversion Sep 22, 2025
@divyanshub024 divyanshub024 merged commit ab84efb into dev Sep 22, 2025
5 checks passed
@divyanshub024 divyanshub024 deleted the dv/stac-export branch September 22, 2025 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: need tool covert flutter widget to json

2 participants