Pull requests are welcome to help keep this list up to date.
- Skim
lib/features.tsto learn the feature flags so you can describe the library's capabilities accurately. - Add or edit a YAML file in
data/— see the existing files for the schema (title, home URL, GitHub repo, npm package, license, supported frameworks, and features). This powers the interactive site. - Add or update the library's entry in
README.mdby hand, keeping the list alphabetical. Separate the link and description with a dash, start the description with an uppercase letter, and end it with a period. - Run
npx awesome-lintto confirm the README still conforms to the Awesome list format. - Open a pull request.
All library descriptions are adapted from each package's home page.
- Create a GitHub Personal Access Token. You don't need to give it any scopes — it's just to increase the API rate limit.
- (Optional) Create an NPM Access Token for more reliable NPM API reads and to avoid rate limits.
- Make sure you have Node.js version 22 or later and the pnpm package manager installed.
- Check out the repo and run
pnpm install. - Create a
.envfile in the root directory with your tokens:GITHUB_TOKEN=your_github_token_here NPM_TOKEN=your_npm_token_here - Run
pnpm dev. - Go to http://localhost:3000/ and bask in the wild splendor that is Awesome JavaScript Grids.
Information on each library lives in data/ and is parsed in lib/libraries.ts.
- This site is hosted on Vercel.
- It makes extensive use of Tailwind CSS, Next.js (with App Router), and TypeScript.
- Icons are from the various icon sets in react-icons.
- The GitHub corner thing is Tim Holman's fancy GitHub Corners.
The curated list itself (the contents of README.md and data/) is dedicated to the public domain under CC0 1.0. The source code that builds and serves this site is licensed under the MIT License.