Skip to content

feat: Add publish package #682

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

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open

feat: Add publish package #682

wants to merge 36 commits into from

Conversation

rpechuk
Copy link
Collaborator

@rpechuk rpechuk commented Feb 9, 2025

This PR contains and MVP for the new Publish CLI tool that will be used to transform YAML/JSON specs into shippable visualizations.

Current Changes:

  • Added mosaic-publish CLI tool for compiling and optimizing specs, handling data export, interactivity, and optimizations.

TODOs:

  • Add more user control over optimization params/streamline current user control (selective dataset inclusion, DuckDB export settings, granular optimization flags, etc.).
  • Refactor duplicated logic between MosaicClient and new base classes. Namely combine both base classes into one base class that discribes any activatable client. (See feat: consolidated activatable logic to core #683)
    • Open Question: Where should this be created since these span multiple packages
  • Expand README and add tests for CLI and utilities
  • Add further optimization and improve upon current optimizations:
    • Namely work on better pre-rendering + hydration
    • Automatic Tiling implementation
    • Cache hydration
    • Smart spec re-writing
    • etc.

Open Questions:

  • How should we handle interactive pre-rendered visualizations before data is loaded?
  • Are there any better/other output formats we should support?
  • Is the current way of handling dependencies correct (w/o relative reference to package and instead using npm version)?

@rpechuk rpechuk requested a review from jheer February 9, 2025 21:07
@rpechuk rpechuk changed the base branch from main to ron/activatable-interface February 9, 2025 21:24
Base automatically changed from ron/activatable-interface to main February 13, 2025 18:33
@rpechuk rpechuk marked this pull request as ready for review February 17, 2025 00:43
@rpechuk rpechuk changed the base branch from main to ron/ast-to-dom-typing February 21, 2025 03:37
Base automatically changed from ron/ast-to-dom-typing to v0.13.0 February 28, 2025 23:48
Base automatically changed from v0.13.0 to main March 1, 2025 00:22
@rpechuk
Copy link
Collaborator Author

rpechuk commented Mar 3, 2025

Following up on #705 does it make sense to move away from CDN imports in published visualization code to avoid having to cut a release of other packages for a publish package release?

IMO, this has both benifts and downsides so maybe it makes sense to allow end user to choose and parametrize available optimizations based on user choice and available functionality.

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.

1 participant