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

Update astro monorepo (major) #230

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 1, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@astrojs/mdx (source) ^0.19.0 -> ^3.0.0 age adoption passing confidence
@astrojs/partytown (source) ^1.2.0 -> ^2.0.0 age adoption passing confidence
@astrojs/react (source) ^2.0.0 -> ^3.0.0 age adoption passing confidence
@astrojs/rss (source) ^2.0.0 -> ^4.0.0 age adoption passing confidence
@astrojs/tailwind (source) ^3.0.1 -> ^5.0.0 age adoption passing confidence
astro (source) ^2.8.2 -> ^4.0.0 age adoption passing confidence

Release Notes

withastro/astro (@​astrojs/mdx)

v3.1.5

Compare Source

Patch Changes
  • #​11818 88ef1d0 Thanks @​bluwy! - Fixes CSS in the layout component to be ordered first before any other components in the MDX file

v3.1.4

Compare Source

Patch Changes

v3.1.3

Compare Source

Patch Changes

v3.1.2

Compare Source

Patch Changes

v3.1.1

Compare Source

Patch Changes

v3.1.0

Compare Source

Minor Changes
  • #​11144 803dd80 Thanks @​ematipico! - The integration now exposes a function called getContainerRenderer, that can be used inside the Container APIs to load the relative renderer.

    import { experimental_AstroContainer as AstroContainer } from 'astro/container';
    import ReactWrapper from '../src/components/ReactWrapper.astro';
    import { loadRenderers } from 'astro:container';
    import { getContainerRenderer } from '@​astrojs/react';
    
    test('ReactWrapper with react renderer', async () => {
      const renderers = await loadRenderers([getContainerRenderer()]);
      const container = await AstroContainer.create({
        renderers,
      });
      const result = await container.renderToString(ReactWrapper);
    
      expect(result).toContain('Counter');
      expect(result).toContain('Count: <!-- -->5');
    });

v3.0.1

Compare Source

Patch Changes

v3.0.0

Compare Source

Major Changes
  • #​10935 ddd8e49 Thanks @​bluwy! - Refactors the MDX transformation to rely only on the unified pipeline. Babel and esbuild transformations are removed, which should result in faster build times. The refactor requires using Astro v4.8.0 but no other changes are necessary.

  • #​10935 ddd8e49 Thanks @​bluwy! - Allows integrations after the MDX integration to update markdown.remarkPlugins and markdown.rehypePlugins, and have the plugins work in MDX too.

    If your integration relies on Astro's previous behavior that prevents integrations from adding remark/rehype plugins for MDX, you will now need to configure @astrojs/mdx with extendMarkdownConfig: false and explicitly specify any remarkPlugins and rehypePlugins options instead.

  • #​10935 ddd8e49 Thanks @​bluwy! - Renames the optimize.customComponentNames option to optimize.ignoreElementNames to better reflect its usecase. Its behaviour is not changed and should continue to work as before.

  • #​10935 ddd8e49 Thanks @​bluwy! - Replaces the internal remark-images-to-component plugin with rehype-images-to-component to let users use additional rehype plugins for images

Patch Changes
  • #​10935 ddd8e49 Thanks @​bluwy! - Simplifies plain MDX components as hast element nodes to further improve HTML string inlining for the optimize option

  • #​10935 ddd8e49 Thanks @​bluwy! - Allows Vite plugins to transform .mdx files before the MDX plugin transforms it

  • #​10935 ddd8e49 Thanks @​bluwy! - Updates the optimize option to group static sibling nodes as a <Fragment />. This reduces the number of AST nodes and simplifies runtime rendering of MDX pages.

  • #​10935 ddd8e49 Thanks @​bluwy! - Tags the MDX component export for quicker component checks while rendering

  • #​10935 ddd8e49 Thanks @​bluwy! - Fixes export const components keys detection for the optimize option

  • #​10935 ddd8e49 Thanks @​bluwy! - Improves optimize handling for MDX components with attributes and inline MDX components

v2.3.1

Compare Source

Patch Changes
  • #​10754 3e7a12c8532411e580fcfdb8445cad8fc8499291 Thanks @​rishi-raj-jain! - Fixes an issue where images in MDX required a relative specifier (e.g. ./)

    Now, you can use the standard ![](img.png) syntax in MDX files for images colocated in the same folder: no relative specifier required!

    There is no need to update your project; your existing images will still continue to work. However, you may wish to remove any relative specifiers from these MDX images as they are no longer necessary:

    - ![A cute dog](./dog.jpg)
    + ![A cute dog](dog.jpg)
    <!-- This dog lives in the same folder as my article! -->
  • #​10770 88ee63a3ba4488c60348cb821034e6d4a057efd0 Thanks @​bluwy! - Removes internal MDX processor on buildEnd to free up memory

v2.3.0

Compare Source

Minor Changes
Patch Changes

v2.2.4

Compare Source

Patch Changes

v2.2.3

Compare Source

Patch Changes

v2.2.2

Compare Source

Patch Changes

v2.2.1

Compare Source

Patch Changes

v2.2.0

Compare Source

Minor Changes
  • #​10104 a31bbd7ff8f3ec62ee507f72d1d25140b82ffc18 Thanks @​remcohaszing! - Changes Astro's internal syntax highlighting to use rehype plugins instead of remark plugins. This provides better interoperability with other rehype plugins that deal with code blocks, in particular with third party syntax highlighting plugins and rehype-mermaid.

    This may be a breaking change if you are currently using:

    • a remark plugin that relies on nodes of type html
    • a rehype plugin that depends on nodes of type raw.

    Please review your rendered code samples carefully, and if necessary, consider using a rehype plugin that deals with the generated element nodes instead. You can transform the AST of raw HTML strings, or alternatively use hast-util-to-html to get a string from a raw node.

Patch Changes

v2.1.1

Compare Source

Patch Changes

v2.1.0

Compare Source

Minor Changes

v2.0.6

Compare Source

Patch Changes

v2.0.5

Compare Source

Patch Changes

v2.0.4

Compare Source

Patch Changes

v2.0.3

Compare Source

Patch Changes

v2.0.2

Compare Source

Patch Changes

v2.0.1

Compare Source

Patch Changes

v2.0.0

Compare Source

Major Changes
  • #​9138 abf601233 Thanks @​bluwy! - Updates the unified, remark, and rehype dependencies to latest. Make sure to update your custom remark and rehype plugins as well to be compatible with the latest versions.

    Potentially breaking change: The default value of markdown.remarkRehype.footnoteBackLabel is changed from "Back to content" to "Back to reference 1". See the mdast-util-to-hast commit for more information.

Patch Changes

v1.1.5

Compare Source

Patch Changes

v1.1.4

Compare Source

Patch Changes

v1.1.3

Compare Source

Patch Changes

v1.1.2

Compare Source

Patch Changes

v1.1.1

Compare Source

Patch Changes

v1.1.0

Compare Source

Minor Changes
  • #​8468 a8d72ceae Thanks @​bholmesdev! - Support the img component export for optimized images. This allows you to customize how optimized images are styled and rendered.

    When rendering an optimized image, Astro will pass the ImageMetadata object to your img component as the src prop. For unoptimized images (i.e. images using URLs or absolute paths), Astro will continue to pass the src as a string.

    This example handles both cases and applies custom styling:

v1.0.3

Compare Source

Patch Changes

v1.0.2

Compare Source

Patch Changes

v1.0.1

Compare Source

Patch Changes

v1.0.0

Compare Source

Major Changes
Minor Changes
  • #​8188 d0679a666 Thanks @​ematipico! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.

  • #​8169 e79e3779d Thanks @​bluwy! - Remove pre-shiki v0.14 theme names for compatibility. Please rename to the new theme names to migrate:

    • material-darker -> material-theme-darker
    • material-default -> material-theme
    • material-lighter -> material-theme-lighter
    • material-ocean -> material-theme-ocean
    • material-palenight -> material-theme-palenight
  • #​8188 84af8ed9d Thanks @​ematipico! - Add astro as peer dependency

Patch Changes
withastro/astro (@​astrojs/partytown)

v2.1.2

Compare Source

Patch Changes

v2.1.1

Compare Source

Patch Changes
  • #​11083 416c4ac Thanks @​V3RON! - Prevent Partytown from crashing when View Transitions are enabled

    When View Transitions are turned on, Partytown executes on every transition.
    It's not meant to be like that, and therefore it breaks the integration completely.
    Starting from now, Partytown will be executed only once.

v2.1.0

Compare Source

Minor Changes
  • #​10833 8d5f3e8 Thanks @​renovate! - Updates the @builder.io/partytown dependency to v0.10. This should not affect projects in most cases.

v2.0.4

Compare Source

Patch Changes

v2.0.3

Compare Source

Patch Changes

v2.0.2

Compare Source

Patch Changes

v2.0.1

Compare Source

Patch Changes

v2.0.0

Compare Source

Major Changes
withastro/astro (@​astrojs/react)

v3.6.2

Compare Source

Patch Changes
  • #​11624 7adb350 Thanks @​bluwy! - Prevents throwing errors when checking if a component is a React component in runtime

v3.6.1

Compare Source

Patch Changes
  • #​11571 1c3265a Thanks @​bholmesdev! - BREAKING CHANGE to the experimental Actions API only. Install the latest @astrojs/react integration as well if you're using React 19 features.

    Make .safe() the default return value for actions. This means { data, error } will be returned when calling an action directly. If you prefer to get the data while allowing errors to throw, chain the .orThrow() modifier.

    import { actions } from 'astro:actions';
    
    // Before
    const { data, error } = await actions.like.safe();
    // After
    const { data, error } = await actions.like();
    
    // Before
    const newLikes = await actions.like();
    // After
    const newLikes = await actions.like.orThrow();

v3.6.0

Compare Source

Minor Changes
  • #​11234 4385bf7 Thanks @​ematipico! - Adds a new function called addServerRenderer to the Container API. Use this function to manually store renderers inside the instance of your container.

    This new function should be preferred when using the Container API in environments like on-demand pages:

    import type { APIRoute } from 'astro';
    import { experimental_AstroContainer } from 'astro/container';
    import reactRenderer from '@&#8203;astrojs/react/server.js';
    import vueRenderer from '@&#8203;astrojs/vue/server.js';
    import ReactComponent from '../components/button.jsx';
    import VueComponent from '../components/button.vue';
    
    // MDX runtime is contained inside the Astro core
    import mdxRenderer from 'astro/jsx/server.js';
    
    // In case you need to import a custom renderer
    import customRenderer from '../renderers/customRenderer.js';
    
    export const GET: APIRoute = async (ctx) => {
      const container = await experimental_AstroContainer.create();
      container.addServerRenderer({ renderer: reactRenderer });
      container.addServerRenderer({ renderer: vueRenderer });
      container.addServerRenderer({ renderer: customRenderer });
      // You can pass a custom name too
      container.addServerRenderer({
        name: 'customRenderer',
        renderer: customRenderer,
      });
      const vueComponent = await container.renderToString(VueComponent);
      return await container.renderToResponse(Component);
    };

v3.5.0

Compare Source

Minor Changes
  • #​11144 803dd80 Thanks @​ematipico! - The integration now exposes a function called getContainerRenderer, that can be used inside the Container APIs to load the relative renderer.

    import { experimental_AstroContainer as AstroContainer } from 'astro/container';
    import ReactWrapper from '../src/components/ReactWrapper.astro';
    import { loadRenderers } from 'astro:container';
    import { getContainerRenderer } from '@&#8203;astrojs/react';
    
    test('ReactWrapper with react renderer', async () => {
      const renderers = await loadRenderers([getContainerRenderer()]);
      const container = await AstroContainer.create({
        renderers,
      });
      const result = await container.renderToString(ReactWrapper);
    
      expect(result).toContain('Counter');
      expect(result).toContain('Count: <!-- -->5');
    });

v3.4.0

Compare Source

Minor Changes
  • #​11071 8ca7c73 Thanks @​bholmesdev! - Adds two new functions experimental_getActionState() and experimental_withState() to support the React 19 useActionState() hook when using Astro Actions. This introduces progressive enhancement when calling an Action with the withState() utility.

    This example calls a like action that accepts a postId and returns the number of likes. Pass this action to the experimental_withState() function to apply progressive enhancement info, and apply to useActionState() to track the result:

    import { actions } from 'astro:actions';
    import { experimental_withState } from '@&#8203;astrojs/react/actions';
    
    export function Like({ postId }: { postId: string }) {
      const [state, action, pending] = useActionState(
        experimental_withState(actions.like),
        0 // initial likes
      );
    
      return (
        <form action={action}>
          <input type="hidden" name="postId" value={postId} />
          <button disabled={pending}>{state} ❤️</button>
        </form>
      );
    }

    You can also access the state stored by useActionState() from your action handler. Call experimental_getActionState() with the API context, and optionally apply a type to the result:

    import { defineAction, z } from 'astro:actions';
    import { experimental_getActionState } from '@&#8203;astrojs/react/actions';
    
    export const server = {
      like: defineAction({
        input: z.object({
          postId: z.string(),
        }),
        handler: async ({ postId }, ctx) => {
          const currentLikes = experimental_getActionState<number>(ctx);
          // write to database
          return currentLikes + 1;
        },
      }),
    };

v3.3.4

Compare Source

Patch Changes

v3.3.3

[Compare Source](https://togith


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies label May 1, 2024
Copy link
Contributor Author

renovate bot commented May 1, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: @astrojs/image@0.18.0
npm ERR! Found: astro@4.7.0
npm ERR! node_modules/astro
npm ERR!   astro@"^4.0.0" from the root project
npm ERR!   peer astro@"^4.0.0" from @astrojs/mdx@2.3.1
npm ERR!   node_modules/@astrojs/mdx
npm ERR!     @astrojs/mdx@"^2.0.0" from the root project
npm ERR!   1 more (@astrojs/tailwind)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer astro@"^2.10.15" from @astrojs/image@0.18.0
npm ERR! node_modules/@astrojs/image
npm ERR!   @astrojs/image@"^0.18.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: astro@2.10.15
npm ERR! node_modules/astro
npm ERR!   peer astro@"^2.10.15" from @astrojs/image@0.18.0
npm ERR!   node_modules/@astrojs/image
npm ERR!     @astrojs/image@"^0.18.0" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /tmp/renovate/cache/others/npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/renovate/cache/others/npm/_logs/2024-05-01T09_29_09_155Z-debug-0.log

@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from b49d412 to 1601983 Compare May 9, 2024 11:55
Copy link
Contributor Author

renovate bot commented May 9, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: @astrojs/image@0.18.0
npm ERR! Found: astro@4.8.0
npm ERR! node_modules/astro
npm ERR!   astro@"^4.0.0" from the root project
npm ERR!   peer astro@"^4.8.0" from @astrojs/mdx@3.0.0
npm ERR!   node_modules/@astrojs/mdx
npm ERR!     @astrojs/mdx@"^3.0.0" from the root project
npm ERR!   1 more (@astrojs/tailwind)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer astro@"^2.10.15" from @astrojs/image@0.18.0
npm ERR! node_modules/@astrojs/image
npm ERR!   @astrojs/image@"^0.18.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: astro@2.10.15
npm ERR! node_modules/astro
npm ERR!   peer astro@"^2.10.15" from @astrojs/image@0.18.0
npm ERR!   node_modules/@astrojs/image
npm ERR!     @astrojs/image@"^0.18.0" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /tmp/renovate/cache/others/npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/renovate/cache/others/npm/_logs/2024-05-09T11_55_09_473Z-debug-0.log

@renovate renovate bot changed the title fix(deps): update astro monorepo (major) Update astro monorepo (major) May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants