@fluwa-tool/sdk 1.0.53 → 1.0.54

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/dist/index.d.ts CHANGED
@@ -9,21 +9,10 @@
9
9
  import { FluwaConfig } from './types';
10
10
  /**
11
11
  * Inicializar Fluwa-Tool
12
- * Deve ser chamado no início da aplicação
13
12
  */
14
13
  export declare function initFluwaTool(partialConfig?: Partial<FluwaConfig>): Promise<void>;
15
- /**
16
- * Desativar Fluwa
17
- */
18
14
  export declare function disableFluwaTool(): void;
19
- /**
20
- * Habilitar Fluwa
21
- */
22
15
  export declare function enableFluwaTool(): Promise<void>;
23
- /**
24
- * Verificar se Fluwa está ativo
25
- */
26
- export declare function isFluwaTooIialized(): boolean;
27
16
  export * from './types';
28
17
  export { Logger, LogLevel } from './core/Logger';
29
18
  export { ConfigManager } from './core/Config';
package/dist/index.js CHANGED
@@ -26,7 +26,6 @@ exports.FLUWA_INTERNAL_PATHS = exports.createFluwaSdkFilter = exports.UrlFilter
26
26
  exports.initFluwaTool = initFluwaTool;
27
27
  exports.disableFluwaTool = disableFluwaTool;
28
28
  exports.enableFluwaTool = enableFluwaTool;
29
- exports.isFluwaTooIialized = isFluwaTooIialized;
30
29
  const types_1 = require("./types");
31
30
  const Logger_1 = require("./core/Logger");
32
31
  const Config_1 = require("./core/Config");
@@ -38,9 +37,6 @@ const RequestLogger_1 = require("./features/network/RequestLogger");
38
37
  const MockResolver_1 = require("./features/network/MockResolver");
39
38
  const UrlFilter_1 = require("./features/network/UrlFilter");
40
39
  const IdGenerator_1 = require("./core/IdGenerator");
41
- // ============================================
42
- // ESTADO GLOBAL
43
- // ============================================
44
40
  let isInitialized = false;
45
41
  let logger = Logger_1.defaultLogger;
46
42
  let config;
@@ -51,12 +47,8 @@ let fetchInterceptor;
51
47
  let xmlHttpRequestInterceptor;
52
48
  let mockResolver;
53
49
  let urlFilter = null; // URL filter para evitar loops infinitos
54
- // ============================================
55
- // INICIALIZAÇÃO
56
- // ============================================
57
50
  /**
58
51
  * Inicializar Fluwa-Tool
59
- * Deve ser chamado no início da aplicação
60
52
  */
61
53
  async function initFluwaTool(partialConfig = {}) {
62
54
  if (isInitialized) {
@@ -64,41 +56,25 @@ async function initFluwaTool(partialConfig = {}) {
64
56
  return;
65
57
  }
66
58
  try {
67
- // 1. Configurar
68
59
  config = (0, Config_1.getConfigManager)(partialConfig);
69
60
  logger = new Logger_1.Logger('Fluwa', config.getConfig().debug ? Logger_1.LogLevel.DEBUG : Logger_1.LogLevel.INFO);
70
61
  logger.success('Inicializando Fluwa-Tool');
71
- logger.debug('Configuração', config.getConfig());
72
62
  if (!config.isEnabled()) {
73
63
  logger.warn('Fluwa desativado via config.enabled=false');
74
64
  return;
75
65
  }
76
- // 2. Gerar session ID
77
66
  sessionId = IdGenerator_1.idGenerator.generate();
78
- logger.debug(`Session ID: ${sessionId}`);
79
- // 3. Criar clientes HTTP e WebSocket
80
67
  const { requestTimeout, serverUrl } = config.getConfig();
81
68
  httpClient = new HttpClient_1.HttpClient(serverUrl, logger, requestTimeout || 5000);
82
69
  wsClient = new WebSocketClient_1.WebSocketClient(serverUrl, logger, config.getAppName());
83
- // 4. Criar resolvedor de mocks
84
70
  mockResolver = new MockResolver_1.MockResolver(httpClient, logger);
85
- // 5. Criar logger de requisições
86
71
  const requestLogger = new RequestLogger_1.RequestLogger(httpClient, logger);
87
- // 6. ✅ Criar URL Filter para evitar loops infinitos
88
- // Automatically excludes Fluwa server URLs and internal endpoints
89
72
  const { excludedUrls } = config.getConfig();
90
73
  urlFilter = (0, UrlFilter_1.createFluwaSdkFilter)(serverUrl, excludedUrls, config.getConfig().debug);
91
- logger.debug(`URL Filter configurado com ${urlFilter.getExcludedPatterns().length} padrões excluídos`);
92
- // 7. Criar interceptador de fetch
93
74
  fetchInterceptor = new FetchInterceptor_1.FetchInterceptor(logger, requestLogger, mockResolver, sessionId, config.getAppName(), urlFilter);
94
- // 7b. Criar interceptador de XMLHttpRequest (DESABILITADO)
95
- // axios agora usa fetch via configureAxiosToUseFetch(), então não precisa mais de XHR
96
75
  xmlHttpRequestInterceptor = new XMLHttpRequestInterceptor_1.XMLHttpRequestInterceptor(logger, requestLogger, mockResolver, sessionId, config.getAppName(), urlFilter);
97
- // 8. Instalar interceptadores
98
76
  fetchInterceptor.install();
99
- xmlHttpRequestInterceptor.install(); // ✅ Re-ativado - axios em React Native usa XMLHttpRequest
100
- // 9. Conectar WebSocket
101
- logger.debug('Conectando ao WebSocket...');
77
+ xmlHttpRequestInterceptor.install();
102
78
  try {
103
79
  await wsClient.connect();
104
80
  setupWebSocketListeners();
@@ -106,7 +82,6 @@ async function initFluwaTool(partialConfig = {}) {
106
82
  catch (error) {
107
83
  logger.warn('Falha ao conectar WebSocket, continuando em modo offline', error);
108
84
  }
109
- // 10. Enviar init session
110
85
  wsClient.send({
111
86
  type: types_1.WebSocketMessageType.INIT_SESSION,
112
87
  sessionId,
@@ -120,9 +95,6 @@ async function initFluwaTool(partialConfig = {}) {
120
95
  throw error;
121
96
  }
122
97
  }
123
- /**
124
- * Configurar listeners do WebSocket
125
- */
126
98
  function setupWebSocketListeners() {
127
99
  wsClient.on('message', (message) => {
128
100
  try {
@@ -141,12 +113,6 @@ function setupWebSocketListeners() {
141
113
  logger.error('Erro no WebSocket', error);
142
114
  });
143
115
  }
144
- // ============================================
145
- // CONTROLE
146
- // ============================================
147
- /**
148
- * Desativar Fluwa
149
- */
150
116
  function disableFluwaTool() {
151
117
  if (!isInitialized) {
152
118
  return;
@@ -157,9 +123,6 @@ function disableFluwaTool() {
157
123
  isInitialized = false;
158
124
  logger.success('Fluwa-Tool desativado');
159
125
  }
160
- /**
161
- * Habilitar Fluwa
162
- */
163
126
  async function enableFluwaTool() {
164
127
  if (isInitialized) {
165
128
  return;
@@ -175,15 +138,6 @@ async function enableFluwaTool() {
175
138
  isInitialized = true;
176
139
  logger.success('Fluwa-Tool habilitado');
177
140
  }
178
- /**
179
- * Verificar se Fluwa está ativo
180
- */
181
- function isFluwaTooIialized() {
182
- return isInitialized;
183
- }
184
- // ============================================
185
- // EXPORTS
186
- // ============================================
187
141
  __exportStar(require("./types"), exports);
188
142
  var Logger_2 = require("./core/Logger");
189
143
  Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_2.Logger; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluwa-tool/sdk",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "description": "Fluwa DevTools SDK for network interception and mocking",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",