Run eslint in the browser
Find and fix problems in JavaScript code with the real ESLint and your own rules.
Try it live
Nothing is downloaded until you press Run.
Run ESLint on the RISC-V Node.js
Installs the RISC-V node and the ESLint tree from the signed catalog, then runs ESLint's CLI with /usr/bin/node on the emulator (1.8 GB guest).
/usr/bin/node /usr/local/lib/node_modules/eslint/bin/eslint.js --version
$ /usr/bin/node /usr/local/lib/node_modules/eslint/bin/eslint.js --version v10.0.0
What it is
ESLint statically analyses JavaScript and reports rule violations such as unused variables, unreachable code or style issues, and can auto-fix many of them. The catalog package is the unmodified ESLint 10 npm tree (installed under /usr/local/lib/node_modules); it needs a Node.js runtime. On NanoVM it runs on the catalog's RISC-V Node.js.
Package facts
- version
10.0.0- runs on
- RISC-V VM (
elf-app,riscv64gc-linux-musl) - download
- 2.4 MB compressed · 1088 files
- command
eslint- requires
- node
- license
MIT(upstream)- upstream
- github.com/eslint/eslint
- collections
- Node dev toolchain
- catalog
- generation 12, Ed25519-signed
Install and run it from your page
With the SDK, installApp resolves eslint in the signed index, fetches its content-addressed chunks from the CDN, verifies each one and writes the files into the VM. It is a JavaScript program, so it needs a Node.js runtime: install the catalog's node and run it on the RISC-V VM, or run its entry script with nano.node() on the host JavaScript engine where that engine supports it. Details in Installing catalog apps.
import { createNano } from "@userland-run/nano-sdk";
// JS tools run on the RISC-V node: keep the default ~1.8 GB guest.
const nano = await createNano({ image: { wasm: "/nano/console.wasm" } });
await nano.installApp("node");
await nano.installApp("eslint"); // signature-verified, cached in OPFS
const r = await nano.shExec("/usr/bin/node /usr/local/lib/node_modules/eslint/bin/eslint.js --version");
console.log(r.stdout);Typical usage of the upstream command-line tool:
eslint --fix src/
Caveats
- node — needs a Node.js runtime. Node on the RISC-V VM boots a 1.8 GB guest and is slow to start; the host engine is fast but not the same binary. See limitations.
- Linting a file (
eslint app.jswith a flat config) did not finish within the live sample's instruction budget on the emulator in our tests; the host JavaScript engine cannot run ESLint 10 yet because it loads ES modules. The live sample checks the build.
Related apps
- node25.4.0Node.js 25 compiled for RISC-V and run on NanoVM's emulator — the full runtime, not a shim.RISC-V VM26 MB
- prettier3.8.1Format JavaScript, TypeScript, CSS, JSON, Markdown and more with the real Prettier.RISC-V VMneeds node2.2 MB
- typescript5.9.3Type-check and compile TypeScript with the real tsc.RISC-V VMneeds node4.4 MB