diff --git a/README.md b/README.md index 097f1f8..ea4e70e 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Pi Web keeps its own state intentionally small: Recommended install uses npm plus systemd user services: ```bash -npm install -g pi-web +npm install -g @jmfederico/pi-web pi-web install ``` @@ -116,7 +116,7 @@ pi-web uninstall One-line install is also available for users who prefer it: ```bash -curl -fsSL https://raw.githubusercontent.com/earendil-works/pi-web/main/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/jmfederico/pi-web/main/install.sh | sh ``` Advanced users may run the binaries however they prefer: @@ -126,6 +126,15 @@ pi-web-sessiond PI_WEB_PORT=8504 pi-web-server ``` +To install directly from the GitHub repository instead of npm: + +```bash +npm install -g github:jmfederico/pi-web#main +pi-web install +``` + +This uses npm's git install flow and runs the package `prepare` script to build `dist/` on the target machine. + ## Development quick start ```bash @@ -161,7 +170,7 @@ npm run pack:dry npm publish --access public ``` -`prepack` builds `dist/` before npm creates the tarball, and `prepublishOnly` runs verification before publishing. Releases can also be published by the GitHub Actions npm workflow when a GitHub release is published. +`prepare` builds `dist/` before npm creates the tarball and when installing directly from git, and `prepublishOnly` runs verification before publishing. Releases can also be published by the GitHub Actions npm workflow when a GitHub release is published. Pi Web uses a single-line CalVer-inspired npm version: `MAJOR.YYYYMM.SEQUENCE`, for example `1.202605.1`. The major number signals breaking-change eras; the middle number is the release month; the final number increments for additional releases in that month. Older major eras may be deprecated rather than maintained in parallel. diff --git a/install.sh b/install.sh index 2cf4724..6838572 100644 --- a/install.sh +++ b/install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env sh set -eu -npm install -g pi-web +npm install -g @jmfederico/pi-web pi-web install diff --git a/package-lock.json b/package-lock.json index 3b99983..363f054 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "pi-web", + "name": "@jmfederico/pi-web", "version": "1.202605.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "pi-web", + "name": "@jmfederico/pi-web", "version": "1.202605.1", "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 1474e5f..d6dcbba 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "pi-web", + "name": "@jmfederico/pi-web", "version": "1.202605.1", "license": "MIT", "type": "module", @@ -28,7 +28,7 @@ "start": "tsx src/server/index.ts", "start:sessiond": "tsx src/server/sessiond.ts", "clean": "rm -rf dist", - "prepack": "npm run build", + "prepare": "npm run build", "pack:dry": "npm pack --dry-run", "prepublishOnly": "npm run verify", "publish:npm": "npm publish --access public" diff --git a/src/cli.ts b/src/cli.ts index e3fbd9f..f2f2507 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -197,7 +197,7 @@ Usage: pi-web doctor Recommended install: - npm install -g pi-web + npm install -g @jmfederico/pi-web pi-web install `); }