-
Notifications
You must be signed in to change notification settings - Fork 840
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
[Meta] Environments/Projects we want to intentionally support #2760
Comments
If you're accepting unsolicited feedback, I'm fond of the codesandbox target. I find this especially useful when submitting small reproductions for EUI issues, or when trying to isolate behaviors between Kibana and EUI. Codesandbox allows me to get an environment quickly spun up without having to manage another project or toolkit on my own machine. |
@chandlerprall could you elaborate a little more on the create react app point. |
@jshreyans you're correct; the create react app target would be more of a smoke test that EUI compiled correctly and is usable. As an example, I've used it to verify TypeScript changes don't introduce any breaking changes, or that we've added a dependency correctly. It wouldn't necessarily need to be create react app, but that was a quick way to describe exactly what you said: just a simple React app - and one that wouldn't need extra configuration to get setup. |
Great thanks a lot! |
From what I see, this test is essentially a sanity test to verify if the external and internal packages can install EUI(npm link) package, and then run build, lint successfully. I am thinking about if we can use scripts to add some code to actually use the EUI and then run build etc for better testing. |
@elastic/eui-design How would ya'll feel about closing this Meta Issues and capturing the current state in our README? What is the current state? We can be explicit about what is supported and unsupported: Supported Unsupported Edit: |
Honestly, the major issues with SSR and Vite are all around either our icons (which use dynamic imports - #5463), or Emotion's cache/flash of unstyled content, so if we fix that, we're like 90% of the way there. |
I agree with @cee-chen about SSR && Vite. |
Just to add a +1 to this and to mention that a few of us designers are currently using the Next.js starter to do code prototypes. |
Good to know! Glad folks are getting use out of it. |
I was cleaning up our docs and also wanted to mention this as "environments we support":
At some point, do we want to move away from commonjs support and consider moving only to ESM? This is something, e.g. unified and refractor has done: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c It would likely simplify as well as lower our release/build times/sizes, given that Kibana can support ESM. |
Vite supportAdding a comment dedicated to tracking reported Vite issues. It looks like ESM only produces problems with our common-js dependencies, so support may be more of a dev lift than originally thought:
SSR support |
As this issue is just about 4 years old and the thinking on this issue has shifted over time, I thought I'd try to roll up all of the comments into an updated issue that reflects our current thinking in 2024. To that end, this conversation can now be followed in #7630. |
We've talked a lot about which projects & environments we want to support. I'm rolling those up into this ticket as a place to track discussions & decisions.
External (non-Elastic) targets mean we intend to support EUI running in those environments, Internal (Elastic managed) targets likely means we directly maintain & update as EUI releases.
Current targets
Possibilities
Acceptance criteria
Automated testing for projects and deployments that we expect EUI to support. Currently, we rely on manual build steps or testing suites (functional and/or unit tests) provided by consuming applications to check environment compatibility and catch instances of breaking API changes. Conversion to and adoption of TypeScript has helped at a low level, but we need broader, less manual means of understanding support coverage.
Outcome
A script or pattern of scripts that EUI engineers can run to:
The text was updated successfully, but these errors were encountered: