localdeck 1.6.2 → 1.7.1
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/CHANGELOG.md +21 -0
- package/README.md +32 -12
- package/dashboard/assets/index-2gSOxBaK.js +21 -0
- package/dashboard/index.html +1 -1
- package/dist/index-jtd14k8h.js +70 -0
- package/dist/index-scnd2pq4.js +135 -0
- package/dist/index.js +16 -1412
- package/dist/mcp-w45qck6z.js +6 -0
- package/dist/quarry-ysrktgjh.js +5 -0
- package/dist/update-2nttbg13.js +1 -0
- package/docs/commands.md +4 -0
- package/docs/configuration.md +1 -1
- package/docs/quarry.md +49 -0
- package/package.json +3 -2
- package/quarry-extension.json +52 -0
- package/dashboard/assets/index-CcN_iA3K.js +0 -21
- package/dist/index-xsyz4cc9.js +0 -9550
- package/dist/mcp-210n1fxv.js +0 -34244
- package/dist/update-hvkw7mkw.js +0 -171
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.7.1 — Background workers become ready
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Let background workers that never open their port pass a command readiness check. The check used to wait for a listener that never came, so the service stayed on Checking readiness and was stopped after the 60-second timeout.
|
|
8
|
+
- Show such a worker as Ready once its check passes, without Waiting for listener, and count it as running in the project status.
|
|
9
|
+
|
|
10
|
+
## 1.7.0 — LocalDeck in Quarry
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Show and control a project's services in Quarry with the new localdeck quarry command. It speaks the Quarry Extension Protocol over stdio: Quarry lists services, starts, stops and restarts them, follows their logs, and opens the project's dashboard page. LocalDeck keeps running the services, so they match the dashboard and keep running when Quarry closes.
|
|
15
|
+
- Opening a Quarry workspace finds its remembered project, or remembers the folder's .localdeck the way localdeck commands does. Connecting never starts services.
|
|
16
|
+
- Share a service from Quarry with a password-protected link; the password is shown once. Services started in a terminal still have to be restarted there.
|
|
17
|
+
- Give Quarry's agents six MCP tools (list_services, get_service, get_logs, start_service, stop_service and restart_service), limited to the workspace's project.
|
|
18
|
+
- Ship the Quarry manifest, quarry-extension.json, in the repository and the npm package. See docs/quarry.md.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Ship the command-line and daemon bundles minified.
|
|
23
|
+
|
|
3
24
|
## 1.6.2 — Steady project header menus
|
|
4
25
|
|
|
5
26
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**One place to run, inspect, and share your local development services.**
|
|
4
4
|
|
|
5
|
-
LocalDeck runs the commands your project already uses, gives web services stable local addresses, and brings their controls and logs into a browser dashboard. Use it for a single app or a monorepo with frontends, APIs, and database dependencies.
|
|
5
|
+
LocalDeck runs the commands your project already uses, gives web services stable local addresses, and brings their controls and logs into a browser dashboard. Use it for a single app or a monorepo with frontends, APIs, and database dependencies. Maintained by [jus-ta-dev](https://github.com/jus-ta-dev).
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -30,19 +30,20 @@ In another terminal:
|
|
|
30
30
|
localdeck open # Open the dashboard
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
The dashboard is served at `http://localhost:7777` by default. It remembers projects registered through the CLI. You can start and stop individual services, open local and shared links, and
|
|
33
|
+
The dashboard is served at `http://localhost:7777` by default. It remembers projects registered through the CLI. You can start and stop individual services, open local and shared links, and inspect logs and requests on service pages or in a resizable panel.
|
|
34
34
|
|
|
35
35
|
`localdeck up` runs in the foreground: **Ctrl-C stops the services it owns**. Services started from the dashboard continue in the background until you stop them or shut down the daemon.
|
|
36
36
|
|
|
37
37
|
## What you get
|
|
38
38
|
|
|
39
39
|
- **Stable addresses:** keep a consistent local port even when the development server chooses another upstream port.
|
|
40
|
-
- **Project
|
|
40
|
+
- **Project and service pages:** start services in dependency order, inspect each service's Logs, Requests, and Config tabs, and see when a running service needs a restart to apply changed settings.
|
|
41
|
+
- **Stackable profiles:** change a service's command, working directory, environment, or secrets for setups such as staging and debugging while keeping its name and stable address.
|
|
41
42
|
- **Clean URLs:** optional addresses such as `http://platform.web.localhost`, with a project nickname and port-80 forwarding enabled.
|
|
42
|
-
- **Project secrets:** store values outside your project and pass them to services as environment variables. Manage them
|
|
43
|
-
- **
|
|
44
|
-
- **Command palette:** press ⌘K / Ctrl+K or choose Search
|
|
45
|
-
- **HTTPS sharing:** create temporary Cloudflare links
|
|
43
|
+
- **Project secrets:** store values outside your project and pass them to services as environment variables. Manage them in the project's Secrets tab.
|
|
44
|
+
- **Logs and requests panel:** watch multiple services from the bottom bar, filter retained output, and choose a log display limit from 100 to 5,000 lines.
|
|
45
|
+
- **Command palette:** press ⌘K / Ctrl+K or choose Search in the sidebar to find projects, open apps and logs, and start, stop, or restart services.
|
|
46
|
+
- **HTTPS sharing:** create temporary Cloudflare links protected by a generated password by default, with pending status and shared-request logs.
|
|
46
47
|
- **Coding-agent access:** an MCP server for service inspection, controls, diagnostics data, and recorded GET/HEAD replay.
|
|
47
48
|
- **Activity and comparisons:** inspect a unified incident timeline and mark a baseline to see what changed.
|
|
48
49
|
- **Worktree environments:** discover existing Git worktrees and switch between separately registered service environments.
|
|
@@ -78,11 +79,28 @@ LocalDeck supplies `PORT` and expands `{port}` to the application's upstream por
|
|
|
78
79
|
|
|
79
80
|
For scripts such as `wrangler dev --port ${API_PORT:-8787}`, LocalDeck also supplies the assigned port through `API_PORT`, without editing your project. It follows individual npm, pnpm, Yarn and Bun scripts, including npm workspace selectors and package directory options. Explicit service `env` settings and secrets take precedence over inferred variables. Complex shell commands and hardcoded ports continue to use normal socket detection.
|
|
80
81
|
|
|
81
|
-
See configuration (included as `docs/configuration.md`) for working directories, profiles, environment references, database services, and advanced readiness checks.
|
|
82
|
+
See configuration (included as `docs/configuration.md`) for working directories, profiles, environment references, database services, background workers, and advanced readiness checks.
|
|
83
|
+
|
|
84
|
+
## Switch profiles
|
|
85
|
+
|
|
86
|
+
Define profiles in `.localdeck` to change how existing services run. For example, a `staging` profile can give `web` a different API URL without changing its name, dependencies, or stable port:
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"commands": [{ "name": "web", "run": "npm run dev" }],
|
|
91
|
+
"profiles": {
|
|
92
|
+
"staging": {
|
|
93
|
+
"services": { "web": { "env": { "API_URL": "https://api.staging.example.com" } } }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Run `localdeck profile on staging` or use the **Profiles** menu on the project page. You can turn on several profiles; they apply in file order, with the later profile winning when settings overlap. The selection is saved only on your computer. Switching profiles does not start or restart services, so restart a running service to apply its new settings. Open the service's **Config** tab to see the resolved command, directory, environment, and secret names. See profiles (included as `docs/configuration.md`) for the available overrides.
|
|
82
100
|
|
|
83
101
|
## Inspect requests
|
|
84
102
|
|
|
85
|
-
Open **
|
|
103
|
+
Open a service's **Requests** tab, or use the bottom **Requests** panel to watch several services. Expand a row to inspect headers, cookies, the request body, and the response. Successful assets and development modules are hidden by default. Service pages also have **Logs** and **Config** tabs.
|
|
86
104
|
|
|
87
105
|
Capture works only through LocalDeck's service URLs. A frontend calling Wrangler directly at `http://localhost:8787`, or through a Worker service binding, bypasses the proxy. Set your app's API base URL to the API service's LocalDeck URL to capture that traffic.
|
|
88
106
|
|
|
@@ -93,7 +111,8 @@ Responses load on demand from a 64 MiB shared cache. Older bodies are evicted as
|
|
|
93
111
|
| Command | Purpose |
|
|
94
112
|
| --- | --- |
|
|
95
113
|
| `localdeck web` | Start the configured web service and its prerequisites. |
|
|
96
|
-
| `localdeck profile on staging` |
|
|
114
|
+
| `localdeck profile on staging` | Select the staging overrides for the next service start or restart. |
|
|
115
|
+
| `localdeck profile off staging` | Turn off a profile without stopping running services. |
|
|
97
116
|
| `localdeck ps` | List service states, ports, and URLs. |
|
|
98
117
|
| `localdeck logs web -f` | Follow a service's output. |
|
|
99
118
|
| `localdeck requests web` | Inspect recent proxied requests. |
|
|
@@ -114,7 +133,7 @@ cloudflared --version
|
|
|
114
133
|
localdeck share web
|
|
115
134
|
```
|
|
116
135
|
|
|
117
|
-
The CLI generates a password by default. Use `--password <password>` to choose one, or `--public` for an unprotected link. In the dashboard, choose **Share
|
|
136
|
+
The CLI generates a password by default. Use `--password <password>` to choose one, or `--public` for an unprotected link. In the dashboard, choose **Share…** from the service's options menu. Leaving the password blank generates one; select **Public link** explicitly to create an unprotected share.
|
|
118
137
|
|
|
119
138
|
The generated URL appears beside a spinner while LocalDeck checks connectivity. After one minute, the dashboard suggests opening the link yourself; a request reaching the public tunnel also confirms connectivity. Startup ends after two minutes if the link still cannot be verified. Pending and failed states survive a dashboard refresh. Protected links have a masked password with **Show/Hide**.
|
|
120
139
|
|
|
@@ -122,7 +141,7 @@ Quick Tunnel URLs are temporary and may have DNS delays. They stop when the serv
|
|
|
122
141
|
|
|
123
142
|
## Clean URLs and networking
|
|
124
143
|
|
|
125
|
-
Enable **Clean URLs** in Settings, or use the
|
|
144
|
+
Enable **Clean URLs** in Settings, or use the notice at the bottom of the sidebar. LocalDeck verifies forwarding before removing the port from links. Setup may request administrator approval on macOS or Windows. If forwarding is unavailable, the original port-number URLs remain usable.
|
|
126
145
|
|
|
127
146
|
CORS still belongs to your application. `http://localhost:3001`, `http://platform.web.localhost`, and a public HTTPS tunnel URL are different browser origins. Add the frontend origin you actually visit to your API's allowlist. LocalDeck does not rewrite CORS policies or application API URLs.
|
|
128
147
|
|
|
@@ -165,6 +184,7 @@ Use `localdeck mcp --project <id>` to restrict access to one remembered project.
|
|
|
165
184
|
- CLI reference (included as `docs/commands.md`)
|
|
166
185
|
- Dashboard and platform support (included as `docs/dashboard.md`)
|
|
167
186
|
- MCP integration (included as `docs/mcp.md`)
|
|
187
|
+
- Quarry extension (included as `docs/quarry.md`)
|
|
168
188
|
- Changelog (included as `CHANGELOG.md`)
|
|
169
189
|
|
|
170
190
|
## License
|