From cd42caff31b1eb7c596a0a91aab8d497736ac60b Mon Sep 17 00:00:00 2001 From: woohyun kim Date: Mon, 13 Apr 2026 22:08:27 +0900 Subject: [PATCH 1/4] chore(deploy): remove Vite-era root vercel.json (#62) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root vercel.json was a Vite SPA rewrite (\`/(.*) → /index.html\`) that would break Next.js deploys by routing every path into a nonexistent index.html. The Next App Router handles routing itself — no rewrite needed at the Vercel layer. Per the Vercel monorepo guide and the roadmap, web and api will each become their own Vercel project with Root Directory apps/web and apps/api respectively. Root-level vercel.json would apply to both and cannot express per-app config coherently, so it stays removed. - nx affected -t lint test build --exclude web-e2e green - nx.json sharedGlobals previously referenced .circleci and .github/workflows/ci.yml, not vercel.json — no cache invalidation to worry about Refs #62 --- vercel.json | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 vercel.json diff --git a/vercel.json b/vercel.json deleted file mode 100644 index 1323cda..0000000 --- a/vercel.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "rewrites": [ - { - "source": "/(.*)", - "destination": "/index.html" - } - ] -} From 828920a0d1d29a0c6ae3996cf6523509c6f5412f Mon Sep 17 00:00:00 2001 From: woohyun kim Date: Mon, 13 Apr 2026 22:11:49 +0900 Subject: [PATCH 2/4] feat(deploy): proxy data.go.kr through Next Route Handler (#63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes the server-only half of #3 by routing every public-data-portal call through a Next Route Handler that reads the key from process.env.DATA_GO_KR_SERVICE_KEY (no NEXT_PUBLIC_ prefix). The browser bundle no longer carries the key. apps/web/app/api/data-go-kr/[...path]/route.ts (new): - Catch-all GET handler that mirrors the upstream http://apis.data.go.kr/1543061/abandonmentPublicSrvc/ structure - Reads search params from the incoming request, injects serviceKey and _type=json server-side, then forwards via fetch - Passes through status/content-type, returns 500 if the env var is missing, 502 if the upstream fetch throws apps/web/src/new-api/service.ts: - baseURL switched to '/api/data-go-kr' (relative path, no host) - Drops the serviceKey query param entirely — the proxy handles it - Drops the import.meta / process.env env-check code - Same export surface (getAPI, serviceAPI) so all 5 callers under new-api/{animalInfo,kind,sigungu,shelter,sido} keep working unchanged apps/web/.env.example: - NEXT_PUBLIC_DATA_GO_KR_SERVICE_KEY → DATA_GO_KR_SERVICE_KEY - Comment updated: server-only, read by the Route Handler Build output: ○ / ○ /_not-found ƒ /api/data-go-kr/[...path] ← new dynamic route ○ /like ○ /search - nx affected -t lint test build --exclude web-e2e green Refs #63 --- apps/web/.env.example | 10 ++--- .../web/app/api/data-go-kr/[...path]/route.ts | 45 +++++++++++++++++++ apps/web/src/new-api/service.ts | 21 ++------- 3 files changed, 54 insertions(+), 22 deletions(-) create mode 100644 apps/web/app/api/data-go-kr/[...path]/route.ts diff --git a/apps/web/.env.example b/apps/web/.env.example index 8bcda89..688ee6b 100644 --- a/apps/web/.env.example +++ b/apps/web/.env.example @@ -1,8 +1,8 @@ # Korean public-data-portal service key for the abandonmentPublicSrvc API. # Get one at https://www.data.go.kr/ and copy this file to apps/web/.env.local -# (which is git-ignored). +# (git-ignored). # -# NEXT_PUBLIC_ prefix = exposed to the browser. A server-side proxy via a -# Next Route Handler is tracked under #9 (Vercel deploy); that will let us -# drop the NEXT_PUBLIC_ prefix and keep the key server-only. -NEXT_PUBLIC_DATA_GO_KR_SERVICE_KEY= +# Server-only — no NEXT_PUBLIC_ prefix. Read by the Next Route Handler +# at apps/web/app/api/data-go-kr/[...path]/route.ts; never shipped to +# the browser bundle. +DATA_GO_KR_SERVICE_KEY= diff --git a/apps/web/app/api/data-go-kr/[...path]/route.ts b/apps/web/app/api/data-go-kr/[...path]/route.ts new file mode 100644 index 0000000..7e23f8a --- /dev/null +++ b/apps/web/app/api/data-go-kr/[...path]/route.ts @@ -0,0 +1,45 @@ +import { NextRequest, NextResponse } from 'next/server'; + +const UPSTREAM_BASE = + 'http://apis.data.go.kr/1543061/abandonmentPublicSrvc'; + +export async function GET( + request: NextRequest, + context: { params: Promise<{ path: string[] }> } +) { + const serviceKey = process.env.DATA_GO_KR_SERVICE_KEY; + if (!serviceKey) { + return NextResponse.json( + { error: 'DATA_GO_KR_SERVICE_KEY is not configured on the server.' }, + { status: 500 } + ); + } + + const { path } = await context.params; + const upstreamPath = path.join('/'); + + const params = new URLSearchParams(request.nextUrl.searchParams); + params.set('serviceKey', serviceKey); + params.set('_type', 'json'); + + const upstreamUrl = `${UPSTREAM_BASE}/${upstreamPath}?${params.toString()}`; + + try { + const upstream = await fetch(upstreamUrl, { + headers: { Accept: 'application/json' }, + }); + const body = await upstream.text(); + return new NextResponse(body, { + status: upstream.status, + headers: { + 'content-type': + upstream.headers.get('content-type') ?? 'application/json', + }, + }); + } catch (err) { + return NextResponse.json( + { error: 'Upstream fetch failed', message: String(err) }, + { status: 502 } + ); + } +} diff --git a/apps/web/src/new-api/service.ts b/apps/web/src/new-api/service.ts index d2a075e..27c29a3 100644 --- a/apps/web/src/new-api/service.ts +++ b/apps/web/src/new-api/service.ts @@ -1,21 +1,10 @@ import axios from 'axios'; import { APIResponse } from '@animal-project/shared-types'; -const baseURL = 'http://apis.data.go.kr/1543061/abandonmentPublicSrvc'; - -// NEXT_PUBLIC_ because getAPI runs in the browser (TanStack Query -// client). The key is still visible in the Network tab; moving getAPI -// behind a Next Route Handler (apps/web/app/api/**) removes even that -// exposure and is tracked under #9 (Vercel deploy). This change only -// removes the literal key from git history so it can be rotated. -const serviceKey = process.env.NEXT_PUBLIC_DATA_GO_KR_SERVICE_KEY; - -if (!serviceKey) { - // eslint-disable-next-line no-console - console.error( - 'NEXT_PUBLIC_DATA_GO_KR_SERVICE_KEY is not set. See apps/web/.env.example.' - ); -} +// Calls go to the Next Route Handler at app/api/data-go-kr/[...path], +// which proxies to the public-data-portal and injects the server-only +// DATA_GO_KR_SERVICE_KEY. The browser never sees the key. +const baseURL = '/api/data-go-kr'; export const serviceAPI = axios.create({ baseURL, @@ -26,8 +15,6 @@ export const getAPI = async (props: T, path: string) => { const data = await serviceAPI.get>(path, { params: { ...props, - serviceKey, - _type: 'json', }, }); return data.data; From 927c9073f5df9d98a46e43638df229b2a206fdae Mon Sep 17 00:00:00 2001 From: woohyun kim Date: Mon, 13 Apr 2026 22:29:48 +0900 Subject: [PATCH 3/4] feat(deploy): migrate proxy and types to data.go.kr API v2 (#63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The public-data-portal endpoint moved to v2 with a renamed base path and per-resource _v2 suffixes. Update the proxy and the consumers in the same PR so the Route Handler delivered in the previous commit keeps working end-to-end. Route Handler upstream URL: - http://apis.data.go.kr/1543061/abandonmentPublicSrvc + https://apis.data.go.kr/1543061/abandonmentPublicService_v2 (now also HTTPS, matching the v2 spec at data.go.kr/data/15098931) new-api path constants (all five callers): - /abandonmentPublic → /abandonmentPublic_v2 - /sido → /sido_v2 - /sigungu → /sigungu_v2 - /kind → /kind_v2 - /shelter → /shelter_v2 shared-types AnimalInfo: - popfile (single Image URL) → popfile1 (required) plus optional popfile2..popfile8. The v2 schema returns up to 8 image URLs per rescue notice; we only render the first today, but the optional fields are typed for the gallery work in #18 e2e / future ports. apps/web AnimalCard.tsx: - item.popfile → item.popfile1 - nx affected -t lint test build --exclude web-e2e green Refs #63 --- apps/web/app/api/data-go-kr/[...path]/route.ts | 2 +- apps/web/src/new-api/animalInfo/index.ts | 2 +- apps/web/src/new-api/kind/index.ts | 2 +- apps/web/src/new-api/shelter/index.ts | 2 +- apps/web/src/new-api/sido/index.ts | 2 +- apps/web/src/new-api/sigungu/index.ts | 2 +- apps/web/src/new-site/search/card/AnimalCard.tsx | 2 +- libs/shared-types/src/lib/responseAPI.ts | 9 ++++++++- 8 files changed, 15 insertions(+), 8 deletions(-) diff --git a/apps/web/app/api/data-go-kr/[...path]/route.ts b/apps/web/app/api/data-go-kr/[...path]/route.ts index 7e23f8a..6f198f5 100644 --- a/apps/web/app/api/data-go-kr/[...path]/route.ts +++ b/apps/web/app/api/data-go-kr/[...path]/route.ts @@ -1,7 +1,7 @@ import { NextRequest, NextResponse } from 'next/server'; const UPSTREAM_BASE = - 'http://apis.data.go.kr/1543061/abandonmentPublicSrvc'; + 'https://apis.data.go.kr/1543061/abandonmentPublicService_v2'; export async function GET( request: NextRequest, diff --git a/apps/web/src/new-api/animalInfo/index.ts b/apps/web/src/new-api/animalInfo/index.ts index 7d2b3d2..03a68ed 100644 --- a/apps/web/src/new-api/animalInfo/index.ts +++ b/apps/web/src/new-api/animalInfo/index.ts @@ -2,4 +2,4 @@ import { AnimalInfoRequestType } from "@animal-project/shared-types"; import { getAPI } from "../service"; import { AnimalInfo } from "@animal-project/shared-types"; -export const getAnimalInfo = (props : AnimalInfoRequestType) => getAPI(props, '/abandonmentPublic') +export const getAnimalInfo = (props : AnimalInfoRequestType) => getAPI(props, '/abandonmentPublic_v2') diff --git a/apps/web/src/new-api/kind/index.ts b/apps/web/src/new-api/kind/index.ts index 32d07fa..4e5b207 100644 --- a/apps/web/src/new-api/kind/index.ts +++ b/apps/web/src/new-api/kind/index.ts @@ -2,4 +2,4 @@ import { KindRequestType } from "@animal-project/shared-types"; import { getAPI } from "../service"; import { Kind } from "@animal-project/shared-types"; -export const getKind = (props : KindRequestType) => getAPI(props, '/kind') +export const getKind = (props : KindRequestType) => getAPI(props, '/kind_v2') diff --git a/apps/web/src/new-api/shelter/index.ts b/apps/web/src/new-api/shelter/index.ts index b523047..96aed37 100644 --- a/apps/web/src/new-api/shelter/index.ts +++ b/apps/web/src/new-api/shelter/index.ts @@ -2,4 +2,4 @@ import { ShelterRequestType } from "@animal-project/shared-types"; import { getAPI } from "../service"; import { Shelter } from "@animal-project/shared-types"; -export const getShelter = (props : ShelterRequestType) => getAPI(props, '/shelter') +export const getShelter = (props : ShelterRequestType) => getAPI(props, '/shelter_v2') diff --git a/apps/web/src/new-api/sido/index.ts b/apps/web/src/new-api/sido/index.ts index 796a327..40c81c8 100644 --- a/apps/web/src/new-api/sido/index.ts +++ b/apps/web/src/new-api/sido/index.ts @@ -2,5 +2,5 @@ import { SidoRequestType } from "@animal-project/shared-types"; import { getAPI } from "../service"; import { Sido } from "@animal-project/shared-types"; -export const getSido = (props : SidoRequestType) => getAPI(props, '/sido') +export const getSido = (props : SidoRequestType) => getAPI(props, '/sido_v2') diff --git a/apps/web/src/new-api/sigungu/index.ts b/apps/web/src/new-api/sigungu/index.ts index 2ff501d..1a799f5 100644 --- a/apps/web/src/new-api/sigungu/index.ts +++ b/apps/web/src/new-api/sigungu/index.ts @@ -2,4 +2,4 @@ import { SigunguRequestType } from "@animal-project/shared-types"; import { getAPI } from "../service"; import { Sigungu } from "@animal-project/shared-types"; -export const getSigungu = (props : SigunguRequestType) => getAPI(props, '/sigungu') +export const getSigungu = (props : SigunguRequestType) => getAPI(props, '/sigungu_v2') diff --git a/apps/web/src/new-site/search/card/AnimalCard.tsx b/apps/web/src/new-site/search/card/AnimalCard.tsx index e0a53b5..d004467 100644 --- a/apps/web/src/new-site/search/card/AnimalCard.tsx +++ b/apps/web/src/new-site/search/card/AnimalCard.tsx @@ -23,7 +23,7 @@ export const AnimalCard = (props: Props) => {
- pet + pet
diff --git a/libs/shared-types/src/lib/responseAPI.ts b/libs/shared-types/src/lib/responseAPI.ts index 394fbc7..7f685f1 100644 --- a/libs/shared-types/src/lib/responseAPI.ts +++ b/libs/shared-types/src/lib/responseAPI.ts @@ -55,7 +55,14 @@ export interface APIResponse { noticeNo: string; // 공고번호 noticeSdt: string; // 공고시작일 (YYYYMMDD) noticeEdt: string; // 공고종료일 (YYYYMMDD) - popfile: string; // Image URL + popfile1: string; // Image URL (v2 API: up to 8 images popfile1..popfile8) + popfile2?: string; + popfile3?: string; + popfile4?: string; + popfile5?: string; + popfile6?: string; + popfile7?: string; + popfile8?: string; processState: string; // 상태 (예: 보호중) sexCd: string; // 성별 (M: 수컷, F: 암컷, Q: 미상) neuterYn: string; // 중성화 여부 (Y: 예, N: 아니오, U: 미상) From b6107890d76fe88fc16079690b8179b356d9e3a9 Mon Sep 17 00:00:00 2001 From: woohyun kim Date: Mon, 13 Apr 2026 22:33:44 +0900 Subject: [PATCH 4/4] chore(deps): drop unused @vercel/remote-nx (#64) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @vercel/remote-nx wires Nx Remote Cache into a Vercel-hosted endpoint via tasksRunnerOptions in nx.json. Our nx.json has never had any tasksRunnerOptions wired to it (we now use the standard Nx Cloud runner via nxCloudAccessToken), so the dependency was dead weight. - grep '@vercel/remote-nx' apps libs → zero source references - nx affected -t lint test build --exclude web-e2e green (10/10 cache) Refs #64 --- package-lock.json | 716 +--------------------------------------------- package.json | 1 - 2 files changed, 1 insertion(+), 716 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3a1fad8..4672753 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,6 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", - "@vercel/remote-nx": "^2.0.0", "autoprefixer": "10.4.13", "babel-jest": "30.0.5", "eslint": "~8.57.0", @@ -13359,398 +13358,6 @@ "win32" ] }, - "node_modules/@vercel/remote": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vercel/remote/-/remote-1.0.1.tgz", - "integrity": "sha512-5iUXUO/DBsNPFPq1tuIndhq+x14Nec1lyj0F2IelWm/cVFl7q8dnXsAPtMnr1129RD8hbOTqI2XgXKo8orAlpA==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "ci-info": "^3.4.0", - "concat-stream": "^2.0.0", - "node-fetch": "^2.6.7", - "raw-body": "^2.5.1" - } - }, - "node_modules/@vercel/remote-nx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@vercel/remote-nx/-/remote-nx-2.0.0.tgz", - "integrity": "sha512-lO5zIXnfg6Igi3Zpsf6uzSPXassO7j4udA5Jn++qKyUTqtzpn0rUav5VmNxDTS4nEDJhrYyRJwx7oUNp7yQyTQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "@vercel/remote": "1.0.1", - "chalk": "^4.1.0", - "nx-remotecache-custom": "^17.1.1" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nrwl/tao": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.3.2.tgz", - "integrity": "sha512-5uvpSmij0J9tteFV/0M/024K+H/o3XAlqtSdU8j03Auj1IleclSLF2yCTuIo7pYXhG3cgx1+nR+3nMs1QVAdUA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "nx": "17.3.2", - "tslib": "^2.3.0" - }, - "bin": { - "tao": "index.js" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-darwin-arm64": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.3.2.tgz", - "integrity": "sha512-hn12o/tt26Pf4wG+8rIBgNIEZq5BFlHLv3scNrgKbd5SancHlTbY4RveRGct737UQ/78GCMCgMDRgNdagbCr6w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-darwin-x64": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.3.2.tgz", - "integrity": "sha512-5F28wrfE7yU60MzEXGjndy1sPJmNMIaV2W/g82kTXzxAbGHgSjwrGFmrJsrexzLp9oDlWkbc6YmInKV8gmmIaQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-freebsd-x64": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.3.2.tgz", - "integrity": "sha512-07MMTfsJooONqL1Vrm5L6qk/gzmSrYLazjkiTmJz+9mrAM61RdfSYfO3mSyAoyfgWuQ5yEvfI56P036mK8aoPg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.3.2.tgz", - "integrity": "sha512-gQxMF6U/h18Rz+FZu50DZCtfOdk27hHghNh3d3YTeVsrJTd1SmUQbYublmwU/ia1HhFS8RVI8GvkaKt5ph0HoA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.3.2.tgz", - "integrity": "sha512-X20wiXtXmKlC01bpVEREsRls1uVOM22xDTpqILvVty6+P+ytEYFR3Vs5EjDtzBKF51wjrwf03rEoToZbmgM8MA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-linux-arm64-musl": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.3.2.tgz", - "integrity": "sha512-yko3Xsezkn4tjeudZYLjxFl07X/YB84K+DLK7EFyh9elRWV/8VjFcQmBAKUS2r9LfaEMNXq8/vhWMOWYyWBrIA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-linux-x64-gnu": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.3.2.tgz", - "integrity": "sha512-RiPvvQMmlZmDu9HdT6n6sV0+fEkyAqR5VocrD5ZAzEzFIlh4dyVLripFR3+MD+QhIhXyPt/hpri1kq9sgs4wnw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-linux-x64-musl": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.3.2.tgz", - "integrity": "sha512-PWfVGmFsFJi+N1Nljg/jTKLHdufpGuHlxyfHqhDso/o4Qc0exZKSeZ1C63WkD7eTcT5kInifTQ/PffLiIDE3MA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.3.2.tgz", - "integrity": "sha512-O+4FFPbQz1mqaIj+SVE02ppe7T9ELj7Z5soQct5TbRRhwjGaw5n5xaPPBW7jUuQe2L5htid1E82LJyq3JpVc8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@nx/nx-win32-x64-msvc": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.3.2.tgz", - "integrity": "sha512-4hQm+7coy+hBqGY9J709hz/tUPijhf/WS7eML2r2xBmqBew3PMHfeZuaAAYWN690nIsu0WX3wyDsNjulR8HGPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/remote-nx/node_modules/@zkochan/js-yaml": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", - "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@vercel/remote-nx/node_modules/dotenv": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", - "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, - "node_modules/@vercel/remote-nx/node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/remote-nx/node_modules/nx": { - "version": "17.3.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-17.3.2.tgz", - "integrity": "sha512-QjF1gnwKebQISvATrSbW7dsmIcLbA0fcyDyxLo5wVHx/MIlcaIb/lLYaPTld73ZZ6svHEZ6n2gOkhMitmkIPQA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nrwl/tao": "17.3.2", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.6", - "axios": "^1.6.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.3.1", - "dotenv-expand": "~10.0.0", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "js-yaml": "4.1.0", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "17.3.2", - "@nx/nx-darwin-x64": "17.3.2", - "@nx/nx-freebsd-x64": "17.3.2", - "@nx/nx-linux-arm-gnueabihf": "17.3.2", - "@nx/nx-linux-arm64-gnu": "17.3.2", - "@nx/nx-linux-arm64-musl": "17.3.2", - "@nx/nx-linux-x64-gnu": "17.3.2", - "@nx/nx-linux-x64-musl": "17.3.2", - "@nx/nx-win32-arm64-msvc": "17.3.2", - "@nx/nx-win32-x64-msvc": "17.3.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.6.7", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@vercel/remote-nx/node_modules/nx-remotecache-custom": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/nx-remotecache-custom/-/nx-remotecache-custom-17.1.1.tgz", - "integrity": "sha512-p9ccy0piga2rAb22ULV1ZyRaC6No2hIh3UIN2uQJ7WP1kM+NF7Gk3K2hQo4urnYxSF6QzQI71KcKS5DVLsqOLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "dotenv": "^16.0.3", - "tar": "^6.1.12" - }, - "peerDependencies": { - "nx": "^17.0.0" - } - }, - "node_modules/@vercel/remote/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@vercel/remote/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vercel/remote/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@vercel/remote/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/@vitest/expect": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", @@ -14295,47 +13902,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" - } - }, - "node_modules/@yarnpkg/parsers/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@zkochan/js-yaml": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", @@ -16084,16 +15650,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -17609,6 +17165,7 @@ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "license": "MIT", + "optional": true, "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -17795,14 +17352,6 @@ "node": ">= 0.4" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -19961,55 +19510,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/fs-monkey": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", @@ -23576,23 +23076,6 @@ "node": ">=8" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/jest-docblock": { "version": "30.2.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", @@ -24184,17 +23667,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/jest-haste-map": { "version": "30.0.5", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.5.tgz", @@ -26440,17 +25912,6 @@ "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/little-state-machine": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/little-state-machine/-/little-state-machine-4.8.0.tgz", @@ -27030,40 +26491,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/mlly": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", @@ -27357,14 +26784,6 @@ "dev": true, "license": "MIT" }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/node-releases": { "version": "2.0.37", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", @@ -29664,72 +29083,6 @@ "node": ">= 0.6" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -31994,25 +31347,6 @@ "optional": true, "peer": true }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/strtok3": { "version": "10.3.5", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", @@ -32482,24 +31816,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -32517,36 +31833,6 @@ "node": ">=6" } }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/tcp-port-used": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", diff --git a/package.json b/package.json index a17b71f..98dafa7 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", - "@vercel/remote-nx": "^2.0.0", "autoprefixer": "10.4.13", "babel-jest": "30.0.5", "eslint": "~8.57.0",