Skip to content

Rewrite flutter_quill_extensions, separate version of each package #2276

Open
@EchoEllet

Description

This change will not be done anytime soon but will be submitted to keep track of our plans and have related discussions in one place.

I propose that we stop supporting flutter_quill_extensions at some point (currently it's not a priority) to separate it into different packages instead of having one package that's full of dependencies:

  • quill_image_embed: Provide support for displaying images
  • quill_video_embed: Provide support for displaying videos
  • More embeds

Each one will be separated and more extensible, tested, and documented since we're getting many questions about how to save images, also fix most of the common bugs.

Each embed package has editor.dart and toolbar.dart files and users can import what they need, support for YouTube will be discounted, instead provide a way to handle all kind of services and provide a solution that requires users to have dependencies on their own project to implement for more flexibility.

When we want to introduce a feature that's full of bugs and is not ready, we can have a separate package with its own pre-release, when a breaking change will be made, it will be made some of them instead of all affecting more users, having fewer dependencies mean fewer issues when new features come out and old packages don't support them yet and causing complication issue, such as support for Flutter/WASM, smaller bundle size, fitting more requirements of users

Our current project structure can't handle many packages:

  • quill_native_bridge and related packages will be moved into a separate repo
  • The version of the new embed packages will be separated from flutter_quill.
  • flutter_quill_test and dart_quill_delta (Separate dart_quill_delta version from flutter_quill #2259) will be also separated, dart_quill_delta is being adopted by more projects even editors that is not related to flutter_quill so breaking changes should be separated for better backward compatibility, as for flutter_quill_test we haven't made a single change since first release, releasing changes will be confusing and unorganized. I suggest having delta_quill (new published version of dart_quill_delta) and quill_test. See Separate dart_quill_delta version from flutter_quill #2259 for more details about delta_quill, as for quill_test, it provides limited functionality for now, it depends on flutter_test and we wanted to not introduce non-dev dependencies for tests similarly to most popular packages.

I suggest that we use melos to manage all packages instead of our manual solution (#2262) and current workflow.

We still need to improve the quality of CHANGELOG.md since it's important for developers. See #2211.

This issue will likely take a long time to fix as we don't have plans to work on it anytime soon.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    deferredThis issue is not a current priority and will not be addressed in the near future.minorMinimal impact or cosmetic issue. Can be resolved at a later time without affecting overall function

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions