@camunda8/cli 2.0.0-alpha.3 → 2.0.0-alpha.5

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.
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Plugin registry for tracking loaded plugins independently of package.json
3
+ */
4
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
5
+ import { join, dirname } from 'node:path';
6
+ import { getUserDataDir } from "./config.js";
7
+ let registryCache = null;
8
+ /**
9
+ * Get the path to the plugin registry file
10
+ */
11
+ function getRegistryPath() {
12
+ return join(getUserDataDir(), 'plugins.json');
13
+ }
14
+ /**
15
+ * Load the plugin registry from disk
16
+ */
17
+ export function loadPluginRegistry() {
18
+ if (registryCache) {
19
+ return registryCache;
20
+ }
21
+ const registryPath = getRegistryPath();
22
+ if (!existsSync(registryPath)) {
23
+ registryCache = { plugins: [] };
24
+ return registryCache;
25
+ }
26
+ try {
27
+ const content = readFileSync(registryPath, 'utf-8');
28
+ registryCache = JSON.parse(content);
29
+ return registryCache;
30
+ }
31
+ catch (error) {
32
+ // If registry is corrupted, start fresh and warn user
33
+ console.warn('⚠ Warning: Plugin registry file was corrupted and has been reset. Your plugins may need to be re-registered.');
34
+ registryCache = { plugins: [] };
35
+ return registryCache;
36
+ }
37
+ }
38
+ /**
39
+ * Save the plugin registry to disk
40
+ */
41
+ export function savePluginRegistry(registry) {
42
+ const registryPath = getRegistryPath();
43
+ const registryDir = dirname(registryPath);
44
+ // Ensure config directory exists
45
+ if (!existsSync(registryDir)) {
46
+ mkdirSync(registryDir, { recursive: true });
47
+ }
48
+ writeFileSync(registryPath, JSON.stringify(registry, null, 2), 'utf-8');
49
+ registryCache = registry;
50
+ }
51
+ /**
52
+ * Add a plugin to the registry
53
+ */
54
+ export function addPluginToRegistry(name, source) {
55
+ const registry = loadPluginRegistry();
56
+ // Remove existing entry if present
57
+ registry.plugins = registry.plugins.filter(p => p.name !== name);
58
+ // Add new entry
59
+ registry.plugins.push({
60
+ name,
61
+ source,
62
+ installedAt: new Date().toISOString(),
63
+ });
64
+ savePluginRegistry(registry);
65
+ }
66
+ /**
67
+ * Remove a plugin from the registry
68
+ */
69
+ export function removePluginFromRegistry(name) {
70
+ const registry = loadPluginRegistry();
71
+ registry.plugins = registry.plugins.filter(p => p.name !== name);
72
+ savePluginRegistry(registry);
73
+ }
74
+ /**
75
+ * Get all plugins from the registry
76
+ */
77
+ export function getRegisteredPlugins() {
78
+ const registry = loadPluginRegistry();
79
+ return [...registry.plugins];
80
+ }
81
+ /**
82
+ * Check if a plugin is in the registry
83
+ */
84
+ export function isPluginRegistered(name) {
85
+ const registry = loadPluginRegistry();
86
+ return registry.plugins.some(p => p.name === name);
87
+ }
88
+ /**
89
+ * Get a specific plugin entry from the registry
90
+ */
91
+ export function getPluginEntry(name) {
92
+ const registry = loadPluginRegistry();
93
+ return registry.plugins.find(p => p.name === name);
94
+ }
95
+ /**
96
+ * Clear the registry cache (useful for testing)
97
+ */
98
+ export function clearRegistryCache() {
99
+ registryCache = null;
100
+ }
101
+ //# sourceMappingURL=plugin-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda8/cli",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.5",
4
4
  "description": "Camunda 8 CLI - minimal-dependency CLI for Camunda 8 operations",
5
5
  "type": "module",
6
6
  "engines": {