Node.jsĀ® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
---
-## Updating `node`
-
-```bash
-webi node@stable
-```
-
-Use `@lts` for long-term support and the `@beta` tag for pre-releases, or
-`@x.y.z` for a specific version.
+To update or switch versions, run `webi node@<tag>`. \
+(you can use `@lts` for long-term support, `@beta` for pre-releases, or `@x.y.z`
+for a specific version)
## Cheat Sheet
-Node is great for simple, snappy HTTP(S) servers, and for stitching APIs
-together with minimal fuss or muss.
+> Node is great for simple, snappy HTTP(S) servers, and for stitching APIs
+> together with minimal fuss or muss.
Installing node via webi will:
node server.js
```
+### Generate a Secure Random Key
+
+This generates a hex-encoded 128-bit random key.
+
+```bash
+node -p 'crypto.randomBytes(16).toString("hex")'
+```
+
+This generates a url-safe base64 256-bit random key.
+
+```bash
+node -p 'crypto.randomBytes(32).toString("base64")
+ .replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "")'
+```
+
### An Express App
```bash
mkdir my-server
-pushd my-server
+pushd my-server/
npm init
npm install --save express
```