0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-16 20:26:19 -05:00

refactor(console): update pricing console page (#6620)

* refactor(console): update pricing console page

* refactor: refactor code

* chore: update code according to cr
This commit is contained in:
Darcy Ye 2024-09-24 15:55:05 +08:00 committed by GitHub
parent b3cac2edb1
commit eccba56481
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 459 additions and 250 deletions

View file

@ -27,7 +27,7 @@
"devDependencies": { "devDependencies": {
"@fontsource/roboto-mono": "^5.0.0", "@fontsource/roboto-mono": "^5.0.0",
"@jest/types": "^29.5.0", "@jest/types": "^29.5.0",
"@logto/cloud": "0.2.5-1661979", "@logto/cloud": "0.2.5-6654b82",
"@logto/connector-kit": "workspace:^4.0.0", "@logto/connector-kit": "workspace:^4.0.0",
"@logto/core-kit": "workspace:^2.5.0", "@logto/core-kit": "workspace:^2.5.0",
"@logto/elements": "workspace:^0.0.1", "@logto/elements": "workspace:^0.0.1",

View file

@ -37,6 +37,11 @@
} }
} }
.tagContainer {
display: flex;
gap: _.unit(1);
}
.tag { .tag {
padding-top: 1px; padding-top: 1px;
padding-bottom: 1px; padding-bottom: 1px;

View file

@ -1,42 +1,94 @@
import { type AdminConsoleKey } from '@logto/phrases'; import { type AdminConsoleKey } from '@logto/phrases';
import { conditional, type Nullable } from '@silverhand/essentials'; import { conditional, type Nullable } from '@silverhand/essentials';
import classNames from 'classnames'; import classNames from 'classnames';
import { useContext } from 'react';
import { Trans, useTranslation } from 'react-i18next'; import { Trans, useTranslation } from 'react-i18next';
import Tip from '@/assets/icons/tip.svg?react'; import Tip from '@/assets/icons/tip.svg?react';
import { addOnPricingExplanationLink } from '@/consts/external-links'; import { addOnPricingExplanationLink } from '@/consts/external-links';
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
import DynamicT from '@/ds-components/DynamicT'; import DynamicT from '@/ds-components/DynamicT';
import IconButton from '@/ds-components/IconButton'; import IconButton from '@/ds-components/IconButton';
import Tag from '@/ds-components/Tag'; import Tag from '@/ds-components/Tag';
import TextLink from '@/ds-components/TextLink'; import TextLink from '@/ds-components/TextLink';
import { ToggleTip } from '@/ds-components/Tip'; import { ToggleTip } from '@/ds-components/Tip';
import { isPaidPlan } from '@/utils/subscription';
import { formatNumber } from '../utils'; import { formatNumber } from '../utils';
import styles from './index.module.scss'; import styles from './index.module.scss';
const formatQuotaNumber = (number: number): string => {
if (number >= 1e6) {
return (number / 1e6).toFixed(1) + 'M';
}
if (number >= 1e3) {
return (number / 1e3).toFixed(1) + 'K';
}
if (Number.isInteger(number)) {
return number.toString();
}
return number.toFixed(2);
};
const formatNumberTypedUsageDescription = ({
usage,
quota,
unlimitedString,
}: {
usage: number;
quota?: Props['quota'];
unlimitedString: string;
}) => {
// Only show usage if quota is undefined or boolean (although quota should not be boolean if quota is number-typed).
if (quota === undefined || typeof quota === 'boolean') {
return formatNumber(usage);
}
// Show `usage / quota (usage percent)` if quota is number-typed, but hide the percentage display if usage percent is 0.
if (typeof quota === 'number') {
const usagePercent = usage / quota;
return `${formatNumber(usage)} / ${formatQuotaNumber(quota)}${
usagePercent > 0 ? ` (${(usagePercent * 100).toFixed(0)}%)` : ''
}`;
}
// Show `usage / unlimited` if quota is null.
return `${formatNumber(usage)} / ${unlimitedString}`;
};
export type Props = { export type Props = {
readonly usage: number | boolean; readonly usage: number | boolean;
readonly quota?: Nullable<number>; readonly quota?: Nullable<number> | boolean;
readonly basicQuota?: Nullable<number> | boolean;
readonly usageKey: AdminConsoleKey; readonly usageKey: AdminConsoleKey;
readonly titleKey: AdminConsoleKey; readonly titleKey: AdminConsoleKey;
readonly tooltipKey?: AdminConsoleKey; readonly tooltipKey?: AdminConsoleKey;
readonly unitPrice: number; readonly unitPrice: number;
readonly isUsageTipHidden: boolean;
readonly className?: string; readonly className?: string;
readonly isQuotaNoticeHidden?: boolean;
}; };
function PlanUsageCard({ function PlanUsageCard({
usage, usage,
quota, quota,
basicQuota,
unitPrice, unitPrice,
usageKey, usageKey,
titleKey, titleKey,
tooltipKey, tooltipKey,
isUsageTipHidden,
className, className,
isQuotaNoticeHidden,
}: Props) { }: Props) {
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' }); const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
const {
currentSubscription: { planId, isEnterprisePlan },
} = useContext(SubscriptionDataContext);
const isPaidTenant = isPaidPlan(planId, isEnterprisePlan);
const usagePercent = conditional( const usagePercent = conditional(
typeof quota === 'number' && typeof usage === 'number' && usage / quota typeof quota === 'number' && typeof usage === 'number' && usage / quota
@ -58,6 +110,11 @@ function PlanUsageCard({
> >
{t(tooltipKey, { {t(tooltipKey, {
price: unitPrice, price: unitPrice,
...conditional(
typeof basicQuota === 'number' && {
basicQuota: formatQuotaNumber(basicQuota),
}
),
})} })}
</Trans> </Trans>
} }
@ -78,29 +135,90 @@ function PlanUsageCard({
<Trans <Trans
components={{ components={{
span: ( span: (
<span className={classNames(styles.usageTip, isUsageTipHidden && styles.hidden)} /> <span
className={classNames(
styles.usageTip,
// Hide usage tip for free plan users.
(!isPaidTenant || basicQuota === undefined || isQuotaNoticeHidden) &&
styles.hidden
)}
/>
), ),
}} }}
> >
{t(usageKey, { {/* Can not use `DynamicT` here since we need to inherit the style of span. */}
usage: {t(
quota === undefined (() => {
? formatNumber(usage) if (basicQuota === null || basicQuota === true) {
: typeof quota === 'number' return 'subscription.usage.usage_description_with_unlimited_quota';
? `${formatNumber(usage)} / ${formatNumber(quota)}${ }
usagePercent === undefined ? '' : ` (${(usagePercent * 100).toFixed(0)}%)`
}` if (basicQuota === false || basicQuota === 0) {
: `${formatNumber(usage)} / ${String(t('subscription.quota_table.unlimited'))}`, return 'subscription.usage.usage_description_without_quota';
})} }
if (typeof basicQuota === 'number') {
return 'subscription.usage.usage_description_with_limited_quota';
}
return usageKey;
})(),
isPaidTenant
? {
usage: formatNumber(usage),
...conditional(
typeof basicQuota === 'number' && {
basicQuota: formatQuotaNumber(basicQuota),
}
),
}
: {
usage: formatNumberTypedUsageDescription({
usage,
quota,
unlimitedString: String(t('subscription.quota_table.unlimited')),
}),
}
)}
</Trans> </Trans>
</div> </div>
) : ( ) : (
<div> <div className={styles.tagContainer}>
<Tag className={styles.tag} type="state" status={usage ? 'success' : 'info'}> <Tag className={styles.tag} type="state" status={usage ? 'success' : 'info'}>
<DynamicT <DynamicT
forKey={`subscription.usage.${usage ? 'status_active' : 'status_inactive'}`} forKey={`subscription.usage.${usage ? 'status_active' : 'status_inactive'}`}
/> />
</Tag> </Tag>
{/* Only show the quota notice for enterprise plan. */}
{quota !== undefined && isEnterprisePlan && (
<div className={styles.usageTip}>
{/* Consider the type of quota is number, null or boolean, the following statement covers all cases. */}
{(() => {
if (quota === null || quota === true) {
return (
<DynamicT forKey="subscription.usage.unlimited_status_quota_description" />
);
}
if (quota === false || quota === 0) {
return <DynamicT forKey="subscription.usage.disabled_status_quota_description" />;
}
if (typeof quota === 'number') {
return (
<DynamicT
forKey="subscription.usage.limited_status_quota_description"
interpolation={{
quota: formatQuotaNumber(quota),
}}
/>
);
}
return null;
})()}
</div>
)}
</div> </div>
)} )}
</div> </div>

View file

@ -7,11 +7,12 @@ import { useContext, useMemo } from 'react';
import { import {
type NewSubscriptionPeriodicUsage, type NewSubscriptionPeriodicUsage,
type NewSubscriptionCountBasedUsage, type NewSubscriptionCountBasedUsage,
type NewSubscriptionQuota,
} from '@/cloud/types/router'; } from '@/cloud/types/router';
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider'; import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
import { TenantsContext } from '@/contexts/TenantsProvider'; import { TenantsContext } from '@/contexts/TenantsProvider';
import DynamicT from '@/ds-components/DynamicT'; import DynamicT from '@/ds-components/DynamicT';
import { formatPeriod } from '@/utils/subscription'; import { formatPeriod, isPaidPlan } from '@/utils/subscription';
import PlanUsageCard, { type Props as PlanUsageCardProps } from './PlanUsageCard'; import PlanUsageCard, { type Props as PlanUsageCardProps } from './PlanUsageCard';
import styles from './index.module.scss'; import styles from './index.module.scss';
@ -19,9 +20,9 @@ import {
type UsageKey, type UsageKey,
usageKeys, usageKeys,
usageKeyPriceMap, usageKeyPriceMap,
usageKeyMap,
titleKeyMap, titleKeyMap,
tooltipKeyMap, tooltipKeyMap,
enterpriseTooltipKeyMap,
} from './utils'; } from './utils';
type Props = { type Props = {
@ -33,21 +34,34 @@ const getUsageByKey = (
{ {
periodicUsage, periodicUsage,
countBasedUsage, countBasedUsage,
basicQuota,
}: { }: {
periodicUsage: NewSubscriptionPeriodicUsage; periodicUsage: NewSubscriptionPeriodicUsage;
countBasedUsage: NewSubscriptionCountBasedUsage; countBasedUsage: NewSubscriptionCountBasedUsage;
basicQuota: NewSubscriptionQuota;
} }
) => { ) => {
if (key === 'mauLimit' || key === 'tokenLimit') { if (key === 'mauLimit' || key === 'tokenLimit') {
return periodicUsage[key]; return periodicUsage[key];
} }
// Show organization usage status in in-use/not-in-use state.
if (key === 'organizationsLimit') {
// If the basic quota is a non-zero number, show the usage in `usage(number-typed) (First {{basicQuota}} included)` format.
if (typeof basicQuota[key] === 'number' && basicQuota[key] !== 0) {
return countBasedUsage[key];
}
return countBasedUsage[key] > 0;
}
return countBasedUsage[key]; return countBasedUsage[key];
}; };
function PlanUsage({ periodicUsage: rawPeriodicUsage }: Props) { function PlanUsage({ periodicUsage: rawPeriodicUsage }: Props) {
const { const {
currentSubscriptionQuota, currentSubscriptionQuota,
currentSubscriptionBasicQuota,
currentSubscriptionUsage, currentSubscriptionUsage,
currentSubscription: { currentSubscription: {
currentPeriodStart, currentPeriodStart,
@ -75,6 +89,7 @@ function PlanUsage({ periodicUsage: rawPeriodicUsage }: Props) {
return null; return null;
} }
const isPaidTenant = isPaidPlan(planId, isEnterprisePlan);
const onlyShowPeriodicUsage = const onlyShowPeriodicUsage =
planId === ReservedPlanId.Free || (!isAddOnAvailable && planId === ReservedPlanId.Pro); planId === ReservedPlanId.Free || (!isAddOnAvailable && planId === ReservedPlanId.Pro);
@ -90,24 +105,35 @@ function PlanUsage({ periodicUsage: rawPeriodicUsage }: Props) {
(onlyShowPeriodicUsage && (key === 'mauLimit' || key === 'tokenLimit')) (onlyShowPeriodicUsage && (key === 'mauLimit' || key === 'tokenLimit'))
) )
.map((key) => ({ .map((key) => ({
usage: getUsageByKey(key, { periodicUsage, countBasedUsage: currentSubscriptionUsage }), usage: getUsageByKey(key, {
usageKey: `subscription.usage.${usageKeyMap[key]}`, periodicUsage,
countBasedUsage: currentSubscriptionUsage,
basicQuota: currentSubscriptionBasicQuota,
}),
usageKey: 'subscription.usage.usage_description_with_limited_quota',
titleKey: `subscription.usage.${titleKeyMap[key]}`, titleKey: `subscription.usage.${titleKeyMap[key]}`,
unitPrice: usageKeyPriceMap[key], unitPrice: usageKeyPriceMap[key],
...conditional( ...cond(
planId === ReservedPlanId.Pro && { (key === 'tokenLimit' || key === 'mauLimit' || isPaidTenant) && {
tooltipKey: `subscription.usage.${tooltipKeyMap[key]}`, quota: currentSubscriptionQuota[key],
} }
), ),
...cond( ...cond(
(key === 'tokenLimit' || key === 'mauLimit' || key === 'organizationsLimit') && isPaidTenant && {
// Do not show `xxx / 0` in displaying usage. tooltipKey: `subscription.usage.${
currentSubscriptionQuota[key] !== 0 && { isEnterprisePlan ? enterpriseTooltipKeyMap[key] : tooltipKeyMap[key]
quota: currentSubscriptionQuota[key], }`,
basicQuota: currentSubscriptionBasicQuota[key],
}
),
// Hide the quota notice for Pro plans if the basic quota is 0.
// Per current pricing model design, it should apply to `enterpriseSsoLimit`.
...cond(
planId === ReservedPlanId.Pro &&
currentSubscriptionBasicQuota[key] === 0 && {
isQuotaNoticeHidden: true,
} }
), ),
// Hide usage tip for Enterprise plan.
isUsageTipHidden: isEnterprisePlan,
})); }));
return ( return (

View file

@ -49,21 +49,6 @@ export const usageKeyPriceMap: Record<keyof UsageKey, number> = {
hooksLimit: hooksAddOnUnitPrice, hooksLimit: hooksAddOnUnitPrice,
}; };
export const usageKeyMap: Record<
keyof UsageKey,
TFuncKey<'translation', 'admin_console.subscription.usage'>
> = {
mauLimit: 'mau.description',
organizationsLimit: 'organizations.description',
mfaEnabled: 'mfa.description',
enterpriseSsoLimit: 'enterprise_sso.description',
resourcesLimit: 'api_resources.description',
machineToMachineLimit: 'machine_to_machine.description',
tenantMembersLimit: 'tenant_members.description',
tokenLimit: 'tokens.description',
hooksLimit: 'hooks.description',
};
export const titleKeyMap: Record< export const titleKeyMap: Record<
keyof UsageKey, keyof UsageKey,
TFuncKey<'translation', 'admin_console.subscription.usage'> TFuncKey<'translation', 'admin_console.subscription.usage'>
@ -94,6 +79,21 @@ export const tooltipKeyMap: Record<
hooksLimit: 'hooks.tooltip', hooksLimit: 'hooks.tooltip',
}; };
export const enterpriseTooltipKeyMap: Record<
keyof UsageKey,
TFuncKey<'translation', 'admin_console.subscription.usage'>
> = {
mauLimit: 'mau.tooltip_for_enterprise',
organizationsLimit: 'organizations.tooltip_for_enterprise',
mfaEnabled: 'mfa.tooltip_for_enterprise',
enterpriseSsoLimit: 'enterprise_sso.tooltip_for_enterprise',
resourcesLimit: 'api_resources.tooltip_for_enterprise',
machineToMachineLimit: 'machine_to_machine.tooltip_for_enterprise',
tenantMembersLimit: 'tenant_members.tooltip_for_enterprise',
tokenLimit: 'tokens.tooltip_for_enterprise',
hooksLimit: 'hooks.tooltip_for_enterprise',
};
export const formatNumber = (number: number): string => { export const formatNumber = (number: number): string => {
return number.toString().replaceAll(/\B(?=(\d{3})+(?!\d))/g, ','); return number.toString().replaceAll(/\B(?=(\d{3})+(?!\d))/g, ',');
}; };

View file

@ -29,6 +29,7 @@ export const SubscriptionDataContext = createContext<FullContext>({
logtoSkus: [], logtoSkus: [],
currentSku: defaultLogtoSku, currentSku: defaultLogtoSku,
currentSubscriptionQuota: defaultSubscriptionQuota, currentSubscriptionQuota: defaultSubscriptionQuota,
currentSubscriptionBasicQuota: defaultSubscriptionQuota,
currentSubscriptionUsage: defaultSubscriptionUsage, currentSubscriptionUsage: defaultSubscriptionUsage,
currentSubscriptionResourceScopeUsage: {}, currentSubscriptionResourceScopeUsage: {},
currentSubscriptionRoleScopeUsage: {}, currentSubscriptionRoleScopeUsage: {},

View file

@ -21,6 +21,7 @@ type NewSubscriptionSupplementContext = {
logtoSkus: LogtoSkuResponse[]; logtoSkus: LogtoSkuResponse[];
currentSku: LogtoSkuResponse; currentSku: LogtoSkuResponse;
currentSubscriptionQuota: NewSubscriptionQuota; currentSubscriptionQuota: NewSubscriptionQuota;
currentSubscriptionBasicQuota: NewSubscriptionQuota;
currentSubscriptionUsage: NewSubscriptionCountBasedUsage; currentSubscriptionUsage: NewSubscriptionCountBasedUsage;
currentSubscriptionResourceScopeUsage: NewSubscriptionResourceScopeUsage; currentSubscriptionResourceScopeUsage: NewSubscriptionResourceScopeUsage;
currentSubscriptionRoleScopeUsage: NewSubscriptionRoleScopeUsage; currentSubscriptionRoleScopeUsage: NewSubscriptionRoleScopeUsage;

View file

@ -59,6 +59,7 @@ const useNewSubscriptionData: () => NewSubscriptionContext & { isLoading: boolea
onCurrentSubscriptionUpdated: mutateSubscription, onCurrentSubscriptionUpdated: mutateSubscription,
mutateSubscriptionQuotaAndUsages, mutateSubscriptionQuotaAndUsages,
currentSubscriptionQuota: subscriptionUsageData?.quota ?? defaultSubscriptionQuota, currentSubscriptionQuota: subscriptionUsageData?.quota ?? defaultSubscriptionQuota,
currentSubscriptionBasicQuota: subscriptionUsageData?.basicQuota ?? defaultSubscriptionQuota,
currentSubscriptionUsage: subscriptionUsageData?.usage ?? defaultSubscriptionUsage, currentSubscriptionUsage: subscriptionUsageData?.usage ?? defaultSubscriptionUsage,
currentSubscriptionResourceScopeUsage: subscriptionUsageData?.resources ?? {}, currentSubscriptionResourceScopeUsage: subscriptionUsageData?.resources ?? {},
currentSubscriptionRoleScopeUsage: subscriptionUsageData?.roles ?? {}, currentSubscriptionRoleScopeUsage: subscriptionUsageData?.roles ?? {},
@ -73,6 +74,7 @@ const useNewSubscriptionData: () => NewSubscriptionContext & { isLoading: boolea
mutateSubscription, mutateSubscription,
mutateSubscriptionQuotaAndUsages, mutateSubscriptionQuotaAndUsages,
subscriptionUsageData?.quota, subscriptionUsageData?.quota,
subscriptionUsageData?.basicQuota,
subscriptionUsageData?.resources, subscriptionUsageData?.resources,
subscriptionUsageData?.roles, subscriptionUsageData?.roles,
subscriptionUsageData?.usage, subscriptionUsageData?.usage,

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: 'خطة Pro', pro_plan: 'خطة Pro',
pro_plan_description: 'للاستفادة من الأعمال بدون قلق مع Logto.', pro_plan_description: 'للاستفادة من الأعمال بدون قلق مع Logto.',
enterprise: 'خطة المؤسسة', enterprise: 'خطة المؤسسة',
enterprise_description: /** UNTRANSLATED */
'للمؤسسات الكبيرة التي تتطلب ميزات متقدمة وتخصيص كامل ودعم مخصص لتشغيل التطبيقات الحيوية. مصمم خصيصًا لتلبية احتياجاتك من الأمان والامتثال والأداء النهائي.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'خطة المسؤول', admin_plan: 'خطة المسؤول',
dev_plan: 'خطة التطوير', dev_plan: 'خطة التطوير',
current_plan: 'الخطة الحالية', current_plan: 'الخطة الحالية',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'تشغيل', /** UNTRANSLATED */
status_inactive: 'إيقاف', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: 'Pro plan', pro_plan: 'Pro plan',
pro_plan_description: 'Für Unternehmen, die sorgenfrei von Logto profitieren möchten.', pro_plan_description: 'Für Unternehmen, die sorgenfrei von Logto profitieren möchten.',
enterprise: 'Enterprise-Plan', enterprise: 'Enterprise-Plan',
enterprise_description: /** UNTRANSLATED */
'Für große Organisationen, die erweiterte Funktionen, volle Anpassung und dedizierten Support benötigen, um geschäftskritische Anwendungen zu betreiben. Auf Ihre Bedürfnisse zugeschnitten für ultimative Sicherheit, Compliance und Leistung.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Admin-Plan', admin_plan: 'Admin-Plan',
dev_plan: 'Entwicklungsplan', dev_plan: 'Entwicklungsplan',
current_plan: 'Aktueller Plan', current_plan: 'Aktueller Plan',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'An', /** UNTRANSLATED */
status_inactive: 'Aus', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,7 @@ const subscription = {
pro_plan: 'Pro plan', pro_plan: 'Pro plan',
pro_plan_description: 'For businesses benefit worry-free with Logto.', pro_plan_description: 'For businesses benefit worry-free with Logto.',
enterprise: 'Enterprise plan', enterprise: 'Enterprise plan',
enterprise_description: enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
'For large-scale organizations requiring advanced features, full customization, and dedicated support to power mission-critical applications. Tailored to your needs for ultimate security, compliance, and performance.',
admin_plan: 'Admin plan', admin_plan: 'Admin plan',
dev_plan: 'Development plan', dev_plan: 'Development plan',
current_plan: 'Current plan', current_plan: 'Current plan',

View file

@ -1,58 +1,74 @@
const usage = { const usage = {
status_active: 'On', status_active: 'In use',
status_inactive: 'Off', status_inactive: 'Not in use',
limited_status_quota_description: '(First {{quota}} included)',
unlimited_status_quota_description: '(Included)',
disabled_status_quota_description: '(Not included)',
usage_description_with_unlimited_quota: '{{usage}}<span> (Unlimited)</span>',
usage_description_with_limited_quota: '{{usage}}<span> (First {{basicQuota}} included)</span>',
usage_description_without_quota: '{{usage}}<span> (Not included)</span>',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}',
tooltip: tooltip:
'A MAU is a unique user who has exchanged at least one token with Logto within a billing cycle. Unlimited for the Pro Plan. <a>Learn more</a>', 'A MAU is a unique user who has exchanged at least one token with Logto within a billing cycle. Unlimited for the Pro Plan. <a>Learn more</a>',
tooltip_for_enterprise:
'A MAU is a unique user who has exchanged at least one token with Logto within a billing cycle. Unlimited for the Enterprise Plan.',
}, },
organizations: { organizations: {
title: 'Organizations', title: 'Organizations',
description: '{{usage}}',
tooltip: tooltip:
'Add-on feature with a flat rate of ${{price, number}} per month. Price is not affected by the number of organizations or their activity level.', 'Add-on feature with a flat rate of ${{price, number}} per month. Price is not affected by the number of organizations or their activity level.',
description_for_enterprise: '(Included)',
tooltip_for_enterprise:
'Inclusion depends on your plan. If the organization feature isnt in your initial contract, it will be added to your bill when you activate it. The add-on costs ${{price, number}}/month, regardless of the number of organizations or their activity.',
}, },
mfa: { mfa: {
title: 'MFA', title: 'MFA',
description: '{{usage}}',
tooltip: tooltip:
'Add-on feature with a flat rate of ${{price, number}} per month. Price is not affected by the number of authentication factors used.', 'Add-on feature with a flat rate of ${{price, number}} per month. Price is not affected by the number of authentication factors used.',
tooltip_for_enterprise:
'Inclusion depends on your plan. If the MFA feature isnt in your initial contract, it will be added to your bill when you activate it. The add-on costs ${{price, number}}/month, regardless of the number of authentication factors used.',
}, },
enterprise_sso: { enterprise_sso: {
title: 'Enterprise SSO', title: 'Enterprise SSO',
description: '{{usage}}',
tooltip: 'Add-on feature with a price of ${{price, number}} per SSO connection per month.', tooltip: 'Add-on feature with a price of ${{price, number}} per SSO connection per month.',
tooltip_for_enterprise:
'Add-on feature with a price of ${{price, number}} per SSO connection per month. The first {{basicQuota}} SSO are included and free to use in your contract-based plan.',
}, },
api_resources: { api_resources: {
title: 'API resources', title: 'API resources',
description: '{{usage}} <span>(Free for the first 3)</span>',
tooltip: tooltip:
'Add-on feature priced at ${{price, number}} per resource per month. The first 3 API resources are free.', 'Add-on feature priced at ${{price, number}} per resource per month. The first 3 API resources are free.',
tooltip_for_enterprise:
'The first {{basicQuota}} API resources are included and free to use in your contract-based plan. If you need more, ${{price, number}} per API resource per month.',
}, },
machine_to_machine: { machine_to_machine: {
title: 'Machine-to-machine', title: 'Machine-to-machine',
description: '{{usage}} <span>(Free for the first 1)</span>',
tooltip: tooltip:
'Add-on feature priced at ${{price, number}} per app per month. The first machine-to-machine app is free.', 'Add-on feature priced at ${{price, number}} per app per month. The first machine-to-machine app is free.',
tooltip_for_enterprise:
'The first {{basicQuota}} machine-to-machine app is free to use in your contract-based plan. If you need more, ${{price, number}} per app per month.',
}, },
tenant_members: { tenant_members: {
title: 'Tenant members', title: 'Tenant members',
description: '{{usage}} <span>(Free for the first 3)</span>',
tooltip: tooltip:
'Add-on feature priced at ${{price, number}} per member per month. The first 3 tenant members are free.', 'Add-on feature priced at ${{price, number}} per member per month. The first 3 tenant members are free.',
tooltip_for_enterprise:
'The first {{basicQuota}} tenant members are included and free to use in your contract-based plan. If you need more, ${{price, number}} per tenant member per month.',
}, },
tokens: { tokens: {
title: 'Tokens', title: 'Tokens',
description: '{{usage}}',
tooltip: tooltip:
'Add-on feature priced at ${{price, number}} per million tokens. The first 1 million tokens is included.', 'Add-on feature priced at ${{price, number}} per million tokens. The first 1 million tokens is included.',
tooltip_for_enterprise:
'The first {{basicQuota}} tokens is included and free to use in your contract-based plan. If you need more, ${{price, number}} per million tokens per month.',
}, },
hooks: { hooks: {
title: 'Hooks', title: 'Hooks',
description: '{{usage}} <span>(Free for the first 10)</span>',
tooltip: tooltip:
'Add-on feature priced at ${{price, number}} per hook. The first 10 hooks are included.', 'Add-on feature priced at ${{price, number}} per hook. The first 10 hooks are included.',
tooltip_for_enterprise:
'The first {{basicQuota}} hooks are included and free to use in your contract-based plan. If you need more, ${{price, number}} per hook per month.',
}, },
pricing: { pricing: {
add_on_changes_in_current_cycle_notice: add_on_changes_in_current_cycle_notice:

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Plan Pro', pro_plan: 'Plan Pro',
pro_plan_description: 'Benefíciese sin preocupaciones con Logto para empresas.', pro_plan_description: 'Benefíciese sin preocupaciones con Logto para empresas.',
enterprise: 'Plan Empresa', enterprise: 'Plan Empresa',
enterprise_description: /** UNTRANSLATED */
'Para organizaciones a gran escala que requieren funciones avanzadas, personalización completa y soporte dedicado para impulsar aplicaciones críticas. Adaptado a tus necesidades para máxima seguridad, cumplimiento y rendimiento.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Plan de administrador', admin_plan: 'Plan de administrador',
dev_plan: 'Plan de desarrollo', dev_plan: 'Plan de desarrollo',
current_plan: 'Plan Actual', current_plan: 'Plan Actual',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Encendido', /** UNTRANSLATED */
status_inactive: 'Apagado', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Plan Professionnel', pro_plan: 'Plan Professionnel',
pro_plan_description: 'Pour les entreprises qui bénéficient de Logto sans soucis.', pro_plan_description: 'Pour les entreprises qui bénéficient de Logto sans soucis.',
enterprise: 'Plan Entreprise', enterprise: 'Plan Entreprise',
enterprise_description: /** UNTRANSLATED */
'Pour les grandes organisations nécessitant des fonctionnalités avancées, une personnalisation complète et un support dédié afin de soutenir les applications critiques. Adapté à vos besoins pour une sécurité, une conformité et une performance optimales.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Plan Admin', admin_plan: 'Plan Admin',
dev_plan: 'Plan Développement', dev_plan: 'Plan Développement',
current_plan: 'Plan Actuel', current_plan: 'Plan Actuel',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Activé', /** UNTRANSLATED */
status_inactive: 'Désactivé', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Piano Pro', pro_plan: 'Piano Pro',
pro_plan_description: 'Per aziende che beneficiano di Logto senza preoccupazioni.', pro_plan_description: 'Per aziende che beneficiano di Logto senza preoccupazioni.',
enterprise: 'Piano Azienda', enterprise: 'Piano Azienda',
enterprise_description: /** UNTRANSLATED */
'Per organizzazioni su larga scala che richiedono funzionalità avanzate, personalizzazione completa e supporto dedicato per applicazioni mission-critical. Su misura per le tue esigenze per la massima sicurezza, conformità e prestazioni.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Piano amministratore', admin_plan: 'Piano amministratore',
dev_plan: 'Piano di sviluppo', dev_plan: 'Piano di sviluppo',
current_plan: 'Piano attuale', current_plan: 'Piano attuale',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Attivo', /** UNTRANSLATED */
status_inactive: 'Non attivo', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'プロプラン', pro_plan: 'プロプラン',
pro_plan_description: 'ビジネスが安心してLogtoを利用できるプランです。', pro_plan_description: 'ビジネスが安心してLogtoを利用できるプランです。',
enterprise: 'エンタープライズプラン', enterprise: 'エンタープライズプラン',
enterprise_description: /** UNTRANSLATED */
'高度な機能、完全なカスタマイズ、および専用サポートを必要とする大規模組織のためのものです。究極のセキュリティ、コンプライアンス、およびパフォーマンスのために、あなたのニーズに合わせて調整されています。', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: '管理者プラン', admin_plan: '管理者プラン',
dev_plan: '開発プラン', dev_plan: '開発プラン',
current_plan: '現在のプラン', current_plan: '現在のプラン',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'オン', /** UNTRANSLATED */
status_inactive: 'オフ', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: '프로 요금제', pro_plan: '프로 요금제',
pro_plan_description: 'Logto와 함께 걱정 없이 비즈니스 혜택을 받으세요.', pro_plan_description: 'Logto와 함께 걱정 없이 비즈니스 혜택을 받으세요.',
enterprise: '엔터프라이즈 플랜', enterprise: '엔터프라이즈 플랜',
enterprise_description: /** UNTRANSLATED */
'대규모 조직을 위한 고급 기능, 전체 맞춤화 및 전용 지원이 필요한 미션 크리티컬 애플리케이션을 구동합니다. 궁극적인 보안, 규정 준수 및 성능을 위해 당신의 요구에 맞춥니다.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: '관리자 플랜', admin_plan: '관리자 플랜',
dev_plan: '개발 플랜', dev_plan: '개발 플랜',
current_plan: '현재 요금제', current_plan: '현재 요금제',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: '켜짐', /** UNTRANSLATED */
status_inactive: '꺼짐', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Plan Pro', pro_plan: 'Plan Pro',
pro_plan_description: 'Dla firm, ciesz się bezstresową obsługą Logto.', pro_plan_description: 'Dla firm, ciesz się bezstresową obsługą Logto.',
enterprise: 'Plan Przedsiębiorstwo', enterprise: 'Plan Przedsiębiorstwo',
enterprise_description: /** UNTRANSLATED */
'Dla dużych organizacji wymagających zaawansowanych funkcji, pełnej personalizacji i dedykowanego wsparcia dla kluczowych aplikacji. Dopasowane do twoich potrzeb dla najwyższego bezpieczeństwa, zgodności i wydajności.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Plan administracyjny', admin_plan: 'Plan administracyjny',
dev_plan: 'Plan deweloperski', dev_plan: 'Plan deweloperski',
current_plan: 'Obecny plan', current_plan: 'Obecny plan',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Włączone', /** UNTRANSLATED */
status_inactive: 'Wyłączone', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Plano Pro', pro_plan: 'Plano Pro',
pro_plan_description: 'Para empresas se beneficiarem tranquilo com o Logto.', pro_plan_description: 'Para empresas se beneficiarem tranquilo com o Logto.',
enterprise: 'Plano Empresa', enterprise: 'Plano Empresa',
enterprise_description: /** UNTRANSLATED */
'Para organizações de grande escala que exigem recursos avançados, personalização completa e suporte dedicado para aplicações críticas. Adaptado às suas necessidades para máxima segurança, conformidade e desempenho.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Plano de administrador', admin_plan: 'Plano de administrador',
dev_plan: 'Plano de desenvolvimento', dev_plan: 'Plano de desenvolvimento',
current_plan: 'Plano Atual', current_plan: 'Plano Atual',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Ligado', /** UNTRANSLATED */
status_inactive: 'Desligado', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Plano Pro', pro_plan: 'Plano Pro',
pro_plan_description: 'Para empresas que desejam se beneficiar sem preocupações com o Logto.', pro_plan_description: 'Para empresas que desejam se beneficiar sem preocupações com o Logto.',
enterprise: 'Plano Empresa', enterprise: 'Plano Empresa',
enterprise_description: /** UNTRANSLATED */
'Para organizações de grande escala que necessitam de funcionalidades avançadas, personalização completa e suporte dedicado para apoiar aplicações críticas. Personalizado de acordo com as suas necessidades para a máxima segurança, conformidade e desempenho.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Plano de administrador', admin_plan: 'Plano de administrador',
dev_plan: 'Plano de desenvolvimento', dev_plan: 'Plano de desenvolvimento',
current_plan: 'Plano Atual', current_plan: 'Plano Atual',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Ligado', /** UNTRANSLATED */
status_inactive: 'Desligado', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: 'Про план', pro_plan: 'Про план',
pro_plan_description: 'Позволяет бизнесу использовать Logto без забот.', pro_plan_description: 'Позволяет бизнесу использовать Logto без забот.',
enterprise: 'Корпоративный план', enterprise: 'Корпоративный план',
enterprise_description: /** UNTRANSLATED */
'Для крупных организаций, которым необходимы расширенные возможности, полная настройка и поддержка для работы с критически важными приложениями. Адаптирован для обеспечения максимальной безопасности, соответствия требованиям и производительности.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'План администратора', admin_plan: 'План администратора',
dev_plan: 'План для разработки', dev_plan: 'План для разработки',
current_plan: 'Текущий план', current_plan: 'Текущий план',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Включено', /** UNTRANSLATED */
status_inactive: 'Выключено', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -9,8 +9,8 @@ const subscription = {
pro_plan: 'Pro plan', pro_plan: 'Pro plan',
pro_plan_description: "Endişesiz bir şekilde Logto'dan faydalanan işletmeler için.", pro_plan_description: "Endişesiz bir şekilde Logto'dan faydalanan işletmeler için.",
enterprise: 'Kurumsal plan', enterprise: 'Kurumsal plan',
enterprise_description: /** UNTRANSLATED */
'Gelişmiş özellikler, tam özelleştirme ve kritik uygulamaları desteklemek için özel destek gerektiren büyük ölçekli organizasyonlar için. Nihai güvenlik, uyumluluk ve performans için ihtiyaçlarınıza göre uyarlanmıştır.', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: 'Yönetici planı', admin_plan: 'Yönetici planı',
dev_plan: 'Geliştirme planı', dev_plan: 'Geliştirme planı',
current_plan: 'Mevcut Plan', current_plan: 'Mevcut Plan',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: 'Açık', /** UNTRANSLATED */
status_inactive: 'Kapalı', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: '专业计划', pro_plan: '专业计划',
pro_plan_description: '适用于企业付费无忧。', pro_plan_description: '适用于企业付费无忧。',
enterprise: '企业计划', enterprise: '企业计划',
enterprise_description: /** UNTRANSLATED */
'适用于需要高级功能、完全定制和专门支持以推动关键任务应用的大型组织。根据您的需求量身定制,以实现终极的安全性、合规性和性能。', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: '管理员计划', admin_plan: '管理员计划',
dev_plan: '开发计划', dev_plan: '开发计划',
current_plan: '当前计划', current_plan: '当前计划',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: '开启', /** UNTRANSLATED */
status_inactive: '关闭', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: '專業計劃', pro_plan: '專業計劃',
pro_plan_description: '供企業放心使用 Logto。', pro_plan_description: '供企業放心使用 Logto。',
enterprise: '企業計劃', enterprise: '企業計劃',
enterprise_description: /** UNTRANSLATED */
'適用於大型組織,需要高級功能、完整自定義和專屬支持,以推動使命關鍵型應用。根據你的需求量身定制,以達到終極安全、合規和性能。', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: '管理員計劃', admin_plan: '管理員計劃',
dev_plan: '開發計劃', dev_plan: '開發計劃',
current_plan: '當前計劃', current_plan: '當前計劃',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: '開啟', /** UNTRANSLATED */
status_inactive: '關閉', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -8,8 +8,8 @@ const subscription = {
pro_plan: '專業方案', pro_plan: '專業方案',
pro_plan_description: '企業無憂享受 Logto 服務。', pro_plan_description: '企業無憂享受 Logto 服務。',
enterprise: '企業方案', enterprise: '企業方案',
enterprise_description: /** UNTRANSLATED */
'適用於需要高級功能、完全定制和專屬支持的大型企業,以支持關鍵任務的應用。根據你的需求量身定制,確保絕對的安全性、合規性和性能。', enterprise_description: 'For large teams and businesses with enterprise-grade requirements.',
admin_plan: '管理員方案', admin_plan: '管理員方案',
dev_plan: '開發方案', dev_plan: '開發方案',
current_plan: '當前方案', current_plan: '當前方案',

View file

@ -1,6 +1,8 @@
const usage = { const usage = {
status_active: '開啟', /** UNTRANSLATED */
status_inactive: '關閉', status_active: 'In use',
/** UNTRANSLATED */
status_inactive: 'Not in use',
mau: { mau: {
title: 'MAU', title: 'MAU',
description: '{{usage}}', description: '{{usage}}',

View file

@ -41,7 +41,7 @@ importers:
version: 8.8.0 version: 8.8.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2))(typescript@5.0.2) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2))(typescript@5.0.2)
typescript: typescript:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.0.2 version: 5.0.2
@ -263,7 +263,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -330,7 +330,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -388,7 +388,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -446,7 +446,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -510,7 +510,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -574,7 +574,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -635,7 +635,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -702,7 +702,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -760,7 +760,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -818,7 +818,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -876,7 +876,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -937,7 +937,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1007,7 +1007,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1068,7 +1068,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1123,7 +1123,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1181,7 +1181,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1239,7 +1239,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1297,7 +1297,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1358,7 +1358,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1416,7 +1416,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1474,7 +1474,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1532,7 +1532,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1590,7 +1590,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1648,7 +1648,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1706,7 +1706,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1764,7 +1764,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1822,7 +1822,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1889,7 +1889,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -1959,7 +1959,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2017,7 +2017,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2072,7 +2072,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2136,7 +2136,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2194,7 +2194,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2252,7 +2252,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2316,7 +2316,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2374,7 +2374,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2432,7 +2432,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2490,7 +2490,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2548,7 +2548,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2606,7 +2606,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -2623,8 +2623,8 @@ importers:
specifier: ^29.5.0 specifier: ^29.5.0
version: 29.5.0 version: 29.5.0
'@logto/cloud': '@logto/cloud':
specifier: 0.2.5-1661979 specifier: 0.2.5-6654b82
version: 0.2.5-1661979(zod@3.23.8) version: 0.2.5-6654b82(zod@3.23.8)
'@logto/connector-kit': '@logto/connector-kit':
specifier: workspace:^4.0.0 specifier: workspace:^4.0.0
version: link:../toolkit/connector-kit version: link:../toolkit/connector-kit
@ -3192,7 +3192,7 @@ importers:
version: 8.57.0 version: 8.57.0
jest: jest:
specifier: ^29.7.0 specifier: ^29.7.0
version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
jest-matcher-specific-error: jest-matcher-specific-error:
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0 version: 1.0.0
@ -3222,7 +3222,7 @@ importers:
version: 7.0.0 version: 7.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -3373,7 +3373,7 @@ importers:
version: 3.0.0 version: 3.0.0
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3)
packages/experience: packages/experience:
devDependencies: devDependencies:
@ -3848,7 +3848,7 @@ importers:
version: 10.0.0 version: 10.0.0
jest: jest:
specifier: ^29.7.0 specifier: ^29.7.0
version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
jest-matcher-specific-error: jest-matcher-specific-error:
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0 version: 1.0.0
@ -3875,7 +3875,7 @@ importers:
version: 22.6.5(typescript@5.5.3) version: 22.6.5(typescript@5.5.3)
tsup: tsup:
specifier: ^8.1.0 specifier: ^8.1.0
version: 8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3) version: 8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3)
typescript: typescript:
specifier: ^5.5.3 specifier: ^5.5.3
version: 5.5.3 version: 5.5.3
@ -5631,6 +5631,10 @@ packages:
resolution: {integrity: sha512-CiH6VxaR281cZLWQyI54XUiwSXEnW9rxci6ptz73rS4OWYfIweOWzP3Z30OVLiOslznBfTLuBML8eVelxpG1iQ==} resolution: {integrity: sha512-CiH6VxaR281cZLWQyI54XUiwSXEnW9rxci6ptz73rS4OWYfIweOWzP3Z30OVLiOslznBfTLuBML8eVelxpG1iQ==}
engines: {node: ^20.9.0} engines: {node: ^20.9.0}
'@logto/cloud@0.2.5-6654b82':
resolution: {integrity: sha512-BRPKyEb8r5z8kSYgsVr5StCfxXwhgJLiKfwdVK7DQdN8cY6gpUGS0EoQoB7bLamUNLieGJOhpoKMmk8QszuSaw==}
engines: {node: ^20.9.0}
'@logto/js@4.1.4': '@logto/js@4.1.4':
resolution: {integrity: sha512-6twud1nFBQmj89/aflzej6yD1QwXfPiYmRtyYuN4a7O9OaaW3X/kJBVwjKUn5NC9IUt+rd+jXsI3QJXENfaLAw==} resolution: {integrity: sha512-6twud1nFBQmj89/aflzej6yD1QwXfPiYmRtyYuN4a7O9OaaW3X/kJBVwjKUn5NC9IUt+rd+jXsI3QJXENfaLAw==}
@ -14959,7 +14963,7 @@ snapshots:
jest-util: 29.7.0 jest-util: 29.7.0
slash: 3.0.0 slash: 3.0.0
'@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3))': '@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.5.3))':
dependencies: dependencies:
'@jest/console': 29.7.0 '@jest/console': 29.7.0
'@jest/reporters': 29.7.0 '@jest/reporters': 29.7.0
@ -14973,7 +14977,7 @@ snapshots:
exit: 0.1.2 exit: 0.1.2
graceful-fs: 4.2.11 graceful-fs: 4.2.11
jest-changed-files: 29.7.0 jest-changed-files: 29.7.0
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.10.4)(typescript@5.5.3)) 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.5.3))
jest-haste-map: 29.7.0 jest-haste-map: 29.7.0
jest-message-util: 29.7.0 jest-message-util: 29.7.0
jest-regex-util: 29.6.3 jest-regex-util: 29.6.3
@ -14994,7 +14998,7 @@ snapshots:
- supports-color - supports-color
- ts-node - ts-node
'@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.5.3))': '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))':
dependencies: dependencies:
'@jest/console': 29.7.0 '@jest/console': 29.7.0
'@jest/reporters': 29.7.0 '@jest/reporters': 29.7.0
@ -15008,7 +15012,7 @@ snapshots:
exit: 0.1.2 exit: 0.1.2
graceful-fs: 4.2.11 graceful-fs: 4.2.11
jest-changed-files: 29.7.0 jest-changed-files: 29.7.0
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.5.3)) jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
jest-haste-map: 29.7.0 jest-haste-map: 29.7.0
jest-message-util: 29.7.0 jest-message-util: 29.7.0
jest-regex-util: 29.6.3 jest-regex-util: 29.6.3
@ -15303,6 +15307,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- zod - zod
'@logto/cloud@0.2.5-6654b82(zod@3.23.8)':
dependencies:
'@silverhand/essentials': 2.9.1
'@withtyped/server': 0.14.0(zod@3.23.8)
transitivePeerDependencies:
- zod
'@logto/js@4.1.4': '@logto/js@4.1.4':
dependencies: dependencies:
'@silverhand/essentials': 2.9.1 '@silverhand/essentials': 2.9.1
@ -17907,13 +17918,13 @@ snapshots:
dependencies: dependencies:
lodash.get: 4.4.2 lodash.get: 4.4.2
create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)): create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)):
dependencies: dependencies:
'@jest/types': 29.6.3 '@jest/types': 29.6.3
chalk: 4.1.2 chalk: 4.1.2
exit: 0.1.2 exit: 0.1.2
graceful-fs: 4.2.11 graceful-fs: 4.2.11
jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
jest-util: 29.7.0 jest-util: 29.7.0
prompts: 2.4.2 prompts: 2.4.2
transitivePeerDependencies: transitivePeerDependencies:
@ -20247,16 +20258,16 @@ snapshots:
- babel-plugin-macros - babel-plugin-macros
- supports-color - supports-color
jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)): jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)):
dependencies: dependencies:
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
'@jest/test-result': 29.7.0 '@jest/test-result': 29.7.0
'@jest/types': 29.6.3 '@jest/types': 29.6.3
chalk: 4.1.2 chalk: 4.1.2
create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
exit: 0.1.2 exit: 0.1.2
import-local: 3.1.0 import-local: 3.1.0
jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
jest-util: 29.7.0 jest-util: 29.7.0
jest-validate: 29.7.0 jest-validate: 29.7.0
yargs: 17.7.2 yargs: 17.7.2
@ -20285,7 +20296,7 @@ snapshots:
- supports-color - supports-color
- ts-node - ts-node
jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)): jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)):
dependencies: dependencies:
'@babel/core': 7.24.4 '@babel/core': 7.24.4
'@jest/test-sequencer': 29.7.0 '@jest/test-sequencer': 29.7.0
@ -20311,38 +20322,7 @@ snapshots:
strip-json-comments: 3.1.1 strip-json-comments: 3.1.1
optionalDependencies: optionalDependencies:
'@types/node': 20.10.4 '@types/node': 20.10.4
ts-node: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3) ts-node: 10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
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.10.4)(typescript@5.5.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(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)
transitivePeerDependencies: transitivePeerDependencies:
- babel-plugin-macros - babel-plugin-macros
- supports-color - supports-color
@ -20378,6 +20358,37 @@ snapshots:
- babel-plugin-macros - babel-plugin-macros
- supports-color - supports-color
jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.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(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
jest-dev-server@10.0.0: jest-dev-server@10.0.0:
dependencies: dependencies:
chalk: 4.1.2 chalk: 4.1.2
@ -20686,12 +20697,12 @@ snapshots:
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 8.1.1 supports-color: 8.1.1
jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)): jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)):
dependencies: dependencies:
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
'@jest/types': 29.6.3 '@jest/types': 29.6.3
import-local: 3.1.0 import-local: 3.1.0
jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- babel-plugin-macros - babel-plugin-macros
@ -22625,31 +22636,31 @@ snapshots:
possible-typed-array-names@1.0.0: {} possible-typed-array-names@1.0.0: {}
postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)): postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)):
dependencies: dependencies:
lilconfig: 3.1.2 lilconfig: 3.1.2
yaml: 2.4.5 yaml: 2.4.5
optionalDependencies: optionalDependencies:
postcss: 8.4.39 postcss: 8.4.39
ts-node: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3) ts-node: 10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3)
postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3)): postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3)):
dependencies: dependencies:
lilconfig: 3.1.2 lilconfig: 3.1.2
yaml: 2.4.5 yaml: 2.4.5
optionalDependencies: optionalDependencies:
postcss: 8.4.39 postcss: 8.4.39
ts-node: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3) ts-node: 10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3)
postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2)): postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2)):
dependencies: dependencies:
lilconfig: 3.1.2 lilconfig: 3.1.2
yaml: 2.4.5 yaml: 2.4.5
optionalDependencies: optionalDependencies:
postcss: 8.4.39 postcss: 8.4.39
ts-node: 10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2) ts-node: 10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2)
postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3)): postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3)):
dependencies: dependencies:
lilconfig: 3.1.2 lilconfig: 3.1.2
yaml: 2.4.5 yaml: 2.4.5
@ -24216,7 +24227,28 @@ snapshots:
ts-interface-checker@0.1.13: {} ts-interface-checker@0.1.13: {}
ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3): ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.7
acorn: 8.12.1
acorn-walk: 8.3.3
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 5.5.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
'@swc/core': 1.3.52(@swc/helpers@0.5.1)
optional: true
ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3):
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11 '@tsconfig/node10': 1.0.11
@ -24237,7 +24269,7 @@ snapshots:
'@swc/core': 1.3.52(@swc/helpers@0.5.1) '@swc/core': 1.3.52(@swc/helpers@0.5.1)
optional: true optional: true
ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3): ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3):
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11 '@tsconfig/node10': 1.0.11
@ -24258,7 +24290,7 @@ snapshots:
'@swc/core': 1.3.52(@swc/helpers@0.5.1) '@swc/core': 1.3.52(@swc/helpers@0.5.1)
optional: true optional: true
ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2): ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2):
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11 '@tsconfig/node10': 1.0.11
@ -24279,27 +24311,6 @@ snapshots:
'@swc/core': 1.3.52(@swc/helpers@0.5.1) '@swc/core': 1.3.52(@swc/helpers@0.5.1)
optional: true optional: true
ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.7
acorn: 8.12.1
acorn-walk: 8.3.3
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 5.5.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
'@swc/core': 1.3.52(@swc/helpers@0.5.1)
optional: true
tsconfig-paths@3.15.0: tsconfig-paths@3.15.0:
dependencies: dependencies:
'@types/json5': 0.0.29 '@types/json5': 0.0.29
@ -24320,7 +24331,7 @@ snapshots:
tsscmp@1.0.6: {} tsscmp@1.0.6: {}
tsup@8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3): tsup@8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))(typescript@5.5.3):
dependencies: dependencies:
bundle-require: 4.2.1(esbuild@0.21.5) bundle-require: 4.2.1(esbuild@0.21.5)
cac: 6.7.14 cac: 6.7.14
@ -24330,7 +24341,7 @@ snapshots:
execa: 5.1.1 execa: 5.1.1
globby: 11.1.0 globby: 11.1.0
joycon: 3.1.1 joycon: 3.1.1
postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.10.4)(typescript@5.5.3)) postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.10.4)(typescript@5.5.3))
resolve-from: 5.0.0 resolve-from: 5.0.0
rollup: 4.14.3 rollup: 4.14.3
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
@ -24344,7 +24355,7 @@ snapshots:
- supports-color - supports-color
- ts-node - ts-node
tsup@8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3): tsup@8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))(typescript@5.5.3):
dependencies: dependencies:
bundle-require: 4.2.1(esbuild@0.21.5) bundle-require: 4.2.1(esbuild@0.21.5)
cac: 6.7.14 cac: 6.7.14
@ -24354,7 +24365,7 @@ snapshots:
execa: 5.1.1 execa: 5.1.1
globby: 11.1.0 globby: 11.1.0
joycon: 3.1.1 joycon: 3.1.1
postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.11.20)(typescript@5.5.3)) postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.11.20)(typescript@5.5.3))
resolve-from: 5.0.0 resolve-from: 5.0.0
rollup: 4.14.3 rollup: 4.14.3
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
@ -24368,7 +24379,7 @@ snapshots:
- supports-color - supports-color
- ts-node - ts-node
tsup@8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2))(typescript@5.0.2): tsup@8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2))(typescript@5.0.2):
dependencies: dependencies:
bundle-require: 4.2.1(esbuild@0.21.5) bundle-require: 4.2.1(esbuild@0.21.5)
cac: 6.7.14 cac: 6.7.14
@ -24378,7 +24389,7 @@ snapshots:
execa: 5.1.1 execa: 5.1.1
globby: 11.1.0 globby: 11.1.0
joycon: 3.1.1 joycon: 3.1.1
postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.0.2)) postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.0.2))
resolve-from: 5.0.0 resolve-from: 5.0.0
rollup: 4.14.3 rollup: 4.14.3
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
@ -24392,7 +24403,7 @@ snapshots:
- supports-color - supports-color
- ts-node - ts-node
tsup@8.1.0(@swc/core@1.3.52(@swc/helpers@0.5.1))(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3): tsup@8.1.0(@swc/core@1.3.52)(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))(typescript@5.5.3):
dependencies: dependencies:
bundle-require: 4.2.1(esbuild@0.21.5) bundle-require: 4.2.1(esbuild@0.21.5)
cac: 6.7.14 cac: 6.7.14
@ -24402,7 +24413,7 @@ snapshots:
execa: 5.1.1 execa: 5.1.1
globby: 11.1.0 globby: 11.1.0
joycon: 3.1.1 joycon: 3.1.1
postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52(@swc/helpers@0.5.1))(@types/node@20.12.7)(typescript@5.5.3)) postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.3.52)(@types/node@20.12.7)(typescript@5.5.3))
resolve-from: 5.0.0 resolve-from: 5.0.0
rollup: 4.14.3 rollup: 4.14.3
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0