@gugananuvem/aws-local-simulator 1.0.31 → 1.0.34

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 (79) hide show
  1. package/README.md +834 -834
  2. package/aws-config +153 -153
  3. package/bin/aws-local-simulator.js +63 -63
  4. package/package.json +3 -2
  5. package/src/config/config-loader.js +114 -114
  6. package/src/config/default-config.js +79 -79
  7. package/src/config/env-loader.js +68 -68
  8. package/src/index.js +146 -146
  9. package/src/index.mjs +123 -123
  10. package/src/server.js +463 -463
  11. package/src/services/apigateway/index.js +75 -75
  12. package/src/services/apigateway/server.js +607 -607
  13. package/src/services/apigateway/simulator.js +1405 -1405
  14. package/src/services/athena/index.js +75 -75
  15. package/src/services/athena/server.js +101 -101
  16. package/src/services/athena/simulador.js +998 -998
  17. package/src/services/athena/simulator.js +346 -346
  18. package/src/services/cloudformation/index.js +106 -106
  19. package/src/services/cloudformation/server.js +417 -417
  20. package/src/services/cloudformation/simulador.js +1020 -1020
  21. package/src/services/cloudtrail/index.js +84 -84
  22. package/src/services/cloudtrail/server.js +235 -235
  23. package/src/services/cloudtrail/simulador.js +719 -719
  24. package/src/services/cloudwatch/index.js +84 -84
  25. package/src/services/cloudwatch/server.js +366 -366
  26. package/src/services/cloudwatch/simulador.js +1173 -1173
  27. package/src/services/cognito/index.js +79 -79
  28. package/src/services/cognito/server.js +297 -297
  29. package/src/services/cognito/simulator.js +1992 -1761
  30. package/src/services/config/index.js +96 -96
  31. package/src/services/config/server.js +215 -215
  32. package/src/services/config/simulador.js +1260 -1260
  33. package/src/services/dynamodb/index.js +74 -74
  34. package/src/services/dynamodb/server.js +139 -139
  35. package/src/services/dynamodb/simulator.js +1005 -982
  36. package/src/services/dynamodb/sqlite-store.js +722 -0
  37. package/src/services/ecs/index.js +65 -65
  38. package/src/services/ecs/server.js +235 -235
  39. package/src/services/ecs/simulator.js +844 -844
  40. package/src/services/eventbridge/index.js +89 -89
  41. package/src/services/eventbridge/server.js +209 -209
  42. package/src/services/eventbridge/simulator.js +684 -684
  43. package/src/services/index.js +45 -45
  44. package/src/services/kms/index.js +75 -75
  45. package/src/services/kms/server.js +81 -81
  46. package/src/services/kms/simulator.js +344 -344
  47. package/src/services/lambda/handler-loader.js +183 -183
  48. package/src/services/lambda/index.js +81 -81
  49. package/src/services/lambda/route-registry.js +274 -274
  50. package/src/services/lambda/server.js +191 -191
  51. package/src/services/lambda/simulator.js +364 -364
  52. package/src/services/parameter-store/index.js +80 -80
  53. package/src/services/parameter-store/server.js +50 -50
  54. package/src/services/parameter-store/simulator.js +201 -201
  55. package/src/services/s3/index.js +73 -73
  56. package/src/services/s3/server.js +350 -350
  57. package/src/services/s3/simulator.js +568 -568
  58. package/src/services/secret-manager/index.js +80 -80
  59. package/src/services/secret-manager/server.js +51 -51
  60. package/src/services/secret-manager/simulator.js +182 -182
  61. package/src/services/sns/index.js +89 -89
  62. package/src/services/sns/server.js +607 -607
  63. package/src/services/sns/simulator.js +1482 -1482
  64. package/src/services/sqs/index.js +98 -98
  65. package/src/services/sqs/server.js +360 -360
  66. package/src/services/sqs/simulator.js +509 -509
  67. package/src/services/sts/index.js +37 -37
  68. package/src/services/sts/server.js +144 -144
  69. package/src/services/sts/simulator.js +69 -69
  70. package/src/services/xray/index.js +83 -83
  71. package/src/services/xray/server.js +308 -308
  72. package/src/services/xray/simulador.js +994 -994
  73. package/src/template/aws-config-template.js +87 -87
  74. package/src/template/aws-config-template.mjs +90 -90
  75. package/src/template/config-template.json +203 -203
  76. package/src/utils/aws-config.js +91 -91
  77. package/src/utils/cloudtrail-audit.js +129 -129
  78. package/src/utils/local-store.js +83 -83
  79. package/src/utils/logger.js +59 -59
package/src/index.js CHANGED
@@ -1,147 +1,147 @@
1
- /**
2
- * AWS Local Simulator - Entry Point Principal
3
- */
4
-
5
- const Server = require('./server');
6
- const { loadConfig } = require('./config/config-loader');
7
- const logger = require('./utils/logger');
8
-
9
- // Exporta serviços para uso programático
10
- const DynamoDBService = require('./services/dynamodb');
11
- const S3Service = require('./services/s3');
12
- const SQSService = require('./services/sqs');
13
- const LambdaService = require('./services/lambda');
14
- const { SNSService } = require('./services/sns');
15
- const { EventBridgeService } = require('./services/eventbridge');
16
- const { CloudWatchService } = require('./services/cloudwatch');
17
- const CloudTrailService = require('./services/cloudtrail');
18
- const { KMSService } = require('./services/kms');
19
- const CloudFormationService = require('./services/cloudformation');
20
- const { XRayService } = require('./services/xray');
21
- const { SecretManagerService } = require('./services/secret-manager');
22
- const { ParameterStoreService } = require('./services/parameter-store');
23
- const { ConfigService } = require('./services/config');
24
-
25
- // Exporta utilitários
26
- const LocalStore = require('./utils/local-store');
27
- const HandlerLoader = require('./services/lambda/handler-loader');
28
- const RouteRegistry = require('./services/lambda/route-registry');
29
-
30
- class AWSLocalSimulator {
31
- constructor(options = {}) {
32
- this.options = options;
33
- this.server = null;
34
- this.isRunning = false;
35
- }
36
-
37
- async start() {
38
- if (this.isRunning) {
39
- logger.warn('Simulador já está rodando');
40
- return this;
41
- }
42
-
43
- try {
44
- const config = await loadConfig(this.options.configPath);
45
- this.server = new Server(config);
46
- await this.server.start();
47
- this.isRunning = true;
48
- logger.success('✅ AWS Local Simulator iniciado com sucesso');
49
- return this;
50
- } catch (error) {
51
- logger.error('❌ Erro ao iniciar simulador:', error);
52
- throw error;
53
- }
54
- }
55
-
56
- async stop() {
57
- if (!this.isRunning || !this.server) {
58
- logger.warn('Simulador não está rodando');
59
- return this;
60
- }
61
-
62
- try {
63
- await this.server.stop();
64
- this.isRunning = false;
65
- logger.info('🛑 AWS Local Simulator parado');
66
- return this;
67
- } catch (error) {
68
- logger.error('❌ Erro ao parar simulador:', error);
69
- throw error;
70
- }
71
- }
72
-
73
- async restart() {
74
- await this.stop();
75
- await this.start();
76
- return this;
77
- }
78
-
79
- async reset() {
80
- if (!this.server) {
81
- throw new Error('Simulador não iniciado');
82
- }
83
- await this.server.reset();
84
- logger.success('🗑️ Todos os dados foram resetados');
85
- return this;
86
- }
87
-
88
- getStatus() {
89
- if (!this.server) {
90
- return { running: false };
91
- }
92
- return {
93
- running: this.isRunning,
94
- services: this.server.getStatus()
95
- };
96
- }
97
-
98
- getService(serviceName) {
99
- if (!this.server) {
100
- return null;
101
- }
102
- return this.server.getService(serviceName);
103
- }
104
-
105
- // Métodos de conveniência
106
- getDynamoDB() {
107
- return this.getService('dynamodb')?.getSimulator();
108
- }
109
-
110
- getS3() {
111
- return this.getService('s3')?.getSimulator();
112
- }
113
-
114
- getSQS() {
115
- return this.getService('sqs')?.getSimulator();
116
- }
117
-
118
- getLambda() {
119
- return this.getService('lambda')?.getSimulator();
120
- }
121
- }
122
-
123
- // Exporta classes e utilitários
124
- module.exports = {
125
- AWSLocalSimulator,
126
- Server,
127
- DynamoDBService,
128
- S3Service,
129
- SQSService,
130
- LambdaService,
131
- SNSService,
132
- EventBridgeService,
133
- CloudWatchService,
134
- CloudTrailService,
135
- KMSService,
136
- CloudFormationService,
137
- XRayService,
138
- SecretManagerService,
139
- ParameterStoreService,
140
- ConfigService,
141
- LocalStore,
142
- HandlerLoader,
143
- RouteRegistry
144
- };
145
-
146
- // Exporta também como default para ES Modules compatibilidade
1
+ /**
2
+ * AWS Local Simulator - Entry Point Principal
3
+ */
4
+
5
+ const Server = require('./server');
6
+ const { loadConfig } = require('./config/config-loader');
7
+ const logger = require('./utils/logger');
8
+
9
+ // Exporta serviços para uso programático
10
+ const DynamoDBService = require('./services/dynamodb');
11
+ const S3Service = require('./services/s3');
12
+ const SQSService = require('./services/sqs');
13
+ const LambdaService = require('./services/lambda');
14
+ const { SNSService } = require('./services/sns');
15
+ const { EventBridgeService } = require('./services/eventbridge');
16
+ const { CloudWatchService } = require('./services/cloudwatch');
17
+ const CloudTrailService = require('./services/cloudtrail');
18
+ const { KMSService } = require('./services/kms');
19
+ const CloudFormationService = require('./services/cloudformation');
20
+ const { XRayService } = require('./services/xray');
21
+ const { SecretManagerService } = require('./services/secret-manager');
22
+ const { ParameterStoreService } = require('./services/parameter-store');
23
+ const { ConfigService } = require('./services/config');
24
+
25
+ // Exporta utilitários
26
+ const LocalStore = require('./utils/local-store');
27
+ const HandlerLoader = require('./services/lambda/handler-loader');
28
+ const RouteRegistry = require('./services/lambda/route-registry');
29
+
30
+ class AWSLocalSimulator {
31
+ constructor(options = {}) {
32
+ this.options = options;
33
+ this.server = null;
34
+ this.isRunning = false;
35
+ }
36
+
37
+ async start() {
38
+ if (this.isRunning) {
39
+ logger.warn('Simulador já está rodando');
40
+ return this;
41
+ }
42
+
43
+ try {
44
+ const config = await loadConfig(this.options.configPath);
45
+ this.server = new Server(config);
46
+ await this.server.start();
47
+ this.isRunning = true;
48
+ logger.success('✅ AWS Local Simulator iniciado com sucesso');
49
+ return this;
50
+ } catch (error) {
51
+ logger.error('❌ Erro ao iniciar simulador:', error);
52
+ throw error;
53
+ }
54
+ }
55
+
56
+ async stop() {
57
+ if (!this.isRunning || !this.server) {
58
+ logger.warn('Simulador não está rodando');
59
+ return this;
60
+ }
61
+
62
+ try {
63
+ await this.server.stop();
64
+ this.isRunning = false;
65
+ logger.info('🛑 AWS Local Simulator parado');
66
+ return this;
67
+ } catch (error) {
68
+ logger.error('❌ Erro ao parar simulador:', error);
69
+ throw error;
70
+ }
71
+ }
72
+
73
+ async restart() {
74
+ await this.stop();
75
+ await this.start();
76
+ return this;
77
+ }
78
+
79
+ async reset() {
80
+ if (!this.server) {
81
+ throw new Error('Simulador não iniciado');
82
+ }
83
+ await this.server.reset();
84
+ logger.success('🗑️ Todos os dados foram resetados');
85
+ return this;
86
+ }
87
+
88
+ getStatus() {
89
+ if (!this.server) {
90
+ return { running: false };
91
+ }
92
+ return {
93
+ running: this.isRunning,
94
+ services: this.server.getStatus()
95
+ };
96
+ }
97
+
98
+ getService(serviceName) {
99
+ if (!this.server) {
100
+ return null;
101
+ }
102
+ return this.server.getService(serviceName);
103
+ }
104
+
105
+ // Métodos de conveniência
106
+ getDynamoDB() {
107
+ return this.getService('dynamodb')?.getSimulator();
108
+ }
109
+
110
+ getS3() {
111
+ return this.getService('s3')?.getSimulator();
112
+ }
113
+
114
+ getSQS() {
115
+ return this.getService('sqs')?.getSimulator();
116
+ }
117
+
118
+ getLambda() {
119
+ return this.getService('lambda')?.getSimulator();
120
+ }
121
+ }
122
+
123
+ // Exporta classes e utilitários
124
+ module.exports = {
125
+ AWSLocalSimulator,
126
+ Server,
127
+ DynamoDBService,
128
+ S3Service,
129
+ SQSService,
130
+ LambdaService,
131
+ SNSService,
132
+ EventBridgeService,
133
+ CloudWatchService,
134
+ CloudTrailService,
135
+ KMSService,
136
+ CloudFormationService,
137
+ XRayService,
138
+ SecretManagerService,
139
+ ParameterStoreService,
140
+ ConfigService,
141
+ LocalStore,
142
+ HandlerLoader,
143
+ RouteRegistry
144
+ };
145
+
146
+ // Exporta também como default para ES Modules compatibilidade
147
147
  module.exports.default = AWSLocalSimulator;
package/src/index.mjs CHANGED
@@ -1,124 +1,124 @@
1
- /**
2
- * AWS Local Simulator - ES Module Entry Point
3
- */
4
-
5
- import Server from './server.js';
6
- import { loadConfig } from './config/config-loader.js';
7
- import logger from './utils/logger.js';
8
- import DynamoDBService from './services/dynamodb/index.js';
9
- import S3Service from './services/s3/index.js';
10
- import SQSService from './services/sqs/index.js';
11
- import LambdaService from './services/lambda/index.js';
12
- import SNSService from './services/sns/index.js';
13
- import EventBridgeService from './services/eventbridge/index.js';
14
- import LocalStore from './utils/local-store.js';
15
- import HandlerLoader from './services/lambda/handler-loader.js';
16
- import RouteRegistry from './services/lambda/route-registry.js';
17
-
18
- export class AWSLocalSimulator {
19
- constructor(options = {}) {
20
- this.options = options;
21
- this.server = null;
22
- this.isRunning = false;
23
- }
24
-
25
- async start() {
26
- if (this.isRunning) {
27
- logger.warn('Simulador já está rodando');
28
- return this;
29
- }
30
-
31
- try {
32
- const config = await loadConfig(this.options.configPath);
33
- this.server = new Server(config);
34
- await this.server.start();
35
- this.isRunning = true;
36
- logger.success('✅ AWS Local Simulator iniciado com sucesso');
37
- return this;
38
- } catch (error) {
39
- logger.error('❌ Erro ao iniciar simulador:', error);
40
- throw error;
41
- }
42
- }
43
-
44
- async stop() {
45
- if (!this.isRunning || !this.server) {
46
- logger.warn('Simulador não está rodando');
47
- return this;
48
- }
49
-
50
- try {
51
- await this.server.stop();
52
- this.isRunning = false;
53
- logger.info('🛑 AWS Local Simulator parado');
54
- return this;
55
- } catch (error) {
56
- logger.error('❌ Erro ao parar simulador:', error);
57
- throw error;
58
- }
59
- }
60
-
61
- async restart() {
62
- await this.stop();
63
- await this.start();
64
- return this;
65
- }
66
-
67
- async reset() {
68
- if (!this.server) {
69
- throw new Error('Simulador não iniciado');
70
- }
71
- await this.server.reset();
72
- logger.success('🗑️ Todos os dados foram resetados');
73
- return this;
74
- }
75
-
76
- getStatus() {
77
- if (!this.server) {
78
- return { running: false };
79
- }
80
- return {
81
- running: this.isRunning,
82
- services: this.server.getStatus()
83
- };
84
- }
85
-
86
- getService(serviceName) {
87
- if (!this.server) {
88
- return null;
89
- }
90
- return this.server.getService(serviceName);
91
- }
92
-
93
- getDynamoDB() {
94
- return this.getService('dynamodb')?.getSimulator();
95
- }
96
-
97
- getS3() {
98
- return this.getService('s3')?.getSimulator();
99
- }
100
-
101
- getSQS() {
102
- return this.getService('sqs')?.getSimulator();
103
- }
104
-
105
- getLambda() {
106
- return this.getService('lambda')?.getSimulator();
107
- }
108
- }
109
-
110
- // Exporta classes e utilitários
111
- export {
112
- Server,
113
- DynamoDBService,
114
- S3Service,
115
- SQSService,
116
- LambdaService,
117
- SNSService,
118
- EventBridgeService,
119
- LocalStore,
120
- HandlerLoader,
121
- RouteRegistry
122
- };
123
-
1
+ /**
2
+ * AWS Local Simulator - ES Module Entry Point
3
+ */
4
+
5
+ import Server from './server.js';
6
+ import { loadConfig } from './config/config-loader.js';
7
+ import logger from './utils/logger.js';
8
+ import DynamoDBService from './services/dynamodb/index.js';
9
+ import S3Service from './services/s3/index.js';
10
+ import SQSService from './services/sqs/index.js';
11
+ import LambdaService from './services/lambda/index.js';
12
+ import SNSService from './services/sns/index.js';
13
+ import EventBridgeService from './services/eventbridge/index.js';
14
+ import LocalStore from './utils/local-store.js';
15
+ import HandlerLoader from './services/lambda/handler-loader.js';
16
+ import RouteRegistry from './services/lambda/route-registry.js';
17
+
18
+ export class AWSLocalSimulator {
19
+ constructor(options = {}) {
20
+ this.options = options;
21
+ this.server = null;
22
+ this.isRunning = false;
23
+ }
24
+
25
+ async start() {
26
+ if (this.isRunning) {
27
+ logger.warn('Simulador já está rodando');
28
+ return this;
29
+ }
30
+
31
+ try {
32
+ const config = await loadConfig(this.options.configPath);
33
+ this.server = new Server(config);
34
+ await this.server.start();
35
+ this.isRunning = true;
36
+ logger.success('✅ AWS Local Simulator iniciado com sucesso');
37
+ return this;
38
+ } catch (error) {
39
+ logger.error('❌ Erro ao iniciar simulador:', error);
40
+ throw error;
41
+ }
42
+ }
43
+
44
+ async stop() {
45
+ if (!this.isRunning || !this.server) {
46
+ logger.warn('Simulador não está rodando');
47
+ return this;
48
+ }
49
+
50
+ try {
51
+ await this.server.stop();
52
+ this.isRunning = false;
53
+ logger.info('🛑 AWS Local Simulator parado');
54
+ return this;
55
+ } catch (error) {
56
+ logger.error('❌ Erro ao parar simulador:', error);
57
+ throw error;
58
+ }
59
+ }
60
+
61
+ async restart() {
62
+ await this.stop();
63
+ await this.start();
64
+ return this;
65
+ }
66
+
67
+ async reset() {
68
+ if (!this.server) {
69
+ throw new Error('Simulador não iniciado');
70
+ }
71
+ await this.server.reset();
72
+ logger.success('🗑️ Todos os dados foram resetados');
73
+ return this;
74
+ }
75
+
76
+ getStatus() {
77
+ if (!this.server) {
78
+ return { running: false };
79
+ }
80
+ return {
81
+ running: this.isRunning,
82
+ services: this.server.getStatus()
83
+ };
84
+ }
85
+
86
+ getService(serviceName) {
87
+ if (!this.server) {
88
+ return null;
89
+ }
90
+ return this.server.getService(serviceName);
91
+ }
92
+
93
+ getDynamoDB() {
94
+ return this.getService('dynamodb')?.getSimulator();
95
+ }
96
+
97
+ getS3() {
98
+ return this.getService('s3')?.getSimulator();
99
+ }
100
+
101
+ getSQS() {
102
+ return this.getService('sqs')?.getSimulator();
103
+ }
104
+
105
+ getLambda() {
106
+ return this.getService('lambda')?.getSimulator();
107
+ }
108
+ }
109
+
110
+ // Exporta classes e utilitários
111
+ export {
112
+ Server,
113
+ DynamoDBService,
114
+ S3Service,
115
+ SQSService,
116
+ LambdaService,
117
+ SNSService,
118
+ EventBridgeService,
119
+ LocalStore,
120
+ HandlerLoader,
121
+ RouteRegistry
122
+ };
123
+
124
124
  export default AWSLocalSimulator;