Compare commits

...

12 Commits

Author SHA1 Message Date
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
69 changed files with 2177 additions and 1035 deletions

View File

@@ -222,3 +222,54 @@ updates:
- '@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

@@ -66,10 +66,6 @@ jobs:
with:
node-version: ${{ matrix.nodeVersion || env.NODE_VERSION }}
- name: Install Hugo
if: matrix.runner == 'macos-14'
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

View File

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

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

@@ -1,5 +1,12 @@
# @vercel-internals/types
## 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

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@vercel-internals/types",
"version": "1.0.29",
"version": "1.0.30",
"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.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/routing-utils": "3.1.0"
},
"devDependencies": {

View File

@@ -1,5 +1,11 @@
# @vercel/build-utils
## 7.12.0
### Minor Changes
- Trigger release ([#11465](https://github.com/vercel/vercel/pull/11465))
## 7.11.0
### Minor Changes

View File

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

View File

@@ -1,5 +1,22 @@
# vercel
## 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

View File

@@ -1,6 +1,6 @@
{
"name": "vercel",
"version": "34.1.0",
"version": "34.1.2",
"preferGlobal": true,
"license": "Apache-2.0",
"description": "The command-line interface for Vercel",
@@ -32,17 +32,17 @@
"node": ">= 16"
},
"dependencies": {
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/fun": "1.1.0",
"@vercel/go": "3.1.1",
"@vercel/hydrogen": "1.0.2",
"@vercel/next": "4.2.1",
"@vercel/node": "3.0.26",
"@vercel/python": "4.1.1",
"@vercel/next": "4.2.2",
"@vercel/node": "3.0.27",
"@vercel/python": "4.2.0",
"@vercel/redwood": "2.0.8",
"@vercel/remix-builder": "2.1.5",
"@vercel/ruby": "2.0.5",
"@vercel/static-build": "2.4.6",
"@vercel/static-build": "2.5.0",
"chokidar": "3.3.1"
},
"devDependencies": {
@@ -92,8 +92,8 @@
"@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.29",
"@vercel/client": "13.2.0",
"@vercel-internals/types": "1.0.30",
"@vercel/client": "13.2.1",
"@vercel/error-utils": "2.0.2",
"@vercel/frameworks": "3.0.2",
"@vercel/fs-detectors": "5.2.3",

View File

@@ -1,3 +1,4 @@
import { spawnAsync } from '@vercel/build-utils';
import { resolve, delimiter } from 'path';
const {
@@ -97,10 +98,16 @@ test('[vercel dev] 08-hugo', async () => {
new Error('Dev server timed out while waiting to be ready')
);
// 2. Update PATH to find the Hugo executable installed via GH Actions
process.env.PATH = `${resolve(fixture('08-hugo'))}${delimiter}${
process.env.PATH
}`;
// 2. Download `hugo` and update PATH
const hugoFixture = resolve(fixture('08-hugo'));
await spawnAsync(
`curl -sSL https://github.com/gohugoio/hugo/releases/download/v0.56.0/hugo_0.56.0_macOS-64bit.tar.gz | tar -xz -C "${hugoFixture}"`,
[],
{
shell: true,
}
);
process.env.PATH = `${hugoFixture}${delimiter}${process.env.PATH}`;
// 3. Rerun the test now that Hugo is in the PATH
tester = testFixtureStdio(

View File

@@ -1,5 +1,12 @@
# @vercel/client
## 13.2.1
### Patch Changes
- Updated dependencies [[`2826563ff`](https://github.com/vercel/vercel/commit/2826563ffab7ab01d3c85def2cad8c4041cd88b1)]:
- @vercel/build-utils@7.12.0
## 13.2.0
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/client",
"version": "13.2.0",
"version": "13.2.1",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"homepage": "https://vercel.com",
@@ -37,7 +37,7 @@
"typescript": "4.9.5"
},
"dependencies": {
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/error-utils": "2.0.2",
"@vercel/routing-utils": "3.1.0",
"@zeit/fetch": "5.2.0",

View File

@@ -37,7 +37,7 @@
"@types/minimatch": "3.0.5",
"@types/node": "14.18.33",
"@types/semver": "7.3.10",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"jest-junit": "16.0.0",
"typescript": "4.9.5"
}

View File

@@ -1,5 +1,12 @@
# @vercel/gatsby-plugin-vercel-builder
## 2.0.25
### Patch Changes
- Updated dependencies [[`2826563ff`](https://github.com/vercel/vercel/commit/2826563ffab7ab01d3c85def2cad8c4041cd88b1)]:
- @vercel/build-utils@7.12.0
## 2.0.24
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/gatsby-plugin-vercel-builder",
"version": "2.0.24",
"version": "2.0.25",
"main": "dist/index.js",
"files": [
"dist",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@sinclair/typebox": "0.25.24",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/routing-utils": "3.1.0",
"esbuild": "0.14.47",
"etag": "1.8.1",

View File

@@ -29,7 +29,7 @@
"@types/node-fetch": "^2.3.0",
"@types/tar": "6.1.5",
"@types/yauzl-promise": "2.1.0",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"async-retry": "1.3.3",
"execa": "^1.0.0",
"fs-extra": "^7.0.0",

View File

@@ -26,7 +26,7 @@
"devDependencies": {
"@types/jest": "27.5.1",
"@types/node": "14.18.33",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"jest-junit": "16.0.0"

View File

@@ -1,5 +1,13 @@
# @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))
## 4.2.1
### Patch Changes

View File

@@ -1,8 +1,14 @@
import { readFileSync, promises as fsPromises } from 'node:fs';
import { createRequire } from 'node:module';
import { join } from 'node:path';
import { readFileSync } from 'node:fs';
import { esbuild } from '../../utils/build.mjs';
import buildEdgeFunctionTemplate from './scripts/build-edge-function-template.js';
const require = createRequire(import.meta.url);
const { copyFile } = fsPromises;
const pkgPath = join(process.cwd(), 'package.json');
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
const externals = Object.keys(pkg.dependencies || {});
@@ -20,6 +26,12 @@ await Promise.all([
buildEdgeFunctionTemplate(),
]);
// The bundled version of source-map looks for the wasm mappings file as a sibling.
await copyFile(
require.resolve('source-map/lib/mappings.wasm'),
join(process.cwd(), 'dist/mappings.wasm')
);
await esbuild({
bundle: true,
external: ['@vercel/build-utils', ...externals],

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/next",
"version": "4.2.1",
"version": "4.2.2",
"license": "Apache-2.0",
"main": "./dist/index",
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -40,7 +40,7 @@
"@types/semver": "6.0.0",
"@types/text-table": "0.2.1",
"@types/webpack-sources": "3.2.0",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/routing-utils": "3.1.0",
"async-sema": "3.0.1",
"buffer-crc32": "0.2.13",
@@ -60,7 +60,7 @@
"resolve-from": "5.0.0",
"semver": "6.3.1",
"set-cookie-parser": "2.4.6",
"source-map": "0.7.3",
"source-map": "0.7.4",
"test-listen": "1.1.0",
"text-table": "0.2.0",
"webpack-sources": "3.2.3"

View File

@@ -51,7 +51,6 @@ import {
normalizePrefetches,
CreateLambdaFromPseudoLayersOptions,
getPostponeResumePathname,
LambdaGroup,
MAX_UNCOMPRESSED_LAMBDA_SIZE,
} from './utils';
import {
@@ -69,7 +68,6 @@ const CORRECT_NOT_FOUND_ROUTES_VERSION = 'v12.0.1';
const CORRECT_MIDDLEWARE_ORDER_VERSION = 'v12.1.7-canary.29';
const NEXT_DATA_MIDDLEWARE_RESOLVING_VERSION = 'v12.1.7-canary.33';
const EMPTY_ALLOW_QUERY_FOR_PRERENDERED_VERSION = 'v12.2.0';
const ACTION_OUTPUT_SUPPORT_VERSION = 'v14.2.2';
const CORRECTED_MANIFESTS_VERSION = 'v12.2.0';
// Ideally this should be in a Next.js manifest so we can change it in
@@ -201,10 +199,6 @@ export async function serverBuild({
nextVersion,
EMPTY_ALLOW_QUERY_FOR_PRERENDERED_VERSION
);
const hasActionOutputSupport = semver.gte(
nextVersion,
ACTION_OUTPUT_SUPPORT_VERSION
);
const projectDir = requiredServerFilesManifest.relativeAppDir
? path.join(baseDir, requiredServerFilesManifest.relativeAppDir)
: requiredServerFilesManifest.appDir || entryPath;
@@ -932,28 +926,11 @@ export async function serverBuild({
inversedAppPathManifest,
});
const appRouterStreamingPrerenderLambdaGroups: LambdaGroup[] = [];
for (const group of appRouterLambdaGroups) {
if (!group.isPrerenders || group.isExperimentalPPR) {
group.isStreaming = true;
}
group.isAppRouter = true;
// We create a streaming variant of the Prerender lambda group
// to support actions that are part of a Prerender
if (
hasActionOutputSupport &&
group.isPrerenders &&
!group.isStreaming &&
!group.isExperimentalPPR
) {
appRouterStreamingPrerenderLambdaGroups.push({
...group,
isActionPrerender: true,
isStreaming: true,
});
}
}
for (const group of appRouteHandlersLambdaGroups) {
@@ -1005,13 +982,6 @@ export async function serverBuild({
pseudoLayerBytes: group.pseudoLayerBytes,
uncompressedLayerBytes: group.pseudoLayerUncompressedBytes,
})),
appRouterStreamingPrerenderLambdaGroups:
appRouterStreamingPrerenderLambdaGroups.map(group => ({
pages: group.pages,
isPrerender: group.isPrerenders,
pseudoLayerBytes: group.pseudoLayerBytes,
uncompressedLayerBytes: group.pseudoLayerUncompressedBytes,
})),
appRouteHandlersLambdaGroups: appRouteHandlersLambdaGroups.map(
group => ({
pages: group.pages,
@@ -1029,7 +999,6 @@ export async function serverBuild({
const combinedGroups = [
...pageLambdaGroups,
...appRouterLambdaGroups,
...appRouterStreamingPrerenderLambdaGroups,
...apiLambdaGroups,
...appRouteHandlersLambdaGroups,
];
@@ -1239,11 +1208,6 @@ export async function serverBuild({
let outputName = path.posix.join(entryDirectory, pageName);
if (group.isActionPrerender) {
// give the streaming prerenders a .action suffix
outputName = `${outputName}.action`;
}
// If this is a PPR page, then we should prefix the output name.
if (isPPR) {
if (!revalidate) {
@@ -1941,72 +1905,7 @@ export async function serverBuild({
},
]
: []),
...(hasActionOutputSupport
? [
// Create rewrites for streaming prerenders (.action routes)
// This contains separate rewrites for each possible "has" (action header, or content-type)
// Also includes separate handling for index routes which should match to /index.action.
// This follows the same pattern as the rewrites for .rsc files.
{
src: `^${path.posix.join('/', entryDirectory, '/')}`,
dest: path.posix.join('/', entryDirectory, '/index.action'),
has: [
{
type: 'header',
key: 'next-action',
},
],
continue: true,
override: true,
},
{
src: `^${path.posix.join('/', entryDirectory, '/')}`,
dest: path.posix.join('/', entryDirectory, '/index.action'),
has: [
{
type: 'header',
key: 'content-type',
value: 'multipart/form-data;.*',
},
],
continue: true,
override: true,
},
{
src: `^${path.posix.join(
'/',
entryDirectory,
'/((?!.+\\.action).+?)(?:/)?$'
)}`,
dest: path.posix.join('/', entryDirectory, '/$1.action'),
has: [
{
type: 'header',
key: 'next-action',
},
],
continue: true,
override: true,
},
{
src: `^${path.posix.join(
'/',
entryDirectory,
'/((?!.+\\.action).+?)(?:/)?$'
)}`,
dest: path.posix.join('/', entryDirectory, '/$1.action'),
has: [
{
type: 'header',
key: 'content-type',
value: 'multipart/form-data;.*',
},
],
continue: true,
override: true,
},
]
: []),
{
src: `^${path.posix.join('/', entryDirectory, '/')}`,
has: [

View File

@@ -1,4 +1,8 @@
import type { RawSourceMap } from 'source-map';
import {
SourceMapConsumer,
SourceMapGenerator,
type RawSourceMap,
} from 'source-map';
import convertSourceMap from 'convert-source-map';
import fs from 'fs-extra';
import {
@@ -73,15 +77,28 @@ async function getSourceMap(
content: string,
fullFilePath?: string
): Promise<RawSourceMap | null> {
let map: RawSourceMap;
try {
if (fullFilePath && (await fs.pathExists(`${fullFilePath}.map`))) {
const mapJson = await fs.readFile(`${fullFilePath}.map`, 'utf8');
return convertSourceMap.fromJSON(mapJson).toObject();
map = convertSourceMap.fromJSON(mapJson).toObject();
} else {
map = convertSourceMap.fromComment(content).toObject();
}
return convertSourceMap.fromComment(content).toObject();
} catch {
return null;
}
if ('sections' in map) {
// Webpack's `webpack-source` package doesn't support sectioned source maps, but Turbopack outputs them.
// Do this conditionally as it's unnecessary work otherwise.
return flattenSourceMap(map);
}
return map;
}
async function flattenSourceMap(map: RawSourceMap): Promise<RawSourceMap> {
return new SourceMapGenerator(await new SourceMapConsumer(map)).toJSON();
}
/**

View File

@@ -432,15 +432,6 @@ export async function getDynamicRoutes({
dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
});
routes.push({
...route,
src: route.src.replace(
new RegExp(escapeStringRegexp('(?:/)?$')),
'(?:\\.action)(?:/)?$'
),
dest: route.dest?.replace(/($|\?)/, '.action$1'),
});
routes.push(route);
}
@@ -1496,7 +1487,6 @@ export type LambdaGroup = {
isStreaming?: boolean;
isPrerenders?: boolean;
isExperimentalPPR?: boolean;
isActionPrerender?: boolean;
isPages?: boolean;
isApiLambda: boolean;
pseudoLayer: PseudoLayer;

View File

@@ -1,17 +0,0 @@
import { revalidatePath } from 'next/cache'
export const dynamic = 'force-static'
export default async function Page() {
async function serverAction() {
'use server';
await new Promise((resolve) => setTimeout(resolve, 1000));
revalidatePath('/dynamic');
}
return (
<form action={serverAction}>
<button>Submit</button>
</form>
);
}

View File

@@ -1,6 +0,0 @@
'use server';
export async function increment(value) {
await new Promise(resolve => setTimeout(resolve, 500));
return value + 1;
}

View File

@@ -1,10 +0,0 @@
export default function Root({ children }) {
return (
<html>
<head>
<title>Hello World</title>
</head>
<body>{children}</body>
</html>
);
}

View File

@@ -1,15 +0,0 @@
import { revalidatePath } from 'next/cache'
export default async function Page() {
async function serverAction() {
'use server';
await new Promise((resolve) => setTimeout(resolve, 1000));
revalidatePath('/other');
}
return (
<form action={serverAction}>
<button>Submit</button>
</form>
);
}

View File

@@ -1,21 +0,0 @@
'use client';
import { useState } from 'react';
import { increment } from './actions';
export const dynamic = 'force-static';
export default function Page() {
const [count, setCount] = useState(0);
async function updateCount() {
const newCount = await increment(count);
setCount(newCount);
}
return (
<form>
<div id="count">{count}</div>
<button formAction={updateCount}>Increment</button>
</form>
);
}

View File

@@ -1,89 +0,0 @@
/* eslint-env jest */
const path = require('path');
const { deployAndTest } = require('../../utils');
const fetch = require('../../../../../test/lib/deployment/fetch-retry');
const ctx = {};
function findActionId(manifest, page) {
for (const [actionId, details] of Object.entries(manifest.node)) {
if (details.workers[page]) {
return actionId; // Return the actionId (node key) if the page is found
}
}
return null; // Return null if the page is not found
}
describe(`${__dirname.split(path.sep).pop()}`, () => {
beforeAll(async () => {
const info = await deployAndTest(__dirname);
Object.assign(ctx, info);
});
it('should match the server action to the streaming prerender function (with next-action)', async () => {
// grab the action ID for the index worker
const data = await fetch(
`${ctx.deploymentUrl}/server-reference-manifest.json`
).then(res => res.json());
const actionId = findActionId(data, 'app/page');
const res = await fetch(`${ctx.deploymentUrl}/`, {
method: 'POST',
body: JSON.stringify([1337]),
headers: {
'Content-Type': 'text/plain;charset=UTF-8',
'Next-Action': actionId,
},
});
expect(res.status).toEqual(200);
const body = await res.text();
// the requested body was 1337, so the increment method should return 1338
expect(body).toContain('1338');
expect(res.headers.get('x-matched-path')).toBe('/index.action');
expect(res.headers.get('x-vercel-cache')).toBe('MISS');
});
it('should match the server action to the streaming prerender function (with formdata body)', async () => {
const data = await fetch(
`${ctx.deploymentUrl}/server-reference-manifest.json`
).then(res => res.json());
const actionId = findActionId(data, 'app/other/page');
const res = await fetch(`${ctx.deploymentUrl}/other`, {
method: 'POST',
body: `------WebKitFormBoundary8xC9UKOVzHBaGYkR\r\nContent-Disposition: form-data; name=\"1_$ACTION_ID_${actionId}\"\r\n\r\n\r\n------WebKitFormBoundary8xC9UKOVzHBaGYkR\r\nContent-Disposition: form-data; name=\"0\"\r\n\r\n[\"$K1\"]\r\n------WebKitFormBoundary8xC9UKOVzHBaGYkR--\r\n`,
headers: {
'Content-Type':
'multipart/form-data; boundary=----WebKitFormBoundary8xC9UKOVzHBaGYkR',
},
});
expect(res.status).toEqual(200);
expect(res.headers.get('x-matched-path')).toBe('/other.action');
expect(res.headers.get('x-vercel-cache')).toBe('MISS');
});
it('should match the server action to the streaming prerender function (force-static dynamic segment)', async () => {
const data = await fetch(
`${ctx.deploymentUrl}/server-reference-manifest.json`
).then(res => res.json());
const actionId = findActionId(data, 'app/dynamic-static/page');
const res = await fetch(`${ctx.deploymentUrl}/dynamic-static`, {
method: 'POST',
body: `------WebKitFormBoundary8xC9UKOVzHBaGYkR\r\nContent-Disposition: form-data; name=\"1_$ACTION_ID_${actionId}\"\r\n\r\n\r\n------WebKitFormBoundary8xC9UKOVzHBaGYkR\r\nContent-Disposition: form-data; name=\"0\"\r\n\r\n[\"$K1\"]\r\n------WebKitFormBoundary8xC9UKOVzHBaGYkR--\r\n`,
headers: {
'Content-Type':
'multipart/form-data; boundary=----WebKitFormBoundary8xC9UKOVzHBaGYkR',
},
});
expect(res.status).toEqual(200);
expect(res.headers.get('x-matched-path')).toBe('/[dynamic-static].action');
expect(res.headers.get('x-vercel-cache')).toBe('MISS');
});
});

View File

@@ -1 +0,0 @@
module.exports = {};

View File

@@ -1,11 +0,0 @@
{
"dependencies": {
"next": "canary",
"react": "experimental",
"react-dom": "experimental"
},
"scripts": {
"build": "next build && cp .next/server/server-reference-manifest.json public/"
},
"ignoreNextjsUpdates": true
}

View File

@@ -1,8 +0,0 @@
{
"builds": [
{
"src": "package.json",
"use": "@vercel/next"
}
]
}

View File

@@ -452,5 +452,5 @@ it('should not generate lambdas that conflict with static index route in app wit
lambdas.add(item);
}
}
expect(lambdas.size).toBe(2);
expect(lambdas.size).toBe(1);
});

View File

@@ -1,5 +1,12 @@
# @vercel/node
## 3.0.27
### Patch Changes
- Updated dependencies [[`2826563ff`](https://github.com/vercel/vercel/commit/2826563ffab7ab01d3c85def2cad8c4041cd88b1)]:
- @vercel/build-utils@7.12.0
## 3.0.26
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/node",
"version": "3.0.26",
"version": "3.0.27",
"license": "Apache-2.0",
"main": "./dist/index",
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/node-js",
@@ -24,7 +24,7 @@
"@edge-runtime/primitives": "4.1.0",
"@edge-runtime/vm": "3.2.0",
"@types/node": "14.18.33",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/error-utils": "2.0.2",
"@vercel/nft": "0.26.4",
"@vercel/static-config": "3.0.0",

View File

@@ -1,5 +1,11 @@
# @vercel/python
## 4.2.0
### Minor Changes
- Add support for Python 3.12 ([#11478](https://github.com/vercel/vercel/pull/11478))
## 4.1.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/python",
"version": "4.1.1",
"version": "4.2.0",
"main": "./dist/index.js",
"license": "Apache-2.0",
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
@@ -26,7 +26,7 @@
"@types/jest": "27.4.1",
"@types/node": "14.18.33",
"@types/which": "3.0.0",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"execa": "^1.0.0",
"fs-extra": "11.1.1",
"jest-junit": "16.0.0",

View File

@@ -11,6 +11,12 @@ interface PythonVersion {
// The order must be most recent first
const allOptions: PythonVersion[] = [
{
version: '3.12',
pipPath: 'pip3.12',
pythonPath: 'python3.12',
runtime: 'python3.12',
},
{
version: '3.11',
pipPath: 'pip3.11',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -28,19 +28,12 @@ module.exports = function setupTests(groupIndex) {
// eslint-disable-next-line no-restricted-syntax
for (const fixture of chunkedFixtures) {
// Python endpoints currently require the AL2 build image
const projectSettings = {
nodeVersion: '18.x',
};
const errMsg = testsThatFailToBuild.get(fixture);
if (errMsg) {
// eslint-disable-next-line no-loop-func
it(`should fail to build ${fixture}`, async () => {
try {
await testDeployment(path.join(fixturesPath, fixture), {
projectSettings,
});
await testDeployment(path.join(fixturesPath, fixture));
} catch (err) {
expect(err).toBeTruthy();
expect(err.deployment).toBeTruthy();
@@ -52,9 +45,7 @@ module.exports = function setupTests(groupIndex) {
// eslint-disable-next-line no-loop-func
it(`should build ${fixture}`, async () => {
await expect(
testDeployment(path.join(fixturesPath, fixture), {
projectSettings,
})
testDeployment(path.join(fixturesPath, fixture))
).resolves.toBeDefined();
});
}

View File

@@ -28,7 +28,7 @@
"@types/aws-lambda": "8.10.19",
"@types/node": "14.18.33",
"@types/semver": "6.0.0",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"jest-junit": "16.0.0"

View File

@@ -32,7 +32,7 @@
"@types/jest": "27.5.1",
"@types/node": "14.18.33",
"@types/semver": "7.3.13",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"jest-junit": "16.0.0",
"path-to-regexp": "6.2.1",
"semver": "7.5.2"

View File

@@ -8,8 +8,6 @@ const {
jest.setTimeout(12 * 60 * 1000);
const fixturesPath = join(__dirname, 'fixtures-legacy');
const exampleAbsolute = (name: string) =>
join(__dirname, '..', '..', '..', 'examples', name);
// eslint-disable-next-line no-restricted-syntax
for (const fixture of fs.readdirSync(fixturesPath)) {
@@ -20,8 +18,3 @@ for (const fixture of fs.readdirSync(fixturesPath)) {
).resolves.toBeDefined();
});
}
it(`should build remix example`, async () => {
const example = exampleAbsolute('remix');
await expect(testDeployment(example)).resolves.toBeDefined();
});

View File

@@ -23,7 +23,7 @@
"devDependencies": {
"@types/fs-extra": "8.0.0",
"@types/semver": "6.0.0",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"execa": "2.0.4",
"fs-extra": "^7.0.1",
"jest-junit": "16.0.0",

View File

@@ -1,5 +1,16 @@
# @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
## 2.4.6
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@vercel/static-build",
"version": "2.4.6",
"version": "2.5.0",
"license": "Apache-2.0",
"main": "./dist/index",
"homepage": "https://vercel.com/docs/build-step",
@@ -15,13 +15,13 @@
"scripts": {
"build": "node ../../utils/build-builder.mjs",
"test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail --runInBand",
"test-unit": "pnpm test test/build.test.ts test/gatsby.test.ts test/prepare-cache.test.ts",
"test-unit": "pnpm test test/build.test.ts test/hugo.test.ts test/gatsby.test.ts test/prepare-cache.test.ts",
"test-e2e": "pnpm test test/integration-*.test.js",
"type-check": "tsc --noEmit"
},
"dependencies": {
"@vercel/gatsby-plugin-vercel-analytics": "1.0.11",
"@vercel/gatsby-plugin-vercel-builder": "2.0.24",
"@vercel/gatsby-plugin-vercel-builder": "2.0.25",
"@vercel/static-config": "3.0.0",
"ts-morph": "12.0.0"
},
@@ -35,7 +35,7 @@
"@types/node-fetch": "2.5.4",
"@types/promise-timeout": "1.3.0",
"@types/semver": "7.3.13",
"@vercel/build-utils": "7.11.0",
"@vercel/build-utils": "7.12.0",
"@vercel/error-utils": "2.0.2",
"@vercel/frameworks": "3.0.2",
"@vercel/fs-detectors": "5.2.3",

View File

@@ -4,8 +4,8 @@ import fetch from 'node-fetch';
import getPort from 'get-port';
import isPortReachable from 'is-port-reachable';
import frameworks, { Framework } from '@vercel/frameworks';
import type { ChildProcess, SpawnOptions } from 'child_process';
import { existsSync, readFileSync, statSync, readdirSync } from 'fs';
import { spawn, type ChildProcess, type SpawnOptions } from 'child_process';
import { existsSync, readFileSync, statSync, readdirSync, mkdirSync } from 'fs';
import { cpus } from 'os';
import {
BuildV2,
@@ -15,7 +15,6 @@ import {
PrepareCache,
glob,
download,
spawnAsync,
execCommand,
spawnCommand,
runNpmInstall,
@@ -46,6 +45,8 @@ import {
detectFrameworkRecord,
LocalFileSystemDetector,
} from '@vercel/fs-detectors';
import { getHugoUrl } from './utils/hugo';
import { once } from 'events';
const SUPPORTED_RUBY_VERSION = '3.2.0';
const sleep = (n: number) => new Promise(resolve => setTimeout(resolve, n));
@@ -262,7 +263,12 @@ function getFramework(
return framework;
}
async function fetchBinary(url: string, framework: string, version: string) {
async function fetchBinary(
url: string,
framework: string,
version: string,
dest = '/usr/local/bin'
) {
const res = await fetch(url);
if (res.status === 404) {
throw new NowBuildError({
@@ -271,9 +277,16 @@ async function fetchBinary(url: string, framework: string, version: string) {
link: 'https://vercel.link/framework-versioning',
});
}
await spawnAsync(`curl -sSL ${url} | tar -zx -C /usr/local/bin`, [], {
shell: true,
const cp = spawn('tar', ['-zx', '-C', dest], {
stdio: ['pipe', 'ignore', 'ignore'],
});
res.body.pipe(cp.stdin);
const [exitCode] = await once(cp, 'exit');
if (exitCode !== 0) {
throw new Error(
`Extraction of ${framework} failed (exit code ${exitCode})`
);
}
}
async function getUpdatedDistPath(
@@ -352,13 +365,19 @@ export const build: BuildV2 = async ({
if (config.zeroConfig) {
const { HUGO_VERSION, ZOLA_VERSION, GUTENBERG_VERSION } = process.env;
if (HUGO_VERSION && !meta.isDev) {
console.log('Installing Hugo version ' + HUGO_VERSION);
const [major, minor] = HUGO_VERSION.split('.').map(Number);
const isOldVersion = major === 0 && minor < 43;
const prefix = isOldVersion ? `hugo_` : `hugo_extended_`;
const url = `https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/${prefix}${HUGO_VERSION}_Linux-64bit.tar.gz`;
await fetchBinary(url, 'Hugo', HUGO_VERSION);
if ((HUGO_VERSION || framework?.slug === 'hugo') && !meta.isDev) {
const hugoVersion = HUGO_VERSION || '0.58.2';
const hugoDir = path.join(
workPath,
`.vercel/cache/hugo-v${hugoVersion}-${process.platform}-${process.arch}`
);
if (!existsSync(hugoDir)) {
console.log('Installing Hugo version ' + hugoVersion);
const url = await getHugoUrl(hugoVersion);
mkdirSync(hugoDir, { recursive: true });
await fetchBinary(url, 'Hugo', hugoVersion, hugoDir);
}
process.env.PATH = `${hugoDir}${path.delimiter}${process.env.PATH}`;
}
if (ZOLA_VERSION && !meta.isDev) {

View File

@@ -0,0 +1,84 @@
import fetch from 'node-fetch';
import { NowBuildError } from '@vercel/build-utils';
export async function getHugoUrl(
version: string,
platform = process.platform,
arch = process.arch
): Promise<string> {
const oses = (
{
linux: ['linux'],
darwin: ['darwin', 'macos'],
win32: ['windows'],
} as Record<string, string[]>
)[platform];
if (!oses) {
throw new Error(`Unsupported platform: ${platform}`);
}
const arches = (
{
arm64: ['arm64'],
x64: ['amd64', '64bit'],
} as Record<string, string[]>
)[arch];
if (!arches) {
throw new Error(`Unsupported arch: ${arch}`);
}
if (platform === 'darwin') {
arches.push('universal');
if (arch === 'arm64') {
// On Mac ARM64, assume Rosetta is available to execute 64-bit binaries
arches.push('64bit');
}
}
const checksumsUrl = `https://github.com/gohugoio/hugo/releases/download/v${version}/hugo_${version}_checksums.txt`;
const checksumsRes = await fetch(checksumsUrl);
if (checksumsRes.status === 404) {
throw new NowBuildError({
code: 'STATIC_BUILD_BINARY_NOT_FOUND',
message: `Version ${version} of Hugo does not exist. Please specify a different one.`,
link: 'https://vercel.link/framework-versioning',
});
}
const checksumsBody = await checksumsRes.text();
const checksums = new Map<string, string>();
for (const line of checksumsBody.trim().split('\n')) {
const [sha, name] = line.split(/\s+/);
checksums.set(name, sha);
}
const file =
findFile(checksums.keys(), oses, arches, true) ||
findFile(checksums.keys(), oses, arches, false);
if (!file) {
throw new Error(
`Could not determine filename for Hugo v${version} for ${platform} / ${arch}`
);
}
return `https://github.com/gohugoio/hugo/releases/download/v${version}/${file}`;
}
function findFile(
names: Iterable<string>,
oses: string[],
arches: string[],
extended: boolean
): string | null {
const prefix = `hugo_${extended ? 'extended_' : ''}`;
for (const name of names) {
if (!name.startsWith(prefix) || !name.endsWith('.tar.gz')) continue;
const suffix = name.split('_').pop();
if (!suffix) continue;
const [os, arch] = suffix
.replace(/\.(.*)$/, '')
.toLowerCase()
.split('-');
if (oses.includes(os) && arches.includes(arch)) {
return name;
}
}
return null;
}

View File

@@ -9,7 +9,7 @@
"version": "0.0.1",
"license": "MIT",
"dependencies": {
"@stencil/core": "^4.14.0"
"@stencil/core": "^4.16.0"
},
"devDependencies": {
"@types/jest": "^27.5.2",
@@ -1039,9 +1039,9 @@
}
},
"node_modules/@stencil/core": {
"version": "4.14.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.14.0.tgz",
"integrity": "sha512-+s0u/KsNolXZ7tC2hEMgMA3jaNaqOhZvYKwSzjQbc0Wv+cB481Isxzo7ifgEWRYqsJzNSyqhO6cyu/EJrGGTdg==",
"version": "4.16.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.16.0.tgz",
"integrity": "sha512-gXaC5IrquV/Hw5JIZTCWkM5lJEbBQtnvHLhDebjar6A6+YBqxah04dardS+YUNVuRbnE6Hcja7KKiAXT3oVsvw==",
"bin": {
"stencil": "bin/stencil"
},
@@ -5781,9 +5781,9 @@
}
},
"@stencil/core": {
"version": "4.14.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.14.0.tgz",
"integrity": "sha512-+s0u/KsNolXZ7tC2hEMgMA3jaNaqOhZvYKwSzjQbc0Wv+cB481Isxzo7ifgEWRYqsJzNSyqhO6cyu/EJrGGTdg=="
"version": "4.16.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.16.0.tgz",
"integrity": "sha512-gXaC5IrquV/Hw5JIZTCWkM5lJEbBQtnvHLhDebjar6A6+YBqxah04dardS+YUNVuRbnE6Hcja7KKiAXT3oVsvw=="
},
"@tootallnate/once": {
"version": "1.1.2",

View File

@@ -26,7 +26,7 @@
"generate": "stencil generate"
},
"dependencies": {
"@stencil/core": "^4.14.0"
"@stencil/core": "^4.16.0"
},
"devDependencies": {
"@types/jest": "^27.5.2",

View File

@@ -0,0 +1,2 @@
.vercel
node_modules

View File

@@ -0,0 +1,49 @@
# VitePress
This directory is a brief example of a [VitePress](https://vitepress.vuejs.org/) site that can be deployed to Vercel with zero-configuration.
## Setup
Install the dependencies
```bash
$ yarn install
```
## Deploy Your Own
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/vercel/vercel/tree/main/examples/vitepress&template=vitepress)
_Live Example: https://vitepress-starter-template.vercel.app_
## Setup
Install the dependencies:
```bash
$ yarn install
```
### Development
Start the development server
```bash
$ yarn dev
```
### Build the project
Build for production
```bash
$ yarn build
```
### Deploy
Deploy your VitePress application to Vercel
```bash
$ vercel
```

View File

@@ -0,0 +1,3 @@
# About
Lorem ipsum

View File

@@ -0,0 +1,3 @@
# Hello VitePress
Lorem ipsum

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
{
"name": "vitepress-template",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"vitepress": "1.1.3"
},
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
"serve": "vitepress serve docs"
}
}

View File

@@ -0,0 +1,5 @@
{
"probes": [
{ "path": "/", "mustContain": "Hello VitePress" }
]
}

45
packages/static-build/test/hugo.test.ts vendored Normal file
View File

@@ -0,0 +1,45 @@
import { getHugoUrl } from '../src/utils/hugo';
describe('getHugoUrl()', () => {
it('should return URL for v0.42.2 on macOS arm64', async () => {
const url = await getHugoUrl('0.42.2', 'darwin', 'arm64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.42.2/hugo_0.42.2_macOS-64bit.tar.gz'
);
});
it('should return URL for v0.42.2 on Linux x64', async () => {
const url = await getHugoUrl('0.42.2', 'linux', 'x64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.42.2/hugo_0.42.2_Linux-64bit.tar.gz'
);
});
it('should return URL for v0.58.2 on macOS arm64', async () => {
const url = await getHugoUrl('0.58.2', 'darwin', 'arm64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.58.2/hugo_extended_0.58.2_macOS-64bit.tar.gz'
);
});
it('should return URL for v0.58.2 on Linux x64', async () => {
const url = await getHugoUrl('0.58.2', 'linux', 'x64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.58.2/hugo_extended_0.58.2_Linux-64bit.tar.gz'
);
});
it('should return URL for v0.125.0 on macOS arm64', async () => {
const url = await getHugoUrl('0.125.0', 'darwin', 'arm64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.125.0/hugo_extended_0.125.0_darwin-universal.tar.gz'
);
});
it('should return URL for v0.125.0 on Linux x64', async () => {
const url = await getHugoUrl('0.125.0', 'linux', 'x64');
expect(url).toEqual(
'https://github.com/gohugoio/hugo/releases/download/v0.125.0/hugo_extended_0.125.0_Linux-64bit.tar.gz'
);
});
});

View File

@@ -40,8 +40,9 @@ module.exports = function setupTests(groupIndex) {
const fixturesToSkip = [];
// console.log(fixtures);
// eslint-disable-next-line no-restricted-syntax
for (const fixture of fixtures) {
for (const fixture of ['vitepress-2']) {
if (fixturesToSkip.includes(fixture)) {
continue;
}

59
pnpm-lock.yaml generated
View File

@@ -132,7 +132,7 @@ importers:
specifier: 27.4.1
version: 27.4.1
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../packages/build-utils
'@vercel/frameworks':
specifier: 3.0.2
@@ -189,7 +189,7 @@ importers:
specifier: 1.0.4
version: link:../constants
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../../packages/build-utils
'@vercel/routing-utils':
specifier: 3.1.0
@@ -313,7 +313,7 @@ importers:
packages/cli:
dependencies:
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/fun':
specifier: 1.1.0
@@ -325,13 +325,13 @@ importers:
specifier: 1.0.2
version: link:../hydrogen
'@vercel/next':
specifier: 4.2.1
specifier: 4.2.2
version: link:../next
'@vercel/node':
specifier: 3.0.26
specifier: 3.0.27
version: link:../node
'@vercel/python':
specifier: 4.1.1
specifier: 4.2.0
version: link:../python
'@vercel/redwood':
specifier: 2.0.8
@@ -343,7 +343,7 @@ importers:
specifier: 2.0.5
version: link:../ruby
'@vercel/static-build':
specifier: 2.4.6
specifier: 2.5.0
version: link:../static-build
chokidar:
specifier: 3.3.1
@@ -488,10 +488,10 @@ importers:
specifier: 1.0.0
version: link:../../internals/get-package-json
'@vercel-internals/types':
specifier: 1.0.29
specifier: 1.0.30
version: link:../../internals/types
'@vercel/client':
specifier: 13.2.0
specifier: 13.2.1
version: link:../client
'@vercel/error-utils':
specifier: 2.0.2
@@ -737,7 +737,7 @@ importers:
packages/client:
dependencies:
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/error-utils':
specifier: 2.0.2
@@ -941,7 +941,7 @@ importers:
specifier: 7.3.10
version: 7.3.10
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
jest-junit:
specifier: 16.0.0
@@ -966,7 +966,7 @@ importers:
specifier: 0.25.24
version: 0.25.24
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/routing-utils':
specifier: 3.1.0
@@ -1033,7 +1033,7 @@ importers:
specifier: 2.1.0
version: 2.1.0
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
async-retry:
specifier: 1.3.3
@@ -1082,7 +1082,7 @@ importers:
specifier: 14.18.33
version: 14.18.33
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
execa:
specifier: 3.2.0
@@ -1143,7 +1143,7 @@ importers:
specifier: 3.2.0
version: 3.2.0
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/routing-utils':
specifier: 3.1.0
@@ -1203,8 +1203,8 @@ importers:
specifier: 2.4.6
version: 2.4.6
source-map:
specifier: 0.7.3
version: 0.7.3
specifier: 0.7.4
version: 0.7.4
test-listen:
specifier: 1.1.0
version: 1.1.0
@@ -1230,7 +1230,7 @@ importers:
specifier: 14.18.33
version: 14.18.33
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/error-utils':
specifier: 2.0.2
@@ -1345,7 +1345,7 @@ importers:
specifier: 3.0.0
version: 3.0.0
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
execa:
specifier: ^1.0.0
@@ -1382,7 +1382,7 @@ importers:
specifier: 6.0.0
version: 6.0.0
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
execa:
specifier: 3.2.0
@@ -1422,7 +1422,7 @@ importers:
specifier: 7.3.13
version: 7.3.13
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
jest-junit:
specifier: 16.0.0
@@ -1466,7 +1466,7 @@ importers:
specifier: 6.0.0
version: 6.0.0
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
execa:
specifier: 2.0.4
@@ -1487,7 +1487,7 @@ importers:
specifier: 1.0.11
version: link:../gatsby-plugin-vercel-analytics
'@vercel/gatsby-plugin-vercel-builder':
specifier: 2.0.24
specifier: 2.0.25
version: link:../gatsby-plugin-vercel-builder
'@vercel/static-config':
specifier: 3.0.0
@@ -1524,7 +1524,7 @@ importers:
specifier: 7.3.13
version: 7.3.13
'@vercel/build-utils':
specifier: 7.11.0
specifier: 7.12.0
version: link:../build-utils
'@vercel/error-utils':
specifier: 2.0.2
@@ -3569,7 +3569,7 @@ packages:
'@web3-storage/multipart-parser': 1.0.0
cookie: 0.6.0
set-cookie-parser: 2.6.0
source-map: 0.7.3
source-map: 0.7.4
typescript: 4.9.5
dev: true
@@ -4915,7 +4915,7 @@ packages:
dependencies:
'@types/node': 16.18.11
'@types/source-list-map': 0.1.2
source-map: 0.7.3
source-map: 0.7.4
dev: true
/@types/webpack@4.41.33:
@@ -8645,7 +8645,7 @@ packages:
dependencies:
'@types/estree-jsx': 1.0.5
astring: 1.8.6
source-map: 0.7.3
source-map: 0.7.4
dev: true
/estree-util-value-to-estree@1.3.0:
@@ -14189,11 +14189,10 @@ packages:
/source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
requiresBuild: true
dev: true
/source-map@0.7.3:
resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
/source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
dev: true

View File

@@ -178,7 +178,32 @@ async function runProbe(probe, deploymentId, deploymentUrl, ctx) {
fetchOpts.headers['content-type'] = 'application/json';
fetchOpts.body = JSON.stringify(probe.body);
}
const { text, resp } = await fetchDeploymentUrl(probeUrl, fetchOpts);
let result = await fetchDeploymentUrl(probeUrl, fetchOpts);
// If we receive the preview page from Vercel, the real page should appear momentarily,
// retry a few times before running the probe checks
const checkForPreviewPage = text => {
return text.includes('This page will update once the build completes');
};
let isShowingBuildPreviewPage = checkForPreviewPage(result.text);
for (let retryCount = 0; retryCount < 10; retryCount++) {
if (!isShowingBuildPreviewPage) {
break;
} else {
result = await fetchDeploymentUrl(probeUrl, fetchOpts);
isShowingBuildPreviewPage = checkForPreviewPage(result.text);
if (!isShowingBuildPreviewPage) {
break;
}
}
await new Promise(r => setTimeout(r, 1000));
}
if (isShowingBuildPreviewPage) {
throw new Error(`Timed out while waiting for preview page to be replaced`);
}
const { text, resp } = result;
logWithinTest('finished testing', JSON.stringify(probe));
let hadTest = false;