@venizia/ignis-docs 0.2.0 → 0.2.1-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 (174) hide show
  1. package/README.md +14 -14
  2. package/content/best-practices/api-usage-examples.md +39 -19
  3. package/content/best-practices/architectural-patterns.md +24 -13
  4. package/content/best-practices/architecture-decisions.md +29 -16
  5. package/content/best-practices/code-style-standards/advanced-patterns.md +43 -31
  6. package/content/best-practices/code-style-standards/constants-configuration.md +19 -4
  7. package/content/best-practices/code-style-standards/control-flow.md +33 -1
  8. package/content/best-practices/code-style-standards/documentation.md +28 -8
  9. package/content/best-practices/code-style-standards/function-patterns.md +15 -4
  10. package/content/best-practices/code-style-standards/index.md +7 -2
  11. package/content/best-practices/code-style-standards/naming-conventions.md +27 -3
  12. package/content/best-practices/code-style-standards/route-definitions.md +9 -5
  13. package/content/best-practices/code-style-standards/tooling.md +14 -1
  14. package/content/best-practices/code-style-standards/type-safety.md +39 -6
  15. package/content/best-practices/common-pitfalls.md +59 -35
  16. package/content/best-practices/contribution-workflow.md +8 -4
  17. package/content/best-practices/data-modeling.md +78 -62
  18. package/content/best-practices/deployment-strategies.md +56 -19
  19. package/content/best-practices/error-handling.md +247 -153
  20. package/content/best-practices/index.md +6 -0
  21. package/content/best-practices/performance-optimization.md +26 -13
  22. package/content/best-practices/security-guidelines.md +35 -9
  23. package/content/best-practices/testing-strategies.md +7 -2
  24. package/content/best-practices/troubleshooting-tips.md +27 -17
  25. package/content/extensions/components/api-reference.md +109 -323
  26. package/content/extensions/components/authentication/api.md +489 -602
  27. package/content/extensions/components/authentication/errors.md +135 -498
  28. package/content/extensions/components/authentication/index.md +89 -801
  29. package/content/extensions/components/authentication/usage.md +231 -955
  30. package/content/extensions/components/authorization/api.md +991 -644
  31. package/content/extensions/components/authorization/errors.md +204 -208
  32. package/content/extensions/components/authorization/getting-started.md +227 -0
  33. package/content/extensions/components/authorization/index.md +88 -795
  34. package/content/extensions/components/authorization/usage.md +219 -528
  35. package/content/extensions/components/health-check.md +77 -243
  36. package/content/extensions/components/index.md +24 -90
  37. package/content/extensions/components/mail/api.md +553 -285
  38. package/content/extensions/components/mail/errors.md +76 -62
  39. package/content/extensions/components/mail/index.md +111 -463
  40. package/content/extensions/components/mail/usage.md +139 -173
  41. package/content/extensions/components/request-tracker.md +70 -173
  42. package/content/extensions/components/socket-io/api.md +462 -785
  43. package/content/extensions/components/socket-io/errors.md +49 -51
  44. package/content/extensions/components/socket-io/index.md +69 -372
  45. package/content/extensions/components/socket-io/usage.md +212 -105
  46. package/content/extensions/components/static-asset/api.md +461 -141
  47. package/content/extensions/components/static-asset/errors.md +121 -53
  48. package/content/extensions/components/static-asset/index.md +84 -606
  49. package/content/extensions/components/static-asset/usage.md +184 -299
  50. package/content/extensions/components/template/index.md +3 -3
  51. package/content/extensions/components/websocket/api.md +311 -404
  52. package/content/extensions/components/websocket/errors.md +47 -56
  53. package/content/extensions/components/websocket/index.md +75 -407
  54. package/content/extensions/components/websocket/usage.md +120 -338
  55. package/content/extensions/helpers/cron/index.md +52 -160
  56. package/content/extensions/helpers/crypto/index.md +67 -480
  57. package/content/extensions/helpers/crypto/reference.md +528 -0
  58. package/content/extensions/helpers/env/index.md +64 -178
  59. package/content/extensions/helpers/error/index.md +286 -196
  60. package/content/extensions/helpers/index.md +61 -47
  61. package/content/extensions/helpers/inversion/index.md +76 -550
  62. package/content/extensions/helpers/inversion/reference.md +530 -0
  63. package/content/extensions/helpers/kafka/admin.md +23 -3
  64. package/content/extensions/helpers/kafka/compile-binary.md +83 -52
  65. package/content/extensions/helpers/kafka/consumer.md +65 -28
  66. package/content/extensions/helpers/kafka/examples.md +46 -253
  67. package/content/extensions/helpers/kafka/index.md +55 -617
  68. package/content/extensions/helpers/kafka/producer.md +156 -22
  69. package/content/extensions/helpers/kafka/schema-registry.md +59 -79
  70. package/content/extensions/helpers/logger/hf-logger.md +220 -0
  71. package/content/extensions/helpers/logger/index.md +78 -552
  72. package/content/extensions/helpers/logger/pino.md +105 -0
  73. package/content/extensions/helpers/logger/reference.md +937 -0
  74. package/content/extensions/helpers/network/api.md +276 -195
  75. package/content/extensions/helpers/network/index.md +87 -524
  76. package/content/extensions/helpers/queue/index.md +80 -897
  77. package/content/extensions/helpers/queue/reference.md +494 -0
  78. package/content/extensions/helpers/redis/index.md +86 -640
  79. package/content/extensions/helpers/redis/reference.md +784 -0
  80. package/content/extensions/helpers/secrets/index.md +136 -0
  81. package/content/extensions/helpers/socket-io/api.md +325 -204
  82. package/content/extensions/helpers/socket-io/index.md +79 -429
  83. package/content/extensions/helpers/storage/api.md +584 -464
  84. package/content/extensions/helpers/storage/index.md +80 -573
  85. package/content/extensions/helpers/types/index.md +75 -495
  86. package/content/extensions/helpers/types/reference.md +689 -0
  87. package/content/extensions/helpers/uid/index.md +176 -189
  88. package/content/extensions/helpers/websocket/api.md +366 -214
  89. package/content/extensions/helpers/websocket/index.md +68 -503
  90. package/content/extensions/helpers/worker-thread/index.md +62 -396
  91. package/content/extensions/helpers/worker-thread/reference.md +428 -0
  92. package/content/extensions/index.md +38 -39
  93. package/content/extensions/src-details/mcp-server.md +96 -548
  94. package/content/guides/core-concepts/persistent/datasources.md +2 -2
  95. package/content/guides/core-concepts/persistent/index.md +5 -1
  96. package/content/guides/core-concepts/persistent/models.md +1 -1
  97. package/content/guides/core-concepts/persistent/pglite.md +218 -0
  98. package/content/guides/core-concepts/persistent/postgres-drivers.md +21 -15
  99. package/content/guides/core-concepts/persistent/search-meilisearch.md +22 -12
  100. package/content/guides/core-concepts/persistent/search-typesense.md +28 -16
  101. package/content/guides/core-concepts/persistent/sqlite.md +296 -0
  102. package/content/guides/core-concepts/persistent/transactions.md +12 -11
  103. package/content/guides/core-concepts/secrets-vault.md +177 -0
  104. package/content/guides/core-concepts/services.md +1 -1
  105. package/content/guides/get-started/5-minute-quickstart.md +59 -206
  106. package/content/guides/get-started/philosophy.md +135 -670
  107. package/content/guides/get-started/setup.md +53 -74
  108. package/content/guides/migrations/redis-helpers-migration.md +5 -4
  109. package/content/guides/migrations/scoped-rbac-migration.md +5 -5
  110. package/content/guides/migrations/unified-connectors-migration.md +8 -7
  111. package/content/guides/tutorials/ecommerce-api.md +3 -8
  112. package/content/guides/tutorials/realtime-chat.md +1 -1
  113. package/content/references/base/application.md +64 -22
  114. package/content/references/base/components.md +3 -3
  115. package/content/references/base/connectors.md +79 -136
  116. package/content/references/base/controllers.md +12 -12
  117. package/content/references/base/datasources-reference.md +600 -0
  118. package/content/references/base/datasources.md +84 -444
  119. package/content/references/base/dependency-injection.md +25 -46
  120. package/content/references/base/filter-system/application-usage.md +95 -123
  121. package/content/references/base/filter-system/array-operators.md +33 -43
  122. package/content/references/base/filter-system/comparison-operators.md +55 -63
  123. package/content/references/base/filter-system/default-filter.md +144 -350
  124. package/content/references/base/filter-system/fields-order-pagination.md +116 -148
  125. package/content/references/base/filter-system/index.md +114 -253
  126. package/content/references/base/filter-system/json-filtering.md +52 -181
  127. package/content/references/base/filter-system/list-operators.md +28 -44
  128. package/content/references/base/filter-system/logical-operators.md +69 -114
  129. package/content/references/base/filter-system/null-operators.md +41 -98
  130. package/content/references/base/filter-system/pattern-matching.md +48 -51
  131. package/content/references/base/filter-system/quick-reference.md +93 -196
  132. package/content/references/base/filter-system/range-operators.md +22 -38
  133. package/content/references/base/filter-system/tips.md +70 -133
  134. package/content/references/base/filter-system/use-cases.md +173 -232
  135. package/content/references/base/grpc-controllers.md +53 -17
  136. package/content/references/base/index.md +5 -3
  137. package/content/references/base/middlewares.md +43 -28
  138. package/content/references/base/models-reference.md +886 -0
  139. package/content/references/base/models.md +81 -1452
  140. package/content/references/base/providers.md +8 -8
  141. package/content/references/base/repositories/advanced.md +281 -419
  142. package/content/references/base/repositories/index.md +84 -644
  143. package/content/references/base/repositories/mixins.md +25 -21
  144. package/content/references/base/repositories/relations.md +194 -375
  145. package/content/references/base/repositories/soft-deletable.md +67 -55
  146. package/content/references/base/secrets.md +267 -0
  147. package/content/references/base/services.md +8 -6
  148. package/content/references/configuration/environment-variables.md +73 -21
  149. package/content/references/configuration/index.md +51 -31
  150. package/content/references/index.md +1 -1
  151. package/content/references/quick-reference.md +3 -16
  152. package/content/references/utilities/crypto.md +35 -76
  153. package/content/references/utilities/date.md +33 -73
  154. package/content/references/utilities/duration.md +85 -0
  155. package/content/references/utilities/index.md +6 -2
  156. package/content/references/utilities/jsx-reference.md +298 -0
  157. package/content/references/utilities/jsx.md +82 -525
  158. package/content/references/utilities/module.md +81 -61
  159. package/content/references/utilities/parse.md +34 -64
  160. package/content/references/utilities/performance.md +33 -58
  161. package/content/references/utilities/promise.md +28 -62
  162. package/content/references/utilities/request.md +58 -218
  163. package/content/references/utilities/retry.md +139 -0
  164. package/content/references/utilities/schema.md +43 -137
  165. package/content/references/utilities/statuses-reference.md +361 -0
  166. package/content/references/utilities/statuses.md +63 -667
  167. package/dist/mcp-server/index.js +0 -0
  168. package/dist/mcp-server/tools/github/list-project-files.tool.d.ts +1 -1
  169. package/dist/mcp-server/tools/github/list-project-files.tool.d.ts.map +1 -1
  170. package/dist/mcp-server/tools/github/list-project-files.tool.js +3 -3
  171. package/dist/mcp-server/tools/github/search-code.tool.js +1 -1
  172. package/dist/mcp-server/tools/github/verify-dependencies.tool.js +1 -1
  173. package/dist/mcp-server/tools/github/view-source-file.tool.js +1 -1
  174. package/package.json +24 -23
@@ -1,49 +1,63 @@
1
1
  # Helpers
2
2
 
3
- Reusable classes and functions providing common functionality - designed for easy injection and configuration.
4
-
5
- ## Available Helpers
6
-
7
- | Helper | Purpose | Key Features |
8
- |--------|---------|--------------|
9
- | [Common Types](./types/) | Utility types | Nullable, resolvers, class types |
10
- | [Cron](./cron/) | Job scheduling | Cron expressions, task management |
11
- | [Crypto](./crypto/) | Cryptographic operations | AES/RSA/ECDH encryption, key exchange, hashing |
12
- | [Environment](./env/) | Environment variables | Centralized config access |
13
- | [Error](./error/) | Error handling | `ApplicationError`, consistent responses |
14
- | [Inversion](./inversion/) | Dependency injection | IoC container - separate package `@venizia/ignis-inversion` |
15
- | [Logger](./logger/) | Logging | Winston-based, multiple transports, scopes |
16
- | [Network](./network/) | Network requests | HTTP, TCP, UDP helpers |
17
- | [Kafka](./kafka/) | Event streaming | Apache Kafka producer/consumer/admin/schema registry |
18
- | [Queue](./queue/) | Message queues | BullMQ, MQTT support |
19
- | [Redis](./redis/) | Redis operations | Single/cluster, key-value, hashes, JSON, pub/sub |
20
- | [Socket.IO](./socket-io/) | Real-time communication | Socket.IO client/server helpers |
21
- | [WebSocket](./websocket/) | Real-time communication | Bun native WebSocket server/emitter, Redis scaling |
22
- | [Storage](./storage/) | File storage | In-memory, disk, MinIO, Bun S3 object storage |
23
- | [UID](./uid/) | Unique ID generation | Snowflake IDs, Base62 encoding |
24
- | [Worker Thread](./worker-thread/) | Worker threads | Node.js worker management |
25
-
26
- ### Subpath Imports
27
-
28
- Some helpers with optional peer dependencies are only available via subpath imports to ensure proper tree-shaking:
29
-
30
- | Subpath | Peer Dependency | Description |
31
- |---------|-----------------|-------------|
32
- | `@venizia/ignis-helpers/kafka` | `@platformatic/kafka` | Kafka producer/consumer/admin/schema registry |
33
- | `@venizia/ignis-helpers/bullmq` | `bullmq` | BullMQ job queue |
34
- | `@venizia/ignis-helpers/mqtt` | `mqtt` | MQTT pub/sub client |
35
- | `@venizia/ignis-helpers/socket-io` | `socket.io`, `socket.io-client` | Socket.IO server/client |
36
- | `@venizia/ignis-helpers/minio` | `minio` | MinIO S3-compatible storage |
37
- | `@venizia/ignis-helpers/bun-s3` | -- | Bun native S3 storage |
38
- | `@venizia/ignis-helpers/cron` | `cron` | Cron job scheduling |
39
- | `@venizia/ignis-helpers/axios` | `axios` | Axios HTTP client |
40
-
41
- ## See Also
42
-
43
- - **Related Concepts:**
44
- - [Services](/guides/core-concepts/services) - Using helpers in service layer
45
- - [Controllers](/guides/core-concepts/rest-controllers) - Using helpers in controllers
46
-
47
- - **References:**
48
- - [Utilities](/references/utilities/) - Pure utility functions
49
- - [Components](/extensions/components/) - Framework components
3
+ Standalone utility classes for infrastructure concerns - extend `BaseHelper` for scoped logging, and inject them wherever you need them.
4
+
5
+ Every peer dependency below is optional. You install one only when you use the helper that needs it.
6
+
7
+ | Helper | What it does | When you reach for it | Peer dependency |
8
+ |---|---|---|---|
9
+ | [Types](./types/) | Shared utility types | You need IGNIS's shared TypeScript utility types | None |
10
+ | [Cron](./cron/) | Scheduled tasks | You run code on a cron schedule | `cron` |
11
+ | [Crypto](./crypto/) | Encryption and signing | You hash, encrypt, or sign data | None |
12
+ | [Environment](./env/) | Env var management | You need typed, validated env var access | None |
13
+ | [Error](./error/) | Error utilities | You throw or handle an error | None |
14
+ | [Secrets & Vault](./secrets/) | Secrets and credentials | You read config or credentials from Vault or a vaulted `.env` | `node-vault` or `@dotenvx/dotenvx` |
15
+ | [Inversion](./inversion/) | DI container | You build custom bindings or providers | None |
16
+ | [Logger](./logger/) | Logging | You need scoped, leveled logging | `winston` or `pino` |
17
+ | [Network](./network/) | HTTP/TCP/UDP clients | You call another service over HTTP, TCP, or UDP | `axios`, for the Axios client only |
18
+ | [Kafka](./kafka/) | Kafka messaging | You publish or consume Kafka topics | `@platformatic/kafka` |
19
+ | [Queue](./queue/) | Job queues | You need background or delayed work | `bullmq` or `mqtt` |
20
+ | [Redis](./redis/) | Redis client | You need a Redis connection - cache, pub/sub, locks | None - `ioredis` ships with the package |
21
+ | [Socket.IO](./socket-io/) | Socket.IO server | You build a custom real-time feature | `socket.io` |
22
+ | [WebSocket](./websocket/) | WebSocket server | You build a custom real-time feature | None |
23
+ | [Storage](./storage/) | File storage | You read/write files to MinIO or disk directly | `minio`, for the MinIO backend only |
24
+ | [UID](./uid/) | Snowflake IDs | You need unique, sortable IDs | None |
25
+ | [Worker Thread](./worker-thread/) | Worker pools | You move CPU-heavy work off the main thread | None |
26
+
27
+ ## Subpath imports
28
+
29
+ A helper with an optional peer dependency ships from its own subpath, so a bundler never pulls in a peer you don't use.
30
+
31
+ | Import from | Requires |
32
+ |---|---|
33
+ | `@venizia/ignis-helpers/cron` | `cron` |
34
+ | `@venizia/ignis-helpers/axios` | `axios` |
35
+ | `@venizia/ignis-helpers/kafka` | `@platformatic/kafka` |
36
+ | `@venizia/ignis-helpers/bullmq` | `bullmq` |
37
+ | `@venizia/ignis-helpers/mqtt` | `mqtt` |
38
+ | `@venizia/ignis-helpers/socket-io` | `socket.io`, `socket.io-client` |
39
+ | `@venizia/ignis-helpers/minio` | `minio` |
40
+ | `@venizia/ignis-helpers/bun-s3` | none - Bun native |
41
+ | `@venizia/ignis-helpers/hashicorp-vault` | `node-vault` |
42
+ | `@venizia/ignis-helpers/dotenv-vault` | `@dotenvx/dotenvx` |
43
+ | `@venizia/ignis-helpers/winston` | `winston` |
44
+ | `@venizia/ignis-helpers/pino` | `pino` |
45
+
46
+ `@venizia/ignis-helpers/common` is a subpath of a different kind. It isolates nothing - it exposes the
47
+ part of this package that is already browser-safe: `HTTP`, `TConstValue`, and the constant and
48
+ redaction tables. Import it when your code has to bundle for a browser.
49
+
50
+ The root barrel cannot: it re-exports every module, so reaching one constant through it pulls in 14
51
+ node builtins and 27 packages, `winston` and `ioredis` among them. A guard test bundles both entry
52
+ points for a browser target and fails if that ever changes.
53
+
54
+ ```typescript
55
+ import { HTTP } from '@venizia/ignis-helpers/common';
56
+ ```
57
+
58
+ ## See also
59
+
60
+ - [Services](/guides/core-concepts/services) - using helpers in the service layer
61
+ - [Controllers](/guides/core-concepts/rest-controllers) - using helpers in controllers
62
+ - [Utilities](/references/utilities/) - pure utility functions
63
+ - [Components](/extensions/components/) - framework components