This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @vercel/functions@1.0.2
### Patch Changes
- Convert package to CommonJS
([#11569](https://github.com/vercel/vercel/pull/11569))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The package was not working because it is using ESM syntax, but the
`package.json` did not have `"type": "module"`.
Anyways, for broader compatibility, let's use CommonJS.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.10
### Patch Changes
- Updated dependencies
\[[`119f80e96`](119f80e961),
[`11584b0e9`](11584b0e9b),
[`3023122d4`](3023122d4e),
[`0e774b6be`](0e774b6be0)]:
- @vercel/next@4.2.9
- @vercel/static-build@2.5.4
## @vercel/next@4.2.9
### Patch Changes
- Support incremental partial prerendering
([#11560](https://github.com/vercel/vercel/pull/11560))
- ensure `.action` outputs are created for edge functions
([#11568](https://github.com/vercel/vercel/pull/11568))
- ([#11566](https://github.com/vercel/vercel/pull/11566))
## @vercel/static-build@2.5.4
### Patch Changes
- Fix `Cannot read properties of null` error
([#11559](https://github.com/vercel/vercel/pull/11559))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Since we're rewriting `next-action` requests to `.action` outputs, we need to ensure that we also duplicate the edge function handler for it.
This runs all of the existing Node runtime tests in the Edge runtime as well. However, there's a discrepancy in how `x-vercel-cache` is returned, so for now we instead validate that its responding with `x-edge-runtime`.
This fixes the logic that detects if partial prerendering (PPR) has been
enabled for a project. The new incremental adoption pathway allows
setting the `experimental.ppr = 'incremental'` which the previous code
did not support.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## @vercel/functions@1.0.1
### Patch Changes
- Don't throw error if context is missing
([`0817527f9`](0817527f9e))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This PR makes `waitUntil` consistent when interacting with it via `vc
dev`. That includes:
**be possible to call `waitUntil` from the context second argument in
web handlers functions (Node.js & Edge)**:
```js
export function GET(request, { waitUntil }) {
waitUntil(fetch('https://vercel.com'));
return new Response('OK');
}
```
**be possible to call `waitUntil` imported from `@vercel/functions`**
(Node.js & Edge):
```js
import { waitUntil } from '@vercel/functions';
export function GET(request) {
waitUntil(fetch('https://vercel.com'));
return new Response('OK');
}
```
Additionally, `@vercel/functions` can be adopted for other framework to
take advantage of this pattern at Vercel.
---------
Co-authored-by: Javi Velasco <javier.velasco86@gmail.com>
While investigating https://github.com/vercel/next.js/issues/59883 we noticed the RSC Prerender did not have all the expected headers like the HTML Prerender which caused unexpected revalidation behavior specifically on client-transition as some of these headers are used to detect if a revalidated tag is associated with specific outputs.
x-ref: https://github.com/vercel/next.js/issues/59883
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.8
### Patch Changes
- Updated dependencies
\[[`52e435aa5`](52e435aa5d),
[`124846a3e`](124846a3e6),
[`dc974b679`](dc974b6797),
[`58c6755e0`](58c6755e0c)]:
- @vercel/next@4.2.7
- @vercel/static-build@2.5.3
## @vercel/next@4.2.7
### Patch Changes
- Fix missing .rsc outputs for pages prerenders
([#11503](https://github.com/vercel/vercel/pull/11503))
- Fix base path app index RSC handling
([#11528](https://github.com/vercel/vercel/pull/11528))
- Fix interception routes PPR route handling
([#11527](https://github.com/vercel/vercel/pull/11527))
## @vercel/static-build@2.5.3
### Patch Changes
- Support Ruby and Python static site generators in AL2023 build image
([#11529](https://github.com/vercel/vercel/pull/11529))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This ensures we properly name the outputs when a basePath is present for the `index` output as previously we weren't properly routing to the RSC output due to nested `index` naming/route conflict. This only was a noticeable issue with prerender/static index outputs with base path and app router since if the index route was dynamic it would still catch the RSC request and just handle it without the correct naming.
Fixes: https://github.com/vercel/next.js/issues/64903
* Set `GEM_HOME` env var based on the Ruby version in `$PATH` (i.e.
`3.2.0` for the AL2 build image, `3.3.0` for the AL2023 build image)
* Copy previous `jekyll-v4` test fixture to `jekyll-v4-al2` (uses AL2
build image)
* Update `jekyll-v4` test fixture to use Jekyll 4.3.3 (required for Ruby
3.3.0), and remove `package.json` so that it uses AL2023 build image
* Copy previous `middleman-v4` test fixture to `middleman-v4-al2` (uses
AL2 build image)
* Removed `package.json` from `middleman-v4` fixture, so that it uses
AL2023 build image
This ensures we properly create `.prefetch.rsc` output aliases for non-prerender outputs when PPR is enabled so that we can properly route which handles the interception route case as that is always dynamic so was missing it's `.prefetch.rsc` output causing the prefetch request to 404 unexpectedly.
x-ref: [slack thread](https://vercel.slack.com/archives/C070ZMMKVU7/p1714511126337289)
When generating the outputs for pages when app router is also present we weren't creating the placeholder `.rsc` outputs for all prerender outputs so when a `fallback: false` route was configured in the pages router that could fall through to an app route it causes issues with client-navigation behaving differently than a direct visit.
This ensures we add the placeholder `.rsc` outputs for all prerenders so that `fallback: false` pages don't have this unexpected behavior.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.7
### Patch Changes
- Updated dependencies
\[[`3420ba015`](3420ba0153)]:
- @vercel/next@4.2.6
## @vercel/next@4.2.6
### Patch Changes
- [next] Update test fixture version
([#11514](https://github.com/vercel/vercel/pull/11514))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.6
### Patch Changes
- Updated dependencies
\[[`b1adaf76e`](b1adaf76ec),
[`3fb97d1d2`](3fb97d1d27)]:
- @vercel/next@4.2.5
- @vercel/static-build@2.5.2
## @vercel/next@4.2.5
### Patch Changes
- Only rewrite next-action requests to `.action` handlers
([#11504](https://github.com/vercel/vercel/pull/11504))
## @vercel/static-build@2.5.2
### Patch Changes
- Revert `SUPPORTED_RUBY_VERSION` change to fix Ruby site generators on
AL2 build image ([#11522](https://github.com/vercel/vercel/pull/11522))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
We accidentally committed a change which prevented the static-build e2e
tests, so fixing that.
Also reverting a change from https://github.com/vercel/vercel/pull/11497
which was causing issues with Ruby-based static site generators when
using the AL2 build image.
This only rewrites requests that contain a `next-action` header (explicitly indicating it's a server action). A side effect is that POST requests to a server action on a static route, without a next-action header, won't be marked as streaming (but will still execute normally). This is fine as only the handled action needs to stream.
This relands .action handling behind a feature flag.
Bumps the core group in /packages/static-build/test/fixtures/ionic-react-v7 with 4 updates: [react](https://github.com/facebook/react/tree/HEAD/packages/react), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react), [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).
Updates `react` from 18.2.0 to 18.3.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/facebook/react/commits/HEAD/packages/react">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~react-bot">react-bot</a>, a new releaser for react since your current version.</p>
</details>
<br />
Updates `@types/react` from 18.2.45 to 18.3.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li>
</ul>
</details>
<br />
Updates `react-dom` from 18.2.0 to 18.3.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/facebook/react/commits/HEAD/packages/react-dom">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~react-bot">react-bot</a>, a new releaser for react-dom since your current version.</p>
</details>
<br />
Updates `@types/react-dom` from 18.2.17 to 18.3.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions
</details>
Bumps the core group in /packages/static-build/test/fixtures/astro-v4 with 1 update: [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro).
Updates `astro` from 4.6.2 to 4.7.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/withastro/astro/releases">astro's releases</a>.</em></p>
<blockquote>
<h2>astro@4.7.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10665">#10665</a> <a href="7b4f284020"><code>7b4f284</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@Princesseuh</code></a>! - Adds new utilities to ease the creation of toolbar apps including <code>defineToolbarApp</code> to make it easier to define your toolbar app and <code>app</code> and <code>server</code> helpers for easier communication between the toolbar and the server. These new utilities abstract away some of the boilerplate code that is common in toolbar apps, and lower the barrier of entry for app authors.</p>
<p>For example, instead of creating an event listener for the <code>app-toggled</code> event and manually typing the value in the callback, you can now use the <code>onAppToggled</code> method. Additionally, communicating with the server does not require knowing any of the Vite APIs anymore, as a new <code>server</code> object is passed to the <code>init</code> function that contains easy to use methods for communicating with the server.</p>
<pre lang="diff"><code>import { defineToolbarApp } from "astro/toolbar";
<p>export default defineToolbarApp({
init(canvas, app, server) {</p>
<ul>
<li>app.addEventListener("app-toggled", (e) => {</li>
<li>
<pre><code> console.log(`App is now ${state ? &quot;enabled&quot; : &quot;disabled&quot;}`);.
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>app.onToggled(({ state }) => {</li>
<li>
<pre><code> console.log(`App is now ${state ? &quot;enabled&quot; : &quot;disabled&quot;}`);
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.send(&quot;my-app:my-client-event&quot;, { message: &quot;world&quot; });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.send("my-app:my-client-event", { message: "world" })</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.on(&quot;my-server-event&quot;, (data: {message: string}) =&gt; {
</code></pre>
</li>
<li>
<pre><code> console.log(data.message);
</code></pre>
</li>
<li>
<pre><code> });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.on<{ message: string }>("my-server-event", (data) => {</li>
<li>
<pre><code> console.log(data.message); // data is typed using the type parameter
</code></pre>
</li>
<li>});
},
})
</code></pre></li>
</ul>
<p>Server helpers are also available on the server side, for use in your integrations, through the new <code>toolbar</code> object:</p>
<pre lang="ts"><code>"astro:server:setup": ({ toolbar }) => {
toolbar.on<{ message: string }>("my-app:my-client-event", (data) => {
console.log(data.message);
toolbar.send("my-server-event", { message: "hello" });
});
}
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md">astro's changelog</a>.</em></p>
<blockquote>
<h2>4.7.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10665">#10665</a> <a href="7b4f284020"><code>7b4f284</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@Princesseuh</code></a>! - Adds new utilities to ease the creation of toolbar apps including <code>defineToolbarApp</code> to make it easier to define your toolbar app and <code>app</code> and <code>server</code> helpers for easier communication between the toolbar and the server. These new utilities abstract away some of the boilerplate code that is common in toolbar apps, and lower the barrier of entry for app authors.</p>
<p>For example, instead of creating an event listener for the <code>app-toggled</code> event and manually typing the value in the callback, you can now use the <code>onAppToggled</code> method. Additionally, communicating with the server does not require knowing any of the Vite APIs anymore, as a new <code>server</code> object is passed to the <code>init</code> function that contains easy to use methods for communicating with the server.</p>
<pre lang="diff"><code>import { defineToolbarApp } from "astro/toolbar";
<p>export default defineToolbarApp({
init(canvas, app, server) {</p>
<ul>
<li>app.addEventListener("app-toggled", (e) => {</li>
<li>
<pre><code> console.log(`App is now ${state ? &quot;enabled&quot; : &quot;disabled&quot;}`);.
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>app.onToggled(({ state }) => {</li>
<li>
<pre><code> console.log(`App is now ${state ? &quot;enabled&quot; : &quot;disabled&quot;}`);
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.send(&quot;my-app:my-client-event&quot;, { message: &quot;world&quot; });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.send("my-app:my-client-event", { message: "world" })</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.on(&quot;my-server-event&quot;, (data: {message: string}) =&gt; {
</code></pre>
</li>
<li>
<pre><code> console.log(data.message);
</code></pre>
</li>
<li>
<pre><code> });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.on<{ message: string }>("my-server-event", (data) => {</li>
<li>
<pre><code> console.log(data.message); // data is typed using the type parameter
</code></pre>
</li>
<li>});
},
})
</code></pre></li>
</ul>
<p>Server helpers are also available on the server side, for use in your integrations, through the new <code>toolbar</code> object:</p>
<pre lang="ts"><code>"astro:server:setup": ({ toolbar }) => {
toolbar.on<{ message: string }>("my-app:my-client-event", (data) => {
console.log(data.message);
toolbar.send("my-server-event", { message: "hello" });
});
}
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9876163406"><code>9876163</code></a> [ci] release (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10865">#10865</a>)</li>
<li><a href="fc097e81a8"><code>fc097e8</code></a> [ci] format</li>
<li><a href="7b4f284020"><code>7b4f284</code></a> feat(toolbar): Toolbar API improvements (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10665">#10665</a>)</li>
<li><a href="6fc4c0e420"><code>6fc4c0e</code></a> feat: add a new message telling the user that a new version of Astro is avail...</li>
<li><a href="43ead8fbd5"><code>43ead8f</code></a> Enable <code>allowJs</code> for <code>strictest.json</code> (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10762">#10762</a>)</li>
<li><a href="8b59d5d078"><code>8b59d5d</code></a> Update sharp to 0.33 to fix issue with Alpine Linux (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10684">#10684</a>)</li>
<li><a href="b673bc8505"><code>b673bc8</code></a> Fix an issue where <code>astro build</code> writes type declaration files to <code>outDir</code> (#...</li>
<li><a href="a94046588c"><code>a940465</code></a> [ci] release (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10842">#10842</a>)</li>
<li><a href="9326531333"><code>9326531</code></a> [ci] format</li>
<li><a href="30cf82ac3e"><code>30cf82a</code></a> Prevents inputs from changing ViewTransitions' form method or action (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10856">#10856</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/withastro/astro/commits/astro@4.7.0/packages/astro">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions
</details>
Add support for ruby3.3 when using AL2023 (Node v20). No support for
ruby3.3 on Node <20 planned.
Ruby integration tests will now running on AL2023
---------
Co-authored-by: Nathan Rajlich <n@n8.io>
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.4
### Patch Changes
- Updated dependencies
\[[`5b7960337`](5b79603378)]:
- @vercel/next@4.2.4
## @vercel/next@4.2.4
### Patch Changes
- [next]: Revert .action handling for dynamic routes
([#11509](https://github.com/vercel/vercel/pull/11509))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Migrate `vc bisect` to updated argument parsing.
I added a `try` block with `handleError`, this seems to be in line with how we do this in other `vc` commands. It might be worth thinking about how we might abstract this logic to centralize it.
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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
## vercel@34.1.3
### Patch Changes
- Updated dependencies
\[[`5758838d0`](5758838d09)]:
- @vercel/next@4.2.3
## @vercel/next@4.2.3
### Patch Changes
- [next] Reland add .action handling for dynamic routes
([#11487](https://github.com/vercel/vercel/pull/11487))
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Migrating `vc alias` to use new argument parsing utilities.
Note that our snapshot tests show that our help text was out of sync with what we were actually parsing from the user.
In particular, we were showing `-n` as the shorthand for both `next` and `limit` and neither of these had this shortflag. `next` was parsing `-N` (capital), so I've updated it to that.
`--json` was parsed, but wasn't mentioned in the help text. I've kept it this way, but it may be worth adding a description. We may want to have a separate discussion about the nature and role of `json` output from our CLI as a whole.
There aren't currently any tests for server actions which have special handling in the builder. This adds tests to help avoid regressions in future Next.js builder work.