Skip to content
Zero config CLI for running JavaScript/TypeScript files
JavaScript TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Updating the README Jan 12, 2020
lib Resetting the terminal on exit Jan 21, 2020
test Resetting the terminal on exit Jan 21, 2020
.babelrc Trying to make babel works when hopa is installed globally Jan 12, 2020
.npmignore Updating the README Jan 12, 2020
LICENSE Updating READMe Jan 14, 2020
package.json Resetting the terminal on exit Jan 21, 2020
yarn.lock Added support for importing json files Jan 14, 2020


Zero config JavaScript/TypeScript runner
right in your terminal


  • Zero configuration 🚀
  • Transpiles and runs JavaScript and TypeScript ⚙️
  • Single-folder file browser 📁

What and Why

Hopa is a command line tool that does the following:

  1. Reads the current directory and lets you choose a file.
  2. Transpiles the file and produces a valid JavaScript bundle. It uses Rollup so it does resolve your imports.
  3. Runs the generated bundle via node and shows you the result.
  4. It also runs a watcher so changing the files will trigger new compilation.

I did this little tool because I'm tired of creating dummy repos, copying webpack files, switching between terminal and browser just so I can run some "modern" JavaScript. I know about solution like CodeSandbox and CodePen but I want specifically to exercise my code in the terminal. And I want to do it quick, without configuring stuff like Babel and Webpack.

More about the story here


npm i hopa -g


Go to the folder that contains your files and run hopa.

> hopa

This will display a menu and you have to pick a file. You'll get transpilation, bundling, running and watching.

> hopa -i script.js -o bundle.js -m

Gets script.js, transpiles it and bundle it to a new file called bundle.js which is also minified. No watching in this case. It's a single-shot operation. -m and -o are optional. If the output is not specified Hopa creates a file with name bundle.<your file>. Have in mind that this feature is experimental. I find that in some cases Hopa can't resolve properly modules and errors out.


Hopa demo

You can’t perform that action at this time.