[tests] Migrate from yarn to pnpm (#9198)

<picture data-single-emoji=":pnpm:" title=":pnpm:"><img class="emoji" src="https://single-emoji.vercel.app/api/emoji/eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..4mJzrO94AnSn0Pue.4apgaKtTUdQ-wxNyahjdJj28u8bbXreLoTA8AGqYjLta3MrsFvbo9DsQFth4CoIkBgXFhQ5_BVcKNfYbwLg4bKzyIvItKe4OFS8AzG7Kkicz2kUUZk0.nXyK_PvHzZFGA-MQB6XHfA" alt=":pnpm:" width="20" height="auto" align="absmiddle"></picture> 

yarn has become increasingly more difficult to use as the v1 we rely on no longer receives updates. pnpm is faster and is actively maintained. 

This PR migrates us to pnpm.
This commit is contained in:
Ethan Arrowood
2023-01-11 16:35:13 -07:00
committed by GitHub
parent 4c3bc05322
commit 9c768b98b7
57 changed files with 15143 additions and 14581 deletions

View File

@@ -6,7 +6,7 @@ Please read our [Code of Conduct](CODE_OF_CONDUCT.md) and follow it in all your
## Local development ## Local development
This project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed with `yarn`, not `npm` CLI. This project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed with `pnpm`, not `npm` CLI.
To get started, execute the following: To get started, execute the following:
@@ -14,22 +14,22 @@ To get started, execute the following:
git clone https://github.com/vercel/vercel git clone https://github.com/vercel/vercel
cd vercel cd vercel
corepack enable corepack enable
yarn install pnpm install
yarn bootstrap pnpm bootstrap
yarn build pnpm build
yarn lint pnpm lint
yarn test-unit pnpm test-unit
``` ```
Make sure all the tests pass before making changes. Make sure all the tests pass before making changes.
### Running Vercel CLI Changes ### Running Vercel CLI Changes
You can use `yarn dev` from the `cli` package to invoke Vercel CLI with local changes: You can use `pnpm dev` from the `cli` package to invoke Vercel CLI with local changes:
``` ```
cd ./packages/cli cd ./packages/cli
yarn dev <cli-commands...> pnpm dev <cli-commands...>
``` ```
See [CLI Local Development](../packages/cli#local-development) for more details. See [CLI Local Development](../packages/cli#local-development) for more details.
@@ -39,7 +39,7 @@ See [CLI Local Development](../packages/cli#local-development) for more details.
Once you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running: Once you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running:
``` ```
yarn test-unit pnpm test-unit
``` ```
from the root of the project. from the root of the project.
@@ -102,7 +102,7 @@ When you run this script, you'll see all the imported files. If anything file is
Sometimes you want to test changes to a Builder against an existing project, maybe with `vercel dev` or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball. Sometimes you want to test changes to a Builder against an existing project, maybe with `vercel dev` or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball.
1. Change directory to the desired Builder `cd ./packages/node` 1. Change directory to the desired Builder `cd ./packages/node`
2. Run `yarn build` to compile typescript and other build steps 2. Run `pnpm build` to compile typescript and other build steps
3. Run `npm pack` to create a tarball file 3. Run `npm pack` to create a tarball file
4. Run `vercel *.tgz` to upload the tarball file and get a URL 4. Run `vercel *.tgz` to upload the tarball file and get a URL
5. Edit any existing `vercel.json` project and replace `use` with the URL 5. Edit any existing `vercel.json` project and replace `use` with the URL

View File

@@ -47,20 +47,22 @@ jobs:
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: '**/node_modules' path: '**/node_modules'
key: yarn-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: pnpm-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: yarn-${{ matrix.os }}-${{ matrix.node }} restore-keys: pnpm-${{ matrix.os }}-${{ matrix.node }}
- name: install pnpm@7.24.2
run: npm i -g pnpm@7.24.2
- name: Install - name: Install
if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }} if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }}
run: yarn install --check-files --frozen-lockfile --network-timeout 1000000 run: pnpm install
- name: Build - name: Build
if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }} if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }}
run: yarn build run: pnpm build
env: env:
GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }} GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- name: Publish - name: Publish
if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }} if: ${{ steps.check-release.outputs.IS_RELEASE == 'true' }}
run: yarn publish-from-github run: pnpm publish-from-github
env: env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN_ELEVATED }} NPM_TOKEN: ${{ secrets.NPM_TOKEN_ELEVATED }}
GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }} GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }}

View File

@@ -41,11 +41,13 @@ jobs:
- uses: actions/cache@v3 - uses: actions/cache@v3
with: with:
path: '**/node_modules' path: '**/node_modules'
key: yarn-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: pnpm-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: yarn-${{ matrix.os }}-${{ matrix.node }} restore-keys: pnpm-${{ matrix.os }}-${{ matrix.node }}
- run: yarn install --network-timeout 1000000 --frozen-lockfile - name: install pnpm@7.24.2
- run: yarn run build run: npm i -g pnpm@7.24.2
- run: yarn test-integration-cli - run: pnpm install
- run: pnpm run build
- run: pnpm test-integration-cli
env: env:
VERCEL_TEST_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }} VERCEL_TEST_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
VERCEL_TEST_REGISTRATION_URL: ${{ secrets.VERCEL_TEST_REGISTRATION_URL }} VERCEL_TEST_REGISTRATION_URL: ${{ secrets.VERCEL_TEST_REGISTRATION_URL }}

View File

@@ -41,14 +41,16 @@ jobs:
- uses: actions/cache@v3 - uses: actions/cache@v3
with: with:
path: '**/node_modules' path: '**/node_modules'
key: yarn-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: pnpm-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: yarn-${{ matrix.os }}-${{ matrix.node }} restore-keys: pnpm-${{ matrix.os }}-${{ matrix.node }}
- run: yarn install --network-timeout 1000000 --frozen-lockfile - name: install pnpm@7.24.2
- run: yarn run build run: npm i -g pnpm@7.24.2
- run: yarn run lint - run: pnpm install
- run: pnpm run build
- run: pnpm run lint
if: matrix.os == 'ubuntu-latest' && matrix.node == 14 # only run lint once if: matrix.os == 'ubuntu-latest' && matrix.node == 14 # only run lint once
- run: yarn run test-unit - run: pnpm run test-unit
- run: yarn workspace vercel run coverage - run: pnpm -C packages/cli run coverage
if: matrix.os == 'ubuntu-latest' && matrix.node == 14 # only run coverage once if: matrix.os == 'ubuntu-latest' && matrix.node == 14 # only run coverage once
env: env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -39,9 +39,11 @@ jobs:
- uses: actions/cache@v3 - uses: actions/cache@v3
with: with:
path: '**/node_modules' path: '**/node_modules'
key: yarn-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: pnpm-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: yarn-${{ matrix.os }}-${{ matrix.node }} restore-keys: pnpm-${{ matrix.os }}-${{ matrix.node }}
- run: yarn install --network-timeout 1000000 --frozen-lockfile - name: install pnpm@7.24.2
run: npm i -g pnpm@7.24.2
- run: pnpm install
- id: set-tests - id: set-tests
run: | run: |
TESTS_ARRAY=$(node utils/chunk-tests.js $SCRIPT_NAME) TESTS_ARRAY=$(node utils/chunk-tests.js $SCRIPT_NAME)
@@ -80,14 +82,17 @@ jobs:
- uses: actions/cache@v3 - uses: actions/cache@v3
with: with:
path: '**/node_modules' path: '**/node_modules'
key: yarn-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: pnpm-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: yarn-${{ matrix.os }}-${{ matrix.node }} restore-keys: pnpm-${{ matrix.os }}-${{ matrix.node }}
- name: Install Hugo - name: Install Hugo
if: matrix.runner == 'macos-latest' 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/ 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/
- run: yarn install --network-timeout 1000000 - name: install pnpm@7.24.2
run: npm i -g pnpm@7.24.2
- run: pnpm install
- name: Build ${{matrix.packageName}} and all its dependencies - name: Build ${{matrix.packageName}} and all its dependencies
run: node utils/gen.js && node_modules/.bin/turbo run build --cache-dir=".turbo" --scope=${{matrix.packageName}} --include-dependencies --no-deps run: node utils/gen.js && node_modules/.bin/turbo run build --cache-dir=".turbo" --scope=${{matrix.packageName}} --include-dependencies --no-deps

View File

@@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
. "$(dirname "$0")/_/husky.sh" . "$(dirname "$0")/_/husky.sh"
yarn pre-commit pnpm pre-commit

5
.npmrc Normal file
View File

@@ -0,0 +1,5 @@
save-exact=true
hoist-pattern[]=!"**/@types/**"
hoist-pattern[]=!"**/typedoc"
hoist-pattern[]=!"**/typedoc-plugin-markdown"
hoist-pattern[]=!"**/typedoc-plugin-mdn-links"

View File

@@ -1 +0,0 @@
save-prefix ""

View File

@@ -33,9 +33,9 @@ For details on how to use Vercel, check out our [documentation](https://vercel.c
## Contributing ## Contributing
This project uses [yarn](https://yarnpkg.com/) to install dependencies and run scripts. This project uses [pnpm](https://pnpm.io/) to install dependencies and run scripts.
You can use the `dev` script to run local changes as if you were invoking Vercel CLI. For example, `vercel deploy --cwd=/path/to/project` could be run with local changes with `yarn dev deploy --cwd=/path/to/project`. You can use the `dev` script to run local changes as if you were invoking Vercel CLI. For example, `vercel deploy --cwd=/path/to/project` could be run with local changes with `pnpm dev deploy --cwd=/path/to/project`.
See the [Contributing Guidelines](./.github/CONTRIBUTING.md) for more details. See the [Contributing Guidelines](./.github/CONTRIBUTING.md) for more details.

View File

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

View File

@@ -5,7 +5,6 @@
"description": "API for the vercel/vercel repo", "description": "API for the vercel/vercel repo",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"//TODO": "We should add this pkg to yarn workspaces"
}, },
"dependencies": { "dependencies": {
"@sentry/node": "5.11.1", "@sentry/node": "5.11.1",
@@ -16,9 +15,9 @@
"unzip-stream": "0.3.0" "unzip-stream": "0.3.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "14.18.33", "@types/node": "16.18.11",
"@types/node-fetch": "2.5.4", "@types/node-fetch": "2.5.4",
"@vercel/node": "1.9.0", "@vercel/node": "workspace:2.8.6",
"typescript": "3.9.6" "typescript": "4.3.4"
} }
} }

View File

@@ -12,5 +12,5 @@
"resolveJsonModule": true, "resolveJsonModule": true,
"isolatedModules": true "isolatedModules": true
}, },
"include": ["examples", "frameworks.ts"] "include": ["examples", "frameworks.ts", "_lib"]
} }

View File

@@ -1,524 +0,0 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@sentry/apm@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/apm/-/apm-5.11.1.tgz#cc89fa4150056fbf009f92eca94fccc3980db34e"
integrity sha512-4iZH11p/7w9IMLT9hqNY1+EqLESltiIoF6/YsbpK93sXWGEs8VQ83IuvGuKWxajvHgDmj4ND0TxIliTsYqTqFw==
dependencies:
"@sentry/browser" "5.11.1"
"@sentry/hub" "5.11.1"
"@sentry/minimal" "5.11.1"
"@sentry/types" "5.11.0"
"@sentry/utils" "5.11.1"
tslib "^1.9.3"
"@sentry/browser@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.11.1.tgz#337ffcb52711b23064c847a07629e966f54a5ebb"
integrity sha512-oqOX/otmuP92DEGRyZeBuQokXdeT9HQRxH73oqIURXXNLMP3PWJALSb4HtT4AftEt/2ROGobZLuA4TaID6My/Q==
dependencies:
"@sentry/core" "5.11.1"
"@sentry/types" "5.11.0"
"@sentry/utils" "5.11.1"
tslib "^1.9.3"
"@sentry/core@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.11.1.tgz#9e2da485e196ae32971545c1c49ee6fe719930e2"
integrity sha512-BpvPosVNT20Xso4gAV54Lu3KqDmD20vO63HYwbNdST5LUi8oYV4JhvOkoBraPEM2cbBwQvwVcFdeEYKk4tin9A==
dependencies:
"@sentry/hub" "5.11.1"
"@sentry/minimal" "5.11.1"
"@sentry/types" "5.11.0"
"@sentry/utils" "5.11.1"
tslib "^1.9.3"
"@sentry/hub@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.11.1.tgz#ddcb865563fae53852d405885c46b4c6de68a91b"
integrity sha512-ucKprYCbGGLLjVz4hWUqHN9KH0WKUkGf5ZYfD8LUhksuobRkYVyig0ZGbshECZxW5jcDTzip4Q9Qimq/PkkXBg==
dependencies:
"@sentry/types" "5.11.0"
"@sentry/utils" "5.11.1"
tslib "^1.9.3"
"@sentry/minimal@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.11.1.tgz#0e705d01a567282d8fbbda2aed848b4974cc3cec"
integrity sha512-HK8zs7Pgdq7DsbZQTThrhQPrJsVWzz7MaluAbQA0rTIAJ3TvHKQpsVRu17xDpjZXypqWcKCRsthDrC4LxDM1Bg==
dependencies:
"@sentry/hub" "5.11.1"
"@sentry/types" "5.11.0"
tslib "^1.9.3"
"@sentry/node@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.11.1.tgz#2a9c18cd1209cfdf7a69b9d91303413149d2c910"
integrity sha512-FbJs0blJ36gEzE0rc2yBfA/KE+kXOLl8MUfFTcyJCBdCGF8XMETDCmgINnJ4TyBUJviwKoPw2TCk9TL2pa/A1w==
dependencies:
"@sentry/apm" "5.11.1"
"@sentry/core" "5.11.1"
"@sentry/hub" "5.11.1"
"@sentry/types" "5.11.0"
"@sentry/utils" "5.11.1"
cookie "^0.3.1"
https-proxy-agent "^4.0.0"
lru_map "^0.3.3"
tslib "^1.9.3"
"@sentry/types@5.11.0":
version "5.11.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.11.0.tgz#40f0f3174362928e033ddd9725d55e7c5cb7c5b6"
integrity sha512-1Uhycpmeo1ZK2GLvrtwZhTwIodJHcyIS6bn+t4IMkN9MFoo6ktbAfhvexBDW/IDtdLlCGJbfm8nIZerxy0QUpg==
"@sentry/utils@5.11.1":
version "5.11.1"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.11.1.tgz#aa19fcc234cf632257b2281261651d2fac967607"
integrity sha512-O0Zl4R2JJh8cTkQ8ZL2cDqGCmQdpA5VeXpuBbEl1v78LQPkBDISi35wH4mKmLwMsLBtTVpx2UeUHBj0KO5aLlA==
dependencies:
"@sentry/types" "5.11.0"
tslib "^1.9.3"
"@sindresorhus/is@^1.0.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-1.2.0.tgz#63ce3638cb85231f3704164c90a18ef816da3fb7"
integrity sha512-mwhXGkRV5dlvQc4EgPDxDxO6WuMBVymGFd1CA+2Y+z5dG9MNspoQ+AWjl/Ld1MnpCL8AKbosZlDVohqcIwuWsw==
"@szmarczak/http-timer@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.0.tgz#309789ccb7842ff1e41848cf43da587f78068836"
integrity sha512-3yoXv8OtGr/r3R5gaWWNQ3VUoQ5G3Gmo8DXX95V14ZVvE2b7Pj6Ide9uIDON8ym4D/ItyfL9ejohYUPqOyvRXw==
dependencies:
defer-to-connect "^1.1.1"
"@types/cacheable-request@^6.0.1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976"
integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==
dependencies:
"@types/http-cache-semantics" "*"
"@types/keyv" "*"
"@types/node" "*"
"@types/responselike" "*"
"@types/http-cache-semantics@*":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a"
integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==
"@types/keyv@*":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7"
integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==
dependencies:
"@types/node" "*"
"@types/node-fetch@2.5.4":
version "2.5.4"
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.4.tgz#5245b6d8841fc3a6208b82291119bc11c4e0ce44"
integrity sha512-Oz6id++2qAOFuOlE1j0ouk1dzl3mmI1+qINPNBhi9nt/gVOz0G+13Ao6qjhdF0Ys+eOkhu6JnFmt38bR3H0POQ==
dependencies:
"@types/node" "*"
"@types/node@*", "@types/node@13.1.4":
version "13.1.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.4.tgz#4cfd90175a200ee9b02bd6b1cd19bc349741607e"
integrity sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==
"@types/responselike@*":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
dependencies:
"@types/node" "*"
"@vercel/node@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@vercel/node/-/node-1.9.0.tgz#6b64f3b9a962ddb1089276fad00f441a1f4b9cf0"
integrity sha512-Vk/ZpuY4Cdc8oUwBi/kf8qETRaJb/KYdFddVkLuS10QwA0yJx+RQ11trhZ1KFUdc27aBr5S2k8/dDxK8sLr+IA==
dependencies:
"@types/node" "*"
ts-node "8.9.1"
typescript "3.9.3"
agent-base@5:
version "5.1.1"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
binary@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
dependencies:
buffers "~0.1.1"
chainsaw "~0.1.0"
bl@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88"
integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==
dependencies:
readable-stream "^3.0.1"
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
buffers@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
cacheable-lookup@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-0.2.1.tgz#f474ae2c686667d7ea08c43409ad31b2b31b26c2"
integrity sha512-BQ8MRjxJASEq2q+w0SusPU3B054gS278K8sj58QCLMZIso5qG05+MdCdmXxuyVlfvI8h4bPsNOavVUauVCGxrg==
dependencies:
keyv "^3.1.0"
cacheable-request@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.0.tgz#12421aa084e943ec81eac8c93e56af90c624788a"
integrity sha512-UVG4gMn3WjnAeFBBx7RFoprgOANIAkMwN5Dta6ONmfSwrCxfm0Ip7g0mIBxIRJZX9aDsoID0Ry3dU5Pr0csKKA==
dependencies:
clone-response "^1.0.2"
get-stream "^5.1.0"
http-cache-semantics "^4.0.0"
keyv "^3.0.0"
lowercase-keys "^2.0.0"
normalize-url "^4.1.0"
responselike "^2.0.0"
chainsaw@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98"
integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
dependencies:
traverse ">=0.3.0 <0.4"
chownr@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142"
integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==
clone-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
dependencies:
mimic-response "^1.0.0"
cookie@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
debug@4:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
decompress-response@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f"
integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==
dependencies:
mimic-response "^2.0.0"
defer-to-connect@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f"
integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==
diff@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
duplexer3@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
end-of-stream@^1.1.0, end-of-stream@^1.4.1:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
dependencies:
once "^1.4.0"
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
get-stream@^5.0.0, get-stream@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
dependencies:
pump "^3.0.0"
got@10.2.1:
version "10.2.1"
resolved "https://registry.yarnpkg.com/got/-/got-10.2.1.tgz#7087485482fb31aa6e6399fd493dd04639da117b"
integrity sha512-IQX//hGm5oLjUj743GJG30U2RzjS58ZlhQQjwQXjsyR50TTD+etVMHlMEbNxYJGWVFa0ASgDVhRkAvQPe6M9iQ==
dependencies:
"@sindresorhus/is" "^1.0.0"
"@szmarczak/http-timer" "^4.0.0"
"@types/cacheable-request" "^6.0.1"
cacheable-lookup "^0.2.1"
cacheable-request "^7.0.0"
decompress-response "^5.0.0"
duplexer3 "^0.1.4"
get-stream "^5.0.0"
lowercase-keys "^2.0.0"
mimic-response "^2.0.0"
p-cancelable "^2.0.0"
responselike "^2.0.0"
to-readable-stream "^2.0.0"
type-fest "^0.8.0"
http-cache-semantics@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5"
integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==
https-proxy-agent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
dependencies:
agent-base "5"
debug "4"
inherits@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
json-buffer@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
keyv@^3.0.0, keyv@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
dependencies:
json-buffer "3.0.0"
lowercase-keys@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
lru_map@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
mimic-response@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
mimic-response@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.0.0.tgz#996a51c60adf12cb8a87d7fb8ef24c2f3d5ebb46"
integrity sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
node-fetch@2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
normalize-url@^4.1.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
p-cancelable@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e"
integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==
parse-github-url@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395"
integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
readable-stream@^3.0.1, readable-stream@^3.1.1:
version "3.4.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
responselike@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
dependencies:
lowercase-keys "^2.0.0"
safe-buffer@~5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
source-map-support@^0.5.17:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
tar-fs@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"
integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==
dependencies:
chownr "^1.1.1"
mkdirp "^0.5.1"
pump "^3.0.0"
tar-stream "^2.0.0"
tar-stream@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3"
integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==
dependencies:
bl "^3.0.0"
end-of-stream "^1.4.1"
fs-constants "^1.0.0"
inherits "^2.0.3"
readable-stream "^3.1.1"
to-readable-stream@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8"
integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==
"traverse@>=0.3.0 <0.4":
version "0.3.9"
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
ts-node@8.9.1:
version "8.9.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.1.tgz#2f857f46c47e91dcd28a14e052482eb14cfd65a5"
integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ==
dependencies:
arg "^4.1.0"
diff "^4.0.1"
make-error "^1.1.1"
source-map-support "^0.5.17"
yn "3.1.1"
tslib@^1.9.3:
version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
type-fest@^0.8.0:
version "0.8.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
typescript@3.9.3:
version "3.9.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.3.tgz#d3ac8883a97c26139e42df5e93eeece33d610b8a"
integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==
typescript@3.9.6:
version "3.9.6"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a"
integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
unzip-stream@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/unzip-stream/-/unzip-stream-0.3.0.tgz#c30c054cd6b0d64b13a23cd3ece911eb0b2b52d8"
integrity sha512-NG1h/MdGIX3HzyqMjyj1laBCmlPYhcO4xEy7gEqqzGiSLw7XqDQCnY4nYSn5XSaH8mQ6TFkaujrO8d/PIZN85A==
dependencies:
binary "^0.3.0"
mkdirp "^0.5.1"
util-deprecate@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
yn@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==

View File

@@ -1,5 +1,5 @@
{ {
"npmClient": "yarn", "npmClient": "pnpm",
"useWorkspaces": true, "useWorkspaces": true,
"packages": ["packages/*"], "packages": ["packages/*"],
"command": { "command": {

View File

@@ -3,30 +3,26 @@
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"packageManager": "yarn@1.22.19", "packageManager": "pnpm@7.24.2",
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/@types/**",
"**/typedoc",
"**/typedoc-plugin-markdown",
"**/typedoc-plugin-mdn-links"
]
},
"dependencies": { "dependencies": {
"lerna": "3.16.4" "lerna": "5.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "14.18.33",
"@typescript-eslint/eslint-plugin": "5.21.0", "@typescript-eslint/eslint-plugin": "5.21.0",
"@typescript-eslint/parser": "5.21.0", "@typescript-eslint/parser": "5.21.0",
"@vercel/build-utils": "workspace:5.7.5",
"@vercel/ncc": "0.24.0",
"@vercel/next": "workspace:3.3.9",
"async-retry": "1.2.3", "async-retry": "1.2.3",
"buffer-replace": "1.0.0", "buffer-replace": "1.0.0",
"create-svelte": "2.0.1", "create-svelte": "2.0.1",
"dot": "1.1.3",
"eslint": "8.14.0", "eslint": "8.14.0",
"eslint-config-prettier": "8.5.0", "eslint-config-prettier": "8.5.0",
"eslint-plugin-jest": "26.1.5", "eslint-plugin-jest": "26.1.5",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"husky": "7.0.4", "husky": "7.0.4",
"jest": "28.0.2", "jest": "28.0.2",
"json5": "2.1.1", "json5": "2.1.1",
@@ -34,6 +30,7 @@
"node-fetch": "2.6.7", "node-fetch": "2.6.7",
"npm-package-arg": "6.1.0", "npm-package-arg": "6.1.0",
"prettier": "2.6.2", "prettier": "2.6.2",
"source-map-support": "0.5.12",
"ts-eager": "2.0.2", "ts-eager": "2.0.2",
"ts-jest": "28.0.5", "ts-jest": "28.0.5",
"turbo": "1.7.0-canary.9" "turbo": "1.7.0-canary.9"
@@ -41,15 +38,15 @@
"scripts": { "scripts": {
"lerna": "lerna", "lerna": "lerna",
"bootstrap": "lerna bootstrap", "bootstrap": "lerna bootstrap",
"publish-stable": "echo 'Run `yarn changelog` for instructions'", "publish-stable": "echo 'Run `pnpm changelog` for instructions'",
"publish-canary": "git checkout main && git pull && lerna version prerelease --preid canary --message \"Publish Canary\" --exact", "publish-canary": "git checkout main && git pull && lerna version prerelease --preid canary --message \"Publish Canary\" --exact",
"publish-from-github": "./utils/publish.sh", "publish-from-github": "./utils/publish.sh",
"changelog": "node utils/changelog.js", "changelog": "node utils/changelog.js",
"build": "node utils/gen.js && turbo run build", "build": "node utils/gen.js && turbo run build",
"vercel-build": "yarn build && yarn run pack && cd api && node -r ts-eager/register ./_lib/script/build.ts", "vercel-build": "pnpm build && pnpm run pack && cd api && node -r ts-eager/register ./_lib/script/build.ts",
"pre-commit": "lint-staged", "pre-commit": "lint-staged",
"test": "jest --rootDir=\"test\" --testPathPattern=\"\\.test.js\"", "test": "jest --rootDir=\"test\" --testPathPattern=\"\\.test.js\"",
"test-unit": "yarn test && node utils/gen.js && turbo run test-unit", "test-unit": "pnpm test && node utils/gen.js && turbo run test-unit",
"test-integration-cli": "node utils/gen.js && turbo run test-integration-cli", "test-integration-cli": "node utils/gen.js && turbo run test-integration-cli",
"test-integration-once": "node utils/gen.js && turbo run test-integration-once", "test-integration-once": "node utils/gen.js && turbo run test-integration-once",
"test-integration-dev": "node utils/gen.js && turbo run test-integration-dev", "test-integration-dev": "node utils/gen.js && turbo run test-integration-dev",

View File

@@ -13,8 +13,8 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test test/unit.*test.*", "test-unit": "pnpm test test/unit.*test.*",
"test-integration-once": "yarn test test/integration.test.ts" "test-integration-once": "pnpm test test/integration.test.ts"
}, },
"devDependencies": { "devDependencies": {
"@iarna/toml": "2.2.3", "@iarna/toml": "2.2.3",
@@ -25,8 +25,10 @@
"@types/glob": "7.2.0", "@types/glob": "7.2.0",
"@types/jest": "27.4.1", "@types/jest": "27.4.1",
"@types/js-yaml": "3.12.1", "@types/js-yaml": "3.12.1",
"@types/minimatch": "^5.1.2",
"@types/ms": "0.7.31", "@types/ms": "0.7.31",
"@types/multistream": "2.1.1", "@types/multistream": "2.1.1",
"@types/node": "14.18.33",
"@types/node-fetch": "^2.1.6", "@types/node-fetch": "^2.1.6",
"@types/semver": "6.0.0", "@types/semver": "6.0.0",
"@types/yazl": "2.4.2", "@types/yazl": "2.4.2",
@@ -36,8 +38,10 @@
"async-sema": "2.1.4", "async-sema": "2.1.4",
"cross-spawn": "6.0.5", "cross-spawn": "6.0.5",
"end-of-stream": "1.4.1", "end-of-stream": "1.4.1",
"execa": "3.2.0",
"fs-extra": "10.0.0", "fs-extra": "10.0.0",
"glob": "8.0.3", "glob": "8.0.3",
"ignore": "4.0.6",
"into-stream": "5.0.0", "into-stream": "5.0.0",
"js-yaml": "3.13.1", "js-yaml": "3.13.1",
"minimatch": "3.0.4", "minimatch": "3.0.4",

View File

@@ -137,6 +137,9 @@ export function execAsync(
child.on('close', (code, signal) => { child.on('close', (code, signal) => {
if (code === 0 || opts.ignoreNon0Exit) { if (code === 0 || opts.ignoreNon0Exit) {
return resolve({ return resolve({
// ignoring the next line due to do some Node.js type issue when we removed hoisting of dependencies in https://github.com/vercel/vercel/pull/9198
// should eventually be fixed when this method is remove by https://github.com/vercel/vercel/pull/9200 or we update to Node 16
// @ts-ignore
code, code,
stdout: Buffer.concat(stdoutList).toString(), stdout: Buffer.concat(stdoutList).toString(),
stderr: Buffer.concat(stderrList).toString(), stderr: Buffer.concat(stderrList).toString(),

View File

@@ -7,6 +7,9 @@
"dependencies": { "dependencies": {
"react": "16.8.0", "react": "16.8.0",
"swr": "1.3.0" "swr": "1.3.0"
},
"engines": {
"node": "16.x"
} }
}, },
"node_modules/js-tokens": { "node_modules/js-tokens": {

View File

@@ -444,21 +444,21 @@ it('should support initialHeaders and initialStatus correctly', async () => {
}); });
it('should support require by path for legacy builders', () => { it('should support require by path for legacy builders', () => {
const index = require('@vercel/build-utils'); const index = require('../');
const download2 = require('@vercel/build-utils/fs/download.js'); const download2 = require('../fs/download.js');
const getWriteableDirectory2 = require('@vercel/build-utils/fs/get-writable-directory.js'); const getWriteableDirectory2 = require('../fs/get-writable-directory.js');
const glob2 = require('@vercel/build-utils/fs/glob.js'); const glob2 = require('../fs/glob.js');
const rename2 = require('@vercel/build-utils/fs/rename.js'); const rename2 = require('../fs/rename.js');
const { const {
runNpmInstall: runNpmInstall2, runNpmInstall: runNpmInstall2,
} = require('@vercel/build-utils/fs/run-user-scripts.js'); } = require('../fs/run-user-scripts.js');
const streamToBuffer2 = require('@vercel/build-utils/fs/stream-to-buffer.js'); const streamToBuffer2 = require('../fs/stream-to-buffer.js');
const FileBlob2 = require('@vercel/build-utils/file-blob.js'); const FileBlob2 = require('../file-blob.js');
const FileFsRef2 = require('@vercel/build-utils/file-fs-ref.js'); const FileFsRef2 = require('../file-fs-ref.js');
const FileRef2 = require('@vercel/build-utils/file-ref.js'); const FileRef2 = require('../file-ref.js');
const { Lambda: Lambda2 } = require('@vercel/build-utils/lambda.js'); const { Lambda: Lambda2 } = require('../lambda.js');
expect(download2).toBe(index.download); expect(download2).toBe(index.download);
expect(getWriteableDirectory2).toBe(index.getWriteableDirectory); expect(getWriteableDirectory2).toBe(index.getWriteableDirectory);
@@ -560,9 +560,9 @@ it('should detect package.json in nested backend', async () => {
'../../node/test/fixtures/18.1-nested-packagejson/backend' '../../node/test/fixtures/18.1-nested-packagejson/backend'
); );
const result = await scanParentDirs(fixture); const result = await scanParentDirs(fixture);
expect(result.cliType).toEqual('yarn'); expect(result.cliType).toEqual('pnpm');
expect(result.lockfileVersion).toEqual(undefined); // There is no lockfile but this test will pick up vercel/vercel/pnpm-lock.yaml
// There is no lockfile but this test will pick up vercel/vercel/yarn.lock expect(result.lockfileVersion).toEqual(5.4);
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json')); expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
}); });
@@ -572,9 +572,9 @@ it('should detect package.json in nested frontend', async () => {
'../../node/test/fixtures/18.1-nested-packagejson/frontend' '../../node/test/fixtures/18.1-nested-packagejson/frontend'
); );
const result = await scanParentDirs(fixture); const result = await scanParentDirs(fixture);
expect(result.cliType).toEqual('yarn'); expect(result.cliType).toEqual('pnpm');
expect(result.lockfileVersion).toEqual(undefined); // There is no lockfile but this test will pick up vercel/vercel/pnpm-lock.yaml
// There is no lockfile but this test will pick up vercel/vercel/yarn.lock expect(result.lockfileVersion).toEqual(5.4);
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json')); expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
}); });

View File

@@ -2,7 +2,7 @@ import { walkParentDirs } from '../src';
import { strict } from 'assert'; import { strict } from 'assert';
import { join } from 'path'; import { join } from 'path';
import { promises } from 'fs'; import { promises } from 'fs';
const { deepEqual, notDeepEqual, fail } = strict; const { notDeepEqual, fail } = strict;
const { readFile } = promises; const { readFile } = promises;
const fixture = (name: string) => join(__dirname, 'walk', name); const fixture = (name: string) => join(__dirname, 'walk', name);
const filename = 'file.txt'; const filename = 'file.txt';
@@ -10,7 +10,7 @@ const filename = 'file.txt';
async function assertContent(target: string | null, contents: string) { async function assertContent(target: string | null, contents: string) {
notDeepEqual(target, null); notDeepEqual(target, null);
const actual = await readFile(target!, 'utf8'); const actual = await readFile(target!, 'utf8');
deepEqual(actual.trim(), contents.trim()); strict.deepEqual(actual.trim(), contents.trim());
} }
describe('Test `walkParentDirs`', () => { describe('Test `walkParentDirs`', () => {
@@ -21,7 +21,7 @@ describe('Test `walkParentDirs`', () => {
await walkParentDirs({ base, start, filename }); await walkParentDirs({ base, start, filename });
fail('Expected error'); fail('Expected error');
} catch (error) { } catch (error) {
deepEqual( strict.deepEqual(
(error as Error).message, (error as Error).message,
'Expected "base" to be absolute path' 'Expected "base" to be absolute path'
); );
@@ -35,7 +35,7 @@ describe('Test `walkParentDirs`', () => {
await walkParentDirs({ base, start, filename }); await walkParentDirs({ base, start, filename });
fail('Expected error'); fail('Expected error');
} catch (error) { } catch (error) {
deepEqual( strict.deepEqual(
(error as Error).message, (error as Error).message,
'Expected "start" to be absolute path' 'Expected "start" to be absolute path'
); );
@@ -67,21 +67,21 @@ describe('Test `walkParentDirs`', () => {
const base = fixture('not-found'); const base = fixture('not-found');
const start = base; const start = base;
const target = await walkParentDirs({ base, start, filename }); const target = await walkParentDirs({ base, start, filename });
deepEqual(target, null); strict.deepEqual(target, null);
}); });
it('should not find nested two', async () => { it('should not find nested two', async () => {
const base = fixture('not-found'); const base = fixture('not-found');
const start = join(base, 'two'); const start = join(base, 'two');
const target = await walkParentDirs({ base, start, filename }); const target = await walkParentDirs({ base, start, filename });
deepEqual(target, null); strict.deepEqual(target, null);
}); });
it('should not find nested three', async () => { it('should not find nested three', async () => {
const base = fixture('not-found'); const base = fixture('not-found');
const start = join(base, 'two', 'three'); const start = join(base, 'two', 'three');
const target = await walkParentDirs({ base, start, filename }); const target = await walkParentDirs({ base, start, filename });
deepEqual(target, null); strict.deepEqual(target, null);
}); });
it('should find only one', async () => { it('should find only one', async () => {

View File

@@ -41,8 +41,8 @@ To develop Vercel CLI, first check out the source code, install dependencies, an
```bash ```bash
git clone https://github.com/vercel/vercel.git git clone https://github.com/vercel/vercel.git
cd vercel cd vercel
yarn pnpm
yarn build pnpm build
``` ```
At this point you can make modifications to the CLI source code and test them out locally. The CLI source code is located in the `packages/cli` directory. At this point you can make modifications to the CLI source code and test them out locally. The CLI source code is located in the `packages/cli` directory.
@@ -51,15 +51,15 @@ At this point you can make modifications to the CLI source code and test them ou
cd packages/cli cd packages/cli
``` ```
### `yarn dev <cli-commands...>` ### `pnpm dev <cli-commands...>`
From within the `packages/cli` directory, you can use the "dev" script to quickly execute Vercel CLI from its TypeScript source code directly (without having to manually compile first). For example: From within the `packages/cli` directory, you can use the "dev" script to quickly execute Vercel CLI from its TypeScript source code directly (without having to manually compile first). For example:
```bash ```bash
yarn dev deploy pnpm dev deploy
yarn dev whoami pnpm dev whoami
yarn dev login pnpm dev login
yarn dev switch --debug pnpm dev switch --debug
``` ```
When you are satisfied with your changes, make a commit and create a pull request! When you are satisfied with your changes, make a commit and create a pull request!

View File

@@ -13,9 +13,9 @@
"scripts": { "scripts": {
"preinstall": "node ./scripts/preinstall.js", "preinstall": "node ./scripts/preinstall.js",
"test": "jest --env node --verbose --bail", "test": "jest --env node --verbose --bail",
"test-unit": "yarn test test/unit/", "test-unit": "pnpm test test/unit/",
"test-integration-cli": "rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose", "test-integration-cli": "rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose",
"test-integration-dev": "yarn test test/dev/", "test-integration-dev": "pnpm test test/dev/",
"coverage": "codecov", "coverage": "codecov",
"build": "ts-node ./scripts/build.ts", "build": "ts-node ./scripts/build.ts",
"dev": "ts-node ./src/index.ts" "dev": "ts-node ./src/index.ts"
@@ -41,16 +41,17 @@
"node": ">= 14" "node": ">= 14"
}, },
"dependencies": { "dependencies": {
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/go": "2.2.24", "@vercel/go": "workspace:2.2.24",
"@vercel/hydrogen": "0.0.38", "@vercel/hydrogen": "workspace:0.0.38",
"@vercel/next": "3.3.9", "@vercel/next": "workspace:3.3.9",
"@vercel/node": "2.8.6", "@vercel/node": "workspace:2.8.6",
"@vercel/python": "3.1.34", "@vercel/python": "workspace:3.1.34",
"@vercel/redwood": "1.0.45", "@vercel/redwood": "workspace:1.0.45",
"@vercel/remix": "1.1.7", "@vercel/remix": "workspace:1.1.7",
"@vercel/ruby": "1.3.50", "@vercel/ruby": "workspace:1.3.50",
"@vercel/static-build": "1.1.1" "@vercel/static-build": "workspace:1.1.1",
"qs": "6.11.0"
}, },
"devDependencies": { "devDependencies": {
"@alex_neo/jest-expect-message": "1.0.5", "@alex_neo/jest-expect-message": "1.0.5",
@@ -83,6 +84,7 @@
"@types/npm-package-arg": "6.1.0", "@types/npm-package-arg": "6.1.0",
"@types/pluralize": "0.0.29", "@types/pluralize": "0.0.29",
"@types/psl": "1.1.0", "@types/psl": "1.1.0",
"@types/qs": "6.9.7",
"@types/semver": "6.0.1", "@types/semver": "6.0.1",
"@types/tar-fs": "1.16.1", "@types/tar-fs": "1.16.1",
"@types/text-table": "0.2.0", "@types/text-table": "0.2.0",
@@ -92,13 +94,13 @@
"@types/which": "1.3.2", "@types/which": "1.3.2",
"@types/write-json-file": "2.2.1", "@types/write-json-file": "2.2.1",
"@types/yauzl-promise": "2.1.0", "@types/yauzl-promise": "2.1.0",
"@vercel/client": "12.2.26", "@vercel/client": "workspace:12.2.26",
"@vercel/error-utils": "1.0.3", "@vercel/error-utils": "workspace:1.0.3",
"@vercel/frameworks": "1.1.18", "@vercel/frameworks": "workspace:1.1.18",
"@vercel/fs-detectors": "3.6.2", "@vercel/fs-detectors": "workspace:3.6.2",
"@vercel/fun": "1.0.4", "@vercel/fun": "1.0.4",
"@vercel/ncc": "0.24.0", "@vercel/ncc": "0.24.0",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"@zeit/source-map-support": "0.6.2", "@zeit/source-map-support": "0.6.2",
"ajv": "6.12.2", "ajv": "6.12.2",
"alpha-sort": "2.0.1", "alpha-sort": "2.0.1",

View File

@@ -47,12 +47,12 @@ async function main() {
const dependencies = Object.keys(pkg?.dependencies ?? {}); const dependencies = Object.keys(pkg?.dependencies ?? {});
// Do the initial `ncc` build // Do the initial `ncc` build
console.log('Dependencies:', dependencies); console.log('Dependencies:', dependencies);
const externs = []; const externs: Array<string> = [];
for (const dep of dependencies) { for (const dep of dependencies) {
externs.push('--external', dep); externs.push('--external', dep);
} }
const args = ['ncc', 'build', 'src/index.ts', ...externs]; const args = ['ncc', 'build', 'src/index.ts', ...externs];
await execa('yarn', args, { stdio: 'inherit', cwd: dirRoot }); await execa('pnpm', args, { stdio: 'inherit', cwd: dirRoot });
// `ncc` has some issues with `@vercel/fun`'s runtime files: // `ncc` has some issues with `@vercel/fun`'s runtime files:
// - Executable bits on the `bootstrap` files appear to be lost: // - Executable bits on the `bootstrap` files appear to be lost:
@@ -66,10 +66,7 @@ async function main() {
// get compiled into the final ncc bundle file, however, we want them to be // get compiled into the final ncc bundle file, however, we want them to be
// present in the npm package because the contents of those files are involved // present in the npm package because the contents of those files are involved
// with `fun`'s cache invalidation mechanism and they need to be shasum'd. // with `fun`'s cache invalidation mechanism and they need to be shasum'd.
const runtimes = join( const runtimes = join(dirRoot, 'node_modules/@vercel/fun/dist/src/runtimes');
dirRoot,
'../../node_modules/@vercel/fun/dist/src/runtimes'
);
await cpy('**/*', join(distRoot, 'runtimes'), { await cpy('**/*', join(distRoot, 'runtimes'), {
parents: true, parents: true,
cwd: runtimes, cwd: runtimes,

View File

@@ -10,8 +10,6 @@ Firstly, install the package:
```bash ```bash
npm install @vercel/client npm install @vercel/client
# or
yarn add @vercel/client
``` ```
Next, load it: Next, load it:

View File

@@ -15,9 +15,9 @@
}, },
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test-integration-once": "yarn test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts", "test-integration-once": "pnpm test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test tests/unit.*test.*" "test-unit": "pnpm test tests/unit.*test.*"
}, },
"engines": { "engines": {
"node": ">= 14" "node": ">= 14"
@@ -43,8 +43,8 @@
] ]
}, },
"dependencies": { "dependencies": {
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"@zeit/fetch": "5.2.0", "@zeit/fetch": "5.2.0",
"async-retry": "1.2.3", "async-retry": "1.2.3",
"async-sema": "3.0.0", "async-sema": "3.0.0",

View File

@@ -36,7 +36,7 @@ City of the original client IP as calculated by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:4](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L4) [packages/edge/src/edge-headers.ts:4](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L4)
--- ---
@@ -48,7 +48,7 @@ Country of the original client IP as calculated by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:8](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L8) [packages/edge/src/edge-headers.ts:8](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L8)
--- ---
@@ -60,7 +60,7 @@ Client IP as calcualted by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:12](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L12) [packages/edge/src/edge-headers.ts:12](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L12)
--- ---
@@ -72,7 +72,7 @@ Latitude of the original client IP as calculated by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:16](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L16) [packages/edge/src/edge-headers.ts:16](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L16)
--- ---
@@ -84,7 +84,7 @@ Longitude of the original client IP as calculated by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:20](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L20) [packages/edge/src/edge-headers.ts:20](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L20)
--- ---
@@ -98,7 +98,7 @@ See [docs](https://vercel.com/docs/concepts/edge-network/headers#x-vercel-ip-cou
#### Defined in #### Defined in
[src/edge-headers.ts:26](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L26) [packages/edge/src/edge-headers.ts:26](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L26)
--- ---
@@ -110,7 +110,7 @@ The request ID for each request generated by Vercel Proxy.
#### Defined in #### Defined in
[src/edge-headers.ts:30](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L30) [packages/edge/src/edge-headers.ts:30](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L30)
## Functions ## Functions
@@ -140,7 +140,7 @@ Returns the location information for the incoming request.
#### Defined in #### Defined in
[src/edge-headers.ts:106](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L106) [packages/edge/src/edge-headers.ts:106](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L106)
--- ---
@@ -166,7 +166,7 @@ Returns the IP address of the request from the headers.
#### Defined in #### Defined in
[src/edge-headers.ts:77](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L77) [packages/edge/src/edge-headers.ts:77](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L77)
--- ---
@@ -209,7 +209,7 @@ const response = json(
#### Defined in #### Defined in
[src/response.ts:19](https://github.com/vercel/vercel/blob/main/packages/edge/src/response.ts#L19) [packages/edge/src/response.ts:19](https://github.com/vercel/vercel/blob/main/packages/edge/src/response.ts#L19)
--- ---
@@ -257,7 +257,7 @@ export default function middleware(_req: Request) {
#### Defined in #### Defined in
[src/middleware-helpers.ts:145](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L145) [packages/edge/src/middleware-helpers.ts:145](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L145)
--- ---
@@ -319,4 +319,4 @@ export const config = { matcher: '/api/users/:path*' };
#### Defined in #### Defined in
[src/middleware-helpers.ts:101](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L101) [packages/edge/src/middleware-helpers.ts:101](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L101)

View File

@@ -26,7 +26,7 @@ along with the response headers from the origin.
#### Defined in #### Defined in
[src/middleware-helpers.ts:31](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L31) [packages/edge/src/middleware-helpers.ts:31](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L31)
--- ---
@@ -38,7 +38,7 @@ Fields to rewrite for the upstream request.
#### Defined in #### Defined in
[src/middleware-helpers.ts:35](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L35) [packages/edge/src/middleware-helpers.ts:35](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L35)
--- ---

View File

@@ -23,7 +23,7 @@ The city that the request originated from.
#### Defined in #### Defined in
[src/edge-headers.ts:47](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L47) [packages/edge/src/edge-headers.ts:47](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L47)
--- ---
@@ -35,7 +35,7 @@ The country that the request originated from.
#### Defined in #### Defined in
[src/edge-headers.ts:50](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L50) [packages/edge/src/edge-headers.ts:50](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L50)
--- ---
@@ -48,7 +48,7 @@ See [docs](https://vercel.com/docs/concepts/edge-network/headers#x-vercel-ip-cou
#### Defined in #### Defined in
[src/edge-headers.ts:58](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L58) [packages/edge/src/edge-headers.ts:58](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L58)
--- ---
@@ -60,7 +60,7 @@ The latitude of the client.
#### Defined in #### Defined in
[src/edge-headers.ts:61](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L61) [packages/edge/src/edge-headers.ts:61](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L61)
--- ---
@@ -72,7 +72,7 @@ The longitude of the client.
#### Defined in #### Defined in
[src/edge-headers.ts:64](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L64) [packages/edge/src/edge-headers.ts:64](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L64)
--- ---
@@ -84,4 +84,4 @@ The [Vercel Edge Network region](https://vercel.com/docs/concepts/edge-network/r
#### Defined in #### Defined in
[src/edge-headers.ts:53](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L53) [packages/edge/src/edge-headers.ts:53](https://github.com/vercel/vercel/blob/main/packages/edge/src/edge-headers.ts#L53)

View File

@@ -35,4 +35,4 @@ export default async function middleware(request: Request): Promise<Response> {
#### Defined in #### Defined in
[src/middleware-helpers.ts:23](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L23) [packages/edge/src/middleware-helpers.ts:23](https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L23)

View File

@@ -8,8 +8,8 @@
"scripts": { "scripts": {
"build": "tsup src/index.ts --dts --format esm,cjs", "build": "tsup src/index.ts --dts --format esm,cjs",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test", "test-unit": "pnpm test",
"build:docs": "typedoc && prettier --write docs/**/*.md docs/*.md" "build:docs": "typedoc && node scripts/fix-links.js && prettier --write docs/**/*.md docs/*.md"
}, },
"devDependencies": { "devDependencies": {
"@edge-runtime/jest-environment": "2.0.0", "@edge-runtime/jest-environment": "2.0.0",

View File

@@ -0,0 +1,24 @@
// this step is necessary until https://github.com/TypeStrong/typedoc/issues/2140 is fixed
const fs = require('fs');
const path = require('path');
const docs = path.join(__dirname, '..', 'docs');
const interfaces = path.join(docs, 'interfaces');
for (const dir of [docs, interfaces]) {
for (const entity of fs.readdirSync(dir)) {
try {
const entityPath = path.join(dir, entity);
const stat = fs.statSync(entityPath);
if (stat.isFile()) {
const contents = fs.readFileSync(entityPath, 'utf-8');
const pattern = /node_modules\/\.pnpm\/typescript@\d*\.\d*\.\d*\//gi;
fs.writeFileSync(entityPath, contents.replace(pattern, ''));
}
} catch (e) {
console.error('Error fixing links in docs', e);
}
}
}

View File

@@ -9,7 +9,7 @@ const test = process.platform === 'win32' ? it.skip : it;
test('docs are up to date', async () => { test('docs are up to date', async () => {
const cwd = path.resolve(__dirname, '../'); const cwd = path.resolve(__dirname, '../');
await execAsync(`yarn build:docs`, { cwd }); await execAsync(`pnpm build:docs`, { cwd });
const result = await execAsync(`git status --short docs`, { const result = await execAsync(`git status --short docs`, {
cwd, cwd,
encoding: 'utf-8', encoding: 'utf-8',
@@ -27,10 +27,7 @@ test('docs are up to date', async () => {
if (lines !== '') { if (lines !== '') {
const diff = await execAsync(`git diff docs`, { cwd, encoding: 'utf8' }); const diff = await execAsync(`git diff docs`, { cwd, encoding: 'utf8' });
throw new Error( throw new Error(
'Docs are not up to date. Please re-run `yarn build:docs` to re-generate them.\nChanges:\n' + `Docs are not up to date. Please re-run \`pnpm build:docs\` to re-generate them.\nChanges:\n${lines}\n\n${diff.stdout}`
lines +
'\n\n' +
diff.stdout
); );
} }

View File

@@ -12,7 +12,7 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test": "jest --coverage --env node --verbose", "test": "jest --coverage --env node --verbose",
"test-unit": "yarn test" "test-unit": "pnpm test"
}, },
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {

View File

@@ -10,7 +10,7 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test" "test-unit": "pnpm test"
}, },
"dependencies": { "dependencies": {
"@iarna/toml": "2.2.3", "@iarna/toml": "2.2.3",
@@ -21,7 +21,7 @@
"@types/js-yaml": "3.12.1", "@types/js-yaml": "3.12.1",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@types/node-fetch": "2.5.8", "@types/node-fetch": "2.5.8",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"ajv": "6.12.2", "ajv": "6.12.2",
"typescript": "4.3.4" "typescript": "4.3.4"
} }

View File

@@ -16,12 +16,12 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test": "jest --env node --verbose --runInBand --bail test/unit.*test.*", "test": "jest --env node --verbose --runInBand --bail test/unit.*test.*",
"test-unit": "yarn test" "test-unit": "pnpm test"
}, },
"dependencies": { "dependencies": {
"@vercel/error-utils": "1.0.3", "@vercel/error-utils": "workspace:1.0.3",
"@vercel/frameworks": "1.1.18", "@vercel/frameworks": "workspace:1.1.18",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"glob": "8.0.3", "glob": "8.0.3",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"json5": "2.2.2", "json5": "2.2.2",
@@ -35,7 +35,7 @@
"@types/minimatch": "3.0.5", "@types/minimatch": "3.0.5",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@types/semver": "7.3.10", "@types/semver": "7.3.10",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"typescript": "4.3.4" "typescript": "4.3.4"
} }
} }

View File

@@ -18,12 +18,6 @@ This plugin sends [Core Web Vitals](https://web.dev/vitals/) to Vercel Analytics
npm i @vercel/gatsby-plugin-vercel-analytics npm i @vercel/gatsby-plugin-vercel-analytics
``` ```
or
```bash
yarn add @vercel/gatsby-plugin-vercel-analytics
```
## Usage ## Usage
```js ```js

View File

@@ -12,7 +12,7 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-integration-once": "yarn test" "test-integration-once": "pnpm test"
}, },
"files": [ "files": [
"dist" "dist"
@@ -33,9 +33,10 @@
"@types/execa": "^0.9.0", "@types/execa": "^0.9.0",
"@types/fs-extra": "^5.0.5", "@types/fs-extra": "^5.0.5",
"@types/jest": "28.1.6", "@types/jest": "28.1.6",
"@types/node": "14.18.33",
"@types/node-fetch": "^2.3.0", "@types/node-fetch": "^2.3.0",
"@types/tar": "^4.0.0", "@types/tar": "^4.0.0",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/ncc": "0.24.0", "@vercel/ncc": "0.24.0",
"async-retry": "1.3.1", "async-retry": "1.3.1",
"execa": "^1.0.0", "execa": "^1.0.0",

View File

@@ -11,7 +11,7 @@
}, },
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",
"test-integration-once": "yarn test test/test.js", "test-integration-once": "pnpm test test/test.js",
"test": "jest --env node --verbose --bail --runInBand" "test": "jest --env node --verbose --bail --runInBand"
}, },
"files": [ "files": [
@@ -21,8 +21,11 @@
"devDependencies": { "devDependencies": {
"@types/jest": "27.5.1", "@types/jest": "27.5.1",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/static-config": "2.0.6", "@vercel/static-config": "workspace:2.0.6",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"ts-morph": "12.0.0",
"typescript": "4.6.4" "typescript": "4.6.4"
} }
} }

View File

@@ -7,11 +7,11 @@
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",
"build-dev": "node build.js --dev", "build-dev": "node build.js --dev",
"test": "jest --env node --verbose --bail --runInBand", "test": "jest --env node --verbose --bail --runInBand --testTimeout=360000",
"test-unit": "yarn test test/unit/", "test-unit": "pnpm test test/unit/",
"test-next-local": "jest --env node --verbose --bail --testTimeout=360000 test/integration/*.test.js test/integration/*.test.ts", "test-next-local": "pnpm test test/integration/*.test.js test/integration/*.test.ts",
"test-next-local:middleware": "jest --env node --verbose --bail --useStderr --testTimeout=360000 test/integration/middleware.test.ts", "test-next-local:middleware": "pnpm test test/integration/middleware.test.ts",
"test-integration-once": "rm test/builder-info.json; jest --env node --verbose --runInBand --bail test/fixtures/**/*.test.js" "test-integration-once": "rm -f test/builder-info.json; pnpm test test/fixtures/**/*.test.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -45,9 +45,9 @@
"@types/semver": "6.0.0", "@types/semver": "6.0.0",
"@types/text-table": "0.2.1", "@types/text-table": "0.2.1",
"@types/webpack-sources": "3.2.0", "@types/webpack-sources": "3.2.0",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/nft": "0.22.5", "@vercel/nft": "0.22.5",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"async-sema": "3.0.1", "async-sema": "3.0.1",
"buffer-crc32": "0.2.13", "buffer-crc32": "0.2.13",
"bytes": "3.1.2", "bytes": "3.1.2",
@@ -61,6 +61,7 @@
"get-port": "5.0.0", "get-port": "5.0.0",
"nanoid": "3.3.4", "nanoid": "3.3.4",
"ndjson": "2.0.0", "ndjson": "2.0.0",
"pretty-bytes": "5.3.0",
"resolve-from": "5.0.0", "resolve-from": "5.0.0",
"semver": "6.1.1", "semver": "6.1.1",
"set-cookie-parser": "2.4.6", "set-cookie-parser": "2.4.6",

View File

@@ -18,11 +18,13 @@
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test" "test-unit": "pnpm test"
}, },
"devDependencies": { "devDependencies": {
"@types/aws-lambda": "8.10.19", "@types/aws-lambda": "8.10.19",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"execa": "3.2.0",
"fs-extra": "10.0.0",
"jsonlines": "0.1.1", "jsonlines": "0.1.1",
"test-listen": "1.1.0", "test-listen": "1.1.0",
"typescript": "4.3.4" "typescript": "4.3.4"

View File

@@ -12,8 +12,8 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --bail --runInBand", "test": "jest --env node --verbose --bail --runInBand",
"test-unit": "yarn test test/prepare-cache.test.ts test/utils.test.ts", "test-unit": "pnpm test test/prepare-cache.test.ts test/utils.test.ts",
"test-integration-once": "yarn test test/integration-*.test.js" "test-integration-once": "pnpm test test/integration-*.test.js"
}, },
"files": [ "files": [
"dist" "dist"
@@ -31,9 +31,9 @@
"dependencies": { "dependencies": {
"@edge-runtime/vm": "2.0.0", "@edge-runtime/vm": "2.0.0",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/node-bridge": "3.1.3", "@vercel/node-bridge": "workspace:3.1.3",
"@vercel/static-config": "2.0.6", "@vercel/static-config": "workspace:2.0.6",
"edge-runtime": "2.0.0", "edge-runtime": "2.0.0",
"esbuild": "0.14.47", "esbuild": "0.14.47",
"exit-hook": "2.2.1", "exit-hook": "2.2.1",
@@ -57,8 +57,11 @@
"content-type": "1.0.4", "content-type": "1.0.4",
"cookie": "0.4.0", "cookie": "0.4.0",
"etag": "1.8.1", "etag": "1.8.1",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"path-to-regexp": "6.2.1", "path-to-regexp": "6.2.1",
"source-map-support": "0.5.12", "source-map-support": "0.5.12",
"test-listen": "1.1.0" "test-listen": "1.1.0",
"ts-morph": "12.0.0"
} }
} }

View File

@@ -1,5 +1,5 @@
// provided by the edge runtime: // provided by the edge runtime:
/* global addEventListener Request Response atob */ /* global addEventListener Request Response */
// provided by our edge handler logic: // provided by our edge handler logic:
/* global IS_MIDDLEWARE ENTRYPOINT_LABEL */ /* global IS_MIDDLEWARE ENTRYPOINT_LABEL */

View File

@@ -16,13 +16,14 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test test/unit.test.ts", "test-unit": "pnpm test test/unit.test.ts",
"test-integration-once": "yarn test test/integration.test.ts" "test-integration-once": "pnpm test test/integration.test.ts"
}, },
"devDependencies": { "devDependencies": {
"@types/execa": "^0.9.0", "@types/execa": "^0.9.0",
"@types/jest": "27.4.1", "@types/jest": "27.4.1",
"@vercel/build-utils": "5.7.5", "@types/node": "14.18.33",
"@vercel/build-utils": "workspace:5.7.5",
"@vercel/ncc": "0.24.0", "@vercel/ncc": "0.24.0",
"execa": "^1.0.0", "execa": "^1.0.0",
"typescript": "4.3.4" "typescript": "4.3.4"

View File

@@ -14,19 +14,22 @@
}, },
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",
"test-integration-once": "yarn test test/test.js", "test-integration-once": "pnpm test test/test.js",
"test": "jest --env node --verbose --bail --runInBand", "test": "jest --env node --verbose --bail --runInBand",
"test-unit": "yarn test test/prepare-cache.test.js" "test-unit": "pnpm test test/prepare-cache.test.js"
}, },
"dependencies": { "dependencies": {
"@vercel/nft": "0.22.5", "@vercel/nft": "0.22.5",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"semver": "6.1.1" "semver": "6.1.1"
}, },
"devDependencies": { "devDependencies": {
"@types/aws-lambda": "8.10.19", "@types/aws-lambda": "8.10.19",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@types/semver": "6.0.0", "@types/semver": "6.0.0",
"@vercel/build-utils": "5.7.5" "@vercel/build-utils": "workspace:5.7.5",
"execa": "3.2.0",
"fs-extra": "11.1.0",
"typescript": "4.3.4"
} }
} }

View File

@@ -11,9 +11,9 @@
}, },
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",
"test-integration-once": "yarn test test/test.js", "test-integration-once": "pnpm test test/test.js",
"test": "jest --env node --verbose --bail --runInBand", "test": "jest --env node --verbose --bail --runInBand",
"test-unit": "yarn test test/build.test.ts" "test-unit": "pnpm test test/build.test.ts"
}, },
"files": [ "files": [
"dist", "dist",
@@ -25,7 +25,7 @@
"devDependencies": { "devDependencies": {
"@types/jest": "27.5.1", "@types/jest": "27.5.1",
"@types/node": "14.18.33", "@types/node": "14.18.33",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"typescript": "4.6.4" "typescript": "4.6.4"
} }
} }

View File

@@ -4,7 +4,7 @@ Route validation utilities
## Usage ## Usage
`yarn add @vercel/routing-utils` `npm add @vercel/routing-utils`
```ts ```ts
import { normalizeRoutes } from '@vercel/routing-utils'; import { normalizeRoutes } from '@vercel/routing-utils';

View File

@@ -16,7 +16,7 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-unit": "yarn test" "test-unit": "pnpm test"
}, },
"dependencies": { "dependencies": {
"path-to-regexp": "6.1.0" "path-to-regexp": "6.1.0"

4
packages/ruby/package.json Executable file → Normal file
View File

@@ -17,12 +17,12 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --runInBand --bail", "test": "jest --env node --verbose --runInBand --bail",
"test-integration-once": "yarn test" "test-integration-once": "pnpm test"
}, },
"devDependencies": { "devDependencies": {
"@types/fs-extra": "8.0.0", "@types/fs-extra": "8.0.0",
"@types/semver": "6.0.0", "@types/semver": "6.0.0",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/ncc": "0.24.0", "@vercel/ncc": "0.24.0",
"execa": "2.0.4", "execa": "2.0.4",
"fs-extra": "^7.0.1", "fs-extra": "^7.0.1",

View File

@@ -15,8 +15,8 @@
"scripts": { "scripts": {
"build": "node build", "build": "node build",
"test": "jest --env node --verbose --bail --runInBand", "test": "jest --env node --verbose --bail --runInBand",
"test-unit": "yarn test test/build.test.ts test/prepare-cache.test.ts", "test-unit": "pnpm test test/build.test.ts test/prepare-cache.test.ts",
"test-integration-once": "yarn test test/integration-*.test.js" "test-integration-once": "pnpm test test/integration-*.test.js"
}, },
"jest": { "jest": {
"preset": "ts-jest/presets/default", "preset": "ts-jest/presets/default",
@@ -34,13 +34,15 @@
"@types/fs-extra": "9.0.13", "@types/fs-extra": "9.0.13",
"@types/jest": "27.4.1", "@types/jest": "27.4.1",
"@types/ms": "0.7.31", "@types/ms": "0.7.31",
"@types/node": "14.18.33",
"@types/node-fetch": "2.5.4", "@types/node-fetch": "2.5.4",
"@types/promise-timeout": "1.3.0", "@types/promise-timeout": "1.3.0",
"@vercel/build-utils": "5.7.5", "@vercel/build-utils": "workspace:5.7.5",
"@vercel/frameworks": "1.1.18", "@vercel/frameworks": "workspace:1.1.18",
"@vercel/ncc": "0.24.0", "@vercel/ncc": "0.24.0",
"@vercel/routing-utils": "2.1.3", "@vercel/routing-utils": "workspace:2.1.3",
"@vercel/static-config": "2.0.6", "@vercel/static-config": "workspace:2.0.6",
"execa": "3.2.0",
"fs-extra": "10.0.0", "fs-extra": "10.0.0",
"get-port": "5.0.0", "get-port": "5.0.0",
"is-port-reachable": "2.0.1", "is-port-reachable": "2.0.1",
@@ -48,6 +50,7 @@
"node-fetch": "2.6.7", "node-fetch": "2.6.7",
"rc9": "1.2.0", "rc9": "1.2.0",
"tree-kill": "1.2.2", "tree-kill": "1.2.2",
"ts-morph": "12.0.0",
"typescript": "4.3.4" "typescript": "4.3.4"
} }
} }

View File

@@ -10,7 +10,7 @@
}, },
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test-unit": "yarn test", "test-unit": "pnpm test",
"test": "jest --env node --verbose --runInBand --bail" "test": "jest --env node --verbose --runInBand --bail"
}, },
"files": [ "files": [
@@ -24,7 +24,8 @@
"devDependencies": { "devDependencies": {
"@swc/core": "1.2.182", "@swc/core": "1.2.182",
"@types/jest": "27.4.1", "@types/jest": "27.4.1",
"@types/node": "14.18.33" "@types/node": "14.18.33",
"typescript": "4.3.4"
}, },
"jest": { "jest": {
"preset": "ts-jest", "preset": "ts-jest",

14872
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

3
pnpm-workspace.yaml Normal file
View File

@@ -0,0 +1,3 @@
packages:
- 'packages/*'
- 'api'

View File

@@ -20,6 +20,7 @@ async function getChunkedTests() {
`--cache-dir=.turbo`, `--cache-dir=.turbo`,
'--output-logs=full', '--output-logs=full',
'--', '--',
'--', // need two of these due to pnpm arg parsing
'--listTests', '--listTests',
]) ])
).toString('utf8'); ).toString('utf8');

6
utils/pack.ts vendored
View File

@@ -21,6 +21,10 @@ async function main() {
const dir = path.join(rootDir, task.directory); const dir = path.join(rootDir, task.directory);
const packageJsonPath = path.join(dir, 'package.json'); const packageJsonPath = path.join(dir, 'package.json');
const originalPackageObj = await fs.readJson(packageJsonPath); const originalPackageObj = await fs.readJson(packageJsonPath);
// api is not a package that will be published of this repo, but is used when deployed to Vercel
if (originalPackageObj.name === 'api') {
continue;
}
const packageObj = await fs.readJson(packageJsonPath); const packageObj = await fs.readJson(packageJsonPath);
packageObj.version += `-${sha.trim()}`; packageObj.version += `-${sha.trim()}`;
@@ -38,7 +42,7 @@ async function main() {
} }
await fs.writeJson(packageJsonPath, packageObj, { spaces: 2 }); await fs.writeJson(packageJsonPath, packageObj, { spaces: 2 });
await execa('yarn', ['pack'], { await execa('pnpm', ['pack'], {
cwd: dir, cwd: dir,
stdio: 'inherit', stdio: 'inherit',
}); });

4
utils/publish.sh vendored
View File

@@ -30,9 +30,9 @@ else
fi fi
# Sometimes this is a false alarm and blocks publish # Sometimes this is a false alarm and blocks publish
git checkout yarn.lock git checkout pnpm-lock.yaml
yarn run lerna publish from-git $dist_tag --no-verify-access --yes pnpm run lerna publish from-git $dist_tag --no-verify-access --yes
# always update canary dist-tag as we no longer publish canary versions separate # always update canary dist-tag as we no longer publish canary versions separate
node ./utils/update-canary-tag.js node ./utils/update-canary-tag.js

4
utils/run.js vendored
View File

@@ -79,8 +79,8 @@ function runScript(pkgName, script) {
pkgJson = null; pkgJson = null;
} }
if (pkgJson && pkgJson.scripts && pkgJson.scripts[script]) { if (pkgJson && pkgJson.scripts && pkgJson.scripts[script]) {
console.log(`\n[${pkgName}] Running yarn ${script}`); console.log(`\n[${pkgName}] Running pnpm ${script}`);
const child = spawn('yarn', [script], { const child = spawn('pnpm', [script], {
cwd, cwd,
stdio: 'inherit', stdio: 'inherit',
shell: true, shell: true,

13847
yarn.lock

File diff suppressed because it is too large Load Diff