🚀10 Trending projects on GitHub for web developers - 14th August 2020
Iain Freestone
Posted on August 14, 2020
Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.
1. Rome
Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS. Rome unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.
Rome unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.
Rome has strong conventions and aims to have minimal configuration. Read more about our project philosophy.
Rome is written in TypeScript and runs on Node.js. Rome has zero dependencies, and has largely been written from scratch. See credits for more information.
CodeceptJS is a new testing framework for end-to-end testing with WebDriver (or others). It abstracts browser interaction to simple steps that are written from a user perspective.
CodeceptJS is a new testing framework for end-to-end testing with WebDriver (or others)
It abstracts browser interaction to simple steps that are written from a user perspective
A simple test that verifies the "Welcome" text is present on a main page of a site will look like:
Feature('CodeceptJS demo');Scenario('check Welcome page on site',({ I })=>{I.amOnPage('/');I.see('Welcome');});
CodeceptJS tests are:
Synchronous. You don't need to care about callbacks, or promises, test scenarios are linear, your test should be too.
Written from user's perspective. Every action is a method of I. That makes test easy to read, write and maintain even for non-tech persons.
GPU.js is a JavaScript Acceleration library for GPGPU (General purpose computing on GPUs) in JavaScript for Web and Node. GPU.js automatically transpiles simple JavaScript functions into shader language and compiles them so they run on your GPU. In case a GPU is not available, the functions will still run in regular JavaScript.
GPU.js is a JavaScript Acceleration library for GPGPU (General purpose computing on GPUs) in JavaScript for Web and Node
GPU.js automatically transpiles simple JavaScript functions into shader language and compiles them so they run on your GPU
In case a GPU is not available, the functions will still run in regular JavaScript
For some more quick concepts, see Quick Concepts on the wiki.
What is this sorcery?
Creates a GPU accelerated kernel transpiled from a javascript function that computes a single element in the 512 x 512 matrix (2D array).
The kernel functions are ran in tandem on the GPU often resulting in very fast computations!
You can run a benchmark of this here. Typically, it will run 1-15x faster depending on your hardware.
Matrix multiplication (perform matrix multiplication on 2 matrices of size 512 x 512) written in GPU.js:
This project provides multiple blocks built using Tailwind
CSS that you can use in your own projects. This
project is not a dependency that you add to your project, but instead provides
you with HTML that you can easily copy and paste into your own project.
Front-end framework with a built-in dark mode and full customizability using CSS variables; great for building dashboards and tools.
Built-in dark mode—Halfmoon comes with a built-in, toggleable dark mode, which is one of its most important and defining features.
Fully customizable using CSS variables—The framework is built entirely using CSS variables (also known as CSS custom properties). There are close to 1,500 CSS variables, which means that almost everything can be customized by overriding a property, making it very easy to theme Halfmoon to fit your brand. Learn more about customization.
Great for building dashboards and tools—The components have a very standard look and feel to them, making them suitable for dashboards and tools. Moreover, a lot of importance is placed…
XState is a library for creating, interpreting, and executing finite state machines and statecharts, as well as managing invocations of those machines as actors. The following fundamental computer science concepts are important to know to make the best use of XState, and in general for all your current and future software projects.
Extensible Dev Tools for Monorepos. Nx helps scale your development from one team building one application to many teams building multiple frontend and backend applications all in the same workspace.
Nx is a smart and extensible build framework to help you architect, test, and build at any scale — integrating seamlessly with modern technologies and frameworks while providing a distributed graph-based task execution, computation caching, smart rebuilds of affected projects, powerful code generators, editor support, GitHub apps, and more.
Best-in-Class Support for Monorepos
Nx provides distributed graph-based task execution and computation caching.
Nx is smart. It analyzes your workspace and figures out what can be affected by every code change
That's why Nx doesn't rebuild and retest everything on every commit--it only rebuilds what is necessary
.
Nx partitions commands into a graph of smaller tasks. Nx then runs those tasks in parallel
and it can even distribute them across multiple machines without any configuration.
Nx also uses a distributed computation cache. If someone has already built or tested similar…
This project aims to raise the bar by generating responsive layouts in Tailwind, Flutter and SwiftUI. The plan is to eventually add support for Jetpack Compose and possibly standard HTML or other frameworks like React Native, Bootstrap or Fluent.
Generate responsive pages and apps on HTML, Tailwind, Flutter and SwiftUI.
Figma to Code
Most design to code plugins are bad, some are even paid. This project aims to raise the bar by generating responsive layouts in Tailwind, Flutter and SwiftUI. The plan is to eventually add support for Jetpack Compose and possibly standard HTML or other frameworks like React Native, Bootstrap or Fluent. Feedback, ideas and partnerships are appreciated!
How it works
This plugin takes an unconventional approach to improve code quality: it optimizes the layout before the conversion to code even begins. The standard Figma Nodes (what represents each layer) is a joy to work with, but it can't modify a layer without modifying the user project. For this reason, I decided to virtualize it, remaking the official implementation and naming them AltNodes. During the process of converting a Node into an AltNode, the plugin does the following: