unity-hub-cli 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -68
- package/package.json +17 -17
package/README.md
CHANGED
|
@@ -4,104 +4,69 @@
|
|
|
4
4
|
|
|
5
5
|
A CLI tool that displays the same content as Unity Hub in an Ink-based TUI, allows navigation with arrow keys/`j`/`k`, and launches Unity Editor by pressing `o`.
|
|
6
6
|
|
|
7
|
-
<img width="1678" height="1460" alt="
|
|
7
|
+
<img width="1678" height="1460" alt="Screenshot 2025-10-27 23 44 40" src="https://github.com/user-attachments/assets/db3cc995-820e-490b-a43b-393893197ab4" />
|
|
8
8
|
|
|
9
9
|
## Requirements
|
|
10
10
|
|
|
11
11
|
- macOS or Windows 10/11
|
|
12
12
|
- Node.js 20+
|
|
13
|
-
- Unity Hub
|
|
14
|
-
- macOS: `~/Library/Application Support/UnityHub/projects-v1.json`
|
|
15
|
-
- Windows: `%APPDATA%\UnityHub\projects-v1.json`
|
|
16
|
-
- Windows Editor path (default): `C:\\Program Files\\Unity\\Hub\\Editor\\<version>\\Editor\\Unity.exe`
|
|
17
13
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
### Development
|
|
14
|
+
## Installation & Run
|
|
21
15
|
|
|
22
16
|
```bash
|
|
23
|
-
|
|
24
|
-
npm run dev
|
|
17
|
+
npx unity-hub-cli
|
|
25
18
|
```
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
Or install globally to use the `unity-hub-cli` command directly:
|
|
28
21
|
|
|
29
22
|
```bash
|
|
30
|
-
npm
|
|
23
|
+
npm install -g unity-hub-cli
|
|
24
|
+
unity-hub-cli
|
|
31
25
|
```
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
After building, `dist/index.js` will be generated. You can also run it directly via npx.
|
|
27
|
+
<details>
|
|
28
|
+
<summary>Notes for Windows</summary>
|
|
36
29
|
|
|
37
|
-
|
|
38
|
-
npx unity-hub-cli
|
|
39
|
-
# or
|
|
40
|
-
node dist/index.js
|
|
41
|
-
```
|
|
30
|
+
Works from PowerShell and CMD. Git Bash is supported when running inside a ConPTY-based terminal (Windows Terminal or VS Code/Cursor integrated terminal).
|
|
42
31
|
|
|
43
|
-
On
|
|
32
|
+
On standalone Git Bash (MinTTY), raw mode is not supported; use PowerShell/CMD/Windows Terminal. If you must use MinTTY Git Bash, run one of the following:
|
|
44
33
|
|
|
45
34
|
- `winpty cmd.exe /c npx unity-hub-cli`
|
|
46
35
|
- `winpty powershell.exe -NoProfile -Command npx unity-hub-cli`
|
|
47
|
-
- If already built: `npm run build && winpty node dist/index.js`
|
|
48
36
|
|
|
49
|
-
|
|
37
|
+
</details>
|
|
50
38
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### CLI Options
|
|
54
|
-
|
|
55
|
-
- `--no-git-root-name`: Display Unity project titles instead of Git repository root folder names.
|
|
56
|
-
- `--hide-branch`: Hide the Git branch column.
|
|
57
|
-
- `--hide-path`: Hide the project path column.
|
|
58
|
-
|
|
59
|
-
## Release Automation
|
|
60
|
-
|
|
61
|
-
Version and release management is automated using release-please and GitHub Actions.
|
|
39
|
+
## Controls
|
|
62
40
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
| Key | Action |
|
|
42
|
+
|-----|--------|
|
|
43
|
+
| `↑` / `↓` / `j` / `k` | Navigate selection |
|
|
44
|
+
| `o` | Launch selected project in Unity |
|
|
45
|
+
| `O` (Shift+O) | Launch Unity + external editor (e.g., Rider) |
|
|
46
|
+
| `i` | Launch external editor only |
|
|
47
|
+
| `q` | Quit Unity for selected project |
|
|
48
|
+
| `r` | Refresh project list |
|
|
49
|
+
| `c` | Copy project path to clipboard |
|
|
50
|
+
| `s` | Open sort settings panel |
|
|
51
|
+
| `v` | Open visibility settings panel |
|
|
52
|
+
| `Ctrl + C` | Exit |
|
|
67
53
|
|
|
68
|
-
|
|
54
|
+
In settings panels, use `j`/`k` to navigate, `Space` to toggle, and `Esc` to close.
|
|
69
55
|
|
|
70
|
-
|
|
71
|
-
- The workflow uses GitHub's `GITHUB_TOKEN` and operates with `contents`/`pull-requests` permissions
|
|
56
|
+
The display includes Git branch (if present), Unity version, project path, and last modified time. By default, the project list uses the Git repository root folder name when available.
|
|
72
57
|
|
|
73
|
-
|
|
58
|
+
## CLI Options
|
|
74
59
|
|
|
75
|
-
|
|
60
|
+
- `--no-git-root-name`: Display Unity project titles instead of Git repository root folder names.
|
|
76
61
|
|
|
77
62
|
## Security
|
|
78
63
|
|
|
79
|
-
This
|
|
80
|
-
|
|
81
|
-
1. **Automated Publishing with Provenance**: All npm releases are published via GitHub Actions with `--provenance` flag, providing cryptographic proof of the build environment
|
|
82
|
-
2. **Minimal Dependencies**: Only 2 runtime dependencies (`ink` and `react`), both from highly trusted sources
|
|
83
|
-
3. **Locked Dependencies**: `package-lock.json` is committed to ensure reproducible builds
|
|
84
|
-
4. **Regular Security Audits**: Dependencies are regularly checked with `npm audit`
|
|
85
|
-
|
|
86
|
-
### Verifying Package Authenticity
|
|
87
|
-
|
|
88
|
-
You can verify the authenticity of published packages:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# Check provenance information
|
|
92
|
-
npm view unity-hub-cli --json | jq .dist.attestations
|
|
93
|
-
|
|
94
|
-
# Verify package integrity
|
|
95
|
-
npm audit signatures
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## Controls
|
|
99
|
-
|
|
100
|
-
- Arrow keys / `j` / `k`: Navigate selection
|
|
101
|
-
- `o`: Launch selected project in Unity
|
|
102
|
-
- Ctrl + C (twice): Exit
|
|
64
|
+
This project implements supply chain attack prevention measures:
|
|
103
65
|
|
|
104
|
-
|
|
66
|
+
- **ignore-scripts**: Disables automatic script execution during `npm install`
|
|
67
|
+
- **Dependabot**: Automated weekly security updates
|
|
68
|
+
- **Security audit CI**: Runs `npm audit` and `lockfile-lint` on every PR
|
|
69
|
+
- **Pinned versions**: All dependencies use exact versions (no `^` or `~`)
|
|
105
70
|
|
|
106
71
|
## License
|
|
107
72
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unity-hub-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "A CLI tool that reads Unity Hub's projects and launches Unity Editor with an interactive TUI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -36,26 +36,26 @@
|
|
|
36
36
|
"dist"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"clipboardy": "
|
|
40
|
-
"ink": "
|
|
41
|
-
"react": "
|
|
39
|
+
"clipboardy": "4.0.0",
|
|
40
|
+
"ink": "4.4.1",
|
|
41
|
+
"react": "18.3.1"
|
|
42
42
|
},
|
|
43
43
|
"engines": {
|
|
44
44
|
"node": ">=18"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@types/node": "
|
|
48
|
-
"@types/react": "
|
|
49
|
-
"@typescript-eslint/eslint-plugin": "
|
|
50
|
-
"@typescript-eslint/parser": "
|
|
51
|
-
"eslint": "
|
|
52
|
-
"eslint-config-prettier": "
|
|
53
|
-
"eslint-import-resolver-typescript": "
|
|
54
|
-
"eslint-plugin-import": "
|
|
55
|
-
"prettier": "
|
|
56
|
-
"tsup": "
|
|
57
|
-
"tsx": "
|
|
58
|
-
"typescript": "
|
|
59
|
-
"vitest": "
|
|
47
|
+
"@types/node": "20.19.20",
|
|
48
|
+
"@types/react": "18.3.26",
|
|
49
|
+
"@typescript-eslint/eslint-plugin": "7.18.0",
|
|
50
|
+
"@typescript-eslint/parser": "7.18.0",
|
|
51
|
+
"eslint": "8.57.0",
|
|
52
|
+
"eslint-config-prettier": "9.1.2",
|
|
53
|
+
"eslint-import-resolver-typescript": "3.10.1",
|
|
54
|
+
"eslint-plugin-import": "2.32.0",
|
|
55
|
+
"prettier": "3.6.2",
|
|
56
|
+
"tsup": "8.5.0",
|
|
57
|
+
"tsx": "4.20.6",
|
|
58
|
+
"typescript": "5.9.3",
|
|
59
|
+
"vitest": "4.0.14"
|
|
60
60
|
}
|
|
61
61
|
}
|