Skip to content

fix(deps): update astro monorepo (major) #649

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

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 3, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@astrojs/vercel (source) 7.8.2 -> 8.1.4 age adoption passing confidence
astro (source) ^4.0.0 -> ^5.0.0 age adoption passing confidence

Release Notes

withastro/astro (@​astrojs/vercel)

v8.1.4

Compare Source

Patch Changes

v8.1.3

Compare Source

Patch Changes

v8.1.2

Compare Source

Patch Changes

v8.1.1

Compare Source

Patch Changes

v8.1.0

Compare Source

Minor Changes
  • #​13211 7ea0aba Thanks @​slawekkolodziej! - Adds support for regular expressions in ISR exclude list

    Previously, excluding a page from ISR required explicitly listing it in isr.exclude. As websites grew larger, maintaining this list became increasingly difficult, especially for multiple API routes and pages that needed server-side rendering.

    To address this, ISR exclusions now support regular expressions, allowing for more flexible and scalable configurations.

    // astro.config.mjs
    import vercel from '@​astrojs/vercel/serverless';
    
    export default defineConfig({
      output: 'server',
      adapter: vercel({
        isr: {
          exclude: [
            '/preview', // Excludes a specific route (e.g., pages/preview.astro)
            '/auth/[page]', // Excludes a dynamic route (e.g., pages/auth/[page].astro)
            /^\/api\/.+/, // Excludes all routes starting with /api/
          ],
        },
      }),
    });
Patch Changes

v8.0.8

Compare Source

Patch Changes

v8.0.7

Patch Changes

v8.0.6

Patch Changes

v8.0.5

Patch Changes

v8.0.4

Patch Changes
  • #​516 3fe04eb Thanks @​ascorbic! - Fixes a bug that prevented integration-generated static assets from being deployed with non-static sites

v8.0.3

Patch Changes

v8.0.2

Patch Changes

v8.0.1

Patch Changes
  • #​472 d9eed7e Thanks @​bluwy! - Add back support for Node 22 on Vercel serverless that was fixed in v7 but lost in v8

v8.0.0

Major Changes
Minor Changes
  • #​424 3351348 Thanks @​ematipico! - Deprecates the entrypoints @astrojs/vercel/serverless and @astrojs/vercel/static. These will continue to work but are no longer documented and will be removed in a future version. We recommend updating to the @astrojs/vercel entrypoint as soon as you are able:

    -import vercel from "@​astrojs/vercel/static"
    +import vercel from "@​astrojs/vercel"
    -import vercel from "@​astrojs/vercel/serverless"
    +import vercel from "@​astrojs/vercel"
  • #​447 7d9835f Thanks @​laymonage! - Add support for Node 22 on Vercel serverless

  • #​385 bb725b7 Thanks @​florian-lefebvre! - Cleans up astro:env support

Patch Changes
  • #​437 b725b49 Thanks @​ematipico! - Fixes a regression where the @astrojs/vercel single entry point for the adapter was causing some regressions in users projects.
withastro/astro (astro)

v5.7.5

Compare Source

Patch Changes

v5.7.4

Compare Source

Patch Changes

v5.7.3

Compare Source

Patch Changes

v5.7.2

Compare Source

Patch Changes

v5.7.1

Compare Source

Patch Changes

v5.7.0

Compare Source

Minor Changes
  • #​13527 2fd6a6b Thanks @​ascorbic! - The experimental session API introduced in Astro 5.1 is now stable and ready for production use.

    Sessions are used to store user state between requests for on-demand rendered pages. You can use them to store user data, such as authentication tokens, shopping cart contents, or any other data that needs to persist across requests:

v5.6.2

Compare Source

Patch Changes
  • #​13606 793ecd9 Thanks @​natemoo-re! - Fixes a regression that allowed prerendered code to leak into the server bundle.

  • #​13576 1c60ec3 Thanks @​ascorbic! - Reduces duplicate code in server islands scripts by extracting shared logic into a helper function.

  • #​13588 57e59be Thanks @​natemoo-re! - Fixes a memory leak when using SVG assets.

  • #​13589 5a0563d Thanks @​ematipico! - Deprecates the asset utility function emitESMImage() and adds a new emitImageMetadata() to be used instead

    The function
    emitESMImage() is now deprecated. It will continue to function, but it is no longer recommended nor supported. This function will be completely removed in a next major release of Astro.

    Please replace it with the new functionemitImageMetadata() as soon as you are able to do so:

    - import { emitESMImage } from "astro/assets/utils";
    + import { emitImageMetadata } from "astro/assets/utils";

    The new function returns the same signature as the previous one. However, the new function removes two deprecated arguments that were not meant to be exposed for public use: _watchMode and experimentalSvgEnabled. Since it was possible to access these with the old function, you may need to verify that your code still works as intended with emitImageMetadata().

  • #​13596 3752519 Thanks @​jsparkdev! - update vite to latest version to fix CVE

  • #​13547 360cb91 Thanks @​jsparkdev! - Updates vite to the latest version

  • #​13548 e588527 Thanks @​ryuapp! - Support for Deno to install npm pacakges.

    Deno requires npm prefix to install packages on npm. For example, to install react, we need to run deno add npm:react. But currently the command executed is deno add react, which doesn't work. So, we change the package names to have an npm prefix if you are using Deno.

  • #​13587 a0774b3 Thanks @​robertoms99! - Fixes an issue with the client router where some attributes of the root element were not updated during swap, including the transition scope.

v5.6.1

Compare Source

Patch Changes

v5.6.0

Compare Source

Minor Changes
  • #​13403 dcb9526 Thanks @​yurynix! - Adds a new optional prerenderedErrorPageFetch option in the Adapter API to allow adapters to provide custom implementations for fetching prerendered error pages.

    Now, adapters can override the default fetch() behavior, for example when fetch() is unavailable or when you cannot call the server from itself.

    The following example provides a custom fetch for 500.html and 404.html, reading them from disk instead of performing an HTTP call:

    return app.render(request, {
      prerenderedErrorPageFetch: async (url: string): Promise<Response> => {
        if (url.includes("/500")) {
            const content = await fs.promises.readFile("500.html", "utf-8");
            return new Response(content, {
              status: 500,
              headers: { "Content-Type": "text/html" },
            });
        }
        const content = await fs.promises.readFile("404.html", "utf-8");
          return new Response(content, {
            status: 404,
            headers: { "Content-Type": "text/html" },
          });
    });

    If no value is provided, Astro will fallback to its default behavior for fetching error pages.

    Read more about this feature in the Adapter API reference.

  • #​13482 ff257df Thanks @​florian-lefebvre! - Updates Astro config validation to also run for the Integration API. An error log will specify which integration is failing the validation.

    Now, Astro will first validate the user configuration, then validate the updated configuration after each integration astro:config:setup hook has run. This means updateConfig() calls will no longer accept invalid configuration.

    This fixes a situation where integrations could potentially update a project with a malformed configuration. These issues should now be caught and logged so that you can update your integration to only set valid configurations.

  • #​13405 21e7e80 Thanks @​Marocco2! - Adds a new eagerness option for prefetch() when using experimental.clientPrerender

    With the experimental clientPrerender flag enabled, you can use the eagerness option on prefetch() to suggest to the browser how eagerly it should prefetch/prerender link targets.

    This follows the same API described in the Speculation Rules API and allows you to balance the benefit of reduced wait times against bandwidth, memory, and CPU costs for your site visitors.

    For example, you can now use prefetch() programmatically with large sets of links and avoid browser limits in place to guard against over-speculating (prerendering/prefetching too many links). Set eagerness: 'moderate' to take advantage of First In, First Out (FIFO) strategies and browser heuristics to let the browser decide when to prerender/prefetch them and in what order:

    <a class="link-moderate" href="/nice-link-1">A Nice Link 1</a>
    <a class="link-moderate" href="/nice-link-2">A Nice Link 2</a>
    <a class="link-moderate" href="/nice-link-3">A Nice Link 3</a>
    <a class="link-moderate" href="/nice-link-4">A Nice Link 4</a>
    ...
    <a class="link-moderate" href="/nice-link-20">A Nice Link 20</a>
    <script>
      import { prefetch } from 'astro:prefetch';
      const linkModerate = document.getElementsByClassName('link-moderate');
      linkModerate.forEach((link) => prefetch(link.getAttribute('href'), { eagerness: 'moderate' }));
    </script>
  • #​13482 ff257df Thanks @​florian-lefebvre! - Improves integrations error handling

    If an error is thrown from an integration hook, an error log will now provide information about the concerned integration and hook

Patch Changes
  • #​13539 c43bf8c Thanks @​ascorbic! - Adds a new session.load() method to the experimental session API that allows you to load a session by ID.

    When using the experimental sessions API, you don't normally need to worry about managing the session ID and cookies: Astro automatically reads the user's cookies and loads the correct session when needed. However, sometimes you need more control over which session to load.

    The new load() method allows you to manually load a session by ID. This is useful if you are handling the session ID yourself, or if you want to keep track of a session without using cookies. For example, you might want to restore a session from a logged-in user on another device, or work with an API endpoint that doesn't use cookies.

    // src/pages/api/cart.ts
    import type { APIRoute } from 'astro';
    
    export const GET: APIRoute = async ({ session, request }) => {
      // Load the session from a header instead of cookies
      const sessionId = request.headers.get('x-session-id');
      await session.load(sessionId);
      const cart = await session.get('cart');
      return Response.json({ cart });
    };

    If a session with that ID doesn't exist, a new one will be created. This allows you to generate a session ID in the client if needed.

    For more information, see the experimental sessions docs.

  • #​13488 d777420 Thanks @​stramel! - BREAKING CHANGE to the experimental SVG Component API only

    Removes some previously available prop, attribute, and configuration options from the experimental SVG API. These items are no longer available and must be removed from your code:

    • The title prop has been removed until we can settle on the correct balance between developer experience and accessibility. Please replace any title props on your components with aria-label:

      - <Logo title="My Company Logo" />
      + <Logo aria-label="My Company Logo" />
    • Sprite mode has been temporarily removed while we consider a new implementation that addresses how this feature was being used in practice. This means that there are no longer multiple mode options, and all SVGs will be inline. All instances of mode must be removed from your project as you can no longer control a mode:

      - <Logo mode="inline" />
      + <Logo />
      import { defineConfig } from 'astro'
      
      export default defineConfig({
        experimental: {
      -    svg: {
      -      mode: 'sprite'
      -    },
      +   svg: true
        }
      });
    • The default role is no longer applied due to developer feedback. Please add the appropriate role on each component individually as needed:

      - <Logo />
      + <Logo role="img" /> // To keep the role that was previously applied by default
    • The size prop has been removed to better work in combination with viewBox and additional styles/attributes. Please replace size with explicit width and height attributes:

      - <Logo size={64} />
      + <Logo width={64} height={64} />

v5.5.6

Compare Source

Patch Changes
  • #​13429 06de673 Thanks @​ematipico! - The ActionAPIContext.rewrite method is deprecated and will be removed in a future major version of Astro

  • #​13524 82cd583 Thanks @​ematipico! - Fixes a bug where the functions Astro.preferredLocale and Astro.preferredLocaleList would return the incorrect locales
    when the Astro configuration specifies a list of codes. Before, the functions would return the path, instead now the functions
    return a list built from codes.

  • #​13526 ff9d69e Thanks @​jsparkdev! - update vite to the latest version

v5.5.5

Compare Source

Patch Changes

v5.5.4

Compare Source

Patch Changes

v5.5.3

Compare Source

Patch Changes
  • #​13437 013fa87 Thanks @​Vardhaman619! - Handle server.allowedHosts when the value is true without attempting to push it into an array.

  • #​13324 ea74336 Thanks @​ematipico! - Upgrade to shiki v3

  • #​13372 7783dbf Thanks @​ascorbic! - Fixes a bug that caused some very large data stores to save incomplete data.

  • #​13358 8c21663 Thanks @​ematipico! - Adds a new function called insertPageRoute to the Astro Container API.

    The new function is useful when testing routes that, for some business logic, use Astro.rewrite.

    For example, if you have a route /blog/post and for some business decision there's a rewrite to /generic-error, the container API implementation will look like this:

    import Post from '../src/pages/Post.astro';
    import GenericError from '../src/pages/GenericError.astro';
    import { experimental_AstroContainer as AstroContainer } from 'astro/container';
    
    const container = await AstroContainer.create();
    container.insertPageRoute('/generic-error', GenericError);
    const result = await container.renderToString(Post);
    console.log(result); // this should print the response from GenericError.astro

    This new method only works for page routes, which means that endpoints aren't supported.

  • #​13426 565583b Thanks @​ascorbic! - Fixes a bug that caused the astro add command to ignore the --yes flag for third-party integrations

  • #​13428 9cac9f3 Thanks @​matthewp! - Prevent bad value in x-forwarded-host from crashing request

  • #​13432 defad33 Thanks @​P4tt4te! - Fix an issue in the Container API, where the renderToString function doesn't render adequately nested slots when they are components.

  • Updated dependencies [ea74336]:

v5.5.2

Compare Source

Patch Changes
  • #​13415 be866a1 Thanks @​ascorbic! - Reuses experimental session storage object between requests. This prevents memory leaks and improves performance for drivers that open persistent connections to a database.

  • #​13420 2f039b9 Thanks @​ematipico! - It fixes an issue that caused some regressions in how styles are bundled.

v5.5.1

Compare Source

Patch Changes

v5.5.0

Compare Source

Minor Changes
  • #​13402 3e7b498 Thanks @​ematipico! - Adds a new experimental flag called experimental.preserveScriptOrder that renders <script> and <style> tags in the same order as they are defined.

    When rendering multiple <style> and <script> tags on the same page, Astro currently reverses their order in your generated HTML output. This can give unexpected results, for example CSS styles being overridden by earlier defined style tags when your site is built.

    With the new preserveScriptOrder flag enabled, Astro will generate the styles in the order they are defined:

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        preserveScriptOrder: true,
      },
    });

    For example, the following component has two <style> tags, and both define the same style for the body tag:

    <p>I am a component</p>
    <style>
      body {
        background: red;
      }
    </style>
    <style>
      body {
        background: yellow;
      }
    </style>

    Once the project is compiled, Astro will create an inline style where yellow appears first, and then red. Ultimately, the red background is applied:

    body {
      background: #ff0;
    }
    body {
      background: red;
    }

    When experimental.preserveScriptOrder is set to true, the order of the two styles is kept as it is, and in the style generated red appears first, and then yellow:

    body {
      background: red;
    }
    body {
      background: #ff0;
    }

    This is a breaking change to how Astro renders project code that contains multiple <style> and <script> tags in the same component. If you were previously compensating for Astro's behavior by writing these out of order, you will need to update your code.

    This will eventually become the new default Astro behavior, so we encourage you to add this experimental style and script ordering as soon as you are able! This will help us test the new behavior and ensure your code is ready when this becomes the new normal.

    For more information as this feature develops, please see the experimental script order docs.

  • #​13352 cb886dc Thanks @​delucis! - Adds support for a new experimental.headingIdCompat flag

    By default, Astro removes a trailing - from the end of IDs it generates for headings ending with
    special characters. This differs from the behavior of common Markdown processors.

    You can now disable this behavior with a new configuration flag:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        headingIdCompat: true,
      },
    });

    This can be useful when heading IDs and anchor links need to behave consistently across your site
    and other platforms such as GitHub and npm.

    If you are using the rehypeHeadingIds plugin directly, you can also pass this new option:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    import { rehypeHeadingIds } from '@&#8203;astrojs/markdown-remark';
    import { otherPluginThatReliesOnHeadingIDs } from 'some/plugin/source';
    
    export default defineConfig({
      markdown: {
        rehypePlugins: [
          [rehypeHeadingIds, { experimentalHeadingIdCompat: true }],
          otherPluginThatReliesOnHeadingIDs,
        ],
      },
    });
  • #​13311 a3327ff Thanks @​chrisirhc! - Adds a new configuration option for Markdown syntax highlighting excludeLangs

    This option provides better support for diagramming tools that rely on Markdown code blocks, such as Mermaid.js and D2 by allowing you to exclude specific languages from Astro's default syntax highlighting.

    This option allows you to avoid rendering conflicts with tools that depend on the code not being highlighted without forcing you to disable syntax highlighting for other code blocks.

    The following example configuration will exclude highlighting for mermaid and math code blocks:

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      markdown: {
        syntaxHighlight: {
          type: 'shiki',
          excludeLangs: ['mermaid', 'math'],
        },
      },
    });

    Read more about this new option in the Markdown syntax highlighting configuration docs.

Patch Changes

v5.4.3

Compare Source

Patch Changes
  • #​13381 249d52a Thanks @​martrapp! - Adds the types property to the viewTransition object when the ClientRouter simulates parts of the View Transition API on browsers w/o native support.

  • #​13367 3ce4ad9 Thanks @​ematipico! - Adds documentation to various utility functions used for remote image services

  • #​13347 d83f92a Thanks @​bluwy! - Updates internal CSS chunking behavior for Astro components' scoped styles. This may result in slightly more CSS chunks created, but should allow the scoped styles to only be included on pages that use them.

  • #​13388 afadc70 Thanks @​ematipico! - Fixes a bug where astro:config/server and astro:config/client had incorrect types.

  • #​13355 042d1de Thanks @​ematipico! - Adds documentation to the assets utilities for remote service images.

  • #​13395 6d1c63f Thanks @​bluwy! - Uses package-manager-detector to detect the package manager used in the project

  • #​13363 a793636 Thanks @​ematipico! - Fixes an issue where the internal function makeSvgComponent was incorrectly exposed a


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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.

Copy link

vercel bot commented Dec 3, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
send-transactions ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 6, 2025 1:01pm

@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 2ab9db7 to 47b295d Compare December 3, 2024 18:50
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 47b295d to ca67e2f Compare December 3, 2024 23:15
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from ca67e2f to 6092a53 Compare December 4, 2024 13:17
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 6092a53 to fdc9f9f Compare December 5, 2024 03:50
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from fdc9f9f to e44d74c Compare December 5, 2024 19:45
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e44d74c to 015e51f Compare December 9, 2024 22:31
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 015e51f to 36122fc Compare December 10, 2024 00:23
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 36122fc to 4caf6e1 Compare December 11, 2024 14:47
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 4caf6e1 to 248350d Compare December 12, 2024 21:34
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 248350d to aea4b6c Compare December 13, 2024 04:07
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from aea4b6c to e91be74 Compare December 13, 2024 04:16
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e91be74 to 8cbedc4 Compare December 13, 2024 05:36
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 8cbedc4 to f722500 Compare December 13, 2024 05:45
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from f722500 to a0b2f6c Compare December 16, 2024 21:52
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from 5b6ba13 to 2a575e0 Compare April 19, 2025 01:16
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch 8 times, most recently from cd76655 to f30df9c Compare April 26, 2025 09:27
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch 6 times, most recently from 37ec60b to 2eae8b4 Compare May 3, 2025 04:27
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch 9 times, most recently from 7129d64 to e151715 Compare May 7, 2025 18:46
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e151715 to 5215b0a Compare May 7, 2025 20:56
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.

0 participants