diff --git a/.changeset/shiny-files-smash.md b/.changeset/shiny-files-smash.md deleted file mode 100644 index 82d6ac164b..0000000000 --- a/.changeset/shiny-files-smash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clerk/localizations": patch ---- - -Update `de-DE` translation to be GDPR-compliant diff --git a/.changeset/stupid-cherries-cry.md b/.changeset/stupid-cherries-cry.md deleted file mode 100644 index a845151cc8..0000000000 --- a/.changeset/stupid-cherries-cry.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/.changeset/three-timers-sneeze.md b/.changeset/three-timers-sneeze.md new file mode 100644 index 0000000000..15f4c90767 --- /dev/null +++ b/.changeset/three-timers-sneeze.md @@ -0,0 +1,5 @@ +--- +'@clerk/elements': minor +--- + +Adds `restricted` Step for restricted sign-up mode diff --git a/.changeset/twenty-kids-speak.md b/.changeset/twenty-kids-speak.md deleted file mode 100644 index 719a55d7f4..0000000000 --- a/.changeset/twenty-kids-speak.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clerk/clerk-js": patch ---- - -Updates webpack to address CVE-2024-43788. diff --git a/.changeset/unlucky-crabs-hunt.md b/.changeset/unlucky-crabs-hunt.md deleted file mode 100644 index 28a249609e..0000000000 --- a/.changeset/unlucky-crabs-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@clerk/localizations": minor ---- - -Add be-BY translation diff --git a/.changeset/young-llamas-prove.md b/.changeset/young-llamas-prove.md deleted file mode 100644 index a845151cc8..0000000000 --- a/.changeset/young-llamas-prove.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08d7eba2d9..a195c02992 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,7 +115,7 @@ jobs: run: | if [ "${{ matrix.node-version }}" == "18" ]; then echo "Running tests on Node 18 only for packages with LTS support." - npx turbo test $TURBO_ARGS --filter="@clerk/astro" --filter="@clerk/backend" --filter="@clerk/express" --filter="@clerk/nextjs" --filter="@clerk/clerk-react" --filter="@clerk/fastify" --filter="@clerk/clerk-sdk-node" --filter="@clerk/shared" --filter="@clerk/remix" --filter="@clerk/tanstack-start" --filter="@clerk/elements" + npx turbo test $TURBO_ARGS --filter="@clerk/astro" --filter="@clerk/backend" --filter="@clerk/express" --filter="@clerk/nextjs" --filter="@clerk/clerk-react" --filter="@clerk/clerk-sdk-node" --filter="@clerk/shared" --filter="@clerk/remix" --filter="@clerk/tanstack-start" --filter="@clerk/elements" else echo "Running tests for all packages on Node 20." npx turbo test $TURBO_ARGS diff --git a/README.md b/README.md index 0aeac9ce9c..a7389aeb60 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,11 @@ Would you like to work on Open Source software and help maintain this repository This repository contains the SDKs for environment/platforms that Clerk supports. For example, if you want to use Clerk with Node.js you can install: ```sh -npm install @clerk/clerk-sdk-node +npm install @clerk/backend # or -yarn add @clerk/clerk-sdk-node +yarn add @clerk/backend # or -pnpm add @clerk/clerk-sdk-node +pnpm add @clerk/backend ``` ## 🎓 Learning Clerk diff --git a/integration/templates/next-app-router/src/app/organizations-by-id/[id]/page.tsx b/integration/templates/next-app-router/src/app/organizations-by-id/[id]/page.tsx new file mode 100644 index 0000000000..41eb746d5e --- /dev/null +++ b/integration/templates/next-app-router/src/app/organizations-by-id/[id]/page.tsx @@ -0,0 +1,18 @@ +import { auth } from '@clerk/nextjs/server'; + +export default function Home({ params }: { params: { id: string } }) { + const { orgId } = auth(); + + if (params.id != orgId) { + console.log('Mismatch - returning nothing for now...', params.id, orgId); + } + + console.log("I'm the server and I got this id: ", orgId); + + return ( + <> +

Org-specific home

+

From auth(), I know your org id is: {orgId}

+ + ); +} diff --git a/integration/templates/next-app-router/src/app/organizations-by-id/[id]/settings/page.tsx b/integration/templates/next-app-router/src/app/organizations-by-id/[id]/settings/page.tsx new file mode 100644 index 0000000000..8d1adf2e24 --- /dev/null +++ b/integration/templates/next-app-router/src/app/organizations-by-id/[id]/settings/page.tsx @@ -0,0 +1,18 @@ +import { auth } from '@clerk/nextjs/server'; + +export default function Home({ params }: { params: { id: string } }) { + const { orgId } = auth(); + + if (params.id != orgId) { + console.log('Mismatch - returning nothing for now...', params.id, orgId); + } + + console.log("I'm the server and I got this id: ", orgId); + + return ( + <> +

Org-specific settings

+

From auth(), I know your org id is: {orgId}

+ + ); +} diff --git a/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/page.tsx b/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/page.tsx new file mode 100644 index 0000000000..1847d88f18 --- /dev/null +++ b/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/page.tsx @@ -0,0 +1,18 @@ +import { auth } from '@clerk/nextjs/server'; + +export default function Home({ params }: { params: { slug: string } }) { + const { orgSlug } = auth(); + + if (params.slug != orgSlug) { + console.log('Mismatch - returning nothing for now...', params.slug, orgSlug); + } + + console.log("I'm the server and I got this slug: ", orgSlug); + + return ( + <> +

Org-specific home

+

From auth(), I know your org slug is: {orgSlug}

+ + ); +} diff --git a/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/settings/page.tsx b/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/settings/page.tsx new file mode 100644 index 0000000000..f2613fdbcc --- /dev/null +++ b/integration/templates/next-app-router/src/app/organizations-by-slug/[slug]/settings/page.tsx @@ -0,0 +1,18 @@ +import { auth } from '@clerk/nextjs/server'; + +export default function Home({ params }: { params: { slug: string } }) { + const { orgSlug } = auth(); + + if (params.slug != orgSlug) { + console.log('Mismatch - returning nothing for now...', params.slug, orgSlug); + } + + console.log("I'm the server and I got this slug: ", orgSlug); + + return ( + <> +

Org-specific settings

+

From auth(), I know your org slug is: {orgSlug}

+ + ); +} diff --git a/integration/templates/next-app-router/src/app/personal-account/page.tsx b/integration/templates/next-app-router/src/app/personal-account/page.tsx new file mode 100644 index 0000000000..fdd6a1460d --- /dev/null +++ b/integration/templates/next-app-router/src/app/personal-account/page.tsx @@ -0,0 +1,15 @@ +import { auth } from '@clerk/nextjs/server'; + +export default function Home(): {} { + const { orgId } = auth(); + + if (orgId != null) { + console.log('Oh no, this page should only activate on the personal account!'); + } + + return ( + <> +

Welcome to your personal account

+ + ); +} diff --git a/integration/testUtils/handshake.ts b/integration/testUtils/handshake.ts index 63c4fbf2d6..74c4cea202 100644 --- a/integration/testUtils/handshake.ts +++ b/integration/testUtils/handshake.ts @@ -104,7 +104,13 @@ export function generateConfig({ mode, matchedKeys = true }: { mode: 'test' | 'l exp: number; nbf: number; }; - const generateToken = ({ state }: { state: 'active' | 'expired' | 'early' }) => { + const generateToken = ({ + state, + extraClaims, + }: { + state: 'active' | 'expired' | 'early'; + extraClaims?: Map; + }) => { const claims = { sub: 'user_12345' } as Claims; const now = Math.floor(Date.now() / 1000); @@ -121,6 +127,14 @@ export function generateConfig({ mode, matchedKeys = true }: { mode: 'test' | 'l claims.nbf = now - 10 + 600; claims.exp = now + 60 + 600; } + + // Merge claims with extraClaims + if (extraClaims) { + for (const [key, value] of extraClaims) { + claims[key] = value; + } + } + return { token: jwt.sign(claims, rsa.private, { algorithm: 'RS256', diff --git a/integration/tests/handshake.test.ts b/integration/tests/handshake.test.ts index 887b45b0a4..29b561cb6d 100644 --- a/integration/tests/handshake.test.ts +++ b/integration/tests/handshake.test.ts @@ -2,6 +2,7 @@ import * as http from 'node:http'; import { expect, test } from '@playwright/test'; +import type { OrganizationSyncOptions } from '../../packages/backend/src/tokens/types'; import type { Application } from '../models/application'; import { appConfigs } from '../presets'; import { generateConfig, getJwksFromSecretKey } from '../testUtils/handshake'; @@ -885,3 +886,525 @@ test.describe('Client handshake @generic', () => { expect(res.status).toBe(200); }); }); + +test.describe('Client handshake with organization activation @nextjs', () => { + test.describe.configure({ mode: 'parallel' }); + + const devBrowserCookie = '__clerk_db_jwt=needstobeset;'; + + const jwksServer = http.createServer(function (req, res) { + const sk = req.headers.authorization?.replace('Bearer ', ''); + if (!sk) { + console.log('No SK to', req.url, req.headers); + } + + res.setHeader('Content-Type', 'application/json'); + res.write(JSON.stringify(getJwksFromSecretKey(sk))); + res.end(); + }); + + let app: Application; + + test.beforeAll('setup local jwks server', async () => { + // Start the jwks server + await new Promise(resolve => jwksServer.listen(0, resolve)); + app = await startAppWithOrganizationSyncOptions(`http://localhost:${jwksServer.address().port}`); + }); + + test.afterAll('setup local Clerk API mock', async () => { + await app.teardown(); + return new Promise(resolve => jwksServer.close(() => resolve())); + }); + + type TestCase = { + name: string; + when: When; + then: Then; + }; + type When = { + // With this initial state... + initialAuthState: 'active' | 'expired' | 'early'; + initialSessionClaims: Map; + + // When the customer app specifies these orgSyncOptions to middleware... + orgSyncOptions: OrganizationSyncOptions; + + // And a request arrives to the app at this path... + appRequestPath: string; + + // With a token specified in... + tokenAppearsIn: 'header' | 'cookie'; + + // And the Sec-fetch-dest header is... + secFetchDestHeader: string | null; + }; + + type Then = { + // A handshake should (or should not) occur: + expectStatus: number; + + // The middleware should redirect to fapi with this query param value: + fapiOrganizationIdParamValue: string | null; + }; + + const cookieAuthCases: TestCase[] = [ + // ---------------- Session active vs expired tests ---------------- + // Note: it would be possible to run _every_ test with both active and expired initial states + // and expect the same results, but we're avoiding that to save some test execution time. + { + name: 'Expired session, no org in session, but org a requested by ID => attempts to activate org A', + when: { + initialAuthState: 'expired', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: 'org_a', + }, + }, + { + name: 'Active session, no org in session, but org a requested by ID => attempts to activate org A', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: 'org_a', + }, + }, + + // ---------------- Header-based auth tests ---------------- + // Header-based auth requests come from non-browser actors, which don't have the __client cookie. + // Handshaking depends on a redirect that includes that __client cookie, so we should not handshake + // for this auth method, even if there's an org mismatch + { + name: 'Header-based auth should not handshake with active auth', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'header', + secFetchDestHeader: null, + }, + then: { + expectStatus: 200, + fapiOrganizationIdParamValue: null, + }, + }, + { + name: 'Header-based auth should not handshake with expired auth', + when: { + initialAuthState: 'expired', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'header', + secFetchDestHeader: null, + }, + then: { + expectStatus: 307, // Should redirect to sign-in + fapiOrganizationIdParamValue: null, + }, + }, + + // ---------------- Existing session active org tests ---------------- + { + name: 'Active session, org A active in session, but org B is requested by ID => attempts to activate org B', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id', '/organizations-by-id/:id/(.*)'], + }, + appRequestPath: '/organizations-by-id/org_b', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: 'org_b', + }, + }, + { + name: 'Active session, no active org in session, but org B is requested by slug => attempts to activate org B', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: [ + '/organizations-by-id/:id', + '/organizations-by-id/:id/(.*)', + '/organizations-by-slug/:slug', + '/organizations-by-slug/:id/(.*)', + ], + }, + appRequestPath: '/organizations-by-slug/bcorp', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: 'bcorp', + }, + }, + { + name: 'Active session, org a in session, but *an org B subresource* is requested by slug => attempts to activate org B', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: [ + '/organizations-by-slug/:slug', + '/organizations-by-slug/:id/(.*)', + '/organizations-by-id/:id', + '/organizations-by-id/:id/(.*)', + ], + }, + appRequestPath: '/organizations-by-slug/bcorp/settings', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: 'bcorp', + }, + }, + { + // This case ensures that, for the prototypical nextjs app, we permanent redirect before attempting the handshake logic. + // If this wasn't the case, we'd need to recommend adding an additional pattern with a trailing slash to our docs. + name: 'When org A is active in a signed-out session but an org B is requested by ID with a trailing slash, permanent redirects to the non-slash route without error.', + when: { + initialAuthState: 'expired', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id', '/organizations-by-id/:id/(.*)'], + }, + appRequestPath: '/organizations-by-id/org_b/', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 308, // Handshake never 308's - this points to `/organizations-by-id/org_b` (no trailing slash) + fapiOrganizationIdParamValue: null, + }, + }, + + // ---------------- Personal account tests ---------------- + { + name: 'Active session, org a in session, but *the personal account* is requested => attempts to activate PWS', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: [ + '/organizations-by-id/:id', + '/organizations-by-id/:id/(.*)', + '/organizations-by-slug/:slug', + '/organizations-by-slug/:id/(.*)', + ], + personalAccountPatterns: ['/personal-account', '/personal-account/(.*)'], + }, + appRequestPath: '/personal-account', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 307, + fapiOrganizationIdParamValue: '', // <-- Empty string indicates personal account + }, + }, + + // ---------------- No activation required tests ---------------- + { + name: 'Active session, nothing session, and the personal account is requested => nothing to activate!', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([ + // Intentionally empty + ]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-slug/:slug', '/organizations-by-slug/:id/(.*)'], + personalAccountPatterns: ['/personal-account', '/personal-account/(.*)'], + }, + appRequestPath: '/personal-account', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 200, + fapiOrganizationIdParamValue: null, + }, + }, + { + name: 'Active session, org a active in session, and org a is requested => nothing to activate!', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: ['/organizations-by-id/:id', '/organizations-by-id/:id/(.*)'], + personalAccountPatterns: ['/personal-account', '/personal-account/(.*)'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 200, + fapiOrganizationIdParamValue: null, + }, + }, + { + // NOTE(izaak): Would we prefer 500ing in this case? + name: 'No config => nothing to activate, return 200', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: null, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 200, + fapiOrganizationIdParamValue: null, + }, + }, + + // ---------------- Invalid permutation tests ---------------- + { + name: 'Invalid config => ignore it and return 200', + when: { + initialAuthState: 'active', + initialSessionClaims: new Map([['org_id', 'org_a']]), + orgSyncOptions: { + organizationPatterns: ['i am not valid config'], + }, + appRequestPath: '/organizations-by-id/org_a', + tokenAppearsIn: 'cookie', + secFetchDestHeader: 'document', + }, + then: { + expectStatus: 200, + fapiOrganizationIdParamValue: null, + }, + }, + ]; + + for (const testCase of cookieAuthCases) { + test(`${testCase.name}`, async () => { + const config = generateConfig({ + mode: 'test', + }); + // Create a new map with an org_id key + const { token, claims } = config.generateToken({ + state: testCase.when.initialAuthState, // <-- Critical + extraClaims: testCase.when.initialSessionClaims, + }); + + const headers = new Headers({ + 'X-Publishable-Key': config.pk, + 'X-Secret-Key': config.sk, + + // NOTE(izaak): To avoid needing to start a server with every test, we're passing in + // organization options to the app via a header. + 'x-organization-sync-options': JSON.stringify(testCase.when.orgSyncOptions), + }); + + if (testCase.when.secFetchDestHeader) { + headers.set('Sec-Fetch-Dest', testCase.when.secFetchDestHeader); + } + + switch (testCase.when.tokenAppearsIn) { + case 'cookie': + headers.set('Cookie', `${devBrowserCookie} __client_uat=${claims.iat}; __session=${token}`); + break; + case 'header': + headers.set('Authorization', `Bearer ${token}`); + break; + } + + const res = await fetch(app.serverUrl + testCase.when.appRequestPath, { + headers: headers, + redirect: 'manual', + }); + + expect(res.status).toBe(testCase.then.expectStatus); + const redirectSearchParams = new URLSearchParams(res.headers.get('location')); + expect(redirectSearchParams.get('organization_id')).toBe(testCase.then.fapiOrganizationIdParamValue); + }); + } +}); + +test.describe('Client handshake with an organization activation avoids infinite loops @nextjs', () => { + const devBrowserCookie = '__clerk_db_jwt=needstobeset;'; + + const jwksServer = http.createServer(function (req, res) { + const sk = req.headers.authorization?.replace('Bearer ', ''); + if (!sk) { + console.log('No SK to', req.url, req.headers); + } + + res.setHeader('Content-Type', 'application/json'); + res.write(JSON.stringify(getJwksFromSecretKey(sk))); + res.end(); + }); + + // define app as an application + let thisApp: Application; + + test.beforeAll('setup local jwks server', async () => { + // Start the jwks server + await new Promise(resolve => jwksServer.listen(0, resolve)); + + thisApp = await startAppWithOrganizationSyncOptions(`http://localhost:${jwksServer.address().port}`); + }); + + test.afterAll('setup local Clerk API mock', async () => { + await thisApp.teardown(); + return new Promise(resolve => jwksServer.close(() => resolve())); + }); + + // -------------- Test begin ------------ + + const config = generateConfig({ + mode: 'test', + }); + + const organizationSyncOptions = { + organizationPatterns: ['/organizations-by-id/:id', '/organizations-by-id/:id/(.*)'], + personalAccountPatterns: ['/personal-account', '/personal-account/(.*)'], + }; + + test('Sets the redirect loop tracking cookie', async () => { + // Create a new map with an org_id key + const { token, claims } = config.generateToken({ + state: 'active', + extraClaims: new Map([]), + }); + + const headers = new Headers({ + 'X-Publishable-Key': config.pk, + 'X-Secret-Key': config.sk, + 'Sec-Fetch-Dest': 'document', + 'x-organization-sync-options': JSON.stringify(organizationSyncOptions), + }); + headers.set('Cookie', `${devBrowserCookie} __client_uat=${claims.iat}; __session=${token}`); + + const res = await fetch(thisApp.serverUrl + '/organizations-by-id/org_a', { + headers: headers, + redirect: 'manual', + }); + + expect(res.status).toBe(307); + const redirectSearchParams = new URLSearchParams(res.headers.get('location')); + expect(redirectSearchParams.get('organization_id')).toBe('org_a'); + + // read the set-cookie directives + const setCookie = res.headers.get('set-cookie'); + + expect(setCookie).toContain(`__clerk_redirect_count=1`); // <-- Critical + }); + + test('Ignores organization config when being redirected to', async () => { + // Create a new map with an org_id key + const { token, claims } = config.generateToken({ + state: 'active', // Must be active - handshake logic only runs once session is determined to be active + extraClaims: new Map([]), + }); + + const headers = new Headers({ + 'X-Publishable-Key': config.pk, + 'X-Secret-Key': config.sk, + 'Sec-Fetch-Dest': 'document', + 'x-organization-sync-options': JSON.stringify(organizationSyncOptions), + }); + + // Critical cookie: __clerk_redirect_count + headers.set( + 'Cookie', + `${devBrowserCookie} __client_uat=${claims.iat}; __session=${token}; __clerk_redirect_count=1`, + ); + + const res = await fetch(thisApp.serverUrl + '/organizations-by-id/org_a', { + headers: headers, + redirect: 'manual', + }); + + expect(res.status).toBe(200); + const redirectSearchParams = new URLSearchParams(res.headers.get('location')); + expect(redirectSearchParams.get('organization_id')).toBe(null); + + expect(res.headers.get('set-cookie')).toBe(null); + }); +}); + +/** + * Start the nextjs sample app with the given organization sync options + * organization sync options can be passed to the app via the + * "x-organization-sync-options" header + */ +const startAppWithOrganizationSyncOptions = async (clerkAPIUrl: string): Promise => { + const env = appConfigs.envs.withEmailCodes.clone().setEnvVariable('private', 'CLERK_API_URL', clerkAPIUrl); + + const middlewareFile = `import { authMiddleware } from '@clerk/nextjs/server'; + // Set the paths that don't require the user to be signed in + const publicPaths = ['/', /^(\\/(sign-in|sign-up|app-dir|custom)\\/*).*$/]; + export const middleware = (req, evt) => { + const orgSyncOptions = req.headers.get("x-organization-sync-options") + return authMiddleware({ + publicRoutes: publicPaths, + publishableKey: req.headers.get("x-publishable-key"), + secretKey: req.headers.get("x-secret-key"), + proxyUrl: req.headers.get("x-proxy-url"), + domain: req.headers.get("x-domain"), + isSatellite: req.headers.get('x-satellite') === 'true', + signInUrl: req.headers.get("x-sign-in-url"), + + // Critical + organizationSyncOptions: JSON.parse(req.headers.get("x-organization-sync-options")), + + })(req, evt) + }; + export const config = { + matcher: ['/((?!.+\\.[\\w]+$|_next).*)', '/', '/(api|trpc)(.*)'], + }; + `; + + const app = await appConfigs.next.appRouter + .clone() + .addFile('src/middleware.ts', () => middlewareFile) + .commit(); + + await app.setup(); + await app.withEnv(env); + await app.dev(); + return app; +}; diff --git a/package-lock.json b/package-lock.json index 2d9e8a737b..3fee897bdd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,8 +36,6 @@ "eslint": "^8.49.0", "execa": "^5.1.1", "expect-type": "^0.16.0", - "fastify": "4.12.0", - "fastify-plugin": "^4.5.0", "fs-extra": "^11.1.1", "get-port": "^5.1.1", "globby": "^13.2.2", @@ -155,9 +153,8 @@ }, "node_modules/@arethetypeswrong/cli": { "version": "0.15.4", - "resolved": "https://registry.npmjs.org/@arethetypeswrong/cli/-/cli-0.15.4.tgz", - "integrity": "sha512-YDbImAi1MGkouT7f2yAECpUMFhhA1J0EaXzIqoC5GGtK0xDgauLtcsZezm8tNq7d3wOFXH7OnY+IORYcG212rw==", "dev": true, + "license": "MIT", "dependencies": { "@arethetypeswrong/core": "0.15.1", "chalk": "^4.1.2", @@ -469,8 +466,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", - "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -478,8 +473,6 @@ }, "node_modules/@babel/core": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", - "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -508,8 +501,6 @@ }, "node_modules/@babel/core/node_modules/@babel/code-frame": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "license": "MIT", "dependencies": { "@babel/highlight": "^7.25.7", @@ -562,8 +553,6 @@ }, "node_modules/@babel/generator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", "license": "MIT", "dependencies": { "@babel/types": "^7.25.7", @@ -598,8 +587,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", "license": "MIT", "dependencies": { "@babel/compat-data": "^7.25.7", @@ -731,8 +718,6 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", @@ -744,8 +729,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.7", @@ -772,8 +755,6 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -813,8 +794,6 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", @@ -847,8 +826,6 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -856,8 +833,6 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -865,8 +840,6 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -888,8 +861,6 @@ }, "node_modules/@babel/helpers": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", "license": "MIT", "dependencies": { "@babel/template": "^7.25.7", @@ -901,8 +872,6 @@ }, "node_modules/@babel/highlight": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.7", @@ -916,8 +885,6 @@ }, "node_modules/@babel/parser": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", - "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", "license": "MIT", "dependencies": { "@babel/types": "^7.25.7" @@ -993,9 +960,8 @@ }, "node_modules/@babel/plugin-proposal-decorators": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", - "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", @@ -1026,10 +992,8 @@ }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", @@ -1202,9 +1166,8 @@ }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", - "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" @@ -1318,8 +1281,6 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" @@ -1425,8 +1386,6 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", - "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" @@ -1804,8 +1763,7 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", - "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", @@ -2490,8 +2448,7 @@ }, "node_modules/@babel/preset-typescript": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", - "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -2652,8 +2609,6 @@ }, "node_modules/@babel/template": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.25.7", @@ -2666,8 +2621,6 @@ }, "node_modules/@babel/template/node_modules/@babel/code-frame": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "license": "MIT", "dependencies": { "@babel/highlight": "^7.25.7", @@ -2679,8 +2632,6 @@ }, "node_modules/@babel/traverse": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.25.7", @@ -2697,8 +2648,6 @@ }, "node_modules/@babel/traverse/node_modules/@babel/code-frame": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "license": "MIT", "dependencies": { "@babel/highlight": "^7.25.7", @@ -2710,8 +2659,6 @@ }, "node_modules/@babel/types": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", - "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.7", @@ -3226,30 +3173,13 @@ "node": ">=16.13" } }, - "node_modules/@cloudflare/workerd-darwin-64": { - "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240925.0.tgz", - "integrity": "sha512-KdLnSXuzB65CbqZPm+qYzk+zkQ1tUNPaaRGYVd/jPYAxwwtfTUQdQ+ahDPwVVs2tmQELKy7ZjQjf2apqSWUfjw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=16" - } - }, "node_modules/@cloudflare/workerd-darwin-arm64": { "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20240925.0.tgz", - "integrity": "sha512-MiQ6uUmCXjsXgWNV+Ock2tp2/tYqNJGzjuaH6jFioeRF+//mz7Tv7J7EczOL4zq+TH8QFOh0/PUsLyazIWVGng==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "darwin" @@ -3258,59 +3188,10 @@ "node": ">=16" } }, - "node_modules/@cloudflare/workerd-linux-64": { - "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20240925.0.tgz", - "integrity": "sha512-Rjix8jsJMfsInmq3Hm3fmiRQ+rwzuWRPV1pg/OWhMSfNP7Qp2RCU+RGkhgeR9Z5eNAje0Sn2BMrFq4RvF9/yRA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16" - } - }, - "node_modules/@cloudflare/workerd-linux-arm64": { - "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20240925.0.tgz", - "integrity": "sha512-VYIPeMHQRtbwQoIjUwS/zULlywPxyDvo46XkTpIW5MScEChfqHvAYviQ7TzYGx6Q+gmZmN+DUB2KOMx+MEpCxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16" - } - }, - "node_modules/@cloudflare/workerd-windows-64": { - "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20240925.0.tgz", - "integrity": "sha512-C8peGvaU5R51bIySi1VbyfRgwNSSRknqoFSnSbSBI3uTN3THTB3UnmRKy7GXJDmyjgXuT9Pcs1IgaWNubLtNtw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=16" - } - }, "node_modules/@cloudflare/workers-types": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-3.19.0.tgz", - "integrity": "sha512-0FRcsz7Ea3jT+gc5gKPIYciykm1bbAaTpygdzpCwGt0RL+V83zWnYN30NWDW4rIHj/FHtz+MIuBKS61C8l7AzQ==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@coinbase/wallet-sdk": { "version": "4.0.4", @@ -4432,82 +4313,13 @@ "version": "0.3.1", "license": "MIT" }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/darwin-arm64": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4517,328 +4329,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", - "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "license": "MIT", @@ -4916,22 +4406,20 @@ }, "node_modules/@expo/bunyan": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.1.tgz", - "integrity": "sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==", "dev": true, + "engines": [ + "node >=0.10.0" + ], + "license": "MIT", "peer": true, "dependencies": { "uuid": "^8.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/@expo/cli": { "version": "0.18.29", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.29.tgz", - "integrity": "sha512-X810C48Ss+67RdZU39YEO1khNYo1RmjouRV+vVe0QhMoTe8R6OA3t+XYEdwaNbJ5p/DJN7szfHfNmX2glpC7xg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.20.0", @@ -5018,9 +4506,8 @@ }, "node_modules/@expo/cli/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -5028,9 +4515,8 @@ }, "node_modules/@expo/cli/node_modules/@expo/config": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", - "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", @@ -5048,9 +4534,8 @@ }, "node_modules/@expo/cli/node_modules/@expo/config-plugins": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.9.tgz", - "integrity": "sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -5072,10 +4557,8 @@ }, "node_modules/@expo/cli/node_modules/@expo/config-plugins/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5094,17 +4577,14 @@ }, "node_modules/@expo/cli/node_modules/@expo/config-types": { "version": "51.0.3", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", - "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/@expo/config/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5123,9 +4603,8 @@ }, "node_modules/@expo/cli/node_modules/@react-native/debugger-frontend": { "version": "0.74.85", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.74.85.tgz", - "integrity": "sha512-gUIhhpsYLUTYWlWw4vGztyHaX/kNlgVspSvKe2XaPA7o3jYKUoNLc3Ov7u70u/MBWfKdcEffWq44eSe3j3s5JQ==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=18" @@ -5133,9 +4612,8 @@ }, "node_modules/@expo/cli/node_modules/@react-native/dev-middleware": { "version": "0.74.85", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.74.85.tgz", - "integrity": "sha512-BRmgCK5vnMmHaKRO+h8PKJmHHH3E6JFuerrcfE3wG2eZ1bcSr+QTu8DAlpxsDWvJvHpCi8tRJGauxd+Ssj/c7w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@isaacs/ttlcache": "^1.4.1", @@ -5158,9 +4636,8 @@ }, "node_modules/@expo/cli/node_modules/@react-native/dev-middleware/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ms": "2.0.0" @@ -5168,9 +4645,8 @@ }, "node_modules/@expo/cli/node_modules/@react-native/dev-middleware/node_modules/open": { "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-docker": "^2.0.0", @@ -5185,9 +4661,8 @@ }, "node_modules/@expo/cli/node_modules/@react-native/dev-middleware/node_modules/ws": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "async-limiter": "~1.0.0" @@ -5195,9 +4670,8 @@ }, "node_modules/@expo/cli/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -5205,9 +4679,8 @@ }, "node_modules/@expo/cli/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -5221,9 +4694,8 @@ }, "node_modules/@expo/cli/node_modules/bplist-creator": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", - "integrity": "sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "stream-buffers": "~2.2.0" @@ -5231,9 +4703,8 @@ }, "node_modules/@expo/cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -5248,9 +4719,8 @@ }, "node_modules/@expo/cli/node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "restore-cursor": "^2.0.0" @@ -5261,9 +4731,8 @@ }, "node_modules/@expo/cli/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -5274,16 +4743,14 @@ }, "node_modules/@expo/cli/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -5291,9 +4758,8 @@ }, "node_modules/@expo/cli/node_modules/form-data": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "asynckit": "^0.4.0", @@ -5306,9 +4772,8 @@ }, "node_modules/@expo/cli/node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -5321,10 +4786,8 @@ }, "node_modules/@expo/cli/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5343,9 +4806,8 @@ }, "node_modules/@expo/cli/node_modules/log-symbols": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^2.0.1" @@ -5356,9 +4818,8 @@ }, "node_modules/@expo/cli/node_modules/log-symbols/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -5369,9 +4830,8 @@ }, "node_modules/@expo/cli/node_modules/log-symbols/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -5384,9 +4844,8 @@ }, "node_modules/@expo/cli/node_modules/log-symbols/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -5394,16 +4853,14 @@ }, "node_modules/@expo/cli/node_modules/log-symbols/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/log-symbols/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -5414,9 +4871,8 @@ }, "node_modules/@expo/cli/node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -5424,16 +4880,14 @@ }, "node_modules/@expo/cli/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "mimic-fn": "^1.0.0" @@ -5444,9 +4898,8 @@ }, "node_modules/@expo/cli/node_modules/ora": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^2.4.2", @@ -5462,9 +4915,8 @@ }, "node_modules/@expo/cli/node_modules/ora/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -5475,9 +4927,8 @@ }, "node_modules/@expo/cli/node_modules/ora/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -5490,9 +4941,8 @@ }, "node_modules/@expo/cli/node_modules/ora/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -5500,16 +4950,14 @@ }, "node_modules/@expo/cli/node_modules/ora/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/ora/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -5520,9 +4968,8 @@ }, "node_modules/@expo/cli/node_modules/picomatch": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -5533,9 +4980,8 @@ }, "node_modules/@expo/cli/node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "onetime": "^2.0.0", @@ -5547,16 +4993,14 @@ }, "node_modules/@expo/cli/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/@expo/cli/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=0.10.0" @@ -5564,9 +5008,8 @@ }, "node_modules/@expo/cli/node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "buffer-from": "^1.0.0", @@ -5575,9 +5018,8 @@ }, "node_modules/@expo/cli/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^4.1.0" @@ -5588,9 +5030,8 @@ }, "node_modules/@expo/cli/node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4.0.0" @@ -5598,16 +5039,14 @@ }, "node_modules/@expo/cli/node_modules/url-join": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/cli/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sax": ">=0.6.0", @@ -5619,9 +5058,8 @@ }, "node_modules/@expo/cli/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0" @@ -5629,9 +5067,8 @@ }, "node_modules/@expo/code-signing-certificates": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", - "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "node-forge": "^1.2.1", @@ -5746,9 +5183,8 @@ }, "node_modules/@expo/config-plugins/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -5759,9 +5195,8 @@ }, "node_modules/@expo/config-plugins/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0" } @@ -5830,9 +5265,8 @@ }, "node_modules/@expo/devcert": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.4.tgz", - "integrity": "sha512-fqBODr8c72+gBSX5Ty3SIzaY4bXainlpab78+vEYEKL3fXmsOswMLf0+KE36mUEAa36BYabX7K3EiXOXX5OPMw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "application-config-path": "^0.1.0", @@ -5851,9 +5285,8 @@ }, "node_modules/@expo/devcert/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0" @@ -5861,9 +5294,8 @@ }, "node_modules/@expo/devcert/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" @@ -5871,9 +5303,8 @@ }, "node_modules/@expo/devcert/node_modules/get-port": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -5881,9 +5312,8 @@ }, "node_modules/@expo/devcert/node_modules/glob": { "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "foreground-child": "^3.1.0", @@ -5902,9 +5332,8 @@ }, "node_modules/@expo/devcert/node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -5918,9 +5347,8 @@ }, "node_modules/@expo/devcert/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -5934,9 +5362,8 @@ }, "node_modules/@expo/devcert/node_modules/tmp": { "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "os-tmpdir": "~1.0.2" @@ -5947,9 +5374,8 @@ }, "node_modules/@expo/env": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.3.0.tgz", - "integrity": "sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^4.0.0", @@ -5961,9 +5387,8 @@ }, "node_modules/@expo/env/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -5977,9 +5402,8 @@ }, "node_modules/@expo/env/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -5994,9 +5418,8 @@ }, "node_modules/@expo/env/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -6007,9 +5430,8 @@ }, "node_modules/@expo/env/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/fingerprint": { @@ -6090,9 +5512,8 @@ }, "node_modules/@expo/image-utils": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.5.1.tgz", - "integrity": "sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -6109,9 +5530,8 @@ }, "node_modules/@expo/image-utils/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -6125,9 +5545,8 @@ }, "node_modules/@expo/image-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -6142,9 +5561,8 @@ }, "node_modules/@expo/image-utils/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -6155,16 +5573,14 @@ }, "node_modules/@expo/image-utils/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/image-utils/node_modules/crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -6172,9 +5588,8 @@ }, "node_modules/@expo/image-utils/node_modules/fs-extra": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "at-least-node": "^1.0.0", @@ -6188,9 +5603,8 @@ }, "node_modules/@expo/image-utils/node_modules/fs-extra/node_modules/universalify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 10.0.0" @@ -6198,9 +5612,8 @@ }, "node_modules/@expo/image-utils/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "universalify": "^2.0.0" @@ -6211,9 +5624,8 @@ }, "node_modules/@expo/image-utils/node_modules/temp-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -6221,9 +5633,8 @@ }, "node_modules/@expo/image-utils/node_modules/tempy": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "temp-dir": "^1.0.0", @@ -6236,9 +5647,8 @@ }, "node_modules/@expo/image-utils/node_modules/type-fest": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { "node": ">=6" @@ -6246,9 +5656,8 @@ }, "node_modules/@expo/image-utils/node_modules/unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "crypto-random-string": "^1.0.0" @@ -6292,9 +5701,8 @@ }, "node_modules/@expo/metro-config": { "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.11.tgz", - "integrity": "sha512-/uOq55VbSf9yMbUO1BudkUM2SsGW1c5hr9BnhIqYqcsFv0Jp5D3DtJ4rljDKaUeNLbwr6m7pqIrkSMq5NrYf4Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.20.0", @@ -6319,9 +5727,8 @@ }, "node_modules/@expo/metro-config/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -6329,9 +5736,8 @@ }, "node_modules/@expo/metro-config/node_modules/@expo/config": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", - "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", @@ -6349,9 +5755,8 @@ }, "node_modules/@expo/metro-config/node_modules/@expo/config-plugins": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.9.tgz", - "integrity": "sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -6373,10 +5778,8 @@ }, "node_modules/@expo/metro-config/node_modules/@expo/config-plugins/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6395,17 +5798,14 @@ }, "node_modules/@expo/metro-config/node_modules/@expo/config-types": { "version": "51.0.3", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", - "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/metro-config/node_modules/@expo/config/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6424,9 +5824,8 @@ }, "node_modules/@expo/metro-config/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -6440,9 +5839,8 @@ }, "node_modules/@expo/metro-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -6457,9 +5855,8 @@ }, "node_modules/@expo/metro-config/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -6470,16 +5867,14 @@ }, "node_modules/@expo/metro-config/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/metro-config/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "at-least-node": "^1.0.0", @@ -6493,10 +5888,8 @@ }, "node_modules/@expo/metro-config/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6515,9 +5908,8 @@ }, "node_modules/@expo/metro-config/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "universalify": "^2.0.0" @@ -6528,9 +5920,8 @@ }, "node_modules/@expo/metro-config/node_modules/lightningcss": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz", - "integrity": "sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==", "dev": true, + "license": "MPL-2.0", "peer": true, "dependencies": { "detect-libc": "^1.0.3" @@ -6555,12 +5946,11 @@ }, "node_modules/@expo/metro-config/node_modules/lightningcss-darwin-arm64": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz", - "integrity": "sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -6574,158 +5964,10 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@expo/metro-config/node_modules/lightningcss-darwin-x64": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz", - "integrity": "sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz", - "integrity": "sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz", - "integrity": "sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-linux-arm64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz", - "integrity": "sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-linux-x64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz", - "integrity": "sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-linux-x64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz", - "integrity": "sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@expo/metro-config/node_modules/lightningcss-win32-x64-msvc": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz", - "integrity": "sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@expo/metro-config/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sax": ">=0.6.0", @@ -6737,9 +5979,8 @@ }, "node_modules/@expo/metro-config/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0" @@ -6747,9 +5988,8 @@ }, "node_modules/@expo/osascript": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.3.tgz", - "integrity": "sha512-aOEkhPzDsaAfolSswObGiYW0Pf0ROfR9J2NBRLQACdQ6uJlyAMiPF45DVEVknAU9juKh0y8ZyvC9LXqLEJYohA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -6761,9 +6001,8 @@ }, "node_modules/@expo/package-manager": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.5.2.tgz", - "integrity": "sha512-IuA9XtGBilce0q8cyxtWINqbzMB1Fia0Yrug/O53HNuRSwQguV/iqjV68bsa4z8mYerePhcFgtvISWLAlNEbUA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/json-file": "^8.3.0", @@ -6782,9 +6021,8 @@ }, "node_modules/@expo/package-manager/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -6798,9 +6036,8 @@ }, "node_modules/@expo/package-manager/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -6815,9 +6052,8 @@ }, "node_modules/@expo/package-manager/node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "restore-cursor": "^2.0.0" @@ -6828,9 +6064,8 @@ }, "node_modules/@expo/package-manager/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -6841,16 +6076,14 @@ }, "node_modules/@expo/package-manager/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/package-manager/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -6858,9 +6091,8 @@ }, "node_modules/@expo/package-manager/node_modules/log-symbols": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^2.0.1" @@ -6871,9 +6103,8 @@ }, "node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -6884,9 +6115,8 @@ }, "node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -6899,9 +6129,8 @@ }, "node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -6909,16 +6138,14 @@ }, "node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -6929,9 +6156,8 @@ }, "node_modules/@expo/package-manager/node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -6939,9 +6165,8 @@ }, "node_modules/@expo/package-manager/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "mimic-fn": "^1.0.0" @@ -6952,9 +6177,8 @@ }, "node_modules/@expo/package-manager/node_modules/ora": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^2.4.2", @@ -6970,9 +6194,8 @@ }, "node_modules/@expo/package-manager/node_modules/ora/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -6983,9 +6206,8 @@ }, "node_modules/@expo/package-manager/node_modules/ora/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -6998,9 +6220,8 @@ }, "node_modules/@expo/package-manager/node_modules/ora/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -7008,16 +6229,14 @@ }, "node_modules/@expo/package-manager/node_modules/ora/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/package-manager/node_modules/ora/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -7028,9 +6247,8 @@ }, "node_modules/@expo/package-manager/node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "onetime": "^2.0.0", @@ -7042,16 +6260,14 @@ }, "node_modules/@expo/package-manager/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/@expo/package-manager/node_modules/split": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "through": "2" @@ -7062,9 +6278,8 @@ }, "node_modules/@expo/package-manager/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^4.1.0" @@ -7075,9 +6290,8 @@ }, "node_modules/@expo/package-manager/node_modules/strip-ansi/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -7085,9 +6299,8 @@ }, "node_modules/@expo/package-manager/node_modules/sudo-prompt": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", - "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/plist": { @@ -7102,9 +6315,8 @@ }, "node_modules/@expo/prebuild-config": { "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.8.tgz", - "integrity": "sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config": "~9.0.0-beta.0", @@ -7125,9 +6337,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -7135,9 +6346,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/@expo/config": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", - "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", @@ -7155,9 +6365,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/@expo/config-plugins": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.9.tgz", - "integrity": "sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -7179,23 +6388,20 @@ }, "node_modules/@expo/prebuild-config/node_modules/@expo/config-types": { "version": "51.0.3", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", - "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/prebuild-config/node_modules/@react-native/normalize-colors": { "version": "0.74.85", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz", - "integrity": "sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/prebuild-config/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -7209,9 +6415,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -7226,9 +6431,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -7239,16 +6443,14 @@ }, "node_modules/@expo/prebuild-config/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/prebuild-config/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "at-least-node": "^1.0.0", @@ -7262,10 +6464,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -7284,9 +6484,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "universalify": "^2.0.0" @@ -7297,9 +6496,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sax": ">=0.6.0", @@ -7311,9 +6509,8 @@ }, "node_modules/@expo/prebuild-config/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0" @@ -7321,9 +6518,8 @@ }, "node_modules/@expo/rudder-sdk-node": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz", - "integrity": "sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/bunyan": "^4.0.0", @@ -7345,9 +6541,8 @@ }, "node_modules/@expo/spawn-async": { "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz", - "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3" }, @@ -7357,9 +6552,8 @@ }, "node_modules/@expo/vector-icons": { "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-14.0.3.tgz", - "integrity": "sha512-UJAKOXPPi6ez/1QZfoFVopCH3+c12Sw+T+IIVkvONCEN7zjN1fLxxWHkZ7Spz4WO5EH2ObtaJfCe/k4rw+ftxA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "prop-types": "^15.8.1" @@ -7367,9 +6561,8 @@ }, "node_modules/@expo/xcpretty": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.1.tgz", - "integrity": "sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "@babel/code-frame": "7.10.4", @@ -7383,9 +6576,8 @@ }, "node_modules/@expo/xcpretty/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -7393,9 +6585,8 @@ }, "node_modules/@expo/xcpretty/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -7409,16 +6600,14 @@ }, "node_modules/@expo/xcpretty/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, + "license": "Python-2.0", "peer": true }, "node_modules/@expo/xcpretty/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -7433,9 +6622,8 @@ }, "node_modules/@expo/xcpretty/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -7446,16 +6634,14 @@ }, "node_modules/@expo/xcpretty/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@expo/xcpretty/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "argparse": "^2.0.1" @@ -7479,33 +6665,6 @@ "npm": ">=6.14.13" } }, - "node_modules/@fastify/ajv-compiler": { - "version": "3.5.0", - "license": "MIT", - "dependencies": { - "ajv": "^8.11.0", - "ajv-formats": "^2.1.1", - "fast-uri": "^2.0.0" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/@fastify/busboy": { "version": "2.0.0", "dev": true, @@ -7514,19 +6673,13 @@ "node": ">=14" } }, - "node_modules/@fastify/deepmerge": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/@fastify/error": { - "version": "3.2.1", - "license": "MIT" - }, - "node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", + "dev": true, "dependencies": { - "fast-json-stringify": "^5.7.0" + "fast-deep-equal": "^3.1.3" } }, "node_modules/@floating-ui/core": { @@ -7617,9 +6770,8 @@ }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" @@ -7976,8 +7128,7 @@ }, "node_modules/@jescalan/ink-markdown/node_modules/ansi-escapes": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -7987,8 +7138,7 @@ }, "node_modules/@jescalan/ink-markdown/node_modules/chalk": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -8008,7 +7158,6 @@ }, "node_modules/@jescalan/ink-markdown/node_modules/marked-terminal": { "version": "6.2.0", - "resolved": "git+ssh://git@github.com/jescalan/marked-terminal.git#44f5ab42076e16937f56d645d3d7264675558ea1", "license": "MIT", "dependencies": { "ansi-escapes": "^6.2.0", @@ -9362,9 +8511,8 @@ }, "node_modules/@npmcli/fs": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "semver": "^7.3.5" @@ -9536,8 +8684,6 @@ }, "node_modules/@oslojs/encoding": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", - "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", "license": "MIT", "peer": true }, @@ -9700,9 +8846,8 @@ }, "node_modules/@polka/url": { "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@radix-ui/primitive": { "version": "1.0.1", @@ -12785,9 +11930,8 @@ }, "node_modules/@rnx-kit/chromium-edge-launcher": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "@types/node": "^18.0.0", @@ -12803,10 +11947,8 @@ }, "node_modules/@rnx-kit/chromium-edge-launcher/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -12825,9 +11967,8 @@ }, "node_modules/@rnx-kit/chromium-edge-launcher/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", "peer": true, "bin": { "mkdirp": "bin/cmd.js" @@ -12838,10 +11979,8 @@ }, "node_modules/@rnx-kit/chromium-edge-launcher/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "glob": "^7.1.3" @@ -13024,8 +12163,6 @@ }, "node_modules/@rollup/pluginutils": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", - "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -13074,11 +12211,10 @@ }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", - "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -13187,7 +12323,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -13243,15 +12378,13 @@ }, "node_modules/@rsdoctor/client": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/client/-/client-0.4.4.tgz", - "integrity": "sha512-xMtOWtLR9qidnXhQTRaaMVHhNqPYApk3uN5cGQJwWJDzmNNmmVeB663sIpHPKXD8cmC/w0z4SDjWA4jue8LM2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@rsdoctor/core": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/core/-/core-0.4.4.tgz", - "integrity": "sha512-cV1f9Fu/S9cjZ9F/oWhgIZHaX0qZJVNh2/DS9vh0gWBZJhBVPz5NBCKjA322W7hGT343sadVdys2PqIxjCHcOw==", "dev": true, + "license": "MIT", "dependencies": { "@rsdoctor/graph": "0.4.4", "@rsdoctor/sdk": "0.4.4", @@ -13270,9 +12403,8 @@ }, "node_modules/@rsdoctor/core/node_modules/enhanced-resolve": { "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -13283,9 +12415,8 @@ }, "node_modules/@rsdoctor/core/node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -13295,18 +12426,16 @@ }, "node_modules/@rsdoctor/core/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@rsdoctor/graph": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/graph/-/graph-0.4.4.tgz", - "integrity": "sha512-ZcCRo9ydqyNI5otai+qUGxw4HZQAE0Rolb9tV4aadNudl7A2Mcm6FT6yECB4jlbNECqc8B5kHKZuz971WgFkLA==", "dev": true, + "license": "MIT", "dependencies": { "@rsdoctor/types": "0.4.4", "@rsdoctor/utils": "0.4.4", @@ -13317,18 +12446,16 @@ }, "node_modules/@rsdoctor/graph/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@rsdoctor/sdk": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/sdk/-/sdk-0.4.4.tgz", - "integrity": "sha512-Y+ySVfrFAT0GVwI0xTU/BdEsufnC/+1eLYISWTEa19MdWU/RpcLqsIdglKNbDUbS6k0AELOvl7CUuOiI0go8gw==", "dev": true, + "license": "MIT", "dependencies": { "@rsdoctor/client": "0.4.4", "@rsdoctor/graph": "0.4.4", @@ -13349,15 +12476,13 @@ }, "node_modules/@rsdoctor/sdk/node_modules/dayjs": { "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@rsdoctor/sdk/node_modules/serve-static": { "version": "1.16.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz", - "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==", "dev": true, + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -13370,18 +12495,16 @@ }, "node_modules/@rsdoctor/sdk/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@rsdoctor/types": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/types/-/types-0.4.4.tgz", - "integrity": "sha512-Ltf03hd/gAazRTmrwz7SqNDqB+BHC0BBVwQi7wUVsF6MphvTaqSdAocNefTgWDeXj0WEP0Vy5wrj+aUPTbPWtg==", "dev": true, + "license": "MIT", "dependencies": { "@types/connect": "3.4.38", "@types/estree": "1.0.5", @@ -13400,18 +12523,16 @@ }, "node_modules/@rsdoctor/types/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@rsdoctor/utils": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/utils/-/utils-0.4.4.tgz", - "integrity": "sha512-J61vLwKdNnuToeU7ZfCIy5rYH4biMH7LfinQG9m4ySveyT9hD8z/CyxbpOlr7vdmnzBVzZCy+0aHm9UbhUpjxQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "7.24.7", "@rsdoctor/types": "0.4.4", @@ -13435,9 +12556,8 @@ }, "node_modules/@rsdoctor/utils/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -13450,9 +12570,8 @@ }, "node_modules/@rsdoctor/utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13466,9 +12585,8 @@ }, "node_modules/@rsdoctor/utils/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -13478,15 +12596,13 @@ }, "node_modules/@rsdoctor/utils/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@rsdoctor/utils/node_modules/envinfo": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -13496,18 +12612,16 @@ }, "node_modules/@rsdoctor/utils/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", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/@rsdoctor/webpack-plugin": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rsdoctor/webpack-plugin/-/webpack-plugin-0.4.4.tgz", - "integrity": "sha512-lXUNQaX3jGx+V6TCzOnWV5jMJ6vsziPGBPrz9m4PEsW+4nDrzEJLieE6e7AwrxGEUi02GbxmCq6FXBJVBIWdqA==", "dev": true, + "license": "MIT", "dependencies": { "@rsdoctor/core": "0.4.4", "@rsdoctor/graph": "0.4.4", @@ -13527,8 +12641,6 @@ }, "node_modules/@segment/loosely-validate-event": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", - "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", "dev": true, "peer": true, "dependencies": { @@ -13538,8 +12650,6 @@ }, "node_modules/@shikijs/core": { "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.21.0.tgz", - "integrity": "sha512-zAPMJdiGuqXpZQ+pWNezQAk5xhzRXBNiECFPcJLtUdsFM3f//G95Z15EHTnHchYycU8kIIysqGgxp8OVSj1SPQ==", "license": "MIT", "peer": true, "dependencies": { @@ -13553,8 +12663,6 @@ }, "node_modules/@shikijs/engine-javascript": { "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.21.0.tgz", - "integrity": "sha512-jxQHNtVP17edFW4/0vICqAVLDAxmyV31MQJL4U/Kg+heQALeKYVOWo0sMmEZ18FqBt+9UCdyqGKYE7bLRtk9mg==", "license": "MIT", "peer": true, "dependencies": { @@ -13565,8 +12673,6 @@ }, "node_modules/@shikijs/engine-oniguruma": { "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.21.0.tgz", - "integrity": "sha512-AIZ76XocENCrtYzVU7S4GY/HL+tgHGbVU+qhiDyNw1qgCA5OSi4B4+HY4BtAoJSMGuD/L5hfTzoRVbzEm2WTvg==", "license": "MIT", "peer": true, "dependencies": { @@ -13576,8 +12682,6 @@ }, "node_modules/@shikijs/types": { "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.21.0.tgz", - "integrity": "sha512-tzndANDhi5DUndBtpojEq/42+dpUF2wS7wdCDQaFtIXm3Rd1QkrcVgSSRLOvEwexekihOXfbYJINW37g96tJRw==", "license": "MIT", "peer": true, "dependencies": { @@ -13587,8 +12691,6 @@ }, "node_modules/@shikijs/vscode-textmate": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.2.2.tgz", - "integrity": "sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==", "license": "MIT", "peer": true }, @@ -13617,8 +12719,7 @@ }, "node_modules/@sindresorhus/is": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -13677,9 +12778,8 @@ }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "6.5.1", @@ -13930,8 +13030,7 @@ }, "node_modules/@swc/helpers": { "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", "tslib": "^2.4.0" @@ -13939,8 +13038,6 @@ }, "node_modules/@tanstack/react-cross-context": { "version": "1.60.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-cross-context/-/react-cross-context-1.60.0.tgz", - "integrity": "sha512-UZXc0ggrZLvNN3j1qQLtnhPp0gAcxeKS+d+hjGiJuIHSKt5fCbb/88C5uWrq4R4jsw5PnzUaKn8VqyUi/cXsXA==", "dev": true, "license": "MIT", "funding": { @@ -13971,8 +13068,6 @@ }, "node_modules/@tanstack/start-vite-plugin": { "version": "1.60.0", - "resolved": "https://registry.npmjs.org/@tanstack/start-vite-plugin/-/start-vite-plugin-1.60.0.tgz", - "integrity": "sha512-ap9NFBRyWJo7Xdklad0Bg3LOZ+n9nwWTDOU5ix/ZzZfifNWp5OoHRSVveHqPm2UAHUVp2BCzUK6xbAxtaSjjnw==", "dev": true, "license": "MIT", "dependencies": { @@ -14293,9 +13388,8 @@ }, "node_modules/@types/connect": { "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -14329,9 +13423,8 @@ }, "node_modules/@types/cors": { "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -14357,24 +13450,6 @@ "@types/ms": "*" } }, - "node_modules/@types/eslint": { - "version": "7.29.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "license": "MIT" @@ -14416,9 +13491,8 @@ }, "node_modules/@types/fs-extra": { "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", - "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/jsonfile": "*", "@types/node": "*" @@ -14652,9 +13726,8 @@ }, "node_modules/@types/qunit": { "version": "2.19.10", - "resolved": "https://registry.npmjs.org/@types/qunit/-/qunit-2.19.10.tgz", - "integrity": "sha512-gVB+rxvxmbyPFWa6yjjKgcumWal3hyqoTXI0Oil161uWfo1OCzWZ/rnEumsx+6uVgrwPrCrhpQbLkzfildkSbg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.4", @@ -14690,8 +13763,7 @@ }, "node_modules/@types/semver": { "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.1", @@ -14776,9 +13848,8 @@ }, "node_modules/@types/tapable": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-2.2.7.tgz", - "integrity": "sha512-D6QzACV9vNX3r8HQQNTOnpG+Bv1rko+yEA82wKs3O9CQ5+XW7HI7TED17/UE7+5dIxyxZIWTxKbsBeF6uKFCwA==", "dev": true, + "license": "MIT", "dependencies": { "tapable": "^2.2.0" } @@ -15048,9 +14119,8 @@ }, "node_modules/@urql/core": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz", - "integrity": "sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@graphql-typed-document-node/core": "^3.1.0", @@ -15062,9 +14132,8 @@ }, "node_modules/@urql/exchange-retry": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz", - "integrity": "sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@urql/core": ">=2.3.1", @@ -15551,9 +14620,8 @@ }, "node_modules/@verdaccio/middleware/node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -15575,27 +14643,24 @@ }, "node_modules/@verdaccio/middleware/node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/@verdaccio/middleware/node_modules/cookie": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/@verdaccio/middleware/node_modules/express": { "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -15635,18 +14700,16 @@ }, "node_modules/@verdaccio/middleware/node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/@verdaccio/middleware/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -15662,9 +14725,8 @@ }, "node_modules/@verdaccio/middleware/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -15690,21 +14752,18 @@ }, "node_modules/@verdaccio/middleware/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@verdaccio/middleware/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@verdaccio/middleware/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" } @@ -16246,6 +15305,7 @@ }, "node_modules/abort-controller": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" @@ -16256,6 +15316,7 @@ }, "node_modules/abstract-logging": { "version": "2.0.1", + "dev": true, "license": "MIT" }, "node_modules/accepts": { @@ -16333,9 +15394,8 @@ }, "node_modules/acorn-walk": { "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.11.0" }, @@ -16396,6 +15456,7 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", + "dev": true, "license": "MIT", "dependencies": { "ajv": "^8.0.0" @@ -16411,6 +15472,7 @@ }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.12.0", + "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -16425,6 +15487,7 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", + "dev": true, "license": "MIT" }, "node_modules/ajv-keywords": { @@ -16603,9 +15666,8 @@ }, "node_modules/application-config-path": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz", - "integrity": "sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/aproba": { @@ -16821,10 +15883,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/archy": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/are-we-there-yet": { "version": "2.0.0", "dev": true, @@ -16852,8 +15910,7 @@ }, "node_modules/arg": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", @@ -17078,8 +16135,6 @@ }, "node_modules/astro": { "version": "4.15.11", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.15.11.tgz", - "integrity": "sha512-uA9fenaRR+j6ksPFsmhM88ttz94a66SET1TZxAJLxctxWkDlgz58BxZYUc1gNlt0azhgzOgh4hP3q9M4YzAmBA==", "license": "MIT", "peer": true, "dependencies": { @@ -17168,7 +16223,6 @@ "cpu": [ "ppc64" ], - "license": "MIT", "optional": true, "os": [ "aix" @@ -17185,7 +16239,6 @@ "cpu": [ "arm" ], - "license": "MIT", "optional": true, "os": [ "android" @@ -17202,7 +16255,6 @@ "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "android" @@ -17219,7 +16271,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "android" @@ -17251,7 +16302,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "darwin" @@ -17268,7 +16318,6 @@ "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -17285,7 +16334,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -17302,7 +16350,6 @@ "cpu": [ "arm" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17319,7 +16366,6 @@ "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17336,7 +16382,6 @@ "cpu": [ "ia32" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17353,7 +16398,6 @@ "cpu": [ "loong64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17370,7 +16414,6 @@ "cpu": [ "mips64el" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17387,7 +16430,6 @@ "cpu": [ "ppc64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17404,7 +16446,6 @@ "cpu": [ "riscv64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17421,7 +16462,6 @@ "cpu": [ "s390x" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17438,7 +16478,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -17455,7 +16494,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -17472,7 +16510,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -17489,7 +16526,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "sunos" @@ -17506,7 +16542,6 @@ "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -17523,7 +16558,6 @@ "cpu": [ "ia32" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -17540,7 +16574,6 @@ "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -17568,8 +16601,6 @@ }, "node_modules/astro/node_modules/ansi-styles": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", "peer": true, "engines": { @@ -17586,8 +16617,6 @@ }, "node_modules/astro/node_modules/aria-query": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "license": "Apache-2.0", "peer": true, "engines": { @@ -17604,8 +16633,6 @@ }, "node_modules/astro/node_modules/boxen": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", "license": "MIT", "peer": true, "dependencies": { @@ -17627,8 +16654,6 @@ }, "node_modules/astro/node_modules/camelcase": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "license": "MIT", "peer": true, "engines": { @@ -17640,8 +16665,6 @@ }, "node_modules/astro/node_modules/chalk": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "license": "MIT", "peer": true, "engines": { @@ -17733,9 +16756,6 @@ }, "node_modules/astro/node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, "license": "MIT", "optional": true, "os": [ @@ -17859,8 +16879,6 @@ }, "node_modules/astro/node_modules/type-fest": { "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { @@ -17872,8 +16890,6 @@ }, "node_modules/astro/node_modules/vite": { "version": "5.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", - "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", "license": "MIT", "peer": true, "dependencies": { @@ -17943,8 +16959,6 @@ }, "node_modules/astro/node_modules/widest-line": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", "license": "MIT", "peer": true, "dependencies": { @@ -17959,8 +16973,6 @@ }, "node_modules/astro/node_modules/wrap-ansi": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "license": "MIT", "peer": true, "dependencies": { @@ -18038,6 +17050,7 @@ }, "node_modules/atomic-sleep": { "version": "1.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8.0.0" @@ -18056,15 +17069,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/avvio": { - "version": "8.2.1", - "license": "MIT", - "dependencies": { - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.6.1" - } - }, "node_modules/aws-sign2": { "version": "0.7.0", "dev": true, @@ -18087,9 +17091,8 @@ }, "node_modules/axios": { "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dev": true, + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -18098,9 +17101,8 @@ }, "node_modules/axios/node_modules/proxy-from-env": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/axobject-query": { "version": "3.2.1", @@ -18263,21 +17265,6 @@ "npm": ">=6" } }, - "node_modules/babel-plugin-module-resolver": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-babel-config": "^2.0.0", - "glob": "^8.0.3", - "pkg-up": "^3.1.0", - "reselect": "^4.1.7", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">= 16" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.5", "devOptional": true, @@ -18324,16 +17311,14 @@ }, "node_modules/babel-plugin-react-compiler": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0.tgz", - "integrity": "sha512-Kigl0V36a/6hLVH7+CCe1CCtU3mFBqBd829V//VtuG7I/pyq+B2QZJqOefd63snQmdfCryNhO9XW1FbGPBvYDA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/babel-plugin-react-native-web": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.12.tgz", - "integrity": "sha512-eYZ4+P6jNcB37lObWIg0pUbi7+3PKoU1Oie2j0C8UF3cXyXoR74tO2NBjI/FORb2LJyItJZEAmjU5pSaJYEL1w==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/babel-plugin-transform-flow-enums": { @@ -18368,9 +17353,8 @@ }, "node_modules/babel-preset-expo": { "version": "11.0.14", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.14.tgz", - "integrity": "sha512-4BVYR0Sc2sSNxYTiE/OLSnPiOp+weFNy8eV+hX3aD6YAIbBnw+VubKRWqJV/sOJauzOLz0SgYAYyFciYMqizRA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/plugin-proposal-decorators": "^7.12.9", @@ -18387,9 +17371,8 @@ }, "node_modules/babel-preset-expo/node_modules/@react-native/babel-plugin-codegen": { "version": "0.74.87", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.87.tgz", - "integrity": "sha512-+vJYpMnENFrwtgvDfUj+CtVJRJuUnzAUYT0/Pb68Sq9RfcZ5xdcCuUgyf7JO+akW2VTBoJY427wkcxU30qrWWw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@react-native/codegen": "0.74.87" @@ -18400,9 +17383,8 @@ }, "node_modules/babel-preset-expo/node_modules/@react-native/babel-preset": { "version": "0.74.87", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.74.87.tgz", - "integrity": "sha512-hyKpfqzN2nxZmYYJ0tQIHG99FQO0OWXp/gVggAfEUgiT+yNKas1C60LuofUsK7cd+2o9jrpqgqW4WzEDZoBlTg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.20.0", @@ -18458,9 +17440,8 @@ }, "node_modules/babel-preset-expo/node_modules/@react-native/codegen": { "version": "0.74.87", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.74.87.tgz", - "integrity": "sha512-GMSYDiD+86zLKgMMgz9z0k6FxmRn+z6cimYZKkucW4soGbxWsbjUAZoZ56sJwt2FJ3XVRgXCrnOCgXoH/Bkhcg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/parser": "^7.20.0", @@ -18480,10 +17461,8 @@ }, "node_modules/babel-preset-expo/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -18502,16 +17481,14 @@ }, "node_modules/babel-preset-expo/node_modules/hermes-estree": { "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/babel-preset-expo/node_modules/hermes-parser": { "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "hermes-estree": "0.19.1" @@ -18575,9 +17552,8 @@ }, "node_modules/base64id": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true, + "license": "MIT", "engines": { "node": "^4.5.0 || >= 5.9" } @@ -18623,9 +17599,8 @@ }, "node_modules/better-opn": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "open": "^8.0.4" @@ -18711,8 +17686,6 @@ }, "node_modules/body-parser": { "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "license": "MIT", "dependencies": { @@ -18736,8 +17709,6 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -18746,15 +17717,11 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, "node_modules/body-parser/node_modules/qs": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -18972,8 +17939,6 @@ }, "node_modules/browserslist": { "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -19045,9 +18010,8 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "buffer-alloc-unsafe": "^1.1.0", @@ -19056,9 +18020,8 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/buffer-crc32": { @@ -19076,9 +18039,8 @@ }, "node_modules/buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/buffer-from": { @@ -19105,9 +18067,8 @@ }, "node_modules/bundlewatch": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/bundlewatch/-/bundlewatch-0.4.0.tgz", - "integrity": "sha512-w8w4K8RdrsHMZD9Ss4Ailfsrax/0zSIgh25GCaiudNHg45xXuh/u/xezzjbu+WCQJGjL9O1Fg9k9TEdS/XkZFA==", "dev": true, + "license": "MIT", "dependencies": { "axios": "^0.28.0", "bytes": "^3.1.1", @@ -19129,9 +18090,8 @@ }, "node_modules/bundlewatch/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -19144,9 +18104,8 @@ }, "node_modules/bundlewatch/node_modules/axios": { "version": "0.28.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz", - "integrity": "sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==", "dev": true, + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -19155,9 +18114,8 @@ }, "node_modules/bundlewatch/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19171,9 +18129,8 @@ }, "node_modules/bundlewatch/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -19183,16 +18140,13 @@ }, "node_modules/bundlewatch/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bundlewatch/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19210,9 +18164,8 @@ }, "node_modules/bundlewatch/node_modules/proxy-from-env": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/busboy": { "version": "1.6.0", @@ -19269,9 +18222,8 @@ }, "node_modules/cacache": { "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "@npmcli/fs": "^3.1.0", @@ -19293,9 +18245,8 @@ }, "node_modules/cacache/node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "clean-stack": "^2.0.0", @@ -19307,9 +18258,8 @@ }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0" @@ -19317,9 +18267,8 @@ }, "node_modules/cacache/node_modules/clean-stack": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -19327,9 +18276,8 @@ }, "node_modules/cacache/node_modules/fs-minipass": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "minipass": "^7.0.3" @@ -19340,9 +18288,8 @@ }, "node_modules/cacache/node_modules/glob": { "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "foreground-child": "^3.1.0", @@ -19361,9 +18308,8 @@ }, "node_modules/cacache/node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -19377,16 +18323,14 @@ }, "node_modules/cacache/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/cacache/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -19400,9 +18344,8 @@ }, "node_modules/cacache/node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "aggregate-error": "^3.0.0" @@ -19530,8 +18473,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001667", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", - "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", "funding": [ { "type": "opencollective", @@ -19683,9 +18624,8 @@ }, "node_modules/charenc": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "engines": { "node": "*" @@ -19920,8 +18860,7 @@ }, "node_modules/cli-highlight": { "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "license": "ISC", "dependencies": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", @@ -19940,8 +18879,7 @@ }, "node_modules/cli-highlight/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -19954,8 +18892,7 @@ }, "node_modules/cli-highlight/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19969,8 +18906,7 @@ }, "node_modules/cli-highlight/node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -19979,8 +18915,7 @@ }, "node_modules/cli-highlight/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -19990,18 +18925,15 @@ }, "node_modules/cli-highlight/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/cli-highlight/node_modules/parse5": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + "license": "MIT" }, "node_modules/cli-highlight/node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -20017,8 +18949,7 @@ }, "node_modules/cli-highlight/node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -20035,8 +18966,7 @@ }, "node_modules/cli-table3": { "version": "0.6.5", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -20260,9 +19190,8 @@ }, "node_modules/clone": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8" @@ -20519,9 +19448,8 @@ }, "node_modules/component-type": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", - "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", "dev": true, + "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -20893,13 +19821,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/cookie": { - "version": "0.5.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/cookie-es": { "version": "1.1.0", "dev": true, @@ -21282,9 +20203,8 @@ }, "node_modules/cross-fetch": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "node-fetch": "^2.6.12" @@ -21317,9 +20237,8 @@ }, "node_modules/crypt": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "engines": { "node": "*" @@ -21331,9 +20250,8 @@ }, "node_modules/crypto-random-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -21880,9 +20798,8 @@ }, "node_modules/dag-map": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/damerau-levenshtein": { @@ -22034,9 +20951,8 @@ }, "node_modules/debounce": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", @@ -22121,9 +21037,8 @@ }, "node_modules/deep-eql": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, + "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -22133,9 +21048,8 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0.0" @@ -22154,9 +21068,8 @@ }, "node_modules/default-gateway": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "execa": "^1.0.0", @@ -22168,9 +21081,8 @@ }, "node_modules/default-gateway/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "nice-try": "^1.0.4", @@ -22185,9 +21097,8 @@ }, "node_modules/default-gateway/node_modules/execa": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^6.0.0", @@ -22204,9 +21115,8 @@ }, "node_modules/default-gateway/node_modules/get-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "pump": "^3.0.0" @@ -22217,9 +21127,8 @@ }, "node_modules/default-gateway/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -22227,9 +21136,8 @@ }, "node_modules/default-gateway/node_modules/npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "path-key": "^2.0.0" @@ -22240,9 +21148,8 @@ }, "node_modules/default-gateway/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -22250,9 +21157,8 @@ }, "node_modules/default-gateway/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver" @@ -22260,9 +21166,8 @@ }, "node_modules/default-gateway/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "shebang-regex": "^1.0.0" @@ -22273,9 +21178,8 @@ }, "node_modules/default-gateway/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -22283,16 +21187,14 @@ }, "node_modules/default-gateway/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/default-gateway/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "isexe": "^2.0.0" @@ -22375,9 +21277,8 @@ }, "node_modules/del": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "globby": "^11.0.1", @@ -22726,9 +21627,8 @@ }, "node_modules/del/node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "clean-stack": "^2.0.0", @@ -22740,9 +21640,8 @@ }, "node_modules/del/node_modules/clean-stack": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -22750,10 +21649,8 @@ }, "node_modules/del/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -22772,9 +21669,8 @@ }, "node_modules/del/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "array-union": "^2.1.0", @@ -22793,9 +21689,8 @@ }, "node_modules/del/node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "aggregate-error": "^3.0.0" @@ -22809,10 +21704,8 @@ }, "node_modules/del/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "glob": "^7.1.3" @@ -22945,8 +21838,6 @@ }, "node_modules/devalue": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", "license": "MIT", "peer": true }, @@ -23135,9 +22026,8 @@ }, "node_modules/dotenv-expand": { "version": "11.0.6", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz", - "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "dotenv": "^16.4.4" @@ -23151,8 +22041,6 @@ }, "node_modules/dset": { "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", "license": "MIT", "peer": true, "engines": { @@ -23198,9 +22086,8 @@ }, "node_modules/edge-runtime": { "version": "2.5.10", - "resolved": "https://registry.npmjs.org/edge-runtime/-/edge-runtime-2.5.10.tgz", - "integrity": "sha512-oe6JjFbU1MbISzeSBMHqmzBhNEwmy2AYDY0LxStl8FAIWSGdGO+CqzWub9nbgmANuJYPXZA0v3XAlbxeKV/Omw==", "dev": true, + "license": "MPL-2.0", "dependencies": { "@edge-runtime/format": "2.2.1", "@edge-runtime/ponyfill": "2.4.2", @@ -23239,8 +22126,6 @@ }, "node_modules/electron-to-chromium": { "version": "1.5.32", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz", - "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==", "license": "ISC" }, "node_modules/emittery": { @@ -23260,8 +22145,7 @@ }, "node_modules/emojilib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -23289,9 +22173,8 @@ }, "node_modules/engine.io": { "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", "dev": true, + "license": "MIT", "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -23310,18 +22193,16 @@ }, "node_modules/engine.io-parser": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/engine.io/node_modules/cookie": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -23360,9 +22241,8 @@ }, "node_modules/env-editor": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", - "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -23389,9 +22269,8 @@ }, "node_modules/environment": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -23401,9 +22280,8 @@ }, "node_modules/eol": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/error-ex": { @@ -23578,10 +22456,9 @@ }, "node_modules/esbuild": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -23625,9 +22502,8 @@ }, "node_modules/esbuild-register": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -23635,6 +22511,380 @@ "esbuild": ">=0.12 <1" } }, + "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.2", "license": "MIT", @@ -24709,6 +23959,7 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -24726,6 +23977,7 @@ }, "node_modules/events": { "version": "3.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.x" @@ -24733,9 +23985,8 @@ }, "node_modules/exec-async": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", - "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/execa": { @@ -24827,9 +24078,8 @@ }, "node_modules/expo": { "version": "51.0.34", - "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.34.tgz", - "integrity": "sha512-l2oi+hIj/ph3qGcvM54Nyd2uF3Zq5caVmSg7AXfBUgtvcdv5Pj1EI/2xCXP9tfMNQo351CWyOwBkTGjv+GdrLg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.20.0", @@ -24854,9 +24104,8 @@ }, "node_modules/expo-asset": { "version": "10.0.10", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-10.0.10.tgz", - "integrity": "sha512-0qoTIihB79k+wGus9wy0JMKq7DdenziVx3iUkGvMAy2azscSgWH6bd2gJ9CGnhC6JRd3qTMFBL0ou/fx7WZl7A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "expo-constants": "~16.0.0", @@ -24869,9 +24118,8 @@ }, "node_modules/expo-asset/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -24879,9 +24127,8 @@ }, "node_modules/expo-asset/node_modules/@expo/config": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", - "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", @@ -24899,9 +24146,8 @@ }, "node_modules/expo-asset/node_modules/@expo/config-plugins": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.9.tgz", - "integrity": "sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -24923,16 +24169,14 @@ }, "node_modules/expo-asset/node_modules/@expo/config-types": { "version": "51.0.3", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", - "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/expo-asset/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -24946,9 +24190,8 @@ }, "node_modules/expo-asset/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -24963,9 +24206,8 @@ }, "node_modules/expo-asset/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -24976,16 +24218,14 @@ }, "node_modules/expo-asset/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/expo-asset/node_modules/expo-constants": { "version": "16.0.2", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-16.0.2.tgz", - "integrity": "sha512-9tNY3OVO0jfiMzl7ngb6IOyR5VFzNoN5OOazUWoeGfmMqVB5kltTemRvKraK9JRbBKIw+SOYLEmF0sEqgFZ6OQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config": "~9.0.0", @@ -24997,10 +24237,8 @@ }, "node_modules/expo-asset/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -25019,9 +24257,8 @@ }, "node_modules/expo-asset/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sax": ">=0.6.0", @@ -25033,9 +24270,8 @@ }, "node_modules/expo-asset/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0" @@ -25054,9 +24290,8 @@ }, "node_modules/expo-file-system": { "version": "17.0.1", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-17.0.1.tgz", - "integrity": "sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "expo": "*" @@ -25064,9 +24299,8 @@ }, "node_modules/expo-font": { "version": "12.0.10", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-12.0.10.tgz", - "integrity": "sha512-Q1i2NuYri3jy32zdnBaHHCya1wH1yMAsI+3CCmj9zlQzlhsS9Bdwcj2W3c5eU5FvH2hsNQy4O+O1NnM6o/pDaQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fontfaceobserver": "^2.1.0" @@ -25077,9 +24311,8 @@ }, "node_modules/expo-keep-awake": { "version": "13.0.2", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-13.0.2.tgz", - "integrity": "sha512-kKiwkVg/bY0AJ5q1Pxnm/GvpeB6hbNJhcFsoOWDh2NlpibhCLaHL826KHUM+WsnJRbVRxJ+K9vbPRHEMvFpVyw==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "expo": "*" @@ -25087,9 +24320,8 @@ }, "node_modules/expo-local-authentication": { "version": "13.8.0", - "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-13.8.0.tgz", - "integrity": "sha512-h0YA7grVdo3834AS70EUCsalaXrrEnoq+yTvIhRTxiPmzWxUv7rNo5ff+XsIEYNElKPmT/wh/xPV1yo3l3fhGg==", "dev": true, + "license": "MIT", "dependencies": { "invariant": "^2.2.4" }, @@ -25099,9 +24331,8 @@ }, "node_modules/expo-modules-autolinking": { "version": "1.11.2", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.11.2.tgz", - "integrity": "sha512-fdcaNO8ucHA3yLNY52ZUENBcAG7KEx8QyMmnVNavO1JVBGRMZG8JyVcbrhYQDtVtpxkbai5YzwvLutINvbDZDQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^4.1.0", @@ -25118,9 +24349,8 @@ }, "node_modules/expo-modules-autolinking/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -25134,9 +24364,8 @@ }, "node_modules/expo-modules-autolinking/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -25151,9 +24380,8 @@ }, "node_modules/expo-modules-autolinking/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -25164,16 +24392,14 @@ }, "node_modules/expo-modules-autolinking/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/expo-modules-autolinking/node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 10" @@ -25181,9 +24407,8 @@ }, "node_modules/expo-modules-autolinking/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "at-least-node": "^1.0.0", @@ -25197,9 +24422,8 @@ }, "node_modules/expo-modules-autolinking/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "universalify": "^2.0.0" @@ -25210,9 +24434,8 @@ }, "node_modules/expo-modules-core": { "version": "1.12.24", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.24.tgz", - "integrity": "sha512-3geIe2ecizlp7l26iY8Nmc59z2d1RUC5nQZtI9iJoi5uHEUV/zut8e4zRLFVnZb8KOcMcEDsrvaBL5DPnqdfpg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "invariant": "^2.2.4" @@ -25220,9 +24443,8 @@ }, "node_modules/expo-secure-store": { "version": "12.8.1", - "resolved": "https://registry.npmjs.org/expo-secure-store/-/expo-secure-store-12.8.1.tgz", - "integrity": "sha512-Ju3jmkHby4w7rIzdYAt9kQyQ7HhHJ0qRaiQOInknhOLIltftHjEgF4I1UmzKc7P5RCfGNmVbEH729Pncp/sHXQ==", "dev": true, + "license": "MIT", "peerDependencies": { "expo": "*" } @@ -25241,9 +24463,8 @@ }, "node_modules/expo/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -25251,9 +24472,8 @@ }, "node_modules/expo/node_modules/@expo/config": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz", - "integrity": "sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", @@ -25271,9 +24491,8 @@ }, "node_modules/expo/node_modules/@expo/config-plugins": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.9.tgz", - "integrity": "sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@expo/config-types": "^51.0.0-unreleased", @@ -25295,16 +24514,14 @@ }, "node_modules/expo/node_modules/@expo/config-types": { "version": "51.0.3", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", - "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/expo/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -25318,9 +24535,8 @@ }, "node_modules/expo/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -25335,9 +24551,8 @@ }, "node_modules/expo/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -25348,17 +24563,14 @@ }, "node_modules/expo/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/expo/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -25377,9 +24589,8 @@ }, "node_modules/expo/node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sax": ">=0.6.0", @@ -25391,9 +24602,8 @@ }, "node_modules/expo/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0" @@ -25401,9 +24611,8 @@ }, "node_modules/express": { "version": "4.20.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz", - "integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -25448,36 +24657,32 @@ }, "node_modules/express/node_modules/cookie": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -25493,27 +24698,24 @@ }, "node_modules/express/node_modules/finalhandler/node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/merge-descriptors": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/express/node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -25523,21 +24725,18 @@ }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/send": { "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -25559,24 +24758,21 @@ }, "node_modules/express/node_modules/send/node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/send/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/serve-static": { "version": "1.16.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz", - "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==", "dev": true, + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -25589,24 +24785,21 @@ }, "node_modules/express/node_modules/serve-static/node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/serve-static/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/serve-static/node_modules/send": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -25628,9 +24821,8 @@ }, "node_modules/express/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" } @@ -25719,12 +24911,9 @@ ], "license": "MIT" }, - "node_modules/fast-content-type-parse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/fast-decode-uri-component": { "version": "1.0.1", + "dev": true, "license": "MIT" }, "node_modules/fast-deep-equal": { @@ -25764,42 +24953,13 @@ "version": "2.1.0", "license": "MIT" }, - "node_modules/fast-json-stringify": { - "version": "5.7.0", - "license": "MIT", - "dependencies": { - "@fastify/deepmerge": "^1.0.0", - "ajv": "^8.10.0", - "ajv-formats": "^2.1.1", - "fast-deep-equal": "^3.1.3", - "fast-uri": "^2.1.0", - "rfdc": "^1.2.0" - } - }, - "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/fast-levenshtein": { "version": "2.0.6", "license": "MIT" }, "node_modules/fast-querystring": { "version": "1.1.2", + "dev": true, "license": "MIT", "dependencies": { "fast-decode-uri-component": "^1.0.1" @@ -25807,6 +24967,7 @@ }, "node_modules/fast-redact": { "version": "3.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -25817,10 +24978,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-uri": { - "version": "2.2.0", - "license": "MIT" - }, "node_modules/fast-xml-parser": { "version": "4.4.0", "dev": true, @@ -25849,31 +25006,6 @@ "node": ">= 4.9.1" } }, - "node_modules/fastify": { - "version": "4.12.0", - "license": "MIT", - "dependencies": { - "@fastify/ajv-compiler": "^3.3.1", - "@fastify/error": "^3.0.0", - "@fastify/fast-json-stringify-compiler": "^4.1.0", - "abstract-logging": "^2.0.1", - "avvio": "^8.2.0", - "fast-content-type-parse": "^1.0.0", - "find-my-way": "^7.3.0", - "light-my-request": "^5.6.1", - "pino": "^8.5.0", - "process-warning": "^2.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.3.0", - "secure-json-parse": "^2.5.0", - "semver": "^7.3.7", - "tiny-lru": "^10.0.0" - } - }, - "node_modules/fastify-plugin": { - "version": "4.5.0", - "license": "MIT" - }, "node_modules/fastq": { "version": "1.17.1", "license": "ISC", @@ -25902,9 +25034,8 @@ }, "node_modules/fbemitter": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "fbjs": "^3.0.0" @@ -25912,9 +25043,8 @@ }, "node_modules/fbjs": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "cross-fetch": "^3.1.5", @@ -25928,9 +25058,8 @@ }, "node_modules/fbjs-css-vars": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fd-slicer": { @@ -25965,9 +25094,8 @@ }, "node_modules/fetch-retry": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz", - "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fflate": { @@ -26038,9 +25166,8 @@ }, "node_modules/filesize": { "version": "10.1.6", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", - "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 10.4.0" } @@ -26096,46 +25223,6 @@ "node": ">= 0.8" } }, - "node_modules/find-babel-config": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "json5": "^2.1.1", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-my-way": { - "version": "7.6.2", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-querystring": "^1.0.0", - "safe-regex2": "^2.0.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/find-root": { "version": "1.1.0", "license": "MIT" @@ -26167,9 +25254,8 @@ }, "node_modules/find-yarn-workspace-root": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "micromatch": "^4.0.2" @@ -26270,9 +25356,8 @@ }, "node_modules/fontfaceobserver": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", - "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", "dev": true, + "license": "BSD-2-Clause", "peer": true }, "node_modules/for-each": { @@ -26307,9 +25392,8 @@ }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -26346,6 +25430,7 @@ }, "node_modules/forwarded": { "version": "0.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -26353,9 +25438,8 @@ }, "node_modules/freeport-async": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", - "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -26927,9 +26011,8 @@ }, "node_modules/graphql": { "version": "15.8.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", - "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 10.x" @@ -26937,9 +26020,8 @@ }, "node_modules/graphql-tag": { "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "tslib": "^2.1.0" @@ -27219,8 +26301,6 @@ }, "node_modules/hast-util-to-html": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", - "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", "license": "MIT", "peer": true, "dependencies": { @@ -27352,8 +26432,7 @@ }, "node_modules/highlight.js": { "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "license": "BSD-3-Clause", "engines": { "node": "*" } @@ -27372,9 +26451,8 @@ }, "node_modules/hosted-git-info": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "lru-cache": "^6.0.0" @@ -27385,9 +26463,8 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "yallist": "^4.0.0" @@ -27398,9 +26475,8 @@ }, "node_modules/hosted-git-info/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", "peer": true }, "node_modules/hpack.js": { @@ -27851,9 +26927,8 @@ }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/ink": { @@ -28195,9 +27270,8 @@ }, "node_modules/internal-ip": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "default-gateway": "^4.2.0", @@ -28269,9 +27343,8 @@ }, "node_modules/ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -28279,6 +27352,7 @@ }, "node_modules/ipaddr.js": { "version": "1.9.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.10" @@ -28640,9 +27714,8 @@ }, "node_modules/is-invalid-path": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-glob": "^2.0.0" @@ -28653,9 +27726,8 @@ }, "node_modules/is-invalid-path/node_modules/is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -28663,9 +27735,8 @@ }, "node_modules/is-invalid-path/node_modules/is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-extglob": "^1.0.0" @@ -28733,9 +27804,8 @@ }, "node_modules/is-path-cwd": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -28914,9 +27984,8 @@ }, "node_modules/is-valid-path": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-invalid-path": "^0.1.0" @@ -30772,9 +29841,8 @@ }, "node_modules/jimp-compact": { "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", - "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/jiti": { @@ -30802,9 +29870,8 @@ }, "node_modules/join-component": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", - "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/joycon": { @@ -30990,8 +30057,6 @@ }, "node_modules/jsesc": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -31016,9 +30081,8 @@ }, "node_modules/json-schema-deref-sync": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz", - "integrity": "sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "clone": "^2.1.2", @@ -31034,6 +30098,15 @@ "node": ">=6.0.0" } }, + "node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "license": "MIT" @@ -31044,9 +30117,8 @@ }, "node_modules/json-stream-stringify": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.0.1.tgz", - "integrity": "sha512-vuxs3G1ocFDiAQ/SX0okcZbtqXwgj1g71qE9+vrjJ2EkjKQlEFDAcUNRxRU8O+GekV4v5cM2qXP0Wyt/EMDBiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -31289,15 +30361,6 @@ "node": ">= 0.8.0" } }, - "node_modules/light-my-request": { - "version": "5.9.2", - "license": "BSD-3-Clause", - "dependencies": { - "cookie": "^0.5.0", - "process-warning": "^2.0.0", - "set-cookie-parser": "^2.4.1" - } - }, "node_modules/lighthouse-logger": { "version": "1.4.2", "dev": true, @@ -31322,8 +30385,7 @@ }, "node_modules/lightningcss": { "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.27.0.tgz", - "integrity": "sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==", + "license": "MPL-2.0", "optional": true, "peer": true, "dependencies": { @@ -31351,12 +30413,11 @@ }, "node_modules/lightningcss-darwin-arm64": { "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.27.0.tgz", - "integrity": "sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -31370,195 +30431,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.27.0.tgz", - "integrity": "sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.27.0.tgz", - "integrity": "sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.27.0.tgz", - "integrity": "sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.27.0.tgz", - "integrity": "sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.27.0.tgz", - "integrity": "sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.27.0.tgz", - "integrity": "sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.27.0.tgz", - "integrity": "sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.27.0.tgz", - "integrity": "sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.27.0.tgz", - "integrity": "sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/lilconfig": { "version": "2.1.0", "license": "MIT", @@ -32594,9 +31466,8 @@ }, "node_modules/marked": { "version": "9.1.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz", - "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -32606,9 +31477,8 @@ }, "node_modules/marked-terminal": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.1.0.tgz", - "integrity": "sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^7.0.0", "chalk": "^5.3.0", @@ -32626,9 +31496,8 @@ }, "node_modules/marked-terminal/node_modules/ansi-escapes": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, + "license": "MIT", "dependencies": { "environment": "^1.0.0" }, @@ -32641,9 +31510,8 @@ }, "node_modules/marked-terminal/node_modules/chalk": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -32658,9 +31526,8 @@ }, "node_modules/md5": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "charenc": "~0.0.1", @@ -32670,9 +31537,8 @@ }, "node_modules/md5-file": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", - "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "buffer-alloc": "^1.1.0" @@ -32686,9 +31552,8 @@ }, "node_modules/md5hex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", - "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/mdast-util-definitions": { @@ -32944,9 +31809,8 @@ }, "node_modules/memory-cache": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==", "dev": true, + "license": "BSD-2-Clause", "peer": true }, "node_modules/memorystream": { @@ -34219,9 +33083,8 @@ }, "node_modules/minipass-collect": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "minipass": "^7.0.3" @@ -34232,9 +33095,8 @@ }, "node_modules/minipass-flush": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "minipass": "^3.0.0" @@ -34245,9 +33107,8 @@ }, "node_modules/minipass-flush/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", "peer": true, "dependencies": { "yallist": "^4.0.0" @@ -34258,16 +33119,14 @@ }, "node_modules/minipass-flush/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", "peer": true }, "node_modules/minipass-pipeline": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "minipass": "^3.0.0" @@ -34278,9 +33137,8 @@ }, "node_modules/minipass-pipeline/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", "peer": true, "dependencies": { "yallist": "^4.0.0" @@ -34291,9 +33149,8 @@ }, "node_modules/minipass-pipeline/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", "peer": true }, "node_modules/minizlib": { @@ -34363,8 +33220,7 @@ }, "node_modules/mrmime": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -34864,8 +33720,7 @@ }, "node_modules/node-emoji": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", @@ -35028,9 +33883,8 @@ }, "node_modules/npm-package-arg": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", - "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "hosted-git-info": "^3.0.2", @@ -35041,16 +33895,14 @@ }, "node_modules/npm-package-arg/node_modules/builtins": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/npm-package-arg/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver" @@ -35058,9 +33910,8 @@ }, "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "builtins": "^1.0.3" @@ -35583,6 +34434,7 @@ }, "node_modules/on-exit-leak-free": { "version": "2.1.0", + "dev": true, "license": "MIT" }, "node_modules/on-finished": { @@ -35626,8 +34478,6 @@ }, "node_modules/oniguruma-to-js": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", - "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", "license": "MIT", "peer": true, "dependencies": { @@ -35873,9 +34723,8 @@ }, "node_modules/os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -35891,10 +34740,8 @@ }, "node_modules/osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "deprecated": "This package is no longer supported.", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "os-homedir": "^1.0.0", @@ -35938,9 +34785,8 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -36130,9 +34976,8 @@ }, "node_modules/parse-png": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", - "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "pngjs": "^3.3.0" @@ -36153,16 +34998,14 @@ }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "license": "MIT", "dependencies": { "parse5": "^6.0.1" } }, "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "license": "MIT" }, "node_modules/parseurl": { "version": "1.3.3", @@ -36193,9 +35036,8 @@ }, "node_modules/password-prompt": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", "dev": true, + "license": "0BSD", "peer": true, "dependencies": { "ansi-escapes": "^4.3.2", @@ -36211,9 +35053,8 @@ }, "node_modules/path-browserify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-exists": { "version": "4.0.0", @@ -36359,6 +35200,7 @@ }, "node_modules/pino": { "version": "8.17.2", + "dev": true, "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0", @@ -36379,6 +35221,7 @@ }, "node_modules/pino-abstract-transport": { "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { "readable-stream": "^4.0.0", @@ -36387,6 +35230,7 @@ }, "node_modules/pino-abstract-transport/node_modules/buffer": { "version": "6.0.3", + "dev": true, "funding": [ { "type": "github", @@ -36409,6 +35253,7 @@ }, "node_modules/pino-abstract-transport/node_modules/readable-stream": { "version": "4.5.2", + "dev": true, "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", @@ -36423,6 +35268,7 @@ }, "node_modules/pino-abstract-transport/node_modules/string_decoder": { "version": "1.3.0", + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -36430,10 +35276,12 @@ }, "node_modules/pino-std-serializers": { "version": "6.2.1", + "dev": true, "license": "MIT" }, "node_modules/pino/node_modules/process-warning": { "version": "3.0.0", + "dev": true, "license": "MIT" }, "node_modules/pirates": { @@ -36494,59 +35342,6 @@ "pathe": "^1.1.2" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/pkginfo": { "version": "0.4.1", "dev": true, @@ -36621,9 +35416,8 @@ }, "node_modules/pngjs": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0.0" @@ -36997,6 +35791,7 @@ }, "node_modules/process": { "version": "0.11.10", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6.0" @@ -37007,15 +35802,10 @@ "dev": true, "license": "MIT" }, - "node_modules/process-warning": { - "version": "2.2.0", - "license": "MIT" - }, "node_modules/progress": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.4.0" @@ -37023,9 +35813,8 @@ }, "node_modules/promise": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "asap": "~2.0.3" @@ -37082,6 +35871,7 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", + "dev": true, "license": "MIT", "dependencies": { "forwarded": "0.2.0", @@ -37200,8 +35990,6 @@ }, "node_modules/qrcode-terminal": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", - "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", "dev": true, "peer": true, "bin": { @@ -37267,6 +36055,7 @@ }, "node_modules/quick-format-unescaped": { "version": "4.0.4", + "dev": true, "license": "MIT" }, "node_modules/quick-lru": { @@ -37324,8 +36113,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": { @@ -37340,9 +36127,8 @@ }, "node_modules/rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "peer": true, "dependencies": { "deep-extend": "^0.6.0", @@ -37356,9 +36142,8 @@ }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -37533,9 +36318,8 @@ }, "node_modules/react-refresh": { "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -37896,6 +36680,7 @@ }, "node_modules/real-require": { "version": "0.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 12.13.0" @@ -38020,8 +36805,6 @@ }, "node_modules/regex": { "version": "4.3.3", - "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", - "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==", "license": "MIT", "peer": true }, @@ -38084,8 +36867,6 @@ }, "node_modules/rehype": { "version": "13.0.2", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", - "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", "license": "MIT", "peer": true, "dependencies": { @@ -38101,8 +36882,6 @@ }, "node_modules/rehype-parse": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", - "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", "license": "MIT", "peer": true, "dependencies": { @@ -38221,9 +37000,8 @@ }, "node_modules/remove-trailing-slash": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", - "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/request-progress": { @@ -38243,6 +37021,7 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -38255,8 +37034,6 @@ }, "node_modules/requireg": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", - "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", "dev": true, "peer": true, "dependencies": { @@ -38270,16 +37047,14 @@ }, "node_modules/requireg/node_modules/nested-error-stacks": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", - "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/requireg/node_modules/resolve": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "path-parse": "^1.0.5" @@ -38297,11 +37072,6 @@ "dev": true, "license": "MIT" }, - "node_modules/reselect": { - "version": "4.1.8", - "dev": true, - "license": "MIT" - }, "node_modules/resolve": { "version": "1.22.8", "license": "MIT", @@ -38368,13 +37138,6 @@ "dev": true, "license": "ISC" }, - "node_modules/ret": { - "version": "0.2.2", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/retext": { "version": "9.0.0", "license": "MIT", @@ -38442,6 +37205,7 @@ }, "node_modules/rfdc": { "version": "1.3.0", + "dev": true, "license": "MIT" }, "node_modules/rimraf": { @@ -38506,8 +37270,7 @@ }, "node_modules/rollup": { "version": "4.24.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", - "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "license": "MIT", "dependencies": { "@types/estree": "1.0.6" }, @@ -38585,8 +37348,7 @@ }, "node_modules/rollup/node_modules/@types/estree": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "license": "MIT" }, "node_modules/rrweb-cssom": { "version": "0.7.1", @@ -38595,8 +37357,6 @@ }, "node_modules/rslog": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/rslog/-/rslog-1.2.3.tgz", - "integrity": "sha512-antALPJaKBRPBU1X2q9t085K4htWDOOv/K1qhTUk7h0l1ePU/KbDqKJn19eKP0dk7PqMioeA0+fu3gyPXCsXxQ==", "dev": true, "engines": { "node": ">=14.17.6" @@ -38625,8 +37385,7 @@ }, "node_modules/rxjs": { "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -38691,15 +37450,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex2": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "ret": "~0.2.0" - } - }, "node_modules/safe-stable-stringify": { "version": "2.4.3", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -38773,6 +37526,7 @@ }, "node_modules/secure-json-parse": { "version": "2.7.0", + "dev": true, "license": "BSD-3-Clause" }, "node_modules/select-hose": { @@ -39008,6 +37762,7 @@ }, "node_modules/set-cookie-parser": { "version": "2.6.0", + "dev": true, "license": "MIT" }, "node_modules/set-function-length": { @@ -39040,9 +37795,8 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/setprototypeof": { @@ -39157,8 +37911,6 @@ }, "node_modules/shiki": { "version": "1.21.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.21.0.tgz", - "integrity": "sha512-apCH5BoWTrmHDPGgg3RF8+HAAbEL/CdbYr8rMw7eIrdhCkZHdVGat5mMNlRtd1erNG01VPMIKHNQ0Pj2HMAiog==", "license": "MIT", "peer": true, "dependencies": { @@ -39269,9 +38021,8 @@ }, "node_modules/sirv": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -39287,8 +38038,7 @@ }, "node_modules/skin-tone": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" }, @@ -39504,9 +38254,8 @@ }, "node_modules/socket.io": { "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", - "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", @@ -39522,9 +38271,8 @@ }, "node_modules/socket.io-adapter": { "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "~4.3.4", "ws": "~8.17.1" @@ -39532,9 +38280,8 @@ }, "node_modules/socket.io-parser": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, + "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" @@ -39555,6 +38302,7 @@ }, "node_modules/sonic-boom": { "version": "3.8.0", + "dev": true, "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0" @@ -39816,6 +38564,7 @@ }, "node_modules/split2": { "version": "4.2.0", + "dev": true, "license": "ISC", "engines": { "node": ">= 10.x" @@ -39851,9 +38600,8 @@ }, "node_modules/ssri": { "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "minipass": "^7.0.3" @@ -40223,9 +38971,8 @@ }, "node_modules/strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -40282,9 +39029,8 @@ }, "node_modules/structured-headers": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", - "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/styled-jsx": { @@ -40315,8 +39061,7 @@ }, "node_modules/sucrase": { "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -40343,9 +39088,7 @@ }, "node_modules/sucrase/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -40363,9 +39106,8 @@ }, "node_modules/sudo-prompt": { "version": "8.2.5", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", - "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/superagent": { @@ -40441,8 +39183,7 @@ }, "node_modules/supports-hyperlinks": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", - "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -40456,8 +39197,7 @@ }, "node_modules/supports-hyperlinks/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -40701,9 +39441,8 @@ }, "node_modules/tempy": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz", - "integrity": "sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "del": "^6.0.0", @@ -40721,9 +39460,8 @@ }, "node_modules/tempy/node_modules/type-fest": { "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true, + "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { "node": ">=10" @@ -40745,9 +39483,8 @@ }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-escapes": "^4.2.1", @@ -40762,9 +39499,8 @@ }, "node_modules/terminal-link/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -40772,9 +39508,8 @@ }, "node_modules/terminal-link/node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0", @@ -40965,6 +39700,7 @@ }, "node_modules/thread-stream": { "version": "2.7.0", + "dev": true, "license": "MIT", "dependencies": { "real-require": "^0.2.0" @@ -41029,13 +39765,6 @@ "version": "1.3.3", "license": "MIT" }, - "node_modules/tiny-lru": { - "version": "10.4.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12" - } - }, "node_modules/tiny-warning": { "version": "1.0.3", "dev": true, @@ -41117,6 +39846,15 @@ "node": ">=8.0" } }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/toggle-selection": { "version": "1.0.6", "license": "MIT" @@ -41177,9 +39915,8 @@ }, "node_modules/traverse": { "version": "0.6.10", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.10.tgz", - "integrity": "sha512-hN4uFRxbK+PX56DxYiGHsTn2dME3TVr9vbNqlQGcGcPhJAn+tdP126iA+TArMpI4YSgnTkMWyoLl5bf81Hi5TA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "gopd": "^1.0.1", @@ -41483,7 +40220,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -41500,7 +40236,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -41517,7 +40252,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -41534,7 +40268,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -41566,7 +40299,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -41583,7 +40315,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -41600,7 +40331,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -41617,7 +40347,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41634,7 +40363,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41651,7 +40379,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41668,7 +40395,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41685,7 +40411,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41702,7 +40427,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41719,7 +40443,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41736,7 +40459,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41753,7 +40475,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -41770,7 +40491,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -41787,7 +40507,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -41804,7 +40523,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -41821,7 +40539,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -41838,7 +40555,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -41855,7 +40571,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -42228,9 +40943,8 @@ }, "node_modules/typedarray.prototype.slice": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.3.tgz", - "integrity": "sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -42249,8 +40963,7 @@ }, "node_modules/typescript": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -42261,8 +40974,6 @@ }, "node_modules/ua-parser-js": { "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", "dev": true, "funding": [ { @@ -42278,6 +40989,7 @@ "url": "https://github.com/sponsors/faisalman" } ], + "license": "MIT", "peer": true, "bin": { "ua-parser-js": "script/cli.js" @@ -42370,8 +41082,7 @@ }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -42486,9 +41197,8 @@ }, "node_modules/unique-filename": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "unique-slug": "^4.0.0" @@ -42499,9 +41209,8 @@ }, "node_modules/unique-slug": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "imurmurhash": "^0.1.4" @@ -42512,9 +41221,8 @@ }, "node_modules/unique-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "crypto-random-string": "^2.0.0" @@ -42986,8 +41694,6 @@ }, "node_modules/valid-url": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==", "dev": true, "peer": true }, @@ -43099,9 +41805,8 @@ }, "node_modules/verdaccio-audit/node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -43123,27 +41828,24 @@ }, "node_modules/verdaccio-audit/node_modules/cookie": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/verdaccio-audit/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/verdaccio-audit/node_modules/express": { "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -43183,9 +41885,8 @@ }, "node_modules/verdaccio-audit/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -43201,16 +41902,14 @@ }, "node_modules/verdaccio-audit/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio-audit/node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -43228,15 +41927,13 @@ }, "node_modules/verdaccio-audit/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio-audit/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" } @@ -43319,9 +42016,8 @@ }, "node_modules/verdaccio/node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -43343,27 +42039,24 @@ }, "node_modules/verdaccio/node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/verdaccio/node_modules/cookie": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/verdaccio/node_modules/express": { "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -43403,18 +42096,16 @@ }, "node_modules/verdaccio/node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/verdaccio/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -43430,9 +42121,8 @@ }, "node_modules/verdaccio/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -43469,15 +42159,13 @@ }, "node_modules/verdaccio/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio/node_modules/semver": { "version": "7.6.2", @@ -43492,9 +42180,8 @@ }, "node_modules/verdaccio/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" } @@ -43659,7 +42346,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -43677,7 +42363,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -43695,7 +42380,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -43713,7 +42397,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -43747,7 +42430,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -43765,7 +42447,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -43783,7 +42464,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -43801,7 +42481,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43819,7 +42498,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43837,7 +42515,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43855,7 +42532,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43873,7 +42549,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43891,7 +42566,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43909,7 +42583,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43927,7 +42600,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43945,7 +42617,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -43963,7 +42634,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -43981,7 +42651,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -43999,7 +42668,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -44017,7 +42685,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -44035,7 +42702,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -44053,7 +42719,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -44391,7 +43056,6 @@ "version": "2.4.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -44447,10 +43111,8 @@ }, "node_modules/webpack": { "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", @@ -44494,9 +43156,8 @@ }, "node_modules/webpack-bundle-analyzer": { "version": "4.10.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -44803,7 +43464,6 @@ "version": "5.1.1", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -44816,7 +43476,6 @@ "version": "4.3.0", "dev": true, "license": "BSD-2-Clause", - "peer": true, "engines": { "node": ">=4.0" } @@ -45137,9 +43796,8 @@ }, "node_modules/wonka": { "version": "4.0.15", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", - "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/word-wrap": { @@ -45157,10 +43815,9 @@ }, "node_modules/workerd": { "version": "1.20240925.0", - "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240925.0.tgz", - "integrity": "sha512-/Jj6+yLwfieZGEt3Kx4+5MoufuC3g/8iFaIh4MPBNGJOGYmdSKXvgCqz09m2+tVCYnysRfbq2zcbVxJRBfOCqQ==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "bin": { "workerd": "bin/workerd" }, @@ -45317,9 +43974,8 @@ }, "node_modules/xml2js": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "dependencies": { @@ -45535,8 +44191,6 @@ }, "node_modules/zod-to-json-schema": { "version": "3.23.3", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.3.tgz", - "integrity": "sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==", "license": "ISC", "peer": true, "peerDependencies": { @@ -45640,10 +44294,10 @@ }, "packages/astro": { "name": "@clerk/astro", - "version": "1.3.12", + "version": "1.3.13", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "nanoid": "5.0.7", @@ -45692,12 +44346,12 @@ }, "packages/backend": { "name": "@clerk/backend", - "version": "1.13.8", + "version": "1.13.9", "license": "MIT", "dependencies": { "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookie": "0.5.0", + "cookie": "0.7.0", "snakecase-keys": "5.4.4", "tslib": "2.4.1" }, @@ -45791,12 +44445,11 @@ }, "packages/backend/node_modules/@esbuild/darwin-arm64": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", - "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -46013,6 +44666,22 @@ "node": ">=18" } }, + "packages/backend/node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, "packages/backend/node_modules/@esbuild/openbsd-x64": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", @@ -46098,6 +44767,14 @@ "dev": true, "license": "MIT" }, + "packages/backend/node_modules/cookie": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz", + "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==", + "engines": { + "node": ">= 0.6" + } + }, "packages/backend/node_modules/denque": { "version": "1.5.1", "dev": true, @@ -46110,10 +44787,9 @@ }, "packages/backend/node_modules/esbuild": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", - "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -46247,10 +44923,10 @@ }, "packages/chrome-extension": { "name": "@clerk/chrome-extension", - "version": "1.3.15", + "version": "1.3.17", "license": "MIT", "dependencies": { - "@clerk/clerk-js": "5.26.1", + "@clerk/clerk-js": "5.26.3", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "webextension-polyfill": "^0.10.0" @@ -46296,10 +44972,10 @@ }, "packages/clerk-js": { "name": "@clerk/clerk-js", - "version": "5.26.1", + "version": "5.26.3", "license": "MIT", "dependencies": { - "@clerk/localizations": "3.1.2", + "@clerk/localizations": "3.2.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "@coinbase/wallet-sdk": "4.0.4", @@ -46318,12 +44994,6 @@ "regenerator-runtime": "0.13.11" }, "devDependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/preset-typescript": "^7.12.1", "@clerk/eslint-config-custom": "*", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10", "@rsdoctor/webpack-plugin": "^0.4.4", @@ -46332,8 +45002,6 @@ "@types/react-dom": "*", "@types/webpack-dev-server": "^4.7.2", "@types/webpack-env": "^1.16.4", - "babel-loader": "^9.1.2", - "babel-plugin-module-resolver": "^5.0.0", "bundlewatch": "^0.4.0", "react-refresh": "^0.14.0", "react-refresh-typescript": "^2.0.5", @@ -46354,206 +45022,6 @@ "react-dom": ">=18" } }, - "packages/clerk-js/node_modules/ajv": { - "version": "8.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "packages/clerk-js/node_modules/ajv-keywords": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "packages/clerk-js/node_modules/babel-loader": { - "version": "9.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "find-cache-dir": "^3.3.2", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "packages/clerk-js/node_modules/enhanced-resolve": { - "version": "5.16.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "packages/clerk-js/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "packages/clerk-js/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "packages/clerk-js/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "packages/clerk-js/node_modules/schema-utils": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "packages/clerk-js/node_modules/watchpack": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "packages/clerk-js/node_modules/webpack": { - "version": "5.91.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "packages/clerk-js/node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "packages/clerk-js/node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "packages/clerk-js/node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "packages/clerk-js/node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "packages/dev-cli": { "name": "@clerk/dev-cli", "version": "0.0.8", @@ -46761,8 +45229,7 @@ }, "packages/dev-cli/node_modules/concurrently": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.0.1.tgz", - "integrity": "sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "lodash": "^4.17.21", @@ -46785,8 +45252,7 @@ }, "packages/dev-cli/node_modules/concurrently/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -46839,8 +45305,7 @@ }, "packages/dev-cli/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -47056,7 +45521,7 @@ }, "packages/elements": { "name": "@clerk/elements", - "version": "0.15.9", + "version": "0.15.10", "license": "MIT", "dependencies": { "@clerk/types": "^4.25.0", @@ -47888,10 +46353,10 @@ }, "packages/expo": { "name": "@clerk/clerk-expo", - "version": "2.2.21", + "version": "2.2.23", "license": "MIT", "dependencies": { - "@clerk/clerk-js": "5.26.1", + "@clerk/clerk-js": "5.26.3", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", @@ -48173,10 +46638,10 @@ }, "packages/express": { "name": "@clerk/express", - "version": "1.2.1", + "version": "1.2.2", "license": "MIT", "dependencies": { - "@clerk/backend": "^1.13.8", + "@clerk/backend": "^1.13.9", "@clerk/shared": "^2.9.0", "@clerk/types": "4.25.0", "tslib": "2.4.1" @@ -48204,31 +46669,356 @@ }, "packages/fastify": { "name": "@clerk/fastify", - "version": "1.0.51", + "version": "2.0.0", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookies": "0.8.0" + "cookies": "0.8.0", + "fastify-plugin": "^5.0.1" }, "devDependencies": { "@clerk/eslint-config-custom": "*", - "@types/node": "^18.19.33", + "@types/node": "^20.14.8", + "fastify": "^5.0.0", "tsup": "*", "typescript": "*" }, "engines": { - "node": ">=18.17.0" + "node": ">=20" + }, + "peerDependencies": { + "fastify": ">=5" + } + }, + "packages/fastify/node_modules/@fastify/ajv-compiler": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-4.0.1.tgz", + "integrity": "sha512-DxrBdgsjNLP0YM6W5Hd6/Fmj43S8zMKiFJYgi+Ri3htTGAowPVG/tG1wpnWLMjufEnehRivUCKZ1pLDIoZdTuw==", + "dev": true, + "dependencies": { + "ajv": "^8.12.0", + "ajv-formats": "^3.0.1", + "fast-uri": "^3.0.0" + } + }, + "packages/fastify/node_modules/@fastify/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-4.0.0.tgz", + "integrity": "sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==", + "dev": true + }, + "packages/fastify/node_modules/@fastify/fast-json-stringify-compiler": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-5.0.1.tgz", + "integrity": "sha512-f2d3JExJgFE3UbdFcpPwqNUEoHWmt8pAKf8f+9YuLESdefA0WgqxeT6DrGL4Yrf/9ihXNSKOqpjEmurV405meA==", + "dev": true, + "dependencies": { + "fast-json-stringify": "^6.0.0" + } + }, + "packages/fastify/node_modules/@types/node": { + "version": "20.16.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz", + "integrity": "sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==", + "dev": true, + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "packages/fastify/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/fastify/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" }, "peerDependencies": { - "fastify": ">=4", - "fastify-plugin": "^4.5.0" + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "packages/fastify/node_modules/avvio": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-9.0.0.tgz", + "integrity": "sha512-UbYrOXgE/I+knFG+3kJr9AgC7uNo8DG+FGGODpH9Bj1O1kL/QDjBXnTem9leD3VdQKtaHjV3O85DQ7hHh4IIHw==", + "dev": true, + "dependencies": { + "@fastify/error": "^4.0.0", + "fastq": "^1.17.1" + } + }, + "packages/fastify/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "packages/fastify/node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "packages/fastify/node_modules/fast-json-stringify": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-6.0.0.tgz", + "integrity": "sha512-FGMKZwniMTgZh7zQp9b6XnBVxUmKVahQLQeRQHqwYmPDqDhcEKZ3BaQsxelFFI5PY7nN71OEeiL47/zUWcYe1A==", + "dev": true, + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.1", + "ajv": "^8.12.0", + "ajv-formats": "^3.0.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.3.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" + } + }, + "packages/fastify/node_modules/fast-json-stringify/node_modules/fast-uri": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", + "dev": true + }, + "packages/fastify/node_modules/fast-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", + "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "dev": true + }, + "packages/fastify/node_modules/fastify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.0.0.tgz", + "integrity": "sha512-Qe4dU+zGOzg7vXjw4EvcuyIbNnMwTmcuOhlOrOJsgwzvjEZmsM/IeHulgJk+r46STjdJS/ZJbxO8N70ODXDMEQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "dependencies": { + "@fastify/ajv-compiler": "^4.0.0", + "@fastify/error": "^4.0.0", + "@fastify/fast-json-stringify-compiler": "^5.0.0", + "abstract-logging": "^2.0.1", + "avvio": "^9.0.0", + "fast-json-stringify": "^6.0.0", + "find-my-way": "^9.0.0", + "light-my-request": "^6.0.0", + "pino": "^9.0.0", + "process-warning": "^4.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.1", + "secure-json-parse": "^2.7.0", + "semver": "^7.6.0", + "toad-cache": "^3.7.0" + } + }, + "packages/fastify/node_modules/fastify-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-5.0.1.tgz", + "integrity": "sha512-HCxs+YnRaWzCl+cWRYFnHmeRFyR5GVnJTAaCJQiYzQSDwK9MgJdyAsuL3nh0EWRCYMgQ5MeziymvmAhUHYHDUQ==" + }, + "packages/fastify/node_modules/find-my-way": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.1.0.tgz", + "integrity": "sha512-Y5jIsuYR4BwWDYYQ2A/RWWE6gD8a0FMgtU+HOq1WKku+Cwdz8M1v8wcAmRXXM1/iqtoqg06v+LjAxMYbCjViMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^4.0.0" + }, + "engines": { + "node": ">=14" } }, + "packages/fastify/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "packages/fastify/node_modules/light-my-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-6.1.0.tgz", + "integrity": "sha512-+NFuhlOGoEwxeQfJ/pobkVFxcnKyDtiX847hLjuB/IzBxIl3q4VJeFI8uRCgb3AlTWL1lgOr+u5+8QdUcr33ng==", + "dev": true, + "dependencies": { + "cookie": "^0.7.0", + "process-warning": "^4.0.0", + "set-cookie-parser": "^2.6.0" + } + }, + "packages/fastify/node_modules/pino": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.4.0.tgz", + "integrity": "sha512-nbkQb5+9YPhQRz/BeQmrWpEknAaqjpAqRK8NwJpmrX/JHu7JuZC5G1CeAwJDJfGes4h+YihC6in3Q2nGb+Y09w==", + "dev": true, + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.2.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^4.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "packages/fastify/node_modules/pino-abstract-transport": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", + "dev": true, + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "packages/fastify/node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "dev": true + }, + "packages/fastify/node_modules/process-warning": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz", + "integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==", + "dev": true + }, + "packages/fastify/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "packages/fastify/node_modules/ret": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz", + "integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "packages/fastify/node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "packages/fastify/node_modules/safe-regex2": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-4.0.0.tgz", + "integrity": "sha512-Hvjfv25jPDVr3U+4LDzBuZPPOymELG3PYcSk5hcevooo1yxxamQL/bHs/GrEPGmMoMEwRrHVGiCA1pXi97B8Ew==", + "dev": true, + "dependencies": { + "ret": "~0.5.0" + } + }, + "packages/fastify/node_modules/sonic-boom": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.1.0.tgz", + "integrity": "sha512-NGipjjRicyJJ03rPiZCJYjwlsuP2d1/5QUviozRXC7S3WdVWNK5e3Ojieb9CCyfhq2UC+3+SRd9nG3I2lPRvUw==", + "dev": true, + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "packages/fastify/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "packages/fastify/node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "dev": true, + "dependencies": { + "real-require": "^0.2.0" + } + }, + "packages/fastify/node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, "packages/localizations": { "name": "@clerk/localizations", - "version": "3.1.2", + "version": "3.2.0", "license": "MIT", "dependencies": { "@clerk/types": "4.25.0" @@ -48244,10 +47034,10 @@ }, "packages/nextjs": { "name": "@clerk/nextjs", - "version": "5.7.1", + "version": "5.7.2", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", @@ -48533,14 +47323,14 @@ }, "packages/remix": { "name": "@clerk/remix", - "version": "4.2.35", + "version": "4.2.36", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookie": "0.5.0", + "cookie": "0.7.0", "tslib": "2.4.1" }, "devDependencies": { @@ -48568,16 +47358,24 @@ "dev": true, "license": "MIT" }, + "packages/remix/node_modules/cookie": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz", + "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==", + "engines": { + "node": ">= 0.6" + } + }, "packages/remix/node_modules/tslib": { "version": "2.4.1", "license": "0BSD" }, "packages/sdk-node": { "name": "@clerk/clerk-sdk-node", - "version": "5.0.48", + "version": "5.0.49", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "tslib": "2.4.1" @@ -49315,10 +48113,10 @@ }, "packages/tanstack-start": { "name": "@clerk/tanstack-start", - "version": "0.4.11", + "version": "0.4.12", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", @@ -49353,7 +48151,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -49370,7 +48167,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -49387,7 +48183,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -49404,7 +48199,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -49421,7 +48215,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -49438,7 +48231,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -49455,7 +48247,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -49472,7 +48263,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49489,7 +48279,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49506,7 +48295,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49523,7 +48311,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49540,7 +48327,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49557,7 +48343,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49574,7 +48359,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49591,7 +48375,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49608,7 +48391,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -49625,7 +48407,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -49642,7 +48423,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -49659,7 +48439,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -49676,7 +48455,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -49693,7 +48471,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -49710,7 +48487,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -50141,10 +48917,10 @@ }, "packages/testing": { "name": "@clerk/testing", - "version": "1.3.9", + "version": "1.3.10", "license": "MIT", "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "dotenv": "16.4.5" diff --git a/package.json b/package.json index 1f44355e66..af2464e790 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "test:integration:remix": "echo 'placeholder'", "turbo:clean": "turbo daemon clean", "update:lockfile": "npm run nuke && npm install -D --arch=x64 --platform=linux turbo && npm install -D --arch=arm64 --platform=darwin turbo", - "version": "changeset version && npm install --package-lock-only", + "version": "changeset version && npm install --package-lock-only --engine-strict=false", "version:canary": "./scripts/canary.mjs", "version:snapshot": "./scripts/snapshot.mjs", "yalc:all": "for d in packages/*/; do echo $d; cd $d; npx yalc push --replace --sig; cd '../../'; done" @@ -80,8 +80,6 @@ "eslint": "^8.49.0", "execa": "^5.1.1", "expect-type": "^0.16.0", - "fastify": "4.12.0", - "fastify-plugin": "^4.5.0", "fs-extra": "^11.1.1", "get-port": "^5.1.1", "globby": "^13.2.2", diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index d3a37fe480..e011d2d77c 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,12 @@ # @clerk/astro +## 1.3.13 + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 1.3.12 ### Patch Changes diff --git a/packages/astro/package.json b/packages/astro/package.json index c5c90fc216..a4a8a77b06 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,7 +1,7 @@ { "name": "@clerk/astro", "description": "Clerk SDK for Astro", - "version": "1.3.12", + "version": "1.3.13", "type": "module", "license": "MIT", "author": "Clerk", @@ -81,7 +81,7 @@ } }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "nanoid": "5.0.7", diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 48953a55f6..9d840fc108 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## 1.13.9 + +### Patch Changes + +- Expose `permissions` field for `OrganizationMembership` resource ([#4310](https://github.com/clerk/javascript/pull/4310)) by [@dstaley](https://github.com/dstaley) + ## 1.13.8 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index 6cc4099640..16bf2d1fdb 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/backend", - "version": "1.13.8", + "version": "1.13.9", "description": "Clerk Backend SDK - REST Client for Backend API & JWT verification utilities", "homepage": "https://clerk.com/", "bugs": { @@ -97,7 +97,7 @@ "dependencies": { "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookie": "0.5.0", + "cookie": "0.7.0", "snakecase-keys": "5.4.4", "tslib": "2.4.1" }, diff --git a/packages/backend/src/api/resources/OrganizationMembership.ts b/packages/backend/src/api/resources/OrganizationMembership.ts index ebeb3c628d..9c8e54f257 100644 --- a/packages/backend/src/api/resources/OrganizationMembership.ts +++ b/packages/backend/src/api/resources/OrganizationMembership.ts @@ -6,6 +6,7 @@ export class OrganizationMembership { constructor( readonly id: string, readonly role: OrganizationMembershipRole, + readonly permissions: string[], readonly publicMetadata: OrganizationMembershipPublicMetadata = {}, readonly privateMetadata: OrganizationMembershipPrivateMetadata = {}, readonly createdAt: number, @@ -18,6 +19,7 @@ export class OrganizationMembership { return new OrganizationMembership( data.id, data.role, + data.permissions, data.public_metadata, data.private_metadata, data.created_at, diff --git a/packages/backend/src/internal.ts b/packages/backend/src/internal.ts index 11978dae04..af12ba0655 100644 --- a/packages/backend/src/internal.ts +++ b/packages/backend/src/internal.ts @@ -7,7 +7,7 @@ export { createAuthenticateRequest } from './tokens/factory'; export { debugRequestState } from './tokens/request'; -export type { AuthenticateRequestOptions } from './tokens/types'; +export type { AuthenticateRequestOptions, OrganizationSyncOptions } from './tokens/types'; export type { SignedInAuthObjectOptions, SignedInAuthObject, SignedOutAuthObject } from './tokens/authObjects'; export { makeAuthObjectSerializable, signedOutAuthObject, signedInAuthObject } from './tokens/authObjects'; diff --git a/packages/backend/src/tokens/__tests__/request.test.ts b/packages/backend/src/tokens/__tests__/request.test.ts index 7cd1ff3f4a..61b5c89339 100644 --- a/packages/backend/src/tokens/__tests__/request.test.ts +++ b/packages/backend/src/tokens/__tests__/request.test.ts @@ -13,8 +13,14 @@ import { import runtime from '../../runtime'; import { jsonOk } from '../../util/testUtils'; import { AuthErrorReason, type AuthReason, AuthStatus, type RequestState } from '../authStatus'; -import { authenticateRequest, RefreshTokenErrorReason } from '../request'; -import type { AuthenticateRequestOptions } from '../types'; +import { + authenticateRequest, + computeOrganizationSyncTargetMatchers, + getOrganizationSyncTarget, + type OrganizationSyncTarget, + RefreshTokenErrorReason, +} from '../request'; +import type { AuthenticateRequestOptions, OrganizationSyncOptions } from '../types'; const PK_TEST = 'pk_test_Y2xlcmsuaW5zcGlyZWQucHVtYS03NC5sY2wuZGV2JA'; const PK_LIVE = 'pk_live_Y2xlcmsuaW5zcGlyZWQucHVtYS03NC5sY2wuZGV2JA'; @@ -165,6 +171,182 @@ export default (QUnit: QUnit) => { return mockRequest({ cookie: cookieStr, ...headers }, requestUrl); }; + // Tests both getOrganizationSyncTarget and the organizationSyncOptions usage patterns + // that are recommended for typical use. + module('tokens.getOrganizationSyncTarget(url,options)', _ => { + type testCase = { + name: string; + // When the customer app specifies these orgSyncOptions to middleware... + whenOrgSyncOptions: OrganizationSyncOptions | undefined; + // And the path arrives at this URL path... + whenAppRequestPath: string; + // A handshake should (or should not) occur: + thenExpectActivationEntity: OrganizationSyncTarget | null; + }; + + const testCases: testCase[] = [ + { + name: 'none activates nothing', + whenOrgSyncOptions: undefined, + whenAppRequestPath: '/orgs/org_foo', + thenExpectActivationEntity: null, + }, + { + name: 'Can activate an org by ID (basic)', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id'], + }, + whenAppRequestPath: '/orgs/org_foo', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'mimatch activates nothing', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id'], + }, + whenAppRequestPath: '/personal-account/my-resource', + thenExpectActivationEntity: null, + }, + { + name: 'Can activate an org by ID (recommended matchers)', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id', '/orgs/:id/', '/orgs/:id/(.*)'], + }, + whenAppRequestPath: '/orgs/org_foo', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'Can activate an org by ID with a trailing slash', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id', '/orgs/:id/', '/orgs/:id/(.*)'], + }, + whenAppRequestPath: '/orgs/org_foo/', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'Can activate an org by ID with a trailing path component', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id', '/orgs/:id/', '/orgs/:id/(.*)'], + }, + whenAppRequestPath: '/orgs/org_foo/nested-resource', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'Can activate an org by ID with many trailing path component', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id/(.*)'], + }, + whenAppRequestPath: '/orgs/org_foo/nested-resource/and/more/deeply/nested/resources', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'Can activate an org by ID with an unrelated path token in the prefix', + whenOrgSyncOptions: { + organizationPatterns: ['/unknown-thing/:any/orgs/:id'], + }, + whenAppRequestPath: '/unknown-thing/thing/orgs/org_foo', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'org_foo', + }, + }, + { + name: 'Can activate an org by slug', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:slug'], + }, + whenAppRequestPath: '/orgs/my-org', + thenExpectActivationEntity: { + type: 'organization', + organizationSlug: 'my-org', + }, + }, + { + name: 'Can activate the personal account', + whenOrgSyncOptions: { + personalAccountPatterns: ['/personal-account'], + }, + whenAppRequestPath: '/personal-account', + thenExpectActivationEntity: { + type: 'personalAccount', + }, + }, + { + name: 'ID match precedes slug match', + whenOrgSyncOptions: { + organizationPatterns: ['/orgs/:id', '/orgs/:slug'], // bad practice + }, + whenAppRequestPath: '/orgs/my-org', + thenExpectActivationEntity: { + type: 'organization', + organizationId: 'my-org', + }, + }, + { + name: 'personal account match precedes org match', + whenOrgSyncOptions: { + organizationPatterns: ['/personal-account'], // bad practice + personalAccountPatterns: ['/personal-account'], + }, + whenAppRequestPath: '/personal-account', + thenExpectActivationEntity: { + type: 'personalAccount', + }, + }, + { + name: 'personal account may contain path tokens', + whenOrgSyncOptions: { + personalAccountPatterns: ['/user/:any', '/user/:any/(.*)'], + }, + whenAppRequestPath: '/user/123/home', + thenExpectActivationEntity: { + type: 'personalAccount', + }, + }, + { + name: 'All of the config at once', + whenOrgSyncOptions: { + organizationPatterns: [ + '/orgs-by-id/:id', + '/orgs-by-id/:id/(.*)', + '/orgs-by-slug/:slug', + '/orgs-by-slug/:slug/(.*)', + ], + personalAccountPatterns: ['/personal-account', '/personal-account/(.*)'], + }, + whenAppRequestPath: '/orgs-by-slug/org_bar/sub-resource', + thenExpectActivationEntity: { + type: 'organization', + organizationSlug: 'org_bar', + }, + }, + ]; + + testCases.forEach(testCase => { + test(testCase.name, assert => { + const path = new URL(`http://localhost:3000${testCase.whenAppRequestPath}`); + const matchers = computeOrganizationSyncTargetMatchers(testCase.whenOrgSyncOptions); + const toActivate = getOrganizationSyncTarget(path, testCase.whenOrgSyncOptions, matchers); + assert.deepEqual(toActivate, testCase.thenExpectActivationEntity); + }); + }); + }); + module('tokens.authenticateRequest(options)', hooks => { let fakeClock; let fakeFetch; diff --git a/packages/backend/src/tokens/authStatus.ts b/packages/backend/src/tokens/authStatus.ts index 658ca3af77..6bb141fd2b 100644 --- a/packages/backend/src/tokens/authStatus.ts +++ b/packages/backend/src/tokens/authStatus.ts @@ -69,6 +69,7 @@ export const AuthErrorReason = { SessionTokenNBF: 'session-token-nbf', SessionTokenIatInTheFuture: 'session-token-iat-in-the-future', SessionTokenWithoutClientUAT: 'session-token-but-no-client-uat', + ActiveOrganizationMismatch: 'active-organization-mismatch', UnexpectedError: 'unexpected-error', } as const; diff --git a/packages/backend/src/tokens/request.ts b/packages/backend/src/tokens/request.ts index 57d553f157..2e4ed6b9fa 100644 --- a/packages/backend/src/tokens/request.ts +++ b/packages/backend/src/tokens/request.ts @@ -1,3 +1,5 @@ +import type { Match, MatchFunction } from '@clerk/shared/pathToRegexp'; +import { match } from '@clerk/shared/pathToRegexp'; import type { JwtPayload } from '@clerk/types'; import { constants } from '../constants'; @@ -8,12 +10,13 @@ import { assertValidSecretKey } from '../util/optionsAssertions'; import { isDevelopmentFromSecretKey } from '../util/shared'; import type { AuthenticateContext } from './authenticateContext'; import { createAuthenticateContext } from './authenticateContext'; +import type { SignedInAuthObject } from './authObjects'; import type { HandshakeState, RequestState, SignedInState, SignedOutState } from './authStatus'; import { AuthErrorReason, handshake, signedIn, signedOut } from './authStatus'; import { createClerkRequest } from './clerkRequest'; import { getCookieName, getCookieValue } from './cookie'; import { verifyHandshakeToken } from './handshake'; -import type { AuthenticateRequestOptions } from './types'; +import type { AuthenticateRequestOptions, OrganizationSyncOptions } from './types'; import { verifyToken } from './verify'; export const RefreshTokenErrorReason = { @@ -101,6 +104,9 @@ export async function authenticateRequest( assertProxyUrlOrDomain(authenticateContext.proxyUrl || authenticateContext.domain); } + // NOTE(izaak): compute regex matchers early for efficiency - they can be used multiple times. + const organizationSyncTargetMatchers = computeOrganizationSyncTargetMatchers(options.organizationSyncOptions); + function removeDevBrowserFromURL(url: URL) { const updatedURL = new URL(url); @@ -124,6 +130,19 @@ export async function authenticateRequest( url.searchParams.append(constants.QueryParameters.DevBrowser, authenticateContext.devBrowserToken); } + const toActivate = getOrganizationSyncTarget( + authenticateContext.clerkUrl, + options.organizationSyncOptions, + organizationSyncTargetMatchers, + ); + if (toActivate) { + const params = getOrganizationSyncQueryParams(toActivate); + + params.forEach((value, key) => { + url.searchParams.append(key, value); + }); + } + return new Headers({ [constants.Headers.Location]: url.href }); } @@ -340,6 +359,67 @@ ${error.getFullMessage()}`, return signedOut(authenticateContext, reason, message); } + /** + * Determines if a handshake must occur to resolve a mismatch between the organization as specified + * by the URL (according to the options) and the actual active organization on the session. + * + * @returns {HandshakeState | SignedOutState | null} - The function can return the following: + * - {HandshakeState}: If a handshake is needed to resolve the mismatched organization. + * - {SignedOutState}: If a handshake is required but cannot be performed. + * - {null}: If no action is required. + */ + function handleMaybeOrganizationSyncHandshake( + authenticateContext: AuthenticateContext, + auth: SignedInAuthObject, + ): HandshakeState | SignedOutState | null { + const organizationSyncTarget = getOrganizationSyncTarget( + authenticateContext.clerkUrl, + options.organizationSyncOptions, + organizationSyncTargetMatchers, + ); + if (!organizationSyncTarget) { + return null; + } + let mustActivate = false; + if (organizationSyncTarget.type === 'organization') { + // Activate an org by slug? + if (organizationSyncTarget.organizationSlug && organizationSyncTarget.organizationSlug !== auth.orgSlug) { + mustActivate = true; + } + // Activate an org by ID? + if (organizationSyncTarget.organizationId && organizationSyncTarget.organizationId !== auth.orgId) { + mustActivate = true; + } + } + // Activate the personal account? + if (organizationSyncTarget.type === 'personalAccount' && auth.orgId) { + mustActivate = true; + } + if (!mustActivate) { + return null; + } + if (authenticateContext.handshakeRedirectLoopCounter > 0) { + // We have an organization that needs to be activated, but this isn't our first time redirecting. + // This is because we attempted to activate the organization previously, but the organization + // must not have been valid (either not found, or not valid for this user), and gave us back + // a null organization. We won't re-try the handshake, and leave it to the server component to handle. + console.warn( + 'Clerk: Organization activation handshake loop detected. This is likely due to an invalid organization ID or slug. Skipping organization activation.', + ); + return null; + } + const handshakeState = handleMaybeHandshakeStatus( + authenticateContext, + AuthErrorReason.ActiveOrganizationMismatch, + '', + ); + if (handshakeState.status !== 'handshake') { + // Currently, this is only possible if we're in a redirect loop, but the above check should guard against that. + return null; + } + return handshakeState; + } + async function authenticateRequestWithTokenInHeader() { const { sessionTokenInHeader } = authenticateContext; @@ -509,7 +589,23 @@ ${error.getFullMessage()}`, if (errors) { throw errors[0]; } - return signedIn(authenticateContext, data, undefined, authenticateContext.sessionTokenInCookie!); + const signedInRequestState = signedIn( + authenticateContext, + data, + undefined, + authenticateContext.sessionTokenInCookie!, + ); + + // Org sync if necessary + const handshakeRequestState = handleMaybeOrganizationSyncHandshake( + authenticateContext, + signedInRequestState.toAuth(), + ); + if (handshakeRequestState) { + return handshakeRequestState; + } + + return signedInRequestState; } catch (err) { return handleError(err, 'cookie'); } @@ -585,6 +681,132 @@ export const debugRequestState = (params: RequestState) => { return { isSignedIn, proxyUrl, reason, message, publishableKey, isSatellite, domain }; }; +type OrganizationSyncTargetMatchers = { + OrganizationMatcher: MatchFunction>> | null; + PersonalAccountMatcher: MatchFunction>> | null; +}; + +/** + * Computes regex-based matchers from the given organization sync options. + */ +export function computeOrganizationSyncTargetMatchers( + options: OrganizationSyncOptions | undefined, +): OrganizationSyncTargetMatchers { + let personalAccountMatcher: MatchFunction>> | null = null; + if (options?.personalAccountPatterns) { + try { + personalAccountMatcher = match(options.personalAccountPatterns); + } catch (e) { + // Likely to be encountered during development, so throwing the error is more prudent than logging + throw new Error(`Invalid personal account pattern "${options.personalAccountPatterns}": "${e}"`); + } + } + + let organizationMatcher: MatchFunction>> | null = null; + if (options?.organizationPatterns) { + try { + organizationMatcher = match(options.organizationPatterns); + } catch (e) { + // Likely to be encountered during development, so throwing the error is more prudent than logging + throw new Error(`Clerk: Invalid organization pattern "${options.organizationPatterns}": "${e}"`); + } + } + + return { + OrganizationMatcher: organizationMatcher, + PersonalAccountMatcher: personalAccountMatcher, + }; +} + +/** + * Determines if the given URL and settings indicate a desire to activate a specific + * organization or personal account. + * + * @param url - The URL of the original request. + * @param options - The organization sync options. + * @param matchers - The matchers for the organization and personal account patterns, as generated by `computeOrganizationSyncTargetMatchers`. + */ +export function getOrganizationSyncTarget( + url: URL, + options: OrganizationSyncOptions | undefined, + matchers: OrganizationSyncTargetMatchers, +): OrganizationSyncTarget | null { + if (!options) { + return null; + } + + // Check for personal account activation + if (matchers.PersonalAccountMatcher) { + let personalResult: Match>>; + try { + personalResult = matchers.PersonalAccountMatcher(url.pathname); + } catch (e) { + // Intentionally not logging the path to avoid potentially leaking anything sensitive + console.error(`Failed to apply personal account pattern "${options.personalAccountPatterns}" to a path`, e); + return null; + } + + if (personalResult) { + return { type: 'personalAccount' }; + } + } + + // Check for organization activation + if (matchers.OrganizationMatcher) { + let orgResult: Match>>; + try { + orgResult = matchers.OrganizationMatcher(url.pathname); + } catch (e) { + // Intentionally not logging the path to avoid potentially leaking anything sensitive + console.error(`Clerk: Failed to apply organization pattern "${options.organizationPatterns}" to a path`, e); + return null; + } + + if (orgResult && 'params' in orgResult) { + const params = orgResult.params; + + if ('id' in params && typeof params.id === 'string') { + return { type: 'organization', organizationId: params.id }; + } + if ('slug' in params && typeof params.slug === 'string') { + return { type: 'organization', organizationSlug: params.slug }; + } + console.warn( + 'Clerk: Detected an organization pattern match, but no organization ID or slug was found in the URL. Does the pattern include `:id` or `:slug`?', + ); + } + } + return null; +} + +/** + * Represents an organization or a personal account - e.g. an + * entity that can be activated by the handshake API. + */ +export type OrganizationSyncTarget = + | { type: 'personalAccount' } + | { type: 'organization'; organizationId?: string; organizationSlug?: string }; + +/** + * Generates the query parameters to activate an organization or personal account + * via the FAPI handshake api. + */ +function getOrganizationSyncQueryParams(toActivate: OrganizationSyncTarget): Map { + const ret = new Map(); + if (toActivate.type === 'personalAccount') { + ret.set('organization_id', ''); + } + if (toActivate.type === 'organization') { + if (toActivate.organizationId) { + ret.set('organization_id', toActivate.organizationId); + } + if (toActivate.organizationSlug) { + ret.set('organization_id', toActivate.organizationSlug); + } + } + return ret; +} + const convertTokenVerificationErrorReasonToAuthErrorReason = ({ tokenError, refreshError, diff --git a/packages/backend/src/tokens/types.ts b/packages/backend/src/tokens/types.ts index 3136f98338..0e97c0026c 100644 --- a/packages/backend/src/tokens/types.ts +++ b/packages/backend/src/tokens/types.ts @@ -10,5 +10,60 @@ export type AuthenticateRequestOptions = { signUpUrl?: string; afterSignInUrl?: string; afterSignUpUrl?: string; + organizationSyncOptions?: OrganizationSyncOptions; apiClient?: ApiClient; } & VerifyTokenOptions; + +/** + * Defines the options for syncing an organization or personal account state from the URL to the clerk session. + * Useful if the application requires the inclusion of a URL that indicates that a given clerk organization + * (or personal account) must be active on the clerk session. + * + * If a mismatch between the active organization on the session and the organization as indicated by the URL is + * detected, an attempt to activate the given organization will be made. + * + * WARNING: If the activation cannot be performed, either because an organization does not exist or the user lacks + * access, then the active organization on the session will not be changed (and a warning will be logged). It is + * ultimately the responsibility of the page to verify that the resources are appropriate to render given the URL, + * and handle mismatches appropriately (e.g. by returning a 404). + */ +export type OrganizationSyncOptions = { + /** + * URL patterns that are organization-specific and contain an organization ID or slug as a path token. + * If a request matches this path, the organization identifier will be extracted and activated before rendering. + * + * WARNING: If the organization cannot be activated either because it does not exist or the user lacks access, + * organization-related fields will be set to null. The server component must detect this and respond + * with an appropriate error (e.g., notFound()). + * + * If the route also matches the personalAccountPatterns, the personalAccountPattern takes precedence. + * + * Must have a path token named either ":id" (matches a clerk organization ID) or ":slug" (matches a clerk + * organization slug). + * + * Common examples: + * - ["/orgs/:slug", "/orgs/:slug/(.*)"] + * - ["/orgs/:id", "/orgs/:id/(.*)"] + * - ["/app/:any/orgs/:slug", "/app/:any/orgs/:slug/(.*)"] + */ + organizationPatterns?: Pattern[]; + + /** + * URL patterns for resources in the context of a clerk personal account (user-specific, outside any organization). + * If the route also matches the organizationPattern, this takes precedence. + * + * Common examples: + * - ["/user", "/user/(.*)"] + * - ["/user/:any", "/user/:any/(.*)"] + */ + personalAccountPatterns?: Pattern[]; +}; + +/** + * A pattern representing the structure of a URL path. + * In addition to a valid URL, may include: + * - Named path tokens prefixed with a colon (e.g., ":id", ":slug", ":any") + * - Wildcard token (e.g., ".(*)"), which will match the remainder of the path + * Examples: "/orgs/:slug", "/app/:any/orgs/:id", "/personal-account/(.*)" + */ +type Pattern = string; diff --git a/packages/chrome-extension/CHANGELOG.md b/packages/chrome-extension/CHANGELOG.md index a8ea88d80c..4d8226d0e3 100644 --- a/packages/chrome-extension/CHANGELOG.md +++ b/packages/chrome-extension/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## 1.3.17 + +### Patch Changes + +- Updated dependencies [[`e50ce1b10`](https://github.com/clerk/javascript/commit/e50ce1b101fc2c6805415b00193b108ab045d820)]: + - @clerk/clerk-js@5.26.3 + +## 1.3.16 + +### Patch Changes + +- Updated dependencies [[`a46c44eeb`](https://github.com/clerk/javascript/commit/a46c44eeb50b5cbac85d461384948cd77df7cf12), [`7719d1bcd`](https://github.com/clerk/javascript/commit/7719d1bcd8c7e38cb644fffbb85edc1fa0038288)]: + - @clerk/clerk-js@5.26.2 + ## 1.3.15 ### Patch Changes diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json index a9301855eb..878c3180b1 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/chrome-extension", - "version": "1.3.15", + "version": "1.3.17", "description": "Clerk SDK for Chrome extensions", "keywords": [ "auth", @@ -47,7 +47,7 @@ "test:coverage": "jest --collectCoverage && open coverage/lcov-report/index.html" }, "dependencies": { - "@clerk/clerk-js": "5.26.1", + "@clerk/clerk-js": "5.26.3", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "webextension-polyfill": "^0.10.0" diff --git a/packages/clerk-js/CHANGELOG.md b/packages/clerk-js/CHANGELOG.md index 89affdbc6d..47f23d0003 100644 --- a/packages/clerk-js/CHANGELOG.md +++ b/packages/clerk-js/CHANGELOG.md @@ -1,5 +1,22 @@ # Change Log +## 5.26.3 + +### Patch Changes + +- Update `OrganizationSwitcher` popover action to include label ([#4304](https://github.com/clerk/javascript/pull/4304)) by [@LauraBeatris](https://github.com/LauraBeatris) + +## 5.26.2 + +### Patch Changes + +- Handle gracefully Coinbase Wallet use of existing Passkey ([#4302](https://github.com/clerk/javascript/pull/4302)) by [@chanioxaris](https://github.com/chanioxaris) + +- Updates webpack to address CVE-2024-43788. ([#4287](https://github.com/clerk/javascript/pull/4287)) by [@dependabot](https://github.com/apps/dependabot) + +- Updated dependencies [[`e29a8061d`](https://github.com/clerk/javascript/commit/e29a8061d4106b9192837056e5f505c05f3c3a64), [`00a9ddb5b`](https://github.com/clerk/javascript/commit/00a9ddb5bd566fea7f22182047ae2c02e28e2ddc)]: + - @clerk/localizations@3.2.0 + ## 5.26.1 ### Patch Changes diff --git a/packages/clerk-js/package.json b/packages/clerk-js/package.json index aba6004664..ef7a8b0485 100644 --- a/packages/clerk-js/package.json +++ b/packages/clerk-js/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-js", - "version": "5.26.1", + "version": "5.26.3", "description": "Clerk JS library", "keywords": [ "clerk", @@ -50,7 +50,7 @@ }, "browserslist": "last 2 versions, ios_saf > 12, Safari > 12, > 1%, not dead, not ie > 0", "dependencies": { - "@clerk/localizations": "3.1.2", + "@clerk/localizations": "3.2.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "@coinbase/wallet-sdk": "4.0.4", @@ -69,12 +69,6 @@ "regenerator-runtime": "0.13.11" }, "devDependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/preset-typescript": "^7.12.1", "@clerk/eslint-config-custom": "*", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10", "@rsdoctor/webpack-plugin": "^0.4.4", @@ -83,8 +77,6 @@ "@types/react-dom": "*", "@types/webpack-dev-server": "^4.7.2", "@types/webpack-env": "^1.16.4", - "babel-loader": "^9.1.2", - "babel-plugin-module-resolver": "^5.0.0", "bundlewatch": "^0.4.0", "react-refresh": "^0.14.0", "react-refresh-typescript": "^2.0.5", diff --git a/packages/clerk-js/src/core/resources/SignIn.ts b/packages/clerk-js/src/core/resources/SignIn.ts index 27bfc60da2..e912463804 100644 --- a/packages/clerk-js/src/core/resources/SignIn.ts +++ b/packages/clerk-js/src/core/resources/SignIn.ts @@ -255,11 +255,22 @@ export class SignIn extends BaseResource implements SignInResource { clerkVerifyWeb3WalletCalledBeforeCreate('SignIn'); } - const signature = await generateSignature({ - identifier: this.identifier!, - nonce: nonce, - provider, - }); + let signature: string; + try { + signature = await generateSignature({ identifier, nonce, provider }); + } catch (err) { + // There is a chance that as a user when you try to setup and use the Coinbase Wallet with an existing + // Passkey in order to authenticate, the initial generate signature request to be rejected. For this + // reason we retry the request once more in order for the flow to be able to be completed successfully. + // + // error code 4001 means the user rejected the request + // Reference: https://docs.cdp.coinbase.com/wallet-sdk/docs/errors + if (provider === 'coinbase_wallet' && err.code === 4001) { + signature = await generateSignature({ identifier, nonce, provider }); + } else { + throw err; + } + } return this.attemptFirstFactor({ signature, diff --git a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx index 7edecbf80e..523a35552d 100644 --- a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx +++ b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx @@ -8,7 +8,6 @@ import { useEnvironment, useOrganizationSwitcherContext } from '../../contexts'; import { descriptors, Flex, localizationKeys } from '../../customizables'; import { Actions, - ExtraSmallAction, OrganizationPreview, PersonalWorkspacePreview, PopoverCard, @@ -105,20 +104,6 @@ export const OrganizationSwitcherPopover = React.forwardRef handleItemClick()} - trailing={} - /> - ); - const manageOrganizationButton = ( - {manageOrganizationSmallIconButton} + {manageOrganizationButton} ); diff --git a/packages/elements/CHANGELOG.md b/packages/elements/CHANGELOG.md index bfdbb93a74..1803bb69cc 100644 --- a/packages/elements/CHANGELOG.md +++ b/packages/elements/CHANGELOG.md @@ -1,5 +1,11 @@ # @clerk/elements +## 0.15.10 + +### Patch Changes + +- Remove "example mode" guard form "AUTHENICTATE.PASSKEY" event in verification flow ([#4295](https://github.com/clerk/javascript/pull/4295)) by [@tmilewski](https://github.com/tmilewski) + ## 0.15.9 ### Patch Changes diff --git a/packages/elements/examples/nextjs/app/sign-up/[[...sign-up]]/page.tsx b/packages/elements/examples/nextjs/app/sign-up/[[...sign-up]]/page.tsx index e163a4a3a7..79c77e6b5c 100644 --- a/packages/elements/examples/nextjs/app/sign-up/[[...sign-up]]/page.tsx +++ b/packages/elements/examples/nextjs/app/sign-up/[[...sign-up]]/page.tsx @@ -227,6 +227,11 @@ export default function SignUpPage() { + + +

Restricted Access

+

Access to this app is limited, and an invitation is required to sign up.

+
); diff --git a/packages/elements/package.json b/packages/elements/package.json index af98919a73..4aa91cda4c 100644 --- a/packages/elements/package.json +++ b/packages/elements/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/elements", - "version": "0.15.9", + "version": "0.15.10", "description": "Clerk Elements", "keywords": [ "clerk", diff --git a/packages/elements/src/internals/constants/index.ts b/packages/elements/src/internals/constants/index.ts index 1ca489d3c2..9e7dc36875 100644 --- a/packages/elements/src/internals/constants/index.ts +++ b/packages/elements/src/internals/constants/index.ts @@ -1,9 +1,16 @@ +import type { SignUpModes } from '@clerk/types'; + import { safeAccess } from '~/utils/safe-access'; export const SSO_CALLBACK_PATH_ROUTE = '/sso-callback'; export const CHOOSE_SESSION_PATH_ROUTE = '/choose'; export const MAGIC_LINK_VERIFY_PATH_ROUTE = '/verify'; +export const SIGN_UP_MODES: Record = { + PUBLIC: 'public', + RESTRICTED: 'restricted', +}; + // TODO: remove reliance on next-specific variables here export const SIGN_IN_DEFAULT_BASE_PATH = safeAccess( () => process.env.CLERK_SIGN_IN_URL ?? process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL, diff --git a/packages/elements/src/internals/machines/sign-in/verification.machine.ts b/packages/elements/src/internals/machines/sign-in/verification.machine.ts index 0ae248f3c3..eeedd8c2de 100644 --- a/packages/elements/src/internals/machines/sign-in/verification.machine.ts +++ b/packages/elements/src/internals/machines/sign-in/verification.machine.ts @@ -14,7 +14,7 @@ import type { Web3Attempt, } from '@clerk/types'; import type { DoneActorEvent } from 'xstate'; -import { assign, fromPromise, log, not, sendTo, setup } from 'xstate'; +import { assign, fromPromise, log, sendTo, setup } from 'xstate'; import { MAGIC_LINK_VERIFY_PATH_ROUTE, @@ -270,7 +270,6 @@ const SignInVerificationMachine = setup({ description: 'Waiting for user input', on: { 'AUTHENTICATE.PASSKEY': { - guard: not('isExampleMode'), target: 'AttemptingPasskey', reenter: true, }, @@ -411,7 +410,7 @@ export const SignInFirstFactorMachine = SignInVerificationMachine.provide({ // prepareFirstFactor, we need to assert that the input is a PrepareFirstFactor. For some reason, ESLint thinks // the assertion is unnecessary, and will remove it during the pre-commit hook. To prevent that, we disable the // rule for the line. - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion + const { params, parent, resendable } = input as PrepareFirstFactorInput; const clerk = parent.getSnapshot().context.clerk; diff --git a/packages/elements/src/internals/machines/sign-up/router.machine.ts b/packages/elements/src/internals/machines/sign-up/router.machine.ts index 5019bd03dc..84cfe139ba 100644 --- a/packages/elements/src/internals/machines/sign-up/router.machine.ts +++ b/packages/elements/src/internals/machines/sign-up/router.machine.ts @@ -9,6 +9,7 @@ import { SEARCH_PARAMS, SIGN_IN_DEFAULT_BASE_PATH, SIGN_UP_DEFAULT_BASE_PATH, + SIGN_UP_MODES, SSO_CALLBACK_PATH_ROUTE, } from '~/internals/constants'; import { ClerkElementsError, ClerkElementsRuntimeError } from '~/internals/errors'; @@ -156,6 +157,9 @@ export const SignUpRouterMachine = setup({ isLoggedIn: or(['isStatusComplete', ({ context }) => Boolean(context.clerk.user)]), isSingleSessionMode: ({ context }) => Boolean(context.clerk?.__unstable__environment?.authConfig.singleSessionMode), + isRestricted: ({ context }) => + context.clerk?.__unstable__environment?.userSettings.signUp.mode === SIGN_UP_MODES.RESTRICTED, + isRestrictedWithoutTicket: and(['isRestricted', not('hasTicket')]), isExampleMode: ({ context }) => Boolean(context.exampleMode), isMissingRequiredFields: and(['isStatusMissingRequirements', 'areFieldsMissing']), isMissingRequiredUnverifiedFields: and(['isStatusMissingRequirements', 'areFieldsUnverified']), @@ -311,6 +315,10 @@ export const SignUpRouterMachine = setup({ actions: { type: 'navigateInternal', params: { force: true, path: '/continue' } }, target: 'Continue', }, + { + guard: 'isRestrictedWithoutTicket', + target: 'Restricted', + }, { actions: { type: 'navigateInternal', params: { force: true, path: '/' } }, target: 'Start', @@ -478,6 +486,12 @@ export const SignUpRouterMachine = setup({ ], }, }, + Restricted: { + tags: ['step:restricted'], + on: { + NEXT: 'Start', + }, + }, Error: { tags: ['step:error'], on: { diff --git a/packages/elements/src/internals/machines/sign-up/router.types.ts b/packages/elements/src/internals/machines/sign-up/router.types.ts index 599ba90958..77fa4648dd 100644 --- a/packages/elements/src/internals/machines/sign-up/router.types.ts +++ b/packages/elements/src/internals/machines/sign-up/router.types.ts @@ -26,6 +26,7 @@ export const SignUpRouterSteps = { verification: 'step:verification', callback: 'step:callback', error: 'step:error', + restricted: 'step:restricted', } as const; export type SignUpRouterSteps = keyof typeof SignUpRouterSteps; diff --git a/packages/elements/src/react/sign-up/restricted.tsx b/packages/elements/src/react/sign-up/restricted.tsx new file mode 100644 index 0000000000..1813643913 --- /dev/null +++ b/packages/elements/src/react/sign-up/restricted.tsx @@ -0,0 +1,20 @@ +import type { FormProps } from '~/react/common/form'; +import { Form } from '~/react/common/form'; +import { useActiveTags } from '~/react/hooks'; +import { SignUpRouterCtx } from '~/react/sign-up/context'; + +export type SignUpRestrictedProps = FormProps; + +export function SignUpRestricted(props: SignUpRestrictedProps) { + const routerRef = SignUpRouterCtx.useActorRef(); + const activeState = useActiveTags(routerRef, 'step:restricted'); + + return activeState ? ( +
+ ) : null; +} diff --git a/packages/elements/src/react/sign-up/step.tsx b/packages/elements/src/react/sign-up/step.tsx index d17e72c567..3d67ac563d 100644 --- a/packages/elements/src/react/sign-up/step.tsx +++ b/packages/elements/src/react/sign-up/step.tsx @@ -5,6 +5,8 @@ import { ClerkElementsRuntimeError } from '~/internals/errors'; import type { SignUpContinueProps } from './continue'; import { SignUpContinue } from './continue'; +import type { SignUpRestrictedProps } from './restricted'; +import { SignUpRestricted } from './restricted'; import type { SignUpStartProps } from './start'; import { SignUpStart } from './start'; import type { SignUpVerificationsProps } from './verifications'; @@ -14,6 +16,7 @@ export const SIGN_UP_STEPS = { start: 'start', continue: 'continue', verifications: 'verifications', + restricted: 'restricted', } as const; export type TSignUpStep = (typeof SIGN_UP_STEPS)[keyof typeof SIGN_UP_STEPS]; @@ -22,7 +25,8 @@ type StepWithProps = { name: N } & T; export type SignUpStepProps = | StepWithProps<'start', SignUpStartProps> | StepWithProps<'continue', SignUpContinueProps> - | StepWithProps<'verifications', SignUpVerificationsProps>; + | StepWithProps<'verifications', SignUpVerificationsProps> + | StepWithProps<'restricted', SignUpRestrictedProps>; /** * Render different steps of the sign-up flow. Initially the `'start'` step is rendered. Optionally, you can render additional fields in the `'continue'` step. Once a sign-up attempt has been created, `'verifications'` will be displayed. @@ -50,7 +54,11 @@ export function SignUpStep(props: SignUpStepProps) { return ; case SIGN_UP_STEPS.verifications: return ; + case SIGN_UP_STEPS.restricted: + return ; default: - throw new ClerkElementsRuntimeError(`Invalid step name. Use 'start', 'continue', or 'verifications'.`); + throw new ClerkElementsRuntimeError( + `Invalid step name. Use 'start', 'continue', 'verifications', or 'restricted'.`, + ); } } diff --git a/packages/expo/CHANGELOG.md b/packages/expo/CHANGELOG.md index dae73a1e6d..1341e70797 100644 --- a/packages/expo/CHANGELOG.md +++ b/packages/expo/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## 2.2.23 + +### Patch Changes + +- Updated dependencies [[`e50ce1b10`](https://github.com/clerk/javascript/commit/e50ce1b101fc2c6805415b00193b108ab045d820)]: + - @clerk/clerk-js@5.26.3 + +## 2.2.22 + +### Patch Changes + +- Updated dependencies [[`a46c44eeb`](https://github.com/clerk/javascript/commit/a46c44eeb50b5cbac85d461384948cd77df7cf12), [`7719d1bcd`](https://github.com/clerk/javascript/commit/7719d1bcd8c7e38cb644fffbb85edc1fa0038288)]: + - @clerk/clerk-js@5.26.2 + ## 2.2.21 ### Patch Changes diff --git a/packages/expo/package.json b/packages/expo/package.json index 3cf53e5b9b..7ff1dd8ad2 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-expo", - "version": "2.2.21", + "version": "2.2.23", "description": "Clerk React Native/Expo library", "keywords": [ "react", @@ -55,7 +55,7 @@ "publish:local": "npx yalc push --replace --sig" }, "dependencies": { - "@clerk/clerk-js": "5.26.1", + "@clerk/clerk-js": "5.26.3", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md index 6cbc033e74..b699e9dc91 100644 --- a/packages/express/CHANGELOG.md +++ b/packages/express/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 1.2.2 + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 1.2.1 ### Patch Changes diff --git a/packages/express/package.json b/packages/express/package.json index 3b76f1d085..091f3298ac 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/express", - "version": "1.2.1", + "version": "1.2.2", "description": "Clerk server SDK for usage with Express", "keywords": [ "clerk", @@ -53,7 +53,7 @@ "test:ci": "jest --maxWorkers=70%" }, "dependencies": { - "@clerk/backend": "^1.13.8", + "@clerk/backend": "^1.13.9", "@clerk/shared": "^2.9.0", "@clerk/types": "4.25.0", "tslib": "2.4.1" diff --git a/packages/fastify/CHANGELOG.md b/packages/fastify/CHANGELOG.md index 24085e32fe..ac5e276fe5 100644 --- a/packages/fastify/CHANGELOG.md +++ b/packages/fastify/CHANGELOG.md @@ -1,5 +1,20 @@ # Change Log +## 2.0.0 + +### Major Changes + +- Recently Fastify released its v5 and along with it came some breaking changes. Read their [migration guide](https://fastify.dev/docs/latest/Guides/Migration-Guide-V5/) to learn more. ([#4270](https://github.com/clerk/javascript/pull/4270)) by [@LekoArts](https://github.com/LekoArts) + + In order to support Fastify v5 a new major version of `@clerk/fastify` is required as Fastify's Node.js requirement is now `>=20`. Previously `@clerk/fastify` allowed `>=18.17.0`. + + `@clerk/fastify@2.0.0` only supports Fastify v5 or later, if you want/need to continue using Fastify v4, please stick with your current version. The `@clerk/fastify@2.0.0` upgrade itself doesn't have any required code changes as only internal dependencies and requirements were updated. + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 1.0.51 ### Patch Changes diff --git a/packages/fastify/README.md b/packages/fastify/README.md index 7d00d42d09..0be40bc6a8 100644 --- a/packages/fastify/README.md +++ b/packages/fastify/README.md @@ -31,8 +31,8 @@ ### Prerequisites -- Fastify `^4.0.0` or later -- Node.js `>=18.17.0` or later +- Fastify `^5.0.0` or later +- Node.js `>=20.0.0` or later - An existing Clerk application. [Create your account for free](https://dashboard.clerk.com/sign-up?utm_source=github&utm_medium=clerk_fastify). ### Installation diff --git a/packages/fastify/package.json b/packages/fastify/package.json index 1b6e4ce282..27921ee59e 100644 --- a/packages/fastify/package.json +++ b/packages/fastify/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/fastify", - "version": "1.0.51", + "version": "2.0.0", "description": "Clerk SDK for Fastify", "keywords": [ "auth", @@ -40,23 +40,24 @@ "test:cache:clear": "jest --clearCache --useStderr" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookies": "0.8.0" + "cookies": "0.8.0", + "fastify-plugin": "^5.0.1" }, "devDependencies": { "@clerk/eslint-config-custom": "*", - "@types/node": "^18.19.33", + "@types/node": "^20.14.8", + "fastify": "^5.0.0", "tsup": "*", "typescript": "*" }, "peerDependencies": { - "fastify": ">=4", - "fastify-plugin": "^4.5.0" + "fastify": ">=5" }, "engines": { - "node": ">=18.17.0" + "node": ">=20" }, "publishConfig": { "access": "public" diff --git a/packages/fastify/src/clerkPlugin.ts b/packages/fastify/src/clerkPlugin.ts index b6c3debc4b..477894881a 100644 --- a/packages/fastify/src/clerkPlugin.ts +++ b/packages/fastify/src/clerkPlugin.ts @@ -17,7 +17,6 @@ const plugin: FastifyPluginCallback = ( throw new Error(`Unsupported hookName: ${hookName}`); } - // @ts-expect-error unions don't play well with TS overload signatures instance.addHook(hookName, withClerkMiddleware(opts)); done(); @@ -25,5 +24,5 @@ const plugin: FastifyPluginCallback = ( export const clerkPlugin = fp(plugin, { name: '@clerk/fastify', - fastify: '4.x', + fastify: '5.x', }); diff --git a/packages/localizations/CHANGELOG.md b/packages/localizations/CHANGELOG.md index 3b9bfe74a6..f7ad6337b0 100644 --- a/packages/localizations/CHANGELOG.md +++ b/packages/localizations/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 3.2.0 + +### Minor Changes + +- Add be-BY translation ([#4280](https://github.com/clerk/javascript/pull/4280)) by [@NikitaRadzkov](https://github.com/NikitaRadzkov) + +### Patch Changes + +- Update `de-DE` translation to be GDPR-compliant ([#4195](https://github.com/clerk/javascript/pull/4195)) by [@serbanradulescu](https://github.com/serbanradulescu) + ## 3.1.2 ### Patch Changes diff --git a/packages/localizations/package.json b/packages/localizations/package.json index 2a52a7593b..b17725588f 100644 --- a/packages/localizations/package.json +++ b/packages/localizations/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/localizations", - "version": "3.1.2", + "version": "3.2.0", "description": "Localizations for the Clerk components", "keywords": [ "react", diff --git a/packages/nextjs/CHANGELOG.md b/packages/nextjs/CHANGELOG.md index 262c52ee8f..685c2575c3 100644 --- a/packages/nextjs/CHANGELOG.md +++ b/packages/nextjs/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 5.7.2 + +### Patch Changes + +- Introduces `organizationSyncOptions` option to `clerkMiddleware`, which syncs an active organization or personal account from a URL to the Clerk session. ([#3977](https://github.com/clerk/javascript/pull/3977)) by [@izaaklauer](https://github.com/izaaklauer) + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 5.7.1 ### Patch Changes diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index 1873220202..e299c1c391 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/nextjs", - "version": "5.7.1", + "version": "5.7.2", "description": "Clerk SDK for NextJS", "keywords": [ "clerk", @@ -67,7 +67,7 @@ "test:ci": "jest --maxWorkers=70%" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", diff --git a/packages/remix/CHANGELOG.md b/packages/remix/CHANGELOG.md index 048ac64105..bd42836237 100644 --- a/packages/remix/CHANGELOG.md +++ b/packages/remix/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 4.2.36 + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 4.2.35 ### Patch Changes diff --git a/packages/remix/package.json b/packages/remix/package.json index eb200f7f56..6dff670b64 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/remix", - "version": "4.2.35", + "version": "4.2.36", "description": "Clerk SDK for Remix", "keywords": [ "clerk", @@ -73,11 +73,11 @@ "publish:local": "npx yalc push --replace --sig" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", - "cookie": "0.5.0", + "cookie": "0.7.0", "tslib": "2.4.1" }, "devDependencies": { diff --git a/packages/sdk-node/CHANGELOG.md b/packages/sdk-node/CHANGELOG.md index 265d28ada8..b20be7e575 100644 --- a/packages/sdk-node/CHANGELOG.md +++ b/packages/sdk-node/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 5.0.49 + +### Patch Changes + +- Add transition period notice and migration info ([#4305](https://github.com/clerk/javascript/pull/4305)) by [@wobsoriano](https://github.com/wobsoriano) + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 5.0.48 ### Patch Changes diff --git a/packages/sdk-node/README.md b/packages/sdk-node/README.md index e1fdedb1b9..95ac976fda 100644 --- a/packages/sdk-node/README.md +++ b/packages/sdk-node/README.md @@ -25,6 +25,9 @@ +> [!IMPORTANT] +> Starting October 8, 2024, the Node SDK is entering a three-month notice period. We encourage everyone to migrate to `@clerk/express`. For full details, please see our [changelog](https://clerk.com/changelog/2024-10-08-express-sdk). + ## Getting Started [Clerk](https://clerk.com/?utm_source=github&utm_medium=clerk_sdk_node) is the easiest way to add authentication and user management to your Node.js application. Add sign up, sign in, and profile management to your application in minutes. diff --git a/packages/sdk-node/package.json b/packages/sdk-node/package.json index f6f3242a0b..3547a0d19b 100644 --- a/packages/sdk-node/package.json +++ b/packages/sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/clerk-sdk-node", - "version": "5.0.48", + "version": "5.0.49", "description": "Clerk server SDK for usage with node", "keywords": [ "clerk", @@ -53,7 +53,7 @@ "test:ci": "jest --maxWorkers=70%" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "tslib": "2.4.1" diff --git a/packages/sdk-node/src/index.ts b/packages/sdk-node/src/index.ts index 6de071dd83..4194c5e28e 100644 --- a/packages/sdk-node/src/index.ts +++ b/packages/sdk-node/src/index.ts @@ -24,3 +24,9 @@ export { createClerkExpressRequireAuth, createClerkExpressWithAuth }; export { requireAuth } from './requireAuth'; export { withAuth } from './withAuth'; + +console.warn( + 'Starting October 8, 2024, the Node SDK is entering a three-month notice period. ' + + 'We encourage everyone to migrate to @clerk/express. ' + + 'For full details, please see our changelog: https://clerk.com/changelog/2024-10-08-express-sdk', +); diff --git a/packages/tanstack-start/CHANGELOG.md b/packages/tanstack-start/CHANGELOG.md index 3b19e6e725..5b11c2b186 100644 --- a/packages/tanstack-start/CHANGELOG.md +++ b/packages/tanstack-start/CHANGELOG.md @@ -1,5 +1,12 @@ # @clerk/tanstack-start +## 0.4.12 + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 0.4.11 ### Patch Changes diff --git a/packages/tanstack-start/package.json b/packages/tanstack-start/package.json index 174565e537..1a12766719 100644 --- a/packages/tanstack-start/package.json +++ b/packages/tanstack-start/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/tanstack-start", - "version": "0.4.11", + "version": "0.4.12", "description": "Clerk SDK for TanStack Start", "keywords": [ "clerk", @@ -54,7 +54,7 @@ "publish:local": "npx yalc push --replace --sig" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/clerk-react": "5.11.0", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", diff --git a/packages/testing/CHANGELOG.md b/packages/testing/CHANGELOG.md index 841a13d734..e46a5dc6af 100644 --- a/packages/testing/CHANGELOG.md +++ b/packages/testing/CHANGELOG.md @@ -1,5 +1,12 @@ # @clerk/testing +## 1.3.10 + +### Patch Changes + +- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]: + - @clerk/backend@1.13.9 + ## 1.3.9 ### Patch Changes diff --git a/packages/testing/package.json b/packages/testing/package.json index 1454292f4d..0e28e62e44 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@clerk/testing", - "version": "1.3.9", + "version": "1.3.10", "description": "Utilities to help you create E2E test suites for apps using Clerk", "keywords": [ "auth", @@ -62,7 +62,7 @@ "lint": "eslint src/" }, "dependencies": { - "@clerk/backend": "1.13.8", + "@clerk/backend": "1.13.9", "@clerk/shared": "2.9.0", "@clerk/types": "4.25.0", "dotenv": "16.4.5" diff --git a/playground/fastify/.env.sample b/playground/fastify/.env.sample index e193a5111d..1886a69454 100644 --- a/playground/fastify/.env.sample +++ b/playground/fastify/.env.sample @@ -1 +1,4 @@ -CLERK_API_KEY= +CLERK_PUBLISHABLE_KEY= +CLERK_SECRET_KEY= +PUBLIC_CLERK_SIGN_IN_URL=/sign-in +FRONTEND_API_URL= diff --git a/playground/fastify/README.md b/playground/fastify/README.md index 208651bb54..e6d1696dad 100644 --- a/playground/fastify/README.md +++ b/playground/fastify/README.md @@ -1,31 +1,26 @@ -## Setup development +# playground-fastify -Execute in root folder: +Use this example app to test `@clerk/fastify`. -```bash -npm i -npm run build && npm run yalc:all -``` +## Usage -Execute in current folder: +1. Install dependencies -```bash -touch .env # set PUBLISHABLE_KEY and SECRET_KEY from Clerk Dashboard API keys -npm i -rm -rf node_modules/@clerk -yalc add @clerk/fastify @clerk/backend @clerk/types --pure +```shell +npm install ``` -## Getting Started +1. Use [`@clerk/dev-cli`](https://github.com/clerk/javascript/tree/main/packages/dev-cli) to build all repository packages and install the local version into this playground. -First, run the development server: +1. Start the server: -```bash +```shell npm run start ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -## Reload changes from packages/\* package +You can visit these routes: -Apply change in packages/\* project folder and run `npm run build`. Then restart Fastify server by killing the current and executing `npm start` and the change should be visible. +- `/` +- `/sign-in` +- `/me` (requires sign-in) +- `/private` (requires sign-in) \ No newline at end of file diff --git a/playground/fastify/package.json b/playground/fastify/package.json index b4d475b81b..aceb099c96 100644 --- a/playground/fastify/package.json +++ b/playground/fastify/package.json @@ -6,21 +6,20 @@ "start": "ts-node ./src/server.ts" }, "dependencies": { - "@clerk/backend": "file:.yalc/@clerk/backend", - "@clerk/fastify": "file:.yalc/@clerk/fastify", - "@clerk/shared": "file:.yalc/@clerk/shared", - "@clerk/types": "file:.yalc/@clerk/types", - "@fastify/view": "^8.0.0", - "dotenv": "^16.0.3", - "ejs": "^3.1.9", - "fastify": "^4.12.0", - "ts-node": "^10.9.1" + "@clerk/backend": "^1.13.6", + "@clerk/fastify": "^1.0.49", + "@clerk/shared": "^2.8.4", + "@clerk/types": "^4.23.0", + "@fastify/view": "^10.0.1", + "dotenv": "^16.4.5", + "ejs": "^3.1.10", + "fastify": "^5.0.0", + "ts-node": "^10.9.2" }, "devDependencies": { - "@types/ejs": "^3.1.2", - "@types/node": "^18.11.18", - "eslint": "8.24.0", - "tslib": "^2.5.0", - "typescript": "4.8.4" + "@types/ejs": "^3.1.5", + "@types/node": "^20.14.8", + "tslib": "^2.7.0", + "typescript": "5.0.4" } } diff --git a/playground/fastify/src/loadEnv.ts b/playground/fastify/src/loadEnv.ts index 5b5d1facc9..a4e52bbebb 100644 --- a/playground/fastify/src/loadEnv.ts +++ b/playground/fastify/src/loadEnv.ts @@ -1,2 +1,2 @@ import * as dotenv from 'dotenv'; -dotenv.config(); +dotenv.config({ path: ['.env.local', '.env.production', '.env'] }); diff --git a/playground/fastify/src/routes/public.ts b/playground/fastify/src/routes/public.ts index 04d84ec850..cfefc2246e 100644 --- a/playground/fastify/src/routes/public.ts +++ b/playground/fastify/src/routes/public.ts @@ -1,16 +1,15 @@ import type { FastifyInstance } from 'fastify'; export const publicRoutes = async (fastify: FastifyInstance, _opts: any) => { - fastify.get('/public', async (_req, _reply) => { + fastify.get('/', async (_req, _reply) => { return { hello: 'world' }; }); - fastify.get('/home', async (_req, reply) => { - return reply.view('/src/templates/home.ejs', { - publishableKey: process.env.CLERK_PUBLISHABLE_KEY, - domain: process.env.CLERK_DOMAIN, - isSatellite: process.env.CLERK_IS_SATELLITE, - signInUrl: process.env.CLERK_SIGN_IN_URL, + fastify.get('/sign-in', async (_req, reply) => { + return reply.viewAsync('/src/templates/sign-in.ejs', { + CLERK_PUBLISHABLE_KEY: process.env.CLERK_PUBLISHABLE_KEY, + PUBLIC_CLERK_SIGN_IN_URL: process.env.PUBLIC_CLERK_SIGN_IN_URL, + FRONTEND_API_URL: process.env.FRONTEND_API_URL, }); }); }; diff --git a/playground/fastify/src/templates/home.ejs b/playground/fastify/src/templates/home.ejs deleted file mode 100644 index 7fe10c1bcc..0000000000 --- a/playground/fastify/src/templates/home.ejs +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - diff --git a/playground/fastify/src/templates/sign-in.ejs b/playground/fastify/src/templates/sign-in.ejs new file mode 100644 index 0000000000..f1e1be4eb3 --- /dev/null +++ b/playground/fastify/src/templates/sign-in.ejs @@ -0,0 +1,24 @@ + + + + + + + + + +