Compare commits

...

222 Commits

Author SHA1 Message Date
Vercel Release Bot
a26cbd8199 Version Packages (#11674)
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/python@4.3.0

### Minor Changes

- support newer python versions
([#11675](https://github.com/vercel/vercel/pull/11675))

## @vercel/build-utils@8.2.1

### Patch Changes

- [node] update node@16 deprecation day
([#11671](https://github.com/vercel/vercel/pull/11671))

## vercel@34.2.4

### Patch Changes

- Updated dependencies
\[[`3eb9d8c89`](3eb9d8c892),
[`83741a0eb`](83741a0eb9)]:
    -   @vercel/python@4.3.0
    -   @vercel/build-utils@8.2.1
    -   @vercel/node@3.1.6
    -   @vercel/static-build@2.5.10

## @vercel/client@13.2.8

### Patch Changes

- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
    -   @vercel/build-utils@8.2.1

## @vercel/gatsby-plugin-vercel-builder@2.0.32

### Patch Changes

- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
    -   @vercel/build-utils@8.2.1

## @vercel/node@3.1.6

### Patch Changes

- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
    -   @vercel/build-utils@8.2.1

## @vercel/static-build@2.5.10

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.32

## @vercel-internals/types@1.0.37

### Patch Changes

- Updated dependencies
\[[`83741a0eb`](83741a0eb9)]:
    -   @vercel/build-utils@8.2.1

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-30 14:00:25 -05:00
Trek Glowacki
3eb9d8c892 support newer python versions (#11675)
When we added the option of getting `al2023` in addition to `al2`, this required a python version bump for those apps on `al2023`. Python 3.10 had a breaking minor change. https://github.com/vercel/vercel/pull/11541 mostly fixed it, with some comments.

OP hasn't replied to feedback on that PR, so I've take it over from them.
2024-05-30 18:46:28 +00:00
Trek Glowacki
83741a0eb9 [node] update node@16 deprecation day (#11671)
Double check my dates, but I believe this is the new correct date we want. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
2024-05-30 15:24:15 +00:00
Jeff See
9db0298981 Switch from jest to vitest for remix builder (#11652) 2024-05-28 17:02:45 +00:00
Vercel Release Bot
af29e9be49 Version Packages (#11648)
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.2.3

### Patch Changes

- Don't create streaming lambdas for pages router routes
([#11660](https://github.com/vercel/vercel/pull/11660))

- Updated dependencies
\[[`c9d53d4e3`](c9d53d4e3e),
[`5f561f8cf`](5f561f8cfa)]:
    -   @vercel/next@4.2.14

## @vercel/next@4.2.14

### Patch Changes

- Don't create streaming lambdas for pages router routes
([#11660](https://github.com/vercel/vercel/pull/11660))

- Ensure user rewrites still match to action outputs
([#11628](https://github.com/vercel/vercel/pull/11628))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-24 15:19:28 -07:00
Wyatt Johnson
c9d53d4e3e [next] Ensure only pages enable streaming (#11660)
This fixes a regression introduced by #11625 that enabled streaming for
routes on the pages router (these routes do not support streaming).
2024-05-24 15:15:32 -07:00
Trek Glowacki
a26ea7bf12 [tests] bump datadog installed version (#11651)
Unsure if this is related to `vitest` migration or something else but a dependency of the `datadog-ci` version we use is gone and [now errors](https://github.com/vercel/vercel/actions/runs/9213580743/job/25348743824?pr=11650). Bumping it to latest.
2024-05-23 20:44:34 +00:00
Trek Glowacki
866d0c173d [tests] remove unused opts.skipTeam (#11650)
I can't find this being used anywhere.
2024-05-23 15:25:04 -05:00
Zack Tanner
5f561f8cfa [next]: ensure user rewrites match to action outputs (#11628)
The builder normalizes user rewrites that target pages that have special outputs (`.rsc`, `.prefetch.rsc`). When we added support for `.action` outputs, we need to perform this same normalization to ensure that user rewrites still match. If the rewrite was a greedy match (eg `/:path*`) it'd be ok, but more specific rewrites would have the issue.
2024-05-23 19:06:25 +00:00
Nathan Rajlich
139e8cdb17 [node] Use vitest for unit tests (#11631)
Similar to #11302, but for the `@vercel/node` package.
2024-05-23 18:20:18 +00:00
Vercel Release Bot
6529a9ab9c Version Packages (#11637)
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.2.2

### Patch Changes

- Fix related to erroring when a prefetch route is not provided but the
route is PPR enabled
([#11638](https://github.com/vercel/vercel/pull/11638))

- Updated dependencies
\[[`8e44ef5b9`](8e44ef5b9d),
[`61e6af374`](61e6af3740)]:
    -   @vercel/next@4.2.13

## @vercel/next@4.2.13

### Patch Changes

- Fix static case for detecting when a page supports PPR
([#11635](https://github.com/vercel/vercel/pull/11635))

- Fix related to erroring when a prefetch route is not provided but the
route is PPR enabled
([#11638](https://github.com/vercel/vercel/pull/11638))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-23 10:33:01 +02:00
Wyatt Johnson
61e6af3740 [ppr] Fix for error case involving prefetch data routes (#11638)
Only error when the prefetch data route is present but the route also
has PPR enabled.
2024-05-23 10:28:05 +02:00
Wyatt Johnson
8e44ef5b9d [ppr] Fix static case (#11635)
When PPR is enabled in incremental mode, the previous code used the page information to determine if there was a failure for generating the flight data. This has been moved to the app PPR setting instead.
2024-05-23 05:23:26 +00:00
Wyatt Johnson
fe9e27c459 chore: bump react version (#11636) 2024-05-23 05:14:10 +00:00
Vercel Release Bot
8a6dc204fd Version Packages (#11634)
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.2.1

### Patch Changes

- Support incremental PPR for large applications
([#11625](https://github.com/vercel/vercel/pull/11625))

- Updated dependencies
\[[`73e558913`](73e558913a)]:
    -   @vercel/next@4.2.12

## @vercel/next@4.2.12

### Patch Changes

- Support incremental PPR for large applications
([#11625](https://github.com/vercel/vercel/pull/11625))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-22 21:14:01 -07:00
Wyatt Johnson
73e558913a [ppr] Fix PPR detection for groups (#11625)
Previously, PPR was either all on, or all off. As we've added support for incremental adoption of PPR, the logic for determining if there's a grouping issue had to be adjusted.

This now only considers a group as supporting PPR if a route in the group supports PPR. As we also use this as a grouping key, this still ensures we won't have conflicts.
2024-05-23 04:06:12 +00:00
Wyatt Johnson
464cb26255 chore: bump react versions (#11632) 2024-05-22 19:45:03 -07:00
Zack Tanner
80e0bab0ec [next] Fix Next.js tests (#11610)
Syncs the experimental React dependency to avoid build errors. 

This was updated in:
- https://github.com/vercel/next.js/pull/65864
2024-05-17 22:24:53 +00:00
Trek Glowacki
f900ca8daf [framework-fixtures] add missing dependency to dependabot (#11606)
Hydrogen has a peer-dep on remix.
2024-05-16 20:33:36 -05:00
Nathan Rajlich
9ee7d31957 [cli] Add test for CLI extensions passing through exit code (#11600)
/cc @codybrouwers
2024-05-15 20:02:40 +00:00
Vercel Release Bot
1eb76a3ae7 Version Packages (#11598)
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/build-utils@8.2.0

### Minor Changes

- fix corepack detection for package manager version determination
([#11596](https://github.com/vercel/vercel/pull/11596))

### Patch Changes

- Fix triggering of ignored project settings node version warning
([#11550](https://github.com/vercel/vercel/pull/11550))

## vercel@34.2.0

### Minor Changes

- Stop sending system environment variables in dev
([#11526](https://github.com/vercel/vercel/pull/11526))

### Patch Changes

- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
    -   @vercel/build-utils@8.2.0
    -   @vercel/node@3.1.5
    -   @vercel/static-build@2.5.9

## @vercel/client@13.2.7

### Patch Changes

- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
    -   @vercel/build-utils@8.2.0

## @vercel/gatsby-plugin-vercel-builder@2.0.31

### Patch Changes

- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
    -   @vercel/build-utils@8.2.0

## @vercel/node@3.1.5

### Patch Changes

- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
    -   @vercel/build-utils@8.2.0

## @vercel/static-build@2.5.9

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.31

## @vercel-internals/types@1.0.36

### Patch Changes

- Updated dependencies
\[[`d3c1267e2`](d3c1267e24),
[`ccd7eb1fb`](ccd7eb1fb7)]:
    -   @vercel/build-utils@8.2.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-15 14:26:56 -05:00
Sean Massa
ccd7eb1fb7 fix corepack detection for package manager version determination (#11596)
The previous logic was checking for the env var `ENABLE_EXPERIMENTAL_COREPACK` to determine if corepack was being used by a project. However, this value only means that the build system should consider corepack, not that it's actively being used.

We need to check that flag AND the existence of a `packageManager` property in the project's `package.json`.
2024-05-15 19:25:01 +00:00
Austin Merrick
41c44d6594 [build-utils] Refactor getNodeVersion (#11599)
Makes variable names more clear and consistent.
2024-05-15 17:17:41 +00:00
Austin Merrick
446ac49e2b [cli] Don't pull system environment vars in dev (#11526)
System environment variables would get set with empty strings in development which breaks some builds. This fixes that by using the v2 of `/env/pull` introduced in https://github.com/vercel/api/pull/27777.
2024-05-15 12:17:47 +00:00
Austin Merrick
d3c1267e24 [build-utils] Fix warn for ignored project settings node version (#11550)
There were scenarios where the warning "Node.js Version defined in your Project Settings ("18.x") will not apply" would not be triggered. For example:

1. Project Setting is 18.x
2. package.json has "engines.node": ">=18.x"
3. semver.intersects('18.x', '>=18.x') // => true (In this [code path](8ea93839cc/packages/build-utils/src/fs/run-user-scripts.ts (L258))) -> No warning message that Node.js Version was changed
4. After the error message we evaluate the latest node Version to use (20.x) in getSupportedNodeVersion()(this [code path](8ea93839cc/packages/build-utils/src/fs/run-user-scripts.ts (L274)))
5. User doesn't get notified that we changed the node version to something different than their project setting

This fixes that scenario by getting the supported node version first.
2024-05-14 23:23:17 +00:00
Sean Massa
b09d7b6130 [tests] allow errors to define retry delay (#11597)
Errors can now define their own retry delay. This is necessary for some
kinds of errors where all retries will run within the same second.
2024-05-14 14:15:31 -05:00
Vercel Release Bot
f78b315a50 Version Packages (#11595)
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/build-utils@8.1.3

### Patch Changes

- [build-utils] log more around package manager detection
([#11594](https://github.com/vercel/vercel/pull/11594))

## vercel@34.1.14

### Patch Changes

- Updated dependencies
\[[`ad6945435`](ad69454352)]:
    -   @vercel/build-utils@8.1.3
    -   @vercel/node@3.1.4
    -   @vercel/static-build@2.5.8

## @vercel/client@13.2.6

### Patch Changes

- Updated dependencies
\[[`ad6945435`](ad69454352)]:
    -   @vercel/build-utils@8.1.3

## @vercel/gatsby-plugin-vercel-builder@2.0.30

### Patch Changes

- Updated dependencies
\[[`ad6945435`](ad69454352)]:
    -   @vercel/build-utils@8.1.3

## @vercel/node@3.1.4

### Patch Changes

- Updated dependencies
\[[`ad6945435`](ad69454352)]:
    -   @vercel/build-utils@8.1.3

## @vercel/static-build@2.5.8

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.30

## @vercel-internals/types@1.0.35

### Patch Changes

- Updated dependencies
\[[`ad6945435`](ad69454352)]:
    -   @vercel/build-utils@8.1.3

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-13 17:07:24 -05:00
Sean Massa
ad69454352 [build-utils] log more around package manager detection (#11594)
Add more loggign around package manager detection to see why we're not
properly detecting `pnpm` given a pnpm lockfile.
2024-05-13 17:05:25 -05:00
Vercel Release Bot
14059906d3 Version Packages (#11593)
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/build-utils@8.1.2

### Patch Changes

- add log to package manager version detection
([#11592](https://github.com/vercel/vercel/pull/11592))

## vercel@34.1.13

### Patch Changes

- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
    -   @vercel/build-utils@8.1.2
    -   @vercel/node@3.1.3
    -   @vercel/static-build@2.5.7

## @vercel/client@13.2.5

### Patch Changes

- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
    -   @vercel/build-utils@8.1.2

## @vercel/gatsby-plugin-vercel-builder@2.0.29

### Patch Changes

- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
    -   @vercel/build-utils@8.1.2

## @vercel/node@3.1.3

### Patch Changes

- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
    -   @vercel/build-utils@8.1.2

## @vercel/static-build@2.5.7

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.29

## @vercel-internals/types@1.0.34

### Patch Changes

- Updated dependencies
\[[`1682ad43d`](1682ad43d0)]:
    -   @vercel/build-utils@8.1.2

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-13 14:03:47 -05:00
Sean Massa
1682ad43d0 [build-utils] add log to package manager version detection (#11592) 2024-05-13 19:01:58 +00:00
Vercel Release Bot
423630a168 Version Packages (#11589)
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/build-utils@8.1.1

### Patch Changes

- [build-utils] pnpm lockfile testing and fixing
([#11591](https://github.com/vercel/vercel/pull/11591))

## vercel@34.1.12

### Patch Changes

- Updated dependencies
\[[`67afc2608`](67afc26085),
[`2f7a6ed5f`](2f7a6ed5f9)]:
    -   @vercel/next@4.2.11
    -   @vercel/build-utils@8.1.1
    -   @vercel/node@3.1.2
    -   @vercel/static-build@2.5.6

## @vercel/client@13.2.4

### Patch Changes

- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
    -   @vercel/build-utils@8.1.1

## @vercel/gatsby-plugin-vercel-builder@2.0.28

### Patch Changes

- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
    -   @vercel/build-utils@8.1.1

## @vercel/next@4.2.11

### Patch Changes

- normalize source file locations for special metadata files
([#11579](https://github.com/vercel/vercel/pull/11579))

## @vercel/node@3.1.2

### Patch Changes

- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
    -   @vercel/build-utils@8.1.1

## @vercel/static-build@2.5.6

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.28

## @vercel-internals/types@1.0.33

### Patch Changes

- Updated dependencies
\[[`2f7a6ed5f`](2f7a6ed5f9)]:
    -   @vercel/build-utils@8.1.1

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-13 13:18:24 -05:00
Sean Massa
2f7a6ed5f9 [build-utils] log pnpm lockfile selection (#11591)
Both `pnpm@6` and `pnpm@7` can parse lockfile versions `5.3` and `5.4`, but if there's a mismatch, `pnpm` will output a warning saying so. In order to prevent confusing warnings from being displayed to the user, this PR aligns the pnpm version with the exact lockfile verison.

It also adds a debug log to show which package manager version was determined based on the lockfile version.
2024-05-13 18:16:24 +00:00
Zack Tanner
67afc26085 [next]: normalize source path for special app-dir metadata files (#11579)
When specifying a functions configuration in `vercel.json`, we attempt to find source files for all entrypoints.  This attempts to normalize those source paths for some special cases so that we don't show a build warning for completely normal usage.

- `/_not-found` is an entrypoint automatically inserted by Next.js -- if we don't find a source file for it, don't warn, as the user might not have added one
- special metadata files like `favicon.ico` and `opengraph-image.<ext>` will be bundled as `favicon.ico/route.js` but the source file will be the raw extension.
2024-05-13 16:04:16 +00:00
Vercel Release Bot
c224fb1d2e Version Packages (#11584)
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/build-utils@8.1.0

### Minor Changes

- Update pnpm version detection logic
([#11445](https://github.com/vercel/vercel/pull/11445))
    Add support for pnpm 9

## vercel@34.1.11

### Patch Changes

- Updated dependencies
\[[`5014b1e82`](5014b1e82a),
[`18d1703d5`](18d1703d5b),
[`e87d4c14d`](e87d4c14d0),
[`bc5fd4115`](bc5fd41158)]:
    -   @vercel/build-utils@8.1.0
    -   @vercel/next@4.2.10
    -   @vercel/redwood@2.0.9
    -   @vercel/remix-builder@2.1.6
    -   @vercel/node@3.1.1
    -   @vercel/static-build@2.5.5

## @vercel/client@13.2.3

### Patch Changes

- Updated dependencies
\[[`5014b1e82`](5014b1e82a)]:
    -   @vercel/build-utils@8.1.0

## @vercel/gatsby-plugin-vercel-builder@2.0.27

### Patch Changes

- Updated dependencies
\[[`5014b1e82`](5014b1e82a)]:
    -   @vercel/build-utils@8.1.0

## @vercel/next@4.2.10

### Patch Changes

- skip action rewrites for RSC requests
([#11576](https://github.com/vercel/vercel/pull/11576))

- Bump `@vercel/nft@0.27.0`
([#11580](https://github.com/vercel/vercel/pull/11580))

## @vercel/node@3.1.1

### Patch Changes

- Bump `@vercel/nft@0.27.0`
([#11580](https://github.com/vercel/vercel/pull/11580))

- Updated dependencies
\[[`5014b1e82`](5014b1e82a)]:
    -   @vercel/build-utils@8.1.0

## @vercel/redwood@2.0.9

### Patch Changes

- Bump `@vercel/nft@0.27.0`
([#11580](https://github.com/vercel/vercel/pull/11580))

## @vercel/remix-builder@2.1.6

### Patch Changes

- Bump `@vercel/nft@0.27.0`
([#11580](https://github.com/vercel/vercel/pull/11580))

- Update `@remix-run/dev` fork to v2.9.2-patch.2
([#11582](https://github.com/vercel/vercel/pull/11582))

## @vercel/static-build@2.5.5

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.27

## @vercel-internals/types@1.0.32

### Patch Changes

- Updated dependencies
\[[`5014b1e82`](5014b1e82a)]:
    -   @vercel/build-utils@8.1.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-11 14:36:18 -05:00
Erika Rowland
5014b1e82a Update pnpm version detection logic (#11445)
The code we use to detect the version of `pnpm` based on lockfiles is hard to follow. It doesn't pick and executable, it instead of *sometimes* overrides the `PATH` for these utilities with a prepended alternate path. 

This means that there is no one single place where we definitively specify which version of `pnpm` that is used, so much as *hope* that the `PATH` has the correct version on it. I don't know that we *can* specify an executable outside of the build container, and it's unclear, since this is a package, whether this utility is used outside of a build container setting.

In this pull request I cleaned up the code and updated the logic to include the `pnpm 7` and `pnpm 8` changes requested, with no changes yet to implement `pnpm 9`.

It's possible that we want to rewrite this detection logic from scratch to avoid this roundabout way of "finding" the executable, but I haven't done that here.
2024-05-11 07:09:53 +00:00
Steven
6a8a84907b [tests] remove styfle from codeowners (#11585)
Remove `styfle` from codeowners
2024-05-11 04:25:41 +00:00
Sean Massa
722adf0e10 some errors can specify retries (#11581)
Trying a different approach to retrying errors when logs must contain a value.

Alternative to: https://github.com/vercel/vercel/pull/11577
2024-05-10 22:19:10 +00:00
Vercel Release Bot
bc5fd41158 [remix] Update @remix-run/dev to v2.9.2-patch.2 (#11582)
This auto-generated PR updates `@remix-run/dev` to version 2.9.2-patch.2.
2024-05-10 21:35:49 +00:00
Austin Merrick
e87d4c14d0 [node][next][redwood][remix] bump @vercel/nft@0.27.0 (#11580)
[@vercel/nft@0.27.0](https://github.com/vercel/nft/releases/tag/0.27.0) is necessary for parsing import assertions. Import assertions are causing [this issue](https://github.com/vercel/vercel/issues/11533).
2024-05-10 21:25:40 +00:00
Kiko Beats
bc95d764b4 ci: add Node.js v18 tests (#11575)
Some tests are skipped because CI tests are running against v16.

I added a new GitHub CI job just inlcuding the tests that are skipped for now.
2024-05-10 21:15:37 +00:00
Nathan Rajlich
1b5ce5644f [examples] Fix "remix" template (#11583)
`@vercel/remix@2.9.2` is broken, but that's the version that tries to
get installed from the `^` caret. For now, explicitly use the
`2.9.2-patch.2` release which works correctly.
2024-05-10 14:11:16 -07:00
Zack Tanner
18d1703d5b [next]: skip action rewrite if RSC header is present (#11576)
When rewriting requests that contain a `next-action` header to a `.action` output, we should do so only in the case where the RSC header isn't present. When a Next.js server action triggers a `redirect`, an intra-app RSC request will be made to that requested URL, with the `next-action` header still present. This means the intra-app request will be incorrectly rewritten, when we only intended to handle the actual action request.

This was patched in Next.js in the following PR:
- https://github.com/vercel/next.js/pull/65615

But it seems like a good idea to be resilient to this here as well.
2024-05-10 21:09:56 +00:00
Zack Tanner
5c6f9c0b66 [tests] fix maxDuration integration test (#11578)
Since maxDuration was updated for this tier ([x-ref](https://vercel.com/changelog/vercel-functions-for-hobby-can-now-run-up-to-60-seconds))
2024-05-10 18:39:49 +00:00
Vercel Release Bot
809740b385 Version Packages (#11570)
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>
2024-05-09 18:12:02 -07:00
Nathan Rajlich
bf9acd023d [functions] Convert to CommonJS (#11569)
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.
2024-05-09 18:10:39 -07:00
Vercel Release Bot
f4ba9cdcf8 Version Packages (#11564)
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>
2024-05-09 10:03:52 -07:00
Zack Tanner
11584b0e9b [next] ensure action outputs are created for edge functions (#11568)
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`.
2024-05-09 01:39:08 +00:00
JJ Kasper
3023122d4e [next] Update react version in next fixtures (#11566)
We are locking the peerDependency to react v19 beta on canary so we need to update these fixtures to tolerate that. 

x-ref: [slack thread](https://vercel.slack.com/archives/C048KLPEEH1/p1715191372631389)
x-ref: https://github.com/vercel/next.js/pull/65058
2024-05-08 23:33:24 +00:00
Nathan Rajlich
0e774b6be0 [static-build] Fix Cannot read properties of null error (#11559)
A bug was introduced in #11529 that causes the build to fail if `ruby`
is not installed. The fix here accounts for that scenario.

Closes #11547.
2024-05-08 11:44:49 -07:00
Wyatt Johnson
119f80e961 [next] Support Incremental Partial Prerendering (#11560)
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.
2024-05-08 08:13:39 -06:00
Vercel Release Bot
9fe92d7de0 Version Packages (#11558)
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>
2024-05-07 17:13:10 +02:00
Kiko Beats
0817527f9e [@vercel/functions]: don't throw error if context is missing (#11557)
making `waituntil` a noop
2024-05-07 17:02:23 +02:00
Vercel Release Bot
6476f4f786 Version Packages (#11551)
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.0

### Major Changes

- Initial release
([#11553](https://github.com/vercel/vercel/pull/11553))

## @vercel/node@3.1.0

### Minor Changes

- Make waitUntil consistent for Node.js & Edge
([#11553](https://github.com/vercel/vercel/pull/11553))

## vercel@34.1.9

### Patch Changes

- Updated dependencies
\[[`5a532a5b9`](5a532a5b94),
[`50fc27ba5`](50fc27ba57),
[`c1d852295`](c1d8522950),
[`a5ea04154`](a5ea04154b)]:
    -   @vercel/next@4.2.8
    -   @vercel/node@3.1.0

## @vercel/next@4.2.8

### Patch Changes

- Fix missing initial RSC headers
([#11552](https://github.com/vercel/vercel/pull/11552))

- Remove .prefetch.rsc rewrites for non-PPR
([#11540](https://github.com/vercel/vercel/pull/11540))

- [next] rename middleware manifest env
([#11549](https://github.com/vercel/vercel/pull/11549))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-07 15:40:37 +02:00
Kiko Beats
a5ea04154b Make waitUntil consistent for Node.js & Edge (#11553)
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>
2024-05-07 15:36:43 +02:00
JJ Kasper
5a532a5b94 [next] Fix missing initial RSC headers (#11552)
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
2024-05-07 07:43:00 +00:00
Jiachi Liu
c1d8522950 [next] rename middleware manifest env (#11549)
Rename `environment` property to `env` from middleware manifest added in
#11390.
Align with https://github.com/vercel/next.js/pull/64521

The `environments` property wasn't working properly before due to
unfinished next.js changes, it should work now after testing with next
build from https://github.com/vercel/next.js/pull/64521. We change it to
a better naming word `env`.
2024-05-06 21:32:07 +02:00
JJ Kasper
50fc27ba57 [next] Remove .prefetch.rsc rewrites for non-PPR (#11540)
Removes .prefetch.rsc rewrites rules for non-PPR, as Next.js doesn't emit any static prefetches otherwise
2024-05-06 18:17:22 +00:00
Joel Henningsen
3101d2497f Fix broken link to Code of Conduct in README (#11544)
### Purpose of the Pull Request

This PR addresses a broken link in the README.md file that is supposed
to direct readers to the Code of Conduct. Previously, the link pointed
to `CODE_OF_CONDUCT.md`, which does not exist in the repository's main
directory. The corrected link points to the actual location of the file
in the `.github` directory.

### Changes Made

- Updated the link to the Code of Conduct from `[Code of
Conduct](CODE_OF_CONDUCT.md)` to `[Code of
Conduct](./.github/CODE_OF_CONDUCT.md)` to reflect the correct path.

### Additional Information

I previously opened discussion #11498 regarding this issue with the goal
of following the [Contribuing
Guidelines](https://github.com/vercel/vercel?tab=readme-ov-file#contributing),
but did not receive any feedback over the past week. Given the nature of
the change (a simple documentation fix), I proceeded with this pull
request to ensure the documentation remains useful and accurate for all
users.

### Impact

This change will help ensure that new contributors and users can easily
access the Code of Conduct, fostering better community interactions and
adherence to project standards.

Thank you for considering this pull request. I am open to any further
suggestions or requirements needed to merge this change.
2024-05-04 17:28:21 -07:00
Vercel Release Bot
4b0716b556 Version Packages (#11524)
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>
2024-05-03 10:01:03 -07:00
JJ Kasper
124846a3e6 [next] Fix base path app index RSC handling (#11528)
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
2024-05-02 21:07:58 +00:00
dependabot[bot]
30cd0ec898 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/ionic-angular-v8 with 2 updates (#11530)
Bumps the core group in /packages/static-build/test/fixtures/ionic-angular-v8 with 2 updates: [@ionic/angular](https://github.com/ionic-team/ionic-framework) and [@ionic/core](https://github.com/ionic-team/ionic-framework).

Updates `@ionic/angular` from 8.0.1 to 8.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/angular</code>'s releases</a>.</em></p>
<blockquote>
<h2>v8.1.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0">8.1.0</a> (2024-05-01)</h1>
<h3>Features</h3>
<ul>
<li>add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>) (<a href="5b686efc10">5b686ef</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23650">#23650</a></li>
<li><strong>content:</strong> add fixedSlotPlacement prop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29233">#29233</a>) (<a href="90a7e70a1c">90a7e70</a>)</li>
<li><strong>datetime:</strong> pass roles to overlay when dismissing (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29221">#29221</a>) (<a href="6945adc3cc">6945adc</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28298">#28298</a></li>
<li><strong>input:</strong> add clearInputIcon property (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29246">#29246</a>) (<a href="0f5d1c02d2">0f5d1c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26974">#26974</a></li>
<li><strong>modal, popover:</strong> add ability to temporarily disable focus trapping (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29379">#29379</a>) (<a href="7c00351680">7c00351</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24646">#24646</a></li>
<li><strong>picker:</strong> picker column is easier to select with assistive technology (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29371">#29371</a>) (<a href="e38e2e4d35">e38e2e4</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/25221">#25221</a></li>
</ul>
<h2>v8.0.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.0.2">8.0.2</a> (2024-05-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>) (<a href="4d09890d69">4d09890</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29198">#29198</a></li>
<li><strong>ios:</strong> large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>) (<a href="bd8d065e1a">bd8d065</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28751">#28751</a></li>
<li><strong>md:</strong> item border has improved contrast in dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29398">#29398</a>) (<a href="fa85f030cf">fa85f03</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29386">#29386</a></li>
<li><strong>select:</strong> options are visible with fit-content width and fill outline (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29408">#29408</a>) (<a href="f15b62a9ca">f15b62a</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29321">#29321</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/angular</code>'s changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0">8.1.0</a> (2024-05-01)</h1>
<h3>Features</h3>
<ul>
<li>add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>) (<a href="5b686efc10">5b686ef</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23650">#23650</a></li>
<li><strong>content:</strong> add fixedSlotPlacement prop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29233">#29233</a>) (<a href="90a7e70a1c">90a7e70</a>)</li>
<li><strong>datetime:</strong> pass roles to overlay when dismissing (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29221">#29221</a>) (<a href="6945adc3cc">6945adc</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28298">#28298</a></li>
<li><strong>input:</strong> add clearInputIcon property (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29246">#29246</a>) (<a href="0f5d1c02d2">0f5d1c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26974">#26974</a></li>
<li><strong>modal, popover:</strong> add ability to temporarily disable focus trapping (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29379">#29379</a>) (<a href="7c00351680">7c00351</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24646">#24646</a></li>
<li><strong>picker:</strong> picker column is easier to select with assistive technology (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29371">#29371</a>) (<a href="e38e2e4d35">e38e2e4</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/25221">#25221</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.0.2">8.0.2</a> (2024-05-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>) (<a href="4d09890d69">4d09890</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29198">#29198</a></li>
<li><strong>ios:</strong> large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>) (<a href="bd8d065e1a">bd8d065</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28751">#28751</a></li>
<li><strong>md:</strong> item border has improved contrast in dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29398">#29398</a>) (<a href="fa85f030cf">fa85f03</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29386">#29386</a></li>
<li><strong>select:</strong> options are visible with fit-content width and fill outline (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29408">#29408</a>) (<a href="f15b62a9ca">f15b62a</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29321">#29321</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="78d3076703"><code>78d3076</code></a> v8.1.0</li>
<li><a href="4ef5036c7b"><code>4ef5036</code></a> chore: sync with main (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29433">#29433</a>)</li>
<li><a href="72711bba2e"><code>72711bb</code></a> chore: sync with main</li>
<li><a href="d81c88403e"><code>d81c884</code></a> merge release-8.0.2 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29431">#29431</a>)</li>
<li><a href="5b686efc10"><code>5b686ef</code></a> feat: add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>)</li>
<li><a href="665d67778f"><code>665d677</code></a> chore(): update package lock files</li>
<li><a href="101b50e14c"><code>101b50e</code></a> v8.0.2</li>
<li><a href="a01c3d49bb"><code>a01c3d4</code></a> docs(testing, components): clarify testing and focusable usage (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29424">#29424</a>)</li>
<li><a href="bd8d065e1a"><code>bd8d065</code></a> fix(ios): large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>)</li>
<li><a href="4d09890d69"><code>4d09890</code></a> fix(datetime): navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.1.0">compare view</a></li>
</ul>
</details>
<br />

Updates `@ionic/core` from 8.0.1 to 8.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v8.1.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0">8.1.0</a> (2024-05-01)</h1>
<h3>Features</h3>
<ul>
<li>add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>) (<a href="5b686efc10">5b686ef</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23650">#23650</a></li>
<li><strong>content:</strong> add fixedSlotPlacement prop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29233">#29233</a>) (<a href="90a7e70a1c">90a7e70</a>)</li>
<li><strong>datetime:</strong> pass roles to overlay when dismissing (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29221">#29221</a>) (<a href="6945adc3cc">6945adc</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28298">#28298</a></li>
<li><strong>input:</strong> add clearInputIcon property (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29246">#29246</a>) (<a href="0f5d1c02d2">0f5d1c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26974">#26974</a></li>
<li><strong>modal, popover:</strong> add ability to temporarily disable focus trapping (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29379">#29379</a>) (<a href="7c00351680">7c00351</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24646">#24646</a></li>
<li><strong>picker:</strong> picker column is easier to select with assistive technology (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29371">#29371</a>) (<a href="e38e2e4d35">e38e2e4</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/25221">#25221</a></li>
</ul>
<h2>v8.0.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.0.2">8.0.2</a> (2024-05-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>) (<a href="4d09890d69">4d09890</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29198">#29198</a></li>
<li><strong>ios:</strong> large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>) (<a href="bd8d065e1a">bd8d065</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28751">#28751</a></li>
<li><strong>md:</strong> item border has improved contrast in dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29398">#29398</a>) (<a href="fa85f030cf">fa85f03</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29386">#29386</a></li>
<li><strong>select:</strong> options are visible with fit-content width and fill outline (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29408">#29408</a>) (<a href="f15b62a9ca">f15b62a</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29321">#29321</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/core</code>'s changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0">8.1.0</a> (2024-05-01)</h1>
<h3>Features</h3>
<ul>
<li>add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>) (<a href="5b686efc10">5b686ef</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23650">#23650</a></li>
<li><strong>content:</strong> add fixedSlotPlacement prop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29233">#29233</a>) (<a href="90a7e70a1c">90a7e70</a>)</li>
<li><strong>datetime:</strong> pass roles to overlay when dismissing (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29221">#29221</a>) (<a href="6945adc3cc">6945adc</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28298">#28298</a></li>
<li><strong>input:</strong> add clearInputIcon property (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29246">#29246</a>) (<a href="0f5d1c02d2">0f5d1c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26974">#26974</a></li>
<li><strong>modal, popover:</strong> add ability to temporarily disable focus trapping (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29379">#29379</a>) (<a href="7c00351680">7c00351</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24646">#24646</a></li>
<li><strong>picker:</strong> picker column is easier to select with assistive technology (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29371">#29371</a>) (<a href="e38e2e4d35">e38e2e4</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/25221">#25221</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.0.2">8.0.2</a> (2024-05-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>) (<a href="4d09890d69">4d09890</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29198">#29198</a></li>
<li><strong>ios:</strong> large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>) (<a href="bd8d065e1a">bd8d065</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28751">#28751</a></li>
<li><strong>md:</strong> item border has improved contrast in dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29398">#29398</a>) (<a href="fa85f030cf">fa85f03</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29386">#29386</a></li>
<li><strong>select:</strong> options are visible with fit-content width and fill outline (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29408">#29408</a>) (<a href="f15b62a9ca">f15b62a</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29321">#29321</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="78d3076703"><code>78d3076</code></a> v8.1.0</li>
<li><a href="4ef5036c7b"><code>4ef5036</code></a> chore: sync with main (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29433">#29433</a>)</li>
<li><a href="72711bba2e"><code>72711bb</code></a> chore: sync with main</li>
<li><a href="d81c88403e"><code>d81c884</code></a> merge release-8.0.2 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29431">#29431</a>)</li>
<li><a href="5b686efc10"><code>5b686ef</code></a> feat: add experimental transition focus manager (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29400">#29400</a>)</li>
<li><a href="665d67778f"><code>665d677</code></a> chore(): update package lock files</li>
<li><a href="101b50e14c"><code>101b50e</code></a> v8.0.2</li>
<li><a href="a01c3d49bb"><code>a01c3d4</code></a> docs(testing, components): clarify testing and focusable usage (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29424">#29424</a>)</li>
<li><a href="bd8d065e1a"><code>bd8d065</code></a> fix(ios): large title transition accounts for back button with no text  (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29327">#29327</a>)</li>
<li><a href="4d09890d69"><code>4d09890</code></a> fix(datetime): navigating months in RTL works correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29421">#29421</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v8.0.1...v8.1.0">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>
2024-05-02 15:23:12 +00:00
Nathan Rajlich
dc974b6797 [static-build] Support Ruby static site generators in AL2023 build image (#11529)
* 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
2024-05-02 00:57:59 -07:00
JJ Kasper
58c6755e0c [next] Fix interception routes PPR route handling (#11527)
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)
2024-05-01 22:40:04 +00:00
dependabot[bot]
f18575fcd0 [framework-fixtures]: Bump preact from 10.20.1 to 10.21.0 in /packages/static-build/test/fixtures/preact-v10 in the core group (#11517)
Bumps the core group in /packages/static-build/test/fixtures/preact-v10 with 1 update: [preact](https://github.com/preactjs/preact).

Updates `preact` from 10.20.1 to 10.21.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/preactjs/preact/releases">preact's releases</a>.</em></p>
<blockquote>
<h2>10.21.0</h2>
<h2>Features</h2>
<ul>
<li>Debug throw on too many rerenders (<a href="https://redirect.github.com/preactjs/preact/issues/4349">#4349</a>, thanks <a href="https://github.com/rschristian"><code>@​rschristian</code></a>)</li>
<li>Add compat/client types (<a href="https://redirect.github.com/preactjs/preact/issues/4345">#4345</a>, thanks <a href="https://github.com/rschristian"><code>@​rschristian</code></a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Expose hooks through compat's <code>ReactCurrentDispatcher</code> (<a href="https://redirect.github.com/preactjs/preact/issues/4342">#4342</a>, thanks <a href="https://github.com/rschristian"><code>@​rschristian</code></a>)</li>
<li>Respect default value (<a href="https://redirect.github.com/preactjs/preact/issues/4341">#4341</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Incorrect &quot;missing transform-jsx-source&quot; warning (<a href="https://redirect.github.com/preactjs/preact/issues/4350">#4350</a>, thanks <a href="https://github.com/rschristian"><code>@​rschristian</code></a>)</li>
</ul>
<h2>Types</h2>
<ul>
<li>Support ComponentChild(ren) in compat render/hydrate/createPortal (<a href="https://redirect.github.com/preactjs/preact/issues/4346">#4346</a>, thanks <a href="https://github.com/rschristian"><code>@​rschristian</code></a>)</li>
<li>Import and re-export PreactElement (<a href="https://redirect.github.com/preactjs/preact/issues/3228">#3228</a>, thanks <a href="https://github.com/henryqdineen"><code>@​henryqdineen</code></a>)</li>
</ul>
<h2>Maintenance</h2>
<ul>
<li>Add zustand and redux-toolkit to the demo. (<a href="https://redirect.github.com/preactjs/preact/issues/3523">#3523</a>, thanks <a href="https://github.com/MortezaMirjavadi"><code>@​MortezaMirjavadi</code></a>)</li>
<li>Optimise jsx runtime (<a href="https://redirect.github.com/preactjs/preact/issues/4337">#4337</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>10.20.2</h2>
<h2>Fixes</h2>
<ul>
<li>Check whether <code>oldDom</code> is present in the DOM (<a href="https://redirect.github.com/preactjs/preact/issues/4318">#4318</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Simplify the logic introduced in <a href="https://redirect.github.com/preactjs/preact/issues/4322">#4322</a> &amp; use eventClock for capture events too (<a href="https://redirect.github.com/preactjs/preact/issues/4324">#4324</a>, thanks <a href="https://github.com/jviide"><code>@​jviide</code></a>)</li>
<li>Use a virtual clock instead of Date.now() for event dispatch times (<a href="https://redirect.github.com/preactjs/preact/issues/4322">#4322</a>, thanks <a href="https://github.com/jviide"><code>@​jviide</code></a>)</li>
</ul>
<h2>Types</h2>
<ul>
<li>Add template tag JSX type (<a href="https://redirect.github.com/preactjs/preact/issues/4334">#4334</a>, thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>)</li>
</ul>
<h2>Maintenance</h2>
<ul>
<li>Integrate the new benchmarks repo and update  (<a href="https://redirect.github.com/preactjs/preact/issues/4310">#4310</a>, thanks <a href="https://github.com/andrewiggins"><code>@​andrewiggins</code></a>)</li>
<li>Some byte improvements (<a href="https://redirect.github.com/preactjs/preact/issues/4321">#4321</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a832512a4e"><code>a832512</code></a> 10.21.0 (<a href="https://redirect.github.com/preactjs/preact/issues/4360">#4360</a>)</li>
<li><a href="dbc4d6109c"><code>dbc4d61</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact/issues/4350">#4350</a> from preactjs/fix/jsx-source-debug-warning</li>
<li><a href="50c3f3ebe8"><code>50c3f3e</code></a> Merge branch 'main' into fix/jsx-source-debug-warning</li>
<li><a href="613cacc0e3"><code>613cacc</code></a> feat: debug throw on too many rerenders (<a href="https://redirect.github.com/preactjs/preact/issues/4349">#4349</a>)</li>
<li><a href="2e2f5ab3a7"><code>2e2f5ab</code></a> fix: Appease ESLint</li>
<li><a href="d4ff12e97c"><code>d4ff12e</code></a> test: Add test for fixed jsx-source warning</li>
<li><a href="61ce7a4f26"><code>61ce7a4</code></a> refactor: Slight rename</li>
<li><a href="784af469d1"><code>784af46</code></a> fix: Incorrect &quot;missing <code>transform-jsx-source</code>&quot; warning</li>
<li><a href="aa95aa924d"><code>aa95aa9</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact/issues/4346">#4346</a> from preactjs/types/fix-hydrate-render-createPortal</li>
<li><a href="1fc799dc6f"><code>1fc799d</code></a> refactor: Support ComponentChild(ren) in compat render/hydrate/createPortal</li>
<li>Additional commits viewable in <a href="https://github.com/preactjs/preact/compare/10.20.1...10.21.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=preact&package-manager=npm_and_yarn&previous-version=10.20.1&new-version=10.21.0)](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>
2024-04-30 21:37:27 +00:00
Erika Rowland
d6412be6bc Migrate build argument parsing (#11492)
Migrate `vc build` to use updated argument parsing helpers.

Adds `try/catch` and `handleError` logic that was previously missing.
2024-04-30 21:23:41 +00:00
JJ Kasper
52e435aa5d Fix missing .rsc outputs for pages prerenders (#11503)
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.
2024-04-30 20:34:41 +00:00
Vercel Release Bot
303256343a Version Packages (#11523)
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>
2024-04-30 13:09:58 -07:00
Vercel Release Bot
88f3a816d9 Version Packages (#11520)
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>
2024-04-30 13:04:00 -07:00
JJ Kasper
3420ba0153 [next] Update test fixture version (#11514)
Noticed in https://github.com/vercel/vercel/pull/11503 that this test
fixture is incorrectly locked to a specific version when we don't want
it to be.
2024-04-30 13:03:36 -07:00
Nathan Rajlich
3fb97d1d27 [static-build] Add changeset for SUPPORTED_RUBY_VERSION revert (#11522)
A changeset should have been included for
https://github.com/vercel/vercel/pull/11518. Adding that here.
2024-04-30 13:01:59 -07:00
Nathan Rajlich
f11c7024c4 [static-build] Fix running of e2e tests (#11518)
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.
2024-04-30 12:57:25 -07:00
Sean Massa
5eb4cc6f5d Revert "[framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/hydrogen-v2023 with 6 updates" (#11521)
Reverts vercel/vercel#11480

This was merged in when we weren't running the tests.
([Fix](https://github.com/vercel/vercel/pull/11518)).
2024-04-30 12:35:07 -07:00
Zack Tanner
b1adaf76ec [next] Only rewrite next-action requests to .action handlers (#11504)
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.
2024-04-30 18:32:54 +00:00
Vercel Release Bot
1bf04ba421 Version Packages (#11512)
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/build-utils@8.0.0

### Major Changes

- Remove legacy `avoidTopLevelInstall` logic
([#11513](https://github.com/vercel/vercel/pull/11513))

### Patch Changes

- [build-utils] Add `VERCEL_PROJECT_PRODUCTION_URL` framework env var
prefix ([#11506](https://github.com/vercel/vercel/pull/11506))

## @vercel/ruby@2.1.0

### Minor Changes

- Add support for Ruby 3.3
([#11497](https://github.com/vercel/vercel/pull/11497))

- Remove legacy `avoidTopLevelInstall` logic
([#11513](https://github.com/vercel/vercel/pull/11513))

## vercel@34.1.5

### Patch Changes

- Updated dependencies
\[[`763a6d107`](763a6d1070),
[`15475c8a2`](15475c8a2c),
[`21f5e7375`](21f5e7375e)]:
    -   @vercel/ruby@2.1.0
    -   @vercel/build-utils@8.0.0
    -   @vercel/node@3.0.28
    -   @vercel/static-build@2.5.1

## @vercel/client@13.2.2

### Patch Changes

- Updated dependencies
\[[`15475c8a2`](15475c8a2c),
[`21f5e7375`](21f5e7375e)]:
    -   @vercel/build-utils@8.0.0

## @vercel/gatsby-plugin-vercel-builder@2.0.26

### Patch Changes

- Updated dependencies
\[[`15475c8a2`](15475c8a2c),
[`21f5e7375`](21f5e7375e)]:
    -   @vercel/build-utils@8.0.0

## @vercel/node@3.0.28

### Patch Changes

- Updated dependencies
\[[`15475c8a2`](15475c8a2c),
[`21f5e7375`](21f5e7375e)]:
    -   @vercel/build-utils@8.0.0

## @vercel/static-build@2.5.1

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.26

## @vercel-internals/types@1.0.31

### Patch Changes

- Updated dependencies
\[[`15475c8a2`](15475c8a2c),
[`21f5e7375`](21f5e7375e)]:
    -   @vercel/build-utils@8.0.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-30 09:26:54 -05:00
Nathan Rajlich
15475c8a2c [build-utils][ruby] Remove legacy avoidTopLevelInstall logic (#11513)
This logic was left over from a previous iteration of the `vc build`
command which was never shipped. Thus, this logic is no longer
necessary.
2024-04-30 01:37:43 -07:00
dependabot[bot]
1c8f0a4c33 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/hydrogen-v2023 with 6 updates (#11480)
Bumps the core group in /packages/static-build/test/fixtures/hydrogen-v2023 with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@shopify/cli](https://github.com/Shopify/cli) | `3.49.2` | `3.59.1` |
| [@shopify/cli-hydrogen](https://github.com/Shopify/cli) | `5.4.1` | `5.5.2` |
| [@shopify/hydrogen](https://github.com/Shopify/hydrogen-v1/tree/HEAD/packages/hydrogen) | `2023.7.9` | `2023.10.6` |
| @shopify/remix-oxygen | `1.1.5` | `1.1.8` |
| [@shopify/hydrogen-react](https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react) | `2023.7.4` | `2023.10.1` |
| [@shopify/mini-oxygen](https://github.com/Shopify/hydrogen) | `2.2.2` | `2.2.5` |

Updates `@shopify/cli` from 3.49.2 to 3.59.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Shopify/cli/releases"><code>@​shopify/cli</code>'s releases</a>.</em></p>
<blockquote>
<h2>3.59.1</h2>
<h2>Themes</h2>
<ul>
<li>Fix <code>shopify theme dev</code> and <code>shopify theme console</code> proxies following session changes and bring back the legacy <code>shopify theme push</code> implementation in CI/CD workflows: <a href="https://redirect.github.com/Shopify/cli/pull/3769">Shopify/cli#3769</a></li>
<li>Fix <code>shopify theme dev</code> proxy to use development theme: <a href="https://redirect.github.com/Shopify/cli/pull/3771">Shopify/cli#3771</a></li>
</ul>
<h2>3.59.0</h2>
<h2>Shopify CLI</h2>
<p>Shopify CLI now defaults to be a global CLI and all commands have been unified under a single npm package: <code>@shopify/cli</code>.</p>
<p>Check out the <a href="https://shopify.dev/docs/api/shopify-cli">new CLI documentation</a>.</p>
<h2>Apps</h2>
<ul>
<li>Use a random port for GraphiQL when the default one is not available: <a href="https://redirect.github.com/Shopify/cli/pull/3579">Shopify/cli#3579</a></li>
<li>Filter env vars to always be valid for ESBuild: <a href="https://redirect.github.com/Shopify/cli/pull/3656">Shopify/cli#3656</a></li>
<li>Sanitize &quot;api_key&quot; from verbose log: <a href="https://redirect.github.com/Shopify/cli/pull/3558">Shopify/cli#3558</a></li>
<li>Fix issue when you deploy an empty array of redirect_urls: <a href="https://redirect.github.com/Shopify/cli/pull/3667">Shopify/cli#3667</a></li>
<li>Do not show api-key flag deprecation warning when using SHOPIFY_API_KEY: <a href="https://redirect.github.com/Shopify/cli/pull/3671">Shopify/cli#3671</a></li>
<li>Updated header regex: <a href="https://redirect.github.com/Shopify/cli/pull/3658">Shopify/cli#3658</a></li>
</ul>
<h2>Themes</h2>
<ul>
<li>Fix Theme Push Execution when password flag is provided: <a href="https://redirect.github.com/Shopify/cli/pull/3645">Shopify/cli#3645</a></li>
<li>Remove requirement to provide <code>name</code> flag in <code>theme rename</code> command: <a href="https://redirect.github.com/Shopify/cli/pull/3644">Shopify/cli#3644</a></li>
<li>Update theme push theme selection text: <a href="https://redirect.github.com/Shopify/cli/pull/3670">Shopify/cli#3670</a></li>
<li>Improve Glob Pattern subdirectory mismatch error handling: <a href="https://redirect.github.com/Shopify/cli/pull/3669">Shopify/cli#3669</a></li>
<li>Introduce support to Theme Access app in the new <code>shopify theme push</code> implementation: <a href="https://redirect.github.com/Shopify/cli/pull/3675">Shopify/cli#3675</a></li>
<li>Introduce support to the <code>blocks/</code> directory in <code>shopify theme push</code>: <a href="https://redirect.github.com/Shopify/cli/pull/3676">Shopify/cli#3676</a></li>
<li>Fix <code>shopify theme dev</code> issue to avoid previewing the live theme instead of the development: <a href="https://redirect.github.com/Shopify/cli/pull/3706">Shopify/cli#3706</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Shopify/cli/compare/3.58.2...3.59.0">https://github.com/Shopify/cli/compare/3.58.2...3.59.0</a></p>
<h2>3.58.2</h2>
<h2>What's Changed</h2>
<ul>
<li><a href="https://redirect.github.com/Shopify/cli/pull/3651">Fix <code>shopify theme push</code> issue when password flag is provided</a></li>
</ul>
<h2>3.58.1</h2>
<h2>What's Changed</h2>
<ul>
<li><a href="https://redirect.github.com/Shopify/cli/pull/3640">Fix selection of apps beyond the first 25 in the list</a></li>
<li><a href="https://redirect.github.com/Shopify/cli/pull/3648">Implement fallback for apps not yet opted-in to versioned config</a></li>
</ul>
<h2>3.58.0</h2>
<h2><code>@​shopify/app</code><a href="https://github.com/3"><code>@​3</code></a>.58.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>960cdc0a2: Add a new &quot;app init&quot; command</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>94da7f678: Move webhook commands under app</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d82d4a46b0"><code>d82d4a4</code></a> add changeset</li>
<li><a href="4975bb99a3"><code>4975bb9</code></a> Add clean and build steps to stable shipit config</li>
<li><a href="a5c2d79f4d"><code>a5c2d79</code></a> [3.59] Fix <code>shopify theme dev</code> proxy to use development theme (<a href="https://redirect.github.com/Shopify/cli/issues/3771">#3771</a>)</li>
<li><a href="8a26af93e8"><code>8a26af9</code></a> Merge pull request <a href="https://redirect.github.com/Shopify/cli/issues/3770">#3770</a> from Shopify/changeset-release/stable/3.59</li>
<li><a href="a9e9b69641"><code>a9e9b69</code></a> Version Packages</li>
<li><a href="c181ebea4c"><code>c181ebe</code></a> [3.59] Fix <code>shopify theme dev</code> and <code>shopify theme console</code> proxies following ...</li>
<li><a href="a70ec32b0e"><code>a70ec32</code></a> Add stable/3.59 shipit configuration</li>
<li><a href="2b5c29657d"><code>2b5c296</code></a> Merge pull request <a href="https://redirect.github.com/Shopify/cli/issues/3726">#3726</a> from Shopify/release-notes-3.59</li>
<li><a href="083a2a21d5"><code>083a2a2</code></a> Add release notes for 3.59.0</li>
<li><a href="03c64195bf"><code>03c6419</code></a> Merge pull request <a href="https://redirect.github.com/Shopify/cli/issues/3724">#3724</a> from Shopify/fix-pnpm-version-on-shipit-scripts</li>
<li>Additional commits viewable in <a href="https://github.com/Shopify/cli/compare/3.49.2...3.59.1">compare view</a></li>
</ul>
</details>
<br />

Updates `@shopify/cli-hydrogen` from 5.4.1 to 5.5.2
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Shopify/cli/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `@shopify/hydrogen` from 2023.7.9 to 2023.10.6
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Shopify/hydrogen-v1/commits/HEAD/packages/hydrogen">compare view</a></li>
</ul>
</details>
<br />

Updates `@shopify/remix-oxygen` from 1.1.5 to 1.1.8

Updates `@shopify/hydrogen-react` from 2023.7.4 to 2023.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/shopify/hydrogen/releases"><code>@​shopify/hydrogen-react</code>'s releases</a>.</em></p>
<blockquote>
<h2><code>@​shopify/hydrogen-react</code><a href="https://github.com/2023"><code>@​2023</code></a>.10.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Update all Node.js dependencies to version 18. (Not a breaking change, since Node.js 18 is already required by Remix v2.) (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1543">#1543</a>) by <a href="https://github.com/michenly"><code>@​michenly</code></a></p>
</li>
<li>
<p>Skip private access token warning when using mock.shop. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1538">#1538</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></p>
</li>
<li>
<p>Add an optional <code>channel</code> prop to the <code>ShopPayButton</code> component, which adds order attribution support for either the Headless or Hydrogen sales channel. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1447">#1447</a>) by <a href="https://github.com/QuintonC"><code>@​QuintonC</code></a></p>
</li>
</ul>
<h2><code>@​shopify/hydrogen-react</code><a href="https://github.com/2023"><code>@​2023</code></a>.10.0</h2>
<h3>Major Changes</h3>
<ul>
<li>
<p>The Storefront API types included are now generated using <code>@graphql-codegen/typescript@4</code> (<a href="https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/typescript/CHANGELOG.md#400">changelog</a>). This results in a breaking change if you were importing <code>Scalars</code> directly from <code>@shopify/hydrogen-react</code> or <code>@shopify/hydrogen</code>: (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1108">#1108</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></p>
<pre lang="diff"><code> import type {Scalars} from '@shopify/hydrogen/storefront-api-types';
<p>type Props = {</p>
<ul>
<li>id: Scalars['ID']; // This was a string</li>
</ul>
<ul>
<li>id: Scalars['ID']['input']; // Need to access 'input' or 'output' to get the string
};
</code></pre></li>
</ul>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Remove deprecated parameters and props (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1455">#1455</a> and <a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1435">#1435</a>): (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1435">#1435</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></p>
<ul>
<li><code>createStorefrontClient</code> parameters <code>buyerIp</code> and <code>requestGroupId</code></li>
<li><code>&lt;Image&gt;</code> props <code>loaderOptions</code> and <code>widths</code></li>
</ul>
</li>
</ul>
<h2><code>@​shopify/hydrogen-react</code><a href="https://github.com/2023"><code>@​2023</code></a>.7.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>Fix template dist package due to CI error (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1451">#1451</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></li>
</ul>
<h2><code>@​shopify/hydrogen-react</code><a href="https://github.com/2023"><code>@​2023</code></a>.7.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Add Language to CartProvider (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1408">#1408</a>) by <a href="https://github.com/Qubica"><code>@​Qubica</code></a></p>
</li>
<li>
<p>Add attributes option to useLoadScript (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1442">#1442</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></p>
</li>
<li>
<p>Unlock <code>hydrogen-react</code> package.json exports to make it easier to use with NextJS and other frameworks. <strong>Note</strong>: Using Hydrogen internals is not officially supported, and those internal APIs could change at anytime outside our usual calendar versioning. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/994">#994</a>) by <a href="https://github.com/blittle"><code>@​blittle</code></a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Shopify/hydrogen/blob/main/packages/hydrogen-react/CHANGELOG.md"><code>@​shopify/hydrogen-react</code>'s changelog</a>.</em></p>
<blockquote>
<h2>2023.10.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Update all Node.js dependencies to version 18. (Not a breaking change, since Node.js 18 is already required by Remix v2.) (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1543">#1543</a>) by <a href="https://github.com/michenly"><code>@​michenly</code></a></p>
</li>
<li>
<p>Skip private access token warning when using mock.shop. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1538">#1538</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></p>
</li>
<li>
<p>Add an optional <code>channel</code> prop to the <code>ShopPayButton</code> component, which adds order attribution support for either the Headless or Hydrogen sales channel. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1447">#1447</a>) by <a href="https://github.com/QuintonC"><code>@​QuintonC</code></a></p>
</li>
</ul>
<h2>2023.10.0</h2>
<h3>Major Changes</h3>
<ul>
<li>
<p>The Storefront API types included are now generated using <code>@graphql-codegen/typescript@4</code> (<a href="https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/typescript/CHANGELOG.md#400">changelog</a>). This results in a breaking change if you were importing <code>Scalars</code> directly from <code>@shopify/hydrogen-react</code> or <code>@shopify/hydrogen</code>: (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1108">#1108</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></p>
<pre lang="diff"><code> import type {Scalars} from '@shopify/hydrogen/storefront-api-types';
<p>type Props = {</p>
<ul>
<li>id: Scalars['ID']; // This was a string</li>
</ul>
<ul>
<li>id: Scalars['ID']['input']; // Need to access 'input' or 'output' to get the string
};
</code></pre></li>
</ul>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Remove deprecated parameters and props (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1455">#1455</a> and <a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1435">#1435</a>): (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1435">#1435</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></p>
<ul>
<li><code>createStorefrontClient</code> parameters <code>buyerIp</code> and <code>requestGroupId</code></li>
<li><code>&lt;Image&gt;</code> props <code>loaderOptions</code> and <code>widths</code></li>
</ul>
</li>
</ul>
<h2>2023.7.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>Fix template dist package due to CI error (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1451">#1451</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></li>
</ul>
<h2>2023.7.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Add Language to CartProvider (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1408">#1408</a>) by <a href="https://github.com/Qubica"><code>@​Qubica</code></a></p>
</li>
<li>
<p>Add attributes option to useLoadScript (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1442">#1442</a>) by <a href="https://github.com/wizardlyhel"><code>@​wizardlyhel</code></a></p>
</li>
<li>
<p>Unlock <code>hydrogen-react</code> package.json exports to make it easier to use with NextJS and other frameworks. <strong>Note</strong>: Using Hydrogen internals is not officially supported, and those internal APIs could change at anytime outside our usual calendar versioning. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/994">#994</a>) by <a href="https://github.com/blittle"><code>@​blittle</code></a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="727baacf60"><code>727baac</code></a> [ci] release 2023-10 (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1491">#1491</a>)</li>
<li><a href="62f6787335"><code>62f6787</code></a> Hide token warning in mock.shop (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1538">#1538</a>)</li>
<li><a href="f352f16ec4"><code>f352f16</code></a> Add docs commands to turbo (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1472">#1472</a>)</li>
<li><a href="848c6260a2"><code>848c626</code></a> 🔼 Update dependency to require node v18 (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1543">#1543</a>)</li>
<li><a href="e8cc49feff"><code>e8cc49f</code></a> Adds optional channel prop to ShopPayButton (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1447">#1447</a>)</li>
<li><a href="300fe1b681"><code>300fe1b</code></a> [ci] release 2023-10 (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1453">#1453</a>)</li>
<li><a href="2ff057d493"><code>2ff057d</code></a> Fix 2023-10 links (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1471">#1471</a>)</li>
<li><a href="ad45656c5f"><code>ad45656</code></a> Update Codegen dependencies and make it stable (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1108">#1108</a>)</li>
<li><a href="0ae7cbe280"><code>0ae7cbe</code></a> Remove deprecated props (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1435">#1435</a>)</li>
<li><a href="7fc088e21b"><code>7fc088e</code></a> Sfapi 2023-10 update (<a href="https://github.com/shopify/hydrogen/tree/HEAD/packages/hydrogen-react/issues/1431">#1431</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/shopify/hydrogen/commits/@shopify/hydrogen-react@2023.10.1/packages/hydrogen-react">compare view</a></li>
</ul>
</details>
<br />

Updates `@shopify/mini-oxygen` from 2.2.2 to 2.2.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Shopify/hydrogen/releases"><code>@​shopify/mini-oxygen</code>'s releases</a>.</em></p>
<blockquote>
<h2><code>@​shopify/mini-oxygen</code><a href="https://github.com/2"><code>@​2</code></a>.2.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>Update all Node.js dependencies to version 18. (Not a breaking change, since Node.js 18 is already required by Remix v2.) (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1543">#1543</a>) by <a href="https://github.com/michenly"><code>@​michenly</code></a></p>
</li>
<li>
<p>Fix how peer dependencies are resolved. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1489">#1489</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></p>
</li>
</ul>
<h2><code>@​shopify/mini-oxygen</code><a href="https://github.com/2"><code>@​2</code></a>.2.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>Increase the request body size limit to 100mb when running locally. (<a href="https://redirect.github.com/Shopify/hydrogen/pull/1421">#1421</a>) by <a href="https://github.com/frandiox"><code>@​frandiox</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Shopify/hydrogen/commits">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>
2024-04-30 08:24:28 +00:00
dependabot[bot]
ba65da97e1 [framework-fixtures]: Bump parcel from 2.11.0 to 2.12.0 in /packages/static-build/test/fixtures/parcel-v2 in the core group (#11515)
Bumps the core group in /packages/static-build/test/fixtures/parcel-v2 with 1 update: [parcel](https://github.com/parcel-bundler/parcel).

Updates `parcel` from 2.11.0 to 2.12.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/parcel-bundler/parcel/releases">parcel's releases</a>.</em></p>
<blockquote>
<h2>v2.12.0</h2>
<p>Blog post: <a href="https://parceljs.org/blog/v2-12-0/">https://parceljs.org/blog/v2-12-0/</a></p>
<h3>Added</h3>
<ul>
<li>
<p>Core</p>
<ul>
<li>Add REPL playground for Parcel to the website – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9365">Details</a></li>
<li>Improve package manager detection for auto install – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9505">Details</a></li>
</ul>
</li>
<li>
<p>JavaScript</p>
<ul>
<li>Add support for JS macros – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9299">Details</a></li>
<li>Statically evaluate constants referenced by macros – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9487">Details</a></li>
<li>Upgrade to ESLint 8 – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/8580">Details</a></li>
<li>Bump swc – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9498">Details</a></li>
</ul>
</li>
<li>
<p>CSS</p>
<ul>
<li>Use lightningcss to implement CSS packager – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/8492">Details</a></li>
</ul>
</li>
<li>
<p>Bundler</p>
<ul>
<li>Rename &quot;parentAsset&quot; to &quot;root&quot; for Manual Shared Bundle config and remove unstable prefix – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9486">Details</a></li>
</ul>
</li>
<li>
<p>Web Extensions</p>
<ul>
<li>Add content script world property to manifest schema validation – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9510">Details</a></li>
</ul>
</li>
<li>
<p>Performance</p>
<ul>
<li>Adjacency list optimizations – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9444">Details</a></li>
<li>Break up request graph cache serialisation and run after build completion – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9384">Details</a></li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Core</p>
<ul>
<li>Drop per-pipeline transformation cache – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9459">Details</a></li>
<li>Clippy and use napi's Either3 – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9047">Details</a></li>
<li>Add lazy/eager cache key to avoid invalid change when switching modes – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9518">Details</a></li>
</ul>
</li>
<li>
<p>JavaScript</p>
<ul>
<li>Remove decl_collector pass and use SWC's unresolved_mark instead – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9520">Details</a></li>
</ul>
</li>
<li>
<p>Bundler</p>
<ul>
<li>Fix multiple css bundles in entry bundle groups issue – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9023">Details</a></li>
<li>Allow parallel type change bundles to be reused by async siblings – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9504">Details</a></li>
<li>Skip on missing parent asset for manual shared bundles – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9538">Details</a></li>
</ul>
</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>Add source map support to the inline-require optimizer – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9511">Details</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md">parcel's changelog</a>.</em></p>
<blockquote>
<h2>[2.12.0] - 2024-02-28</h2>
<h3>Added</h3>
<ul>
<li>
<p>Core</p>
<ul>
<li>Add REPL playground for Parcel to the website – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9365">Details</a></li>
<li>Improve package manager detection for auto install – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9505">Details</a></li>
</ul>
</li>
<li>
<p>JavaScript</p>
<ul>
<li>Add support for JS macros – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9299">Details</a></li>
<li>Statically evaluate constants referenced by macros – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9487">Details</a></li>
<li>Upgrade to ESLint 8 – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/8580">Details</a></li>
<li>Bump swc – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9498">Details</a></li>
</ul>
</li>
<li>
<p>CSS</p>
<ul>
<li>Use lightningcss to implement CSS packager – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/8492">Details</a></li>
</ul>
</li>
<li>
<p>Bundler</p>
<ul>
<li>Rename &quot;parentAsset&quot; to &quot;root&quot; for Manual Shared Bundle config and remove unstable prefix – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9486">Details</a></li>
</ul>
</li>
<li>
<p>Web Extensions</p>
<ul>
<li>Add content script world property to manifest schema validation – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9510">Details</a></li>
</ul>
</li>
<li>
<p>Performance</p>
<ul>
<li>Adjacency list optimizations – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9444">Details</a></li>
<li>Break up request graph cache serialisation and run after build completion – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9384">Details</a></li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Core</p>
<ul>
<li>Drop per-pipeline transformation cache – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9459">Details</a></li>
<li>Clippy and use napi's Either3 – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9047">Details</a></li>
<li>Add lazy/eager cache key to avoid invalid change when switching modes – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9518">Details</a></li>
</ul>
</li>
<li>
<p>JavaScript</p>
<ul>
<li>Remove decl_collector pass and use SWC's unresolved_mark instead – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9520">Details</a></li>
</ul>
</li>
<li>
<p>Bundler</p>
<ul>
<li>Fix multiple css bundles in entry bundle groups issue – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9023">Details</a></li>
<li>Allow parallel type change bundles to be reused by async siblings – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9504">Details</a></li>
<li>Skip on missing parent asset for manual shared bundles – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9538">Details</a></li>
</ul>
</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>Add source map support to the inline-require optimizer – <a href="https://redirect.github.com/parcel-bundler/parcel/pull/9511">Details</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="face1c2879"><code>face1c2</code></a> v2.12.0</li>
<li><a href="3398e6e2a4"><code>3398e6e</code></a> changelog for v2.12.0</li>
<li><a href="475a0af48e"><code>475a0af</code></a> Add repl deploy to release workflow (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9548">#9548</a>)</li>
<li><a href="78fe2ce24f"><code>78fe2ce</code></a> Add <code>@​parcel/macros</code> package with macro context TS definitions (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9544">#9544</a>)</li>
<li><a href="ac43c39e23"><code>ac43c39</code></a> Skip on missing parent asset for manual shared bundles (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9538">#9538</a>)</li>
<li><a href="05604990d7"><code>0560499</code></a> Break up request graph cache serialisation and run after build completion (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9">#9</a>...</li>
<li><a href="2215d360dc"><code>2215d36</code></a> Adjacency list optimizations (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9444">#9444</a>)</li>
<li><a href="e14784dedd"><code>e14784d</code></a> Support default interop for CommonJS macros (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9525">#9525</a>)</li>
<li><a href="a93af6a3d4"><code>a93af6a</code></a> Allow parallel type change bundles to be reused by async siblings (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9504">#9504</a>)</li>
<li><a href="e0b99c2a42"><code>e0b99c2</code></a> Remove decl_collector pass and use SWC's unresolved_mark instead (<a href="https://redirect.github.com/parcel-bundler/parcel/issues/9520">#9520</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/parcel-bundler/parcel/compare/v2.11.0...v2.12.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parcel&package-manager=npm_and_yarn&previous-version=2.11.0&new-version=2.12.0)](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>
2024-04-30 06:22:58 +00:00
dependabot[bot]
28b6b810be [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/ionic-react-v7 with 4 updates (#11499)
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>
2024-04-30 03:48:56 +00:00
Trek Glowacki
9fc9a10c82 [static-build] Add ParcelJS to dependabot (#11501)
Add ParcelJS to dependabot 🤖
2024-04-30 03:27:19 +00:00
dependabot[bot]
aef56edc35 [framework-fixtures]: Bump astro from 4.6.2 to 4.7.0 in /packages/static-build/test/fixtures/astro-v4 in the core group (#11500)
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 &quot;astro/toolbar&quot;;
<p>export default defineToolbarApp({
init(canvas, app, server) {</p>
<ul>
<li>app.addEventListener(&quot;app-toggled&quot;, (e) =&gt; {</li>
<li>
<pre><code> console.log(`App is now ${state ? &amp;quot;enabled&amp;quot; : &amp;quot;disabled&amp;quot;}`);.
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>app.onToggled(({ state }) =&gt; {</li>
<li>
<pre><code>   console.log(`App is now ${state ? &amp;quot;enabled&amp;quot; : &amp;quot;disabled&amp;quot;}`);
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.send(&amp;quot;my-app:my-client-event&amp;quot;, { message: &amp;quot;world&amp;quot; });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.send(&quot;my-app:my-client-event&quot;, { message: &quot;world&quot; })</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.on(&amp;quot;my-server-event&amp;quot;, (data: {message: string}) =&amp;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&lt;{ message: string }&gt;(&quot;my-server-event&quot;, (data) =&gt; {</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>&quot;astro:server:setup&quot;: ({ toolbar }) =&gt; {
  toolbar.on&lt;{ message: string }&gt;(&quot;my-app:my-client-event&quot;, (data) =&gt; {
    console.log(data.message);
    toolbar.send(&quot;my-server-event&quot;, { message: &quot;hello&quot; });
  });
}
</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 &quot;astro/toolbar&quot;;
<p>export default defineToolbarApp({
init(canvas, app, server) {</p>
<ul>
<li>app.addEventListener(&quot;app-toggled&quot;, (e) =&gt; {</li>
<li>
<pre><code> console.log(`App is now ${state ? &amp;quot;enabled&amp;quot; : &amp;quot;disabled&amp;quot;}`);.
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>app.onToggled(({ state }) =&gt; {</li>
<li>
<pre><code>   console.log(`App is now ${state ? &amp;quot;enabled&amp;quot; : &amp;quot;disabled&amp;quot;}`);
</code></pre>
</li>
<li>});</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.send(&amp;quot;my-app:my-client-event&amp;quot;, { message: &amp;quot;world&amp;quot; });
</code></pre>
</li>
<li>}</li>
</ul>
<ul>
<li>server.send(&quot;my-app:my-client-event&quot;, { message: &quot;world&quot; })</li>
</ul>
<ul>
<li>if (import.meta.hot) {</li>
<li>
<pre><code> import.meta.hot.on(&amp;quot;my-server-event&amp;quot;, (data: {message: string}) =&amp;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&lt;{ message: string }&gt;(&quot;my-server-event&quot;, (data) =&gt; {</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>&quot;astro:server:setup&quot;: ({ toolbar }) =&gt; {
  toolbar.on&lt;{ message: string }&gt;(&quot;my-app:my-client-event&quot;, (data) =&gt; {
    console.log(data.message);
    toolbar.send(&quot;my-server-event&quot;, { message: &quot;hello&quot; });
  });
}
</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 />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astro&package-manager=npm_and_yarn&previous-version=4.6.2&new-version=4.7.0)](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>
2024-04-30 03:23:28 +00:00
Vercel Release Bot
e6a3497fb1 [tests] Upgrade Turbo to version 1.13.3 (#11505)
This auto-generated PR updates Turbo to version 1.13.3
2024-04-30 03:10:10 +00:00
Jeff See
763a6d1070 Add support for ruby 3.3 (#11497)
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>
2024-04-29 19:43:28 -07:00
Steven
21f5e7375e [build-utils] Fix getPrefixedEnvVars() to handle VERCEL_PROJECT_PRODUCTION_URL (#11506)
This will ensure the framework env var prefix is applied to
`VERCEL_PROJECT_PRODUCTION_URL` as well.


https://vercel.com/docs/projects/environment-variables/system-environment-variables#framework-environment-variables
2024-04-29 14:20:01 -04:00
Vercel Release Bot
256d0fd463 Version Packages (#11511)
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]&#x3A; 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>
2024-04-29 10:29:48 -05:00
Zack Tanner
5b79603378 Revert "[next] Reland add .action handling for dynamic routes" (#11509)
Reverts vercel/vercel#11487.

This feature will be relanded behind a feature flag.
2024-04-29 10:26:15 -05:00
Erika Rowland
863199aa0a Migrate bisect argument parsing (#11491)
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.
2024-04-29 15:18:29 +00:00
Erika Rowland
97e02ae506 Erikarowland/zero 1891 update ionic angular package in fixtures (#11485)
We follow this guide: https://ionicframework.com/docs/updating/8-0. There were no major breaking changes.
2024-04-29 09:10:27 +00:00
dependabot[bot]
bd9236f228 [framework-fixtures]: Bump @stencil/core from 4.16.0 to 4.17.0 in /packages/static-build/test/fixtures/stencil-v4 in the core group (#11476)
Bumps the core group in /packages/static-build/test/fixtures/stencil-v4 with 1 update: [@stencil/core](https://github.com/ionic-team/stencil).

Updates `@stencil/core` from 4.16.0 to 4.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@​stencil/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>♨️ 4.17.0 (2024-04-22)</h2>
<h3>Internal</h3>
<ul>
<li><strong>Rollup to Esbuild Migration</strong>
The Stencil team has been working on a migration from Rollup to Esbuild. This release (v4.17.0) is the first release we make in which the published Stencil code is compiled by Esbuild. We have done our due diligence to ensure that this will have no impact on Stencil users nor the output of your compiled components. If you experience any problems though, please <a href="https://github.com/ionic-team/stencil/issues/new?assignees=&amp;labels=&amp;projects=&amp;template=bug_report.yml&amp;title=bug%3A+">raise an issue</a> and we will address it accordingly.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>docs:</strong> merge together style docs from multiple CSS files (<a href="https://redirect.github.com/ionic-team/stencil/issues/5653">#5653</a>) (<a href="84e1a14048">84e1a14</a>)</li>
<li><strong>docs:</strong> respect custom README content when writing to a custom path (<a href="https://redirect.github.com/ionic-team/stencil/issues/5648">#5648</a>) (<a href="6bfba1dda5">6bfba1d</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5400">#5400</a></li>
<li><strong>slot-fallback:</strong> fix hiding fallback slot content issue when the slotted element is a text node (<a href="https://redirect.github.com/ionic-team/stencil/issues/5496">#5496</a>) (<a href="29c69c48a2">29c69c4</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>testing:</strong> perform string -&gt; boolean type casting for Jest config (<a href="https://redirect.github.com/ionic-team/stencil/issues/5672">#5672</a>) (<a href="20f74fce81">20f74fc</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5640">#5640</a></li>
</ul>
<h1>Thanks</h1>
<p>🎉 Thanks <a href="https://github.com/yigityuce"><code>@​yigityuce</code></a> &amp; <a href="https://github.com/PebblerWon"><code>@​PebblerWon</code></a> for their contributions! 🎉</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s changelog</a>.</em></p>
<blockquote>
<h1>♨️ <a href="https://github.com/ionic-team/stencil/compare/v4.16.0...v4.17.0">4.17.0</a> (2024-04-22)</h1>
<h3>Internal</h3>
<ul>
<li><strong>Rollup to Esbuild Migration</strong>
The Stencil team has been working on a migration from Rollup to Esbuild. This release (v4.17.0) is the first release we make in which the published Stencil code is compiled by Esbuild. We have done our due diligence to ensure that this will have no impact on Stencil users nor the output of your compiled components. If you experience any problems though, please <a href="https://github.com/ionic-team/stencil/issues/new?assignees=&amp;labels=&amp;projects=&amp;template=bug_report.yml&amp;title=bug%3A+">raise an issue</a> and we will address it accordingly.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>docs:</strong> merge together style docs from multiple CSS files (<a href="https://redirect.github.com/ionic-team/stencil/issues/5653">#5653</a>) (<a href="84e1a14048">84e1a14</a>)</li>
<li><strong>docs:</strong> respect custom README content when writing to a custom path (<a href="https://redirect.github.com/ionic-team/stencil/issues/5648">#5648</a>) (<a href="6bfba1dda5">6bfba1d</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5400">#5400</a></li>
<li><strong>slot-fallback:</strong> fix hiding fallback slot content issue when the slotted element is a text node (<a href="https://redirect.github.com/ionic-team/stencil/issues/5496">#5496</a>) (<a href="29c69c48a2">29c69c4</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>testing:</strong> perform string -&gt; boolean type casting for Jest config (<a href="https://redirect.github.com/ionic-team/stencil/issues/5672">#5672</a>) (<a href="20f74fce81">20f74fc</a>), fixes <a href="https://redirect.github.com/ionic-team/stencil/issues/5640">#5640</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9a28fa5a2c"><code>9a28fa5</code></a> Release v4.17.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5690">#5690</a>)</li>
<li><a href="9bd5527074"><code>9bd5527</code></a> chore(deps): update dependency dts-bundle-generator to ~9.5.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5687">#5687</a>)</li>
<li><a href="29c69c48a2"><code>29c69c4</code></a> fix(slot-fallback): fix hiding fallback slot content issue when the slotted e...</li>
<li><a href="20f74fce81"><code>20f74fc</code></a> fix(testing): perform string -&gt; boolean type casting for Jest config (<a href="https://redirect.github.com/ionic-team/stencil/issues/5672">#5672</a>)</li>
<li><a href="dcbaaf30e2"><code>dcbaaf3</code></a> chore(deps): update dependency <code>@​types/eslint</code> to v8.56.10 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5683">#5683</a>)</li>
<li><a href="bb9647c955"><code>bb9647c</code></a> chore(deps): update download + upload artifacts (<a href="https://redirect.github.com/ionic-team/stencil/issues/5685">#5685</a>)</li>
<li><a href="913b621979"><code>913b621</code></a> chore(validation): remove unneeded path arg (<a href="https://redirect.github.com/ionic-team/stencil/issues/5628">#5628</a>)</li>
<li><a href="1a64abb38c"><code>1a64abb</code></a> chore(deps): update dependency magic-string to v0.30.10 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5684">#5684</a>)</li>
<li><a href="d0b3a798a0"><code>d0b3a79</code></a> chore(deps): update peter-evans/create-pull-request action to v6.0.4 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5686">#5686</a>)</li>
<li><a href="840d3fd061"><code>840d3fd</code></a> chore(deps): update typescript-eslint to v7.7.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5688">#5688</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil/compare/v4.16.0...v4.17.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.16.0&new-version=4.17.0)](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>
2024-04-29 08:57:05 +00:00
Vercel Release Bot
26bc51e0d6 [examples][tests] Upgrade Next.js to version 14.2.3 (#11490)
This auto-generated PR updates 8 packages to Next.js version 14.2.3

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-04-25 19:07:35 -04:00
Vercel Release Bot
21b87d2ee6 Version Packages (#11489)
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>
2024-04-25 12:32:46 -05:00
dependabot[bot]
f765c24689 [framework-fixtures]: Bump vite from 4.4.11 to 4.5.3 in /packages/static-build/test/fixtures/vite-v5 in the core group (#11479)
Bumps the core group in /packages/static-build/test/fixtures/vite-v5 with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).

Updates `vite` from 4.4.11 to 4.5.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/v4.5.3/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted -->4.5.3 (2024-03-24)<!-- raw HTML omitted --></h2>
<ul>
<li>fix: <code>fs.deny</code> with globs with directories (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/16250">#16250</a>) (<a href="https://github.com/vitejs/vite/commit/96a7f3a">96a7f3a</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/16250">#16250</a></li>
</ul>
<h2><!-- raw HTML omitted -->4.5.2 (2024-01-19)<!-- raw HTML omitted --></h2>
<ul>
<li>fix: fs deny for case insensitive systems (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15653">#15653</a>) (<a href="https://github.com/vitejs/vite/commit/eeec23b">eeec23b</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/15653">#15653</a></li>
</ul>
<h2><!-- raw HTML omitted -->4.5.1 (2023-12-04)<!-- raw HTML omitted --></h2>
<ul>
<li>fix: backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15223">#15223</a>, proxy html path should be encoded (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15226">#15226</a>) (<a href="https://github.com/vitejs/vite/commit/41bb354">41bb354</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/15223">#15223</a> <a href="https://redirect.github.com/vitejs/vite/issues/15226">#15226</a></li>
</ul>
<h2>4.5.0 (2023-10-18)</h2>
<ul>
<li>feat: backport mdx as known js source (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14560">#14560</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14670">#14670</a>) (<a href="https://github.com/vitejs/vite/commit/45595ef">45595ef</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/14560">#14560</a> <a href="https://redirect.github.com/vitejs/vite/issues/14670">#14670</a></li>
<li>feat: scan .marko files (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14669">#14669</a>) (<a href="https://github.com/vitejs/vite/commit/ed7bdc5">ed7bdc5</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/14669">#14669</a></li>
<li>feat(ssr): backport ssr.resolve.conditions and ssr.resolve.externalConditions (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14498">#14498</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14668">#14668</a>) (<a href="https://github.com/vitejs/vite/commit/520139c">520139c</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/14498">#14498</a> <a href="https://redirect.github.com/vitejs/vite/issues/14668">#14668</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="aac695e9f8"><code>aac695e</code></a> release: v4.5.3</li>
<li><a href="96a7f3a41e"><code>96a7f3a</code></a> fix: <code>fs.deny</code> with globs with directories (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/16250">#16250</a>)</li>
<li><a href="d0360c1247"><code>d0360c1</code></a> release: v4.5.2</li>
<li><a href="eeec23bbc9"><code>eeec23b</code></a> fix: fs deny for case insensitive systems (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15653">#15653</a>)</li>
<li><a href="c0751156f0"><code>c075115</code></a> release: v4.5.1</li>
<li><a href="41bb3546a8"><code>41bb354</code></a> fix: backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15223">#15223</a>, proxy html path should be encoded (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/15226">#15226</a>)</li>
<li><a href="055d2b86b0"><code>055d2b8</code></a> release: v4.5.0</li>
<li><a href="ed7bdc5206"><code>ed7bdc5</code></a> feat: scan .marko files (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14669">#14669</a>)</li>
<li><a href="45595ef82f"><code>45595ef</code></a> feat: backport mdx as known js source (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14560">#14560</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/14670">#14670</a>)</li>
<li><a href="520139cdff"><code>520139c</code></a> feat(ssr): backport ssr.resolve.conditions and ssr.resolve.externalConditions...</li>
<li>See full diff in <a href="https://github.com/vitejs/vite/commits/v4.5.3/packages/vite">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=4.4.11&new-version=4.5.3)](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>
2024-04-25 16:46:52 +00:00
Erika Rowland
0f12005a68 [cli] Migrate alias command to use parseArguments and getFlagsSpecification (#11467)
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.
2024-04-24 19:48:04 +00:00
JJ Kasper
5758838d09 [next] Reland add .action handling for dynamic routes (#11487)
This relands https://github.com/vercel/vercel/pull/11461 fixing the
routes increase by combining with the existing route so we don't hit the
routes limit like we did previously.

---------

Co-authored-by: Zack Tanner <1939140+ztanner@users.noreply.github.com>
2024-04-24 12:33:16 -07:00
Zack Tanner
9dab15dc88 [next] add tests for server actions (#11482)
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.
2024-04-24 18:10:51 +00:00
Vercel Release Bot
3980c60a3e Version Packages (#11471)
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/python@4.2.0

### Minor Changes

- Add support for Python 3.12
([#11478](https://github.com/vercel/vercel/pull/11478))

## vercel@34.1.2

### Patch Changes

- Updated dependencies
\[[`64bd6dd05`](64bd6dd057),
[`532885148`](532885148b),
[`adcfc365a`](adcfc365a7)]:
    -   @vercel/next@4.2.2
    -   @vercel/python@4.2.0

## @vercel/next@4.2.2

### Patch Changes

- [next] revert .action rewrites
([#11470](https://github.com/vercel/vercel/pull/11470))

- Next.js builds: support sectioned source maps
([#11453](https://github.com/vercel/vercel/pull/11453))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-24 10:54:30 -05:00
Nathan Rajlich
ea774628d5 [remix] Don't build the "example" template in legacy e2e tests (#11481)
This template is being done in the "vite" integration suite, so no need to do it in the legacy suite as well.
2024-04-23 23:05:27 +00:00
Nathan Rajlich
adcfc365a7 [python] Add python3.12 (#11478)
Allows for `python3.12` to be used when the build is being run in the AL2023 build container (Node v20 project setting). This version is not usable in the AL2 image because `python3.12` is not installed there.

The e2e tests now default to running in AL2023, except for a few fixtures which require an older version of Python.
2024-04-23 20:56:44 +00:00
Jeff See
4c018d4b78 Add retry logic for when a probe finds the Vercel preview page (#11473)
We sometimes fail a probe check because we're still seeing this page:

<img width="1086" alt="Screenshot 2024-04-19 at 3 11 17 PM" src="https://github.com/vercel/vercel/assets/5414297/8bc92b2d-d720-4970-8f72-7804bb4e91ce">

This just adds some retry logic before proceeding. If we still see the page after 10 tries it errors
2024-04-23 17:58:53 +00:00
Trek Glowacki
7dc4a4223c [tests] Add Vite@5 fixture to dependabot (#11170)
Add Vite@5 fixture to dependabot

---------

Co-authored-by: Jeff See <jeffsee.55@gmail.com>
2024-04-23 12:39:37 -05:00
Jeff See
7df8ae9c45 Add vitepress fixtures (#11466)
- [x] Add fixture for static-build integration tests
- [x] update dependabot to manage the dependencies of these fixtures
- [ ] ~~Update example:~~ (no changes)
      https://github.com/vercel/vercel/tree/main/examples/vitepress
- [ ] ~~If anything changed that should be updated in the default settings, update:~~ (no changes)
      [frameworks.ts](https://github.com/vercel/vercel/blob/main/packages/frameworks/src/frameworks.ts)
2024-04-22 18:44:49 +00:00
Will Binns-Smith
532885148b [next] support sectioned source maps (#11453)
Turbopack outputs sectioned source maps, but webpack’s `webpack-sources`
packages doesn’t support these. For performance reasons, it should, but
as an interim solution, flatten these sections maps for compatibility.

---------

Co-authored-by: Nathan Rajlich <n@n8.io>
2024-04-19 14:43:01 -07:00
dependabot[bot]
f057c94c59 [framework-fixtures]: Bump @stencil/core from 4.14.0 to 4.16.0 in /packages/static-build/test/fixtures/stencil-v4 in the core group (#11440)
Bumps the core group in /packages/static-build/test/fixtures/stencil-v4 with 1 update: [@stencil/core](https://github.com/ionic-team/stencil).

Updates `@stencil/core` from 4.14.0 to 4.16.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@​stencil/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>🚛 4.16.0 (2024-04-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix a bug in CLI argument parsing (<a href="https://redirect.github.com/ionic-team/stencil/issues/5646">#5646</a>) (<a href="1fdea63acf">1fdea63</a>), refs <a href="https://redirect.github.com/ionic-team/stencil/issues/5640">#5640</a></li>
<li><strong>testing:</strong> prevent <code>find</code> from throwing error when query has no match (<a href="https://redirect.github.com/ionic-team/stencil/issues/5641">#5641</a>) (<a href="b3886aa928">b3886aa</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5639">#5639</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>dev-server:</strong> dark mode support (<a href="https://redirect.github.com/ionic-team/stencil/issues/5642">#5642</a>) (<a href="89a5e40adf">89a5e40</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.5 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5663">#5663</a>) (<a href="25965364c3">2596536</a>)</li>
</ul>
<h2>🎖 4.15.0 (2024-04-08)</h2>
<h3>Features</h3>
<ul>
<li><strong>compiler:</strong> perform automatic key insertion in more situations (<a href="https://redirect.github.com/ionic-team/stencil/issues/5594">#5594</a>) (<a href="8ee071bf3a">8ee071b</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.4 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5636">#5636</a>) (<a href="a463871230">a463871</a>)</li>
</ul>
<h2>🏋 4.14.1 (2024-04-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> don't mistake aliased paths for collections imports (<a href="https://redirect.github.com/ionic-team/stencil/issues/5620">#5620</a>) (<a href="af22bb858d">af22bb8</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/2319">#2319</a></li>
<li><strong>runtime:</strong> nested multiple default slot relocation (<a href="https://redirect.github.com/ionic-team/stencil/issues/5403">#5403</a>) (<a href="363c07b472">363c07b</a>), partially closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>runtime:</strong> prevent ref callbacks from being called too early (<a href="https://redirect.github.com/ionic-team/stencil/issues/5614">#5614</a>) (<a href="81fa37587e">81fa375</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/4074">#4074</a></li>
</ul>
<h2>Thanks</h2>
<p>🎉 Thanks <a href="https://github.com/yigityuce"><code>@​yigityuce</code></a> for their contributions! 🎉</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s changelog</a>.</em></p>
<blockquote>
<h1>🚛 <a href="https://github.com/ionic-team/stencil/compare/v4.15.0...v4.16.0">4.16.0</a> (2024-04-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix a bug in CLI argument parsing (<a href="https://redirect.github.com/ionic-team/stencil/issues/5646">#5646</a>) (<a href="1fdea63acf">1fdea63</a>), refs <a href="https://redirect.github.com/ionic-team/stencil/issues/5640">#5640</a></li>
<li><strong>testing:</strong> prevent <code>find</code> from throwing error when query has no match (<a href="https://redirect.github.com/ionic-team/stencil/issues/5641">#5641</a>) (<a href="b3886aa928">b3886aa</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5639">#5639</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>dev-server:</strong> dark mode support (<a href="https://redirect.github.com/ionic-team/stencil/issues/5642">#5642</a>) (<a href="89a5e40adf">89a5e40</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.5 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5663">#5663</a>) (<a href="25965364c3">2596536</a>)</li>
</ul>
<h1>🎖 <a href="https://github.com/ionic-team/stencil/compare/v4.14.1...v4.15.0">4.15.0</a> (2024-04-08)</h1>
<h3>Features</h3>
<ul>
<li><strong>compiler:</strong> perform automatic key insertion in more situations (<a href="https://redirect.github.com/ionic-team/stencil/issues/5594">#5594</a>) (<a href="8ee071bf3a">8ee071b</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.4 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5636">#5636</a>) (<a href="a463871230">a463871</a>)</li>
</ul>
<h2>🏋 <a href="https://github.com/ionic-team/stencil/compare/v4.14.0...v4.14.1">4.14.1</a> (2024-04-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> don't mistake aliased paths for collections imports (<a href="https://redirect.github.com/ionic-team/stencil/issues/5620">#5620</a>) (<a href="af22bb858d">af22bb8</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/2319">#2319</a></li>
<li><strong>runtime:</strong> nested multiple default slot relocation (<a href="https://redirect.github.com/ionic-team/stencil/issues/5403">#5403</a>) (<a href="363c07b472">363c07b</a>), partially closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>runtime:</strong> prevent ref callbacks from being called too early (<a href="https://redirect.github.com/ionic-team/stencil/issues/5614">#5614</a>) (<a href="81fa37587e">81fa375</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/4074">#4074</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ba3892f784"><code>ba3892f</code></a> Release v4.16.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5671">#5671</a>)</li>
<li><a href="3b239ff27e"><code>3b239ff</code></a> chore(deps): update dependency <code>@​types/eslint</code> to v8.56.9 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5667">#5667</a>)</li>
<li><a href="f1538dead5"><code>f1538de</code></a> chore(deps): update peter-evans/create-pull-request action to v6.0.3 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5668">#5668</a>)</li>
<li><a href="616c75f480"><code>616c75f</code></a> chore(deps): update dependency npm to v10.5.2 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5661">#5661</a>)</li>
<li><a href="7d19d6976a"><code>7d19d69</code></a> chore(deps): update typescript-eslint to v7.6.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5665">#5665</a>)</li>
<li><a href="dee3bce3af"><code>dee3bce</code></a> chore(deps): update dependency <code>@​types/eslint</code> to v8.56.8 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5659">#5659</a>)</li>
<li><a href="e8429780cb"><code>e842978</code></a> chore(deps): update dependency <code>@​types/node</code> to v20.12.7 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5660">#5660</a>)</li>
<li><a href="8c206b6f3f"><code>8c206b6</code></a> chore(deps): update node.js to v20.12.2 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5662">#5662</a>)</li>
<li><a href="25965364c3"><code>2596536</code></a> feat(typescript): Update dependency typescript to v5.4.5 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5663">#5663</a>)</li>
<li><a href="d0df607ec9"><code>d0df607</code></a> chore(deps): update dependency cspell to v8.7.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5664">#5664</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil/compare/v4.14.0...v4.16.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.14.0&new-version=4.16.0)](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>
2024-04-19 18:46:42 +00:00
Zack Tanner
64bd6dd057 Revert "[next] add .action handling for dynamic routes" (#11470)
Reverts vercel/vercel#11461 and #11454  while we revisit the approach to produce fewer rewrites.
2024-04-19 18:26:01 +00:00
Vercel Release Bot
02454d4c02 Version Packages (#11462)
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/build-utils@7.12.0

### Minor Changes

- Trigger release
([#11465](https://github.com/vercel/vercel/pull/11465))

## @vercel/static-build@2.5.0

### Minor Changes

- Don't rely on `hugo` binary existing in build-container
([#11455](https://github.com/vercel/vercel/pull/11455))

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.25

## vercel@34.1.1

### Patch Changes

- Updated dependencies
\[[`f4c181a2c`](f4c181a2c2),
[`2826563ff`](2826563ffa)]:
    -   @vercel/static-build@2.5.0
    -   @vercel/build-utils@7.12.0
    -   @vercel/node@3.0.27

## @vercel/client@13.2.1

### Patch Changes

- Updated dependencies
\[[`2826563ff`](2826563ffa)]:
    -   @vercel/build-utils@7.12.0

## @vercel/gatsby-plugin-vercel-builder@2.0.25

### Patch Changes

- Updated dependencies
\[[`2826563ff`](2826563ffa)]:
    -   @vercel/build-utils@7.12.0

## @vercel/node@3.0.27

### Patch Changes

- Updated dependencies
\[[`2826563ff`](2826563ffa)]:
    -   @vercel/build-utils@7.12.0

## @vercel-internals/types@1.0.30

### Patch Changes

- Updated dependencies
\[[`2826563ff`](2826563ffa)]:
    -   @vercel/build-utils@7.12.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 13:36:40 -07:00
Nathan Rajlich
2826563ffa [build-utils] Trigger release of @vercel/build-utils (#11465)
PR #11305 didn't include this package as part of its changeset, so there
was no new release even though it is exporting a new function. Adding
this changeset so that the package is properly published.

Closes #11464.
2024-04-18 13:33:12 -07:00
Nathan Rajlich
f4c181a2c2 [static-build] Don't rely on hugo binary existing in build-container (#11455)
* Makes `hugo` framework preset work when Node.js v20.x is selected in
Project Settings.
* Stores the downloaded `hugo` binary in the `.vercel/cache` directory,
so that it does not need to be re-downloaded upon every deployment.
* Makes `vc build` work when run locally for Hugo projects - tested on
macOS arm64.
2024-04-18 12:56:16 -07:00
Vercel Release Bot
fc7a8bc8ae Version Packages (#11421)
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.0

### Minor Changes

- Don't propagate legacy env VERCEL_ANALYTICS_ID if
@vercel/speed-insights package is detected
([#11305](https://github.com/vercel/vercel/pull/11305))

### Patch Changes

- Replace console.log that communicates to user with client.output
methods ([#11353](https://github.com/vercel/vercel/pull/11353))

- [cli] Do not pipe git stderr to user during successful `vc dev` run
([#11450](https://github.com/vercel/vercel/pull/11450))

- fix: Sort default team to the top of the selection list
([#11451](https://github.com/vercel/vercel/pull/11451))

- Updated dependencies
\[[`993a60ef7`](993a60ef71),
[`949d84ad1`](949d84ad1c),
[`5bb96ea07`](5bb96ea072),
[`fd8031874`](fd80318743)]:
    -   @vercel/next@4.2.1

## @vercel/frameworks@3.0.2

### Patch Changes

- Update framework detection to support SolidStart v1
([#11308](https://github.com/vercel/vercel/pull/11308))

## @vercel/fs-detectors@5.2.3

### Patch Changes

- Updated dependencies
\[[`5f72dc436`](5f72dc4360)]:
    -   @vercel/frameworks@3.0.2

## @vercel/next@4.2.1

### Patch Changes

- [next] add streaming prerender group for actions
([#11454](https://github.com/vercel/vercel/pull/11454))

- [next] Ensure \_not-found is included properly in app router functions
([#11441](https://github.com/vercel/vercel/pull/11441))

- [next] add .action handling for dynamic routes
([#11461](https://github.com/vercel/vercel/pull/11461))

- [next] Remove un-necessary compressed function size calc/constraint
([#11442](https://github.com/vercel/vercel/pull/11442))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 14:47:00 -05:00
Zack Tanner
5bb96ea072 [next] add .action handling for dynamic routes (#11461)
Follow-up to:
- https://github.com/vercel/vercel/pull/11454

Adds similar handling for dynamic routes
2024-04-18 19:04:30 +00:00
Jeff See
596b68ce56 Add eslint rule for no-console within the cli package (#11452)
This PR adds a rule to disallow the use of console.log/console.error/etc
from within the CLI package. The aim is to centralize our use of stdio
within the CLI so that everything moves through our client's output
module. It also disables the rule for all of the current console usage,
with the hopes that we will clean things up soon™

Also want to note that the rule only applies to usage from within the
CLI, so dependencies that the CLI pulls in (both external and even
within this monorepo) are unaffected.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-04-18 10:54:05 -07:00
dependabot[bot]
a891f0e1ef [framework-fixtures]: Bump astro from 4.5.10 to 4.6.2 in /packages/static-build/test/fixtures/astro-v4 in the core group (#11448)
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.5.10 to 4.6.2
<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.6.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10732">#10732</a> <a href="a92e263beb"><code>a92e263beb6e0166f1f13c97803d1861793e2a99</code></a> Thanks <a href="https://github.com/rishi-raj-jain"><code>@​rishi-raj-jain</code></a>! - Correctly sets <code>build.assets</code> directory during <code>vite</code> config setup</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10776">#10776</a> <a href="1607face67"><code>1607face67051b16d4648555f1001b2a9308e377</code></a> Thanks <a href="https://github.com/fshafiee"><code>@​fshafiee</code></a>! - Fixes cookies type inference</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10796">#10796</a> <a href="90669472df"><code>90669472df3a05b33f0de46fd2d039e3eba7f7dd</code></a> Thanks <a href="https://github.com/bluwy"><code>@​bluwy</code></a>! - Disables streaming when rendering site with <code>output: &quot;static&quot;</code></p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10782">#10782</a> <a href="b0589d0553"><code>b0589d05538fcc77dd3c38198bf93f3548362cd8</code></a> Thanks <a href="https://github.com/nektro"><code>@​nektro</code></a>! - Handles possible null value when calling <code>which-pm</code> during dynamic package installation</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10774">#10774</a> <a href="308b5d8c12"><code>308b5d8c122f44e7724bb2f3ad3aa5c43a83e584</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Fixes <code>astro add</code> sometimes modifying <code>baseUrl</code> unintentionally</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10783">#10783</a> <a href="4dbd545304"><code>4dbd545304d1a8af903c8c97f237eb55c988c40b</code></a> Thanks <a href="https://github.com/jurajkapsz"><code>@​jurajkapsz</code></a>! - Fixes Picture component specialFormatsFallback fallback check</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10775">#10775</a> <a href="0684312145"><code>06843121450899ecf0390ca4efaff6c9a6fe0f75</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Fixes assets endpoint in serverless returning 404 in certain situations where the website might be under a protected route</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10787">#10787</a> <a href="699f4559a2"><code>699f4559a279b374bddb3e5e48c72afe2709e8e7</code></a> Thanks <a href="https://github.com/martrapp"><code>@​martrapp</code></a>! - Fixes a timing issue in the view transition simulation.</p>
</li>
</ul>
<h2>astro@4.6.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10708">#10708</a> <a href="742866c566"><code>742866c5669a2be4f8b5a4c861cadb933c381415</code></a> Thanks <a href="https://github.com/horo-fox"><code>@​horo-fox</code></a>! - Limits parallel imports within <code>getCollection()</code> to prevent EMFILE errors when accessing files</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10755">#10755</a> <a href="c6d59b6fb7"><code>c6d59b6fb7db20af957a8706c8159c50619235ef</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Fixes a case where the i18n fallback failed to correctly redirect to the index page with SSR enabled</p>
</li>
</ul>
<h2>astro@4.6.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10591">#10591</a> <a href="39988ef8e2"><code>39988ef8e2c4c4888543c973e06d9b9939e4ac95</code></a> Thanks <a href="https://github.com/mingjunlu"><code>@​mingjunlu</code></a>! - Adds a new dev toolbar settings option to change the horizontal placement of the dev toolbar on your screen: bottom left, bottom center, or bottom right.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10689">#10689</a> <a href="683d51a5ee"><code>683d51a5eecafbbfbfed3910a3f1fbf0b3531b99</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Deprecate support for versions of Node.js older than <code>v18.17.1</code> for Node.js 18, older than <code>v20.0.3</code> for Node.js 20, and the complete Node.js v19 release line.</p>
<p>This change is in line with Astro's <a href="https://docs.astro.build/en/upgrade-astro/#support">Node.js support policy</a>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10678">#10678</a> <a href="2e53b5fff6"><code>2e53b5fff6d292b7acdf8c30a6ecf5e5696846a1</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Adds a new experimental security option to prevent <a href="https://owasp.org/www-community/attacks/csrf">Cross-Site Request Forgery (CSRF) attacks</a>. This feature is available only for pages rendered on demand:</p>
<pre lang="js"><code>import { defineConfig } from 'astro/config';
export default defineConfig({
  experimental: {
    security: {
      csrfProtection: {
        origin: true,
      },
    },
  },
});
</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.6.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10732">#10732</a> <a href="a92e263beb"><code>a92e263beb6e0166f1f13c97803d1861793e2a99</code></a> Thanks <a href="https://github.com/rishi-raj-jain"><code>@​rishi-raj-jain</code></a>! - Correctly sets <code>build.assets</code> directory during <code>vite</code> config setup</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10776">#10776</a> <a href="1607face67"><code>1607face67051b16d4648555f1001b2a9308e377</code></a> Thanks <a href="https://github.com/fshafiee"><code>@​fshafiee</code></a>! - Fixes cookies type inference</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10796">#10796</a> <a href="90669472df"><code>90669472df3a05b33f0de46fd2d039e3eba7f7dd</code></a> Thanks <a href="https://github.com/bluwy"><code>@​bluwy</code></a>! - Disables streaming when rendering site with <code>output: &quot;static&quot;</code></p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10782">#10782</a> <a href="b0589d0553"><code>b0589d05538fcc77dd3c38198bf93f3548362cd8</code></a> Thanks <a href="https://github.com/nektro"><code>@​nektro</code></a>! - Handles possible null value when calling <code>which-pm</code> during dynamic package installation</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10774">#10774</a> <a href="308b5d8c12"><code>308b5d8c122f44e7724bb2f3ad3aa5c43a83e584</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Fixes <code>astro add</code> sometimes modifying <code>baseUrl</code> unintentionally</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10783">#10783</a> <a href="4dbd545304"><code>4dbd545304d1a8af903c8c97f237eb55c988c40b</code></a> Thanks <a href="https://github.com/jurajkapsz"><code>@​jurajkapsz</code></a>! - Fixes Picture component specialFormatsFallback fallback check</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10775">#10775</a> <a href="0684312145"><code>06843121450899ecf0390ca4efaff6c9a6fe0f75</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Fixes assets endpoint in serverless returning 404 in certain situations where the website might be under a protected route</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10787">#10787</a> <a href="699f4559a2"><code>699f4559a279b374bddb3e5e48c72afe2709e8e7</code></a> Thanks <a href="https://github.com/martrapp"><code>@​martrapp</code></a>! - Fixes a timing issue in the view transition simulation.</p>
</li>
</ul>
<h2>4.6.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10708">#10708</a> <a href="742866c566"><code>742866c5669a2be4f8b5a4c861cadb933c381415</code></a> Thanks <a href="https://github.com/horo-fox"><code>@​horo-fox</code></a>! - Limits parallel imports within <code>getCollection()</code> to prevent EMFILE errors when accessing files</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10755">#10755</a> <a href="c6d59b6fb7"><code>c6d59b6fb7db20af957a8706c8159c50619235ef</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Fixes a case where the i18n fallback failed to correctly redirect to the index page with SSR enabled</p>
</li>
</ul>
<h2>4.6.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10591">#10591</a> <a href="39988ef8e2"><code>39988ef8e2c4c4888543c973e06d9b9939e4ac95</code></a> Thanks <a href="https://github.com/mingjunlu"><code>@​mingjunlu</code></a>! - Adds a new dev toolbar settings option to change the horizontal placement of the dev toolbar on your screen: bottom left, bottom center, or bottom right.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10689">#10689</a> <a href="683d51a5ee"><code>683d51a5eecafbbfbfed3910a3f1fbf0b3531b99</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Deprecate support for versions of Node.js older than <code>v18.17.1</code> for Node.js 18, older than <code>v20.0.3</code> for Node.js 20, and the complete Node.js v19 release line.</p>
<p>This change is in line with Astro's <a href="https://docs.astro.build/en/upgrade-astro/#support">Node.js support policy</a>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10678">#10678</a> <a href="2e53b5fff6"><code>2e53b5fff6d292b7acdf8c30a6ecf5e5696846a1</code></a> Thanks <a href="https://github.com/ematipico"><code>@​ematipico</code></a>! - Adds a new experimental security option to prevent <a href="https://owasp.org/www-community/attacks/csrf">Cross-Site Request Forgery (CSRF) attacks</a>. This feature is available only for pages rendered on demand:</p>
<pre lang="js"><code>import { defineConfig } from 'astro/config';
export default defineConfig({
  experimental: {
    security: {
      csrfProtection: {
        origin: true,
      },
    },
  },
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="668d97319c"><code>668d973</code></a> [ci] release (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10777">#10777</a>)</li>
<li><a href="a92e263beb"><code>a92e263</code></a> fix: use assetsDir in creating vite config (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10732">#10732</a>)</li>
<li><a href="90669472df"><code>9066947</code></a> Disable streaming for SSG (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10796">#10796</a>)</li>
<li><a href="b0589d0553"><code>b0589d0</code></a> astro/cli/install-package.ts: whichPm may return null if ran in an empty dire...</li>
<li><a href="af1af9faee"><code>af1af9f</code></a> [ci] format</li>
<li><a href="0684312145"><code>0684312</code></a> fix(assets): Forward headers from the original request to the internal reques...</li>
<li><a href="01cb41763e"><code>01cb417</code></a> [ci] format</li>
<li><a href="699f4559a2"><code>699f455</code></a> Make viewTransition.finished wait for animations triggered by viewTransition....</li>
<li><a href="1607face67"><code>1607fac</code></a> Fix <code>@​types/cookie</code> dependency (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10776">#10776</a>)</li>
<li><a href="4dbd545304"><code>4dbd545</code></a> fix: picture fallback check (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10783">#10783</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/withastro/astro/commits/astro@4.6.2/packages/astro">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astro&package-manager=npm_and_yarn&previous-version=4.5.10&new-version=4.6.2)](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>
2024-04-18 16:10:15 +00:00
Zack Tanner
993a60ef71 [next] add streaming prerender group for actions (#11454)
Invoking an action that's a Prerender will currently bypass the static cache (via `experimentalBypassFor`), but the prerender group doesn't support streaming.

This clones the prerender group and adds corresponding rewrites for those requests. Separately, we'll deprecate `experimentalBypassFor`.

Depends on:
- https://github.com/vercel/next.js/pull/64592
2024-04-18 15:47:24 +00:00
Vercel Release Bot
55190873a1 [examples][tests] Upgrade Next.js to version 14.2.2 (#11456)
This auto-generated PR updates 8 packages to Next.js version 14.2.2
2024-04-18 15:25:49 +00:00
Chris
1e6323e2b1 [cli] Ignore VERCEL_ANALYTICS_ID if @vercel/speed-insights is present on the project (#11305)
In the past, we used the `VERCEL_ANALYTICS_ID` environment variable with the previous Speed Insights feature on Vercel to activate specific logic in Next.js, Nuxt and Gatsby for collecting and sending web vitals data.

With the new Speed Insights, that's not required anymore.

We no longer want to set the environment variable when detecting the new `@vercel/speed-insights` package. 
This PR confirms that the variable is not set if the new package is detected.
2024-04-18 15:08:32 +00:00
careworry
0b05981673 chore: fix some typos in comments (#11459)
Signed-off-by: careworry <worrycare@outlook.com>
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com>
2024-04-18 09:41:03 -05:00
S. Elliott Johnson
8fd2c0671e [cli] Sort default team to the top of the team selector (#11451)
The user's default team should be sorted to the top of the selector. This is a nice and simple way to do this, though I'm not sure how to test my changes -- would appreciate guidance!
2024-04-18 13:46:22 +00:00
Austin Merrick
1447bc011c [cli] Don't log error when running vc dev in a directory without a .git directory (#11450)
`vc dev` in a dir without a `.git` dir would display an error the user should not see:

```
Vercel CLI 34.0.0
fatal: not a git repository (or any of the parent directories): .git
> Ready! Available at [http://localhost:3000](http://localhost:3000)
```

This fixes that by ignoring the stderr from `git rev-parse`.
2024-04-18 13:32:20 +00:00
Erika Rowland
027150134f Add snapshot tests for help (#11439)
Adds snapshot tests for the output from help as output by various commands. I expect to be changing some of the `Command` structs to continue the work started in [ [cli] Improve type signature of CommandOption #11394 ](https://github.com/vercel/vercel/pull/11394) especially as I build on work in [ Get flags specification #11433 ](https://github.com/vercel/vercel/pull/11433), and I want to be sure that the associated changes to help output are what we expect.
2024-04-17 20:51:54 +00:00
JJ Kasper
949d84ad1c [next] Ensure _not-found is included properly in app router functions (#11441)
This ensures we properly include `_not-found` assets when present for
app router specific functions as otherwise when attempting to render
`notFound()` case we can hit `MODULE_NOT_FOUND` errors. A test case for
this behavior has been added under `00-app-router-not-found`.

Closes: [NEXT-3084](https://linear.app/vercel/issue/NEXT-3084)
2024-04-17 13:37:39 -07:00
JJ Kasper
fd80318743 [next] Remove un-necessary compressed function size calc/constraint (#11442)
Historically, we used to have a compressed function size limit of `50MB` but this is a very old limit and was removed long ago. Considering this limit is removed and it requires additional overhead to calculate, this removes the compressed size limit handling while leaving the uncompressed size limit detection/handling.
2024-04-17 19:50:54 +00:00
Austin Merrick
10883f2c22 Update packages causing vulnerability messages (#11415)
A customer was worried about security vulnerabilities that `pnpm audit` listed for `@babel/traverse`, `http-cache-semantics`, and `json5`. This updates those deps, removing those vulnerability messages.
2024-04-17 19:02:25 +00:00
Austin Merrick
af515c9dfc [redwood] Remove Redwood e2e tests (#11444)
These tests are failing on prod now. This builder is 4 years out of
date, and we're likely not going to make it work again.
2024-04-17 13:14:11 -05:00
Erika Rowland
a1dfd90eec Get flags specification (#11433)
Extracting logic for turning a list of `CommandOption`s into a flagsSpecification for `parseArguments`. Builds on the work from #11396 and #11394.
2024-04-16 17:07:55 +00:00
Jeff See
838f4f4894 Bump Github Actions to Node 20 (#11432) 2024-04-15 14:28:04 +00:00
Vercel Release Bot
7922a79300 [examples][tests] Upgrade Next.js to version 14.2.1 (#11434)
This auto-generated PR updates 7 packages to Next.js version 14.2.1

Co-authored-by: Steven <steven@ceriously.com>
2024-04-15 10:05:16 -04:00
Austin Merrick
d5f0777c9c [tests] Remove old changelog tests (#11420)
These tests are remnants for code deleted in https://github.com/vercel/vercel/pull/9914.
2024-04-14 08:26:51 +00:00
Erika Rowland
0dfb60df83 [cli] Create argument parsing utility with clearer semantics (#11396)
The way that we currently parse arguments throughout the vercel command line is through the `getArgs` function. This function takes three arguments: `argv`, `argOptions`, and `argsOptions`. (Those last two arguments are swapped in order from the real function). This is semantically muddy and likely to create mistakes. We have instances in our code base, such as `deploy/index.ts` which at the time of this pull request creates a variable named `argOptions` and passes it to the `argsOptions` argument of `getArgs`.

Further, the return type of `arg` the library we currently use to parse arguments is unclear as well. It puts positional arguments under an `_` key, instead of a meaningful name.

In this pull request, I create a function called `parseArguments` that takes the same three arguments as `getArgs` with improved names: `args`, `flags`, and `parserOptions`. It also changes the return type to be an object with two keys: `{args, flags}` allowing for clearer access patterns where the argument parser is used.
2024-04-14 08:22:55 +00:00
Vercel Release Bot
04b3f22d91 [tests] Update Gatsby fixture versions (#11435)
Automatically generated PR to update Gatsby fixture versions in
`@vercel/static-build`
2024-04-13 19:42:34 -07:00
Austin Merrick
e2370a3d5f [cli] Fix type error (#11430)
The changes between https://github.com/vercel/vercel/pull/11348 and
https://github.com/vercel/vercel/pull/11394 were incompatible, causing
this type error.
2024-04-12 11:24:02 -07:00
Erika Rowland
21bbbb648d [cli] Improve type signature of CommandOption (#11394)
The previous type signature of `CommandOption` did not cover all of the actual uses of option types throughout the codebase. This one may not cover all possible types, but comes much closer and allows us to literally state the type constructor used by `arg` to parse options.

This will allow for direct use of `command.ts` data structures so that Help output matches the actually parsed options used by every subcommand.

`deploy/index.ts` already shows an example of this, and a future pull request can build on that example by extracting that logic into a utility function.
2024-04-12 06:56:48 +00:00
Ryan Carniato
5f72dc4360 [examples] Update to latest SolidStart (#11308)
We've done a pretty significant update over the past few months on
SolidStart and 1.0 is looming. Thought I'd update the official templates
to get in line before we do the release.

I wasn't sure what to do with the `output` fields as we use Vercel's
build output V3 here. But otherwise I think everything should be good.

---------

Co-authored-by: Nathan Rajlich <n@n8.io>
Co-authored-by: Jeff See <jeffsee.55@gmail.com>
2024-04-12 01:41:52 -05:00
Erika Rowland
da0ddb83b0 [cli] replace console.log that communicates to user with output.log (#11353)
We have several instances of `console.log` being used with colors or other indicators that they're trying to communicate to the user, and not in a way that makes sense for standard output. These should be migrated to use the `client.output` methods where possible.
2024-04-11 23:40:25 +00:00
Vercel Release Bot
009f402467 [examples][tests] Upgrade Next.js to version 14.2.0 (#11419)
This auto-generated PR updates 7 packages to Next.js version 14.2.0
2024-04-11 19:36:38 -04:00
Jeff See
a6f1c561a2 Introduce snapshot testing utilities (#11375)
This introduces some additional capabilities on the `MockClient` and `MockStream` classes used in our unit tests. 

The bulk of this code is copied over from https://github.com/SBoudrias/Inquirer.js/tree/master/packages/testing, but uses our existing stdin/stdout mocks instead of what's used there. 

You can now use `client.getScreen()` to see the "last" screen pushed to stdin, which is super handy for snapshot tests. I've added a few as part of this PR, but many more can be written for our client output as well in the near future.

---

The `client.getScreen()` is also a handy debug tool, use it with `raw: true` to see a pretty printed output during tests:


https://github.com/vercel/vercel/assets/5414297/d0be6078-4901-4eb2-a6c9-1b51b576c1ba

---

This also adds an `events` object on the `MockClient` which allows us to write `client.events.keypress("down")` instead of the less readable `client.stdin.write('\x1B[B')` throughout our testing. This could also be moved to so that it's `client.stdin.keypress(...` or something similar. Note that I've only tested that this works in a login test, included in this PR. If we're happy to make this change I will make update the rest of the unit tests to use this syntax for the inputs.
2024-04-11 19:51:34 +00:00
Steven
d3e83ad8b8 [ci] Speed up CI with macos-14 (#11133)
- Before: [5m 38s](https://github.com/vercel/vercel/actions/runs/7831733256/job/21368857518?pr=11131)
- After: [1m 23s](https://github.com/vercel/vercel/actions/runs/7836156637/job/21383185433?pr=11133)


Learn more: https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/
2024-04-11 16:04:24 +00:00
Vercel Release Bot
f39513118a Version Packages (#11413)
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.0.0

### Major Changes

- Disables promotion of preview deployments
([#11411](https://github.com/vercel/vercel/pull/11411))

### Patch Changes

- Always set `projectSettings.nodeVersion` in `vc deploy`
([#11351](https://github.com/vercel/vercel/pull/11351))

- [cli] optional override of existing environment variables with --force
([#11348](https://github.com/vercel/vercel/pull/11348))

## @vercel/client@13.2.0

### Minor Changes

- Always use v13 of create deployment API endpoint
([#11351](https://github.com/vercel/vercel/pull/11351))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-11 08:59:24 -05:00
Nathan Rajlich
fd188a396b [tests] Use vercel-deno for "custom-runtime" dev fixture (#11405)
This is related #11133. This `custom-runtime` tests is failing on that branch since the "macos-14" test runner uses arm64 processor, and the `static-binaries` "import" package that the "vercel-bash" runtime is using does not have binaries for arm64. Switch this test fixture to use "vercel-deno" instead, which won't have this problem.
2024-04-11 01:49:13 +00:00
Jeff See
cdfc879f69 Specify npm script to run during Find Changes step (#11409)
Add a new vitest-unit test type and specify which npm script to run for a given chunks tests. Currently the CLI unit tests are actually running as part of the Find Changes action, because vitest ignores the `--listTests` flag and just runs the tests immediately.
2024-04-11 00:26:58 +00:00
Nathan Rajlich
b58dcc5733 [remix] Add custom entry.server for Vite test (#11408)
Adds an e2e test fixture which tests that a custom `app/entry.server` file is supported.

Related to:

* https://github.com/vercel/remix/pull/85
* https://github.com/vercel/remix/pull/89
2024-04-10 23:53:49 +00:00
Sean Massa
cddf3fa00c Revert "[cli] Revert "Disallow promoting preview deployments to production (#11363)"" (#11411)
Reverts vercel/vercel#11410 to reinstate #11363
2024-04-10 22:15:33 +00:00
Nathan Rajlich
627b79fb14 [client] Always use v13 of create deployment API endpoint (#11351)
Updates `@vercel/client` to always use the v13 create-deployment endpoint, even when `builds` is present. This allows for `projectSettings.nodeVersion` to be passed when `builds` is present.
2024-04-10 20:55:28 +00:00
Mountain/\Ash
7259a324c2 [cli] optional override of existing environment variables (#11348)
## Why

Closes #11130

## Changelog

Added `--force` argument to upsert existing environment variables (#11130)

## References

- Vercel API `/v10/projects/{idOrName}/env` https://vercel.com/docs/rest-api/endpoints/projects#create-one-or-more-environment-variables
2024-04-10 20:13:53 +00:00
Nathan Rajlich
1aab599652 Version Packages (#11395)
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.

- Add support for edge function environment variables
([#11390](https://github.com/vercel/vercel/pull/11390))

- fix flickering during interactive UI rerendering
([#11392](https://github.com/vercel/vercel/pull/11392))

- fix `vc ls` message to be `vc projects ls`
([#11400](https://github.com/vercel/vercel/pull/11400))

- Updated dependencies
\[[`2461b571a`](2461b571af)]:
    -   @vercel/next@4.2.0
2024-04-10 12:43:42 -07:00
Florentin / 珞辰
2461b571af [next] use middleware manifest worker environments (#11390)
This PR adds changes to the Next.js builder to pass the per-worker environment emitted from the Next.js middleware manifest to the created `EdgeFunction` resource.
2024-04-10 08:27:53 +00:00
Nathan Rajlich
1088bf2dea [cli] Revert "Disallow promoting preview deployments to production (#11363)" (#11410)
This reverts commit 4e416d7d7b.

It was erroneously merged by Kodiak with failing unit tests.
2024-04-10 07:03:12 +00:00
Austin Merrick
c5bd242a79 [cli] Fix command recommendation (#11400)
`vc rm <project-name-that-doesn't-exist>` gives the message:
<img width="749" alt="Screenshot 2024-04-08 at 2 38 03 PM" src="https://github.com/vercel/vercel/assets/8485687/e041d47e-ce66-434b-838b-3693eb6cc4a7">

`vc ls` is not correct. `vc projects ls` is the correct command.
2024-04-09 22:15:54 +00:00
Vercel Release Bot
764ba97967 [tests] Upgrade Turbo to version 1.13.2 (#11398)
This auto-generated PR updates Turbo to version 1.13.2
2024-04-09 22:12:37 +00:00
Trek Glowacki
4e416d7d7b [cli] Disallow promoting preview deployments to production (#11363)
Blocks preview deployments from being directly promoted. This relies on a new API version bump.

Copied the warning text from the UI:
![CleanShot 2024-04-01 at 11 04 00@2x](https://github.com/vercel/vercel/assets/9736/4e93ffdd-32f2-40bc-97e7-6fe98208cd76)

This is a breaking change and will require a major version bump. Please don't merge until we're ready.
2024-04-09 22:02:29 +00:00
findseat
8775ff3fcf chore: fix some typos (#11397) 2024-04-09 20:51:35 +00:00
Nathan Rajlich
bd100baa16 [tests] Fix tarball URL from deleted project (#11403)
I did some pruning of old projects on my personal account last night, and accidentally broke CI. I've created a new tarball on the `curated-tests` team so that it doesn't happen again.
2024-04-09 19:56:47 +00:00
Austin Merrick
2e6aab01cb [cli] Unify table formatting output (#11387)
This removes 'text-table' as a dependency in favor of using 'cli-table3', and simplifies table formatting logic.
2024-04-09 07:33:04 +00:00
Nathan Rajlich
3e57c4a2de [tests] Remove disableSSO() function (#11380)
The SSO Protection feature is now turned off by default for testing accounts. So this manual logic for disabling the feature on each project test fixture is no longer necessary.
2024-04-06 07:47:56 +00:00
Austin Merrick
0c3d136414 [cli] Fix flickering during UI re-rendering (#11392)
Various UI components would flicker upon re-rendering in unoptimized terminals as OSX's stock terminal app. This change bumps these components to include [this fix](https://github.com/SBoudrias/Inquirer.js/pull/1379).

## Before
https://github.com/vercel/vercel/assets/8485687/352ce43e-9a01-4290-a4c8-8826aebf859a

## After
https://github.com/vercel/vercel/assets/8485687/9e2eb071-0f7c-4d5a-adf6-735b30bcc294
2024-04-05 22:13:37 +00:00
Jeff See
238d6db17a Fix name for integration test (#11393)
I think this was a copy/paste typo from https://github.com/vercel/vercel/pull/11243
2024-04-05 21:50:27 +00:00
Vercel Release Bot
bb7bfd027f Version Packages (#11382)
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@33.7.0

### Minor Changes

- improve UX for text input validation
([#11388](https://github.com/vercel/vercel/pull/11388))

- Replace the implementation of the yes/no prompt in several areas to be
consistent with the rest of the CLI.
([#11279](https://github.com/vercel/vercel/pull/11279))

### Patch Changes

- [cli] Fix how we determine the GIT_CONFIG_PATH to support git
worktrees and git submodules
([#11283](https://github.com/vercel/vercel/pull/11283))

- avoid printing errors when user does ctrl+c
([#11377](https://github.com/vercel/vercel/pull/11377))

- Warn that promoting preview deploys is deprecated
([#11376](https://github.com/vercel/vercel/pull/11376))

- Updated dependencies
\[[`a3fb7e6ab`](a3fb7e6abe)]:
    -   @vercel/go@3.1.1

## @vercel/go@3.1.1

### Patch Changes

- Add support for `1.22` and update Go minor versions `1.19`, `1.20` and
`1.21` ([#11156](https://github.com/vercel/vercel/pull/11156))

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-05 08:58:55 -05:00
Austin Merrick
a56ab4ded9 [cli] Improve UX for text input validation (#11388)
Originally, I was focused on fixing this visual bug:
<img width="565" alt="Screenshot 2024-04-04 at 9 50 56 AM" src="https://github.com/vercel/vercel/assets/8485687/eb526fae-69d4-4636-ac8b-4cf6a3475c58">

When digging into this issue, I realized there was an opportunity to improve text input validation UX and remove hand-rolled validation code.

## Before:

https://github.com/vercel/vercel/assets/8485687/5e264696-8b60-4863-8dc2-1a797f508074

https://github.com/vercel/vercel/assets/8485687/2104603a-331e-4679-9ec2-a4235fad252e

## After:

https://github.com/vercel/vercel/assets/8485687/72c51831-2b94-4cbe-b1f6-a5822bf9f1a8

https://github.com/vercel/vercel/assets/8485687/a371c7be-f7f5-4d3a-9451-58e7f572d25b

## Additional considerations

[input-root-directory](https://github.com/vercel/vercel/blob/main/packages/cli/src/util/input/input-root-directory.ts#L17) remains an instance of hand-rolled validation since it's trickier to force into inquirer's validation pattern. Also, we have a [hand-rolled text input function](https://github.com/vercel/vercel/blob/main/packages/cli/src/util/input/text.ts#L43) that will get similar benefits when replaced with `client.input.text`.
2024-04-04 22:20:38 +00:00
Nathan Rajlich
5660dab2ae [tests] Revert "fetch vercel.com cert before builds and after tests" (#11381)
This reverts commit a8eab6beb7 (#9803).

These CI steps were for an incident from close to a year ago, which has since been resolved.
2024-04-04 19:59:06 +00:00
Austin Merrick
1202cf8792 [cli] Avoid printing error when user does ctrl+c (#11377)
https://github.com/vercel/vercel/pull/11321 introduced a problem where ctrl+c during certain prompts would cause an error to be printed:

![Screenshot 2024-04-02 at 18 14 13](https://github.com/vercel/vercel/assets/8485687/6b37373d-ae83-4f75-a647-6d95536d6703)

The problem was that `@inquirer/prompts` throws errors on ctrl+c that get caught and printed in `handleError`. This fix skips printing those errors.
2024-04-04 19:43:44 +00:00
Trek Glowacki
80b8c3d022 [cli] Deprecate promoting preview deployments to production (#11376)
Warn about imminent removal of promoting preview deployments directly to
production.

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-04-04 13:01:53 -05:00
dependabot[bot]
68e5edb9a2 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/ionic-react-v7 with 2 updates (#11383)
Bumps the core group in /packages/static-build/test/fixtures/ionic-react-v7 with 2 updates: [@ionic/react](https://github.com/ionic-team/ionic-framework) and [@ionic/core](https://github.com/ionic-team/ionic-framework).

Updates `@ionic/react` from 7.6.1 to 7.8.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/react</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.8.3</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3">7.8.3</a> (2024-04-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>button:</strong> activated outline button in toolbar no longer blends into background on MD dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29216">#29216</a>) (<a href="ee5da7a747">ee5da7a</a>)</li>
<li><strong>popover:</strong> viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>) (<a href="f08759c2b8">f08759c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29211">#29211</a></li>
</ul>
<h2>v7.8.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.1...v7.8.2">7.8.2</a> (2024-03-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>searchbar:</strong> autocapitalize is initialized correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29197">#29197</a>) (<a href="8ad66c03d7">8ad66c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29193">#29193</a></li>
</ul>
<h2>v7.8.1</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.0...v7.8.1">7.8.1</a> (2024-03-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> wheel picker shows consistently in overlays (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29147">#29147</a>) (<a href="19c1bc16cb">19c1bc1</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26234">#26234</a></li>
<li><strong>header:</strong> iOS headers in MD app are not hidden (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29164">#29164</a>) (<a href="fdfecd32c3">fdfecd3</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28867">#28867</a></li>
<li><strong>react:</strong> avoid definitely typed errors with <code>@​types/react</code><a href="https://github.com/18"><code>@​18</code></a> (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29182">#29182</a>) (<a href="58d217d0cf">58d217d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29178">#29178</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>datetime:</strong> calendar body shows immediately in modal on ios (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29163">#29163</a>) (<a href="f75977699d">f759776</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24542">#24542</a></li>
</ul>
<h2>v7.8.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2>v7.7.5</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/react</code>'s changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3">7.8.3</a> (2024-04-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>button:</strong> activated outline button in toolbar no longer blends into background on MD dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29216">#29216</a>) (<a href="ee5da7a747">ee5da7a</a>)</li>
<li><strong>popover:</strong> viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>) (<a href="f08759c2b8">f08759c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29211">#29211</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.1...v7.8.2">7.8.2</a> (2024-03-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>searchbar:</strong> autocapitalize is initialized correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29197">#29197</a>) (<a href="8ad66c03d7">8ad66c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29193">#29193</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.0...v7.8.1">7.8.1</a> (2024-03-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> wheel picker shows consistently in overlays (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29147">#29147</a>) (<a href="19c1bc16cb">19c1bc1</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26234">#26234</a></li>
<li><strong>header:</strong> iOS headers in MD app are not hidden (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29164">#29164</a>) (<a href="fdfecd32c3">fdfecd3</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28867">#28867</a></li>
<li><strong>react:</strong> avoid definitely typed errors with <code>@​types/react</code><a href="https://github.com/18"><code>@​18</code></a> (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29182">#29182</a>) (<a href="58d217d0cf">58d217d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29178">#29178</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>datetime:</strong> calendar body shows immediately in modal on ios (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29163">#29163</a>) (<a href="f75977699d">f759776</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24542">#24542</a></li>
</ul>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="de35fa8b94"><code>de35fa8</code></a> v7.8.3</li>
<li><a href="c766528a17"><code>c766528</code></a> chore: run build (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29262">#29262</a>)</li>
<li><a href="9b3cf9fbc2"><code>9b3cf9f</code></a> chore(docs): move docs to the packages directory (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29256">#29256</a>)</li>
<li><a href="ee5da7a747"><code>ee5da7a</code></a> fix(button): activated outline button in toolbar no longer blends into backgr...</li>
<li><a href="c4bfc783e0"><code>c4bfc78</code></a> chore: remove Amanda from codeowners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29252">#29252</a>)</li>
<li><a href="0137e732ce"><code>0137e73</code></a> chore: remove myself from code owners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29251">#29251</a>)</li>
<li><a href="88ecb29e39"><code>88ecb29</code></a> chore: remove self from codeowners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29250">#29250</a>)</li>
<li><a href="f726c35868"><code>f726c35</code></a> chore(deps): update dependency <code>@​stencil/vue-output-target</code> to v0.8.8 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29243">#29243</a>)</li>
<li><a href="4a9d84ecbd"><code>4a9d84e</code></a> chore: remove mapsandapps from issue auto assignment (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29248">#29248</a>)</li>
<li><a href="f08759c2b8"><code>f08759c</code></a> fix(popover): viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v7.6.1...v7.8.3">compare view</a></li>
</ul>
</details>
<br />

Updates `@ionic/core` from 7.6.1 to 7.8.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.8.3</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3">7.8.3</a> (2024-04-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>button:</strong> activated outline button in toolbar no longer blends into background on MD dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29216">#29216</a>) (<a href="ee5da7a747">ee5da7a</a>)</li>
<li><strong>popover:</strong> viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>) (<a href="f08759c2b8">f08759c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29211">#29211</a></li>
</ul>
<h2>v7.8.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.1...v7.8.2">7.8.2</a> (2024-03-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>searchbar:</strong> autocapitalize is initialized correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29197">#29197</a>) (<a href="8ad66c03d7">8ad66c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29193">#29193</a></li>
</ul>
<h2>v7.8.1</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.0...v7.8.1">7.8.1</a> (2024-03-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> wheel picker shows consistently in overlays (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29147">#29147</a>) (<a href="19c1bc16cb">19c1bc1</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26234">#26234</a></li>
<li><strong>header:</strong> iOS headers in MD app are not hidden (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29164">#29164</a>) (<a href="fdfecd32c3">fdfecd3</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28867">#28867</a></li>
<li><strong>react:</strong> avoid definitely typed errors with <code>@​types/react</code><a href="https://github.com/18"><code>@​18</code></a> (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29182">#29182</a>) (<a href="58d217d0cf">58d217d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29178">#29178</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>datetime:</strong> calendar body shows immediately in modal on ios (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29163">#29163</a>) (<a href="f75977699d">f759776</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24542">#24542</a></li>
</ul>
<h2>v7.8.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2>v7.7.5</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/core</code>'s changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3">7.8.3</a> (2024-04-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>button:</strong> activated outline button in toolbar no longer blends into background on MD dark mode (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29216">#29216</a>) (<a href="ee5da7a747">ee5da7a</a>)</li>
<li><strong>popover:</strong> viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>) (<a href="f08759c2b8">f08759c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29211">#29211</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.1...v7.8.2">7.8.2</a> (2024-03-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>searchbar:</strong> autocapitalize is initialized correctly (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29197">#29197</a>) (<a href="8ad66c03d7">8ad66c0</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29193">#29193</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.8.0...v7.8.1">7.8.1</a> (2024-03-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>datetime:</strong> wheel picker shows consistently in overlays (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29147">#29147</a>) (<a href="19c1bc16cb">19c1bc1</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/26234">#26234</a></li>
<li><strong>header:</strong> iOS headers in MD app are not hidden (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29164">#29164</a>) (<a href="fdfecd32c3">fdfecd3</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28867">#28867</a></li>
<li><strong>react:</strong> avoid definitely typed errors with <code>@​types/react</code><a href="https://github.com/18"><code>@​18</code></a> (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29182">#29182</a>) (<a href="58d217d0cf">58d217d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29178">#29178</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>datetime:</strong> calendar body shows immediately in modal on ios (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29163">#29163</a>) (<a href="f75977699d">f759776</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/24542">#24542</a></li>
</ul>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="de35fa8b94"><code>de35fa8</code></a> v7.8.3</li>
<li><a href="c766528a17"><code>c766528</code></a> chore: run build (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29262">#29262</a>)</li>
<li><a href="9b3cf9fbc2"><code>9b3cf9f</code></a> chore(docs): move docs to the packages directory (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29256">#29256</a>)</li>
<li><a href="ee5da7a747"><code>ee5da7a</code></a> fix(button): activated outline button in toolbar no longer blends into backgr...</li>
<li><a href="c4bfc783e0"><code>c4bfc78</code></a> chore: remove Amanda from codeowners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29252">#29252</a>)</li>
<li><a href="0137e732ce"><code>0137e73</code></a> chore: remove myself from code owners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29251">#29251</a>)</li>
<li><a href="88ecb29e39"><code>88ecb29</code></a> chore: remove self from codeowners (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29250">#29250</a>)</li>
<li><a href="f726c35868"><code>f726c35</code></a> chore(deps): update dependency <code>@​stencil/vue-output-target</code> to v0.8.8 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29243">#29243</a>)</li>
<li><a href="4a9d84ecbd"><code>4a9d84e</code></a> chore: remove mapsandapps from issue auto assignment (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29248">#29248</a>)</li>
<li><a href="f08759c2b8"><code>f08759c</code></a> fix(popover): viewport can be scrolled if no content present (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29215">#29215</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v7.6.1...v7.8.3">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>
2024-04-04 16:10:26 +00:00
dependabot[bot]
1545e31a31 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/nuxt-v3 with 3 updates (#11297)
Bumps the core group in /packages/static-build/test/fixtures/nuxt-v3 with 3 updates: [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt), [vue](https://github.com/vuejs/core) and [vue-router](https://github.com/vuejs/router).

Updates `nuxt` from 3.7.4 to 3.11.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/nuxt/nuxt/releases">nuxt's releases</a>.</em></p>
<blockquote>
<h2>v3.11.1</h2>
<blockquote>
<p>3.11.1 is a patch release addressing regressions in v3.11.0.</p>
</blockquote>
<h2> Upgrading</h2>
<p>As usual, our recommendation for upgrading is to run:</p>
<pre lang="sh"><code>nuxi upgrade --force
</code></pre>
<p>This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.</p>
<h2>👉 Changelog</h2>
<p><a href="https://github.com/nuxt/nuxt/compare/v3.11.0...v3.11.1">compare changes</a></p>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>nuxt:</strong> Ignore console.logs called outside event context (<a href="https://github.com/nuxt/nuxt/commit/b3ced3d69">b3ced3d69</a>)</li>
<li><strong>schema:</strong> Include <code>ofetch</code> in <code>typescript.hoist</code> defaults (<a href="https://redirect.github.com/nuxt/nuxt/pull/26316">#26316</a>)</li>
<li><strong>nuxt:</strong> Conditionally use <code>tsx</code> parser (<a href="https://redirect.github.com/nuxt/nuxt/pull/26314">#26314</a>)</li>
<li><strong>nuxt:</strong> Correct <code>finish</code> types and add to docs (<a href="https://github.com/nuxt/nuxt/commit/0d9c63b82">0d9c63b82</a>)</li>
<li><strong>nuxt:</strong> Ignore failures to access asyncContext in environments without it (<a href="https://github.com/nuxt/nuxt/commit/523db1a19">523db1a19</a>)</li>
<li><strong>nuxt:</strong> Handle failure creating BroadcastChannel (<a href="https://redirect.github.com/nuxt/nuxt/pull/26340">#26340</a>)</li>
<li><strong>nuxt:</strong> Don't warn when injecting client-only components (<a href="https://redirect.github.com/nuxt/nuxt/pull/26341">#26341</a>)</li>
<li><strong>nuxt:</strong> Prevent losing pages routes on prerender (<a href="https://redirect.github.com/nuxt/nuxt/pull/26354">#26354</a>)</li>
<li><strong>nuxt:</strong> Pass <code>undefined</code> name when resolving trailing slash (<a href="https://redirect.github.com/nuxt/nuxt/pull/26358">#26358</a>)</li>
<li><strong>vite:</strong> Use ssr result if it exists (<a href="https://redirect.github.com/nuxt/nuxt/pull/26356">#26356</a>)</li>
</ul>
<h3>📖 Documentation</h3>
<ul>
<li>Fix code block formatting for <code>usePreviewMode</code> (<a href="https://redirect.github.com/nuxt/nuxt/pull/26303">#26303</a>)</li>
<li>Fix confusing wording (<a href="https://redirect.github.com/nuxt/nuxt/pull/26301">#26301</a>)</li>
<li>Add note that <code>useId</code> must be used with single root element (<a href="https://github.com/nuxt/nuxt/commit/401370b3a">401370b3a</a>)</li>
<li>Mention <code>&lt;DevOnly&gt;</code> component in api section (<a href="https://redirect.github.com/nuxt/nuxt/pull/26029">#26029</a>)</li>
<li>Note that <code>@nuxt/schema</code> should be used by module authors (<a href="https://redirect.github.com/nuxt/nuxt/pull/26190">#26190</a>)</li>
<li>Add <code>routeNameSplitter</code> example in migration docs (<a href="https://redirect.github.com/nuxt/nuxt/pull/25838">#25838</a>)</li>
</ul>
<h3>🏡 Chore</h3>
<ul>
<li><strong>nuxt:</strong> Remove unused code (<a href="https://redirect.github.com/nuxt/nuxt/pull/26319">#26319</a>)</li>
<li>Revert update github/codeql-action action (<a href="https://github.com/nuxt/nuxt/commit/c72951b06">c72951b06</a>)</li>
</ul>
<h3>🤖 CI</h3>
<ul>
<li>Configure npm registry in release workflow (<a href="https://github.com/nuxt/nuxt/commit/68f7d4df8">68f7d4df8</a>)</li>
</ul>
<h3>❤️ Contributors</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a80d1a0d63"><code>a80d1a0</code></a> v3.11.1</li>
<li><a href="c49d206647"><code>c49d206</code></a> fix(nuxt): pass <code>undefined</code> name when resolving trailing slash (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26358">#26358</a>)</li>
<li><a href="7284e70de9"><code>7284e70</code></a> fix(nuxt): prevent losing pages routes on prerender (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26354">#26354</a>)</li>
<li><a href="0bc49eb0ca"><code>0bc49eb</code></a> chore(deps): update dependency nuxi to v3.11.0 (main) (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26353">#26353</a>)</li>
<li><a href="90591e3a3c"><code>90591e3</code></a> fix(nuxt): don't warn when injecting client-only components (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26341">#26341</a>)</li>
<li><a href="2c0fc3a15e"><code>2c0fc3a</code></a> fix(nuxt): handle failure creating BroadcastChannel (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26340">#26340</a>)</li>
<li><a href="9b9558bcf9"><code>9b9558b</code></a> chore(deps): update dependency ufo to v1.5.2 (main) (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26339">#26339</a>)</li>
<li><a href="03f7b0941e"><code>03f7b09</code></a> chore(nuxt): remove unused code (<a href="https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt/issues/26319">#26319</a>)</li>
<li><a href="523db1a197"><code>523db1a</code></a> fix(nuxt): ignore failures to access asyncContext in environments without it</li>
<li><a href="0d9c63b828"><code>0d9c63b</code></a> fix(nuxt): correct <code>finish</code> types and add to docs</li>
<li>Additional commits viewable in <a href="https://github.com/nuxt/nuxt/commits/v3.11.1/packages/nuxt">compare view</a></li>
</ul>
</details>
<br />

Updates `vue` from 3.3.4 to 3.4.21
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/vuejs/core/releases">vue's releases</a>.</em></p>
<blockquote>
<h2>v3.4.21</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.20</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.19</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.18</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.17</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.16</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.15</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.14</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.13</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.12</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.11</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.10</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.9</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.8</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.7</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.6</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<h2>v3.4.5</h2>
<p>Please refer to <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">vue's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/vuejs/core/compare/v3.4.20...v3.4.21">3.4.21</a> (2024-02-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime-dom:</strong> avoid unset option's value (<a href="https://redirect.github.com/vuejs/core/issues/10416">#10416</a>) (<a href="b3f8b5a4e7">b3f8b5a</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10412">#10412</a> <a href="https://redirect.github.com/vuejs/core/issues/10396">#10396</a></li>
<li><strong>suspense:</strong> ensure nested suspense patching if in fallback state (<a href="https://redirect.github.com/vuejs/core/issues/10417">#10417</a>) (<a href="7c97778aec">7c97778</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10415">#10415</a></li>
<li><strong>warning:</strong> stringify args in warn handler (<a href="https://redirect.github.com/vuejs/core/issues/10414">#10414</a>) (<a href="bc37258caa">bc37258</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10409">#10409</a></li>
</ul>
<h2><a href="https://github.com/vuejs/core/compare/v3.4.19...v3.4.20">3.4.20</a> (2024-02-26)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parser:</strong> should not treat uppercase components as special tags (<a href="e0e02535cd">e0e0253</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10395">#10395</a></li>
<li><strong>runtime-dom:</strong> avoid always resetting nullish option value (<a href="ff130c4702">ff130c4</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10396">#10396</a></li>
<li><strong>runtime-dom:</strong> fix nested v-show priority regression (<a href="364f8902c8">364f890</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10338">#10338</a></li>
<li><strong>runtime-dom:</strong> v-bind style should clear previous css string value (<a href="https://redirect.github.com/vuejs/core/issues/10373">#10373</a>) (<a href="e2d323538e">e2d3235</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10352">#10352</a></li>
<li><strong>suspense:</strong> handle suspense switching with nested suspense  (<a href="https://redirect.github.com/vuejs/core/issues/10184">#10184</a>) (<a href="0f3da05ea2">0f3da05</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10098">#10098</a></li>
<li><strong>types:</strong> better typing for direct setup signature of defineComponent (<a href="https://redirect.github.com/vuejs/core/issues/10357">#10357</a>) (<a href="eadce5b753">eadce5b</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/8604">#8604</a> <a href="https://redirect.github.com/vuejs/core/issues/8855">#8855</a></li>
</ul>
<h2><a href="https://github.com/vuejs/core/compare/v3.4.18...v3.4.19">3.4.19</a> (2024-02-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> pin lru-cache to avoid hashing error (<a href="b8be99018c">b8be990</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10300">#10300</a></li>
<li><strong>hydration:</strong> fix css vars hydration mismatch false positive on non-root nodes (<a href="995d2fdcca">995d2fd</a>), closes <a href="https://redirect.github.com/vuejs/core/issues/10317">#10317</a> <a href="https://redirect.github.com/vuejs/core/issues/10325">#10325</a></li>
<li><strong>runtime-dom:</strong> should not trigger transition when v-show value is falsy (<a href="https://redirect.github.com/vuejs/core/issues/10311">#10311</a>) (<a href="e50963903d">e509639</a>)</li>
</ul>
<h3>Features</h3>
<blockquote>
<p>Note: this warning is categorized as a feature but released in a patch because it does not affect public APIs.</p>
</blockquote>
<ul>
<li><strong>dx:</strong> warn users when computed is self-triggering (<a href="https://redirect.github.com/vuejs/core/issues/10299">#10299</a>) (<a href="f7ba97f975">f7ba97f</a>)</li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>runtime:</strong> improve <code>getType()</code> GC and speed (<a href="https://redirect.github.com/vuejs/core/issues/10327">#10327</a>) (<a href="603a1e1f5a">603a1e1</a>)</li>
</ul>
<h2><a href="https://github.com/vuejs/core/compare/v3.4.17...v3.4.18">3.4.18</a> (2024-02-09)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f66a75ea75"><code>f66a75e</code></a> release: v3.4.21</li>
<li><a href="b3f8b5a4e7"><code>b3f8b5a</code></a> fix(runtime-dom): avoid unset option's value (<a href="https://redirect.github.com/vuejs/core/issues/10416">#10416</a>)</li>
<li><a href="bc37258caa"><code>bc37258</code></a> fix(warning): stringify args in warn handler (<a href="https://redirect.github.com/vuejs/core/issues/10414">#10414</a>)</li>
<li><a href="7c97778aec"><code>7c97778</code></a> fix(suspense): ensure nested suspense patching if in fallback state (<a href="https://redirect.github.com/vuejs/core/issues/10417">#10417</a>)</li>
<li><a href="1f6a1102aa"><code>1f6a110</code></a> test: clean snapshot</li>
<li><a href="89de26cdcd"><code>89de26c</code></a> release: v3.4.20</li>
<li><a href="b97ad0ee9a"><code>b97ad0e</code></a> chore: update e2eUtils puppeteer options</li>
<li><a href="b3bd3a210a"><code>b3bd3a2</code></a> build: disable reexportProtoFromExternal in rollup config</li>
<li><a href="a24809fbd2"><code>a24809f</code></a> chore: limit typescript lib to es2016 (<a href="https://redirect.github.com/vuejs/core/issues/10164">#10164</a>)</li>
<li><a href="822cb72e01"><code>822cb72</code></a> chore(deps): update test to ^1.3.1 (<a href="https://redirect.github.com/vuejs/core/issues/10355">#10355</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/vuejs/core/compare/v3.3.4...v3.4.21">compare view</a></li>
</ul>
</details>
<br />

Updates `vue-router` from 4.2.5 to 4.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/vuejs/router/releases">vue-router's releases</a>.</em></p>
<blockquote>
<h2>v4.3.0</h2>
<p>Please refer to <a href="https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md">CHANGELOG.md</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="13303bd025"><code>13303bd</code></a> release: vue-router@4.3.0</li>
<li><a href="16f83dbb59"><code>16f83db</code></a> chore: up packages</li>
<li><a href="04b6225de8"><code>04b6225</code></a> chore: require up to date node</li>
<li><a href="17d47ed32f"><code>17d47ed</code></a> chore: comment</li>
<li><a href="c9f3e0c771"><code>c9f3e0c</code></a> docs: api updates</li>
<li><a href="9a8520ffad"><code>9a8520f</code></a> chore: up vue</li>
<li><a href="f934fcf634"><code>f934fcf</code></a> chore: update chromedriver to 121.0.2 to fix binary CDN URL issue (<a href="https://redirect.github.com/vuejs/router/issues/2144">#2144</a>)</li>
<li><a href="d14503fc38"><code>d14503f</code></a> docs(zh): translate the last paragraph of named_routes to Chinese (<a href="https://redirect.github.com/vuejs/router/issues/2141">#2141</a>)</li>
<li><a href="04b50e5a2c"><code>04b50e5</code></a> fix: keep optional params coming from a parent record (<a href="https://redirect.github.com/vuejs/router/issues/2031">#2031</a>)</li>
<li><a href="2e1ad5d51a"><code>2e1ad5d</code></a> docs: fix index.md to avoid horizontal scrolling in code (<a href="https://redirect.github.com/vuejs/router/issues/2129">#2129</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/vuejs/router/compare/v4.2.5...v4.3.0">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>
2024-04-04 15:46:18 +00:00
Jeff See
76ea6ea2a7 [cli] Replace promptBool with confirm prompts (#11279)
The only changes are from some slightly different punctuation and that typing 'y' or 'n' doesn't process the prompt, it now waits for "Enter". Easiest command to see this is an action is the `init`, if you provided an invalid example to initialize `vercel init astroz` and follow the prompts.
2024-04-04 09:45:02 +00:00
Dillon Mulroy
5b8b87739e [cli] Fix how we determine the GIT_CONFIG_PATH to support git worktrees and git submodules (#11283)
## Fix how we determine the GIT_CONFIG_PATH to support git worktrees and git submodules

We were previously checking for the root of the directory by looking for `.git/config` if the project was not already linked.

This was causing `ENOTDIR` error when checking `.git` in git worktree or git submodule repositories. This is due to `.git` being a file in those repo types with a pointer to the "parent" or "super" repo rather than a directory.

Resolves #10104
2024-04-04 08:54:15 +00:00
dependabot[bot]
6ff7b34a44 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/preact-v10 with 2 updates (#11361)
Bumps the core group in /packages/static-build/test/fixtures/preact-v10 with 2 updates: [preact](https://github.com/preactjs/preact) and [preact-render-to-string](https://github.com/preactjs/preact-render-to-string).

Updates `preact` from 10.18.1 to 10.20.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/preactjs/preact/releases">preact's releases</a>.</em></p>
<blockquote>
<h2>10.20.1</h2>
<h2>Fixes</h2>
<ul>
<li>Add special case for focusIn and focusOut (<a href="https://redirect.github.com/preactjs/preact/issues/4316">#4316</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>10.20.0</h2>
<h2>Features</h2>
<ul>
<li>Add isMemo to compact to allow compatibility with react-is dependant libraries (<a href="https://redirect.github.com/preactjs/preact/issues/4302">#4302</a>, thanks <a href="https://github.com/ziongh"><code>@​ziongh</code></a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Fix case where shrinking a list would cause an exception (<a href="https://redirect.github.com/preactjs/preact/issues/4312">#4312</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>10.19.7</h2>
<h2>Types</h2>
<ul>
<li>Bring consistency to our focus-event types (<a href="https://redirect.github.com/preactjs/preact/issues/4307">#4307</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Add onScrollend listener type (<a href="https://redirect.github.com/preactjs/preact/issues/4305">#4305</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Align state updater type with Raeect (<a href="https://redirect.github.com/preactjs/preact/issues/4306">#4306</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Revert batch commit callbacks from all components in the render queue (<a href="https://redirect.github.com/preactjs/preact/issues/4297">#4297</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>10.19.6</h2>
<p><strong>tl;dr:</strong> This release contains bug fixes for incorrect ordering of unkeyed children.</p>
<h2>Fixes</h2>
<ul>
<li>Match <code>null</code> placeholders using skewed index (<a href="https://redirect.github.com/preactjs/preact/issues/4290">#4290</a>, thanks <a href="https://github.com/andrewiggins"><code>@​andrewiggins</code></a>)</li>
<li>Fix increment skew when we aren't removing the first pointer (<a href="https://redirect.github.com/preactjs/preact/issues/4284">#4284</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Fix invalid vnode internal id for text nodes (<a href="https://redirect.github.com/preactjs/preact/issues/4291">#4291</a>, thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>)</li>
<li>Fix unkeyed reconciliation order in certain scenarios (<a href="https://redirect.github.com/preactjs/preact/issues/4287">#4287</a>, thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/preactjs/preact/compare/10.19.5...10.19.6">https://github.com/preactjs/preact/compare/10.19.5...10.19.6</a></p>
<h2>10.19.5</h2>
<h2>Fixes</h2>
<ul>
<li>Address scenario where we would crash when replacing a matched vnode with null (<a href="https://redirect.github.com/preactjs/preact/issues/4281">#4281</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Correctly restore _original (<a href="https://redirect.github.com/preactjs/preact/issues/4280">#4280</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Protect against nullish render (<a href="https://redirect.github.com/preactjs/preact/issues/4278">#4278</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
<li>Support setting translate through direct access (<a href="https://redirect.github.com/preactjs/preact/issues/3800">#3800</a>, thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>)</li>
</ul>
<h2>Types</h2>
<ul>
<li>Add dpub aria 1.0 role JSX types (<a href="https://redirect.github.com/preactjs/preact/issues/4276">#4276</a>, thanks <a href="https://github.com/novari"><code>@​novari</code></a>)</li>
</ul>
<h2>10.19.4</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bc7c551559"><code>bc7c551</code></a> 10.20.1 (<a href="https://redirect.github.com/preactjs/preact/issues/4319">#4319</a>)</li>
<li><a href="a59a78ce14"><code>a59a78c</code></a> fix focus in and out (<a href="https://redirect.github.com/preactjs/preact/issues/4316">#4316</a>)</li>
<li><a href="b820d8b73e"><code>b820d8b</code></a> 10.20.0 (<a href="https://redirect.github.com/preactjs/preact/issues/4313">#4313</a>)</li>
<li><a href="342b50e862"><code>342b50e</code></a> fix: case where shrinking a list would cause an exception (<a href="https://redirect.github.com/preactjs/preact/issues/4312">#4312</a>)</li>
<li><a href="a784a62b69"><code>a784a62</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact/issues/4302">#4302</a> from ziongh/main</li>
<li><a href="94bfe9d779"><code>94bfe9d</code></a> Merge branch 'main' into main</li>
<li><a href="e1747136e8"><code>e174713</code></a> 10.19.7 (<a href="https://redirect.github.com/preactjs/preact/issues/4308">#4308</a>)</li>
<li><a href="b2ff0560e9"><code>b2ff056</code></a> try to fix benchmarks (<a href="https://redirect.github.com/preactjs/preact/issues/4304">#4304</a>)</li>
<li><a href="a2c12f5a46"><code>a2c12f5</code></a> bring consistency to our focus events (<a href="https://redirect.github.com/preactjs/preact/issues/4307">#4307</a>)</li>
<li><a href="cfba5eef8e"><code>cfba5ee</code></a> add onscrollend listener type (<a href="https://redirect.github.com/preactjs/preact/issues/4305">#4305</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/preactjs/preact/compare/10.18.1...10.20.1">compare view</a></li>
</ul>
</details>
<br />

Updates `preact-render-to-string` from 6.2.2 to 6.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/preactjs/preact-render-to-string/releases">preact-render-to-string's releases</a>.</em></p>
<blockquote>
<h2>v6.4.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/344">#344</a> <a href="27a8b0e065"><code>27a8b0e</code></a> Thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>! - Ensure commonjs also has the async export</p>
</li>
<li>
<p><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/336">#336</a> <a href="c46fb593ea"><code>c46fb59</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Fix error thrown after suspending not being rethrown.</p>
</li>
<li>
<p><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/339">#339</a> <a href="44628228de"><code>4462822</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Fix invalid parent pointer empty value when rendering a suspended vnode</p>
</li>
</ul>
<h2>6.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/333">#333</a> <a href="6acc97aee9"><code>6acc97a</code></a> Thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a> and <a href="https://github.com/dios-david"><code>@​dios-david</code></a>! - Allow prepass like behavior where a Promise
will be awaited and then continued, this is done with the new <code>renderToStringAsync</code> export</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/326">#326</a> <a href="87d8c21e61"><code>87d8c21</code></a> Thanks <a href="https://github.com/Geo25rey"><code>@​Geo25rey</code></a>! - fix external type definitions of <code>renderToString</code></li>
</ul>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/329">#329</a> <a href="0a0d0ceba2"><code>0a0d0ce</code></a> Thanks <a href="https://github.com/acelaya"><code>@​acelaya</code></a>! - Remove incorrect second default export from jsx.d.ts</li>
</ul>
<h2>6.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: mapped precompile children by <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a> in <a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/324">preactjs/preact-render-to-string#324</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/preactjs/preact-render-to-string/compare/v6.3.0...v6.3.1">https://github.com/preactjs/preact-render-to-string/compare/v6.3.0...v6.3.1</a></p>
<h2>6.3.0</h2>
<h2>Features</h2>
<ul>
<li>feat: add support for precompiled JSX by <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a> in <a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/322">preactjs/preact-render-to-string#322</a></li>
</ul>
<h2>Maintenance</h2>
<ul>
<li>chore: update test dependencies by <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a> in <a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/321">preactjs/preact-render-to-string#321</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/preactjs/preact-render-to-string/compare/6.2.2...v6.3.0">https://github.com/preactjs/preact-render-to-string/compare/6.2.2...v6.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/preactjs/preact-render-to-string/blob/main/CHANGELOG.md">preact-render-to-string's changelog</a>.</em></p>
<blockquote>
<h2>6.4.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/344">#344</a> <a href="27a8b0e065"><code>27a8b0e</code></a> Thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>! - Ensure commonjs also has the async export</li>
</ul>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/336">#336</a> <a href="c46fb593ea"><code>c46fb59</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Fix error thrown after suspending not being rethrown.</li>
</ul>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/339">#339</a> <a href="44628228de"><code>4462822</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Fix invalid parent pointer empty value when rendering a suspended vnode</li>
</ul>
<h2>6.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/333">#333</a> <a href="6acc97aee9"><code>6acc97a</code></a> Thanks <a href="https://github.com/JoviDeCroock"><code>@​JoviDeCroock</code></a>! - Allow prepass like behavior where a Promise
will be awaited and then continued, this is done with
the new <code>renderToStringAsync</code> export</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/326">#326</a> <a href="87d8c21e61"><code>87d8c21</code></a> Thanks <a href="https://github.com/Geo25rey"><code>@​Geo25rey</code></a>! - fix external type definitions of <code>renderToString</code></li>
</ul>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/329">#329</a> <a href="0a0d0ceba2"><code>0a0d0ce</code></a> Thanks <a href="https://github.com/acelaya"><code>@​acelaya</code></a>! - Remove incorrect second default export from jsx.d.ts</li>
</ul>
<h2>6.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/preactjs/preact-render-to-string/pull/324">#324</a> <a href="6bf321d31d"><code>6bf321d</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Fix mapped children not working with Deno's new precompile JSX transform.</li>
</ul>
<h2>6.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="926827c074"><code>926827c</code></a> Thanks <a href="https://github.com/marvinhagemeister"><code>@​marvinhagemeister</code></a>! - Add support for precompiled JSX transform, see <a href="https://deno.com/blog/v1.38#fastest-jsx-transform">https://deno.com/blog/v1.38#fastest-jsx-transform</a>. Compared to traditional JSX transforms, the precompiled JSX transform tries to pre-serialize as much of the JSX as possible. That way less objects need to be created and serialized which relieves a lot of GC pressure.</p>
<pre lang="jsx"><code>// input
&lt;div class=&quot;foo&quot;&gt;hello&lt;/div&gt;;
<p>// output
const tpl = [<code>&amp;lt;div class=&amp;quot;foo&amp;quot;&amp;gt;hello&amp;lt;/div&amp;gt;</code>];
jsxTemplate(tpl);
</code></pre></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="663dbb838f"><code>663dbb8</code></a> chore: add repo info to package.json</li>
<li><a href="56e116a766"><code>56e116a</code></a> chore: fix changeset action command</li>
<li><a href="8dbc8e9671"><code>8dbc8e9</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact-render-to-string/issues/337">#337</a> from preactjs/changeset-release/main</li>
<li><a href="5ad317e4f2"><code>5ad317e</code></a> Version Packages</li>
<li><a href="f84f951a9c"><code>f84f951</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact-render-to-string/issues/344">#344</a> from preactjs/ensure-cjs-export</li>
<li><a href="27a8b0e065"><code>27a8b0e</code></a> ensure the cjs export has our async func</li>
<li><a href="e3326e2ec9"><code>e3326e2</code></a> Merge pull request <a href="https://redirect.github.com/preactjs/preact-render-to-string/issues/342">#342</a> from jviide/up</li>
<li><a href="225563804e"><code>2255638</code></a> build(actions): update actions, use actions/setup-node's builtin caching</li>
<li><a href="4521894ae9"><code>4521894</code></a> correct my usual mistake (<a href="https://redirect.github.com/preactjs/preact-render-to-string/issues/341">#341</a>)</li>
<li><a href="7819c3eb6d"><code>7819c3e</code></a> automate publishing with provenance (<a href="https://redirect.github.com/preactjs/preact-render-to-string/issues/340">#340</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/preactjs/preact-render-to-string/compare/6.2.2...v6.4.1">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>
2024-04-04 08:30:19 +00:00
dependabot[bot]
97d9e83232 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/stencil-v4 with 1 update (#11360)
Bumps the core group in /packages/static-build/test/fixtures/stencil-v4 with 1 update: [@stencil/core](https://github.com/ionic-team/stencil).

Updates `@stencil/core` from 4.10.0 to 4.14.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@​stencil/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>🚡 4.14.0 (2024-04-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>mock-doc:</strong> provide a local name (<a href="https://redirect.github.com/ionic-team/stencil/issues/5480">#5480</a>) (<a href="2f67b3526c">2f67b35</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5342">#5342</a></li>
<li><strong>mock-doc:</strong> resolve type issue for localName (<a href="https://redirect.github.com/ionic-team/stencil/issues/5595">#5595</a>) (<a href="d91af87d4e">d91af87</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5342">#5342</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>testing:</strong> allow to set screenshot timeout option in Jest v28+ (<a href="https://redirect.github.com/ionic-team/stencil/issues/5537">#5537</a>) (<a href="6df12b2a44">6df12b2</a>)</li>
<li><strong>testing:</strong> support deep piercing with Puppeteer (<a href="https://redirect.github.com/ionic-team/stencil/issues/5481">#5481</a>) (<a href="13d5d4188a">13d5d41</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.3 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5588">#5588</a>) (<a href="9d489e42a6">9d489e4</a>)</li>
</ul>
<h2>🚞 v4.13.0 (2024-03-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> allow to set custom root directory (<a href="https://redirect.github.com/ionic-team/stencil/issues/5446">#5446</a>) (<a href="b6b96175c5">b6b9617</a>)</li>
<li><strong>compiler:</strong> don't validate references for <code>@Prop</code>, <code>@Method</code> and <code>@Event</code> decorator (<a href="https://redirect.github.com/ionic-team/stencil/issues/5475">#5475</a>) (<a href="3e45a82353">3e45a82</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/1352">#1352</a></li>
<li><strong>renderer:</strong> fix conditional rendering issue (<a href="https://redirect.github.com/ionic-team/stencil/issues/5365">#5365</a>) (<a href="5aa886eb52">5aa886e</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>renderer:</strong> fix missing slot ref callback handling (<a href="https://redirect.github.com/ionic-team/stencil/issues/5337">#5337</a>) (<a href="41f877ec48">41f877e</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>runtime:</strong> remove <code>forceUpdate</code> in <code>appendChild</code> patch (<a href="https://redirect.github.com/ionic-team/stencil/issues/5437">#5437</a>) (<a href="e03795b38e">e03795b</a>)</li>
<li><strong>sys:</strong> fix expected types for <code>createNodeLogger</code> and <code>createNodeSys</code> (<a href="https://redirect.github.com/ionic-team/stencil/issues/5375">#5375</a>) (<a href="7a70281bb4">7a70281</a>)</li>
<li><strong>testing:</strong> use viewport for Puppeteer screenshot clip dimensions (<a href="https://redirect.github.com/ionic-team/stencil/issues/5359">#5359</a>) (<a href="c8798002ab">c879800</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5353">#5353</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>dev-server:</strong> add &quot;ping&quot; route (<a href="https://redirect.github.com/ionic-team/stencil/issues/5414">#5414</a>) (<a href="b279858e2f">b279858</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to ~5.4.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5464">#5464</a>) (<a href="0833dc4929">0833dc4</a>)</li>
</ul>
<h2>Thanks</h2>
<p>🎉 Thanks <a href="https://github.com/yigityuce"><code>@​yigityuce</code></a> for their contributions! 🎉</p>
<h2>🍍 v4.12.6 (2024-03-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> move version logging earlier in CLI to allow <code>-v</code>, <code>--version</code> (<a href="https://redirect.github.com/ionic-team/stencil/issues/5425">#5425</a>) (<a href="194b0fc0d9">194b0fc</a>)</li>
<li><strong>compiler:</strong> fix generated import statement (<a href="https://redirect.github.com/ionic-team/stencil/issues/5419">#5419</a>) (<a href="502da1bc3d">502da1b</a>)</li>
<li><strong>test:</strong> ensure screenshot dir is cleaned up (<a href="https://redirect.github.com/ionic-team/stencil/issues/5421">#5421</a>) (<a href="15e7a4960b">15e7a49</a>)</li>
</ul>
<h2>💙 v4.12.5 (2024-03-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>custom-elements:</strong> hydrate on client side (<a href="https://redirect.github.com/ionic-team/stencil/issues/5317">#5317</a>) (<a href="d809658635">d809658</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/3319">#3319</a></li>
</ul>
<h2>Thanks</h2>
<p>🎉 andrew9994 for your contribution!</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s changelog</a>.</em></p>
<blockquote>
<h1>🚡 <a href="https://github.com/ionic-team/stencil/compare/v4.13.0...v4.14.0">4.14.0</a> (2024-04-01)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>mock-doc:</strong> provide a local name (<a href="https://redirect.github.com/ionic-team/stencil/issues/5480">#5480</a>) (<a href="2f67b3526c">2f67b35</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5342">#5342</a></li>
<li><strong>mock-doc:</strong> resolve type issue for localName (<a href="https://redirect.github.com/ionic-team/stencil/issues/5595">#5595</a>) (<a href="d91af87d4e">d91af87</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5342">#5342</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>testing:</strong> allow to set screenshot timeout option in Jest v28+ (<a href="https://redirect.github.com/ionic-team/stencil/issues/5537">#5537</a>) (<a href="6df12b2a44">6df12b2</a>)</li>
<li><strong>testing:</strong> support deep piercing with Puppeteer (<a href="https://redirect.github.com/ionic-team/stencil/issues/5481">#5481</a>) (<a href="13d5d4188a">13d5d41</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to v5.4.3 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5588">#5588</a>) (<a href="9d489e42a6">9d489e4</a>)</li>
</ul>
<h1>🚞 <a href="https://github.com/ionic-team/stencil/compare/v4.12.6...v4.13.0">4.13.0</a> (2024-03-18)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> allow to set custom root directory (<a href="https://redirect.github.com/ionic-team/stencil/issues/5446">#5446</a>) (<a href="b6b96175c5">b6b9617</a>)</li>
<li><strong>compiler:</strong> don't validate references for <a href="https://github.com/Prop"><code>@​Prop</code></a>, <a href="https://github.com/Method"><code>@​Method</code></a> and <a href="https://github.com/Event"><code>@​Event</code></a> decorator (<a href="https://redirect.github.com/ionic-team/stencil/issues/5475">#5475</a>) (<a href="3e45a82353">3e45a82</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/1352">#1352</a></li>
<li><strong>renderer:</strong> fix conditional rendering issue (<a href="https://redirect.github.com/ionic-team/stencil/issues/5365">#5365</a>) (<a href="5aa886eb52">5aa886e</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>renderer:</strong> fix missing slot ref callback handling (<a href="https://redirect.github.com/ionic-team/stencil/issues/5337">#5337</a>) (<a href="41f877ec48">41f877e</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5335">#5335</a></li>
<li><strong>runtime:</strong> remove <code>forceUpdate</code> in <code>appendChild</code> patch (<a href="https://redirect.github.com/ionic-team/stencil/issues/5437">#5437</a>) (<a href="e03795b38e">e03795b</a>)</li>
<li><strong>sys:</strong> fix expected types for <code>createNodeLogger</code> and <code>createNodeSys</code> (<a href="https://redirect.github.com/ionic-team/stencil/issues/5375">#5375</a>) (<a href="7a70281bb4">7a70281</a>)</li>
<li><strong>testing:</strong> use viewport for Puppeteer screenshot clip dimensions (<a href="https://redirect.github.com/ionic-team/stencil/issues/5359">#5359</a>) (<a href="c8798002ab">c879800</a>), closes <a href="https://redirect.github.com/ionic-team/stencil/issues/5353">#5353</a></li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>dev-server:</strong> add &quot;ping&quot; route (<a href="https://redirect.github.com/ionic-team/stencil/issues/5414">#5414</a>) (<a href="b279858e2f">b279858</a>)</li>
<li><strong>typescript:</strong> Update dependency typescript to ~5.4.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5464">#5464</a>) (<a href="0833dc4929">0833dc4</a>)</li>
</ul>
<h2>🍍 <a href="https://github.com/ionic-team/stencil/compare/v4.12.5...v4.12.6">4.12.6</a> (2024-03-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> move version logging earlier in CLI to allow <code>-v</code>, <code>--version</code> (<a href="https://redirect.github.com/ionic-team/stencil/issues/5425">#5425</a>) (<a href="194b0fc0d9">194b0fc</a>)</li>
<li><strong>compiler:</strong> fix generated import statement (<a href="https://redirect.github.com/ionic-team/stencil/issues/5419">#5419</a>) (<a href="502da1bc3d">502da1b</a>)</li>
<li><strong>test:</strong> ensure screenshot dir is cleaned up (<a href="https://redirect.github.com/ionic-team/stencil/issues/5421">#5421</a>) (<a href="15e7a4960b">15e7a49</a>)</li>
</ul>
<h2>💙 <a href="https://github.com/ionic-team/stencil/compare/v4.12.4...v4.12.5">4.12.5</a> (2024-03-04)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fd144e3149"><code>fd144e3</code></a> Release v4.14.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5612">#5612</a>)</li>
<li><a href="d2ff0ea196"><code>d2ff0ea</code></a> chore(deps): update dependency eslint-plugin-jsdoc to v48.2.2 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5606">#5606</a>)</li>
<li><a href="c2ecfabb8a"><code>c2ecfab</code></a> chore(deps): update dependency glob to v10.3.12 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5607">#5607</a>)</li>
<li><a href="b7901fade5"><code>b7901fa</code></a> chore(deps): update dependency minimatch to v9.0.4 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5608">#5608</a>)</li>
<li><a href="211208cee1"><code>211208c</code></a> chore(deps): update dependency terser to v5.30.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5609">#5609</a>)</li>
<li><a href="227d26546d"><code>227d265</code></a> chore(deps): update node.js to v20.12.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5610">#5610</a>)</li>
<li><a href="b1722d0b9c"><code>b1722d0</code></a> chore(deps): update typescript-eslint to v7.4.0 (<a href="https://redirect.github.com/ionic-team/stencil/issues/5611">#5611</a>)</li>
<li><a href="871f1ba9a5"><code>871f1ba</code></a> test(wdio): make svg-attr test more robust (<a href="https://redirect.github.com/ionic-team/stencil/issues/5605">#5605</a>)</li>
<li><a href="f33c7bd2bb"><code>f33c7bd</code></a> chore(wdio): expand wdio-related readme content (<a href="https://redirect.github.com/ionic-team/stencil/issues/5603">#5603</a>)</li>
<li><a href="b62c28dbc2"><code>b62c28d</code></a> chore(spelling): add better markdown spellcheck (<a href="https://redirect.github.com/ionic-team/stencil/issues/5604">#5604</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil/compare/v4.10.0...v4.14.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.10.0&new-version=4.14.0)](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>
2024-04-04 08:05:58 +00:00
Stefan M
a3fb7e6abe [go] Added support for 1.22 and updated Go minor versions of 1.19, 1.20 and 1.21 (#11156)
Co-authored-by: Nathan Rajlich <n@n8.io>
Co-authored-by: Vedant <83997633+vedantmgoyal9@users.noreply.github.com>
2024-04-04 00:47:57 -07:00
Jeff See
b9f6d765c0 Move CONTRIBUTING into README and improve docs on running integration tests locally (#11373)
Co-authored-by: Sean Massa <EndangeredMassa@gmail.com>
2024-04-04 00:50:04 -05:00
Sean Massa
c24d85f574 disable eslint for a few files (#11378) 2024-04-04 00:09:36 -05:00
Vercel Release Bot
3c42649916 Version Packages (#11352)
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/build-utils@7.11.0

### Minor Changes

- Add `getOsRelease()` and `getProvidedRuntime()` functions
([#11370](https://github.com/vercel/vercel/pull/11370))

## @vercel/go@3.1.0

### Minor Changes

- Use `provided.al2023` runtime when using AL2023 build image
([#11370](https://github.com/vercel/vercel/pull/11370))

## vercel@33.6.3

### Patch Changes

- Handle `--repo` linked in `vc deploy --prebuilt`
([#11309](https://github.com/vercel/vercel/pull/11309))

- Revert "[cli] extract `isZeroConfigBuild` into utility function
(#11316)" ([#11350](https://github.com/vercel/vercel/pull/11350))

- Replace `inquirer` with `@inquirer/prompts`
([#11321](https://github.com/vercel/vercel/pull/11321))

- Updated dependencies
\[[`73b112b1f`](73b112b1f7),
[`346e665bb`](346e665bb0),
[`73b112b1f`](73b112b1f7),
[`548afd371`](548afd371a)]:
    -   @vercel/go@3.1.0
    -   @vercel/node@3.0.26
    -   @vercel/build-utils@7.11.0
    -   @vercel/static-build@2.4.6

## @vercel/client@13.1.9

### Patch Changes

- Handle `--repo` linked in `vc deploy --prebuilt`
([#11309](https://github.com/vercel/vercel/pull/11309))

- Updated dependencies
\[[`73b112b1f`](73b112b1f7)]:
    -   @vercel/build-utils@7.11.0

## @vercel/gatsby-plugin-vercel-builder@2.0.24

### Patch Changes

- Updated dependencies
\[[`73b112b1f`](73b112b1f7)]:
    -   @vercel/build-utils@7.11.0

## @vercel/node@3.0.26

### Patch Changes

- Fix issue with serverless function on docker
([#11226](https://github.com/vercel/vercel/pull/11226))

- Add import and require ts-node files for TypeScript in `vc dev`
([#11371](https://github.com/vercel/vercel/pull/11371))

- Updated dependencies
\[[`73b112b1f`](73b112b1f7)]:
    -   @vercel/build-utils@7.11.0

## @vercel/static-build@2.4.6

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.24

## @vercel-internals/types@1.0.29

### Patch Changes

- Updated dependencies
\[[`73b112b1f`](73b112b1f7)]:
    -   @vercel/build-utils@7.11.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 09:35:02 -07:00
Trek Glowacki
c1891f64f4 [tests] add ionic React fixture to dependabot (#11172)
add ionic React fixture to dependabot
2024-04-03 09:59:24 -05:00
Erika Rowland
2fc46c0d47 [cli] Change condition to be clearer positive framing (#11317)
`status` here is guaranteed to either be `'linked'` or `'not_linked'` by this point in the code, switching the double negative to a positive condition makes it clearer.
2024-04-03 04:39:47 +00:00
Nathan Rajlich
73b112b1f7 [build-utils] Add getOsRelease() and getProvidedRuntime() functions (#11370)
Adds two new helper functions that custom runtimes can utilize in order
to determine whether they should use `provided.al2` or `provided.al2023`
Lambda "runtime" value, based on the build environment.

The new `getProvidedRuntime()` helper function is being used in
`@vercel/go`, so that Go endpoints may be used when the `20.x` Node
Version project setting is used.
2024-04-02 20:30:06 -07:00
Nathan Rajlich
548afd371a [node] Add import and require ts-node files for TypeScript in vc dev (#11371)
Fixes the case in `vc dev` where importing a `.ts` file from another `.ts` file was failing in `vc dev` when `type: "module"` is not set in `package.json`.

Supersedes https://github.com/vercel/vercel/pull/11364.
2024-04-03 02:14:15 +00:00
Austin Merrick
d0877c1023 [cli] Replace inquirer with @inquirer/prompts (#11321)
# Overview

Changing to `@inquirer/prompts` meant updating all existing usage of `inquirer.prompt`. This removed a lot of code since the `inquirer.prompt` function was extra verbose.

The user experience shouldn't have changed much besides different styling. `patch-inquirer` is incompatible with `@inquirer/prompts`. ~~We probably don't want to merge this until we have a new solution for styling.~~ The new default styling is preferred over our old styling.

There are lots of changes over many files, so I went back and organized the commit history. It will probably be easier to review this PR by commit.

## Tests

~~I had to change tests in ways that aren't great. Tests had a hard time recognizing output with escape codes in them, so I had to make the expected output more generic.~~ Using `strip-ansi` worked nicely to ignore styling changes in unit and integration tests.

I removed the unit test "should list projects running on an soon-to-be-deprecated Node.js version" because that test doing `jest.useFakeTimers().setSystemTime(new Date('2023-12-08'));` would make the "should remove a project" test fail. Really strange stuff! Couldn't think of a better solution than removing this, so looking for suggestions here.
2024-04-02 07:40:32 +00:00
Trek Glowacki
326fe0f0e6 [tests] Add Preact@10 to static build fixtures dependabot (#11306)
Add Preact@10 to static build fixtures dependabot
2024-04-01 09:31:22 -05:00
Devin345458
346e665bb0 Fix issue with serverless function on docker (#11226)
Currently the server was binding to the IPV6 [::] catchall on a random
port. The undici request is then unable to reach it.

I only have a mac so I was only able to test this change on Docker for
mac. Would love if someone on windows/linux could validate the change
works for them as well

---------

Co-authored-by: Sean Massa <EndangeredMassa@gmail.com>
2024-03-29 23:01:25 -05:00
Nathan Rajlich
9a27ccbe6d [cli][client] Handle --repo linked in vc deploy --prebuilt (#11309)
`vc deploy --prebuilt` has not properly worked for projects linked with
`vc link --repo` ever since
https://github.com/vercel/vercel/issues/11077.

To fix, don't mutate `cwd` to be the project subdir (so that `cwd` is
always the monorepo root), and instead pass in a new property to
`@vercel/client` that represents the `.vercel/output` file path. A lot
of the code is just passing this new variable through the multiple
layers of indirection in CLI before it finally reaches `@vercel/client.

Fixes https://github.com/vercel/vercel/issues/11097.
2024-03-29 17:23:24 -07:00
Erika Rowland
3b6d96891b Update CODEOWNERS (#11343) 2024-03-29 20:57:47 +00:00
Nathan Rajlich
07d8d11989 Revert "[cli] extract isZeroConfigBuild into utility function (#11316)" (#11350)
This reverts commit 78e2c012f9.

This commit causes a failing test which contains the `zeroConfig: true`
field. It should have not been merged in the first place due to the
failing test, but Kodiak erroneously merged it before the tests were
passing.

When there are `builds` configuration, the v10 create-deployment
endpoint is used instead of the latest v13 endpoint. `projectSettings`
is not allowed in the v10 endpoint, therefore we can not send the
`nodeVersion` when `builds` project exists. Instead, we should look into
moving away from the v10 endpoint so that we can be using the latest
version of the endpoint for all deployments.
2024-03-29 13:53:51 -07:00
Erika Rowland
8a16e8eb65 [cli] Add explicit vitest import to unit test for isZeroConfigBuild utility (#11341) 2024-03-28 13:32:46 -05:00
dependabot[bot]
63e9de8932 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/ionic-angular-v7 with 2 updates (#11289)
Bumps the core group in /packages/static-build/test/fixtures/ionic-angular-v7 with 2 updates: [@ionic/angular](https://github.com/ionic-team/ionic-framework) and [@ionic/core](https://github.com/ionic-team/ionic-framework).

Updates `@ionic/angular` from 7.6.2 to 7.8.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/angular</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.8.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2>v7.7.5</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<h2>v7.7.4</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4">7.7.4</a> (2024-03-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>modal:</strong> ariaLabel and role are inherited when set via htmlAttributes (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29099">#29099</a>) (<a href="de13633a18">de13633</a>)</li>
</ul>
<h2>v7.7.3</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3">7.7.3</a> (2024-02-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>label:</strong> do not grow when in end slot (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29036">#29036</a>) (<a href="1fc4b76f59">1fc4b76</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29033">#29033</a></li>
<li><strong>overlays:</strong> focus is returned to last focus element when focusing toast (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28950">#28950</a>) (<a href="2ed0ada923">2ed0ada</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28261">#28261</a></li>
</ul>
<h2>v7.7.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2">7.7.2</a> (2024-02-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>overlays:</strong> do not return focus if application has already moved focus manually (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28850">#28850</a>) (<a href="a016670a8a">a016670</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28849">#28849</a></li>
<li><strong>overlays:</strong> ensure that only topmost overlay is announced by screen readers (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28997">#28997</a>) (<a href="ba4ba6161c">ba4ba61</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23472">#23472</a></li>
<li><strong>popover:</strong> render arrow above backdrop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28986">#28986</a>) (<a href="0a8964d30c">0a8964d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28985">#28985</a></li>
</ul>
<h2>v7.7.1</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1">7.7.1</a> (2024-02-07)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/angular</code>'s changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4">7.7.4</a> (2024-03-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>modal:</strong> ariaLabel and role are inherited when set via htmlAttributes (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29099">#29099</a>) (<a href="de13633a18">de13633</a>)</li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3">7.7.3</a> (2024-02-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>label:</strong> do not grow when in end slot (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29036">#29036</a>) (<a href="1fc4b76f59">1fc4b76</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29033">#29033</a></li>
<li><strong>overlays:</strong> focus is returned to last focus element when focusing toast (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28950">#28950</a>) (<a href="2ed0ada923">2ed0ada</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28261">#28261</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2">7.7.2</a> (2024-02-14)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="400013d6cb"><code>400013d</code></a> v7.8.0</li>
<li><a href="6dfdc2c95f"><code>6dfdc2c</code></a> merge feature-7.8 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29152">#29152</a>)</li>
<li><a href="01ae835ad5"><code>01ae835</code></a> chore: sync with main</li>
<li><a href="636531f5c2"><code>636531f</code></a> merge release-7.7.5 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29151">#29151</a>)</li>
<li><a href="ddcda78ac9"><code>ddcda78</code></a> chore(): update package lock files</li>
<li><a href="82e90f28b4"><code>82e90f2</code></a> v7.7.5</li>
<li><a href="487ffca11e"><code>487ffca</code></a> chore: fix typo with close watcher const (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29146">#29146</a>)</li>
<li><a href="c0f5e5ebc0"><code>c0f5e5e</code></a> fix(overlay): do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>)</li>
<li><a href="ac0142322a"><code>ac01423</code></a> chore: sync with main (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29142">#29142</a>)</li>
<li><a href="8f0ea0dd58"><code>8f0ea0d</code></a> chore: sync with main</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v7.6.2...v7.8.0">compare view</a></li>
</ul>
</details>
<br />

Updates `@ionic/core` from 7.6.2 to 7.8.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/releases"><code>@​ionic/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.8.0</h2>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2>v7.7.5</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<h2>v7.7.4</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4">7.7.4</a> (2024-03-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>modal:</strong> ariaLabel and role are inherited when set via htmlAttributes (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29099">#29099</a>) (<a href="de13633a18">de13633</a>)</li>
</ul>
<h2>v7.7.3</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3">7.7.3</a> (2024-02-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>label:</strong> do not grow when in end slot (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29036">#29036</a>) (<a href="1fc4b76f59">1fc4b76</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29033">#29033</a></li>
<li><strong>overlays:</strong> focus is returned to last focus element when focusing toast (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28950">#28950</a>) (<a href="2ed0ada923">2ed0ada</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28261">#28261</a></li>
</ul>
<h2>v7.7.2</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2">7.7.2</a> (2024-02-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>overlays:</strong> do not return focus if application has already moved focus manually (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28850">#28850</a>) (<a href="a016670a8a">a016670</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28849">#28849</a></li>
<li><strong>overlays:</strong> ensure that only topmost overlay is announced by screen readers (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28997">#28997</a>) (<a href="ba4ba6161c">ba4ba61</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/23472">#23472</a></li>
<li><strong>popover:</strong> render arrow above backdrop (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28986">#28986</a>) (<a href="0a8964d30c">0a8964d</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28985">#28985</a></li>
</ul>
<h2>v7.7.1</h2>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1">7.7.1</a> (2024-02-07)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md"><code>@​ionic/core</code>'s changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.5...v7.8.0">7.8.0</a> (2024-03-13)</h1>
<h3>Features</h3>
<ul>
<li><strong>datetime:</strong> formatOptions property for Datetime (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29065">#29065</a>) (<a href="7cdbc1b5ad">7cdbc1b</a>)</li>
<li><strong>searchbar:</strong> autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29098">#29098</a>) (<a href="a0a77f799d">a0a77f7</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/27606">#27606</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.4...v7.7.5">7.7.5</a> (2024-03-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>angular:</strong> add ionNavWillChange and ionNavDidChange types for nav (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29122">#29122</a>) (<a href="85b9d5c35f">85b9d5c</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29114">#29114</a></li>
<li><strong>checkbox:</strong> set aria-checked of indeterminate checkbox to 'mixed' (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29115">#29115</a>) (<a href="b2d636f14d">b2d636f</a>)</li>
<li><strong>overlay:</strong> do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>) (<a href="c0f5e5ebc0">c0f5e5e</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29139">#29139</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4">7.7.4</a> (2024-03-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>modal:</strong> ariaLabel and role are inherited when set via htmlAttributes (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29099">#29099</a>) (<a href="de13633a18">de13633</a>)</li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3">7.7.3</a> (2024-02-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>label:</strong> do not grow when in end slot (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29036">#29036</a>) (<a href="1fc4b76f59">1fc4b76</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29033">#29033</a></li>
<li><strong>overlays:</strong> focus is returned to last focus element when focusing toast (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28950">#28950</a>) (<a href="2ed0ada923">2ed0ada</a>), closes <a href="https://redirect.github.com/ionic-team/ionic-framework/issues/28261">#28261</a></li>
</ul>
<h2><a href="https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2">7.7.2</a> (2024-02-14)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="400013d6cb"><code>400013d</code></a> v7.8.0</li>
<li><a href="6dfdc2c95f"><code>6dfdc2c</code></a> merge feature-7.8 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29152">#29152</a>)</li>
<li><a href="01ae835ad5"><code>01ae835</code></a> chore: sync with main</li>
<li><a href="636531f5c2"><code>636531f</code></a> merge release-7.7.5 (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29151">#29151</a>)</li>
<li><a href="ddcda78ac9"><code>ddcda78</code></a> chore(): update package lock files</li>
<li><a href="82e90f28b4"><code>82e90f2</code></a> v7.7.5</li>
<li><a href="487ffca11e"><code>487ffca</code></a> chore: fix typo with close watcher const (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29146">#29146</a>)</li>
<li><a href="c0f5e5ebc0"><code>c0f5e5e</code></a> fix(overlay): do not hide overlay if toast is presented (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29140">#29140</a>)</li>
<li><a href="ac0142322a"><code>ac01423</code></a> chore: sync with main (<a href="https://redirect.github.com/ionic-team/ionic-framework/issues/29142">#29142</a>)</li>
<li><a href="8f0ea0dd58"><code>8f0ea0d</code></a> chore: sync with main</li>
<li>Additional commits viewable in <a href="https://github.com/ionic-team/ionic-framework/compare/v7.6.2...v7.8.0">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>
2024-03-28 15:52:02 +00:00
Vercel Release Bot
c6d588201b Version Packages (#11322)
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/build-utils@7.10.0

### Minor Changes

- Allow environment variables to be specified for `EdgeFunction`
([#11029](https://github.com/vercel/vercel/pull/11029))

## vercel@33.6.2

### Patch Changes

- Added sunset warning to secrets command.
([#11333](https://github.com/vercel/vercel/pull/11333))

- Swap jest for vitest in CLI unit tests
([#11302](https://github.com/vercel/vercel/pull/11302))

- Updated dependencies
\[[`988f7b75a`](988f7b75a2),
[`1825b58df`](1825b58df8)]:
    -   @vercel/remix-builder@2.1.5
    -   @vercel/build-utils@7.10.0
    -   @vercel/node@3.0.25
    -   @vercel/static-build@2.4.5

## @vercel/client@13.1.8

### Patch Changes

- Updated dependencies
\[[`1825b58df`](1825b58df8)]:
    -   @vercel/build-utils@7.10.0

## @vercel/frameworks@3.0.1

### Patch Changes

- Swap jest for vitest in CLI unit tests
([#11302](https://github.com/vercel/vercel/pull/11302))

## @vercel/fs-detectors@5.2.2

### Patch Changes

- Updated dependencies
\[[`9ed967034`](9ed967034d)]:
    -   @vercel/frameworks@3.0.1

## @vercel/gatsby-plugin-vercel-builder@2.0.23

### Patch Changes

- Updated dependencies
\[[`1825b58df`](1825b58df8)]:
    -   @vercel/build-utils@7.10.0

## @vercel/node@3.0.25

### Patch Changes

- Updated dependencies
\[[`1825b58df`](1825b58df8)]:
    -   @vercel/build-utils@7.10.0

## @vercel/remix-builder@2.1.5

### Patch Changes

- Add `mjs` and `mts` extensions to vite detection
([#11307](https://github.com/vercel/vercel/pull/11307))

## @vercel/static-build@2.4.5

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.23

## @vercel-internals/types@1.0.28

### Patch Changes

- Updated dependencies
\[[`1825b58df`](1825b58df8)]:
    -   @vercel/build-utils@7.10.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-28 08:43:15 -05:00
Ethan Arrowood
0b1ff4bf62 [next] add x-forwarded-port test (#11254)
This test reproduces the issue described in https://github.com/vercel/next.js/issues/61133 . Unfortunately, I can only reproduce this issue when deploying to Vercel. Any local server / test results in the header being defined. 

Related: https://github.com/vercel/next.js/issues/61133
2024-03-28 08:20:18 +00:00
dependabot[bot]
14102ddf56 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/astro-v4 with 1 update (#11335)
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.2.0 to 4.5.10
<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.5.10</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10549">#10549</a> <a href="54c2f9707f"><code>54c2f9707f5d038630143f769e3075c698474654</code></a> Thanks <a href="https://github.com/admirsaheta"><code>@​admirsaheta</code></a>! - Updates the <code>HTMLAttributes</code> type exported from <code>astro</code> to allow data attributes</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10562">#10562</a> <a href="348c1ca132"><code>348c1ca1323d0516c2dcf8e963343cd12cb5407f</code></a> Thanks <a href="https://github.com/apetta"><code>@​apetta</code></a>! - Fixes minor type issues inside the built-in components of Astro</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10550">#10550</a> <a href="34fa8e131b"><code>34fa8e131b85531e6629390307108ffc4adb7ed1</code></a> Thanks <a href="https://github.com/Skn0tt"><code>@​Skn0tt</code></a>! - Fixes bug where server builds would include unneeded assets in SSR Function, potentially leading to upload errors on Vercel, Netlify because of size limits</p>
</li>
<li>
<p>Updated dependencies [<a href="c585528f44"><code>c585528f446ccca3d4c643f4af5d550b93c18902</code></a>]:</p>
<ul>
<li><code>@​astrojs/markdown-remark</code><a href="https://github.com/4"><code>@​4</code></a>.3.2</li>
</ul>
</li>
</ul>
<h2>astro@4.5.9</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10532">#10532</a> <a href="8306ce1ff7"><code>8306ce1ff7b71a2a0d7908336c9be462a54d395a</code></a> Thanks <a href="https://github.com/martrapp"><code>@​martrapp</code></a>! - Fixes a style issue of <code>client:only</code> components in DEV mode during view transitions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10473">#10473</a> <a href="627e47d67a"><code>627e47d67af4846cea2acf26a96b4124001b26fc</code></a> Thanks <a href="https://github.com/bluwy"><code>@​bluwy</code></a>! - Fixes and improves performance when rendering Astro JSX</p>
</li>
</ul>
<h2>astro@4.5.8</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10504">#10504</a> <a href="8e4e554cc2"><code>8e4e554cc211e59c329c0a5d110c839c886ff120</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Update Babel version to fix regression in Babel's <code>7.24.2</code>.</p>
</li>
<li>
<p>Updated dependencies [<a href="19e42c3681"><code>19e42c368184013fc30d1e46753b9e9383bb2bdf</code></a>]:</p>
<ul>
<li><code>@​astrojs/markdown-remark</code><a href="https://github.com/4"><code>@​4</code></a>.3.1</li>
</ul>
</li>
</ul>
<h2>astro@4.5.7</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/withastro/astro/pull/10493">#10493</a> <a href="e4a6462751"><code>e4a6462751725878bfe47632eeafa6854cad5bf2</code></a> Thanks <a href="https://github.com/firefoxic"><code>@​firefoxic</code></a>! - <code>&lt;link&gt;</code> tags created by astro for optimized stylesheets now do not include the closing forward slash. This slash is optional for void elements such as link, but made some html validation fail.</li>
</ul>
<h2>astro@4.5.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10455">#10455</a> <a href="c12666166d"><code>c12666166db724915e42e37a048483c99f88e6d9</code></a> Thanks <a href="https://github.com/lilnasy"><code>@​lilnasy</code></a>! - Adds a helpful error message that will be shown when an endpoint does not return a <code>Response</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10426">#10426</a> <a href="6a9a35ee15"><code>6a9a35ee15069541c3144012385366a3c689240a</code></a> Thanks <a href="https://github.com/markgaze"><code>@​markgaze</code></a>! - Fixes an issue with generating JSON schemas when the schema is a function</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10448">#10448</a> <a href="fcece36586"><code>fcece3658697248ab58f77b3d4a8b14d362f3c47</code></a> Thanks <a href="https://github.com/lilnasy"><code>@​lilnasy</code></a>! - Fixes an issue where multiple rendering errors resulted in a crash of the SSR app server.</p>
</li>
</ul>
<h2>astro@4.5.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10379">#10379</a> <a href="3776ecf0aa"><code>3776ecf0aa9e08a992d3ae76e90682fd04093721</code></a> Thanks <a href="https://github.com/1574242600"><code>@​1574242600</code></a>! - Fixes a routing issue with partially truncated dynamic segments.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10442">#10442</a> <a href="f8e0ad3c52"><code>f8e0ad3c52a37b8a2175fe2f5ff2bd0cd738f499</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Fixes small rendering issues with the dev toolbar in certain contexts</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10438">#10438</a> <a href="5b48cc0fc8"><code>5b48cc0fc8383b0659a595afd3a6ee28b28779c3</code></a> Thanks <a href="https://github.com/bholmesdev"><code>@​bholmesdev</code></a>! - Generate Astro DB types when running <code>astro sync</code>.</p>
</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.5.10</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10549">#10549</a> <a href="54c2f9707f"><code>54c2f9707f5d038630143f769e3075c698474654</code></a> Thanks <a href="https://github.com/admirsaheta"><code>@​admirsaheta</code></a>! - Updates the <code>HTMLAttributes</code> type exported from <code>astro</code> to allow data attributes</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10562">#10562</a> <a href="348c1ca132"><code>348c1ca1323d0516c2dcf8e963343cd12cb5407f</code></a> Thanks <a href="https://github.com/apetta"><code>@​apetta</code></a>! - Fixes minor type issues inside the built-in components of Astro</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10550">#10550</a> <a href="34fa8e131b"><code>34fa8e131b85531e6629390307108ffc4adb7ed1</code></a> Thanks <a href="https://github.com/Skn0tt"><code>@​Skn0tt</code></a>! - Fixes bug where server builds would include unneeded assets in SSR Function, potentially leading to upload errors on Vercel, Netlify because of size limits</p>
</li>
<li>
<p>Updated dependencies [<a href="c585528f44"><code>c585528f446ccca3d4c643f4af5d550b93c18902</code></a>]:</p>
<ul>
<li><code>@​astrojs/markdown-remark</code><a href="https://github.com/4"><code>@​4</code></a>.3.2</li>
</ul>
</li>
</ul>
<h2>4.5.9</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10532">#10532</a> <a href="8306ce1ff7"><code>8306ce1ff7b71a2a0d7908336c9be462a54d395a</code></a> Thanks <a href="https://github.com/martrapp"><code>@​martrapp</code></a>! - Fixes a style issue of <code>client:only</code> components in DEV mode during view transitions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10473">#10473</a> <a href="627e47d67a"><code>627e47d67af4846cea2acf26a96b4124001b26fc</code></a> Thanks <a href="https://github.com/bluwy"><code>@​bluwy</code></a>! - Fixes and improves performance when rendering Astro JSX</p>
</li>
</ul>
<h2>4.5.8</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10504">#10504</a> <a href="8e4e554cc2"><code>8e4e554cc211e59c329c0a5d110c839c886ff120</code></a> Thanks <a href="https://github.com/Princesseuh"><code>@​Princesseuh</code></a>! - Update Babel version to fix regression in Babel's <code>7.24.2</code>.</p>
</li>
<li>
<p>Updated dependencies [<a href="19e42c3681"><code>19e42c368184013fc30d1e46753b9e9383bb2bdf</code></a>]:</p>
<ul>
<li><code>@​astrojs/markdown-remark</code><a href="https://github.com/4"><code>@​4</code></a>.3.1</li>
</ul>
</li>
</ul>
<h2>4.5.7</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/withastro/astro/pull/10493">#10493</a> <a href="e4a6462751"><code>e4a6462751725878bfe47632eeafa6854cad5bf2</code></a> Thanks <a href="https://github.com/firefoxic"><code>@​firefoxic</code></a>! - <code>&lt;link&gt;</code> tags created by astro for optimized stylesheets now do not include the closing forward slash. This slash is optional for void elements such as link, but made some html validation fail.</li>
</ul>
<h2>4.5.6</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10455">#10455</a> <a href="c12666166d"><code>c12666166db724915e42e37a048483c99f88e6d9</code></a> Thanks <a href="https://github.com/lilnasy"><code>@​lilnasy</code></a>! - Adds a helpful error message that will be shown when an endpoint does not return a <code>Response</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10426">#10426</a> <a href="6a9a35ee15"><code>6a9a35ee15069541c3144012385366a3c689240a</code></a> Thanks <a href="https://github.com/markgaze"><code>@​markgaze</code></a>! - Fixes an issue with generating JSON schemas when the schema is a function</p>
</li>
<li>
<p><a href="https://redirect.github.com/withastro/astro/pull/10448">#10448</a> <a href="fcece36586"><code>fcece3658697248ab58f77b3d4a8b14d362f3c47</code></a> Thanks <a href="https://github.com/lilnasy"><code>@​lilnasy</code></a>! - Fixes an issue where multiple rendering errors resulted in a crash of the SSR app server.</p>
</li>
</ul>
<h2>4.5.5</h2>
<h3>Patch Changes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bb7707e171"><code>bb7707e</code></a> [ci] release (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10556">#10556</a>)</li>
<li><a href="348c1ca132"><code>348c1ca</code></a> Patch for Astro VS Code Plugin type errors (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10562">#10562</a>)</li>
<li><a href="51a4ea5f72"><code>51a4ea5</code></a> fix(types): Fixes HTMLAttribute extend to allow everything (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10561">#10561</a>)</li>
<li><a href="34fa8e131b"><code>34fa8e1</code></a> fix: ensure outDir doesn't lead to bundlers bloating Lambda size (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10550">#10550</a>)</li>
<li><a href="54c2f9707f"><code>54c2f97</code></a> Fix: Type error on <code>\&lt;Image /&gt;</code> component when strict TypeScript rules are use...</li>
<li><a href="1cd2a74022"><code>1cd2a74</code></a> [ci] release (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10522">#10522</a>)</li>
<li><a href="8306ce1ff7"><code>8306ce1</code></a> Fixes a style issue of <code>client:only</code> components in DEV mode during view trans...</li>
<li><a href="8cac744746"><code>8cac744</code></a> Avoid generators in render head API (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10528">#10528</a>)</li>
<li><a href="ca5455af3d"><code>ca5455a</code></a> Avoid generators when crawling module graph (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10529">#10529</a>)</li>
<li><a href="627e47d67a"><code>627e47d</code></a> Improve Astro JSX rendering (<a href="https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/10473">#10473</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/withastro/astro/commits/astro@4.5.10/packages/astro">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astro&package-manager=npm_and_yarn&previous-version=4.2.0&new-version=4.5.10)](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>
2024-03-28 08:17:04 +00:00
Marc Greenstock
49f88975b9 IAM 1720 Added sunset warning to the secrets command (#11333)
This PR adds a warning to the secrets command that the command will be sunset on 1st May.
2024-03-28 08:13:50 +00:00
Vercel Release Bot
13f3db06a8 [tests] Upgrade Turbo to version 1.13.0 (#11325)
This auto-generated PR updates Turbo to version 1.13.0
2024-03-28 08:10:25 +00:00
Erika Rowland
78e2c012f9 [cli] extract isZeroConfigBuild into utility function (#11316)
An additional check was added to make sure that `projectSettings.nodeVersion` is sent when builds property is defined in `vercel.json`
2024-03-28 08:06:10 +00:00
kaifulee
f707f13821 chore: remove repetitive words (#11284) 2024-03-28 08:03:01 +00:00
Jeff See
9ed967034d [cli] Switch unit tests from jest to vitest (#11302) 2024-03-27 17:33:27 -07:00
Nathan Rajlich
1825b58df8 [build-utils] Allow environment variables to be specified for EdgeFunction (#11029) 2024-03-27 21:36:29 +00:00
Nathan Rajlich
c82a55c460 [tests] Use AL2 build container for relevant e2e tests (#11329)
* Forces the AL2 build container image for fixtures that depend on it,
via `engines.node` in package.json for most cases.
* The `testDeployment()` function was updated to send
`projectSettings.nodeVersion` in the POST body, to mimic the behavior in
CLI.
* For Go, Ruby, and Python tests, the `projectSettings.nodeVersion`
property is set "globally" in the Jest setup file, so that individual
fixtures didn't need to be adjusted.
2024-03-27 12:19:30 -07:00
Trek Glowacki
6487d091df [tests] add stencil@4 fixtures to dependabot (#11167)
add stencil@4 fixtures to dependabot
2024-03-25 20:57:38 +00:00
Felix Haus
705453202e [examples] Enforce node18 on Python and Ruby examples (#11319)
We have to enforce the node version on some examples to make sure they
are not auto upgraded in the future before we support their runtime.

See https://vercel.com/docs/deployments/build-image
2024-03-25 11:15:35 +01:00
Fatih Altinok
988f7b75a2 [remix] Add mjs and mts extensions to vite detection (#11307)
My project was being incorrectly detected as not vite, thus it was failing in runtime. My vite config is `vite.config.mts` so this PR fixes detection logic to include `mjs` and `mts` extensions.

The fix can be generalized if needed.
2024-03-22 21:07:13 +00:00
Vercel Release Bot
7a28972897 [examples][tests] Upgrade Next.js to version 14.1.4 (#11304)
This auto-generated PR updates 7 packages to Next.js version 14.1.4
2024-03-20 13:59:44 -04:00
Jeff See
3a05469454 Update CODEOWNERS (#11295) 2024-03-19 22:07:29 +00:00
Trek Glowacki
f1c67d05e3 [tests] Add dependabot for Nuxt (#11291)
Add dependabot for Nuxt
2024-03-18 12:28:59 -05:00
Austin Merrick
6f46b1fc70 [cli][tests] Fix getUpdateCommand for local dev (#11276)
This unit test fails on my machine:
```
Expected: "pnpm i vercel@latest"
Received: "pnpm i -g vercel@latest"
```

This change allows the test to succeed on machines that need the `-g` flag.
2024-03-16 00:31:26 +00:00
Trek Glowacki
34e961e1c6 [tests] Add ionic-angular@7 fixtures to dependabot (#11171)
Add ionic-angular@7 fixtures to dependabot
2024-03-15 23:54:05 +00:00
Nathan Rajlich
75346d45cc [remix] Add SPA mode e2e tests (#11257)
Adds a couple e2e tests for [Remix SPA](https://remix.run/docs/en/main/future/spa-mode) mode (both with and without using the Vercel Preset).
2024-03-15 23:47:17 +00:00
Karl Pablo
f9b4fae51b Updated port number of localhost in README.md (#11287)
With Remix's migration to Vite as its bundler, the default localhost port has changed from 3000 to 5173.
2024-03-15 19:05:54 +00:00
Vercel Release Bot
8619992def Version Packages (#11275)
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/build-utils@7.9.1

### Patch Changes

- Export `getSupportedNodeVersion`
([#11277](https://github.com/vercel/vercel/pull/11277))

## vercel@33.6.1

### Patch Changes

- Don't send `projectSettings.nodeVersion` for unsupported versions
([#11277](https://github.com/vercel/vercel/pull/11277))

- Updated dependencies
\[[`4bca0c6d0`](4bca0c6d0b),
[`a67ad4b5a`](a67ad4b5a1),
[`11218a179`](11218a1798),
[`64b97bf4b`](64b97bf4b5)]:
    -   @vercel/next@4.1.6
    -   @vercel/remix-builder@2.1.4
    -   @vercel/build-utils@7.9.1
    -   @vercel/static-build@2.4.4
    -   @vercel/node@3.0.24

## @vercel/client@13.1.7

### Patch Changes

- Updated dependencies
\[[`11218a179`](11218a1798)]:
    -   @vercel/build-utils@7.9.1

## @vercel/gatsby-plugin-vercel-builder@2.0.22

### Patch Changes

- Updated dependencies
\[[`11218a179`](11218a1798)]:
    -   @vercel/build-utils@7.9.1

## @vercel/next@4.1.6

### Patch Changes

- Ensure that static PPR pages have static streaming lambda paths.
([#11259](https://github.com/vercel/vercel/pull/11259))

## @vercel/node@3.0.24

### Patch Changes

- Updated dependencies
\[[`11218a179`](11218a1798)]:
    -   @vercel/build-utils@7.9.1

## @vercel/remix-builder@2.1.4

### Patch Changes

- Disable `prepareCache()` npm install for Remix + Vite
([#11281](https://github.com/vercel/vercel/pull/11281))

## @vercel/static-build@2.4.4

### Patch Changes

- [framework-fixtures]&#x3A; Bump the core group in
/packages/static-build/test/fixtures/angular-v17 with 15 updates
([#11274](https://github.com/vercel/vercel/pull/11274))

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.22

## @vercel-internals/types@1.0.27

### Patch Changes

- Updated dependencies
\[[`11218a179`](11218a1798)]:
    -   @vercel/build-utils@7.9.1

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-15 10:21:07 -05:00
Nathan Rajlich
a67ad4b5a1 [remix] Disable prepareCache() npm install for Remix + Vite (#11281)
In legacy Remix apps, we were running `npm install` once again before globbing the `node_modules` dir due to the injecting of the forked Remix compiler which would cause a cache miss without that happening.

For Vite, we are no longer mucking about `node_modules` at build-time, so there is no need to run `npm install` in the `prepareCache()` function.

There is also no "cacheDirectory" setting so the globbing of the legacy cache directory is also moved into the legacy-only logic.

**tl;dr** For Remix + Vite apps, the only thing that needs to be cached is `node_modules`.
2024-03-15 03:08:16 +00:00
Erika Rowland
11218a1798 [cli] Don't send projectSettings.nodeVersion for unsupported versions (#11277)
Previously, we used `semver` which correctly identified the nodeVersion used in `package.json`, but failed in two cases:

1. If the specified `engines` range started too low, it wouldn't correctly identify a later version compatible with Vercel. (`">10"` was detecting as Node `"10.x"` not `"20.x"`)
2. If the specified `engines` version was fixed too low to be compatible with Vercel, we sent it, and then Vercel predictably errored. (`"10"` was detecting as Node `"10.x"` which would lead to an error in the build process)

Now, case 1 should properly use the latest node version. And case 2 will not send a node version override to the API and will print a warning to the user on the CLI, but the deployment will still proceed with the version specified for the project in the web interface.

We chose to keep the error message shown to the user consistent with what shows in the logs for the build container, that is:
> WARN! Node.js Version "10.x" is discontinued and must be upgraded. Please set "engines": { "node": "20.x" } in your `package.json` file to use Node.js 20.
2024-03-14 21:34:51 +00:00
dependabot[bot]
64b97bf4b5 [framework-fixtures]: Bump the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates (#11274)
Bumps the core group in /packages/static-build/test/fixtures/angular-v17 with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `17.2.1` | `17.3.0` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `17.2.1` | `17.3.0` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `17.2.1` | `17.3.0` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `17.2.1` | `17.3.0` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `17.2.1` | `17.3.0` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `17.2.1` | `17.3.0` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `17.2.1` | `17.3.0` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular/cli](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `17.2.1` | `17.3.0` |
| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/build-webpack](https://github.com/angular/angular-cli) | `0.1702.0` | `0.1703.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `17.2.0` | `17.3.0` |

Updates `@angular/animations` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/animations</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/animations</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/animations">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/common` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/common</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/common</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8d37ed035c"><code>8d37ed0</code></a> fix(http): exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54746">#54746</a>)</li>
<li><a href="974958913c"><code>9749589</code></a> feat(core): support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54414">#54414</a>)</li>
<li><a href="707bfc9b32"><code>707bfc9</code></a> perf(common): <code>AsyncPipe</code> should not call <code>markForCheck</code> on subscription (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54">#54</a>...</li>
<li><a href="55fd7b3c85"><code>55fd7b3</code></a> docs(docs-infra): Add missing api entries (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54517">#54517</a>)</li>
<li><a href="219445cda4"><code>219445c</code></a> fix(common): image placeholder not removed in OnPush component (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54515">#54515</a>)</li>
<li><a href="74b5a51226"><code>74b5a51</code></a> fix(http): Use string body to generate transfer cache key. (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/54379">#54379</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/common">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/compiler` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/compiler</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d"><img src="https://img.shields.io/badge/2909e9817d-fix-green" alt="fix - 2909e9817d" /></a></td>
<td>prevent infinite loops in clobbered elements check (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf"><img src="https://img.shields.io/badge/7243c704cf-fix-green" alt="fix - 7243c704cf" /></a></td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38"><img src="https://img.shields.io/badge/bb35414a38-perf-orange" alt="perf - bb35414a38" /></a></td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c"><img src="https://img.shields.io/badge/8d37ed035c-fix-green" alt="fix - 8d37ed035c" /></a></td>
<td>exclude caching for authenticated HTTP requests (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02"><img src="https://img.shields.io/badge/c1c7384e02-feat-blue" alt="feat - c1c7384e02" /></a></td>
<td>Add reusable types for router guards (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311"><img src="https://img.shields.io/badge/7225485311-fix-green" alt="fix - 7225485311" /></a></td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<h2>v17.3.0-rc.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0-rc.0 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="ae7dbe42de"><img src="https://img.shields.io/badge/ae7dbe42de-fix-green" alt="fix - ae7dbe42de" /></a></td>
<td>unwrap expressions with type parameters in query read property (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<p>| Commit | Description |</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/compiler</code>'s changelog</a>.</em></p>
<blockquote>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2">1a6beae8a2</a></td>
<td>feat</td>
<td>Enable template pipeline by default. (<a href="https://redirect.github.com/angular/angular/pull/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d">f386a04c9d</a></td>
<td>fix</td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e">1f129f114e</a></td>
<td>fix</td>
<td>not catching for loop empty tracking expressions (<a href="https://redirect.github.com/angular/angular/pull/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e">12dc4d074e</a></td>
<td>fix</td>
<td>account for as expression in docs extraction (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0">da7fbb40f0</a></td>
<td>fix</td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://redirect.github.com/angular/angular/pull/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699">492e03f699</a></td>
<td>fix</td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://redirect.github.com/angular/angular/pull/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1">5afa4f0ec1</a></td>
<td>fix</td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2">331b16efd2</a></td>
<td>feat</td>
<td>add API to inject attributes on the host node (<a href="https://redirect.github.com/angular/angular/pull/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a">fb540e169a</a></td>
<td>feat</td>
<td>add migration for invalid two-way bindings (<a href="https://redirect.github.com/angular/angular/pull/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453">c687b8f453</a></td>
<td>feat</td>
<td>expose new <code>output()</code> API (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21">c809069f21</a></td>
<td>feat</td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4">aff65fd1f4</a></td>
<td>feat</td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://redirect.github.com/angular/angular/pull/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c">974958913c</a></td>
<td>feat</td>
<td>support TypeScript 5.4 (<a href="https://redirect.github.com/angular/angular/pull/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d">39a50f9a8d</a></td>
<td>fix</td>
<td>ensure all initializer functions run in an injection context (<a href="https://redirect.github.com/angular/angular/pull/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624">243ccce624</a></td>
<td>fix</td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://redirect.github.com/angular/angular/pull/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="2909e9817d">2909e9817d</a></td>
<td>fix</td>
<td>prevent infinite loops in clobbered elements check (<a href="https://redirect.github.com/angular/angular/pull/54425">#54425</a>)</td>
</tr>
<tr>
<td><a href="7243c704cf">7243c704cf</a></td>
<td>fix</td>
<td>return a readonly signal on <code>asReadonly</code>. (<a href="https://redirect.github.com/angular/angular/pull/54706">#54706</a>)</td>
</tr>
<tr>
<td><a href="bb35414a38">bb35414a38</a></td>
<td>perf</td>
<td>speed up retrieval of <code>DestroyRef</code> in <code>EventEmitter</code> (<a href="https://redirect.github.com/angular/angular/pull/54748">#54748</a>)</td>
</tr>
</tbody>
</table>
<h3>http</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="8d37ed035c">8d37ed035c</a></td>
<td>fix</td>
<td>exclude caching for authenticated HTTP requests (<a href="https://redirect.github.com/angular/angular/pull/54746">#54746</a>)</td>
</tr>
</tbody>
</table>
<h3>router</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="c1c7384e02">c1c7384e02</a></td>
<td>feat</td>
<td>Add reusable types for router guards (<a href="https://redirect.github.com/angular/angular/pull/54580">#54580</a>)</td>
</tr>
<tr>
<td><a href="7225485311">7225485311</a></td>
<td>fix</td>
<td>Navigations triggered by cancellation events should cancel previous navigation (<a href="https://redirect.github.com/angular/angular/pull/54710">#54710</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.2.4 (2024-03-06)</h1>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="917b9bdd2e">917b9bdd2e</a></td>
<td>fix</td>
<td>unwrap expressions with type parameters in query read property (<a href="https://redirect.github.com/angular/angular/pull/54647">#54647</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="586cc24a10">586cc24a10</a></td>
<td>fix</td>
<td>apply TestBed provider overrides to <code>@defer</code> dependencies (<a href="https://redirect.github.com/angular/angular/pull/54667">#54667</a>)</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f386a04c9d"><code>f386a04</code></a> fix(compiler): handle two-way bindings to signal-based template variables in ...</li>
<li><a href="1f129f114e"><code>1f129f1</code></a> fix(compiler): not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54772">#54772</a>)</li>
<li><a href="b40f1e5b86"><code>b40f1e5</code></a> refactor(compiler): Remove deep imports in the language service (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54695">#54695</a>)</li>
<li><a href="5e32a775d9"><code>5e32a77</code></a> refactor(compiler): cleanup unused code in template builder pipeline (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54654">#54654</a>)</li>
<li><a href="1a6beae8a2"><code>1a6beae</code></a> feat(compiler): Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54571">#54571</a>)</li>
<li><a href="badda0c389"><code>badda0c</code></a> fix(compiler-cli): correctly detect deferred dependencies across scoped nodes...</li>
<li><a href="dba3e0b5aa"><code>dba3e0b</code></a> fix(compiler): adding the inert property to the &quot;SCHEMA&quot; array (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/53148">#53148</a>)</li>
<li><a href="6c2d4b650b"><code>6c2d4b6</code></a> refactor(compiler): Enable Template Pipeline globally in 1P. (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/54435">#54435</a>)</li>
<li>See full diff in <a href="https://github.com/angular/angular/commits/17.3.0/packages/compiler">compare view</a></li>
</ul>
</details>
<br />

Updates `@angular/core` from 17.2.1 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h1>17.3.0 (2024-03-13)</h1>
<h3>compiler</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="1a6beae8a2"><img src="https://img.shields.io/badge/1a6beae8a2-feat-blue" alt="feat - 1a6beae8a2" /></a></td>
<td>Enable template pipeline by default. (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54571">#54571</a>)</td>
</tr>
<tr>
<td><a href="f386a04c9d"><img src="https://img.shields.io/badge/f386a04c9d-fix-green" alt="fix - f386a04c9d" /></a></td>
<td>handle two-way bindings to signal-based template variables in instruction generation (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="1f129f114e"><img src="https://img.shields.io/badge/1f129f114e-fix-green" alt="fix - 1f129f114e" /></a></td>
<td>not catching for loop empty tracking expressions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54772">#54772</a>)</td>
</tr>
</tbody>
</table>
<h3>compiler-cli</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="12dc4d074e"><img src="https://img.shields.io/badge/12dc4d074e-fix-green" alt="fix - 12dc4d074e" /></a></td>
<td>account for as expression in docs extraction (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="da7fbb40f0"><img src="https://img.shields.io/badge/da7fbb40f0-fix-green" alt="fix - da7fbb40f0" /></a></td>
<td>detect when the linker is working in unpublished angular and widen supported versions (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54439">#54439</a>)</td>
</tr>
<tr>
<td><a href="492e03f699"><img src="https://img.shields.io/badge/492e03f699-fix-green" alt="fix - 492e03f699" /></a></td>
<td>flag two-way bindings to non-signal values in templates (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54714">#54714</a>)</td>
</tr>
<tr>
<td><a href="5afa4f0ec1"><img src="https://img.shields.io/badge/5afa4f0ec1-fix-green" alt="fix - 5afa4f0ec1" /></a></td>
<td>support <code>ModuleWithProviders</code> literal detection with <code>typeof</code> (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
</tbody>
</table>
<h3>core</h3>
<table>
<thead>
<tr>
<th>Commit</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="331b16efd2"><img src="https://img.shields.io/badge/331b16efd2-feat-blue" alt="feat - 331b16efd2" /></a></td>
<td>add API to inject attributes on the host node (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54604">#54604</a>)</td>
</tr>
<tr>
<td><a href="fb540e169a"><img src="https://img.shields.io/badge/fb540e169a-feat-blue" alt="feat - fb540e169a" /></a></td>
<td>add migration for invalid two-way bindings (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54630">#54630</a>)</td>
</tr>
<tr>
<td><a href="c687b8f453"><img src="https://img.shields.io/badge/c687b8f453-feat-blue" alt="feat - c687b8f453" /></a></td>
<td>expose new <code>output()</code> API (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="c809069f21"><img src="https://img.shields.io/badge/c809069f21-feat-blue" alt="feat - c809069f21" /></a></td>
<td>introduce <code>outputFromObservable()</code> interop function (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="aff65fd1f4"><img src="https://img.shields.io/badge/aff65fd1f4-feat-blue" alt="feat - aff65fd1f4" /></a></td>
<td>introduce <code>outputToObservable</code> interop helper (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54650">#54650</a>)</td>
</tr>
<tr>
<td><a href="974958913c"><img src="https://img.shields.io/badge/974958913c-feat-blue" alt="feat - 974958913c" /></a></td>
<td>support TypeScript 5.4 (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54414">#54414</a>)</td>
</tr>
<tr>
<td><a href="39a50f9a8d"><img src="https://img.shields.io/badge/39a50f9a8d-fix-green" alt="fix - 39a50f9a8d" /></a></td>
<td>ensure all initializer functions run in an injection context (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54761">#54761</a>)</td>
</tr>
<tr>
<td><a href="243ccce624"><img src="https://img.shields.io/badge/243ccce624-fix-green" alt="fix - 243ccce624" /></a></td>
<td>exclude class attribute intended for projection matching from directive matching (<a href="https://github.com/angular/angular/tree/HEAD/packages/core/issues/54800">#54800</a>)</td>
</tr>
<tr>
<td><a href="https://github.com/angular/angular/commit/2909e9817daf69b6478...

_Description has been truncated_
2024-03-14 21:05:24 +00:00
Trek Glowacki
5c3d2e7411 [tests] Shuffle proprety order in dependabot.yml (#11240)
Property order isn't meaningful here. I figured directory name first
makes the order a bit nicer and alphabetical.
2024-03-14 15:45:40 -05:00
Wyatt Johnson
4bca0c6d0b [next] Ensure all static routes have static streaming lambda path (#11259)
When there's a match for a prerender, the dynamic query parameters will
not be provided via the `x-now-route-matches`. This ensures that when
generating any static route that the static streaming lambda path is
used if it's provided, ensuring that when a page is generated via
`generateStaticParams`:

```tsx
// app/blog/[slug]/page.tsx

type Props = {
  params: {
    slug: string
  }
}

export function generateStaticParams() {
  return [{ slug: "one" }, { slug: "two" }, { slug: "three" }]
}

export default function BlogPage({ slug }: Props) {
  // ...
}
```

That we use the specific routes (`/blog/one`, `/blog/two`, and
`/blog/three`) for the partial prerendering streaming path instead of
the paramatarized pathname (`/blog/[slug]`) as the rewrites won't be
matched once a match for a prerender has been found.

This additionally updates the tests to ensure that the correct pathname
is observed (this was previously silently failing).
2024-03-14 12:37:48 -06:00
Vercel Release Bot
fab5fca939 Version Packages (#11262)
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/build-utils@7.9.0

### Minor Changes

- Add `base` parameter to `scanParentDirs()`
([#11261](https://github.com/vercel/vercel/pull/11261))

## vercel@33.6.0

### Minor Changes

- Set `projectSettings.nodeVersion` in `vc deploy` based on
"engines.node" field
([#11261](https://github.com/vercel/vercel/pull/11261))

### Patch Changes

- Stops warning about legacy Speed Insights for Next.js apps
([#11268](https://github.com/vercel/vercel/pull/11268))

- Fix framework version detection in monorepos
([#11212](https://github.com/vercel/vercel/pull/11212))

- Updated dependencies
\[[`8ea93839c`](8ea93839cc),
[`58ef91bfe`](58ef91bfe8)]:
    -   @vercel/build-utils@7.9.0
    -   @vercel/remix-builder@2.1.3
    -   @vercel/node@3.0.23
    -   @vercel/static-build@2.4.3

## @vercel/client@13.1.6

### Patch Changes

- Updated dependencies
\[[`8ea93839c`](8ea93839cc)]:
    -   @vercel/build-utils@7.9.0

## @vercel/gatsby-plugin-vercel-builder@2.0.21

### Patch Changes

- Updated dependencies
\[[`8ea93839c`](8ea93839cc)]:
    -   @vercel/build-utils@7.9.0

## @vercel/node@3.0.23

### Patch Changes

- Updated dependencies
\[[`8ea93839c`](8ea93839cc)]:
    -   @vercel/build-utils@7.9.0

## @vercel/remix-builder@2.1.3

### Patch Changes

- Improve hueristics for detecting Remix + Vite
([#11256](https://github.com/vercel/vercel/pull/11256))

## @vercel/static-build@2.4.3

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.21

## @vercel-internals/types@1.0.26

### Patch Changes

- Updated dependencies
\[[`8ea93839c`](8ea93839cc)]:
    -   @vercel/build-utils@7.9.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-14 10:37:36 -05:00
Damien Simonin Feugas
2ad44999dd [cli] stops warning Next.js users about legacy Speed Insights (#11268)
### 🧐 What's in there?

Vercel's Speed Insights legacy injection is deprecated in favor of `@vercel/speed-insights` package.
CLI has a couple places where it warns users running `vc build` locally (or on their CI).

Some users complained about seeing the warning while they are already using the package.

This PR removes the message

###  Note to reviewers

@tobiaslins, @timolins and I had a long discussion on the approach here.

This warning is issued because during `vc pull`, the project API on Vercel returns a legacy analytics.id field, [which is stored](https://github.com/vercel/vercel/blame/main/packages/cli/src/util/projects/project-settings.ts#L35) in `.vercel/project.json`.
While it is legit for users who never used `@vercel/speed-insights` package, it also appear for users who migrated from legacy.

Besides setting the warning, `VERCEL_ANALYTICS_ID` is set, which triggers auto-injection in Next.js, and is useful during self-hosting.

We first considered removing the legacy id from `project.json`, but it would break self-hosting.
We also considered printing the warning only if the application never used the package (which the project API on Vercel knows). 
In the end, we realized that vercel.com Speed Insights dashboard has plenty of disclaimer and incentives to use the new package. Having it in the CLI doesn't worth the annoyance.
2024-03-14 15:00:43 +00:00
Austin Merrick
eee57262f0 Fix README links (#11270)
These links went to the overview page. Pointing to the CLI docs is more helpful.
2024-03-14 09:07:15 +00:00
Sean Massa
fd762d8800 Update CODEOWNERS to ensure Zero Config can always approve (#11272)
I tagged everyone for review that might be impacted. I removed no one, but added Zero Config to each section.

This allows Zero Config to make uncontroversial tweaks as needed. For any significant changes to these areas, we'd of course still wait for other teams' reviews.
2024-03-14 08:55:35 +00:00
Nathan Rajlich
8ea93839cc [cli] Set projectSettings.nodeVersion in vc deploy based on "engines.node" field (#11261)
Read the package.json and use the `engines.node` value to set the
`projectSettings.nodeVersion` property on the create deployment API call
POST body. This allows for the Node 20 build container image to be
properly specified before the deployment is created on the server side.
2024-03-13 15:39:51 -07:00
Nathan Rajlich
b9f3438c2d [cli] Fix framework version detection in monorepos (#11212)
I noticed that the framework version was not being printed on deployments in a monorepo. Turns out the framework detection logic was happening at the root of the monorepo, instead of the project directory.
2024-03-12 22:54:53 +00:00
Vercel Release Bot
bf587f77b7 [tests] Upgrade Turbo to version 1.12.5 (#11249)
This auto-generated PR updates Turbo to version 1.12.5
2024-03-12 22:32:59 +00:00
Nathan Rajlich
58ef91bfe8 [remix] Improve hueristics for detecting Remix + Vite (#11256)
In particular, when both `remix.config` and `vite.config` files exist,
run some additional checks to try to detect if the project is using the
Vite plugin or not.
2024-03-12 15:05:32 -07:00
Nathan Rajlich
4111fbaa89 [tests] Specify testing tsconfig path for Jest (#11253)
This fixes the stack traces on failed Jest tests.
2024-03-11 14:39:08 -07:00
Vercel Release Bot
c3251e3775 Version Packages (#11248)
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/build-utils@7.8.0

### Minor Changes

- Remove `VERCEL_ENABLE_NPM_DEFAULT` env var check
([#11242](https://github.com/vercel/vercel/pull/11242))

### Patch Changes

- Rename variants to flags and remove legacy flags
([#11121](https://github.com/vercel/vercel/pull/11121))

## vercel@33.5.5

### Patch Changes

- Rename variants to flags and remove legacy flags
([#11121](https://github.com/vercel/vercel/pull/11121))

- fix vc with root dir issues
([#11243](https://github.com/vercel/vercel/pull/11243))

- Updated dependencies
\[[`908e7837d`](908e7837d5),
[`5e3656ec1`](5e3656ec1b),
[`a53d1b0d3`](a53d1b0d38)]:
    -   @vercel/build-utils@7.8.0
    -   @vercel/next@4.1.5
    -   @vercel/remix-builder@2.1.2
    -   @vercel/node@3.0.22
    -   @vercel/static-build@2.4.2

## @vercel/client@13.1.5

### Patch Changes

- Updated dependencies
\[[`908e7837d`](908e7837d5),
[`5e3656ec1`](5e3656ec1b)]:
    -   @vercel/build-utils@7.8.0

## @vercel/gatsby-plugin-vercel-builder@2.0.20

### Patch Changes

- Updated dependencies
\[[`908e7837d`](908e7837d5),
[`5e3656ec1`](5e3656ec1b)]:
    -   @vercel/build-utils@7.8.0

## @vercel/next@4.1.5

### Patch Changes

- Rename variants to flags and remove legacy flags
([#11121](https://github.com/vercel/vercel/pull/11121))

## @vercel/node@3.0.22

### Patch Changes

- Updated dependencies
\[[`908e7837d`](908e7837d5),
[`5e3656ec1`](5e3656ec1b)]:
    -   @vercel/build-utils@7.8.0

## @vercel/remix-builder@2.1.2

### Patch Changes

- Update `@remix-run/dev` fork to v2.8.1
([#11241](https://github.com/vercel/vercel/pull/11241))

## @vercel/static-build@2.4.2

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.20

## @vercel-internals/types@1.0.25

### Patch Changes

- Updated dependencies
\[[`908e7837d`](908e7837d5),
[`5e3656ec1`](5e3656ec1b)]:
    -   @vercel/build-utils@7.8.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-08 15:42:44 -06:00
Sean Massa
33202dec1f fix vc with root dir issues (#11243)
There's an issue with `vc link` and `vc deploy` when using a project
root directory. Framework detection fails because it's looking in the
wrong directory.

---

Manually tested and this fixes the issue. A project with a rootDirectory
was previously not detecting a framework, but now it says:

```
Auto-detected Project Settings (Remix):
```

---------

Co-authored-by: Nathan Rajlich <n@n8.io>
2024-03-08 15:21:18 -06:00
Vercel Release Bot
a53d1b0d38 [remix] Update @remix-run/dev to v2.8.1 (#11241)
This auto-generated PR updates `@remix-run/dev` to version 2.8.1.
2024-03-08 20:38:02 +00:00
Nathan Rajlich
5e3656ec1b [build-utils] Remove VERCEL_ENABLE_NPM_DEFAULT env var check (#11242)
Flag has been rolled out for long enough at this point.

npm will now always be used as the package manager when no lockfile is present.
2024-03-08 20:13:30 +00:00
Andy
908e7837d5 [cli][build-utils] Rename variants to flags (#11121)
- Removes all the legacy `flags`
 - Renames the new `variants` to `flags`

Neither the legacy flags, nor the new variants were exposed to anyone, except for the type in build-utils, so there shouldn't be any issues removing/renaming them.
2024-03-08 16:06:23 +00:00
Vercel Release Bot
dfa2f07c45 [examples][tests] Upgrade Next.js to version 14.1.3 (#11237)
This auto-generated PR updates 7 packages to Next.js version 14.1.3

Co-authored-by: Steven <steven@ceriously.com>
2024-03-08 10:51:02 -05:00
Nathan Rajlich
33181274bb [static-build] Remove Build Output API v1 tests (#11247)
Remove these old tests for the legacy BOA version. Specifically,
`66-build-output-directory-with-functions` has become problematic
because the "go1.x" Lambda runtime no longer deploys. I figured we take
the opportunity to remove the others as well though. Will make running
the tests slightly faster.
2024-03-08 10:28:30 -05:00
1167 changed files with 58683 additions and 111643 deletions

View File

@@ -10,6 +10,7 @@ packages/*/test/fixtures
packages/cli/@types
packages/cli/download
packages/cli/dist
packages/cli/test/fixtures
packages/cli/test/dev/fixtures
packages/cli/bin
packages/cli/link

22
.github/CODEOWNERS vendored
View File

@@ -2,17 +2,17 @@
# https://help.github.com/en/articles/about-code-owners
# Restricted Paths
* @TooTallNate @EndangeredMassa @trek
/.github/workflows @TooTallNate @EndangeredMassa @trek @ijjk
/packages/fs-detectors @TooTallNate @EndangeredMassa @trek @agadzik @chloetedder
/packages/next @TooTallNate @EndangeredMassa @Ethan-Arrowood @trek @ijjk @ztanner
/packages/routing-utils @TooTallNate @EndangeredMassa @trek @ijjk
/packages/static-build @TooTallNate @EndangeredMassa @trek
/packages/edge @vercel/compute @TooTallNate @EndangeredMassa @trek
/examples @leerob
/examples/create-react-app @Timer
/examples/nextjs @timneutkens @ijjk @ztanner @huozhi
/packages/node @TooTallNate @EndangeredMassa @trek @Kikobeats
* @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads
/.github/workflows @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @ijjk
/packages/fs-detectors @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @agadzik @chloetedder
/packages/next @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @timneutkens @ijjk @ztanner @huozhi @Ethan-Arrowood
/packages/routing-utils @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @ijjk
/packages/static-build @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads
/packages/edge @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @vercel/compute
/examples @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @leerob
/examples/create-react-app @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @Timer
/examples/nextjs @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @timneutkens @ijjk @ztanner @huozhi @Ethan-Arrowood
/packages/node @TooTallNate @EndangeredMassa @trek @onsclom @jeffsee55 @erikareads @Kikobeats
# Unrestricted Paths
.changeset/

View File

@@ -1,108 +1,3 @@
# Contributing
## Contributing
When contributing to this repository, please first discuss the change you wish to make via [GitHub Discussions](https://github.com/vercel/vercel/discussions/new) with the owners of this repository before submitting a Pull Request.
Please read our [Code of Conduct](CODE_OF_CONDUCT.md) and follow it in all your interactions with the project.
## Local development
This project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed with `pnpm`, not `npm` CLI.
To get started, execute the following:
```
git clone https://github.com/vercel/vercel
cd vercel
corepack enable
pnpm install
pnpm build
pnpm lint
pnpm test-unit
```
Make sure all the tests pass before making changes.
### Running Vercel CLI Changes
You can use `pnpm dev` from the `cli` package to invoke Vercel CLI with local changes:
```
cd ./packages/cli
pnpm dev <cli-commands...>
```
See [CLI Local Development](../packages/cli#local-development) for more details.
## Verifying your change
Once you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running:
```
pnpm test-unit
```
from the root of the project.
If any test fails, make sure to fix it along with your changes. See [Interpreting test errors](#Interpreting-test-errors) for more information about how the tests are executed, especially the integration tests.
## Pull Request Process
Once you are confident that your changes work properly, open a pull request on the main repository.
The pull request will be reviewed by the maintainers and the tests will be checked by our continuous integration platform.
## Interpreting test errors
There are 2 kinds of tests in this repository Unit tests and Integration tests.
Unit tests are run locally with `jest` and execute quickly because they are testing the smallest units of code.
### Integration tests
Integration tests create deployments to your Vercel account using the `test` project name. After each test is deployed, the `probes` key is used to check if the response is the expected value. If the value doesn't match, you'll see a message explaining the difference. If the deployment failed to build, you'll see a more generic message like the following:
```
[Error: Fetched page https://test-8ashcdlew.vercel.app/root.js does not contain hello Root!. Instead it contains An error occurred with this application.
NO_STATUS_CODE_FRO Response headers:
cache-control=s-maxage=0
connection=close
content-type=text/plain; charset=utf-8
date=Wed, 19 Jun 2019 18:01:37 GMT
server=now
strict-transport-security=max-age=63072000
transfer-encoding=chunked
x-now-id=iad1:hgtzj-1560967297876-44ae12559f95
x-now-trace=iad1]
```
In such cases, you can visit the URL of the failed deployment and append `/_logs` to see the build error. In the case above, that would be https://test-8ashcdlew.vercel.app/_logs
The logs of this deployment will contain the actual error which may help you to understand what went wrong.
### @vercel/nft
Some of the Builders use `@vercel/nft` to tree-shake files before deployment. If you suspect an error with this tree-shaking mechanism, you can create the following script in your project:
```js
const { nodeFileTrace } = require('@vercel/nft');
nodeFileTrace(['path/to/entrypoint.js'], {
ts: true,
mixedModules: true,
})
.then(o => console.log(o.fileList))
.then(e => console.error(e));
```
When you run this script, you'll see all the imported files. If anything file is missing, the bug is in [@vercel/nft](https://github.com/vercel/nft) and not the Builder.
## Deploy a Builder with existing project
Sometimes you want to test changes to a Builder against an existing project, maybe with `vercel dev` or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball.
1. Change directory to the desired Builder `cd ./packages/node`
2. Run `pnpm build` to compile typescript and other build steps
3. Run `npm pack` to create a tarball file
4. Run `vercel *.tgz` to upload the tarball file and get a URL
5. Edit any existing `vercel.json` project and replace `use` with the URL
6. Run `vercel` or `vercel dev` to deploy with the experimental Builder
See the [Contributing Guidelines](../README.md#contributing) for more details.

240
.github/dependabot.yml vendored
View File

@@ -1,7 +1,8 @@
version: 2
updates:
- schedule:
- directory: /packages/static-build/test/fixtures/angular-v17
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
@@ -11,7 +12,6 @@ updates:
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
directory: /packages/static-build/test/fixtures/angular-v17
allow:
- dependency-name: '@angular*'
ignore:
@@ -25,7 +25,8 @@ updates:
update-types:
- 'minor'
- schedule:
- directory: /packages/static-build/test/fixtures/astro-v4
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
@@ -35,7 +36,6 @@ updates:
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
directory: /packages/static-build/test/fixtures/astro-v4
allow:
- dependency-name: 'astro*'
ignore:
@@ -49,7 +49,8 @@ updates:
update-types:
- 'minor'
- schedule:
- directory: /packages/static-build/test/fixtures/hydrogen-v2023
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
@@ -59,21 +60,248 @@ updates:
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
directory: /packages/static-build/test/fixtures/hydrogen-v2023
allow:
- dependency-name: '@remix-run*'
- dependency-name: '@shopify*'
- dependency-name: 'remix*'
ignore:
- dependency-name: '@remix-run*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: 'remix*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: '@shopify*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'remix*'
- '@remix-run*'
- '@shopify*'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/ionic-angular-v8
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: '@ionic*'
- dependency-name: '@angular*'
ignore:
- dependency-name: '@ionic*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: '@angular*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- '@angular*'
- '@ionic*'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/ionic-react-v7
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: '@ionic*'
- dependency-name: 'react*'
ignore:
- dependency-name: '@ionic*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: 'react*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- '@ionic*'
- 'react*'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/nuxt-v3
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: 'nuxt'
- dependency-name: 'vue'
- dependency-name: 'vue-router'
- dependency-name: '@nuxt-devtools'
ignore:
- dependency-name: 'nuxt'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: 'vue'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: 'vue-router'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
- dependency-name: '@nuxt-devtools'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'nuxt'
- 'vue'
- 'vue-router'
- '@nuxt-devtools'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/parcel-v2
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
- 'erikareads'
- 'jeffsee55'
- 'onsclom'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: 'parcel'
ignore:
- dependency-name: 'parcel'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'parcel'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/preact-v10
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: 'preact*'
ignore:
- dependency-name: 'preact*'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'preact*'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/stencil-v4
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: '@stencil/core'
ignore:
- dependency-name: '@stencil/core'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- '@stencil/core'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/vite-v5
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: 'vite'
ignore:
- dependency-name: 'vite'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'vite'
update-types:
- 'minor'
- directory: /packages/static-build/test/fixtures/vitepress
schedule:
interval: 'daily'
open-pull-requests-limit: 1
reviewers:
- 'trek'
- 'TooTallNate'
- 'EndangeredMassa'
- 'jefsee55'
- 'onsclom'
- 'erikareads'
commit-message:
prefix: '[framework-fixtures]'
package-ecosystem: 'npm'
allow:
- dependency-name: 'vitepress'
ignore:
- dependency-name: 'vitepress'
update-types:
['version-update:semver-major', 'version-update:semver-patch']
groups:
core:
patterns:
- 'vitepress'
update-types:
- 'minor'

View File

@@ -12,17 +12,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# 0 means fetch all commits so we can commit and push in the script below
with:
fetch-depth: 0
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16
- name: Enable corepack
run: corepack enable pnpm
- name: Update Gatsby Fixtures
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}

View File

@@ -12,14 +12,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# 0 means fetch all commits so we can commit and push in the script below
with:
fetch-depth: 0
- name: Enable corepack
run: corepack enable pnpm
- name: Create Pull Request
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}

View File

@@ -12,14 +12,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# 0 means fetch all commits so we can commit and push in the script below
with:
fetch-depth: 0
- name: Enable corepack
run: corepack enable pnpm
- name: Create Pull Request
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}

View File

@@ -21,13 +21,13 @@ jobs:
id-token: write
steps:
- name: Checkout Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Fetch git tags
run: git fetch origin 'refs/tags/*:refs/tags/*'
- name: Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
@@ -61,7 +61,7 @@ jobs:
- name: Trigger Update (if a Publish Happened)
if: steps.changesets.outputs.published == 'true'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}
script: |
@@ -70,7 +70,7 @@ jobs:
- name: Set latest Release to `vercel` (if a Publish Happened)
if: steps.changesets.outputs.published == 'true'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}
script: |

124
.github/workflows/test-18.yml vendored Normal file
View File

@@ -0,0 +1,124 @@
name: Tests Node.js v18
on:
push:
branches:
- main
tags:
- '!*'
pull_request:
env:
NODE_VERSION: '18'
TURBO_REMOTE_ONLY: 'true'
TURBO_TEAM: 'vercel'
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
setup:
name: Find Changes
runs-on: ubuntu-latest
outputs:
tests: ${{ steps['set-tests'].outputs['tests'] }}
dplUrl: ${{ steps.waitForTarball.outputs.url }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: install pnpm@8.3.1
run: npm i -g pnpm@8.3.1
- run: pnpm install
- id: set-tests
run: |
TESTS_ARRAY=$(node utils/chunk-tests-18.js $SCRIPT_NAME)
echo "Files to test:"
echo "$TESTS_ARRAY"
echo "tests=$TESTS_ARRAY" >> $GITHUB_OUTPUT
- uses: patrickedqvist/wait-for-vercel-preview@bfdff514ff78a669f2536e9f4dd4ef5813a704a2
id: waitForTarball
with:
token: ${{ secrets.GITHUB_TOKEN }}
max_timeout: 360
check_interval: 5
test:
timeout-minutes: 120
runs-on: ${{ matrix.runner }}
name: ${{matrix.scriptName}} (${{matrix.packageName}}, ${{matrix.chunkNumber}}, ${{ matrix.runner }})
if: ${{ needs.setup.outputs['tests'] != '[]' }}
needs:
- setup
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.setup.outputs['tests']) }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.nodeVersion || env.NODE_VERSION }}
# yarn 1.22.21 introduced a Corepack bug when running tests.
# this can be removed once https://github.com/yarnpkg/yarn/issues/9015 is resolved
- name: install yarn@1.22.19
run: npm i -g yarn@1.22.19
- name: install pnpm@8.3.1
run: npm i -g pnpm@8.3.1
- run: pnpm install
- name: Build ${{matrix.packageName}} and all its dependencies
run: node utils/gen.js && node_modules/.bin/turbo run build --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --include-dependencies --no-deps
env:
FORCE_COLOR: '1'
- name: Test ${{matrix.packageName}}
run: node utils/gen.js && node_modules/.bin/turbo run ${{matrix.testScript}} --summarize --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }}
shell: bash
env:
JEST_JUNIT_OUTPUT_FILE: ${{github.workspace}}/.junit-reports/${{matrix.scriptName}}-${{matrix.packageName}}-${{matrix.chunkNumber}}-${{ matrix.runner }}.xml
VERCEL_CLI_VERSION: ${{ needs.setup.outputs.dplUrl }}/tarballs/vercel.tgz
VERCEL_TEST_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
VERCEL_TEST_REGISTRATION_URL: ${{ secrets.VERCEL_TEST_REGISTRATION_URL }}
FORCE_COLOR: '1'
- name: 'Determine Turbo HIT or MISS'
if: ${{ !cancelled() }}
id: turbo-summary
shell: bash
run: |
TURBO_MISS_COUNT=`node utils/determine-turbo-hit-or-miss.js`
echo "MISS COUNT: $TURBO_MISS_COUNT"
echo "misses=$TURBO_MISS_COUNT" >> $GITHUB_OUTPUT
- name: 'Upload Test Report to Datadog'
if: ${{ steps['turbo-summary'].outputs.misses != '0' && !cancelled() }}
run: 'npx @datadog/datadog-ci@2.18.1 junit upload --service vercel-cli .junit-reports'
env:
DATADOG_API_KEY: ${{secrets.DATADOG_API_KEY_CLI}}
DD_ENV: ci
summary:
name: Summary
runs-on: ubuntu-latest
timeout-minutes: 5
if: always()
needs:
- test
steps:
- name: Check All
run: |-
for status in ${{ join(needs.*.result, ' ') }}
do
if [ "$status" != "success" ] && [ "$status" != "skipped" ]
then
echo "Some checks failed"
exit 1
fi
done

View File

@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && github.event.pull_request.title != 'Version Packages'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
@@ -41,8 +41,8 @@ jobs:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: install pnpm@8.3.1

View File

@@ -1,4 +1,4 @@
name: Tests
name: Tests Node.js v16
on:
push:
@@ -26,10 +26,10 @@ jobs:
tests: ${{ steps['set-tests'].outputs['tests'] }}
dplUrl: ${{ steps.waitForTarball.outputs.url }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: install pnpm@8.3.1
@@ -59,17 +59,13 @@ jobs:
matrix:
include: ${{ fromJson(needs.setup.outputs['tests']) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.nodeVersion || env.NODE_VERSION }}
- name: Install Hugo
if: matrix.runner == 'macos-latest'
run: curl -L -O https://github.com/gohugoio/hugo/releases/download/v0.56.0/hugo_0.56.0_macOS-64bit.tar.gz && tar -xzf hugo_0.56.0_macOS-64bit.tar.gz && mv ./hugo packages/cli/test/dev/fixtures/08-hugo/
# yarn 1.22.21 introduced a Corepack bug when running tests.
# this can be removed once https://github.com/yarnpkg/yarn/issues/9015 is resolved
- name: install yarn@1.22.19
@@ -79,16 +75,13 @@ jobs:
run: npm i -g pnpm@8.3.1
- run: pnpm install
- name: fetch ssl certificate before build (linux, os x)
if: matrix.runner != 'windows-latest'
run: echo | openssl s_client -showcerts -servername 'api.vercel.com' -connect 76.76.21.21:443
- name: Build ${{matrix.packageName}} and all its dependencies
run: node utils/gen.js && node_modules/.bin/turbo run build --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --include-dependencies --no-deps
env:
FORCE_COLOR: '1'
- name: Test ${{matrix.packageName}}
run: node utils/gen.js && node_modules/.bin/turbo run test --summarize --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }}
run: node utils/gen.js && node_modules/.bin/turbo run ${{matrix.testScript}} --summarize --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }}
shell: bash
env:
JEST_JUNIT_OUTPUT_FILE: ${{github.workspace}}/.junit-reports/${{matrix.scriptName}}-${{matrix.packageName}}-${{matrix.chunkNumber}}-${{ matrix.runner }}.xml
@@ -104,12 +97,9 @@ jobs:
TURBO_MISS_COUNT=`node utils/determine-turbo-hit-or-miss.js`
echo "MISS COUNT: $TURBO_MISS_COUNT"
echo "misses=$TURBO_MISS_COUNT" >> $GITHUB_OUTPUT
- name: fetch ssl certificate after tests (linux, os x)
if: matrix.runner != 'windows-latest'
run: echo | openssl s_client -showcerts -servername 'api.vercel.com' -connect 76.76.21.21:443
- name: 'Upload Test Report to Datadog'
if: ${{ steps['turbo-summary'].outputs.misses != '0' && !cancelled() }}
run: 'npx @datadog/datadog-ci@2.18.1 junit upload --service vercel-cli .junit-reports'
run: 'npx @datadog/datadog-ci@2.36.0 junit upload --service vercel-cli .junit-reports'
env:
DATADOG_API_KEY: ${{secrets.DATADOG_API_KEY_CLI}}
DD_ENV: ci

View File

@@ -12,17 +12,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
- name: Enable corepack
run: corepack enable pnpm
- name: Update @remix-run/dev
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_TOKEN_PULL_REQUESTS }}
script: |

133
README.md
View File

@@ -13,7 +13,7 @@
<a href="https://vercel.com/docs"><strong>Documentation</strong></a> ·
<a href="https://vercel.com/changelog"><strong>Changelog</strong></a> ·
<a href="https://vercel.com/templates"><strong>Templates</strong></a> ·
<a href="https://vercel.com/cli"><strong>CLI</strong></a>
<a href="https://vercel.com/docs/cli"><strong>CLI</strong></a>
</p>
<br/>
@@ -23,7 +23,7 @@ Vercels Frontend Cloud provides the developer experience and infrastructure t
## Deploy
Get started by [importing a project](https://vercel.com/new) or using the [Vercel CLI](https://vercel.com/cli). Then, `git push` to deploy.
Get started by [importing a project](https://vercel.com/new) or using the [Vercel CLI](https://vercel.com/docs/cli). Then, `git push` to deploy.
## Documentation
@@ -35,7 +35,134 @@ This project uses [pnpm](https://pnpm.io/) to install dependencies and run scrip
You can use the `dev` script to run local changes as if you were invoking Vercel CLI. For example, `vercel deploy --cwd=/path/to/project` could be run with local changes with `pnpm dev deploy --cwd=/path/to/project`.
See the [Contributing Guidelines](./.github/CONTRIBUTING.md) for more details.
When contributing to this repository, please first discuss the change you wish to make via [GitHub Discussions](https://github.com/vercel/vercel/discussions/new) with the owners of this repository before submitting a Pull Request.
Please read our [Code of Conduct](./.github/CODE_OF_CONDUCT.md) and follow it in all your interactions with the project.
### Local development
This project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed with `pnpm`, not `npm` CLI.
To get started, execute the following:
```
git clone https://github.com/vercel/vercel
cd vercel
corepack enable
pnpm install
pnpm build
pnpm lint
pnpm test-unit
```
Make sure all the tests pass before making changes.
#### Running Vercel CLI Changes
You can use `pnpm dev` from the `cli` package to invoke Vercel CLI with local changes:
```
cd ./packages/cli
pnpm dev <cli-commands...>
```
See [CLI Local Development](../packages/cli#local-development) for more details.
### Verifying your change
Once you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running:
```
pnpm test-unit
```
from the root of the project.
If any test fails, make sure to fix it along with your changes. See [Interpreting test errors](#Interpreting-test-errors) for more information about how the tests are executed, especially the integration tests.
### Pull Request Process
Once you are confident that your changes work properly, open a pull request on the main repository.
The pull request will be reviewed by the maintainers and the tests will be checked by our continuous integration platform.
### Interpreting test errors
There are 2 kinds of tests in this repository Unit tests and Integration tests.
Unit tests are run locally with `jest` and execute quickly because they are testing the smallest units of code.
#### Integration tests
Integration tests create deployments to your Vercel account using the `test` project name. After each test is deployed, the `probes` key is used to check if the response is the expected value. If the value doesn't match, you'll see a message explaining the difference. If the deployment failed to build, you'll see a more generic message like the following:
```
[Error: Fetched page https://test-8ashcdlew.vercel.app/root.js does not contain hello Root!. Instead it contains An error occurred with this application.
NO_STATUS_CODE_FRO Response headers:
cache-control=s-maxage=0
connection=close
content-type=text/plain; charset=utf-8
date=Wed, 19 Jun 2019 18:01:37 GMT
server=now
strict-transport-security=max-age=63072000
transfer-encoding=chunked
x-now-id=iad1:hgtzj-1560967297876-44ae12559f95
x-now-trace=iad1]
```
In such cases, you can visit the URL of the failed deployment and append `/_logs` to see the build error. In the case above, that would be https://test-8ashcdlew.vercel.app/_logs
The logs of this deployment will contain the actual error which may help you to understand what went wrong.
##### Running integration tests locally
While running the full integration suite locally is not recommended, it's sometimes useful to isolate a failing test by running it on your machine. To do so, you'll need to ensure you have the appropriate credentials sourced in your shell:
1. Create an access token. Follow the insructions here https://vercel.com/docs/rest-api#creating-an-access-token. Ensure the token scope is for your personal
account.
2. Grab the team ID from the Vercel dashboard at `https://vercel.com/<MY-TEAM>/~/settings`.
3. Source these into your shell rc file: `echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc`
From there, you should be able to trigger an integration test. Choose one
that's already isolated to check that things work:
```
cd packages/next
```
Run the test:
```
pnpm test test/fixtures/00-server-build/index.test.js
```
#### @vercel/nft
Some of the Builders use `@vercel/nft` to tree-shake files before deployment. If you suspect an error with this tree-shaking mechanism, you can create the following script in your project:
```js
const { nodeFileTrace } = require('@vercel/nft');
nodeFileTrace(['path/to/entrypoint.js'], {
ts: true,
mixedModules: true,
})
.then(o => console.log(o.fileList))
.then(e => console.error(e));
```
When you run this script, you'll see all the imported files. If anything file is missing, the bug is in [@vercel/nft](https://github.com/vercel/nft) and not the Builder.
### Deploy a Builder with existing project
Sometimes you want to test changes to a Builder against an existing project, maybe with `vercel dev` or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball.
1. Change directory to the desired Builder `cd ./packages/node`
2. Run `pnpm build` to compile typescript and other build steps
3. Run `npm pack` to create a tarball file
4. Run `vercel *.tgz` to upload the tarball file and get a URL
5. Edit any existing `vercel.json` project and replace `use` with the URL
6. Run `vercel` or `vercel dev` to deploy with the experimental Builder
## Reference

View File

@@ -13,7 +13,7 @@ function initSentry() {
sentryInitDone = true;
init({
// Cannot figure out whats going wrong here. VSCode resolves this fine. But when we build it blows up.
// Cannot figure out what's going wrong here. VSCode resolves this fine. But when we build it blows up.
// @ts-ignore
dsn: assertEnv('SENTRY_DSN'),
environment: process.env.NODE_ENV || 'production',

View File

@@ -7,7 +7,7 @@
"scripts": {},
"dependencies": {
"@sentry/node": "5.11.1",
"got": "10.2.1",
"got": "11.8.5",
"node-fetch": "2.6.7",
"parse-github-url": "1.0.2",
"tar-fs": "2.0.0",

View File

@@ -50,4 +50,4 @@ Ensure any segments used in the `destination` property are also used in the `sou
- [path-to-regexp](https://github.com/pillarjs/path-to-regexp/tree/v6.1.0)
- [named parameters](https://github.com/pillarjs/path-to-regexp/blob/v6.1.0/Readme.md#named-parameters)
- [un-named paramters](https://github.com/pillarjs/path-to-regexp/blob/v6.1.0/Readme.md#unnamed-parameters)
- [un-named parameters](https://github.com/pillarjs/path-to-regexp/blob/v6.1.0/Readme.md#unnamed-parameters)

2
examples/README.md vendored
View File

@@ -1,6 +1,6 @@
# Vercel Examples
To get started using any of these examples as your own project, [install Vercel](https://vercel.com/cli) and use either of the following commands in your terminal:
To get started using any of these examples as your own project, [install Vercel](https://vercel.com/docs/cli) and use either of the following commands in your terminal:
```sh
vercel init # Pick an example in the CLI

View File

@@ -0,0 +1,4 @@
import { deployExample } from '../test-utils';
it('[examples] should deploy solidstart-1', async () => {
await deployExample('solidstart-1');
});

View File

@@ -4,7 +4,7 @@ import { lstatSync, readdirSync } from 'fs';
export async function deployExample(filename: string) {
const { testDeployment } = require('../../test/lib/deployment/test-deployment.js');
const example = basename(filename).replace(/\.test\.ts$/, '');
await testDeployment(join(filename, '..', '..', '..', example));
await testDeployment(join(process.cwd(), example));
}
export function getExamples() {

View File

@@ -1,47 +0,0 @@
name: CI
on:
push:
branches:
- main
- master
pull_request: {}
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: "Lint"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: npm
- name: Install Dependencies
run: npm ci
- name: Lint
run: npm run lint
test:
name: "Test"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: npm
- name: Install Dependencies
run: npm ci
- name: Run Tests
run: npm test

View File

@@ -0,0 +1,5 @@
{
"engines": {
"node": "18.x"
}
}

View File

@@ -8,6 +8,6 @@ menu:
main: {}
---
This is an example of a custom shortcode that you can put right into your content. You will need to add a form action to the the shortcode to make it work. Check out [Formspree](https://formspree.io/) for a simple, free form service.
This is an example of a custom shortcode that you can put right into your content. You will need to add a form action to the shortcode to make it work. Check out [Formspree](https://formspree.io/) for a simple, free form service.
{{< form-contact action="https://example.com" >}}

View File

@@ -8,7 +8,7 @@ This directory is a brief example of a [Hydrogen v2](https://shopify.dev/custom-
_Live Example: https://hydrogen-v2-template.vercel.app_
You can also deploy using the [Vercel CLI](https://vercel.com/cli):
You can also deploy using the [Vercel CLI](https://vercel.com/docs/cli):
```sh
npm i -g vercel

View File

@@ -0,0 +1,5 @@
{
"engines": {
"node": "18.x"
}
}

View File

@@ -0,0 +1,5 @@
{
"engines": {
"node": "18.x"
}
}

View File

@@ -3,12 +3,12 @@ import Image from "next/image";
export default function Home() {
return (
<main className="flex min-h-screen flex-col items-center justify-between p-24">
<div className="z-10 max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex">
<div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex">
<p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30">
Get started by editing&nbsp;
<code className="font-mono font-bold">app/page.tsx</code>
</p>
<div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:h-auto lg:w-auto lg:bg-none">
<div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:size-auto lg:bg-none">
<a
className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0"
href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
@@ -28,7 +28,7 @@ export default function Home() {
</div>
</div>
<div className="relative flex place-items-center before:absolute before:h-[300px] before:w-full sm:before:w-[480px] before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full sm:after:w-[240px] after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 before:lg:h-[360px] z-[-1]">
<div className="relative z-[-1] flex place-items-center before:absolute before:h-[300px] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 sm:before:w-[480px] sm:after:w-[240px] before:lg:h-[360px]">
<Image
className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert"
src="/next.svg"
@@ -39,20 +39,20 @@ export default function Home() {
/>
</div>
<div className="mb-32 grid text-center lg:max-w-5xl lg:w-full lg:mb-0 lg:grid-cols-4 lg:text-left">
<div className="mb-32 grid text-center lg:mb-0 lg:w-full lg:max-w-5xl lg:grid-cols-4 lg:text-left">
<a
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer"
>
<h2 className={`mb-3 text-2xl font-semibold`}>
<h2 className="mb-3 text-2xl font-semibold">
Docs{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Find in-depth information about Next.js features and API.
</p>
</a>
@@ -63,13 +63,13 @@ export default function Home() {
target="_blank"
rel="noopener noreferrer"
>
<h2 className={`mb-3 text-2xl font-semibold`}>
<h2 className="mb-3 text-2xl font-semibold">
Learn{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Learn about Next.js in an interactive course with&nbsp;quizzes!
</p>
</a>
@@ -80,13 +80,13 @@ export default function Home() {
target="_blank"
rel="noopener noreferrer"
>
<h2 className={`mb-3 text-2xl font-semibold`}>
<h2 className="mb-3 text-2xl font-semibold">
Templates{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Explore starter templates for Next.js.
</p>
</a>
@@ -97,13 +97,13 @@ export default function Home() {
target="_blank"
rel="noopener noreferrer"
>
<h2 className={`mb-3 text-2xl font-semibold`}>
<h2 className="mb-3 text-2xl font-semibold">
Deploy{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className={`m-0 max-w-[30ch] text-sm opacity-50 text-balance`}>
<p className="m-0 max-w-[30ch] text-balance text-sm opacity-50">
Instantly deploy your Next.js site to a shareable URL with Vercel.
</p>
</a>

File diff suppressed because it is too large Load Diff

View File

@@ -11,17 +11,16 @@
"dependencies": {
"react": "^18",
"react-dom": "^18",
"next": "14.1.2"
"next": "14.2.3"
},
"devDependencies": {
"typescript": "^5",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"autoprefixer": "^10.0.1",
"postcss": "^8",
"tailwindcss": "^3.3.0",
"tailwindcss": "^3.4.1",
"eslint": "^8",
"eslint-config-next": "14.1.2"
"eslint-config-next": "14.2.3"
}
}

View File

@@ -1,6 +0,0 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

View File

@@ -0,0 +1,8 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
tailwindcss: {},
},
};
export default config;

View File

@@ -9,7 +9,8 @@
},
"devDependencies": {
"@types/jest": "27.4.1",
"@vercel/frameworks": "3.0.0"
"@vercel/build-utils": "8.2.1",
"@vercel/frameworks": "3.0.2"
},
"version": null
}

View File

@@ -14,7 +14,7 @@ npx create-remix@latest --template vercel/vercel/examples/remix
_Live Example: https://remix-run-template.vercel.app_
You can also deploy using the [Vercel CLI](https://vercel.com/cli):
You can also deploy using the [Vercel CLI](https://vercel.com/docs/cli):
```sh
npm i -g vercel
@@ -35,4 +35,4 @@ Afterwards, start the Remix development server like so:
npm run dev
```
Open up [http://localhost:3000](http://localhost:3000) and you should be ready to go!
Open up [http://localhost:5173](http://localhost:5173) and you should be ready to go!

View File

@@ -9,18 +9,18 @@
"typecheck": "tsc"
},
"dependencies": {
"@remix-run/node": "^2.8.0",
"@remix-run/react": "^2.8.0",
"@remix-run/server-runtime": "^2.8.0",
"@remix-run/node": "^2.9.2",
"@remix-run/react": "^2.9.2",
"@remix-run/server-runtime": "^2.9.2",
"@vercel/analytics": "^1.2.2",
"@vercel/remix": "^2.8.0",
"@vercel/remix": "2.9.2-patch.2",
"isbot": "^4",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@remix-run/dev": "^2.8.0",
"@remix-run/eslint-config": "^2.8.0",
"@remix-run/dev": "^2.9.2",
"@remix-run/eslint-config": "^2.9.2",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
"eslint": "^8.38.0",

View File

@@ -18,7 +18,7 @@ Install dependencies:
npx @sanity/cli install
```
Pull down environment variables from your Vercel project (requires the [Vercel CLI](https://vercel.com/cli)):
Pull down environment variables from your Vercel project (requires the [Vercel CLI](https://vercel.com/docs/cli)):
```sh
vercel env pull

23
examples/solidstart-1/.gitignore vendored Normal file
View File

@@ -0,0 +1,23 @@
dist
worker
.solid
.vercel
.vinxi
.output
# dependencies
/node_modules
# IDEs and editors
/.idea
.project
.classpath
*.launch
.settings/
# Temp
gitignore
# System Files
.DS_Store
Thumbs.db

View File

@@ -0,0 +1,27 @@
# SolidStart
This directory is a brief example of a [SolidStart](https://github.com/ryansolid/solid-start) site that can be deployed to Vercel with zero configuration.
## Deploy Your Own
Deploy your own SolidStart project with Vercel.
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/vercel/vercel/tree/main/examples/solidstart&template=solidstart)
_Live Example: https://solid-start-template.vercel.app_
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
```
## Building
This uses the [Vercel Adapter](https://github.com/solidjs/solid-start/tree/main/packages/start-vercel) for SolidStart.
```bash
npm run build
```

View File

@@ -0,0 +1,7 @@
import { defineConfig } from "@solidjs/start/config";
export default defineConfig({
server: {
preset: "vercel"
}
});

View File

@@ -0,0 +1,20 @@
{
"scripts": {
"dev": "vinxi dev",
"build": "vinxi build",
"start": "vinxi start",
"version": "vinxi version"
},
"type": "module",
"private": true,
"dependencies": {
"@solidjs/meta": "^0.29.2",
"@solidjs/router": "^0.13.1",
"@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.16",
"vinxi": "^0.3.10"
},
"engines": {
"node": ">=18"
}
}

4413
examples/solidstart-1/pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

View File

@@ -0,0 +1,39 @@
body {
font-family: Gordita, Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
a {
margin-right: 1rem;
}
main {
text-align: center;
padding: 1em;
margin: 0 auto;
}
h1 {
color: #335d92;
text-transform: uppercase;
font-size: 4rem;
font-weight: 100;
line-height: 1.1;
margin: 4rem auto;
max-width: 14rem;
}
p {
max-width: 14rem;
margin: 2rem auto;
line-height: 1.35;
}
@media (min-width: 480px) {
h1 {
max-width: none;
}
p {
max-width: none;
}
}

View File

@@ -0,0 +1,22 @@
import { MetaProvider, Title } from "@solidjs/meta";
import { Router } from "@solidjs/router";
import { FileRoutes } from "@solidjs/start/router";
import { Suspense } from "solid-js";
import "./app.css";
export default function App() {
return (
<Router
root={props => (
<MetaProvider>
<Title>SolidStart - Basic</Title>
<a href="/">Index</a>
<a href="/about">About</a>
<Suspense>{props.children}</Suspense>
</MetaProvider>
)}
>
<FileRoutes />
</Router>
);
}

View File

@@ -0,0 +1,20 @@
.increment {
font-family: inherit;
font-size: inherit;
padding: 1em 2em;
color: #335d92;
background-color: rgba(68, 107, 158, 0.1);
border-radius: 2em;
border: 2px solid rgba(68, 107, 158, 0);
outline: none;
width: 200px;
font-variant-numeric: tabular-nums;
}
.increment:focus {
border: 2px solid #335d92;
}
.increment:active {
background-color: rgba(68, 107, 158, 0.2);
}

View File

@@ -0,0 +1,12 @@
"use client";
import { createSignal } from "solid-js";
import "./Counter.css";
export default function Counter() {
const [count, setCount] = createSignal(0);
return (
<button class="increment" onClick={() => setCount(count() + 1)}>
Clicks: {count()}
</button>
);
}

View File

@@ -0,0 +1,4 @@
// @refresh reload
import { mount, StartClient } from "@solidjs/start/client";
mount(() => <StartClient />, document.getElementById("app")!);

View File

@@ -0,0 +1,21 @@
// @refresh reload
import { createHandler, StartServer } from "@solidjs/start/server";
export default createHandler(() => (
<StartServer
document={({ assets, children, scripts }) => (
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" href="/favicon.ico" />
{assets}
</head>
<body>
<div id="app">{children}</div>
{scripts}
</body>
</html>
)}
/>
));

1
examples/solidstart-1/src/global.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
/// <reference types="@solidjs/start/env" />

View File

@@ -0,0 +1,19 @@
import { Title } from "@solidjs/meta";
import { HttpStatusCode } from "@solidjs/start";
export default function NotFound() {
return (
<main>
<Title>Not Found</Title>
<HttpStatusCode code={404} />
<h1>Page Not Found</h1>
<p>
Visit{" "}
<a href="https://start.solidjs.com" target="_blank">
start.solidjs.com
</a>{" "}
to learn how to build SolidStart apps.
</p>
</main>
);
}

View File

@@ -0,0 +1,19 @@
import { Title } from "@solidjs/meta";
import Counter from "~/components/Counter";
export default function Home() {
return (
<main>
<Title>Hello World</Title>
<h1>Hello world!</h1>
<Counter />
<p>
Visit{" "}
<a href="https://start.solidjs.com" target="_blank">
start.solidjs.com
</a>{" "}
to learn how to build SolidStart apps.
</p>
</main>
);
}

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"allowJs": true,
"strict": true,
"noEmit": true,
"types": ["vinxi/client"],
"isolatedModules": true,
"paths": {
"~/*": ["./src/*"]
}
}
}

View File

@@ -4,8 +4,7 @@
"main": "index.js",
"license": "MIT",
"devDependencies": {
"vitepress": "1.0.0-alpha.29",
"vue": "3.2.45"
"vitepress": "1.1.3"
},
"scripts": {
"dev": "vitepress dev docs",

View File

@@ -1,626 +0,0 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@algolia/autocomplete-core@1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz#8abbed88082f611997538760dffcb43b33b1fd1d"
integrity sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==
dependencies:
"@algolia/autocomplete-shared" "1.7.2"
"@algolia/autocomplete-preset-algolia@1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz#9cd4f64b3d64399657ee2dc2b7e0a939e0713a26"
integrity sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==
dependencies:
"@algolia/autocomplete-shared" "1.7.2"
"@algolia/autocomplete-shared@1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz#daa23280e78d3b42ae9564d12470ae034db51a89"
integrity sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==
"@algolia/cache-browser-local-storage@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.13.1.tgz#ffacb9230119f77de1a6f163b83680be999110e4"
integrity sha512-UAUVG2PEfwd/FfudsZtYnidJ9eSCpS+LW9cQiesePQLz41NAcddKxBak6eP2GErqyFagSlnVXe/w2E9h2m2ttg==
dependencies:
"@algolia/cache-common" "4.13.1"
"@algolia/cache-common@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.13.1.tgz#c933fdec9f73b4f7c69d5751edc92eee4a63d76b"
integrity sha512-7Vaf6IM4L0Jkl3sYXbwK+2beQOgVJ0mKFbz/4qSxKd1iy2Sp77uTAazcX+Dlexekg1fqGUOSO7HS4Sx47ZJmjA==
"@algolia/cache-in-memory@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.13.1.tgz#c19baa67b4597e1a93e987350613ab3b88768832"
integrity sha512-pZzybCDGApfA/nutsFK1P0Sbsq6fYJU3DwIvyKg4pURerlJM4qZbB9bfLRef0FkzfQu7W11E4cVLCIOWmyZeuQ==
dependencies:
"@algolia/cache-common" "4.13.1"
"@algolia/client-account@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.13.1.tgz#fea591943665477a23922ab31863ad0732e26c66"
integrity sha512-TFLiZ1KqMiir3FNHU+h3b0MArmyaHG+eT8Iojio6TdpeFcAQ1Aiy+2gb3SZk3+pgRJa/BxGmDkRUwE5E/lv3QQ==
dependencies:
"@algolia/client-common" "4.13.1"
"@algolia/client-search" "4.13.1"
"@algolia/transporter" "4.13.1"
"@algolia/client-analytics@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.13.1.tgz#5275956b2d0d16997148f2085f1701b6c39ecc32"
integrity sha512-iOS1JBqh7xaL5x00M5zyluZ9+9Uy9GqtYHv/2SMuzNW1qP7/0doz1lbcsP3S7KBbZANJTFHUOfuqyRLPk91iFA==
dependencies:
"@algolia/client-common" "4.13.1"
"@algolia/client-search" "4.13.1"
"@algolia/requester-common" "4.13.1"
"@algolia/transporter" "4.13.1"
"@algolia/client-common@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.13.1.tgz#3bf9e3586f20ef85bbb56ccca390f7dbe57c8f4f"
integrity sha512-LcDoUE0Zz3YwfXJL6lJ2OMY2soClbjrrAKB6auYVMNJcoKZZ2cbhQoFR24AYoxnGUYBER/8B+9sTBj5bj/Gqbg==
dependencies:
"@algolia/requester-common" "4.13.1"
"@algolia/transporter" "4.13.1"
"@algolia/client-personalization@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.13.1.tgz#438a1f58576ef19c4ad4addb8417bdacfe2fce2e"
integrity sha512-1CqrOW1ypVrB4Lssh02hP//YxluoIYXAQCpg03L+/RiXJlCs+uIqlzC0ctpQPmxSlTK6h07kr50JQoYH/TIM9w==
dependencies:
"@algolia/client-common" "4.13.1"
"@algolia/requester-common" "4.13.1"
"@algolia/transporter" "4.13.1"
"@algolia/client-search@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.13.1.tgz#5501deed01e23c33d4aaa9f9eb96a849f0fce313"
integrity sha512-YQKYA83MNRz3FgTNM+4eRYbSmHi0WWpo019s5SeYcL3HUan/i5R09VO9dk3evELDFJYciiydSjbsmhBzbpPP2A==
dependencies:
"@algolia/client-common" "4.13.1"
"@algolia/requester-common" "4.13.1"
"@algolia/transporter" "4.13.1"
"@algolia/logger-common@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.13.1.tgz#4221378e701e3f1eacaa051bcd4ba1f25ddfaf4d"
integrity sha512-L6slbL/OyZaAXNtS/1A8SAbOJeEXD5JcZeDCPYDqSTYScfHu+2ePRTDMgUTY4gQ7HsYZ39N1LujOd8WBTmM2Aw==
"@algolia/logger-console@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.13.1.tgz#423d358e4992dd4bceab0d9a4e99d1fd68107043"
integrity sha512-7jQOTftfeeLlnb3YqF8bNgA2GZht7rdKkJ31OCeSH2/61haO0tWPoNRjZq9XLlgMQZH276pPo0NdiArcYPHjCA==
dependencies:
"@algolia/logger-common" "4.13.1"
"@algolia/requester-browser-xhr@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.13.1.tgz#f8ea79233cf6f0392feaf31e35a6b40d68c5bc9e"
integrity sha512-oa0CKr1iH6Nc7CmU6RE7TnXMjHnlyp7S80pP/LvZVABeJHX3p/BcSCKovNYWWltgTxUg0U1o+2uuy8BpMKljwA==
dependencies:
"@algolia/requester-common" "4.13.1"
"@algolia/requester-common@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.13.1.tgz#daea143d15ab6ed3909c4c45877f1b6c36a16179"
integrity sha512-eGVf0ID84apfFEuXsaoSgIxbU3oFsIbz4XiotU3VS8qGCJAaLVUC5BUJEkiFENZIhon7hIB4d0RI13HY4RSA+w==
"@algolia/requester-node-http@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.13.1.tgz#32c63d4c009f22d97e396406de7af9b66fb8e89d"
integrity sha512-7C0skwtLdCz5heKTVe/vjvrqgL/eJxmiEjHqXdtypcE5GCQCYI15cb+wC4ytYioZDMiuDGeVYmCYImPoEgUGPw==
dependencies:
"@algolia/requester-common" "4.13.1"
"@algolia/transporter@4.13.1":
version "4.13.1"
resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.13.1.tgz#509e03e9145102843d5be4a031c521f692d4e8d6"
integrity sha512-pICnNQN7TtrcYJqqPEXByV8rJ8ZRU2hCiIKLTLRyNpghtQG3VAFk6fVtdzlNfdUGZcehSKGarPIZEHlQXnKjgw==
dependencies:
"@algolia/cache-common" "4.13.1"
"@algolia/logger-common" "4.13.1"
"@algolia/requester-common" "4.13.1"
"@babel/parser@^7.16.4":
version "7.18.8"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf"
integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==
"@docsearch/css@3.3.0", "@docsearch/css@^3.3.0":
version "3.3.0"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.3.0.tgz#d698e48302d12240d7c2f7452ccb2d2239a8cd80"
integrity sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==
"@docsearch/js@^3.3.0":
version "3.3.0"
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.3.0.tgz#c8f614b722cc8a6375e83f9c27557e9398d6a4d4"
integrity sha512-oFXWRPNvPxAzBhnFJ9UCFIYZiQNc3Yrv6912nZHw/UIGxsyzKpNRZgHq8HDk1niYmOSoLKtVFcxkccpQmYGFyg==
dependencies:
"@docsearch/react" "3.3.0"
preact "^10.0.0"
"@docsearch/react@3.3.0":
version "3.3.0"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.3.0.tgz#b8ac8e7f49b9bf2f96d34c24bc1cfd097ec0eead"
integrity sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==
dependencies:
"@algolia/autocomplete-core" "1.7.2"
"@algolia/autocomplete-preset-algolia" "1.7.2"
"@docsearch/css" "3.3.0"
algoliasearch "^4.0.0"
"@esbuild/android-arm@0.15.15":
version "0.15.15"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0"
integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==
"@esbuild/linux-loong64@0.15.15":
version "0.15.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1"
integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==
"@types/web-bluetooth@^0.0.16":
version "0.0.16"
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8"
integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==
"@vitejs/plugin-vue@^3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz#a1484089dd85d6528f435743f84cdd0d215bbb54"
integrity sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==
"@vue/compiler-core@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz#d9311207d96f6ebd5f4660be129fb99f01ddb41b"
integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce"
integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==
dependencies:
"@vue/compiler-core" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/compiler-sfc@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70"
integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.45"
"@vue/compiler-dom" "3.2.45"
"@vue/compiler-ssr" "3.2.45"
"@vue/reactivity-transform" "3.2.45"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
magic-string "^0.25.7"
postcss "^8.1.10"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2"
integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==
dependencies:
"@vue/compiler-dom" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/devtools-api@^6.4.5":
version "6.4.5"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380"
integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==
"@vue/reactivity-transform@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz#07ac83b8138550c83dfb50db43cde1e0e5e8124d"
integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.45"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/reactivity@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0"
integrity sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==
dependencies:
"@vue/shared" "3.2.45"
"@vue/runtime-core@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f"
integrity sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==
dependencies:
"@vue/reactivity" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/runtime-dom@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59"
integrity sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==
dependencies:
"@vue/runtime-core" "3.2.45"
"@vue/shared" "3.2.45"
csstype "^2.6.8"
"@vue/server-renderer@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f"
integrity sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==
dependencies:
"@vue/compiler-ssr" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/shared@3.2.45":
version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2"
integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==
"@vueuse/core@^9.4.0":
version "9.5.0"
resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.5.0.tgz#6726e952e8f92b465457d3bc95deb385aacd9a41"
integrity sha512-6GsWBsJHEb3sYw15mbLrcbslAVY45pkzjJYTKYKCXv88z7srAF0VEW0q+oXKsl58tCbqooplInahXFg8Yo1m4w==
dependencies:
"@types/web-bluetooth" "^0.0.16"
"@vueuse/metadata" "9.5.0"
"@vueuse/shared" "9.5.0"
vue-demi "*"
"@vueuse/metadata@9.5.0":
version "9.5.0"
resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.5.0.tgz#b01c84230261ddee4d439ae5d9c21343dc5ae565"
integrity sha512-4M1AyPZmIv41pym+K5+4wup3bKuYebbH8w8BROY1hmT7rIwcyS4tEL+UsGz0Hiu1FCOxcoBrwtAizc0YmBJjyQ==
"@vueuse/shared@9.5.0":
version "9.5.0"
resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.5.0.tgz#f5306548af0dc9f2b3a0d4da74e62bfdd6211241"
integrity sha512-HnnCWU1Vg9CVWRCcI8ohDKDRB2Sc4bTgT1XAIaoLSfVHHn+TKbrox6pd3klCSw4UDxkhDfOk8cAdcK+Z5KleCA==
dependencies:
vue-demi "*"
algoliasearch@^4.0.0:
version "4.13.1"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.13.1.tgz#54195c41c9e4bd13ed64982248cf49d4576974fe"
integrity sha512-dtHUSE0caWTCE7liE1xaL+19AFf6kWEcyn76uhcitWpntqvicFHXKFoZe5JJcv9whQOTRM6+B8qJz6sFj+rDJA==
dependencies:
"@algolia/cache-browser-local-storage" "4.13.1"
"@algolia/cache-common" "4.13.1"
"@algolia/cache-in-memory" "4.13.1"
"@algolia/client-account" "4.13.1"
"@algolia/client-analytics" "4.13.1"
"@algolia/client-common" "4.13.1"
"@algolia/client-personalization" "4.13.1"
"@algolia/client-search" "4.13.1"
"@algolia/logger-common" "4.13.1"
"@algolia/logger-console" "4.13.1"
"@algolia/requester-browser-xhr" "4.13.1"
"@algolia/requester-common" "4.13.1"
"@algolia/requester-node-http" "4.13.1"
"@algolia/transporter" "4.13.1"
body-scroll-lock@4.0.0-beta.0:
version "4.0.0-beta.0"
resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e"
integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==
csstype@^2.6.8:
version "2.6.20"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda"
integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==
esbuild-android-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz#fd959b034dd761d14e13dda6214b6948841ff4ff"
integrity sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==
esbuild-android-arm64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59"
integrity sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==
esbuild-darwin-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6"
integrity sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==
esbuild-darwin-arm64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc"
integrity sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==
esbuild-freebsd-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68"
integrity sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==
esbuild-freebsd-arm64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4"
integrity sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==
esbuild-linux-32@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472"
integrity sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==
esbuild-linux-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6"
integrity sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==
esbuild-linux-arm64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390"
integrity sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==
esbuild-linux-arm@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc"
integrity sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==
esbuild-linux-mips64le@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0"
integrity sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==
esbuild-linux-ppc64le@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6"
integrity sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==
esbuild-linux-riscv64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027"
integrity sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==
esbuild-linux-s390x@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34"
integrity sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==
esbuild-netbsd-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c"
integrity sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==
esbuild-openbsd-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76"
integrity sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==
esbuild-sunos-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c"
integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==
esbuild-windows-32@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb"
integrity sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==
esbuild-windows-64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb"
integrity sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==
esbuild-windows-arm64@0.15.15:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31"
integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==
esbuild@^0.15.9:
version "0.15.15"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe"
integrity sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==
optionalDependencies:
"@esbuild/android-arm" "0.15.15"
"@esbuild/linux-loong64" "0.15.15"
esbuild-android-64 "0.15.15"
esbuild-android-arm64 "0.15.15"
esbuild-darwin-64 "0.15.15"
esbuild-darwin-arm64 "0.15.15"
esbuild-freebsd-64 "0.15.15"
esbuild-freebsd-arm64 "0.15.15"
esbuild-linux-32 "0.15.15"
esbuild-linux-64 "0.15.15"
esbuild-linux-arm "0.15.15"
esbuild-linux-arm64 "0.15.15"
esbuild-linux-mips64le "0.15.15"
esbuild-linux-ppc64le "0.15.15"
esbuild-linux-riscv64 "0.15.15"
esbuild-linux-s390x "0.15.15"
esbuild-netbsd-64 "0.15.15"
esbuild-openbsd-64 "0.15.15"
esbuild-sunos-64 "0.15.15"
esbuild-windows-32 "0.15.15"
esbuild-windows-64 "0.15.15"
esbuild-windows-arm64 "0.15.15"
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
is-core-module@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
dependencies:
has "^1.0.3"
jsonc-parser@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d"
integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==
magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
dependencies:
sourcemap-codec "^1.4.8"
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
postcss@^8.1.10:
version "8.4.14"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.18:
version "8.4.19"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc"
integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
preact@^10.0.0:
version "10.10.0"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.10.0.tgz#7434750a24b59dae1957d95dc0aa47a4a8e9a180"
integrity sha512-fszkg1iJJjq68I4lI8ZsmBiaoQiQHbxf1lNq+72EmC/mZOsFF5zn3k1yv9QGoFgIXzgsdSKtYymLJsrJPoamjQ==
resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
rollup@^2.79.1:
version "2.79.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
optionalDependencies:
fsevents "~2.3.2"
shiki@^0.11.1:
version "0.11.1"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.11.1.tgz#df0f719e7ab592c484d8b73ec10e215a503ab8cc"
integrity sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==
dependencies:
jsonc-parser "^3.0.0"
vscode-oniguruma "^1.6.1"
vscode-textmate "^6.0.0"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sourcemap-codec@^1.4.8:
version "1.4.8"
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
vite@^3.2.3:
version "3.2.4"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.4.tgz#d8c7892dd4268064e04fffbe7d866207dd24166e"
integrity sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==
dependencies:
esbuild "^0.15.9"
postcss "^8.4.18"
resolve "^1.22.1"
rollup "^2.79.1"
optionalDependencies:
fsevents "~2.3.2"
vitepress@1.0.0-alpha.29:
version "1.0.0-alpha.29"
resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.29.tgz#9c4a4012efe2b37e223dfaa4dab03ee9fa777d1e"
integrity sha512-oaRaeMLcN9M3Bxz97fFVF6Gzm3Aqtb0CijTt5TOW0XPzNPuKA0YpFnsmS97gdKmA+VztM6itRJ8K7JJuU0VS3g==
dependencies:
"@docsearch/css" "^3.3.0"
"@docsearch/js" "^3.3.0"
"@vitejs/plugin-vue" "^3.2.0"
"@vue/devtools-api" "^6.4.5"
"@vueuse/core" "^9.4.0"
body-scroll-lock "4.0.0-beta.0"
shiki "^0.11.1"
vite "^3.2.3"
vue "^3.2.41"
vscode-oniguruma@^1.6.1:
version "1.6.2"
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607"
integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==
vscode-textmate@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210"
integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==
vue-demi@*:
version "0.13.4"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.4.tgz#fcb320892d78d3a7ec227024776f77d9a5c4831d"
integrity sha512-KP4lq9uSz0KZbaqCllRhnxMV3mYRsRWJfdsAhZyt5bV5O1RTpoeDptBRV9NOa/JgOpfaA9ane88VF7OjWNK/DA==
vue@3.2.45, vue@^3.2.41:
version "3.2.45"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.45.tgz#94a116784447eb7dbd892167784619fef379b3c8"
integrity sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==
dependencies:
"@vue/compiler-dom" "3.2.45"
"@vue/compiler-sfc" "3.2.45"
"@vue/runtime-dom" "3.2.45"
"@vue/server-renderer" "3.2.45"
"@vue/shared" "3.2.45"

View File

@@ -0,0 +1,5 @@
{
"engines": {
"node": "18.x"
}
}

View File

@@ -1,5 +1,96 @@
# @vercel-internals/types
## 1.0.37
### Patch Changes
- Updated dependencies [[`83741a0eb`](https://github.com/vercel/vercel/commit/83741a0eb9e44457b083e8790a11eb89984e6357)]:
- @vercel/build-utils@8.2.1
## 1.0.36
### Patch Changes
- Updated dependencies [[`d3c1267e2`](https://github.com/vercel/vercel/commit/d3c1267e24082789ea6382cf6af81dd40df288ff), [`ccd7eb1fb`](https://github.com/vercel/vercel/commit/ccd7eb1fb78f7ac9effdbe1935de3bda82c97fe3)]:
- @vercel/build-utils@8.2.0
## 1.0.35
### Patch Changes
- Updated dependencies [[`ad6945435`](https://github.com/vercel/vercel/commit/ad69454352b519b2b0ed326f245c779530554bf2)]:
- @vercel/build-utils@8.1.3
## 1.0.34
### Patch Changes
- Updated dependencies [[`1682ad43d`](https://github.com/vercel/vercel/commit/1682ad43d0064b22b1248a7e946746b838f00076)]:
- @vercel/build-utils@8.1.2
## 1.0.33
### Patch Changes
- Updated dependencies [[`2f7a6ed5f`](https://github.com/vercel/vercel/commit/2f7a6ed5f92d454000f92247d3b6548e2064f4e6)]:
- @vercel/build-utils@8.1.1
## 1.0.32
### Patch Changes
- Updated dependencies [[`5014b1e82`](https://github.com/vercel/vercel/commit/5014b1e82a46181baeb727ffe6d14000b6a4b1d7)]:
- @vercel/build-utils@8.1.0
## 1.0.31
### Patch Changes
- Updated dependencies [[`15475c8a2`](https://github.com/vercel/vercel/commit/15475c8a2c303a1dd189ba24044fac750280dd2e), [`21f5e7375`](https://github.com/vercel/vercel/commit/21f5e7375e4cb4ceed98ab56486d09a85fa3894d)]:
- @vercel/build-utils@8.0.0
## 1.0.30
### Patch Changes
- Updated dependencies [[`2826563ff`](https://github.com/vercel/vercel/commit/2826563ffab7ab01d3c85def2cad8c4041cd88b1)]:
- @vercel/build-utils@7.12.0
## 1.0.29
### Patch Changes
- Updated dependencies [[`73b112b1f`](https://github.com/vercel/vercel/commit/73b112b1f74480e1bb941e1b754105fc7dace401)]:
- @vercel/build-utils@7.11.0
## 1.0.28
### Patch Changes
- Updated dependencies [[`1825b58df`](https://github.com/vercel/vercel/commit/1825b58df8d783e79f0addf262618f422246f4b3)]:
- @vercel/build-utils@7.10.0
## 1.0.27
### Patch Changes
- Updated dependencies [[`11218a179`](https://github.com/vercel/vercel/commit/11218a179870a5420c5a6ff720cd4aec4f7e1c5e)]:
- @vercel/build-utils@7.9.1
## 1.0.26
### Patch Changes
- Updated dependencies [[`8ea93839c`](https://github.com/vercel/vercel/commit/8ea93839ccc70816f3ece9d7cfdb857aa7a4b015)]:
- @vercel/build-utils@7.9.0
## 1.0.25
### Patch Changes
- Updated dependencies [[`908e7837d`](https://github.com/vercel/vercel/commit/908e7837d55bc02e708f402c700e00208415e954), [`5e3656ec1`](https://github.com/vercel/vercel/commit/5e3656ec1b3f0561091636582715ba09ddd8cb2d)]:
- @vercel/build-utils@7.8.0
## 1.0.24
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@vercel-internals/types",
"version": "1.0.24",
"version": "1.0.37",
"types": "index.d.ts",
"main": "index.d.ts",
"files": [
@@ -10,7 +10,7 @@
"dependencies": {
"@types/node": "14.14.31",
"@vercel-internals/constants": "1.0.4",
"@vercel/build-utils": "7.7.1",
"@vercel/build-utils": "8.2.1",
"@vercel/routing-utils": "3.1.0"
},
"devDependencies": {

View File

@@ -25,7 +25,7 @@
"glob": "10.2.3",
"husky": "7.0.4",
"jest": "29.5.0",
"json5": "2.1.1",
"json5": "2.2.3",
"lint-staged": "9.2.5",
"node-fetch": "2.6.7",
"npm-package-arg": "6.1.0",
@@ -33,7 +33,7 @@
"source-map-support": "0.5.12",
"ts-eager": "2.0.2",
"ts-jest": "29.1.0",
"turbo": "1.12.4",
"turbo": "1.13.3",
"typescript": "4.9.5"
},
"scripts": {
@@ -131,7 +131,8 @@
"@typescript-eslint/member-delimiter-style": 0,
"@typescript-eslint/no-empty-function": 0,
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-inferrable-types": 0
"@typescript-eslint/no-inferrable-types": 0,
"no-console": 2
}
},
{

View File

@@ -1,5 +1,96 @@
# @vercel/build-utils
## 8.2.1
### Patch Changes
- [node] update node@16 deprecation day ([#11671](https://github.com/vercel/vercel/pull/11671))
## 8.2.0
### Minor Changes
- fix corepack detection for package manager version determination ([#11596](https://github.com/vercel/vercel/pull/11596))
### Patch Changes
- Fix triggering of ignored project settings node version warning ([#11550](https://github.com/vercel/vercel/pull/11550))
## 8.1.3
### Patch Changes
- [build-utils] log more around package manager detection ([#11594](https://github.com/vercel/vercel/pull/11594))
## 8.1.2
### Patch Changes
- add log to package manager version detection ([#11592](https://github.com/vercel/vercel/pull/11592))
## 8.1.1
### Patch Changes
- [build-utils] pnpm lockfile testing and fixing ([#11591](https://github.com/vercel/vercel/pull/11591))
## 8.1.0
### Minor Changes
- Update pnpm version detection logic ([#11445](https://github.com/vercel/vercel/pull/11445))
Add support for pnpm 9
## 8.0.0
### Major Changes
- Remove legacy `avoidTopLevelInstall` logic ([#11513](https://github.com/vercel/vercel/pull/11513))
### Patch Changes
- [build-utils] Add `VERCEL_PROJECT_PRODUCTION_URL` framework env var prefix ([#11506](https://github.com/vercel/vercel/pull/11506))
## 7.12.0
### Minor Changes
- Trigger release ([#11465](https://github.com/vercel/vercel/pull/11465))
## 7.11.0
### Minor Changes
- Add `getOsRelease()` and `getProvidedRuntime()` functions ([#11370](https://github.com/vercel/vercel/pull/11370))
## 7.10.0
### Minor Changes
- Allow environment variables to be specified for `EdgeFunction` ([#11029](https://github.com/vercel/vercel/pull/11029))
## 7.9.1
### Patch Changes
- Export `getSupportedNodeVersion` ([#11277](https://github.com/vercel/vercel/pull/11277))
## 7.9.0
### Minor Changes
- Add `base` parameter to `scanParentDirs()` ([#11261](https://github.com/vercel/vercel/pull/11261))
## 7.8.0
### Minor Changes
- Remove `VERCEL_ENABLE_NPM_DEFAULT` env var check ([#11242](https://github.com/vercel/vercel/pull/11242))
### Patch Changes
- Rename variants to flags and remove legacy flags ([#11121](https://github.com/vercel/vercel/pull/11121))
## 7.7.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/build-utils",
"version": "7.7.1",
"version": "8.2.1",
"license": "Apache-2.0",
"main": "./dist/index.js",
"types": "./dist/index.d.js",

View File

@@ -1,4 +1,4 @@
import type { Files, FunctionFramework } from './types';
import type { Env, Files, FunctionFramework } from './types';
/**
* An Edge Functions output
@@ -23,6 +23,11 @@ export class EdgeFunction {
*/
entrypoint: string;
/**
* Environment variables for the edge function to use at runtime.
*/
environment?: Env;
/**
* The list of files to be included in the edge function bundle.
*/
@@ -48,5 +53,6 @@ export class EdgeFunction {
this.assets = params.assets;
this.regions = params.regions;
this.framework = params.framework;
this.environment = params.environment;
}
}

View File

@@ -13,7 +13,7 @@ export const NODE_VERSIONS: NodeVersion[] = [
major: 16,
range: '16.x',
runtime: 'nodejs16.x',
discontinueDate: new Date('2024-06-15'),
discontinueDate: new Date('2025-02-28'),
},
{
major: 14,

View File

@@ -240,48 +240,62 @@ export function getSpawnOptions(
export async function getNodeVersion(
destPath: string,
nodeVersionFallback = process.env.VERCEL_PROJECT_SETTINGS_NODE_VERSION,
fallbackVersion = process.env.VERCEL_PROJECT_SETTINGS_NODE_VERSION,
config: Config = {},
meta: Meta = {},
availableVersions = getAvailableNodeVersions()
): Promise<NodeVersion> {
const latest = getLatestNodeVersion(availableVersions);
const latestVersion = getLatestNodeVersion(availableVersions);
if (meta.isDev) {
// Use the system-installed version of `node` in PATH for `vercel dev`
return { ...latest, runtime: 'nodejs' };
return { ...latestVersion, runtime: 'nodejs' };
}
const { packageJson } = await scanParentDirs(destPath, true);
let nodeVersion = config.nodeVersion || nodeVersionFallback;
let isAuto = true;
const configuredVersion = config.nodeVersion || fallbackVersion;
const packageJsonVersion = packageJson?.engines?.node;
const supportedNodeVersion = await getSupportedNodeVersion(
packageJsonVersion || configuredVersion,
!packageJsonVersion,
availableVersions
);
if (packageJson?.engines?.node) {
const { node } = packageJson.engines;
if (nodeVersion && validRange(node) && !intersects(nodeVersion, node)) {
if (
configuredVersion &&
!intersects(configuredVersion, supportedNodeVersion.range)
) {
console.warn(
`Warning: Due to "engines": { "node": "${node}" } in your \`package.json\` file, the Node.js Version defined in your Project Settings ("${nodeVersion}") will not apply. Learn More: http://vercel.link/node-version`
`Warning: Due to "engines": { "node": "${node}" } in your \`package.json\` file, the Node.js Version defined in your Project Settings ("${configuredVersion}") will not apply. Learn More: http://vercel.link/node-version`
);
} else if (coerce(node)?.raw === node) {
}
if (coerce(node)?.raw === node) {
console.warn(
`Warning: Detected "engines": { "node": "${node}" } in your \`package.json\` with major.minor.patch, but only major Node.js Version can be selected. Learn More: http://vercel.link/node-version`
);
} else if (validRange(node) && intersects(`${latest.major + 1}.x`, node)) {
} else if (
validRange(node) &&
intersects(`${latestVersion.major + 1}.x`, node)
) {
console.warn(
`Warning: Detected "engines": { "node": "${node}" } in your \`package.json\` that will automatically upgrade when a new major Node.js Version is released. Learn More: http://vercel.link/node-version`
);
}
nodeVersion = node;
isAuto = false;
}
return getSupportedNodeVersion(nodeVersion, isAuto, availableVersions);
return supportedNodeVersion;
}
export async function scanParentDirs(
destPath: string,
readPackageJson = false
readPackageJson = false,
base = '/'
): Promise<ScanParentDirsResult> {
assert(path.isAbsolute(destPath));
const pkgJsonPath = await walkParentDirs({
base: '/',
base,
start: destPath,
filename: 'package.json',
});
@@ -291,7 +305,7 @@ export async function scanParentDirs(
: undefined;
const [yarnLockPath, npmLockPath, pnpmLockPath, bunLockPath] =
await walkParentDirsMulti({
base: '/',
base,
start: destPath,
filenames: [
'yarn.lock',
@@ -339,11 +353,7 @@ export async function scanParentDirs(
// TODO: read "bun-lockfile-format-v0"
lockfileVersion = 0;
} else {
if (process.env.VERCEL_ENABLE_NPM_DEFAULT === '1') {
cliType = 'npm';
} else {
cliType = 'yarn';
}
}
const packageJsonPath = pkgJsonPath || undefined;
@@ -416,9 +426,8 @@ export async function runNpmInstall(
try {
await runNpmInstallSema.acquire();
const { cliType, packageJsonPath, lockfileVersion } = await scanParentDirs(
destPath
);
const { cliType, packageJsonPath, packageJson, lockfileVersion } =
await scanParentDirs(destPath, true);
if (!packageJsonPath) {
debug(
@@ -453,6 +462,7 @@ export async function runNpmInstall(
opts.env = getEnvForPackageManager({
cliType,
lockfileVersion,
packageJsonPackageManager: packageJson?.packageManager,
nodeVersion,
env,
});
@@ -537,40 +547,54 @@ export async function runNpmInstall(
export function getEnvForPackageManager({
cliType,
lockfileVersion,
packageJsonPackageManager,
nodeVersion,
env,
}: {
cliType: CliType;
lockfileVersion: number | undefined;
packageJsonPackageManager?: string | undefined;
nodeVersion: NodeVersion | undefined;
env: { [x: string]: string | undefined };
}) {
const corepackFlagged = env.ENABLE_EXPERIMENTAL_COREPACK === '1';
const corepackEnabled = corepackFlagged && Boolean(packageJsonPackageManager);
const {
detectedLockfile,
detectedPackageManager,
path: newPath,
yarnNodeLinker,
} = getPathForPackageManager({
} = getPathOverrideForPackageManager({
cliType,
lockfileVersion,
corepackEnabled,
nodeVersion,
env,
});
if (corepackEnabled) {
debug(
`Detected corepack use for "${packageJsonPackageManager}". Not overriding package manager version.`
);
} else {
debug(
`Detected ${detectedPackageManager}. Added "${newPath}" to path. Based on assumed package manager "${cliType}", lockfile "${detectedLockfile}", and lockfileVersion "${lockfileVersion}"`
);
}
const newEnv: { [x: string]: string | undefined } = {
...env,
};
if (newPath) {
const alreadyInPath = (newPath: string) => {
const oldPath = env.PATH ?? '';
return oldPath.split(path.delimiter).includes(newPath);
};
if (newPath && !alreadyInPath(newPath)) {
// Ensure that the binaries of the detected package manager are at the
// beginning of the `$PATH`.
const oldPath = env.PATH + '';
newEnv.PATH = `${newPath}${path.delimiter}${oldPath}`;
}
if (yarnNodeLinker) {
newEnv.YARN_NODE_LINKER = yarnNodeLinker;
}
if (detectedLockfile && detectedPackageManager) {
// For pnpm we also show the version of the lockfile we found
@@ -587,14 +611,153 @@ export function getEnvForPackageManager({
);
}
}
}
if (cliType === 'yarn' && !env.YARN_NODE_LINKER) {
newEnv.YARN_NODE_LINKER = 'node-modules';
}
return newEnv;
}
type DetectedPnpmVersion =
| 'not found'
| 'pnpm 6'
| 'pnpm 7'
| 'pnpm 8'
| 'pnpm 9'
| 'corepack_enabled';
function detectPnpmVersion(
lockfileVersion: number | undefined,
corepackEnabled: boolean
): DetectedPnpmVersion {
switch (true) {
case corepackEnabled:
return 'corepack_enabled';
case lockfileVersion === undefined:
return 'not found';
case lockfileVersion === 5.3:
return 'pnpm 6';
case lockfileVersion === 5.4:
return 'pnpm 7';
case lockfileVersion === 6.0 || lockfileVersion === 6.1:
return 'pnpm 8';
case lockfileVersion === 7.0 || lockfileVersion === 9.0:
return 'pnpm 9';
default:
return 'not found';
}
}
function shouldUseNpm7(
lockfileVersion: number | undefined,
nodeVersion: NodeVersion | undefined
): boolean {
if (lockfileVersion === undefined) return false;
return lockfileVersion >= 2 && (nodeVersion?.major || 0) < 16;
}
/**
* Helper to get the binary paths that link to the used package manager.
* Note: Make sure it doesn't contain any `console.log` calls.
*/
export function getPathOverrideForPackageManager({
cliType,
lockfileVersion,
corepackEnabled,
nodeVersion,
}: {
cliType: CliType;
lockfileVersion: number | undefined;
corepackEnabled: boolean;
nodeVersion: NodeVersion | undefined;
}): {
/**
* Which lockfile was detected.
*/
detectedLockfile: string | undefined;
/**
* Detected package manager that generated the found lockfile.
*/
detectedPackageManager: string | undefined;
/**
* Value of $PATH that includes the binaries for the detected package manager.
* Undefined if no $PATH are necessary.
*/
path: string | undefined;
} {
const no_override = {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
};
switch (cliType) {
case 'npm':
switch (true) {
case corepackEnabled:
return no_override;
case shouldUseNpm7(lockfileVersion, nodeVersion):
return {
path: '/node16/bin-npm7',
detectedLockfile: 'package-lock.json',
detectedPackageManager: 'npm 7+',
};
default:
return no_override;
}
case 'pnpm':
switch (detectPnpmVersion(lockfileVersion, corepackEnabled)) {
case 'corepack_enabled':
return no_override;
case 'pnpm 7':
// pnpm 7
return {
path: '/pnpm7/node_modules/.bin',
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 7',
};
case 'pnpm 8':
// pnpm 8
return {
path: '/pnpm8/node_modules/.bin',
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 8',
};
case 'pnpm 9':
// pnpm 9
return {
path: '/pnpm9/node_modules/.bin',
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 9',
};
case 'pnpm 6':
default:
return no_override;
}
case 'bun':
switch (true) {
case corepackEnabled:
return no_override;
default:
// Bun 1
return {
path: '/bun1',
detectedLockfile: 'bun.lockb',
detectedPackageManager: 'Bun',
};
}
case 'yarn':
return no_override;
}
}
/**
* Helper to get the binary paths that link to the used package manager.
* Note: Make sure it doesn't contain any `console.log` calls.
* @deprecated use `getEnvForPackageManager` instead
*/
export function getPathForPackageManager({
cliType,
lockfileVersion,
@@ -625,70 +788,36 @@ export function getPathForPackageManager({
*/
yarnNodeLinker: string | undefined;
} {
let detectedLockfile: string | undefined;
let detectedPackageManager: string | undefined;
let pathValue: string | undefined;
let yarnNodeLinker: string | undefined;
const oldPath = env.PATH + '';
const npm7 = '/node16/bin-npm7';
const pnpm7 = '/pnpm7/node_modules/.bin';
const pnpm8 = '/pnpm8/node_modules/.bin';
const bun1 = '/bun1';
// This is not the correct check for whether or not corepack is being used. For that, you'd have to check
// the package.json's `packageManager` property. However, this deprecated function is keeping it's old,
// broken behavior.
const corepackEnabled = env.ENABLE_EXPERIMENTAL_COREPACK === '1';
if (cliType === 'npm') {
if (
typeof lockfileVersion === 'number' &&
lockfileVersion >= 2 &&
(nodeVersion?.major || 0) < 16 &&
!oldPath.includes(npm7) &&
!corepackEnabled
) {
// npm 7
pathValue = npm7;
detectedLockfile = 'package-lock.json';
detectedPackageManager = 'npm 7+';
}
} else if (cliType === 'pnpm') {
if (
typeof lockfileVersion === 'number' &&
lockfileVersion === 5.4 &&
!oldPath.includes(pnpm7) &&
!corepackEnabled
) {
// pnpm 7
pathValue = pnpm7;
detectedLockfile = 'pnpm-lock.yaml';
detectedPackageManager = 'pnpm 7';
} else if (
typeof lockfileVersion === 'number' &&
lockfileVersion >= 6 &&
!oldPath.includes(pnpm8) &&
!corepackEnabled
) {
// pnpm 8
pathValue = pnpm8;
detectedLockfile = 'pnpm-lock.yaml';
detectedPackageManager = 'pnpm 8';
}
} else if (cliType === 'bun') {
if (!oldPath.includes(bun1) && !corepackEnabled) {
// Bun 1
pathValue = bun1;
detectedLockfile = 'bun.lockb';
detectedPackageManager = 'Bun';
}
} else {
// Yarn v2 PnP mode may be activated, so force "node-modules" linker style
if (!env.YARN_NODE_LINKER) {
yarnNodeLinker = 'node-modules';
}
}
return {
detectedLockfile,
detectedPackageManager,
path: pathValue,
yarnNodeLinker,
const overrides = getPathOverrideForPackageManager({
cliType,
lockfileVersion,
corepackEnabled,
nodeVersion,
});
const alreadyInPath = (newPath: string) => {
const oldPath = env.PATH ?? '';
return oldPath.split(path.delimiter).includes(newPath);
};
switch (true) {
case cliType === 'yarn' && !env.YARN_NODE_LINKER:
return { ...overrides, yarnNodeLinker: 'node-modules' };
case alreadyInPath(overrides.path ?? ''):
return {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
yarnNodeLinker: undefined,
};
default:
return { ...overrides, yarnNodeLinker: undefined };
}
}
export async function runCustomInstallCommand({
@@ -703,10 +832,14 @@ export async function runCustomInstallCommand({
spawnOpts?: SpawnOptions;
}) {
console.log(`Running "install" command: \`${installCommand}\`...`);
const { cliType, lockfileVersion } = await scanParentDirs(destPath);
const { cliType, lockfileVersion, packageJson } = await scanParentDirs(
destPath,
true
);
const env = getEnvForPackageManager({
cliType,
lockfileVersion,
packageJsonPackageManager: packageJson?.packageManager,
nodeVersion,
env: spawnOpts?.env || {},
});
@@ -744,6 +877,7 @@ export async function runPackageJsonScript(
env: getEnvForPackageManager({
cliType,
lockfileVersion,
packageJsonPackageManager: packageJson?.packageManager,
nodeVersion: undefined,
env: cloneEnv(process.env, spawnOpts?.env),
}),

View File

@@ -0,0 +1,22 @@
import debug from './debug';
export async function getInstalledPackageVersion(
packageName: string,
path?: string | string[]
): Promise<string | undefined> {
try {
const resolved = require.resolve(`${packageName}/package.json`, {
paths: path ? (Array.isArray(path) ? path : [path]) : [process.cwd()],
});
const version: string = require(resolved).version;
return version;
} catch (err) {
debug(
`Could not resolve package "${packageName}". Package is not installed.`,
err
);
return undefined;
}
}

View File

@@ -19,6 +19,7 @@ export function getPrefixedEnvVars({
'VERCEL_ENV',
'VERCEL_REGION',
'VERCEL_BRANCH_URL',
'VERCEL_PROJECT_PRODUCTION_URL',
];
const newEnvs: Envs = {};
if (envPrefix && envs.VERCEL_URL) {

View File

@@ -38,6 +38,7 @@ import {
import {
getLatestNodeVersion,
getDiscontinuedNodeVersions,
getSupportedNodeVersion,
} from './fs/node-version';
import streamToBuffer from './fs/stream-to-buffer';
import debug from './debug';
@@ -72,6 +73,7 @@ export {
walkParentDirs,
getNodeBinPath,
getNodeBinPaths,
getSupportedNodeVersion,
runNpmInstall,
runBundleInstall,
runPipInstall,
@@ -101,6 +103,7 @@ export {
export { EdgeFunction } from './edge-function';
export { readConfigFile } from './fs/read-config-file';
export { normalizePath } from './fs/normalize-path';
export { getOsRelease, getProvidedRuntime } from './os';
export * from './should-serve';
export * from './schemas';
@@ -108,3 +111,5 @@ export * from './types';
export * from './errors';
export { NODE_VERSIONS } from './fs/node-version';
export { getInstalledPackageVersion } from './get-installed-package-version';

View File

@@ -5,11 +5,7 @@ import minimatch from 'minimatch';
import { readlink } from 'fs-extra';
import { isSymbolicLink, isDirectory } from './fs/download';
import streamToBuffer from './fs/stream-to-buffer';
import type { Files, Config, FunctionFramework } from './types';
interface Environment {
[key: string]: string;
}
import type { Config, Env, Files, FunctionFramework } from './types';
export type LambdaOptions = LambdaOptionsWithFiles | LambdaOptionsWithZipBuffer;
@@ -21,7 +17,7 @@ export interface LambdaOptionsBase {
architecture?: LambdaArchitecture;
memory?: number;
maxDuration?: number;
environment?: Environment;
environment?: Env;
allowQuery?: string[];
regions?: string[];
supportsMultiPayloads?: boolean;
@@ -69,7 +65,7 @@ export class Lambda {
architecture?: LambdaArchitecture;
memory?: number;
maxDuration?: number;
environment: Environment;
environment: Env;
allowQuery?: string[];
regions?: string[];
/**

View File

@@ -0,0 +1,42 @@
import { readFile } from 'fs-extra';
import { isErrnoException } from '@vercel/error-utils';
export async function getOsRelease() {
try {
const data = await readFile('/etc/os-release', 'utf8');
return await parseOsRelease(data);
} catch (err) {
if (isErrnoException(err) && err.code === 'ENOENT') {
return null;
}
throw err;
}
}
export async function parseOsRelease(data: string) {
const obj: Record<string, string> = {};
// Example file contents:
// NAME="Amazon Linux"
// VERSION="2023"
// ID="amzn"
// ID_LIKE="fedora"
for (const line of data.trim().split('\n')) {
const m = /(?<key>.*)="(?<value>.*)"/.exec(line);
if (!m?.groups) {
continue;
}
obj[m.groups.key] = m.groups.value;
}
return obj;
}
export async function getProvidedRuntime() {
const os = await getOsRelease();
if (!os) {
return 'provided.al2023';
}
return os.PRETTY_NAME === 'Amazon Linux 2'
? 'provided.al2'
: 'provided.al2023';
}

View File

@@ -66,7 +66,6 @@ export interface Meta {
filesRemoved?: string[];
env?: Env;
buildEnv?: Env;
avoidTopLevelInstall?: boolean;
[key: string]: unknown;
}
@@ -440,15 +439,6 @@ export interface Cron {
schedule: string;
}
/**
* @deprecated Replaced by Variants. Remove once fully replaced.
*/
export interface Flag {
key: string;
defaultValue?: unknown;
metadata: Record<string, unknown>;
}
/** The framework which created the function */
export interface FunctionFramework {
slug: string;
@@ -473,9 +463,7 @@ export interface BuildResultV2Typical {
framework?: {
version: string;
};
/** @deprecated Replaced by Variants. Remove once fully replaced. */
flags?: Flag[];
variants?: Record<string, VariantDefinition>;
flags?: { definitions: FlagDefinitions };
}
export type BuildResultV2 = BuildResultV2Typical | BuildResultBuildOutput;
@@ -500,23 +488,25 @@ export type StartDevServer = (
* TODO: The following types will eventually be exported by a more
* relevant package.
*/
type VariantJSONArray = ReadonlyArray<VariantJSONValue>;
type FlagJSONArray = ReadonlyArray<FlagJSONValue>;
type VariantJSONValue =
type FlagJSONValue =
| string
| boolean
| number
| null
| VariantJSONArray
| { [key: string]: VariantJSONValue };
| FlagJSONArray
| { [key: string]: FlagJSONValue };
type VariantOption = {
value: VariantJSONValue;
type FlagOption = {
value: FlagJSONValue;
label?: string;
};
export interface VariantDefinition {
options?: VariantOption[];
export interface FlagDefinition {
options?: FlagOption[];
origin?: string;
description?: string;
}
export type FlagDefinitions = Record<string, FlagDefinition>;

View File

@@ -3,5 +3,8 @@
"version": "1.0.0",
"scripts": {
"build": "mkdir -p public && (printf \"npm version: \" && npm -v) > public/index.txt"
},
"engines": {
"node": "16.x"
}
}

View File

@@ -5,5 +5,8 @@
},
"dependencies": {
"once": "^1.4.0"
},
"engines": {
"node": "16.x"
}
}

View File

@@ -4,7 +4,7 @@
"probes": [
{
"path": "/",
"mustContain": "pnpm version: 6",
"mustContain": "pnpm version: 7",
"logMustContain": "pnpm run build"
}
]

View File

@@ -6,5 +6,8 @@
"dependencies": {
"exeggcute": "^1.0.0",
"once": "^1.4.0"
},
"engines": {
"node": "16.x"
}
}

View File

@@ -5,5 +5,8 @@
},
"dependencies": {
"sharp": "0.33.2"
},
"engines": {
"node": "16.x"
}
}

View File

@@ -1,7 +0,0 @@
{
"build": {
"env": {
"VERCEL_ENABLE_NPM_DEFAULT": "1"
}
}
}

View File

@@ -1,5 +1,6 @@
import { delimiter } from 'path';
import { getEnvForPackageManager, getPathForPackageManager } from '../src';
import { getPathOverrideForPackageManager } from '../src/fs/run-user-scripts';
describe('Test `getEnvForPackageManager()`', () => {
let consoleLogSpy: jest.SpyInstance;
@@ -34,6 +35,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 1,
env: {
FOO: 'bar',
@@ -50,6 +52,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -68,6 +71,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: 'pnpm@latest',
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -86,6 +90,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -104,6 +109,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'npm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -122,6 +128,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'yarn',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -139,6 +146,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'yarn',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
@@ -157,6 +165,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 5.4,
env: {
FOO: 'bar',
@@ -171,11 +180,52 @@ describe('Test `getEnvForPackageManager()`', () => {
'Detected `pnpm-lock.yaml` version 5.4 generated by pnpm 7',
consoleWarnOutput: null,
},
{
name: 'should set path if pnpm 8 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 6.0,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
FOO: 'bar',
PATH: `/pnpm8/node_modules/.bin${delimiter}foo`,
},
consoleLogOutput:
'Detected `pnpm-lock.yaml` version 6 generated by pnpm 8',
consoleWarnOutput: null,
},
{
name: 'should set path if pnpm 8 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 9.0,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
FOO: 'bar',
PATH: `/pnpm9/node_modules/.bin${delimiter}foo`,
},
consoleLogOutput:
'Detected `pnpm-lock.yaml` version 9 generated by pnpm 9',
consoleWarnOutput: null,
},
{
name: 'should set path if bun v1 is detected',
args: {
cliType: 'bun',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 0,
env: {
FOO: 'bar',
@@ -195,6 +245,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: 'npm@latest',
lockfileVersion: 5.4,
env: {
FOO: 'bar',
@@ -213,6 +264,7 @@ describe('Test `getEnvForPackageManager()`', () => {
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 5.4,
env: {
FOO: 'bar',
@@ -226,27 +278,12 @@ describe('Test `getEnvForPackageManager()`', () => {
consoleLogOutput: null,
consoleWarnOutput: null,
},
{
name: 'should not set path if pnpm 6 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
lockfileVersion: 5.3,
env: {
FOO: 'bar',
},
},
want: {
FOO: 'bar',
},
consoleLogOutput: null,
consoleWarnOutput: null,
},
])('$name', ({ args, want, consoleLogOutput, consoleWarnOutput }) => {
expect(
getEnvForPackageManager({
cliType: args.cliType,
lockfileVersion: args.lockfileVersion,
packageJsonPackageManager: args.packageJsonPackageManager,
nodeVersion: args.nodeVersion,
env: args.env,
})
@@ -268,11 +305,210 @@ describe('Test `getEnvForPackageManager()`', () => {
});
});
describe('Test `getPathForPackageManager()`', () => {
describe('Test `getPathOverrideForPackageManager()`', () => {
test.each<{
name: string;
args: Parameters<typeof getEnvForPackageManager>[0];
want: unknown;
}>([
{
name: 'should do nothing to env for npm < 6 and node < 16',
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 1,
env: {
FOO: 'bar',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
},
},
{
name: 'should set path if npm 7+ is detected and node < 16',
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: 'package-lock.json',
detectedPackageManager: 'npm 7+',
path: '/node16/bin-npm7',
},
},
{
name: 'should not set npm path if corepack enabled',
args: {
cliType: 'npm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
packageJsonPackageManager: 'pnpm@latest',
lockfileVersion: 2,
env: {
FOO: 'bar',
ENABLE_EXPERIMENTAL_COREPACK: '1',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
},
},
{
name: 'should not set path if node is 16 and npm 7+ is detected',
args: {
cliType: 'npm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 2,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
},
},
{
name: 'should not set path if pnpm 6 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 5.3, // detects as pnpm@6, which is the default
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
},
},
{
name: 'should set path if pnpm 7+ is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 5.4,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 7',
path: '/pnpm7/node_modules/.bin',
},
},
{
name: 'should set path if pnpm 8 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 6.1,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 8',
path: '/pnpm8/node_modules/.bin',
},
},
{
name: 'should set path if pnpm 9 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 7.0,
env: {
FOO: 'bar',
PATH: 'foo',
},
},
want: {
detectedLockfile: 'pnpm-lock.yaml',
detectedPackageManager: 'pnpm 9',
path: '/pnpm9/node_modules/.bin',
},
},
{
name: 'should set path if bun v1 is detected',
args: {
cliType: 'bun',
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
packageJsonPackageManager: undefined,
lockfileVersion: 0,
env: {
FOO: 'bar',
PATH: '/usr/local/bin',
},
},
want: {
detectedLockfile: 'bun.lockb',
detectedPackageManager: 'Bun',
path: '/bun1',
},
},
{
name: 'should not set pnpm path if corepack is enabled',
args: {
cliType: 'pnpm',
nodeVersion: { major: 16, range: '16.x', runtime: 'nodejs16.x' },
packageJsonPackageManager: 'npm@latest',
lockfileVersion: 5.4,
env: {
FOO: 'bar',
ENABLE_EXPERIMENTAL_COREPACK: '1',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
},
},
])('$name', ({ args, want }) => {
expect(
getPathOverrideForPackageManager({
cliType: args.cliType,
lockfileVersion: args.lockfileVersion,
// naive assumption that enabling corepack as a feature means it's used, but this is fine for tests
corepackEnabled: Boolean(args.env.ENABLE_EXPERIMENTAL_COREPACK),
nodeVersion: args.nodeVersion,
})
).toStrictEqual(want);
});
});
describe('Test `getPathForPackageManager()`', () => {
test.each<{
name: string;
args: Parameters<typeof getPathForPackageManager>[0];
want: unknown;
}>([
{
name: 'should do nothing to env for npm < 6 and node < 16',
@@ -470,23 +706,6 @@ describe('Test `getPathForPackageManager()`', () => {
yarnNodeLinker: undefined,
},
},
{
name: 'should not set path if pnpm 6 is detected',
args: {
cliType: 'pnpm',
nodeVersion: { major: 14, range: '14.x', runtime: 'nodejs14.x' },
lockfileVersion: 5.3,
env: {
FOO: 'bar',
},
},
want: {
detectedLockfile: undefined,
detectedPackageManager: undefined,
path: undefined,
yarnNodeLinker: undefined,
},
},
])('$name', ({ args, want }) => {
expect(
getPathForPackageManager({

View File

@@ -0,0 +1,89 @@
import { parseOsRelease } from '../src/os';
describe('getOsRelease()', () => {
it('should parse `amazonlinux:2`', async () => {
const data = `NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
SUPPORT_END="2025-06-30"
`;
const parsed = await parseOsRelease(data);
expect(parsed).toMatchObject({
ANSI_COLOR: '0;33',
CPE_NAME: 'cpe:2.3:o:amazon:amazon_linux:2',
HOME_URL: 'https://amazonlinux.com/',
ID: 'amzn',
ID_LIKE: 'centos rhel fedora',
NAME: 'Amazon Linux',
PRETTY_NAME: 'Amazon Linux 2',
SUPPORT_END: '2025-06-30',
VERSION: '2',
VERSION_ID: '2',
});
});
it('should parse `amazonlinux:2023`', async () => {
const data = `NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
SUPPORT_END="2028-03-01"
`;
const parsed = await parseOsRelease(data);
expect(parsed).toMatchObject({
NAME: 'Amazon Linux',
VERSION: '2023',
ID: 'amzn',
ID_LIKE: 'fedora',
VERSION_ID: '2023',
PLATFORM_ID: 'platform:al2023',
PRETTY_NAME: 'Amazon Linux 2023',
ANSI_COLOR: '0;33',
CPE_NAME: 'cpe:2.3:o:amazon:amazon_linux:2023',
HOME_URL: 'https://aws.amazon.com/linux/',
BUG_REPORT_URL: 'https://github.com/amazonlinux/amazon-linux-2023',
SUPPORT_END: '2028-03-01',
});
});
it('should parse `ubuntu:jammy`', async () => {
const data = `PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
`;
const parsed = await parseOsRelease(data);
expect(parsed).toMatchObject({
PRETTY_NAME: 'Ubuntu 22.04.3 LTS',
NAME: 'Ubuntu',
VERSION_ID: '22.04',
VERSION: '22.04.3 LTS (Jammy Jellyfish)',
HOME_URL: 'https://www.ubuntu.com/',
SUPPORT_URL: 'https://help.ubuntu.com/',
BUG_REPORT_URL: 'https://bugs.launchpad.net/ubuntu/',
PRIVACY_POLICY_URL:
'https://www.ubuntu.com/legal/terms-and-policies/privacy-policy',
});
});
});

View File

@@ -15,6 +15,7 @@ describe('Test `getPrefixedEnvVars()`', () => {
VERCEL_URL: 'example.vercel.sh',
VERCEL_ENV: 'production',
VERCEL_BRANCH_URL: 'example-git-main-acme.vercel.app',
VERCEL_PROJECT_PRODUCTION_URL: 'example.com',
USER_ENV_VAR_NOT_VERCEL: 'example.com',
VERCEL_ARTIFACTS_TOKEN: 'abc123',
FOO: 'bar',
@@ -24,6 +25,7 @@ describe('Test `getPrefixedEnvVars()`', () => {
NEXT_PUBLIC_VERCEL_URL: 'example.vercel.sh',
NEXT_PUBLIC_VERCEL_ENV: 'production',
NEXT_PUBLIC_VERCEL_BRANCH_URL: 'example-git-main-acme.vercel.app',
NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL: 'example.com',
TURBO_CI_VENDOR_ENV_KEY: 'NEXT_PUBLIC_VERCEL_',
},
},

View File

@@ -221,6 +221,21 @@ it('should warn when package.json engines is greater than', async () => {
]);
});
it('should warn when project settings gets overrided', async () => {
expect(
await getNodeVersion(
path.join(__dirname, 'pkg-engine-node-greaterthan'),
undefined,
{ nodeVersion: '16.x' },
{}
)
).toHaveProperty('range', '20.x');
expect(warningMessages).toStrictEqual([
'Warning: Due to "engines": { "node": ">=16" } in your `package.json` file, the Node.js Version defined in your Project Settings ("16.x") will not apply. Learn More: http://vercel.link/node-version',
'Warning: Detected "engines": { "node": ">=16" } in your `package.json` that will automatically upgrade when a new major Node.js Version is released. Learn More: http://vercel.link/node-version',
]);
});
it('should not warn when package.json engines matches project setting from config', async () => {
expect(
await getNodeVersion(
@@ -271,7 +286,7 @@ it('should throw for discontinued versions', async () => {
// Mock a future date so that Node 16 becomes discontinued
const realDateNow = Date.now;
try {
global.Date.now = () => new Date('2024-07-16').getTime();
global.Date.now = () => new Date('2025-03-01').getTime();
expect(getSupportedNodeVersion('8.10.x', false)).rejects.toThrow();
expect(getSupportedNodeVersion('8.10.x', true)).rejects.toThrow();
@@ -341,8 +356,8 @@ it('should warn for deprecated versions, soon to be discontinued', async () => {
'Error: Node.js version 12.x has reached End-of-Life. Deployments created on or after 2022-10-03 will fail to build. Please set Node.js Version to 20.x in your Project Settings to use Node.js 20.',
'Error: Node.js version 14.x has reached End-of-Life. Deployments created on or after 2023-08-15 will fail to build. Please set "engines": { "node": "20.x" } in your `package.json` file to use Node.js 20.',
'Error: Node.js version 14.x has reached End-of-Life. Deployments created on or after 2023-08-15 will fail to build. Please set Node.js Version to 20.x in your Project Settings to use Node.js 20.',
'Error: Node.js version 16.x has reached End-of-Life. Deployments created on or after 2024-06-15 will fail to build. Please set "engines": { "node": "20.x" } in your `package.json` file to use Node.js 20.',
'Error: Node.js version 16.x has reached End-of-Life. Deployments created on or after 2024-06-15 will fail to build. Please set Node.js Version to 20.x in your Project Settings to use Node.js 20.',
'Error: Node.js version 16.x has reached End-of-Life. Deployments created on or after 2025-02-28 will fail to build. Please set "engines": { "node": "20.x" } in your `package.json` file to use Node.js 20.',
'Error: Node.js version 16.x has reached End-of-Life. Deployments created on or after 2025-02-28 will fail to build. Please set Node.js Version to 20.x in your Project Settings to use Node.js 20.',
]);
} finally {
global.Date.now = realDateNow;
@@ -576,7 +591,7 @@ it(
ms('1m')
);
it('should return cliType npm when no lockfile is present and VERCEL_ENABLE_NPM_DEFAULT is set', async () => {
it('should return cliType "npm" when no lockfile is present', async () => {
const originalRepoLockfilePath = path.join(
__dirname,
'..',
@@ -587,36 +602,12 @@ it('should return cliType npm when no lockfile is present and VERCEL_ENABLE_NPM_
const originalRepoLockfileData = await fs.readFile(originalRepoLockfilePath);
await fs.remove(originalRepoLockfilePath);
try {
process.env.VERCEL_ENABLE_NPM_DEFAULT = '1';
const fixture = path.join(__dirname, 'fixtures', '40-no-lockfile');
const result = await scanParentDirs(fixture);
expect(result.cliType).toEqual('npm');
expect(result.lockfileVersion).toEqual(undefined);
expect(result.lockfilePath).toEqual(undefined);
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
} finally {
delete process.env.VERCEL_ENABLE_NPM_DEFAULT;
await fs.writeFile(originalRepoLockfilePath, originalRepoLockfileData);
}
});
it('should return cliType yarn when no lockfile is present and VERCEL_ENABLE_NPM_DEFAULT is not set', async () => {
const originalRepoLockfilePath = path.join(
__dirname,
'..',
'..',
'..',
'pnpm-lock.yaml'
);
const originalRepoLockfileData = await fs.readFile(originalRepoLockfilePath);
await fs.remove(originalRepoLockfilePath);
try {
const fixture = path.join(__dirname, 'fixtures', '40-no-lockfile');
const result = await scanParentDirs(fixture);
expect(result.cliType).toEqual('yarn');
expect(result.lockfileVersion).toEqual(undefined);
expect(result.lockfilePath).toEqual(undefined);
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
} finally {
await fs.writeFile(originalRepoLockfilePath, originalRepoLockfileData);
}

View File

@@ -1,5 +1,310 @@
# vercel
## 34.2.4
### Patch Changes
- Updated dependencies [[`3eb9d8c89`](https://github.com/vercel/vercel/commit/3eb9d8c8929592960d88e0395e2a2443f7304d6b), [`83741a0eb`](https://github.com/vercel/vercel/commit/83741a0eb9e44457b083e8790a11eb89984e6357)]:
- @vercel/python@4.3.0
- @vercel/build-utils@8.2.1
- @vercel/node@3.1.6
- @vercel/static-build@2.5.10
## 34.2.3
### Patch Changes
- Don't create streaming lambdas for pages router routes ([#11660](https://github.com/vercel/vercel/pull/11660))
- Updated dependencies [[`c9d53d4e3`](https://github.com/vercel/vercel/commit/c9d53d4e3e4591b9b6bde86100564c9ee4c6d1d4), [`5f561f8cf`](https://github.com/vercel/vercel/commit/5f561f8cfa4720801a5cf4598f193ab34539abb9)]:
- @vercel/next@4.2.14
## 34.2.2
### Patch Changes
- Fix related to erroring when a prefetch route is not provided but the route is PPR enabled ([#11638](https://github.com/vercel/vercel/pull/11638))
- Updated dependencies [[`8e44ef5b9`](https://github.com/vercel/vercel/commit/8e44ef5b9d2cdbe743c7f1e3534f182465fed9bf), [`61e6af374`](https://github.com/vercel/vercel/commit/61e6af3740296c11015d0c3da84ee205020b0ea6)]:
- @vercel/next@4.2.13
## 34.2.1
### Patch Changes
- Support incremental PPR for large applications ([#11625](https://github.com/vercel/vercel/pull/11625))
- Updated dependencies [[`73e558913`](https://github.com/vercel/vercel/commit/73e558913ab30ba097d7536a12fa8a7c967479f0)]:
- @vercel/next@4.2.12
## 34.2.0
### Minor Changes
- Stop sending system environment variables in dev ([#11526](https://github.com/vercel/vercel/pull/11526))
### Patch Changes
- Updated dependencies [[`d3c1267e2`](https://github.com/vercel/vercel/commit/d3c1267e24082789ea6382cf6af81dd40df288ff), [`ccd7eb1fb`](https://github.com/vercel/vercel/commit/ccd7eb1fb78f7ac9effdbe1935de3bda82c97fe3)]:
- @vercel/build-utils@8.2.0
- @vercel/node@3.1.5
- @vercel/static-build@2.5.9
## 34.1.14
### Patch Changes
- Updated dependencies [[`ad6945435`](https://github.com/vercel/vercel/commit/ad69454352b519b2b0ed326f245c779530554bf2)]:
- @vercel/build-utils@8.1.3
- @vercel/node@3.1.4
- @vercel/static-build@2.5.8
## 34.1.13
### Patch Changes
- Updated dependencies [[`1682ad43d`](https://github.com/vercel/vercel/commit/1682ad43d0064b22b1248a7e946746b838f00076)]:
- @vercel/build-utils@8.1.2
- @vercel/node@3.1.3
- @vercel/static-build@2.5.7
## 34.1.12
### Patch Changes
- Updated dependencies [[`67afc2608`](https://github.com/vercel/vercel/commit/67afc26085e2ebdaa33a8cbce112afec4cb1c4f5), [`2f7a6ed5f`](https://github.com/vercel/vercel/commit/2f7a6ed5f92d454000f92247d3b6548e2064f4e6)]:
- @vercel/next@4.2.11
- @vercel/build-utils@8.1.1
- @vercel/node@3.1.2
- @vercel/static-build@2.5.6
## 34.1.11
### Patch Changes
- Updated dependencies [[`5014b1e82`](https://github.com/vercel/vercel/commit/5014b1e82a46181baeb727ffe6d14000b6a4b1d7), [`18d1703d5`](https://github.com/vercel/vercel/commit/18d1703d5b4f2adc61fd56011f874c393fa57d0d), [`e87d4c14d`](https://github.com/vercel/vercel/commit/e87d4c14d0e718281f9ba91c9ec1cc6e142d383d), [`bc5fd4115`](https://github.com/vercel/vercel/commit/bc5fd41158ec9f36e5db1fe749589adcbaec6950)]:
- @vercel/build-utils@8.1.0
- @vercel/next@4.2.10
- @vercel/redwood@2.0.9
- @vercel/remix-builder@2.1.6
- @vercel/node@3.1.1
- @vercel/static-build@2.5.5
## 34.1.10
### Patch Changes
- Updated dependencies [[`119f80e96`](https://github.com/vercel/vercel/commit/119f80e9611a7a5a755aa689502dcdab323194aa), [`11584b0e9`](https://github.com/vercel/vercel/commit/11584b0e9b55f312f34d0d6467ab498e472ac9df), [`3023122d4`](https://github.com/vercel/vercel/commit/3023122d4e0dd292340d9e9e61ef232baf6e610d), [`0e774b6be`](https://github.com/vercel/vercel/commit/0e774b6be0c832213a64124e1f4fc6d150e87d9f)]:
- @vercel/next@4.2.9
- @vercel/static-build@2.5.4
## 34.1.9
### Patch Changes
- Updated dependencies [[`5a532a5b9`](https://github.com/vercel/vercel/commit/5a532a5b948994ba04783ac560357eed9f94a3f3), [`50fc27ba5`](https://github.com/vercel/vercel/commit/50fc27ba5773870956300bbbaffbe387d549bc12), [`c1d852295`](https://github.com/vercel/vercel/commit/c1d85229509dd319a1f11beb940a759113564d33), [`a5ea04154`](https://github.com/vercel/vercel/commit/a5ea04154ba26ee4e635d8953aa4f0d9d82d3a96)]:
- @vercel/next@4.2.8
- @vercel/node@3.1.0
## 34.1.8
### Patch Changes
- Updated dependencies [[`52e435aa5`](https://github.com/vercel/vercel/commit/52e435aa5d7b4014d19477969ad5cbfbe94aa76f), [`124846a3e`](https://github.com/vercel/vercel/commit/124846a3e65a3bf1ae82327fd4ba2b132674fb39), [`dc974b679`](https://github.com/vercel/vercel/commit/dc974b6797de0b6e90373c92e1f2bbdafcfc6687), [`58c6755e0`](https://github.com/vercel/vercel/commit/58c6755e0c12cae2ce55978b7bf8722133151196)]:
- @vercel/next@4.2.7
- @vercel/static-build@2.5.3
## 34.1.7
### Patch Changes
- Updated dependencies [[`3420ba015`](https://github.com/vercel/vercel/commit/3420ba0153dcabffef7114ba2361fb0f3c43a7b3)]:
- @vercel/next@4.2.6
## 34.1.6
### Patch Changes
- Updated dependencies [[`b1adaf76e`](https://github.com/vercel/vercel/commit/b1adaf76ec17d1bbfe30a2bf65405bd886fa9bcf), [`3fb97d1d2`](https://github.com/vercel/vercel/commit/3fb97d1d270e835ce34a687bd234ea53dfe446a2)]:
- @vercel/next@4.2.5
- @vercel/static-build@2.5.2
## 34.1.5
### Patch Changes
- Updated dependencies [[`763a6d107`](https://github.com/vercel/vercel/commit/763a6d10709ca40405634d41863c2e524917ebe1), [`15475c8a2`](https://github.com/vercel/vercel/commit/15475c8a2c303a1dd189ba24044fac750280dd2e), [`21f5e7375`](https://github.com/vercel/vercel/commit/21f5e7375e4cb4ceed98ab56486d09a85fa3894d)]:
- @vercel/ruby@2.1.0
- @vercel/build-utils@8.0.0
- @vercel/node@3.0.28
- @vercel/static-build@2.5.1
## 34.1.4
### Patch Changes
- Updated dependencies [[`5b7960337`](https://github.com/vercel/vercel/commit/5b79603378a50fd04d5be1c3a3e5cd605b61478f)]:
- @vercel/next@4.2.4
## 34.1.3
### Patch Changes
- Updated dependencies [[`5758838d0`](https://github.com/vercel/vercel/commit/5758838d090b9789ca6821e1122781352021109f)]:
- @vercel/next@4.2.3
## 34.1.2
### Patch Changes
- Updated dependencies [[`64bd6dd05`](https://github.com/vercel/vercel/commit/64bd6dd0578d82f210b942b88baaa0673218d8b0), [`532885148`](https://github.com/vercel/vercel/commit/532885148b583700df5a120350c620af6ad34cd7), [`adcfc365a`](https://github.com/vercel/vercel/commit/adcfc365a7d375d7a70d434669e4472031693489)]:
- @vercel/next@4.2.2
- @vercel/python@4.2.0
## 34.1.1
### Patch Changes
- Updated dependencies [[`f4c181a2c`](https://github.com/vercel/vercel/commit/f4c181a2c26b11afadf78e68baf1246a27240755), [`2826563ff`](https://github.com/vercel/vercel/commit/2826563ffab7ab01d3c85def2cad8c4041cd88b1)]:
- @vercel/static-build@2.5.0
- @vercel/build-utils@7.12.0
- @vercel/node@3.0.27
## 34.1.0
### Minor Changes
- Don't propagate legacy env VERCEL_ANALYTICS_ID if @vercel/speed-insights package is detected ([#11305](https://github.com/vercel/vercel/pull/11305))
### Patch Changes
- Replace console.log that communicates to user with client.output methods ([#11353](https://github.com/vercel/vercel/pull/11353))
- [cli] Do not pipe git stderr to user during successful `vc dev` run ([#11450](https://github.com/vercel/vercel/pull/11450))
- fix: Sort default team to the top of the selection list ([#11451](https://github.com/vercel/vercel/pull/11451))
- Updated dependencies [[`993a60ef7`](https://github.com/vercel/vercel/commit/993a60ef71d137955052255066bfc096e53630a1), [`949d84ad1`](https://github.com/vercel/vercel/commit/949d84ad1cdcd4f9ea44f8a165a193a488cb1a31), [`5bb96ea07`](https://github.com/vercel/vercel/commit/5bb96ea07289e7db66d28d08b372cf949f3d7e88), [`fd8031874`](https://github.com/vercel/vercel/commit/fd8031874300552b877329ec3f0798ec6706b630)]:
- @vercel/next@4.2.1
## 34.0.0
### Major Changes
- Disables promotion of preview deployments ([#11411](https://github.com/vercel/vercel/pull/11411))
### Patch Changes
- Always set `projectSettings.nodeVersion` in `vc deploy` ([#11351](https://github.com/vercel/vercel/pull/11351))
- [cli] optional override of existing environment variables with --force ([#11348](https://github.com/vercel/vercel/pull/11348))
## 33.7.1
### Patch Changes
- fix flickering during interactive UI rerendering ([#11392](https://github.com/vercel/vercel/pull/11392))
- fix `vc ls` message to be `vc projects ls` ([#11400](https://github.com/vercel/vercel/pull/11400))
- Updated dependencies [[`2461b571a`](https://github.com/vercel/vercel/commit/2461b571af037fbfdf92299a272010a5a8f4898b)]:
- @vercel/next@4.2.0
## 33.7.0
### Minor Changes
- improve UX for text input validation ([#11388](https://github.com/vercel/vercel/pull/11388))
- Replace the implementation of the yes/no prompt in several areas to be consistent with the rest of the CLI. ([#11279](https://github.com/vercel/vercel/pull/11279))
### Patch Changes
- [cli] Fix how we determine the GIT_CONFIG_PATH to support git worktrees and git submodules ([#11283](https://github.com/vercel/vercel/pull/11283))
- avoid printing errors when user does ctrl+c ([#11377](https://github.com/vercel/vercel/pull/11377))
- Warn that promoting preview deploys is deprecated ([#11376](https://github.com/vercel/vercel/pull/11376))
- Updated dependencies [[`a3fb7e6ab`](https://github.com/vercel/vercel/commit/a3fb7e6abe9bb619a653850decd739728b1af225)]:
- @vercel/go@3.1.1
## 33.6.3
### Patch Changes
- Handle `--repo` linked in `vc deploy --prebuilt` ([#11309](https://github.com/vercel/vercel/pull/11309))
- Revert "[cli] extract `isZeroConfigBuild` into utility function (#11316)" ([#11350](https://github.com/vercel/vercel/pull/11350))
- Replace `inquirer` with `@inquirer/prompts` ([#11321](https://github.com/vercel/vercel/pull/11321))
- Updated dependencies [[`73b112b1f`](https://github.com/vercel/vercel/commit/73b112b1f74480e1bb941e1b754105fc7dace401), [`346e665bb`](https://github.com/vercel/vercel/commit/346e665bb021e6034bc70c82ef336485622595fe), [`73b112b1f`](https://github.com/vercel/vercel/commit/73b112b1f74480e1bb941e1b754105fc7dace401), [`548afd371`](https://github.com/vercel/vercel/commit/548afd371aa7a9dd3a7f4c60f7f94a7084d8023e)]:
- @vercel/go@3.1.0
- @vercel/node@3.0.26
- @vercel/build-utils@7.11.0
- @vercel/static-build@2.4.6
## 33.6.2
### Patch Changes
- Added sunset warning to secrets command. ([#11333](https://github.com/vercel/vercel/pull/11333))
- Swap jest for vitest in CLI unit tests ([#11302](https://github.com/vercel/vercel/pull/11302))
- Updated dependencies [[`988f7b75a`](https://github.com/vercel/vercel/commit/988f7b75a27387e84fce541b844f984d2c151980), [`1825b58df`](https://github.com/vercel/vercel/commit/1825b58df8d783e79f0addf262618f422246f4b3)]:
- @vercel/remix-builder@2.1.5
- @vercel/build-utils@7.10.0
- @vercel/node@3.0.25
- @vercel/static-build@2.4.5
## 33.6.1
### Patch Changes
- Don't send `projectSettings.nodeVersion` for unsupported versions ([#11277](https://github.com/vercel/vercel/pull/11277))
- Updated dependencies [[`4bca0c6d0`](https://github.com/vercel/vercel/commit/4bca0c6d0bc25052b95bd02b12a0b891c86c4b49), [`a67ad4b5a`](https://github.com/vercel/vercel/commit/a67ad4b5a130bf0e56e18111b3f9ddad69cec0e1), [`11218a179`](https://github.com/vercel/vercel/commit/11218a179870a5420c5a6ff720cd4aec4f7e1c5e), [`64b97bf4b`](https://github.com/vercel/vercel/commit/64b97bf4b5203ecf9a95f63ce26a5c3360208966)]:
- @vercel/next@4.1.6
- @vercel/remix-builder@2.1.4
- @vercel/build-utils@7.9.1
- @vercel/static-build@2.4.4
- @vercel/node@3.0.24
## 33.6.0
### Minor Changes
- Set `projectSettings.nodeVersion` in `vc deploy` based on "engines.node" field ([#11261](https://github.com/vercel/vercel/pull/11261))
### Patch Changes
- Stops warning about legacy Speed Insights for Next.js apps ([#11268](https://github.com/vercel/vercel/pull/11268))
- Fix framework version detection in monorepos ([#11212](https://github.com/vercel/vercel/pull/11212))
- Updated dependencies [[`8ea93839c`](https://github.com/vercel/vercel/commit/8ea93839ccc70816f3ece9d7cfdb857aa7a4b015), [`58ef91bfe`](https://github.com/vercel/vercel/commit/58ef91bfe8c2e7176e8783cc4eb91ee8580c70dc)]:
- @vercel/build-utils@7.9.0
- @vercel/remix-builder@2.1.3
- @vercel/node@3.0.23
- @vercel/static-build@2.4.3
## 33.5.5
### Patch Changes
- Rename variants to flags and remove legacy flags ([#11121](https://github.com/vercel/vercel/pull/11121))
- fix vc with root dir issues ([#11243](https://github.com/vercel/vercel/pull/11243))
- Updated dependencies [[`908e7837d`](https://github.com/vercel/vercel/commit/908e7837d55bc02e708f402c700e00208415e954), [`5e3656ec1`](https://github.com/vercel/vercel/commit/5e3656ec1b3f0561091636582715ba09ddd8cb2d), [`a53d1b0d3`](https://github.com/vercel/vercel/commit/a53d1b0d38efa9637f8b8f81a70898add87530e3)]:
- @vercel/build-utils@7.8.0
- @vercel/next@4.1.5
- @vercel/remix-builder@2.1.2
- @vercel/node@3.0.22
- @vercel/static-build@2.4.2
## 33.5.4
### Patch Changes

View File

@@ -7,6 +7,7 @@ module.exports = {
{
diagnostics: true,
isolatedModules: true,
tsconfig: 'test/tsconfig.json',
},
],
},

View File

@@ -1,6 +1,6 @@
{
"name": "vercel",
"version": "33.5.4",
"version": "34.2.4",
"preferGlobal": true,
"license": "Apache-2.0",
"description": "The command-line interface for Vercel",
@@ -12,7 +12,8 @@
},
"scripts": {
"test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail",
"test-unit": "pnpm test test/unit/",
"vitest-run": "vitest",
"vitest-unit": "jest test/unit/ --listTests",
"test-e2e": "rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts",
"test-dev": "pnpm test test/dev/",
"coverage": "codecov",
@@ -31,22 +32,27 @@
"node": ">= 16"
},
"dependencies": {
"@vercel/build-utils": "7.7.1",
"@vercel/build-utils": "8.2.1",
"@vercel/fun": "1.1.0",
"@vercel/go": "3.0.5",
"@vercel/go": "3.1.1",
"@vercel/hydrogen": "1.0.2",
"@vercel/next": "4.1.4",
"@vercel/node": "3.0.21",
"@vercel/python": "4.1.1",
"@vercel/redwood": "2.0.8",
"@vercel/remix-builder": "2.1.1",
"@vercel/ruby": "2.0.5",
"@vercel/static-build": "2.4.1",
"@vercel/next": "4.2.14",
"@vercel/node": "3.1.6",
"@vercel/python": "4.3.0",
"@vercel/redwood": "2.0.9",
"@vercel/remix-builder": "2.1.6",
"@vercel/ruby": "2.1.0",
"@vercel/static-build": "2.5.10",
"chokidar": "3.3.1"
},
"devDependencies": {
"@alex_neo/jest-expect-message": "1.0.5",
"@edge-runtime/node-utils": "2.3.0",
"@inquirer/checkbox": "2.2.2",
"@inquirer/confirm": "3.1.2",
"@inquirer/expand": "2.1.2",
"@inquirer/input": "2.1.2",
"@inquirer/select": "2.2.2",
"@next/env": "11.1.2",
"@sentry/node": "5.5.0",
"@sindresorhus/slugify": "0.11.0",
@@ -63,7 +69,6 @@
"@types/glob": "7.1.1",
"@types/http-proxy": "1.16.2",
"@types/ini": "1.3.31",
"@types/inquirer": "7.3.1",
"@types/jest": "27.4.1",
"@types/jest-expect-message": "1.0.3",
"@types/json-parse-better-errors": "1.0.0",
@@ -79,7 +84,6 @@
"@types/qs": "6.9.7",
"@types/semver": "6.0.1",
"@types/tar-fs": "1.16.1",
"@types/text-table": "0.2.0",
"@types/title": "3.4.1",
"@types/universal-analytics": "0.4.2",
"@types/update-notifier": "5.1.0",
@@ -88,12 +92,13 @@
"@types/yauzl-promise": "2.1.0",
"@vercel-internals/constants": "1.0.4",
"@vercel-internals/get-package-json": "1.0.0",
"@vercel-internals/types": "1.0.24",
"@vercel/client": "13.1.4",
"@vercel-internals/types": "1.0.37",
"@vercel/client": "13.2.8",
"@vercel/error-utils": "2.0.2",
"@vercel/frameworks": "3.0.0",
"@vercel/fs-detectors": "5.2.1",
"@vercel/frameworks": "3.0.2",
"@vercel/fs-detectors": "5.2.3",
"@vercel/routing-utils": "3.1.0",
"@vitest/expect": "1.4.0",
"ajv": "6.12.2",
"alpha-sort": "2.0.1",
"ansi-escapes": "4.3.2",
@@ -126,7 +131,6 @@
"glob": "7.1.2",
"http-proxy": "1.18.1",
"ini": "3.0.0",
"inquirer": "7.0.4",
"is-docker": "2.2.1",
"is-port-reachable": "3.1.0",
"is-url": "1.2.2",
@@ -158,13 +162,14 @@
"strip-ansi": "6.0.1",
"supports-hyperlinks": "3.0.0",
"tar-fs": "1.16.3",
"text-table": "0.2.0",
"title": "3.4.1",
"tmp-promise": "1.0.3",
"tree-kill": "1.2.2",
"ts-node": "10.9.1",
"universal-analytics": "0.4.20",
"utility-types": "2.1.0",
"vite": "5.1.6",
"vitest": "1.3.1",
"which": "3.0.0",
"write-json-file": "2.2.0",
"xdg-app-paths": "5.1.0",

View File

@@ -52,29 +52,27 @@ export const aliasCommand: Command = {
name: 'next',
description: 'Show next page of results',
argument: 'MS',
shorthand: 'n',
type: 'string',
shorthand: 'N',
type: String,
deprecated: false,
multi: false,
},
{
name: 'yes',
description: 'Skip the confirmation prompt when removing an alias',
shorthand: 'y',
type: 'boolean',
type: Boolean,
deprecated: false,
multi: false,
},
{
name: 'limit',
shorthand: 'n',
shorthand: null,
description:
'Number of results to return per page (default: 20, max: 100)',
argument: 'NUMBER',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{ name: 'json', shorthand: null, type: Boolean, deprecated: false },
],
examples: [
{

View File

@@ -1,12 +1,13 @@
import { handleError } from '../../util/error';
import Client from '../../util/client';
import getArgs from '../../util/get-args';
import { parseArguments } from '../../util/get-args';
import getSubcommand from '../../util/get-subcommand';
import { help } from '../help';
import ls from './ls';
import rm from './rm';
import set from './set';
import { aliasCommand } from './command';
import { getFlagsSpecification } from '../../util/get-flags-specification';
const COMMAND_CONFIG = {
default: ['set'],
@@ -16,35 +17,33 @@ const COMMAND_CONFIG = {
};
export default async function alias(client: Client) {
let argv;
let parsedArguments;
const flagsSpecification = getFlagsSpecification(aliasCommand.options);
try {
argv = getArgs(client.argv.slice(2), {
'--json': Boolean,
'--yes': Boolean,
'--next': Number,
'--limit': Number,
'-y': '--yes',
'-N': '--next',
});
parsedArguments = parseArguments(client.argv.slice(2), flagsSpecification);
} catch (err) {
handleError(err);
return 1;
}
if (argv['--help']) {
if (parsedArguments.flags['--help']) {
client.output.print(help(aliasCommand, { columns: client.stderr.columns }));
return 2;
}
const { subcommand, args } = getSubcommand(argv._.slice(1), COMMAND_CONFIG);
const { subcommand, args } = getSubcommand(
parsedArguments.args.slice(1),
COMMAND_CONFIG
);
switch (subcommand) {
case 'ls':
return ls(client, argv, args);
return ls(client, parsedArguments.flags, args);
case 'rm':
return rm(client, argv, args);
return rm(client, parsedArguments.flags, args);
default:
return set(client, argv, args);
return set(client, parsedArguments.flags, args);
}
}

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk';
import ms from 'ms';
import table from 'text-table';
import table from '../../util/output/table';
import Client from '../../util/client';
import getAliases from '../../util/alias/get-aliases';
import getScope from '../../util/get-scope';
@@ -9,7 +9,6 @@ import {
getPaginationOpts,
} from '../../util/get-pagination-opts';
import stamp from '../../util/output/stamp';
import strlen from '../../util/strlen';
import getCommandFlags from '../../util/get-command-flags';
import { getCommandName } from '../../util/pkg-name';
import type { Alias } from '@vercel-internals/types';
@@ -78,10 +77,6 @@ function printAliasTable(aliases: Alias[]) {
ms(Date.now() - a.createdAt),
]),
],
{
align: ['l', 'l', 'r'],
hsep: ' '.repeat(4),
stringLength: strlen,
}
{ align: ['l', 'l', 'r'], hsep: 4 }
).replace(/^/gm, ' ')}\n\n`;
}

View File

@@ -1,11 +1,10 @@
import chalk from 'chalk';
import ms from 'ms';
import table from 'text-table';
import table from '../../util/output/table';
import Client from '../../util/client';
import getScope from '../../util/get-scope';
import removeAliasById from '../../util/alias/remove-alias-by-id';
import stamp from '../../util/output/stamp';
import strlen from '../../util/strlen';
import confirm from '../../util/input/confirm';
import findAliasByAliasOrId from '../../util/alias/find-alias-by-alias-or-id';
@@ -64,11 +63,7 @@ export default async function rm(
}
await removeAliasById(client, alias.uid);
console.log(
`${chalk.cyan('> Success!')} Alias ${chalk.bold(
alias.alias
)} removed ${removeStamp()}`
);
output.success(`Alias ${chalk.bold(alias.alias)} removed ${removeStamp()}`);
return 0;
}
@@ -84,11 +79,7 @@ async function confirmAliasRemove(client: Client, alias: Alias) {
chalk.gray(`${ms(Date.now() - alias.createdAt)} ago`),
],
],
{
align: ['l', 'l', 'r'],
hsep: ' '.repeat(4),
stringLength: strlen,
}
{ hsep: 4 }
);
client.output.log(`The following alias will be removed permanently`);

View File

@@ -123,8 +123,8 @@ export default async function set(
return 1;
}
console.log(
`${chalk.cyan('> Success!')} ${chalk.bold(
output.success(
`${chalk.bold(
`${isWildcardAlias(target) ? '' : 'https://'}${handleResult.alias}`
)} now points to https://${deployment.url} ${setStamp()}`
);
@@ -170,10 +170,10 @@ export default async function set(
const prefix = isWildcard ? '' : 'https://';
console.log(
`${chalk.cyan('> Success!')} ${chalk.bold(
`${prefix}${handleResult.alias}`
)} now points to https://${deployment.url} ${setStamp()}`
output.success(
`${chalk.bold(`${prefix}${handleResult.alias}`)} now points to https://${
deployment.url
} ${setStamp()}`
);
return 0;

View File

@@ -11,45 +11,40 @@ export const bisectCommand: Command = {
description: 'Known bad URL',
argument: 'URL',
shorthand: 'b',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'good',
description: 'Known good URL',
argument: 'URL',
shorthand: 'g',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'open',
description: 'Automatically open each URL in the browser',
argument: 'URL',
shorthand: 'o',
type: 'string',
type: Boolean,
deprecated: false,
multi: false,
},
{
name: 'path',
description: 'Subpath of the deployment URL to test',
argument: 'URL',
shorthand: 'p',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'run',
description: 'Test script to run for each deployment',
argument: 'URL',
shorthand: 'r',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
],
examples: [

View File

@@ -8,7 +8,7 @@ import { URLSearchParams, parse } from 'url';
import box from '../../util/output/box';
import formatDate from '../../util/format-date';
import link from '../../util/output/link';
import getArgs from '../../util/get-args';
import { parseArguments } from '../../util/get-args';
import Client from '../../util/client';
import { Deployment } from '@vercel-internals/types';
import { normalizeURL } from '../../util/bisect/normalize-url';
@@ -16,6 +16,8 @@ import getScope from '../../util/get-scope';
import getDeployment from '../../util/get-deployment';
import { help } from '../help';
import { bisectCommand } from './command';
import { getFlagsSpecification } from '../../util/get-flags-specification';
import handleError from '../../util/handle-error';
interface Deployments {
deployments: Deployment[];
@@ -25,33 +27,37 @@ export default async function bisect(client: Client): Promise<number> {
const scope = await getScope(client);
const { contextName } = scope;
const argv = getArgs(client.argv.slice(2), {
'--bad': String,
'-b': '--bad',
'--good': String,
'-g': '--good',
'--open': Boolean,
'-o': '--open',
'--path': String,
'-p': '--path',
'--run': String,
'-r': '--run',
});
let parsedArgs = null;
if (argv['--help']) {
const flagsSpecification = getFlagsSpecification(bisectCommand.options);
try {
parsedArgs = parseArguments(client.argv.slice(2), flagsSpecification);
} catch (error) {
handleError(error);
return 1;
}
if (parsedArgs.flags['--help']) {
output.print(help(bisectCommand, { columns: client.stderr.columns }));
return 2;
}
let bad =
argv['--bad'] ||
(await prompt(client, `Specify a URL where the bug occurs:`));
parsedArgs.flags['--bad'] ||
(await client.input.text({
message: `Specify a URL where the bug occurs:`,
validate: val => (val ? true : 'A URL must be provided'),
}));
let good =
argv['--good'] ||
(await prompt(client, `Specify a URL where the bug does not occur:`));
let subpath = argv['--path'] || '';
let run = argv['--run'] || '';
const openEnabled = argv['--open'] || false;
parsedArgs.flags['--good'] ||
(await client.input.text({
message: `Specify a URL where the bug does not occur:`,
validate: val => (val ? true : 'A URL must be provided'),
}));
let subpath = parsedArgs.flags['--path'] || '';
let run = parsedArgs.flags['--run'] || '';
const openEnabled = parsedArgs.flags['--open'] || false;
if (run) {
run = resolve(run);
@@ -97,10 +103,10 @@ export default async function bisect(client: Client): Promise<number> {
}
if (!subpath) {
subpath = await prompt(
client,
`Specify the URL subpath where the bug occurs:`
);
subpath = await client.input.text({
message: `Specify the URL subpath where the bug occurs:`,
validate: val => (val ? true : 'A subpath must be provided'),
});
}
output.spinner('Retrieving deployments…');
@@ -278,9 +284,7 @@ export default async function bisect(client: Client): Promise<number> {
if (openEnabled) {
await open(testUrl);
}
const answer = await client.prompt({
type: 'expand',
name: 'action',
action = await client.input.expand({
message: 'Select an action:',
choices: [
{ key: 'g', name: 'Good', value: 'good' },
@@ -288,7 +292,6 @@ export default async function bisect(client: Client): Promise<number> {
{ key: 's', name: 'Skip', value: 'skip' },
],
});
action = answer.action;
}
if (action === 'good') {
@@ -338,19 +341,3 @@ function getCommit(deployment: Deployment) {
deployment.meta?.bitbucketCommitMessage;
return { sha, message };
}
async function prompt(client: Client, message: string): Promise<string> {
// eslint-disable-next-line no-constant-condition
while (true) {
const { val } = await client.prompt({
type: 'input',
name: 'val',
message,
});
if (val) {
return val;
} else {
client.output.error('A value must be specified');
}
}
}

View File

@@ -10,27 +10,24 @@ export const buildCommand: Command = {
name: 'prod',
description: 'Build a production deployment',
shorthand: null,
type: 'string',
type: Boolean,
deprecated: false,
multi: false,
},
{
name: 'output',
description: 'Directory where built assets should be written to',
shorthand: null,
argument: 'PATH',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'yes',
description:
'Skip the confirmation prompt about pulling environment variables and project settings when not found locally',
shorthand: 'y',
type: 'boolean',
type: Boolean,
deprecated: false,
multi: false,
},
],
examples: [

View File

@@ -1,10 +1,10 @@
import fs, { readJSON } from 'fs-extra';
import fs from 'fs-extra';
import chalk from 'chalk';
import dotenv from 'dotenv';
import semver from 'semver';
import minimatch from 'minimatch';
import { join, normalize, relative, resolve, sep } from 'path';
import frameworks from '@vercel/frameworks';
import { frameworkList } from '@vercel/frameworks';
import {
getDiscontinuedNodeVersions,
normalizePath,
@@ -21,8 +21,8 @@ import {
NowBuildError,
Cron,
validateNpmrc,
Flag,
VariantDefinition,
type FlagDefinitions,
getInstalledPackageVersion,
} from '@vercel/build-utils';
import {
detectBuilders,
@@ -43,7 +43,7 @@ import type { VercelConfig } from '@vercel/client';
import pull from '../pull';
import { staticFiles as getFiles } from '../../util/get-files';
import Client from '../../util/client';
import getArgs from '../../util/get-args';
import { parseArguments } from '../../util/get-args';
import cmd from '../../util/output/cmd';
import * as cli from '../../util/pkg-name';
import cliPkg from '../../util/pkg';
@@ -66,13 +66,13 @@ import {
import { importBuilders } from '../../util/build/import-builders';
import { initCorepack, cleanupCorepack } from '../../util/build/corepack';
import { sortBuilders } from '../../util/build/sort-builders';
import { toEnumerableError } from '../../util/error';
import { handleError, toEnumerableError } from '../../util/error';
import { validateConfig } from '../../util/validate-config';
import { setMonorepoDefaultSettings } from '../../util/build/monorepo';
import { help } from '../help';
import { buildCommand } from './command';
import { scrubArgv } from '../../util/build/scrub-argv';
import { cwd } from 'process';
import { getFlagsSpecification } from '../../util/get-flags-specification';
type BuildResult = BuildResultV2 | BuildResultV3;
@@ -96,9 +96,6 @@ interface BuildOutputConfig {
version: string;
};
crons?: Cron[];
/** @deprecated Replaced by Variants. Remove once fully replaced. */
flags?: Flag[];
variants?: Record<string, VariantDefinition>;
}
/**
@@ -137,22 +134,26 @@ export default async function main(client: Client): Promise<number> {
process.env.__VERCEL_BUILD_RUNNING = '1';
}
// Parse CLI args
const argv = getArgs(client.argv.slice(2), {
'--output': String,
'--prod': Boolean,
'--yes': Boolean,
'-y': '--yes',
});
let parsedArgs = null;
if (argv['--help']) {
const flagsSpecification = getFlagsSpecification(buildCommand.options);
// Parse CLI args
try {
parsedArgs = parseArguments(client.argv.slice(2), flagsSpecification);
} catch (error) {
handleError(error);
return 1;
}
if (parsedArgs.flags['--help']) {
output.print(help(buildCommand, { columns: client.stderr.columns }));
return 2;
}
// Build `target` influences which environment variables will be used
const target = argv['--prod'] ? 'production' : 'preview';
const yes = Boolean(argv['--yes']);
const target = parsedArgs.flags['--prod'] ? 'production' : 'preview';
const yes = Boolean(parsedArgs.flags['--yes']);
try {
await validateNpmrc(cwd);
@@ -217,8 +218,8 @@ export default async function main(client: Client): Promise<number> {
// Delete output directory from potential previous build
const defaultOutputDir = join(cwd, projectRootDirectory, OUTPUT_DIR);
const outputDir = argv['--output']
? resolve(argv['--output'])
const outputDir = parsedArgs.flags['--output']
? resolve(parsedArgs.flags['--output'])
: defaultOutputDir;
await Promise.all([
fs.remove(outputDir),
@@ -257,13 +258,13 @@ export default async function main(client: Client): Promise<number> {
output.debug(`Loaded environment variables from "${envPath}"`);
}
// For Vercel Legacy speed Insights support
// For legacy Speed Insights
if (project.settings.analyticsId) {
// we pass the env down to the builder
// inside the builder we decide if we want to keep it or not
envToUnset.add('VERCEL_ANALYTICS_ID');
process.env.VERCEL_ANALYTICS_ID = project.settings.analyticsId;
output.warn(
'Vercel Speed Insights auto-injection is deprecated in favor of @vercel/speed-insights package. Learn more: https://vercel.link/upgrate-to-speed-insights-package'
);
}
// Some build processes use these env vars to platform detect Vercel
@@ -393,9 +394,7 @@ async function doBuild(
}
for (const w of detectedBuilders.warnings) {
console.log(
`Warning: ${w.message} ${w.action || 'Learn More'}: ${w.link}`
);
output.warn(w.message, null, w.link, w.action || 'Learn More');
}
if (detectedBuilders.builders) {
@@ -476,7 +475,7 @@ async function doBuild(
const buildResults: Map<Builder, BuildResult | BuildOutputConfig> = new Map();
const overrides: PathOverride[] = [];
const repoRootPath = cwd;
const corepackShimDir = await initCorepack({ repoRootPath });
const corepackShimDir = await initCorepack({ repoRootPath }, output);
for (const build of sortedBuilders) {
if (typeof build.src !== 'string') continue;
@@ -593,8 +592,7 @@ async function doBuild(
}
let needBuildsJsonOverride = false;
const speedInsightsVersion = await readInstalledVersion(
client,
const speedInsightsVersion = await getInstalledPackageVersion(
'@vercel/speed-insights'
);
if (speedInsightsVersion) {
@@ -604,8 +602,7 @@ async function doBuild(
};
needBuildsJsonOverride = true;
}
const webAnalyticsVersion = await readInstalledVersion(
client,
const webAnalyticsVersion = await getInstalledPackageVersion(
'@vercel/analytics'
);
if (webAnalyticsVersion) {
@@ -667,9 +664,8 @@ async function doBuild(
const mergedWildcard = mergeWildcard(buildResults.values());
const mergedOverrides: Record<string, PathOverride> =
overrides.length > 0 ? Object.assign({}, ...overrides) : undefined;
const mergedFlags = mergeFlags(buildResults.values());
const framework = await getFramework(cwd, buildResults);
const framework = await getFramework(workPath, buildResults);
// Write out the final `config.json` file based on the
// user configuration and Builder build results
@@ -681,12 +677,10 @@ async function doBuild(
overrides: mergedOverrides,
framework,
crons: mergedCrons,
/** @deprecated Replaced by Variants. Remove once fully replaced. */
flags: mergedFlags,
};
await fs.writeJSON(join(outputDir, 'config.json'), config, { spaces: 2 });
await writeVariantsJson(client, buildResults.values(), outputDir);
await writeFlagsJSON(client, buildResults.values(), outputDir);
const relOutputDir = relative(cwd, outputDir);
output.print(
@@ -705,7 +699,7 @@ async function getFramework(
): Promise<{ version: string } | undefined> {
const detectedFramework = await detectFrameworkRecord({
fs: new LocalFileSystemDetector(cwd),
frameworkList: frameworks,
frameworkList,
});
if (!detectedFramework) {
@@ -820,81 +814,54 @@ function mergeWildcard(
return wildcard;
}
function mergeFlags(
buildResults: Iterable<BuildResult | BuildOutputConfig>
): BuildResultV2Typical['flags'] {
return Array.from(buildResults).flatMap(result => {
if ('flags' in result) {
return result.flags ?? [];
}
return [];
});
}
/**
* Takes the build output and writes all the variants into the `variants.json`
* file. It'll skip variants that already exist.
* Takes the build output and writes all the flags into the `flags.json`
* file. It'll skip flags that already exist.
*/
async function writeVariantsJson(
async function writeFlagsJSON(
{ output }: Client,
buildResults: Iterable<BuildResult | BuildOutputConfig>,
outputDir: string
): Promise<void> {
const variantsFilePath = join(outputDir, 'variants.json');
const flagsFilePath = join(outputDir, 'flags.json');
let hasVariants = true;
let hasFlags = true;
const variants = (await fs.readJSON(variantsFilePath).catch(error => {
const flags = (await fs.readJSON(flagsFilePath).catch(error => {
if (error.code === 'ENOENT') {
hasVariants = false;
hasFlags = false;
return { definitions: {} };
}
throw error;
})) as { definitions: Record<string, VariantDefinition> };
})) as { definitions: FlagDefinitions };
for (const result of buildResults) {
if (!('variants' in result) || !result.variants) continue;
if (!('flags' in result) || !result.flags || !result.flags.definitions)
continue;
for (const [key, defintion] of Object.entries(result.variants)) {
if (result.variants[key]) {
for (const [key, definition] of Object.entries(result.flags.definitions)) {
if (result.flags.definitions[key]) {
output.warn(
`The variant "${key}" was found multiple times. Only its first occurrence will be considered.`
`The flag "${key}" was found multiple times. Only its first occurrence will be considered.`
);
continue;
}
hasVariants = true;
variants.definitions[key] = defintion;
hasFlags = true;
flags.definitions[key] = definition;
}
}
// Only create the file when there are variants to write,
// Only create the file when there are flags to write,
// or when the file already exists.
if (hasVariants) {
await fs.writeJSON(variantsFilePath, variants, { spaces: 2 });
// Checking `definitions` alone won't be enough in case there
// are other properties set.
if (hasFlags) {
await fs.writeJSON(flagsFilePath, flags, { spaces: 2 });
}
}
async function writeBuildJson(buildsJson: BuildsManifest, outputDir: string) {
await fs.writeJSON(join(outputDir, 'builds.json'), buildsJson, { spaces: 2 });
}
export async function readInstalledVersion(
{ output }: Client,
pkgName: string
): Promise<string | undefined> {
try {
const descriptorPath = require.resolve(`${pkgName}/package.json`, {
paths: [cwd()],
});
const descriptor = await readJSON(descriptorPath);
return descriptor?.version;
} catch (err) {
output.debug(
`Package ${pkgName} is not installed (failed to read its package.json: ${err})`
);
}
return;
}

View File

@@ -49,36 +49,32 @@ export const certsCommand: Command = {
name: 'challenge-only',
description: 'Only show challenges needed to issue a cert',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'crt',
description: 'Certificate file',
argument: 'FILE',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'key',
description: 'Certificate key file',
argument: 'FILE',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'ca',
description: 'CA certificate chain file',
argument: 'FILE',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'limit',
@@ -86,17 +82,15 @@ export const certsCommand: Command = {
'Number of results to return per page (default: 20, max: 100)',
argument: 'VALUE',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'next',
description: 'Show next page of results',
shorthand: 'n',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
],
examples: [

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk';
import ms from 'ms';
import table from 'text-table';
import table from '../../util/output/table';
import Client from '../../util/client';
import getScope from '../../util/get-scope';
import {
@@ -9,7 +9,6 @@ import {
} from '../../util/get-pagination-opts';
import stamp from '../../util/output/stamp';
import getCerts from '../../util/certs/get-certs';
import strlen from '../../util/strlen';
import type { Cert } from '@vercel-internals/types';
import getCommandFlags from '../../util/get-command-flags';
import { getCommandName } from '../../util/pkg-name';
@@ -70,11 +69,7 @@ async function ls(
function formatCertsTable(certsList: Cert[]) {
return `${table(
[formatCertsTableHead(), ...formatCertsTableBody(certsList)],
{
align: ['l', 'l', 'r', 'c', 'r'],
hsep: ' '.repeat(2),
stringLength: strlen,
}
{ align: ['l', 'l', 'r', 'c', 'r'], hsep: 2 }
).replace(/^(.*)/gm, ' $1')}\n`;
}

View File

@@ -1,7 +1,7 @@
import chalk from 'chalk';
import ms from 'ms';
import plural from 'pluralize';
import table from 'text-table';
import table from '../../util/output/table';
import type { Cert } from '@vercel-internals/types';
import * as ERRORS from '../../util/errors-ts';
import { Output } from '../../util/output';
@@ -98,11 +98,11 @@ function readConfirmation(output: Output, msg: string, certs: Cert[]) {
output.print(
`${table(certs.map(formatCertRow), {
align: ['l', 'r', 'l'],
hsep: ' '.repeat(6),
hsep: 6,
}).replace(/^(.*)/gm, ' $1')}\n`
);
output.print(
`${chalk.bold.red('> Are you sure?')} ${chalk.gray('[y/N] ')}`
`${chalk.bold.red('> Are you sure?')} ${chalk.gray('(y/N) ')}`
);
process.stdin
.on('data', d => {

View File

@@ -14,147 +14,130 @@ export const deployCommand: Command = {
{
name: 'force',
shorthand: 'f',
type: 'boolean',
type: Boolean,
deprecated: false,
description: 'Force a new deployment even if nothing has changed',
multi: false,
},
{
name: 'with-cache',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: false,
description: 'Retain build cache when using "--force"',
multi: false,
},
{
name: 'public',
shorthand: 'p',
type: 'boolean',
type: Boolean,
deprecated: false,
description: 'Deployment is public (`/_src`) is exposed)',
multi: false,
},
{
name: 'env',
shorthand: 'e',
type: 'string',
type: [String],
argument: 'key=value',
deprecated: false,
multi: true,
description:
'Specify environment variables during run-time (e.g. `-e KEY1=value1 -e KEY2=value2`)',
},
{
name: 'build-env',
shorthand: 'b',
type: 'string',
type: [String],
argument: 'key=value',
deprecated: false,
multi: true,
description:
'Specify environment variables during build-time (e.g. `-b KEY1=value1 -b KEY2=value2`)',
},
{
name: 'meta',
shorthand: 'm',
type: 'string',
type: [String],
argument: 'key=value',
deprecated: false,
multi: true,
description:
'Specify metadata for the deployment (e.g. `-m KEY1=value1 -m KEY2=value2`)',
},
{
name: 'regions',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
description: 'Set default regions to enable the deployment on',
multi: false,
},
{
name: 'prebuilt',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: false,
description:
'Use in combination with `vc build`. Deploy an existing build',
multi: false,
},
{
name: 'prod',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: false,
description: 'Create a production deployment',
multi: false,
},
{
name: 'archive',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
description:
'Compress the deployment code into a file before uploading it',
multi: false,
},
{
name: 'no-wait',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: false,
description: "Don't wait for the deployment to finish",
multi: false,
},
{
name: 'skip-domain',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: false,
description:
'Disable the automatic promotion (aliasing) of the relevant domains to a new production deployment. You can use `vc promote` to complete the domain-assignment process later',
multi: false,
},
{
name: 'yes',
shorthand: 'y',
type: 'boolean',
type: Boolean,
deprecated: false,
description: 'Use default options to skip all prompts',
multi: false,
},
{
name: 'name',
shorthand: 'n',
type: 'string',
type: String,
deprecated: true,
description: 'Provide a Vercel Project name',
multi: false,
},
{
name: 'no-clipboard',
shorthand: null,
type: 'boolean',
type: Boolean,
deprecated: true,
description: 'Do not copy deployment URL to clipboard',
multi: false,
},
{
name: 'target',
shorthand: null,
type: 'string',
type: String,
deprecated: true,
description: 'Specify the target deployment environment',
multi: false,
},
{
name: 'confirm',
shorthand: 'c',
type: 'boolean',
type: Boolean,
deprecated: true,
description: 'Use default options to skip all prompts',
multi: false,
},
],
examples: [

View File

@@ -1,129 +1,114 @@
import ms from 'ms';
import fs from 'fs-extra';
import bytes from 'bytes';
import chalk from 'chalk';
import { join, resolve } from 'path';
import {
getPrettyError,
getSupportedNodeVersion,
scanParentDirs,
} from '@vercel/build-utils';
import {
fileNameSymbol,
VALID_ARCHIVE_FORMATS,
VercelConfig,
} from '@vercel/client';
import code from '../../util/output/code';
import highlight from '../../util/output/highlight';
import { readLocalConfig } from '../../util/config/files';
import getArgs from '../../util/get-args';
import { handleError } from '../../util/error';
import Client from '../../util/client';
import { getPrettyError } from '@vercel/build-utils';
import toHumanPath from '../../util/humanize-path';
import { errorToString, isErrnoException, isError } from '@vercel/error-utils';
import bytes from 'bytes';
import chalk from 'chalk';
import fs from 'fs-extra';
import ms from 'ms';
import { join, resolve } from 'path';
import Now, { CreateOptions } from '../../util';
import stamp from '../../util/output/stamp';
import Client from '../../util/client';
import { readLocalConfig } from '../../util/config/files';
import { createGitMeta } from '../../util/create-git-meta';
import createDeploy from '../../util/deploy/create-deploy';
import getDeployment from '../../util/get-deployment';
import parseMeta from '../../util/parse-meta';
import param from '../../util/output/param';
import { getDeploymentChecks } from '../../util/deploy/get-deployment-checks';
import getPrebuiltJson from '../../util/deploy/get-prebuilt-json';
import parseTarget from '../../util/deploy/parse-target';
import { printDeploymentStatus } from '../../util/deploy/print-deployment-status';
import { isValidArchive } from '../../util/deploy/validate-archive-format';
import purchaseDomainIfAvailable from '../../util/domains/purchase-domain-if-available';
import { emoji, prependEmoji } from '../../util/emoji';
import { handleError } from '../../util/error';
import { SchemaValidationFailed } from '../../util/errors';
import {
AliasDomainConfigured,
BuildError,
BuildsRateLimited,
ConflictingFilePath,
ConflictingPathSegment,
DeploymentNotFound,
DeploymentsRateLimited,
DomainNotFound,
DomainNotVerified,
DomainPermissionDenied,
DomainVerificationFailed,
InvalidDomain,
isAPIError,
MissingBuildScript,
NotDomainOwner,
TooManyRequests,
UserAborted,
DeploymentsRateLimited,
AliasDomainConfigured,
MissingBuildScript,
ConflictingFilePath,
ConflictingPathSegment,
BuildError,
NotDomainOwner,
isAPIError,
} from '../../util/errors-ts';
import { SchemaValidationFailed } from '../../util/errors';
import purchaseDomainIfAvailable from '../../util/domains/purchase-domain-if-available';
import { parseArguments } from '../../util/get-args';
import getDeployment from '../../util/get-deployment';
import { getFlagsSpecification } from '../../util/get-flags-specification';
import getProjectName from '../../util/get-project-name';
import toHumanPath from '../../util/humanize-path';
import confirm from '../../util/input/confirm';
import editProjectSettings from '../../util/input/edit-project-settings';
import inputProject from '../../util/input/input-project';
import { inputRootDirectory } from '../../util/input/input-root-directory';
import selectOrg from '../../util/input/select-org';
import { Output } from '../../util/output';
import code from '../../util/output/code';
import highlight from '../../util/output/highlight';
import param from '../../util/output/param';
import stamp from '../../util/output/stamp';
import { parseEnv } from '../../util/parse-env';
import parseMeta from '../../util/parse-meta';
import { getCommandName } from '../../util/pkg-name';
import {
getLinkedProject,
linkFolderToProject,
} from '../../util/projects/link';
import getProjectName from '../../util/get-project-name';
import selectOrg from '../../util/input/select-org';
import inputProject from '../../util/input/input-project';
import { prependEmoji, emoji } from '../../util/emoji';
import { inputRootDirectory } from '../../util/input/input-root-directory';
import { pickOverrides } from '../../util/projects/project-settings';
import validatePaths, {
validateRootDirectory,
} from '../../util/validate-paths';
import { getCommandName } from '../../util/pkg-name';
import { Output } from '../../util/output';
import { getDeploymentChecks } from '../../util/deploy/get-deployment-checks';
import parseTarget from '../../util/deploy/parse-target';
import getPrebuiltJson from '../../util/deploy/get-prebuilt-json';
import { createGitMeta } from '../../util/create-git-meta';
import { isValidArchive } from '../../util/deploy/validate-archive-format';
import { parseEnv } from '../../util/parse-env';
import { errorToString, isErrnoException, isError } from '@vercel/error-utils';
import { pickOverrides } from '../../util/projects/project-settings';
import { printDeploymentStatus } from '../../util/deploy/print-deployment-status';
import { help } from '../help';
import { deployCommand } from './command';
export default async (client: Client): Promise<number> => {
const { output } = client;
let argv = null;
let parsedArguments = null;
const argOptions: {
[k: string]:
| BooleanConstructor
| StringConstructor
| string
| [StringConstructor];
} = {};
for (const option of deployCommand.options) {
argOptions[`--${option.name}`] =
option.type === 'boolean' ? Boolean : String;
if (option.shorthand) {
argOptions[`-${option.shorthand}`] = `--${option.name}`;
}
if (
option.name === 'env' ||
option.name === 'build-env' ||
option.name === 'meta'
) {
argOptions[`--${option.name}`] = [String];
}
}
const flagsSpecification = getFlagsSpecification(deployCommand.options);
try {
argv = getArgs(client.argv.slice(2), argOptions);
parsedArguments = parseArguments(client.argv.slice(2), flagsSpecification);
if ('--confirm' in argv) {
if ('--confirm' in parsedArguments.flags) {
output.warn('`--confirm` is deprecated, please use `--yes` instead');
argv['--yes'] = argv['--confirm'];
parsedArguments.flags['--yes'] = parsedArguments.flags['--confirm'];
}
} catch (error) {
handleError(error);
return 1;
}
if (argv['--help']) {
if (parsedArguments.flags['--help']) {
output.print(help(deployCommand, { columns: client.stderr.columns }));
return 2;
}
if (argv._[0] === 'deploy') {
argv._.shift();
if (parsedArguments.args[0] === 'deploy') {
parsedArguments.args.shift();
}
let paths;
if (argv._.length > 0) {
if (parsedArguments.args.length > 0) {
// If path is relative: resolve
// if path is absolute: clear up strange `/` etc
paths = argv._.map(item => resolve(client.cwd, item));
paths = parsedArguments.args.map(item => resolve(client.cwd, item));
} else {
paths = [client.cwd];
}
@@ -165,10 +150,10 @@ export default async (client: Client): Promise<number> => {
const quiet = !client.stdout.isTTY;
let { path: cwd } = pathValidation;
const autoConfirm = argv['--yes'];
const autoConfirm = parsedArguments.flags['--yes'];
// deprecate --name
if (argv['--name']) {
if (parsedArguments.flags['--name']) {
output.print(
`${prependEmoji(
`The ${param(
@@ -179,7 +164,7 @@ export default async (client: Client): Promise<number> => {
);
}
if (argv['--no-clipboard']) {
if (parsedArguments.flags['--no-clipboard']) {
output.print(
`${prependEmoji(
`The ${param(
@@ -191,12 +176,16 @@ export default async (client: Client): Promise<number> => {
}
// build `target`
const target = parseTarget(output, argv['--target'], argv['--prod']);
const target = parseTarget(
output,
parsedArguments.flags['--target'],
parsedArguments.flags['--prod']
);
if (typeof target === 'number') {
return target;
}
const archive = argv['--archive'];
const archive = parsedArguments.flags['--archive'];
if (typeof archive === 'string' && !isValidArchive(archive)) {
output.error(`Format must be one of: ${VALID_ARCHIVE_FORMATS.join(', ')}`);
return 1;
@@ -253,7 +242,7 @@ export default async (client: Client): Promise<number> => {
// will be deprecated and can be replaced with
// user input.
const detectedProjectName = getProjectName({
argv,
argv: parsedArguments.flags,
nowConfig: localConfig,
paths,
});
@@ -299,7 +288,10 @@ export default async (client: Client): Promise<number> => {
}
// build `--prebuilt`
if (argv['--prebuilt']) {
let vercelOutputDir: string | undefined;
if (parsedArguments.flags['--prebuilt']) {
vercelOutputDir = join(cwd, '.vercel/output');
// For repo-style linking, update `cwd` to be the Project
// subdirectory when `rootDirectory` setting is defined
if (
@@ -307,10 +299,10 @@ export default async (client: Client): Promise<number> => {
link.repoRoot &&
link.project.rootDirectory
) {
cwd = join(cwd, link.project.rootDirectory);
vercelOutputDir = join(cwd, link.project.rootDirectory, '.vercel/output');
}
const prebuiltExists = await fs.pathExists(join(cwd, '.vercel/output'));
const prebuiltExists = await fs.pathExists(vercelOutputDir);
if (!prebuiltExists) {
error(
`The ${param(
@@ -322,7 +314,7 @@ export default async (client: Client): Promise<number> => {
return 1;
}
const prebuiltBuild = await getPrebuiltJson(cwd);
const prebuiltBuild = await getPrebuiltJson(vercelOutputDir);
// Ensure that there was not a build error
const prebuiltError =
@@ -460,7 +452,7 @@ export default async (client: Client): Promise<number> => {
const meta = Object.assign(
{},
parseMeta(localConfig.meta),
parseMeta(argv['--meta'])
parseMeta(parsedArguments.flags['--meta'])
);
const gitMetadata = await createGitMeta(cwd, output, project);
@@ -469,14 +461,14 @@ export default async (client: Client): Promise<number> => {
const deploymentEnv = Object.assign(
{},
parseEnv(localConfig.env),
parseEnv(argv['--env'])
parseEnv(parsedArguments.flags['--env'])
);
// Merge build env out of `build.env` from vercel.json, and `--build-env` args
const deploymentBuildEnv = Object.assign(
{},
parseEnv(localConfig.build && localConfig.build.env),
parseEnv(argv['--build-env'])
parseEnv(parsedArguments.flags['--build-env'])
);
// If there's any undefined values, then inherit them from this process
@@ -489,7 +481,7 @@ export default async (client: Client): Promise<number> => {
}
// build `regions`
const regionFlag = (argv['--regions'] || '')
const regionFlag = (parsedArguments.flags['--regions'] || '')
.split(',')
.map((s: string) => s.trim())
.filter(Boolean);
@@ -502,7 +494,7 @@ export default async (client: Client): Promise<number> => {
});
let deployStamp = stamp();
let deployment = null;
const noWait = !!argv['--no-wait'];
const noWait = !!parsedArguments.flags['--no-wait'];
const localConfigurationOverrides = pickOverrides(localConfig);
@@ -515,18 +507,23 @@ export default async (client: Client): Promise<number> => {
try {
// if this flag is not set, use `undefined` to allow the project setting to be used
const autoAssignCustomDomains = argv['--skip-domain'] ? false : undefined;
const autoAssignCustomDomains = parsedArguments.flags['--skip-domain']
? false
: undefined;
const createArgs: CreateOptions = {
name,
env: deploymentEnv,
build: { env: deploymentBuildEnv },
forceNew: argv['--force'],
withCache: argv['--with-cache'],
prebuilt: argv['--prebuilt'],
forceNew: parsedArguments.flags['--force'],
withCache: parsedArguments.flags['--with-cache'],
prebuilt: parsedArguments.flags['--prebuilt'],
vercelOutputDir,
rootDirectory,
quiet,
wantsPublic: Boolean(argv['--public'] || localConfig.public),
wantsPublic: Boolean(
parsedArguments.flags['--public'] || localConfig.public
),
nowConfig: {
...localConfig,
// `images` is allowed in "vercel.json" and processed
@@ -545,14 +542,43 @@ export default async (client: Client): Promise<number> => {
if (!localConfig.builds || localConfig.builds.length === 0) {
// Only add projectSettings for zero config deployments
createArgs.projectSettings =
status === 'not_linked'
? {
createArgs.projectSettings = {
sourceFilesOutsideRootDirectory,
rootDirectory,
};
if (status === 'linked') {
createArgs.projectSettings = {
...createArgs.projectSettings,
...localConfigurationOverrides,
};
}
: { ...localConfigurationOverrides, sourceFilesOutsideRootDirectory };
}
// Read the `engines.node` field from `package.json` and send as a
// `projectSettings` property as an optimization (so that the API
// does not need to retrieve the file to do this check).
const { packageJson } = await scanParentDirs(
join(cwd, project?.rootDirectory ?? ''),
true,
cwd
);
let nodeVersion: string | undefined;
if (packageJson?.engines?.node) {
try {
const { range } = await getSupportedNodeVersion(
packageJson.engines.node
);
nodeVersion = range;
} catch (error) {
if (error instanceof Error) {
output.warn(error.message);
}
}
}
if (!createArgs.projectSettings) createArgs.projectSettings = {};
createArgs.projectSettings.nodeVersion = nodeVersion;
deployment = await createDeploy(
client,
now,

View File

@@ -16,9 +16,8 @@ export const devCommand: Command = {
description: 'Specify a URI endpoint on which to listen [0.0.0.0:3000]',
argument: 'uri',
shorthand: null,
type: 'string',
type: String,
deprecated: false,
multi: false,
},
],
examples: [

View File

@@ -85,12 +85,10 @@ export default async function add(
return 1;
}
console.log(
`${chalk.cyan('> Success!')} DNS record for domain ${chalk.bold(
domain
)} ${chalk.gray(`(${record.uid})`)} created under ${chalk.bold(
contextName
)} ${chalk.gray(addStamp())}`
output.success(
`DNS record for domain ${chalk.bold(domain)} ${chalk.gray(
`(${record.uid})`
)} created under ${chalk.bold(contextName)} ${chalk.gray(addStamp())}`
);
return 0;

View File

@@ -74,9 +74,8 @@ export const dnsCommand: Command = {
description: 'Show next page of results',
argument: 'MS',
shorthand: 'n',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
{
name: 'limit',
@@ -84,9 +83,8 @@ export const dnsCommand: Command = {
description:
'Number of results to return per page (default: 20, max: 100)',
argument: 'NUMBER',
type: 'string',
type: String,
deprecated: false,
multi: false,
},
],
examples: [

View File

@@ -52,12 +52,10 @@ export default async function add(
return 1;
}
console.log(
`${chalk.cyan('> Success!')} ${
recordIds.length
} DNS records for domain ${chalk.bold(domain)} created under ${chalk.bold(
contextName
)} ${chalk.gray(addStamp())}`
output.success(
`${recordIds.length} DNS records for domain ${chalk.bold(
domain
)} created under ${chalk.bold(contextName)} ${chalk.gray(addStamp())}`
);
return 0;
}

View File

@@ -1,6 +1,6 @@
import chalk from 'chalk';
import ms from 'ms';
import table from 'text-table';
import table from '../../util/output/table';
import type { DNSRecord } from '@vercel-internals/types';
import { Output } from '../../util/output';
import Client from '../../util/client';
@@ -52,10 +52,8 @@ export default async function rm(
const rmStamp = stamp();
await deleteDNSRecordById(client, domainName, record.id);
console.log(
`${chalk.cyan('> Success!')} Record ${chalk.gray(
`${record.id}`
)} removed ${chalk.gray(rmStamp())}`
output.success(
`Record ${chalk.gray(`${record.id}`)} removed ${chalk.gray(rmStamp())}`
);
return 0;
}
@@ -71,11 +69,11 @@ function readConfirmation(
output.print(
`${table([getDeleteTableRow(domainName, record)], {
align: ['l', 'r', 'l'],
hsep: ' '.repeat(6),
hsep: 6,
}).replace(/^(.*)/gm, ' $1')}\n`
);
output.print(
`${chalk.bold.red('> Are you sure?')} ${chalk.gray('[y/N] ')}`
`${chalk.bold.red('> Are you sure?')} ${chalk.gray('(y/N) ')}`
);
process.stdin
.on('data', d => {

View File

@@ -87,10 +87,10 @@ export default async function add(
}
// We can cast the information because we've just added the domain and it should be there
console.log(
`${chalk.cyan('> Success!')} Domain ${chalk.bold(
domainName
)} added to project ${chalk.bold(projectName)}. ${addStamp()}`
output.success(
`Domain ${chalk.bold(domainName)} added to project ${chalk.bold(
projectName
)}. ${addStamp()}`
);
if (isPublicSuffix(domainName)) {

Some files were not shown because too many files have changed in this diff Show More