@xenterprises/fastify-xconfig 0.0.10 → 1.0.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 (99) hide show
  1. package/.github/workflows/ci.yml +19 -0
  2. package/.taprc +3 -0
  3. package/README.md +18 -134
  4. package/index.d.ts +13 -0
  5. package/index.js +9 -0
  6. package/package.json +33 -39
  7. package/test/index.test-d.ts +13 -0
  8. package/test/index.test.js +14 -0
  9. package/test/xConfig.js +115 -0
  10. package/tsconfig.json +9 -0
  11. package/dist/integrations/cloudinary.d.ts +0 -1
  12. package/dist/integrations/cloudinary.js +0 -25
  13. package/dist/integrations/cloudinary.js.map +0 -1
  14. package/dist/integrations/prisma.d.ts +0 -1
  15. package/dist/integrations/prisma.js +0 -13
  16. package/dist/integrations/prisma.js.map +0 -1
  17. package/dist/integrations/sendgrid.d.ts +0 -1
  18. package/dist/integrations/sendgrid.js +0 -22
  19. package/dist/integrations/sendgrid.js.map +0 -1
  20. package/dist/integrations/stripe.d.ts +0 -1
  21. package/dist/integrations/stripe.js +0 -15
  22. package/dist/integrations/stripe.js.map +0 -1
  23. package/dist/integrations/twilio.d.ts +0 -1
  24. package/dist/integrations/twilio.js +0 -17
  25. package/dist/integrations/twilio.js.map +0 -1
  26. package/dist/middleware/bugsnag.d.ts +0 -2
  27. package/dist/middleware/bugsnag.js +0 -9
  28. package/dist/middleware/bugsnag.js.map +0 -1
  29. package/dist/middleware/cors.d.ts +0 -2
  30. package/dist/middleware/cors.js +0 -11
  31. package/dist/middleware/cors.js.map +0 -1
  32. package/dist/middleware/errorHandler.d.ts +0 -2
  33. package/dist/middleware/errorHandler.js +0 -19
  34. package/dist/middleware/errorHandler.js.map +0 -1
  35. package/dist/middleware/multipart.d.ts +0 -2
  36. package/dist/middleware/multipart.js +0 -7
  37. package/dist/middleware/multipart.js.map +0 -1
  38. package/dist/middleware/rateLimit.d.ts +0 -2
  39. package/dist/middleware/rateLimit.js +0 -7
  40. package/dist/middleware/rateLimit.js.map +0 -1
  41. package/dist/middleware/underPressure.d.ts +0 -2
  42. package/dist/middleware/underPressure.js +0 -7
  43. package/dist/middleware/underPressure.js.map +0 -1
  44. package/dist/utils/colorize.d.ts +0 -4
  45. package/dist/utils/colorize.js +0 -33
  46. package/dist/utils/colorize.js.map +0 -1
  47. package/dist/utils/formatBytes.d.ts +0 -1
  48. package/dist/utils/formatBytes.js +0 -10
  49. package/dist/utils/formatBytes.js.map +0 -1
  50. package/dist/utils/randomUUID.d.ts +0 -1
  51. package/dist/utils/randomUUID.js +0 -3
  52. package/dist/utils/randomUUID.js.map +0 -1
  53. package/dist/utils/statAsync.d.ts +0 -2
  54. package/dist/utils/statAsync.js +0 -4
  55. package/dist/utils/statAsync.js.map +0 -1
  56. package/dist/xConfig.d.ts +0 -3
  57. package/dist/xConfig.js +0 -9
  58. package/dist/xConfig.js.map +0 -1
  59. package/server/app.js +0 -92
  60. package/src/auth/admin.js +0 -241
  61. package/src/auth/portal.js +0 -286
  62. package/src/integrations/cloudinary.js +0 -98
  63. package/src/integrations/geocode.js +0 -43
  64. package/src/integrations/prisma.js +0 -30
  65. package/src/integrations/sendgrid.js +0 -58
  66. package/src/integrations/twilio.js +0 -146
  67. package/src/lifecycle/xFastifyAfter.js +0 -27
  68. package/src/middleware/bugsnag.js +0 -10
  69. package/src/middleware/cors.js +0 -10
  70. package/src/middleware/fancyErrors.js +0 -26
  71. package/src/middleware/multipart.js +0 -6
  72. package/src/middleware/rateLimit.js +0 -6
  73. package/src/middleware/underPressure.js +0 -6
  74. package/src/utils/colorize.js +0 -37
  75. package/src/utils/cookie.js +0 -5
  76. package/src/utils/formatBytes.js +0 -16
  77. package/src/utils/health.js +0 -126
  78. package/src/utils/xEcho.js +0 -12
  79. package/src/utils/xSlugify.js +0 -20
  80. package/src/utils/xUUID.js +0 -14
  81. package/src/xConfig.js +0 -117
  82. package/test/index.js +0 -17
  83. package/ts-reference/integrations/cloudinary.ts +0 -26
  84. package/ts-reference/integrations/prisma.ts +0 -13
  85. package/ts-reference/integrations/sendgrid.ts +0 -27
  86. package/ts-reference/integrations/stripe.ts +0 -15
  87. package/ts-reference/integrations/twilio.ts +0 -20
  88. package/ts-reference/middleware/bugsnag.ts +0 -10
  89. package/ts-reference/middleware/cors.ts +0 -13
  90. package/ts-reference/middleware/errorHandler.ts +0 -24
  91. package/ts-reference/middleware/multipart.ts +0 -8
  92. package/ts-reference/middleware/rateLimit.ts +0 -8
  93. package/ts-reference/middleware/underPressure.ts +0 -11
  94. package/ts-reference/utils/colorize.ts +0 -45
  95. package/ts-reference/utils/formatBytes.ts +0 -8
  96. package/ts-reference/utils/randomUUID.ts +0 -3
  97. package/ts-reference/utils/statAsync.ts +0 -4
  98. package/xConfigReference.js +0 -1495
  99. package/xConfigWorkingList.js +0 -720
@@ -1,45 +0,0 @@
1
- import type { FastifyInstance, RouteOptions } from "fastify";
2
-
3
- type HttpMethod = "POST" | "GET" | "PUT" | "DELETE" | "PATCH" | "clear";
4
-
5
- const COLORS: Record<HttpMethod, number> = {
6
- POST: 33,
7
- GET: 32,
8
- PUT: 34,
9
- DELETE: 31,
10
- PATCH: 90,
11
- clear: 39,
12
- };
13
-
14
- // Function to colorize method and path names
15
- export function colorize(method: string, text: string) {
16
- const colorCode = COLORS[method as HttpMethod] || COLORS.clear;
17
- return `\u001b[${colorCode}m${text}\u001b[${COLORS.clear}m`;
18
- }
19
-
20
- // Function to print the collected routes
21
- export function printRoutes(routes: RouteOptions[], colors = true): void {
22
- routes
23
- .sort((a, b) => a.url.localeCompare(b.url))
24
- .forEach(({ method, url }) => {
25
- const methodsArray = Array.isArray(method) ? method : [method];
26
- methodsArray
27
- .filter((m) => m !== "HEAD")
28
- .forEach((m) =>
29
- console.info(
30
- `${colors ? colorize(m, m) : m}\t${colors ? colorize(m, url) : url}`
31
- )
32
- );
33
- });
34
- }
35
-
36
- // Helper function to capture all registered routes
37
- export function captureRoutes(fastify: FastifyInstance): RouteOptions[] {
38
- const routes: RouteOptions[] = [];
39
-
40
- fastify.addHook("onRoute", (routeOptions) => {
41
- routes.push(routeOptions);
42
- });
43
-
44
- return routes;
45
- }
@@ -1,8 +0,0 @@
1
- export function formatBytes(bytes: number, decimals = 2): string {
2
- if (bytes === 0) return "0 Bytes";
3
- const k = 1024;
4
- const dm = decimals < 0 ? 0 : decimals;
5
- const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB"];
6
- const i = Math.floor(Math.log(bytes) / Math.log(k));
7
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
8
- }
@@ -1,3 +0,0 @@
1
- import { randomUUID } from "uncrypto";
2
-
3
- export const generateUUID = randomUUID;
@@ -1,4 +0,0 @@
1
- import fs from "fs";
2
- import util from "util";
3
-
4
- export const statAsync = util.promisify(fs.stat);