Display status information generated from NetKAN-bot.
Source repo for: https://status.ksp-ckan.space/
- Node.js (recommend using nvm)
- pnpm (enabled via corepack:
corepack enable)
# Install dependencies
pnpm install
# Run development server
pnpm devThe development server will be available at http://localhost:5173.
To test with real data locally you will need to fetch the status files
# Use the fetcher
pnpm fetch:status
# Alternatively, create directory and download the status files manually
mkdir -p public/status
wget https://status.ksp-ckan.space/status/netkan.json -O public/status/netkan.json
wget https://status.ksp-ckan.space/status/netkan-ksp2.json -O public/status/netkan-ksp2.jsonThe app fetches two separate JSON files:
/status/netkan.json- KSP mods status/status/netkan-ksp2.json- KSP2 mods status
Then run the development server:
pnpm devVite will serve the files from the public/ directory during development.
# Run tests
pnpm test
# Run tests with UI
pnpm test:ui
# Run tests with coverage
pnpm test:coverage# Build for production
pnpm build
# Preview production build
pnpm previewThe built files will be in the dist/ directory.
src/
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ ├── App.tsx # Main app component
│ ├── FilterControls.tsx
│ ├── Highlighted.tsx
│ ├── NetKANTable.tsx
│ └── ThemeToggle.tsx
├── hooks/ # Custom React hooks
│ ├── useNetKANData.ts
│ └── useTheme.ts
├── lib/ # Utility functions
│ ├── data-fetcher.ts
│ ├── data-filter.ts
│ ├── date.ts
│ ├── debounce.ts
│ ├── game-config.ts
│ └── utils.ts
├── types/ # TypeScript type definitions
│ └── netkan.ts
├── styles/ # Global styles
│ └── globals.css
├── test/ # Test utilities
│ └── setup.ts
└── main.tsx # Application entry point
MIT