xypriss 1.1.4 → 1.2.0
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.
- package/dist/cjs/src/index.js +56 -0
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/plugins/modules/index.js +304 -0
- package/dist/cjs/src/plugins/modules/index.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/builtin/CompressionPlugin.js +410 -0
- package/dist/cjs/src/plugins/modules/network/builtin/CompressionPlugin.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js +797 -0
- package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js +409 -0
- package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/builtin/RateLimitPlugin.js +606 -0
- package/dist/cjs/src/plugins/modules/network/builtin/RateLimitPlugin.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js +225 -0
- package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/core/NetworkPluginFactory.js +40 -0
- package/dist/cjs/src/plugins/modules/network/core/NetworkPluginFactory.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/index.js +120 -0
- package/dist/cjs/src/plugins/modules/network/index.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js +24 -0
- package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js.map +1 -0
- package/dist/cjs/src/plugins/modules/network/utils/NetworkPluginUtils.js +63 -0
- package/dist/cjs/src/plugins/modules/network/utils/NetworkPluginUtils.js.map +1 -0
- package/dist/cjs/src/plugins/modules/types/PluginTypes.js +1 -0
- package/dist/cjs/src/plugins/modules/types/PluginTypes.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +111 -2
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/conf/networkConnectionConf.js +25 -0
- package/dist/cjs/src/server/conf/networkConnectionConf.js.map +1 -0
- package/dist/cjs/src/server/conf/proxyConfig.js +23 -0
- package/dist/cjs/src/server/conf/proxyConfig.js.map +1 -0
- package/dist/cjs/src/server/conf/rateLimitConfig.js +35 -0
- package/dist/cjs/src/server/conf/rateLimitConfig.js.map +1 -0
- package/dist/cjs/src/server/const/default.js +6 -0
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/handlers/NotFoundHandler.js +217 -0
- package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -0
- package/dist/cjs/src/server/handlers/templates/notFoundTemp.js +163 -0
- package/dist/cjs/src/server/handlers/templates/notFoundTemp.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js +5 -5
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +3 -3
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/esm/src/index.js +18 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/plugins/modules/index.js +275 -0
- package/dist/esm/src/plugins/modules/index.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/builtin/CompressionPlugin.js +389 -0
- package/dist/esm/src/plugins/modules/network/builtin/CompressionPlugin.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js +776 -0
- package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js +407 -0
- package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/builtin/RateLimitPlugin.js +585 -0
- package/dist/esm/src/plugins/modules/network/builtin/RateLimitPlugin.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js +223 -0
- package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/core/NetworkPluginFactory.js +38 -0
- package/dist/esm/src/plugins/modules/network/core/NetworkPluginFactory.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/index.js +109 -0
- package/dist/esm/src/plugins/modules/network/index.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js +24 -0
- package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js.map +1 -0
- package/dist/esm/src/plugins/modules/network/utils/NetworkPluginUtils.js +61 -0
- package/dist/esm/src/plugins/modules/network/utils/NetworkPluginUtils.js.map +1 -0
- package/dist/esm/src/plugins/modules/types/PluginTypes.js +1 -0
- package/dist/esm/src/plugins/modules/types/PluginTypes.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +111 -2
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/conf/networkConnectionConf.js +23 -0
- package/dist/esm/src/server/conf/networkConnectionConf.js.map +1 -0
- package/dist/esm/src/server/conf/proxyConfig.js +21 -0
- package/dist/esm/src/server/conf/proxyConfig.js.map +1 -0
- package/dist/esm/src/server/conf/rateLimitConfig.js +33 -0
- package/dist/esm/src/server/conf/rateLimitConfig.js.map +1 -0
- package/dist/esm/src/server/const/default.js +6 -0
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/handlers/NotFoundHandler.js +194 -0
- package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -0
- package/dist/esm/src/server/handlers/templates/notFoundTemp.js +161 -0
- package/dist/esm/src/server/handlers/templates/notFoundTemp.js.map +1 -0
- package/dist/index.d.ts +5099 -14
- package/package.json +8 -7
package/dist/esm/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { createOptimalCache } from './cache/CacheFactory.js';
|
|
|
4
4
|
export { SecurityMiddleware } from './middleware/security-middleware.js';
|
|
5
5
|
export { PerformanceMonitor } from './server/optimization/performance-monitor.js';
|
|
6
6
|
export { clusterBuilder, createApiCluster, createClusterMiddleware, createDevelopmentCluster, createMicroserviceCluster, createProductionCluster, createTestCluster, createWebCluster, createWorkerCluster, getRecommendedConfig, mergeClusterConfigs, setClusterDefaults, validateClusterConfig, withClusterSupport } from './cluster/index.js';
|
|
7
|
+
export { DEFAULT_PLUGIN_CONFIG, PERFORMANCE_TARGETS, PLUGIN_SYSTEM_NAME, PLUGIN_SYSTEM_VERSION, PluginDevelopmentHelpers, PluginSystemFactory, PluginSystemUtils } from './plugins/modules/index.js';
|
|
7
8
|
export { quickServer } from './quick-start.js';
|
|
8
9
|
export { createCircularRefDebugger, createSafeJsonMiddleware, safeJsonStringify, sendSafeJson, setupSafeJson } from './middleware/safe-json-middleware.js';
|
|
9
10
|
export { expressStringify, fastStringify, safeStringify } from '../mods/security/src/components/fortified-function/serializer/safe-serializer.js';
|
|
@@ -16,4 +17,21 @@ export { IPCManager } from './cluster/modules/IPCManager.js';
|
|
|
16
17
|
export { MetricsCollector } from './cluster/modules/MetricsCollector.js';
|
|
17
18
|
export { AutoScaler } from './cluster/modules/AutoScaler.js';
|
|
18
19
|
export { ClusterBuilderFactoryImpl, ClusterConfigBuilder, ClusterFactory, buildCluster, clusterBuilderFactory, clusterFactory, createCluster, createClusterForEnvironment } from './cluster/modules/ClusterFactory.js';
|
|
20
|
+
export { PluginRegistry } from './plugins/modules/PluginRegistry.js';
|
|
21
|
+
export { PluginEngine } from './plugins/modules/PluginEngine.js';
|
|
22
|
+
export { PluginEventType, PluginPriority, PluginType } from './plugins/modules/types/PluginTypes.js';
|
|
23
|
+
export { SecurityPlugin as SecurityPluginBase } from './plugins/modules/core/SecurityPlugin.js';
|
|
24
|
+
export { PerformancePlugin as PerformancePluginBase } from './plugins/modules/core/PerformancePlugin.js';
|
|
25
|
+
export { CachePlugin as CachePluginBase } from './plugins/modules/core/CachePlugin.js';
|
|
26
|
+
export { JWTAuthPlugin } from './plugins/modules/builtin/JWTAuthPlugin.js';
|
|
27
|
+
export { ResponseTimePlugin } from './plugins/modules/builtin/ResponseTimePlugin.js';
|
|
28
|
+
export { SmartCachePlugin } from './plugins/modules/builtin/SmartCachePlugin.js';
|
|
29
|
+
export { NetworkPlugin } from './plugins/modules/network/core/NetworkPlugin.js';
|
|
30
|
+
export { ConnectionPlugin } from './plugins/modules/network/builtin/ConnectionPlugin.js';
|
|
31
|
+
export { CompressionPlugin } from './plugins/modules/network/builtin/CompressionPlugin.js';
|
|
32
|
+
export { ProxyPlugin } from './plugins/modules/network/builtin/ProxyPlugin.js';
|
|
33
|
+
export { RateLimitPlugin } from './plugins/modules/network/builtin/RateLimitPlugin.js';
|
|
34
|
+
export { NetworkCategory } from './plugins/modules/network/types/NetworkTypes.js';
|
|
35
|
+
export { NetworkPluginFactory } from './plugins/modules/network/core/NetworkPluginFactory.js';
|
|
36
|
+
export { NetworkPluginUtils } from './plugins/modules/network/utils/NetworkPluginUtils.js';
|
|
19
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { JWTAuthPlugin } from './builtin/JWTAuthPlugin.js';
|
|
2
|
+
import { ResponseTimePlugin } from './builtin/ResponseTimePlugin.js';
|
|
3
|
+
import { SmartCachePlugin } from './builtin/SmartCachePlugin.js';
|
|
4
|
+
import { PluginEngine } from './PluginEngine.js';
|
|
5
|
+
import { PluginRegistry } from './PluginRegistry.js';
|
|
6
|
+
import { PluginPriority } from './types/PluginTypes.js';
|
|
7
|
+
export { PluginEventType, PluginType } from './types/PluginTypes.js';
|
|
8
|
+
export { SecurityPlugin as SecurityPluginBase } from './core/SecurityPlugin.js';
|
|
9
|
+
import '../../../mods/security/src/components/fortified-function/core/fortified-function-core.js';
|
|
10
|
+
import '../../../mods/security/src/components/fortified-function/core/fortified-config.js';
|
|
11
|
+
import '../../../mods/security/src/components/fortified-function/core/fortified-logger.js';
|
|
12
|
+
import 'events';
|
|
13
|
+
import '../../../mods/security/src/components/fortified-function/serializer/safe-serializer.js';
|
|
14
|
+
import 'nehoid';
|
|
15
|
+
import '../../../mods/security/src/utils/memory/index.js';
|
|
16
|
+
import 'crypto';
|
|
17
|
+
import '../../../mods/security/src/types/secure-memory.js';
|
|
18
|
+
import '../../../mods/security/src/components/secure-string/advanced/entropy-analyzer.js';
|
|
19
|
+
import '../../../mods/security/src/components/secure-string/advanced/quantum-safe.js';
|
|
20
|
+
import '../../../mods/security/src/components/secure-string/advanced/performance-monitor.js';
|
|
21
|
+
import '../../../mods/security/src/core/hash/hash-core.js';
|
|
22
|
+
import '../../../mods/security/src/core/hash/hash-types.js';
|
|
23
|
+
import '../../../mods/security/src/core/hash/hash-security.js';
|
|
24
|
+
import '../../../mods/security/src/core/hash/hash-advanced.js';
|
|
25
|
+
import '../../../mods/security/src/algorithms/hash-algorithms.js';
|
|
26
|
+
import '../../../mods/security/src/core/random/random-types.js';
|
|
27
|
+
import '../../../mods/security/src/core/random/random-sources.js';
|
|
28
|
+
import 'nehonix-uri-processor';
|
|
29
|
+
import '../../../mods/security/src/types.js';
|
|
30
|
+
import '../../../mods/security/src/components/secure-array/utils/id-generator.js';
|
|
31
|
+
import '../../../mods/security/src/index.js';
|
|
32
|
+
import '../../../shared/logger/Logger.js';
|
|
33
|
+
import '../../../mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js';
|
|
34
|
+
import 'argon2';
|
|
35
|
+
import 'child_process';
|
|
36
|
+
import 'https';
|
|
37
|
+
import '../../../mods/security/src/components/runtime-verification.js';
|
|
38
|
+
import '../../../mods/security/src/components/tamper-evident-logging.js';
|
|
39
|
+
import '../../../mods/security/src/core/keys/keys-types.js';
|
|
40
|
+
import '../../../mods/security/src/core/keys/keys-logger.js';
|
|
41
|
+
import '../../../mods/security/src/core/keys/keys-utils.js';
|
|
42
|
+
import '../../../mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js';
|
|
43
|
+
import '../../../mods/security/src/core/password/index.js';
|
|
44
|
+
import 'systeminformation';
|
|
45
|
+
import 'pidusage';
|
|
46
|
+
import 'node-os-utils';
|
|
47
|
+
import '../../../mods/security/src/components/cache/index.js';
|
|
48
|
+
import 'perf_hooks';
|
|
49
|
+
export { NetworkCategory } from './network/types/NetworkTypes.js';
|
|
50
|
+
import 'fs';
|
|
51
|
+
import 'path';
|
|
52
|
+
import 'xypriss-security';
|
|
53
|
+
import 'zlib';
|
|
54
|
+
import 'compression';
|
|
55
|
+
import 'http-proxy-middleware';
|
|
56
|
+
import 'express-rate-limit';
|
|
57
|
+
import 'ioredis';
|
|
58
|
+
import 'util';
|
|
59
|
+
import '../../encryption/EncryptionService.js';
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* XyPrissJS Ultra-Fast Plugin System
|
|
63
|
+
*
|
|
64
|
+
* Comprehensive plugin system exports for ultra-fast performance
|
|
65
|
+
* with <1ms execution overhead and enterprise-grade security.
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* Plugin system version and metadata
|
|
69
|
+
*/
|
|
70
|
+
const PLUGIN_SYSTEM_VERSION = "1.0.0";
|
|
71
|
+
const PLUGIN_SYSTEM_NAME = "XyPrissJS Ultra-Fast Plugin System";
|
|
72
|
+
/**
|
|
73
|
+
* Performance targets achieved by the plugin system
|
|
74
|
+
*/
|
|
75
|
+
const PERFORMANCE_TARGETS = {
|
|
76
|
+
PLUGIN_EXECUTION_OVERHEAD: "<1ms",
|
|
77
|
+
SECURITY_PLUGIN_EXECUTION: "<2ms",
|
|
78
|
+
CACHE_PLUGIN_EXECUTION: "<0.5ms",
|
|
79
|
+
PERFORMANCE_PLUGIN_EXECUTION: "<0.3ms",
|
|
80
|
+
PLUGIN_REGISTRATION: "<0.1ms",
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Default plugin configurations
|
|
84
|
+
*/
|
|
85
|
+
const DEFAULT_PLUGIN_CONFIG = {
|
|
86
|
+
maxExecutionTime: 1000, // 1 second default timeout
|
|
87
|
+
enableProfiling: true,
|
|
88
|
+
enableCaching: true,
|
|
89
|
+
enableEncryption: false,
|
|
90
|
+
enableAuditLogging: false,
|
|
91
|
+
securityLevel: "basic",
|
|
92
|
+
customSettings: {},
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Plugin system utilities
|
|
96
|
+
*/
|
|
97
|
+
class PluginSystemUtils {
|
|
98
|
+
/**
|
|
99
|
+
* Validate plugin configuration
|
|
100
|
+
*/
|
|
101
|
+
static validatePluginConfig(config) {
|
|
102
|
+
if (!config.id || typeof config.id !== "string") {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (!config.name || typeof config.name !== "string") {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (!config.version || typeof config.version !== "string") {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
if (typeof config.execute !== "function") {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create plugin performance summary
|
|
118
|
+
*/
|
|
119
|
+
static createPerformanceSummary(stats) {
|
|
120
|
+
if (!stats || stats.length === 0) {
|
|
121
|
+
return {
|
|
122
|
+
totalPlugins: 0,
|
|
123
|
+
averageExecutionTime: 0,
|
|
124
|
+
totalExecutions: 0,
|
|
125
|
+
successRate: 100,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
const totalExecutions = stats.reduce((sum, stat) => sum + stat.executionCount, 0);
|
|
129
|
+
const totalExecutionTime = stats.reduce((sum, stat) => sum + stat.totalExecutionTime, 0);
|
|
130
|
+
const totalErrors = stats.reduce((sum, stat) => sum + stat.errorCount, 0);
|
|
131
|
+
return {
|
|
132
|
+
totalPlugins: stats.length,
|
|
133
|
+
averageExecutionTime: totalExecutions > 0 ? totalExecutionTime / totalExecutions : 0,
|
|
134
|
+
totalExecutions,
|
|
135
|
+
successRate: totalExecutions > 0
|
|
136
|
+
? ((totalExecutions - totalErrors) / totalExecutions) * 100
|
|
137
|
+
: 100,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Generate plugin health report
|
|
142
|
+
*/
|
|
143
|
+
static generateHealthReport(registryStats, engineStats) {
|
|
144
|
+
const isHealthy = registryStats.totalPlugins > 0 &&
|
|
145
|
+
registryStats.averageExecutionTime < 10 && // 10ms threshold
|
|
146
|
+
engineStats.circuitBreakersOpen === 0;
|
|
147
|
+
return {
|
|
148
|
+
status: isHealthy ? "healthy" : "degraded",
|
|
149
|
+
timestamp: new Date().toISOString(),
|
|
150
|
+
metrics: {
|
|
151
|
+
totalPlugins: registryStats.totalPlugins,
|
|
152
|
+
averageExecutionTime: registryStats.averageExecutionTime,
|
|
153
|
+
circuitBreakersOpen: engineStats.circuitBreakersOpen,
|
|
154
|
+
contextPoolSize: engineStats.contextPoolSize,
|
|
155
|
+
warmedUpPlugins: engineStats.warmedUpPlugins,
|
|
156
|
+
},
|
|
157
|
+
recommendations: this.generateRecommendations(registryStats, engineStats),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Generate performance recommendations
|
|
162
|
+
*/
|
|
163
|
+
static generateRecommendations(registryStats, engineStats) {
|
|
164
|
+
const recommendations = [];
|
|
165
|
+
if (registryStats.averageExecutionTime > 5) {
|
|
166
|
+
recommendations.push("Consider optimizing slow plugins or increasing timeout values");
|
|
167
|
+
}
|
|
168
|
+
if (engineStats.circuitBreakersOpen > 0) {
|
|
169
|
+
recommendations.push("Review and fix failing plugins to restore full functionality");
|
|
170
|
+
}
|
|
171
|
+
if (engineStats.contextPoolSize < 10) {
|
|
172
|
+
recommendations.push("Consider increasing context pool size for better performance");
|
|
173
|
+
}
|
|
174
|
+
if (registryStats.totalPlugins === 0) {
|
|
175
|
+
recommendations.push("Initialize built-in plugins to enable enhanced functionality");
|
|
176
|
+
}
|
|
177
|
+
if (recommendations.length === 0) {
|
|
178
|
+
recommendations.push("Plugin system is performing optimally");
|
|
179
|
+
}
|
|
180
|
+
return recommendations;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Plugin system factory for easy initialization
|
|
185
|
+
*/
|
|
186
|
+
class PluginSystemFactory {
|
|
187
|
+
/**
|
|
188
|
+
* Create a pre-configured plugin registry
|
|
189
|
+
*/
|
|
190
|
+
static createRegistry(cache, cluster, config) {
|
|
191
|
+
return new PluginRegistry(cache, cluster, config);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Create a pre-configured plugin engine
|
|
195
|
+
*/
|
|
196
|
+
static createEngine(registry, cache, cluster) {
|
|
197
|
+
return new PluginEngine(registry, cache, cluster);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Create all built-in plugins
|
|
201
|
+
*/
|
|
202
|
+
static createBuiltinPlugins() {
|
|
203
|
+
return [
|
|
204
|
+
new JWTAuthPlugin(),
|
|
205
|
+
new ResponseTimePlugin(),
|
|
206
|
+
new SmartCachePlugin(),
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Initialize complete plugin system
|
|
211
|
+
*/
|
|
212
|
+
static async initializeSystem(cache, cluster, config) {
|
|
213
|
+
const registry = this.createRegistry(cache, cluster, config);
|
|
214
|
+
const engine = this.createEngine(registry, cache, cluster);
|
|
215
|
+
const plugins = this.createBuiltinPlugins();
|
|
216
|
+
// Register all built-in plugins
|
|
217
|
+
for (const plugin of plugins) {
|
|
218
|
+
await registry.register(plugin);
|
|
219
|
+
}
|
|
220
|
+
return { registry, engine, plugins };
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Plugin development helpers
|
|
225
|
+
*/
|
|
226
|
+
class PluginDevelopmentHelpers {
|
|
227
|
+
/**
|
|
228
|
+
* Create a basic plugin template
|
|
229
|
+
*/
|
|
230
|
+
static createPluginTemplate(id, name, type, priority = PluginPriority.NORMAL) {
|
|
231
|
+
return {
|
|
232
|
+
id,
|
|
233
|
+
name,
|
|
234
|
+
version: "1.0.0",
|
|
235
|
+
type,
|
|
236
|
+
priority,
|
|
237
|
+
isAsync: true,
|
|
238
|
+
isCacheable: false,
|
|
239
|
+
maxExecutionTime: 1000,
|
|
240
|
+
execute: async (context) => {
|
|
241
|
+
// Plugin implementation goes here
|
|
242
|
+
return {
|
|
243
|
+
success: true,
|
|
244
|
+
executionTime: 0,
|
|
245
|
+
shouldContinue: true,
|
|
246
|
+
};
|
|
247
|
+
},
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Validate plugin implementation
|
|
252
|
+
*/
|
|
253
|
+
static validatePlugin(plugin) {
|
|
254
|
+
const errors = [];
|
|
255
|
+
if (!plugin.id)
|
|
256
|
+
errors.push("Plugin must have an id");
|
|
257
|
+
if (!plugin.name)
|
|
258
|
+
errors.push("Plugin must have a name");
|
|
259
|
+
if (!plugin.version)
|
|
260
|
+
errors.push("Plugin must have a version");
|
|
261
|
+
if (!plugin.type)
|
|
262
|
+
errors.push("Plugin must have a type");
|
|
263
|
+
if (!plugin.execute)
|
|
264
|
+
errors.push("Plugin must have an execute method");
|
|
265
|
+
if (typeof plugin.execute !== "function")
|
|
266
|
+
errors.push("Plugin execute must be a function");
|
|
267
|
+
return {
|
|
268
|
+
valid: errors.length === 0,
|
|
269
|
+
errors,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
export { DEFAULT_PLUGIN_CONFIG, JWTAuthPlugin, PERFORMANCE_TARGETS, PLUGIN_SYSTEM_NAME, PLUGIN_SYSTEM_VERSION, PluginDevelopmentHelpers, PluginEngine, PluginPriority, PluginRegistry, PluginSystemFactory, PluginSystemUtils, ResponseTimePlugin, SmartCachePlugin };
|
|
275
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/plugins/modules/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|