configforge 1.0.0-beta.11 → 1.0.0-beta.12

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,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginManager = void 0;
4
+ const PluginRegistry_1 = require("./PluginRegistry");
5
+ /**
6
+ * Plugin manager that handles plugin lifecycle for a converter instance
7
+ */
8
+ class PluginManager {
9
+ constructor(converter, options) {
10
+ this.hooks = new Map();
11
+ this.converter = converter;
12
+ this.registry = new PluginRegistry_1.PluginRegistry(options);
13
+ this.initializeHooks();
14
+ }
15
+ /**
16
+ * Register a plugin
17
+ */
18
+ register(plugin) {
19
+ this.registry.register(plugin);
20
+ }
21
+ /**
22
+ * Install and activate a plugin
23
+ */
24
+ async use(plugin) {
25
+ // If plugin is a string, assume it's a name of a registered plugin
26
+ if (typeof plugin === 'string') {
27
+ return this.registry.install(plugin, this.converter);
28
+ }
29
+ // Register and install the plugin
30
+ this.registry.register(plugin);
31
+ const result = await this.registry.install(plugin.name, this.converter);
32
+ // Register hooks if installation was successful
33
+ if (result.success && plugin.hooks) {
34
+ this.registerPluginHooks(plugin);
35
+ }
36
+ return result;
37
+ }
38
+ /**
39
+ * Uninstall a plugin
40
+ */
41
+ async unuse(pluginName) {
42
+ const plugin = this.registry.get(pluginName);
43
+ if (plugin && plugin.hooks) {
44
+ this.unregisterPluginHooks(plugin);
45
+ }
46
+ return this.registry.uninstall(pluginName, this.converter);
47
+ }
48
+ /**
49
+ * Get list of installed plugins
50
+ */
51
+ getInstalled() {
52
+ return this.registry.listInstalled();
53
+ }
54
+ /**
55
+ * Get list of all registered plugins
56
+ */
57
+ getRegistered() {
58
+ return this.registry.list();
59
+ }
60
+ /**
61
+ * Check if a plugin is installed
62
+ */
63
+ isInstalled(name) {
64
+ return this.registry.isInstalled(name);
65
+ }
66
+ /**
67
+ * Execute hooks for a specific event
68
+ */
69
+ async executeHooks(event, ...args) {
70
+ const hooks = this.hooks.get(event) || [];
71
+ let result = args[0]; // First argument is usually the data to transform
72
+ for (const { plugin, hook } of hooks) {
73
+ try {
74
+ const hookResult = await hook(...args);
75
+ // For transformation hooks, use the result as input for next hook
76
+ if (hookResult !== undefined && this.isTransformHook(event)) {
77
+ result = hookResult;
78
+ args[0] = result; // Update first argument for next hook
79
+ }
80
+ }
81
+ catch (error) {
82
+ console.error(`Error in plugin '${plugin.name}' hook '${event}':`, error);
83
+ // Execute error hooks if available
84
+ await this.executeErrorHooks(error, plugin);
85
+ }
86
+ }
87
+ return result;
88
+ }
89
+ /**
90
+ * Execute error hooks
91
+ */
92
+ async executeErrorHooks(error, failedPlugin) {
93
+ const errorHooks = this.hooks.get('onError') || [];
94
+ for (const { plugin } of errorHooks) {
95
+ try {
96
+ // Create context with error information
97
+ const errorContext = {
98
+ converter: this.converter,
99
+ version: '1.0.0',
100
+ environment: process.env.NODE_ENV || 'development',
101
+ metadata: {
102
+ error,
103
+ failedPlugin: failedPlugin.name,
104
+ },
105
+ };
106
+ // Call the original hook function directly with error context
107
+ if (plugin.hooks?.onError) {
108
+ await plugin.hooks.onError.call(plugin, error, errorContext);
109
+ }
110
+ }
111
+ catch (hookError) {
112
+ console.error('Error in error hook:', hookError);
113
+ }
114
+ }
115
+ }
116
+ /**
117
+ * Register hooks for a plugin
118
+ */
119
+ registerPluginHooks(plugin) {
120
+ if (!plugin.hooks) {
121
+ return;
122
+ }
123
+ const context = {
124
+ converter: this.converter,
125
+ version: '1.0.0',
126
+ environment: process.env.NODE_ENV || 'development',
127
+ metadata: { plugin: plugin.name },
128
+ };
129
+ // Register each hook type
130
+ for (const [hookName, hookFn] of Object.entries(plugin.hooks)) {
131
+ if (typeof hookFn === 'function') {
132
+ const eventName = hookName;
133
+ if (!this.hooks.has(eventName)) {
134
+ this.hooks.set(eventName, []);
135
+ }
136
+ // Bind context to hook function
137
+ const boundHook = (...args) => {
138
+ // Add context as last parameter for hooks that expect it
139
+ const hookArgs = this.shouldInjectContext(eventName)
140
+ ? [...args, context]
141
+ : args;
142
+ return hookFn.apply(plugin, hookArgs);
143
+ };
144
+ this.hooks.get(eventName).push({
145
+ plugin,
146
+ hook: boundHook,
147
+ });
148
+ }
149
+ }
150
+ }
151
+ /**
152
+ * Unregister hooks for a plugin
153
+ */
154
+ unregisterPluginHooks(plugin) {
155
+ for (const [eventName, hooks] of this.hooks.entries()) {
156
+ const filteredHooks = hooks.filter(h => h.plugin !== plugin);
157
+ this.hooks.set(eventName, filteredHooks);
158
+ }
159
+ }
160
+ /**
161
+ * Initialize hook maps
162
+ */
163
+ initializeHooks() {
164
+ const hookTypes = [
165
+ 'beforeParse',
166
+ 'afterParse',
167
+ 'beforeMap',
168
+ 'afterMap',
169
+ 'beforeTransform',
170
+ 'afterTransform',
171
+ 'beforeValidate',
172
+ 'afterValidate',
173
+ 'beforeSerialize',
174
+ 'afterSerialize',
175
+ 'onError',
176
+ ];
177
+ for (const hookType of hookTypes) {
178
+ this.hooks.set(hookType, []);
179
+ }
180
+ }
181
+ /**
182
+ * Check if hook is a transformation hook that should pass result to next hook
183
+ */
184
+ isTransformHook(event) {
185
+ return [
186
+ 'beforeParse',
187
+ 'afterParse',
188
+ 'beforeMap',
189
+ 'afterMap',
190
+ 'beforeTransform',
191
+ 'afterTransform',
192
+ 'beforeValidate',
193
+ 'beforeSerialize',
194
+ 'afterSerialize',
195
+ ].includes(event);
196
+ }
197
+ /**
198
+ * Check if context should be injected into hook
199
+ */
200
+ shouldInjectContext(_event) {
201
+ // All hooks receive context as the last parameter
202
+ return true;
203
+ }
204
+ /**
205
+ * Get the plugin registry
206
+ */
207
+ getRegistry() {
208
+ return this.registry;
209
+ }
210
+ /**
211
+ * Clear all plugins
212
+ */
213
+ clear() {
214
+ this.hooks.clear();
215
+ this.registry.clear();
216
+ this.initializeHooks();
217
+ }
218
+ }
219
+ exports.PluginManager = PluginManager;
220
+ //# sourceMappingURL=PluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import { Plugin, PluginInstallResult, PluginStatus } from './Plugin';
2
+ import { Converter } from '../core/Converter';
3
+ /**
4
+ * Error thrown when plugin operations fail
5
+ */
6
+ export declare class PluginError extends Error {
7
+ pluginName?: string | undefined;
8
+ code: string;
9
+ constructor(message: string, pluginName?: string | undefined);
10
+ }
11
+ /**
12
+ * Plugin registry options
13
+ */
14
+ export interface PluginRegistryOptions {
15
+ strict?: boolean;
16
+ autoResolve?: boolean;
17
+ maxDependencyDepth?: number;
18
+ allowDuplicates?: boolean;
19
+ }
20
+ /**
21
+ * Registry for managing plugins and their lifecycle
22
+ */
23
+ export declare class PluginRegistry {
24
+ private plugins;
25
+ private installedPlugins;
26
+ private dependencyGraph;
27
+ private options;
28
+ constructor(options?: PluginRegistryOptions);
29
+ /**
30
+ * Register a plugin in the registry
31
+ */
32
+ register(plugin: Plugin): void;
33
+ /**
34
+ * Unregister a plugin from the registry
35
+ */
36
+ unregister(name: string): boolean;
37
+ /**
38
+ * Get a registered plugin by name
39
+ */
40
+ get(name: string): Plugin | undefined;
41
+ /**
42
+ * Check if a plugin is registered
43
+ */
44
+ has(name: string): boolean;
45
+ /**
46
+ * List all registered plugins
47
+ */
48
+ list(): Plugin[];
49
+ /**
50
+ * List all installed plugins
51
+ */
52
+ listInstalled(): PluginStatus[];
53
+ /**
54
+ * Install a plugin into a converter
55
+ */
56
+ install(pluginName: string, converter: Converter): Promise<PluginInstallResult>;
57
+ /**
58
+ * Uninstall a plugin from a converter
59
+ */
60
+ uninstall(pluginName: string, converter: Converter): Promise<boolean>;
61
+ /**
62
+ * Get plugin status
63
+ */
64
+ getStatus(name: string): PluginStatus | undefined;
65
+ /**
66
+ * Check if a plugin is installed
67
+ */
68
+ isInstalled(name: string): boolean;
69
+ /**
70
+ * Resolve plugin dependencies in correct order
71
+ */
72
+ resolveDependencies(plugins: string[]): string[];
73
+ /**
74
+ * Clear all plugins and installed plugins
75
+ */
76
+ clear(): void;
77
+ /**
78
+ * Validate plugin dependencies
79
+ */
80
+ private validateDependencies;
81
+ /**
82
+ * Build dependency graph for a plugin
83
+ */
84
+ private buildDependencyGraph;
85
+ /**
86
+ * Get plugins that depend on the given plugin
87
+ */
88
+ private getDependents;
89
+ /**
90
+ * Get installed plugins that depend on the given plugin
91
+ */
92
+ private getInstalledDependents;
93
+ /**
94
+ * Install plugin dependencies
95
+ */
96
+ private installDependencies;
97
+ /**
98
+ * Get dependency status for a plugin
99
+ */
100
+ private getDependencyStatus;
101
+ /**
102
+ * Register plugin hooks with converter
103
+ */
104
+ private registerHooks;
105
+ /**
106
+ * Unregister plugin hooks from converter
107
+ */
108
+ private unregisterHooks;
109
+ /**
110
+ * Parse dependency name from dependency string
111
+ */
112
+ private parseDependencyName;
113
+ /**
114
+ * Parse dependency version from dependency string
115
+ */
116
+ private parseDependencyVersion;
117
+ /**
118
+ * Check if version is compatible with requirement
119
+ */
120
+ private isVersionCompatible;
121
+ }
122
+ //# sourceMappingURL=PluginRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,mBAAmB,EACnB,YAAY,EAEb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAK3B,UAAU,CAAC,EAAE,MAAM;IAJ5B,IAAI,SAAkB;gBAGpB,OAAO,EAAE,MAAM,EACR,UAAU,CAAC,EAAE,MAAM,YAAA;CAK7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,OAAO,CAAkC;gBAErC,OAAO,GAAE,qBAA0B;IAU/C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4B9B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAoBjC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;OAEG;IACH,aAAa,IAAI,YAAY,EAAE;IAI/B;;OAEG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAgE/B;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IA2C3E;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiDhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;YACW,mBAAmB;IAmBjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}