configforge 1.0.0-beta.11 → 1.0.0-beta.13

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 (38) hide show
  1. package/README.md +88 -2
  2. package/dist/core/Converter.d.ts +27 -0
  3. package/dist/core/Converter.d.ts.map +1 -1
  4. package/dist/core/Converter.js +91 -21
  5. package/dist/core/Converter.js.map +1 -1
  6. package/dist/plugins/Plugin.d.ts +95 -0
  7. package/dist/plugins/Plugin.d.ts.map +1 -0
  8. package/dist/plugins/Plugin.js +3 -0
  9. package/dist/plugins/Plugin.js.map +1 -0
  10. package/dist/plugins/PluginManager.d.ts +73 -0
  11. package/dist/plugins/PluginManager.d.ts.map +1 -0
  12. package/dist/plugins/PluginManager.js +220 -0
  13. package/dist/plugins/PluginManager.js.map +1 -0
  14. package/dist/plugins/PluginRegistry.d.ts +122 -0
  15. package/dist/plugins/PluginRegistry.d.ts.map +1 -0
  16. package/dist/plugins/PluginRegistry.js +385 -0
  17. package/dist/plugins/PluginRegistry.js.map +1 -0
  18. package/dist/plugins/built-in/AuditPlugin.d.ts +81 -0
  19. package/dist/plugins/built-in/AuditPlugin.d.ts.map +1 -0
  20. package/dist/plugins/built-in/AuditPlugin.js +235 -0
  21. package/dist/plugins/built-in/AuditPlugin.js.map +1 -0
  22. package/dist/plugins/built-in/BackupPlugin.d.ts +38 -0
  23. package/dist/plugins/built-in/BackupPlugin.d.ts.map +1 -0
  24. package/dist/plugins/built-in/BackupPlugin.js +105 -0
  25. package/dist/plugins/built-in/BackupPlugin.js.map +1 -0
  26. package/dist/plugins/built-in/ValidationPlugin.d.ts +61 -0
  27. package/dist/plugins/built-in/ValidationPlugin.d.ts.map +1 -0
  28. package/dist/plugins/built-in/ValidationPlugin.js +235 -0
  29. package/dist/plugins/built-in/ValidationPlugin.js.map +1 -0
  30. package/dist/plugins/built-in/index.d.ts +7 -0
  31. package/dist/plugins/built-in/index.d.ts.map +1 -0
  32. package/dist/plugins/built-in/index.js +14 -0
  33. package/dist/plugins/built-in/index.js.map +1 -0
  34. package/dist/plugins/index.d.ts +5 -0
  35. package/dist/plugins/index.d.ts.map +1 -0
  36. package/dist/plugins/index.js +25 -0
  37. package/dist/plugins/index.js.map +1 -0
  38. package/package.json +1 -1
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationPlugin = void 0;
4
+ exports.createValidationPlugin = createValidationPlugin;
5
+ /**
6
+ * Plugin that adds enhanced validation capabilities
7
+ */
8
+ class ValidationPlugin {
9
+ constructor(options = {}) {
10
+ this.name = 'validation-plugin';
11
+ this.version = '1.0.0';
12
+ this.description = 'Enhanced validation with custom rules and reporting';
13
+ this.author = 'ConfigForge Team';
14
+ this.validationResults = [];
15
+ this.hooks = {
16
+ afterMap: async (target, context) => {
17
+ // Run validation after mapping
18
+ this.validationResults = [];
19
+ await this.validateData(target, '');
20
+ // Add results to context for reporting
21
+ context.metadata.validationResults = this.validationResults;
22
+ return target;
23
+ },
24
+ afterValidate: async (_data, errors, _context) => {
25
+ // Report validation results
26
+ this.reportValidationResults();
27
+ // Add validation errors if in strict mode
28
+ if (this.options.strictMode || this.options.failOnWarnings) {
29
+ const criticalIssues = this.validationResults.filter(result => result.severity === 'error' ||
30
+ (this.options.failOnWarnings && result.severity === 'warning'));
31
+ for (const issue of criticalIssues) {
32
+ errors.push(new Error(`${issue.path}: ${issue.message}`));
33
+ }
34
+ }
35
+ },
36
+ };
37
+ this.options = {
38
+ rules: [],
39
+ strictMode: false,
40
+ failOnWarnings: false,
41
+ customRules: {},
42
+ ...options,
43
+ };
44
+ // Add built-in rules
45
+ this.addBuiltInRules();
46
+ }
47
+ async install(_context) {
48
+ console.log(`Validation plugin installed with ${this.options.rules.length} rules`);
49
+ }
50
+ /**
51
+ * Add a custom validation rule
52
+ */
53
+ addRule(rule) {
54
+ this.options.rules.push(rule);
55
+ }
56
+ /**
57
+ * Remove a validation rule by name
58
+ */
59
+ removeRule(name) {
60
+ const index = this.options.rules.findIndex(rule => rule.name === name);
61
+ if (index >= 0) {
62
+ this.options.rules.splice(index, 1);
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ /**
68
+ * Validate data against all rules
69
+ */
70
+ async validateData(data, basePath) {
71
+ if (data === null || data === undefined) {
72
+ return;
73
+ }
74
+ // Validate current level
75
+ for (const rule of this.options.rules) {
76
+ try {
77
+ const result = rule.validate(data, basePath, data);
78
+ if (result !== true) {
79
+ this.validationResults.push({
80
+ path: basePath || 'root',
81
+ rule: rule.name,
82
+ severity: rule.severity,
83
+ message: typeof result === 'string' ? result : rule.description,
84
+ });
85
+ }
86
+ }
87
+ catch (error) {
88
+ this.validationResults.push({
89
+ path: basePath || 'root',
90
+ rule: rule.name,
91
+ severity: 'error',
92
+ message: `Validation rule error: ${error instanceof Error ? error.message : String(error)}`,
93
+ });
94
+ }
95
+ }
96
+ // Recursively validate nested objects
97
+ if (typeof data === 'object' && !Array.isArray(data)) {
98
+ for (const [key, value] of Object.entries(data)) {
99
+ const path = basePath ? `${basePath}.${key}` : key;
100
+ await this.validateData(value, path);
101
+ }
102
+ }
103
+ else if (Array.isArray(data)) {
104
+ for (let i = 0; i < data.length; i++) {
105
+ const path = `${basePath}[${i}]`;
106
+ await this.validateData(data[i], path);
107
+ }
108
+ }
109
+ }
110
+ /**
111
+ * Report validation results
112
+ */
113
+ reportValidationResults() {
114
+ if (this.validationResults.length === 0) {
115
+ console.log('✅ All validation rules passed');
116
+ return;
117
+ }
118
+ const errors = this.validationResults.filter(r => r.severity === 'error');
119
+ const warnings = this.validationResults.filter(r => r.severity === 'warning');
120
+ const info = this.validationResults.filter(r => r.severity === 'info');
121
+ console.log('\n📋 Validation Results:');
122
+ if (errors.length > 0) {
123
+ console.log(`\n❌ Errors (${errors.length}):`);
124
+ errors.forEach(error => {
125
+ console.log(` • ${error.path}: ${error.message} (${error.rule})`);
126
+ });
127
+ }
128
+ if (warnings.length > 0) {
129
+ console.log(`\n⚠️ Warnings (${warnings.length}):`);
130
+ warnings.forEach(warning => {
131
+ console.log(` • ${warning.path}: ${warning.message} (${warning.rule})`);
132
+ });
133
+ }
134
+ if (info.length > 0) {
135
+ console.log(`\nℹ️ Info (${info.length}):`);
136
+ info.forEach(infoItem => {
137
+ console.log(` • ${infoItem.path}: ${infoItem.message} (${infoItem.rule})`);
138
+ });
139
+ }
140
+ }
141
+ /**
142
+ * Add built-in validation rules
143
+ */
144
+ addBuiltInRules() {
145
+ // Required fields rule
146
+ this.addRule({
147
+ name: 'no-empty-strings',
148
+ description: 'Fields should not be empty strings',
149
+ severity: 'warning',
150
+ validate: (value) => {
151
+ return (typeof value !== 'string' ||
152
+ value.trim().length > 0 ||
153
+ 'Empty string detected');
154
+ },
155
+ });
156
+ // No null values rule
157
+ this.addRule({
158
+ name: 'no-null-values',
159
+ description: 'Fields should not be null',
160
+ severity: 'warning',
161
+ validate: (value) => {
162
+ return value !== null || 'Null value detected';
163
+ },
164
+ });
165
+ // Reasonable string length rule
166
+ this.addRule({
167
+ name: 'reasonable-string-length',
168
+ description: 'String fields should have reasonable length',
169
+ severity: 'info',
170
+ validate: (value) => {
171
+ if (typeof value !== 'string')
172
+ return true;
173
+ if (value.length > 1000) {
174
+ return `String is very long (${value.length} characters)`;
175
+ }
176
+ return true;
177
+ },
178
+ });
179
+ // Valid number range rule
180
+ this.addRule({
181
+ name: 'valid-number-range',
182
+ description: 'Numbers should be within reasonable ranges',
183
+ severity: 'warning',
184
+ validate: (value) => {
185
+ if (typeof value !== 'number')
186
+ return true;
187
+ if (!isFinite(value)) {
188
+ return 'Number is not finite (NaN or Infinity)';
189
+ }
190
+ if (value > Number.MAX_SAFE_INTEGER ||
191
+ value < Number.MIN_SAFE_INTEGER) {
192
+ return 'Number exceeds safe integer range';
193
+ }
194
+ return true;
195
+ },
196
+ });
197
+ // Array size rule
198
+ this.addRule({
199
+ name: 'reasonable-array-size',
200
+ description: 'Arrays should have reasonable size',
201
+ severity: 'info',
202
+ validate: (value) => {
203
+ if (!Array.isArray(value))
204
+ return true;
205
+ if (value.length > 1000) {
206
+ return `Array is very large (${value.length} items)`;
207
+ }
208
+ return true;
209
+ },
210
+ });
211
+ // Object depth rule
212
+ this.addRule({
213
+ name: 'reasonable-object-depth',
214
+ description: 'Objects should not be too deeply nested',
215
+ severity: 'warning',
216
+ validate: (value, path) => {
217
+ if (typeof value !== 'object' || value === null)
218
+ return true;
219
+ const depth = path.split('.').length;
220
+ if (depth > 10) {
221
+ return `Object is deeply nested (depth: ${depth})`;
222
+ }
223
+ return true;
224
+ },
225
+ });
226
+ }
227
+ }
228
+ exports.ValidationPlugin = ValidationPlugin;
229
+ /**
230
+ * Factory function to create validation plugin
231
+ */
232
+ function createValidationPlugin(options) {
233
+ return new ValidationPlugin(options);
234
+ }
235
+ //# sourceMappingURL=ValidationPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/built-in/ValidationPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { BackupPlugin, createBackupPlugin } from './BackupPlugin';
2
+ export { AuditPlugin, createAuditPlugin } from './AuditPlugin';
3
+ export { ValidationPlugin, createValidationPlugin } from './ValidationPlugin';
4
+ export type { BackupPluginOptions } from './BackupPlugin';
5
+ export type { AuditPluginOptions, AuditLogEntry } from './AuditPlugin';
6
+ export type { ValidationPluginOptions, ValidationRule, } from './ValidationPlugin';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/built-in/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EACV,uBAAuB,EACvB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createValidationPlugin = exports.ValidationPlugin = exports.createAuditPlugin = exports.AuditPlugin = exports.createBackupPlugin = exports.BackupPlugin = void 0;
4
+ // Built-in plugins for ConfigForge
5
+ var BackupPlugin_1 = require("./BackupPlugin");
6
+ Object.defineProperty(exports, "BackupPlugin", { enumerable: true, get: function () { return BackupPlugin_1.BackupPlugin; } });
7
+ Object.defineProperty(exports, "createBackupPlugin", { enumerable: true, get: function () { return BackupPlugin_1.createBackupPlugin; } });
8
+ var AuditPlugin_1 = require("./AuditPlugin");
9
+ Object.defineProperty(exports, "AuditPlugin", { enumerable: true, get: function () { return AuditPlugin_1.AuditPlugin; } });
10
+ Object.defineProperty(exports, "createAuditPlugin", { enumerable: true, get: function () { return AuditPlugin_1.createAuditPlugin; } });
11
+ var ValidationPlugin_1 = require("./ValidationPlugin");
12
+ Object.defineProperty(exports, "ValidationPlugin", { enumerable: true, get: function () { return ValidationPlugin_1.ValidationPlugin; } });
13
+ Object.defineProperty(exports, "createValidationPlugin", { enumerable: true, get: function () { return ValidationPlugin_1.createValidationPlugin; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/built-in/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,+CAAkE;AAAzD,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACzC,6CAA+D;AAAtD,0GAAA,WAAW,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AACvC,uDAA8E;AAArE,oHAAA,gBAAgB,OAAA;AAAE,0HAAA,sBAAsB,OAAA"}
@@ -0,0 +1,5 @@
1
+ export { Plugin, PluginContext, PluginHooks, PluginMetadata, PluginInstallResult, PluginDependency, PluginStatus, } from './Plugin';
2
+ export { PluginRegistry, PluginError, PluginRegistryOptions, } from './PluginRegistry';
3
+ export { PluginManager } from './PluginManager';
4
+ export * from './built-in';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,cAAc,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PluginManager = exports.PluginError = exports.PluginRegistry = void 0;
18
+ var PluginRegistry_1 = require("./PluginRegistry");
19
+ Object.defineProperty(exports, "PluginRegistry", { enumerable: true, get: function () { return PluginRegistry_1.PluginRegistry; } });
20
+ Object.defineProperty(exports, "PluginError", { enumerable: true, get: function () { return PluginRegistry_1.PluginError; } });
21
+ var PluginManager_1 = require("./PluginManager");
22
+ Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return PluginManager_1.PluginManager; } });
23
+ // Built-in plugins
24
+ __exportStar(require("./built-in"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,mDAI0B;AAHxB,gHAAA,cAAc,OAAA;AACd,6GAAA,WAAW,OAAA;AAGb,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,6CAA2B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "configforge",
3
- "version": "1.0.0-beta.11",
3
+ "version": "1.0.0-beta.13",
4
4
  "description": "Universal config converter framework with exceptional developer experience",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",