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

CLI: Re-Add Nuxt support #28607

Merged
merged 30 commits into from
Dec 20, 2024
Merged

CLI: Re-Add Nuxt support #28607

merged 30 commits into from
Dec 20, 2024

Conversation

valentinpalkovic
Copy link
Contributor

@valentinpalkovic valentinpalkovic commented Jul 15, 2024

What I did

Reverts #28479

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This pull request has been released as version 0.0.0-pr-28607-sha-54ec63fe. Try it out in a new sandbox by running npx storybook@0.0.0-pr-28607-sha-54ec63fe sandbox or in an existing project with npx storybook@0.0.0-pr-28607-sha-54ec63fe upgrade.

More information
Published version 0.0.0-pr-28607-sha-54ec63fe
Triggered by @shilman
Repository storybookjs/storybook
Branch revert-28479-revert/26884
Commit 54ec63fe
Datetime Sat Dec 14 16:19:12 UTC 2024 (1734193152)
Workflow run 12331349549

To request a new release of this pull request, mention the @storybookjs/core team.

core team members can create a new canary release here or locally with gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=28607

name before after diff z %
createSize 0 B 0 B 0 B - -
generateSize 77.7 MB 77.7 MB 0 B 4.32 0%
initSize 136 MB 136 MB 819 B 4.36 0%
diffSize 58.4 MB 58.4 MB 819 B 4.36 0%
buildSize 7.24 MB 7.24 MB 0 B 2.38 0%
buildSbAddonsSize 1.88 MB 1.88 MB 0 B 2.38 0%
buildSbCommonSize 195 kB 195 kB 0 B - 0%
buildSbManagerSize 1.86 MB 1.86 MB 0 B 2.01 0%
buildSbPreviewSize 0 B 0 B 0 B - -
buildStaticSize 0 B 0 B 0 B - -
buildPrebuildSize 3.93 MB 3.93 MB 0 B 2.38 0%
buildPreviewSize 3.3 MB 3.3 MB 0 B 2.25 0%
testBuildSize 0 B 0 B 0 B - -
testBuildSbAddonsSize 0 B 0 B 0 B - -
testBuildSbCommonSize 0 B 0 B 0 B - -
testBuildSbManagerSize 0 B 0 B 0 B - -
testBuildSbPreviewSize 0 B 0 B 0 B - -
testBuildStaticSize 0 B 0 B 0 B - -
testBuildPrebuildSize 0 B 0 B 0 B - -
testBuildPreviewSize 0 B 0 B 0 B - -
name before after diff z %
createTime 24s 23.8s -209ms 1.43 -0.9%
generateTime 19.7s 18.5s -1s -276ms -1.36 🔰-6.9%
initTime 14.2s 12.5s -1s -719ms -1.23 -13.7%
buildTime 14.2s 8.8s -5s -422ms -0.35 -61.2%
testBuildTime 0ms 0ms 0ms - -
devPreviewResponsive 5s 4.3s -722ms -1.5 🔰-16.7%
devManagerResponsive 3.6s 3.2s -419ms -1.49 🔰-12.9%
devManagerHeaderVisible 596ms 513ms -83ms -0.85 -16.2%
devManagerIndexVisible 627ms 541ms -86ms -1.25 🔰-15.9%
devStoryVisibleUncached 1.4s 1.7s 251ms -0.2 14.4%
devStoryVisible 625ms 583ms -42ms -0.74 -7.2%
devAutodocsVisible 554ms 446ms -108ms -1.04 -24.2%
devMDXVisible 517ms 447ms -70ms -0.9 -15.7%
buildManagerHeaderVisible 689ms 510ms -179ms -0.97 -35.1%
buildManagerIndexVisible 805ms 599ms -206ms -0.99 -34.4%
buildStoryVisible 631ms 474ms -157ms -0.86 -33.1%
buildAutodocsVisible 446ms 400ms -46ms -0.7 -11.5%
buildMDXVisible 479ms 439ms -40ms -0.25 -9.1%

Greptile Summary

This PR reverts the removal of Nuxt support in Storybook, restoring functionality that was previously removed due to QA issues before the 8.2 release.

  • Added Nuxt framework detection and configuration in detect.ts and project_types.ts, using @storybook-vue/nuxt package
  • Added Nuxt generator with specific configuration in generators/NUXT/index.ts, including @nuxtjs/storybook module integration
  • Added Nuxt sandbox template nuxt-vite/default-ts marked as inDevelopment with Vite builder
  • Added special case handling for Nuxt in Yarn configuration to avoid log filtering
  • Added TypeScript detection for Nuxt projects via tsconfig.json even without direct TypeScript dependency

The changes appear comprehensive but lack test coverage and documentation updates that should be addressed before merging.

@valentinpalkovic valentinpalkovic changed the title Revert "Revert: Nuxt support" CLI: Add Nuxt support Jul 15, 2024
@valentinpalkovic valentinpalkovic changed the title CLI: Add Nuxt support CLI: Re-Add Nuxt support Jul 15, 2024
@valentinpalkovic valentinpalkovic self-assigned this Jul 15, 2024
Copy link

nx-cloud bot commented Jul 15, 2024

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 54ec63f. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 1 target

Sent with 💌 from NxCloud.

@valentinpalkovic
Copy link
Contributor Author

@tobiasdiez
I am encountering the following error after init while testing the revert:

  1. npx nuxi@latest init (npm)
  2. cd ./nuxt-app
  3. npx storybook@0.0.0-pr-28607-sha-b9bf7d39 init
Running Storybook

> storybook
> storybook dev -p 6006 --quiet

storybook v0.0.0-pr-28607-sha-b9bf7d39

WARN The following packages are incompatible with Storybook 0.0.0-pr-28607-sha-b9bf7d39 as they depend on different major versions of Storybook packages:
WARN - @nuxtjs/storybook@8.1.5
WARN  Repo: https://storybook.nuxtjs.org
WARN 
WARN 
WARN Please consider updating your packages or contacting the maintainers for compatibility details.
WARN For more on Storybook 8 compatibility, see the linked GitHub issue:
WARN https://github.com/storybookjs/storybook/issues/26031
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
Error: Cannot find module '@storybook/builder-vite'
Require stack:
- ./node_modules/@storybook/core/dist/core-server/index.cjs
- ./node_modules/storybook/dist/generate.cjs
- ./node_modules/storybook/bin/index.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
    at Module._resolveFilename (./node_modules/esbuild-register/dist/node.js:4799:36)
    at Function.resolve (node:internal/modules/helpers:188:19)
    at getPreviewBuilder (./node_modules/@storybook/core/dist/core-server/index.cjs:102320:19)
    at buildDevStandalone (./node_modules/@storybook/core/dist/core-server/index.cjs:104759:5)
    at async withTelemetry (./node_modules/@storybook/core/dist/core-server/index.cjs:103500:12)
    at async dev (./node_modules/storybook/dist/generate.cjs:735:506)
    at async Command.<anonymous> (./node_modules/storybook/dist/generate.cjs:737:245)

WARN Broken build, fix the error above.
WARN You may need to refresh the browser.

@valentinpalkovic
Copy link
Contributor Author

@tobiasdiez
I am encountering the browser following error after init while testing the revert:

npx nuxi@latest init (pnpm)
cd ./nuxt-app
npx storybook@0.0.0-pr-28607-sha-b9bf7d39 init
Running Storybook

SyntaxError: The requested module '/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/kebabCase.js?v=726791be' does not provide an export named 'default'

@ndelangen This might be CPC related, though.

ndelangen added a commit that referenced this pull request Jul 15, 2024
@ndelangen ndelangen mentioned this pull request Jul 15, 2024
8 tasks
@tobiasdiez
Copy link
Contributor

Thanks for this PR and your tests!

Error: Cannot find module '@storybook/builder-vite'
Require stack:

  • ./node_modules/@storybook/core/dist/core-server/index.cjs
  • ./node_modules/storybook/dist/generate.cjs
  • ./node_modules/storybook/bin/index.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
    at Module._resolveFilename (./node_modules/esbuild-register/dist/node.js:4799:36)
    at Function.resolve (node:internal/modules/helpers:188:19)
    at getPreviewBuilder (./node_modules/@storybook/core/dist/core-server/index.cjs:102320:19)
    at buildDevStandalone (./node_modules/@storybook/core/dist/core-server/index.cjs:104759:5)
    at async withTelemetry (./node_modules/@storybook/core/dist/core-server/index.cjs:103500:12)
    at async dev (./node_modules/storybook/dist/generate.cjs:735:506)
    at async Command. (./node_modules/storybook/dist/generate.cjs:737:245)

I can reproduce it as well. The problem is that in our setup @storybook/builder-vite is only a dependency of the nuxt module, but require is called from the main storybook (or core), and thus only looks for it in the main node_modules folder.

Simplest solution: just add @storybook/builder-vite as a main dependency. But then the user has to sync the builder-vite version with what the nuxt module is using (or we declare it as peer-dep). Would work but maybe not ideal

More involved solution: make it possible that presets return a javascript object as builder, instead of only a module name. (Similar to how eslint v9 is handling plugins now).

Do you have any preference, or another idea?

@tobiasdiez
Copy link
Contributor

@tobiasdiez I am encountering the browser following error after init while testing the revert:

npx nuxi@latest init (pnpm) cd ./nuxt-app npx storybook@0.0.0-pr-28607-sha-b9bf7d39 init Running Storybook

SyntaxError: The requested module '/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/kebabCase.js?v=726791be' does not provide an export named 'default'

@ndelangen This might be CPC related, though.

I've fixed this already in the main branch by adding lodash to optimizeDeps:
https://github.com/nuxt-modules/storybook/blob/64e80dec7c15d9e03fa22f806ac269fbe8146d1f/packages/storybook-addon/src/preset.ts#L171-L175

@valentinpalkovic
Copy link
Contributor Author

Thanks for this PR and your tests!

Error: Cannot find module '@storybook/builder-vite'
Require stack:

  • ./node_modules/@storybook/core/dist/core-server/index.cjs
  • ./node_modules/storybook/dist/generate.cjs
  • ./node_modules/storybook/bin/index.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
    at Module._resolveFilename (./node_modules/esbuild-register/dist/node.js:4799:36)
    at Function.resolve (node:internal/modules/helpers:188:19)
    at getPreviewBuilder (./node_modules/@storybook/core/dist/core-server/index.cjs:102320:19)
    at buildDevStandalone (./node_modules/@storybook/core/dist/core-server/index.cjs:104759:5)
    at async withTelemetry (./node_modules/@storybook/core/dist/core-server/index.cjs:103500:12)
    at async dev (./node_modules/storybook/dist/generate.cjs:735:506)
    at async Command. (./node_modules/storybook/dist/generate.cjs:737:245)

I can reproduce it as well. The problem is that in our setup @storybook/builder-vite is only a dependency of the nuxt module, but require is called from the main storybook (or core), and thus only looks for it in the main node_modules folder.

Simplest solution: just add @storybook/builder-vite as a main dependency. But then the user has to sync the builder-vite version with what the nuxt module is using (or we declare it as peer-dep). Would work but maybe not ideal

More involved solution: make it possible that presets return a javascript object as builder, instead of only a module name. (Similar to how eslint v9 is handling plugins now).

Do you have any preference, or another idea?

@tobiasdiez Take a look at https://github.com/storybookjs/storybook/blob/next/code/frameworks/angular/src/preset.ts#L31. You can see that you can also just pass an absolute path as a value. With this approach, you make sure that @storybook/builder-vite or any other package which you have installed as a dependency will be resolved from node_modules/@storybook-vue/nuxt instead of node_modules/@storybook/core-preset

@tobiasdiez
Copy link
Contributor

Many thanks. This worked like a charm! 🚀

In nuxt-modules/storybook#729, I've now also added e2e tests (using this PR here to add storybook to a nuxt starter). Running build-storybook now works (and is tested), but I still get some errors when actually running the storybook. Is there a reusable test suite or something like this that I can point to a storybook-static folder and that verifies that the stories are okay. In a similar vain, it would be handy to have the storybook templates used for the tests here somehow published so that they can be reused to test downstream packages (I noticed this need not only for the nuxt integration but also while developing the vue addon https://github.com/tobiasdiez/storybook-vue-addon).

@kasperpeulen
Copy link
Contributor

@valentinpalkovic @tobiasdiez Maybe it is best if we have Nuxt sandbox over here:

@valentinpalkovic
Copy link
Contributor Author

@tobiasdiez As Kasper mentioned, we could add Nuxt to our sandboxes, and you could test the sandbox on this PR and rerun it every time you release a new Canary version. Otherwise, I don't see an easy way to copy over our test suite setup to your repository.

@KeremTurkyilmaz
Copy link

Hello @tobiasdiez do you have any news when this draft will be merged ?

@tobiasdiez
Copy link
Contributor

@kasperpeulen @valentinpalkovic Thanks for the suggestion. Adding a sandbox would indeed give some confidence that things are working, but I was hoping for a solution that we can apply in downstream projects (e.g. that PRs to the nuxt storybook addon are not breaking things). Similar to https://www.npmjs.com/package/@apollo/server-integration-testsuite.

@KeremTurkyilmaz We first need to fix the major bugs in the nuxt module. Help moving this forward is of course very welcome!

@valentinpalkovic
Copy link
Contributor Author

@tobiasdiez Unfortunately, we don't have a dedicated testsuite solution like Apollo does. :/

@ndelangen ndelangen self-assigned this Aug 14, 2024
@kasperpeulen
Copy link
Contributor

@hacknug I think we should go for something like that. Making sure both CI in storybook works, and the nuxt framework is not forced to use it for sb init

Another way might be to just somehow hardcode in the CLI that the nuxt generator always get the cli templates from the vue3 package when sandboxes are generated.

@hacknug
Copy link

hacknug commented Nov 26, 2024

It would only require making changes to @nuxtjs/storybook and adding another item to the options passed to packageManager.runPackageCommand in code/lib/create-storybook/src/generators/NUXT/index.ts.

This assumption was not correct as those are the arguments passed to nuxi (aka nuxt's cli).

From what I can see, the change should be made to storybook-nuxt since that is what the module docs' recommend for initializing a project. Not sure if this step was part of the CI implementation though.

I'd say adding -f, --full-init or -f, --full might be a good way to ensure the cli alone can generate the files required for CI to pass.

Only issue I see is that the repo description for storybook-nuxt states the project was deprecated in favor of nuxt-modules/storybook so perhaps it should be migrated to the module repo 😄

Comment on lines +173 to +182
const hasFrameworkTemplates = (framework?: SupportedFrameworks) => {
if (!framework) {
return false;
}
// Nuxt has framework templates, but for sandboxes we create them from the Vue3 renderer
// As the Nuxt framework templates are not compatible with the stories we need for CI.
// See: https://github.com/storybookjs/storybook/pull/28607#issuecomment-2467903327
if (framework === 'nuxt') {
return process.env.IN_STORYBOOK_SANDBOX !== 'true';
}
Copy link
Contributor

Choose a reason for hiding this comment

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

@tobiasdiez @hacknug I now only create the default stories (using those from the vue3 renderer) in the sandboxes.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sounds good to me!

Ideally, you would test against https://github.com/nuxt-modules/storybook/tree/main/examples/showcase, which has the highest coverage of features.

@kasperpeulen
Copy link
Contributor

@tobiasdiez
I can only get the Button, Header, Page stories to work if I add this rule:

  viteFinal: (config) => mergeConfig(config,{
    resolve: {
      alias: {
        "vue": "vue/dist/vue.esm-bundler.js",
      }
    },

to main.ts

Otherwise I get this warning:

Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".

I saw that other people got the same warning:
nuxt-modules/storybook#808
nuxt-modules/storybook#805 (comment)

We do add this automatically in the vue3-vite framework:

export async function templateCompilation() {
return {
name: 'storybook:vue-template-compilation',
config: () => ({
resolve: {
alias: {
vue: 'vue/dist/vue.esm-bundler.js',
},
},
}),
} satisfies Plugin;
}

Maybe this PR would solve this?
nuxt-modules/storybook#740

@chakAs3
Copy link
Contributor

chakAs3 commented Dec 3, 2024

I can only get the Button, Header, Page stories to work if I add this rule:

  viteFinal: (config) => mergeConfig(config,{
    resolve: {
      alias: {
        "vue": "vue/dist/vue.esm-bundler.js",
      }
    },

These stories use render functions with string templates, which means they need to be compiled at runtime.
if you don't add this alias. Storybook won't be able to render these stories, they will be empty

@tobiasdiez
Copy link
Contributor

tobiasdiez commented Dec 4, 2024

Maybe this PR would solve this? nuxt-modules/storybook#740

Yes, this is the proper way to fix it. But for this to work, we first need #29795.

How should we coordinate the new releases? Can you temporarily add the special vite config for nuxt in the e2e tests? Then once #29795 is released, we merge nuxt-modules/storybook#740 and cut a new release? Afterwards the workaround can be removed again here in the main repo.

@yannbf
Copy link
Member

yannbf commented Dec 5, 2024

Maybe this PR would solve this? nuxt-modules/storybook#740

Yes, this is the proper way to fix it. But for this to work, we first need #29795.

How should we coordinate the new releases? Can you temporarily add the special vite config for nuxt in the e2e tests? Then once #29795 is released, we merge nuxt-modules/storybook#740 and cut a new release? Afterwards the workaround can be removed again here in the main repo.

Awesome! I merged #29795 and will be making a release soon. Also added the e2e workaround for now! 🤞

@storybook-pr-benchmarking
Copy link

Package Benchmarks

Commit: e7f32c8, ran on 5 December 2024 at 14:48:35 UTC

The following packages have significant changes to their size or dependencies:

@storybook/experimental-addon-test

Before After Difference
Dependency count 61 61 0
Self size 799 KB 695 KB 🎉 -104 KB 🎉
Dependency size 13.86 MB 13.86 MB 0 B
Bundle Size Analyzer Link Link

@yannbf
Copy link
Member

yannbf commented Dec 5, 2024

@tobiasdiez the fix you wanted is now part of v8.4.7 (as well as 8.5.0-alpha.18)! I merged the latest next into this branch, hopefully CI is all good now 🤞

@kasperpeulen
Copy link
Contributor

CI is allmost green, one failing E2E test, trying to get this merged this week.

@storybook-pr-benchmarking
Copy link

Package Benchmarks

Commit: f3b3e56, ran on 13 December 2024 at 16:14:55 UTC

The following packages have significant changes to their size or dependencies:

@storybook/builder-webpack5

Before After Difference
Dependency count 230 234 🚨 +4 🚨
Self size 79 KB 79 KB 0 B
Dependency size 29.77 MB 31.03 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/angular

Before After Difference
Dependency count 265 261 🎉 -4 🎉
Self size 363 KB 363 KB 0 B
Dependency size 34.67 MB 33.56 MB 🎉 -1.11 MB 🎉
Bundle Size Analyzer Link Link

@storybook/ember

Before After Difference
Dependency count 257 253 🎉 -4 🎉
Self size 22 KB 22 KB 0 B
Dependency size 32.17 MB 31.06 MB 🎉 -1.11 MB 🎉
Bundle Size Analyzer Link Link

@storybook/html-webpack5

Before After Difference
Dependency count 240 244 🚨 +4 🚨
Self size 6 KB 6 KB 0 B
Dependency size 30.32 MB 31.58 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/nextjs

Before After Difference
Dependency count 593 589 🎉 -4 🎉
Self size 471 KB 471 KB 0 B
Dependency size 84.29 MB 83.19 MB 🎉 -1.11 MB 🎉
Bundle Size Analyzer Link Link

@storybook/preact-webpack5

Before After Difference
Dependency count 238 242 🚨 +4 🚨
Self size 6 KB 6 KB 0 B
Dependency size 29.89 MB 31.16 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/react-webpack5

Before After Difference
Dependency count 316 320 🚨 +4 🚨
Self size 6 KB 6 KB 0 B
Dependency size 41.06 MB 42.32 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/server-webpack5

Before After Difference
Dependency count 248 252 🚨 +4 🚨
Self size 14 KB 14 KB 0 B
Dependency size 31.30 MB 32.56 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/svelte-webpack5

Before After Difference
Dependency count 303 307 🚨 +4 🚨
Self size 6 KB 6 KB 0 B
Dependency size 37.89 MB 39.15 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/vue3-webpack5

Before After Difference
Dependency count 489 493 🚨 +4 🚨
Self size 6 KB 6 KB 0 B
Dependency size 54.29 MB 55.55 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/web-components-webpack5

Before After Difference
Dependency count 238 242 🚨 +4 🚨
Self size 5 KB 5 KB 0 B
Dependency size 29.94 MB 31.20 MB 🚨 +1.26 MB 🚨
Bundle Size Analyzer Link Link

@storybook/preset-html-webpack

Before After Difference
Dependency count 93 102 🚨 +9 🚨
Self size 4 KB 4 KB 0 B
Dependency size 20.23 MB 22.71 MB 🚨 +2.48 MB 🚨
Bundle Size Analyzer Link Link

@storybook/preset-react-webpack

Before After Difference
Dependency count 182 191 🚨 +9 🚨
Self size 24 KB 24 KB 0 B
Dependency size 30.99 MB 33.47 MB 🚨 +2.48 MB 🚨
Bundle Size Analyzer Link Link

@storybook/preset-vue3-webpack

Before After Difference
Dependency count 369 378 🚨 +9 🚨
Self size 9 KB 9 KB 0 B
Dependency size 45.16 MB 47.64 MB 🚨 +2.48 MB 🚨
Bundle Size Analyzer Link Link

@kasperpeulen kasperpeulen merged commit eeb7001 into next Dec 20, 2024
61 checks passed
@kasperpeulen kasperpeulen deleted the revert-28479-revert/26884 branch December 20, 2024 10:27
@github-actions github-actions bot mentioned this pull request Dec 20, 2024
6 tasks
@tobiasdiez
Copy link
Contributor

Thanks so much, @kasperpeulen and @yannbf, for shepherding this in!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

9 participants