DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at iainfreestone.com

πŸš€10 Trending projects on GitHub for web developers - 19th March 2021

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

1. Awesome Design Tools

The best design tools and plugins for everything

GitHub logo goabstract / Awesome-Design-Tools

The best design tools and plugins for everything πŸ‘‰

Awesome Design Tools

Awesome-Design-Tools

awesome PRs Welcome

Awesome Design Tools as a part of Flawless App family joins Abstract!

Today, we’re excited to announce that Flawless App has joined Abstract, a design delivery platform that brings visibility, accountability, measurability, and predictability to design.

Flawless App was our first company, and we’re proud of everything that we’ve achieved with our 5-person team.

Since 2015, we’ve launched powerful tools for designers and developers β€” among them are Flawless App, Reduce, Flawless Feedback. We’ve also invested a lot of love and care into community-driven initiatives. Awesome Design Tools is one of them.

So what’s next?

Our team has joined Abstract and is focused on building out the Abstract SDK, bringing developers’ experience forward. One unbelievable journey has finished and the new one has just begun. And if you want to know more…






2. github-elements

GitHub's Web Component collection. 16 open source custom elements.

GitHub logo github / github-elements

GitHub's Web Component collection.

github-elements

GitHub's Web Component collection.

We have 17 open source custom elements:

An input element that validates its value with a server endpoint.

Repository | Example

Auto-complete input values from server search results.

Repository | Example

Copy element text content or input values to the clipboard.

Repository | Example

A modal dialog that's opened with <details>.

Repository | Example

A menu opened with <details>.

Repository | Example

Attach files via drag and drop or file input.

Repository | Example

Display elements in a subtree that match filter input text.

Repository | Example

Backports native emoji characters to browsers that don't support them by replacing the characters with fallback images.

Repository | Example

A custom element for cropping a square image. Returns x, y, width, and height.

Repository | Example

A client-side includes tag.

Repository | Example

Markdown formatting buttons…


3. Ionicons

Ionicons is a completely open-source icon set with 1,300 icons crafted for web, iOS, Android, and desktop apps. Ionicons was built for Ionic Framework, so icons have both Material Design and iOS versions.

GitHub logo ionic-team / ionicons

Premium hand-crafted icons built by Ionic, for Ionic apps and web apps everywhere 🌎

Ionicons

Ionicons is a completely open-source icon set with 1,300 icons crafted for web, iOS, Android, and desktop apps. Ionicons was built for Ionic Framework, so icons have both Material Design and iOS versions.

Note: All brand icons are trademarks of their respective owners. The use of these trademarks does not indicate endorsement of the trademark holder by Ionic, nor vice versa.

We intend for this icon pack to be used with Ionic, but it’s by no means limited to it. Use them wherever you see fit, personal or commercial. They are free to use and licensed under MIT.

Contributing

Thanks for your interest in contributing! Read up on our guidelines for contributing and then look through our issues with a help wanted label.

Using the Web Component

The Ionicons Web Component is an easy and performant way to use Ionicons in your app. The component will…


4. Tailwindcss - Just In Time

An experimental just-in-time compiler for Tailwind CSS that generates your styles on-demand as you author your templates instead of generating everything in advance at initial build time.

As of Tailwind CSS v2.1 this project has been merged with the core Tailwind CSS repository and all future development will happen there.


Tailwind CSS Just-In-Time

Latest Release License

Overview

An experimental just-in-time compiler for Tailwind CSS that generates your styles on-demand as you author your templates instead of generating everything in advance at initial build time.

This comes with a lot of advantages:

  • Lightning fast build times. Tailwind can take 3–8s to initially compile using our CLI, and upwards of 30–45s in webpack projects because webpack struggles with large CSS files. This library can compile even the biggest projects in about 800ms (with incremental rebuilds as fast as 3ms), no matter what build tool you're using.
  • Every variant is enabled out of the box. Variants like focus-visible, active, disabled, and others are not normally enabled by default due to file-size considerations. Since this library generates styles on demand, you…

5. Bulletproof Node.js

Implementation of a bulletproof node.js API

GitHub logo santiq / bulletproof-nodejs

Implementation of a bulletproof node.js API πŸ›‘οΈ

Bulletproof Node.js architecture πŸ›‘οΈ

This is the example repository from the blog post 'Bulletproof node.js project architecture'

Please read the blog post in order to have a good understanding of the server architecture.

Also, I added lots of comments to the code that are not in the blog post, because they explain the implementation and the reason behind the choices of libraries and some personal opinions and some bad jokes.

The API by itself doesn't do anything fancy, it's just a user CRUD with authentication capabilities Maybe we can transform this into something useful, a more advanced example, just open an issue and let's discuss the future of the repo.

Development

We use node version 14.9.0

nvm install 14.9.0
nvm use 14.9.0

The first time, you will need to run

npm install

Then just start the server with

npm run start

It uses nodemon for livereloading :peace-fingers:

Online one-click setup

…

6. changesets

A way to manage your versioning and changelogs with a focus on monorepos

GitHub logo changesets / changesets

πŸ¦‹ A way to manage your versioning and changelogs with a focus on monorepos

A tool to manage versioning and changelogs
with a focus on multi-package repositories


View changelog

The changesets workflow is designed to help when people are making changes, all the way through to publishing. It lets contributors declare how their changes should be released, then we automate updating package versions, and changelogs, and publishing new versions of packages based on the provided information.

Changesets has a focus on solving these problems for multi-package repositories, and keeps packages that rely on each other within the multi-package repository up-to-date, as well as making it easy to make changes to groups of packages.

How do we do that?

A changeset is an intent to release a set of packages at particular semver bump types with a summary of the changes made.

The @changesets/cli package allows you to write changeset files as you make changes, then combine any number of changesets into a release, that flattens the…


7. Open Source Guides

Open Source Guides are a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project.

GitHub logo github / opensource.guide

πŸ“š Community guides for open source creators

Open Source Guides

Build Status

Open Source Guides (https://opensource.guide/) are a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open-source project.

Background

Open Source Guides were created and are curated by GitHub, along with input from outside community reviewers, but they are not exclusive to GitHub products. One reason we started this project is that we felt that there weren't enough resources for people creating open-source projects.

Our goal was to aggregate community best practices, not what GitHub (or any other individual or entity) thinks is best. Therefore, we used examples and quotations from others to illustrate our points.

Contributing

This site is powered by Jekyll. Check out our contributing guidelines for ways to offer feedback and contribute.

Licenses

Content is released under CC-BY-4.0. See notices for complete details, including attribution guidelines, contribution terms, and software and…


8. vscode-icons

Icons for Visual Studio Code

GitHub logo vscode-icons / vscode-icons

Icons for Visual Studio Code

logo

vscode-icons

Bring real icons to your Visual Studio Code

minimum supported version: 1.71.0


Version Installs Downloads Ratings



Maintainability Test Coverage



demo


Installation

To install the extension just execute the following command in the Command Palette of Visual Studio Code:

ext install vscode-icons
Enter fullscreen mode Exit fullscreen mode

Some people have reported that they cannot find the extension when they insert the installation command.

If you find yourself in the same position, try:

ext install icons
# or
ext install "vscode-icons"
Enter fullscreen mode Exit fullscreen mode

Usage

Once installed and after reloading vscode, you will be presented with a message to Activate the icons.

In case this doesn't happen, navigate to:

  • Linux & Windows => File > Preferences > Theme > File Icon Theme > VSCode Icons.
  • MacOS => Code > Preferences > File Icon Theme > VSCode Icons.

Features

vscode-icons is being shipped with a lot of features, like:

Icons Customization

Choose the icon you prefer for any particular file extension.

Learn more...

…

9. esbuild-loader

Speed up your Webpack build with esbuild

GitHub logo privatenumber / esbuild-loader

πŸ’  Speed up your Webpack with esbuild ⚑️


esbuild-loader

Speed up your Webpack build with esbuild! πŸ”₯

esbuild is a JavaScript bundler written in Go that supports blazing fast ESNext & TypeScript transpilation and JS minification.

esbuild-loader lets you harness the speed of esbuild in your Webpack build by offering faster alternatives for transpilation (eg. babel-loader/ts-loader) and minification (eg. Terser)!

Tip

Are you using TypeScript with Node.js?

Supercharge your Node.js with TypeScript support using tsx!

tsx is a simple, lightweight, and blazing fast alternative to ts-node.

β†’ Learn more about tsx


Already a sponsor? Join the discussion in the Development repo!

πŸš€ Install

npm i -D esbuild-loader
Enter fullscreen mode Exit fullscreen mode

🚦 Quick Setup

To leverage esbuild-loader in your Webpack configuration, add a new rule for esbuild-loader matching the files you want to transform, such as .js, .jsx, .ts, or .tsx. Make sure to remove any other loaders you were using…





10. nodejsscan

nodejsscan is a static security code scanner for Node.js applications.

GitHub logo ajinabraham / nodejsscan

nodejsscan is a static security code scanner for Node.js applications.

nodejsscan nodejsscan icon

Static security code scanner (SAST) for Node.js applications powered by libsast and semgrep.

Made with Love in India Tweet

platform License python Tests

Support nodejsscan

  • Donate via Paypal: Donate via Paypal
  • Sponsor the Project: Github Sponsors

e-Learning Courses & Certifications

OpSecX Video Course OpSecX Node.js Security: Pentesting and Exploitation - NJS

Run nodejsscan

docker pull opensecurity/nodejsscan:latest
docker run -it -p 9090:9090 opensecurity/nodejsscan:latest
Enter fullscreen mode Exit fullscreen mode

Setup nodejsscan locally

Install Postgres and configure SQLALCHEMY_DATABASE_URI in nodejsscan/settings.py or as environment variable.

From version 4 onwards, windows support is dropped.

git clone https://github.com/ajinabraham/nodejsscan.git
cd nodejsscan
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 manage.py recreate-db # Run once to create database schema
Enter fullscreen mode Exit fullscreen mode

To run nodejsscan

./run.sh

This will run nodejsscan web user interface at http://127.0.0.1:9090

Command Line Interface(CLI) and Python API

njsscan_cli

Presentations

Watch the video

Integrations

Slack Alerts

Create your slack app Slack App and set SLACK_WEBHOOK_URL in nodejsscan/settings.py or as environment variable.

nodejsscan slack alert

Email Alerts

Configure SMTP settings in nodejsscan/settings.py or as environment variable.

…

Stargazing πŸ“ˆ

Top risers over last 7 days

  1. Clone Wars +3,980 stars
  2. Awesome Cheatsheets +971 stars
  3. Free Programming Books +745 stars
  4. Discord.js +674 stars
  5. Public APIs +626 stars

Top risers over last 30 days

  1. Vite +4070 stars
  2. Clone Wars +3,980 stars
  3. Ant Design +3810 stars
  4. Free Programming Books +2864 stars
  5. esbuild +2852 stars

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

If you enjoyed this article you can follow me on Twitter where I regularly post bite size tips relating to HTML, CSS and JavaScript.

Top comments (3)

Collapse
 
andrewbaisden profile image
Andrew Baisden

Excellent a few of these are new to me.

Collapse
 
daviddalbusco profile image
David Dal Busco

Happy to see the ionicons trending, these are my go to icons!

Thanks for the post Iain πŸ‘

Collapse
 
shinabr2 profile image
ShinaBR2 • Edited

Just one small issue, please make all links open in a new tab.