@withwiz/toolkit 0.2.8 → 0.3.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 (122) hide show
  1. package/dist/auth/config.d.ts +16 -0
  2. package/dist/auth/config.js +13 -0
  3. package/dist/auth/index.js +18 -18
  4. package/dist/cache/cache-config.js +6 -3
  5. package/dist/cache/cache-env.d.ts +11 -20
  6. package/dist/cache/cache-env.js +5 -6
  7. package/dist/cache/cache-factory.js +15 -10
  8. package/dist/cache/cache-invalidation.js +15 -10
  9. package/dist/cache/cache-redis.js +8 -3
  10. package/dist/cache/cache-wrapper.js +15 -10
  11. package/dist/cache/cache.js +32 -24
  12. package/dist/cache/config.d.ts +116 -0
  13. package/dist/cache/config.js +13 -0
  14. package/dist/cache/hybrid-cache-manager.js +10 -5
  15. package/dist/cache/index.d.ts +2 -1
  16. package/dist/cache/index.js +32 -24
  17. package/dist/cache/inmemory-cache-manager.js +6 -2
  18. package/dist/cache/noop-cache-manager.js +7 -4
  19. package/dist/cache/redis-cache-manager.js +9 -4
  20. package/dist/{chunk-JWZSWMOM.js → chunk-2KDLKHTO.js} +1 -1
  21. package/dist/chunk-2QH66EVQ.js +11 -0
  22. package/dist/chunk-3CBGGMIY.js +39 -0
  23. package/dist/{chunk-67KRDPIH.js → chunk-4HBAPPB2.js} +2 -2
  24. package/dist/{chunk-QMZ75GBU.js → chunk-6MI4XLWC.js} +1 -1
  25. package/dist/{chunk-BX5CNRVS.js → chunk-6SOQUYOU.js} +2 -2
  26. package/dist/{chunk-YVF4RXOK.js → chunk-7IN4WRSO.js} +15 -15
  27. package/dist/{chunk-I5PCM2JQ.js → chunk-AXCB7SKY.js} +4 -4
  28. package/dist/chunk-AYZJN32D.js +45 -0
  29. package/dist/{chunk-74MSBKYW.js → chunk-BDY3AOX5.js} +14 -10
  30. package/dist/{chunk-IT43YQND.js → chunk-BYCFXGQL.js} +20 -5
  31. package/dist/{chunk-QF6FH4GZ.js → chunk-CUZPD3BF.js} +5 -5
  32. package/dist/{chunk-JOGXLVUZ.js → chunk-E54MAI4I.js} +1 -1
  33. package/dist/{chunk-WEDR5GJO.js → chunk-FD2TXDTO.js} +2 -2
  34. package/dist/{chunk-HOMWLK62.js → chunk-FDRIFPG6.js} +2 -2
  35. package/dist/{chunk-AOZVTVJG.js → chunk-FPESPW6P.js} +1 -1
  36. package/dist/{chunk-4NWJ3WCZ.js → chunk-G5OMETUS.js} +8 -1
  37. package/dist/chunk-GFWGLWTS.js +48 -0
  38. package/dist/{chunk-5A2L6TXD.js → chunk-GQVBWZLH.js} +34 -15
  39. package/dist/{chunk-DH2ZHGW2.js → chunk-HHCDMWEF.js} +14 -2
  40. package/dist/{chunk-Y6IHEA3Q.js → chunk-J4TTSXDN.js} +3 -3
  41. package/dist/{chunk-WZDS4QEC.js → chunk-JOM3N4EJ.js} +1 -1
  42. package/dist/{chunk-WSUFD4SO.js → chunk-JR7GVCQX.js} +11 -3
  43. package/dist/chunk-K25ICPU4.js +8 -0
  44. package/dist/{chunk-T3YUJYBX.js → chunk-K3HAYBWX.js} +1 -1
  45. package/dist/{chunk-WDJLAZCW.js → chunk-KGHWGLED.js} +18 -3
  46. package/dist/{chunk-XN4YP4XO.js → chunk-KZUBO2IL.js} +5 -5
  47. package/dist/{chunk-3GEQQ4VL.js → chunk-LD7POV6B.js} +10 -10
  48. package/dist/{chunk-7KCWVRPR.js → chunk-LFQ3IQQB.js} +2 -2
  49. package/dist/{chunk-RPWEGUUS.js → chunk-LX2EYD74.js} +8 -8
  50. package/dist/{chunk-HCTNZM7D.js → chunk-O7CK3CKJ.js} +1 -1
  51. package/dist/chunk-OHBAELPZ.js +46 -0
  52. package/dist/{chunk-M5LIX3TD.js → chunk-OIRAH57Y.js} +1 -1
  53. package/dist/chunk-OZE5KUS3.js +50 -0
  54. package/dist/{chunk-NJXCFTOE.js → chunk-QVWDWROP.js} +1 -1
  55. package/dist/{chunk-YMIDD4YE.js → chunk-RWVGJUON.js} +6 -6
  56. package/dist/{chunk-6WVKLXVT.js → chunk-S5UCZ2T3.js} +1 -1
  57. package/dist/chunk-SFPMFVSD.js +40 -0
  58. package/dist/{chunk-R5OFGX3C.js → chunk-SV7X6HEN.js} +6 -6
  59. package/dist/chunk-TFD3DSM2.js +110 -0
  60. package/dist/{chunk-GCZOXUDV.js → chunk-TO5CMMQC.js} +50 -10
  61. package/dist/{chunk-LEWQBXN6.js → chunk-VF4EVAMV.js} +1 -1
  62. package/dist/chunk-WNF2RKFA.js +122 -0
  63. package/dist/chunk-XI4MRH5P.js +156 -0
  64. package/dist/components/ui/DataTable.js +5 -5
  65. package/dist/components/ui/data-table/DataTable.js +5 -5
  66. package/dist/components/ui/data-table/DataTableFilters.js +2 -2
  67. package/dist/components/ui/data-table/DataTableSearch.js +2 -2
  68. package/dist/config/common.d.ts +12 -0
  69. package/dist/config/common.js +13 -0
  70. package/dist/config/errors.d.ts +3 -0
  71. package/dist/config/errors.js +7 -0
  72. package/dist/config/warn.d.ts +4 -0
  73. package/dist/config/warn.js +7 -0
  74. package/dist/constants/index.js +13 -13
  75. package/dist/error/error-handler.js +6 -2
  76. package/dist/error/index.js +6 -2
  77. package/dist/geolocation/batch-processor.js +6 -2
  78. package/dist/geolocation/config.d.ts +14 -0
  79. package/dist/geolocation/config.js +13 -0
  80. package/dist/geolocation/index.js +13 -8
  81. package/dist/geolocation/providers/index.js +9 -6
  82. package/dist/geolocation/providers/ipgeolocation-provider.js +4 -1
  83. package/dist/geolocation/providers/maxmind-provider.js +4 -1
  84. package/dist/initialize.d.ts +18 -0
  85. package/dist/initialize.js +41 -0
  86. package/dist/logger/config.d.ts +20 -0
  87. package/dist/logger/config.js +13 -0
  88. package/dist/logger/logger.js +5 -1
  89. package/dist/middleware/auth.js +7 -2
  90. package/dist/middleware/cors-config.d.ts +14 -0
  91. package/dist/middleware/cors-config.js +13 -0
  92. package/dist/middleware/cors.js +7 -2
  93. package/dist/middleware/error-handler.js +7 -3
  94. package/dist/middleware/index.js +19 -13
  95. package/dist/middleware/middleware-chain.js +6 -2
  96. package/dist/middleware/rate-limit.js +6 -2
  97. package/dist/middleware/response-logger.js +6 -2
  98. package/dist/middleware/security.js +6 -2
  99. package/dist/middleware/wrappers.js +16 -10
  100. package/dist/storage/config.d.ts +20 -0
  101. package/dist/storage/config.js +13 -0
  102. package/dist/storage/r2-storage.d.ts +4 -0
  103. package/dist/storage/r2-storage.js +19 -10
  104. package/dist/system/cpu.js +7 -3
  105. package/dist/system/disk.js +7 -3
  106. package/dist/system/environment.js +11 -3
  107. package/dist/system/health-check.js +9 -3
  108. package/dist/system/index.js +18 -10
  109. package/dist/system/memory.js +7 -3
  110. package/dist/system/network.js +7 -3
  111. package/dist/system/utils.js +6 -2
  112. package/dist/types/env.d.ts +12 -2
  113. package/dist/utils/cors.js +5 -1
  114. package/dist/utils/csv-export.js +6 -2
  115. package/dist/utils/error-processor.js +6 -2
  116. package/dist/utils/index.js +23 -18
  117. package/package.json +10 -1
  118. package/dist/chunk-N4XYQB2G.js +0 -193
  119. package/dist/chunk-OFPRBEO6.js +0 -93
  120. package/dist/{chunk-TH45RVP7.js → chunk-KHYY4KCV.js} +3 -3
  121. package/dist/{chunk-EBUEBEJX.js → chunk-QMCOX3DP.js} +0 -0
  122. package/dist/{chunk-X2UP5PNN.js → chunk-SEZJN4TC.js} +3 -3
@@ -7,7 +7,11 @@ import {
7
7
  withCORS,
8
8
  withPublicCORS,
9
9
  withRestrictedCORS
10
- } from "../chunk-GCZOXUDV.js";
10
+ } from "../chunk-TO5CMMQC.js";
11
+ import "../chunk-GFWGLWTS.js";
12
+ import "../chunk-SFPMFVSD.js";
13
+ import "../chunk-K25ICPU4.js";
14
+ import "../chunk-2QH66EVQ.js";
11
15
  import "../chunk-ORMEWXMH.js";
12
16
  export {
13
17
  getAllowedOrigins,
@@ -6,8 +6,12 @@ import {
6
6
  dateFormatter,
7
7
  escapeCsvField,
8
8
  rowToCsv
9
- } from "../chunk-T3YUJYBX.js";
10
- import "../chunk-5A2L6TXD.js";
9
+ } from "../chunk-K3HAYBWX.js";
10
+ import "../chunk-GQVBWZLH.js";
11
+ import "../chunk-OHBAELPZ.js";
12
+ import "../chunk-SFPMFVSD.js";
13
+ import "../chunk-K25ICPU4.js";
14
+ import "../chunk-2QH66EVQ.js";
11
15
  import "../chunk-ORMEWXMH.js";
12
16
  export {
13
17
  boolFormatter,
@@ -12,10 +12,14 @@ import {
12
12
  throwUnauthorizedError,
13
13
  throwValidationError,
14
14
  withErrorHandling
15
- } from "../chunk-JOGXLVUZ.js";
15
+ } from "../chunk-E54MAI4I.js";
16
16
  import "../chunk-KXXROUA5.js";
17
17
  import "../chunk-SNVGJPPX.js";
18
- import "../chunk-5A2L6TXD.js";
18
+ import "../chunk-GQVBWZLH.js";
19
+ import "../chunk-OHBAELPZ.js";
20
+ import "../chunk-SFPMFVSD.js";
21
+ import "../chunk-K25ICPU4.js";
22
+ import "../chunk-2QH66EVQ.js";
19
23
  import "../chunk-ORMEWXMH.js";
20
24
  export {
21
25
  ErrorProcessor,
@@ -34,6 +34,20 @@ import {
34
34
  isValidJSON,
35
35
  isValidUrl
36
36
  } from "../chunk-EUQATJLI.js";
37
+ import {
38
+ createPaginatedResponse,
39
+ getReferer,
40
+ getSearchParam,
41
+ getUserAgent,
42
+ parseBooleanParam,
43
+ parseFilters,
44
+ parseNumberParam,
45
+ parsePagination,
46
+ parseRequestBody,
47
+ parseSort,
48
+ requireAdmin,
49
+ validateAndParse
50
+ } from "../chunk-7JWIX5BS.js";
37
51
  import {
38
52
  getAllowedOrigins,
39
53
  getCorsConfig,
@@ -43,7 +57,7 @@ import {
43
57
  withCORS,
44
58
  withPublicCORS,
45
59
  withRestrictedCORS
46
- } from "../chunk-GCZOXUDV.js";
60
+ } from "../chunk-TO5CMMQC.js";
47
61
  import {
48
62
  boolFormatter,
49
63
  createCsvHeader,
@@ -52,7 +66,7 @@ import {
52
66
  dateFormatter,
53
67
  escapeCsvField,
54
68
  rowToCsv
55
- } from "../chunk-T3YUJYBX.js";
69
+ } from "../chunk-K3HAYBWX.js";
56
70
  import {
57
71
  ErrorProcessor,
58
72
  errorToResponse,
@@ -66,24 +80,15 @@ import {
66
80
  throwUnauthorizedError,
67
81
  throwValidationError,
68
82
  withErrorHandling
69
- } from "../chunk-JOGXLVUZ.js";
70
- import {
71
- createPaginatedResponse,
72
- getReferer,
73
- getSearchParam,
74
- getUserAgent,
75
- parseBooleanParam,
76
- parseFilters,
77
- parseNumberParam,
78
- parsePagination,
79
- parseRequestBody,
80
- parseSort,
81
- requireAdmin,
82
- validateAndParse
83
- } from "../chunk-7JWIX5BS.js";
83
+ } from "../chunk-E54MAI4I.js";
84
84
  import "../chunk-KXXROUA5.js";
85
85
  import "../chunk-SNVGJPPX.js";
86
- import "../chunk-5A2L6TXD.js";
86
+ import "../chunk-GFWGLWTS.js";
87
+ import "../chunk-GQVBWZLH.js";
88
+ import "../chunk-OHBAELPZ.js";
89
+ import "../chunk-SFPMFVSD.js";
90
+ import "../chunk-K25ICPU4.js";
91
+ import "../chunk-2QH66EVQ.js";
87
92
  import "../chunk-ORMEWXMH.js";
88
93
  export {
89
94
  ErrorProcessor,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withwiz/toolkit",
3
- "version": "0.2.8",
3
+ "version": "0.3.1",
4
4
  "description": "Shared utility library for withwiz projects",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -15,6 +15,15 @@
15
15
  }
16
16
  },
17
17
  "exports": {
18
+ "./initialize": "./dist/initialize.js",
19
+ "./config/errors": "./dist/config/errors.js",
20
+ "./config/common": "./dist/config/common.js",
21
+ "./auth/config": "./dist/auth/config.js",
22
+ "./cache/config": "./dist/cache/config.js",
23
+ "./logger/config": "./dist/logger/config.js",
24
+ "./storage/config": "./dist/storage/config.js",
25
+ "./geolocation/config": "./dist/geolocation/config.js",
26
+ "./middleware/cors-config": "./dist/middleware/cors-config.js",
18
27
  "./auth": "./dist/auth/index.js",
19
28
  "./auth/core/jwt": "./dist/auth/core/jwt/index.js",
20
29
  "./auth/core/jwt/client": "./dist/auth/core/jwt/client.js",
@@ -1,193 +0,0 @@
1
- import {
2
- logger
3
- } from "./chunk-5A2L6TXD.js";
4
- import {
5
- CACHE_DURATION_DEFAULTS,
6
- CACHE_FALLBACK_DEFAULTS,
7
- CACHE_HEALTH_DEFAULTS,
8
- CACHE_TTL_DEFAULTS,
9
- INMEMORY_CACHE_DEFAULTS
10
- } from "./chunk-IQQKKUAV.js";
11
-
12
- // src/cache/cache-env.ts
13
- function _isRedisCacheEnabled() {
14
- return process.env.CACHE_REDIS_ENABLED !== "false";
15
- }
16
- function _isInmemoryCacheEnabled() {
17
- return process.env.CACHE_INMEMORY_ENABLED !== "false";
18
- }
19
- function _isRedisConfigured() {
20
- return !!(process.env.UPSTASH_REDIS_REST_URL && process.env.UPSTASH_REDIS_REST_TOKEN);
21
- }
22
- function _isRedisAvailable() {
23
- return _isRedisCacheEnabled() && _isRedisConfigured();
24
- }
25
- var _injectedConfig = null;
26
- function getDefaultConfig() {
27
- const nodeEnv = process.env.NODE_ENV || "development";
28
- const cacheEnabled = process.env.CACHE_ENABLED !== "false";
29
- const redisUrl = process.env.UPSTASH_REDIS_REST_URL;
30
- const redisToken = process.env.UPSTASH_REDIS_REST_TOKEN;
31
- const redisEnabled = _isRedisCacheEnabled();
32
- const inmemoryEnabled = _isInmemoryCacheEnabled();
33
- const redisAvailable = _isRedisAvailable();
34
- const defaultCategoryConfig = (enabled, duration) => ({
35
- ENABLED: enabled,
36
- DURATION: duration
37
- });
38
- return {
39
- env: {
40
- NODE_ENV: nodeEnv,
41
- UPSTASH_REDIS_REST_URL: redisUrl,
42
- UPSTASH_REDIS_REST_TOKEN: redisToken,
43
- CACHE_ENABLED: cacheEnabled
44
- },
45
- ENV: {
46
- REDIS: {
47
- URL: redisUrl,
48
- TOKEN: redisToken,
49
- IS_AVAILABLE: redisAvailable,
50
- ENABLED: redisEnabled
51
- },
52
- CACHE: {
53
- ENABLED: cacheEnabled,
54
- REDIS: {
55
- ENABLED: redisEnabled
56
- },
57
- INMEMORY: {
58
- ENABLED: inmemoryEnabled,
59
- MAX_SIZE: parseInt(process.env.CACHE_INMEMORY_MAX_SIZE || String(INMEMORY_CACHE_DEFAULTS.MAX_SIZE), 10),
60
- MAX_MB: parseInt(process.env.CACHE_INMEMORY_MAX_MB || String(INMEMORY_CACHE_DEFAULTS.MAX_MB), 10),
61
- EVICTION: process.env.CACHE_INMEMORY_EVICTION || INMEMORY_CACHE_DEFAULTS.EVICTION,
62
- CLEANUP_INTERVAL: parseInt(process.env.CACHE_INMEMORY_CLEANUP_INTERVAL || String(INMEMORY_CACHE_DEFAULTS.CLEANUP_INTERVAL), 10)
63
- },
64
- TTL: {
65
- DEFAULT: parseInt(process.env.CACHE_TTL_DEFAULT || String(CACHE_TTL_DEFAULTS.DEFAULT), 10),
66
- SHORT: parseInt(process.env.CACHE_TTL_SHORT || String(CACHE_TTL_DEFAULTS.SHORT), 10),
67
- LONG: parseInt(process.env.CACHE_TTL_LONG || String(CACHE_TTL_DEFAULTS.LONG), 10),
68
- GEOIP: parseInt(process.env.CACHE_TTL_GEOIP || String(CACHE_TTL_DEFAULTS.GEOIP), 10),
69
- SETTINGS: parseInt(process.env.CACHE_TTL_SETTINGS || String(CACHE_TTL_DEFAULTS.SETTINGS), 10),
70
- ANALYTICS: parseInt(process.env.CACHE_TTL_ANALYTICS || String(CACHE_TTL_DEFAULTS.ANALYTICS), 10),
71
- USER: parseInt(process.env.CACHE_TTL_USER || String(CACHE_TTL_DEFAULTS.USER), 10),
72
- LINK: parseInt(process.env.CACHE_TTL_LINK || String(CACHE_TTL_DEFAULTS.LINK), 10),
73
- ALIAS: parseInt(process.env.CACHE_TTL_ALIAS || String(CACHE_TTL_DEFAULTS.ALIAS), 10),
74
- COMMUNITY: parseInt(process.env.CACHE_TTL_COMMUNITY || String(CACHE_TTL_DEFAULTS.COMMUNITY), 10),
75
- RESERVED_WORDS: parseInt(process.env.CACHE_TTL_RESERVED_WORDS || String(CACHE_TTL_DEFAULTS.RESERVED_WORDS), 10)
76
- },
77
- ANALYTICS: defaultCategoryConfig(process.env.CACHE_ANALYTICS_ENABLED !== "false", parseInt(process.env.CACHE_ANALYTICS_DURATION || String(CACHE_DURATION_DEFAULTS.ANALYTICS), 10)),
78
- USER: defaultCategoryConfig(process.env.CACHE_USER_ENABLED !== "false", parseInt(process.env.CACHE_USER_DURATION || String(CACHE_DURATION_DEFAULTS.USER), 10)),
79
- GEOIP: defaultCategoryConfig(process.env.CACHE_GEOIP_ENABLED !== "false", parseInt(process.env.CACHE_GEOIP_DURATION || String(CACHE_DURATION_DEFAULTS.GEOIP), 10)),
80
- SETTINGS: defaultCategoryConfig(process.env.CACHE_SETTINGS_ENABLED !== "false", parseInt(process.env.CACHE_SETTINGS_DURATION || String(CACHE_DURATION_DEFAULTS.SETTINGS), 10)),
81
- RESERVED_WORDS: defaultCategoryConfig(process.env.CACHE_RESERVED_WORDS_ENABLED !== "false", parseInt(process.env.CACHE_RESERVED_WORDS_DURATION || String(CACHE_DURATION_DEFAULTS.RESERVED_WORDS), 10)),
82
- ALIAS: defaultCategoryConfig(process.env.CACHE_ALIAS_ENABLED !== "false", parseInt(process.env.CACHE_ALIAS_DURATION || String(CACHE_DURATION_DEFAULTS.ALIAS), 10)),
83
- COMMUNITY: defaultCategoryConfig(process.env.CACHE_COMMUNITY_ENABLED !== "false", parseInt(process.env.CACHE_COMMUNITY_DURATION || String(CACHE_DURATION_DEFAULTS.COMMUNITY), 10)),
84
- LINK: defaultCategoryConfig(process.env.CACHE_LINK_ENABLED !== "false", parseInt(process.env.CACHE_LINK_DURATION || process.env.CACHE_TTL_LINK || String(CACHE_DURATION_DEFAULTS.LINK), 10)),
85
- // RATE_LIMIT: ENABLED 제거됨 - Rate Limiting은 RATE_LIMIT_ENABLED로 제어, CACHE_ENABLED로 Redis 사용 여부 결정
86
- RATE_LIMIT: defaultCategoryConfig(true, parseInt(process.env.CACHE_RATE_LIMIT_DURATION || String(CACHE_DURATION_DEFAULTS.RATE_LIMIT), 10)),
87
- URL_TOKEN: defaultCategoryConfig(process.env.CACHE_URL_TOKEN_ENABLED !== "false", parseInt(process.env.CACHE_URL_TOKEN_DURATION || String(CACHE_DURATION_DEFAULTS.URL_TOKEN), 10)),
88
- API_KEY: defaultCategoryConfig(process.env.CACHE_API_KEY_ENABLED !== "false", parseInt(process.env.CACHE_API_KEY_DURATION || String(CACHE_DURATION_DEFAULTS.API_KEY), 10)),
89
- API_CONFIG: defaultCategoryConfig(process.env.CACHE_API_CONFIG_ENABLED !== "false", parseInt(process.env.CACHE_API_CONFIG_DURATION || String(CACHE_DURATION_DEFAULTS.API_CONFIG), 10))
90
- }
91
- },
92
- isCacheEnabled: () => cacheEnabled,
93
- isRedisAvailable: () => redisAvailable
94
- };
95
- }
96
- function getConfig() {
97
- if (_injectedConfig) {
98
- return _injectedConfig;
99
- }
100
- return getDefaultConfig();
101
- }
102
- var getEnv = () => getConfig().env;
103
- var getENV = () => getConfig().ENV;
104
- function initializeCache(config) {
105
- if (global.__cacheInitialized) {
106
- return;
107
- }
108
- _injectedConfig = config;
109
- global.__cacheInitialized = true;
110
- if (process.env.NODE_ENV === "production" && process.env.NEXT_BUILD_TIME !== "true") {
111
- logger.info("[Cache] Environment configuration injection complete", {
112
- cacheEnabled: config.isCacheEnabled(),
113
- redisAvailable: config.isRedisAvailable()
114
- });
115
- }
116
- }
117
- var isCacheEnabled = () => getConfig().isCacheEnabled();
118
- function validateRedisEnvironment() {
119
- const errors = [];
120
- const env = getEnv();
121
- if (!env.UPSTASH_REDIS_REST_URL) {
122
- errors.push("UPSTASH_REDIS_REST_URL is not configured.");
123
- } else if (env.UPSTASH_REDIS_REST_URL.trim() === "") {
124
- errors.push("UPSTASH_REDIS_REST_URL is an empty string.");
125
- }
126
- if (!env.UPSTASH_REDIS_REST_TOKEN) {
127
- errors.push("UPSTASH_REDIS_REST_TOKEN is not configured.");
128
- } else if (env.UPSTASH_REDIS_REST_TOKEN.trim() === "") {
129
- errors.push("UPSTASH_REDIS_REST_TOKEN is an empty string.");
130
- }
131
- return {
132
- isValid: errors.length === 0,
133
- errors
134
- };
135
- }
136
- function getCacheFallbackConfig() {
137
- return {
138
- redisErrorThresholdGlobal: parseInt(
139
- process.env.CACHE_REDIS_ERROR_THRESHOLD_GLOBAL || String(CACHE_FALLBACK_DEFAULTS.REDIS_ERROR_THRESHOLD_GLOBAL),
140
- 10
141
- ),
142
- redisErrorThresholdLocal: parseInt(
143
- process.env.CACHE_REDIS_ERROR_THRESHOLD_LOCAL || String(CACHE_FALLBACK_DEFAULTS.REDIS_ERROR_THRESHOLD_LOCAL),
144
- 10
145
- ),
146
- redisReconnectInterval: parseInt(
147
- process.env.CACHE_REDIS_RECONNECT_INTERVAL || String(CACHE_FALLBACK_DEFAULTS.REDIS_RECONNECT_INTERVAL),
148
- 10
149
- ),
150
- fallbackOnRedisError: process.env.CACHE_FALLBACK_ON_REDIS_ERROR !== "false",
151
- writeToMemory: process.env.CACHE_WRITE_TO_MEMORY !== "false"
152
- };
153
- }
154
- function getCacheHealthConfig() {
155
- return {
156
- errorRateThreshold: parseInt(
157
- process.env.CACHE_HEALTH_ERROR_RATE_THRESHOLD || String(CACHE_HEALTH_DEFAULTS.ERROR_RATE_THRESHOLD),
158
- 10
159
- ),
160
- hitRateThreshold: parseInt(
161
- process.env.CACHE_HEALTH_HIT_RATE_THRESHOLD || String(CACHE_HEALTH_DEFAULTS.HIT_RATE_THRESHOLD),
162
- 10
163
- ),
164
- reportHitRateThreshold: parseInt(
165
- process.env.CACHE_REPORT_HIT_RATE_THRESHOLD || String(CACHE_HEALTH_DEFAULTS.REPORT_HIT_RATE_THRESHOLD),
166
- 10
167
- ),
168
- reportResponseTimeThreshold: parseInt(
169
- process.env.CACHE_REPORT_RESPONSE_TIME_THRESHOLD || String(CACHE_HEALTH_DEFAULTS.REPORT_RESPONSE_TIME_THRESHOLD),
170
- 10
171
- ),
172
- reportInvalidationThreshold: parseInt(
173
- process.env.CACHE_REPORT_INVALIDATION_THRESHOLD || String(CACHE_HEALTH_DEFAULTS.REPORT_INVALIDATION_THRESHOLD),
174
- 10
175
- ),
176
- reportMinRequests: parseInt(
177
- process.env.CACHE_REPORT_MIN_REQUESTS || String(CACHE_HEALTH_DEFAULTS.REPORT_MIN_REQUESTS),
178
- 10
179
- )
180
- };
181
- }
182
-
183
- export {
184
- getDefaultConfig,
185
- getConfig,
186
- getEnv,
187
- getENV,
188
- initializeCache,
189
- isCacheEnabled,
190
- validateRedisEnvironment,
191
- getCacheFallbackConfig,
192
- getCacheHealthConfig
193
- };
@@ -1,93 +0,0 @@
1
- import {
2
- getPlatform
3
- } from "./chunk-6WVKLXVT.js";
4
-
5
- // src/system/environment.ts
6
- import os from "os";
7
- function checkEnvironmentVariables() {
8
- const platform = getPlatform();
9
- const requiredVars = [
10
- "DATABASE_URL",
11
- "NEXT_PUBLIC_BASE_URL",
12
- "JWT_SECRET",
13
- "UPSTASH_REDIS_REST_URL",
14
- "UPSTASH_REDIS_REST_TOKEN"
15
- ];
16
- const optionalVars = [
17
- "IPGEOLOCATION_API_KEY",
18
- "MAXMIND_LICENSE_KEY",
19
- "CACHE_ENABLED"
20
- ];
21
- const results = [];
22
- for (const key of requiredVars) {
23
- const value = process.env[key];
24
- const ok = !!value;
25
- results.push({
26
- key,
27
- ok,
28
- value: ok ? value.length > 20 ? value.substring(0, 20) + "..." : value : void 0
29
- });
30
- }
31
- for (const key of optionalVars) {
32
- const value = process.env[key];
33
- const ok = !!value;
34
- results.push({
35
- key,
36
- ok,
37
- value: ok ? value.length > 20 ? value.substring(0, 20) + "..." : value : void 0
38
- });
39
- }
40
- results.push({
41
- key: "PLATFORM",
42
- ok: true,
43
- value: platform === "darwin" ? "macOS" : "Linux"
44
- });
45
- results.push({
46
- key: "NODE_ENV",
47
- ok: true,
48
- value: process.env.NODE_ENV || "development"
49
- });
50
- results.push({
51
- key: "ARCHITECTURE",
52
- ok: true,
53
- value: process.arch
54
- });
55
- results.push({
56
- key: "NODE_VERSION",
57
- ok: true,
58
- value: process.version
59
- });
60
- results.push({
61
- key: "HOSTNAME",
62
- ok: true,
63
- value: os.hostname()
64
- });
65
- results.push({
66
- key: "USER_HOME",
67
- ok: true,
68
- value: os.homedir()
69
- });
70
- results.push({
71
- key: "TEMP_DIR",
72
- ok: true,
73
- value: os.tmpdir()
74
- });
75
- if (platform === "darwin") {
76
- results.push({
77
- key: "MACOS_VERSION",
78
- ok: true,
79
- value: os.release()
80
- });
81
- } else {
82
- results.push({
83
- key: "LINUX_DISTRO",
84
- ok: true,
85
- value: os.release()
86
- });
87
- }
88
- return results;
89
- }
90
-
91
- export {
92
- checkEnvironmentVariables
93
- };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatLabel
3
3
  } from "./chunk-NY5QXT33.js";
4
- import {
5
- Button
6
- } from "./chunk-L25BNU3E.js";
7
4
  import {
8
5
  Input
9
6
  } from "./chunk-RJUVBBZG.js";
7
+ import {
8
+ Button
9
+ } from "./chunk-L25BNU3E.js";
10
10
 
11
11
  // src/components/ui/data-table/DataTableSearch.tsx
12
12
  import { isValidElement } from "react";
File without changes
@@ -1,6 +1,3 @@
1
- import {
2
- Button
3
- } from "./chunk-L25BNU3E.js";
4
1
  import {
5
2
  Input
6
3
  } from "./chunk-RJUVBBZG.js";
@@ -14,6 +11,9 @@ import {
14
11
  SelectTrigger,
15
12
  SelectValue
16
13
  } from "./chunk-WDUFQFDP.js";
14
+ import {
15
+ Button
16
+ } from "./chunk-L25BNU3E.js";
17
17
  import {
18
18
  cn
19
19
  } from "./chunk-62FLBG6B.js";