Table of contents
- General resources
- π¨ CSS
- JavaScript
- Code bundlers
- Command Line, Terminal and shells
- Tooling
- Testing
- Progressive Web Apps
- Code Sandboxes
- APIs
- JSON
- HTML
- SVG/Image Media compression
- SVG
- Conversions and unicode
- Features and feature detection
- Performance
- Design
- Design Systems and documentation
- Accessibility (A11y)
- DevOps
- Design
- IDEs and Text Editors
- Regular expressions
- Devdocs.io - Fast, offline, and free documentation browser for developers. Search 100+ docs in one web app: HTML, CSS, JavaScript, PHP, Ruby, Python, Go, C, C++β¦
- DevHints - cheatsheets for many web technologies
- Carbon - use this to share images of your code in presentations etc
- Badgen
- Shields.io - to your documentation/readmes
- Git Flight Rules - A guide for astronauts (now, programmers using Git) about what to do when things go wrong.
- pika a searchable catalog of modern "module" packages on npm
- npms A better and open source search for node packages
- emma - π¦ Terminal assistant to find and install node packages
- npmvet - A simple CLI tool for vetting npm package versions
Use Bundlephobia to see the cost of any npm packages
Use Snyk to find any security vulnerabilities for any npm package. Search their database here: https://snyk.io/vuln/npm:{package}
e.g. https://snyk.io/vuln/npm:react
- CSS Tricks "Complete Guide to Flexbox"
- CSS Tricks "Complete Guide to Grid"
- Cubic bezier curve creator
- Ceaser - Cubic bezier curve generator
- CSS Triggers - find out what CSS properties trigger Paint/Layout/Composite renders
- Fluid-responsive font-size calculator - To scale typography smoothly across viewport widths.
- Browserhacks - Browserhacks is an extensive list of browser specific CSS and JavaScript hacks from all over the interwebs
- Absolute centering - useful techniques for absolute centering in CSS
- styled-components - CSS-in-JS for React
- Emotion - CSS-in-JS library
- design-system-utils - Design system framework for modern front-end projects
- polished - A lightweight toolset for writing styles in JavaScript
- styled-by Simple and powerful lib to handle styled props in your components
- JS module import/export syntax
- JavaScript Event KeyCodes
- JavaScript Visualizer
- Does it mutate?
- jsPerf - JavaScript performance playground
- modern-js-cheatsheet
- Lodash - A modern JavaScript utility library delivering modularity, performance & extras.
- Just - A library of dependency-free utilities that do just do one thing (like Lodash but smaller)
- Install each util independently
- Read the tradeoffs document to see if Lodash is better
- tiny-get - A minimal-weight lodash.get equivalent utility
- auto-bind - Automatically bind methods to their class instance
- liteready - A lightweight DOM ready.
- passport - Simple, unobtrusive authentication for Node.js
- attach.js - Attach.js removes dependancy on messy CSS selectors when attaching JavaScript to the page. Very useful for non-React/Angular/SPA projects
- gator - Gator is a Javascript event delegation library
- get-size - Get the size of elements
- length.js - Library for length units conversion
- action-outside - Invoke a callback function when clicked or tabbed outside one or multiple DOM elements
- select-dom - Lightweight
querySelector
/All
wrapper that outputs an Array - memoizee - Complete memoize/cache solution for JavaScript
- memoize-one A memoization library which only remembers the latest invocation
- kind-of - Get the native JavaScript type of a value, fast.
- iterare - Array methods + ES6 Iterators =
- eases - a grab-bag of modular easing equations
- normalizr - Normalizes nested JSON according to a schema
- lazy-value - Create a lazily evaluated value
- mitt - Tiny 200 byte functional event emitter / pubsub.
- text-mask - Input mask for React, Angular, Ember, Vue, & plain JavaScript
- fast-equals - A blazing fast equality comparison, either shallow or deep
- fast-copy - A blazing fast deep object copier
- compute-scroll-into-view Utility for calculating what should be scrolled, how it's scrolled is up to you
- arr A collection of tiny, highly performant Array.prototype alternatives
- timedstorage A library for storing and expiring objects in window.localstorage
- left-pad - String left pad
- dont-go - A small client-side library with zero dependencies to change the title and/or favicon of the page when it is inactive
- axios - Promise based HTTP client for the browser and node.js
- cross-fetch - Universal WHATWG Fetch API for Node, Browsers and React Native
- awaity - A functional, lightweight alternative to bluebird.js, built with
async
/await
in mind - loadjs A tiny async loader / dependency manager for modern browsers (789 bytes)
- Express
- nodebestpractices - The largest Node.JS best practices list. Curated from the top ranked articles and always updated
- dumper.js A better and pretty variable inspector for your Node.js applications
- responsive-watch - Watch some media queries and react when they change
- images-loaded - Wait for images to load using promises. No dependencies.
- lazysizes - High performance and SEO friendly lazy loader for images (responsive and normal), iframes and more, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.
- sharp High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP and TIFF images. Uses the libvips library.
- IMGIX - Real-time image processing and image CDN
- date-fns - Modern JavaScript date utility library
- tinydate - A tiny (337B) reusable date formatter. Extremely fast!
- tinytime - β° A straightforward date and time formatter in <1kb
- scroll-watcher
- scrolldir - Leverage Vertical Scroll Direction with CSS
- Popmotion Simple animation libraries for delightful user interfaces
- ramjet Morph DOM elements from one state to another with smooth animations and transitions
- anime JavaScript Animation Engine
- GSAP the standard for JavaScript HTML5 animation | GreenSock
- workerize - Run a module in a Web Worker
- greenlet - Move an async function into its own thread. A simplified single-function version of workerize.
- immer - Create the next immutable state tree by simply modifying the current tree
- unchanged - A tiny, fast, unopinionated handler for updating JS objects and arrays immutably
- seamless-immutable - Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objectsseamless-immutable`
- fitty - Makes text fit perfectly
- resize-observer-polyfill A polyfill for the Resize Observer API
- create-react-app Create React apps with no build configuration
- react-app-rewired Override create-react-app webpack configs without ejecting
- react-bits β¨ React patterns, techniques, tips and tricks β¨
- react-powerplug - Renderless Containers
- formik - Build forms in React, without the tears π
- react-router Declarative routing for React
- Reach Router
- react-fns - React Components for common Web APIs
- react-portal - React component for transportation of modals, lightboxes, loading bars... to document.body
- react-ideal-image πΌοΈ An Almost Ideal React Image Component
- react-adopt Compose render props components like a pro
- downshift
- react-loadable A higher order component for loading components with promises
- react-portal React component for transportation of modals, lightboxes, loading bars... to document.body
- js-lingui: ππ - A readable, automated, and optimized (5 kb) internationalization (Intl / i18n) for JavaScript
- react-mq - Barebones CSS media query component for React, ~560 bytes
- react-media - CSS media queries for React. This is SSR compatible as well.
- Hooks.Guide - Collection of React hooks curated by the community
- useHooks - Easy to understand React Hook recipes
- redux Predictable state container for JavaScript apps
- reselect Selector library for Redux
- redux-saga An alternative side effect model for Redux apps
- redux-saga-routines Routines for redux-saga
- redux-thunk Thunk middleware for Redux
- awesome-redux Catalog of Redux Libraries & Learning Material
- parket - A library to manage application state, heavily inspired by mobx-state-tree
- unstated State so simple, it goes without saying
- mergeState How to Stop Worrying and Use Nested Object/Array in React/Redux States
- gatsby: βοΈππ - Blazing fast static site generator for React
- What's new in TypeScript Β· Microsoft/TypeScript Wiki
- TypeScript Deep Dive
- TypeScript Evolution | Marius Schulz
- JSON to Typescript Interface
- react-typescript-cheatsheet - a cheatsheet for react users using typescript with react for the first (or nth!) time
- Webpack - script/asset bundler
- Webpack recipes
- ifdef-loader - Webpack loader for JavaScript/TypeScript conditional compilation
- Parcel - Blazing fast, zero configuration web application bundler
- microbundle - Zero-configuration bundler for tiny modules
- rollup.js - Rollup is a module bundler for JavaScript
- ncc - Node.js Compiler Collection. Simple CLI for compiling a Node.js module into a single file, together with all its dependencies, gcc-style.
Fish shell - The user-friendly command line shell
- gluegun - A delightful toolkit for building Node-powered CLIs
- inquirer - A collection of common interactive command line user interfaces
- commander - node.js command-line interfaces made easy
- sade - Sade is a small but powerful tool for building command-line interface (CLI) applications for Node.js that are fast, responsive, and helpful!
- hub - hub is an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal
- serve - Static file serving and directory listing
- awesome-cli-apps - A curated list of command line apps
- SpaceVim - A community-driven modular vim distribution - The ultimate vim configuration
- np - A better
npm publish
- size-limit - Prevent JS libraries bloat. If you accidentally add a massive dependency, Size Limit will throw an error
- bundlesize - Keep your bundle size in check
- nps All the benefits of npm scripts without the cost of a bloated package.json and limits of json
- Dependabot - Dependabot creates pull requests to keep your dependencies secure and up-to-date
- npm-config (docs) - More than you probably want to know about npm configuration
- patch-package - Fix broken node modules with no fuss π¦π
- husky - Git hooks made easy
- lint-staged: π«π© β Run linters on git staged files
- Jest - Delightful JavaScript Testing
- majestic - Zero config UI for Jest
- Cypress - end-to-end testing
- cypress-testing-library π Simple and complete custom Cypress commands and utilities that encourage good testing practices
- dom-testing-library π Simple and complete DOM testing utilities that encourage good testing practices
- react-testing-library: π Simple and complete React DOM testing utilities that encourage good testing practices.
- Chance - Random generator helper for JavaScript
- faker.js generate massive amounts of fake data in Node.js and the browser
- nock HTTP server mocking and expectations library for Node.js
- Stryker Mutator
- Prettier
- precise-commits - Painlessly apply Prettier by only formatting lines you have modified anyway!
- pretty-quick - Runs Prettier on your changed files
- Eslint
- eslint-plugin-prettier - ESLint plugin for prettier formatting
- eslint-config-prettier - Turns off all rules that are unnecessary or might conflict with Prettier
- eslint-plugin-react - React specific linting rules for ESLint
- CodeSandbox - CodeSandbox is perfect for React demo apps
- Codepen - Codepen is perfect for non-React front-end demos and prototypes
- CodeShare - Codeshare is useful for collaborating on a single file if devs are not in the same room
- Glitch
- GraphQL Playground
- Postman - used to develop, test and monitor APIs
- MockAPI - create a mock API
- jsonbin - A personal JSON store as a RESTful service
- test-cors.org
- Reqres - A hosted REST-API ready to respond to your AJAX requests
- JSON generator - generate a lot of custom JSON for your app/site
- JSON Editor Online - view/edit JSON in a better format
- fx - Command-line tool and terminal JSON viewer π₯
- github.com/joshbuchea/HEAD the definitive resource for everything that could go in the head of your document
- MetaTags.io β Preview, Edit and Generate
- HEY META - Website Meta Tag Check
- Rich Link Preview
- flubber - Tools for smoother shape animations
- Transform All important transforms at one place βοΈβοΈβοΈ this is so useful
- SVGR The SVG to JSX transformer
- svg2jsx
- JSON to JavaScript object literal | Online Tool
- Unminify JS, CSS and HTML Code
- Multi-Encoder
- Unicode code converter
- Can I Use... - Browser support tables for modern web technologies (HTML5, CSS3, JavaScript etc)
- JavaScript compatibility table
- Bundlephobia - find the cost of adding a npm package to your bundle
- WebPageTest
- Lighthouse
- Calibre web performance monitoring
- Website Speed Test Image Analysis Tool by Cloudinary
- Storybook UI dev environment you'll love to use
- react-styleguidist - Isolated React component development environment with a living style guide
- Docusaurus Easy to Maintain Open Source Documentation Websites
- Docz
- design-system-utils - Design system framework for modern front-end projects
Accessibility is an extremely important part of any web project. While the SOW, functional spec or user-stories might not directly mention a11y, it is up to each developer to ensure that best efforts are made to make our websites as accessible as possible.
- Interactive WCAG guidelines - cheatsheet for A, AA & AAA
- awesome-a11y - massive list of a11y-related resources & information
- tenon.io - a11y tester
- a11yproject.com/checklist.html - a11y checklist
- a11yproject.com - a11y resources
- w3.org/WAI/ER/tools/ - list of a11y tools from the W3C
- allyjs.io - JavaScript library to help modern web applications with accessibility concerns by making accessibility simpler
- Four principles of Accessibility
- Aria landmarks example
- A11y Style-guide - markup examples and best practices
- Inclusive Components - A blog trying to be a pattern library. All about designing inclusive web interfaces, piece by piece.
- Color contrast checker
- Accessible color palette builder - An prototype to help designers build accessible color palettes
- Practical ARIA Examples
- Nutrition Cards for Accessible Components A11Y Expectations
- Web Accessibility Tutorials - Guidance on how to create websites that meet WCAG
- Accessibility Insights for Web
- Color Contrast Analyzer
- NoCoffee - has options for testing color blindness and other sight-related issues
- Input: Fonts for Code
- IBM Plex Mono
- FiraCode: Monospaced font with programming ligatures
- fantasque-sans: A font family with a great monospaced variant for programmers.
- Ayu (Mirage)
- Dracula A dark theme for Visual Studio Code and 50+ apps
- Oceanic Next Theme
- π Night Owl A VS Code dark theme for contrast for nighttime coding
- Nord
- VSCodeThemes
- Regex101 Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript
If you think there are better alternatives, or that there should be something added to the list, please create an issue or create a pull request