diff --git a/.changeset/itchy-eels-remain.md b/.changeset/itchy-eels-remain.md
new file mode 100644
index 000000000..7bd5047ae
--- /dev/null
+++ b/.changeset/itchy-eels-remain.md
@@ -0,0 +1,8 @@
+---
+"@logto/console": minor
+"@logto/core": minor
+---
+
+enable custom JWT feature for OSS version
+
+OSS version users can now use custom JWT feature to add custom claims to JWT access tokens payload (previously, this feature was only available to Logto Cloud).
diff --git a/packages/console/src/containers/ConsoleContent/Sidebar/hook.tsx b/packages/console/src/containers/ConsoleContent/Sidebar/hook.tsx
index 1d1cb002e..2cc9cede8 100644
--- a/packages/console/src/containers/ConsoleContent/Sidebar/hook.tsx
+++ b/packages/console/src/containers/ConsoleContent/Sidebar/hook.tsx
@@ -130,7 +130,6 @@ export const useSidebarMenuItems = (): {
{
Icon: JwtClaims,
title: 'customize_jwt',
- isHidden: !isCloud,
},
{
Icon: Hook,
diff --git a/packages/console/src/hooks/use-console-routes/index.tsx b/packages/console/src/hooks/use-console-routes/index.tsx
index 92277b99f..597a9e575 100644
--- a/packages/console/src/hooks/use-console-routes/index.tsx
+++ b/packages/console/src/hooks/use-console-routes/index.tsx
@@ -63,7 +63,7 @@ export const useConsoleRoutes = () => {
},
{ path: 'signing-keys', element: },
isCloud && tenantSettings,
- isCloud && customizeJwt
+ customizeJwt
),
[tenantSettings]
);
diff --git a/packages/core/src/libraries/jwt-customizer.ts b/packages/core/src/libraries/jwt-customizer.ts
index d8be39a76..6ae1e5380 100644
--- a/packages/core/src/libraries/jwt-customizer.ts
+++ b/packages/core/src/libraries/jwt-customizer.ts
@@ -1,14 +1,19 @@
+import { runScriptFunctionInLocalVm, buildErrorResponse } from '@logto/core-kit/custom-jwt';
import {
userInfoSelectFields,
jwtCustomizerUserContextGuard,
type LogtoJwtTokenKey,
type JwtCustomizerType,
type JwtCustomizerUserContext,
+ type CustomJwtFetcher,
+ LogtoJwtTokenKeyType,
} from '@logto/schemas';
import { type ConsoleLog } from '@logto/shared';
import { deduplicate, pick, pickState, assert } from '@silverhand/essentials';
import deepmerge from 'deepmerge';
+import { z, ZodError } from 'zod';
+import { EnvSet } from '#src/env-set/index.js';
import RequestError from '#src/errors/RequestError/index.js';
import type { LogtoConfigLibrary } from '#src/libraries/logto-config.js';
import { type ScopeLibrary } from '#src/libraries/scope.js';
@@ -18,26 +23,49 @@ import {
getJwtCustomizerScripts,
type CustomJwtDeployRequestBody,
} from '#src/utils/custom-jwt/index.js';
+import { LocalVmError } from '#src/utils/custom-jwt/index.js';
import { type CloudConnectionLibrary } from './cloud-connection.js';
-export const createJwtCustomizerLibrary = (
- queries: Queries,
- logtoConfigs: LogtoConfigLibrary,
- cloudConnection: CloudConnectionLibrary,
- userLibrary: UserLibrary,
- scopeLibrary: ScopeLibrary
-) => {
- const {
- users: { findUserById },
- rolesScopes: { findRolesScopesByRoleIds },
- scopes: { findScopesByIds },
- userSsoIdentities,
- organizations: { relations },
- } = queries;
- const { findUserRoles } = userLibrary;
- const { attachResourceToScopes } = scopeLibrary;
- const { getJwtCustomizers } = logtoConfigs;
+export class JwtCustomizerLibrary {
+ // Convert errors to WithTyped client response error to share the error handling logic.
+ static async runScriptInLocalVm(data: CustomJwtFetcher) {
+ try {
+ const payload =
+ data.tokenType === LogtoJwtTokenKeyType.AccessToken
+ ? pick(data, 'token', 'context', 'environmentVariables')
+ : pick(data, 'token', 'environmentVariables');
+ const result = await runScriptFunctionInLocalVm(data.script, 'getCustomJwtClaims', payload);
+
+ // If the `result` is not a record, we cannot merge it to the existing token payload.
+ return z.record(z.unknown()).parse(result);
+ } catch (error: unknown) {
+ // Assuming we only use zod for request body validation
+ if (error instanceof ZodError) {
+ const { errors } = error;
+ throw new LocalVmError(
+ {
+ message: 'Invalid input',
+ errors,
+ },
+ 400
+ );
+ }
+
+ throw new LocalVmError(
+ buildErrorResponse(error),
+ error instanceof SyntaxError || error instanceof TypeError ? 422 : 500
+ );
+ }
+ }
+
+ constructor(
+ private readonly queries: Queries,
+ private readonly logtoConfigs: LogtoConfigLibrary,
+ private readonly cloudConnection: CloudConnectionLibrary,
+ private readonly userLibrary: UserLibrary,
+ private readonly scopeLibrary: ScopeLibrary
+ ) {}
/**
* We does not include org roles' scopes for the following reason:
@@ -45,15 +73,20 @@ export const createJwtCustomizerLibrary = (
* these APIs from console setup while this library method is a backend used method.
* 2. Logto developers can get the org roles' id from this user context and hence query the org roles' scopes via management API.
*/
- const getUserContext = async (userId: string): Promise => {
- const user = await findUserById(userId);
- const fullSsoIdentities = await userSsoIdentities.findUserSsoIdentitiesByUserId(userId);
- const roles = await findUserRoles(userId);
- const rolesScopes = await findRolesScopesByRoleIds(roles.map(({ id }) => id));
+ async getUserContext(userId: string): Promise {
+ const user = await this.queries.users.findUserById(userId);
+ const fullSsoIdentities = await this.queries.userSsoIdentities.findUserSsoIdentitiesByUserId(
+ userId
+ );
+ const roles = await this.userLibrary.findUserRoles(userId);
+ const rolesScopes = await this.queries.rolesScopes.findRolesScopesByRoleIds(
+ roles.map(({ id }) => id)
+ );
const scopeIds = rolesScopes.map(({ scopeId }) => scopeId);
- const scopes = await findScopesByIds(scopeIds);
- const scopesWithResources = await attachResourceToScopes(scopes);
- const organizationsWithRoles = await relations.users.getOrganizationsByUserId(userId);
+ const scopes = await this.queries.scopes.findScopesByIds(scopeIds);
+ const scopesWithResources = await this.scopeLibrary.attachResourceToScopes(scopes);
+ const organizationsWithRoles =
+ await this.queries.organizations.relations.users.getOrganizationsByUserId(userId);
const userContext = {
...pick(user, ...userInfoSelectFields),
ssoIdentities: fullSsoIdentities.map(pickState('issuer', 'identityId', 'detail')),
@@ -81,7 +114,7 @@ export const createJwtCustomizerLibrary = (
};
return jwtCustomizerUserContextGuard.parse(userContext);
- };
+ }
/**
* This method is used to deploy the give JWT customizer scripts to the cloud worker service.
@@ -95,17 +128,24 @@ export const createJwtCustomizerLibrary = (
* @params payload.value - JWT customizer value
* @params payload.useCase - The use case of JWT customizer script, can be either `test` or `production`.
*/
- const deployJwtCustomizerScript = async (
+ async deployJwtCustomizerScript(
consoleLog: ConsoleLog,
payload: {
key: T;
value: JwtCustomizerType[T];
useCase: 'test' | 'production';
}
- ) => {
+ ) {
+ if (!EnvSet.values.isCloud) {
+ consoleLog.warn(
+ 'Early terminate `deployJwtCustomizerScript` since we do not provide dedicated computing resource for OSS version.'
+ );
+ return;
+ }
+
const [client, jwtCustomizers] = await Promise.all([
- cloudConnection.getClient(),
- getJwtCustomizers(consoleLog),
+ this.cloudConnection.getClient(),
+ this.logtoConfigs.getJwtCustomizers(consoleLog),
]);
const customizerScriptsFromDatabase = getJwtCustomizerScripts(jwtCustomizers);
@@ -129,15 +169,19 @@ export const createJwtCustomizerLibrary = (
await client.put(`/api/services/custom-jwt/worker`, {
body: deepmerge(customizerScriptsFromDatabase, newCustomizerScripts),
});
- };
+ }
+
+ async undeployJwtCustomizerScript(consoleLog: ConsoleLog, key: T) {
+ if (!EnvSet.values.isCloud) {
+ consoleLog.warn(
+ 'Early terminate `undeployJwtCustomizerScript` since we do not deploy the script to dedicated computing resource for OSS version.'
+ );
+ return;
+ }
- const undeployJwtCustomizerScript = async (
- consoleLog: ConsoleLog,
- key: T
- ) => {
const [client, jwtCustomizers] = await Promise.all([
- cloudConnection.getClient(),
- getJwtCustomizers(consoleLog),
+ this.cloudConnection.getClient(),
+ this.logtoConfigs.getJwtCustomizers(consoleLog),
]);
assert(jwtCustomizers[key], new RequestError({ code: 'entity.not_exists', key }));
@@ -160,10 +204,5 @@ export const createJwtCustomizerLibrary = (
await client.put(`/api/services/custom-jwt/worker`, {
body: deepmerge(customizerScriptsFromDatabase, newCustomizerScripts),
});
- };
- return {
- getUserContext,
- deployJwtCustomizerScript,
- undeployJwtCustomizerScript,
- };
-};
+ }
+}
diff --git a/packages/core/src/oidc/extra-token-claims.ts b/packages/core/src/oidc/extra-token-claims.ts
index 5b9fbb42b..906e51345 100644
--- a/packages/core/src/oidc/extra-token-claims.ts
+++ b/packages/core/src/oidc/extra-token-claims.ts
@@ -4,6 +4,7 @@ import {
LogtoJwtTokenKeyType,
LogResult,
jwtCustomizer as jwtCustomizerLog,
+ type CustomJwtFetcher,
} from '@logto/schemas';
import { generateStandardId } from '@logto/shared';
import { conditional, trySafe } from '@silverhand/essentials';
@@ -11,6 +12,7 @@ import { type KoaContextWithOIDC, type UnknownObject } from 'oidc-provider';
import { EnvSet } from '#src/env-set/index.js';
import { type CloudConnectionLibrary } from '#src/libraries/cloud-connection.js';
+import { JwtCustomizerLibrary } from '#src/libraries/jwt-customizer.js';
import { type LogtoConfigLibrary } from '#src/libraries/logto-config.js';
import { LogEntry } from '#src/middleware/koa-audit-log.js';
import type Libraries from '#src/tenants/Libraries.js';
@@ -66,12 +68,6 @@ export const getExtraTokenClaimsForJwtCustomization = async (
cloudConnection: CloudConnectionLibrary;
}
): Promise => {
- const { isCloud } = EnvSet.values;
- // No cloud connection for OSS version, skip.
- if (!isCloud) {
- return;
- }
-
// Narrow down the token type to `AccessToken` and `ClientCredentials`.
if (
!(token instanceof ctx.oidc.provider.AccessToken) &&
@@ -110,14 +106,6 @@ export const getExtraTokenClaimsForJwtCustomization = async (
.map((field) => [field, Reflect.get(token, field)])
);
- const client = await cloudConnection.getClient();
-
- const commonPayload = {
- script,
- environmentVariables,
- token: readOnlyToken,
- };
-
// We pass context to the cloud API only when it is a user's access token.
const logtoUserInfo = conditional(
!isTokenClientCredentials &&
@@ -125,22 +113,29 @@ export const getExtraTokenClaimsForJwtCustomization = async (
(await libraries.jwtCustomizers.getUserContext(token.accountId))
);
- // `context` parameter is only eligible for user's access token for now.
- return await client.post(`/api/services/custom-jwt`, {
- body: isTokenClientCredentials
- ? {
- ...commonPayload,
- tokenType: LogtoJwtTokenKeyType.ClientCredentials,
- }
+ const payload: CustomJwtFetcher = {
+ script,
+ environmentVariables,
+ token: readOnlyToken,
+ ...(isTokenClientCredentials
+ ? { tokenType: LogtoJwtTokenKeyType.ClientCredentials }
: {
- ...commonPayload,
tokenType: LogtoJwtTokenKeyType.AccessToken,
// TODO (LOG-8555): the newly added `UserProfile` type includes undefined fields and can not be directly assigned to `Json` type. And the `undefined` fields should be removed by zod guard.
+ // `context` parameter is only eligible for user's access token for now.
// eslint-disable-next-line no-restricted-syntax
context: { user: logtoUserInfo as Record },
- },
- search: {},
- });
+ }),
+ };
+
+ if (EnvSet.values.isCloud) {
+ const client = await cloudConnection.getClient();
+ return await client.post(`/api/services/custom-jwt`, {
+ body: payload,
+ search: {},
+ });
+ }
+ return await JwtCustomizerLibrary.runScriptInLocalVm(payload);
} catch (error: unknown) {
const entry = new LogEntry(
`${jwtCustomizerLog.prefix}.${
diff --git a/packages/core/src/routes/logto-config/jwt-customizer.test.ts b/packages/core/src/routes/logto-config/jwt-customizer.test.ts
index 0c5e3428c..b31381929 100644
--- a/packages/core/src/routes/logto-config/jwt-customizer.test.ts
+++ b/packages/core/src/routes/logto-config/jwt-customizer.test.ts
@@ -157,10 +157,9 @@ describe('configs JWT customizer routes', () => {
expect(response.status).toEqual(204);
});
- it('POST /configs/jwt-customizer/test should return 200', async () => {
- const cloudConnectionResponse = { success: true };
+ it('POST /configs/jwt-customizer/test should not call cloud connection client post', async () => {
jest.spyOn(tenantContext.cloudConnection, 'getClient').mockResolvedValue(mockCloudClient);
- jest.spyOn(mockCloudClient, 'post').mockResolvedValue(cloudConnectionResponse);
+ const clientPostSpy = jest.spyOn(mockCloudClient, 'post');
const payload: JwtCustomizerTestRequestBody = {
tokenType: LogtoJwtTokenKeyType.ClientCredentials,
@@ -169,7 +168,7 @@ describe('configs JWT customizer routes', () => {
token: {},
};
- const response = await routeRequester.post('/configs/jwt-customizer/test').send(payload);
+ await routeRequester.post('/configs/jwt-customizer/test').send(payload);
expect(tenantContext.libraries.jwtCustomizers.deployJwtCustomizerScript).toHaveBeenCalledWith(
expect.any(ConsoleLog),
@@ -180,13 +179,8 @@ describe('configs JWT customizer routes', () => {
}
);
- expect(mockCloudClient.post).toHaveBeenCalledWith('/api/services/custom-jwt', {
- body: payload,
- search: {
- isTest: 'true',
- },
- });
+ expect(clientPostSpy).toHaveBeenCalledTimes(0);
- expect(response.status).toEqual(200);
+ // TODO: Add the test on nested class static method.
});
});
diff --git a/packages/core/src/routes/logto-config/jwt-customizer.ts b/packages/core/src/routes/logto-config/jwt-customizer.ts
index f69cadaa6..43ae020e5 100644
--- a/packages/core/src/routes/logto-config/jwt-customizer.ts
+++ b/packages/core/src/routes/logto-config/jwt-customizer.ts
@@ -13,6 +13,7 @@ import { ZodError, z } from 'zod';
import { EnvSet } from '#src/env-set/index.js';
import RequestError, { formatZodError } from '#src/errors/RequestError/index.js';
+import { JwtCustomizerLibrary } from '#src/libraries/jwt-customizer.js';
import koaGuard, { parse } from '#src/middleware/koa-guard.js';
import koaQuotaGuard from '#src/middleware/koa-quota-guard.js';
import { getConsoleLogFromContext } from '#src/utils/console.js';
@@ -41,7 +42,6 @@ export default function logtoConfigJwtCustomizerRoutes, statusCode: number) {
+ super(
+ new Response(
+ new Blob([JSON.stringify(errorBody)], {
+ type: 'application/json',
+ }),
+ {
+ status: statusCode,
+ }
+ )
+ );
+ }
+}
diff --git a/packages/integration-tests/src/__mocks__/jwt-customizer.ts b/packages/integration-tests/src/__mocks__/jwt-customizer.ts
index 398c27854..72f9831ae 100644
--- a/packages/integration-tests/src/__mocks__/jwt-customizer.ts
+++ b/packages/integration-tests/src/__mocks__/jwt-customizer.ts
@@ -1,11 +1,38 @@
+import type { AccessTokenPayload, ClientCredentialsPayload } from '@logto/schemas';
+
+const standardTokenPayloadData = {
+ jti: 'f1d3d2d1-1f2d-3d4e-5d6f-7d8a9d0e1d2',
+ aud: 'http://localhost:3000/api/test',
+ scope: 'read write',
+ clientId: 'my_app',
+};
+
+export const accessTokenSample: AccessTokenPayload = {
+ ...standardTokenPayloadData,
+ accountId: 'uid_123',
+ grantId: 'grant_123',
+ gty: 'authorization_code',
+ kind: 'AccessToken',
+};
+
+export const clientCredentialsTokenSample: ClientCredentialsPayload = {
+ ...standardTokenPayloadData,
+ kind: 'ClientCredentials',
+};
+
export const clientCredentialsJwtCustomizerPayload = {
script: '',
- environmentVariables: {},
+ environmentVariables: {
+ foo: 'bar',
+ API_KEY: '12345',
+ },
contextSample: {},
+ tokenSample: clientCredentialsTokenSample,
};
export const accessTokenJwtCustomizerPayload = {
...clientCredentialsJwtCustomizerPayload,
+ tokenSample: accessTokenSample,
contextSample: {
user: {
id: '123',
@@ -26,3 +53,11 @@ export const accessTokenJwtCustomizerPayload = {
},
},
};
+
+export const accessTokenSampleScript = `const getCustomJwtClaims = async ({ token, context, environmentVariables }) => {
+ return { user_id: context?.user?.id ?? 'unknown' };
+}`;
+
+export const clientCredentialsSampleScript = `const getCustomJwtClaims = async ({ token, context, environmentVariables }) => {
+ return { ...environmentVariables };
+}`;
diff --git a/packages/integration-tests/src/api/logto-config.ts b/packages/integration-tests/src/api/logto-config.ts
index 78ce7c7ec..37804b5b3 100644
--- a/packages/integration-tests/src/api/logto-config.ts
+++ b/packages/integration-tests/src/api/logto-config.ts
@@ -6,6 +6,8 @@ import {
type AccessTokenJwtCustomizer,
type ClientCredentialsJwtCustomizer,
type JwtCustomizerConfigs,
+ type JwtCustomizerTestRequestBody,
+ type Json,
} from '@logto/schemas';
import { authedAdminApi } from './api.js';
@@ -60,3 +62,10 @@ export const updateJwtCustomizer = async (
authedAdminApi
.patch(`configs/jwt-customizer/${keyTypePath}`, { json: value })
.json();
+
+export const testJwtCustomizer = async (payload: JwtCustomizerTestRequestBody) =>
+ authedAdminApi
+ .post(`configs/jwt-customizer/test`, {
+ json: payload,
+ })
+ .json();
diff --git a/packages/integration-tests/src/tests/api/application/application.roles.test.ts b/packages/integration-tests/src/tests/api/application/application.roles.test.ts
index 6fe86b462..0e012e47b 100644
--- a/packages/integration-tests/src/tests/api/application/application.roles.test.ts
+++ b/packages/integration-tests/src/tests/api/application/application.roles.test.ts
@@ -1,7 +1,12 @@
import { ApplicationType, RoleType } from '@logto/schemas';
-import { generateStandardId } from '@logto/shared';
+import { generateStandardId, formUrlEncodedHeaders } from '@logto/shared';
import { HTTPError } from 'ky';
+import {
+ clientCredentialsJwtCustomizerPayload,
+ clientCredentialsSampleScript,
+} from '#src/__mocks__/jwt-customizer.js';
+import { oidcApi } from '#src/api/api.js';
import {
createApplication,
getApplicationRoles,
@@ -9,9 +14,14 @@ import {
deleteRoleFromApplication,
putRolesToApplication,
getApplications,
+ createResource,
+ upsertJwtCustomizer,
+ deleteJwtCustomizer,
} from '#src/api/index.js';
import { createRole, assignApplicationsToRole } from '#src/api/role.js';
+import { createScope } from '#src/api/scope.js';
import { expectRejects } from '#src/helpers/index.js';
+import { getAccessTokenPayload } from '#src/utils.js';
describe('admin console application management (roles)', () => {
it('should get empty list successfully', async () => {
@@ -146,4 +156,40 @@ describe('admin console application management (roles)', () => {
expect(applications.find(({ name }) => name === 'test-m2m-app-002')).toBeFalsy();
expect(applications.find(({ name }) => name === 'test-spa-app-002')).toBeTruthy();
});
+
+ it('test m2m application client credentials grant type with custom JWT', async () => {
+ await upsertJwtCustomizer('client-credentials', {
+ ...clientCredentialsJwtCustomizerPayload,
+ script: clientCredentialsSampleScript,
+ });
+
+ const m2mApp = await createApplication(generateStandardId(), ApplicationType.MachineToMachine);
+ const resource = await createResource();
+ const createdScope = await createScope(resource.id);
+ const createdScope2 = await createScope(resource.id);
+ const role = await createRole({
+ type: RoleType.MachineToMachine,
+ scopeIds: [createdScope.id, createdScope2.id],
+ });
+ await assignApplicationsToRole([m2mApp.id], role.id);
+
+ const { access_token: accessToken } = await oidcApi
+ .post('token', {
+ headers: formUrlEncodedHeaders,
+ body: new URLSearchParams({
+ client_id: m2mApp.id,
+ client_secret: m2mApp.secret,
+ grant_type: 'client_credentials',
+ resource: resource.indicator,
+ scope: [createdScope.name, createdScope2.name].join(' '),
+ }),
+ })
+ .json<{ access_token: string }>();
+
+ const payload = getAccessTokenPayload(accessToken);
+ expect(payload).toHaveProperty('foo', 'bar');
+ expect(payload).toHaveProperty('API_KEY', '12345');
+
+ await deleteJwtCustomizer('client-credentials');
+ });
});
diff --git a/packages/integration-tests/src/tests/api/logto-config.test.ts b/packages/integration-tests/src/tests/api/logto-config.test.ts
index 3cb093077..04b16662b 100644
--- a/packages/integration-tests/src/tests/api/logto-config.test.ts
+++ b/packages/integration-tests/src/tests/api/logto-config.test.ts
@@ -3,11 +3,14 @@ import {
type AdminConsoleData,
LogtoOidcConfigKeyType,
LogtoJwtTokenKey,
+ LogtoJwtTokenKeyType,
} from '@logto/schemas';
import {
accessTokenJwtCustomizerPayload,
clientCredentialsJwtCustomizerPayload,
+ accessTokenSampleScript,
+ clientCredentialsSampleScript,
} from '#src/__mocks__/jwt-customizer.js';
import {
deleteOidcKey,
@@ -20,6 +23,7 @@ import {
getJwtCustomizer,
getJwtCustomizers,
deleteJwtCustomizer,
+ testJwtCustomizer,
} from '#src/api/index.js';
import { expectRejects } from '#src/helpers/index.js';
@@ -241,4 +245,27 @@ describe('admin console sign-in experience', () => {
await deleteJwtCustomizer('client-credentials');
await expect(getJwtCustomizers()).resolves.toEqual([]);
});
+
+ it('should successfully test an access token JWT customizer', async () => {
+ const testResult = await testJwtCustomizer({
+ tokenType: LogtoJwtTokenKeyType.AccessToken,
+ token: accessTokenJwtCustomizerPayload.tokenSample,
+ context: accessTokenJwtCustomizerPayload.contextSample,
+ script: accessTokenSampleScript,
+ environmentVariables: accessTokenJwtCustomizerPayload.environmentVariables,
+ });
+ expect(testResult).toMatchObject({
+ user_id: accessTokenJwtCustomizerPayload.contextSample.user.id,
+ });
+ });
+
+ it('should successfully test a client credentials JWT customizer', async () => {
+ const testResult = await testJwtCustomizer({
+ tokenType: LogtoJwtTokenKeyType.ClientCredentials,
+ token: clientCredentialsJwtCustomizerPayload.tokenSample,
+ script: clientCredentialsSampleScript,
+ environmentVariables: clientCredentialsJwtCustomizerPayload.environmentVariables,
+ });
+ expect(testResult).toMatchObject(clientCredentialsJwtCustomizerPayload.environmentVariables);
+ });
});
diff --git a/packages/integration-tests/src/tests/api/oidc/get-access-token.test.ts b/packages/integration-tests/src/tests/api/oidc/get-access-token.test.ts
index 63da8bb4f..5857de7ca 100644
--- a/packages/integration-tests/src/tests/api/oidc/get-access-token.test.ts
+++ b/packages/integration-tests/src/tests/api/oidc/get-access-token.test.ts
@@ -5,7 +5,18 @@ import { InteractionEvent, type Resource, RoleType } from '@logto/schemas';
import { assert } from '@silverhand/essentials';
import { createRemoteJWKSet, jwtVerify } from 'jose';
-import { createResource, deleteResource, deleteUser, putInteraction } from '#src/api/index.js';
+import {
+ accessTokenJwtCustomizerPayload,
+ accessTokenSampleScript,
+} from '#src/__mocks__/jwt-customizer.js';
+import {
+ createResource,
+ deleteJwtCustomizer,
+ deleteResource,
+ deleteUser,
+ putInteraction,
+ upsertJwtCustomizer,
+} from '#src/api/index.js';
import { assignUsersToRole, createRole, deleteRole } from '#src/api/role.js';
import { createScope, deleteScope } from '#src/api/scope.js';
import MockClient, { defaultConfig } from '#src/client/index.js';
@@ -91,6 +102,11 @@ describe('get access token', () => {
});
it('can sign in and getAccessToken with guest user', async () => {
+ await upsertJwtCustomizer('access-token', {
+ ...accessTokenJwtCustomizerPayload,
+ script: accessTokenSampleScript,
+ });
+
const client = new MockClient({
resources: [testApiResourceInfo.indicator],
scopes: testApiScopeNames,
@@ -108,6 +124,9 @@ describe('get access token', () => {
'scope',
testApiScopeNames.join(' ')
);
+ expect(getAccessTokenPayload(accessToken)).toHaveProperty('user_id', guestUserId);
+
+ await deleteJwtCustomizer('access-token');
});
it('sign in and verify jwt', async () => {
diff --git a/packages/schemas/src/types/logto-config/jwt-customizer.ts b/packages/schemas/src/types/logto-config/jwt-customizer.ts
index 6c64073d9..ef6714aa8 100644
--- a/packages/schemas/src/types/logto-config/jwt-customizer.ts
+++ b/packages/schemas/src/types/logto-config/jwt-customizer.ts
@@ -1,12 +1,24 @@
+import { jsonObjectGuard } from '@logto/connector-kit';
import { z } from 'zod';
import { Organizations, Roles, UserSsoIdentities } from '../../db-entries/index.js';
-import { jsonObjectGuard, mfaFactorsGuard } from '../../foundations/index.js';
+import { mfaFactorsGuard } from '../../foundations/index.js';
import { scopeResponseGuard } from '../scope.js';
import { userInfoGuard } from '../user.js';
import { accessTokenPayloadGuard, clientCredentialsPayloadGuard } from './oidc-provider.js';
+export const jwtCustomizerGuard = z.object({
+ script: z.string(),
+ environmentVariables: z.record(z.string()).optional(),
+ contextSample: jsonObjectGuard.optional(),
+});
+
+export enum LogtoJwtTokenKeyType {
+ AccessToken = 'access-token',
+ ClientCredentials = 'client-credentials',
+}
+
export const jwtCustomizerUserContextGuard = userInfoGuard.extend({
ssoIdentities: UserSsoIdentities.guard
.pick({ issuer: true, identityId: true, detail: true })
@@ -32,12 +44,6 @@ export const jwtCustomizerUserContextGuard = userInfoGuard.extend({
export type JwtCustomizerUserContext = z.infer;
-export const jwtCustomizerGuard = z.object({
- script: z.string(),
- environmentVariables: z.record(z.string()).optional(),
- contextSample: jsonObjectGuard.optional(),
-});
-
export const accessTokenJwtCustomizerGuard = jwtCustomizerGuard
.extend({
// Use partial token guard since users customization may not rely on all fields.
@@ -57,11 +63,6 @@ export const clientCredentialsJwtCustomizerGuard = jwtCustomizerGuard
export type ClientCredentialsJwtCustomizer = z.infer;
-export enum LogtoJwtTokenKeyType {
- AccessToken = 'access-token',
- ClientCredentials = 'client-credentials',
-}
-
/**
* This guard is for the core JWT customizer testing API request body guard.
* Unlike the DB guard
diff --git a/packages/toolkit/core-kit/package.json b/packages/toolkit/core-kit/package.json
index 91b6f3251..034e3b079 100644
--- a/packages/toolkit/core-kit/package.json
+++ b/packages/toolkit/core-kit/package.json
@@ -17,7 +17,11 @@
"import": "./lib/index.js"
},
"./declaration": "./declaration/index.ts",
- "./scss/*": "./scss/*.scss"
+ "./scss/*": "./scss/*.scss",
+ "./custom-jwt": {
+ "node": "./lib/custom-jwt/index.js",
+ "types": "./lib/custom-jwt/index.d.ts"
+ }
},
"types": "./lib/index.d.ts",
"files": [
diff --git a/packages/toolkit/core-kit/src/custom-jwt/error-handling.ts b/packages/toolkit/core-kit/src/custom-jwt/error-handling.ts
new file mode 100644
index 000000000..ae013172b
--- /dev/null
+++ b/packages/toolkit/core-kit/src/custom-jwt/error-handling.ts
@@ -0,0 +1,10 @@
+import { types } from 'node:util';
+
+export const buildErrorResponse = (error: unknown) =>
+ /**
+ * Use `isNativeError` to check if the error is an instance of `Error`.
+ * If the error comes from `node:vm` module, then it will not be an instance of `Error` but can be captured by `isNativeError`.
+ */
+ types.isNativeError(error)
+ ? { message: error.message, stack: error.stack }
+ : { message: String(error) };
diff --git a/packages/toolkit/core-kit/src/custom-jwt/index.ts b/packages/toolkit/core-kit/src/custom-jwt/index.ts
new file mode 100644
index 000000000..5d732ce66
--- /dev/null
+++ b/packages/toolkit/core-kit/src/custom-jwt/index.ts
@@ -0,0 +1,2 @@
+export * from './script-execution.js';
+export * from './error-handling.js';
diff --git a/packages/toolkit/core-kit/src/custom-jwt/script-execution.ts b/packages/toolkit/core-kit/src/custom-jwt/script-execution.ts
new file mode 100644
index 000000000..32ee65f4c
--- /dev/null
+++ b/packages/toolkit/core-kit/src/custom-jwt/script-execution.ts
@@ -0,0 +1,41 @@
+import { runInNewContext } from 'node:vm';
+
+/**
+ * This function is used to execute a named function in a customized code script in a local
+ * virtual machine with the given payload as input.
+ *
+ * @param script Custom code snippet.
+ * @param functionName The name of the function to be executed.
+ * @param payload The input payload for the function.
+ * @returns The result of the function execution.
+ */
+export const runScriptFunctionInLocalVm = async (
+ script: string,
+ functionName: string,
+ payload: unknown
+) => {
+ const globalContext = Object.freeze({
+ fetch: async (...args: Parameters) => fetch(...args),
+ });
+ const customFunction: unknown = runInNewContext(script + `;${functionName};`, globalContext);
+
+ if (typeof customFunction !== 'function') {
+ throw new TypeError(`The script does not have a function named \`${functionName}\``);
+ }
+
+ /**
+ * We can not use top-level await in `vm`, use the following implementation instead.
+ *
+ * Ref:
+ * 1. https://github.com/nodejs/node/issues/40898
+ * 2. https://github.com/n-riesco/ijavascript/issues/173#issuecomment-693924098
+ */
+ const result: unknown = await runInNewContext(
+ '(async () => customFunction(payload))();',
+ Object.freeze({ customFunction, payload }),
+ // Limit the execution time to 3 seconds, throws error if the script takes too long to execute.
+ { timeout: 3000 }
+ );
+
+ return result;
+};
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4fc91804b..caa106faa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -63,7 +63,7 @@ importers:
version: 20.10.4
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -78,7 +78,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/cli:
dependencies:
@@ -190,7 +190,7 @@ importers:
version: 17.0.13
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
'@withtyped/server':
specifier: ^0.13.6
version: 0.13.6(zod@3.22.4)
@@ -208,7 +208,7 @@ importers:
version: 17.0.0
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-alipay-native:
dependencies:
@@ -245,7 +245,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@shopify/jest-koa-mocks':
specifier: ^5.0.0
version: 5.0.0
@@ -263,7 +263,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -290,7 +290,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-alipay-web:
dependencies:
@@ -327,7 +327,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@shopify/jest-koa-mocks':
specifier: ^5.0.0
version: 5.0.0
@@ -345,7 +345,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -372,7 +372,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-aliyun-dm:
dependencies:
@@ -403,7 +403,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -418,7 +418,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -445,7 +445,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-aliyun-sms:
dependencies:
@@ -476,7 +476,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -491,7 +491,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -518,7 +518,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-apple:
dependencies:
@@ -555,7 +555,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -570,7 +570,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -597,7 +597,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-aws-ses:
dependencies:
@@ -634,7 +634,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -649,7 +649,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -676,7 +676,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-azuread:
dependencies:
@@ -710,7 +710,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -725,7 +725,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -752,7 +752,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-discord:
dependencies:
@@ -783,7 +783,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -798,7 +798,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -825,7 +825,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-facebook:
dependencies:
@@ -856,7 +856,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -871,7 +871,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -898,7 +898,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-feishu-web:
dependencies:
@@ -929,7 +929,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -944,7 +944,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -971,7 +971,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-github:
dependencies:
@@ -1005,7 +1005,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1020,7 +1020,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1047,7 +1047,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-google:
dependencies:
@@ -1078,7 +1078,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1093,7 +1093,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1120,7 +1120,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-huggingface:
dependencies:
@@ -1151,7 +1151,7 @@ importers:
version: 15.2.3(rollup@4.14.3)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.14.3)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.14.3)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1166,7 +1166,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.12.7)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1193,7 +1193,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.12.7)
+ version: 1.4.0(@types/node@20.12.7)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-kakao:
dependencies:
@@ -1224,7 +1224,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1239,7 +1239,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1266,7 +1266,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-logto-email:
dependencies:
@@ -1300,7 +1300,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1315,7 +1315,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1342,7 +1342,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-logto-sms:
dependencies:
@@ -1373,7 +1373,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1388,7 +1388,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1415,7 +1415,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-logto-social-demo:
dependencies:
@@ -1446,7 +1446,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1461,7 +1461,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1488,7 +1488,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-mailgun:
dependencies:
@@ -1519,7 +1519,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1534,7 +1534,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1561,7 +1561,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-mock-email:
dependencies:
@@ -1592,7 +1592,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1607,7 +1607,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1634,7 +1634,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-mock-email-alternative:
dependencies:
@@ -1665,7 +1665,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1680,7 +1680,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1707,7 +1707,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-mock-sms:
dependencies:
@@ -1738,7 +1738,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1753,7 +1753,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1780,7 +1780,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-mock-social:
dependencies:
@@ -1811,7 +1811,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1826,7 +1826,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1853,7 +1853,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-naver:
dependencies:
@@ -1884,7 +1884,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1899,7 +1899,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -1926,7 +1926,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-oauth2:
dependencies:
@@ -1966,7 +1966,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -1981,7 +1981,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2008,7 +2008,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-oidc:
dependencies:
@@ -2051,7 +2051,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2066,7 +2066,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2093,7 +2093,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-saml:
dependencies:
@@ -2130,7 +2130,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2145,7 +2145,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2172,7 +2172,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-sendgrid-email:
dependencies:
@@ -2203,7 +2203,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2218,7 +2218,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2245,7 +2245,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-smsaero:
dependencies:
@@ -2276,7 +2276,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2291,7 +2291,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2318,7 +2318,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-smtp:
dependencies:
@@ -2352,7 +2352,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2370,7 +2370,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2397,7 +2397,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-tencent-sms:
dependencies:
@@ -2428,7 +2428,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2443,7 +2443,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2470,7 +2470,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-twilio-sms:
dependencies:
@@ -2501,7 +2501,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2516,7 +2516,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2543,7 +2543,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-wechat-native:
dependencies:
@@ -2574,7 +2574,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2589,7 +2589,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2616,7 +2616,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-wechat-web:
dependencies:
@@ -2647,7 +2647,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2662,7 +2662,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2689,7 +2689,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.11.20)
+ version: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
packages/connectors/connector-wecom:
dependencies:
@@ -2720,7 +2720,7 @@ importers:
version: 15.2.3(rollup@4.12.0)
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.12.0)(typescript@5.3.3)
+ version: 11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
@@ -2735,7 +2735,7 @@ importers:
version: 6.0.2
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -2762,7 +2762,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/console:
devDependencies:
@@ -2804,7 +2804,7 @@ importers:
version: 1.6.22(react@18.2.0)
'@monaco-editor/react':
specifier: ^4.6.0
- version: 4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0)(react@18.2.0)
+ version: 4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@parcel/compressor-brotli':
specifier: 2.9.3
version: 2.9.3(@parcel/core@2.9.3)
@@ -2816,7 +2816,7 @@ importers:
version: 2.9.3
'@parcel/transformer-mdx':
specifier: 2.9.3
- version: 2.9.3(@mdx-js/react@1.6.22)(@parcel/core@2.9.3)
+ version: 2.9.3(@mdx-js/react@1.6.22(react@18.2.0))(@parcel/core@2.9.3)
'@parcel/transformer-sass':
specifier: 2.9.3
version: 2.9.3(@parcel/core@2.9.3)
@@ -2828,7 +2828,7 @@ importers:
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
'@silverhand/eslint-config-react':
specifier: 6.0.2
- version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0)(typescript@5.3.3)
+ version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3)
'@silverhand/essentials':
specifier: ^2.9.0
version: 2.9.0
@@ -2840,13 +2840,13 @@ importers:
version: 6.0.0(typescript@5.3.3)
'@swc/core':
specifier: ^1.3.52
- version: 1.3.52
+ version: 1.3.52(@swc/helpers@0.5.1)
'@swc/jest':
specifier: ^0.2.26
- version: 0.2.26(@swc/core@1.3.52)
+ version: 0.2.26(@swc/core@1.3.52(@swc/helpers@0.5.1))
'@testing-library/react':
specifier: ^15.0.0
- version: 15.0.2(react-dom@18.2.0)(react@18.2.0)
+ version: 15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@types/color':
specifier: ^3.0.3
version: 3.0.3
@@ -2933,7 +2933,7 @@ importers:
version: 3.0.0
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
jest-environment-jsdom:
specifier: ^29.0.0
version: 29.2.2
@@ -2942,7 +2942,7 @@ importers:
version: 2.0.0
jest-transformer-svg:
specifier: ^2.0.0
- version: 2.0.0(jest@29.7.0)(react@18.2.0)
+ version: 2.0.0(jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)))(react@18.2.0)
just-kebab-case:
specifier: ^4.2.0
version: 4.2.0
@@ -2966,7 +2966,7 @@ importers:
version: 0.5.0(overlayscrollbars@2.0.3)(react@18.2.0)
parcel:
specifier: 2.9.3
- version: 2.9.3(postcss@8.4.31)
+ version: 2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)
postcss:
specifier: ^8.4.31
version: 8.4.31
@@ -2990,7 +2990,7 @@ importers:
version: 18.2.0
react-animate-height:
specifier: ^3.0.4
- version: 3.0.4(react-dom@18.2.0)(react@18.2.0)
+ version: 3.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-color:
specifier: ^2.19.3
version: 2.19.3(react@18.2.0)
@@ -3017,31 +3017,31 @@ importers:
version: 7.43.9(react@18.2.0)
react-hot-toast:
specifier: ^2.2.0
- version: 2.2.0(csstype@3.0.11)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.2.0(csstype@3.0.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-i18next:
specifier: ^12.3.1
- version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0)(react@18.2.0)
+ version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-markdown:
specifier: ^9.0.0
version: 9.0.0(@types/react@18.0.31)(react@18.2.0)
react-modal:
specifier: ^3.15.1
- version: 3.15.1(react-dom@18.2.0)(react@18.2.0)
+ version: 3.15.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-paginate:
specifier: ^8.1.3
version: 8.1.3(react@18.2.0)
react-router-dom:
specifier: ^6.10.0
- version: 6.10.0(react-dom@18.2.0)(react@18.2.0)
+ version: 6.10.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-syntax-highlighter:
specifier: ^15.5.0
version: 15.5.0(react@18.2.0)
react-timer-hook:
specifier: ^3.0.5
- version: 3.0.5(react-dom@18.2.0)(react@18.2.0)
+ version: 3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
recharts:
specifier: ^2.1.13
- version: 2.1.13(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.1.13(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
remark-gfm:
specifier: ^4.0.0
version: 4.0.0
@@ -3056,7 +3056,7 @@ importers:
version: 4.0.0
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.3.3)
+ version: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)
tslib:
specifier: ^2.4.1
version: 2.4.1
@@ -3336,7 +3336,7 @@ importers:
version: 8.57.0
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@20.10.4)
+ version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
jest-matcher-specific-error:
specifier: ^1.0.0
version: 1.0.0
@@ -3402,7 +3402,7 @@ importers:
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
'@silverhand/eslint-config-react':
specifier: 6.0.2
- version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0)(typescript@5.3.3)
+ version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3)
'@silverhand/ts-config':
specifier: 6.0.0
version: 6.0.0(typescript@5.3.3)
@@ -3435,7 +3435,7 @@ importers:
version: 15.0.2
parcel:
specifier: 2.9.3
- version: 2.9.3(postcss@8.4.31)
+ version: 2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)
postcss:
specifier: ^8.4.31
version: 8.4.31
@@ -3450,7 +3450,7 @@ importers:
version: 18.2.0(react@18.2.0)
react-i18next:
specifier: ^12.3.1
- version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0)(react@18.2.0)
+ version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
stylelint:
specifier: ^15.0.0
version: 15.11.0(typescript@5.3.3)
@@ -3504,13 +3504,13 @@ importers:
version: 9.6.1(react@18.2.0)
'@react-spring/web':
specifier: ^9.6.1
- version: 9.6.1(react-dom@18.2.0)(react@18.2.0)
+ version: 9.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@silverhand/eslint-config':
specifier: 6.0.1
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
'@silverhand/eslint-config-react':
specifier: 6.0.2
- version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0)(typescript@5.3.3)
+ version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3)
'@silverhand/essentials':
specifier: ^2.9.0
version: 2.9.0
@@ -3528,16 +3528,16 @@ importers:
version: 9.0.1
'@swc/core':
specifier: ^1.3.52
- version: 1.3.52
+ version: 1.3.52(@swc/helpers@0.5.1)
'@swc/jest':
specifier: ^0.2.26
- version: 0.2.26(@swc/core@1.3.52)
+ version: 0.2.26(@swc/core@1.3.52(@swc/helpers@0.5.1))
'@testing-library/react':
specifier: ^15.0.0
- version: 15.0.2(react-dom@18.2.0)(react@18.2.0)
+ version: 15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@testing-library/react-hooks':
specifier: ^8.0.1
- version: 8.0.1(@types/react@18.0.31)(react-dom@18.2.0)(react@18.2.0)
+ version: 8.0.1(@types/react@18.0.31)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@types/color':
specifier: ^3.0.3
version: 3.0.3
@@ -3588,7 +3588,7 @@ importers:
version: 3.0.0
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@20.12.7)
+ version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
jest-environment-jsdom:
specifier: ^29.0.0
version: 29.2.2
@@ -3597,7 +3597,7 @@ importers:
version: 2.0.0
jest-transformer-svg:
specifier: ^2.0.0
- version: 2.0.0(jest@29.7.0)(react@18.2.0)
+ version: 2.0.0(jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)))(react@18.2.0)
js-base64:
specifier: ^3.7.5
version: 3.7.5
@@ -3612,10 +3612,10 @@ importers:
version: 15.0.2
parcel:
specifier: 2.9.3
- version: 2.9.3(postcss@8.4.31)
+ version: 2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)
parcel-resolver-ignore:
specifier: ^2.1.3
- version: 2.1.3(parcel@2.9.3)
+ version: 2.1.3(parcel@2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0))
postcss:
specifier: ^8.4.31
version: 8.4.31
@@ -3630,7 +3630,7 @@ importers:
version: 18.2.0
react-device-detect:
specifier: ^2.2.3
- version: 2.2.3(react-dom@18.2.0)(react@18.2.0)
+ version: 2.2.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-dom:
specifier: ^18.0.0
version: 18.2.0(react@18.2.0)
@@ -3642,19 +3642,19 @@ importers:
version: 7.34.0(react@18.2.0)
react-i18next:
specifier: ^12.3.1
- version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0)(react@18.2.0)
+ version: 12.3.1(i18next@22.4.15)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-modal:
specifier: ^3.15.1
- version: 3.15.1(react-dom@18.2.0)(react@18.2.0)
+ version: 3.15.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-router-dom:
specifier: ^6.10.0
- version: 6.10.0(react-dom@18.2.0)(react@18.2.0)
+ version: 6.10.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-string-replace:
specifier: ^1.0.0
version: 1.0.0
react-timer-hook:
specifier: ^3.0.5
- version: 3.0.5(react-dom@18.2.0)(react@18.2.0)
+ version: 3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-top-loading-bar:
specifier: ^2.3.1
version: 2.3.1(react@18.2.0)
@@ -3736,13 +3736,13 @@ importers:
version: 10.0.0
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@20.10.4)
+ version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
jest-matcher-specific-error:
specifier: ^1.0.0
version: 1.0.0
jest-puppeteer:
specifier: ^10.0.1
- version: 10.0.1(puppeteer@22.6.5)(typescript@5.3.3)
+ version: 10.0.1(puppeteer@22.6.5(typescript@5.3.3))(typescript@5.3.3)
jose:
specifier: ^5.0.0
version: 5.0.1
@@ -3886,7 +3886,7 @@ importers:
version: 0.0.33
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
camelcase:
specifier: ^8.0.0
version: 8.0.0
@@ -3913,7 +3913,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/shared:
dependencies:
@@ -3947,7 +3947,7 @@ importers:
version: 20.10.4
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -3962,7 +3962,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/toolkit/connector-kit:
dependencies:
@@ -3994,7 +3994,7 @@ importers:
version: 20.10.4
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -4009,7 +4009,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/toolkit/core-kit:
dependencies:
@@ -4035,7 +4035,7 @@ importers:
version: 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
'@silverhand/eslint-config-react':
specifier: 6.0.2
- version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0)(typescript@5.3.3)
+ version: 6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3)
'@silverhand/ts-config':
specifier: 6.0.0
version: 6.0.0(typescript@5.3.3)
@@ -4053,7 +4053,7 @@ importers:
version: 18.0.31
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -4074,7 +4074,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages/toolkit/language-kit:
optionalDependencies:
@@ -4093,7 +4093,7 @@ importers:
version: 20.10.4
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.4.0(vitest@1.4.0)
+ version: 1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))
eslint:
specifier: ^8.56.0
version: 8.57.0
@@ -4108,7 +4108,7 @@ importers:
version: 5.3.3
vitest:
specifier: ^1.4.0
- version: 1.4.0(@types/node@20.10.4)
+ version: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
packages:
@@ -5215,7 +5215,7 @@ packages:
'@logto/react@3.0.8':
resolution: {integrity: sha512-p3pV4rX4g8ZwHQ159mxI+pP3Bwome47dNEmP1hI8/10WqdIPXGYTnfYn5c2l4Y2DyslYyK3ur2Sy4i4K6ept9A==}
peerDependencies:
- react: '>=16.8.0 || ^18.0.0'
+ react: '>=16.8.0'
'@manypkg/find-root@1.1.0':
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
@@ -5229,7 +5229,7 @@ packages:
'@mdx-js/react@1.6.22':
resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==}
peerDependencies:
- react: ^16.13.1 || ^17.0.0 || ^18.0.0
+ react: ^16.13.1 || ^17.0.0
'@mdx-js/util@1.6.22':
resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==}
@@ -5898,7 +5898,7 @@ packages:
resolution: {integrity: sha512-4PqhypLqrX5FVXimKBz3S1c+usDns3N/XG66n2FQtO1FIa8WUVw1CsuWHT+tkqeIxDR1PRQX1e8Iwyy7vPclPA==}
engines: {node: ^20.9.0}
peerDependencies:
- stylelint: ^15.0.0 || ^16.0.0
+ stylelint: ^15.0.0
'@silverhand/eslint-config@6.0.1':
resolution: {integrity: sha512-v7VbAiNgVwcjwGXe4LK6qNVKgltcm4XX9dkYgyaD22vcYCtp1BSd8NVsPDISV1nAwwirCklL0KSDtcD7pxkbHw==}
@@ -6334,7 +6334,7 @@ packages:
engines: {node: '>=12'}
peerDependencies:
'@types/react': ^16.9.0 || ^17.0.0
- react: ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.9.0 || ^17.0.0
react-dom: ^16.9.0 || ^17.0.0
react-test-renderer: ^16.9.0 || ^17.0.0
peerDependenciesMeta:
@@ -9577,7 +9577,7 @@ packages:
jest-transformer-svg@2.0.0:
resolution: {integrity: sha512-+f6er7UZTiHTeel9nma1i0NTAU8AjbEvhK2RYUoMxTNihwo98z2rrrDBIbppZI6ACDzeul3bhRmI9M6d25J/Nw==}
peerDependencies:
- jest: ^28.1.0 || ^29.1.2
+ jest: ^28.1.0
react: ^17.0.0 || ^18.0.0
jest-util@29.5.0:
@@ -10675,7 +10675,7 @@ packages:
resolution: {integrity: sha512-uCNTnkfWW74veoiEv3kSwoLelKt4e8gTNv65D771X3il0x5g5Yo0fUbro7SpQzR9yNgi23cvB2mQHTTdQH96pA==}
peerDependencies:
overlayscrollbars: ^2.0.0
- react: '>=16.8.0 || ^18.0.0'
+ react: '>=16.8.0'
overlayscrollbars@2.0.3:
resolution: {integrity: sha512-boOkJFER1Tc21sxF4a7ghGl+ETV3WtP7YgsUyDPo1VTHUIPdQLfnTzMyOOdMkKkVcpJOYMKwwr4m+saCtgawCg==}
@@ -10772,9 +10772,6 @@ packages:
resolution: {integrity: sha512-2GTVocFkwblV/TIg9AmT7TI2fO4xdWkyN8aFUEVtiVNWt96GTR3FgQyHFValfCbcj1k9Xf962Ws2hYXYUr9k1Q==}
engines: {node: '>= 12.0.0'}
hasBin: true
- peerDependenciesMeta:
- '@parcel/core':
- optional: true
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
@@ -11257,7 +11254,7 @@ packages:
resolution: {integrity: sha512-k+mBS8yCzpFp+7BdrHsL5bXd6CO/2bYO2SvRGKfxK+Ss3nzplAJLlgnd6Zhcxe/avdpy/CgcziicFj7pIHgG5g==}
engines: {node: '>= 12.0.0'}
peerDependencies:
- react: '>=16.8.0 || ^18.0.0'
+ react: '>=16.8.0'
react-dom: '>=16.8.0'
react-color@2.19.3:
@@ -11274,7 +11271,7 @@ packages:
react-device-detect@2.2.3:
resolution: {integrity: sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==}
peerDependencies:
- react: '>= 0.14.0 || ^18.0.0'
+ react: '>= 0.14.0'
react-dom: '>= 0.14.0'
react-dnd-html5-backend@16.0.0:
@@ -11286,7 +11283,7 @@ packages:
'@types/hoist-non-react-statics': '>= 3.3.1'
'@types/node': '>= 12'
'@types/react': '>= 16'
- react: '>= 16.14 || ^18.0.0'
+ react: '>= 16.14'
peerDependenciesMeta:
'@types/hoist-non-react-statics':
optional: true
@@ -11298,19 +11295,19 @@ packages:
react-dom@18.2.0:
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
peerDependencies:
- react: ^18.2.0 || ^18.0.0
+ react: ^18.2.0
react-dropzone@14.2.3:
resolution: {integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==}
engines: {node: '>= 10.13'}
peerDependencies:
- react: '>= 16.8 || 18.0.0 || ^18.0.0'
+ react: '>= 16.8 || 18.0.0'
react-error-boundary@3.1.4:
resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==}
engines: {node: '>=10', npm: '>=6'}
peerDependencies:
- react: '>=16.13.1 || ^18.0.0'
+ react: '>=16.13.1'
react-error-overlay@6.0.9:
resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==}
@@ -11321,32 +11318,32 @@ packages:
react-helmet@6.1.0:
resolution: {integrity: sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==}
peerDependencies:
- react: '>=16.3.0 || ^18.0.0'
+ react: '>=16.3.0'
react-hook-form@7.34.0:
resolution: {integrity: sha512-s0/TJ09NVlEk2JPp3yit1WnMuPNBXFmUKEQPulgDi9pYBw/ZmmAFHe6AXWq73Y+kp8ye4OcMf0Jv+i/qLPektg==}
engines: {node: '>=12.22.0'}
peerDependencies:
- react: ^16.8.0 || ^17 || ^18 || ^18.0.0
+ react: ^16.8.0 || ^17 || ^18
react-hook-form@7.43.9:
resolution: {integrity: sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==}
engines: {node: '>=12.22.0'}
peerDependencies:
- react: ^16.8.0 || ^17 || ^18 || ^18.0.0
+ react: ^16.8.0 || ^17 || ^18
react-hot-toast@2.2.0:
resolution: {integrity: sha512-248rXw13uhf/6TNDVzagX+y7R8J183rp7MwUMNkcrBRyHj/jWOggfXTGlM8zAOuh701WyVW+eUaWG2LeSufX9g==}
engines: {node: '>=10'}
peerDependencies:
- react: '>=16 || ^18.0.0'
+ react: '>=16'
react-dom: '>=16'
react-i18next@12.3.1:
resolution: {integrity: sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==}
peerDependencies:
i18next: '>= 19.0.0'
- react: '>= 16.8.0 || ^18.0.0'
+ react: '>= 16.8.0'
react-dom: '*'
react-native: '*'
peerDependenciesMeta:
@@ -11371,19 +11368,19 @@ packages:
resolution: {integrity: sha512-v6yNf3AB8GfJ8lCpUvzxAXKxgsHpdmWPlcVRQ6Nocsezp255E/IDrF31kLQsPJeB/cKto/geUwjU36wH784FCA==}
peerDependencies:
'@types/react': '>=18'
- react: '>=18 || ^18.0.0'
+ react: '>=18'
react-modal@3.15.1:
resolution: {integrity: sha512-duB9bxOaYg7Zt6TMFldIFxQRtSP+Dg3F1ZX3FXxSUn+3tZZ/9JCgeAQKDg7rhZSAqopq8TFRw3yIbnx77gyFTw==}
engines: {node: '>=8'}
peerDependencies:
- react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^18.0.0
+ react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18
react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18
react-paginate@8.1.3:
resolution: {integrity: sha512-zBp80DBRcaeBnAeHUfbGKD0XHfbGNUolQ+S60Ymfs8o7rusYaJYZMAt1j93ADDNLlzRmJ0tMF/NeTlcdKf7dlQ==}
peerDependencies:
- react: ^16 || ^17 || ^18 || ^18.0.0
+ react: ^16 || ^17 || ^18
react-refresh@0.9.0:
resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==}
@@ -11399,14 +11396,14 @@ packages:
resolution: {integrity: sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==}
engines: {node: '>=14'}
peerDependencies:
- react: '>=16.8 || ^18.0.0'
+ react: '>=16.8'
react-dom: '>=16.8'
react-router@6.10.0:
resolution: {integrity: sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==}
engines: {node: '>=14'}
peerDependencies:
- react: '>=16.8 || ^18.0.0'
+ react: '>=16.8'
react-side-effect@2.1.2:
resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==}
@@ -11427,24 +11424,24 @@ packages:
react-syntax-highlighter@15.5.0:
resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==}
peerDependencies:
- react: '>= 0.14.0 || ^18.0.0'
+ react: '>= 0.14.0'
react-timer-hook@3.0.5:
resolution: {integrity: sha512-n+98SdmYvui2ne3KyWb3Ldu4k0NYQa3g/VzW6VEIfZJ8GAk/jJsIY700M8Nd2vNSTj05c7wKyQfJBqZ0x7zfiA==}
peerDependencies:
- react: '>=16.8.0 || ^18.0.0'
+ react: '>=16.8.0'
react-dom: '>=16.8.0'
react-top-loading-bar@2.3.1:
resolution: {integrity: sha512-rQk2Nm+TOBrM1C4E3e6KwT65iXyRSgBHjCkr2FNja1S51WaPulRA5nKj/xazuQ3x89wDDdGsrqkqy0RBIfd0xg==}
engines: {node: '>=10'}
peerDependencies:
- react: ^16 || ^17 || ^18 || ^18.0.0
+ react: ^16 || ^17 || ^18
react-transition-group@2.9.0:
resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==}
peerDependencies:
- react: '>=15.0.0 || ^18.0.0'
+ react: '>=15.0.0'
react-dom: '>=15.0.0'
react@18.2.0:
@@ -12100,7 +12097,7 @@ packages:
resolution: {integrity: sha512-E4IoDwgJqG+Q3LjeZGXNi3uOXOH5Sx6mCyxp1V4eaAm1DhuA+3X40c2GtobEIHfCv6itN/T3QKRb4V4/snIxUg==}
engines: {node: '>=16'}
peerDependencies:
- stylelint: '>=14 || ^16.0.0'
+ stylelint: '>=14'
stylelint-declaration-block-no-ignored-properties@2.8.0:
resolution: {integrity: sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==}
@@ -12111,13 +12108,13 @@ packages:
stylelint-order@6.0.4:
resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==}
peerDependencies:
- stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 || ^16.0.0
+ stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
stylelint-scss@6.2.1:
resolution: {integrity: sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw==}
engines: {node: '>=18.12.0'}
peerDependencies:
- stylelint: ^16.0.2 || ^16.0.0
+ stylelint: ^16.0.2
stylelint@15.11.0:
resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==}
@@ -12560,7 +12557,7 @@ packages:
resolution: {integrity: sha512-FbY/ynor7wZV55v1EvvAvu8CvSoEKT1azS2zFb/aLlL0vySbqTM7x9fIcaOJN++E52mVINNDe2VmWWd+Q00S+A==}
engines: {node: '>=10'}
peerDependencies:
- react: '>=16 || ^18.0.0'
+ react: '>=16'
use-sync-external-store@1.2.0:
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
@@ -14157,7 +14154,7 @@ snapshots:
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 8.3.6(typescript@5.0.2)
- cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@8.3.6)(typescript@5.0.2)
+ cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@8.3.6(typescript@5.0.2))(typescript@5.0.2)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@@ -14218,7 +14215,7 @@ snapshots:
'@csstools/css-tokenizer@2.2.4': {}
- '@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4)':
+ '@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)':
dependencies:
'@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4)
'@csstools/css-tokenizer': 2.2.4
@@ -14416,7 +14413,7 @@ snapshots:
jest-util: 29.7.0
slash: 3.0.0
- '@jest/core@29.7.0(ts-node@10.9.2)':
+ '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
@@ -14430,7 +14427,42 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
+ jest-haste-map: 29.7.0
+ jest-message-util: 29.7.0
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-resolve-dependencies: 29.7.0
+ jest-runner: 29.7.0
+ jest-runtime: 29.7.0
+ jest-snapshot: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ jest-watcher: 29.7.0
+ micromatch: 4.0.5
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+
+ '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))':
+ dependencies:
+ '@jest/console': 29.7.0
+ '@jest/reporters': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.12.7
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 29.7.0
+ jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -14807,7 +14839,7 @@ snapshots:
monaco-editor: 0.47.0
state-local: 1.0.7
- '@monaco-editor/react@4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0)(react@18.2.0)':
+ '@monaco-editor/react@4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@monaco-editor/loader': 1.4.0(monaco-editor@0.47.0)
monaco-editor: 0.47.0
@@ -14941,17 +14973,17 @@ snapshots:
transitivePeerDependencies:
- '@parcel/core'
- '@parcel/config-default@2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)':
+ '@parcel/config-default@2.9.3(@parcel/core@2.9.3)(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)':
dependencies:
'@parcel/bundler-default': 2.9.3(@parcel/core@2.9.3)
'@parcel/compressor-raw': 2.9.3(@parcel/core@2.9.3)
'@parcel/core': 2.9.3
'@parcel/namer-default': 2.9.3(@parcel/core@2.9.3)
'@parcel/optimizer-css': 2.9.3(@parcel/core@2.9.3)
- '@parcel/optimizer-htmlnano': 2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)
+ '@parcel/optimizer-htmlnano': 2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)(srcset@4.0.0)
'@parcel/optimizer-image': 2.9.3(@parcel/core@2.9.3)
'@parcel/optimizer-svgo': 2.9.3(@parcel/core@2.9.3)
- '@parcel/optimizer-swc': 2.9.3(@parcel/core@2.9.3)
+ '@parcel/optimizer-swc': 2.9.3(@parcel/core@2.9.3)(@swc/helpers@0.5.1)
'@parcel/packager-css': 2.9.3(@parcel/core@2.9.3)
'@parcel/packager-html': 2.9.3(@parcel/core@2.9.3)
'@parcel/packager-js': 2.9.3(@parcel/core@2.9.3)
@@ -15078,10 +15110,10 @@ snapshots:
transitivePeerDependencies:
- '@parcel/core'
- '@parcel/optimizer-htmlnano@2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)':
+ '@parcel/optimizer-htmlnano@2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)(srcset@4.0.0)':
dependencies:
'@parcel/plugin': 2.9.3(@parcel/core@2.9.3)
- htmlnano: 2.0.3(postcss@8.4.31)(svgo@2.8.0)
+ htmlnano: 2.0.3(postcss@8.4.31)(srcset@4.0.0)(svgo@2.8.0)
nullthrows: 1.1.1
posthtml: 0.16.6
svgo: 2.8.0
@@ -15112,13 +15144,13 @@ snapshots:
transitivePeerDependencies:
- '@parcel/core'
- '@parcel/optimizer-swc@2.9.3(@parcel/core@2.9.3)':
+ '@parcel/optimizer-swc@2.9.3(@parcel/core@2.9.3)(@swc/helpers@0.5.1)':
dependencies:
'@parcel/diagnostic': 2.9.3
'@parcel/plugin': 2.9.3(@parcel/core@2.9.3)
'@parcel/source-map': 2.1.1
'@parcel/utils': 2.9.3
- '@swc/core': 1.3.52
+ '@swc/core': 1.3.52(@swc/helpers@0.5.1)
nullthrows: 1.1.1
transitivePeerDependencies:
- '@parcel/core'
@@ -15333,7 +15365,7 @@ snapshots:
transitivePeerDependencies:
- '@parcel/core'
- '@parcel/transformer-mdx@2.9.3(@mdx-js/react@1.6.22)(@parcel/core@2.9.3)':
+ '@parcel/transformer-mdx@2.9.3(@mdx-js/react@1.6.22(react@18.2.0))(@parcel/core@2.9.3)':
dependencies:
'@mdx-js/mdx': 1.6.22
'@mdx-js/react': 1.6.22(react@18.2.0)
@@ -15532,7 +15564,7 @@ snapshots:
'@react-spring/types@9.6.1': {}
- '@react-spring/web@9.6.1(react-dom@18.2.0)(react@18.2.0)':
+ '@react-spring/web@9.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@react-spring/animated': 9.6.1(react@18.2.0)
'@react-spring/core': 9.6.1(react@18.2.0)
@@ -15577,6 +15609,7 @@ snapshots:
glob: 8.1.0
is-reference: 1.2.1
magic-string: 0.30.7
+ optionalDependencies:
rollup: 4.12.0
'@rollup/plugin-commonjs@25.0.7(rollup@4.14.3)':
@@ -15587,16 +15620,19 @@ snapshots:
glob: 8.1.0
is-reference: 1.2.1
magic-string: 0.30.7
+ optionalDependencies:
rollup: 4.14.3
'@rollup/plugin-json@6.1.0(rollup@4.12.0)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.12.0)
+ optionalDependencies:
rollup: 4.12.0
'@rollup/plugin-json@6.1.0(rollup@4.14.3)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.14.3)
+ optionalDependencies:
rollup: 4.14.3
'@rollup/plugin-node-resolve@15.2.3(rollup@4.12.0)':
@@ -15607,6 +15643,7 @@ snapshots:
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.2
+ optionalDependencies:
rollup: 4.12.0
'@rollup/plugin-node-resolve@15.2.3(rollup@4.14.3)':
@@ -15617,27 +15654,33 @@ snapshots:
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.2
+ optionalDependencies:
rollup: 4.14.3
- '@rollup/plugin-typescript@11.1.6(rollup@4.12.0)(typescript@5.3.3)':
+ '@rollup/plugin-typescript@11.1.6(rollup@4.12.0)(tslib@2.6.2)(typescript@5.3.3)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.12.0)
resolve: 1.22.8
- rollup: 4.12.0
typescript: 5.3.3
+ optionalDependencies:
+ rollup: 4.12.0
+ tslib: 2.6.2
- '@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(typescript@5.3.3)':
+ '@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.6.2)(typescript@5.3.3)':
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.14.3)
resolve: 1.22.8
- rollup: 4.14.3
typescript: 5.3.3
+ optionalDependencies:
+ rollup: 4.14.3
+ tslib: 2.6.2
'@rollup/pluginutils@5.1.0(rollup@4.12.0)':
dependencies:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
+ optionalDependencies:
rollup: 4.12.0
'@rollup/pluginutils@5.1.0(rollup@4.14.3)':
@@ -15645,6 +15688,7 @@ snapshots:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
+ optionalDependencies:
rollup: 4.14.3
'@rollup/rollup-android-arm-eabi@4.12.0':
@@ -15749,17 +15793,17 @@ snapshots:
'@sideway/pinpoint@2.0.0': {}
- '@silverhand/eslint-config-react@6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0)(typescript@5.3.3)':
+ '@silverhand/eslint-config-react@6.0.2(eslint@8.57.0)(postcss@8.4.31)(prettier@3.0.0)(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3)':
dependencies:
'@silverhand/eslint-config': 6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)
- eslint-config-xo-react: 0.27.0(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.34.1)(eslint@8.57.0)
+ eslint-config-xo-react: 0.27.0(eslint-plugin-react-hooks@4.6.0(eslint@8.57.0))(eslint-plugin-react@7.34.1(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
eslint-plugin-react: 7.34.1(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
postcss-scss: 4.0.9(postcss@8.4.31)
stylelint: 15.11.0(typescript@5.3.3)
- stylelint-config-xo: 0.22.0(stylelint@15.11.0)
- stylelint-scss: 6.2.1(stylelint@15.11.0)
+ stylelint-config-xo: 0.22.0(stylelint@15.11.0(typescript@5.3.3))
+ stylelint-scss: 6.2.1(stylelint@15.11.0(typescript@5.3.3))
transitivePeerDependencies:
- '@types/eslint'
- eslint
@@ -15773,23 +15817,23 @@ snapshots:
'@silverhand/eslint-config@6.0.1(eslint@8.57.0)(prettier@3.0.0)(typescript@5.3.3)':
dependencies:
'@silverhand/eslint-plugin-fp': 2.5.0(eslint@8.57.0)
- '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
eslint: 8.57.0
eslint-config-prettier: 9.1.0(eslint@8.57.0)
eslint-config-xo: 0.44.0(eslint@8.57.0)
- eslint-config-xo-typescript: 4.0.0(@typescript-eslint/eslint-plugin@7.7.0)(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3)
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-config-xo-typescript: 4.0.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3))(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0)
eslint-plugin-consistent-default-export-name: 0.0.15
eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-n: 17.2.1(eslint@8.57.0)
eslint-plugin-no-use-extend-native: 0.5.0
- eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.0.0)
+ eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.0.0)
eslint-plugin-promise: 6.1.1(eslint@8.57.0)
eslint-plugin-sql: 2.1.0(eslint@8.57.0)
eslint-plugin-unicorn: 52.0.0(eslint@8.57.0)
- eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)
+ eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)
prettier: 3.0.0
transitivePeerDependencies:
- '@types/eslint'
@@ -16311,7 +16355,7 @@ snapshots:
'@swc/core-win32-x64-msvc@1.3.52':
optional: true
- '@swc/core@1.3.52':
+ '@swc/core@1.3.52(@swc/helpers@0.5.1)':
optionalDependencies:
'@swc/core-darwin-arm64': 1.3.52
'@swc/core-darwin-x64': 1.3.52
@@ -16323,15 +16367,16 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.3.52
'@swc/core-win32-ia32-msvc': 1.3.52
'@swc/core-win32-x64-msvc': 1.3.52
+ '@swc/helpers': 0.5.1
'@swc/helpers@0.5.1':
dependencies:
tslib: 2.6.2
- '@swc/jest@0.2.26(@swc/core@1.3.52)':
+ '@swc/jest@0.2.26(@swc/core@1.3.52(@swc/helpers@0.5.1))':
dependencies:
'@jest/create-cache-key-function': 27.5.1
- '@swc/core': 1.3.52
+ '@swc/core': 1.3.52(@swc/helpers@0.5.1)
jsonc-parser: 3.2.0
'@szmarczak/http-timer@5.0.1':
@@ -16349,15 +16394,16 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
- '@testing-library/react-hooks@8.0.1(@types/react@18.0.31)(react-dom@18.2.0)(react@18.2.0)':
+ '@testing-library/react-hooks@8.0.1(@types/react@18.0.31)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.21.0
- '@types/react': 18.0.31
react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
react-error-boundary: 3.1.4(react@18.2.0)
+ optionalDependencies:
+ '@types/react': 18.0.31
+ react-dom: 18.2.0(react@18.2.0)
- '@testing-library/react@15.0.2(react-dom@18.2.0)(react@18.2.0)':
+ '@testing-library/react@15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.21.0
'@testing-library/dom': 10.0.0
@@ -16778,7 +16824,7 @@ snapshots:
'@types/node': 20.12.7
optional: true
- '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3)':
+ '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)':
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
@@ -16793,6 +16839,7 @@ snapshots:
natural-compare: 1.4.0
semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.3.3)
+ optionalDependencies:
typescript: 5.3.3
transitivePeerDependencies:
- supports-color
@@ -16805,6 +16852,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 7.7.0
debug: 4.3.4
eslint: 8.57.0
+ optionalDependencies:
typescript: 5.3.3
transitivePeerDependencies:
- supports-color
@@ -16821,6 +16869,7 @@ snapshots:
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.3.3)
+ optionalDependencies:
typescript: 5.3.3
transitivePeerDependencies:
- supports-color
@@ -16837,6 +16886,7 @@ snapshots:
minimatch: 9.0.4
semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.3.3)
+ optionalDependencies:
typescript: 5.3.3
transitivePeerDependencies:
- supports-color
@@ -16862,7 +16912,7 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
- '@vitest/coverage-v8@1.4.0(vitest@1.4.0)':
+ '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1))':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 0.2.3
@@ -16878,7 +16928,47 @@ snapshots:
strip-literal: 2.0.0
test-exclude: 6.0.0
v8-to-istanbul: 9.2.0
- vitest: 1.4.0(@types/node@20.10.4)
+ vitest: 1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@bcoe/v8-coverage': 0.2.3
+ debug: 4.3.4
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 5.0.4
+ istanbul-reports: 3.1.7
+ magic-string: 0.30.7
+ magicast: 0.3.3
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.0.0
+ test-exclude: 6.0.0
+ v8-to-istanbul: 9.2.0
+ vitest: 1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@20.12.7)(jsdom@20.0.2)(sass@1.56.1))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@bcoe/v8-coverage': 0.2.3
+ debug: 4.3.4
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 5.0.4
+ istanbul-reports: 3.1.7
+ magic-string: 0.30.7
+ magicast: 0.3.3
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.0.0
+ test-exclude: 6.0.0
+ v8-to-istanbul: 9.2.0
+ vitest: 1.4.0(@types/node@20.12.7)(jsdom@20.0.2)(sass@1.56.1)
transitivePeerDependencies:
- supports-color
@@ -16992,11 +17082,11 @@ snapshots:
- supports-color
ajv-draft-04@1.0.0(ajv@8.12.0):
- dependencies:
+ optionalDependencies:
ajv: 8.12.0
ajv-formats@2.1.1(ajv@8.12.0):
- dependencies:
+ optionalDependencies:
ajv: 8.12.0
ajv@6.12.6:
@@ -17727,7 +17817,7 @@ snapshots:
core-js@3.34.0: {}
- cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@8.3.6)(typescript@5.0.2):
+ cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@8.3.6(typescript@5.0.2))(typescript@5.0.2):
dependencies:
'@types/node': 20.12.7
cosmiconfig: 8.3.6(typescript@5.0.2)
@@ -17748,6 +17838,7 @@ snapshots:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
+ optionalDependencies:
typescript: 5.0.2
cosmiconfig@8.3.6(typescript@5.3.3):
@@ -17756,6 +17847,7 @@ snapshots:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
+ optionalDependencies:
typescript: 5.3.3
cosmiconfig@9.0.0(typescript@5.3.3):
@@ -17764,19 +17856,20 @@ snapshots:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
+ optionalDependencies:
typescript: 5.3.3
create-eslint-index@1.0.0:
dependencies:
lodash.get: 4.4.2
- create-jest@29.7.0(@types/node@20.10.4):
+ create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3)):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.10.4)
+ jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -17785,13 +17878,13 @@ snapshots:
- supports-color
- ts-node
- create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2):
+ create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -17953,6 +18046,7 @@ snapshots:
debug@3.2.7(supports-color@5.5.0):
dependencies:
ms: 2.1.3
+ optionalDependencies:
supports-color: 5.5.0
debug@4.3.4:
@@ -18400,15 +18494,15 @@ snapshots:
dependencies:
eslint: 8.57.0
- eslint-config-xo-react@0.27.0(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.34.1)(eslint@8.57.0):
+ eslint-config-xo-react@0.27.0(eslint-plugin-react-hooks@4.6.0(eslint@8.57.0))(eslint-plugin-react@7.34.1(eslint@8.57.0))(eslint@8.57.0):
dependencies:
eslint: 8.57.0
eslint-plugin-react: 7.34.1(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
- eslint-config-xo-typescript@4.0.0(@typescript-eslint/eslint-plugin@7.7.0)(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3):
+ eslint-config-xo-typescript@4.0.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3))(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3)
+ '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
eslint: 8.57.0
typescript: 5.3.3
@@ -18426,13 +18520,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies:
debug: 4.3.4
enhanced-resolve: 5.16.0
eslint: 8.57.0
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.3
is-core-module: 2.13.1
@@ -18443,13 +18537,14 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
debug: 3.2.7(supports-color@5.5.0)
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
@@ -18471,9 +18566,8 @@ snapshots:
eslint: 8.57.0
ignore: 5.3.1
- eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
@@ -18482,7 +18576,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.13.1
is-glob: 4.0.3
@@ -18492,6 +18586,8 @@ snapshots:
object.values: 1.2.0
semver: 6.3.1
tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.3.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -18536,13 +18632,14 @@ snapshots:
is-obj-prop: 1.0.0
is-proto-prop: 2.0.0
- eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.0.0):
+ eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.0.0):
dependencies:
eslint: 8.57.0
- eslint-config-prettier: 9.1.0(eslint@8.57.0)
prettier: 3.0.0
prettier-linter-helpers: 1.0.0
synckit: 0.8.8
+ optionalDependencies:
+ eslint-config-prettier: 9.1.0(eslint@8.57.0)
eslint-plugin-promise@6.1.1(eslint@8.57.0):
dependencies:
@@ -18607,11 +18704,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0):
+ eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0):
dependencies:
- '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.3.3)
eslint: 8.57.0
eslint-rule-composer: 0.3.0
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)
eslint-rule-composer@0.3.0: {}
@@ -19381,13 +19479,15 @@ snapshots:
html-void-elements@1.0.5: {}
- htmlnano@2.0.3(postcss@8.4.31)(svgo@2.8.0):
+ htmlnano@2.0.3(postcss@8.4.31)(srcset@4.0.0)(svgo@2.8.0):
dependencies:
cosmiconfig: 7.1.0
- postcss: 8.4.31
posthtml: 0.16.6
- svgo: 2.8.0
timsort: 0.3.0
+ optionalDependencies:
+ postcss: 8.4.31
+ srcset: 4.0.0
+ svgo: 2.8.0
htmlparser2@7.2.0:
dependencies:
@@ -19662,7 +19762,7 @@ snapshots:
is-date-object@1.0.5:
dependencies:
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
is-decimal@1.0.4: {}
@@ -19680,7 +19780,7 @@ snapshots:
is-generator-function@1.0.10:
dependencies:
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
is-get-set-prop@1.0.0:
dependencies:
@@ -19746,7 +19846,7 @@ snapshots:
is-regex@1.1.4:
dependencies:
call-bind: 1.0.7
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
is-set@2.0.3: {}
@@ -19908,16 +20008,16 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@29.7.0(@types/node@20.10.4):
+ jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
+ '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@20.10.4)
+ create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
exit: 0.1.2
import-local: 3.1.0
- jest-config: 29.7.0(@types/node@20.10.4)
+ jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -19927,16 +20027,16 @@ snapshots:
- supports-color
- ts-node
- jest-cli@29.7.0(@types/node@20.12.7):
+ jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
exit: 0.1.2
import-local: 3.1.0
- jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -19946,60 +20046,42 @@ snapshots:
- supports-color
- ts-node
- jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2):
- dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
- exit: 0.1.2
- import-local: 3.1.0
- jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
- jest-config@29.7.0(@types/node@20.10.4):
+ jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3)):
dependencies:
'@babel/core': 7.24.4
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
+ babel-jest: 29.7.0(@babel/core@7.24.4)
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 29.7.0
+ jest-environment-node: 29.7.0
+ jest-get-type: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-runner: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ micromatch: 4.0.5
+ parse-json: 5.2.0
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
'@types/node': 20.10.4
- babel-jest: 29.7.0(@babel/core@7.24.4)
- chalk: 4.1.2
- ci-info: 3.8.0
- deepmerge: 4.3.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-circus: 29.7.0
- jest-environment-node: 29.7.0
- jest-get-type: 29.6.3
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-runner: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- micromatch: 4.0.5
- parse-json: 5.2.0
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-json-comments: 3.1.1
+ ts-node: 10.9.2(@types/node@20.10.4)(typescript@5.3.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
- jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2):
+ jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)):
dependencies:
'@babel/core': 7.24.4
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.12.7
babel-jest: 29.7.0(@babel/core@7.24.4)
chalk: 4.1.2
ci-info: 3.8.0
@@ -20019,7 +20101,40 @@ snapshots:
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
- ts-node: 10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.3.3)
+ optionalDependencies:
+ '@types/node': 20.12.7
+ ts-node: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+
+ jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3)):
+ dependencies:
+ '@babel/core': 7.24.4
+ '@jest/test-sequencer': 29.7.0
+ '@jest/types': 29.6.3
+ babel-jest: 29.7.0(@babel/core@7.24.4)
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 29.7.0
+ jest-environment-node: 29.7.0
+ jest-get-type: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-runner: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ micromatch: 4.0.5
+ parse-json: 5.2.0
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
+ '@types/node': 20.12.7
+ ts-node: 10.9.2(@types/node@20.10.4)(typescript@5.3.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -20177,10 +20292,10 @@ snapshots:
jest-util: 29.7.0
jest-pnp-resolver@1.2.2(jest-resolve@29.7.0):
- dependencies:
+ optionalDependencies:
jest-resolve: 29.7.0
- jest-puppeteer@10.0.1(puppeteer@22.6.5)(typescript@5.3.3):
+ jest-puppeteer@10.0.1(puppeteer@22.6.5(typescript@5.3.3))(typescript@5.3.3):
dependencies:
expect-puppeteer: 10.0.0
jest-environment-puppeteer: 10.0.1(typescript@5.3.3)
@@ -20293,9 +20408,9 @@ snapshots:
jest-transform-stub@2.0.0: {}
- jest-transformer-svg@2.0.0(jest@29.7.0)(react@18.2.0):
+ jest-transformer-svg@2.0.0(jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)))(react@18.2.0):
dependencies:
- jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
react: 18.2.0
jest-util@29.5.0:
@@ -20350,36 +20465,24 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@20.10.4):
+ jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
+ '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
'@jest/types': 29.6.3
import-local: 3.1.0
- jest-cli: 29.7.0(@types/node@20.10.4)
+ jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
- supports-color
- ts-node
- jest@29.7.0(@types/node@20.12.7):
+ jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
'@jest/types': 29.6.3
import-local: 3.1.0
- jest-cli: 29.7.0(@types/node@20.12.7)
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
- jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2):
- dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2)
- '@jest/types': 29.6.3
- import-local: 3.1.0
- jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2)
+ jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -21815,13 +21918,13 @@ snapshots:
pako@1.0.11: {}
- parcel-resolver-ignore@2.1.3(parcel@2.9.3):
+ parcel-resolver-ignore@2.1.3(parcel@2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)):
dependencies:
- parcel: 2.9.3(postcss@8.4.31)
+ parcel: 2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)
- parcel@2.9.3(postcss@8.4.31):
+ parcel@2.9.3(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0):
dependencies:
- '@parcel/config-default': 2.9.3(@parcel/core@2.9.3)(postcss@8.4.31)
+ '@parcel/config-default': 2.9.3(@parcel/core@2.9.3)(@swc/helpers@0.5.1)(postcss@8.4.31)(srcset@4.0.0)
'@parcel/core': 2.9.3
'@parcel/diagnostic': 2.9.3
'@parcel/events': 2.9.3
@@ -22293,7 +22396,7 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
- react-animate-height@3.0.4(react-dom@18.2.0)(react@18.2.0):
+ react-animate-height@3.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
classnames: 2.3.1
react: 18.2.0
@@ -22315,7 +22418,7 @@ snapshots:
react: 18.2.0
tween-functions: 1.2.0
- react-device-detect@2.2.3(react-dom@18.2.0)(react@18.2.0):
+ react-device-detect@2.2.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -22329,12 +22432,13 @@ snapshots:
dependencies:
'@react-dnd/invariant': 4.0.0
'@react-dnd/shallowequal': 4.0.0
- '@types/node': 20.12.7
- '@types/react': 18.0.31
dnd-core: 16.0.0
fast-deep-equal: 3.1.3
hoist-non-react-statics: 3.3.2
react: 18.2.0
+ optionalDependencies:
+ '@types/node': 20.12.7
+ '@types/react': 18.0.31
react-dom@18.2.0(react@18.2.0):
dependencies:
@@ -22374,7 +22478,7 @@ snapshots:
dependencies:
react: 18.2.0
- react-hot-toast@2.2.0(csstype@3.0.11)(react-dom@18.2.0)(react@18.2.0):
+ react-hot-toast@2.2.0(csstype@3.0.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
goober: 2.1.8(csstype@3.0.11)
react: 18.2.0
@@ -22382,12 +22486,13 @@ snapshots:
transitivePeerDependencies:
- csstype
- react-i18next@12.3.1(i18next@22.4.15)(react-dom@18.2.0)(react@18.2.0):
+ react-i18next@12.3.1(i18next@22.4.15)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@babel/runtime': 7.21.0
html-parse-stringify: 3.0.1
i18next: 22.4.15
react: 18.2.0
+ optionalDependencies:
react-dom: 18.2.0(react@18.2.0)
react-is@16.13.1: {}
@@ -22416,7 +22521,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-modal@3.15.1(react-dom@18.2.0)(react@18.2.0):
+ react-modal@3.15.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
exenv: 1.2.2
prop-types: 15.8.1
@@ -22432,13 +22537,13 @@ snapshots:
react-refresh@0.9.0: {}
- react-resize-detector@7.1.2(react-dom@18.2.0)(react@18.2.0):
+ react-resize-detector@7.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
lodash: 4.17.21
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-router-dom@6.10.0(react-dom@18.2.0)(react@18.2.0):
+ react-router-dom@6.10.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@remix-run/router': 1.5.0
react: 18.2.0
@@ -22454,13 +22559,13 @@ snapshots:
dependencies:
react: 18.2.0
- react-smooth@2.0.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0):
+ react-smooth@2.0.1(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
fast-equals: 2.0.4
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-transition-group: 2.9.0(react-dom@18.2.0)(react@18.2.0)
+ react-transition-group: 2.9.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-string-replace@1.0.0: {}
@@ -22473,7 +22578,7 @@ snapshots:
react: 18.2.0
refractor: 3.6.0
- react-timer-hook@3.0.5(react-dom@18.2.0)(react@18.2.0):
+ react-timer-hook@3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -22482,7 +22587,7 @@ snapshots:
dependencies:
react: 18.2.0
- react-transition-group@2.9.0(react-dom@18.2.0)(react@18.2.0):
+ react-transition-group@2.9.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
dom-helpers: 3.4.0
loose-envify: 1.4.0
@@ -22547,7 +22652,7 @@ snapshots:
dependencies:
decimal.js-light: 2.5.1
- recharts@2.1.13(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0):
+ recharts@2.1.13(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
classnames: 2.3.1
d3-interpolate: 3.0.1
@@ -22559,8 +22664,8 @@ snapshots:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-is: 16.13.1
- react-resize-detector: 7.1.2(react-dom@18.2.0)(react@18.2.0)
- react-smooth: 2.0.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)
+ react-resize-detector: 7.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ react-smooth: 2.0.1(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
recharts-scale: 0.4.5
reduce-css-calc: 2.1.8
@@ -22815,6 +22920,7 @@ snapshots:
colorette: 2.0.20
gzip-size: 7.0.0
pretty-bytes: 6.1.1
+ optionalDependencies:
rollup: 4.12.0
rollup-plugin-output-size@1.3.0(rollup@4.14.3):
@@ -22822,6 +22928,7 @@ snapshots:
colorette: 2.0.20
gzip-size: 7.0.0
pretty-bytes: 6.1.1
+ optionalDependencies:
rollup: 4.14.3
rollup@4.12.0:
@@ -23297,23 +23404,23 @@ snapshots:
dependencies:
inline-style-parser: 0.1.1
- stylelint-config-xo@0.22.0(stylelint@15.11.0):
+ stylelint-config-xo@0.22.0(stylelint@15.11.0(typescript@5.3.3)):
dependencies:
stylelint: 15.11.0(typescript@5.3.3)
- stylelint-declaration-block-no-ignored-properties: 2.8.0(stylelint@15.11.0)
- stylelint-order: 6.0.4(stylelint@15.11.0)
+ stylelint-declaration-block-no-ignored-properties: 2.8.0(stylelint@15.11.0(typescript@5.3.3))
+ stylelint-order: 6.0.4(stylelint@15.11.0(typescript@5.3.3))
- stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@15.11.0):
+ stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@15.11.0(typescript@5.3.3)):
dependencies:
stylelint: 15.11.0(typescript@5.3.3)
- stylelint-order@6.0.4(stylelint@15.11.0):
+ stylelint-order@6.0.4(stylelint@15.11.0(typescript@5.3.3)):
dependencies:
postcss: 8.4.38
postcss-sorting: 8.0.2(postcss@8.4.38)
stylelint: 15.11.0(typescript@5.3.3)
- stylelint-scss@6.2.1(stylelint@15.11.0):
+ stylelint-scss@6.2.1(stylelint@15.11.0(typescript@5.3.3)):
dependencies:
known-css-properties: 0.29.0
postcss-media-query-parser: 0.2.3
@@ -23326,7 +23433,7 @@ snapshots:
dependencies:
'@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4)
'@csstools/css-tokenizer': 2.2.4
- '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4)
+ '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
'@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16)
balanced-match: 2.0.0
colord: 2.9.3
@@ -23572,10 +23679,9 @@ snapshots:
dependencies:
typescript: 5.3.3
- ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.3.3):
+ ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.3.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
- '@swc/core': 1.3.52
'@tsconfig/node10': 1.0.9
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
@@ -23590,6 +23696,27 @@ snapshots:
typescript: 5.3.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
+ optionalDependencies:
+ '@swc/core': 1.3.52(@swc/helpers@0.5.1)
+
+ ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3):
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.9
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.10.4
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.3.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ optional: true
tsconfig-paths@3.15.0:
dependencies:
@@ -23879,13 +24006,13 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite-node@1.4.0(@types/node@20.10.4):
+ vite-node@1.4.0(@types/node@20.10.4)(sass@1.56.1):
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.2.9(@types/node@20.10.4)
+ vite: 5.2.9(@types/node@20.10.4)(sass@1.56.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -23896,13 +24023,13 @@ snapshots:
- supports-color
- terser
- vite-node@1.4.0(@types/node@20.11.20):
+ vite-node@1.4.0(@types/node@20.11.20)(sass@1.56.1):
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.2.9(@types/node@20.11.20)
+ vite: 5.2.9(@types/node@20.11.20)(sass@1.56.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -23913,13 +24040,13 @@ snapshots:
- supports-color
- terser
- vite-node@1.4.0(@types/node@20.12.7):
+ vite-node@1.4.0(@types/node@20.12.7)(sass@1.56.1):
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.2.9(@types/node@20.12.7)
+ vite: 5.2.9(@types/node@20.12.7)(sass@1.56.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -23930,36 +24057,72 @@ snapshots:
- supports-color
- terser
- vite@5.2.9(@types/node@20.10.4):
+ vite@5.2.9(@types/node@20.10.4)(sass@1.56.1):
dependencies:
+ esbuild: 0.20.2
+ postcss: 8.4.38
+ rollup: 4.14.3
+ optionalDependencies:
'@types/node': 20.10.4
+ fsevents: 2.3.3
+ sass: 1.56.1
+
+ vite@5.2.9(@types/node@20.11.20)(sass@1.56.1):
+ dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.14.3
optionalDependencies:
- fsevents: 2.3.3
-
- vite@5.2.9(@types/node@20.11.20):
- dependencies:
'@types/node': 20.11.20
+ fsevents: 2.3.3
+ sass: 1.56.1
+
+ vite@5.2.9(@types/node@20.12.7)(sass@1.56.1):
+ dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.14.3
optionalDependencies:
- fsevents: 2.3.3
-
- vite@5.2.9(@types/node@20.12.7):
- dependencies:
'@types/node': 20.12.7
- esbuild: 0.20.2
- postcss: 8.4.38
- rollup: 4.14.3
- optionalDependencies:
fsevents: 2.3.3
+ sass: 1.56.1
- vitest@1.4.0(@types/node@20.10.4):
+ vitest@1.4.0(@types/node@20.10.4)(jsdom@20.0.2)(sass@1.56.1):
dependencies:
+ '@vitest/expect': 1.4.0
+ '@vitest/runner': 1.4.0
+ '@vitest/snapshot': 1.4.0
+ '@vitest/spy': 1.4.0
+ '@vitest/utils': 1.4.0
+ acorn-walk: 8.3.2
+ chai: 4.4.1
+ debug: 4.3.4
+ execa: 8.0.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.7
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.0.0
+ tinybench: 2.6.0
+ tinypool: 0.8.2
+ vite: 5.2.9(@types/node@20.10.4)(sass@1.56.1)
+ vite-node: 1.4.0(@types/node@20.10.4)(sass@1.56.1)
+ why-is-node-running: 2.2.2
+ optionalDependencies:
'@types/node': 20.10.4
+ jsdom: 20.0.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ vitest@1.4.0(@types/node@20.11.20)(jsdom@20.0.2)(sass@1.56.1):
+ dependencies:
'@vitest/expect': 1.4.0
'@vitest/runner': 1.4.0
'@vitest/snapshot': 1.4.0
@@ -23977,41 +24140,12 @@ snapshots:
strip-literal: 2.0.0
tinybench: 2.6.0
tinypool: 0.8.2
- vite: 5.2.9(@types/node@20.10.4)
- vite-node: 1.4.0(@types/node@20.10.4)
+ vite: 5.2.9(@types/node@20.11.20)(sass@1.56.1)
+ vite-node: 1.4.0(@types/node@20.11.20)(sass@1.56.1)
why-is-node-running: 2.2.2
- transitivePeerDependencies:
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
-
- vitest@1.4.0(@types/node@20.11.20):
- dependencies:
+ optionalDependencies:
'@types/node': 20.11.20
- '@vitest/expect': 1.4.0
- '@vitest/runner': 1.4.0
- '@vitest/snapshot': 1.4.0
- '@vitest/spy': 1.4.0
- '@vitest/utils': 1.4.0
- acorn-walk: 8.3.2
- chai: 4.4.1
- debug: 4.3.4
- execa: 8.0.1
- local-pkg: 0.5.0
- magic-string: 0.30.7
- pathe: 1.1.2
- picocolors: 1.0.0
- std-env: 3.7.0
- strip-literal: 2.0.0
- tinybench: 2.6.0
- tinypool: 0.8.2
- vite: 5.2.9(@types/node@20.11.20)
- vite-node: 1.4.0(@types/node@20.11.20)
- why-is-node-running: 2.2.2
+ jsdom: 20.0.2
transitivePeerDependencies:
- less
- lightningcss
@@ -24021,9 +24155,8 @@ snapshots:
- supports-color
- terser
- vitest@1.4.0(@types/node@20.12.7):
+ vitest@1.4.0(@types/node@20.12.7)(jsdom@20.0.2)(sass@1.56.1):
dependencies:
- '@types/node': 20.12.7
'@vitest/expect': 1.4.0
'@vitest/runner': 1.4.0
'@vitest/snapshot': 1.4.0
@@ -24041,9 +24174,12 @@ snapshots:
strip-literal: 2.0.0
tinybench: 2.6.0
tinypool: 0.8.2
- vite: 5.2.9(@types/node@20.12.7)
- vite-node: 1.4.0(@types/node@20.12.7)
+ vite: 5.2.9(@types/node@20.12.7)(sass@1.56.1)
+ vite-node: 1.4.0(@types/node@20.12.7)(sass@1.56.1)
why-is-node-running: 2.2.2
+ optionalDependencies:
+ '@types/node': 20.12.7
+ jsdom: 20.0.2
transitivePeerDependencies:
- less
- lightningcss