comp-hub
v1.1.4
Published
CLI for comp-hub — a component sharing platform supporting Vue and React. Start a local dev server to preview, manage, and share components.
Maintainers
Readme
comp-hub
CLI for comp-hub — a component sharing platform supporting Vue and React. Start a local dev server to preview, manage, and share components.
Languages: Full docs are also available in 简体中文 · 繁體中文 on our documentation site.
Website: https://www.comphub.cn · Studio: https://studio.comphub.cn · Docs: https://docs.comphub.cn
Requirements
- Node.js >= 16.0.0
- npm >= 8.0.0
Installation
Global (recommended)
npm install comp-hub@latest -gLocal
npm install comp-hub@latest -DQuick Start
Run in your project directory:
comphubOnce started, open the URL shown in the terminal (default http://localhost:5478).
Without installing — npx fetches the CLI on demand:
npx comp-hubThe CLI is published with three binary names —
comphub,chandcomp-hub— all identical. Every command below works with any of them, e.g.ch status,comp-hub -p 8080.
CLI Options
comphub [options]| Option | Alias | Type | Default | Description |
|--------|-------|------|---------|-------------|
| --port | -p | number | 5478 | Server port |
| --dir | -d | path | "./" | Component directory |
| --version | -v | — | — | Show version |
| --help | -h | — | — | Show help |
Examples:
comphub -p 8080 # Custom port
comphub -d ./src # Custom component directoryManagement Commands
| Command | Description |
|---------|-------------|
| comphub | Start dev server |
| comphub status | List all running projects |
| comphub stop <hash> | Stop a specific project |
| comphub stop --all | Stop all projects |
| comphub login | Sign in via browser authorization |
| comphub logout | Sign out and remove stored credentials |
| comphub kill | Shut down all services |
Examples:
# Check running projects
comphub status
# Stop a specific project
comphub stop 94525912
# Stop all projects
comphub stop --all
# Shut down everything
comphub killMulti-Project
Run multiple projects simultaneously on separate ports:
cd /path/to/project-a && comphub
cd /path/to/project-b && comphub
comphub status # List allConfiguration
Create .comphub.json or .comphub.js in your project root:
{
"dir": "./src"
}module.exports = {
dir: './src'
}| Option | Type | Default | Description |
|--------|------|---------|-------------|
| dir | string | "./" | Component root directory |
| proxy | object | — | Proxy rules for the preview server — see Proxy rules |
Priority: CLI flags > config file > defaults
Proxy rules
Component demos run inside an iframe and can only talk to the local dev server. proxy forwards
requests matching a path to another server — the same idea as server.proxy in Vite or
devServer.proxy in webpack. Use it when a demo needs an API the browser cannot reach directly:
an internal backend, a third-party API without CORS headers, or another local service.
{
"dir": "./src",
"proxy": {
"/api": {
"target": "http://10.0.0.5:8080",
"changeOrigin": true,
"pathRewrite": { "^/api": "" }
}
}
}With the config above, fetch("/__proxy__/api/users") inside a component demo is forwarded to
http://10.0.0.5:8080/users.
- Request the absolute path
/__proxy__/...from the preview page — the page itself is served under/{hash}/main/, and the master routes the request back to your project. - The key (
/apiabove) is matched against the path that follows/__proxy__— prefix match, or a regular expression. - The value is passed straight to http-proxy-middleware;
targetis required, everything else is optional. pathRewriteis applied after the/__proxy__prefix is stripped.- Requests matching no rule get
404 {"message":"Proxy not found"}. - Rules are per project: only the project whose
.comphub.jsondeclares them gets them.
Component Specs
- Upload components as folders — folder name is the component name
- Entry point:
index.vue(Vue) orindex.jsx/index.tsx(React) - Include a
README.mddescribing usage comp.jsonis generated by the platform and holds only__id__,nameandversion— dependencies are detected from your sourceimportstatements, not declared here- Optional
demo/directory for preview configs
Links
- Website: https://www.comphub.cn
- Studio (browser-based component workspace): https://studio.comphub.cn
- Docs (English · 简体中文 · 繁體中文): https://docs.comphub.cn
