mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-11 12:57:46 +00:00
Compare commits
142 Commits
examples@n
...
@vercel/st
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7504bfbe26 | ||
|
|
7fa08088ea | ||
|
|
5d40da17ba | ||
|
|
de84743e10 | ||
|
|
39ce9166ba | ||
|
|
ce54ca631b | ||
|
|
d6ca05d975 | ||
|
|
f8c893bb15 | ||
|
|
5e6ef3d569 | ||
|
|
88715ad598 | ||
|
|
ed19b26603 | ||
|
|
9c4589ed28 | ||
|
|
da300030c9 | ||
|
|
90b14b689d | ||
|
|
e0ed2d1e76 | ||
|
|
e7516f8002 | ||
|
|
9e9fac0191 | ||
|
|
00f26b3571 | ||
|
|
68b4516722 | ||
|
|
7bf7591dd3 | ||
|
|
a012a1e749 | ||
|
|
6dbeb5c3ee | ||
|
|
853a570384 | ||
|
|
353a7ddfcd | ||
|
|
6fcbdb90c7 | ||
|
|
80a6960dc9 | ||
|
|
b52741b1bb | ||
|
|
1d4c86d0f8 | ||
|
|
913608de4d | ||
|
|
d595db6294 | ||
|
|
ae489687d2 | ||
|
|
6fc2872794 | ||
|
|
6697a0e846 | ||
|
|
ed9ef486a8 | ||
|
|
213ec69db3 | ||
|
|
7512bf64b1 | ||
|
|
00e12792d8 | ||
|
|
469d38aad8 | ||
|
|
0e84a6775d | ||
|
|
3029af5a2b | ||
|
|
4422eee5c4 | ||
|
|
222710f612 | ||
|
|
d8179032e2 | ||
|
|
f2d7f3f444 | ||
|
|
60929bb1af | ||
|
|
4ef0b19508 | ||
|
|
6041a3f6c8 | ||
|
|
5ee94e0dce | ||
|
|
9bc5bb4afc | ||
|
|
cf6152d16b | ||
|
|
0f5ec80cc6 | ||
|
|
c523a755f8 | ||
|
|
fa8e313222 | ||
|
|
0c1603f41b | ||
|
|
18b04b3589 | ||
|
|
58215906f9 | ||
|
|
1feb4d797e | ||
|
|
45ae16e371 | ||
|
|
ce7e82fa7a | ||
|
|
e9026c7a69 | ||
|
|
a18ed98f2d | ||
|
|
09f1bbfa41 | ||
|
|
13efc4f04f | ||
|
|
08c5a9b0fc | ||
|
|
5349fb9181 | ||
|
|
2f51171a17 | ||
|
|
63c010a7f4 | ||
|
|
7128a65ccd | ||
|
|
d402c4350a | ||
|
|
f88afba733 | ||
|
|
ea5bc88062 | ||
|
|
eb06bd262b | ||
|
|
cb37ff2c89 | ||
|
|
2f5b0aeeb1 | ||
|
|
ab01608785 | ||
|
|
905c7b6ad4 | ||
|
|
717dd82c51 | ||
|
|
a4996e1c5a | ||
|
|
c147ead1bc | ||
|
|
2ab5ce5d90 | ||
|
|
33e43e103a | ||
|
|
3dbc75580d | ||
|
|
f6e863d4bb | ||
|
|
9f63ca60ad | ||
|
|
873327e9bd | ||
|
|
e3f9faf513 | ||
|
|
1a5bd6c5b9 | ||
|
|
6d312d85b2 | ||
|
|
10d4e51ac5 | ||
|
|
57231a0d60 | ||
|
|
e0e9cffc8d | ||
|
|
d0d0520111 | ||
|
|
9bb3067de2 | ||
|
|
decdf27fb5 | ||
|
|
4b376a564a | ||
|
|
b7e93524e3 | ||
|
|
62283356b8 | ||
|
|
3305f5e832 | ||
|
|
a938706916 | ||
|
|
b8bc682d3e | ||
|
|
f5ca497b75 | ||
|
|
b0898a6659 | ||
|
|
ab329f0fe8 | ||
|
|
8b35333446 | ||
|
|
a92467719b | ||
|
|
f6f16b0347 | ||
|
|
92ad73b8f3 | ||
|
|
849eedf0f2 | ||
|
|
848a62e4a5 | ||
|
|
cb784aeb9c | ||
|
|
3035e18fb6 | ||
|
|
eb40c4c4a0 | ||
|
|
c90ee12b17 | ||
|
|
78be0200b4 | ||
|
|
1b6f3a0f65 | ||
|
|
eceb15ace9 | ||
|
|
fa3f701e05 | ||
|
|
9953fc765f | ||
|
|
29ea1af971 | ||
|
|
083aad448e | ||
|
|
314a105ba1 | ||
|
|
1abda9ca87 | ||
|
|
7a0fed970c | ||
|
|
2f461a8b0b | ||
|
|
ec894bdf7f | ||
|
|
009cea6d30 | ||
|
|
1bab21026e | ||
|
|
bcebab7517 | ||
|
|
45b73c7e86 | ||
|
|
a732d30c84 | ||
|
|
8504735808 | ||
|
|
9d64312aaa | ||
|
|
a8ad176262 | ||
|
|
0ee089a501 | ||
|
|
d8bc570f60 | ||
|
|
f15cba6148 | ||
|
|
989f0d8139 | ||
|
|
6784e77516 | ||
|
|
6baefc825a | ||
|
|
0a08e4b23e | ||
|
|
b265e13d40 | ||
|
|
50e04dd858 |
8
.github/CODEOWNERS
vendored
8
.github/CODEOWNERS
vendored
@@ -7,13 +7,11 @@
|
|||||||
/packages/fs-detectors @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @agadzik @chloetedder
|
/packages/fs-detectors @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @agadzik @chloetedder
|
||||||
/packages/next @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @ijjk @ztanner
|
/packages/next @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @ijjk @ztanner
|
||||||
/packages/routing-utils @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @ijjk
|
/packages/routing-utils @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @ijjk
|
||||||
/packages/edge @vercel/compute
|
/packages/static-build @TooTallNate @EndangeredMassa @cb1kenobi @Ethan-Arrowood @trek
|
||||||
|
/packages/edge @vercel/compute @TooTallNate @EndangeredMassa @cb1kenobi @Ethan-Arrowood @trek
|
||||||
/examples @leerob
|
/examples @leerob
|
||||||
/examples/create-react-app @Timer
|
/examples/create-react-app @Timer
|
||||||
/examples/nextjs @timneutkens @ijjk @styfle @ztanner
|
/examples/nextjs @timneutkens @ijjk @styfle @ztanner @huozhi
|
||||||
/examples/hugo @styfle
|
|
||||||
/examples/jekyll @styfle
|
|
||||||
/examples/zola @styfle
|
|
||||||
/packages/node @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @Kikobeats
|
/packages/node @TooTallNate @EndangeredMassa @styfle @cb1kenobi @Ethan-Arrowood @trek @Kikobeats
|
||||||
|
|
||||||
# Unrestricted Paths
|
# Unrestricted Paths
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 14
|
node-version: 16
|
||||||
- name: Enable corepack
|
- name: Enable corepack
|
||||||
run: corepack enable pnpm
|
run: corepack enable pnpm
|
||||||
- name: Update Gatsby Fixtures
|
- name: Update Gatsby Fixtures
|
||||||
|
|||||||
2
.github/workflows/test-lint.yml
vendored
2
.github/workflows/test-lint.yml
vendored
@@ -49,3 +49,5 @@ jobs:
|
|||||||
- run: pnpm install
|
- run: pnpm install
|
||||||
- run: pnpm run lint
|
- run: pnpm run lint
|
||||||
- run: pnpm run prettier-check
|
- run: pnpm run prettier-check
|
||||||
|
- run: pnpm run build
|
||||||
|
- run: pnpm run type-check
|
||||||
|
|||||||
16
.github/workflows/test.yml
vendored
16
.github/workflows/test.yml
vendored
@@ -64,7 +64,7 @@ jobs:
|
|||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
node-version: ${{ matrix.nodeVersion || env.NODE_VERSION }}
|
||||||
|
|
||||||
- name: Install Hugo
|
- name: Install Hugo
|
||||||
if: matrix.runner == 'macos-latest'
|
if: matrix.runner == 'macos-latest'
|
||||||
@@ -83,7 +83,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
FORCE_COLOR: '1'
|
FORCE_COLOR: '1'
|
||||||
- name: Test ${{matrix.packageName}}
|
- name: Test ${{matrix.packageName}}
|
||||||
run: node utils/gen.js && node_modules/.bin/turbo run test --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }}
|
run: node utils/gen.js && node_modules/.bin/turbo run test --summarize --cache-dir=".turbo" --log-order=stream --scope=${{matrix.packageName}} --no-deps -- ${{ join(matrix.testPaths, ' ') }}
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
JEST_JUNIT_OUTPUT_FILE: ${{github.workspace}}/.junit-reports/${{matrix.scriptName}}-${{matrix.packageName}}-${{matrix.chunkNumber}}-${{ matrix.runner }}.xml
|
JEST_JUNIT_OUTPUT_FILE: ${{github.workspace}}/.junit-reports/${{matrix.scriptName}}-${{matrix.packageName}}-${{matrix.chunkNumber}}-${{ matrix.runner }}.xml
|
||||||
@@ -91,13 +91,19 @@ jobs:
|
|||||||
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 }}
|
||||||
FORCE_COLOR: '1'
|
FORCE_COLOR: '1'
|
||||||
|
- name: 'Determine Turbo HIT or MISS'
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
id: turbo-summary
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
TURBO_MISS_COUNT=`node utils/determine-turbo-hit-or-miss.js`
|
||||||
|
echo "MISS COUNT: $TURBO_MISS_COUNT"
|
||||||
|
echo "misses=$TURBO_MISS_COUNT" >> $GITHUB_OUTPUT
|
||||||
- name: fetch ssl certificate after tests (linux, os x)
|
- name: fetch ssl certificate after tests (linux, os x)
|
||||||
if: matrix.runner != 'windows-latest'
|
if: matrix.runner != 'windows-latest'
|
||||||
run: echo | openssl s_client -showcerts -servername 'api.vercel.com' -connect 76.76.21.21:443
|
run: echo | openssl s_client -showcerts -servername 'api.vercel.com' -connect 76.76.21.21:443
|
||||||
|
|
||||||
- name: 'Upload Test Report to Datadog'
|
- name: 'Upload Test Report to Datadog'
|
||||||
if: always()
|
if: ${{ steps['turbo-summary'].outputs.misses != '0' && !cancelled() }}
|
||||||
run: 'npx @datadog/datadog-ci@2.18.1 junit upload --service vercel-cli .junit-reports'
|
run: 'npx @datadog/datadog-ci@2.18.1 junit upload --service vercel-cli .junit-reports'
|
||||||
env:
|
env:
|
||||||
DATADOG_API_KEY: ${{secrets.DATADOG_API_KEY_CLI}}
|
DATADOG_API_KEY: ${{secrets.DATADOG_API_KEY_CLI}}
|
||||||
|
|||||||
2
.github/workflows/update-remix-run-dev.yml
vendored
2
.github/workflows/update-remix-run-dev.yml
vendored
@@ -17,6 +17,8 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Setup node
|
- name: Setup node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
- name: Enable corepack
|
- name: Enable corepack
|
||||||
run: corepack enable pnpm
|
run: corepack enable pnpm
|
||||||
- name: Update @remix-run/dev
|
- name: Update @remix-run/dev
|
||||||
|
|||||||
@@ -3,9 +3,10 @@
|
|||||||
This directory is a brief example of an [Astro](https://astro.build/) site that can be deployed to Vercel with zero configuration. This demo showcases:
|
This directory is a brief example of an [Astro](https://astro.build/) site that can be deployed to Vercel with zero configuration. This demo showcases:
|
||||||
|
|
||||||
- `/` - A static page (pre-rendered)
|
- `/` - A static page (pre-rendered)
|
||||||
- `/ssr` - A page that uses server-side rendering (through Vercel Edge Functions)
|
- `/ssr` - A page that uses server-side rendering (through [Vercel Edge Functions](https://vercel.com/docs/functions/edge-functions))
|
||||||
- `/ssr-with-swr-caching` - Similar to the previous page, but also caches the response on the Vercel Edge Network using `cache-control` headers
|
- `/ssr-with-swr-caching` - Similar to the previous page, but also caches the response on the [Vercel Edge Network](https://vercel.com/docs/edge-network/overview) using `cache-control` headers
|
||||||
- `/edge.json` - An Astro API Endpoint that returns JSON data using Vercel Edge Functions
|
- `/image` - Astro [Asset](https://docs.astro.build/en/guides/assets/) using Vercel [Image Optimization](https://vercel.com/docs/image-optimization)
|
||||||
|
- `/edge.json` - An Astro API Endpoint that returns JSON data using [Vercel Edge Functions](https://vercel.com/docs/functions/edge-functions)
|
||||||
|
|
||||||
Learn more about [Astro on Vercel](https://vercel.com/docs/frameworks/astro).
|
Learn more about [Astro on Vercel](https://vercel.com/docs/frameworks/astro).
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,17 @@
|
|||||||
import { defineConfig } from 'astro/config';
|
import { defineConfig } from 'astro/config';
|
||||||
|
// Use Vercel Edge Functions (Recommended)
|
||||||
import vercel from '@astrojs/vercel/edge';
|
import vercel from '@astrojs/vercel/edge';
|
||||||
|
// Can also use Serverless Functions
|
||||||
|
// import vercel from '@astrojs/vercel/serverless';
|
||||||
|
// Or a completely static build
|
||||||
|
// import vercel from '@astrojs/vercel/static';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
output: 'server',
|
output: 'server',
|
||||||
adapter: vercel(),
|
experimental: {
|
||||||
|
assets: true
|
||||||
|
},
|
||||||
|
adapter: vercel({
|
||||||
|
imageService: true,
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/vercel": "3.2.2",
|
"@astrojs/vercel": "3.8.2",
|
||||||
"astro": "^2.2.1",
|
"astro": "^2.10.14",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"web-vitals": "^3.3.1"
|
"web-vitals": "^3.3.1"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
examples/astro/src/assets/logo.png
Normal file
BIN
examples/astro/src/assets/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
2
examples/astro/src/env.d.ts
vendored
2
examples/astro/src/env.d.ts
vendored
@@ -1,4 +1,4 @@
|
|||||||
/// <reference types="astro/client" />
|
/// <reference types="astro/client-image" />
|
||||||
|
|
||||||
interface ImportMetaEnv {
|
interface ImportMetaEnv {
|
||||||
readonly PUBLIC_VERCEL_ANALYTICS_ID: string;
|
readonly PUBLIC_VERCEL_ANALYTICS_ID: string;
|
||||||
|
|||||||
6
examples/astro/src/pages/image.astro
Normal file
6
examples/astro/src/pages/image.astro
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
import { Image } from 'astro:assets';
|
||||||
|
import astroLogo from '../assets/logo.png';
|
||||||
|
---
|
||||||
|
|
||||||
|
<Image src={astroLogo} alt="Astro Logo" width={50} quality={75} />
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<!-- Replace the API key with your own, see:
|
<!-- Replace the API key with your own, see:
|
||||||
https://developers.google.com/maps/documentation/javascript/get-api-key -->
|
https://developers.google.com/maps/documentation/javascript/get-api-key -->
|
||||||
<!-- <script async="" defer="" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB8pf6ZdFQj5qw7rc_HSGrhUwQKfIe9ICw"></script> -->
|
<!-- <script async="" defer="" src="https://maps.googleapis.com/maps/api/js?key=<YOUR_GOOGLE_MAPS_API_KEY>"></script> -->
|
||||||
|
|
||||||
<noscript>Please enable JavaScript to continue using this application.</noscript>
|
<noscript>Please enable JavaScript to continue using this application.</noscript>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ npm run dev
|
|||||||
yarn dev
|
yarn dev
|
||||||
# or
|
# or
|
||||||
pnpm dev
|
pnpm dev
|
||||||
|
# or
|
||||||
|
bun dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import './globals.css'
|
|
||||||
import type { Metadata } from 'next'
|
import type { Metadata } from 'next'
|
||||||
import { Inter } from 'next/font/google'
|
import { Inter } from 'next/font/google'
|
||||||
|
import './globals.css'
|
||||||
|
|
||||||
const inter = Inter({ subsets: ['latin'] })
|
const inter = Inter({ subsets: ['latin'] })
|
||||||
|
|
||||||
|
|||||||
1161
examples/nextjs/package-lock.json
generated
1161
examples/nextjs/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,17 +9,19 @@
|
|||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "20.5.1",
|
"react": "^18",
|
||||||
"@types/react": "18.2.20",
|
"react-dom": "^18",
|
||||||
"@types/react-dom": "18.2.7",
|
"next": "13.5.6"
|
||||||
"autoprefixer": "10.4.15",
|
},
|
||||||
"eslint": "8.47.0",
|
"devDependencies": {
|
||||||
"eslint-config-next": "13.4.19",
|
"typescript": "^5",
|
||||||
"next": "13.4.19",
|
"@types/node": "^20",
|
||||||
"postcss": "8.4.28",
|
"@types/react": "^18",
|
||||||
"react": "18.2.0",
|
"@types/react-dom": "^18",
|
||||||
"react-dom": "18.2.0",
|
"autoprefixer": "^10",
|
||||||
"tailwindcss": "3.3.3",
|
"postcss": "^8",
|
||||||
"typescript": "5.1.6"
|
"tailwindcss": "^3",
|
||||||
|
"eslint": "^8",
|
||||||
|
"eslint-config-next": "13.5.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
examples/package.json
vendored
2
examples/package.json
vendored
@@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "27.4.1",
|
"@types/jest": "27.4.1",
|
||||||
"@vercel/frameworks": "2.0.1"
|
"@vercel/frameworks": "2.0.2"
|
||||||
},
|
},
|
||||||
"version": null
|
"version": null
|
||||||
}
|
}
|
||||||
|
|||||||
5
examples/remix/.gitignore
vendored
5
examples/remix/.gitignore
vendored
@@ -4,9 +4,4 @@ node_modules
|
|||||||
/build
|
/build
|
||||||
/public/build
|
/public/build
|
||||||
.env
|
.env
|
||||||
|
|
||||||
.vercel
|
.vercel
|
||||||
.output
|
|
||||||
|
|
||||||
/api/index.js
|
|
||||||
/api/index.js.map
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export default function App() {
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charSet="utf-8" />
|
<meta charSet="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<Meta />
|
<Meta />
|
||||||
<Links />
|
<Links />
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
import type { V2_MetaFunction } from "@vercel/remix";
|
import type { MetaFunction } from "@vercel/remix";
|
||||||
|
|
||||||
export const meta: V2_MetaFunction = () => [{ title: "New Remix App" }];
|
export const meta: MetaFunction = () => {
|
||||||
|
return [
|
||||||
|
{ title: "New Remix App" },
|
||||||
|
{ name: "description", content: "Welcome to Remix!" },
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
export default function Index() {
|
export default function Index() {
|
||||||
return (
|
return (
|
||||||
<div style={{ fontFamily: "system-ui, sans-serif", lineHeight: "1.4" }}>
|
<div style={{ fontFamily: "system-ui, sans-serif", lineHeight: "1.8" }}>
|
||||||
<h1>Welcome to Remix</h1>
|
<h1>Welcome to Remix</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import type { V2_MetaFunction } from "@vercel/remix";
|
import type { MetaFunction } from "@vercel/remix";
|
||||||
|
|
||||||
export const config = { runtime: "edge" };
|
export const config = { runtime: "edge" };
|
||||||
|
|
||||||
export const meta: V2_MetaFunction = () => [{ title: "Remix@Edge | New Remix App" }];
|
export const meta: MetaFunction = () => [{ title: "Remix@Edge | New Remix App" }];
|
||||||
|
|
||||||
export default function Edge() {
|
export default function Edge() {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,32 +1,34 @@
|
|||||||
{
|
{
|
||||||
|
"name": "my-remix-app",
|
||||||
"private": true,
|
"private": true,
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "remix build",
|
"build": "remix build",
|
||||||
"dev": "remix dev",
|
"dev": "remix dev --manual",
|
||||||
"start": "remix-serve build",
|
"start": "remix-serve ./build/index.js",
|
||||||
"typecheck": "tsc"
|
"typecheck": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@remix-run/css-bundle": "^1.18.0",
|
"@remix-run/css-bundle": "^2.0.0",
|
||||||
"@remix-run/node": "^1.18.0",
|
"@remix-run/node": "^2.0.0",
|
||||||
"@remix-run/react": "^1.18.0",
|
"@remix-run/react": "^2.0.0",
|
||||||
"@remix-run/serve": "^1.18.0",
|
"@remix-run/serve": "^2.0.0",
|
||||||
"@vercel/analytics": "^0.1.11",
|
"@vercel/analytics": "^1.0.2",
|
||||||
"@vercel/remix": "^1.18.0",
|
"@vercel/remix": "^2.0.0",
|
||||||
"isbot": "^3.6.8",
|
"isbot": "^3.6.8",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0"
|
"react-dom": "^18.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@remix-run/dev": "^1.18.0",
|
"@remix-run/dev": "^2.0.0",
|
||||||
"@remix-run/eslint-config": "^1.18.0",
|
"@remix-run/eslint-config": "^2.0.0",
|
||||||
"@types/react": "^18.0.25",
|
"@types/react": "^18.2.20",
|
||||||
"@types/react-dom": "^18.0.11",
|
"@types/react-dom": "^18.2.7",
|
||||||
"eslint": "^8.28.0",
|
"eslint": "^8.38.0",
|
||||||
"typescript": "^5.1.3"
|
"typescript": "^5.1.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16"
|
"node": ">=18.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,8 @@
|
|||||||
/** @type {import('@remix-run/dev').AppConfig} */
|
/** @type {import('@remix-run/dev').AppConfig} */
|
||||||
module.exports = {
|
export default {
|
||||||
future: {
|
|
||||||
v2_dev: true,
|
|
||||||
v2_errorBoundary: true,
|
|
||||||
v2_headers: true,
|
|
||||||
v2_meta: true,
|
|
||||||
v2_normalizeFormMethod: true,
|
|
||||||
v2_routeConvention: true,
|
|
||||||
},
|
|
||||||
ignoredRouteFiles: ["**/.*"],
|
ignoredRouteFiles: ["**/.*"],
|
||||||
serverModuleFormat: "cjs",
|
|
||||||
// appDirectory: "app",
|
// appDirectory: "app",
|
||||||
// assetsBuildDirectory: "public/build",
|
// assetsBuildDirectory: "public/build",
|
||||||
// serverBuildPath: "build/index.js",
|
|
||||||
// publicPath: "/build/",
|
// publicPath: "/build/",
|
||||||
|
// serverBuildPath: "build/index.js",
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"],
|
"include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"],
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"lib": ["DOM", "DOM.Iterable", "ES2019"],
|
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"jsx": "react-jsx",
|
"jsx": "react-jsx",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "Bundler",
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"target": "ES2019",
|
"target": "ES2022",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
|||||||
@@ -1,5 +1,33 @@
|
|||||||
# @vercel-internals/types
|
# @vercel-internals/types
|
||||||
|
|
||||||
|
## 1.0.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`9e9fac019`](https://github.com/vercel/vercel/commit/9e9fac0191cb1428ac9e5479c3d5c8afd7b7d357)]:
|
||||||
|
- @vercel/routing-utils@3.1.0
|
||||||
|
|
||||||
|
## 1.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`2f5b0aeeb`](https://github.com/vercel/vercel/commit/2f5b0aeeb183ed3ea8cbc68cb3bc3c949c486ada)]:
|
||||||
|
- @vercel/build-utils@7.2.2
|
||||||
|
|
||||||
|
## 1.0.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`decdf27fb`](https://github.com/vercel/vercel/commit/decdf27fb5ca914fe50a9320c4fd50ef79d2fbb3)]:
|
||||||
|
- @vercel/build-utils@7.2.1
|
||||||
|
|
||||||
|
## 1.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`50e04dd85`](https://github.com/vercel/vercel/commit/50e04dd8584664c842a86c15d92d654f4ea8dcbb), [`45b73c7e8`](https://github.com/vercel/vercel/commit/45b73c7e86458564dc0bab007f6f6365c4c4ab5d), [`d8bc570f6`](https://github.com/vercel/vercel/commit/d8bc570f604950d97156d4f33c8accecf3b3b28f)]:
|
||||||
|
- @vercel/build-utils@7.2.0
|
||||||
|
|
||||||
## 1.0.9
|
## 1.0.9
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
2
internals/types/index.d.ts
vendored
2
internals/types/index.d.ts
vendored
@@ -65,6 +65,8 @@ export type User = {
|
|||||||
billing: Billing;
|
billing: Billing;
|
||||||
name?: string;
|
name?: string;
|
||||||
limited?: boolean;
|
limited?: boolean;
|
||||||
|
version?: 'northstar';
|
||||||
|
defaultTeamId?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface Team {
|
export interface Team {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"name": "@vercel-internals/types",
|
"name": "@vercel-internals/types",
|
||||||
"version": "1.0.9",
|
"version": "1.0.13",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"main": "index.d.ts",
|
"main": "index.d.ts",
|
||||||
"files": [
|
"files": [
|
||||||
@@ -10,8 +10,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "14.14.31",
|
"@types/node": "14.14.31",
|
||||||
"@vercel-internals/constants": "1.0.4",
|
"@vercel-internals/constants": "1.0.4",
|
||||||
"@vercel/build-utils": "7.1.1",
|
"@vercel/build-utils": "7.2.2",
|
||||||
"@vercel/routing-utils": "3.0.0"
|
"@vercel/routing-utils": "3.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vercel-internals/tsconfig": "1.0.0",
|
"@vercel-internals/tsconfig": "1.0.0",
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"@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": "*",
|
"@vercel/build-utils": "*",
|
||||||
"@vercel/ncc": "0.24.0",
|
"@vercel/style-guide": "4.0.2",
|
||||||
"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",
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
"source-map-support": "0.5.12",
|
"source-map-support": "0.5.12",
|
||||||
"ts-eager": "2.0.2",
|
"ts-eager": "2.0.2",
|
||||||
"ts-jest": "29.1.0",
|
"ts-jest": "29.1.0",
|
||||||
"turbo": "1.10.13",
|
"turbo": "1.10.15",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -50,7 +50,8 @@
|
|||||||
"prepare": "husky install",
|
"prepare": "husky install",
|
||||||
"pack": "cd utils && node -r ts-eager/register ./pack.ts",
|
"pack": "cd utils && node -r ts-eager/register ./pack.ts",
|
||||||
"ci:version": "changeset version && pnpm install --no-frozen-lockfile",
|
"ci:version": "changeset version && pnpm install --no-frozen-lockfile",
|
||||||
"ci:publish": "pnpm publish -r && node utils/update-canary-tags.mjs && changeset tag"
|
"ci:publish": "pnpm publish -r && node utils/update-canary-tags.mjs && changeset tag",
|
||||||
|
"type-check": "turbo type-check --concurrency=12 --output-logs=errors-only --summarize --continue"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"./{*,{api,packages,test,utils}/**/*}.{js,ts}": [
|
"./{*,{api,packages,test,utils}/**/*}.{js,ts}": [
|
||||||
|
|||||||
@@ -1,5 +1,29 @@
|
|||||||
# @vercel/build-utils
|
# @vercel/build-utils
|
||||||
|
|
||||||
|
## 7.2.2
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- [cli] Update bun detection and add tests for projects with both bunlock binary and yarn.lock text files ([#10583](https://github.com/vercel/vercel/pull/10583))
|
||||||
|
|
||||||
|
## 7.2.1
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Internal variants ([#10549](https://github.com/vercel/vercel/pull/10549))
|
||||||
|
|
||||||
|
## 7.2.0
|
||||||
|
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
- Add new optional prerender field: experimentalStreamingLambdaPath ([#10476](https://github.com/vercel/vercel/pull/10476))
|
||||||
|
|
||||||
|
- [build-utils] Add zero config detection for bun package manager ([#10486](https://github.com/vercel/vercel/pull/10486))
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- add `experimentalBypassFor` field to Prerender ([#10481](https://github.com/vercel/vercel/pull/10481))
|
||||||
|
|
||||||
## 7.1.1
|
## 7.1.1
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@vercel/build-utils",
|
"name": "@vercel/build-utils",
|
||||||
"version": "7.1.1",
|
"version": "7.2.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"types": "./dist/index.d.js",
|
"types": "./dist/index.d.js",
|
||||||
@@ -14,7 +14,8 @@
|
|||||||
"build": "node build.mjs",
|
"build": "node build.mjs",
|
||||||
"test": "jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail",
|
"test": "jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail",
|
||||||
"test-unit": "pnpm test test/unit.*test.*",
|
"test-unit": "pnpm test test/unit.*test.*",
|
||||||
"test-e2e": "pnpm test test/integration.test.ts"
|
"test-e2e": "pnpm test test/integration.test.ts",
|
||||||
|
"type-check": "tsc --noEmit"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iarna/toml": "2.2.3",
|
"@iarna/toml": "2.2.3",
|
||||||
@@ -33,7 +34,6 @@
|
|||||||
"@types/semver": "6.0.0",
|
"@types/semver": "6.0.0",
|
||||||
"@types/yazl": "2.4.2",
|
"@types/yazl": "2.4.2",
|
||||||
"@vercel/error-utils": "2.0.1",
|
"@vercel/error-utils": "2.0.1",
|
||||||
"@vercel/ncc": "0.24.0",
|
|
||||||
"aggregate-error": "3.0.1",
|
"aggregate-error": "3.0.1",
|
||||||
"async-retry": "1.2.3",
|
"async-retry": "1.2.3",
|
||||||
"async-sema": "2.1.4",
|
"async-sema": "2.1.4",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import { cloneEnv } from '../clone-env';
|
|||||||
// Only allow one `runNpmInstall()` invocation to run concurrently
|
// Only allow one `runNpmInstall()` invocation to run concurrently
|
||||||
const runNpmInstallSema = new Sema(1);
|
const runNpmInstallSema = new Sema(1);
|
||||||
|
|
||||||
export type CliType = 'yarn' | 'npm' | 'pnpm';
|
export type CliType = 'yarn' | 'npm' | 'pnpm' | 'bun';
|
||||||
|
|
||||||
export interface ScanParentDirsResult {
|
export interface ScanParentDirsResult {
|
||||||
/**
|
/**
|
||||||
@@ -284,27 +284,40 @@ export async function scanParentDirs(
|
|||||||
readPackageJson && pkgJsonPath
|
readPackageJson && pkgJsonPath
|
||||||
? JSON.parse(await fs.readFile(pkgJsonPath, 'utf8'))
|
? JSON.parse(await fs.readFile(pkgJsonPath, 'utf8'))
|
||||||
: undefined;
|
: undefined;
|
||||||
const [yarnLockPath, npmLockPath, pnpmLockPath] = await walkParentDirsMulti({
|
const [yarnLockPath, npmLockPath, pnpmLockPath, bunLockPath] =
|
||||||
base: '/',
|
await walkParentDirsMulti({
|
||||||
start: destPath,
|
base: '/',
|
||||||
filenames: ['yarn.lock', 'package-lock.json', 'pnpm-lock.yaml'],
|
start: destPath,
|
||||||
});
|
filenames: [
|
||||||
|
'yarn.lock',
|
||||||
|
'package-lock.json',
|
||||||
|
'pnpm-lock.yaml',
|
||||||
|
'bun.lockb',
|
||||||
|
],
|
||||||
|
});
|
||||||
let lockfilePath: string | undefined;
|
let lockfilePath: string | undefined;
|
||||||
let lockfileVersion: number | undefined;
|
let lockfileVersion: number | undefined;
|
||||||
let cliType: CliType = 'yarn';
|
let cliType: CliType = 'yarn';
|
||||||
|
|
||||||
const [hasYarnLock, packageLockJson, pnpmLockYaml] = await Promise.all([
|
const [hasYarnLock, packageLockJson, pnpmLockYaml, bunLockBin] =
|
||||||
Boolean(yarnLockPath),
|
await Promise.all([
|
||||||
npmLockPath
|
Boolean(yarnLockPath),
|
||||||
? readConfigFile<{ lockfileVersion: number }>(npmLockPath)
|
npmLockPath
|
||||||
: null,
|
? readConfigFile<{ lockfileVersion: number }>(npmLockPath)
|
||||||
pnpmLockPath
|
: null,
|
||||||
? readConfigFile<{ lockfileVersion: number }>(pnpmLockPath)
|
pnpmLockPath
|
||||||
: null,
|
? readConfigFile<{ lockfileVersion: number }>(pnpmLockPath)
|
||||||
]);
|
: null,
|
||||||
|
bunLockPath ? fs.readFile(bunLockPath, 'utf8') : null,
|
||||||
|
]);
|
||||||
|
|
||||||
// Priority order is Yarn > pnpm > npm
|
// Priority order is bun with yarn lock > yarn > pnpm > npm > bun
|
||||||
if (hasYarnLock) {
|
if (bunLockBin && hasYarnLock) {
|
||||||
|
cliType = 'bun';
|
||||||
|
lockfilePath = bunLockPath;
|
||||||
|
// TODO: read "bun-lockfile-format-v0"
|
||||||
|
lockfileVersion = 0;
|
||||||
|
} else if (hasYarnLock) {
|
||||||
cliType = 'yarn';
|
cliType = 'yarn';
|
||||||
lockfilePath = yarnLockPath;
|
lockfilePath = yarnLockPath;
|
||||||
} else if (pnpmLockYaml) {
|
} else if (pnpmLockYaml) {
|
||||||
@@ -315,6 +328,11 @@ export async function scanParentDirs(
|
|||||||
cliType = 'npm';
|
cliType = 'npm';
|
||||||
lockfilePath = npmLockPath;
|
lockfilePath = npmLockPath;
|
||||||
lockfileVersion = packageLockJson.lockfileVersion;
|
lockfileVersion = packageLockJson.lockfileVersion;
|
||||||
|
} else if (bunLockBin) {
|
||||||
|
cliType = 'bun';
|
||||||
|
lockfilePath = bunLockPath;
|
||||||
|
// TODO: read "bun-lockfile-format-v0"
|
||||||
|
lockfileVersion = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const packageJsonPath = pkgJsonPath || undefined;
|
const packageJsonPath = pkgJsonPath || undefined;
|
||||||
@@ -451,6 +469,10 @@ export async function runNpmInstall(
|
|||||||
commandArgs = args
|
commandArgs = args
|
||||||
.filter(a => a !== '--prefer-offline')
|
.filter(a => a !== '--prefer-offline')
|
||||||
.concat(['install', '--unsafe-perm']);
|
.concat(['install', '--unsafe-perm']);
|
||||||
|
} else if (cliType === 'bun') {
|
||||||
|
// @see options https://bun.sh/docs/cli/install
|
||||||
|
opts.prettyCommand = 'bun install';
|
||||||
|
commandArgs = ['install', ...args];
|
||||||
} else {
|
} else {
|
||||||
opts.prettyCommand = 'yarn install';
|
opts.prettyCommand = 'yarn install';
|
||||||
commandArgs = ['install', ...args];
|
commandArgs = ['install', ...args];
|
||||||
@@ -505,6 +527,7 @@ export function getEnvForPackageManager({
|
|||||||
const npm7 = '/node16/bin-npm7';
|
const npm7 = '/node16/bin-npm7';
|
||||||
const pnpm7 = '/pnpm7/node_modules/.bin';
|
const pnpm7 = '/pnpm7/node_modules/.bin';
|
||||||
const pnpm8 = '/pnpm8/node_modules/.bin';
|
const pnpm8 = '/pnpm8/node_modules/.bin';
|
||||||
|
const bun1 = '/bun1';
|
||||||
const corepackEnabled = env.ENABLE_EXPERIMENTAL_COREPACK === '1';
|
const corepackEnabled = env.ENABLE_EXPERIMENTAL_COREPACK === '1';
|
||||||
if (cliType === 'npm') {
|
if (cliType === 'npm') {
|
||||||
if (
|
if (
|
||||||
@@ -516,7 +539,7 @@ export function getEnvForPackageManager({
|
|||||||
) {
|
) {
|
||||||
// Ensure that npm 7 is at the beginning of the `$PATH`
|
// Ensure that npm 7 is at the beginning of the `$PATH`
|
||||||
newEnv.PATH = `${npm7}${path.delimiter}${oldPath}`;
|
newEnv.PATH = `${npm7}${path.delimiter}${oldPath}`;
|
||||||
console.log('Detected `package-lock.json` generated by npm 7+...');
|
console.log('Detected `package-lock.json` generated by npm 7+');
|
||||||
}
|
}
|
||||||
} else if (cliType === 'pnpm') {
|
} else if (cliType === 'pnpm') {
|
||||||
if (
|
if (
|
||||||
@@ -528,7 +551,7 @@ export function getEnvForPackageManager({
|
|||||||
// Ensure that pnpm 7 is at the beginning of the `$PATH`
|
// Ensure that pnpm 7 is at the beginning of the `$PATH`
|
||||||
newEnv.PATH = `${pnpm7}${path.delimiter}${oldPath}`;
|
newEnv.PATH = `${pnpm7}${path.delimiter}${oldPath}`;
|
||||||
console.log(
|
console.log(
|
||||||
`Detected \`pnpm-lock.yaml\` version ${lockfileVersion} generated by pnpm 7...`
|
`Detected \`pnpm-lock.yaml\` version ${lockfileVersion} generated by pnpm 7`
|
||||||
);
|
);
|
||||||
} else if (
|
} else if (
|
||||||
typeof lockfileVersion === 'number' &&
|
typeof lockfileVersion === 'number' &&
|
||||||
@@ -539,7 +562,16 @@ export function getEnvForPackageManager({
|
|||||||
// Ensure that pnpm 8 is at the beginning of the `$PATH`
|
// Ensure that pnpm 8 is at the beginning of the `$PATH`
|
||||||
newEnv.PATH = `${pnpm8}${path.delimiter}${oldPath}`;
|
newEnv.PATH = `${pnpm8}${path.delimiter}${oldPath}`;
|
||||||
console.log(
|
console.log(
|
||||||
`Detected \`pnpm-lock.yaml\` version ${lockfileVersion} generated by pnpm 8...`
|
`Detected \`pnpm-lock.yaml\` version ${lockfileVersion} generated by pnpm 8`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else if (cliType === 'bun') {
|
||||||
|
if (!oldPath.includes(bun1) && !corepackEnabled) {
|
||||||
|
// Ensure that Bun 1 is at the beginning of the `$PATH`
|
||||||
|
newEnv.PATH = `${bun1}${path.delimiter}${oldPath}`;
|
||||||
|
console.log('Detected `bun.lockb` generated by Bun');
|
||||||
|
console.warn(
|
||||||
|
'Warning: Bun is used as a package manager at build time only, not at runtime with Functions'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -548,7 +580,6 @@ export function getEnvForPackageManager({
|
|||||||
newEnv.YARN_NODE_LINKER = 'node-modules';
|
newEnv.YARN_NODE_LINKER = 'node-modules';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return newEnv;
|
return newEnv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -614,6 +645,8 @@ export async function runPackageJsonScript(
|
|||||||
opts.prettyCommand = `npm run ${scriptName}`;
|
opts.prettyCommand = `npm run ${scriptName}`;
|
||||||
} else if (cliType === 'pnpm') {
|
} else if (cliType === 'pnpm') {
|
||||||
opts.prettyCommand = `pnpm run ${scriptName}`;
|
opts.prettyCommand = `pnpm run ${scriptName}`;
|
||||||
|
} else if (cliType === 'bun') {
|
||||||
|
opts.prettyCommand = `bun run ${scriptName}`;
|
||||||
} else {
|
} else {
|
||||||
opts.prettyCommand = `yarn run ${scriptName}`;
|
opts.prettyCommand = `yarn run ${scriptName}`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { File } from './types';
|
import type { File, HasField } from './types';
|
||||||
import { Lambda } from './lambda';
|
import { Lambda } from './lambda';
|
||||||
|
|
||||||
interface PrerenderOptions {
|
interface PrerenderOptions {
|
||||||
@@ -12,6 +12,8 @@ interface PrerenderOptions {
|
|||||||
initialStatus?: number;
|
initialStatus?: number;
|
||||||
passQuery?: boolean;
|
passQuery?: boolean;
|
||||||
sourcePath?: string;
|
sourcePath?: string;
|
||||||
|
experimentalBypassFor?: HasField;
|
||||||
|
experimentalStreamingLambdaPath?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Prerender {
|
export class Prerender {
|
||||||
@@ -26,6 +28,8 @@ export class Prerender {
|
|||||||
public initialStatus?: number;
|
public initialStatus?: number;
|
||||||
public passQuery?: boolean;
|
public passQuery?: boolean;
|
||||||
public sourcePath?: string;
|
public sourcePath?: string;
|
||||||
|
public experimentalBypassFor?: HasField;
|
||||||
|
public experimentalStreamingLambdaPath?: string;
|
||||||
|
|
||||||
constructor({
|
constructor({
|
||||||
expiration,
|
expiration,
|
||||||
@@ -38,6 +42,8 @@ export class Prerender {
|
|||||||
initialStatus,
|
initialStatus,
|
||||||
passQuery,
|
passQuery,
|
||||||
sourcePath,
|
sourcePath,
|
||||||
|
experimentalBypassFor,
|
||||||
|
experimentalStreamingLambdaPath,
|
||||||
}: PrerenderOptions) {
|
}: PrerenderOptions) {
|
||||||
this.type = 'Prerender';
|
this.type = 'Prerender';
|
||||||
this.expiration = expiration;
|
this.expiration = expiration;
|
||||||
@@ -86,6 +92,26 @@ export class Prerender {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (experimentalBypassFor !== undefined) {
|
||||||
|
if (
|
||||||
|
!Array.isArray(experimentalBypassFor) ||
|
||||||
|
experimentalBypassFor.some(
|
||||||
|
field =>
|
||||||
|
typeof field !== 'object' ||
|
||||||
|
// host doesn't need a key
|
||||||
|
(field.type !== 'host' && typeof field.key !== 'string') ||
|
||||||
|
typeof field.type !== 'string' ||
|
||||||
|
(field.value !== undefined && typeof field.value !== 'string')
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
throw new Error(
|
||||||
|
'The `experimentalBypassFor` argument for `Prerender` must be Array of objects with fields `type`, `key` and optionally `value`.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.experimentalBypassFor = experimentalBypassFor;
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof fallback === 'undefined') {
|
if (typeof fallback === 'undefined') {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
'The `fallback` argument for `Prerender` needs to be a `FileBlob`, `FileFsRef`, `FileRef`, or null.'
|
'The `fallback` argument for `Prerender` needs to be a `FileBlob`, `FileFsRef`, `FileRef`, or null.'
|
||||||
@@ -130,5 +156,14 @@ export class Prerender {
|
|||||||
}
|
}
|
||||||
this.allowQuery = allowQuery;
|
this.allowQuery = allowQuery;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (experimentalStreamingLambdaPath !== undefined) {
|
||||||
|
if (typeof experimentalStreamingLambdaPath !== 'string') {
|
||||||
|
throw new Error(
|
||||||
|
'The `experimentalStreamingLambdaPath` argument for `Prerender` must be a string.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
this.experimentalStreamingLambdaPath = experimentalStreamingLambdaPath;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,18 @@ export interface Config {
|
|||||||
[key: string]: unknown;
|
[key: string]: unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type HasField = Array<
|
||||||
|
| {
|
||||||
|
type: 'host';
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
type: 'header' | 'cookie' | 'query';
|
||||||
|
key: string;
|
||||||
|
value?: string;
|
||||||
|
}
|
||||||
|
>;
|
||||||
|
|
||||||
export interface Meta {
|
export interface Meta {
|
||||||
isDev?: boolean;
|
isDev?: boolean;
|
||||||
devCacheDir?: string;
|
devCacheDir?: string;
|
||||||
@@ -422,6 +434,13 @@ export interface Cron {
|
|||||||
schedule: string;
|
schedule: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Proper description once complete
|
||||||
|
export interface Flag {
|
||||||
|
key: string;
|
||||||
|
defaultValue?: unknown;
|
||||||
|
metadata: Record<string, unknown>;
|
||||||
|
}
|
||||||
|
|
||||||
/** The framework which created the function */
|
/** The framework which created the function */
|
||||||
export interface FunctionFramework {
|
export interface FunctionFramework {
|
||||||
slug: string;
|
slug: string;
|
||||||
@@ -446,6 +465,7 @@ export interface BuildResultV2Typical {
|
|||||||
framework?: {
|
framework?: {
|
||||||
version: string;
|
version: string;
|
||||||
};
|
};
|
||||||
|
flags?: Flag[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export type BuildResultV2 = BuildResultV2Typical | BuildResultBuildOutput;
|
export type BuildResultV2 = BuildResultV2Typical | BuildResultBuildOutput;
|
||||||
|
|||||||
2
packages/build-utils/test/fixtures/30-bun-v1/.gitignore
vendored
Normal file
2
packages/build-utils/test/fixtures/30-bun-v1/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.vercel
|
||||||
|
public
|
||||||
8
packages/build-utils/test/fixtures/30-bun-v1/build.js
vendored
Normal file
8
packages/build-utils/test/fixtures/30-bun-v1/build.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { mkdir, rm, writeFile } from 'node:fs/promises'
|
||||||
|
import { say } from 'cowsay'
|
||||||
|
|
||||||
|
const text = say({ text: `bun version: ${process.versions.bun}` })
|
||||||
|
const content = say({ text })
|
||||||
|
await rm('./public', { recursive: true, force: true })
|
||||||
|
await mkdir('./public', { recursive: true })
|
||||||
|
await writeFile('./public/index.txt', content)
|
||||||
BIN
packages/build-utils/test/fixtures/30-bun-v1/bun.lockb
vendored
Executable file
BIN
packages/build-utils/test/fixtures/30-bun-v1/bun.lockb
vendored
Executable file
Binary file not shown.
9
packages/build-utils/test/fixtures/30-bun-v1/package.json
vendored
Normal file
9
packages/build-utils/test/fixtures/30-bun-v1/package.json
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"build": "bun build.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cowsay": "1.5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
8
packages/build-utils/test/fixtures/30-bun-v1/probes.json
vendored
Normal file
8
packages/build-utils/test/fixtures/30-bun-v1/probes.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"probes": [
|
||||||
|
{
|
||||||
|
"path": "/",
|
||||||
|
"mustContain": "bun version: 1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
2
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/.gitignore
vendored
Normal file
2
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.vercel
|
||||||
|
public
|
||||||
8
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/build.js
vendored
Normal file
8
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/build.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { mkdir, rm, writeFile } from 'node:fs/promises'
|
||||||
|
import { say } from 'cowsay'
|
||||||
|
|
||||||
|
const text = say({ text: `bun version: ${process.versions.bun}` })
|
||||||
|
const content = say({ text })
|
||||||
|
await rm('./public', { recursive: true, force: true })
|
||||||
|
await mkdir('./public', { recursive: true })
|
||||||
|
await writeFile('./public/index.txt', content)
|
||||||
BIN
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/bun.lockb
vendored
Executable file
BIN
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/bun.lockb
vendored
Executable file
Binary file not shown.
9
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/package.json
vendored
Normal file
9
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/package.json
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"build": "bun build.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cowsay": "1.5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
8
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/probes.json
vendored
Normal file
8
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/probes.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"probes": [
|
||||||
|
{
|
||||||
|
"path": "/",
|
||||||
|
"mustContain": "bun version: 1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
221
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/yarn.lock
vendored
Normal file
221
packages/build-utils/test/fixtures/31-bun-v1-with-yarn-lock/yarn.lock
vendored
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||||
|
# yarn lockfile v1
|
||||||
|
# bun ./bun.lockb --hash: CD5862D9DB80873E-24483eaa80ed0cc4-641E4430BAAAECB3-abebd38edad3b1b9
|
||||||
|
|
||||||
|
|
||||||
|
ansi-regex@^3.0.0:
|
||||||
|
version "3.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz"
|
||||||
|
integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==
|
||||||
|
|
||||||
|
ansi-regex@^5.0.1:
|
||||||
|
version "5.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
|
||||||
|
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
||||||
|
|
||||||
|
ansi-styles@^4.0.0:
|
||||||
|
version "4.3.0"
|
||||||
|
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
|
||||||
|
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
||||||
|
dependencies:
|
||||||
|
color-convert "^2.0.1"
|
||||||
|
|
||||||
|
camelcase@^5.0.0:
|
||||||
|
version "5.3.1"
|
||||||
|
resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
|
||||||
|
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
|
||||||
|
|
||||||
|
cliui@^6.0.0:
|
||||||
|
version "6.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"
|
||||||
|
integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
|
||||||
|
dependencies:
|
||||||
|
string-width "^4.2.0"
|
||||||
|
strip-ansi "^6.0.0"
|
||||||
|
wrap-ansi "^6.2.0"
|
||||||
|
|
||||||
|
color-convert@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
|
||||||
|
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
||||||
|
dependencies:
|
||||||
|
color-name "~1.1.4"
|
||||||
|
|
||||||
|
color-name@~1.1.4:
|
||||||
|
version "1.1.4"
|
||||||
|
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||||
|
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||||
|
|
||||||
|
cowsay@1.5.0:
|
||||||
|
version "1.5.0"
|
||||||
|
resolved "https://registry.npmjs.org/cowsay/-/cowsay-1.5.0.tgz"
|
||||||
|
integrity sha512-8Ipzr54Z8zROr/62C8f0PdhQcDusS05gKTS87xxdji8VbWefWly0k8BwGK7+VqamOrkv3eGsCkPtvlHzrhWsCA==
|
||||||
|
dependencies:
|
||||||
|
get-stdin "8.0.0"
|
||||||
|
string-width "~2.1.1"
|
||||||
|
strip-final-newline "2.0.0"
|
||||||
|
yargs "15.4.1"
|
||||||
|
|
||||||
|
decamelize@^1.2.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
|
||||||
|
integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
|
||||||
|
|
||||||
|
emoji-regex@^8.0.0:
|
||||||
|
version "8.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
|
||||||
|
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||||
|
|
||||||
|
find-up@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
|
||||||
|
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
|
||||||
|
dependencies:
|
||||||
|
locate-path "^5.0.0"
|
||||||
|
path-exists "^4.0.0"
|
||||||
|
|
||||||
|
get-caller-file@^2.0.1:
|
||||||
|
version "2.0.5"
|
||||||
|
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
|
||||||
|
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||||
|
|
||||||
|
get-stdin@8.0.0:
|
||||||
|
version "8.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz"
|
||||||
|
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
|
||||||
|
|
||||||
|
is-fullwidth-code-point@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"
|
||||||
|
integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
|
||||||
|
|
||||||
|
is-fullwidth-code-point@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
|
||||||
|
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||||
|
|
||||||
|
locate-path@^5.0.0:
|
||||||
|
version "5.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
|
||||||
|
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
|
||||||
|
dependencies:
|
||||||
|
p-locate "^4.1.0"
|
||||||
|
|
||||||
|
p-limit@^2.2.0:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
|
||||||
|
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
|
||||||
|
dependencies:
|
||||||
|
p-try "^2.0.0"
|
||||||
|
|
||||||
|
p-locate@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"
|
||||||
|
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
|
||||||
|
dependencies:
|
||||||
|
p-limit "^2.2.0"
|
||||||
|
|
||||||
|
p-try@^2.0.0:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
|
||||||
|
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||||
|
|
||||||
|
path-exists@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
|
||||||
|
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
|
||||||
|
|
||||||
|
require-directory@^2.1.1:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
|
||||||
|
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
|
||||||
|
|
||||||
|
require-main-filename@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"
|
||||||
|
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
|
||||||
|
|
||||||
|
set-blocking@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
|
||||||
|
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
|
||||||
|
|
||||||
|
string-width@~2.1.1:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"
|
||||||
|
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
|
||||||
|
dependencies:
|
||||||
|
is-fullwidth-code-point "^2.0.0"
|
||||||
|
strip-ansi "^4.0.0"
|
||||||
|
|
||||||
|
string-width@^4.1.0, string-width@^4.2.0:
|
||||||
|
version "4.2.3"
|
||||||
|
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
|
||||||
|
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||||
|
dependencies:
|
||||||
|
emoji-regex "^8.0.0"
|
||||||
|
is-fullwidth-code-point "^3.0.0"
|
||||||
|
strip-ansi "^6.0.1"
|
||||||
|
|
||||||
|
strip-ansi@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
|
||||||
|
integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==
|
||||||
|
dependencies:
|
||||||
|
ansi-regex "^3.0.0"
|
||||||
|
|
||||||
|
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||||
|
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||||
|
dependencies:
|
||||||
|
ansi-regex "^5.0.1"
|
||||||
|
|
||||||
|
strip-final-newline@2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
|
||||||
|
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
|
||||||
|
|
||||||
|
which-module@^2.0.0:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz"
|
||||||
|
integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
|
||||||
|
|
||||||
|
wrap-ansi@^6.2.0:
|
||||||
|
version "6.2.0"
|
||||||
|
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
|
||||||
|
integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
|
||||||
|
dependencies:
|
||||||
|
ansi-styles "^4.0.0"
|
||||||
|
string-width "^4.1.0"
|
||||||
|
strip-ansi "^6.0.0"
|
||||||
|
|
||||||
|
y18n@^4.0.0:
|
||||||
|
version "4.0.3"
|
||||||
|
resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz"
|
||||||
|
integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
|
||||||
|
|
||||||
|
yargs@15.4.1:
|
||||||
|
version "15.4.1"
|
||||||
|
resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz"
|
||||||
|
integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
|
||||||
|
dependencies:
|
||||||
|
cliui "^6.0.0"
|
||||||
|
decamelize "^1.2.0"
|
||||||
|
find-up "^4.1.0"
|
||||||
|
get-caller-file "^2.0.1"
|
||||||
|
require-directory "^2.1.1"
|
||||||
|
require-main-filename "^2.0.0"
|
||||||
|
set-blocking "^2.0.0"
|
||||||
|
string-width "^4.2.0"
|
||||||
|
which-module "^2.0.0"
|
||||||
|
y18n "^4.0.0"
|
||||||
|
yargs-parser "^18.1.2"
|
||||||
|
|
||||||
|
yargs-parser@^18.1.2:
|
||||||
|
version "18.1.3"
|
||||||
|
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz"
|
||||||
|
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
|
||||||
|
dependencies:
|
||||||
|
camelcase "^5.0.0"
|
||||||
|
decamelize "^1.2.0"
|
||||||
3
packages/build-utils/test/tsconfig.json
vendored
3
packages/build-utils/test/tsconfig.json
vendored
@@ -1,4 +1,7 @@
|
|||||||
{
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"sourceMap": true
|
||||||
|
},
|
||||||
"extends": "../tsconfig.json",
|
"extends": "../tsconfig.json",
|
||||||
"include": ["*.test.ts"]
|
"include": ["*.test.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,22 @@ describe('Test `getEnvForPackageManager()`', () => {
|
|||||||
PATH: `/pnpm7/node_modules/.bin${delimiter}foo`,
|
PATH: `/pnpm7/node_modules/.bin${delimiter}foo`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'should set path if bun v1 is detected',
|
||||||
|
args: {
|
||||||
|
cliType: 'bun',
|
||||||
|
nodeVersion: { major: 18, range: '18.x', runtime: 'nodejs18.x' },
|
||||||
|
lockfileVersion: 0,
|
||||||
|
env: {
|
||||||
|
FOO: 'bar',
|
||||||
|
PATH: '/usr/local/bin',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: {
|
||||||
|
FOO: 'bar',
|
||||||
|
PATH: `/bun1${delimiter}/usr/local/bin`,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'should not set pnpm path if corepack is enabled',
|
name: 'should not set pnpm path if corepack is enabled',
|
||||||
args: {
|
args: {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ describe('Test `readConfigFile()`', () => {
|
|||||||
it('should return parsed object when file exists', async () => {
|
it('should return parsed object when file exists', async () => {
|
||||||
expect(await readConfigFile(tsconfig)).toMatchObject({
|
expect(await readConfigFile(tsconfig)).toMatchObject({
|
||||||
compilerOptions: {
|
compilerOptions: {
|
||||||
strict: true,
|
outDir: './dist',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
expect(logMessages).toEqual([]);
|
expect(logMessages).toEqual([]);
|
||||||
@@ -39,7 +39,7 @@ describe('Test `readConfigFile()`', () => {
|
|||||||
const files = [doesnotexist, tsconfig];
|
const files = [doesnotexist, tsconfig];
|
||||||
expect(await readConfigFile(files)).toMatchObject({
|
expect(await readConfigFile(files)).toMatchObject({
|
||||||
compilerOptions: {
|
compilerOptions: {
|
||||||
strict: true,
|
outDir: './dist',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
expect(logMessages).toEqual([]);
|
expect(logMessages).toEqual([]);
|
||||||
@@ -63,7 +63,7 @@ describe('Test `readConfigFile()`', () => {
|
|||||||
await writeFile(invalid, 'borked');
|
await writeFile(invalid, 'borked');
|
||||||
expect(await readConfigFile([invalid, tsconfig])).toMatchObject({
|
expect(await readConfigFile([invalid, tsconfig])).toMatchObject({
|
||||||
compilerOptions: {
|
compilerOptions: {
|
||||||
strict: true,
|
outDir: './dist',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
118
packages/build-utils/test/unit.test.ts
vendored
118
packages/build-utils/test/unit.test.ts
vendored
@@ -344,6 +344,70 @@ it('should support initialHeaders and initialStatus correctly', async () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should support experimentalBypassFor correctly', async () => {
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalBypassFor: [{ type: 'header', key: 'Next-Action' }],
|
||||||
|
});
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalBypassFor: [
|
||||||
|
{ type: 'header', key: 'Next-Action' },
|
||||||
|
{
|
||||||
|
type: 'cookie',
|
||||||
|
key: '__prerender_bypass',
|
||||||
|
value: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalBypassFor: [{ type: 'query', key: 'bypass', value: '1' }],
|
||||||
|
});
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalBypassFor: [{ type: 'host', value: 'vercel.com' }],
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(() => {
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
// @ts-expect-error: testing invalid args
|
||||||
|
experimentalBypassFor: 'foo',
|
||||||
|
});
|
||||||
|
}).toThrowError(
|
||||||
|
'The `experimentalBypassFor` argument for `Prerender` must be Array of objects with fields `type`, `key` and optionally `value`.'
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(() => {
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
// @ts-expect-error: testing invalid args
|
||||||
|
experimentalBypassFor: [{ type: 'header', value: { foo: 'bar' } }],
|
||||||
|
});
|
||||||
|
}).toThrowError(
|
||||||
|
'The `experimentalBypassFor` argument for `Prerender` must be Array of objects with fields `type`, `key` and optionally `value`.'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it('should support passQuery correctly', async () => {
|
it('should support passQuery correctly', async () => {
|
||||||
new Prerender({
|
new Prerender({
|
||||||
expiration: 1,
|
expiration: 1,
|
||||||
@@ -387,6 +451,42 @@ it('should support passQuery correctly', async () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should support experimentalStreamingLambdaPath correctly', async () => {
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalStreamingLambdaPath: undefined,
|
||||||
|
});
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
experimentalStreamingLambdaPath: '/some/path/to/lambda',
|
||||||
|
});
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(() => {
|
||||||
|
new Prerender({
|
||||||
|
expiration: 1,
|
||||||
|
fallback: null,
|
||||||
|
group: 1,
|
||||||
|
bypassToken: 'some-long-bypass-token-to-make-it-work',
|
||||||
|
// @ts-expect-error testing invalid field
|
||||||
|
experimentalStreamingLambdaPath: 1,
|
||||||
|
});
|
||||||
|
}).toThrowError(
|
||||||
|
`The \`experimentalStreamingLambdaPath\` argument for \`Prerender\` must be a string.`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it('should support require by path for legacy builders', () => {
|
it('should support require by path for legacy builders', () => {
|
||||||
const index = require('../');
|
const index = require('../');
|
||||||
|
|
||||||
@@ -440,6 +540,24 @@ it(
|
|||||||
ms('1m')
|
ms('1m')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
it('should return cliType bun and correct lock file for bun v1', async () => {
|
||||||
|
const fixture = path.join(__dirname, 'fixtures', '31-bun-v1-with-yarn-lock');
|
||||||
|
const result = await scanParentDirs(fixture);
|
||||||
|
expect(result.cliType).toEqual('bun');
|
||||||
|
expect(result.lockfileVersion).toEqual(0);
|
||||||
|
expect(result.lockfilePath).toEqual(path.join(fixture, 'bun.lockb'));
|
||||||
|
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return cliType bun and correct lock file for bun v1 with yarn.lock file', async () => {
|
||||||
|
const fixture = path.join(__dirname, 'fixtures', '30-bun-v1');
|
||||||
|
const result = await scanParentDirs(fixture);
|
||||||
|
expect(result.cliType).toEqual('bun');
|
||||||
|
expect(result.lockfileVersion).toEqual(0);
|
||||||
|
expect(result.lockfilePath).toEqual(path.join(fixture, 'bun.lockb'));
|
||||||
|
expect(result.packageJsonPath).toEqual(path.join(fixture, 'package.json'));
|
||||||
|
});
|
||||||
|
|
||||||
it('should return lockfileVersion 2 with npm7', async () => {
|
it('should return lockfileVersion 2 with npm7', async () => {
|
||||||
const fixture = path.join(__dirname, 'fixtures', '20-npm-7');
|
const fixture = path.join(__dirname, 'fixtures', '20-npm-7');
|
||||||
const result = await scanParentDirs(fixture);
|
const result = await scanParentDirs(fixture);
|
||||||
|
|||||||
@@ -1,21 +1,9 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"declaration": true,
|
|
||||||
"emitDeclarationOnly": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"lib": ["ES2021"],
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"noEmitOnError": true,
|
|
||||||
"noFallthroughCasesInSwitch": true,
|
|
||||||
"noImplicitReturns": true,
|
|
||||||
"noUnusedLocals": true,
|
|
||||||
"noUnusedParameters": true,
|
|
||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"types": ["node", "jest"],
|
"types": ["node", "jest"]
|
||||||
"strict": true,
|
|
||||||
"target": "ES2021"
|
|
||||||
},
|
},
|
||||||
|
"extends": "../../tsconfig.base.json",
|
||||||
"include": ["src/**/*"],
|
"include": ["src/**/*"],
|
||||||
"exclude": ["node_modules"]
|
"exclude": ["node_modules"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,136 @@
|
|||||||
# vercel
|
# vercel
|
||||||
|
|
||||||
|
## 32.5.0
|
||||||
|
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
- Indicates whether @vercel/speed-insights or @vercel/analytics are used ([#10623](https://github.com/vercel/vercel/pull/10623))
|
||||||
|
|
||||||
|
- [cli] update env var validation rule to allow name start with underscore ([#10697](https://github.com/vercel/vercel/pull/10697))
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`da300030c`](https://github.com/vercel/vercel/commit/da300030c999b3555c608a321c9d0a4d36923a5a), [`de84743e1`](https://github.com/vercel/vercel/commit/de84743e10d4c9701d409355c0fe057f35e6e435), [`913608de4`](https://github.com/vercel/vercel/commit/913608de4dd4e37557533d732ca8449a5737d4a6), [`7fa08088e`](https://github.com/vercel/vercel/commit/7fa08088ea0d5df6955ea4af7f08513cf4027bb3)]:
|
||||||
|
- @vercel/next@4.0.11
|
||||||
|
- @vercel/python@4.1.0
|
||||||
|
- @vercel/remix-builder@2.0.10
|
||||||
|
- @vercel/redwood@2.0.5
|
||||||
|
- @vercel/static-build@2.0.9
|
||||||
|
|
||||||
|
## 32.4.1
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`c523a755f`](https://github.com/vercel/vercel/commit/c523a755f8e4bc41f7c353ebc0b939c21703df00), [`58215906f`](https://github.com/vercel/vercel/commit/58215906f9ee28da3a7f2f3f4aeb862ab53bf55e)]:
|
||||||
|
- @vercel/next@4.0.10
|
||||||
|
|
||||||
|
## 32.4.0
|
||||||
|
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
- Restore unsetting teamId for non-team accounts ([#10612](https://github.com/vercel/vercel/pull/10612))
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- remove unused source map pkg ([#10577](https://github.com/vercel/vercel/pull/10577))
|
||||||
|
|
||||||
|
- disable source map for prod build ([#10575](https://github.com/vercel/vercel/pull/10575))
|
||||||
|
|
||||||
|
- Better rendering upon authentication error in `vc cert ls` ([#10551](https://github.com/vercel/vercel/pull/10551))
|
||||||
|
|
||||||
|
- Updated dependencies [[`e9026c7a6`](https://github.com/vercel/vercel/commit/e9026c7a692937122e60e73b91100cf7009e022d), [`ea5bc8806`](https://github.com/vercel/vercel/commit/ea5bc8806276abf5ba14bdb4a966267497e5d14d), [`a4996e1c5`](https://github.com/vercel/vercel/commit/a4996e1c5a7e6986d5410b662014dc584c0f7c54), [`a18ed98f2`](https://github.com/vercel/vercel/commit/a18ed98f2df78fe1256410ea8676686564ed9b35), [`2f5b0aeeb`](https://github.com/vercel/vercel/commit/2f5b0aeeb183ed3ea8cbc68cb3bc3c949c486ada), [`09f1bbfa4`](https://github.com/vercel/vercel/commit/09f1bbfa41a87cf0063a3fb3022b7531d03862b5), [`ce7e82fa7`](https://github.com/vercel/vercel/commit/ce7e82fa7aa6cec5f5d7b4953353b297b7ad1694)]:
|
||||||
|
- @vercel/next@4.0.9
|
||||||
|
- @vercel/go@3.0.3
|
||||||
|
- @vercel/build-utils@7.2.2
|
||||||
|
- @vercel/node@3.0.7
|
||||||
|
- @vercel/redwood@2.0.4
|
||||||
|
- @vercel/remix-builder@2.0.9
|
||||||
|
- @vercel/static-build@2.0.8
|
||||||
|
|
||||||
|
## 32.3.1
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Use "esbuild" to build CLI ([#10555](https://github.com/vercel/vercel/pull/10555))
|
||||||
|
|
||||||
|
- Updated dependencies [[`9f63ca60a`](https://github.com/vercel/vercel/commit/9f63ca60ad914af0f7ba18c9bbe1656eeea68a0a), [`e3f9faf51`](https://github.com/vercel/vercel/commit/e3f9faf513bd97900d8966f2f1116fc3ca07221b)]:
|
||||||
|
- @vercel/next@4.0.8
|
||||||
|
- @vercel/remix-builder@2.0.8
|
||||||
|
|
||||||
|
## 32.3.0
|
||||||
|
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
- [cli] Support northstar users ([#10535](https://github.com/vercel/vercel/pull/10535))
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Internal variants ([#10549](https://github.com/vercel/vercel/pull/10549))
|
||||||
|
|
||||||
|
- [speed insights] Prepare for migration to new speed insights package ([#10500](https://github.com/vercel/vercel/pull/10500))
|
||||||
|
|
||||||
|
- Updated dependencies [[`b0898a665`](https://github.com/vercel/vercel/commit/b0898a66591d5296dc38ffcf0e8345c9338b72f3), [`10d4e51ac`](https://github.com/vercel/vercel/commit/10d4e51ac57b76f05ddc0bf3adf220e2490244fc), [`decdf27fb`](https://github.com/vercel/vercel/commit/decdf27fb5ca914fe50a9320c4fd50ef79d2fbb3), [`f5ca497b7`](https://github.com/vercel/vercel/commit/f5ca497b7522a2dad637cef238da9716ac133057), [`ab329f0fe`](https://github.com/vercel/vercel/commit/ab329f0fe88e9cb72607d0cba41f5e168d77e077), [`d0d052011`](https://github.com/vercel/vercel/commit/d0d0520111264434d57d5920de0f622f6a2588dc), [`9bb3067de`](https://github.com/vercel/vercel/commit/9bb3067de28be77f3ce268a31a7aa6184836dfb1)]:
|
||||||
|
- @vercel/static-build@2.0.7
|
||||||
|
- @vercel/node@3.0.6
|
||||||
|
- @vercel/build-utils@7.2.1
|
||||||
|
- @vercel/next@4.0.7
|
||||||
|
- @vercel/python@4.0.2
|
||||||
|
- @vercel/redwood@2.0.3
|
||||||
|
- @vercel/remix-builder@2.0.7
|
||||||
|
- @vercel/go@3.0.2
|
||||||
|
|
||||||
|
## 32.2.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`849eedf0f`](https://github.com/vercel/vercel/commit/849eedf0f2841211e4175d374f1cf01330bf9611), [`f6f16b034`](https://github.com/vercel/vercel/commit/f6f16b0347bac9f5c33c79ccb1fb9fd9d254cae5), [`3035e18fb`](https://github.com/vercel/vercel/commit/3035e18fb67dfe7031e235a74136a41948f86d5a), [`cb784aeb9`](https://github.com/vercel/vercel/commit/cb784aeb9c9e4eddf1c65b61849a87edb1117af1)]:
|
||||||
|
- @vercel/next@4.0.6
|
||||||
|
- @vercel/remix-builder@2.0.6
|
||||||
|
|
||||||
|
## 32.2.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Add support for bun detection in monorepo ([#10511](https://github.com/vercel/vercel/pull/10511))
|
||||||
|
|
||||||
|
- Updated dependencies [[`1b6f3a0f6`](https://github.com/vercel/vercel/commit/1b6f3a0f6534f71c7486a4e33ac199f1da330626)]:
|
||||||
|
- @vercel/static-build@2.0.6
|
||||||
|
|
||||||
|
## 32.2.3
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`083aad448`](https://github.com/vercel/vercel/commit/083aad448e45edae296da3201eec9f890a01d22d)]:
|
||||||
|
- @vercel/next@4.0.5
|
||||||
|
|
||||||
|
## 32.2.2
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [[`7a0fed970`](https://github.com/vercel/vercel/commit/7a0fed970c39cb8f4df70544ded3284d3538b06a), [`2f461a8b0`](https://github.com/vercel/vercel/commit/2f461a8b0bcbdd05da0516395c2905c2d0242682), [`1bab21026`](https://github.com/vercel/vercel/commit/1bab21026ec0bb8a4a8fbeac3d6e4a197f1030fd)]:
|
||||||
|
- @vercel/next@4.0.4
|
||||||
|
- @vercel/remix-builder@2.0.5
|
||||||
|
|
||||||
|
## 32.2.1
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Update @vercel/fun@1.1.0 ([#10477](https://github.com/vercel/vercel/pull/10477))
|
||||||
|
|
||||||
|
- [node] upgrade edge-runtime ([#10451](https://github.com/vercel/vercel/pull/10451))
|
||||||
|
|
||||||
|
- Updated dependencies [[`6784e7751`](https://github.com/vercel/vercel/commit/6784e77516ba180a691e3c48323b32bb4506d7b6), [`a8ad17626`](https://github.com/vercel/vercel/commit/a8ad176262ef822860ce338927e6f959961d2d32), [`0ee089a50`](https://github.com/vercel/vercel/commit/0ee089a501ebb78901c4afe1658e794917998f8f), [`f15cba614`](https://github.com/vercel/vercel/commit/f15cba6148a0cdb6975db7724775c35ab7d929b2), [`b265e13d4`](https://github.com/vercel/vercel/commit/b265e13d40d541b77148fa79ac60b4c4dd10974c), [`50e04dd85`](https://github.com/vercel/vercel/commit/50e04dd8584664c842a86c15d92d654f4ea8dcbb), [`45b73c7e8`](https://github.com/vercel/vercel/commit/45b73c7e86458564dc0bab007f6f6365c4c4ab5d), [`a732d30c8`](https://github.com/vercel/vercel/commit/a732d30c8409f96f59ea5406e974a6c4186cc130), [`9d64312aa`](https://github.com/vercel/vercel/commit/9d64312aaaa875a4e193b7602c50e5dc68979aad), [`6baefc825`](https://github.com/vercel/vercel/commit/6baefc825ad7cfc3a5edce31cb4244721452f753), [`989f0d813`](https://github.com/vercel/vercel/commit/989f0d813910d8d67ed355de93018f1dcd91b6ba), [`d8bc570f6`](https://github.com/vercel/vercel/commit/d8bc570f604950d97156d4f33c8accecf3b3b28f)]:
|
||||||
|
- @vercel/go@3.0.1
|
||||||
|
- @vercel/redwood@2.0.2
|
||||||
|
- @vercel/remix-builder@2.0.4
|
||||||
|
- @vercel/hydrogen@1.0.1
|
||||||
|
- @vercel/static-build@2.0.5
|
||||||
|
- @vercel/build-utils@7.2.0
|
||||||
|
- @vercel/next@4.0.3
|
||||||
|
- @vercel/node@3.0.5
|
||||||
|
- @vercel/python@4.0.1
|
||||||
|
- @vercel/ruby@2.0.2
|
||||||
|
|
||||||
## 32.2.0
|
## 32.2.0
|
||||||
|
|
||||||
### Minor Changes
|
### Minor Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vercel",
|
"name": "vercel",
|
||||||
"version": "32.2.0",
|
"version": "32.5.0",
|
||||||
"preferGlobal": true,
|
"preferGlobal": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"description": "The command-line interface for Vercel",
|
"description": "The command-line interface for Vercel",
|
||||||
@@ -16,35 +16,37 @@
|
|||||||
"test-e2e": "rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.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/",
|
"test-dev": "pnpm test test/dev/",
|
||||||
"coverage": "codecov",
|
"coverage": "codecov",
|
||||||
"build": "ts-node ./scripts/build.ts",
|
"build": "node scripts/build.mjs",
|
||||||
"dev": "ts-node ./src/index.ts"
|
"dev": "ts-node ./src/index.ts",
|
||||||
|
"type-check": "tsc --noEmit"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vc": "./dist/index.js",
|
"vc": "./dist/index.js",
|
||||||
"vercel": "./dist/index.js"
|
"vercel": "./dist/index.js"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist"
|
||||||
"scripts/preinstall.js"
|
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/build-utils": "7.1.1",
|
"@vercel/build-utils": "7.2.2",
|
||||||
"@vercel/go": "3.0.0",
|
"@vercel/fun": "1.1.0",
|
||||||
"@vercel/hydrogen": "1.0.0",
|
"@vercel/go": "3.0.3",
|
||||||
"@vercel/next": "4.0.2",
|
"@vercel/hydrogen": "1.0.1",
|
||||||
"@vercel/node": "3.0.4",
|
"@vercel/next": "4.0.11",
|
||||||
"@vercel/python": "4.0.0",
|
"@vercel/node": "3.0.7",
|
||||||
"@vercel/redwood": "2.0.1",
|
"@vercel/python": "4.1.0",
|
||||||
"@vercel/remix-builder": "2.0.3",
|
"@vercel/redwood": "2.0.5",
|
||||||
"@vercel/ruby": "2.0.1",
|
"@vercel/remix-builder": "2.0.10",
|
||||||
"@vercel/static-build": "2.0.4"
|
"@vercel/ruby": "2.0.2",
|
||||||
|
"@vercel/static-build": "2.0.9",
|
||||||
|
"chokidar": "3.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@alex_neo/jest-expect-message": "1.0.5",
|
"@alex_neo/jest-expect-message": "1.0.5",
|
||||||
"@edge-runtime/node-utils": "2.2.0",
|
"@edge-runtime/node-utils": "2.2.1",
|
||||||
"@next/env": "11.1.2",
|
"@next/env": "11.1.2",
|
||||||
"@sentry/node": "5.5.0",
|
"@sentry/node": "5.5.0",
|
||||||
"@sindresorhus/slugify": "0.11.0",
|
"@sindresorhus/slugify": "0.11.0",
|
||||||
@@ -86,15 +88,12 @@
|
|||||||
"@types/yauzl-promise": "2.1.0",
|
"@types/yauzl-promise": "2.1.0",
|
||||||
"@vercel-internals/constants": "1.0.4",
|
"@vercel-internals/constants": "1.0.4",
|
||||||
"@vercel-internals/get-package-json": "1.0.0",
|
"@vercel-internals/get-package-json": "1.0.0",
|
||||||
"@vercel-internals/types": "1.0.9",
|
"@vercel-internals/types": "1.0.13",
|
||||||
"@vercel/client": "13.0.2",
|
"@vercel/client": "13.0.6",
|
||||||
"@vercel/error-utils": "2.0.1",
|
"@vercel/error-utils": "2.0.1",
|
||||||
"@vercel/frameworks": "2.0.1",
|
"@vercel/frameworks": "2.0.2",
|
||||||
"@vercel/fs-detectors": "5.0.2",
|
"@vercel/fs-detectors": "5.1.2",
|
||||||
"@vercel/fun": "1.0.4",
|
"@vercel/routing-utils": "3.1.0",
|
||||||
"@vercel/ncc": "0.24.0",
|
|
||||||
"@vercel/routing-utils": "3.0.0",
|
|
||||||
"@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",
|
||||||
"ansi-escapes": "4.3.2",
|
"ansi-escapes": "4.3.2",
|
||||||
@@ -106,10 +105,8 @@
|
|||||||
"bytes": "3.0.0",
|
"bytes": "3.0.0",
|
||||||
"chalk": "4.1.0",
|
"chalk": "4.1.0",
|
||||||
"chance": "1.1.7",
|
"chance": "1.1.7",
|
||||||
"chokidar": "3.3.1",
|
|
||||||
"cli-table3": "0.6.3",
|
"cli-table3": "0.6.3",
|
||||||
"codecov": "3.8.2",
|
"codecov": "3.8.2",
|
||||||
"cpy": "7.2.0",
|
|
||||||
"date-fns": "1.29.0",
|
"date-fns": "1.29.0",
|
||||||
"debug": "3.1.0",
|
"debug": "3.1.0",
|
||||||
"dot": "1.1.3",
|
"dot": "1.1.3",
|
||||||
@@ -161,7 +158,6 @@
|
|||||||
"strip-ansi": "6.0.1",
|
"strip-ansi": "6.0.1",
|
||||||
"supports-hyperlinks": "3.0.0",
|
"supports-hyperlinks": "3.0.0",
|
||||||
"tar-fs": "1.16.3",
|
"tar-fs": "1.16.3",
|
||||||
"test-listen": "1.1.0",
|
|
||||||
"text-table": "0.2.0",
|
"text-table": "0.2.0",
|
||||||
"title": "3.4.1",
|
"title": "3.4.1",
|
||||||
"tmp-promise": "1.0.3",
|
"tmp-promise": "1.0.3",
|
||||||
|
|||||||
54
packages/cli/scripts/build.mjs
Normal file
54
packages/cli/scripts/build.mjs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
import { join } from 'node:path';
|
||||||
|
import { copyFileSync, readFileSync, writeFileSync } from 'node:fs';
|
||||||
|
import { esbuild } from '../../../utils/build.mjs';
|
||||||
|
import { compileDevTemplates } from './compile-templates.mjs';
|
||||||
|
|
||||||
|
const repoRoot = new URL('../', import.meta.url);
|
||||||
|
|
||||||
|
function createConstants() {
|
||||||
|
const filename = new URL('src/util/constants.ts', repoRoot);
|
||||||
|
const contents = `// This file is auto-generated
|
||||||
|
export const GA_TRACKING_ID: string | undefined = ${envToString(
|
||||||
|
'GA_TRACKING_ID'
|
||||||
|
)};
|
||||||
|
export const SENTRY_DSN: string | undefined = ${envToString('SENTRY_DSN')};
|
||||||
|
`;
|
||||||
|
writeFileSync(filename, contents, 'utf8');
|
||||||
|
}
|
||||||
|
|
||||||
|
function envToString(key) {
|
||||||
|
const value = process.env[key];
|
||||||
|
if (value) {
|
||||||
|
return JSON.stringify(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read the secrets from GitHub Actions and generate a file.
|
||||||
|
// During local development, these secrets will be empty.
|
||||||
|
createConstants();
|
||||||
|
|
||||||
|
// Compile the `doT.js` template files for `vercel dev`
|
||||||
|
await compileDevTemplates();
|
||||||
|
|
||||||
|
const pkgPath = join(process.cwd(), 'package.json');
|
||||||
|
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
||||||
|
const externals = Object.keys(pkg.dependencies || {});
|
||||||
|
await esbuild({
|
||||||
|
bundle: true,
|
||||||
|
external: externals,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Copy a few static files into `dist`
|
||||||
|
const distRoot = new URL('dist/', repoRoot);
|
||||||
|
copyFileSync(
|
||||||
|
new URL('src/util/projects/VERCEL_DIR_README.txt', repoRoot),
|
||||||
|
new URL('VERCEL_DIR_README.txt', distRoot)
|
||||||
|
);
|
||||||
|
copyFileSync(
|
||||||
|
new URL('src/util/dev/builder-worker.js', repoRoot),
|
||||||
|
new URL('builder-worker.js', distRoot)
|
||||||
|
);
|
||||||
|
copyFileSync(
|
||||||
|
new URL('src/util/get-latest-version/get-latest-worker.js', repoRoot),
|
||||||
|
new URL('get-latest-worker.js', distRoot)
|
||||||
|
);
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
import cpy from 'cpy';
|
|
||||||
import execa from 'execa';
|
|
||||||
import { join } from 'path';
|
|
||||||
import { remove, readJSON, writeFile } from 'fs-extra';
|
|
||||||
|
|
||||||
const dirRoot = join(__dirname, '..');
|
|
||||||
const distRoot = join(dirRoot, 'dist');
|
|
||||||
|
|
||||||
async function createConstants() {
|
|
||||||
console.log('Creating constants.ts');
|
|
||||||
const filename = join(dirRoot, 'src/util/constants.ts');
|
|
||||||
const contents = `// This file is auto-generated
|
|
||||||
export const GA_TRACKING_ID: string | undefined = ${envToString(
|
|
||||||
'GA_TRACKING_ID'
|
|
||||||
)};
|
|
||||||
export const SENTRY_DSN: string | undefined = ${envToString('SENTRY_DSN')};
|
|
||||||
`;
|
|
||||||
await writeFile(filename, contents, 'utf8');
|
|
||||||
}
|
|
||||||
|
|
||||||
function envToString(key: string) {
|
|
||||||
const value = process.env[key];
|
|
||||||
if (!value) {
|
|
||||||
console.log(`- Constant ${key} is not assigned`);
|
|
||||||
}
|
|
||||||
return JSON.stringify(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
// Read the secrets from GitHub Actions and generate a file.
|
|
||||||
// During local development, these secrets will be empty.
|
|
||||||
await createConstants();
|
|
||||||
|
|
||||||
// `vercel dev` uses chokidar to watch the filesystem, but opts-out of the
|
|
||||||
// `fsevents` feature using `useFsEvents: false`, so delete the module here so
|
|
||||||
// that it is not compiled by ncc, which makes the npm package size larger
|
|
||||||
// than necessary.
|
|
||||||
await remove(join(dirRoot, '../../node_modules/fsevents'));
|
|
||||||
|
|
||||||
// Compile the `doT.js` template files for `vercel dev`
|
|
||||||
console.log();
|
|
||||||
await execa(process.execPath, [join(__dirname, 'compile-templates.js')], {
|
|
||||||
stdio: 'inherit',
|
|
||||||
});
|
|
||||||
|
|
||||||
const pkg = await readJSON(join(dirRoot, 'package.json'));
|
|
||||||
const dependencies = Object.keys(pkg?.dependencies ?? {});
|
|
||||||
// Do the initial `ncc` build
|
|
||||||
console.log('Dependencies:', dependencies);
|
|
||||||
const externs: Array<string> = [];
|
|
||||||
for (const dep of dependencies) {
|
|
||||||
externs.push('--external', dep);
|
|
||||||
}
|
|
||||||
const args = ['ncc', 'build', 'src/index.ts', ...externs];
|
|
||||||
await execa('pnpm', args, { stdio: 'inherit', cwd: dirRoot });
|
|
||||||
|
|
||||||
// `ncc` has some issues with `@vercel/fun`'s runtime files:
|
|
||||||
// - Executable bits on the `bootstrap` files appear to be lost:
|
|
||||||
// https://github.com/vercel/ncc/pull/182
|
|
||||||
// - The `bootstrap.js` asset does not get copied into the output dir:
|
|
||||||
// https://github.com/vercel/ncc/issues/278
|
|
||||||
//
|
|
||||||
// Aside from those issues, all the same files from the `runtimes` directory
|
|
||||||
// should be copied into the output runtimes dir, specifically the `index.js`
|
|
||||||
// files (correctly) do not get copied into the output bundle because they
|
|
||||||
// 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
|
|
||||||
// with `fun`'s cache invalidation mechanism and they need to be shasum'd.
|
|
||||||
const runtimes = join(dirRoot, 'node_modules/@vercel/fun/dist/src/runtimes');
|
|
||||||
await cpy('**/*', join(distRoot, 'runtimes'), {
|
|
||||||
parents: true,
|
|
||||||
cwd: runtimes,
|
|
||||||
});
|
|
||||||
|
|
||||||
// Band-aid to bundle stuff that `ncc` neglects to bundle
|
|
||||||
await cpy(join(dirRoot, 'src/util/projects/VERCEL_DIR_README.txt'), distRoot);
|
|
||||||
await cpy(join(dirRoot, 'src/util/dev/builder-worker.js'), distRoot);
|
|
||||||
await cpy(
|
|
||||||
join(dirRoot, 'src/util/get-latest-version/get-latest-worker.js'),
|
|
||||||
distRoot
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log('Finished building Vercel CLI');
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on('unhandledRejection', (reason: any, promise: Promise<any>) => {
|
|
||||||
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on('uncaughtException', err => {
|
|
||||||
console.error('Uncaught Exception:');
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
main().catch(err => {
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
const execa = require('execa');
|
|
||||||
const { join } = require('path');
|
|
||||||
const { readFile, writeFile, readdir, remove } = require('fs-extra');
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
const dirRoot = join(__dirname, '..');
|
|
||||||
|
|
||||||
// Compile the `doT.js` template files for `vercel dev`
|
|
||||||
const templatesDir = join(dirRoot, 'src/util/dev/templates');
|
|
||||||
const dotPacker = join(dirRoot, '../../node_modules/dot/bin/dot-packer');
|
|
||||||
await execa(process.execPath, [dotPacker], {
|
|
||||||
cwd: templatesDir,
|
|
||||||
stdio: 'inherit',
|
|
||||||
});
|
|
||||||
|
|
||||||
const files = await readdir(templatesDir);
|
|
||||||
const compiledFiles = files.filter(f => f.endsWith('.js'));
|
|
||||||
|
|
||||||
// Prettier
|
|
||||||
console.log('\nMaking the compiled template functions prettier...');
|
|
||||||
const prettier = join(dirRoot, '../../node_modules/prettier/bin-prettier.js');
|
|
||||||
await execa(
|
|
||||||
process.execPath,
|
|
||||||
[prettier, '--write', '--single-quote', ...compiledFiles],
|
|
||||||
{
|
|
||||||
cwd: templatesDir,
|
|
||||||
stdio: 'inherit',
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log('\nConverting template functions to TypeScript');
|
|
||||||
for (const file of compiledFiles) {
|
|
||||||
const start = Date.now();
|
|
||||||
const fnPath = join(templatesDir, file);
|
|
||||||
const tsPath = fnPath.replace(/\.js$/, '.ts');
|
|
||||||
const def = await readFile(fnPath.replace(/\.js$/, '.tsdef'), 'utf8');
|
|
||||||
const interfaceName = def.match(/interface (\w+)/)[1];
|
|
||||||
|
|
||||||
const lines = require(fnPath).toString().split('\n');
|
|
||||||
let errorHtmlStart = -1;
|
|
||||||
let errorHtmlEnd = -1;
|
|
||||||
for (let i = 0; i < lines.length; i++) {
|
|
||||||
const line = lines[i];
|
|
||||||
if (errorHtmlStart === -1 && line.includes('encodeHTML')) {
|
|
||||||
errorHtmlStart = i;
|
|
||||||
} else if (errorHtmlEnd === -1 && line.includes(')();')) {
|
|
||||||
errorHtmlEnd = i;
|
|
||||||
}
|
|
||||||
if (/\bvar\b/.test(line)) {
|
|
||||||
lines[i] = line.replace(/\bvar\b/g, 'let');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lines.splice(errorHtmlStart, errorHtmlEnd);
|
|
||||||
|
|
||||||
lines[0] = `export default ${lines[0].replace(
|
|
||||||
'(it)',
|
|
||||||
`(it: ${interfaceName}): string`
|
|
||||||
)}`;
|
|
||||||
|
|
||||||
lines.unshift(
|
|
||||||
"import encodeHTML from 'escape-html';",
|
|
||||||
'',
|
|
||||||
...def.split('\n')
|
|
||||||
);
|
|
||||||
|
|
||||||
await Promise.all([writeFile(tsPath, lines.join('\n')), remove(fnPath)]);
|
|
||||||
console.log(
|
|
||||||
`${file} -> ${file.replace(/\.js$/, '.ts')} (${Date.now() - start}ms)`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on('unhandledRejection', err => {
|
|
||||||
console.error('Unhandled Rejection:');
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on('uncaughtException', err => {
|
|
||||||
console.error('Uncaught Exception:');
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
main().catch(err => {
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
43
packages/cli/scripts/compile-templates.mjs
Normal file
43
packages/cli/scripts/compile-templates.mjs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import execa from 'execa';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
import { readFile, writeFile, readdir, unlink } from 'node:fs/promises';
|
||||||
|
|
||||||
|
export async function compileDevTemplates() {
|
||||||
|
const dirRoot = new URL('../', import.meta.url);
|
||||||
|
|
||||||
|
// Compile the `doT.js` template files for `vercel dev`
|
||||||
|
const templatesDir = new URL('src/util/dev/templates/', dirRoot);
|
||||||
|
const dotPacker = fileURLToPath(
|
||||||
|
new URL('../../node_modules/dot/bin/dot-packer', dirRoot)
|
||||||
|
);
|
||||||
|
await execa(process.execPath, [dotPacker], {
|
||||||
|
cwd: templatesDir,
|
||||||
|
stdio: ['ignore', 'ignore', 'inherit'],
|
||||||
|
});
|
||||||
|
|
||||||
|
const files = await readdir(templatesDir);
|
||||||
|
const compiledFiles = files.filter(f => f.endsWith('.js'));
|
||||||
|
|
||||||
|
for (const file of compiledFiles) {
|
||||||
|
const fnPath = new URL(file, templatesDir);
|
||||||
|
const tsPath = fnPath.href.replace(/\.js$/, '.ts');
|
||||||
|
const def = await readFile(
|
||||||
|
new URL(fnPath.href.replace(/\.js$/, '.tsdef')),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
const interfaceName = def.match(/interface (\w+)/)[1];
|
||||||
|
|
||||||
|
const { default: fn } = await import(fnPath);
|
||||||
|
|
||||||
|
const contents = `import encodeHTML from 'escape-html';
|
||||||
|
|
||||||
|
${def}
|
||||||
|
export default ${fn
|
||||||
|
.toString()
|
||||||
|
.replace(/var encodeHTML.+\(\)\);/s, '')
|
||||||
|
.replace(/\bvar\b/g, 'let')
|
||||||
|
.replace(/\(it\s*\)/s, `(it: ${interfaceName}): string`)}`;
|
||||||
|
|
||||||
|
await Promise.all([writeFile(new URL(tsPath), contents), unlink(fnPath)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,7 +27,7 @@ export const help = () => `
|
|||||||
pull [path] Pull your Project Settings from the cloud
|
pull [path] Pull your Project Settings from the cloud
|
||||||
redeploy [url|id] Rebuild and deploy a previous deployment.
|
redeploy [url|id] Rebuild and deploy a previous deployment.
|
||||||
rollback [url|id] Quickly revert back to a previous deployment
|
rollback [url|id] Quickly revert back to a previous deployment
|
||||||
switch [scope] Switches between teams and your personal account
|
switch [scope] Switches between different scopes
|
||||||
|
|
||||||
${chalk.dim('Advanced')}
|
${chalk.dim('Advanced')}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import {
|
|||||||
NowBuildError,
|
NowBuildError,
|
||||||
Cron,
|
Cron,
|
||||||
validateNpmrc,
|
validateNpmrc,
|
||||||
|
Flag,
|
||||||
} from '@vercel/build-utils';
|
} from '@vercel/build-utils';
|
||||||
import {
|
import {
|
||||||
detectBuilders,
|
detectBuilders,
|
||||||
@@ -93,6 +94,7 @@ interface BuildOutputConfig {
|
|||||||
version: string;
|
version: string;
|
||||||
};
|
};
|
||||||
crons?: Cron[];
|
crons?: Cron[];
|
||||||
|
flags?: Flag[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -104,6 +106,10 @@ export interface BuildsManifest {
|
|||||||
argv: string[];
|
argv: string[];
|
||||||
error?: any;
|
error?: any;
|
||||||
builds?: SerializedBuilder[];
|
builds?: SerializedBuilder[];
|
||||||
|
features?: {
|
||||||
|
speedInsightsVersion?: string | undefined;
|
||||||
|
webAnalyticsVersion?: string | undefined;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async function main(client: Client): Promise<number> {
|
export default async function main(client: Client): Promise<number> {
|
||||||
@@ -247,7 +253,7 @@ export default async function main(client: Client): Promise<number> {
|
|||||||
output.debug(`Loaded environment variables from "${envPath}"`);
|
output.debug(`Loaded environment variables from "${envPath}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For Vercel Speed Insights support
|
// For Vercel Legacy speed Insights support
|
||||||
if (project.settings.analyticsId) {
|
if (project.settings.analyticsId) {
|
||||||
envToUnset.add('VERCEL_ANALYTICS_ID');
|
envToUnset.add('VERCEL_ANALYTICS_ID');
|
||||||
process.env.VERCEL_ANALYTICS_ID = project.settings.analyticsId;
|
process.env.VERCEL_ANALYTICS_ID = project.settings.analyticsId;
|
||||||
@@ -426,6 +432,29 @@ async function doBuild(
|
|||||||
|
|
||||||
const ops: Promise<Error | void>[] = [];
|
const ops: Promise<Error | void>[] = [];
|
||||||
|
|
||||||
|
const dependencyMap = makeDepencyMap(pkg);
|
||||||
|
const speedInsighsVersion = dependencyMap.get('@vercel/speed-insights');
|
||||||
|
if (speedInsighsVersion) {
|
||||||
|
if (process.env.VERCEL_ANALYTICS_ID) {
|
||||||
|
output.warn(
|
||||||
|
`The \`VERCEL_ANALYTICS_ID\` environment variable is deprecated and will be removed in a future release. Please remove it from your environment variables`
|
||||||
|
);
|
||||||
|
|
||||||
|
delete process.env.VERCEL_ANALYTICS_ID;
|
||||||
|
}
|
||||||
|
buildsJson.features = {
|
||||||
|
...(buildsJson.features ?? {}),
|
||||||
|
speedInsightsVersion: speedInsighsVersion,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const webAnalyticsVersion = dependencyMap.get('@vercel/analytics');
|
||||||
|
if (webAnalyticsVersion) {
|
||||||
|
buildsJson.features = {
|
||||||
|
...(buildsJson.features ?? {}),
|
||||||
|
webAnalyticsVersion: webAnalyticsVersion,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Write the `detectedBuilders` result to output dir
|
// Write the `detectedBuilders` result to output dir
|
||||||
const buildsJsonBuilds = new Map<Builder, SerializedBuilder>(
|
const buildsJsonBuilds = new Map<Builder, SerializedBuilder>(
|
||||||
builds.map(build => {
|
builds.map(build => {
|
||||||
@@ -627,6 +656,7 @@ async function doBuild(
|
|||||||
const mergedWildcard = mergeWildcard(buildResults.values());
|
const mergedWildcard = mergeWildcard(buildResults.values());
|
||||||
const mergedOverrides: Record<string, PathOverride> =
|
const mergedOverrides: Record<string, PathOverride> =
|
||||||
overrides.length > 0 ? Object.assign({}, ...overrides) : undefined;
|
overrides.length > 0 ? Object.assign({}, ...overrides) : undefined;
|
||||||
|
const mergedFlags = mergeFlags(buildResults.values());
|
||||||
|
|
||||||
const framework = await getFramework(cwd, buildResults);
|
const framework = await getFramework(cwd, buildResults);
|
||||||
|
|
||||||
@@ -640,6 +670,7 @@ async function doBuild(
|
|||||||
overrides: mergedOverrides,
|
overrides: mergedOverrides,
|
||||||
framework,
|
framework,
|
||||||
crons: mergedCrons,
|
crons: mergedCrons,
|
||||||
|
flags: mergedFlags,
|
||||||
};
|
};
|
||||||
await fs.writeJSON(join(outputDir, 'config.json'), config, { spaces: 2 });
|
await fs.writeJSON(join(outputDir, 'config.json'), config, { spaces: 2 });
|
||||||
|
|
||||||
@@ -774,3 +805,22 @@ function mergeWildcard(
|
|||||||
}
|
}
|
||||||
return wildcard;
|
return wildcard;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mergeFlags(
|
||||||
|
buildResults: Iterable<BuildResult | BuildOutputConfig>
|
||||||
|
): BuildResultV2Typical['flags'] {
|
||||||
|
return Array.from(buildResults).flatMap(result => {
|
||||||
|
if ('flags' in result) {
|
||||||
|
return result.flags ?? [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function makeDepencyMap(pkg: PackageJson | null): Map<string, string> {
|
||||||
|
return new Map([
|
||||||
|
...Object.entries(pkg?.devDependencies ?? {}),
|
||||||
|
...Object.entries(pkg?.dependencies ?? {}),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|||||||
@@ -43,10 +43,7 @@ async function ls(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the list of certificates
|
// Get the list of certificates
|
||||||
const { certs, pagination } = await getCerts(
|
const { certs, pagination } = await getCerts(client, ...paginationOptions);
|
||||||
client,
|
|
||||||
...paginationOptions
|
|
||||||
).catch(err => err);
|
|
||||||
|
|
||||||
output.log(
|
output.log(
|
||||||
`${
|
`${
|
||||||
|
|||||||
@@ -17,12 +17,14 @@ type Options = {};
|
|||||||
|
|
||||||
export default async function buy(
|
export default async function buy(
|
||||||
client: Client,
|
client: Client,
|
||||||
opts: Options,
|
opts: Partial<Options>,
|
||||||
args: string[]
|
args: string[]
|
||||||
) {
|
) {
|
||||||
const { output } = client;
|
const { output } = client;
|
||||||
const { contextName } = await getScope(client);
|
const { contextName } = await getScope(client);
|
||||||
|
|
||||||
|
const skipConfirmation = !!process.env.CI;
|
||||||
|
|
||||||
const [domainName] = args;
|
const [domainName] = args;
|
||||||
if (!domainName) {
|
if (!domainName) {
|
||||||
output.error(
|
output.error(
|
||||||
@@ -78,25 +80,31 @@ export default async function buy(
|
|||||||
'available'
|
'available'
|
||||||
)} to buy under ${chalk.bold(contextName)}! ${availableStamp()}`
|
)} to buy under ${chalk.bold(contextName)}! ${availableStamp()}`
|
||||||
);
|
);
|
||||||
if (
|
|
||||||
!(await promptBool(
|
|
||||||
`Buy now for ${chalk.bold(`$${price}`)} (${`${period}yr${
|
|
||||||
period > 1 ? 's' : ''
|
|
||||||
}`})?`,
|
|
||||||
client
|
|
||||||
))
|
|
||||||
) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const autoRenew = await promptBool(
|
let autoRenew;
|
||||||
renewalPrice.period === 1
|
if (skipConfirmation) {
|
||||||
? `Auto renew yearly for ${chalk.bold(`$${price}`)}?`
|
autoRenew = true;
|
||||||
: `Auto renew every ${renewalPrice.period} years for ${chalk.bold(
|
} else {
|
||||||
`$${price}`
|
if (
|
||||||
)}?`,
|
!(await promptBool(
|
||||||
{ ...client, defaultValue: true }
|
`Buy now for ${chalk.bold(`$${price}`)} (${`${period}yr${
|
||||||
);
|
period > 1 ? 's' : ''
|
||||||
|
}`})?`,
|
||||||
|
client
|
||||||
|
))
|
||||||
|
) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
autoRenew = await promptBool(
|
||||||
|
renewalPrice.period === 1
|
||||||
|
? `Auto renew yearly for ${chalk.bold(`$${price}`)}?`
|
||||||
|
: `Auto renew every ${renewalPrice.period} years for ${chalk.bold(
|
||||||
|
`$${price}`
|
||||||
|
)}?`,
|
||||||
|
{ ...client, defaultValue: true }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
let buyResult;
|
let buyResult;
|
||||||
const purchaseStamp = stamp();
|
const purchaseStamp = stamp();
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ export const domainsCommand: Command = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'move',
|
name: 'move',
|
||||||
description: 'Move a domain to another user or team',
|
description: 'Move a domain to another scope',
|
||||||
arguments: [
|
arguments: [
|
||||||
{
|
{
|
||||||
name: 'name',
|
name: 'name',
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ export default async function move(
|
|||||||
|
|
||||||
const teams = await getTeams(client);
|
const teams = await getTeams(client);
|
||||||
const matchId = await findDestinationMatch(destination, user, teams);
|
const matchId = await findDestinationMatch(destination, user, teams);
|
||||||
|
|
||||||
|
if (matchId && matchId === user.id && user.version === 'northstar') {
|
||||||
|
output.error(`You may not move your domain to your user account.`);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (!matchId && !opts['--yes']) {
|
if (!matchId && !opts['--yes']) {
|
||||||
output.warn(
|
output.warn(
|
||||||
`You're not a member of ${param(destination)}. ` +
|
`You're not a member of ${param(destination)}. ` +
|
||||||
|
|||||||
7
packages/cli/src/commands/env/pull.ts
vendored
7
packages/cli/src/commands/env/pull.ts
vendored
@@ -55,6 +55,12 @@ function tryReadHeadSync(path: string, length: number) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VARIABLES_TO_IGNORE = [
|
||||||
|
'VERCEL_ANALYTICS_ID',
|
||||||
|
'VERCEL_SPEED_INSIGHTS_ID',
|
||||||
|
'VERCEL_WEB_ANALYTICS_ID',
|
||||||
|
];
|
||||||
|
|
||||||
export default async function pull(
|
export default async function pull(
|
||||||
client: Client,
|
client: Client,
|
||||||
link: ProjectLinked,
|
link: ProjectLinked,
|
||||||
@@ -131,6 +137,7 @@ export default async function pull(
|
|||||||
CONTENTS_PREFIX +
|
CONTENTS_PREFIX +
|
||||||
Object.keys(records)
|
Object.keys(records)
|
||||||
.sort()
|
.sort()
|
||||||
|
.filter(key => !VARIABLES_TO_IGNORE.includes(key))
|
||||||
.map(key => `${key}="${escapeValue(records[key])}"`)
|
.map(key => `${key}="${escapeValue(records[key])}"`)
|
||||||
.join('\n') +
|
.join('\n') +
|
||||||
'\n';
|
'\n';
|
||||||
|
|||||||
@@ -19,10 +19,14 @@ import Client from '../../util/client';
|
|||||||
import { LoginResult } from '../../util/login/types';
|
import { LoginResult } from '../../util/login/types';
|
||||||
import { help } from '../help';
|
import { help } from '../help';
|
||||||
import { loginCommand } from './command';
|
import { loginCommand } from './command';
|
||||||
|
import { updateCurrentTeamAfterLogin } from '../../util/login/update-current-team-after-login';
|
||||||
|
|
||||||
export default async function login(client: Client): Promise<number> {
|
export default async function login(client: Client): Promise<number> {
|
||||||
const { output } = client;
|
const { output } = client;
|
||||||
|
|
||||||
|
// user is not currently authenticated on this machine
|
||||||
|
const isInitialLogin = !client.authConfig.token;
|
||||||
|
|
||||||
const argv = getArgs(client.argv.slice(2), {
|
const argv = getArgs(client.argv.slice(2), {
|
||||||
'--oob': Boolean,
|
'--oob': Boolean,
|
||||||
'--github': Boolean,
|
'--github': Boolean,
|
||||||
@@ -67,20 +71,24 @@ export default async function login(client: Client): Promise<number> {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the token was upgraded (not a new login), then don't modify
|
|
||||||
// the current scope.
|
|
||||||
if (!client.authConfig.token) {
|
|
||||||
if (result.teamId) {
|
|
||||||
// SSO login, so set the current scope to the appropriate Team
|
|
||||||
client.config.currentTeam = result.teamId;
|
|
||||||
} else {
|
|
||||||
delete client.config.currentTeam;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save the user's authentication token to the configuration file.
|
// Save the user's authentication token to the configuration file.
|
||||||
client.authConfig.token = result.token;
|
client.authConfig.token = result.token;
|
||||||
|
|
||||||
|
if (result.teamId) {
|
||||||
|
client.config.currentTeam = result.teamId;
|
||||||
|
} else {
|
||||||
|
delete client.config.currentTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we have a brand new login, update `currentTeam`
|
||||||
|
if (isInitialLogin) {
|
||||||
|
await updateCurrentTeamAfterLogin(
|
||||||
|
client,
|
||||||
|
output,
|
||||||
|
client.config.currentTeam
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
writeToAuthConfigFile(client.authConfig);
|
writeToAuthConfigFile(client.authConfig);
|
||||||
writeToConfigFile(client.config);
|
writeToConfigFile(client.config);
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { packageName } from '../../util/pkg-name';
|
|||||||
|
|
||||||
export const logoutCommand: Command = {
|
export const logoutCommand: Command = {
|
||||||
name: 'logout',
|
name: 'logout',
|
||||||
description: 'Logout the current authenticated user or team.',
|
description: 'Logout the current authenticated user.',
|
||||||
arguments: [],
|
arguments: [],
|
||||||
options: [],
|
options: [],
|
||||||
examples: [
|
examples: [
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const projectCommand: Command = {
|
|||||||
subcommands: [
|
subcommands: [
|
||||||
{
|
{
|
||||||
name: 'ls',
|
name: 'ls',
|
||||||
description: 'Show all projects in the selected team/user',
|
description: 'Show all projects in the selected scope',
|
||||||
arguments: [],
|
arguments: [],
|
||||||
options: [],
|
options: [],
|
||||||
examples: [],
|
examples: [],
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ export default async function list(client: Client): Promise<number> {
|
|||||||
apiVersion: 2,
|
apiVersion: 2,
|
||||||
});
|
});
|
||||||
let { currentTeam } = config;
|
let { currentTeam } = config;
|
||||||
const accountIsCurrent = !currentTeam;
|
|
||||||
|
|
||||||
output.spinner('Fetching user information');
|
output.spinner('Fetching user information');
|
||||||
const user = await getUser(client);
|
const user = await getUser(client);
|
||||||
|
|
||||||
|
const accountIsCurrent = !currentTeam && user.version !== 'northstar';
|
||||||
|
|
||||||
if (accountIsCurrent) {
|
if (accountIsCurrent) {
|
||||||
currentTeam = user.id;
|
currentTeam = user.id;
|
||||||
}
|
}
|
||||||
@@ -55,12 +56,14 @@ export default async function list(client: Client): Promise<number> {
|
|||||||
current: id === currentTeam ? chars.tick : '',
|
current: id === currentTeam ? chars.tick : '',
|
||||||
}));
|
}));
|
||||||
|
|
||||||
teamList.unshift({
|
if (user.version !== 'northstar') {
|
||||||
id: user.id,
|
teamList.unshift({
|
||||||
name: user.email,
|
id: user.id,
|
||||||
value: user.username || user.email,
|
name: user.email,
|
||||||
current: accountIsCurrent ? chars.tick : '',
|
value: user.username || user.email,
|
||||||
});
|
current: accountIsCurrent ? chars.tick : '',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Bring the current Team to the beginning of the list
|
// Bring the current Team to the beginning of the list
|
||||||
if (!accountIsCurrent) {
|
if (!accountIsCurrent) {
|
||||||
@@ -71,18 +74,21 @@ export default async function list(client: Client): Promise<number> {
|
|||||||
|
|
||||||
// Printing
|
// Printing
|
||||||
output.stopSpinner();
|
output.stopSpinner();
|
||||||
console.log(); // empty line
|
client.stdout.write('\n'); // empty line
|
||||||
|
|
||||||
table(
|
table(
|
||||||
['', 'id', 'email / name'],
|
['', 'id', 'email / name'],
|
||||||
teamList.map(team => [team.current, team.value, team.name]),
|
teamList.map(team => [team.current, team.value, team.name]),
|
||||||
[1, 5]
|
[1, 5],
|
||||||
|
(str: string) => {
|
||||||
|
client.stdout.write(str);
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
if (pagination?.count === 20) {
|
if (pagination?.count === 20) {
|
||||||
const flags = getCommandFlags(argv, ['_', '--next', '-N', '-d']);
|
const flags = getCommandFlags(argv, ['_', '--next', '-N', '-d']);
|
||||||
const nextCmd = `${packageName} teams ls${flags} --next ${pagination.next}`;
|
const nextCmd = `${packageName} teams ls${flags} --next ${pagination.next}`;
|
||||||
console.log(); // empty line
|
client.stdout.write('\n'); // empty line
|
||||||
output.log(`To display the next page run ${cmd(nextCmd)}`);
|
output.log(`To display the next page run ${cmd(nextCmd)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,14 +70,21 @@ export default async function main(client: Client, desiredSlug?: string) {
|
|||||||
suffix += ` ${emoji('locked')}`;
|
suffix += ` ${emoji('locked')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const personalAccountChoice =
|
||||||
|
user.version === 'northstar'
|
||||||
|
? []
|
||||||
|
: [
|
||||||
|
{ separator: 'Personal Account' },
|
||||||
|
{
|
||||||
|
name: `${user.name || user.email} (${user.username})${suffix}`,
|
||||||
|
value: user.username,
|
||||||
|
short: user.username,
|
||||||
|
selected: personalScopeSelected,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
const choices = [
|
const choices = [
|
||||||
{ separator: 'Personal Account' },
|
...personalAccountChoice,
|
||||||
{
|
|
||||||
name: `${user.name || user.email} (${user.username})${suffix}`,
|
|
||||||
value: user.username,
|
|
||||||
short: user.username,
|
|
||||||
selected: personalScopeSelected,
|
|
||||||
},
|
|
||||||
{ separator: 'Teams' },
|
{ separator: 'Teams' },
|
||||||
...teamChoices,
|
...teamChoices,
|
||||||
];
|
];
|
||||||
@@ -97,6 +104,11 @@ export default async function main(client: Client, desiredSlug?: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (desiredSlug === user.username || desiredSlug === user.email) {
|
if (desiredSlug === user.username || desiredSlug === user.email) {
|
||||||
|
if (user.version === 'northstar') {
|
||||||
|
output.error('You cannot set your Personal Account as the scope.');
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Switch to user's personal account
|
// Switch to user's personal account
|
||||||
if (personalScopeSelected) {
|
if (personalScopeSelected) {
|
||||||
output.log('No changes made');
|
output.log('No changes made');
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ try {
|
|||||||
|
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { existsSync } from 'fs';
|
import { existsSync } from 'fs';
|
||||||
import sourceMap from '@zeit/source-map-support';
|
|
||||||
import { mkdirp } from 'fs-extra';
|
import { mkdirp } from 'fs-extra';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import epipebomb from 'epipebomb';
|
import epipebomb from 'epipebomb';
|
||||||
@@ -56,6 +55,7 @@ import { ProxyAgent } from 'proxy-agent';
|
|||||||
import box from './util/output/box';
|
import box from './util/output/box';
|
||||||
import { execExtension } from './util/extension/exec';
|
import { execExtension } from './util/extension/exec';
|
||||||
import { help } from './args';
|
import { help } from './args';
|
||||||
|
import { updateCurrentTeamAfterLogin } from './util/login/update-current-team-after-login';
|
||||||
|
|
||||||
const VERCEL_DIR = getGlobalPathConfig();
|
const VERCEL_DIR = getGlobalPathConfig();
|
||||||
const VERCEL_CONFIG_PATH = configFiles.getConfigFilePath();
|
const VERCEL_CONFIG_PATH = configFiles.getConfigFilePath();
|
||||||
@@ -65,8 +65,6 @@ const GLOBAL_COMMANDS = new Set(['help']);
|
|||||||
|
|
||||||
epipebomb();
|
epipebomb();
|
||||||
|
|
||||||
sourceMap.install();
|
|
||||||
|
|
||||||
// Configure the error reporting system
|
// Configure the error reporting system
|
||||||
Sentry.init({
|
Sentry.init({
|
||||||
dsn: SENTRY_DSN,
|
dsn: SENTRY_DSN,
|
||||||
@@ -337,17 +335,12 @@ const main = async () => {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.teamId) {
|
|
||||||
// SSO login, so set the current scope to the appropriate Team
|
|
||||||
client.config.currentTeam = result.teamId;
|
|
||||||
} else {
|
|
||||||
delete client.config.currentTeam;
|
|
||||||
}
|
|
||||||
|
|
||||||
// When `result` is a string it's the user's authentication token.
|
// When `result` is a string it's the user's authentication token.
|
||||||
// It needs to be saved to the configuration file.
|
// It needs to be saved to the configuration file.
|
||||||
client.authConfig.token = result.token;
|
client.authConfig.token = result.token;
|
||||||
|
|
||||||
|
await updateCurrentTeamAfterLogin(client, output, result.teamId);
|
||||||
|
|
||||||
configFiles.writeToAuthConfigFile(client.authConfig);
|
configFiles.writeToAuthConfigFile(client.authConfig);
|
||||||
configFiles.writeToConfigFile(client.config);
|
configFiles.writeToConfigFile(client.config);
|
||||||
|
|
||||||
@@ -447,6 +440,11 @@ const main = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (user.id === scope || user.email === scope || user.username === scope) {
|
if (user.id === scope || user.email === scope || user.username === scope) {
|
||||||
|
if (user.version === 'northstar') {
|
||||||
|
output.error('You cannot set your Personal Account as the scope.');
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
delete client.config.currentTeam;
|
delete client.config.currentTeam;
|
||||||
} else {
|
} else {
|
||||||
let teams = [];
|
let teams = [];
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export async function initCorepack({
|
|||||||
const pkgManagerName = pkg.packageManager.split('@')[0];
|
const pkgManagerName = pkg.packageManager.split('@')[0];
|
||||||
// We must explicitly call `corepack enable npm` since `corepack enable`
|
// We must explicitly call `corepack enable npm` since `corepack enable`
|
||||||
// doesn't work with npm. See https://github.com/nodejs/corepack/pull/24
|
// doesn't work with npm. See https://github.com/nodejs/corepack/pull/24
|
||||||
// Also, `corepack enable` is too broad and will change the verison of
|
// Also, `corepack enable` is too broad and will change the version of
|
||||||
// yarn & pnpm even though those versions are not specified by the user.
|
// yarn & pnpm even though those versions are not specified by the user.
|
||||||
// See https://github.com/nodejs/corepack#known-good-releases
|
// See https://github.com/nodejs/corepack#known-good-releases
|
||||||
// Finally, we use `--install-directory` so we can cache the result to
|
// Finally, we use `--install-directory` so we can cache the result to
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import plural from 'pluralize';
|
|||||||
import npa from 'npm-package-arg';
|
import npa from 'npm-package-arg';
|
||||||
import { satisfies } from 'semver';
|
import { satisfies } from 'semver';
|
||||||
import { dirname, join } from 'path';
|
import { dirname, join } from 'path';
|
||||||
|
import { createRequire } from 'module';
|
||||||
import { mkdirp, outputJSON, readJSON, symlink } from 'fs-extra';
|
import { mkdirp, outputJSON, readJSON, symlink } from 'fs-extra';
|
||||||
import { isStaticRuntime } from '@vercel/fs-detectors';
|
import { isStaticRuntime } from '@vercel/fs-detectors';
|
||||||
import { BuilderV2, BuilderV3, PackageJson } from '@vercel/build-utils';
|
import { BuilderV2, BuilderV3, PackageJson } from '@vercel/build-utils';
|
||||||
@@ -28,6 +29,9 @@ type ResolveBuildersResult =
|
|||||||
| { buildersToAdd: Set<string> }
|
| { buildersToAdd: Set<string> }
|
||||||
| { builders: Map<string, BuilderWithPkg> };
|
| { builders: Map<string, BuilderWithPkg> };
|
||||||
|
|
||||||
|
// Get a real `require()` reference that esbuild won't mutate
|
||||||
|
const require_ = createRequire(__filename);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Imports the specified Vercel Builders, installing any missing ones
|
* Imports the specified Vercel Builders, installing any missing ones
|
||||||
* into `.vercel/builders` if necessary.
|
* into `.vercel/builders` if necessary.
|
||||||
@@ -115,10 +119,9 @@ export async function resolveBuilders(
|
|||||||
// If `pkgPath` wasn't found in `.vercel/builders` then try as a CLI local
|
// If `pkgPath` wasn't found in `.vercel/builders` then try as a CLI local
|
||||||
// dependency. `require.resolve()` will throw if the Builder is not a CLI
|
// dependency. `require.resolve()` will throw if the Builder is not a CLI
|
||||||
// dep, in which case we'll install it into `.vercel/builders`.
|
// dep, in which case we'll install it into `.vercel/builders`.
|
||||||
// NOTE: `eval('require')` is necessary to avoid bad transpilation to `__webpack_require__`
|
pkgPath = require_.resolve(`${name}/package.json`, {
|
||||||
pkgPath = eval('require').resolve(`${name}/package.json`, {
|
|
||||||
paths: [__dirname],
|
paths: [__dirname],
|
||||||
}) as string;
|
});
|
||||||
builderPkg = await readJSON(pkgPath);
|
builderPkg = await readJSON(pkgPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,8 +162,7 @@ export async function resolveBuilders(
|
|||||||
|
|
||||||
const path = join(dirname(pkgPath), builderPkg.main || 'index.js');
|
const path = join(dirname(pkgPath), builderPkg.main || 'index.js');
|
||||||
|
|
||||||
// NOTE: `eval('require')` is necessary to avoid bad transpilation to `__webpack_require__`
|
const builder = require_(path);
|
||||||
const builder = eval('require')(path);
|
|
||||||
|
|
||||||
builders.set(spec, {
|
builders.set(spec, {
|
||||||
builder,
|
builder,
|
||||||
|
|||||||
@@ -790,11 +790,10 @@ export default class DevServer {
|
|||||||
|
|
||||||
const merged: Env = { ...env, ...localEnv };
|
const merged: Env = { ...env, ...localEnv };
|
||||||
|
|
||||||
// Validate that the env var name matches what AWS Lambda allows:
|
// Validate that the env var name satisfies what Vercel's platform accepts.
|
||||||
// - https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html
|
|
||||||
let hasInvalidName = false;
|
let hasInvalidName = false;
|
||||||
for (const key of Object.keys(merged)) {
|
for (const key of Object.keys(merged)) {
|
||||||
if (!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(key)) {
|
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key)) {
|
||||||
this.output.warn(
|
this.output.warn(
|
||||||
`Ignoring ${type
|
`Ignoring ${type
|
||||||
.split('.')
|
.split('.')
|
||||||
@@ -808,7 +807,7 @@ export default class DevServer {
|
|||||||
}
|
}
|
||||||
if (hasInvalidName) {
|
if (hasInvalidName) {
|
||||||
this.output.log(
|
this.output.log(
|
||||||
'Env var names must start with letters, and can only contain alphanumeric characters and underscores'
|
'The name contains invalid characters. Only letters, digits, and underscores are allowed. Furthermore, the name should not start with a digit'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1319,6 +1318,11 @@ export default class DevServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!match && status && phase !== 'miss') {
|
if (!match && status && phase !== 'miss') {
|
||||||
|
if (routeResult.userDest) {
|
||||||
|
// If it's a user defined route then we continue routing
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
this.output.debug(`Route found with with status code ${status}`);
|
this.output.debug(`Route found with with status code ${status}`);
|
||||||
await this.sendError(req, res, requestId, '', status, headers);
|
await this.sendError(req, res, requestId, '', status, headers);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export class TeamDeleted extends NowError<'TEAM_DELETED', {}> {
|
|||||||
constructor() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
code: 'TEAM_DELETED',
|
code: 'TEAM_DELETED',
|
||||||
message: `Your team was deleted. You can switch to a different one using ${getCommandName(
|
message: `Your team was deleted or you were removed from the team. You can switch to a different one using ${getCommandName(
|
||||||
`switch`
|
`switch`
|
||||||
)}.`,
|
)}.`,
|
||||||
meta: {},
|
meta: {},
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
* the world, but something to be aware of.
|
* the world, but something to be aware of.
|
||||||
*
|
*
|
||||||
* IMPORTANT! This file must NOT depend on any 3rd party dependencies. This
|
* IMPORTANT! This file must NOT depend on any 3rd party dependencies. This
|
||||||
* file is NOT bundled by `ncc` and thus any 3rd party dependencies will never
|
* file is NOT bundled by `esbuild` and thus any 3rd party dependencies will
|
||||||
* be available.
|
* never be available.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
|
|||||||
@@ -15,9 +15,12 @@ export default async function getScope(
|
|||||||
const user = await getUser(client);
|
const user = await getUser(client);
|
||||||
let contextName = user.username || user.email;
|
let contextName = user.username || user.email;
|
||||||
let team: Team | null = null;
|
let team: Team | null = null;
|
||||||
|
const defaultTeamId =
|
||||||
|
user.version === 'northstar' ? user.defaultTeamId : undefined;
|
||||||
|
const currentTeamOrDefaultTeamId = client.config.currentTeam || defaultTeamId;
|
||||||
|
|
||||||
if (client.config.currentTeam && opts.getTeam !== false) {
|
if (currentTeamOrDefaultTeamId && opts.getTeam !== false) {
|
||||||
team = await getTeamById(client, client.config.currentTeam);
|
team = await getTeamById(client, currentTeamOrDefaultTeamId);
|
||||||
|
|
||||||
if (!team) {
|
if (!team) {
|
||||||
throw new TeamDeleted();
|
throw new TeamDeleted();
|
||||||
|
|||||||
@@ -25,11 +25,18 @@ export default async function selectOrg(
|
|||||||
output.stopSpinner();
|
output.stopSpinner();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const personalAccountChoice =
|
||||||
|
user.version === 'northstar'
|
||||||
|
? []
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
name: user.name || user.username,
|
||||||
|
value: { type: 'user', id: user.id, slug: user.username },
|
||||||
|
} as const,
|
||||||
|
];
|
||||||
|
|
||||||
const choices: Choice[] = [
|
const choices: Choice[] = [
|
||||||
{
|
...personalAccountChoice,
|
||||||
name: user.name || user.username,
|
|
||||||
value: { type: 'user', id: user.id, slug: user.username },
|
|
||||||
},
|
|
||||||
...teams.map<Choice>(team => ({
|
...teams.map<Choice>(team => ({
|
||||||
name: team.name || team.slug,
|
name: team.name || team.slug,
|
||||||
value: { type: 'team', id: team.id, slug: team.slug },
|
value: { type: 'team', id: team.id, slug: team.slug },
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import type Client from '../client';
|
||||||
|
import type { Output } from '../output';
|
||||||
|
import getUser from '../get-user';
|
||||||
|
|
||||||
|
// NOTE: `client.authConfig.token` must be set before calling this
|
||||||
|
export async function updateCurrentTeamAfterLogin(
|
||||||
|
client: Client,
|
||||||
|
output: Output,
|
||||||
|
ssoTeamId?: string
|
||||||
|
) {
|
||||||
|
if (ssoTeamId) {
|
||||||
|
client.config.currentTeam = ssoTeamId;
|
||||||
|
} else {
|
||||||
|
let user = null;
|
||||||
|
try {
|
||||||
|
user = await getUser(client);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
// Shouldn't happen since we just logged in
|
||||||
|
output.error('Failed to fetch the logged in user. Please try again.');
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (user.version === 'northstar' && user.defaultTeamId) {
|
||||||
|
client.config.currentTeam = user.defaultTeamId;
|
||||||
|
} else {
|
||||||
|
delete client.config.currentTeam;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,7 +9,8 @@ const printLine = (data: string[], sizes: number[]) =>
|
|||||||
export default function table(
|
export default function table(
|
||||||
fieldNames: string[] = [],
|
fieldNames: string[] = [],
|
||||||
data: string[][] = [],
|
data: string[][] = [],
|
||||||
margins: number[] = []
|
margins: number[] = [],
|
||||||
|
print: (str: string) => void
|
||||||
) {
|
) {
|
||||||
// Compute size of each column
|
// Compute size of each column
|
||||||
const sizes = data
|
const sizes = data
|
||||||
@@ -26,10 +27,12 @@ export default function table(
|
|||||||
.map((size, i) => (i < margins.length && size + margins[i]) || size);
|
.map((size, i) => (i < margins.length && size + margins[i]) || size);
|
||||||
|
|
||||||
// Print header
|
// Print header
|
||||||
console.log(chalk.grey(printLine(fieldNames, sizes)));
|
print(chalk.grey(printLine(fieldNames, sizes)));
|
||||||
|
print('\n');
|
||||||
|
|
||||||
// Print content
|
// Print content
|
||||||
for (const row of data) {
|
for (const row of data) {
|
||||||
console.log(printLine(row, sizes));
|
print(printLine(row, sizes));
|
||||||
|
print('\n');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
27
packages/cli/test/dev/fixtures/01-node/package-lock.json
generated
Normal file
27
packages/cli/test/dev/fixtures/01-node/package-lock.json
generated
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"name": "01-node",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"dependencies": {
|
||||||
|
"moment": "^2.24.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/moment": {
|
||||||
|
"version": "2.25.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz",
|
||||||
|
"integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==",
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"moment": {
|
||||||
|
"version": "2.25.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz",
|
||||||
|
"integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
||||||
moment@^2.24.0:
|
|
||||||
version "2.25.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0"
|
|
||||||
integrity sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==
|
|
||||||
22237
packages/cli/test/dev/fixtures/02-angular-node/package-lock.json
generated
Normal file
22237
packages/cli/test/dev/fixtures/02-angular-node/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
30372
packages/cli/test/dev/fixtures/03-aurelia/package-lock.json
generated
Normal file
30372
packages/cli/test/dev/fixtures/03-aurelia/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,6 @@
|
|||||||
"aurelia-testing": "1.0.0",
|
"aurelia-testing": "1.0.0",
|
||||||
"aurelia-tools": "2.0.0",
|
"aurelia-tools": "2.0.0",
|
||||||
"aurelia-webpack-plugin": "3.0.0",
|
"aurelia-webpack-plugin": "3.0.0",
|
||||||
"babel-eslint": "10.0.1",
|
|
||||||
"babel-jest": "24.5.0",
|
"babel-jest": "24.5.0",
|
||||||
"babel-loader": "8.0.5",
|
"babel-loader": "8.0.5",
|
||||||
"babel-plugin-istanbul": "5.1.1",
|
"babel-plugin-istanbul": "5.1.1",
|
||||||
@@ -31,7 +30,6 @@
|
|||||||
"css-loader": "1.0.0",
|
"css-loader": "1.0.0",
|
||||||
"del": "3.0.0",
|
"del": "3.0.0",
|
||||||
"duplicate-package-checker-webpack-plugin": "3.0.0",
|
"duplicate-package-checker-webpack-plugin": "3.0.0",
|
||||||
"eslint": "7.0.0",
|
|
||||||
"expose-loader": "0.7.5",
|
"expose-loader": "0.7.5",
|
||||||
"file-loader": "2.0.0",
|
"file-loader": "2.0.0",
|
||||||
"gulp": "4.0.0",
|
"gulp": "4.0.0",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
29180
packages/cli/test/dev/fixtures/04-create-react-app/package-lock.json
generated
Normal file
29180
packages/cli/test/dev/fixtures/04-create-react-app/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3059
packages/cli/test/dev/fixtures/07-hexo-node/package-lock.json
generated
Normal file
3059
packages/cli/test/dev/fixtures/07-hexo-node/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
648
packages/cli/test/dev/fixtures/10-nextjs-node/package-lock.json
generated
Normal file
648
packages/cli/test/dev/fixtures/10-nextjs-node/package-lock.json
generated
Normal file
@@ -0,0 +1,648 @@
|
|||||||
|
{
|
||||||
|
"name": "nextjs-node",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "nextjs-node",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"next": "13.0.4",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"react-dom": "18.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/env": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ=="
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-android-arm-eabi": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-android-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-darwin-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-darwin-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-freebsd-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm-gnueabihf": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-x64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-x64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-x64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@swc/helpers": {
|
||||||
|
"version": "0.4.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
|
||||||
|
"integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/caniuse-lite": {
|
||||||
|
"version": "1.0.30001541",
|
||||||
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz",
|
||||||
|
"integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
|
"node_modules/js-tokens": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||||
|
},
|
||||||
|
"node_modules/loose-envify": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||||
|
"dependencies": {
|
||||||
|
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"loose-envify": "cli.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/nanoid": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/next/-/next-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@next/env": "13.0.4",
|
||||||
|
"@swc/helpers": "0.4.11",
|
||||||
|
"caniuse-lite": "^1.0.30001406",
|
||||||
|
"postcss": "8.4.14",
|
||||||
|
"styled-jsx": "5.1.0",
|
||||||
|
"use-sync-external-store": "1.2.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"next": "dist/bin/next"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.6.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@next/swc-android-arm-eabi": "13.0.4",
|
||||||
|
"@next/swc-android-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-x64": "13.0.4",
|
||||||
|
"@next/swc-freebsd-x64": "13.0.4",
|
||||||
|
"@next/swc-linux-arm-gnueabihf": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-musl": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-musl": "13.0.4",
|
||||||
|
"@next/swc-win32-arm64-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-ia32-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-x64-msvc": "13.0.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"fibers": ">= 3.1.0",
|
||||||
|
"node-sass": "^6.0.0 || ^7.0.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
|
"sass": "^1.3.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"fibers": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"node-sass": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sass": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||||
|
},
|
||||||
|
"node_modules/postcss": {
|
||||||
|
"version": "8.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||||
|
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/postcss/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": "^3.3.4",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"source-map-js": "^1.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || >=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-dom": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"scheduler": "^0.23.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^18.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/scheduler": {
|
||||||
|
"version": "0.23.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
||||||
|
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/styled-jsx": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"client-only": "0.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@babel/core": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"babel-plugin-macros": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/tslib": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||||
|
},
|
||||||
|
"node_modules/use-sync-external-store": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@next/env": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ=="
|
||||||
|
},
|
||||||
|
"@next/swc-android-arm-eabi": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-android-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-darwin-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-darwin-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-freebsd-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm-gnueabihf": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-x64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-x64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-arm64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-ia32-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-x64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@swc/helpers": {
|
||||||
|
"version": "0.4.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
|
||||||
|
"integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"caniuse-lite": {
|
||||||
|
"version": "1.0.30001541",
|
||||||
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz",
|
||||||
|
"integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw=="
|
||||||
|
},
|
||||||
|
"client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
|
"js-tokens": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||||
|
},
|
||||||
|
"loose-envify": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||||
|
"requires": {
|
||||||
|
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nanoid": {
|
||||||
|
"version": "3.3.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||||
|
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
|
||||||
|
},
|
||||||
|
"next": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/next/-/next-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==",
|
||||||
|
"requires": {
|
||||||
|
"@next/env": "13.0.4",
|
||||||
|
"@next/swc-android-arm-eabi": "13.0.4",
|
||||||
|
"@next/swc-android-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-x64": "13.0.4",
|
||||||
|
"@next/swc-freebsd-x64": "13.0.4",
|
||||||
|
"@next/swc-linux-arm-gnueabihf": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-musl": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-musl": "13.0.4",
|
||||||
|
"@next/swc-win32-arm64-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-ia32-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-x64-msvc": "13.0.4",
|
||||||
|
"@swc/helpers": "0.4.11",
|
||||||
|
"caniuse-lite": "^1.0.30001406",
|
||||||
|
"postcss": "8.4.14",
|
||||||
|
"styled-jsx": "5.1.0",
|
||||||
|
"use-sync-external-store": "1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||||
|
},
|
||||||
|
"postcss": {
|
||||||
|
"version": "8.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||||
|
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
|
||||||
|
"requires": {
|
||||||
|
"nanoid": "^3.3.4",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"source-map-js": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-dom": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"scheduler": "^0.23.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.23.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
||||||
|
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
|
||||||
|
},
|
||||||
|
"styled-jsx": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||||
|
"requires": {
|
||||||
|
"client-only": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||||
|
},
|
||||||
|
"use-sync-external-store": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
|
||||||
|
"requires": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,191 +0,0 @@
|
|||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
||||||
"@next/env@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.0.4.tgz#249a21be88fa61e1a712939db00b9d02764831f4"
|
|
||||||
integrity sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ==
|
|
||||||
|
|
||||||
"@next/swc-android-arm-eabi@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz#684fe26ff2a05b9dd8c4fb84bc87ba807e3bddc0"
|
|
||||||
integrity sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==
|
|
||||||
|
|
||||||
"@next/swc-android-arm64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz#6bc985b78978fc42eaf723bbd21d3b27f673a1fe"
|
|
||||||
integrity sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==
|
|
||||||
|
|
||||||
"@next/swc-darwin-arm64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz#2a471486bd0d5737104f62807b23cb9743e3cb08"
|
|
||||||
integrity sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==
|
|
||||||
|
|
||||||
"@next/swc-darwin-x64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz#f921ea5d09df6bb4fcace3639b9a2e4587212c0e"
|
|
||||||
integrity sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==
|
|
||||||
|
|
||||||
"@next/swc-freebsd-x64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz#04f04f83aaa287fc8c429f688b431c39ce05ede3"
|
|
||||||
integrity sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm-gnueabihf@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz#45b9f02bf722d212611819fe847fb58355c1dd4b"
|
|
||||||
integrity sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm64-gnu@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz#940c756543264a098ecfae1aa92129a5ff5540dd"
|
|
||||||
integrity sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm64-musl@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz#1a0c16a648973475214786472cafe4e03f2a07a7"
|
|
||||||
integrity sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==
|
|
||||||
|
|
||||||
"@next/swc-linux-x64-gnu@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz#5d6a92ebfb2226bd4c34be8edfc132283fd4b055"
|
|
||||||
integrity sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==
|
|
||||||
|
|
||||||
"@next/swc-linux-x64-musl@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz#060797dc921c4af73521fde2a4198855f9e3bb34"
|
|
||||||
integrity sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==
|
|
||||||
|
|
||||||
"@next/swc-win32-arm64-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz#27629e72200cd479ad5231ae79e95291c476771d"
|
|
||||||
integrity sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==
|
|
||||||
|
|
||||||
"@next/swc-win32-ia32-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz#d7c89406b2a484f448c7b5af667b5eb537483695"
|
|
||||||
integrity sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==
|
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz#2c3ede793e90d632e1dbdb0e4851f6f32132fba8"
|
|
||||||
integrity sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==
|
|
||||||
|
|
||||||
"@swc/helpers@0.4.11":
|
|
||||||
version "0.4.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de"
|
|
||||||
integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==
|
|
||||||
dependencies:
|
|
||||||
tslib "^2.4.0"
|
|
||||||
|
|
||||||
caniuse-lite@^1.0.30001406:
|
|
||||||
version "1.0.30001431"
|
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz#e7c59bd1bc518fae03a4656be442ce6c4887a795"
|
|
||||||
integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==
|
|
||||||
|
|
||||||
client-only@0.0.1:
|
|
||||||
version "0.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
|
|
||||||
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
|
|
||||||
|
|
||||||
"js-tokens@^3.0.0 || ^4.0.0":
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
|
||||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
|
||||||
|
|
||||||
loose-envify@^1.1.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
|
||||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
|
||||||
dependencies:
|
|
||||||
js-tokens "^3.0.0 || ^4.0.0"
|
|
||||||
|
|
||||||
nanoid@^3.3.4:
|
|
||||||
version "3.3.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
|
||||||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
|
||||||
|
|
||||||
next@13.0.4:
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/next/-/next-13.0.4.tgz#52fc9d72df4642ed28e66f42f85137a624a98062"
|
|
||||||
integrity sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==
|
|
||||||
dependencies:
|
|
||||||
"@next/env" "13.0.4"
|
|
||||||
"@swc/helpers" "0.4.11"
|
|
||||||
caniuse-lite "^1.0.30001406"
|
|
||||||
postcss "8.4.14"
|
|
||||||
styled-jsx "5.1.0"
|
|
||||||
use-sync-external-store "1.2.0"
|
|
||||||
optionalDependencies:
|
|
||||||
"@next/swc-android-arm-eabi" "13.0.4"
|
|
||||||
"@next/swc-android-arm64" "13.0.4"
|
|
||||||
"@next/swc-darwin-arm64" "13.0.4"
|
|
||||||
"@next/swc-darwin-x64" "13.0.4"
|
|
||||||
"@next/swc-freebsd-x64" "13.0.4"
|
|
||||||
"@next/swc-linux-arm-gnueabihf" "13.0.4"
|
|
||||||
"@next/swc-linux-arm64-gnu" "13.0.4"
|
|
||||||
"@next/swc-linux-arm64-musl" "13.0.4"
|
|
||||||
"@next/swc-linux-x64-gnu" "13.0.4"
|
|
||||||
"@next/swc-linux-x64-musl" "13.0.4"
|
|
||||||
"@next/swc-win32-arm64-msvc" "13.0.4"
|
|
||||||
"@next/swc-win32-ia32-msvc" "13.0.4"
|
|
||||||
"@next/swc-win32-x64-msvc" "13.0.4"
|
|
||||||
|
|
||||||
picocolors@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
|
||||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
|
||||||
|
|
||||||
postcss@8.4.14:
|
|
||||||
version "8.4.14"
|
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
|
|
||||||
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
|
|
||||||
dependencies:
|
|
||||||
nanoid "^3.3.4"
|
|
||||||
picocolors "^1.0.0"
|
|
||||||
source-map-js "^1.0.2"
|
|
||||||
|
|
||||||
react-dom@18.2.0:
|
|
||||||
version "18.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
|
|
||||||
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
scheduler "^0.23.0"
|
|
||||||
|
|
||||||
react@18.2.0:
|
|
||||||
version "18.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
|
|
||||||
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
|
|
||||||
scheduler@^0.23.0:
|
|
||||||
version "0.23.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
|
|
||||||
integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
|
|
||||||
source-map-js@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
|
||||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
|
||||||
|
|
||||||
styled-jsx@5.1.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.0.tgz#4a5622ab9714bd3fcfaeec292aa555871f057563"
|
|
||||||
integrity sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==
|
|
||||||
dependencies:
|
|
||||||
client-only "0.0.1"
|
|
||||||
|
|
||||||
tslib@^2.4.0:
|
|
||||||
version "2.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
|
|
||||||
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
|
|
||||||
|
|
||||||
use-sync-external-store@1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
|
|
||||||
integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
|
|
||||||
647
packages/cli/test/dev/fixtures/10a-nextjs-routes/package-lock.json
generated
Normal file
647
packages/cli/test/dev/fixtures/10a-nextjs-routes/package-lock.json
generated
Normal file
@@ -0,0 +1,647 @@
|
|||||||
|
{
|
||||||
|
"name": "10a-nextjs-routes",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "10a-nextjs-routes",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"next": "13.0.4",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"react-dom": "18.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/env": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ=="
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-android-arm-eabi": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-android-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-darwin-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-darwin-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-freebsd-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm-gnueabihf": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-arm64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-x64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-linux-x64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@next/swc-win32-x64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@swc/helpers": {
|
||||||
|
"version": "0.4.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
|
||||||
|
"integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/caniuse-lite": {
|
||||||
|
"version": "1.0.30001541",
|
||||||
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz",
|
||||||
|
"integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
|
"node_modules/js-tokens": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||||
|
},
|
||||||
|
"node_modules/loose-envify": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||||
|
"dependencies": {
|
||||||
|
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"loose-envify": "cli.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/nanoid": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/next/-/next-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@next/env": "13.0.4",
|
||||||
|
"@swc/helpers": "0.4.11",
|
||||||
|
"caniuse-lite": "^1.0.30001406",
|
||||||
|
"postcss": "8.4.14",
|
||||||
|
"styled-jsx": "5.1.0",
|
||||||
|
"use-sync-external-store": "1.2.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"next": "dist/bin/next"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.6.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@next/swc-android-arm-eabi": "13.0.4",
|
||||||
|
"@next/swc-android-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-x64": "13.0.4",
|
||||||
|
"@next/swc-freebsd-x64": "13.0.4",
|
||||||
|
"@next/swc-linux-arm-gnueabihf": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-musl": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-musl": "13.0.4",
|
||||||
|
"@next/swc-win32-arm64-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-ia32-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-x64-msvc": "13.0.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"fibers": ">= 3.1.0",
|
||||||
|
"node-sass": "^6.0.0 || ^7.0.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
|
"sass": "^1.3.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"fibers": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"node-sass": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sass": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||||
|
},
|
||||||
|
"node_modules/postcss": {
|
||||||
|
"version": "8.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||||
|
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/postcss/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": "^3.3.4",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"source-map-js": "^1.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || >=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-dom": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"scheduler": "^0.23.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^18.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/scheduler": {
|
||||||
|
"version": "0.23.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
||||||
|
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
|
||||||
|
"dependencies": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/styled-jsx": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"client-only": "0.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@babel/core": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"babel-plugin-macros": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/tslib": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||||
|
},
|
||||||
|
"node_modules/use-sync-external-store": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@next/env": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ=="
|
||||||
|
},
|
||||||
|
"@next/swc-android-arm-eabi": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-android-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-darwin-arm64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-darwin-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-freebsd-x64": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm-gnueabihf": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-arm64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-x64-gnu": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-linux-x64-musl": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-arm64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-ia32-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@next/swc-win32-x64-msvc": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@swc/helpers": {
|
||||||
|
"version": "0.4.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
|
||||||
|
"integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"caniuse-lite": {
|
||||||
|
"version": "1.0.30001541",
|
||||||
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz",
|
||||||
|
"integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw=="
|
||||||
|
},
|
||||||
|
"client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
|
"js-tokens": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||||
|
},
|
||||||
|
"loose-envify": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||||
|
"requires": {
|
||||||
|
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nanoid": {
|
||||||
|
"version": "3.3.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||||
|
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
|
||||||
|
},
|
||||||
|
"next": {
|
||||||
|
"version": "13.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/next/-/next-13.0.4.tgz",
|
||||||
|
"integrity": "sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==",
|
||||||
|
"requires": {
|
||||||
|
"@next/env": "13.0.4",
|
||||||
|
"@next/swc-android-arm-eabi": "13.0.4",
|
||||||
|
"@next/swc-android-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-arm64": "13.0.4",
|
||||||
|
"@next/swc-darwin-x64": "13.0.4",
|
||||||
|
"@next/swc-freebsd-x64": "13.0.4",
|
||||||
|
"@next/swc-linux-arm-gnueabihf": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-arm64-musl": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-gnu": "13.0.4",
|
||||||
|
"@next/swc-linux-x64-musl": "13.0.4",
|
||||||
|
"@next/swc-win32-arm64-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-ia32-msvc": "13.0.4",
|
||||||
|
"@next/swc-win32-x64-msvc": "13.0.4",
|
||||||
|
"@swc/helpers": "0.4.11",
|
||||||
|
"caniuse-lite": "^1.0.30001406",
|
||||||
|
"postcss": "8.4.14",
|
||||||
|
"styled-jsx": "5.1.0",
|
||||||
|
"use-sync-external-store": "1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||||
|
},
|
||||||
|
"postcss": {
|
||||||
|
"version": "8.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||||
|
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
|
||||||
|
"requires": {
|
||||||
|
"nanoid": "^3.3.4",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"source-map-js": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-dom": {
|
||||||
|
"version": "18.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
|
||||||
|
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"scheduler": "^0.23.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.23.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
||||||
|
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
|
||||||
|
},
|
||||||
|
"styled-jsx": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||||
|
"requires": {
|
||||||
|
"client-only": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||||
|
},
|
||||||
|
"use-sync-external-store": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
|
||||||
|
"requires": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,191 +0,0 @@
|
|||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
||||||
"@next/env@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.0.4.tgz#249a21be88fa61e1a712939db00b9d02764831f4"
|
|
||||||
integrity sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ==
|
|
||||||
|
|
||||||
"@next/swc-android-arm-eabi@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.4.tgz#684fe26ff2a05b9dd8c4fb84bc87ba807e3bddc0"
|
|
||||||
integrity sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==
|
|
||||||
|
|
||||||
"@next/swc-android-arm64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.0.4.tgz#6bc985b78978fc42eaf723bbd21d3b27f673a1fe"
|
|
||||||
integrity sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==
|
|
||||||
|
|
||||||
"@next/swc-darwin-arm64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.4.tgz#2a471486bd0d5737104f62807b23cb9743e3cb08"
|
|
||||||
integrity sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==
|
|
||||||
|
|
||||||
"@next/swc-darwin-x64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.4.tgz#f921ea5d09df6bb4fcace3639b9a2e4587212c0e"
|
|
||||||
integrity sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==
|
|
||||||
|
|
||||||
"@next/swc-freebsd-x64@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.4.tgz#04f04f83aaa287fc8c429f688b431c39ce05ede3"
|
|
||||||
integrity sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm-gnueabihf@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.4.tgz#45b9f02bf722d212611819fe847fb58355c1dd4b"
|
|
||||||
integrity sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm64-gnu@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.4.tgz#940c756543264a098ecfae1aa92129a5ff5540dd"
|
|
||||||
integrity sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==
|
|
||||||
|
|
||||||
"@next/swc-linux-arm64-musl@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.4.tgz#1a0c16a648973475214786472cafe4e03f2a07a7"
|
|
||||||
integrity sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==
|
|
||||||
|
|
||||||
"@next/swc-linux-x64-gnu@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.4.tgz#5d6a92ebfb2226bd4c34be8edfc132283fd4b055"
|
|
||||||
integrity sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==
|
|
||||||
|
|
||||||
"@next/swc-linux-x64-musl@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.4.tgz#060797dc921c4af73521fde2a4198855f9e3bb34"
|
|
||||||
integrity sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==
|
|
||||||
|
|
||||||
"@next/swc-win32-arm64-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.4.tgz#27629e72200cd479ad5231ae79e95291c476771d"
|
|
||||||
integrity sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==
|
|
||||||
|
|
||||||
"@next/swc-win32-ia32-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.4.tgz#d7c89406b2a484f448c7b5af667b5eb537483695"
|
|
||||||
integrity sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==
|
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@13.0.4":
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.4.tgz#2c3ede793e90d632e1dbdb0e4851f6f32132fba8"
|
|
||||||
integrity sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==
|
|
||||||
|
|
||||||
"@swc/helpers@0.4.11":
|
|
||||||
version "0.4.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de"
|
|
||||||
integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==
|
|
||||||
dependencies:
|
|
||||||
tslib "^2.4.0"
|
|
||||||
|
|
||||||
caniuse-lite@^1.0.30001406:
|
|
||||||
version "1.0.30001431"
|
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz#e7c59bd1bc518fae03a4656be442ce6c4887a795"
|
|
||||||
integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==
|
|
||||||
|
|
||||||
client-only@0.0.1:
|
|
||||||
version "0.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
|
|
||||||
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
|
|
||||||
|
|
||||||
"js-tokens@^3.0.0 || ^4.0.0":
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
|
||||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
|
||||||
|
|
||||||
loose-envify@^1.1.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
|
||||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
|
||||||
dependencies:
|
|
||||||
js-tokens "^3.0.0 || ^4.0.0"
|
|
||||||
|
|
||||||
nanoid@^3.3.4:
|
|
||||||
version "3.3.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
|
||||||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
|
||||||
|
|
||||||
next@13.0.4:
|
|
||||||
version "13.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/next/-/next-13.0.4.tgz#52fc9d72df4642ed28e66f42f85137a624a98062"
|
|
||||||
integrity sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==
|
|
||||||
dependencies:
|
|
||||||
"@next/env" "13.0.4"
|
|
||||||
"@swc/helpers" "0.4.11"
|
|
||||||
caniuse-lite "^1.0.30001406"
|
|
||||||
postcss "8.4.14"
|
|
||||||
styled-jsx "5.1.0"
|
|
||||||
use-sync-external-store "1.2.0"
|
|
||||||
optionalDependencies:
|
|
||||||
"@next/swc-android-arm-eabi" "13.0.4"
|
|
||||||
"@next/swc-android-arm64" "13.0.4"
|
|
||||||
"@next/swc-darwin-arm64" "13.0.4"
|
|
||||||
"@next/swc-darwin-x64" "13.0.4"
|
|
||||||
"@next/swc-freebsd-x64" "13.0.4"
|
|
||||||
"@next/swc-linux-arm-gnueabihf" "13.0.4"
|
|
||||||
"@next/swc-linux-arm64-gnu" "13.0.4"
|
|
||||||
"@next/swc-linux-arm64-musl" "13.0.4"
|
|
||||||
"@next/swc-linux-x64-gnu" "13.0.4"
|
|
||||||
"@next/swc-linux-x64-musl" "13.0.4"
|
|
||||||
"@next/swc-win32-arm64-msvc" "13.0.4"
|
|
||||||
"@next/swc-win32-ia32-msvc" "13.0.4"
|
|
||||||
"@next/swc-win32-x64-msvc" "13.0.4"
|
|
||||||
|
|
||||||
picocolors@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
|
||||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
|
||||||
|
|
||||||
postcss@8.4.14:
|
|
||||||
version "8.4.14"
|
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
|
|
||||||
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
|
|
||||||
dependencies:
|
|
||||||
nanoid "^3.3.4"
|
|
||||||
picocolors "^1.0.0"
|
|
||||||
source-map-js "^1.0.2"
|
|
||||||
|
|
||||||
react-dom@18.2.0:
|
|
||||||
version "18.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
|
|
||||||
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
scheduler "^0.23.0"
|
|
||||||
|
|
||||||
react@18.2.0:
|
|
||||||
version "18.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
|
|
||||||
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
|
|
||||||
scheduler@^0.23.0:
|
|
||||||
version "0.23.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
|
|
||||||
integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
|
|
||||||
dependencies:
|
|
||||||
loose-envify "^1.1.0"
|
|
||||||
|
|
||||||
source-map-js@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
|
||||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
|
||||||
|
|
||||||
styled-jsx@5.1.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.0.tgz#4a5622ab9714bd3fcfaeec292aa555871f057563"
|
|
||||||
integrity sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==
|
|
||||||
dependencies:
|
|
||||||
client-only "0.0.1"
|
|
||||||
|
|
||||||
tslib@^2.4.0:
|
|
||||||
version "2.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
|
|
||||||
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
|
|
||||||
|
|
||||||
use-sync-external-store@1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
|
|
||||||
integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
|
|
||||||
28431
packages/cli/test/dev/fixtures/11-nuxtjs-node/package-lock.json
generated
Normal file
28431
packages/cli/test/dev/fixtures/11-nuxtjs-node/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
31205
packages/cli/test/dev/fixtures/12-polymer-node/package-lock.json
generated
Normal file
31205
packages/cli/test/dev/fixtures/12-polymer-node/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@ node_modules
|
|||||||
/*.log
|
/*.log
|
||||||
*.lock
|
*.lock
|
||||||
|
|
||||||
package-lock.json
|
|
||||||
yarn.lock
|
yarn.lock
|
||||||
.now
|
.now
|
||||||
.vercel
|
.vercel
|
||||||
|
|||||||
34885
packages/cli/test/dev/fixtures/13-preact-node/package-lock.json
generated
Normal file
34885
packages/cli/test/dev/fixtures/13-preact-node/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
3388
packages/cli/test/dev/fixtures/14-svelte-node/package-lock.json
generated
Normal file
3388
packages/cli/test/dev/fixtures/14-svelte-node/package-lock.json
generated
Normal file
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