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.
- package/README.md +88 -2
- package/dist/core/Converter.d.ts +27 -0
- package/dist/core/Converter.d.ts.map +1 -1
- package/dist/core/Converter.js +91 -21
- package/dist/core/Converter.js.map +1 -1
- package/dist/plugins/Plugin.d.ts +95 -0
- package/dist/plugins/Plugin.d.ts.map +1 -0
- package/dist/plugins/Plugin.js +3 -0
- package/dist/plugins/Plugin.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +73 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +220 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/PluginRegistry.d.ts +122 -0
- package/dist/plugins/PluginRegistry.d.ts.map +1 -0
- package/dist/plugins/PluginRegistry.js +385 -0
- package/dist/plugins/PluginRegistry.js.map +1 -0
- package/dist/plugins/built-in/AuditPlugin.d.ts +81 -0
- package/dist/plugins/built-in/AuditPlugin.d.ts.map +1 -0
- package/dist/plugins/built-in/AuditPlugin.js +235 -0
- package/dist/plugins/built-in/AuditPlugin.js.map +1 -0
- package/dist/plugins/built-in/BackupPlugin.d.ts +38 -0
- package/dist/plugins/built-in/BackupPlugin.d.ts.map +1 -0
- package/dist/plugins/built-in/BackupPlugin.js +105 -0
- package/dist/plugins/built-in/BackupPlugin.js.map +1 -0
- package/dist/plugins/built-in/ValidationPlugin.d.ts +61 -0
- package/dist/plugins/built-in/ValidationPlugin.d.ts.map +1 -0
- package/dist/plugins/built-in/ValidationPlugin.js +235 -0
- package/dist/plugins/built-in/ValidationPlugin.js.map +1 -0
- package/dist/plugins/built-in/index.d.ts +7 -0
- package/dist/plugins/built-in/index.d.ts.map +1 -0
- package/dist/plugins/built-in/index.js +14 -0
- package/dist/plugins/built-in/index.js.map +1 -0
- package/dist/plugins/index.d.ts +5 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +25 -0
- package/dist/plugins/index.js.map +1 -0
- 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"}
|