{"repo":"ctn-malone/qjs-ext-lib","free":true,"listed":false,"github":"https://github.com/ctn-malone/qjs-ext-lib","clone":"git clone https://github.com/ctn-malone/qjs-ext-lib.git","description":"A set of pure JS extensions for QuickJS","language":"JavaScript","stars":45,"topics":["quickjs","library","shell-scripting","automation","nix-flake","static-binaries"],"license":"MIT","category":"workflow-automation","readme_excerpt":"A set of pure JS extensions for QuickJS parse command line arguments and build static command line utilities using JS (see doc) execute external processes asynchronously (see doc) setInterval / clearInterval / wait functions (see doc) curl wrapper supporting all HTTP methods and most of curl options (see doc) ssh wrapper (for quick-and-dirty remote scripting without ansible) (see doc) minimal unit testing library (see doc) semver versions comparison (see doc) interact with pass (see doc) build glamorous shell scripts using gum (see doc) manipulate paths in the style of Node.js path module (see doc) NB : all extensions as well as os and std modules have typing through JSDoc Rational I'm focused on building static binaries targeting linux command line. This library is an intent at providing just enough to make creating static adhoc scripts easier on linux. This library is for you if you're interested in doing one of the following - build decent CLIs easily - consume the output of external programs - build CI pipelines which don't need dependencies beyond standard unix utilities - consume a HTTP API without depending on 100's of packages (only curl binary is needed) Nix Nix shell In order to get a shell with the static interpreter ( qjs.sh ) and compiler ( qjsc.sh ), as well as this library, run following command Following commands can also be used to run qjs.sh or qjsc.sh using nix run - run qjs.sh - run qjsc.sh Inside the Nix shell, any .js file from the library can be importe","default_branch":null,"files":null,"tree":[],"storefront":"/r/ctn-malone","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ctn-malone/qjs-ext-lib/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}