mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
Merge dev into rename-user-to-project
This commit is contained in:
commit
8020f6bf88
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,6 +14,7 @@ node-compile-cache/
|
||||
.eslintcache
|
||||
.env.local
|
||||
.env.*.local
|
||||
scratch/
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
"nodemailer": "^6.9.10",
|
||||
"oidc-provider": "^8.5.1",
|
||||
"openid-client": "5.6.4",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"posthog-node": "^4.1.0",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
|
||||
@ -25,9 +25,8 @@ export const POST = createSmartRouteHandler({
|
||||
}),
|
||||
async handler({ auth: { tenancy }, body: { login_code, refresh_token } }) {
|
||||
// Find the CLI auth attempt
|
||||
const cliAuth = await prismaClient.cliAuthAttempt.findFirst({
|
||||
const cliAuth = await prismaClient.cliAuthAttempt.findUnique({
|
||||
where: {
|
||||
tenancyId: tenancy.id,
|
||||
loginCode: login_code,
|
||||
refreshToken: null,
|
||||
expiresAt: {
|
||||
@ -40,6 +39,10 @@ export const POST = createSmartRouteHandler({
|
||||
throw new StatusError(400, "Invalid login code or the code has expired");
|
||||
}
|
||||
|
||||
if (cliAuth.tenancyId !== tenancy.id) {
|
||||
throw new StatusError(400, "Project ID mismatch; please ensure that you are using the correct app url.");
|
||||
}
|
||||
|
||||
// Update with refresh token
|
||||
await prismaClient.cliAuthAttempt.update({
|
||||
where: {
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { createAuthTokens } from "@/lib/tokens";
|
||||
import { prismaClient } from "@/prisma-client";
|
||||
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
|
||||
import { verifyTOTP } from "@oslojs/otp";
|
||||
import { VerificationCodeType } from "@prisma/client";
|
||||
import { KnownErrors } from "@stackframe/stack-shared";
|
||||
import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
|
||||
import { signInResponseSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { StackAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { TOTPController } from "oslo/otp";
|
||||
|
||||
export const mfaVerificationCodeHandler = createVerificationCodeHandler({
|
||||
metadata: {
|
||||
@ -49,7 +49,7 @@ export const mfaVerificationCodeHandler = createVerificationCodeHandler({
|
||||
if (!totpSecret) {
|
||||
throw new StackAssertionError("User does not have a TOTP secret", { user });
|
||||
}
|
||||
const isTotpValid = await new TOTPController().verify(body.totp, totpSecret);
|
||||
const isTotpValid = verifyTOTP(totpSecret, 30, 6, body.totp);
|
||||
if (!isTotpValid) {
|
||||
throw new KnownErrors.InvalidTotpCode();
|
||||
}
|
||||
|
||||
@ -15,6 +15,6 @@
|
||||
"@stackframe/stack-shared": "workspace:*",
|
||||
"dotenv": "^16.4.5",
|
||||
"jose": "^5.2.2",
|
||||
"oslo": "^1.2.1"
|
||||
"@oslojs/otp": "^1.1.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { TOTPController } from "oslo/otp";
|
||||
import { generateTOTP } from "@oslojs/otp";
|
||||
import { it } from "../../../../../../helpers";
|
||||
import { Auth, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
|
||||
|
||||
@ -28,7 +28,7 @@ it("should sign in users with MFA enabled", async ({ expect }) => {
|
||||
},
|
||||
}
|
||||
`);
|
||||
const totp = await new TOTPController().generate(totpSecret);
|
||||
const totp = generateTOTP(totpSecret, 30, 6);
|
||||
const response = await niceBackendFetch("/api/v1/auth/mfa/sign-in", {
|
||||
accessType: "client",
|
||||
method: "POST",
|
||||
@ -67,7 +67,7 @@ it("should reject invalid attempt codes", async ({ expect }) => {
|
||||
const passwordRes = await Auth.Password.signUpWithEmail();
|
||||
const { totpSecret } = await Auth.Mfa.setupTotpMfa();
|
||||
await Auth.signOut();
|
||||
const totp = await new TOTPController().generate(totpSecret);
|
||||
const totp = generateTOTP(totpSecret, 30, 6);
|
||||
const response = await niceBackendFetch("/api/v1/auth/mfa/sign-in", {
|
||||
accessType: "client",
|
||||
method: "POST",
|
||||
|
||||
@ -5,7 +5,7 @@ description: How to authenticate a command line application using Stack Auth
|
||||
|
||||
If you're building a command line application that runs in a terminal, you can use Stack Auth to let your users log in to their accounts.
|
||||
|
||||
To do so, we provide a Python template that you can use as a starting point. [Download it here](https://app.stack-auth.com/stack_auth_cli_template.py) and copy it into your project, for example:
|
||||
To do so, we provide a Python template that you can use as a starting point. [Download it here](https://github.com/stack-auth/stack-auth/docs/examples/stack_auth_cli_template.py) and copy it into your project, for example:
|
||||
|
||||
```py
|
||||
└─ my-python-app
|
||||
|
||||
@ -11,6 +11,10 @@
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.grid:has(.prose .stack-aside-container) {
|
||||
grid-template-columns: minmax(0, 1fr) !important;
|
||||
}
|
||||
|
||||
.stack-aside-container {
|
||||
display: grid;
|
||||
grid-template-columns: 55% 40%;
|
||||
@ -64,19 +68,19 @@
|
||||
|
||||
}
|
||||
|
||||
.fern-accordion > [data-state="closed"] > button > .fern-accordion-trigger-title > .accordion-show-properties::before {
|
||||
.fern-accordion > [data-state="closed"] .fern-accordion-trigger-title > .accordion-show-properties::before {
|
||||
content: "Show properties";
|
||||
}
|
||||
|
||||
.fern-accordion > [data-state="open"] > button > .fern-accordion-trigger-title > .accordion-show-properties::before {
|
||||
.fern-accordion > [data-state="open"] .fern-accordion-trigger-title > .accordion-show-properties::before {
|
||||
content: "Hide properties";
|
||||
}
|
||||
|
||||
.fern-accordion > [data-state="closed"] > button > .fern-accordion-trigger-title > .accordion-show-possible-values::before {
|
||||
.fern-accordion > [data-state="closed"] .fern-accordion-trigger-title > .accordion-show-possible-values::before {
|
||||
content: "Show possible values";
|
||||
}
|
||||
|
||||
.fern-accordion > [data-state="open"] > button > .fern-accordion-trigger-title > .accordion-show-possible-values::before {
|
||||
.fern-accordion > [data-state="open"] .fern-accordion-trigger-title > .accordion-show-possible-values::before {
|
||||
content: "Hide possible values";
|
||||
}
|
||||
|
||||
@ -141,7 +145,7 @@ svg[icon*="square-u"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.stack-50h > span > span > img {
|
||||
div.stack-50h > span > span > img, img.stack-50h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -149,7 +153,7 @@ div.stack-50h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-100h > span > span > img {
|
||||
div.stack-100h > span > span > img, img.stack-100h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -157,7 +161,7 @@ div.stack-100h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-150h > span > span > img {
|
||||
div.stack-150h > span > span > img, img.stack-150h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -165,7 +169,7 @@ div.stack-150h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-200h > span > span > img {
|
||||
div.stack-200h > span > span > img, img.stack-200h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -173,7 +177,7 @@ div.stack-200h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-250h > span > span > img {
|
||||
div.stack-250h > span > span > img, img.stack-250h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -181,7 +185,7 @@ div.stack-250h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-300h > span > span > img {
|
||||
div.stack-300h > span > span > img, img.stack-300h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
@ -189,7 +193,7 @@ div.stack-300h > span > span > img {
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
div.stack-350h > span > span > img {
|
||||
div.stack-350h > span > span > img, img.stack-350h {
|
||||
aspect-ratio: auto !important;
|
||||
height: unset !important;
|
||||
width: unset !important;
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
"jose": "^5.2.2",
|
||||
"js-cookie": "^3.0.5",
|
||||
"oauth4webapi": "^2.10.3",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"rimraf": "^5.0.5",
|
||||
"tsx": "^4.7.2",
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
"js-cookie": "^3.0.5",
|
||||
"lucide-react": "^0.378.0",
|
||||
"oauth4webapi": "^2.10.3",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"react-avatar-editor": "^13.0.2",
|
||||
"react-hook-form": "^7.51.4",
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
"js-cookie": "^3.0.5",
|
||||
"lucide-react": "^0.378.0",
|
||||
"oauth4webapi": "^2.10.3",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"react-avatar-editor": "^13.0.2",
|
||||
"react-hook-form": "^7.51.4",
|
||||
|
||||
@ -83,7 +83,7 @@
|
||||
"//": "NEXT_LINE_PLATFORM react-like",
|
||||
"lucide-react": "^0.378.0",
|
||||
"oauth4webapi": "^2.10.3",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"//": "NEXT_LINE_PLATFORM react-like",
|
||||
"react-avatar-editor": "^13.0.2",
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
"js-cookie": "^3.0.5",
|
||||
"lucide-react": "^0.378.0",
|
||||
"oauth4webapi": "^2.10.3",
|
||||
"oslo": "^1.2.1",
|
||||
"@oslojs/otp": "^1.1.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"react-avatar-editor": "^13.0.2",
|
||||
"react-hook-form": "^7.51.4",
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
'use client';
|
||||
|
||||
import { yupResolver } from "@hookform/resolvers/yup";
|
||||
import { createTOTPKeyURI, verifyTOTP } from "@oslojs/otp";
|
||||
import { KnownErrors } from "@stackframe/stack-shared";
|
||||
import { getPasswordError } from '@stackframe/stack-shared/dist/helpers/password';
|
||||
import { useAsyncCallback } from '@stackframe/stack-shared/dist/hooks/use-async-callback';
|
||||
@ -11,7 +12,6 @@ import { captureError, throwErr } from '@stackframe/stack-shared/dist/utils/erro
|
||||
import { runAsynchronously, runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
|
||||
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionCell, Badge, Button, Input, Label, PasswordInput, Separator, Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from '@stackframe/stack-ui';
|
||||
import { Edit, Trash, icons } from 'lucide-react';
|
||||
import { TOTPController, createTOTPKeyURI } from "oslo/otp";
|
||||
import * as QRCode from 'qrcode';
|
||||
import React, { Suspense, useEffect, useState } from "react";
|
||||
import { useForm } from 'react-hook-form';
|
||||
@ -876,7 +876,7 @@ function MfaSection() {
|
||||
useEffect(() => {
|
||||
setIsMaybeWrong(false);
|
||||
runAsynchronouslyWithAlert(async () => {
|
||||
if (generatedSecret && await new TOTPController().verify(mfaCode, generatedSecret)) {
|
||||
if (generatedSecret && verifyTOTP(generatedSecret, 30, 6, mfaCode)) {
|
||||
await handleSubmit();
|
||||
}
|
||||
setIsMaybeWrong(true);
|
||||
@ -954,7 +954,7 @@ function MfaSection() {
|
||||
}
|
||||
|
||||
async function generateTotpQrCode(project: Project, user: CurrentUser, secret: Uint8Array) {
|
||||
const uri = createTOTPKeyURI(project.displayName, user.primaryEmail ?? user.id, secret);
|
||||
const uri = createTOTPKeyURI(project.displayName, user.primaryEmail ?? user.id, secret, 30, 6);
|
||||
return await QRCode.toDataURL(uri) as any;
|
||||
}
|
||||
|
||||
|
||||
428
pnpm-lock.yaml
428
pnpm-lock.yaml
@ -138,6 +138,9 @@ importers:
|
||||
'@opentelemetry/semantic-conventions':
|
||||
specifier: ^1.27.0
|
||||
version: 1.27.0
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@prisma/client':
|
||||
specifier: ^6.0.1
|
||||
version: 6.0.1(prisma@6.0.1)
|
||||
@ -186,9 +189,6 @@ importers:
|
||||
openid-client:
|
||||
specifier: 5.6.4
|
||||
version: 5.6.4(patch_hash=2gg7ly76yaettle5dlvkpcfpny)
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
posthog-node:
|
||||
specifier: ^4.1.0
|
||||
version: 4.1.0
|
||||
@ -407,6 +407,9 @@ importers:
|
||||
|
||||
apps/e2e:
|
||||
dependencies:
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@stackframe/js':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/js
|
||||
@ -419,9 +422,6 @@ importers:
|
||||
jose:
|
||||
specifier: ^5.2.2
|
||||
version: 5.6.3
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
|
||||
apps/mcp-server:
|
||||
dependencies:
|
||||
@ -866,6 +866,9 @@ importers:
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.3.4
|
||||
version: 3.6.0(react-hook-form@7.53.1(react@18.3.1))
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@simplewebauthn/browser':
|
||||
specifier: ^11.0.0
|
||||
version: 11.0.0
|
||||
@ -887,9 +890,6 @@ importers:
|
||||
oauth4webapi:
|
||||
specifier: ^2.10.3
|
||||
version: 2.10.4
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
qrcode:
|
||||
specifier: ^1.5.4
|
||||
version: 1.5.4
|
||||
@ -957,6 +957,9 @@ importers:
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.3.4
|
||||
version: 3.6.0(react-hook-form@7.53.1(react@18.3.1))
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@simplewebauthn/browser':
|
||||
specifier: ^11.0.0
|
||||
version: 11.0.0
|
||||
@ -993,9 +996,6 @@ importers:
|
||||
oauth4webapi:
|
||||
specifier: ^2.10.3
|
||||
version: 2.10.4
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
qrcode:
|
||||
specifier: ^1.5.4
|
||||
version: 1.5.4
|
||||
@ -1075,6 +1075,9 @@ importers:
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.3.4
|
||||
version: 3.6.0(react-hook-form@7.53.1(react@18.2.0))
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@simplewebauthn/browser':
|
||||
specifier: ^11.0.0
|
||||
version: 11.0.0
|
||||
@ -1114,9 +1117,6 @@ importers:
|
||||
oauth4webapi:
|
||||
specifier: ^2.10.3
|
||||
version: 2.10.4
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
qrcode:
|
||||
specifier: ^1.5.4
|
||||
version: 1.5.4
|
||||
@ -1491,6 +1491,9 @@ importers:
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.3.4
|
||||
version: 3.6.0(react-hook-form@7.53.1(react@18.3.1))
|
||||
'@oslojs/otp':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@simplewebauthn/browser':
|
||||
specifier: ^11.0.0
|
||||
version: 11.0.0
|
||||
@ -1530,9 +1533,6 @@ importers:
|
||||
oauth4webapi:
|
||||
specifier: ^2.10.3
|
||||
version: 2.10.4
|
||||
oslo:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
qrcode:
|
||||
specifier: ^1.5.4
|
||||
version: 1.5.4
|
||||
@ -1900,12 +1900,6 @@ packages:
|
||||
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
||||
'@emnapi/core@0.45.0':
|
||||
resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==}
|
||||
|
||||
'@emnapi/runtime@0.45.0':
|
||||
resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==}
|
||||
|
||||
'@emnapi/runtime@1.2.0':
|
||||
resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
|
||||
|
||||
@ -3806,180 +3800,6 @@ packages:
|
||||
resolution: {integrity: sha512-sYvqL1GeZLRSwgl++/oOzxJj/ZBe2yXnp6E5LGNQ5qjpn0+t/dwquXILUe3Sk2Y8/wU7XeRxToOtBVeSVkuJag==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
|
||||
'@node-rs/argon2-android-arm-eabi@1.7.0':
|
||||
resolution: {integrity: sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@node-rs/argon2-android-arm64@1.7.0':
|
||||
resolution: {integrity: sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@node-rs/argon2-darwin-arm64@1.7.0':
|
||||
resolution: {integrity: sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@node-rs/argon2-darwin-x64@1.7.0':
|
||||
resolution: {integrity: sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@node-rs/argon2-freebsd-x64@1.7.0':
|
||||
resolution: {integrity: sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@node-rs/argon2-linux-arm-gnueabihf@1.7.0':
|
||||
resolution: {integrity: sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/argon2-linux-arm64-gnu@1.7.0':
|
||||
resolution: {integrity: sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/argon2-linux-arm64-musl@1.7.0':
|
||||
resolution: {integrity: sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/argon2-linux-x64-gnu@1.7.0':
|
||||
resolution: {integrity: sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/argon2-linux-x64-musl@1.7.0':
|
||||
resolution: {integrity: sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/argon2-wasm32-wasi@1.7.0':
|
||||
resolution: {integrity: sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
cpu: [wasm32]
|
||||
|
||||
'@node-rs/argon2-win32-arm64-msvc@1.7.0':
|
||||
resolution: {integrity: sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/argon2-win32-ia32-msvc@1.7.0':
|
||||
resolution: {integrity: sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/argon2-win32-x64-msvc@1.7.0':
|
||||
resolution: {integrity: sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/argon2@1.7.0':
|
||||
resolution: {integrity: sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==}
|
||||
engines: {node: '>= 10'}
|
||||
|
||||
'@node-rs/bcrypt-android-arm-eabi@1.9.0':
|
||||
resolution: {integrity: sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@node-rs/bcrypt-android-arm64@1.9.0':
|
||||
resolution: {integrity: sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@node-rs/bcrypt-darwin-arm64@1.9.0':
|
||||
resolution: {integrity: sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@node-rs/bcrypt-darwin-x64@1.9.0':
|
||||
resolution: {integrity: sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@node-rs/bcrypt-freebsd-x64@1.9.0':
|
||||
resolution: {integrity: sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0':
|
||||
resolution: {integrity: sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/bcrypt-linux-arm64-gnu@1.9.0':
|
||||
resolution: {integrity: sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/bcrypt-linux-arm64-musl@1.9.0':
|
||||
resolution: {integrity: sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/bcrypt-linux-x64-gnu@1.9.0':
|
||||
resolution: {integrity: sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/bcrypt-linux-x64-musl@1.9.0':
|
||||
resolution: {integrity: sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@node-rs/bcrypt-wasm32-wasi@1.9.0':
|
||||
resolution: {integrity: sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
cpu: [wasm32]
|
||||
|
||||
'@node-rs/bcrypt-win32-arm64-msvc@1.9.0':
|
||||
resolution: {integrity: sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/bcrypt-win32-ia32-msvc@1.9.0':
|
||||
resolution: {integrity: sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/bcrypt-win32-x64-msvc@1.9.0':
|
||||
resolution: {integrity: sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@node-rs/bcrypt@1.9.0':
|
||||
resolution: {integrity: sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==}
|
||||
engines: {node: '>= 10'}
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
@ -4263,6 +4083,21 @@ packages:
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': ^1.1.0
|
||||
|
||||
'@oslojs/asn1@1.0.0':
|
||||
resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==}
|
||||
|
||||
'@oslojs/binary@1.0.0':
|
||||
resolution: {integrity: sha512-9RCU6OwXU6p67H4NODbuxv2S3eenuQ4/WFLrsq+K/k682xrznH5EVWA7N4VFk9VYVcbFtKqur5YQQZc0ySGhsQ==}
|
||||
|
||||
'@oslojs/crypto@1.0.0':
|
||||
resolution: {integrity: sha512-dVz8TkkgYdr3tlwxHd7SCYGxoN7ynwHLA0nei/Aq9C+ERU0BK+U8+/3soEzBUxUNKYBf42351DyJUZ2REla50w==}
|
||||
|
||||
'@oslojs/encoding@1.0.0':
|
||||
resolution: {integrity: sha512-dyIB0SdZgMm5BhGwdSp8rMxEFIopLKxDG1vxIBaiogyom6ZqH2aXPb6DEC2WzOOWKdPSq1cxdNeRx2wAn1Z+ZQ==}
|
||||
|
||||
'@oslojs/otp@1.1.0':
|
||||
resolution: {integrity: sha512-tpdxlnCLcY6IZLLqH8kGD8PSvIVyev/+Gbglgvrk9e4YzgKO7+7FL8NWBofL7LZI6MgQ1HnNUuotRG6t1JJ0dg==}
|
||||
|
||||
'@peculiar/asn1-android@2.3.13':
|
||||
resolution: {integrity: sha512-0VTNazDGKrLS6a3BwTDZanqq6DR/I3SbvmDMuS8Be+OYpvM6x1SRDh9AGDsHVnaCOIztOspCPc6N1m+iUv1Xxw==}
|
||||
|
||||
@ -6044,9 +5879,6 @@ packages:
|
||||
'@tweenjs/tween.js@25.0.0':
|
||||
resolution: {integrity: sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==}
|
||||
|
||||
'@tybys/wasm-util@0.8.3':
|
||||
resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==}
|
||||
|
||||
'@types/accepts@1.3.7':
|
||||
resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
|
||||
|
||||
@ -8408,9 +8240,6 @@ packages:
|
||||
resolution: {integrity: sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
|
||||
fs-monkey@1.0.6:
|
||||
resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==}
|
||||
|
||||
fs-tree-diff@2.0.1:
|
||||
resolution: {integrity: sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
@ -9439,13 +9268,6 @@ packages:
|
||||
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
memfs-browser@3.5.10302:
|
||||
resolution: {integrity: sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==}
|
||||
|
||||
memfs@3.5.3:
|
||||
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
|
||||
engines: {node: '>= 4.0.0'}
|
||||
|
||||
meow@7.1.1:
|
||||
resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==}
|
||||
engines: {node: '>=10'}
|
||||
@ -9975,10 +9797,6 @@ packages:
|
||||
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
oslo@1.2.1:
|
||||
resolution: {integrity: sha512-HfIhB5ruTdQv0XX2XlncWQiJ5SIHZ7NHZhVyHth0CSZ/xzge00etRyYy/3wp/Dsu+PkxMC+6+B2lS/GcKoewkA==}
|
||||
deprecated: Package is no longer supported. Please see https://oslojs.dev for the successor project.
|
||||
|
||||
outdent@0.5.0:
|
||||
resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
|
||||
|
||||
@ -12748,16 +12566,6 @@ snapshots:
|
||||
|
||||
'@discoveryjs/json-ext@0.5.7': {}
|
||||
|
||||
'@emnapi/core@0.45.0':
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
optional: true
|
||||
|
||||
'@emnapi/runtime@0.45.0':
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
optional: true
|
||||
|
||||
'@emnapi/runtime@1.2.0':
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
@ -14071,134 +13879,6 @@ snapshots:
|
||||
basic-auth: 2.0.1
|
||||
type-is: 1.6.18
|
||||
|
||||
'@node-rs/argon2-android-arm-eabi@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-android-arm64@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-darwin-arm64@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-darwin-x64@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-freebsd-x64@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-linux-arm-gnueabihf@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-linux-arm64-gnu@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-linux-arm64-musl@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-linux-x64-gnu@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-linux-x64-musl@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-wasm32-wasi@1.7.0':
|
||||
dependencies:
|
||||
'@emnapi/core': 0.45.0
|
||||
'@emnapi/runtime': 0.45.0
|
||||
'@tybys/wasm-util': 0.8.3
|
||||
memfs-browser: 3.5.10302
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-win32-arm64-msvc@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-win32-ia32-msvc@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2-win32-x64-msvc@1.7.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/argon2@1.7.0':
|
||||
optionalDependencies:
|
||||
'@node-rs/argon2-android-arm-eabi': 1.7.0
|
||||
'@node-rs/argon2-android-arm64': 1.7.0
|
||||
'@node-rs/argon2-darwin-arm64': 1.7.0
|
||||
'@node-rs/argon2-darwin-x64': 1.7.0
|
||||
'@node-rs/argon2-freebsd-x64': 1.7.0
|
||||
'@node-rs/argon2-linux-arm-gnueabihf': 1.7.0
|
||||
'@node-rs/argon2-linux-arm64-gnu': 1.7.0
|
||||
'@node-rs/argon2-linux-arm64-musl': 1.7.0
|
||||
'@node-rs/argon2-linux-x64-gnu': 1.7.0
|
||||
'@node-rs/argon2-linux-x64-musl': 1.7.0
|
||||
'@node-rs/argon2-wasm32-wasi': 1.7.0
|
||||
'@node-rs/argon2-win32-arm64-msvc': 1.7.0
|
||||
'@node-rs/argon2-win32-ia32-msvc': 1.7.0
|
||||
'@node-rs/argon2-win32-x64-msvc': 1.7.0
|
||||
|
||||
'@node-rs/bcrypt-android-arm-eabi@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-android-arm64@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-darwin-arm64@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-darwin-x64@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-freebsd-x64@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-linux-arm64-gnu@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-linux-arm64-musl@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-linux-x64-gnu@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-linux-x64-musl@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-wasm32-wasi@1.9.0':
|
||||
dependencies:
|
||||
'@emnapi/core': 0.45.0
|
||||
'@emnapi/runtime': 0.45.0
|
||||
'@tybys/wasm-util': 0.8.3
|
||||
memfs-browser: 3.5.10302
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-win32-arm64-msvc@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-win32-ia32-msvc@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt-win32-x64-msvc@1.9.0':
|
||||
optional: true
|
||||
|
||||
'@node-rs/bcrypt@1.9.0':
|
||||
optionalDependencies:
|
||||
'@node-rs/bcrypt-android-arm-eabi': 1.9.0
|
||||
'@node-rs/bcrypt-android-arm64': 1.9.0
|
||||
'@node-rs/bcrypt-darwin-arm64': 1.9.0
|
||||
'@node-rs/bcrypt-darwin-x64': 1.9.0
|
||||
'@node-rs/bcrypt-freebsd-x64': 1.9.0
|
||||
'@node-rs/bcrypt-linux-arm-gnueabihf': 1.9.0
|
||||
'@node-rs/bcrypt-linux-arm64-gnu': 1.9.0
|
||||
'@node-rs/bcrypt-linux-arm64-musl': 1.9.0
|
||||
'@node-rs/bcrypt-linux-x64-gnu': 1.9.0
|
||||
'@node-rs/bcrypt-linux-x64-musl': 1.9.0
|
||||
'@node-rs/bcrypt-wasm32-wasi': 1.9.0
|
||||
'@node-rs/bcrypt-win32-arm64-msvc': 1.9.0
|
||||
'@node-rs/bcrypt-win32-ia32-msvc': 1.9.0
|
||||
'@node-rs/bcrypt-win32-x64-msvc': 1.9.0
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
@ -14561,6 +14241,25 @@ snapshots:
|
||||
'@opentelemetry/api': 1.9.0
|
||||
'@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0)
|
||||
|
||||
'@oslojs/asn1@1.0.0':
|
||||
dependencies:
|
||||
'@oslojs/binary': 1.0.0
|
||||
|
||||
'@oslojs/binary@1.0.0': {}
|
||||
|
||||
'@oslojs/crypto@1.0.0':
|
||||
dependencies:
|
||||
'@oslojs/asn1': 1.0.0
|
||||
'@oslojs/binary': 1.0.0
|
||||
|
||||
'@oslojs/encoding@1.0.0': {}
|
||||
|
||||
'@oslojs/otp@1.1.0':
|
||||
dependencies:
|
||||
'@oslojs/binary': 1.0.0
|
||||
'@oslojs/crypto': 1.0.0
|
||||
'@oslojs/encoding': 1.0.0
|
||||
|
||||
'@peculiar/asn1-android@2.3.13':
|
||||
dependencies:
|
||||
'@peculiar/asn1-schema': 2.3.13
|
||||
@ -16641,11 +16340,6 @@ snapshots:
|
||||
|
||||
'@tweenjs/tween.js@25.0.0': {}
|
||||
|
||||
'@tybys/wasm-util@0.8.3':
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
optional: true
|
||||
|
||||
'@types/accepts@1.3.7':
|
||||
dependencies:
|
||||
'@types/node': 20.17.6
|
||||
@ -19694,9 +19388,6 @@ snapshots:
|
||||
graceful-fs: 4.2.11
|
||||
streamx: 2.18.0
|
||||
|
||||
fs-monkey@1.0.6:
|
||||
optional: true
|
||||
|
||||
fs-tree-diff@2.0.1:
|
||||
dependencies:
|
||||
'@types/symlink-or-copy': 1.2.2
|
||||
@ -20785,16 +20476,6 @@ snapshots:
|
||||
|
||||
media-typer@1.1.0: {}
|
||||
|
||||
memfs-browser@3.5.10302:
|
||||
dependencies:
|
||||
memfs: 3.5.3
|
||||
optional: true
|
||||
|
||||
memfs@3.5.3:
|
||||
dependencies:
|
||||
fs-monkey: 1.0.6
|
||||
optional: true
|
||||
|
||||
meow@7.1.1:
|
||||
dependencies:
|
||||
'@types/minimist': 1.2.5
|
||||
@ -21529,11 +21210,6 @@ snapshots:
|
||||
|
||||
os-tmpdir@1.0.2: {}
|
||||
|
||||
oslo@1.2.1:
|
||||
dependencies:
|
||||
'@node-rs/argon2': 1.7.0
|
||||
'@node-rs/bcrypt': 1.9.0
|
||||
|
||||
outdent@0.5.0: {}
|
||||
|
||||
p-cancelable@3.0.0: {}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user