@gugananuvem/aws-local-simulator 1.0.10 → 1.0.12
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 +257 -193
- package/bin/aws-local-simulator.js +62 -62
- package/package.json +2 -2
- package/src/config/config-loader.js +114 -112
- package/src/config/default-config.js +67 -65
- package/src/config/env-loader.js +68 -68
- package/src/index.js +130 -130
- package/src/index.mjs +123 -123
- package/src/server.js +223 -222
- package/src/services/apigateway/index.js +68 -66
- package/src/services/apigateway/server.js +487 -434
- package/src/services/apigateway/simulator.js +1251 -1251
- package/src/services/cognito/index.js +65 -65
- package/src/services/cognito/server.js +279 -228
- package/src/services/cognito/simulator.js +1114 -847
- package/src/services/dynamodb/index.js +70 -70
- package/src/services/dynamodb/server.js +121 -121
- package/src/services/dynamodb/simulator.js +620 -614
- package/src/services/ecs/index.js +65 -65
- package/src/services/ecs/server.js +233 -233
- package/src/services/ecs/simulator.js +844 -844
- package/src/services/eventbridge/index.js +84 -84
- package/src/services/index.js +18 -18
- package/src/services/lambda/handler-loader.js +183 -172
- package/src/services/lambda/index.js +73 -72
- package/src/services/lambda/route-registry.js +274 -274
- package/src/services/lambda/server.js +145 -152
- package/src/services/lambda/simulator.js +172 -285
- package/src/services/s3/index.js +69 -69
- package/src/services/s3/server.js +238 -238
- package/src/services/s3/simulator.js +740 -740
- package/src/services/sns/index.js +75 -75
- package/src/services/sqs/index.js +95 -95
- package/src/services/sqs/server.js +345 -273
- package/src/services/sqs/simulator.js +441 -660
- package/src/services/sts/index.js +37 -0
- package/src/services/sts/server.js +142 -0
- package/src/services/sts/simulator.js +69 -0
- package/src/template/aws-config-template.js +87 -87
- package/src/template/aws-config-template.mjs +90 -90
- package/src/template/config-template.json +203 -203
- package/src/utils/aws-config.js +91 -91
- package/src/utils/local-store.js +67 -67
- package/src/utils/logger.js +59 -59
package/README.md
CHANGED
|
@@ -1,193 +1,257 @@
|
|
|
1
|
-
# AWS Local Simulator
|
|
2
|
-
|
|
3
|
-
[](https://badge.fury.io/js/aws-local-simulator)
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
[](https://nodejs.org)
|
|
6
|
-
|
|
7
|
-
Simulador local completo para serviços AWS. Desenvolva e teste suas aplicações AWS localmente sem custos!
|
|
8
|
-
|
|
9
|
-
## 🚀 Serviços Suportados
|
|
10
|
-
|
|
11
|
-
| Serviço | Status | Porta Padrão | Descrição |
|
|
12
|
-
|---------|--------|--------------|-----------|
|
|
13
|
-
| DynamoDB | ✅ | 8000 | Banco de dados NoSQL |
|
|
14
|
-
| S3 | ✅ | 4566 | Armazenamento de objetos |
|
|
15
|
-
| SQS | ✅ | 9324 | Filas de mensagens |
|
|
16
|
-
| Lambda | ✅ | 3001 | Funções serverless |
|
|
17
|
-
| Cognito | ✅ | 9229 | Autenticação e autorização |
|
|
18
|
-
| API Gateway | ✅ | 4567 | APIs REST e HTTP |
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
]
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
1
|
+
# AWS Local Simulator
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/aws-local-simulator)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](https://nodejs.org)
|
|
6
|
+
|
|
7
|
+
Simulador local completo para serviços AWS. Desenvolva e teste suas aplicações AWS localmente sem custos!
|
|
8
|
+
|
|
9
|
+
## 🚀 Serviços Suportados
|
|
10
|
+
|
|
11
|
+
| Serviço | Status | Porta Padrão | Descrição |
|
|
12
|
+
|---------|--------|--------------|-----------|
|
|
13
|
+
| DynamoDB | ✅ | 8000 | Banco de dados NoSQL |
|
|
14
|
+
| S3 | ✅ | 4566 | Armazenamento de objetos |
|
|
15
|
+
| SQS | ✅ | 9324 | Filas de mensagens |
|
|
16
|
+
| Lambda | ✅ | 3001 | Funções serverless (invocação por nome) |
|
|
17
|
+
| Cognito | ✅ | 9229 | Autenticação e autorização |
|
|
18
|
+
| API Gateway | ✅ | 4567 | APIs REST e HTTP |
|
|
19
|
+
| STS | ✅ | 9326 | Credenciais temporárias (AssumeRole, GetCallerIdentity) |
|
|
20
|
+
| ECS/Fargate | 🚧 | 8080 | Orquestração de containers (em desenvolvimento) |
|
|
21
|
+
| SNS | 🚧 | 9911 | Notificações (em desenvolvimento) |
|
|
22
|
+
| EventBridge | 🚧 | 4010 | Barramento de eventos (em desenvolvimento) |
|
|
23
|
+
|
|
24
|
+
## 📦 Instalação
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install --save-dev aws-local-simulator
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 🚀 Uso Rápido
|
|
31
|
+
|
|
32
|
+
### 1. Crie um arquivo de configuração `aws-local-simulator.json`:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"services": {
|
|
37
|
+
"dynamodb": true,
|
|
38
|
+
"s3": true,
|
|
39
|
+
"sqs": true,
|
|
40
|
+
"lambda": true,
|
|
41
|
+
"cognito": true,
|
|
42
|
+
"apigateway": true,
|
|
43
|
+
"sts": true
|
|
44
|
+
},
|
|
45
|
+
"lambdas": [
|
|
46
|
+
{
|
|
47
|
+
"name": "my-function",
|
|
48
|
+
"handler": "./src/handlers/users.js",
|
|
49
|
+
"env": {
|
|
50
|
+
"TABLE_NAME": "users-table"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"dynamodb": {
|
|
55
|
+
"tables": [
|
|
56
|
+
{
|
|
57
|
+
"TableName": "users-table",
|
|
58
|
+
"KeySchema": [{ "AttributeName": "id", "KeyType": "HASH" }],
|
|
59
|
+
"AttributeDefinitions": [{ "AttributeName": "id", "AttributeType": "S" }]
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"s3": {
|
|
64
|
+
"buckets": ["my-bucket"]
|
|
65
|
+
},
|
|
66
|
+
"sqs": {
|
|
67
|
+
"queues": ["my-queue", "dead-letter-queue"]
|
|
68
|
+
},
|
|
69
|
+
"cognito": {
|
|
70
|
+
"userPools": [
|
|
71
|
+
{
|
|
72
|
+
"PoolName": "my-user-pool",
|
|
73
|
+
"AutoVerifiedAttributes": ["email"]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 2. Inicie o simulador:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Via CLI
|
|
84
|
+
npx aws-local-simulator start
|
|
85
|
+
|
|
86
|
+
# Ou via código
|
|
87
|
+
const { AWSLocalSimulator } = require('aws-local-simulator');
|
|
88
|
+
const simulator = new AWSLocalSimulator();
|
|
89
|
+
await simulator.start();
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 3. Configure seu código para usar os serviços locais:
|
|
93
|
+
|
|
94
|
+
```javascript
|
|
95
|
+
const { dynamoDB, s3, sqs, cognito } = require('aws-local-simulator/aws-config');
|
|
96
|
+
|
|
97
|
+
await dynamoDB.send(new PutCommand({
|
|
98
|
+
TableName: 'users-table',
|
|
99
|
+
Item: { id: '123', name: 'John' }
|
|
100
|
+
}));
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 🔧 Configuração por Variáveis de Ambiente
|
|
104
|
+
|
|
105
|
+
| Variável | Descrição | Padrão |
|
|
106
|
+
|---------|----------|-------|
|
|
107
|
+
| AWS_LOCAL_SIMULATOR_DYNAMODB | Habilita DynamoDB | true |
|
|
108
|
+
| AWS_LOCAL_SIMULATOR_S3 | Habilita S3 | true |
|
|
109
|
+
| AWS_LOCAL_SIMULATOR_SQS | Habilita SQS | true |
|
|
110
|
+
| AWS_LOCAL_SIMULATOR_LAMBDA | Habilita Lambda | true |
|
|
111
|
+
| AWS_LOCAL_SIMULATOR_COGNITO | Habilita Cognito | false |
|
|
112
|
+
| AWS_LOCAL_SIMULATOR_APIGATEWAY | Habilita API Gateway | false |
|
|
113
|
+
| AWS_LOCAL_SIMULATOR_STS | Habilita STS | true |
|
|
114
|
+
| AWS_LOCAL_SIMULATOR_ECS | Habilita ECS/Fargate | false |
|
|
115
|
+
| AWS_LOCAL_SIMULATOR_DYNAMODB_PORT | Porta DynamoDB | 8000 |
|
|
116
|
+
| AWS_LOCAL_SIMULATOR_S3_PORT | Porta S3 | 4566 |
|
|
117
|
+
| AWS_LOCAL_SIMULATOR_SQS_PORT | Porta SQS | 9324 |
|
|
118
|
+
| AWS_LOCAL_SIMULATOR_LAMBDA_PORT | Porta Lambda | 3001 |
|
|
119
|
+
| AWS_LOCAL_SIMULATOR_COGNITO_PORT | Porta Cognito | 9229 |
|
|
120
|
+
| AWS_LOCAL_SIMULATOR_APIGATEWAY_PORT | Porta API Gateway | 4567 |
|
|
121
|
+
| AWS_LOCAL_SIMULATOR_STS_PORT | Porta STS | 9326 |
|
|
122
|
+
| AWS_LOCAL_SIMULATOR_ECS_PORT | Porta ECS | 8080 |
|
|
123
|
+
| AWS_LOCAL_SIMULATOR_DATA | Diretório de dados | ./aws-local-simulator-data |
|
|
124
|
+
| AWS_LOCAL_SIMULATOR_LOG | Nível de log | info |
|
|
125
|
+
|
|
126
|
+
## 📝 Comandos CLI
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Iniciar simulador
|
|
130
|
+
npx aws-local-simulator start [configPath]
|
|
131
|
+
|
|
132
|
+
# Parar simulador
|
|
133
|
+
npx aws-local-simulator stop
|
|
134
|
+
|
|
135
|
+
# Reiniciar
|
|
136
|
+
npx aws-local-simulator restart
|
|
137
|
+
|
|
138
|
+
# Resetar dados
|
|
139
|
+
npx aws-local-simulator reset
|
|
140
|
+
|
|
141
|
+
# Status
|
|
142
|
+
npx aws-local-simulator status
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## 🔌 Endpoints
|
|
146
|
+
|
|
147
|
+
| Serviço | Endpoint | Admin |
|
|
148
|
+
|---------|----------|-------|
|
|
149
|
+
| DynamoDB | http://localhost:8000 | http://localhost:8000/__admin/tables |
|
|
150
|
+
| S3 | http://localhost:4566 | http://localhost:4566/__admin/buckets |
|
|
151
|
+
| SQS | http://localhost:9324 | http://localhost:9324/__admin/queues |
|
|
152
|
+
| Lambda | http://localhost:3001 | http://localhost:3001/__admin/functions |
|
|
153
|
+
| Cognito | http://localhost:9229 | http://localhost:9229/__admin/userpools |
|
|
154
|
+
| API Gateway | http://localhost:4567 | http://localhost:4567/__admin/apis |
|
|
155
|
+
| STS | http://localhost:9326 | — |
|
|
156
|
+
| ECS | http://localhost:8080 | http://localhost:8080/__admin/clusters |
|
|
157
|
+
|
|
158
|
+
## 🧪 Testando com AWS CLI
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# DynamoDB
|
|
162
|
+
aws dynamodb list-tables --endpoint-url http://localhost:8000
|
|
163
|
+
|
|
164
|
+
# S3
|
|
165
|
+
aws s3 ls --endpoint-url http://localhost:4566
|
|
166
|
+
|
|
167
|
+
# SQS
|
|
168
|
+
aws sqs list-queues --endpoint-url http://localhost:9324
|
|
169
|
+
|
|
170
|
+
# Lambda — invocar por nome (não por path HTTP)
|
|
171
|
+
aws lambda invoke \
|
|
172
|
+
--function-name my-function \
|
|
173
|
+
--payload '{"key":"value"}' \
|
|
174
|
+
--endpoint-url http://localhost:3001 \
|
|
175
|
+
output.json
|
|
176
|
+
|
|
177
|
+
# Cognito
|
|
178
|
+
aws cognito-idp list-user-pools --max-results 10 --endpoint-url http://localhost:9229
|
|
179
|
+
|
|
180
|
+
# STS
|
|
181
|
+
aws sts get-caller-identity --endpoint-url http://localhost:9326
|
|
182
|
+
aws sts assume-role \
|
|
183
|
+
--role-arn "arn:aws:iam::123456789012:role/my-role" \
|
|
184
|
+
--role-session-name "my-session" \
|
|
185
|
+
--endpoint-url http://localhost:9326
|
|
186
|
+
|
|
187
|
+
# API Gateway
|
|
188
|
+
aws apigateway get-rest-apis --endpoint-url http://localhost:4567
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## ⚙️ Configuração de Lambdas
|
|
192
|
+
|
|
193
|
+
Lambdas são registradas por **nome** e invocadas via API de invocação (igual à AWS real). O roteamento HTTP é feito pelo API Gateway.
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"lambdas": [
|
|
198
|
+
{
|
|
199
|
+
"name": "my-function",
|
|
200
|
+
"handler": "./src/handlers/my-function.js",
|
|
201
|
+
"env": {
|
|
202
|
+
"TABLE_NAME": "users-table",
|
|
203
|
+
"BUCKET_NAME": "my-bucket"
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
O handler deve exportar uma função padrão:
|
|
211
|
+
|
|
212
|
+
```javascript
|
|
213
|
+
exports.handler = async (event, context) => {
|
|
214
|
+
return {
|
|
215
|
+
statusCode: 200,
|
|
216
|
+
body: JSON.stringify({ message: 'Hello from Lambda!' })
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## 📁 Estrutura de Dados
|
|
222
|
+
|
|
223
|
+
Os dados são persistidos em:
|
|
224
|
+
|
|
225
|
+
```text
|
|
226
|
+
.aws-local-simulator-data/
|
|
227
|
+
├── dynamodb/
|
|
228
|
+
├── s3/
|
|
229
|
+
├── sqs/
|
|
230
|
+
├── cognito/
|
|
231
|
+
├── apigateway/
|
|
232
|
+
└── ecs/
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 🐛 Debug
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
AWS_LOCAL_SIMULATOR_LOG=verboso npx aws-local-simulator start
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## 🤝 Contribuindo
|
|
242
|
+
|
|
243
|
+
1. Fork o projeto
|
|
244
|
+
2. Crie sua feature branch (`git checkout -b feature/AmazingFeature`)
|
|
245
|
+
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
|
|
246
|
+
4. Push para a branch (`git push origin feature/AmazingFeature`)
|
|
247
|
+
5. Abra um Pull Request
|
|
248
|
+
|
|
249
|
+
## 📄 Licença
|
|
250
|
+
|
|
251
|
+
MIT © Luiz Gustavo Ribeiro
|
|
252
|
+
|
|
253
|
+
## ⚠️ Limitações
|
|
254
|
+
|
|
255
|
+
- SNS e EventBridge em desenvolvimento
|
|
256
|
+
- WebSocket APIs em desenvolvimento
|
|
257
|
+
- Para uso em desenvolvimento e testes apenas
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* CLI para AWS Local Simulator
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const { AWSLocalSimulator } = require('../src/index');
|
|
8
|
-
const logger = require('../src/utils/logger');
|
|
9
|
-
const path = require('path');
|
|
10
|
-
|
|
11
|
-
const command = process.argv[2];
|
|
12
|
-
const configPath = process.argv[3];
|
|
13
|
-
|
|
14
|
-
const simulator = new AWSLocalSimulator({
|
|
15
|
-
configPath: configPath ? path.resolve(process.cwd(), configPath) : undefined
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
async function main() {
|
|
19
|
-
switch (command) {
|
|
20
|
-
case 'start':
|
|
21
|
-
await simulator.start();
|
|
22
|
-
break;
|
|
23
|
-
|
|
24
|
-
case 'stop':
|
|
25
|
-
await simulator.stop();
|
|
26
|
-
break;
|
|
27
|
-
|
|
28
|
-
case 'restart':
|
|
29
|
-
await simulator.restart();
|
|
30
|
-
break;
|
|
31
|
-
|
|
32
|
-
case 'reset':
|
|
33
|
-
await simulator.reset();
|
|
34
|
-
break;
|
|
35
|
-
|
|
36
|
-
case 'status':
|
|
37
|
-
const status = simulator.getStatus();
|
|
38
|
-
console.log(JSON.stringify(status, null, 2));
|
|
39
|
-
break;
|
|
40
|
-
|
|
41
|
-
case 'help':
|
|
42
|
-
default:
|
|
43
|
-
console.log(`
|
|
44
|
-
AWS Local Simulator - CLI Commands:
|
|
45
|
-
start [configPath] - Inicia o simulador
|
|
46
|
-
stop - Para o simulador
|
|
47
|
-
restart - Reinicia o simulador
|
|
48
|
-
reset - Reseta todos os dados
|
|
49
|
-
status - Mostra status dos serviços
|
|
50
|
-
help - Mostra esta ajuda
|
|
51
|
-
|
|
52
|
-
Exemplos:
|
|
53
|
-
npx aws-local-simulator start
|
|
54
|
-
npx aws-local-simulator start ./my-config.json
|
|
55
|
-
AWS_LOCAL_SIMULATOR_LOG=verboso npx aws-local-simulator start
|
|
56
|
-
`);
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
main().catch(error => {
|
|
62
|
-
logger.error('Erro:', error);
|
|
63
|
-
process.exit(1);
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CLI para AWS Local Simulator
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const { AWSLocalSimulator } = require('../src/index');
|
|
8
|
+
const logger = require('../src/utils/logger');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
|
|
11
|
+
const command = process.argv[2];
|
|
12
|
+
const configPath = process.argv[3];
|
|
13
|
+
|
|
14
|
+
const simulator = new AWSLocalSimulator({
|
|
15
|
+
configPath: configPath ? path.resolve(process.cwd(), configPath) : undefined
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
async function main() {
|
|
19
|
+
switch (command) {
|
|
20
|
+
case 'start':
|
|
21
|
+
await simulator.start();
|
|
22
|
+
break;
|
|
23
|
+
|
|
24
|
+
case 'stop':
|
|
25
|
+
await simulator.stop();
|
|
26
|
+
break;
|
|
27
|
+
|
|
28
|
+
case 'restart':
|
|
29
|
+
await simulator.restart();
|
|
30
|
+
break;
|
|
31
|
+
|
|
32
|
+
case 'reset':
|
|
33
|
+
await simulator.reset();
|
|
34
|
+
break;
|
|
35
|
+
|
|
36
|
+
case 'status':
|
|
37
|
+
const status = simulator.getStatus();
|
|
38
|
+
console.log(JSON.stringify(status, null, 2));
|
|
39
|
+
break;
|
|
40
|
+
|
|
41
|
+
case 'help':
|
|
42
|
+
default:
|
|
43
|
+
console.log(`
|
|
44
|
+
AWS Local Simulator - CLI Commands:
|
|
45
|
+
start [configPath] - Inicia o simulador
|
|
46
|
+
stop - Para o simulador
|
|
47
|
+
restart - Reinicia o simulador
|
|
48
|
+
reset - Reseta todos os dados
|
|
49
|
+
status - Mostra status dos serviços
|
|
50
|
+
help - Mostra esta ajuda
|
|
51
|
+
|
|
52
|
+
Exemplos:
|
|
53
|
+
npx aws-local-simulator start
|
|
54
|
+
npx aws-local-simulator start ./my-config.json
|
|
55
|
+
AWS_LOCAL_SIMULATOR_LOG=verboso npx aws-local-simulator start
|
|
56
|
+
`);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
main().catch(error => {
|
|
62
|
+
logger.error('Erro:', error);
|
|
63
|
+
process.exit(1);
|
|
64
64
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gugananuvem/aws-local-simulator",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Simulador local completo para serviços AWS",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -109,6 +109,6 @@
|
|
|
109
109
|
"optional": true
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
|
-
"buildDate": "2026-
|
|
112
|
+
"buildDate": "2026-04-04T03:21:21.370Z",
|
|
113
113
|
"published": true
|
|
114
114
|
}
|