From 220a1369a0b8102b6db81ad1d5ef83c8d89b9c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E6=B6=B5=E6=9D=B0?= <87105391+floatDreamWithSong@users.noreply.github.com> Date: Mon, 9 Mar 2026 23:41:04 +0800 Subject: [PATCH 1/4] feat: add zero direct dependencies banner for package detail page --- .../Package/ZeroDirectDependencies.vue | 16 ++++++++++++++++ app/pages/package/[[org]]/[name].vue | 8 ++++++++ i18n/locales/en.json | 4 +++- i18n/locales/zh-CN.json | 4 +++- i18n/schema.json | 6 ++++++ test/nuxt/a11y.spec.ts | 9 +++++++++ 6 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 app/components/Package/ZeroDirectDependencies.vue diff --git a/app/components/Package/ZeroDirectDependencies.vue b/app/components/Package/ZeroDirectDependencies.vue new file mode 100644 index 0000000000..39aa351341 --- /dev/null +++ b/app/components/Package/ZeroDirectDependencies.vue @@ -0,0 +1,16 @@ + diff --git a/app/pages/package/[[org]]/[name].vue b/app/pages/package/[[org]]/[name].vue index a57774f110..3aee079723 100644 --- a/app/pages/package/[[org]]/[name].vue +++ b/app/pages/package/[[org]]/[name].vue @@ -456,6 +456,12 @@ const hasDependencies = computed(() => { ) }) +const hasZeroDirectDependencies = computed( + () => + !displayVersion.value?.dependencies || + Object.keys(displayVersion.value.dependencies).length === 0, +) + // Vulnerability count for the stats banner const vulnCount = computed(() => vulnTree.value?.totalCounts.total ?? 0) const hasVulnerabilities = computed(() => vulnCount.value > 0) @@ -1384,6 +1390,8 @@ const showSkeleton = shallowRef(false) + + { describe('DateTime', () => { @@ -3529,6 +3530,14 @@ describe('component accessibility audits', () => { expect(results.violations).toEqual([]) }) }) + + describe('PackageZeroDirectDependencies', () => { + it('should have no accessibility violations', async () => { + const component = await mountSuspended(PackageZeroDirectDependencies) + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) + }) }) function applyTheme(colorMode: string, bgTheme: string | null) { From fea7666af9e32c19aa0e8f39405632a5b37c3cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E6=B6=B5=E6=9D=B0?= <87105391+floatDreamWithSong@users.noreply.github.com> Date: Tue, 10 Mar 2026 09:41:03 +0800 Subject: [PATCH 2/4] fix: improve zero direct dependencies messaging for clarity --- app/components/Package/ZeroDirectDependencies.vue | 1 - app/pages/package/[[org]]/[name].vue | 5 +++-- i18n/locales/en.json | 2 +- i18n/locales/zh-CN.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/components/Package/ZeroDirectDependencies.vue b/app/components/Package/ZeroDirectDependencies.vue index 39aa351341..c69e20a8e2 100644 --- a/app/components/Package/ZeroDirectDependencies.vue +++ b/app/components/Package/ZeroDirectDependencies.vue @@ -1,7 +1,6 @@