Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/components/Leaderboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ const HALL_OF_SHAME: LeaderboardEntry[] = [
{ fullName: 'marionettejs/backbone.marionette', cause: 'Backbone died. So did everything built on Backbone.', score: 8, deathDate: 'Mar 2020', lastWords: 'I was Backbone but organized. Backbone wasn\'t organized. Or alive.' },
{ fullName: 'request/request', cause: 'fetch() shipped natively and deprecated an entire generation', score: 9, deathDate: 'Feb 2020', lastWords: 'I was downloaded 30 million times a week. Then fetch happened.' },
{ fullName: 'nicolo-ribaudo/jest-light-runner', cause: 'Vitest arrived and made everyone feel bad about Jest', score: 6, deathDate: 'Jan 2023', lastWords: 'I was faster Jest. Vitest was even faster. Also had a UI.' },

{ fullName: 'facebook/draft-js', cause: 'Meta shipped Lexical and forgot which editor anyone was using', score: 9, deathDate: 'Feb 2023', lastWords: 'I was the React rich-text answer. React found a different answer.' },
{ fullName: 'LightTable/LightTable', cause: 'The IDE of the future stayed in the future permanently', score: 8, deathDate: 'Jun 2022', lastWords: 'Kickstarted $316k. Shipped an alpha. Never shipped a 1.0.' },
{ fullName: 'keystonejs/keystone-classic', cause: 'Keystone 6 shipped and nobody looked back at the old one', score: 7, deathDate: 'Dec 2023', lastWords: 'The rewrite kept the name. I kept the issues tab.' },
{ fullName: 'facebookarchive/stetho', cause: 'Chrome DevTools got native Android debugging and stopped caring', score: 7, deathDate: 'Oct 2024', lastWords: 'I bridged Chrome DevTools to Android. Chrome stopped wanting a bridge.' },
{ fullName: 'facebookarchive/react-native-fbsdk', cause: 'Replaced by a package with -next in the name', score: 7, deathDate: 'Mar 2021', lastWords: 'The successor is react-native-fbsdk-next. There is no going forward from here.' },
]

const FONT = `var(--font-dm), -apple-system, sans-serif`
Expand Down
5 changes: 5 additions & 0 deletions src/lib/scoring.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ const KNOWN_REPO_CAUSES: Record<string, string> = {
'angular/angular.js': 'AngularJS hit official end-of-life when modern Angular replaced it',
'request/request': 'The maintainers deprecated it as native fetch and modern clients took over',
'ariya/phantomjs': 'Chrome went headless and erased the reason this existed',
'facebook/draft-js': 'Meta shipped Lexical and forgot which editor anyone was using',
'lighttable/lighttable': 'The IDE of the future stayed in the future permanently',
'keystonejs/keystone-classic': 'Keystone 6 shipped and nobody looked back at the old one',
'facebookarchive/stetho': 'Chrome DevTools got native Android debugging and stopped caring',
'facebookarchive/react-native-fbsdk': 'Replaced by a package with -next in the name',
}

export function computeDeathIndex(repo: RepoData): number {
Expand Down
Loading