staticx 0.1.5 → 0.1.7
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 +11 -7
- package/package.json +1 -1
- package/src/index.js +2 -2
- package/src/output.js +8 -5
package/README.md
CHANGED
|
@@ -40,13 +40,15 @@ staticx mcp
|
|
|
40
40
|
|
|
41
41
|
## Custom domains
|
|
42
42
|
|
|
43
|
-
Use the CLI when you want to
|
|
43
|
+
Use the CLI when you want to start custom domain setup without opening the dashboard.
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
staticx domain --site-id SITE_ID --domain app.example.com
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
The command
|
|
49
|
+
The command starts the manual DNS flow and prints the single DNS record to create. After the DNS record is added, StaticX detects it and activates SSL automatically.
|
|
50
|
+
|
|
51
|
+
If you want StaticX to create the DNS record inside an external DNS account, approve DNS Connect from the dashboard. The CLI cannot authorize an external provider silently because the domain owner must approve access in a browser.
|
|
50
52
|
|
|
51
53
|
Check progress any time:
|
|
52
54
|
|
|
@@ -66,10 +68,12 @@ Use these when you want the same contract that the dashboard, CLI, and agents sh
|
|
|
66
68
|
|
|
67
69
|
StaticX enforces the same limits through the dashboard, API, CLI, MCP, URL imports, and hosted forms runtime.
|
|
68
70
|
|
|
69
|
-
| Plan | Sites | Storage | Max upload | Form entries |
|
|
70
|
-
| --- | ---: | ---: | ---: | ---: |
|
|
71
|
-
| Free | 1 | 500 MB | 500 MB |
|
|
72
|
-
|
|
|
71
|
+
| Plan | Sites | Storage | Max upload | Form entries | Team seats | Rollback history |
|
|
72
|
+
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
73
|
+
| Free | 1 | 500 MB | 500 MB | 1,000 | 1 | Last 5 versions |
|
|
74
|
+
| Plus | 15 | 10 GB | 50 GB | 20,000 | 5 | Last 10 versions |
|
|
75
|
+
| Pro | 100 | 20 GB | 50 GB | 100,000 | 10 | Last 50 versions |
|
|
76
|
+
| Agency | Custom | Custom | 50 GB | Custom | Custom | Custom |
|
|
73
77
|
|
|
74
78
|
If a command receives `PLAN_QUOTA_EXCEEDED`, stop and return the exact message. Clean up files/form entries or upgrade before retrying.
|
|
75
79
|
|
|
@@ -115,5 +119,5 @@ STATICX_API_TOKEN=sx_replace_with_your_token npx staticx-mcp-server http
|
|
|
115
119
|
- `staticx login` stores the base URL and bearer token locally.
|
|
116
120
|
- `staticx whoami` verifies the token with `GET /user`.
|
|
117
121
|
- `staticx deploy` zips the contents of the given build directory, uploads them, and publishes a new release. The directory must contain `index.html` or `index.htm` plus `404.html` at its root.
|
|
118
|
-
- `staticx domain` calls `POST /projects/{project}/domain` and returns the DNS record plus activation status.
|
|
122
|
+
- `staticx domain` calls `POST /projects/{project}/domain` and returns the manual DNS record plus activation status.
|
|
119
123
|
- Golden deploy prompt: “Deploy `dist` to StaticX project `SITE_ID` using `STATICX_API_TOKEN`. Build, validate `index.html` + `404.html`, apply StaticX form rules if forms exist, zip `dist` root, upload, deploy, check logs, then return the live URL or the exact API error. If you receive `PLAN_QUOTA_EXCEEDED`, stop and return the exact quota message. Never expose the token.”
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
mcpGuideJson,
|
|
20
20
|
} from './output.js';
|
|
21
21
|
|
|
22
|
-
const CLI_VERSION = '0.1.
|
|
22
|
+
const CLI_VERSION = '0.1.7';
|
|
23
23
|
|
|
24
24
|
export async function run(argv) {
|
|
25
25
|
const program = new Command();
|
|
@@ -296,7 +296,7 @@ Deploy rule:
|
|
|
296
296
|
|
|
297
297
|
program
|
|
298
298
|
.command('domain')
|
|
299
|
-
.description('
|
|
299
|
+
.description('Start manual custom domain setup and print the one DNS record to create.')
|
|
300
300
|
.requiredOption('--site-id <id>', 'Site ID')
|
|
301
301
|
.requiredOption('--domain <domain>', 'Custom domain, for example app.example.com')
|
|
302
302
|
.option('--json', 'Print JSON output')
|
package/src/output.js
CHANGED
|
@@ -65,7 +65,7 @@ export function printLoginSuccess({ baseUrl, user, token }) {
|
|
|
65
65
|
['staticx guide', 'Show the complete CLI workflow.'],
|
|
66
66
|
['staticx sites', 'List the sites visible to this token.'],
|
|
67
67
|
['staticx deploy --site-id SITE_ID --dir dist', 'Upload and publish a build folder.'],
|
|
68
|
-
['staticx domain --site-id SITE_ID --domain app.example.com', '
|
|
68
|
+
['staticx domain --site-id SITE_ID --domain app.example.com', 'Start manual custom domain setup.'],
|
|
69
69
|
]);
|
|
70
70
|
console.log('');
|
|
71
71
|
console.log('Build rule: deploy folders must include index.html or index.htm and 404.html at the root.');
|
|
@@ -95,7 +95,7 @@ export function printCliGuide() {
|
|
|
95
95
|
]);
|
|
96
96
|
console.log('');
|
|
97
97
|
printCommandGroup('Custom domains', [
|
|
98
|
-
['staticx domain --site-id SITE_ID --domain app.example.com', '
|
|
98
|
+
['staticx domain --site-id SITE_ID --domain app.example.com', 'Start manual custom domain setup and print the DNS record.'],
|
|
99
99
|
['staticx domain-status --site-id SITE_ID', 'Check DNS, SSL, and activation status.'],
|
|
100
100
|
]);
|
|
101
101
|
console.log('');
|
|
@@ -112,7 +112,8 @@ export function printCliGuide() {
|
|
|
112
112
|
console.log('');
|
|
113
113
|
console.log('Token scopes: use Site tokens for one-site deploys, Workspace tokens for client workspaces, and Global tokens only for broad operator workflows.');
|
|
114
114
|
console.log('Build rule: deploy folders must include index.html or index.htm and 404.html at the root.');
|
|
115
|
-
console.log('
|
|
115
|
+
console.log('Domain rule: CLI custom domains use the one-record manual DNS flow. DNS Connect requires browser approval in the dashboard.');
|
|
116
|
+
console.log('Plan limits: Free includes 1 site, 500 MB storage, 500 MB uploads, 1,000 form entries, 1 seat, and 5 rollback versions. Plus and Pro raise capacity. Agency uses custom capacity.');
|
|
116
117
|
console.log('Quota rule: stop on PLAN_QUOTA_EXCEEDED and return the exact API message before retrying.');
|
|
117
118
|
}
|
|
118
119
|
|
|
@@ -195,8 +196,10 @@ export function cliGuideJson() {
|
|
|
195
196
|
build_rule: 'Deploy folders must include index.html or index.htm and 404.html at the root.',
|
|
196
197
|
token_scopes: 'Use Site tokens for one-site deploys, Workspace tokens for client workspaces, and Global tokens only for broad operator workflows.',
|
|
197
198
|
plan_limits: {
|
|
198
|
-
free: '1 site, 500 MB storage, 500 MB max upload,
|
|
199
|
-
|
|
199
|
+
free: '1 site, 500 MB storage, 500 MB max upload, 1,000 form entries, 1 team seat, last 5 rollback versions.',
|
|
200
|
+
plus: '15 sites, 10 GB storage, 50 GB max upload, 20,000 form entries, 5 team seats, last 10 rollback versions.',
|
|
201
|
+
pro: '100 sites, 20 GB storage, 50 GB max upload, 100,000 form entries, 10 team seats, last 50 rollback versions.',
|
|
202
|
+
agency: 'Custom sites, storage, form entries, seats, and rollback history, with 50 GB max upload.',
|
|
200
203
|
},
|
|
201
204
|
quota_rule: 'Stop on PLAN_QUOTA_EXCEEDED and return the exact API message.',
|
|
202
205
|
};
|