Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.
1. Turf
Turf is a JavaScript library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools.
A modular geospatial engine written in JavaScript
Turf is a JavaScript library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools. Turf can be added to your website as a client-side plugin, or you can run Turf server-side with Node.js (see below).
Installation
In Node.js
# get all of turf
npm install @turf/turf
# or get individual packages
npm install @turf/helpers
npm install @turf/buffer
In browser
Download the minified file, and include it in a script tag. This will expose a global variable named turf
.
<script src="turf.min.js" charset="utf-8"></script>
You can also include it directly from a CDN:
<script src="https://cdn.jsdelivr.net/npm/@turf/turf@6/turf.min.js"></script>
TypeScript
TypeScript definitions are packaged with each module. No DefinitelyTyped packages required.
Other languages
Ports of Turf.jsβ¦
2. Fiddly
Create beautiful and simple HTML pages from your Readme.md files
SaraVieira / fiddly
Create beautiful and simple HTML pages from your Readme.md files
Fiddly
Create beautiful and simple HTML pages from your Readme.md files
- π No config
- π©βπ» Code Highlighting
- π― Emoji Support
- β¨ Creates Static files (only JS is prism)
- π³οΈβπ Pretty Pages
- π¦ Customizable
- πΌ Image minification
- π§ Custom Meta Tags
- π³π± CodeSandbox and iframe Support
yarn add fiddly --dev
npm install fiddly --save-dev
Usage
{
...
"scripts": {
"build:demo": "fiddly",
....
}
Deploy automatically to netlify π
Usage with npx
If you just want a quick fancy HTML page from the Readme but don't care about running this in continuous deployment you can also use npx
to run it as a one time thing.
npx fiddly
By running this in the root folder you will also get a public folder
Options
Options are placed in a .fiddly.config.json
or as a fiddly
key in package.json
Itβ¦
3. NProgress
Slim progress bars for Ajax'y applications. Inspired by Google, YouTube, and Medium.
NProgress
Minimalist progress bar
Slim progress bars for Ajax'y applications. Inspired by Google, YouTube, and Medium.
Installation
Add nprogress.js and nprogress.css to your project.
<script src='nprogress.js'></script>
<link rel='stylesheet' href='nprogress.css'/>
NProgress is available via bower and npm.
$ npm install --save nprogress
Also available via unpkg CDN:
Basic usage
Simply call start()
and done()
to control the progress bar.
NProgress.start();
NProgress.done();
Turbolinks (version 5+)
Ensure you're using Turbolinks 5+, and use this: (explained here)
$(document).on('turbolinks:click', function() {
NProgress.start();
});
$(document).on('turbolinks:render', function() {
NProgress.done();
NProgress.remove();
}
β¦4. useCookieConsent
React hook for managing GDPR cookie consent state.
bring-shrubbery / use-cookie-consent
Smol (~1kB gzipped) hook for managing GDPR cookie consent state.
useCookieConsent hook for pure JavaScript projects
Headless state management for GDPR cookie consent
- Headless - bring your own styles, we will provide the logic.
- Hook-based - extremely intuitive for React developers, but can be used in any JavaScript application.
-
Small - Less than
2kB
gzipped.
Library-specific packages
This repo was made to be framework-agnostic, so you can use it in any JavaScript project. If you use a UI library that we support, you should use the package for your library for best experience
Description
This package is following this GDPR cookie guide which describes what you need for GDPR compliance. This hook mainly focuses handling the consent state of the different types of cookies as described in "Types of Cookies" in this page. Summarizing the mentioned document, there are three different ways to classify cookies:
- Cookie Duration
- Session cookies
- Persistent cookies
- Cookie Provenance
- First-party cookies
- Third-party cookies
- Cookie Purpose
- β¦
5. Ant Design Charts
A React chart library, based on G2Plot, G6, X6, L7.
ant-design / ant-design-charts
A React Chart Library
@ant-design/charts
Case
Statistical charts
β¨ Features
- Easy to use
- TypeScript
- Pretty & Lightweight
- Responsive
- Storytelling
π¦ Installation
$ npm install @ant-design/charts
π¨ Usage
import React from 'react';
import { Line } from '@ant-design/charts';
const Page: React.FC = () => {
const data = [
{ year: '1991', value: 3 },
{ year: '1992', value: 4 },
{ year: '1993', value: 3.5 },
{ year: '1994', value: 5 },
{ year: '1995', value: 4.9 },
{ year: '1996', value: 6 },
{ year: '1997', value: 7 },
{ year: '1998', value:
β¦6. Practical Cryptography for Developers
A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes, MAC codes, symmetric ciphers and authenticated encryption.
nakov / Practical-Cryptography-for-Developers-Book
Practical Cryptography for Developers: Hashes, MAC, Key Derivation, DHKE, Symmetric and Asymmetric Ciphers, Public Key Cryptosystems, RSA, Elliptic Curves, ECC, secp256k1, ECDH, ECIES, Digital Signatures, ECDSA, EdDSA
Welcome
Warning: this book is not finished! I am still working on some of the chapters. Once it is completed, I will publish it as PDF and EPUB. Be patient.
A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages.
Author: Svetlin Nakov, PhD - https://nakov.com
Contributors: Milen Stefanov, Marina Shideroff
Sponsor: SoftUni (Software University) - https://softuni.org
ISBN: 978-619-00-0870-5β¦
7. JSbooks
JSbooks is a showcase of the bests free ebooks about Javascript.
JSbooks
JSbooks is a showcase of the bests free ebooks about Javascript.
Find here the best publications about your favourite programming language without spending any bucks !
Check it out : http://jsbooks.revolunet.com
We also have a python version : http://pythonbooks.revolunet.com
HOW TO ADD YOUR PUBLICATION
If you find a nice ebook about Javascript, feel free to fork JSbooks and add it in a few steps :
- Paste the informations into the JSON file.
- Please include a .png file for the cover : less than 100Ko.
- Make a pull request.
Alternatively, you can send us an email with book infos : JSbooks@revolunet.com
Thanks per advance !
HISTORY
Historically, this project was supposed to be an experimental Apple 'NewsStand' application.
After some weeks of work, we discovered that having a functionnal application wasn't enough.
You also have to follow various Apple guidelines and use some Apple libraries to be 'NewsStand' compatible.
Soβ¦
8. regexgen
Generate regular expressions that match a set of strings.
devongovett / regexgen
Generate regular expressions that match a set of strings
regexgen
Generates regular expressions that match a set of strings.
Installation
regexgen
can be installed using npm:
npm install regexgen
Example
The simplest use is to simply pass an array of strings to regexgen
:
const regexgen = require('regexgen');
regexgen(['foobar', 'foobaz', 'foozap', 'fooza']); // => /foo(?:zap?|ba[rz])/
You can also use the Trie
class directly:
const {Trie} = require('regexgen');
let t = new Trie;
t.add('foobar');
t.add('foobaz');
t.toRegExp(); // => /fooba[rz]/
CLI
regexgen
also has a simple CLI to generate regexes using inputs from the command line.
$ regexgen
Usage: regexgen [-gimuy] string1 string2 string3...
The optional first parameter is the flags to add
to the regex (e.g. -i
for a case insensitive match).
9. Utopia
Utopia is an integrated design and development environment for React. It uses React code as the source of truth, and lets you make real time changes to components by editing it and using a suite of design tools.
concrete-utopia / utopia
Design β€οΈ Code
Welcome to Utopia π
Utopia is an integrated design and development environment for React. It uses React code as the source of truth, and lets you make real time changes to components by editing it and using a suite of design tools. It's early software, but you can try it today, look at an example project, or read about it on our blog!
For contributors only: Installing Utopia on your machine
Please note: to use Utopia, visit utopia.app. Installing it locally is for feature development of Utopia itself: it's slower - sometimes very significantly so. It still needs connection to our servers. And you won't be able to edit projects in the file system on your machine if you install it locally.
To contribute to Utopia, you'll need to clone the repo, install the prerequisites, and then run the editorβ¦
10. web3-react
A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps
Uniswap / web3-react
A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps
web3-react (beta)
Looking for the prior version of this library? It's available on the v6 branch.
This is a hosted version of example.
Packages
Get Started
yarn
yarn start
In addition to compiling each package in watch mode, this will also spin up /example on localhost:3000.
Run Tests
yarn build
yarn test --watch
Publish
yarn lerna publish [--dist-tag]
Documentation
This version of web3-react is still in beta, so unfortunately documentation is pretty sparse at the moment. /example, TSDoc comments, and the source code itself are the best ways to get an idea of what's going on. More thorough documentation is a priority as development continues!
Upgrading Connector Dependencies
Some connectors have one or moreβ¦
Stargazing π
Top risers over last 7 days
- Public APIs +3,021 stars
- Awesome-Selfhosted +1,104 stars
- Astro +977 stars
- Coding Interview University +967 stars
- Discord.js +754 stars
Top growth(%) over last 7 days
- use-color +37%
- Baileys +35%
- Astro +21%
- Leetcode Patterns +20%
- Fronts +19%
Top risers over last 30 days
- Public APIs +9,308 stars
- The Book Of Secret Knowledge +4,982 stars
- Web Development for Beginners +4,316 stars
- JavaScript Algorithms +4,018 stars
- 30 seconds of code +3,599 stars
Top growth(%) over last 30 days
- Security Scorecards +179%
- TypeState +152%
- Fullstack Boilerplate +146%
- SigNoz +106%
- Astro +93%
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)
Subscribed π
Thank you for sharing, subscribed to your newsletter
Great list π