@gasboost/console 0.4.2 → 0.4.3
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 +228 -5
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,13 +1,236 @@
|
|
|
1
1
|
# @gasboost/console
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Local project lifecycle UI for gasboost.
|
|
4
|
+
|
|
5
|
+
Open the console with:
|
|
4
6
|
|
|
5
7
|
```bash
|
|
6
8
|
gasboost console open
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Generated projects expose the same command as:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm console
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The UI is prebuilt and bundled with this package. Projects do not need a separate Vite configuration for the console itself.
|
|
18
|
+
|
|
19
|
+
## Project Lifecycle
|
|
20
|
+
|
|
21
|
+
The console is organized into five sections:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Overview
|
|
25
|
+
Development
|
|
26
|
+
Apps Script
|
|
27
|
+
Deployment
|
|
28
|
+
Firebase
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
These sections represent the lifecycle of a gasboost project rather than individual CLI commands.
|
|
32
|
+
|
|
33
|
+
Sections remain accessible even when their corresponding external capability has not been configured.
|
|
34
|
+
|
|
35
|
+
If setup is incomplete, the section presents setup, connect, or enable operations instead of disappearing.
|
|
36
|
+
|
|
37
|
+
## Desired State and Actual State
|
|
38
|
+
|
|
39
|
+
The console combines the project's declared Desired State with detected Actual State.
|
|
40
|
+
|
|
41
|
+
### Desired State
|
|
42
|
+
|
|
43
|
+
Declared by:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
gasboost.config.ts
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
gasboost.config.ts
|
|
51
|
+
↓
|
|
52
|
+
Desired State
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Examples include:
|
|
56
|
+
|
|
57
|
+
- Apps Script web application configuration
|
|
58
|
+
- build output directory
|
|
59
|
+
- Firebase Realtime Database capability
|
|
60
|
+
- RTDB rules source and output paths
|
|
61
|
+
|
|
62
|
+
### Actual State
|
|
63
|
+
|
|
64
|
+
Actual State is discovered from the local environment and connected external resources.
|
|
65
|
+
|
|
66
|
+
Examples include:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
.clasp.json
|
|
70
|
+
appsscript.json
|
|
71
|
+
.env
|
|
72
|
+
CLI / Google authentication
|
|
73
|
+
Apps Script project state
|
|
74
|
+
deployment state
|
|
75
|
+
Firebase project state
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
local files
|
|
80
|
+
provider state
|
|
81
|
+
authentication state
|
|
82
|
+
↓
|
|
83
|
+
Actual State
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The console combines both views:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Desired State
|
|
90
|
+
+
|
|
91
|
+
Actual State
|
|
92
|
+
↓
|
|
93
|
+
gasboost console
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
This makes it possible to show a capability before it has been fully connected and guide the developer toward the next lifecycle operation.
|
|
97
|
+
|
|
98
|
+
## Overview
|
|
99
|
+
|
|
100
|
+
Overview presents the current state of the project and its configured or detected capabilities.
|
|
101
|
+
|
|
102
|
+
It acts as the entry point for understanding what is connected and which setup work remains.
|
|
103
|
+
|
|
104
|
+
## Development
|
|
105
|
+
|
|
106
|
+
Development controls the local application lifecycle.
|
|
107
|
+
|
|
108
|
+
Supported operations include:
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
start
|
|
112
|
+
stop
|
|
113
|
+
restart
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The console can also detect the local development URL and open the running application.
|
|
117
|
+
|
|
118
|
+
Development runs the project's registered development operation rather than exposing an arbitrary shell command endpoint.
|
|
119
|
+
|
|
120
|
+
## Apps Script
|
|
121
|
+
|
|
122
|
+
The Apps Script section manages the Apps Script project lifecycle.
|
|
123
|
+
|
|
124
|
+
It can surface:
|
|
125
|
+
|
|
126
|
+
- clasp / Google authorization state
|
|
127
|
+
- project creation
|
|
128
|
+
- connection to an existing project
|
|
129
|
+
- Apps Script editor navigation
|
|
130
|
+
- source push
|
|
131
|
+
- project settings navigation
|
|
132
|
+
|
|
133
|
+
Local project state such as `.clasp.json` is treated as Actual State.
|
|
134
|
+
|
|
135
|
+
The section remains available before an Apps Script project has been connected.
|
|
136
|
+
|
|
137
|
+
## Deployment
|
|
138
|
+
|
|
139
|
+
The Deployment section manages Apps Script deployments.
|
|
140
|
+
|
|
141
|
+
Lifecycle operations include:
|
|
142
|
+
|
|
143
|
+
```text
|
|
144
|
+
list
|
|
145
|
+
create
|
|
146
|
+
update
|
|
147
|
+
open deployed app
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Deployment state is discovered from the connected Apps Script project rather than stored in `gasboost.config.ts`.
|
|
151
|
+
|
|
152
|
+
## Firebase
|
|
153
|
+
|
|
154
|
+
The Firebase section manages the assisted lifecycle around Firebase capabilities.
|
|
155
|
+
|
|
156
|
+
It can guide the developer through operations such as:
|
|
157
|
+
|
|
158
|
+
- enable or connect a Firebase project
|
|
159
|
+
- open Firebase Console
|
|
160
|
+
- Web App setup
|
|
161
|
+
- Realtime Database setup
|
|
162
|
+
- Security Rules generation
|
|
163
|
+
- Security Rules deployment
|
|
164
|
+
- assisted credential configuration
|
|
165
|
+
|
|
166
|
+
The console does not silently create or register sensitive credentials.
|
|
167
|
+
|
|
168
|
+
## Credentials
|
|
169
|
+
|
|
170
|
+
Firebase service-account private keys are not entered into, stored by, or automatically registered by the console.
|
|
171
|
+
|
|
172
|
+
Instead, the console uses an assisted flow.
|
|
173
|
+
|
|
174
|
+
```text
|
|
175
|
+
gasboost console
|
|
176
|
+
↓
|
|
177
|
+
open provider / project settings UI
|
|
178
|
+
↓
|
|
179
|
+
developer obtains required value
|
|
180
|
+
↓
|
|
181
|
+
developer explicitly configures
|
|
182
|
+
Apps Script Script Properties
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
For example, the developer may configure:
|
|
186
|
+
|
|
187
|
+
```text
|
|
188
|
+
FIREBASE_SERVICE_ACCOUNT_EMAIL
|
|
189
|
+
FIREBASE_PRIVATE_KEY
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
through Apps Script Project Settings.
|
|
193
|
+
|
|
194
|
+
This keeps credential ownership explicit and avoids turning the console into a secret-storage system.
|
|
195
|
+
|
|
196
|
+
## Operation Security
|
|
197
|
+
|
|
198
|
+
The browser cannot execute arbitrary shell commands.
|
|
199
|
+
|
|
200
|
+
Console actions are implemented as registered operations with structured input.
|
|
201
|
+
|
|
202
|
+
```text
|
|
203
|
+
browser action
|
|
204
|
+
↓
|
|
205
|
+
registered operation ID
|
|
206
|
+
↓
|
|
207
|
+
validated structured input
|
|
208
|
+
↓
|
|
209
|
+
known implementation
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
The generic runtime and security boundary are provided by `@gasboost/console-runtime`.
|
|
213
|
+
|
|
214
|
+
## Architecture
|
|
215
|
+
|
|
216
|
+
```text
|
|
217
|
+
@gasboost/cli
|
|
218
|
+
↓
|
|
219
|
+
starts console
|
|
220
|
+
↓
|
|
221
|
+
@gasboost/console
|
|
222
|
+
↓
|
|
223
|
+
registers gasboost-specific operations
|
|
224
|
+
↓
|
|
225
|
+
@gasboost/console-runtime
|
|
226
|
+
↓
|
|
227
|
+
localhost browser transport
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
`@gasboost/console` owns gasboost-specific lifecycle knowledge.
|
|
231
|
+
|
|
232
|
+
`@gasboost/console-runtime` remains generic.
|
|
233
|
+
|
|
234
|
+
## License
|
|
10
235
|
|
|
11
|
-
|
|
12
|
-
project creation, editor opening, and confirmed file pushes through registered
|
|
13
|
-
operations backed by `@google/clasp`.
|
|
236
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gasboost/console",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "gasboost project lifecycle console",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@google/clasp": "^3.4.1",
|
|
21
21
|
"lucide": "^0.544.0",
|
|
22
22
|
"zod": "^4.1.12",
|
|
23
|
-
"@gasboost/config": "0.1.
|
|
24
|
-
"@gasboost/console-runtime": "0.1.
|
|
23
|
+
"@gasboost/config": "0.1.2",
|
|
24
|
+
"@gasboost/console-runtime": "0.1.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^24.13.4",
|