Skip to content

Commit 637723d

Browse files
mbabkerclaude
andcommitted
Mark Laravel Breadcrumbs and Server Push Manager as unsupported, split package listing
- Mark Laravel Breadcrumbs and Laravel Server Push Manager as no longer supported - Split the package listing page into active and "No Longer Supported" sections - Add a red banner to documentation pages for unsupported packages - Update llms.txt to list unsupported packages separately and annotate their docs links Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f5c8fe6 commit 637723d

4 files changed

Lines changed: 47 additions & 6 deletions

File tree

app/data/packages.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const packages: Package[] = [
1212
packagistName: 'babdev/laravel-breadcrumbs',
1313
packageType: 'laravel-package',
1414
hasDocumentation: true,
15-
supported: true,
15+
supported: false,
1616
visible: true,
1717
versions: [
1818
{ version: '2.x', released: true },
@@ -30,7 +30,7 @@ export const packages: Package[] = [
3030
packagistName: 'babdev/laravel-server-push-manager',
3131
packageType: 'laravel-package',
3232
hasDocumentation: true,
33-
supported: true,
33+
supported: false,
3434
visible: true,
3535
versions: [
3636
{ version: '2.x', released: true },

app/pages/open-source/packages/[slug]/docs/[version]/[...path].vue

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,21 @@ onUnmounted(() => {
167167
</aside>
168168

169169
<main class="lg:col-span-9 xl:col-span-10">
170+
<div v-if="!pkg.supported" class="mb-6 rounded-lg border border-red-200 bg-red-50 p-4">
171+
<div class="flex">
172+
<div class="shrink-0">
173+
<Icon name="fa7-solid:circle-xmark" class="h-5 w-5 fill-current text-red-400" />
174+
</div>
175+
<div class="ml-3">
176+
<div class="text-xl font-semibold text-red-800">Package No Longer Supported</div>
177+
<p class="text-md mt-1 text-red-700">
178+
The {{ pkg.name }} package is no longer supported and will not receive further
179+
updates or bug fixes. You are advised to migrate to an alternative solution.
180+
</p>
181+
</div>
182+
</div>
183+
</div>
184+
170185
<div v-if="!pkgVersion!.released" class="mb-6 rounded-lg border border-blue-200 bg-blue-50 p-4">
171186
<div class="flex">
172187
<div class="shrink-0">

app/pages/open-source/packages/index.vue

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<script setup lang="ts">
22
const { data: packages } = await useFetch('/api/packages')
33
4+
const supportedPackages = computed(() => packages.value?.filter(pkg => pkg.supported) ?? [])
5+
const unsupportedPackages = computed(() => packages.value?.filter(pkg => !pkg.supported) ?? [])
6+
47
useSeoMeta({
58
title: 'Open Source Packages',
69
})
@@ -13,7 +16,14 @@ useSeoMeta({
1316

1417
<section class="py-16">
1518
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
16-
<PackageCard v-for="pkg in packages" :key="pkg.slug" :pkg="pkg" />
19+
<div v-if="supportedPackages.length">
20+
<PackageCard v-for="pkg in supportedPackages" :key="pkg.slug" :pkg="pkg" />
21+
</div>
22+
23+
<div v-if="unsupportedPackages.length" class="mt-8">
24+
<h2 class="mb-6 text-2xl font-bold text-gray-900">No Longer Supported</h2>
25+
<PackageCard v-for="pkg in unsupportedPackages" :key="pkg.slug" :pkg="pkg" />
26+
</div>
1727
</div>
1828
</section>
1929
</template>

server/routes/llms.txt.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ export default defineEventHandler(event => {
55
setHeader(event, 'Content-Type', 'text/plain; charset=utf-8')
66

77
const visiblePackages = packages.filter(pkg => pkg.visible)
8+
const supportedPackages = visiblePackages.filter(pkg => pkg.supported)
9+
const unsupportedPackages = visiblePackages.filter(pkg => !pkg.supported)
810
const packagesWithDocs = visiblePackages.filter(pkg => pkg.hasDocumentation)
911

1012
const lines = [
@@ -23,10 +25,10 @@ export default defineEventHandler(event => {
2325
'',
2426
]
2527

26-
// Group packages by type
28+
// Group supported packages by type
2729
const packagesByType = new Map<string, Package[]>()
2830

29-
for (const pkg of visiblePackages) {
31+
for (const pkg of supportedPackages) {
3032
const typeLabel = getPackageTypeLabel(pkg.packageType)
3133

3234
if (!packagesByType.has(typeLabel)) {
@@ -49,6 +51,18 @@ export default defineEventHandler(event => {
4951
lines.push('')
5052
}
5153

54+
// List unsupported packages
55+
if (unsupportedPackages.length > 0) {
56+
lines.push('### No Longer Supported')
57+
lines.push('')
58+
59+
for (const pkg of unsupportedPackages.sort((a, b) => a.name.localeCompare(b.name, 'en-US'))) {
60+
lines.push(`- ${pkg.name} (no longer supported)${pkg.description ? `: ${pkg.description}` : ''}`)
61+
}
62+
63+
lines.push('')
64+
}
65+
5266
// Add documentation section when available
5367
if (packagesWithDocs.length > 0) {
5468
lines.push('## Documentation')
@@ -60,8 +74,10 @@ export default defineEventHandler(event => {
6074
const latestVersion = getLatestStablePackageVersion(pkg)
6175

6276
if (latestVersion) {
77+
const unsupportedNote = pkg.supported ? '' : ' (no longer supported)'
78+
6379
lines.push(
64-
`- [${pkg.name} Documentation](/open-source/packages/${pkg.slug}/docs/${latestVersion.version}/intro)`,
80+
`- [${pkg.name} Documentation](/open-source/packages/${pkg.slug}/docs/${latestVersion.version}/intro)${unsupportedNote}`,
6581
)
6682
}
6783
}

0 commit comments

Comments
 (0)