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

SDK: Define Public API in client SDK #31076

Open
5 tasks
Tracked by #30943
rjvelazco opened this issue Jan 7, 2025 · 2 comments
Open
5 tasks
Tracked by #30943

SDK: Define Public API in client SDK #31076

rjvelazco opened this issue Jan 7, 2025 · 2 comments

Comments

@rjvelazco
Copy link
Contributor

rjvelazco commented Jan 7, 2025

Parent Issue

#30943

Overview

Currently, our NPM package lacks clear organization regarding which utility functions, constants, and helpers are meant for public use versus internal use. This lack of structure can lead to confusion and misuse of internal functions. To address this, we need to revisit our exports, create a public_api file, and ensure only necessary functions and utilities are exposed to the end users.

Task

Tasks

Preview Give feedback

Proposed Objective

Core Features

Proposed Priority

Priority 3 - Average

Acceptance Criteria

  1. Identify which methods will remain in the @dotcms/client SDK and which will move to @dotcms/uve.
  2. Create a uve-api.ts and add there all the content that will be moved in the new @dotcms/uve.
  3. Add internal aliases to facilitate easier development.
  4. Make sure to not break current implementations
  5. Keep exporting clients' actions to not break customers' implementation

Assumptions & Initiation Needs

  • A clear understanding of which functions and utilities are intended for public use versus internal use.
  • Collaboration with the development team to ensure accurate classification and refactoring.

Quality Assurance Notes & Workarounds

  • Verify that the package's public API is accessible and functions correctly in various environments (e.g., Node.js, browser).
  • Ensure internal utilities are not exposed or accessible through the package's public API.
  • Test the package with existing projects to check for any unexpected regressions or issues.
  • Ensure that all public API changes are backward compatible or properly documented if breaking changes are unavoidable.
@fmontes
Copy link
Member

fmontes commented Jan 17, 2025

Here is where the split client/editor might happen... what do you think in turning this into an spike and based on the results create the tickets for the split/organization. This will be a big API decision that can't be taken by one person.

@rjvelazco
Copy link
Contributor Author

Absolutely, @fmontes. We can turning this into a Spike. A significant part of the task in this ticket is to identify, document, and discuss the results with the team.

I already have the ticket for the Split here: #31158. I will update that and leave this one solely for Spike/Research.

@rjvelazco rjvelazco changed the title SDK: Define Public API in client SDK [Spike] SDK: Define Public API in client SDK Jan 17, 2025
@rjvelazco rjvelazco changed the title [Spike] SDK: Define Public API in client SDK [SPIKE] SDK: Define Public API in client SDK Jan 21, 2025
@rjvelazco rjvelazco changed the title [SPIKE] SDK: Define Public API in client SDK SDK: Define Public API in client SDK Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Next 1-3 Sprints
Development

No branches or pull requests

2 participants