• CTRL ALT News
  • Posts
  • CODE EDITORS, CLI TOOLS, COMPONENTS, and more, This week’s top 5 open-source projects (January 29, 2024) #30

CODE EDITORS, CLI TOOLS, COMPONENTS, and more, This week’s top 5 open-source projects (January 29, 2024) #30

Hello friend 👋 . I am once again back with a handful of exciting open-source projects for you to check out. This time we will be taking a look at an exciting code-editor, a package for CLI tools, and much more!

To support me:

  • Share the newsletter with your friends, it helps more than you think!

  • Please share your feedback with me!

For those of you who read last week’s news, you might recognize Zed.

Zed just went open-source last week, but what is it? It is a new code editor, that some people call “The VSCode killer”, but that has been said before, so we will see about that.

With features like vim-mode, allowing Zed to act vim-like, a shared workspace, allowing you to share your work with other people in real-time, the window being rasterized on the GPU, allowing fast, reliable, and smooth delivery of pixels on every frame, and much more, this is a project worth checking out!

Most of us have built, or at least wanted to, a commerce platform of some sort. But building these types of applications can be really hard, so why spend all that time trying to invent something that has already been built many times?

Medusa is a system of open-source building blocks for commerce platforms. With these modules, you can create systems for orders, customers, shipping, and more. And by including plugins you can increase the functionality even more.

Polaris is Shopify’s shot at a component library. Built from the ground up with Shopify’s design system, these components are exactly like the ones you see on Shopify’s various admin pages.

From well-known components like buttons and sliders to more unique components like video thumbnails and different list types, this is a great library to check out.

Building a CLI tool using Node.js can be a bit of a hassle. How do you handle arguments, errors, and so on?

Commander.js is a package created exactly for this problem. Being a package for building CLI tools with great DX.

It is easy to describe the behavior of your CLI by simply chaining together functions for the behavior you want, just take a look at this simple code snippet for adding a command:

const { Command } = require('commander');
const program = new Command();

program
  .name('string-util')
  .description('CLI to some JavaScript string utilities')
  .version('0.8.0');

program.command('split')
  .description('Split a string into substrings and display as an array')
  .argument('<string>', 'string to split')
  .option('--first', 'display just the first substring')
  .option('-s, --separator <char>', 'separator character', ',')
  .action((str, options) => {
    const limit = options.first ? 1 : undefined;
    console.log(str.split(options.separator, limit));
  });

program.parse();