foss.global
Official codebase for the foss.global website, built with TypeScript and the @api.global ecosystem.
Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.
Prerequisites
- Node.js (>=20)
- pnpm
- MongoDB connection for SmartData-backed public snapshots
MONGODB_URL/MONGODB_URI/MONGO_URLfor the MongoDB connection URL- Optional
MONGODB_DATABASE/MONGODB_DB/MONGO_DBoverride; defaults tofoss_global
Installation
pnpm install
Build
Compile TypeScript and bundle the website:
pnpm build
Watch
Rebuild on file changes:
pnpm watch
Start
Start the CLI web server:
pnpm start
Start using the TypeScript entrypoint:
pnpm run startTs
Usage Example
After starting the server, open your browser at http://localhost:3000 to view the site and API.
Testing
Currently no automated tests are defined. The pnpm test command runs the build process.
Project Structure
./
├── ts/ # CLI source files
├── ts_web/ # Frontend source files
├── html/ # Static HTML templates
├── assets/ # Static assets (images, styles, etc.)
├── dist_ts/ # Compiled CLI output
├── dist_serve/ # Bundled website for serving
├── cli.js # Node.js CLI entrypoint
├── cli.ts.js # TypeScript CLI entrypoint
└── readme.md # Project README
Module/Plugin Import Guidelines
CLI code imports modules via a central plugin file:
import * as plugins from './ffb.plugins.js';
Web code generally imports directly from packages or uses ts_web/plugins.ts when applicable.
Contributing
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m "Add awesome feature") - Push to your fork (
git push origin feature/YourFeature) - Open a pull request against the
mainbranch
Please follow the existing code style and run pnpm build before submitting.
License
This project is UNLICENSED. See package.json for details.