tools
berry
Our great sponsors
tools | berry | |
---|---|---|
45 | 181 | |
24,334 | 7,112 | |
- | 1.4% | |
0.0 | 9.3 | |
8 months ago | 1 day ago | |
Rust | TypeScript | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tools
-
Biome.js : Prettier+ESLint killer ?
Biome is a fork of Rome, which was originally an ambitious tool written in Rust but abandoned in October 2023. It includes both a linter and a formatter, putting an end to the time-consuming difficulties associated with reconciling ESLint and Prettier rules.
-
Rescuing legacy Node.js projects with Bun
When I saw the release of bun six months ago, I was not that hyped as I saw a tool that had similar ambitions, Rome, and dissapointed many. But it was different this time. It really is a drop in replacement for Node.js so you can start using it by replacing the npm and node commands in your package.json file. The main feature that captured my interest was the ability to use require and import statemtents in the same file. This allows you to keep using CommonJS modules and use import statemtents for any new modules that drop support for it. The only catch I could find so far is that if you decide to mix import and require statements, you cannot use module.exports but instead use export statement. I did exactly that and now I have a fully functional backend with admin panel that won't make your head scratch fighting with CommonJS and ESModules.
-
Build a Vite 5 backend integration with Flask
Once you build a simple Vite backend integration, try not to complicate Vite's configuration unless you absolutely must. Vite has become one of the most popular bundlers in the frontend space, but it wasn't the first and it certainly won't be the last. In my 7 years of building for the web, I've used Grunt, Gulp, Webpack, esbuild, and Parcel. Snowpack and Rome came-and-went before I ever had a chance to try them. Bun is vying for the spot of The New Hotness in bundling, Rome has been forked into Biome, and Vercel is building a Rust-based Webpack alternative.
-
BiomeJS 2024 Roadmap
It definitely existed by the time rome_console/biome_console was created! The crate was created 2 years ago[1] and miette was released more than 2 years ago[2]. By the time rome_console was created miette was on v4, so presumably somewhat mature.
[1]: https://github.com/rome/tools/commits/main/crates/rome_conso...
-
Biome
Biome formats and lints your JavaScript and TypeScript code in a fraction of a second. Biome is the community successor of Rome Tools [0].
As part of this announcement, we have released the first stable version of Biome [1]. Join us on our Discord [2] and support us via our open collective [3].
I am one of the main maintainers of Biome. I will be happy to answer any questions :)
-
JavaScript Gom Jabbar
I have no idea how true this is, but the source of the claim seems to come from here:
https://github.com/rome/tools/discussions/4302
"But in short, the company Rome Tools ran out of funding, so the core team of last year are no longer working on the project."
-
Rome v12.1: a Rust-based linter formatter for TypeScript, JSX and JSON
For now, Rome implements most of the ESLint recommended rules (including TypeScript ESLint) and some additional rules that are enabled by default. In the future, you can expect a recommended preset that is a superset of the ESLint recommended preset. So if you're not heavily customising ESLint, you should be able to use Rome.
Otherwise, most of the rules are not fine-tunable in the way that ESLint is. Rome tries to provide the experience that Prettier provided in the formatting tool: good defaults for a near-zero configuration experience. It tries to adopt the conventions of the JS/TS community. Still, some configuration is provided when the community is divided on some opinions (e.g. space vs. tab indentation, semicolons or as-needed semicolons, ...).
There is an open issue [1] for listing equivalent rules between ESLint and Rome. Expect more documentation in the future, and maybe a migration tool.
If I had been one of the founders of Rome, I could have pushed for more compatibility with ESLint. In particular, using the same naming conventions and thus the same names for most rules, and recognising ESLint ignore comments.
-
Rome
Today we are going to talk about Rome. According to their github page
-
Complete rewrite of ESLint (GitHub discussion by the creator)
I must say, although it doesn't (of course) have anywhere near the configuration or plugin-capability of eslint, I've found Rome impressive so far. I have access to a range of PCs and the performance boost of a compiled binary makes a pretty big difference on a large repo on a slower machine.
-
Porting 58000 lines of D and C++ to jai, Part 0: Why and How
Fast compilation seems very appealing. It is one of the main reason why I am interested into Go and Zig.
I recently started working with Rust for contributing to projects like Rome/tools [1] and deno_lint [2]. The compilation and IDE experience is frustrating. Compilation is slow. I am afraid that this is rooted to the inherent complexity of Rust.
berry
-
Understanding Dependencies in Programming
Node.js manages dependencies using package managers like npm (Node Package Manager), yarn, and pnpm. npm comes pre-installed with Node.js and allows you to install and uninstall Node.js packages. It uses a package.json file to keep track of which packages your project depends on. Yarn and Pnpm are alternative package managers that aim to improve on npm in various ways, such as improved performance and better lock file format.
-
Run a Linux Distro in your Android device
Depending on the stack of the repository you are cloning, you might have to install additional dependencies. For this demo, I'm using my own website, which is a static website built with Astro.js. It which requires to have Node.js installed and Yarn for package manager.
-
Unit Testing in Node.js and TypeScript: A Comprehensive Guide with Jest Integration
A package manager such as npm, Yarn, or pnpm. A package manager is a tool that helps you manage the dependencies of your project. You can use any of these package managers to install Jest and other packages.
-
Guide to ChatGPT API Implementation for Developers
To start off, you'll need Node.js installed on your local system. This ChatGPT API guide will use Yarn to install dependencies in the project, but you're free to use npm or any other package management tool if you wish. Finally, you'll need an OpenAI account for ChatGPT API access.
-
Consuming Loki logs with Grafana API and Node.js
This package is available in the Node Package Repository and can be easily installed with npm or yarn
-
How to Build an Electronic Commerce Store with Medusajs
Yarn or Npm(This tutorial uses Yarn)
-
How to secure JavaScript applications right from the CLI
However, the easiest way to install the Snyk CLI for your JavaScript application is to do so using the npm or Yarn global installation since you most likely already have Node.js installed. Ensure you're using Node.js version 12 or later and run the following command to install the Snyk CLI as a global npm package:
-
Package manager wars. The real picture
Resolving berry to a url... Downloading https://github.com/yarnpkg/berry/raw/master/packages/berry-cli/bin/berry.js... Saving it into /private/tmp/my-app/.yarn/releases/yarn-berry.js... Updating /private/tmp/my-app/.yarnrc... Done!
-
Security Analysis with JupiterOne’s Starbase and Memgraph
Installed Yarn package manager.
-
Using Prolog in Windows NT Network Configuration (1996)
I think Prolog really shines as an embedded query engine (I know this is old and it's been removed since). It's perfect for declarative configuration, very easy to write powerful queries once you wrap your head around it.
The Yarn constraints plugin also used (Tau) Prolog, although it looks like it's in the process of being replaced with JS, which makes me a bit sad. The reasoning is here: https://github.com/yarnpkg/berry/issues/1276. Seems like the biggest issue is lack of a nice dev environment. I maintain the Trealla Prolog Wasm port (npm package 'trealla') and I hope some day to use it for a VSCode extension or LSP or something to provide a nice dev experience. Performance has also been cited as an issue[1] but Trealla is quite fast and I expect it could easily handle a complex Yarn workspace with tons of facts. If this sounds like something you'd be interested in helping me with, feel free to contact me or make an issue/discussion here: https://github.com/guregu/trealla-js
[1]: https://github.com/yarnpkg/berry/issues/4079#issuecomment-10...
What are some alternatives?
biome - A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
yarn - The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
yarn.build - Build 🛠 and Bundle 📦 your local workspaces. Like Bazel, Buck, Pants and Please but for Yarn Berry. Build any language, mix javascript, typescript, golang and more in one polyglot repo. Ship your bundles to AWS Lambda, Docker, or any nodejs runtime.
pnpm - Fast, disk space efficient package manager
msgpack-tools - Command-line tools for converting between MessagePack and JSON / msgpack.org[UNIX Shell]
docker-node - Official Docker Image for Node.js :whale: :turtle: :rocket:
sucrase - Super-fast alternative to Babel for when you can target modern JS runtimes
nx - Smart Monorepos · Fast CI
deno_lint - Blazing fast linter for JavaScript and TypeScript written in Rust
snarkdown - :smirk_cat: A snarky 1kb Markdown parser written in JavaScript
gcc
lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.