repl-with
v1.0.2
Published
Interactive Node.js REPL that can dynamically import any NPM packages
Readme
repl-with
🚀 A zero-setup interactive Node.js REPL with your favorite NPM packages.
Tired of spinning up a new project just to try out a library?
repl-with lets you drop straight into a Node.js REPL with any NPM package preloaded — perfect for exploring libraries, quick experiments, testing code snippets, and more.
✨ Features
- ⚡ Zero setup: No install required
- 📦 Multiple packages: Load multiple packages at once
- 🔢 Multiple versions: Compare different versions of the same package side-by-side
🚀 Quick Start
# Try it with lodash
npx repl-with lodash
# Use aliases for convenience
npx repl-with _=lodash
# Import multiple libraries
npx repl-with _=lodash moment axios📋 Requirements
- Node.js 16.9.0 or above
📖 Usage Examples
Basic Library Usage
npx repl-with lodash> lodash.sum([1, 2, 3])
6
> lodash.map([1, 2, 3], x => x * 2)
[2, 4, 6]Load Multiple Libraries
npx repl-with lodash moment> lodash.sum([1, 2, 3])
6
> moment().format('YYYY-MM-DD')
'2025-08-16'Using Aliases
Use aliases to make your life easier, or to import package names that are not valid JavaScript variable names.
npx repl-with _=lodash prettyBytes=pretty-bytes> _.sum([1, 2, 3])
6
> prettyBytes(1234)
'1.23 kB'Version Comparison
Use aliases to install multiple versions of the same library side-by-side:
npx repl-with [email protected] [email protected]> lodash3.VERSION
'3.0.0'
> lodash4.VERSION
'4.0.0'💡 Tips
ES Modules: Default Export
For compatibility reasons, you need to use .default to access default exports in ES modules:
npx repl-with axios chalk> axios.default.get('https://api.github.com/users/octocat')
Promise { <pending> }
> console.log(chalk.default.blue('Hello World!'))
'Hello World!' // (in blue color)🪄 For your convenience, if the default export is the only export, then it will be automatically assigned to the variable name:
npx repl-with prettyBytes=pretty-bytes> prettyBytes(1234)
'1.23 kB'Top-level Await
repl-with requires Node.js 16.9.0 or above, which supports top-level await.
npx repl-with axios> axios.default.get('https://api.github.com/users/octocat')
Promise {
<pending>
...
> await axios.default.get('https://api.github.com/users/octocat')
{
status: 200,
...🛠️ Built-in Commands
All standard Node.js REPL commands are supported (.clear, .help, etc.) plus these enhanced commands:
.debug
Show debugging information about loaded packages.
.import
Dynamically import additional NPM packages during the session:
.import d=date-fns _=lodash.packages
List all available packages in the current session.
