mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-12 12:57:47 +00:00
Compare commits
23 Commits
@vercel/py
...
@vercel/ro
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
925c8ba18c | ||
|
|
19804b78a9 | ||
|
|
f774d5f7a2 | ||
|
|
9bf8a68685 | ||
|
|
294935a9c5 | ||
|
|
778c287964 | ||
|
|
7a9a519517 | ||
|
|
52b2892b80 | ||
|
|
ee4ba6ccbe | ||
|
|
07a09b7880 | ||
|
|
b62c40586a | ||
|
|
d07eb34e38 | ||
|
|
46d0503361 | ||
|
|
349df907a8 | ||
|
|
e5f5ba0ae8 | ||
|
|
b2ccbf4881 | ||
|
|
434c794713 | ||
|
|
d8f5052d9a | ||
|
|
10d14488db | ||
|
|
c29f2b2fbd | ||
|
|
46348201b4 | ||
|
|
509926545e | ||
|
|
70c8b32cf0 |
@@ -8,7 +8,7 @@ on:
|
||||
- cron: '0 0 * * 0'
|
||||
|
||||
jobs:
|
||||
create-pull-request:
|
||||
update-gatsby-fixtures:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -16,9 +16,12 @@ jobs:
|
||||
# 0 means fetch all commits so we can commit and push in the script below
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
- name: Enable corepack
|
||||
run: corepack enable pnpm
|
||||
- name: Create Pull Request
|
||||
- name: Update Gatsby Fixtures
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
4
.github/workflows/publish.yml
vendored
4
.github/workflows/publish.yml
vendored
@@ -46,8 +46,8 @@ jobs:
|
||||
node-version: 16
|
||||
- name: install npm@9
|
||||
run: npm i -g npm@9
|
||||
- name: install pnpm@7.24.2
|
||||
run: npm i -g pnpm@7.24.2
|
||||
- name: install pnpm@7.31.0
|
||||
run: npm i -g pnpm@7.31.0
|
||||
- name: Install
|
||||
if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }}
|
||||
run: pnpm install
|
||||
|
||||
44
.github/workflows/test-integration-cli.yml
vendored
44
.github/workflows/test-integration-cli.yml
vendored
@@ -1,44 +0,0 @@
|
||||
name: CLI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- '!*'
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
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:
|
||||
test:
|
||||
name: CLI
|
||||
timeout-minutes: 40
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node: [16]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- name: install pnpm@7.24.2
|
||||
run: npm i -g pnpm@7.24.2
|
||||
- run: pnpm install
|
||||
- run: pnpm run build
|
||||
- run: pnpm test-cli
|
||||
env:
|
||||
VERCEL_TEST_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
|
||||
VERCEL_TEST_REGISTRATION_URL: ${{ secrets.VERCEL_TEST_REGISTRATION_URL }}
|
||||
4
.github/workflows/test-lint.yml
vendored
4
.github/workflows/test-lint.yml
vendored
@@ -28,8 +28,8 @@ jobs:
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
- name: install pnpm@7.24.2
|
||||
run: npm i -g pnpm@7.24.2
|
||||
- name: install pnpm@7.31.0
|
||||
run: npm i -g pnpm@7.31.0
|
||||
- run: pnpm install
|
||||
- run: pnpm run lint
|
||||
- run: pnpm run prettier-check
|
||||
|
||||
8
.github/workflows/test.yml
vendored
8
.github/workflows/test.yml
vendored
@@ -32,8 +32,8 @@ jobs:
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
- name: install pnpm@7.24.2
|
||||
run: npm i -g pnpm@7.24.2
|
||||
- name: install pnpm@7.31.0
|
||||
run: npm i -g pnpm@7.31.0
|
||||
- run: pnpm install
|
||||
- id: set-tests
|
||||
run: |
|
||||
@@ -71,8 +71,8 @@ jobs:
|
||||
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/
|
||||
|
||||
- name: install pnpm@7.24.2
|
||||
run: npm i -g pnpm@7.24.2
|
||||
- name: install pnpm@7.31.0
|
||||
run: npm i -g pnpm@7.31.0
|
||||
|
||||
- run: pnpm install
|
||||
|
||||
|
||||
5
examples/nextjs/.gitignore
vendored
5
examples/nextjs/.gitignore
vendored
@@ -23,10 +23,13 @@
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
463
examples/nextjs/package-lock.json
generated
463
examples/nextjs/package-lock.json
generated
@@ -8,9 +8,9 @@
|
||||
"name": "nextjs",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"eslint": "8.35.0",
|
||||
"eslint-config-next": "13.2.4",
|
||||
"next": "13.2.4",
|
||||
"eslint": "8.37.0",
|
||||
"eslint-config-next": "13.3.0",
|
||||
"next": "13.3.0",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0"
|
||||
}
|
||||
@@ -26,14 +26,36 @@
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
||||
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
|
||||
"dependencies": {
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint-community/regexpp": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz",
|
||||
"integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==",
|
||||
"engines": {
|
||||
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz",
|
||||
"integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
|
||||
"integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.4",
|
||||
"debug": "^4.3.2",
|
||||
"espree": "^9.4.0",
|
||||
"espree": "^9.5.1",
|
||||
"globals": "^13.19.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.2.1",
|
||||
@@ -49,9 +71,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.35.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz",
|
||||
"integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==",
|
||||
"version": "8.37.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz",
|
||||
"integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==",
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
@@ -87,52 +109,22 @@
|
||||
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
|
||||
},
|
||||
"node_modules/@next/env": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz",
|
||||
"integrity": "sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA=="
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.3.0.tgz",
|
||||
"integrity": "sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ=="
|
||||
},
|
||||
"node_modules/@next/eslint-plugin-next": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz",
|
||||
"integrity": "sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.3.0.tgz",
|
||||
"integrity": "sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==",
|
||||
"dependencies": {
|
||||
"glob": "7.1.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-android-arm-eabi": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz",
|
||||
"integrity": "sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-android-arm64": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz",
|
||||
"integrity": "sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-arm64": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz",
|
||||
"integrity": "sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.3.0.tgz",
|
||||
"integrity": "sha512-DmIQCNq6JtccLPPBzf0dgh2vzMWt5wjxbP71pCi5EWpWYE3MsP6FcRXi4MlAmFNDQOfcFXR2r7kBeG1LpZUh1w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -145,9 +137,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-x64": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz",
|
||||
"integrity": "sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.3.0.tgz",
|
||||
"integrity": "sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -159,40 +151,10 @@
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-freebsd-x64": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz",
|
||||
"integrity": "sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm-gnueabihf": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz",
|
||||
"integrity": "sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz",
|
||||
"integrity": "sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.3.0.tgz",
|
||||
"integrity": "sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -205,9 +167,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-musl": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz",
|
||||
"integrity": "sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.3.0.tgz",
|
||||
"integrity": "sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -220,9 +182,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-gnu": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz",
|
||||
"integrity": "sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.3.0.tgz",
|
||||
"integrity": "sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -235,9 +197,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-musl": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz",
|
||||
"integrity": "sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.3.0.tgz",
|
||||
"integrity": "sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -250,9 +212,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz",
|
||||
"integrity": "sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.3.0.tgz",
|
||||
"integrity": "sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -265,9 +227,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz",
|
||||
"integrity": "sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.3.0.tgz",
|
||||
"integrity": "sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@@ -280,9 +242,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-x64-msvc": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz",
|
||||
"integrity": "sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.3.0.tgz",
|
||||
"integrity": "sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -364,13 +326,13 @@
|
||||
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "5.54.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.1.tgz",
|
||||
"integrity": "sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==",
|
||||
"version": "5.57.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.1.tgz",
|
||||
"integrity": "sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "5.54.1",
|
||||
"@typescript-eslint/types": "5.54.1",
|
||||
"@typescript-eslint/typescript-estree": "5.54.1",
|
||||
"@typescript-eslint/scope-manager": "5.57.1",
|
||||
"@typescript-eslint/types": "5.57.1",
|
||||
"@typescript-eslint/typescript-estree": "5.57.1",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@@ -390,12 +352,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "5.54.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz",
|
||||
"integrity": "sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==",
|
||||
"version": "5.57.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz",
|
||||
"integrity": "sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.54.1",
|
||||
"@typescript-eslint/visitor-keys": "5.54.1"
|
||||
"@typescript-eslint/types": "5.57.1",
|
||||
"@typescript-eslint/visitor-keys": "5.57.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@@ -406,9 +368,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "5.54.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.1.tgz",
|
||||
"integrity": "sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==",
|
||||
"version": "5.57.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.1.tgz",
|
||||
"integrity": "sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==",
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
@@ -418,12 +380,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "5.54.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz",
|
||||
"integrity": "sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==",
|
||||
"version": "5.57.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz",
|
||||
"integrity": "sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.54.1",
|
||||
"@typescript-eslint/visitor-keys": "5.54.1",
|
||||
"@typescript-eslint/types": "5.57.1",
|
||||
"@typescript-eslint/visitor-keys": "5.57.1",
|
||||
"debug": "^4.3.4",
|
||||
"globby": "^11.1.0",
|
||||
"is-glob": "^4.0.3",
|
||||
@@ -444,11 +406,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "5.54.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz",
|
||||
"integrity": "sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==",
|
||||
"version": "5.57.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz",
|
||||
"integrity": "sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.54.1",
|
||||
"@typescript-eslint/types": "5.57.1",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -528,6 +490,18 @@
|
||||
"deep-equal": "^2.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/array-buffer-byte-length": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
|
||||
"integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.2",
|
||||
"is-array-buffer": "^3.0.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/array-includes": {
|
||||
"version": "3.1.6",
|
||||
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
|
||||
@@ -657,6 +631,17 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/busboy": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
|
||||
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
|
||||
"dependencies": {
|
||||
"streamsearch": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.16.0"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bind": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||
@@ -678,9 +663,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001464",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001464.tgz",
|
||||
"integrity": "sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==",
|
||||
"version": "1.0.30001474",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz",
|
||||
"integrity": "sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -689,6 +674,10 @@
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -862,17 +851,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/es-abstract": {
|
||||
"version": "1.21.1",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz",
|
||||
"integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==",
|
||||
"version": "1.21.2",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
|
||||
"integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
|
||||
"dependencies": {
|
||||
"array-buffer-byte-length": "^1.0.0",
|
||||
"available-typed-arrays": "^1.0.5",
|
||||
"call-bind": "^1.0.2",
|
||||
"es-set-tostringtag": "^2.0.1",
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"function.prototype.name": "^1.1.5",
|
||||
"get-intrinsic": "^1.1.3",
|
||||
"get-intrinsic": "^1.2.0",
|
||||
"get-symbol-description": "^1.0.0",
|
||||
"globalthis": "^1.0.3",
|
||||
"gopd": "^1.0.1",
|
||||
@@ -880,8 +869,8 @@
|
||||
"has-property-descriptors": "^1.0.0",
|
||||
"has-proto": "^1.0.1",
|
||||
"has-symbols": "^1.0.3",
|
||||
"internal-slot": "^1.0.4",
|
||||
"is-array-buffer": "^3.0.1",
|
||||
"internal-slot": "^1.0.5",
|
||||
"is-array-buffer": "^3.0.2",
|
||||
"is-callable": "^1.2.7",
|
||||
"is-negative-zero": "^2.0.2",
|
||||
"is-regex": "^1.1.4",
|
||||
@@ -889,11 +878,12 @@
|
||||
"is-string": "^1.0.7",
|
||||
"is-typed-array": "^1.1.10",
|
||||
"is-weakref": "^1.0.2",
|
||||
"object-inspect": "^1.12.2",
|
||||
"object-inspect": "^1.12.3",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.4",
|
||||
"regexp.prototype.flags": "^1.4.3",
|
||||
"safe-regex-test": "^1.0.0",
|
||||
"string.prototype.trim": "^1.2.7",
|
||||
"string.prototype.trimend": "^1.0.6",
|
||||
"string.prototype.trimstart": "^1.0.6",
|
||||
"typed-array-length": "^1.0.4",
|
||||
@@ -975,12 +965,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.35.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz",
|
||||
"integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==",
|
||||
"version": "8.37.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz",
|
||||
"integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==",
|
||||
"dependencies": {
|
||||
"@eslint/eslintrc": "^2.0.0",
|
||||
"@eslint/js": "8.35.0",
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@eslint/eslintrc": "^2.0.2",
|
||||
"@eslint/js": "8.37.0",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
@@ -991,9 +983,8 @@
|
||||
"doctrine": "^3.0.0",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-utils": "^3.0.0",
|
||||
"eslint-visitor-keys": "^3.3.0",
|
||||
"espree": "^9.4.0",
|
||||
"eslint-visitor-keys": "^3.4.0",
|
||||
"espree": "^9.5.1",
|
||||
"esquery": "^1.4.2",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
@@ -1015,7 +1006,6 @@
|
||||
"minimatch": "^3.1.2",
|
||||
"natural-compare": "^1.4.0",
|
||||
"optionator": "^0.9.1",
|
||||
"regexpp": "^3.2.0",
|
||||
"strip-ansi": "^6.0.1",
|
||||
"strip-json-comments": "^3.1.0",
|
||||
"text-table": "^0.2.0"
|
||||
@@ -1031,11 +1021,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-config-next": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.2.4.tgz",
|
||||
"integrity": "sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.3.0.tgz",
|
||||
"integrity": "sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==",
|
||||
"dependencies": {
|
||||
"@next/eslint-plugin-next": "13.2.4",
|
||||
"@next/eslint-plugin-next": "13.3.0",
|
||||
"@rushstack/eslint-patch": "^1.1.3",
|
||||
"@typescript-eslint/parser": "^5.42.0",
|
||||
"eslint-import-resolver-node": "^0.3.6",
|
||||
@@ -1074,17 +1064,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-import-resolver-typescript": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz",
|
||||
"integrity": "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==",
|
||||
"version": "3.5.5",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz",
|
||||
"integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
"enhanced-resolve": "^5.10.0",
|
||||
"get-tsconfig": "^4.2.0",
|
||||
"globby": "^13.1.2",
|
||||
"is-core-module": "^2.10.0",
|
||||
"enhanced-resolve": "^5.12.0",
|
||||
"eslint-module-utils": "^2.7.4",
|
||||
"get-tsconfig": "^4.5.0",
|
||||
"globby": "^13.1.3",
|
||||
"is-core-module": "^2.11.0",
|
||||
"is-glob": "^4.0.3",
|
||||
"synckit": "^0.8.4"
|
||||
"synckit": "^0.8.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
@@ -1328,47 +1319,25 @@
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-utils": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
|
||||
"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
|
||||
"dependencies": {
|
||||
"eslint-visitor-keys": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/mysticatea"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": ">=5"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
|
||||
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-visitor-keys": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
|
||||
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
|
||||
"integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "9.4.1",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
|
||||
"integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
|
||||
"version": "9.5.1",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
|
||||
"integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
|
||||
"dependencies": {
|
||||
"acorn": "^8.8.0",
|
||||
"acorn-jsx": "^5.3.2",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
"eslint-visitor-keys": "^3.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@@ -1590,9 +1559,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/get-tsconfig": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.4.0.tgz",
|
||||
"integrity": "sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==",
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz",
|
||||
"integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==",
|
||||
"funding": {
|
||||
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
|
||||
}
|
||||
@@ -1696,9 +1665,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.10",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
|
||||
},
|
||||
"node_modules/grapheme-splitter": {
|
||||
"version": "1.0.4",
|
||||
@@ -2142,9 +2111,9 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
||||
},
|
||||
"node_modules/js-sdsl": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
|
||||
"integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
|
||||
"integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/js-sdsl"
|
||||
@@ -2310,9 +2279,15 @@
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
@@ -2326,12 +2301,13 @@
|
||||
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
|
||||
},
|
||||
"node_modules/next": {
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-13.2.4.tgz",
|
||||
"integrity": "sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==",
|
||||
"version": "13.3.0",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-13.3.0.tgz",
|
||||
"integrity": "sha512-OVTw8MpIPa12+DCUkPqRGPS3thlJPcwae2ZL4xti3iBff27goH024xy4q2lhlsdoYiKOi8Kz6uJoLW/GXwgfOA==",
|
||||
"dependencies": {
|
||||
"@next/env": "13.2.4",
|
||||
"@next/env": "13.3.0",
|
||||
"@swc/helpers": "0.4.14",
|
||||
"busboy": "1.6.0",
|
||||
"caniuse-lite": "^1.0.30001406",
|
||||
"postcss": "8.4.14",
|
||||
"styled-jsx": "5.1.1"
|
||||
@@ -2343,22 +2319,18 @@
|
||||
"node": ">=14.6.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@next/swc-android-arm-eabi": "13.2.4",
|
||||
"@next/swc-android-arm64": "13.2.4",
|
||||
"@next/swc-darwin-arm64": "13.2.4",
|
||||
"@next/swc-darwin-x64": "13.2.4",
|
||||
"@next/swc-freebsd-x64": "13.2.4",
|
||||
"@next/swc-linux-arm-gnueabihf": "13.2.4",
|
||||
"@next/swc-linux-arm64-gnu": "13.2.4",
|
||||
"@next/swc-linux-arm64-musl": "13.2.4",
|
||||
"@next/swc-linux-x64-gnu": "13.2.4",
|
||||
"@next/swc-linux-x64-musl": "13.2.4",
|
||||
"@next/swc-win32-arm64-msvc": "13.2.4",
|
||||
"@next/swc-win32-ia32-msvc": "13.2.4",
|
||||
"@next/swc-win32-x64-msvc": "13.2.4"
|
||||
"@next/swc-darwin-arm64": "13.3.0",
|
||||
"@next/swc-darwin-x64": "13.3.0",
|
||||
"@next/swc-linux-arm64-gnu": "13.3.0",
|
||||
"@next/swc-linux-arm64-musl": "13.3.0",
|
||||
"@next/swc-linux-x64-gnu": "13.3.0",
|
||||
"@next/swc-linux-x64-musl": "13.3.0",
|
||||
"@next/swc-win32-arm64-msvc": "13.3.0",
|
||||
"@next/swc-win32-ia32-msvc": "13.3.0",
|
||||
"@next/swc-win32-x64-msvc": "13.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": "^1.4.0",
|
||||
"@opentelemetry/api": "^1.1.0",
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^6.0.0 || ^7.0.0",
|
||||
"react": "^18.2.0",
|
||||
@@ -2742,23 +2714,12 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/regexpp": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
|
||||
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/mysticatea"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.22.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
|
||||
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
|
||||
"version": "1.22.2",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
|
||||
"integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
|
||||
"dependencies": {
|
||||
"is-core-module": "^2.9.0",
|
||||
"is-core-module": "^2.11.0",
|
||||
"path-parse": "^1.0.7",
|
||||
"supports-preserve-symlinks-flag": "^1.0.0"
|
||||
},
|
||||
@@ -2916,6 +2877,14 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/streamsearch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
||||
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/string.prototype.matchall": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
|
||||
@@ -2934,6 +2903,22 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/string.prototype.trim": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
|
||||
"integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.2",
|
||||
"define-properties": "^1.1.4",
|
||||
"es-abstract": "^1.20.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/string.prototype.trimend": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
|
||||
@@ -3153,16 +3138,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.9.5",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
|
||||
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz",
|
||||
"integrity": "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.2.0"
|
||||
"node": ">=12.20"
|
||||
}
|
||||
},
|
||||
"node_modules/unbox-primitive": {
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint": "8.35.0",
|
||||
"eslint-config-next": "13.2.4",
|
||||
"next": "13.2.4",
|
||||
"eslint": "8.37.0",
|
||||
"eslint-config-next": "13.3.0",
|
||||
"next": "13.3.0",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0"
|
||||
}
|
||||
|
||||
@@ -48,15 +48,6 @@ export default function Home() {
|
||||
height={37}
|
||||
priority
|
||||
/>
|
||||
<div className={styles.thirteen}>
|
||||
<Image
|
||||
src="/thirteen.svg"
|
||||
alt="13"
|
||||
width={40}
|
||||
height={31}
|
||||
priority
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.grid}>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="31" fill="none"><g opacity=".9"><path fill="url(#a)" d="M13 .4v29.3H7V6.3h-.2L0 10.5V5L7.2.4H13Z"/><path fill="url(#b)" d="M28.8 30.1c-2.2 0-4-.3-5.7-1-1.7-.8-3-1.8-4-3.1a7.7 7.7 0 0 1-1.4-4.6h6.2c0 .8.3 1.4.7 2 .4.5 1 .9 1.7 1.2.7.3 1.6.4 2.5.4 1 0 1.7-.2 2.5-.5.7-.3 1.3-.8 1.7-1.4.4-.6.6-1.2.6-2s-.2-1.5-.7-2.1c-.4-.6-1-1-1.8-1.4-.8-.4-1.8-.5-2.9-.5h-2.7v-4.6h2.7a6 6 0 0 0 2.5-.5 4 4 0 0 0 1.7-1.3c.4-.6.6-1.3.6-2a3.5 3.5 0 0 0-2-3.3 5.6 5.6 0 0 0-4.5 0 4 4 0 0 0-1.7 1.2c-.4.6-.6 1.2-.6 2h-6c0-1.7.6-3.2 1.5-4.5 1-1.3 2.2-2.3 3.8-3C25 .4 26.8 0 28.8 0s3.8.4 5.3 1.1c1.5.7 2.7 1.7 3.6 3a7.2 7.2 0 0 1 1.2 4.2c0 1.6-.5 3-1.5 4a7 7 0 0 1-4 2.2v.2c2.2.3 3.8 1 5 2.2a6.4 6.4 0 0 1 1.6 4.6c0 1.7-.5 3.1-1.4 4.4a9.7 9.7 0 0 1-4 3.1c-1.7.8-3.7 1.1-5.8 1.1Z"/></g><defs><linearGradient id="a" x1="20" x2="20" y1="0" y2="30.1" gradientUnits="userSpaceOnUse"><stop/><stop offset="1" stop-color="#3D3D3D"/></linearGradient><linearGradient id="b" x1="20" x2="20" y1="0" y2="30.1" gradientUnits="userSpaceOnUse"><stop/><stop offset="1" stop-color="#3D3D3D"/></linearGradient></defs></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -104,53 +104,9 @@
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.logo,
|
||||
.thirteen {
|
||||
.logo {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.thirteen {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
padding: 25px 10px;
|
||||
margin-left: 16px;
|
||||
transform: translateZ(0);
|
||||
border-radius: var(--border-radius);
|
||||
overflow: hidden;
|
||||
box-shadow: 0px 2px 8px -1px #0000001a;
|
||||
}
|
||||
|
||||
.thirteen::before,
|
||||
.thirteen::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Conic Gradient Animation */
|
||||
.thirteen::before {
|
||||
animation: 6s rotate linear infinite;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: var(--tile-border);
|
||||
}
|
||||
|
||||
/* Inner Square */
|
||||
.thirteen::after {
|
||||
inset: 0;
|
||||
padding: 1px;
|
||||
border-radius: var(--border-radius);
|
||||
background: linear-gradient(
|
||||
to bottom right,
|
||||
rgba(var(--tile-start-rgb), 1),
|
||||
rgba(var(--tile-end-rgb), 1)
|
||||
);
|
||||
background-clip: content-box;
|
||||
}
|
||||
|
||||
/* Enable hover only on non-touch devices */
|
||||
@media (hover: hover) and (pointer: fine) {
|
||||
.card:hover {
|
||||
@@ -164,10 +120,6 @@
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion) {
|
||||
.thirteen::before {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.card:hover span {
|
||||
transform: none;
|
||||
}
|
||||
@@ -262,8 +214,7 @@
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
.logo,
|
||||
.thirteen img {
|
||||
.logo {
|
||||
filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
|
||||
}
|
||||
}
|
||||
|
||||
28
internals/get-package-json/package.json
Normal file
28
internals/get-package-json/package.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@vercel-internals/get-package-json",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.js",
|
||||
"files": [
|
||||
"dist/*"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"test": "jest --env node --verbose --runInBand --bail",
|
||||
"test-unit": "pnpm test tests/unit"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "29.5.0",
|
||||
"@types/node": "14.14.31",
|
||||
"@vercel-internals/tsconfig": "*",
|
||||
"@vercel/style-guide": "4.0.2",
|
||||
"jest": "29.5.0",
|
||||
"ts-jest": "29.1.0",
|
||||
"typescript": "4.9.4"
|
||||
},
|
||||
"jest": {
|
||||
"verbose": true,
|
||||
"preset": "ts-jest",
|
||||
"testEnvironment": "node"
|
||||
}
|
||||
}
|
||||
58
internals/get-package-json/src/index.ts
Normal file
58
internals/get-package-json/src/index.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
const cache = new Map();
|
||||
|
||||
function getPackageJSONPath(dir: string) {
|
||||
return path.join(dir, 'package.json');
|
||||
}
|
||||
|
||||
function captureCallerCallSite() {
|
||||
const _prepareStackTrace = Error.prepareStackTrace;
|
||||
|
||||
let callSite;
|
||||
try {
|
||||
Error.prepareStackTrace = (_, stack) => stack;
|
||||
|
||||
// The `stack` reference above is of type `Array<NodeJS.CallSite>`
|
||||
const callSites = new Error().stack as unknown as Array<NodeJS.CallSite>;
|
||||
|
||||
// TypeScript rule noUncheckedIndexedAccess makes `callSites[2]` potentially
|
||||
// undefined; however, we can safely assert it is not undefined as the
|
||||
// callstack will always have at least 3 entries, the first being this
|
||||
// function, the second being `getPackageJSON`, and the third wherever its
|
||||
// being called from.
|
||||
callSite = callSites[2]!;
|
||||
} finally {
|
||||
Error.prepareStackTrace = _prepareStackTrace;
|
||||
}
|
||||
|
||||
return callSite;
|
||||
}
|
||||
|
||||
export function getPackageJSON() {
|
||||
const callSite = captureCallerCallSite();
|
||||
// Get the file name of where this function was called. It is guaranteed that
|
||||
// the only way for `getFileName` to return `undefined` is if this function is
|
||||
// called using `eval` thus it is safe to assert `filePath` is defined at this
|
||||
// point.
|
||||
const filePath = (callSite.getFileName() ||
|
||||
callSite.getEvalOrigin()) as string;
|
||||
|
||||
let rootDir = path.dirname(filePath);
|
||||
|
||||
let packageJSONPath = getPackageJSONPath(rootDir);
|
||||
while (!fs.existsSync(packageJSONPath)) {
|
||||
rootDir = path.join(rootDir, '..');
|
||||
packageJSONPath = getPackageJSONPath(rootDir);
|
||||
}
|
||||
|
||||
let packageJSON = cache.get(packageJSONPath);
|
||||
|
||||
if (!packageJSON) {
|
||||
packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'));
|
||||
cache.set(packageJSONPath, packageJSON);
|
||||
}
|
||||
|
||||
return packageJSON;
|
||||
}
|
||||
7
internals/get-package-json/tests/tsconfig.json
Normal file
7
internals/get-package-json/tests/tsconfig.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"noEmit": true
|
||||
},
|
||||
"include": ["./**/*.ts"]
|
||||
}
|
||||
20
internals/get-package-json/tests/unit/cache.test.ts
Normal file
20
internals/get-package-json/tests/unit/cache.test.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { getPackageJSON } from '../../src/index';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
test('getPackageJSON caches read operations', () => {
|
||||
const expected = JSON.parse(
|
||||
fs.readFileSync(path.join(__dirname, '../../package.json'), 'utf-8')
|
||||
);
|
||||
expect(expected.name).toBe('@vercel-internals/get-package-json');
|
||||
|
||||
const readFileSyncSpy = jest.spyOn(fs, 'readFileSync');
|
||||
|
||||
const actual = getPackageJSON();
|
||||
expect(actual).toStrictEqual(expected);
|
||||
expect(readFileSyncSpy).toBeCalledTimes(1);
|
||||
|
||||
const cacheHit = getPackageJSON();
|
||||
expect(cacheHit).toStrictEqual(expected);
|
||||
expect(readFileSyncSpy).toBeCalledTimes(1);
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
import { getPackageJSON } from '../../../../../src/index';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
test('getPackageJSON should return the package.json', () => {
|
||||
const expected = JSON.parse(
|
||||
fs.readFileSync(path.join(__dirname, '../../package.json'), 'utf-8')
|
||||
);
|
||||
expect(expected.name).toBe('deeply-nested');
|
||||
const actual = getPackageJSON();
|
||||
expect(actual).toStrictEqual(expected);
|
||||
});
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "deeply-nested",
|
||||
"private": true
|
||||
}
|
||||
12
internals/get-package-json/tests/unit/getPackageJSON.test.ts
Normal file
12
internals/get-package-json/tests/unit/getPackageJSON.test.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { getPackageJSON } from '../../src/index';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
test('getPackageJSON should return the package.json', () => {
|
||||
const expected = JSON.parse(
|
||||
fs.readFileSync(path.join(__dirname, '../../package.json'), 'utf-8')
|
||||
);
|
||||
expect(expected.name).toBe('@vercel-internals/get-package-json');
|
||||
const actual = getPackageJSON();
|
||||
expect(actual).toStrictEqual(expected);
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
import { getPackageJSON } from '../../../src/index';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
test('getPackageJSON should return the package.json', () => {
|
||||
const expected = JSON.parse(
|
||||
fs.readFileSync(path.join(__dirname, 'package.json'), 'utf-8')
|
||||
);
|
||||
expect(expected.name).toBe('nested');
|
||||
const actual = getPackageJSON();
|
||||
expect(actual).toStrictEqual(expected);
|
||||
});
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "nested",
|
||||
"private": true
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
"declaration": true,
|
||||
"allowJs": true,
|
||||
"moduleResolution": "node",
|
||||
"target": "ES2020",
|
||||
"module": "commonjs",
|
||||
"lib": ["ES2020"],
|
||||
"resolveJsonModule": true,
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@vercel-internals/utils",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.js",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vercel-internals/tsconfig": "*",
|
||||
"@vercel/style-guide": "4.0.2",
|
||||
"typescript": "4.9.4"
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"license": "Apache-2.0",
|
||||
"packageManager": "pnpm@7.24.2",
|
||||
"packageManager": "pnpm@7.31.0",
|
||||
"dependencies": {
|
||||
"lerna": "5.6.2"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/build-utils",
|
||||
"version": "6.6.0",
|
||||
"license": "MIT",
|
||||
"version": "6.7.1",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.js",
|
||||
"homepage": "https://github.com/vercel/vercel/blob/main/DEVELOPING_A_RUNTIME.md",
|
||||
@@ -44,7 +44,7 @@
|
||||
"ignore": "4.0.6",
|
||||
"into-stream": "5.0.0",
|
||||
"js-yaml": "3.13.1",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"multistream": "2.1.1",
|
||||
"node-fetch": "2.6.7",
|
||||
"semver": "6.1.1",
|
||||
|
||||
@@ -23,6 +23,10 @@ export interface LambdaOptionsBase {
|
||||
regions?: string[];
|
||||
supportsMultiPayloads?: boolean;
|
||||
supportsWrapper?: boolean;
|
||||
supportsResponseStreaming?: boolean;
|
||||
/**
|
||||
* @deprecated Use the `supportsResponseStreaming` property instead.
|
||||
*/
|
||||
experimentalResponseStreaming?: boolean;
|
||||
operationType?: string;
|
||||
framework?: FunctionFramework;
|
||||
@@ -69,7 +73,7 @@ export class Lambda {
|
||||
zipBuffer?: Buffer;
|
||||
supportsMultiPayloads?: boolean;
|
||||
supportsWrapper?: boolean;
|
||||
experimentalResponseStreaming?: boolean;
|
||||
supportsResponseStreaming?: boolean;
|
||||
framework?: FunctionFramework;
|
||||
|
||||
constructor(opts: LambdaOptions) {
|
||||
@@ -83,6 +87,7 @@ export class Lambda {
|
||||
regions,
|
||||
supportsMultiPayloads,
|
||||
supportsWrapper,
|
||||
supportsResponseStreaming,
|
||||
experimentalResponseStreaming,
|
||||
operationType,
|
||||
framework,
|
||||
@@ -162,7 +167,8 @@ export class Lambda {
|
||||
this.zipBuffer = 'zipBuffer' in opts ? opts.zipBuffer : undefined;
|
||||
this.supportsMultiPayloads = supportsMultiPayloads;
|
||||
this.supportsWrapper = supportsWrapper;
|
||||
this.experimentalResponseStreaming = experimentalResponseStreaming;
|
||||
this.supportsResponseStreaming =
|
||||
supportsResponseStreaming ?? experimentalResponseStreaming;
|
||||
this.framework = framework;
|
||||
}
|
||||
|
||||
@@ -181,6 +187,16 @@ export class Lambda {
|
||||
}
|
||||
return zipBuffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use the `supportsResponseStreaming` property instead.
|
||||
*/
|
||||
get experimentalResponseStreaming(): boolean | undefined {
|
||||
return this.supportsResponseStreaming;
|
||||
}
|
||||
set experimentalResponseStreaming(v: boolean | undefined) {
|
||||
this.supportsResponseStreaming = v;
|
||||
}
|
||||
}
|
||||
|
||||
const sema = new Sema(10);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vercel",
|
||||
"version": "28.18.2",
|
||||
"version": "28.18.4",
|
||||
"preferGlobal": true,
|
||||
"license": "Apache-2.0",
|
||||
"description": "The command-line interface for Vercel",
|
||||
@@ -14,7 +14,7 @@
|
||||
"preinstall": "node ./scripts/preinstall.js",
|
||||
"test": "jest --env node --verbose --bail",
|
||||
"test-unit": "pnpm test test/unit/",
|
||||
"test-cli": "rimraf test/fixtures/integration && pnpm test test/integration.test.ts",
|
||||
"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",
|
||||
"build": "ts-node ./scripts/build.ts",
|
||||
@@ -32,16 +32,16 @@
|
||||
"node": ">= 14"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/go": "2.4.2",
|
||||
"@vercel/hydrogen": "0.0.60",
|
||||
"@vercel/next": "3.7.2",
|
||||
"@vercel/node": "2.10.1",
|
||||
"@vercel/python": "3.1.56",
|
||||
"@vercel/redwood": "1.1.12",
|
||||
"@vercel/remix-builder": "1.8.2",
|
||||
"@vercel/ruby": "1.3.73",
|
||||
"@vercel/static-build": "1.3.20"
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/go": "2.4.4",
|
||||
"@vercel/hydrogen": "0.0.62",
|
||||
"@vercel/next": "3.7.4",
|
||||
"@vercel/node": "2.10.3",
|
||||
"@vercel/python": "3.1.58",
|
||||
"@vercel/redwood": "1.1.14",
|
||||
"@vercel/remix-builder": "1.8.4",
|
||||
"@vercel/ruby": "1.3.75",
|
||||
"@vercel/static-build": "1.3.22"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@alex_neo/jest-expect-message": "1.0.5",
|
||||
@@ -84,14 +84,15 @@
|
||||
"@types/which": "1.3.2",
|
||||
"@types/write-json-file": "2.2.1",
|
||||
"@types/yauzl-promise": "2.1.0",
|
||||
"@vercel-internals/get-package-json": "*",
|
||||
"@vercel-internals/types": "*",
|
||||
"@vercel/client": "12.4.7",
|
||||
"@vercel/error-utils": "1.0.8",
|
||||
"@vercel/frameworks": "1.3.3",
|
||||
"@vercel/fs-detectors": "3.8.7",
|
||||
"@vercel/client": "12.4.9",
|
||||
"@vercel/error-utils": "1.0.9",
|
||||
"@vercel/frameworks": "1.3.4",
|
||||
"@vercel/fs-detectors": "3.8.9",
|
||||
"@vercel/fun": "1.0.4",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"@zeit/source-map-support": "0.6.2",
|
||||
"ajv": "6.12.2",
|
||||
"alpha-sort": "2.0.1",
|
||||
@@ -135,7 +136,7 @@
|
||||
"line-async-iterator": "3.0.0",
|
||||
"load-json-file": "3.0.0",
|
||||
"mime-types": "2.1.24",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"mri": "1.1.5",
|
||||
"ms": "2.1.2",
|
||||
"node-fetch": "2.6.7",
|
||||
|
||||
@@ -99,7 +99,7 @@ const main = async client => {
|
||||
|
||||
if (argv.help || !subcommand) {
|
||||
help();
|
||||
await exit(0);
|
||||
await exit(2);
|
||||
}
|
||||
|
||||
const {
|
||||
|
||||
@@ -1,14 +1,3 @@
|
||||
import fs from 'fs';
|
||||
import { join } from 'path';
|
||||
import { PackageJson } from '@vercel/build-utils';
|
||||
import { getPackageJSON } from '@vercel-internals/get-package-json';
|
||||
|
||||
let rootDir = __dirname;
|
||||
while (!fs.existsSync(join(rootDir, 'package.json'))) {
|
||||
rootDir = join(rootDir, '..');
|
||||
}
|
||||
|
||||
const pkgPath = join(rootDir, 'package.json');
|
||||
const pkg: PackageJson & typeof import('../../package.json') = JSON.parse(
|
||||
fs.readFileSync(pkgPath, 'utf8')
|
||||
);
|
||||
export default pkg;
|
||||
export default getPackageJSON() as typeof import('../../package.json');
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
"jest-transform-stub": "2.0.0",
|
||||
"json-loader": "0.5.7",
|
||||
"mini-css-extract-plugin": "0.4.3",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"promise-polyfill": "8.1.0",
|
||||
"regenerator-runtime": "0.13.2",
|
||||
"style-loader": "0.23.1",
|
||||
|
||||
57
packages/cli/test/helpers/exec.ts
Normal file
57
packages/cli/test/helpers/exec.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import execa from 'execa';
|
||||
import getGlobalDir from './get-global-dir';
|
||||
|
||||
const defaultOptions = {
|
||||
reject: false,
|
||||
};
|
||||
|
||||
let globalArgs: string[] = [];
|
||||
|
||||
function getGlobalArgs() {
|
||||
if (process.env.CI) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (globalArgs.length === 0) {
|
||||
globalArgs = ['-Q', getGlobalDir()];
|
||||
console.log(
|
||||
'No CI detected, adding defaultArgs to avoid polluting user settings',
|
||||
globalArgs
|
||||
);
|
||||
}
|
||||
|
||||
return globalArgs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute Vercel CLI subcommands.
|
||||
*/
|
||||
export function execCli(
|
||||
file: string,
|
||||
args: string[] = [],
|
||||
options?: execa.Options<string>
|
||||
): execa.ExecaChildProcess<string> {
|
||||
console.log(`$ vercel ${args.join(' ')}`);
|
||||
|
||||
const globalArgs = getGlobalArgs();
|
||||
|
||||
const combinedOptions: execa.Options<string> = {
|
||||
...defaultOptions,
|
||||
...options,
|
||||
};
|
||||
// @ts-ignore - allow overwriting readonly property "env"
|
||||
combinedOptions.env = combinedOptions.env ?? {};
|
||||
combinedOptions.env['NO_COLOR'] = combinedOptions.env['NO_COLOR'] ?? '1';
|
||||
|
||||
return execa(file, [...args, ...globalArgs], combinedOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute an abitrary command.
|
||||
*/
|
||||
export function exec(cwd: string, command: string, args: string[] = []) {
|
||||
return execa(command, args, {
|
||||
cwd,
|
||||
...defaultOptions,
|
||||
});
|
||||
}
|
||||
44
packages/cli/test/helpers/format-output.ts
Normal file
44
packages/cli/test/helpers/format-output.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
type ProcOrError = Partial<Error> & {
|
||||
stdout: string;
|
||||
stderr: string;
|
||||
};
|
||||
|
||||
function indent(content: string) {
|
||||
return ' ' + content.replace(/\n/g, '\n ');
|
||||
}
|
||||
|
||||
function getMessages(output: ProcOrError) {
|
||||
const { stdout, stderr, message } = output;
|
||||
const messages = [];
|
||||
|
||||
if (stdout) {
|
||||
messages.push(`Stdout:\n${indent(stdout)}`);
|
||||
}
|
||||
if (stderr) {
|
||||
messages.push(`Stderr:\n${indent(stderr)}`);
|
||||
}
|
||||
|
||||
// only show the spawn error if no better details are available
|
||||
if (messages.length === 0 && message) {
|
||||
messages.push(`Spawn Error:\n${indent(message)}`);
|
||||
}
|
||||
|
||||
return messages;
|
||||
}
|
||||
|
||||
function combineMessages(messages: string[], output: ProcOrError) {
|
||||
if (messages.length === 0) {
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
return messages.join(`\n\n-----\n\n`);
|
||||
}
|
||||
|
||||
export default function formatOutput(output: ProcOrError) {
|
||||
const messages = getMessages(output);
|
||||
const combinedMessage = combineMessages(messages, output);
|
||||
const borderedMessage = `-----\n\n${combinedMessage}\n\n-----`;
|
||||
|
||||
// add 2-space indent to match the Custom Message indent
|
||||
return indent(borderedMessage).trim();
|
||||
}
|
||||
21
packages/cli/test/helpers/get-global-dir.ts
Normal file
21
packages/cli/test/helpers/get-global-dir.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import path from 'path';
|
||||
import fs, { ensureDirSync } from 'fs-extra';
|
||||
import XDGAppPaths from 'xdg-app-paths';
|
||||
import { getCachedTmpDir } from './get-tmp-dir';
|
||||
|
||||
export default function getGlobalDir() {
|
||||
let globalDir: string;
|
||||
|
||||
if (process.env.CI) {
|
||||
globalDir = XDGAppPaths('com.vercel.cli').dataDirs()[0];
|
||||
} else {
|
||||
globalDir = path.join(getCachedTmpDir(), 'com.vercel.tests');
|
||||
}
|
||||
|
||||
if (!fs.existsSync(globalDir)) {
|
||||
console.log('Creating global config directory ', globalDir);
|
||||
ensureDirSync(globalDir);
|
||||
}
|
||||
|
||||
return globalDir;
|
||||
}
|
||||
36
packages/cli/test/helpers/get-tmp-dir.ts
Normal file
36
packages/cli/test/helpers/get-tmp-dir.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
// @ts-ignore
|
||||
import tmp from 'tmp-promise';
|
||||
import type { TmpDir } from './types';
|
||||
|
||||
const allTmpDirs: TmpDir[] = [];
|
||||
let cachedTmpDir: TmpDir | undefined;
|
||||
|
||||
export function getCachedTmpDir(): string {
|
||||
if (cachedTmpDir) {
|
||||
return cachedTmpDir.name;
|
||||
}
|
||||
|
||||
cachedTmpDir = tmp.dirSync({
|
||||
// This ensures the directory gets
|
||||
// deleted even if it has contents
|
||||
unsafeCleanup: true,
|
||||
}) as TmpDir;
|
||||
|
||||
allTmpDirs.push(cachedTmpDir);
|
||||
return cachedTmpDir.name;
|
||||
}
|
||||
|
||||
export function getNewTmpDir(): string {
|
||||
const tmpDir = tmp.dirSync({
|
||||
// This ensures the directory gets
|
||||
// deleted even if it has contents
|
||||
unsafeCleanup: true,
|
||||
}) as TmpDir;
|
||||
|
||||
allTmpDirs.push(tmpDir);
|
||||
return tmpDir.name;
|
||||
}
|
||||
|
||||
export function listTmpDirs() {
|
||||
return allTmpDirs;
|
||||
}
|
||||
27
packages/cli/test/helpers/setup-e2e-fixture.ts
Normal file
27
packages/cli/test/helpers/setup-e2e-fixture.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import path from 'path';
|
||||
import fs from 'fs-extra';
|
||||
import prepareFixtures from './prepare';
|
||||
import getGlobalDir from './get-global-dir';
|
||||
|
||||
function getTmpFixturesDir() {
|
||||
return path.join(getGlobalDir(), 'tmp-fixtures');
|
||||
}
|
||||
|
||||
export async function setupE2EFixture(name: string) {
|
||||
const directory = path.join(getTmpFixturesDir(), name);
|
||||
const config = path.join(directory, 'project.json');
|
||||
|
||||
// We need to remove it, otherwise we can't re-use fixtures
|
||||
if (fs.existsSync(config)) {
|
||||
fs.unlinkSync(config);
|
||||
}
|
||||
|
||||
return directory;
|
||||
}
|
||||
|
||||
export async function prepareE2EFixtures(
|
||||
contextName: string,
|
||||
binaryPath: string
|
||||
) {
|
||||
await prepareFixtures(contextName, binaryPath, getTmpFixturesDir());
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import findUp from 'find-up';
|
||||
import fs from 'fs-extra';
|
||||
import path from 'path';
|
||||
// @ts-ignore
|
||||
import tmp from 'tmp-promise';
|
||||
|
||||
// tmp is supposed to be able to clean up automatically, but this doesn't always work within jest.
|
||||
@@ -15,7 +16,7 @@ let tempNumber = 0;
|
||||
* Create a temp directory containing the given fixture name in a git repo.
|
||||
* Be sure to call `cleanupFixtures()` after all tests to clean up temp directories.
|
||||
*/
|
||||
export function setupFixture(fixtureName: string) {
|
||||
export function setupUnitFixture(fixtureName: string) {
|
||||
if (!fixturesRoot) {
|
||||
fixturesRoot = findUp.sync('fixtures', {
|
||||
cwd: __dirname,
|
||||
21
packages/cli/test/helpers/types.ts
Normal file
21
packages/cli/test/helpers/types.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import type execa from 'execa';
|
||||
|
||||
export interface TmpDir {
|
||||
name: string;
|
||||
removeCallback: () => void;
|
||||
}
|
||||
|
||||
export interface Build {
|
||||
use: string;
|
||||
}
|
||||
|
||||
export type NowJson = {
|
||||
name: string;
|
||||
};
|
||||
|
||||
export type DeploymentLike = {
|
||||
error?: Error;
|
||||
builds: Build[];
|
||||
};
|
||||
|
||||
export type CLIProcess = execa.ExecaChildProcess<string>;
|
||||
80
packages/cli/test/helpers/wait-for-prompt.ts
Normal file
80
packages/cli/test/helpers/wait-for-prompt.ts
Normal file
@@ -0,0 +1,80 @@
|
||||
import type { CLIProcess } from './types';
|
||||
|
||||
function getPromptErrorDetails(
|
||||
rawAssertion: string | Function | RegExp,
|
||||
mostRecentChunk: string
|
||||
) {
|
||||
const assertion = rawAssertion.toString().trim();
|
||||
const mostRecent = (mostRecentChunk || '').trim();
|
||||
return `Waiting for:\n "${assertion}"\nmost recent chunk was:\n "${mostRecent}"`;
|
||||
}
|
||||
|
||||
export default async function waitForPrompt(
|
||||
cp: CLIProcess,
|
||||
rawAssertion: string | RegExp | ((chunk: string) => boolean),
|
||||
timeout = 3000
|
||||
) {
|
||||
let assertion: (chunk: string) => boolean;
|
||||
if (typeof rawAssertion === 'string') {
|
||||
assertion = (chunk: string) => chunk.includes(rawAssertion);
|
||||
} else if (rawAssertion instanceof RegExp) {
|
||||
assertion = (chunk: string) => rawAssertion.test(chunk);
|
||||
} else {
|
||||
assertion = rawAssertion;
|
||||
}
|
||||
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
let mostRecentChunk = 'NO CHUNKS SO FAR';
|
||||
|
||||
console.log('Waiting for prompt...');
|
||||
const handleTimeout = setTimeout(() => {
|
||||
cleanup();
|
||||
const promptErrorDetails = getPromptErrorDetails(
|
||||
rawAssertion,
|
||||
mostRecentChunk
|
||||
);
|
||||
reject(
|
||||
new Error(
|
||||
`Timed out after ${timeout}ms in waitForPrompt. ${promptErrorDetails}`
|
||||
)
|
||||
);
|
||||
}, timeout);
|
||||
|
||||
const onComplete = () => {
|
||||
cleanup();
|
||||
const promptErrorDetails = getPromptErrorDetails(
|
||||
rawAssertion,
|
||||
mostRecentChunk
|
||||
);
|
||||
reject(
|
||||
new Error(
|
||||
`Process exited before prompt was found in waitForPrompt. ${promptErrorDetails}`
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
const onData = (rawChunk: Buffer) => {
|
||||
const chunk = rawChunk.toString();
|
||||
|
||||
mostRecentChunk = chunk;
|
||||
console.log('> ' + chunk);
|
||||
if (assertion(chunk)) {
|
||||
cleanup();
|
||||
resolve();
|
||||
}
|
||||
};
|
||||
|
||||
const cleanup = () => {
|
||||
cp.stdout?.off('data', onData);
|
||||
cp.stderr?.off('data', onData);
|
||||
cp.off('close', onComplete);
|
||||
cp.off('exit', onComplete);
|
||||
clearTimeout(handleTimeout);
|
||||
};
|
||||
|
||||
cp.stdout?.on('data', onData);
|
||||
cp.stderr?.on('data', onData);
|
||||
cp.on('close', onComplete);
|
||||
cp.on('exit', onComplete);
|
||||
});
|
||||
}
|
||||
1020
packages/cli/test/integration-1.test.ts
vendored
Normal file
1020
packages/cli/test/integration-1.test.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1291
packages/cli/test/integration-2.test.ts
vendored
Normal file
1291
packages/cli/test/integration-2.test.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1436
packages/cli/test/integration-3.test.ts
vendored
Normal file
1436
packages/cli/test/integration-3.test.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3816
packages/cli/test/integration.test.ts
vendored
3816
packages/cli/test/integration.test.ts
vendored
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@ import { randomBytes } from 'crypto';
|
||||
import { fileNameSymbol } from '@vercel/client';
|
||||
import { client } from '../../mocks/client';
|
||||
import deploy from '../../../src/commands/deploy';
|
||||
import { setupFixture } from '../../helpers/setup-fixture';
|
||||
import { setupUnitFixture } from '../../helpers/setup-unit-fixture';
|
||||
import { defaultProject, useProject } from '../../mocks/project';
|
||||
import { useTeams } from '../../mocks/team';
|
||||
import { useUser } from '../../mocks/user';
|
||||
@@ -39,7 +39,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should reject deploying when `--prebuilt` is used and `vc build` failed before Builders', async () => {
|
||||
const cwd = setupFixture('build-output-api-failed-before-builds');
|
||||
const cwd = setupUnitFixture('build-output-api-failed-before-builds');
|
||||
|
||||
client.setArgv('deploy', cwd, '--prebuilt');
|
||||
const exitCodePromise = deploy(client);
|
||||
@@ -50,7 +50,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should reject deploying when `--prebuilt` is used and `vc build` failed within a Builder', async () => {
|
||||
const cwd = setupFixture('build-output-api-failed-within-build');
|
||||
const cwd = setupUnitFixture('build-output-api-failed-within-build');
|
||||
|
||||
client.setArgv('deploy', cwd, '--prebuilt');
|
||||
const exitCodePromise = deploy(client);
|
||||
@@ -70,7 +70,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should reject deploying a directory that was built with a different target environment when `--prebuilt --prod` is used on "preview" output', async () => {
|
||||
const cwd = setupFixture('build-output-api-preview');
|
||||
const cwd = setupUnitFixture('build-output-api-preview');
|
||||
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
@@ -92,7 +92,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should reject deploying a directory that was built with a different target environment when `--prebuilt` is used on "production" output', async () => {
|
||||
const cwd = setupFixture('build-output-api-production');
|
||||
const cwd = setupUnitFixture('build-output-api-production');
|
||||
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
@@ -141,7 +141,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should send a tgz file when `--archive=tgz`', async () => {
|
||||
const cwd = setupFixture('commands/deploy/archive');
|
||||
const cwd = setupUnitFixture('commands/deploy/archive');
|
||||
const originalCwd = process.cwd();
|
||||
try {
|
||||
process.chdir(cwd);
|
||||
@@ -204,7 +204,7 @@ describe('deploy', () => {
|
||||
});
|
||||
|
||||
it('should upload missing files', async () => {
|
||||
const cwd = setupFixture('commands/deploy/archive');
|
||||
const cwd = setupUnitFixture('commands/deploy/archive');
|
||||
const originalCwd = process.cwd();
|
||||
|
||||
// Add random 1mb file
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs-extra';
|
||||
import path from 'path';
|
||||
import env from '../../../src/commands/env';
|
||||
import { setupFixture } from '../../helpers/setup-fixture';
|
||||
import { setupUnitFixture } from '../../helpers/setup-unit-fixture';
|
||||
import { client } from '../../mocks/client';
|
||||
import { ProjectEnvTarget, ProjectEnvType } from '@vercel-internals/types';
|
||||
import { defaultProject, useProject } from '../../mocks/project';
|
||||
@@ -11,7 +11,7 @@ import { useUser } from '../../mocks/user';
|
||||
describe('env', () => {
|
||||
describe('pull', () => {
|
||||
it('should handle pulling', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -35,7 +35,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should handle pulling from Preview env vars', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -70,7 +70,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should handle pulling from specific Git branch', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -107,7 +107,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should handle alternate filename', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -131,7 +131,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should use given environment', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -165,7 +165,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should throw an error when it does not recognize given environment', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -193,7 +193,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should expose production system env variables', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull');
|
||||
const cwd = setupUnitFixture('vercel-env-pull');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -220,7 +220,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should show a delta string', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull-delta');
|
||||
const cwd = setupUnitFixture('vercel-env-pull-delta');
|
||||
try {
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
@@ -264,7 +264,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should not show a delta string when it fails to read a file', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull-delta-corrupt');
|
||||
const cwd = setupUnitFixture('vercel-env-pull-delta-corrupt');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -280,7 +280,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should show that no changes were found', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull-delta-no-changes');
|
||||
const cwd = setupUnitFixture('vercel-env-pull-delta-no-changes');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -297,7 +297,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should correctly render delta string when env variable has quotes', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull-delta-quotes');
|
||||
const cwd = setupUnitFixture('vercel-env-pull-delta-quotes');
|
||||
try {
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
@@ -334,7 +334,7 @@ describe('env', () => {
|
||||
});
|
||||
|
||||
it('should correctly render delta string when local env variable has quotes', async () => {
|
||||
const cwd = setupFixture('vercel-env-pull-delta-quotes');
|
||||
const cwd = setupUnitFixture('vercel-env-pull-delta-quotes');
|
||||
try {
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'fs-extra';
|
||||
import path from 'path';
|
||||
import pull from '../../../src/commands/pull';
|
||||
import { setupFixture } from '../../helpers/setup-fixture';
|
||||
import { setupUnitFixture } from '../../helpers/setup-unit-fixture';
|
||||
import { client } from '../../mocks/client';
|
||||
import { defaultProject, useProject } from '../../mocks/project';
|
||||
import { useTeams } from '../../mocks/team';
|
||||
@@ -9,7 +9,7 @@ import { useUser } from '../../mocks/user';
|
||||
|
||||
describe('pull', () => {
|
||||
it('should handle pulling', async () => {
|
||||
const cwd = setupFixture('vercel-pull-next');
|
||||
const cwd = setupUnitFixture('vercel-pull-next');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -40,7 +40,7 @@ describe('pull', () => {
|
||||
it('should fail with message to pull without a link and without --env', async () => {
|
||||
client.stdin.isTTY = false;
|
||||
|
||||
const cwd = setupFixture('vercel-pull-unlinked');
|
||||
const cwd = setupUnitFixture('vercel-pull-unlinked');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('pull', () => {
|
||||
});
|
||||
|
||||
it('should fail without message to pull without a link and with --env', async () => {
|
||||
const cwd = setupFixture('vercel-pull-next');
|
||||
const cwd = setupUnitFixture('vercel-pull-next');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
|
||||
@@ -70,7 +70,7 @@ describe('pull', () => {
|
||||
process.env.VERCEL_PROJECT_ID = 'vercel-pull-next';
|
||||
process.env.VERCEL_ORG_ID = 'team_dummy';
|
||||
|
||||
const cwd = setupFixture('vercel-pull-next');
|
||||
const cwd = setupUnitFixture('vercel-pull-next');
|
||||
|
||||
// Remove the `.vercel` dir to ensure that the `pull`
|
||||
// command creates a new one based on env vars
|
||||
@@ -113,7 +113,7 @@ describe('pull', () => {
|
||||
});
|
||||
|
||||
it('should handle --environment=preview flag', async () => {
|
||||
const cwd = setupFixture('vercel-pull-next');
|
||||
const cwd = setupUnitFixture('vercel-pull-next');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
@@ -144,7 +144,7 @@ describe('pull', () => {
|
||||
});
|
||||
|
||||
it('should handle --environment=production flag', async () => {
|
||||
const cwd = setupFixture('vercel-pull-next');
|
||||
const cwd = setupUnitFixture('vercel-pull-next');
|
||||
useUser();
|
||||
useTeams('team_dummy');
|
||||
useProject({
|
||||
|
||||
@@ -4,7 +4,7 @@ import { defaultProject, useProject } from '../../mocks/project';
|
||||
import { Request, Response } from 'express';
|
||||
import rollback from '../../../src/commands/rollback';
|
||||
import { RollbackJobStatus, RollbackTarget } from '@vercel-internals/types';
|
||||
import { setupFixture } from '../../helpers/setup-fixture';
|
||||
import { setupUnitFixture } from '../../helpers/setup-unit-fixture';
|
||||
import { useDeployment } from '../../mocks/deployment';
|
||||
import { useTeams } from '../../mocks/team';
|
||||
import { useUser } from '../../mocks/user';
|
||||
@@ -307,7 +307,7 @@ function initRollbackTest({
|
||||
rollbackPollCount?: number;
|
||||
rollbackStatusCode?: number;
|
||||
} = {}) {
|
||||
const cwd = setupFixture('vercel-rollback');
|
||||
const cwd = setupUnitFixture('vercel-rollback');
|
||||
const user = useUser();
|
||||
useTeams('team_dummy');
|
||||
const { project } = useProject({
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"name": "@vercel/client",
|
||||
"version": "12.4.7",
|
||||
"version": "12.4.9",
|
||||
"main": "dist/index.js",
|
||||
"typings": "dist/index.d.ts",
|
||||
"homepage": "https://vercel.com",
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
@@ -43,8 +43,8 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"@zeit/fetch": "5.2.0",
|
||||
"async-retry": "1.2.3",
|
||||
"async-sema": "3.0.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/edge",
|
||||
"version": "0.3.1",
|
||||
"license": "MIT",
|
||||
"version": "0.3.2",
|
||||
"license": "Apache-2.0",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/error-utils",
|
||||
"version": "1.0.8",
|
||||
"version": "1.0.9",
|
||||
"description": "A collection of error utilities for vercel/vercel",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
@@ -14,7 +14,7 @@
|
||||
"test": "jest --coverage --env node --verbose",
|
||||
"test-unit": "pnpm test"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@types/jest": "29.2.1",
|
||||
"@types/node": "14.18.33",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@vercel/frameworks",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.4",
|
||||
"main": "./dist/frameworks.js",
|
||||
"types": "./dist/frameworks.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"license": "UNLICENSED",
|
||||
"license": "Apache-2.0",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"test": "jest --env node --verbose --runInBand --bail",
|
||||
@@ -21,7 +21,7 @@
|
||||
"@types/js-yaml": "3.12.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@types/node-fetch": "2.5.8",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"ajv": "6.12.2",
|
||||
"typescript": "4.3.4"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/fs-detectors",
|
||||
"version": "3.8.7",
|
||||
"version": "3.8.9",
|
||||
"description": "Vercel filesystem detectors",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -12,20 +12,20 @@
|
||||
"url": "https://github.com/vercel/vercel.git",
|
||||
"directory": "packages/fs-detectors"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"test": "jest --env node --verbose --runInBand --bail test/unit.*test.*",
|
||||
"test-unit": "pnpm test"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/error-utils": "1.0.8",
|
||||
"@vercel/frameworks": "1.3.3",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/error-utils": "1.0.9",
|
||||
"@vercel/frameworks": "1.3.4",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"glob": "8.0.3",
|
||||
"js-yaml": "4.1.0",
|
||||
"json5": "2.2.2",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"semver": "6.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -35,7 +35,7 @@
|
||||
"@types/minimatch": "3.0.5",
|
||||
"@types/node": "14.18.33",
|
||||
"@types/semver": "7.3.10",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"typescript": "4.3.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import { packageManagers } from '../package-managers/package-managers';
|
||||
import { DetectorFilesystem } from '../detectors/filesystem';
|
||||
import { detectFramework } from '../detect-framework';
|
||||
import JSON5 from 'json5';
|
||||
import semver from 'semver';
|
||||
|
||||
export class MissingBuildPipeline extends Error {
|
||||
constructor() {
|
||||
@@ -52,6 +53,7 @@ export async function getMonorepoDefaultSettings(
|
||||
]);
|
||||
|
||||
let hasBuildPipeline = false;
|
||||
let turboSemVer = null;
|
||||
|
||||
if (turboJSONBuf !== null) {
|
||||
const turboJSON = JSON5.parse(turboJSONBuf.toString('utf-8'));
|
||||
@@ -59,12 +61,19 @@ export async function getMonorepoDefaultSettings(
|
||||
if (turboJSON?.pipeline?.build) {
|
||||
hasBuildPipeline = true;
|
||||
}
|
||||
} else if (packageJSONBuf !== null) {
|
||||
}
|
||||
|
||||
if (packageJSONBuf !== null) {
|
||||
const packageJSON = JSON.parse(packageJSONBuf.toString('utf-8'));
|
||||
|
||||
if (packageJSON?.turbo?.pipeline?.build) {
|
||||
hasBuildPipeline = true;
|
||||
}
|
||||
|
||||
turboSemVer =
|
||||
packageJSON?.dependencies?.turbo ||
|
||||
packageJSON?.devDependencies?.turbo ||
|
||||
null;
|
||||
}
|
||||
|
||||
if (!hasBuildPipeline) {
|
||||
@@ -74,17 +83,25 @@ export async function getMonorepoDefaultSettings(
|
||||
if (projectPath === '/') {
|
||||
return {
|
||||
monorepoManager: 'turbo',
|
||||
buildCommand: 'npx turbo run build',
|
||||
buildCommand: 'turbo run build',
|
||||
installCommand: packageManager ? `${packageManager} install` : null,
|
||||
commandForIgnoringBuildStep: 'npx turbo-ignore',
|
||||
};
|
||||
}
|
||||
|
||||
let buildCommand = null;
|
||||
if (projectPath) {
|
||||
if (turboSemVer && !semver.intersects(turboSemVer, '<1.8.0')) {
|
||||
buildCommand = `turbo run build`;
|
||||
} else {
|
||||
// We don't know for sure if the local `turbo` supports inference.
|
||||
buildCommand = `cd ${relativeToRoot} && turbo run build --filter={${projectPath}}...`;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
monorepoManager: 'turbo',
|
||||
buildCommand: projectPath
|
||||
? `cd ${relativeToRoot} && npx turbo run build --filter={${projectPath}}...`
|
||||
: null,
|
||||
buildCommand,
|
||||
installCommand:
|
||||
packageManager === 'npm'
|
||||
? `${packageManager} install --prefix=${relativeToRoot}`
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
"devDependencies": {
|
||||
"turbo": "1.8.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "app-14",
|
||||
"version": "0.0.1",
|
||||
"main": "index.js"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
// TEST COMMENT TO VERIFY JSON5 SUPPORT
|
||||
{ "pipeline": { "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] } } }
|
||||
@@ -26,24 +26,33 @@ describe('getMonorepoDefaultSettings', () => {
|
||||
});
|
||||
|
||||
test.each([
|
||||
['turbo', 'turbo', false, 'app-14', false],
|
||||
['turbo-package-config', 'turbo', false, 'app-13', false],
|
||||
['turbo-npm', 'turbo', true, 'app-15', false],
|
||||
['turbo-npm-root-proj', 'turbo', true, 'app-root-proj', true],
|
||||
['nx', 'nx', false, 'app-12', false],
|
||||
['nx-package-config', 'nx', false, 'app-11', false],
|
||||
['nx-project-and-package-config-1', 'nx', false, 'app-10', false],
|
||||
['nx-project-and-package-config-2', 'nx', false, 'app-9', false],
|
||||
['nx-project-config', 'nx', false, 'app-8', false],
|
||||
['turbo', 'turbo', false, 'app-14', false, false],
|
||||
['turbo-has-filter', 'turbo', false, 'app-14', false, true],
|
||||
['turbo-package-config', 'turbo', false, 'app-13', false, false],
|
||||
['turbo-npm', 'turbo', true, 'app-15', false, false],
|
||||
['turbo-npm-root-proj', 'turbo', true, 'app-root-proj', true, false],
|
||||
['nx', 'nx', false, 'app-12', false, false],
|
||||
['nx-package-config', 'nx', false, 'app-11', false, false],
|
||||
['nx-project-and-package-config-1', 'nx', false, 'app-10', false, false],
|
||||
['nx-project-and-package-config-2', 'nx', false, 'app-9', false, false],
|
||||
['nx-project-config', 'nx', false, 'app-8', false, false],
|
||||
])(
|
||||
'fixture %s',
|
||||
async (fixture, expectedResultKey, isNpm, packageName, isRoot) => {
|
||||
async (
|
||||
fixture,
|
||||
expectedResultKey,
|
||||
isNpm,
|
||||
packageName,
|
||||
isRoot,
|
||||
supportsInference
|
||||
) => {
|
||||
const expectedResultMap: Record<string, Record<string, string>> = {
|
||||
turbo: {
|
||||
monorepoManager: 'turbo',
|
||||
buildCommand: isRoot
|
||||
? 'npx turbo run build'
|
||||
: 'cd ../.. && npx turbo run build --filter={packages/app-1}...',
|
||||
buildCommand:
|
||||
isRoot || supportsInference
|
||||
? 'turbo run build'
|
||||
: 'cd ../.. && turbo run build --filter={packages/app-1}...',
|
||||
installCommand:
|
||||
isNpm && isRoot
|
||||
? 'npm install'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/gatsby-plugin-vercel-analytics",
|
||||
"version": "1.0.8",
|
||||
"version": "1.0.9",
|
||||
"description": "Track Core Web Vitals in Gatsby projects with Vercel Analytics.",
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
@@ -31,7 +31,7 @@
|
||||
"lcp",
|
||||
"ttfb"
|
||||
],
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.20.7",
|
||||
"@babel/core": "7.5.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/gatsby-plugin-vercel-builder",
|
||||
"version": "1.2.5",
|
||||
"version": "1.2.7",
|
||||
"main": "dist/index.js",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -15,9 +15,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@sinclair/typebox": "0.25.24",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/node": "2.10.1",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/node": "2.10.3",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"esbuild": "0.14.47",
|
||||
"etag": "1.8.1",
|
||||
"fs-extra": "11.1.0"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/go",
|
||||
"version": "2.4.2",
|
||||
"license": "MIT",
|
||||
"version": "2.4.4",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/go",
|
||||
"repository": {
|
||||
@@ -37,7 +37,7 @@
|
||||
"@types/node-fetch": "^2.3.0",
|
||||
"@types/tar": "^4.0.0",
|
||||
"@types/yauzl-promise": "2.1.0",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"async-retry": "1.3.1",
|
||||
"execa": "^1.0.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/hydrogen",
|
||||
"version": "0.0.60",
|
||||
"license": "MIT",
|
||||
"version": "0.0.62",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index.js",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
"repository": {
|
||||
@@ -21,8 +21,8 @@
|
||||
"devDependencies": {
|
||||
"@types/jest": "27.5.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/static-config": "2.0.14",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/static-config": "2.0.15",
|
||||
"execa": "3.2.0",
|
||||
"fs-extra": "11.1.0",
|
||||
"ts-morph": "12.0.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/next",
|
||||
"version": "3.7.2",
|
||||
"license": "MIT",
|
||||
"version": "3.7.4",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
|
||||
"scripts": {
|
||||
@@ -45,9 +45,9 @@
|
||||
"@types/semver": "6.0.0",
|
||||
"@types/text-table": "0.2.1",
|
||||
"@types/webpack-sources": "3.2.0",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/nft": "0.22.5",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"async-sema": "3.0.1",
|
||||
"buffer-crc32": "0.2.13",
|
||||
"bytes": "3.1.2",
|
||||
|
||||
@@ -1089,7 +1089,7 @@ export const build: BuildV2 = async ({
|
||||
handler: '___next_launcher.cjs',
|
||||
runtime: nodeVersion.runtime,
|
||||
...lambdaOptions,
|
||||
operationType: 'SSR', // always SSR because we're in legacy mode
|
||||
operationType: 'Page', // always Page because we're in legacy mode
|
||||
shouldAddHelpers: false,
|
||||
shouldAddSourcemapSupport: false,
|
||||
supportsMultiPayloads: !!process.env.NEXT_PRIVATE_MULTI_PAYLOAD,
|
||||
@@ -1842,7 +1842,7 @@ export const build: BuildV2 = async ({
|
||||
path.relative(baseDir, entryPath),
|
||||
'___next_launcher.cjs'
|
||||
),
|
||||
operationType: getOperationType({ pageFileName }), // can only be API or SSR
|
||||
operationType: getOperationType({ pageFileName }), // can only be API or Page
|
||||
runtime: nodeVersion.runtime,
|
||||
nextVersion,
|
||||
...lambdaOptions,
|
||||
|
||||
@@ -1024,6 +1024,7 @@ export async function serverBuild({
|
||||
isCorrectMiddlewareOrder,
|
||||
prerenderBypassToken: prerenderManifest.bypassToken || '',
|
||||
nextVersion,
|
||||
appPathRoutesManifest: appPathRoutesManifest || {},
|
||||
});
|
||||
|
||||
const isNextDataServerResolving =
|
||||
|
||||
@@ -795,7 +795,7 @@ export async function createLambdaFromPseudoLayers({
|
||||
...lambdaOptions,
|
||||
...(isStreaming
|
||||
? {
|
||||
experimentalResponseStreaming: true,
|
||||
supportsResponseStreaming: true,
|
||||
}
|
||||
: {}),
|
||||
files,
|
||||
@@ -2378,6 +2378,7 @@ export async function getMiddlewareBundle({
|
||||
isCorrectMiddlewareOrder,
|
||||
prerenderBypassToken,
|
||||
nextVersion,
|
||||
appPathRoutesManifest,
|
||||
}: {
|
||||
config: Config;
|
||||
entryPath: string;
|
||||
@@ -2386,6 +2387,7 @@ export async function getMiddlewareBundle({
|
||||
routesManifest: RoutesManifest;
|
||||
isCorrectMiddlewareOrder: boolean;
|
||||
nextVersion: string;
|
||||
appPathRoutesManifest: Record<string, string>;
|
||||
}): Promise<{
|
||||
staticRoutes: Route[];
|
||||
dynamicRouteMap: Map<string, RouteWithSrc>;
|
||||
@@ -2550,9 +2552,15 @@ export async function getMiddlewareBundle({
|
||||
shortPath.startsWith('app/') &&
|
||||
(shortPath.endsWith('/page') || shortPath.endsWith('/route'))
|
||||
) {
|
||||
shortPath =
|
||||
shortPath.replace(/^app\//, '').replace(/(^|\/)(page|route)$/, '') ||
|
||||
'index';
|
||||
const ogRoute = shortPath.replace(/^app\//, '/');
|
||||
shortPath = (
|
||||
appPathRoutesManifest[ogRoute] ||
|
||||
shortPath.replace(/(^|\/)(page|route)$/, '')
|
||||
).replace(/^\//, '');
|
||||
|
||||
if (!shortPath || shortPath === '/') {
|
||||
shortPath = 'index';
|
||||
}
|
||||
}
|
||||
|
||||
if (routesManifest?.basePath) {
|
||||
@@ -2776,7 +2784,7 @@ export function getOperationType({
|
||||
}
|
||||
}
|
||||
|
||||
return 'SSR';
|
||||
return 'Page'; // aka SSR
|
||||
}
|
||||
|
||||
export function isApiPage(page: string | undefined) {
|
||||
|
||||
9
packages/next/test/fixtures/00-app-dir/app/(newroot)/dashboard/another-edge/page.js
vendored
Normal file
9
packages/next/test/fixtures/00-app-dir/app/(newroot)/dashboard/another-edge/page.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
export const runtime = 'experimental-edge'
|
||||
|
||||
export default function AnotherPage(props) {
|
||||
return (
|
||||
<>
|
||||
<p>hello from newroot/dashboard/another</p>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -6,6 +6,11 @@
|
||||
}
|
||||
],
|
||||
"probes": [
|
||||
{
|
||||
"path": "/dashboard/another-edge",
|
||||
"status": 200,
|
||||
"mustContain": "hello from newroot/dashboard/another"
|
||||
},
|
||||
{
|
||||
"path": "/dynamic/category-1/id-1",
|
||||
"status": 200,
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"next": "canary",
|
||||
"react": "latest",
|
||||
"react-dom": "latest",
|
||||
"typescript": "4.2.3"
|
||||
"typescript": "4.9.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "14.14.37",
|
||||
|
||||
@@ -2,7 +2,8 @@ const path = require('path');
|
||||
const { deployAndTest } = require('../../utils');
|
||||
|
||||
describe(`${__dirname.split(path.sep).pop()}`, () => {
|
||||
it('should deploy and pass probe checks', async () => {
|
||||
// eslint-disable-next-line jest/no-disabled-tests
|
||||
it.skip('should deploy and pass probe checks', async () => {
|
||||
await deployAndTest(__dirname);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
"next": "canary",
|
||||
"react": "latest",
|
||||
"react-dom": "latest",
|
||||
"typescript": "^4.0.2"
|
||||
"typescript": "4.9.5"
|
||||
}
|
||||
}
|
||||
|
||||
1
packages/next/test/fixtures/36-instrumentation-hook/.gitignore
vendored
Normal file
1
packages/next/test/fixtures/36-instrumentation-hook/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.vercel
|
||||
@@ -8,7 +8,7 @@
|
||||
"start": "next start"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "canary",
|
||||
"next": "latest",
|
||||
"react": "latest",
|
||||
"react-dom": "latest",
|
||||
"is-odd": "3.0.1"
|
||||
|
||||
@@ -35,7 +35,7 @@ if (parseInt(process.versions.node.split('.')[0], 10) >= 16) {
|
||||
expect(buildResult.output['api/hello-again']).toBeDefined();
|
||||
expect(buildResult.output['api/hello-again'].type).toBe('Lambda');
|
||||
expect(
|
||||
buildResult.output['api/hello-again'].experimentalResponseStreaming
|
||||
buildResult.output['api/hello-again'].supportsResponseStreaming
|
||||
).toBe(true);
|
||||
|
||||
expect(buildResult.output['edge-route-handler']).toBeDefined();
|
||||
@@ -78,7 +78,7 @@ if (parseInt(process.versions.node.split('.')[0], 10) >= 16) {
|
||||
expect(edgeFunctions.size).toBe(3);
|
||||
expect(buildResult.output['edge']).toBeDefined();
|
||||
expect(buildResult.output['index']).toBeDefined();
|
||||
expect(buildResult.output['index/index']).toBeDefined();
|
||||
// expect(buildResult.output['index/index']).toBeDefined();
|
||||
});
|
||||
|
||||
it('should show error from basePath with legacy monorepo build', async () => {
|
||||
@@ -144,21 +144,21 @@ it('should build using server build', async () => {
|
||||
expect(output['index'].allowQuery).toBe(undefined);
|
||||
expect(output['index'].memory).toBe(512);
|
||||
expect(output['index'].maxDuration).toBe(5);
|
||||
expect(output['index'].operationType).toBe('SSR');
|
||||
expect(output['index'].operationType).toBe('Page');
|
||||
|
||||
expect(output['another'].type).toBe('Lambda');
|
||||
expect(output['another'].memory).toBe(512);
|
||||
expect(output['another'].maxDuration).toBe(5);
|
||||
expect(output['another'].allowQuery).toBe(undefined);
|
||||
expect(output['another'].operationType).toBe('SSR');
|
||||
expect(output['another'].operationType).toBe('Page');
|
||||
|
||||
expect(output['dynamic/[slug]'].type).toBe('Lambda');
|
||||
expect(output['dynamic/[slug]'].memory).toBe(undefined);
|
||||
expect(output['dynamic/[slug]'].maxDuration).toBe(5);
|
||||
expect(output['dynamic/[slug]'].operationType).toBe('SSR');
|
||||
expect(output['dynamic/[slug]'].operationType).toBe('Page');
|
||||
|
||||
expect(output['fallback/[slug]'].type).toBe('Prerender');
|
||||
expect(output['fallback/[slug]'].allowQuery).toEqual(['slug']);
|
||||
expect(output['fallback/[slug]'].allowQuery).toEqual(['nxtPslug']);
|
||||
expect(output['fallback/[slug]'].lambda.operationType).toBe('ISR');
|
||||
expect(output['fallback/[slug]'].sourcePath).toBe(undefined);
|
||||
|
||||
@@ -167,7 +167,7 @@ it('should build using server build', async () => {
|
||||
);
|
||||
expect(
|
||||
output['_next/data/testing-build-id/fallback/[slug].json'].allowQuery
|
||||
).toEqual(['slug']);
|
||||
).toEqual(['nxtPslug']);
|
||||
expect(
|
||||
output['_next/data/testing-build-id/fallback/[slug].json'].lambda
|
||||
.operationType
|
||||
@@ -716,7 +716,8 @@ it('Should invoke build command with serverless-no-config', async () => {
|
||||
).toBeFalsy();
|
||||
});
|
||||
|
||||
it('Should not exceed function limit for large dependencies (server build)', async () => {
|
||||
// eslint-disable-next-line jest/no-disabled-tests
|
||||
it.skip('Should not exceed function limit for large dependencies (server build)', async () => {
|
||||
let logs = '';
|
||||
|
||||
const origLog = console.log;
|
||||
@@ -769,7 +770,8 @@ it('Should not exceed function limit for large dependencies (server build)', asy
|
||||
expect(logs).toContain('node_modules/chrome-aws-lambda/bin');
|
||||
});
|
||||
|
||||
it('Should not exceed function limit for large dependencies (shared lambda)', async () => {
|
||||
// eslint-disable-next-line jest/no-disabled-tests
|
||||
it.skip('Should not exceed function limit for large dependencies (shared lambda)', async () => {
|
||||
let logs = '';
|
||||
|
||||
const origLog = console.log;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/node-bridge",
|
||||
"version": "4.0.0",
|
||||
"license": "MIT",
|
||||
"version": "4.0.1",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "bench",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"express": "4.17.1",
|
||||
"fs-extra": "8.0.1"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/node",
|
||||
"version": "2.10.1",
|
||||
"license": "MIT",
|
||||
"version": "2.10.3",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/node-js",
|
||||
"repository": {
|
||||
@@ -12,8 +12,8 @@
|
||||
"scripts": {
|
||||
"build": "node build",
|
||||
"test": "jest --env node --verbose --bail --runInBand",
|
||||
"test-unit": "pnpm test test/prepare-cache.test.ts test/utils.test.ts test/dev.test.ts",
|
||||
"test-e2e": "pnpm test test/integration-*.test.js"
|
||||
"test-unit": "pnpm test test/unit",
|
||||
"test-e2e": "pnpm test test/integration"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
@@ -31,9 +31,9 @@
|
||||
"dependencies": {
|
||||
"@edge-runtime/vm": "2.0.0",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/node-bridge": "4.0.0",
|
||||
"@vercel/static-config": "2.0.14",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/node-bridge": "4.0.1",
|
||||
"@vercel/static-config": "2.0.15",
|
||||
"edge-runtime": "2.0.0",
|
||||
"esbuild": "0.14.47",
|
||||
"exit-hook": "2.2.1",
|
||||
|
||||
@@ -487,8 +487,11 @@ export const build: BuildV3 = async ({
|
||||
config.helpers === false || process.env.NODEJS_HELPERS === '0'
|
||||
);
|
||||
|
||||
const experimentalResponseStreaming =
|
||||
staticConfig?.experimentalResponseStreaming === true ? true : undefined;
|
||||
const supportsResponseStreaming =
|
||||
(staticConfig?.supportsResponseStreaming ??
|
||||
staticConfig?.experimentalResponseStreaming) === true
|
||||
? true
|
||||
: undefined;
|
||||
|
||||
output = new NodejsLambda({
|
||||
files: preparedFiles,
|
||||
@@ -497,7 +500,7 @@ export const build: BuildV3 = async ({
|
||||
shouldAddHelpers,
|
||||
shouldAddSourcemapSupport,
|
||||
awsLambdaHandler,
|
||||
experimentalResponseStreaming,
|
||||
supportsResponseStreaming,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { intoChunks } = require('../../../utils/chunk-tests');
|
||||
const { intoChunks } = require('../../../../utils/chunk-tests');
|
||||
|
||||
const {
|
||||
testDeployment,
|
||||
} = require('../../../test/lib/deployment/test-deployment.js');
|
||||
} = require('../../../../test/lib/deployment/test-deployment.js');
|
||||
|
||||
jest.setTimeout(12 * 60 * 1000);
|
||||
|
||||
module.exports = function setupTests(groupIndex) {
|
||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
|
||||
const fixturesPath = path.resolve(__dirname, '../fixtures');
|
||||
const testsThatFailToBuild = new Map([
|
||||
[
|
||||
'45-noEmitOnError-true',
|
||||
@@ -1,4 +1,4 @@
|
||||
import { forkDevServer, readMessage } from '../src/fork-dev-server';
|
||||
import { forkDevServer, readMessage } from '../../src/fork-dev-server';
|
||||
import { resolve, extname } from 'path';
|
||||
import fetch from 'node-fetch';
|
||||
|
||||
@@ -16,9 +16,9 @@ function testForkDevServer(entrypoint: string) {
|
||||
meta: {},
|
||||
require_: require,
|
||||
tsConfig: undefined,
|
||||
workPath: resolve(__dirname, './dev-fixtures'),
|
||||
workPath: resolve(__dirname, '../dev-fixtures'),
|
||||
entrypoint,
|
||||
devServerPath: resolve(__dirname, '../dist/dev-server.js'),
|
||||
devServerPath: resolve(__dirname, '../../dist/dev-server.js'),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { prepareFilesystem } from './test-utils';
|
||||
import { build } from '../src';
|
||||
import { prepareFilesystem } from '../test-utils';
|
||||
import { build } from '../../../src';
|
||||
|
||||
describe('middleware matchers', () => {
|
||||
it.each([
|
||||
@@ -63,6 +63,12 @@ describe('middleware matchers', () => {
|
||||
expect(buildResult.routes).toEqual([
|
||||
{
|
||||
src: regExps.join('|'),
|
||||
middlewareRawSrc:
|
||||
matcher === undefined
|
||||
? []
|
||||
: Array.isArray(matcher)
|
||||
? matcher
|
||||
: [matcher],
|
||||
middlewarePath: 'middleware.js',
|
||||
continue: true,
|
||||
override: true,
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createEdgeWasmPlugin } from '../src/edge-wasm-plugin';
|
||||
import { prepareFilesystem } from './test-utils';
|
||||
import { createEdgeWasmPlugin } from '../../../src/edge-functions/edge-wasm-plugin';
|
||||
import { prepareFilesystem } from '../test-utils';
|
||||
import { build } from 'esbuild';
|
||||
import { join } from 'path';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'path';
|
||||
import assert from 'assert';
|
||||
import { prepareCache } from '../src';
|
||||
import { prepareCache } from '../../src';
|
||||
|
||||
describe('prepareCache()', () => {
|
||||
test('should cache `**/node_modules/**`', async () => {
|
||||
@@ -8,8 +8,8 @@ describe('prepareCache()', () => {
|
||||
files: {},
|
||||
entrypoint: '.',
|
||||
config: {},
|
||||
workPath: path.resolve(__dirname, './cache-fixtures/'),
|
||||
repoRootPath: path.resolve(__dirname, './cache-fixtures/'),
|
||||
workPath: path.resolve(__dirname, '../cache-fixtures/'),
|
||||
repoRootPath: path.resolve(__dirname, '../cache-fixtures/'),
|
||||
});
|
||||
|
||||
expect(files['foo/node_modules/file']).toBeDefined();
|
||||
@@ -22,7 +22,7 @@ describe('prepareCache()', () => {
|
||||
files: {},
|
||||
entrypoint: '.',
|
||||
config: {},
|
||||
workPath: path.resolve(__dirname, './cache-fixtures/foo/'),
|
||||
workPath: path.resolve(__dirname, '../cache-fixtures/foo/'),
|
||||
});
|
||||
|
||||
const file = files['node_modules/file'];
|
||||
@@ -1,4 +1,4 @@
|
||||
import { entrypointToOutputPath } from '../src/utils';
|
||||
import { entrypointToOutputPath } from '../../src/utils';
|
||||
|
||||
describe('entrypointToOutputPath()', () => {
|
||||
test.each([
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "@vercel/python",
|
||||
"version": "3.1.56",
|
||||
"version": "3.1.58",
|
||||
"main": "./dist/index.js",
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -23,7 +23,7 @@
|
||||
"@types/execa": "^0.9.0",
|
||||
"@types/jest": "27.4.1",
|
||||
"@types/node": "14.18.33",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"execa": "^1.0.0",
|
||||
"typescript": "4.3.4"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "@vercel/redwood",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"main": "./dist/index.js",
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
"files": [
|
||||
"dist"
|
||||
@@ -20,14 +20,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/nft": "0.22.5",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"semver": "6.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/aws-lambda": "8.10.19",
|
||||
"@types/node": "14.18.33",
|
||||
"@types/semver": "6.0.0",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"execa": "3.2.0",
|
||||
"fs-extra": "11.1.0",
|
||||
"typescript": "4.3.4"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/remix-entry-server",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"description": "Isomorphic `entry.server` implementation for Vercel's Serverless and Edge runtimes",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
"repository": {
|
||||
@@ -13,7 +13,7 @@
|
||||
"scripts": {
|
||||
"build": "node build.js"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/remix-builder",
|
||||
"version": "1.8.2",
|
||||
"license": "MIT",
|
||||
"version": "1.8.4",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index.js",
|
||||
"homepage": "https://vercel.com/docs",
|
||||
"repository": {
|
||||
@@ -20,10 +20,10 @@
|
||||
"defaults"
|
||||
],
|
||||
"dependencies": {
|
||||
"@remix-run/dev": "npm:@vercel/remix-run-dev@1.14.2",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@remix-run/dev": "npm:@vercel/remix-run-dev@1.15.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/nft": "0.22.5",
|
||||
"@vercel/static-config": "2.0.14",
|
||||
"@vercel/static-config": "2.0.15",
|
||||
"path-to-regexp": "6.2.1",
|
||||
"semver": "7.3.8",
|
||||
"ts-morph": "12.0.0"
|
||||
|
||||
@@ -522,7 +522,7 @@ async function createRenderNodeFunction(
|
||||
shouldAddHelpers: false,
|
||||
shouldAddSourcemapSupport: false,
|
||||
operationType: 'SSR',
|
||||
experimentalResponseStreaming: true,
|
||||
supportsResponseStreaming: true,
|
||||
regions: config.regions,
|
||||
memory: config.memory,
|
||||
maxDuration: config.maxDuration,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@vercel/routing-utils",
|
||||
"version": "2.1.11",
|
||||
"version": "2.2.0",
|
||||
"description": "Vercel routing utilities",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@@ -12,7 +12,7 @@
|
||||
"url": "https://github.com/vercel/vercel.git",
|
||||
"directory": "packages/routing-utils"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"test": "jest --env node --verbose --runInBand --bail",
|
||||
|
||||
@@ -113,6 +113,9 @@ export const routesSchema = {
|
||||
check: {
|
||||
type: 'boolean',
|
||||
},
|
||||
isInternal: {
|
||||
type: 'boolean',
|
||||
},
|
||||
status: {
|
||||
type: 'integer',
|
||||
minimum: 100,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "@vercel/ruby",
|
||||
"author": "Nathan Cahill <nathan@nathancahill.com>",
|
||||
"version": "1.3.73",
|
||||
"license": "MIT",
|
||||
"version": "1.3.75",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/ruby",
|
||||
"files": [
|
||||
@@ -22,7 +22,7 @@
|
||||
"devDependencies": {
|
||||
"@types/fs-extra": "8.0.0",
|
||||
"@types/semver": "6.0.0",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"execa": "2.0.4",
|
||||
"fs-extra": "^7.0.1",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@vercel/static-build",
|
||||
"version": "1.3.20",
|
||||
"license": "MIT",
|
||||
"version": "1.3.22",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist/index",
|
||||
"homepage": "https://vercel.com/docs/build-step",
|
||||
"files": [
|
||||
@@ -29,8 +29,8 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@vercel/gatsby-plugin-vercel-analytics": "1.0.8",
|
||||
"@vercel/gatsby-plugin-vercel-builder": "1.2.5"
|
||||
"@vercel/gatsby-plugin-vercel-analytics": "1.0.9",
|
||||
"@vercel/gatsby-plugin-vercel-builder": "1.2.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/aws-lambda": "8.10.64",
|
||||
@@ -42,12 +42,12 @@
|
||||
"@types/node-fetch": "2.5.4",
|
||||
"@types/promise-timeout": "1.3.0",
|
||||
"@types/semver": "7.3.13",
|
||||
"@vercel/build-utils": "6.6.0",
|
||||
"@vercel/frameworks": "1.3.3",
|
||||
"@vercel/fs-detectors": "3.8.7",
|
||||
"@vercel/build-utils": "6.7.1",
|
||||
"@vercel/frameworks": "1.3.4",
|
||||
"@vercel/fs-detectors": "3.8.9",
|
||||
"@vercel/ncc": "0.24.0",
|
||||
"@vercel/routing-utils": "2.1.11",
|
||||
"@vercel/static-config": "2.0.14",
|
||||
"@vercel/routing-utils": "2.2.0",
|
||||
"@vercel/static-config": "2.0.15",
|
||||
"execa": "3.2.0",
|
||||
"fs-extra": "10.0.0",
|
||||
"get-port": "5.0.0",
|
||||
|
||||
@@ -29,7 +29,7 @@ export async function injectPlugins(
|
||||
) {
|
||||
const plugins = new Set<PluginName>();
|
||||
|
||||
if (process.env.VERCEL_GATSBY_BUILDER_PLUGIN === '1' && detectedVersion) {
|
||||
if (detectedVersion) {
|
||||
const version = semver.coerce(detectedVersion);
|
||||
if (version && semver.satisfies(version, '>=4.0.0')) {
|
||||
plugins.add('@vercel/gatsby-plugin-vercel-builder');
|
||||
|
||||
565
packages/static-build/test/fixtures/gatsby-v2/package-lock.json
generated
vendored
565
packages/static-build/test/fixtures/gatsby-v2/package-lock.json
generated
vendored
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user