AstroEco is Contributing…
Display your GitHub pull requests using astro-loader-github-prs
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Minor Changes
- #2261
778b743
Thanks @shubham-padia! - Adds support for theicon
attribute in theaside
tag, allowing the use of any of Starlight’s built-in icons.
@astrojs/[email protected]
Minor Changes
-
#2261
778b743
Thanks @shubham-padia! - Adds support for using any of Starlight’s built-in icons in asides. -
#3276
3917b20
Thanks @delucis! - Excludes banner content from search resultsPreviously, content set in
banner
in page frontmatter was indexed by Starlight’s default search provider Pagefind. This could cause unexpected search results, especially for sites setting a common banner content on multiple pages. Starlight’s defaultBanner
component is now excluded from search indexing.This change does not impact
Banner
overrides using custom components. -
#3274
80ccff7
Thanks @HiDeoo! - Fixes an issue where some Starlight remark and rehype plugins were transforming Markdown and MDX content in non-Starlight pages.⚠️ BREAKING CHANGE:Previously, some of Starlight’s remark and rehype plugins, most notably the plugin transforming Starlight's custom Markdown syntax for rendering asides, were applied to all Markdown and MDX content. This included content from individual Markdown pages and content from content collections other than the
docs
collection used by Starlight.This change restricts the application of Starlight’s remark and rehype plugins to only Markdown and MDX content loaded using Starlight's
docsLoader()
. If you were relying on this behavior, please let us know about your use case in the dedicated#starlight
channel in the Astro Discord or by opening an issue.
Patch Changes
- #3274
80ccff7
Thanks @HiDeoo! - Prevents Starlight remark and rehype plugins from transforming Markdown and MDX content when using the AstrorenderMarkdown()
content loader API.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Patch Changes

Changes
- Moves user routes to always be preferred over internal routes (the default 404 page and server islands)
- Fixes #14016
Testing
- New tests were added to check for this behavior. (I was unable to get the tests running locally, will check the CI output)
Docs
N/A
Description
This PR updates the Starlight Tailwind template to address several issues:
-
updates
README.md
-
revises the
Project Structure
- removestailwind.config.mjs
and addsstyles/global.css
-
adds a note about customizing included Tailwind CSS styles:
The project includes Tailwind CSS for styling. Customize your design by modifying
src/styles/global.css
.
-
-
fixes a typo in
Example Reference
:what your documenting
-->what you're documenting
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Patch Changes
- #3298
7bd02e3
Thanks @HiDeoo! - Fixes a potential issue withabsolutePathToLang()
plugin API not handling paths with spaces correctly.

Changes
This PR tackles a couple of issues that came up with the Netlify adapter's Vite plugin dev mode features.
First, the Vite plugin was injecting env vars from linked Netlify sites. This is nice DX, but is a change that could surprise peopel - suddenly their dev environment had variables they weren't expecting, which could mess with their local setup.
Second, remote images were broken in the image CDN. The local image server didn't take account of the permitted remote image domains injected by Astro during the build, meaning all remote images were shown as forbidden.
The fixes:
- Added a new
devFeatures
option to the adapter config to allow enabling or disabling features - Environment variables now default to disabled - You need to explicitly opt in with
devFeatures: { environmentVariables: true }
ordevFeatures: true
. We can change the default in a major in future - Netlify is releasing an update to their Vite plugin that allows us to inject the allowed domains for remote images, which this now implements
Testing
Adds new tests (and runs the dev tests in CI, which they weren't before)
Docs

Changes
- Removes the web vitals integration, since it relied on Astro Studio
- Adds a README pointing to the StudioCMS integration, as a migration path
Testing
N/A
Docs
I couldn't find any docs anywhere. NPM deprecation suggestion message:
This integration is no longer maintained by Astro. Please see https://github.com/withstudiocms/web-vitals which is now maintained by the StudioCMS organization.
npm deprecate @astrojs/[email protected] "..."
Plan
- Run the deprecation command (and confirm it worked by checking https://www.npmjs.com/package/@astrojs/web-vitals)
- Merge this PR

Changes
- Fixes a build failure that occurs when an integration enables the
imageService
option. - Prevents the core assets Vite plugin from resolving server-only image service entrypoints during the client build.
- The plugin now checks for
options.ssr
and resolves to anoop
service for client builds, stopping Node.js built-ins from leaking into the client pipeline.
Testing
This change was tested locally using the reproduction repository provided in issue #14056.
- Linked the local, patched
astro
package to the reproduction project. - Enabled
imageService: true
in theastro.config.mjs
via the@astrojs/vercel
adapter. - Ran
pnpm build
. - The build completed successfully, whereas it previously failed. All warnings related to Node.js modules being externalized for the browser were also eliminated.
No new automated tests were added as this fix corrects existing plugin behavior at the configuration level, and the impact is validated by the successful build of a previously failing project structure.
Docs
This change does not affect user-facing behavior or public APIs; it corrects a bug in the internal build process. Therefore, no documentation updates are required.
Description
- Closes #3297
This PR fixes an issue with the absolutePathToLang()
helper function not handling absolute paths with spaces correctly.
absolutePathToLang()
is meant to be called with thepath
property of a virtual file (altho not mandatory), which is always a POSIX-style path (using/
as a separator) no matter the operating system.- It calls
getCollectionPath()
that relies on an URLpathname
which will also be POSIX-style but also encoded, e.g. spaces are replaced with%20
. - A virtual file's
path
property does not encodes special characters like spaces.
This can lead to issues when the path contains spaces which can be solved in different approaches:
- Using
fileURLToPath()
ingetCollectionPath()
to convert the URL to a file path, altho depending on the OS, different separators will be used and would require an additional step to convert it again to a POSIX-style path. - Relying on
pathToFileURL()
on the input path ofabsolutePathToLang()
to convert it to a URL-encoded path also using POSIX-style separators and using itspathname
.
I went with the second approach which replaces an existing step instead of adding a new one.
On top of the added test, I also manually tested on Windows using a path with spaces:
Before | After |
---|---|

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
[email protected]
Patch Changes
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Patch Changes
- #3293
88f0d34
Thanks @HiDeoo! - Fixes an issue preventing to override the slug of a page with theslug
frontmatter property using the/
value.

Changes
- Exported BundledLanguage, SpecialLanguage, and LanguageRegistration types from Astro's public API.
- Enables users to type-check the lang prop in custom components without workarounds.
- Fixes #14009.
Testing
- Manually verified that the types can be imported from astro in a test project.
- Confirmed that valid values (e.g., 'ts') pass type checking and invalid values fail.
Docs
No user-facing docs changes required, but this improves DX for custom code block components.
Consider adding a note in the component API docs about the new type exports.
/cc @withastro/maintainers-docs for feedback!
- No user-facing documentation changes are needed because this PR only exports internal types for advanced TypeScript usage. The public API and user experience remain unchanged for most users.
Description
- Closes #3277
This PR fixes an issue preventing to override the slug of a page with the slug
frontmatter property using the /
value.
Huge thanks to @ArmandPhilippot for all the help in debugging this issue and setting up many reproductions pinpointing the problem.
As visible in this StackBlitz example, a dynamic route parameter set to the /
value ends being undefined
in Astro.params
. In Starlight, we have a slugToParam
function which does not handle this case.
With Starlight 0.32
and the introduction of route data, we are now always calling getRoute()
(which uses getRouteBySlugParam
) with the context.params.slug
value (whereas before this was only used in SSR). When explicitly setting the slug
frontmatter property to /
, this results in the getRouteBySlugParam()
being called with an undefined
parameter but as the slugToParam()
function does not handle this case, it's failing to find the route (which instead of having a key of undefined
has a key of /
).
Another local test to verify the fix:
-
Run
pnpm dev
in thedocs/
directory. -
Delete the
docs/src/content/docs/index.mdx
file. -
Add the following frontmatter field to
docs/src/content/docs/reference/configuration.mdx
:slug: /
Before the fix, opening http://localhost:4321/
would result in a 404
error. After the fix, it correctly displays the configuration reference page.

Changes
Fixes the incorrect CSS import path shown in the terminal message during Tailwind integration setup.
Testing
should pass
Docs
N/A
Description
-
This PR reverts the changes made in #3281
-
In #3281 we initially agreed to add a class name to every link in the sidebar. After approving and merging, I realised I hadn’t considered all the implications.
-
Sidebars are one of the heftier parts of Starlight’s HTML output. Especially for larger sites. For example, Astro’s docs currently include 215 links in its sidebar. This means any changes to sidebar entry markup can quickly accumulate given they can be reproduced 100s of time on every page (in the uncached HTML). Using the Astro docs example, this adds up to multiple kilobytes per page.
-
Given this, we discussed it a bit with the team and decided adding a class name like this is not justified. It is already feasible to target these links with CSS:
.sidebar-content a { /* styles */ }
Adding a dedicated class name doesn’t provide any new functionality that is not currently available, and adds bloat to the HTML output, which may prove significant for content-heavy sites.

Changes
- replaces fallback to
fs-lite
with Cloudflare platformProxy - uses KV binding ProxyStub by default
- adds the option for the user to connect to production KV namespace with
remoteBindings
https://developers.cloudflare.com/workers/development-testing/#remote-bindings
Testing
- tests should still pass
- now new test is needed
Docs
- not needed bugfix

Related PR : #12731
Related Discussion: channels
Motivation
TypeScript ≥ 4.1 no longer needs compilerOptions.baseUrl when using paths; the compiler implicitly anchors look-ups at the folder that contains the tsconfig.json. The TypeScript handbook now discourages setting baseUrl outside AMD-loader scenarios. Astro still throws an error when paths is present but baseUrl is absent, forcing every new TS project to add boilerplate that is neither required nor recommended.
Changes
- If compilerOptions.baseUrl is undefined, we now default to "." (project root) before resolving aliases.
Testing
New fixture alias-tsconfig-no-baseurl (identical to existing alias fixture but without baseUrl).
- Added Vitest covering dev/build alias resolution without baseUrl.
Docs
No external dependencies and no public API changes.

Changes
The allows domains
in imagesConfig
to be undefined
. Previously, if it was not defined, you would get an error that it is not iterable. Leaving it undefined allows for using remotePatterns
to create patterns to essentially optimize any image from any website.
Testing
Docs
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Patch Changes

Changes
Added a simple declare module
definition to get rid of TypeScript errors for Vite's '...?no-inline'
import feature.
The typing is currently only defined for '...?url&no-inline'
imports, but not for '...?no-inline'
imports, for some reason.
Before
After
Note: The two errors reported on
client.d.ts
are from lines 182 and 189 - pretty unrelated to my change.
Testing
Manually modified the minimal example from /examples/minimal
to import the SVG favicon with '...?no-inline'
. Then checked the output of astro check
before and after my change.
No unit tests or other forms of scripted tests were added, since I didn't find any for the already existing module declarations. Let me know in case I should add tests and how.
Docs
Since the current module declarations don't have specific docs either, except for maybe references to Vite's docs, I don't think we need to add any.
Added the --sl-main-pad
custom prop so I could get rid of the pesky bottom padding on StarlightPage
I would rather get rid of it altogether, but this works for now
Description
- Closes #3264
- Added a new
'sl-sidebar-link'
class to sidebar links. - Exported the
SidebarEntry
type

This PR contains the following updates:
Package | Change | Age | Confidence |
---|---|---|---|
pretty-bytes | ^6.1.1 -> ^7.0.0 |
Release Notes
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Description
This PR contains an addition of a link to a new community plugin.

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/[email protected]
Minor Changes
-
#13768
faa0eff
Thanks @eduardoboucas! - Updates the adapter to use Netlify's Vite plugin in development.This is an implementation update that does not require any change to your project code, but means that
astro dev
will run with an environment closer to a production deploy on Netlify. This brings several benefits you'll now notice working in dev mode!For example, your project running in development mode will now use local versions of the Netlify Image CDN for images, and a local Blobs server for sessions. It will also will populate your environment with the variables from your linked Netlify site.
While not required for fully static, prerendered web sites, you may still wish to add this for the additional benefits of now working in a dev environment closer to your Netlify production deploy, as well as to take advantage of Netlify-exclusive features such as the Netlify Image CDN.
Patch Changes
- Updated dependencies []:
- @astrojs/[email protected]
[email protected]
Patch Changes
-
#14045
3276b79
Thanks @ghubo! - Fixes a problem where importing animated.avif
files returns aNoImageMetadata
error. -
#14041
0c4d5f8
Thanks @dixslyf! - Fixes a<ClientRouter />
bug where the fallback view transition animations when exiting a page
ran too early for browsers that do not support the View Transition API.
This bug preventedevent.viewTransition?.skipTransition()
from skipping the page exit animation
when used in anastro:before-swap
event hook.
@astrojs/[email protected]
Patch Changes
- #14063
de5a253
Thanks @RobbieTheWagner! - Allow settingdomains
toundefined
inimagesConfig
so thatremotePatterns
can be better utilized for images from a variety of domains.

Changes
- add
avis
brand for animated avif file
Testing
Manually tested using animated avif file
Docs
/cc @withastro/maintainers-docs for feedback!

Changes
- Add support for async customPages function in sitemap integration
- customPages option now accepts either an array of URLs or an async function that returns URLs
- Updated schema validation to support both array and function types
- Function receives the site URL as parameter for dynamic URL generation
Testing
- Added test case to verify async customPages function works in SSR mode
- Created new test fixture page /solutions/[...solution].astro for catch-all route
- Updated SSR test config to use async function that generates solution URLs
- Verified generated sitemap includes custom pages from async function
Docs
/cc @withastro/maintainers-docs for feedback!
Description
- Closes #3267
- Partially addresses the issue raised in #3267 where a banner’s content would end up indexed by Pagefind and displayed in search results by excluding the default
Banner.astro
component from indexing. - #3271 will address the styling issues more fully for cases where this still occurs, but I think it makes sense for us to exclude banner content nonetheless as it’s often unexpected for this content to show up in search results, especially for sites where people set banners to show up on all pages for example.

Changes
Fallback view transition animations for browsers that do not support the View Transition API were running too early when using ClientRouter
. Specifically, the exit animation for the current page during navigation would run before the astro:before-swap
event, even though it should run after it (but before the actual swap).
This bug only affects browsers that do not support the View Transition API and was first discovered in #14034 (the original issue was about navigating to self, but discussion led to finding this bug). The consequence of the bug is that calling .skipTransition()
in the astro:before-swap
event would only skip the enter animation of the new page, but not the exit animation of the current page — this is inconsistent with browsers that do support native view transitions, where both animations would be skipped. E.g.:
document.addEventListener("astro:before-swap", (e) => {
e.viewTransition?.skipTransition();
});
The fix is quite simple: we just need to move the code for the fallback exit animation so that it's after dispatch of the astro:before-swap
event (so that hooks can run), but before the actual swap occurs.
Closes #14034.
Testing
2 E2E tests added by @martrapp (thanks!):
skipTransition()
should skip transition animations when called inastro:before-swap
event hook (Firefox only)- Transition animations should run when not skipped (Firefox only)
Docs
I don't think this requires changes to the documentation since it's just a bug fix.

Changes
Closes #13996
The information regarding the headers were saved in the wrong place. This PR fixes that by putting the information in the routes
field: https://github.com/vercel/examples/blob/main/build-output-api/routes/.vercel/output/config.json
Testing
Updated the tests
Docs
N/A
Description
- Closes #3239
This PR builds on top of #3241 where I cherry-picked and co-auhored the initial fix preventing errors when using the Astro renderMarkdown()
content loader API.
This PR also:
- Refactor such fix to make it easier to check if we should transform a file or not using remark and rehype plugins.
- Apply such check to other Starlight remark and rehype plugins like #3181 initially did for heading anchor links, e.g. at the moment, Starlight asides are rendered in non-Starlight pages.
Closes #3227
This PR makes it possible to pass generateId
to Starlight’s docsLoader()
.
Currently, using generateId
to customize content slugs is only possible by ejecting back up to Astro’s generic glob()
loader, but this requires figuring out the pattern
and base
Starlight uses if you want to mirror the docsLoader()
behaviour, e.g.:
- loader: docsLoader(),
+ loader: glob({
+ pattern: "**/[^_]*.{md,mdx}",
+ base: "./src/content/docs",
+ generateId: customMethod
+ }),
After this PR you can keep using docsLoader()
, and just add your ID method:
- loader: docsLoader(),
+ loader: docsLoader({ generateId: customMethod }),
I did not also add an equivalent method to the i18nLoader
as customizing slugs for languages seems much less common, and it would be more liable to break given how we load translation files in non-content collection contexts.
A big part of this PR was also figuring out how best to document this, as we currently only document our loaders in passing. This PR adds a “Configuring content collections” section to the config reference which documents all our loaders and schemas. I kept this minimal for now and linked out to existing relevant docs rather than duplicating or moving things around, but I’d welcome feedback on this new section.
It’s perhaps worth noting that there is some risk in supporting custom generateId
methods. Especially for multilingual sites.
There are a few code paths running outside of the Astro/Vite context where Starlight uses raw file paths directly rather than the content collection ID. This is notably the case for remark/rehype plugins. For example, we use the file path to work out the current language for remark plugins. This means it won’t be possible to use generateId
for entirely novel structures like storing localized content in sub-directories or something.
For example, moving the locale from a file name to the front of the ID like this wouldn’t work for our remark plugins:
// Example input: { entry: 'tutorials/intro/en.md' }
generateId: ({ entry }) => {
const extensionlessPath = entry.split('.').slice(0, -1).join('.'); // "tutorials/intro/en"
const segments = extensionlessPath.split('/'); // ["tutorials", "intro", "en"]
return [segments.at(-1), ...segments.slice(0, -1)].join('/'); // "en/tutorials/intro"
},
But for common scenarios like preserving uppercase characters or special characters like .
inside IDs, it should work pretty OK although it is likely to break compatibility with plugins like https://github.com/HiDeoo/starlight-links-validator that rely on being able to predict the ID format based on the filepath.

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
[email protected]
Minor Changes
-
#13972
db8f8be
Thanks @ematipico! - Updates theNodeApp.match()
function in the Adapter API to accept a second, optional parameter to allow adapter authors to add headers to static, prerendered pages.NodeApp.match(request)
currently checks whether there is a route that matches the givenRequest
. If there is a prerendered route, the function returnsundefined
, because static routes are already rendered and their headers cannot be updated.When the new, optional boolean parameter is passed (e.g.
NodeApp.match(request, true)
), Astro will return the first matched route, even when it's a prerendered route. This allows your adapter to now access static routes and provides the opportunity to set headers for these pages, for example, to implement a Content Security Policy (CSP).
Patch Changes
-
#14029
42562f9
Thanks @ematipico! - Fixes a bug where server islands wouldn't be correctly rendered when they are rendered inside fragments.Now the following examples work as expected:
--- import { Cart } from '../components/Cart.astro'; --- <> <Cart server:defer /> </> <Fragment slot="rest"> <Cart server:defer> <div slot="fallback">Not working</div> </Cart> </Fragment>
-
#14017
8d238bc
Thanks @dmgawel! - Fixes a bug where i18n fallback rewrites didn't work in dynamic pages.
@astrojs/[email protected]
Minor Changes
-
#14012
a125a14
Thanks @florian-lefebvre! - Adds a new experimental configuration optionexperimentalDisableStreaming
to allow you to opt out of Astro's default HTML streaming for pages rendered on demand.HTML streaming helps with performance and generally provides a better visitor experience. In most cases, disabling streaming is not recommended.
However, when you need to disable HTML streaming (e.g. your host only supports non-streamed HTML caching at the CDN level), you can now opt out of the default behavior:
import { defineConfig } from 'astro/config'; import node from '@astrojs/node'; export default defineConfig({ adapter: node({ mode: 'standalone', + experimentalDisableStreaming: true, }), });
-
#13972
db8f8be
Thanks @ematipico! - Adds support for the experimental static headers Astro feature.When the feature is enabled via the option
experimentalStaticHeaders
, and experimental Content Security Policy is enabled, the adapter will generateResponse
headers for static pages, which allows support for CSP directives that are not supported inside a<meta>
tag (e.g.frame-ancestors
).import { defineConfig } from 'astro/config'; import node from '@astrojs/node'; export default defineConfig({ adapter: node({ mode: 'standalone', experimentalStaticHeaders: true, }), experimental: { cps: true, }, });
@astrojs/[email protected]
Patch Changes
- #13972
db8f8be
Thanks @ematipico! - Fixes the internal implementation of the new featureexperimentalStaticHeaders
, where dynamic routes
were mapped to use always the same header. - Updated dependencies []:
- @astrojs/[email protected]
@astrojs/[email protected]
Patch Changes
- #13972
db8f8be
Thanks @ematipico! - Fixes the internal implementation of the new featureexperimentalStaticHeaders
, where dynamic routes
were mapped to use always the same header.
Description
- Closes #3268
- What does this PR change? Give us a brief description.
This PR fixes a typo in the Chinese authoring guide: the<TabItem>
label was incorrectly written as"Markdown/MDX"
and is corrected to"Markdoc"
. - Did you change something visual? A before/after screenshot can be helpful.
Description
- Closes #3264
This PR adds support for custom HTML attributes on autogenerated sidebar links using the autogenerate.attrs
option.
- The
autogenerate.attrs
is used rather than justattrs
asattrs
is only supported for links and not groups at the moment. This could be confusing to supportattrs
on autogenerated groups but not on manually defined groups, soautogenerate.attrs
is used to clarify that this is only for links in an autogenerated groups. - Using
attrs
on sidebar groups now results in a type error on top of the existing runtime error. I added some type tests to ensure this is the case. - Individual pages can override custom attributes using the
sidebar.attrs
frontmatter field.

Closes #13910
This PR implements content-based deduplication for SVG assets during the build process, addressing deployment compatibility issues with platforms like GitHub Pages that reject hard links in uploaded artifacts.
Changes
- re-use the first emitFile() handle when the content hash matches.
- works in both emitESMImage() and emitImageMetadata().
- removes the hard/symlink workaround
Testing
- asset-hash-deduplication.test.js ensures
emitFile()
is called once per unique hash. - verifies that only two SVGs are written to
dist/_astro/
when three source files contain two unique byte sequences.
Docs
No documentation changes required
this optimization is automatically applied during builds and is transparent to users.
Related PR: #13968

Changes
Closes #13969
This is a "weird" fix. When rendering the server island inside a fragment, the init
function (where we calculate content and hostId, the undefined info of the issue) is called after the render
function. So put the generation of hostId
and islandContent
inside a shared function, and saved it inside the class.
Here's the weird part: when calling render
, the props
are correctly present and evaluated. However, and init
is called, the props aren't there anymore. I'm not sure if this is a bug coming from somewhere else, or that's the expected behaviour.
As a workaround, I created two new functions where we save these props inside the class. Doing so fixes the bug and the rest of the tests keep passing. Still, it's weird
Testing
Added two new tests:
- simple fragment
- fragment with slots
Docs
N/A
Last fetched: | Scheduled refresh: Every Saturday
See Customizing GitHub Activity Pages to configure your own
Inspired by prs.atinux.com