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

Improve releasing CI for the output targets repo #6117

Closed
benelan opened this issue Dec 19, 2022 · 5 comments
Closed

Improve releasing CI for the output targets repo #6117

benelan opened this issue Dec 19, 2022 · 5 comments
Assignees
Labels
2 - in development Issues that are actively being worked on. Calcite (dev) Issues logged by Calcite developers. calcite-components-react Issues specific to the @esri/calcite-components-react package. estimate - 13 Requires planning and input from team, consider smaller steps. p - medium Issue is non core or affecting less that 60% of people using the library research Issues that require additional research in order to resolve or make decision. tooling Issues relating to build system fixes or improvements.

Comments

@benelan
Copy link
Member

benelan commented Dec 19, 2022

Summary

We currently have a really rough script to release Calcite Components React (CCR), which I run after releasing Calcite Components (CC). I want to automate it so that CCR automatically releases after CC does. Including next releases, which CCR doesn't have at the moment.

Desired Outcome

A quick brainstorm:

Option A

  • Send a POST request from CC to CCR after releases.
  • Add a GitHub Action in CCR that recieves the request using the dispatch_dispatch trigger.
  • Determine the type of the CC release (major/minor/patch), and use node-semver to increment the CCR version. Or release-please if we want to add a CCR changelog.
  • Add a bunch of sanity checks to the new CCR release script to make sure things don't explode

Option B

  • Monorepo 🚀

Resources

No response

@benelan benelan added research Issues that require additional research in order to resolve or make decision. framework-react Issues with React framework tooling Issues relating to build system fixes or improvements. 1 - assigned Issues that are assigned to a sprint and a team member. labels Dec 19, 2022
@benelan benelan self-assigned this Dec 19, 2022
@benelan benelan added the Calcite (dev) Issues logged by Calcite developers. label Jan 30, 2023
@SergioMartinSanchez
Copy link

Hi @benelan !
I'm recently trying to use my Stenciljs components in remix, but I haven't been able to do it.
But I have checked that due to the processes that you do to export the react wrapper with your components, if they are compatible with serving them in remix.run, following the POC that you did in this branch ,
I would like to know if you plan to make public this configuration to make react wrappers, as clearly the stenciljs documentation is not suitable for this use case.

Best regards and thanks!

@benelan
Copy link
Member Author

benelan commented Feb 27, 2023

Hi @SergioMartinSanchez we are considering transitioning this repo to a monorepo, which would include the react output target. But no promises at this time. We followed stencil's example, so you can use that as a reference for now:
https://github.com/ionic-team/stencil-ds-output-targets/tree/main/packages/react-output-target

The main issue is that the browser's custom element APIs don't exist on the server, so rendering web components there throws errors. The issue isn't specific to Calcite. The workaround is using dynamic imports to force the custom elements to render on the client, but than can be fragile.

Here is a stencil issue with some more info:
ionic-team/stencil-ds-output-targets#226

@SergioMartinSanchez
Copy link

@benelan thanks for the quick response!
Yes I already tested the react target and dynamically load the entry point but it fails when I try to load the stencil core

CleanShot 2023-02-27 at 23 31 56@2x

and when I saw in your repository the patchESMResolution.ts script I thought it was related.

I will keep trying, thanks!

@benelan
Copy link
Member Author

benelan commented Mar 2, 2023

Do you have type=module in your package.json file? If so, then yeah it could be related. We run the ESM patch after builds:

https://github.com/Esri/calcite-components/blob/484c24361a1839e474ffce6272ed6dadf59e09e5/package.json#L20-L21

@benelan benelan added 2 - in development Issues that are actively being worked on. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Mar 29, 2023
@brittneytewks brittneytewks added estimate - 13 Requires planning and input from team, consider smaller steps. p - medium Issue is non core or affecting less that 60% of people using the library labels Mar 30, 2023
@benelan
Copy link
Member Author

benelan commented Apr 20, 2023

Closing as duplicate of #6117

@benelan benelan closed this as completed Apr 20, 2023
@geospatialem geospatialem added calcite-components-react Issues specific to the @esri/calcite-components-react package. and removed framework-react Issues with React framework labels Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 - in development Issues that are actively being worked on. Calcite (dev) Issues logged by Calcite developers. calcite-components-react Issues specific to the @esri/calcite-components-react package. estimate - 13 Requires planning and input from team, consider smaller steps. p - medium Issue is non core or affecting less that 60% of people using the library research Issues that require additional research in order to resolve or make decision. tooling Issues relating to build system fixes or improvements.
Projects
None yet
Development

No branches or pull requests

5 participants