New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bun-repl

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bun-repl

Experimental unofficial REPL for Bun

  • 1.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4K
decreased by-1.78%
Maintainers
1
Weekly downloads
 
Created
Source

bun-repl GitHub version GitHub code size in bytes license

Experimental unofficial REPL for Bun

Powered by Bun itself with the help of swc and JSC's ShadowRealm API

Install

bun add -g bun-repl

Usage

bun run repl

Type .help within the REPL for a list of commands.

Features

  • Seamless JavaScript & TypeScript execution
  • Top level import syntax supported (import fs from 'fs')
  • Import either CommonJS or ESM into the REPL
  • Node.js REPL special underscore variables provided (_ and _error)
  • Execution history (Arrow up/down)

Known issues/limitations

Please keep in mind this is unofficial and experimental software built on top of experimental software, there ARE bugs. Additionally, Bun will obviously be getting an official native REPL in the future which certainly will be much better, this module is merely serving as a temporary alternative until then.

  • Top level await is not supported.
    • Reason: Usage of eval()
  • The execution history (Arrow up/down) is buggy to navigate and doesn't support backspacing past the history entry.
    • Reason: Bun's current lack of support for event-based streams limits us to prompt(), which provides little to no control over the input as its being written. This also makes it impossible to intercept keypresses/combinations.
  • There is a space between the execution history entry and your appended code.
    • Reason: prompt() automatically inserts a space at the end, with no way to turn it off. Yes, quite annoying.
  • To preserve lexically-scoped variables (let & const) across REPL runs, they need to be converted to var, which disrupts their behavior, especially const's
    • Reason: Usage of eval() which has its own lexical scope.
  • Some modules fail to resolve their imports within the REPL, such as fs/promises.
    • Reason: Unknown...

Keywords

FAQs

Package last updated on 07 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc