bun_plugins 1.2.4 → 1.2.6

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 (155) hide show
  1. package/README.md +2 -2
  2. package/dist/{src/PluginManager.d.ts → PluginManager.d.ts} +9 -16
  3. package/dist/PluginManager.d.ts.map +1 -0
  4. package/dist/{src/PluginManager.js → PluginManager.js} +188 -187
  5. package/dist/PluginManager.js.map +1 -0
  6. package/dist/{src/index.d.ts → index.d.ts} +1 -2
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/{src/index.js → index.js} +0 -2
  9. package/dist/index.js.map +1 -0
  10. package/dist/{src/managers → managers}/ContextFactory.d.ts +1 -1
  11. package/dist/managers/ContextFactory.d.ts.map +1 -0
  12. package/dist/{src/managers → managers}/ContextFactory.js +29 -52
  13. package/dist/managers/ContextFactory.js.map +1 -0
  14. package/dist/managers/DependencyManager.d.ts.map +1 -0
  15. package/dist/{src/managers → managers}/DependencyManager.js +5 -7
  16. package/dist/managers/DependencyManager.js.map +1 -0
  17. package/dist/{src/managers → managers}/HooksManager.d.ts +1 -4
  18. package/dist/managers/HooksManager.d.ts.map +1 -0
  19. package/dist/{src/managers → managers}/HooksManager.js +8 -36
  20. package/dist/managers/HooksManager.js.map +1 -0
  21. package/dist/managers/ResourceManager.d.ts.map +1 -0
  22. package/dist/{src/managers → managers}/ResourceManager.js +3 -3
  23. package/dist/managers/ResourceManager.js.map +1 -0
  24. package/dist/{src/storage → storage}/JsonPluginStorage.d.ts +1 -2
  25. package/dist/storage/JsonPluginStorage.d.ts.map +1 -0
  26. package/dist/storage/JsonPluginStorage.js +63 -0
  27. package/dist/storage/JsonPluginStorage.js.map +1 -0
  28. package/dist/{src/types.d.ts → types.d.ts} +19 -60
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/{src/types.js → types.js} +0 -7
  31. package/dist/types.js.map +1 -0
  32. package/dist/utils/errorParser.d.ts.map +1 -0
  33. package/dist/{src/utils → utils}/errorParser.js +5 -2
  34. package/dist/utils/errorParser.js.map +1 -0
  35. package/dist/utils/pluginValidator.d.ts +93 -0
  36. package/dist/utils/pluginValidator.d.ts.map +1 -0
  37. package/dist/{src/utils → utils}/pluginValidator.js +14 -12
  38. package/dist/utils/pluginValidator.js.map +1 -0
  39. package/dist/utils/security.d.ts.map +1 -0
  40. package/dist/utils/security.js.map +1 -0
  41. package/dist/worker/WorkerRunner.d.ts.map +1 -0
  42. package/dist/{src/worker → worker}/WorkerRunner.js +13 -33
  43. package/dist/worker/WorkerRunner.js.map +1 -0
  44. package/package.json +7 -18
  45. package/LICENSE +0 -9
  46. package/dist/plugins/ActionRegistryPlugin.d.ts +0 -23
  47. package/dist/plugins/ActionRegistryPlugin.d.ts.map +0 -1
  48. package/dist/plugins/ActionRegistryPlugin.js +0 -56
  49. package/dist/plugins/ActionRegistryPlugin.js.map +0 -1
  50. package/dist/plugins/DynamicJSActionsPlugin.d.ts +0 -21
  51. package/dist/plugins/DynamicJSActionsPlugin.d.ts.map +0 -1
  52. package/dist/plugins/DynamicJSActionsPlugin.js +0 -57
  53. package/dist/plugins/DynamicJSActionsPlugin.js.map +0 -1
  54. package/dist/plugins/DynamicMathActionsPlugin.d.ts +0 -22
  55. package/dist/plugins/DynamicMathActionsPlugin.d.ts.map +0 -1
  56. package/dist/plugins/DynamicMathActionsPlugin.js +0 -64
  57. package/dist/plugins/DynamicMathActionsPlugin.js.map +0 -1
  58. package/dist/plugins/DynamicTextActionsPlugin.d.ts +0 -22
  59. package/dist/plugins/DynamicTextActionsPlugin.d.ts.map +0 -1
  60. package/dist/plugins/DynamicTextActionsPlugin.js +0 -58
  61. package/dist/plugins/DynamicTextActionsPlugin.js.map +0 -1
  62. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts +0 -22
  63. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts.map +0 -1
  64. package/dist/plugins/DynamicUtilityActionsPlugin.js +0 -75
  65. package/dist/plugins/DynamicUtilityActionsPlugin.js.map +0 -1
  66. package/dist/plugins/LifecycleDemoPlugin.d.ts +0 -20
  67. package/dist/plugins/LifecycleDemoPlugin.d.ts.map +0 -1
  68. package/dist/plugins/LifecycleDemoPlugin.js +0 -34
  69. package/dist/plugins/LifecycleDemoPlugin.js.map +0 -1
  70. package/dist/plugins/MathPlugin.d.ts +0 -16
  71. package/dist/plugins/MathPlugin.d.ts.map +0 -1
  72. package/dist/plugins/MathPlugin.js +0 -25
  73. package/dist/plugins/MathPlugin.js.map +0 -1
  74. package/dist/plugins/MyJSPlugin.d.ts +0 -7
  75. package/dist/plugins/MyJSPlugin.d.ts.map +0 -1
  76. package/dist/plugins/MyJSPlugin.js +0 -12
  77. package/dist/plugins/MyJSPlugin.js.map +0 -1
  78. package/dist/plugins/arktype/index.d.ts +0 -8
  79. package/dist/plugins/arktype/index.d.ts.map +0 -1
  80. package/dist/plugins/arktype/index.js +0 -25
  81. package/dist/plugins/arktype/index.js.map +0 -1
  82. package/dist/src/Plugin.d.ts +0 -28
  83. package/dist/src/Plugin.d.ts.map +0 -1
  84. package/dist/src/Plugin.js +0 -36
  85. package/dist/src/Plugin.js.map +0 -1
  86. package/dist/src/PluginManager.d.ts.map +0 -1
  87. package/dist/src/PluginManager.js.map +0 -1
  88. package/dist/src/index.d.ts.map +0 -1
  89. package/dist/src/index.js.map +0 -1
  90. package/dist/src/logger/LoggerAdapter.d.ts +0 -77
  91. package/dist/src/logger/LoggerAdapter.d.ts.map +0 -1
  92. package/dist/src/logger/LoggerAdapter.js +0 -242
  93. package/dist/src/logger/LoggerAdapter.js.map +0 -1
  94. package/dist/src/logger/LoggerFactory.d.ts +0 -73
  95. package/dist/src/logger/LoggerFactory.d.ts.map +0 -1
  96. package/dist/src/logger/LoggerFactory.js +0 -99
  97. package/dist/src/logger/LoggerFactory.js.map +0 -1
  98. package/dist/src/logger/index.d.ts +0 -3
  99. package/dist/src/logger/index.d.ts.map +0 -1
  100. package/dist/src/logger/index.js +0 -3
  101. package/dist/src/logger/index.js.map +0 -1
  102. package/dist/src/managers/ContextFactory.d.ts.map +0 -1
  103. package/dist/src/managers/ContextFactory.js.map +0 -1
  104. package/dist/src/managers/DependencyManager.d.ts.map +0 -1
  105. package/dist/src/managers/DependencyManager.js.map +0 -1
  106. package/dist/src/managers/HooksManager.d.ts.map +0 -1
  107. package/dist/src/managers/HooksManager.js.map +0 -1
  108. package/dist/src/managers/ResourceManager.d.ts.map +0 -1
  109. package/dist/src/managers/ResourceManager.js.map +0 -1
  110. package/dist/src/storage/JsonPluginStorage.d.ts.map +0 -1
  111. package/dist/src/storage/JsonPluginStorage.js +0 -75
  112. package/dist/src/storage/JsonPluginStorage.js.map +0 -1
  113. package/dist/src/types/arktype_converter.d.ts +0 -19
  114. package/dist/src/types/arktype_converter.d.ts.map +0 -1
  115. package/dist/src/types/arktype_converter.js +0 -73
  116. package/dist/src/types/arktype_converter.js.map +0 -1
  117. package/dist/src/types/generator.d.ts +0 -9
  118. package/dist/src/types/generator.d.ts.map +0 -1
  119. package/dist/src/types/generator.js +0 -9
  120. package/dist/src/types/generator.js.map +0 -1
  121. package/dist/src/types/interfaces.d.ts +0 -55
  122. package/dist/src/types/interfaces.d.ts.map +0 -1
  123. package/dist/src/types/interfaces.js +0 -5
  124. package/dist/src/types/interfaces.js.map +0 -1
  125. package/dist/src/types/plugin-registry-base.d.ts +0 -78
  126. package/dist/src/types/plugin-registry-base.d.ts.map +0 -1
  127. package/dist/src/types/plugin-registry-base.js +0 -6
  128. package/dist/src/types/plugin-registry-base.js.map +0 -1
  129. package/dist/src/types/plugin-registry.d.ts +0 -2
  130. package/dist/src/types/plugin-registry.d.ts.map +0 -1
  131. package/dist/src/types/plugin-registry.js +0 -4
  132. package/dist/src/types/plugin-registry.js.map +0 -1
  133. package/dist/src/types/plugin_generator.d.ts +0 -62
  134. package/dist/src/types/plugin_generator.d.ts.map +0 -1
  135. package/dist/src/types/plugin_generator.js +0 -700
  136. package/dist/src/types/plugin_generator.js.map +0 -1
  137. package/dist/src/types.d.ts.map +0 -1
  138. package/dist/src/types.js.map +0 -1
  139. package/dist/src/utils/errorParser.d.ts.map +0 -1
  140. package/dist/src/utils/errorParser.js.map +0 -1
  141. package/dist/src/utils/pluginValidator.d.ts +0 -17
  142. package/dist/src/utils/pluginValidator.d.ts.map +0 -1
  143. package/dist/src/utils/pluginValidator.js.map +0 -1
  144. package/dist/src/utils/security.d.ts.map +0 -1
  145. package/dist/src/utils/security.js.map +0 -1
  146. package/dist/src/worker/WorkerRunner.d.ts.map +0 -1
  147. package/dist/src/worker/WorkerRunner.js.map +0 -1
  148. package/plugin-types/index.d.ts +0 -20
  149. package/plugin-types/plugin-registry.d.ts +0 -148
  150. /package/dist/{src/managers → managers}/DependencyManager.d.ts +0 -0
  151. /package/dist/{src/managers → managers}/ResourceManager.d.ts +0 -0
  152. /package/dist/{src/utils → utils}/errorParser.d.ts +0 -0
  153. /package/dist/{src/utils → utils}/security.d.ts +0 -0
  154. /package/dist/{src/utils → utils}/security.js +0 -0
  155. /package/dist/{src/worker → worker}/WorkerRunner.d.ts +0 -0
package/README.md CHANGED
@@ -163,7 +163,7 @@ Plugins can share APIs with each other safely:
163
163
  // Plugin A: Exposes an API
164
164
  export class ProviderPlugin implements IPlugin {
165
165
  name = "db-provider";
166
- getApi() {
166
+ getSharedApi() {
167
167
  return {
168
168
  query: (q: string) => `Result for ${q}`,
169
169
  };
@@ -174,7 +174,7 @@ export class ProviderPlugin implements IPlugin {
174
174
  export class ConsumerPlugin implements IPlugin {
175
175
  name = "app-logic";
176
176
  async onLoad(context: PluginContext) {
177
- const db = await context.getPlugin("db-provider");
177
+ const db = context.getPlugin("db-provider");
178
178
  const result = db.query("SELECT *");
179
179
  }
180
180
  }
@@ -1,10 +1,10 @@
1
1
  import { EventEmitter } from "node:events";
2
- import { type IPlugin, type AppEvents, type BunWorkerOptions as WorkerOptions, type OnResolveArgs, type OnLoadArgs, type IPluginManager } from "./types";
2
+ import { type IPlugin, type AppEvents, type BunWorkerOptions as WorkerOptions, type OnResolveArgs, type OnLoadArgs } from "./types";
3
3
  import { HooksManager } from "./managers/HooksManager";
4
- export declare class PluginManager extends EventEmitter implements IPluginManager {
4
+ export declare class PluginManager extends EventEmitter {
5
5
  private plugins;
6
6
  private availablePlugins;
7
- private configs;
7
+ private pluginFiles;
8
8
  private resources;
9
9
  private dependencyManager;
10
10
  hooksManager: HooksManager;
@@ -13,6 +13,8 @@ export declare class PluginManager extends EventEmitter implements IPluginManage
13
13
  private pluginLoadTimeout;
14
14
  private workerFactory;
15
15
  private workerRunnerPath;
16
+ private hotReloadWatcher;
17
+ private hotReloadTimer;
16
18
  constructor(storageRoot?: string, options?: {
17
19
  pluginLoadTimeout?: number;
18
20
  workerFactory?: (url: string | URL, options?: WorkerOptions) => Worker;
@@ -23,17 +25,11 @@ export declare class PluginManager extends EventEmitter implements IPluginManage
23
25
  registerIsolated(pluginPath: string, pluginName: string): Promise<void>;
24
26
  unregister(pluginName: string): Promise<void>;
25
27
  getPlugin(name: string): IPlugin | undefined;
26
- getApi<T = any>(name: string): T | undefined;
27
- getPluginConfig(name: string): Record<string, any>;
28
28
  listPlugins(): string[];
29
29
  emit<K extends keyof AppEvents>(eventName: K, payload: AppEvents[K]): boolean;
30
30
  emit(eventName: string | symbol, ...args: any[]): boolean;
31
- on<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
31
+ on<K extends keyof AppEvents>(eventName: K, listener: (payload: AppEvents[K]) => void): this;
32
32
  on(eventName: string | symbol, listener: (...args: any[]) => void): this;
33
- once<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
34
- once(eventName: string | symbol, listener: (...args: any[]) => void): this;
35
- off<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
36
- off(eventName: string | symbol, listener: (...args: any[]) => void): this;
37
33
  loadPluginsFromDirectory(directoryPath?: string): Promise<void>;
38
34
  disablePlugin(name: string): Promise<void>;
39
35
  enablePlugin(name: string): Promise<void>;
@@ -47,12 +43,11 @@ export declare class PluginManager extends EventEmitter implements IPluginManage
47
43
  contents?: string;
48
44
  loader?: string;
49
45
  } | null>;
50
- use(plugin: IPlugin): Promise<void>;
51
- plugin(plugin: IPlugin): Promise<void>;
52
- remove(pluginName: string): Promise<void>;
53
46
  toBunPlugin(): Bun.BunPlugin;
54
- private hotReloadTimer;
55
47
  enableHotReload(pluginDir: string): void;
48
+ private scanAndTrackPlugins;
49
+ private handleFileChange;
50
+ disableHotReload(): void;
56
51
  getMetrics(): {
57
52
  totalPlugins: number;
58
53
  activePlugins: string[];
@@ -63,12 +58,10 @@ export declare class PluginManager extends EventEmitter implements IPluginManage
63
58
  pluginCount: number;
64
59
  };
65
60
  hooks: {
66
- onStart: number;
67
61
  onResolve: number;
68
62
  onLoad: number;
69
63
  };
70
64
  };
71
65
  getPluginStatus(): Record<string, any>;
72
- private ensureDependenciesInstalled;
73
66
  }
74
67
  //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../src/PluginManager.ts"],"names":[],"mappings":"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"}