@tracelog/lib 0.4.1 → 0.5.1

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 (104) hide show
  1. package/README.md +86 -26
  2. package/dist/browser/tracelog.esm.js +2737 -0
  3. package/dist/browser/tracelog.js +2 -2765
  4. package/dist/cjs/api.d.ts +1 -53
  5. package/dist/cjs/api.js +0 -59
  6. package/dist/cjs/app.constants.d.ts +1 -1
  7. package/dist/cjs/app.d.ts +1 -5
  8. package/dist/cjs/app.js +4 -12
  9. package/dist/cjs/constants/api.constants.d.ts +5 -2
  10. package/dist/cjs/constants/api.constants.js +5 -14
  11. package/dist/cjs/constants/config.constants.d.ts +3 -3
  12. package/dist/cjs/constants/config.constants.js +3 -3
  13. package/dist/cjs/constants/error.constants.d.ts +7 -2
  14. package/dist/cjs/constants/error.constants.js +13 -2
  15. package/dist/cjs/constants/performance.constants.d.ts +5 -5
  16. package/dist/cjs/constants/performance.constants.js +6 -6
  17. package/dist/cjs/handlers/click.handler.js +0 -6
  18. package/dist/cjs/handlers/error.handler.js +9 -0
  19. package/dist/cjs/handlers/scroll.handler.js +0 -5
  20. package/dist/cjs/handlers/session.handler.js +5 -2
  21. package/dist/cjs/integrations/google-analytics.integration.d.ts +1 -1
  22. package/dist/cjs/integrations/google-analytics.integration.js +2 -1
  23. package/dist/cjs/managers/api.manager.d.ts +1 -1
  24. package/dist/cjs/managers/api.manager.js +3 -3
  25. package/dist/cjs/managers/config.builder.d.ts +33 -0
  26. package/dist/cjs/managers/config.builder.js +116 -0
  27. package/dist/cjs/managers/config.manager.d.ts +13 -14
  28. package/dist/cjs/managers/config.manager.js +52 -58
  29. package/dist/cjs/managers/event.manager.d.ts +0 -45
  30. package/dist/cjs/managers/event.manager.js +14 -67
  31. package/dist/cjs/managers/sender.manager.d.ts +1 -28
  32. package/dist/cjs/managers/sender.manager.js +43 -73
  33. package/dist/cjs/managers/session.manager.d.ts +2 -49
  34. package/dist/cjs/managers/session.manager.js +37 -79
  35. package/dist/cjs/managers/state.manager.d.ts +1 -28
  36. package/dist/cjs/managers/state.manager.js +5 -33
  37. package/dist/cjs/managers/storage.manager.d.ts +6 -0
  38. package/dist/cjs/managers/storage.manager.js +18 -1
  39. package/dist/cjs/public-api.d.ts +1 -1
  40. package/dist/cjs/test-bridge.d.ts +3 -2
  41. package/dist/cjs/test-bridge.js +34 -7
  42. package/dist/cjs/types/api.types.d.ts +24 -8
  43. package/dist/cjs/types/api.types.js +24 -8
  44. package/dist/cjs/types/event.types.d.ts +2 -3
  45. package/dist/cjs/types/event.types.js +0 -1
  46. package/dist/cjs/types/test-bridge.types.d.ts +2 -1
  47. package/dist/cjs/utils/logging/debug-logger.utils.d.ts +1 -2
  48. package/dist/cjs/utils/logging/debug-logger.utils.js +2 -3
  49. package/dist/cjs/utils/validations/config-validations.utils.d.ts +1 -26
  50. package/dist/cjs/utils/validations/config-validations.utils.js +5 -117
  51. package/dist/cjs/utils/validations/event-validations.utils.d.ts +2 -2
  52. package/dist/cjs/utils/validations/metadata-validations.utils.d.ts +3 -3
  53. package/dist/cjs/utils/validations/metadata-validations.utils.js +41 -3
  54. package/dist/esm/api.d.ts +1 -53
  55. package/dist/esm/api.js +0 -59
  56. package/dist/esm/app.constants.d.ts +1 -1
  57. package/dist/esm/app.d.ts +1 -5
  58. package/dist/esm/app.js +5 -13
  59. package/dist/esm/constants/api.constants.d.ts +5 -2
  60. package/dist/esm/constants/api.constants.js +5 -13
  61. package/dist/esm/constants/config.constants.d.ts +3 -3
  62. package/dist/esm/constants/config.constants.js +3 -3
  63. package/dist/esm/constants/error.constants.d.ts +7 -2
  64. package/dist/esm/constants/error.constants.js +12 -1
  65. package/dist/esm/constants/performance.constants.d.ts +5 -5
  66. package/dist/esm/constants/performance.constants.js +6 -6
  67. package/dist/esm/handlers/click.handler.js +0 -6
  68. package/dist/esm/handlers/error.handler.js +10 -1
  69. package/dist/esm/handlers/scroll.handler.js +0 -5
  70. package/dist/esm/handlers/session.handler.js +5 -2
  71. package/dist/esm/integrations/google-analytics.integration.d.ts +1 -1
  72. package/dist/esm/integrations/google-analytics.integration.js +2 -1
  73. package/dist/esm/managers/api.manager.d.ts +1 -1
  74. package/dist/esm/managers/api.manager.js +3 -3
  75. package/dist/esm/managers/config.builder.d.ts +33 -0
  76. package/dist/esm/managers/config.builder.js +112 -0
  77. package/dist/esm/managers/config.manager.d.ts +13 -14
  78. package/dist/esm/managers/config.manager.js +54 -60
  79. package/dist/esm/managers/event.manager.d.ts +0 -45
  80. package/dist/esm/managers/event.manager.js +14 -67
  81. package/dist/esm/managers/sender.manager.d.ts +1 -28
  82. package/dist/esm/managers/sender.manager.js +44 -74
  83. package/dist/esm/managers/session.manager.d.ts +2 -49
  84. package/dist/esm/managers/session.manager.js +37 -79
  85. package/dist/esm/managers/state.manager.d.ts +1 -28
  86. package/dist/esm/managers/state.manager.js +4 -33
  87. package/dist/esm/managers/storage.manager.d.ts +6 -0
  88. package/dist/esm/managers/storage.manager.js +18 -1
  89. package/dist/esm/public-api.d.ts +1 -1
  90. package/dist/esm/test-bridge.d.ts +3 -2
  91. package/dist/esm/test-bridge.js +34 -7
  92. package/dist/esm/types/api.types.d.ts +24 -8
  93. package/dist/esm/types/api.types.js +24 -8
  94. package/dist/esm/types/event.types.d.ts +2 -3
  95. package/dist/esm/types/event.types.js +0 -1
  96. package/dist/esm/types/test-bridge.types.d.ts +2 -1
  97. package/dist/esm/utils/logging/debug-logger.utils.d.ts +1 -2
  98. package/dist/esm/utils/logging/debug-logger.utils.js +3 -4
  99. package/dist/esm/utils/validations/config-validations.utils.d.ts +1 -26
  100. package/dist/esm/utils/validations/config-validations.utils.js +5 -114
  101. package/dist/esm/utils/validations/event-validations.utils.d.ts +2 -2
  102. package/dist/esm/utils/validations/metadata-validations.utils.d.ts +3 -3
  103. package/dist/esm/utils/validations/metadata-validations.utils.js +41 -3
  104. package/package.json +3 -3
package/README.md CHANGED
@@ -15,39 +15,60 @@ A lightweight TypeScript library for web analytics and user behavior tracking. A
15
15
 
16
16
  **Prerequisites**: Modern browser with ES6+ support. No server-side requirements.
17
17
 
18
- - npm:
19
- ```bash
20
- npm install @tracelog/lib
21
- ```
22
- - yarn:
23
- ```bash
24
- yarn add @tracelog/lib
25
- ```
26
- - CDN (browser):
27
- ```html
28
- <script src="https://cdn.jsdelivr.net/npm/@tracelog/lib@latest/dist/browser/tracelog.js"></script>
29
- ```
30
-
31
- ## Quick Start
32
-
33
- Initialize tracking with your project ID and start capturing events immediately:
18
+ ## 📦 Which File Should I Use?
19
+
20
+ | Your Setup | File to Use | How to Use |
21
+ |-----------|-------------|------------|
22
+ | **npm/yarn** (React, Vue, Angular, etc.) | Automatic | `import { tracelog } from '@tracelog/lib'` |
23
+ | **HTML + `<script>` tag** | `tracelog.js` (IIFE) | `<script src="...tracelog.js"></script>` then use `tracelog.init()` |
24
+ | **HTML + `<script type="module">`** | `tracelog.esm.js` (ESM) | `import { tracelog } from '...tracelog.esm.js'` |
25
+
26
+ ### Installation Methods
27
+
28
+ #### 1. NPM/Yarn (Recommended for Modern Apps)
29
+ ```bash
30
+ npm install @tracelog/lib
31
+ ```
34
32
 
35
33
  ```typescript
36
34
  import { tracelog } from '@tracelog/lib';
37
35
 
38
- // Initialize tracking
39
- await tracelog.init({
40
- id: 'your-project-id'
41
- });
36
+ tracelog.init({ id: 'your-project-id' });
37
+ tracelog.event('user_action', { data: 'example' });
38
+ ```
42
39
 
43
- // Send custom events
44
- tracelog.event('user_signup', {
45
- method: 'email',
46
- plan: 'premium'
47
- });
40
+ **✅ Best for:** React, Vue, Angular, Next.js, Vite, webpack, or any bundler
41
+
42
+ ---
43
+
44
+ #### 2. CDN - IIFE (Maximum Compatibility)
45
+ ```html
46
+ <script src="https://cdn.jsdelivr.net/npm/@tracelog/lib@latest/dist/browser/tracelog.js"></script>
47
+ <script>
48
+ // tracelog is available globally
49
+ tracelog.init({ id: 'your-project-id' });
50
+ tracelog.event('page_view');
51
+ </script>
52
+ ```
53
+
54
+ **✅ Best for:** WordPress, static HTML, CMS, legacy browsers, no build step
55
+
56
+ ---
57
+
58
+ #### 3. CDN - ES Module (Modern Only)
59
+ ```html
60
+ <script type="module">
61
+ import { tracelog } from 'https://cdn.jsdelivr.net/npm/@tracelog/lib@latest/dist/browser/tracelog.esm.js';
62
+
63
+ await tracelog.init({ id: 'your-project-id' });
64
+ tracelog.event('page_view');
65
+ </script>
48
66
  ```
49
67
 
50
- **Expected behavior**: Automatic tracking begins immediately. Check browser dev tools console for event logs (when `mode: 'qa'`).
68
+ **✅ Best for:** Modern browsers, no bundler, prefer native modules
69
+ **⚠️ Note:** Won't work in IE11 or older browsers
70
+
71
+ **Expected behavior**: Automatic tracking begins immediately. Check browser dev tools console for event logs (when `mode: 'qa'` or `mode: 'debug'`).
51
72
 
52
73
  ## Usage
53
74
 
@@ -248,6 +269,45 @@ This project uses a **branch protection strategy** to ensure code quality:
248
269
 
249
270
  Follows [Semantic Versioning](https://semver.org/) (MAJOR.MINOR.PATCH). Breaking changes are documented in release notes with migration guides.
250
271
 
272
+ ## Testing & Validation
273
+
274
+ Verify the installation works correctly:
275
+
276
+ ### Quick Validation
277
+
278
+ Open DevTools Console and check for:
279
+ 1. `[TraceLog:App] Initializing TraceLog` - Library loaded
280
+ 2. `[TraceLog:SessionManager] Session started` - Session active
281
+ 3. No errors or warnings
282
+ 4. Events logged when you interact with the page
283
+
284
+ ### Manual Test
285
+
286
+ ```javascript
287
+ // Should work after installation
288
+ tracelog.init({
289
+ id: 'skip', // Use 'skip' for local testing
290
+ mode: 'debug' // Enables console logging
291
+ });
292
+
293
+ // Send a test event
294
+ tracelog.event('test_event', { foo: 'bar' });
295
+
296
+ // Check DevTools Console for:
297
+ // [TraceLog:EventManager] Tracking event: test_event
298
+ ```
299
+
300
+ ### Playground
301
+
302
+ The library includes a full demo at [`playground/index.html`](playground/index.html):
303
+
304
+ ```bash
305
+ npm run playground:setup # Build and copy library
306
+ npm run serve # Start server on localhost:3000
307
+ ```
308
+
309
+ Open http://localhost:3000 to see TraceLog in action with real-time event monitoring.
310
+
251
311
  ## License
252
312
 
253
313
  MIT © TraceLog. See [LICENSE](LICENSE) file for details.