stacktape 3.5.8 → 3.6.0-beta.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.
Files changed (123) hide show
  1. package/.tsconfig.bun-build.json +1 -0
  2. package/ai-docs/cli-ref/aws-profile-create.md +22 -0
  3. package/ai-docs/cli-ref/aws-profile-delete.md +22 -0
  4. package/ai-docs/cli-ref/aws-profile-list.md +20 -0
  5. package/ai-docs/cli-ref/aws-profile-update.md +22 -0
  6. package/ai-docs/cli-ref/bastion-session.md +29 -0
  7. package/ai-docs/cli-ref/bastion-tunnel.md +30 -0
  8. package/ai-docs/cli-ref/bucket-sync.md +30 -0
  9. package/ai-docs/cli-ref/cf-module-update.md +26 -0
  10. package/ai-docs/cli-ref/cf-rollback.md +28 -0
  11. package/ai-docs/cli-ref/codebuild-deploy.md +34 -0
  12. package/ai-docs/cli-ref/compile-template.md +25 -0
  13. package/ai-docs/cli-ref/container-session.md +30 -0
  14. package/ai-docs/cli-ref/debug-alarms.md +28 -0
  15. package/ai-docs/cli-ref/debug-aws-sdk.md +33 -0
  16. package/ai-docs/cli-ref/debug-container-exec.md +36 -0
  17. package/ai-docs/cli-ref/debug-dynamodb.md +35 -0
  18. package/ai-docs/cli-ref/debug-logs.md +34 -0
  19. package/ai-docs/cli-ref/debug-metrics.md +33 -0
  20. package/ai-docs/cli-ref/debug-opensearch.md +35 -0
  21. package/ai-docs/cli-ref/debug-redis.md +36 -0
  22. package/ai-docs/cli-ref/debug-sql.md +35 -0
  23. package/ai-docs/cli-ref/defaults-configure.md +29 -0
  24. package/ai-docs/cli-ref/defaults-list.md +20 -0
  25. package/ai-docs/cli-ref/delete.md +24 -0
  26. package/ai-docs/cli-ref/deploy.md +25 -0
  27. package/ai-docs/cli-ref/deployment-script-run.md +28 -0
  28. package/ai-docs/cli-ref/dev-stop.md +26 -0
  29. package/ai-docs/cli-ref/dev.md +45 -0
  30. package/ai-docs/cli-ref/domain-add.md +26 -0
  31. package/ai-docs/cli-ref/help.md +18 -0
  32. package/ai-docs/cli-ref/info-operations.md +22 -0
  33. package/ai-docs/cli-ref/info-stack.md +30 -0
  34. package/ai-docs/cli-ref/info-stacks.md +26 -0
  35. package/ai-docs/cli-ref/info-whoami.md +22 -0
  36. package/ai-docs/cli-ref/init.md +30 -0
  37. package/ai-docs/cli-ref/login.md +20 -0
  38. package/ai-docs/cli-ref/logout.md +18 -0
  39. package/ai-docs/cli-ref/mcp-add.md +22 -0
  40. package/ai-docs/cli-ref/mcp.md +20 -0
  41. package/ai-docs/cli-ref/org-create.md +24 -0
  42. package/ai-docs/cli-ref/org-delete.md +24 -0
  43. package/ai-docs/cli-ref/org-list.md +22 -0
  44. package/ai-docs/cli-ref/package-workloads.md +25 -0
  45. package/ai-docs/cli-ref/param-get.md +26 -0
  46. package/ai-docs/cli-ref/preview-changes.md +23 -0
  47. package/ai-docs/cli-ref/project-create.md +22 -0
  48. package/ai-docs/cli-ref/projects-list.md +22 -0
  49. package/ai-docs/cli-ref/rollback.md +28 -0
  50. package/ai-docs/cli-ref/script-run.md +29 -0
  51. package/ai-docs/cli-ref/secret-create.md +28 -0
  52. package/ai-docs/cli-ref/secret-delete.md +26 -0
  53. package/ai-docs/cli-ref/secret-get.md +26 -0
  54. package/ai-docs/cli-ref/upgrade.md +20 -0
  55. package/ai-docs/cli-ref/version.md +18 -0
  56. package/ai-docs/concept/connecting-resources.md +369 -0
  57. package/ai-docs/concept/directives.md +371 -0
  58. package/ai-docs/concept/extending-cloudformation.md +315 -0
  59. package/ai-docs/concept/overrides-and-transforms.md +352 -0
  60. package/ai-docs/concept/stages-and-environments.md +347 -0
  61. package/ai-docs/concept/typescript-config.md +447 -0
  62. package/ai-docs/concept/yaml-config.md +338 -0
  63. package/ai-docs/config-ref/_root.md +142 -0
  64. package/ai-docs/config-ref/application-load-balancer.md +1109 -0
  65. package/ai-docs/config-ref/astro-web.md +115 -0
  66. package/ai-docs/config-ref/aws-cdk-construct.md +68 -0
  67. package/ai-docs/config-ref/bastion.md +93 -0
  68. package/ai-docs/config-ref/batch-job.md +179 -0
  69. package/ai-docs/config-ref/bucket.md +348 -0
  70. package/ai-docs/config-ref/cdn.md +496 -0
  71. package/ai-docs/config-ref/custom-resource.md +80 -0
  72. package/ai-docs/config-ref/deployment-script.md +79 -0
  73. package/ai-docs/config-ref/dynamo-db-table.md +202 -0
  74. package/ai-docs/config-ref/edge-lambda-function.md +87 -0
  75. package/ai-docs/config-ref/efs-filesystem.md +72 -0
  76. package/ai-docs/config-ref/event-bus.md +63 -0
  77. package/ai-docs/config-ref/function.md +409 -0
  78. package/ai-docs/config-ref/hosting-bucket.md +171 -0
  79. package/ai-docs/config-ref/http-api-gateway.md +149 -0
  80. package/ai-docs/config-ref/http-endpoint.md +92 -0
  81. package/ai-docs/config-ref/kinesis-stream.md +97 -0
  82. package/ai-docs/config-ref/mongo-db-atlas-cluster.md +254 -0
  83. package/ai-docs/config-ref/multi-container-workload.md +399 -0
  84. package/ai-docs/config-ref/network-load-balancer.md +118 -0
  85. package/ai-docs/config-ref/nextjs-web.md +147 -0
  86. package/ai-docs/config-ref/nuxt-web.md +81 -0
  87. package/ai-docs/config-ref/open-search.md +206 -0
  88. package/ai-docs/config-ref/private-service.md +75 -0
  89. package/ai-docs/config-ref/redis-cluster.md +223 -0
  90. package/ai-docs/config-ref/relational-database.md +525 -0
  91. package/ai-docs/config-ref/remix-web.md +74 -0
  92. package/ai-docs/config-ref/sns-topic.md +69 -0
  93. package/ai-docs/config-ref/solidstart-web.md +75 -0
  94. package/ai-docs/config-ref/sqs-queue-not-empty.md +405 -0
  95. package/ai-docs/config-ref/sqs-queue.md +232 -0
  96. package/ai-docs/config-ref/state-machine.md +235 -0
  97. package/ai-docs/config-ref/sveltekit-web.md +81 -0
  98. package/ai-docs/config-ref/tanstack-web.md +75 -0
  99. package/ai-docs/config-ref/upstash-redis.md +59 -0
  100. package/ai-docs/config-ref/user-auth-pool.md +876 -0
  101. package/ai-docs/config-ref/web-app-firewall.md +212 -0
  102. package/ai-docs/config-ref/web-service.md +178 -0
  103. package/ai-docs/config-ref/worker-service.md +41 -0
  104. package/ai-docs/getting-started/console.md +232 -0
  105. package/ai-docs/getting-started/deployment.md +434 -0
  106. package/ai-docs/getting-started/dev-mode.md +118 -0
  107. package/ai-docs/getting-started/how-it-works.md +119 -0
  108. package/ai-docs/getting-started/intro.md +157 -0
  109. package/ai-docs/getting-started/using-with-ai.md +228 -0
  110. package/ai-docs/getting-started/workflow.md +197 -0
  111. package/ai-docs/index.json +1514 -0
  112. package/ai-docs/recipe/background-jobs.md +183 -0
  113. package/ai-docs/recipe/database-migrations.md +240 -0
  114. package/ai-docs/recipe/graphql-api.md +211 -0
  115. package/ai-docs/recipe/monorepo-setup.md +183 -0
  116. package/ai-docs/recipe/nextjs-full-stack.md +188 -0
  117. package/ai-docs/recipe/rest-api-with-database.md +156 -0
  118. package/ai-docs/recipe/scheduled-tasks.md +186 -0
  119. package/ai-docs/recipe/static-website.md +241 -0
  120. package/ai-docs/troubleshooting/cloudformation-stack-states.md +189 -0
  121. package/bin/stacktape.js +0 -12
  122. package/package.json +1 -1
  123. package/plain.d.ts +309 -54
@@ -0,0 +1,241 @@
1
+ ---
2
+ docType: recipe
3
+ title: Static Website
4
+ tags:
5
+ - static
6
+ - website
7
+ - recipe
8
+ source: docs/_curated-docs/recipes/static-website.mdx
9
+ priority: 1
10
+ ---
11
+
12
+ # Static Website Hosting
13
+
14
+ Host a static website with S3 and CloudFront CDN.
15
+
16
+ ## Using Hosting Bucket (Recommended)
17
+
18
+ `HostingBucket` is purpose-built for static websites with CDN included automatically:
19
+
20
+ ```typescript
21
+ import { defineConfig, HostingBucket } from 'stacktape';
22
+
23
+ export default defineConfig(({ stage }) => {
24
+ const isProduction = stage === 'production';
25
+
26
+ const website = new HostingBucket({
27
+ uploadDirectoryPath: './dist',
28
+ hostingContentType: 'single-page-app', // or 'static-website'
29
+ customDomains: isProduction ? [{ domainName: 'mysite.com' }, { domainName: 'www.mysite.com' }] : []
30
+ });
31
+
32
+ return {
33
+ resources: { website }
34
+ };
35
+ });
36
+ ```
37
+
38
+ ### YAML equivalent
39
+
40
+ ```yaml
41
+ resources:
42
+ website:
43
+ type: hosting-bucket
44
+ properties:
45
+ uploadDirectoryPath: ./dist
46
+ hostingContentType: single-page-app
47
+ customDomains:
48
+ - domainName: mysite.com
49
+ - domainName: www.mysite.com
50
+ ```
51
+
52
+ ## Hosting Content Types
53
+
54
+ ### Single Page App (React, Vue, etc.)
55
+
56
+ ```typescript
57
+ const website = new HostingBucket({
58
+ uploadDirectoryPath: './dist',
59
+ hostingContentType: 'single-page-app'
60
+ });
61
+ ```
62
+
63
+ - All routes redirect to `index.html`
64
+ - Client-side routing works correctly
65
+ - HTML files never cached, assets cached indefinitely
66
+
67
+ ### Static Website (Multi-page)
68
+
69
+ ```typescript
70
+ const website = new HostingBucket({
71
+ uploadDirectoryPath: './public',
72
+ hostingContentType: 'static-website',
73
+ indexDocument: '/index.html',
74
+ errorDocument: '/404.html'
75
+ });
76
+ ```
77
+
78
+ - Each page is a separate HTML file
79
+ - Direct file serving
80
+ - Custom error pages
81
+
82
+ ## Build Integration
83
+
84
+ Run your build command before upload:
85
+
86
+ ```typescript
87
+ const website = new HostingBucket({
88
+ uploadDirectoryPath: './dist',
89
+ build: {
90
+ command: 'npm run build',
91
+ workingDirectory: '.'
92
+ }
93
+ });
94
+ ```
95
+
96
+ ## Custom Headers
97
+
98
+ ```typescript
99
+ const website = new HostingBucket({
100
+ uploadDirectoryPath: './dist',
101
+ fileOptions: [
102
+ {
103
+ includePattern: 'assets/**',
104
+ headers: [{ key: 'Cache-Control', value: 'public, max-age=31536000, immutable' }]
105
+ },
106
+ {
107
+ includePattern: '*.html',
108
+ headers: [{ key: 'Cache-Control', value: 'no-cache' }]
109
+ }
110
+ ]
111
+ });
112
+ ```
113
+
114
+ ## Environment Variables
115
+
116
+ Inject backend URLs into frontend HTML:
117
+
118
+ ```typescript
119
+ const api = new HttpApiGateway({
120
+ routes: [
121
+ /* ... */
122
+ ]
123
+ });
124
+
125
+ const website = new HostingBucket({
126
+ uploadDirectoryPath: './dist',
127
+ injectEnvironment: [{ name: 'API_URL', value: $ResourceParam('api', 'url') }]
128
+ });
129
+ ```
130
+
131
+ Access in JavaScript via `window.STP_INJECTED_ENV.API_URL`.
132
+
133
+ ## With API Backend
134
+
135
+ ```typescript
136
+ import { defineConfig, HostingBucket, LambdaFunction, HttpApiGateway, HttpApiIntegration } from 'stacktape';
137
+
138
+ export default defineConfig(() => {
139
+ const api = new LambdaFunction({
140
+ packaging: {
141
+ type: 'stacktape-lambda-buildpack',
142
+ properties: { entryfilePath: './api/handler.ts' }
143
+ }
144
+ });
145
+
146
+ const gateway = new HttpApiGateway({
147
+ routes: [{ path: '/api/{proxy+}', method: '*', integration: new HttpApiIntegration({ function: 'api' }) }]
148
+ });
149
+
150
+ const website = new HostingBucket({
151
+ uploadDirectoryPath: './dist',
152
+ hostingContentType: 'single-page-app',
153
+ routeRewrites: [
154
+ {
155
+ path: '/api/*',
156
+ routeTo: {
157
+ type: 'http-api-gateway',
158
+ properties: { httpApiGatewayName: 'gateway' }
159
+ }
160
+ }
161
+ ]
162
+ });
163
+
164
+ return {
165
+ resources: { api, gateway, website }
166
+ };
167
+ });
168
+ ```
169
+
170
+ ## Using Regular Bucket with CDN
171
+
172
+ For more control, use `Bucket` with explicit CDN configuration:
173
+
174
+ ```typescript
175
+ import { defineConfig, Bucket } from 'stacktape';
176
+
177
+ export default defineConfig(({ stage }) => {
178
+ const website = new Bucket({
179
+ directoryUpload: {
180
+ directoryPath: './dist',
181
+ headersPreset: 'single-page-app'
182
+ },
183
+ cdn: {
184
+ enabled: true,
185
+ rewriteRoutesForSinglePageApp: true,
186
+ customDomains: stage === 'production' ? [{ domainName: 'mysite.com' }] : []
187
+ }
188
+ });
189
+
190
+ return {
191
+ resources: { website }
192
+ };
193
+ });
194
+ ```
195
+
196
+ ## Build & Deploy
197
+
198
+ ```bash
199
+ # Deploy (build runs automatically if configured)
200
+ stacktape deploy --stage dev --region us-east-1
201
+
202
+ # Or build manually first
203
+ npm run build
204
+ stacktape deploy --stage dev --region us-east-1
205
+ ```
206
+
207
+ ## Sync Without Full Deploy
208
+
209
+ Update website files without CloudFormation:
210
+
211
+ ```bash
212
+ stacktape bucket:sync --stage dev --region us-east-1 --resourceName website
213
+ ```
214
+
215
+ ## Edge Functions
216
+
217
+ Add authentication or request modification at the edge:
218
+
219
+ ```typescript
220
+ import { defineConfig, HostingBucket, EdgeLambdaFunction } from 'stacktape';
221
+
222
+ export default defineConfig(() => {
223
+ const authFunction = new EdgeLambdaFunction({
224
+ packaging: {
225
+ type: 'stacktape-lambda-buildpack',
226
+ properties: { entryfilePath: './edge/auth.ts' }
227
+ }
228
+ });
229
+
230
+ const website = new HostingBucket({
231
+ uploadDirectoryPath: './dist',
232
+ edgeFunctions: {
233
+ onRequest: 'authFunction'
234
+ }
235
+ });
236
+
237
+ return {
238
+ resources: { authFunction, website }
239
+ };
240
+ });
241
+ ```
@@ -0,0 +1,189 @@
1
+ ---
2
+ docType: troubleshooting
3
+ title: CloudFormation Stack States
4
+ tags:
5
+ - cloudformation
6
+ - stack
7
+ - states
8
+ - troubleshooting
9
+ source: docs/_curated-docs/troubleshooting/cloudformation-stack-states.mdx
10
+ priority: 2
11
+ ---
12
+
13
+ # CloudFormation Stack States
14
+
15
+ Every Stacktape deployment is backed by a CloudFormation stack. The stack has a **status** that reflects what happened during the
16
+ last operation (deploy, delete, rollback). Most of the time you won't need to think about this - but when a deployment fails, understanding
17
+ the stack state helps you recover quickly.
18
+
19
+ You can check the current state of your stacks using:
20
+
21
+ ```bash
22
+ stacktape info:stacks --region us-east-1
23
+ ```
24
+
25
+ ## Healthy States
26
+
27
+ These states mean your stack is working normally and ready for the next deploy or delete.
28
+
29
+ | State | Meaning |
30
+ | ----------------- | ---------------------------------------------------- |
31
+ | `CREATE_COMPLETE` | Stack was successfully created (first deploy). |
32
+ | `UPDATE_COMPLETE` | Stack was successfully updated. |
33
+ | `IMPORT_COMPLETE` | Resources were successfully imported into the stack. |
34
+
35
+ No action needed - you can run `deploy`, `delete`, or any other command.
36
+
37
+ ## Failed / Needs Attention
38
+
39
+ These are the states you're most likely to encounter when something goes wrong.
40
+
41
+ ### `UPDATE_FAILED`
42
+
43
+ **What happened:** A deployment failed mid-way. With `--disableAutoRollback` enabled, the stack stays in this state instead of
44
+ rolling back automatically.
45
+
46
+ **What to do:**
47
+
48
+ - **Option A** - Fix the issue and redeploy:
49
+
50
+ ```bash
51
+ stacktape deploy --stage <stage> --region <region>
52
+ ```
53
+
54
+ Stacktape can deploy directly from `UPDATE_FAILED` state. It will attempt to apply your changes again.
55
+
56
+ - **Option B** - Roll back to the previous working state:
57
+ ```bash
58
+ stacktape rollback --stage <stage> --region <region>
59
+ ```
60
+
61
+ ### `CREATE_FAILED`
62
+
63
+ **What happened:** The very first deployment of the stack failed.
64
+
65
+ **What to do:**
66
+
67
+ - Roll back the failed creation:
68
+ ```bash
69
+ stacktape rollback --stage <stage> --region <region>
70
+ ```
71
+ After rollback completes the stack will be in `ROLLBACK_COMPLETE` state. From there, delete it and start fresh:
72
+ ```bash
73
+ stacktape delete --stage <stage> --region <region>
74
+ ```
75
+
76
+ ### `UPDATE_ROLLBACK_FAILED`
77
+
78
+ **What happened:** A deployment failed, and the automatic rollback also failed. This is the most problematic state.
79
+
80
+ **What to do:**
81
+
82
+ - Continue the rollback (optionally skipping problematic resources):
83
+
84
+ ```bash
85
+ stacktape rollback --stage <stage> --region <region>
86
+ ```
87
+
88
+ If specific resources are blocking the rollback, skip them:
89
+
90
+ ```bash
91
+ stacktape rollback --stage <stage> --region <region> --resourcesToSkip MyResource1 MyResource2
92
+ ```
93
+
94
+ The `--resourcesToSkip` values are CloudFormation **logical resource IDs** (visible in the AWS CloudFormation console or in the
95
+ deployment error output).
96
+
97
+ - If rollback still fails, you may need to manually fix or delete the problematic resources in the AWS console, then retry.
98
+
99
+ ### `UPDATE_ROLLBACK_COMPLETE`
100
+
101
+ **What happened:** A deployment failed but was successfully rolled back to the previous state.
102
+
103
+ **What to do:** Your stack is back to the last working version. Fix the issue in your configuration and redeploy:
104
+
105
+ ```bash
106
+ stacktape deploy --stage <stage> --region <region>
107
+ ```
108
+
109
+ ### `ROLLBACK_COMPLETE`
110
+
111
+ **What happened:** The first-ever deployment (`create`) failed and was rolled back. The stack exists but contains no resources.
112
+
113
+ **What to do:** Delete the empty stack and try again:
114
+
115
+ ```bash
116
+ stacktape delete --stage <stage> --region <region>
117
+ stacktape deploy --stage <stage> --region <region>
118
+ ```
119
+
120
+ ### `ROLLBACK_FAILED`
121
+
122
+ **What happened:** The first deployment failed and the rollback of that creation also failed.
123
+
124
+ **What to do:** Delete the stack (you may need to use the AWS console if some resources are stuck):
125
+
126
+ ```bash
127
+ stacktape delete --stage <stage> --region <region>
128
+ ```
129
+
130
+ ### `DELETE_FAILED`
131
+
132
+ **What happened:** Some resources couldn't be deleted (e.g., non-empty S3 bucket, resource in use by another stack).
133
+
134
+ **What to do:**
135
+
136
+ 1. Check which resources failed to delete (visible in the AWS CloudFormation console).
137
+ 2. Manually resolve the issue (empty the bucket, remove dependencies, etc.).
138
+ 3. Retry the delete:
139
+ ```bash
140
+ stacktape delete --stage <stage> --region <region>
141
+ ```
142
+
143
+ ## In-Progress States
144
+
145
+ These states mean an operation is currently running. Stacktape automatically waits for these to complete before starting a new operation.
146
+
147
+ | State | Meaning |
148
+ | ---------------------------------------------- | -------------------------------------- |
149
+ | `CREATE_IN_PROGRESS` | Stack is being created. |
150
+ | `UPDATE_IN_PROGRESS` | Stack is being updated. |
151
+ | `DELETE_IN_PROGRESS` | Stack is being deleted. |
152
+ | `ROLLBACK_IN_PROGRESS` | Stack is rolling back a failed create. |
153
+ | `UPDATE_ROLLBACK_IN_PROGRESS` | Stack is rolling back a failed update. |
154
+ | `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS` | Cleanup after a successful rollback. |
155
+ | `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS` | Cleanup after a successful update. |
156
+ | `IMPORT_IN_PROGRESS` | Resources are being imported. |
157
+ | `IMPORT_ROLLBACK_IN_PROGRESS` | Import is being rolled back. |
158
+
159
+ If you try to run a Stacktape command while the stack is in one of these states, Stacktape will wait for the current operation
160
+ to finish before proceeding.
161
+
162
+ ## Auto-Rollback Behavior
163
+
164
+ By default, Stacktape enables **auto-rollback**: if a deployment fails, CloudFormation automatically rolls back to the previous
165
+ working state. The stack ends up in `UPDATE_ROLLBACK_COMPLETE` (ready for the next deploy).
166
+
167
+ If you disable auto-rollback:
168
+
169
+ ```bash
170
+ stacktape deploy --stage <stage> --region <region> --disableAutoRollback
171
+ ```
172
+
173
+ ...a failed deployment leaves the stack in `UPDATE_FAILED`. This can be useful for debugging because you can inspect the
174
+ partially-updated resources, but you'll need to either redeploy or manually rollback before the stack is fully operational again.
175
+
176
+ ## Quick Reference
177
+
178
+ | Stack State | Can Deploy? | Can Delete? | Can Rollback? | Recommended Action |
179
+ | -------------------------- | ----------- | ----------- | ------------- | ------------------------------------------- |
180
+ | `CREATE_COMPLETE` | Yes | Yes | - | None needed |
181
+ | `UPDATE_COMPLETE` | Yes | Yes | - | None needed |
182
+ | `UPDATE_FAILED` | Yes | Yes | Yes | Fix and redeploy, or rollback |
183
+ | `CREATE_FAILED` | - | - | Yes | Rollback, then delete |
184
+ | `UPDATE_ROLLBACK_COMPLETE` | Yes | Yes | - | Fix config and redeploy |
185
+ | `UPDATE_ROLLBACK_FAILED` | - | - | Yes | Rollback with `--resourcesToSkip` if needed |
186
+ | `ROLLBACK_COMPLETE` | Yes | Yes | - | Delete and redeploy |
187
+ | `ROLLBACK_FAILED` | - | Yes | - | Delete the stack |
188
+ | `DELETE_FAILED` | - | Yes | - | Fix blocking resources, retry delete |
189
+ | `*_IN_PROGRESS` | Waits | Waits | Waits | Wait for completion |
package/bin/stacktape.js CHANGED
@@ -420,18 +420,6 @@ async function ensureBinary() {
420
420
  }
421
421
  }
422
422
 
423
- function getManualInstallCommand(platformKey) {
424
- const commands = {
425
- 'win32-x64': 'iwr https://installs.stacktape.com/windows.ps1 -useb | iex',
426
- 'linux-x64': 'curl -L https://installs.stacktape.com/linux.sh | sh',
427
- 'linux-arm64': 'curl -L https://installs.stacktape.com/linux-arm.sh | sh',
428
- 'linux-x64-musl': 'curl -L https://installs.stacktape.com/alpine.sh | sh',
429
- 'darwin-x64': 'curl -L https://installs.stacktape.com/macos.sh | sh',
430
- 'darwin-arm64': 'curl -L https://installs.stacktape.com/macos-arm.sh | sh'
431
- };
432
- return commands[platformKey] || 'See https://docs.stacktape.com for installation instructions';
433
- }
434
-
435
423
  function getGlobalBinaryPathIfVersionMatches() {
436
424
  const binaryName = platform() === 'win32' ? 'stacktape.exe' : 'stacktape';
437
425
  const globalDir = join(homedir(), '.stacktape', 'bin');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stacktape",
3
- "version": "3.5.8",
3
+ "version": "3.6.0-beta.0",
4
4
  "description": "PaaS 2.0 that deploys to your own AWS account.",
5
5
  "author": "Stacktape team <support@stacktape.com>",
6
6
  "license": "MIT",