Ink
rust-headless-chrome
Our great sponsors
Ink | rust-headless-chrome | |
---|---|---|
64 | 7 | |
25,790 | 2,071 | |
- | 3.6% | |
6.4 | 7.5 | |
10 days ago | 15 days ago | |
TypeScript | Rust | |
MIT License | MIT 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.
Ink
-
I created a simple CLI tool that helps you code FAST!
I've always wanted to build a CLI tool, and when I realized that you can build one using React with Ink, I converted my Python script into a CLI tool.
-
Delete git branches in batches
⚠️ Git for Windows Terminal is currently not supported, and the tool is limited to ink. We will look for alternatives later. Please use CMD, Vscode terminal's Git... terminal
-
Setup Simple Web UI for Node.js App in Seconds
There is a good solution for some of those cases - ink. With ink, I can implement text-based UI with knowledge of React, which is neat but there are still some caveats for my usages:
-
Building Reactive CLIs with Ink - React CLI library
Looks cool, right? Building a similar UI in the terminal without any library would be quite hard, though, thanks to Ink it's almost as easy as building any frontend UI with React.
-
Terminal-like output library for js?
ink?
-
Synchronous File Reading and Writing in Node.js
I'm writing a CLI with ink. Writing async code is important as to not block the rendering and respond to user input. I have a few loading animations that update every 100ms. Synchronous operations can make the animation hang for >500ms, making the animation choppy.
-
Launch HN: Resend (YC W23) – Email API for Developers Using React
You get the comfort of using react components instead of fighting with HTML tables to make your emails look nice. I think it's awesome! It's analog to what ink[0] does with CLI outputs. Sure, you could write fancy CLI outputs in bash, but ink takes the pain out of it and makes it easy.
[0] https://github.com/vadimdemedes/ink
-
Is Node.js a good way to implement a CLI app with persistence?
Due to Node's asynchronous behavior, it makes Node great for long-running processes that make a lot of HTTP requests, database calls, and other async ops, like a web server or a REST API. However, if I am making a CLI tool for pretty much personal use only, with very minimal async operations, then blocking the event loop with a synchronous function that will resolve almost immediately will make no difference perceivable to a human brain or have any speed benefits that someone can actually observe (think `fs.readFileSync` or `require('dotenv') of 10 line config file, or a quick embedded db (sqlite) query with only ~100 records. I'm wondering what the best way to implement the database part of the app synchronous. I can read/write to JSON files but it would be tricky because the data is relational, and some complex joins and other data wrangling operations are required (complex to perform in JS but are easy to implement in a SQL statement). It's not important what the operations are, that's not the point of this post. This is mostly a personal project of interest: making this CLI tool completely avoiding any async operations/using no promises. I would like to use node tho, as I said this is just out of interest and I also want to experiment with several CLI libraries such as Ink or Cliffy.
- Ink: React for interactive command-line apps
- Make interactive command-line apps with React
rust-headless-chrome
-
Recent 'MFA Bombing' Attacks Targeting Apple Users
I'm using this to fill forms interactively and emulate a user. https://github.com/rust-headless-chrome/rust-headless-chrome
Afaict, it drives a stock Chromium instance. I'm not sure how Fidelity is detecting it, but they detect it even in normal headful mode. Idk if there's some JS that notices there's no mouse-move movements.
It's just not worth the headache. I despise bending over backwards for companies like this. But obviously I have no choice since they're my 401k plan facilitator.
-
Web scraping with Playwright?
Thanks, I was looking into that as well and got their example up and running. I also saw that chromiumoxide mentions rust-headless-chrome in its references section in the README, which is also updated recently, any differences between the two? Seems like chromiumoxide is async with code gen whereas rust-headless-chrome is not, is that right?
- headless_chrome v1.0.x is now released!
-
mdbook-pdf: A mdBook backend for generating PDF files
mdBook allows you to create book from markdown files. It's pretty much alike Gitbook but implemented in Rust. However, unlike Gitbook that supports using calibre for generating PDF, for a long time, mdBook doesn't support generating PDF files natively, and supporting that is also not in their roadmap. Existing plugins (backends) such as mdbook-latex that utilize Tectonic as well as pandoc solutions will generate a PDF page that doesn't unify with the existing mdBook generated HTML version. Considering these facts, I created a mdBook backend named mdbook-pdf for generating PDF based on headless chrome and Chrome DevTools Protocol Page.printToPDF.
- Is Rust really only good for larger-scale projects?
-
What libraries do you miss from other languages?
There's https://github.com/stevepryde/thirtyfour for Selenium, and https://github.com/atroche/rust-headless-chrome for Chromium.
-
Looking for maintainers: Headless Chrome crate
I published headless-chrome a few years ago, but I haven't cut a new release in almost two years now — despite the issues and pull requests piling up. I'm not relying on it for my work like I was previously, and I just don't have the spare energy to be a good maintainer.
What are some alternatives?
Commander.js - node.js command-line interfaces made easy
cloudscraper - A Python module to bypass Cloudflare's anti-bot page.
oclif - CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
tiny-skia - A tiny Skia subset ported to Rust
blessed - A high-level terminal interface library for node.js.
zeal - Offline documentation browser inspired by Dash
nestjs-commander - A module for using NestJS to build up CLI applications
fantoccini - A high-level API for programmatically interacting with web pages through WebDriver.
tui-rs - Build terminal user interfaces and dashboards using Rust
crates.io - The Rust package registry
PyLaTeX - A Python library for creating LaTeX files
Trex - Package Manager for deno 🦕