deskify-cli 1.0.0 → 1.0.2
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 +34 -24
- package/deskify.js +9 -893
- package/package.json +2 -2
- package/src/flows/create.js +284 -0
- package/src/flows/uninstall.js +145 -0
- package/src/utils/colors.js +46 -0
- package/src/utils/favicon.js +196 -0
- package/src/utils/prompts.js +182 -0
- package/src/utils/spinner.js +41 -0
package/README.md
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
# Deskify
|
|
2
|
-
|
|
3
|
-
[](https://opensource.org/licenses/MIT)
|
|
4
|
-
[](https://nodejs.org/)
|
|
5
|
-
[](#)
|
|
1
|
+
# Deskify
|
|
6
2
|
|
|
7
3
|
An ambitious, interactive, and **zero-dependency** CLI tool designed to effortlessly convert any web page into a native-feeling Linux desktop application using Electron (via Nativefier) in a single command.
|
|
8
4
|
|
|
@@ -18,7 +14,7 @@ An ambitious, interactive, and **zero-dependency** CLI tool designed to effortle
|
|
|
18
14
|
|
|
19
15
|
---
|
|
20
16
|
|
|
21
|
-
##
|
|
17
|
+
## The Problem
|
|
22
18
|
|
|
23
19
|
Running websites as desktop applications in Linux is fantastic for productivity, but doing it manually via Electron or Nativefier involves a tedious and repetitive sequence:
|
|
24
20
|
1. **Compiling**: Running complex CLI arguments for resolution, persisting sessions, and restricting domains.
|
|
@@ -30,19 +26,19 @@ Running websites as desktop applications in Linux is fantastic for productivity,
|
|
|
30
26
|
|
|
31
27
|
---
|
|
32
28
|
|
|
33
|
-
##
|
|
29
|
+
## Features
|
|
34
30
|
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
31
|
+
- **Interactive Wizard**: No command arguments to memorize. Simply type `deskify` and follow the beautiful, colorized prompts.
|
|
32
|
+
- **Smart Defaults**: Enter any URL (e.g., `https://panggon.danyakmallun.dev`) and Deskify will automatically extract the app name, domain, and set up domain boundary regexes (`.*panggon\.danyakmallun\.dev.*`) so links inside the app stay inside, and outside links open in your default browser.
|
|
33
|
+
- **Favicon Auto-Downloader**: Automatically downloads and configures the highest quality favicon from Google APIs to use as the app launcher icon.
|
|
34
|
+
- **Auto-Sandbox Permission Fix**: Automatically runs `sudo chown root:root` and `sudo chmod 4755` on `chrome-sandbox` inside the interactive terminal, ensuring the app boots successfully.
|
|
35
|
+
- **Dynamic StartupWMClass Tracking**: Automatically parses the generated `package.json` inside the Electron source code, extracts the unique Nativefier build hash, and writes the correct `StartupWMClass` to ensure application launcher matching in your system app menu and dock.
|
|
36
|
+
- **App Directory Organization**: Moves the generated packages out of your home directory and places them inside a clean `~/Apps` folder (or custom directory).
|
|
37
|
+
- **Zero-Dependency**: Written purely in native Node.js API. No `node_modules` required to download or run.
|
|
42
38
|
|
|
43
39
|
---
|
|
44
40
|
|
|
45
|
-
##
|
|
41
|
+
## Quick Start
|
|
46
42
|
|
|
47
43
|
### 1. Requirements
|
|
48
44
|
|
|
@@ -52,27 +48,41 @@ On Ubuntu/Debian/Mint:
|
|
|
52
48
|
sudo apt update && sudo apt install -y nodejs npm
|
|
53
49
|
```
|
|
54
50
|
|
|
55
|
-
### 2.
|
|
51
|
+
### 2. Global Installation (Official Release)
|
|
56
52
|
|
|
57
|
-
|
|
53
|
+
Install it globally directly from [npmjs.com](https://www.npmjs.com/package/deskify-cli):
|
|
58
54
|
```bash
|
|
59
|
-
|
|
55
|
+
npm install -g deskify-cli
|
|
60
56
|
```
|
|
61
|
-
|
|
57
|
+
|
|
58
|
+
Once installed, simply run it in any directory:
|
|
62
59
|
```bash
|
|
63
|
-
|
|
60
|
+
deskify
|
|
64
61
|
```
|
|
65
62
|
|
|
66
|
-
|
|
63
|
+
*Note: If your system throws a "command not found: deskify" error, you can also run it instantly via `npx`:*
|
|
64
|
+
```bash
|
|
65
|
+
npx deskify-cli
|
|
66
|
+
```
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
### 3. Local Installation / Development
|
|
69
|
+
|
|
70
|
+
If you want to run or build the project locally from the cloned repository:
|
|
69
71
|
```bash
|
|
72
|
+
# Clone the repository
|
|
73
|
+
git clone https://github.com/<your-username>/deskify.git
|
|
74
|
+
cd deskify
|
|
75
|
+
|
|
76
|
+
# Run locally
|
|
77
|
+
node deskify.js
|
|
78
|
+
|
|
79
|
+
# Or link/install your local build globally
|
|
70
80
|
npm install -g .
|
|
71
81
|
```
|
|
72
82
|
|
|
73
83
|
---
|
|
74
84
|
|
|
75
|
-
##
|
|
85
|
+
## How It Works
|
|
76
86
|
|
|
77
87
|
```mermaid
|
|
78
88
|
graph TD
|
|
@@ -90,6 +100,6 @@ graph TD
|
|
|
90
100
|
|
|
91
101
|
---
|
|
92
102
|
|
|
93
|
-
##
|
|
103
|
+
## License
|
|
94
104
|
|
|
95
105
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|