@syntropysoft/syntropyfront 0.4.6 → 0.4.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.
Files changed (4) hide show
  1. package/CHANGELOG.md +458 -0
  2. package/NOTICE +1 -1
  3. package/README.md +5 -3
  4. package/package.json +18 -26
package/CHANGELOG.md ADDED
@@ -0,0 +1,458 @@
1
+ ## [0.4.7] - 2026-03-01
2
+
3
+ ### Changed
4
+ - **Package**: Include `CHANGELOG.md` in published `files` (Socket.dev / maintainability).
5
+ - **README**: Coverage badge and Quality Metrics set to 87%; "future version" wording for 0.5.0; explicit **Network access** note (data only to configured endpoint).
6
+
7
+ ---
8
+
9
+ ## [0.4.6] - 2026-03-01
10
+
11
+ ### Fixed
12
+ - **ClickInterceptor**: Removed invalid CSS selector `[@click]` that caused `closest()` to throw in the browser. Wrapped `closest()` in try/catch so invalid selectors (e.g. from cached bundles) fall back to cursor:pointer detection instead of breaking the app.
13
+
14
+ ---
15
+
16
+ ## [0.4.5] - 2026-03-01
17
+
18
+ ### Added
19
+ - **Architecture review**: `docs/ARCHITECTURE_REVIEW.md` (internal analysis in Spanish).
20
+ - **DIP & refactor**: Injected deps in SerializationManager and PersistentBufferManager; RobustSerializer split into pure shape/restore helpers; JSDoc contracts on Agent, QueueManager, RetryManager, HttpTransport.
21
+ - **New modules**: DataMaskingManager, Environment, FunctionWrapper; ClickInterceptor, FetchInterceptor, ErrorInterceptor.
22
+
23
+ ### Fixed
24
+ - **RetryManager**: `scheduleRetry` now passes send/remove callbacks so automatic retries persist correctly.
25
+ - **BreadcrumbStore**: Decoupled from Agent via `onBreadcrumbAdded`; facade wires batchTimeout.
26
+ - **RobustSerializer**: ESLint compliance (no-magic-numbers, complexity ≤10, max-len); guard for `makeSerializable(null|undefined)`; DataMaskingManager ANSI regex (intentional control char) with eslint-disable.
27
+ - **CI**: Lint errors resolved (indent and rules); tests updated for English messages and behaviour.
28
+
29
+ ### Changed
30
+ - **Codebase**: All source comments, JSDoc, console messages and error strings in English.
31
+ - **Tests**: Behaviour-focused assertions; expectations aligned with refactor and i18n.
32
+
33
+ ---
34
+
35
+ ## [0.4.4] - 2026-03-01
36
+
37
+ ### Added
38
+ - **Community Health**: Added `CONTRIBUTING.md`, `SECURITY.md`, and `CODE_OF_CONDUCT.md` to establish community standards and security disclosure policies.
39
+ - **Project Configuration**: Added `.editorconfig` for consistent development environment.
40
+
41
+ ### Changed
42
+ - **Package Metadata**: Updated `package.json` to include new community documentation files in the published package.
43
+
44
+ ## [0.4.3] - 2026-03-01
45
+
46
+ ### Added
47
+ - **Legal Compliance**: Standardized `LICENSE` file with official Apache-2.0 verbatim text and added official `NOTICE` file.
48
+ - **Improved CJS Support**: Fixed `exports` mapping in `package.json` to correctly point to `dist/index.cjs`.
49
+
50
+ ## [0.4.2] - 2026-03-01
51
+
52
+ ### Added
53
+ - **TypeScript Support**: Added comprehensive type definitions (`index.d.ts`) for native autocompletion and better developer experience.
54
+
55
+ ### Fixed
56
+ - **Supply Chain Security**: Preliminary fix for `LICENSE` placeholders and standardized internal scripts to use `pnpm`.
57
+ - **Package Metadata**: Fixed missing type declarations in the distributed bundle.
58
+
59
+ ## [0.4.1] - 2026-03-01
60
+
61
+ ### Fixed
62
+ - **Security Vulnerabilities**: Resolved high-severity RCE and ReDoS vulnerabilities in devDependencies (`serialize-javascript`, `ajv`, `tmp`).
63
+ - **Dependency Overrides**: Forced `serialize-javascript@7.0.3` to ensure a secure build environment.
64
+
65
+ ### Changed
66
+ - **Node.js Engine**: Upgraded minimum required version to **Node >=20.0.0** to support secure dependency requirements (WebCrypto) natively.
67
+
68
+ ## [0.4.0] - 2026-03-01
69
+
70
+ ### Added
71
+ - **Modular Architecture (Facade)**: Refactored the main entry point to delegate responsibilities to specialized components (`Agent`, `Interceptors`).
72
+ - **Automatic Resilience**: The system now automatically recovers and retries sending failed data from previous sessions stored in IndexedDB upon initialization.
73
+ - **Event Throttling**: Implemented a 500ms throttle for click capture to reduce event noise.
74
+ - **Smart Click Filtering**: Only captures clicks on interactive elements (buttons, links, etc.), significantly improving breadcrumb quality.
75
+
76
+ ### Changed
77
+ - Removed the `flatted` external dependency in favor of our own `RobustSerializer`.
78
+ - Improved global error capture robustness using the Chaining Pattern.
79
+
80
+ ## [0.3.0] - 2024-12-19
81
+
82
+ ### 🚀 **Major Performance & Bundle Optimizations**
83
+
84
+ #### **Dependency Cleanup & Bundle Size Reduction**
85
+ - **Massive Dependency Reduction**: Removed 45+ unnecessary packages
86
+ - **Eliminated Unused Dependencies**: Removed `@stryker-mutator/vitest-runner` (using Jest only)
87
+ - **Streamlined Stryker Setup**: Kept only essential packages (`core` and `jest-runner`)
88
+ - **Bundle Size Optimization**: Significantly reduced final bundle size
89
+ - **Faster Installation**: Reduced npm install time and disk usage
90
+
91
+ #### **CI/CD & Dependabot Improvements**
92
+ - **Smart Dependabot Configuration**: Added selective ignore for Stryker packages
93
+ - **Prevented Incompatible Updates**: Dependabot no longer suggests Node.js >=20 incompatible updates
94
+ - **Maintained Compatibility**: Full Node.js 18, 20, 22 compatibility preserved
95
+ - **Stable CI Pipeline**: Eliminated CI failures from incompatible dependency updates
96
+ - **Consistent Workflow Matrix**: All workflows now use consistent Node.js version testing
97
+
98
+ #### **Development Experience Enhancements**
99
+ - **Cleaner Package Structure**: Only 1 runtime dependency (`flatted` for serialization)
100
+ - **Optimized DevDependencies**: All testing tools properly categorized
101
+ - **Faster Development**: Reduced cognitive load and setup complexity
102
+ - **Better Maintenance**: Easier to maintain and update dependencies
103
+
104
+ ### 🔧 **Technical Improvements**
105
+
106
+ #### **Dependency Management**
107
+ - **Runtime Dependencies**: Reduced from multiple to just 1 essential dependency
108
+ - **DevDependencies**: Properly categorized all development tools
109
+ - **Package Lock**: Optimized and cleaned up dependency tree
110
+ - **Security**: Maintained all security benefits while reducing complexity
111
+
112
+ #### **Testing Infrastructure**
113
+ - **Mutation Testing**: Maintained full Stryker functionality with Jest
114
+ - **Test Coverage**: All 485 tests continue to pass
115
+ - **CI Stability**: Eliminated flaky CI builds from dependency conflicts
116
+ - **Cross-Node Testing**: Full compatibility across Node.js 18, 20, 22
117
+
118
+ ### 🎯 **No Breaking Changes**
119
+ - **Public API**: All public APIs remain unchanged
120
+ - **Configuration**: Existing configurations continue to work
121
+ - **Migration**: No migration required for existing users
122
+ - **Functionality**: All features work exactly as before
123
+
124
+ ### 📦 **Installation & Usage**
125
+ - **Faster Installation**: Reduced package size and dependencies
126
+ - **Better Performance**: Optimized bundle size for production
127
+ - **Same API**: Identical usage patterns and configuration options
128
+
129
+ ---
130
+
131
+ ## [0.2.4] - 2024-08-02
132
+
133
+ ### 🎨 **UI/UX Improvements**
134
+
135
+ #### **Vue Example Simplification**
136
+ - **Complete UI Overhaul**: Simplified Vue example from 447 lines to clean, modern design
137
+ - **Official Vue Branding**: Implemented official Vue.js colors (#42b883, #35495e, #42d392)
138
+ - **Architecture Fix**: Replaced hardcoded HTML with proper Vite + Vue SFC architecture
139
+ - **Code Reduction**: Eliminated 535+ lines of unnecessary complexity
140
+ - **Modern Design**: Clean, professional UI matching React example simplicity
141
+
142
+ #### **Example Improvements**
143
+ - **Simplified Documentation**: Removed verbose explanations, kept essential information
144
+ - **Better UX**: Improved button layouts and responsive design
145
+ - **Consistent Branding**: Unified color scheme across all examples
146
+ - **Maintained Functionality**: All SyntropyFront features work perfectly
147
+
148
+ ### 🔧 **Infrastructure & Compatibility**
149
+
150
+ #### **GitHub Actions Updates**
151
+ - **Deprecation Fixes**: Updated all deprecated GitHub Actions to latest versions
152
+ - **Actions Updated**:
153
+ - `actions/upload-artifact@v3` → `@v4`
154
+ - `codecov/codecov-action@v3` → `@v4`
155
+ - **CI/CD Compatibility**: Ensured compatibility with latest GitHub Actions runner (2.327.1)
156
+ - **Workflow Files Updated**:
157
+ - `.github/workflows/test.yml`
158
+ - `.github/workflows/mutation-test.yml`
159
+ - `.github/workflows/ci.yml`
160
+ - `.github/workflows/quality.yml`
161
+
162
+ #### **Node.js Compatibility**
163
+ - **Multi-Node Support**: Full compatibility with Node 18, 20, and 22
164
+ - **ESLint Configuration**: Fixed Node 20+ ES modules compatibility
165
+ - Renamed `.eslintrc.js` → `.eslintrc.cjs`
166
+ - Removed conflicting `.eslintrc.json`
167
+ - **Test Timing Fixes**: Resolved timing-sensitive test failures in Node 22
168
+ - Increased timing tolerance from 1ms to 50-100ms
169
+ - Fixed exponential backoff delay tests
170
+ - Maintained test accuracy while improving compatibility
171
+
172
+ #### **Code Quality Improvements**
173
+ - **Indentation Fixes**: Fixed 2106+ indentation errors with `eslint --fix`
174
+ - **Error Reduction**: Reduced from 2202 problems to 95 warnings only
175
+ - **Consistent Formatting**: Standardized 2-space indentation across codebase
176
+ - **Linting Compliance**: 100% ESLint compliance with modern standards
177
+
178
+ ### 🧪 **Testing Enhancements**
179
+
180
+ #### **Test Compatibility**
181
+ - **Cross-Node Testing**: All 484 tests pass in Node 18, 20, and 22
182
+ - **Timing Tolerance**: Improved test reliability across different Node versions
183
+ - **Test Files Updated**:
184
+ - `tests/retryManager.test.js` - Fixed timing-sensitive tests
185
+ - `tests/agent.test.js` - Improved retry delay assertions
186
+ - **Test Results**: 484 passed, 1 skipped (by design), 0 failed
187
+
188
+ #### **CI/CD Pipeline**
189
+ - **Automated Testing**: GitHub Actions now work seamlessly across all Node versions
190
+ - **Quality Gates**: Maintained high test coverage and mutation scores
191
+ - **Artifact Management**: Updated artifact upload/download processes
192
+
193
+ ### 🚀 **Developer Experience**
194
+
195
+ #### **Simplified Development**
196
+ - **Clean Examples**: Developers can now focus on functionality, not complexity
197
+ - **Modern Tooling**: Updated to latest stable versions of all tools
198
+ - **Better Documentation**: Clearer, more focused examples
199
+ - **Faster Setup**: Reduced cognitive load for new developers
200
+
201
+ #### **Maintenance Improvements**
202
+ - **Reduced Complexity**: Eliminated unnecessary code and configurations
203
+ - **Better Organization**: Cleaner file structure and naming conventions
204
+ - **Future-Proof**: Ready for upcoming Node.js and tooling updates
205
+
206
+ ### 🐛 **Bug Fixes**
207
+ - **ESLint Configuration Conflicts**: Resolved multiple ESLint config file conflicts
208
+ - **Node 22 Timing Issues**: Fixed test failures due to precise timing in Node 22
209
+ - **GitHub Actions Deprecation**: Eliminated deprecation warnings in CI/CD
210
+ - **Import Path Issues**: Fixed module resolution in different Node versions
211
+
212
+ ### 📦 **Dependencies & Tools**
213
+ - **Updated Actions**: Latest GitHub Actions for better security and performance
214
+ - **Node Compatibility**: Full support for current and future Node.js versions
215
+ - **Build Tools**: Improved compatibility with modern development environments
216
+
217
+ ### 🎯 **No Breaking Changes**
218
+ - **Public API**: All public APIs remain unchanged
219
+ - **Configuration**: Existing configurations continue to work
220
+ - **Migration**: No migration required for existing users
221
+
222
+ ---
223
+
224
+ ## [0.2.3] - 2024-08-02
225
+
226
+ ### 🎉 Major Refactoring & Architecture Improvements
227
+
228
+ #### 🏗️ **Architecture Overhaul**
229
+ - **Complete SRP Refactoring**: Broke down monolithic classes into focused, single-responsibility components
230
+ - **Modular Structure**: Reorganized codebase into logical folders for better maintainability
231
+ - **Dependency Injection**: Implemented proper dependency injection patterns throughout the codebase
232
+
233
+ #### 📁 **New Folder Structure**
234
+ ```
235
+ src/core/
236
+ ├── agent/ # Core Agent components
237
+ ├── database/ # IndexedDB management
238
+ ├── retry/ # Retry system
239
+ ├── persistent/ # Persistent buffer
240
+ ├── breadcrumbs/ # Event tracking
241
+ ├── context/ # Context collection
242
+ └── utils/ # Utilities
243
+ ```
244
+
245
+ #### 🔧 **Component Refactoring**
246
+
247
+ ##### **Agent.js** → Coordinator Pattern
248
+ - **Before**: Monolithic class handling configuration, queuing, HTTP, retries, and persistence
249
+ - **After**: Coordinator that delegates to specialized managers
250
+ - **New Components**:
251
+ - `ConfigurationManager.js` - Configuration handling
252
+ - `QueueManager.js` - Batching and queuing logic
253
+ - `HttpTransport.js` - HTTP communication
254
+ - `RetryManager.js` - Retry coordination
255
+ - `PersistentBufferManager.js` - Buffer management
256
+
257
+ ##### **DatabaseManager.js** → Specialized Managers
258
+ - **Before**: Single class handling connection, configuration, and transactions
259
+ - **After**: Coordinator with specialized managers
260
+ - **New Components**:
261
+ - `DatabaseConfigManager.js` - Configuration and validation
262
+ - `DatabaseConnectionManager.js` - Connection lifecycle
263
+ - `DatabaseTransactionManager.js` - Transaction management
264
+
265
+ ##### **StorageManager.js** → Pure CRUD + Serialization
266
+ - **Before**: Mixed CRUD operations with serialization logic
267
+ - **After**: Pure CRUD operations with separate serialization manager
268
+ - **New Component**: `SerializationManager.js` - Declarative serialization with error handling
269
+
270
+ ##### **PersistentBufferManager.js** → Coordinator Pattern
271
+ - **Before**: Direct IndexedDB operations
272
+ - **After**: Coordinator delegating to specialized components
273
+ - **New Component**: `RetryLogicManager.js` - Retry logic and cleanup
274
+
275
+ #### 🧪 **Testing Improvements**
276
+
277
+ ##### **Comprehensive Test Suite**
278
+ - **Total Tests**: 484 tests (1 skipped)
279
+ - **Test Coverage**: 92.22% (up from ~80%)
280
+ - **Mutation Score**: 77.60% (up from 68.55%)
281
+ - **New Test Files**: 15+ new test files for refactored components
282
+
283
+ ##### **Test Organization**
284
+ - **Component-Specific Tests**: Each new component has dedicated test file
285
+ - **Mock Improvements**: Better mocking strategies for IndexedDB and HTTP
286
+ - **Timeout Optimization**: Reduced test timeouts for faster execution (500ms vs 5000ms)
287
+
288
+ #### 🚀 **Performance Optimizations**
289
+
290
+ ##### **Timeout Optimizations**
291
+ - **Test Timeouts**: Reduced from 5000ms to 500ms
292
+ - **Batch Timeouts**: Reduced from 1000ms to 500ms
293
+ - **Stryker Timeouts**: Optimized for faster mutation testing
294
+ - **Build Speed**: Improved compilation time (153ms vs ~200ms)
295
+
296
+ ##### **Memory & Processing**
297
+ - **Queue Management**: Optimized batching and flushing logic
298
+ - **Retry System**: Improved exponential backoff implementation
299
+ - **Serialization**: More efficient circular reference handling
300
+
301
+ #### 🔍 **Quality Assurance**
302
+
303
+ ##### **Mutation Testing Results**
304
+ - **Overall Score**: 77.60% (excellent)
305
+ - **Perfect Scores (100%)**:
306
+ - `ConfigurationManager.js`
307
+ - `BreadcrumbManager.js`
308
+ - `BreadcrumbStore.js`
309
+ - `SerializationManager.js`
310
+ - `DatabaseTransactionManager.js`
311
+ - `ErrorManager.js`
312
+ - `Logger.js`
313
+
314
+ ##### **Code Quality Metrics**
315
+ - **Statements**: 92.22% covered
316
+ - **Branches**: 87.94% covered
317
+ - **Functions**: 92.24% covered
318
+ - **Lines**: 92.35% covered
319
+
320
+ #### 🛠️ **Developer Experience**
321
+
322
+ ##### **CI/CD Pipeline**
323
+ - **GitHub Actions**: Automated testing, linting, and mutation testing
324
+ - **Quality Gates**: Automated PR comments with coverage and mutation scores
325
+ - **Artifact Uploads**: Test reports and coverage data
326
+ - **Auto-Issues**: Automatic issue creation for low mutation scores
327
+
328
+ ##### **Code Quality Tools**
329
+ - **ESLint**: Comprehensive linting rules
330
+ - **Jest**: Optimized test configuration
331
+ - **Stryker**: Mutation testing with quick and full configurations
332
+ - **Codecov**: Coverage reporting and visualization
333
+
334
+ #### 📦 **Infrastructure**
335
+
336
+ ##### **Build System**
337
+ - **Rollup**: Optimized bundling configuration
338
+ - **Multiple Formats**: ES modules, CommonJS, and minified versions
339
+ - **Tree Shaking**: Improved dead code elimination
340
+
341
+ ##### **Package Management**
342
+ - **Removed NPM Release Script**: Cleaner package.json
343
+ - **Updated Dependencies**: Latest stable versions
344
+ - **Type Module**: Proper ES module configuration
345
+
346
+ #### 🔧 **Configuration & Scripts**
347
+
348
+ ##### **New NPM Scripts**
349
+ ```json
350
+ {
351
+ "test": "jest",
352
+ "test:coverage": "jest --config jest.config.coverage.cjs",
353
+ "test:mutation": "stryker run",
354
+ "test:mutation:quick": "stryker run stryker.quick.conf.json",
355
+ "lint": "eslint src --ext .js",
356
+ "lint:fix": "eslint src --ext .js --fix"
357
+ }
358
+ ```
359
+
360
+ ##### **Configuration Files**
361
+ - **Jest Configs**: Separate configs for tests and coverage
362
+ - **Stryker Configs**: Quick and full mutation testing configs
363
+ - **ESLint Config**: Comprehensive code quality rules
364
+
365
+ #### 🐛 **Bug Fixes**
366
+ - **Import Path Issues**: Fixed all import paths after refactoring
367
+ - **Test Mocking**: Improved IndexedDB and HTTP mocking
368
+ - **Timeout Issues**: Resolved test timing problems
369
+ - **Circular Dependencies**: Eliminated circular import issues
370
+
371
+ #### 📚 **Documentation**
372
+ - **Updated README**: New architecture section and updated metrics
373
+ - **API Documentation**: Improved method documentation
374
+ - **Examples**: Enhanced usage examples
375
+ - **Changelog**: Comprehensive change tracking
376
+
377
+ ### 🎯 **Breaking Changes**
378
+ - **Import Paths**: Updated import paths for refactored components
379
+ - **Configuration**: Some internal configuration methods changed
380
+ - **API**: Public API remains stable, internal structure improved
381
+
382
+ ### 🚀 **Migration Guide**
383
+ No migration required for end users. All public APIs remain unchanged.
384
+
385
+ ---
386
+
387
+ ## [0.2.2] - 2024-08-01
388
+
389
+ ### 🐛 Bug Fixes
390
+ - Fixed IndexedDB connection issues in some browsers
391
+ - Improved error handling for network failures
392
+ - Enhanced console logging for debugging
393
+
394
+ ### 📈 Performance
395
+ - Optimized memory usage for large event collections
396
+ - Improved serialization performance
397
+
398
+ ---
399
+
400
+ ## [0.2.1] - 2024-07-31
401
+
402
+ ### ✨ New Features
403
+ - Added persistent buffer for failed requests
404
+ - Implemented exponential backoff retry mechanism
405
+ - Enhanced error context collection
406
+
407
+ ### 🔧 Improvements
408
+ - Better handling of circular references in serialization
409
+ - Improved fetch interception reliability
410
+ - Enhanced breadcrumb data structure
411
+
412
+ ---
413
+
414
+ ## [0.2.0] - 2024-07-30
415
+
416
+ ### 🎉 Major Release
417
+ - Complete rewrite with modular architecture
418
+ - Improved error handling and context collection
419
+ - Enhanced configuration options
420
+ - Better browser compatibility
421
+
422
+ ### ✨ New Features
423
+ - Automatic event capture (clicks, errors, HTTP, console)
424
+ - Flexible error posting (endpoint, custom handler, console)
425
+ - Configurable event limits
426
+ - Breadcrumb system for context
427
+
428
+ ### 🔧 Technical Improvements
429
+ - ES6+ codebase
430
+ - Rollup bundling
431
+ - Comprehensive testing
432
+ - Better error messages
433
+
434
+ ---
435
+
436
+ ## [0.1.0] - 2024-07-29
437
+
438
+ ### 🎉 Initial Release
439
+ - Basic error capture functionality
440
+ - Simple configuration system
441
+ - Console logging support
442
+ - Basic documentation
443
+
444
+
445
+ ---
446
+
447
+ ## Version History
448
+
449
+ - **0.4.7**: CHANGELOG in package, README metrics & Socket transparency
450
+ - **0.4.6**: ClickInterceptor invalid selector fix, try/catch fallback for closest()
451
+ - **0.4.5**: Refactor SOLID/DIP, code i18n, bug fixes, ESLint compliance for CI
452
+ - **0.4.4**: Community health (CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), .editorconfig
453
+ - **0.2.5**: Initial public release with full observability suite
454
+ - **0.2.4**: Beta release with core functionality
455
+ - **0.2.3**: Alpha release with basic error tracking
456
+ - **0.2.2**: Development version with breadcrumb system
457
+ - **0.2.1**: Early development with agent architecture
458
+ - **0.2.0**: Initial project setup and architecture design
package/NOTICE CHANGED
@@ -1,4 +1,4 @@
1
1
  SyntropyFront
2
2
  Copyright 2024-2026 Syntropysoft
3
3
 
4
- Version 0.4.6
4
+ Version 0.4.7
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
  <a href="https://www.npmjs.com/package/@syntropysoft/syntropyfront"><img src="https://img.shields.io/npm/v/@syntropysoft/syntropyfront.svg" alt="NPM Version"></a>
15
15
  <a href="https://github.com/Syntropysoft/syntropyfront/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@syntropysoft/syntropyfront.svg" alt="License"></a>
16
16
  <a href="#"><img src="https://img.shields.io/badge/status-ready%20for%20production-brightgreen.svg" alt="Ready for Production"></a>
17
- <a href="#"><img src="https://img.shields.io/badge/test%20coverage-89.94%25-brightgreen.svg" alt="Test Coverage"></a>
17
+ <a href="#"><img src="https://img.shields.io/badge/test%20coverage-87%25-brightgreen.svg" alt="Test Coverage"></a>
18
18
  <a href="#"><img src="https://img.shields.io/badge/bundle%20size-34%20KB-brightgreen.svg" alt="Bundle Size"></a>
19
19
  <a href="https://socket.dev/npm/package/@syntropysoft/syntropyfront"><img src="https://socket.dev/api/badge/npm/package/@syntropysoft/syntropyfront" alt="Socket Badge"></a>
20
20
  </p>
@@ -33,6 +33,8 @@ SyntropyFront is not just a log collector; it is a piece of engineering designed
33
33
  2. **Functional Programming**: We use declarative patterns to transform data, ensuring that error processing and PII obfuscation are pure and without unexpected side effects.
34
34
  3. **Privacy by Design (Privacy-by-Default)**: Security is not optional. The system includes a sensitive data masking engine (PII) that acts before any information leaves the client.
35
35
 
36
+ **Network access:** This library uses the network only to send errors and breadcrumbs to the endpoint you configure (`configure({ endpoint })` or `onError`). It does not phone home or send data to third parties by default.
37
+
36
38
  ## ✨ Key Features
37
39
 
38
40
  - 🎯 **Smart Click Capture**: Tracks interactions on interactive elements with built-in throttling logic.
@@ -163,7 +165,7 @@ syntropyFront.configure({
163
165
 
164
166
  ## 🏗️ Modular Architecture and Tree Shaking
165
167
 
166
- In version 0.5.0, we have moved interceptors to independent modules. To minimize your bundle size, you can import only what you need:
168
+ In a future version (e.g. 0.5.0), interceptors may be exposed as independent modules. To minimize your bundle size, you would then import only what you need:
167
169
 
168
170
  ```javascript
169
171
  // Instead of global import, use specific interceptors directly
@@ -180,7 +182,7 @@ The system is divided into managers with unique responsibilities:
180
182
  ## 📊 Quality Metrics
181
183
 
182
184
  We take stability seriously. SyntropyFront maintains:
183
- - **Test Coverage**: **>91%** (Lines), **>81%** (Branches).
185
+ - **Test Coverage**: **87%** (All files).
184
186
  - **Stryker Mutation Score**: **>71%** (Our tests truly verify logic, they don't just "pass through" it).
185
187
  - **Zero Dependencies**: We don't add third-party vulnerabilities to your project.
186
188
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syntropysoft/syntropyfront",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "type": "module",
5
5
  "description": "🚀 Observability library with automatic capture - Just 1 line of code! Automatically captures clicks, errors, HTTP calls, and console logs with flexible error handling.",
6
6
  "main": "dist/index.js",
@@ -17,28 +17,13 @@
17
17
  "files": [
18
18
  "dist",
19
19
  "README.md",
20
+ "CHANGELOG.md",
20
21
  "LICENSE",
21
22
  "NOTICE",
22
23
  "CONTRIBUTING.md",
23
24
  "SECURITY.md",
24
25
  "CODE_OF_CONDUCT.md"
25
26
  ],
26
- "scripts": {
27
- "build": "rollup -c",
28
- "build:watch": "rollup -c -w",
29
- "dev": "pnpm run build:watch",
30
- "test": "jest",
31
- "test:watch": "jest --watch",
32
- "test:coverage": "jest --config jest.config.coverage.cjs",
33
- "test:mutation": "stryker run",
34
- "test:mutation:watch": "stryker run",
35
- "test:mutation:quick": "stryker run stryker.quick.conf.json",
36
- "clean": "rm -rf dist",
37
- "lint": "eslint src --ext .js",
38
- "lint:fix": "eslint src --ext .js --fix",
39
- "postbuild": "cp src/index.d.ts dist/index.d.ts",
40
- "prepublishOnly": "pnpm run clean && pnpm run build && pnpm test"
41
- },
42
27
  "keywords": [
43
28
  "frontend",
44
29
  "frontend-monitoring",
@@ -120,17 +105,24 @@
120
105
  "jest-environment-jsdom": "^30.2.0",
121
106
  "rollup": "^4.59.0"
122
107
  },
123
- "pnpm": {
124
- "overrides": {
125
- "serialize-javascript": "^7.0.3"
126
- },
127
- "ignoredBuiltDependencies": [
128
- "unrs-resolver"
129
- ]
130
- },
131
108
  "browserslist": [
132
109
  "> 1%",
133
110
  "last 2 versions",
134
111
  "not dead"
135
- ]
112
+ ],
113
+ "scripts": {
114
+ "build": "rollup -c",
115
+ "build:watch": "rollup -c -w",
116
+ "dev": "pnpm run build:watch",
117
+ "test": "jest",
118
+ "test:watch": "jest --watch",
119
+ "test:coverage": "jest --config jest.config.coverage.cjs",
120
+ "test:mutation": "stryker run",
121
+ "test:mutation:watch": "stryker run",
122
+ "test:mutation:quick": "stryker run stryker.quick.conf.json",
123
+ "clean": "rm -rf dist",
124
+ "lint": "eslint src --ext .js",
125
+ "lint:fix": "eslint src --ext .js --fix",
126
+ "postbuild": "cp src/index.d.ts dist/index.d.ts"
127
+ }
136
128
  }