Skip to content

Commit

Permalink
A more presentable README
Browse files Browse the repository at this point in the history
  • Loading branch information
sfertman committed Oct 8, 2020
1 parent 500d35b commit 9684885
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
# dn
**D**ocker powered **N**ode.js version manager

## What?
A version manager for Node.js which uses docker containers for isolation.

## Why?
- I want to run and build Node.js apps in complete isolation and I don't want to explicitly invoke docker for every little thing.
- I wanted to see what it takes to build batteries-included well documented cli application in bash (this still has some way to go but I think I've done pretty well so far.)

## Getting started
- [Install Docker](https://docs.docker.com/desktop/#download-and-install)
- Clone this repo
- Invoke `./dn.sh -h` to get started.
- Install the script `./dn.sh install`
- Run `dn --help` and take it from there

## Inspiration
- [tj/n](https://github.com/tj/n)
- [jenv](https://github.com/jenv/jenv)
- Docker

## Compared with n
Whenever you switch node versions in `n`, it removes the previous version and installs the new one on your machine. `dn` does not touch your existing node installation. Instead, it pulls the official node alpine docker images and runs your commands in containers.

## Limitations
Currently limited to whatever comes with `node:X-alpine` docker image. So, if you have a fancy build process which requires special dependencies then this manager cannot support it yet.
- Currently limited to whatever comes with `node:X-alpine` docker image. So, if you have a fancy build process which requires special dependencies then this manager cannot support it yet.
- Performance, especially start up, can be a bit slower since we're running in Docker.
- No terminal tab completion yet.
- Tested on Ubuntu, Mac, bash and zsh only.

0 comments on commit 9684885

Please sign in to comment.