🔥2023#15: X-Crawl, A Flexible Multifunctional Crawler
Tags: webdev, javascript, typescript, node
Published: 2023-04-19 17:30:00

Hi JS developers👋
[JSTools Weekly](https://jstools.substack.com/) newsletter, issue [2023#15](https://jstools.substack.com/p/2023-hotjstools-15) (hot JS Tools) just released.

[See full list of hot javascript tools](https://jstools.substack.com/p/2023-hotjstools-15)

![JSTools Weekly - issue 2023#15 - hot js tools](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ahf1no145lxyn1v30dtd.png)

[**x-crawl**](https://github.com/coder-hxl/x-crawl)**:** x-crawl is a flexible Node.js multi-purpose crawler library.

-   **🔥 Async/Sync** - Just change the mode property to toggle async/sync crawling mode.

-   **⚙️Multiple functions** - Can crawl pages, crawl interfaces, crawl files and poll crawls. And it supports crawling single or multiple.

-   **🖋️ Flexible writing method** - A function adapts to multiple crawling configurations and obtains crawling results. The writing method is very flexible.

-   **👀 Device Fingerprinting** - Zero configuration/custom configuration to avoid fingerprinting to identify and track us from different locations.

-   **⏱️ Interval crawling** - no interval/fixed interval/random interval, can effectively use/avoid high concurrent crawling.

-   and more

[**taxonomy**](https://github.com/shadcn/taxonomy)**:** An open source application built using the new router, server components and everything new in Next.js 13.

[![screenshot-2](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febf02f6e-2d34-4be6-964e-ffa25746e2ea_4000x2600.png "screenshot-2")](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febf02f6e-2d34-4be6-964e-ffa25746e2ea_4000x2600.png)

[source](https://github.com/shadcn/taxonomy)

[**shoehorn**](https://github.com/total-typescript/shoehorn)**:** work seamlessly with partial mocks in TypeScript.

[**croner**](https://github.com/Hexagon/croner)**:** Trigger functions or evaluate cron expressions in JavaScript or TypeScript. No dependencies. Most features. Node. Deno. Bun. Browser.

-   Trigger functions in JavaScript using Cron syntax.

-   Evaluate cron expressions and get a list of upcoming run times.

-   Uses Vixie-cron pattern, with additional features such as L for last day and weekday of month.

-   Works in Node.js >=7.6 (both require and import), Deno >=1.16 and Bun >=0.2.2.

-   and more

[**lucia**](https://github.com/pilcrowOnPaper/lucia)**:** Authentication, simple and clean

[**garph**](https://github.com/stepci/garph)**:** Fullstack TypeScript experience for GraphQL-APIs

[**pretty-ts-errors**](https://github.com/yoavbls/pretty-ts-errors)**:** 🔵 Make TypeScript errors prettier and human-readable in VSCode 🎀

[![pretty-ts-errors](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f0eba9-eca8-4b6f-a541-e0849d6f9160_1902x952.png)](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f0eba9-eca8-4b6f-a541-e0849d6f9160_1902x952.png)

[source](https://github.com/yoavbls/pretty-ts-errors)

[**twitter-api-client**](https://github.com/trevorhobenshield/twitter-api-client)**:** Complete implementation of the undocumented Twitter API

[**owl**](https://github.com/odoo/owl)**:** OWL: A web framework for structured, dynamic and maintainable applications

[**wakuwork**](https://github.com/dai-shi/wakuwork)**:** Minimalistic React Framework

[**xLog**](https://github.com/Crossbell-Box/xLog)**:** 🪽 The best on-chain and open-source blogging community for everyone.

[**magicast**](https://github.com/unjs/magicast)**:** 🧀 Programmatically modify JavaScript and TypeScript source codes with a simplified, elegant and familiar syntax powered by recast and babel.

[**reka.js**](https://github.com/prevwong/reka.js)**:** 💎 State management system to build any no-code editor

[![banner-min](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6573db96-ce14-4fd4-8409-05ca28fd20e1_2560x1280.png "banner-min")](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6573db96-ce14-4fd4-8409-05ca28fd20e1_2560x1280.png)

[source](https://github.com/prevwong/reka.js)

[**persistent**](https://github.com/nanostores/persistent)**:** A tiny persistent store for Nano Stores state manager

[**znv**](https://github.com/lostfictions/znv)**:** Type-safe environment parsing and validation for Node.js with Zod schemas

[**hotscript**](https://github.com/gvergnaud/hotscript)**:** A library of composable functions for the type-level! Transform your TypeScript types in any way you want using functions you already know.

[![image](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36577114-c5b8-4ecc-9460-98b72cf68370_2776x1488.png "image")](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36577114-c5b8-4ecc-9460-98b72cf68370_2776x1488.png)

[source](https://github.com/gvergnaud/hotscript)

[**forgetti**](https://github.com/lxsmnsyc/forgetti)**:** Solve your hook spaghetti (with more spaghetti). Inspired by React Forget.

[**ProtoNative**](https://github.com/oslabs-beta/ProtoNative)**:** A React Native prototyping tool for developers.

[**deepscatter**](https://github.com/nomic-ai/deepscatter)**:** Zoomable, animated scatterplots in the browser that scales over a billion points

[**saaskit**](https://github.com/denoland/saaskit)**:** A modern SaaS template built on Fresh.

[**ark**](https://github.com/chakra-ui/ark)**:** Universal headless UI components for the web. Powered by Zag.js

[**arktype**](https://github.com/arktypeio/arktype)**:** TypeScript's 1:1 validator, optimized from editor to runtime



[See full list of hot javascript tools](https://jstools.substack.com/p/2023-hotjstools-15)