DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at iainfreestone.com

πŸš€10 Trending projects on GitHub for web developers - 13th November 2020

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

1. Aleph.js

The React Framework in Deno.

GitHub logo alephjs / aleph.js

The Full-stack Framework in Deno.







2. Sortable

Create and reorder lists with drag-and-drop. For use with modern browsers and touch devices

GitHub logo SortableJS / Sortable

Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery required.

Sortable Β  Financial Contributors on Open Collective CircleCI DeepScan grade npm

Sortable is a JavaScript library for reorderable drag-and-drop lists.

Demo: http://sortablejs.github.io/Sortable/

Features

  • Supports touch devices and modern browsers (including IE9)
  • Can drag from one list to another or within the same list
  • CSS animation when moving items
  • Supports drag handles and selectable text (better than voidberg's html5sortable)
  • Smart auto-scrolling
  • Advanced swap detection
  • Smooth animations
  • Multi-drag support
  • Support for CSS transforms
  • Built using native HTML5 drag and drop API
  • Supports
  • Supports any CSS library, e.g. Bootstrap
  • Simple API
  • Support for plugins
  • CDN
  • No jQuery required (but there is support)
  • Typescript definitions at @types/sortablejs

Articles


Getting Started

Install with NPM:

$ npm install sortablejs --save
Enter fullscreen mode Exit fullscreen mode

…


3. Rollup Plugins

The one-stop shop for official Rollup plugins

GitHub logo rollup / plugins

🍣 The one-stop shop for official Rollup plugins

tests cover discord libera manifesto

Rollup Plugins

🍣 The one-stop shop for official Rollup plugins

This repository houses plugins that Rollup considers critical to every day use of Rollup, plugins which the organization has adopted maintenance of, and plugins that the project recommends to its users.

Plugins Found Here

alias Define and resolve aliases for bundle dependencies
auto-install Automatically install dependencies that are imported by a bundle
babel Compile your files with Babel
beep System beeps on errors and warnings
buble Compile ES2015 with buble
commonjs Convert CommonJS modules to ES6
data-uri Import modules from Data URIs
dsv Convert .csv and .tsv files into JavaScript modules with d3-dsv
dynamic-import-vars Resolving dynamic imports that contain variables.
eslint Verify entry point and all imported files with ESLint
graphql Convert .gql/.graphql files to ES6 modules
html Create HTML files to serve Rollup bundles
image Import JPG, PNG, GIF, SVG, and WebP files
inject Scan modules for global variables
…

4. Animate on scroll library

Animate on scroll library

GitHub logo michalsnik / aos

Animate on scroll library

AOS - Animate on scroll library

NPM version NPM downloads Build Status Gitter

Twitter Follow Twitter URL

❗❗❗ This is README for aos@next ❗❗❗

For last stable release (v2) go here


πŸš€ Demo

🌟 Codepen Examples

πŸ‘‰ To get a better understanding how this actually works, I encourage you to check my post on CSS-tricks.


βš™ Installation

Basic

Add styles in <head>:

  <link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
Enter fullscreen mode Exit fullscreen mode

Add script right before closing </body> tag, and initialize AOS:

  <script src="https://unpkg.com/aos@next/dist/aos.js"></script>
  <script>
    AOS.init();
  </script>
Enter fullscreen mode Exit fullscreen mode

Using package managers

Install aos package:

  • yarn add aos@next
  • or npm install --save aos@next

Import script, styles and initialize AOS:

import AOS from 'aos';
import 'aos/dist/aos.css'; // You can also use <link> for styles
// ..
AOS
…
Enter fullscreen mode Exit fullscreen mode

5. eslint-plugin-import

This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names. All the goodness that the ES2015+ static module syntax intends to provide, marked up in your editor.

GitHub logo import-js / eslint-plugin-import

ESLint plugin with rules that help validate proper imports.

eslint-plugin-import

github actions travis-ci coverage win32 build status npm npm downloads

This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names. All the goodness that the ES2015+ static module syntax intends to provide, marked up in your editor.

IF YOU ARE USING THIS WITH SUBLIME: see the bottom section for important info.

Rules

Static analysis

  • Ensure imports point to a file/module that can be resolved. (no-unresolved)
  • Ensure named imports correspond to a named export in the remote file. (named)
  • Ensure a default export is present, given a default import. (default)
  • Ensure imported namespaces contain dereferenced properties as they are dereferenced. (namespace)
  • Restrict which files can be imported in a given folder (no-restricted-paths)
  • Forbid import of modules using absolute paths (no-absolute-path)
  • Forbid require() calls with expressions (no-dynamic-require)
  • Prevent importing the submodules of other modules…

6. Azure SDK for JavaScript

This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser).

GitHub logo Azure / azure-sdk-for-js

This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser). For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/en-us/javascript/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-js.

Azure SDK for JavaScript

Packages Dependencies DependencyGraph

This repository is for the Azure SDK for JavaScript (Node.js & Browser). It contains the management libraries for all Azure services and client libraries for a growing subset of Azure services. Management libraries are packages that you would use to provision and manage Azure resources. Client libraries are packages that you would use to consume these resources and interact with them.

Getting started

A few helpful resources to get started are:

  • The readme for each package contains code samples and package information. This readme can be found in the corresponding package folder under the folder of the service of your choice in the /sdk folder of this repository. The same readme file can be found on the landing page for the package in npm.
  • The API reference documentation of the latest versions of these packages, can be found at our public developer docs.
  • The…

7. react-data-grid

Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like

GitHub logo adazzle / react-data-grid

Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like

react-data-grid

npm-badge type-badge size-badge codecov-badge ci-badge

Install

npm install react-data-grid
Enter fullscreen mode Exit fullscreen mode

react-data-grid is published as ES2020 modules, you'll probably want to transpile those down to scripts for the browsers you target using Babel and browserslist.

Example browserslist configuration file
last 2 chrome versions
last 2 edge versions
last 2 firefox versions
last 2 safari versions

See documentation

Example babel.config.json file
{
  "presets": [
    [
      "@babel
/env",
      {
        "bugfixes": true,
        "shippedProposals": true,
        "corejs": 3,
        "useBuiltIns": "entry"
      }
    ]
  ]
}
Enter fullscreen mode Exit fullscreen mode

See documentation

  • It's important that the configuration filename be babel.config.* instead of .babelrc.*, otherwise Babel might not transpile modules under node_modules.
  • We recommend polyfilling modern JS features with core-js by adding the following snippet at the top of your bundle's entry file
    import 'core-js/stable';
    Enter fullscreen mode Exit fullscreen mode
    • Babel's env preset, if configured correctly, will…

8. eDEX-UI

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

GitHub logo GitSquared / edex-ui

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.


Logo

undefined
undefined undefined undefined
undefined undefined undefined undefined undefined


eDEX-UI is a fullscreen, cross-platform terminal emulator and system monitor that looks and feels like a sci-fi computer interface.




Demo on YouTube

Heavily inspired from the TRON Legacy movie effects (especially the Board Room sequence), the eDEX-UI project was originally meant to be "DEX-UI with less Β« art Β» and more Β« distributable software Β»".

While keeping a futuristic look and feel, it strives to maintain a certain level of functionality and to be usable in real-life scenarios, with the larger goal of bringing science-fiction UXs to the mainstream.

It might or might not be a joke taken too seriously.


Jump to:
Features β€” Screenshots β€” Questions & Answers β€” Download β€” Featured In β€” Contributor Instructions β€” Credits

Sponsor

Want to help support my open-source experiments and learn some cool JavaScript tricks at the same time?

Click the banner below and sign up to Bytes, the only newsletter…





9. VitePress

Vite & Vue powered static site generator

GitHub logo vuejs / vitepress

Vite & Vue powered static site generator.

(WIP) VitePress πŸ“πŸ’¨

Test npm


πŸ”₯ Note this is early WIP! Currently the focus is on making Vite stable and feature complete first. It is not recommended to use this for anything serious yet.


VitePress is VuePress' little brother, built on top of vite.

Documentation

To check out docs, visit vitepress.vuejs.org.

Changelog

Detailed changes for each release are documented in the release notes.

Contribution

Please make sure to read the Contributing Guide before making a pull request.

License

MIT

Copyright (c) 2019-present, Yuxi (Evan) You





10. OWASP Juice Shop

OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications!

GitHub logo bkimminich / juice-shop

OWASP Juice Shop: Probably the most modern and sophisticated insecure web application

JuiceΒ ShopΒ Logo OWASP Juice Shop

OWASP Flagship GitHub release Twitter Follow Subreddit subscribers

CI/CD Pipeline Test Coverage Maintainability Code Climate technical debt CII Best Practices GitHub stars Contributor Covenant

The most trustworthy online shop out there. (@dschadow) β€” The best juice shop on the whole internet! (@shehackspurple) β€” Actually the most bug-free vulnerable application in existence! (@vanderaj) β€” First you πŸ˜‚πŸ˜‚then you 😒 (@kramse) β€” But this doesn't have anything to do with juice. (@coderPatros' wife)

OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications!

Juice Shop Screenshot Slideshow

For a detailed introduction, full list of features and architecture overview please visit the official project page https://owasp-juice.shop

Table of contents


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.

Discussion (0)