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
- Bundlephobia - See the "cost" of any npm package
- Snyk - 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 - runpkg - Explore, learn about and perform static analysis on npm packages in the browser
- 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
- CSSFX - Beautifully simple click-to-copy CSS effects
- CSS-in-JS libraries
- Styled Components - CSS-in-JS for React
- Emotion - CSS-in-JS library
- linaria - Zero-runtime CSS in JS library
- Design System Utils - Design system framework for modern front-end projects (made by me!)
- Polished - A lightweight toolset for writing styles in JavaScript
- styled-by Simple and powerful lib to handle styled props in your components
- xstyled - Consistent theme based CSS for styled-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
- always-done - Handle completion and errors with elegance! Support for async/await, promises, callbacks, streams and observables. A drop-in replacement for async-done - pass 100% of its tests plus more
- words - Linguistic javascript modules
- no-scroll - Disable scrolling on an element that would otherwise scroll
- libphonenumber-js - A simpler (and smaller) rewrite of Google Android's libphonenumber library
- msk - Small library to mask strings
- focus-trap - Trap focus within a DOM node
- pino - π² super fast, all natural json logger π²
- 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
- tornisTornis helps you watch and respond to changes in your browser's viewport π²
- actual - Determine actual CSS media query breakpoints via JavaScript
- 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
- Vanilla-tilt.js - A smooth 3D tilt javascript library forked from Tilt.js
- 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
- My fish_config
- awesome-fish - A curated list of packages, prompts, and resources for the amazing fish 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
- cypress-axe - Custom commands for Cypress to run a11y checks with axe-core
- 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.
- react-testing-library - React Testing Examples
- 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
- ExtendsClass - An online REST client
- 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
- Docute - The fastest way to create a documentation site for your project
- playroom - Design with JSX, powered by your own component library
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
themer - π¨ themer takes a set of colors and generates themes for your apps (editors, terminals, wallpapers, and more)
- My VS Code extensions
- My preferences
- awesome-vscode - π¨ A curated list of delightful VS Code packages and resources
- 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