Skip to content

chore: add /next subpath + (beta) release please for next components - #4251

Merged
eddiman merged 16 commits into
mainfrom
216-implement-next-entry-point-for-eds-20-components-beta-release-flow
Dec 9, 2025
Merged

chore: add /next subpath + (beta) release please for next components#4251
eddiman merged 16 commits into
mainfrom
216-implement-next-entry-point-for-eds-20-components-beta-release-flow

Conversation

@pomfrida

Copy link
Copy Markdown
Collaborator

@pomfrida pomfrida self-assigned this Nov 21, 2025
@pomfrida pomfrida changed the title chore: add /next subpath + separate rollup config WIP chore: add /next subpath + release please for beta release WIP Nov 21, 2025
@pomfrida pomfrida changed the title chore: add /next subpath + release please for beta release WIP chore: add /next subpath + release please for beta WIP Nov 21, 2025
@pomfrida pomfrida changed the title chore: add /next subpath + release please for beta WIP chore: add /next subpath + (beta) release please for next components WIP Nov 21, 2025
@pomfrida pomfrida changed the title chore: add /next subpath + (beta) release please for next components WIP chore: add /next subpath + (beta) release please for next components Nov 25, 2025
@pomfrida
pomfrida force-pushed the 216-implement-next-entry-point-for-eds-20-components-beta-release-flow branch from e4e1834 to 84cab00 Compare November 25, 2025 15:48
@pomfrida
pomfrida marked this pull request as ready for review November 26, 2025 08:05
Copilot AI review requested due to automatic review settings November 26, 2025 08:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR establishes the infrastructure for releasing EDS 2.0 components as beta versions through a new /next subpath. The implementation enables a dual release strategy where stable (EDS 1.0) and beta (EDS 2.0) components coexist in the same package but are accessed through different entry points. The PR resolves the need for a controlled beta release process while components are under active development.

Key changes:

  • Added /next subpath export to enable importing beta components separately from stable ones
  • Configured Release Please to handle dual releases with separate changelogs (stable and beta)
  • Updated CI/CD workflows to detect and publish beta releases with the @beta npm dist-tag
  • Created comprehensive documentation for the beta release workflow and component graduation strategy

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/eds-core-react/package.json Adds /next export path for beta components
packages/eds-core-react/rollup.config.js Adds separate build configuration for /next entry point
packages/eds-core-react/src/index.next.ts Creates entry point for beta components with documentation
packages/eds-core-react/src/components/next/index.ts Creates placeholder export file for future beta components
.github/workflows/trigger_publish.yml Adds beta release detection and separate publish triggers for stable/beta
.github/workflows/publish_core_react.yaml Updates deployment logic to handle beta releases and environment selection
.github/release-please-config.json Configures dual release strategy with beta prerelease support
.github/release-please-config.md Documents the dual release configuration approach
.github/release-please-manifest.json Adds initial beta version tracking
documentation/how-to/BETA_RELEASE_GUIDE.md Comprehensive guide for beta release workflow and graduation process
documentation/how-to/AUTOMATED_RELEASE.md Updates release documentation to include beta release instructions
packages/eds-core-react/README.md Adds beta installation and usage instructions
packages/eds-core-react/CHANGELOG.next.md Creates separate changelog for beta releases
packages/eds-core-react/stories/docs/EDS2.mdx Adds Storybook documentation page for EDS 2.0 beta components
packages/eds-core-react/.storybook/preview.mjs Adds EDS 2.0 section to Storybook navigation order
README.md Documents beta components section with installation and usage examples

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread .github/release-please-config.json Outdated
Comment thread .github/release-please-config.md Outdated
Comment thread .github/workflows/publish_core_react.yaml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.


You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread packages/eds-core-react/src/components/next/CHANGELOG.md
Comment thread packages/eds-core-react/README.md Outdated
Comment thread documentation/how-to/BETA_RELEASE_GUIDE.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.


You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread packages/eds-core-react/README.md
Comment thread packages/eds-core-react/README.md Outdated
Comment thread packages/eds-core-react/src/components/next/version.txt
Copilot AI review requested due to automatic review settings November 27, 2025 09:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.


You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread documentation/how-to/BETA_RELEASE_GUIDE.md
@pomfrida
pomfrida requested a review from Copilot November 27, 2025 09:59
@pomfrida
pomfrida force-pushed the 216-implement-next-entry-point-for-eds-20-components-beta-release-flow branch from 070de03 to 943dec9 Compare November 27, 2025 10:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.


You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

The EDS repository uses a **dual release strategy**:

- **Stable releases** (`latest` tag) -- All components EXCEPT those in `/next`
- **Beta releases** (`beta` tag) -- Only components in `src/components/next/`

Copilot AI Nov 27, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] According to the markdown guidelines (CodingGuidelineID: 1000004), use endash (--) instead of double hyphen (--). The markdown already uses -- correctly, but note that in rendered markdown this should display as an em dash. Consider using the proper em dash character (—) or ensure the markdown renderer handles this appropriately.

Suggested change
- **Beta releases** (`beta` tag) -- Only components in `src/components/next/`
- **Beta releases** (`beta` tag) Only components in `src/components/next/`

Copilot uses AI. Check for mistakes.
export const Placeholder = ({
text = 'EDS 2.0 Placeholder',
}: PlaceholderProps) => {
return <div data-testid="eds-placeholder">{text}</div>

Copilot AI Nov 27, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The naming convention for CSS classes in this project uses BEM with lowercase and hyphens (per CodingGuidelineID: 1000006). While this placeholder component doesn't have a CSS class yet, when styling is added, ensure it follows the pattern .placeholder for the class name and placeholder.css for the CSS file.

Copilot uses AI. Check for mistakes.
Comment thread .github/release-please-config.json

Copilot AI commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

@torleifhalseth I've opened a new pull request, #4273, to work on those changes. Once the pull request is ready, I'll request review from you.

"release-type": "simple",
"component": "eds-core-react-next",
"prerelease-type": "beta",
"include-component-in-tag": false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the effect of this configuration @copilot ?

Copilot AI commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

@torleifhalseth I've opened a new pull request, #4274, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks very nice. I just added some questions to better understand the configuration. Also tested to mention copilot to see if it can answer inline, but please answer them if you have the answer @pomfrida :D

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know the effect of using different component value?

@torleifhalseth torleifhalseth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @pomfrida . I added some comments.

Comment thread .github/release-please-config.md
order: [
'Introduction',
'EdsProvider',
'EDS 2.0 (beta)',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be placed furter down? 🤔 I would suggest after everything else so that we don't add beta stuff in between.

@pomfrida pomfrida Nov 27, 2025

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beta stuff will be on top under "EDS 2.0 (beta)" so it won't be in between other components, I thought it would be nice to have it on top to make it clear what we are working on and what's coming? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok! Great. What about the EdsProvider?

@@ -0,0 +1,15 @@
'use client'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hopefully we don't need to limit the new components to client. We want to support SSR out of the box. This is a Next.js spesific directive that I hope we can exclude.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! Removed 'use client' from the index file. For EDS 2.0, we'll add it per component that needs it (hooks/events), this way static components can remain server components

Comment thread packages/eds-core-react/README.md Outdated
Comment on lines +44 to +49
For design tokens (required for CSS variables):

```bash
npm install @equinor/eds-tokens
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should include this part. The tokens are included (dependency) to the eds-core-react package.

Comment on lines +58 to +96
{
input: ['./src/index.next.ts'],
external: [
/@babel\/runtime/,
'react/jsx-runtime',
...Object.keys({
...pkg.peerDependencies,
...pkg.dependencies,
}),
],
watch: {
clearScreen: true,
include: ['./src/**', './../tokens/**'],
},
plugins: [
preserveDirective(),
resolve({ extensions }),
commonjs(),
postcss({
extensions: ['.css'],
extract: false,
}),
babel({
babelHelpers: 'runtime',
extensions,
rootMode: 'upward',
}),
],
output: [
{
dir: 'dist/esm',
preserveModules: true,
preserveModulesRoot: 'src',
format: 'es',
sourcemap: isDevelopment,
},
{ file: './dist/index.next.cjs', format: 'cjs', interop: 'auto' },
],
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we duplicating the default (stable) configuration? Could parts of this be shared? @copilot

Copilot AI commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

@torleifhalseth I've opened a new pull request, #4275, to work on those changes. Once the pull request is ready, I'll request review from you.

@pomfrida

Copy link
Copy Markdown
Collaborator Author

Great work @pomfrida . I added some comments.

Thanks for the thorough review @torleifhalseth 💯
I addressed your comments in my latest commit so should be ready again for a new review.

One thing I did not address was the menu order as I would like to make it clear what's new and what's coming. I think it makes sense to keep it on top

@millus millus left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks awesome! Great work ✨

@eddiman
eddiman merged commit 0184d22 into main Dec 9, 2025
7 checks passed
@eddiman
eddiman deleted the 216-implement-next-entry-point-for-eds-20-components-beta-release-flow branch December 9, 2025 09:09
@github-actions github-actions Bot mentioned this pull request Dec 9, 2025
eddiman pushed a commit that referenced this pull request Jan 12, 2026
…4251)

* WIP add /next subpath + separate rollup config

* WIP release please config for beta release

* Automate beta releases

* Add EDS 2.0 Storybook documentation

* Add valid ES module index

* Add placeholder to stisfy build

* docs: add more documentation

* Update publish workflow to check beta vs stable releases

* Update links to docs

* Add simple release type

* Actually move the next changelog

* fix: consistent cache keys and README clarification

* docs: simplify git push example

* docs: remove duplicate install command in README

* feat: add Placeholder story with beta labeling

* refactor: share rollup config, remove use client from index, cleanup README
@eddiman
eddiman restored the 216-implement-next-entry-point-for-eds-20-components-beta-release-flow branch January 14, 2026 09:30
@eddiman
eddiman deleted the 216-implement-next-entry-point-for-eds-20-components-beta-release-flow branch January 14, 2026 10:21
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.

6 participants