From 45764ac8dff4ec060a9d5565a592bb53f4879b7e Mon Sep 17 00:00:00 2001 From: winches <329487092@qq.com> Date: Wed, 1 May 2024 15:02:44 +0800 Subject: [PATCH] fix: add main pkg when upgrade --- src/actions/upgrade-action.ts | 21 +++++++++++++++++---- src/scripts/cache/cache.ts | 10 ++++++++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/actions/upgrade-action.ts b/src/actions/upgrade-action.ts index a7f88f2..f01b65d 100644 --- a/src/actions/upgrade-action.ts +++ b/src/actions/upgrade-action.ts @@ -9,7 +9,7 @@ import {Logger} from '@helpers/logger'; import {colorMatchRegex} from '@helpers/output-info'; import {getPackageInfo} from '@helpers/package'; import {upgrade} from '@helpers/upgrade'; -import {getColorVersion, getPackageManagerInfo} from '@helpers/utils'; +import {getColorVersion, getPackageManagerInfo, transformPeerVersion} from '@helpers/utils'; import {type NextUIComponents} from 'src/constants/component'; import {resolver} from 'src/constants/path'; import {NEXT_UI} from 'src/constants/required'; @@ -25,15 +25,17 @@ interface UpgradeActionOptions { patch?: boolean; } +type TransformComponent = Required< + AppendKeyValue & {isLatest: boolean} +>; + export async function upgradeAction(components: string[], options: UpgradeActionOptions) { const {all = false, packagePath = resolver('package.json')} = options; const {allDependencies, currentComponents} = getPackageInfo(packagePath, false); const isNextUIAll = !!allDependencies[NEXT_UI]; - const transformComponents: Required< - AppendKeyValue & {isLatest: boolean} - >[] = []; + const transformComponents: TransformComponent[] = []; for (const component of currentComponents) { const latestVersion = @@ -63,6 +65,17 @@ export async function upgradeAction(components: string[], options: UpgradeAction process.exit(0); } + // If have the main nextui then add + if (isNextUIAll) { + const nextuiData = { + latestVersion: store.latestVersion, + package: NEXT_UI, + version: transformPeerVersion(allDependencies[NEXT_UI]) + } as TransformComponent; + + transformComponents.push(nextuiData); + } + components = await getAutocompleteMultiselect( 'Select the components to upgrade', transformComponents.map((component) => { diff --git a/src/scripts/cache/cache.ts b/src/scripts/cache/cache.ts index c908091..034ff3b 100644 --- a/src/scripts/cache/cache.ts +++ b/src/scripts/cache/cache.ts @@ -9,7 +9,9 @@ export interface CacheData { [packageName: string]: { version: string; date: Date; + formatDate: string; expiredDate: number; + expiredFormatDate: string; }; } @@ -42,11 +44,15 @@ export function cacheData( initCache(); const data = cacheData ?? getCacheData(); + const now = new Date(); + const expiredDate = +now + cacheTTL; data[packageName] = { ...packageData, - date: new Date(), - expiredDate: +new Date() + cacheTTL + date: now, + expiredDate, + expiredFormatDate: new Date(expiredDate).toString(), + formatDate: now.toString() }; writeFileSync(CACHE_PATH, JSON.stringify(data, undefined, 2), 'utf-8');