{"id":25715354,"url":"https://github.com/lwjgl/lwjgl3-www","last_synced_at":"2025-07-17T10:34:41.031Z","repository":{"id":23568304,"uuid":"26936089","full_name":"LWJGL/lwjgl3-www","owner":"LWJGL","description":"The LWJGL 3 website.","archived":false,"fork":false,"pushed_at":"2024-04-03T10:08:16.000Z","size":13928,"stargazers_count":104,"open_issues_count":8,"forks_count":22,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-04-03T11:27:14.443Z","etag":null,"topics":["babel","lwjgl","react","stitches","typescript","webpack"],"latest_commit_sha":null,"homepage":"https://www.lwjgl.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LWJGL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-11-20T23:02:42.000Z","updated_at":"2024-04-03T11:27:15.879Z","dependencies_parsed_at":"2023-02-10T06:30:28.954Z","dependency_job_id":"39ccd5be-6ba9-45f5-a3d3-bd3176fd12cb","html_url":"https://github.com/LWJGL/lwjgl3-www","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-www","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-www/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-www/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LWJGL%2Flwjgl3-www/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LWJGL","download_url":"https://codeload.github.com/LWJGL/lwjgl3-www/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252535769,"owners_count":21764012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babel","lwjgl","react","stitches","typescript","webpack"],"created_at":"2025-02-25T13:52:53.455Z","updated_at":"2025-05-05T16:46:20.456Z","avatar_url":"https://github.com/LWJGL.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![lwjgl3-www docker](https://github.com/LWJGL/lwjgl3-www/workflows/lwjgl3-www%20docker/badge.svg?event=push)\n\n# [lwjgl.org](https://www.lwjgl.org) - Home of Lightweight Java Game Library\n\nThe website for LWJGL is build with React. It is a single-page application with client-side routing. It installs a Service Worker in order to work offline.\n\n### Notable features:\n\n- Client-side [routing](https://github.com/ReactTraining/react-router)\n- Service Worker (works offline)\n- Tiny production build (entire codebase + content weights less than 300KB gzipped)\n- Code splitting at route \u0026 component level\n- Scroll restoration\n- Route preloading\n- Proximity based route preloading (see /download page)\n- Build Customizer with smart download queue \u0026 client-side ZIP generator\n- Custom [webpack](http://webpack.js.org/) manifest parsing + code minification\n- CSS-in-JS with [Stitches](https://stitches.dev/)\n- Client is written in [Typescript](https://www.typescriptlang.org/)\n\n### Warning:\n\nThere is currently no server-side rendering because of hosting constraints.\n\n## Dependencies\n\nStatic assets are loaded from LWJGL's CDN ([AWS CloudFront](https://aws.amazon.com/cloudfront/)).\n\nBuild status icons are loaded directly from [travis-ci.org](https://travis-ci.org/) and [appveyor.com](https://www.appveyor.com/).\n\n[Three.js](https://threejs.org/) is loaded from [jsDelivr](https://www.jsdelivr.com/).\n\n## Prerequisites\n\n- [Node.js v22+](https://nodejs.org/)\n- [PNPM](https://pnpm.io/)\n\n## Development\n\nInstall all required npm packages and build styles:\n\n```shell\n#corepack enable\npnpm i\nnode --run build:styles\n```\n\nStart the server in dev mode:\n\n```shell\nnode --run start\n```\n\n### CLI flags\n\nThe following flags are used for testing production builds locally.\nNODE_ENV environment variable must be set to \"production\".\n\n```shell\n--test # Enables production test mode (e.g. disables HSTS)\n--nocache # Disables Pug view caching\n--pretty # Pretty prints HTML\n--s3proxy # Proxies S3 images\n```\n\n### Environment variables\n\n```shell\nNODE_ENV=\"production\" # default: development\nPORT=\"8080\" # default: 80\nHOST=\"127.0.0.1\" # default: 0.0.0.0\n```\n\n### Codebase Diagram\n\n[Visualization of the codebase](https://octo-repo-visualization.vercel.app/?repo=LWJGL%2Flwjgl3-www)\n\n## Production\n\nTo deploy LWJGL in production please read the separate guide: [DEPLOYMENT.md](./DEPLOYMENT.md).\n\n### Testing production builds\n\n```shell\ngit pull\npnpm i\nnode --run release\n```\n\nYou can run the production build locally:\n\n```shell\nnode --run dev:test-production\n```\n\n### Debugging production output\n\nThe following debugging tips may come in handy:\n\n- Disable minification by uncommenting `minimize: false` in [webpack.config.js](./webpack.config.js)\n- Prevent Terser from dropping `console.log` or `debugger` by changing `terserOptions` in [terser-config.json](./scripts/terser-config.json)\n- Set `PROFILING=1` env variable to load React profiling builds\n- Output `named` module \u0026 chunk ids in [webpack.config.js](./webpack.config.js)\n- Analyze build output with `npx webpack-bundle-analyzer public/js/build.manifest.json -h 0.0.0.0` (for full breakdown, change to `all: true` when writing `build.manifest.json` in [build-production.js](./scripts/build-production.mjs))\n\n## Other LWJGL subdomains:\n\n- The website for LWJGL 2 can be found [here](https://github.com/LWJGL/lwjgl-www). A static copy of the old LWJGL website is now hosted directly from S3\n- The blog is powered by [Ghost](https://ghost.org/).\n- The forum is [SMF](https://simplemachines.org/).\n- The wiki for LWJGL 2 was [MediaWiki](https://www.mediawiki.org/). A static copy of the old LWJGL wiki is now hosted directly from S3.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwjgl%2Flwjgl3-www","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flwjgl%2Flwjgl3-www","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwjgl%2Flwjgl3-www/lists"}