bun_plugins 1.2.0 → 1.2.1

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 (73) hide show
  1. package/package.json +5 -4
  2. package/dist/Plugin.d.ts +0 -28
  3. package/dist/Plugin.d.ts.map +0 -1
  4. package/dist/Plugin.js +0 -36
  5. package/dist/Plugin.js.map +0 -1
  6. package/dist/PluginManager.d.ts +0 -75
  7. package/dist/PluginManager.d.ts.map +0 -1
  8. package/dist/PluginManager.js +0 -670
  9. package/dist/PluginManager.js.map +0 -1
  10. package/dist/index.d.ts +0 -7
  11. package/dist/index.d.ts.map +0 -1
  12. package/dist/index.js +0 -7
  13. package/dist/index.js.map +0 -1
  14. package/dist/logger/LoggerAdapter.d.ts +0 -77
  15. package/dist/logger/LoggerAdapter.d.ts.map +0 -1
  16. package/dist/logger/LoggerAdapter.js +0 -244
  17. package/dist/logger/LoggerAdapter.js.map +0 -1
  18. package/dist/logger/LoggerFactory.d.ts +0 -73
  19. package/dist/logger/LoggerFactory.d.ts.map +0 -1
  20. package/dist/logger/LoggerFactory.js +0 -99
  21. package/dist/logger/LoggerFactory.js.map +0 -1
  22. package/dist/logger/index.d.ts +0 -3
  23. package/dist/logger/index.d.ts.map +0 -1
  24. package/dist/logger/index.js +0 -3
  25. package/dist/logger/index.js.map +0 -1
  26. package/dist/managers/ContextFactory.d.ts +0 -6
  27. package/dist/managers/ContextFactory.d.ts.map +0 -1
  28. package/dist/managers/ContextFactory.js +0 -112
  29. package/dist/managers/ContextFactory.js.map +0 -1
  30. package/dist/managers/DependencyManager.d.ts +0 -10
  31. package/dist/managers/DependencyManager.d.ts.map +0 -1
  32. package/dist/managers/DependencyManager.js +0 -96
  33. package/dist/managers/DependencyManager.js.map +0 -1
  34. package/dist/managers/HooksManager.d.ts +0 -24
  35. package/dist/managers/HooksManager.d.ts.map +0 -1
  36. package/dist/managers/HooksManager.js +0 -145
  37. package/dist/managers/HooksManager.js.map +0 -1
  38. package/dist/managers/ResourceManager.d.ts +0 -16
  39. package/dist/managers/ResourceManager.d.ts.map +0 -1
  40. package/dist/managers/ResourceManager.js +0 -50
  41. package/dist/managers/ResourceManager.js.map +0 -1
  42. package/dist/pluginRegistry.d.ts +0 -13
  43. package/dist/pluginRegistry.d.ts.map +0 -1
  44. package/dist/pluginRegistry.js +0 -11
  45. package/dist/pluginRegistry.js.map +0 -1
  46. package/dist/src/pluginRegistry.d.ts +0 -13
  47. package/dist/src/pluginRegistry.d.ts.map +0 -1
  48. package/dist/src/pluginRegistry.js +0 -11
  49. package/dist/src/pluginRegistry.js.map +0 -1
  50. package/dist/storage/JsonPluginStorage.d.ts +0 -15
  51. package/dist/storage/JsonPluginStorage.d.ts.map +0 -1
  52. package/dist/storage/JsonPluginStorage.js +0 -75
  53. package/dist/storage/JsonPluginStorage.js.map +0 -1
  54. package/dist/types.d.ts +0 -208
  55. package/dist/types.d.ts.map +0 -1
  56. package/dist/types.js +0 -59
  57. package/dist/types.js.map +0 -1
  58. package/dist/utils/errorParser.d.ts +0 -3
  59. package/dist/utils/errorParser.d.ts.map +0 -1
  60. package/dist/utils/errorParser.js +0 -23
  61. package/dist/utils/errorParser.js.map +0 -1
  62. package/dist/utils/pluginValidator.d.ts +0 -17
  63. package/dist/utils/pluginValidator.d.ts.map +0 -1
  64. package/dist/utils/pluginValidator.js +0 -74
  65. package/dist/utils/pluginValidator.js.map +0 -1
  66. package/dist/utils/security.d.ts +0 -3
  67. package/dist/utils/security.d.ts.map +0 -1
  68. package/dist/utils/security.js +0 -26
  69. package/dist/utils/security.js.map +0 -1
  70. package/dist/worker/WorkerRunner.d.ts +0 -2
  71. package/dist/worker/WorkerRunner.d.ts.map +0 -1
  72. package/dist/worker/WorkerRunner.js +0 -274
  73. package/dist/worker/WorkerRunner.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bun_plugins",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "A powerful and secure plugin system for Bun applications",
5
5
  "author": "memelser <nglmercer@gmail.com>",
6
6
  "repository": {
@@ -20,8 +20,8 @@
20
20
  ],
21
21
  "exports": {
22
22
  ".": {
23
- "import": "./dist/index.js",
24
- "types": "./dist/index.d.ts"
23
+ "import": "./dist/src/index.js",
24
+ "types": "./dist/src/index.d.ts"
25
25
  }
26
26
  },
27
27
  "scripts": {
@@ -38,6 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "arktype": "^2.1.0",
41
- "semver": "^7.7.3"
41
+ "semver": "^7.7.3",
42
+ "zod": "^4.3.5"
42
43
  }
43
44
  }
package/dist/Plugin.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import type { IPlugin, PluginContext, PluginBuilder, PluginPermission } from "./types";
2
- import { z } from "zod";
3
- /**
4
- * Abstract base class for Plugins to extend.
5
- * Provides default implementations for optional methods.
6
- */
7
- export declare abstract class Plugin implements IPlugin {
8
- abstract name: string;
9
- abstract version: string;
10
- description?: string;
11
- author?: string;
12
- dependencies?: Record<string, string>;
13
- permissions?: PluginPermission[];
14
- allowedDomains?: string[];
15
- configSchema?: z.ZodSchema;
16
- defaultConfig?: Record<string, any>;
17
- onLoad(context: PluginContext): Promise<void> | void;
18
- onUnload(): Promise<void> | void;
19
- onStarted(): Promise<void> | void;
20
- onReload(context: PluginContext): Promise<void> | void;
21
- setup(build: PluginBuilder): void | Promise<void>;
22
- }
23
- /**
24
- * Helper function to define a plugin object with type inference.
25
- * Useful for functional-style plugin definitions.
26
- */
27
- export declare function definePlugin(plugin: IPlugin): IPlugin;
28
- //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,8BAAsB,MAAO,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItD,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErD"}
package/dist/Plugin.js DELETED
@@ -1,36 +0,0 @@
1
- /**
2
- * Abstract base class for Plugins to extend.
3
- * Provides default implementations for optional methods.
4
- */
5
- export class Plugin {
6
- description;
7
- author;
8
- dependencies;
9
- permissions;
10
- allowedDomains;
11
- configSchema;
12
- defaultConfig;
13
- onLoad(context) {
14
- // Default no-op
15
- }
16
- onUnload() {
17
- // Default no-op
18
- }
19
- onStarted() {
20
- // Default no-op
21
- }
22
- onReload(context) {
23
- // Default no-op defined but not enforced by interface strictly if optional
24
- }
25
- setup(build) {
26
- // Default no-op
27
- }
28
- }
29
- /**
30
- * Helper function to define a plugin object with type inference.
31
- * Useful for functional-style plugin definitions.
32
- */
33
- export function definePlugin(plugin) {
34
- return plugin;
35
- }
36
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,OAAgB,MAAM;IAIxB,WAAW,CAAU;IACrB,MAAM,CAAU;IAChB,YAAY,CAA0B;IACtC,WAAW,CAAsB;IACjC,cAAc,CAAY;IAC1B,YAAY,CAAe;IAC3B,aAAa,CAAuB;IAEpC,MAAM,CAAC,OAAsB;QACzB,gBAAgB;IACpB,CAAC;IAED,QAAQ;QACJ,gBAAgB;IACpB,CAAC;IAED,SAAS;QACL,gBAAgB;IACpB,CAAC;IAED,QAAQ,CAAC,OAAsB;QAC3B,2EAA2E;IAC/E,CAAC;IAED,KAAK,CAAC,KAAoB;QACtB,gBAAgB;IACpB,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe;IACxC,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,75 +0,0 @@
1
- import { EventEmitter } from "node:events";
2
- import { type IPlugin, type AppEvents, type BunWorkerOptions as WorkerOptions, type OnResolveArgs, type OnLoadArgs, type IPluginManager } from "./types";
3
- import { PluginTypeByName, KnownPluginNames } from "./pluginRegistry";
4
- import { HooksManager } from "./managers/HooksManager";
5
- export declare class PluginManager extends EventEmitter implements IPluginManager {
6
- private plugins;
7
- private availablePlugins;
8
- private configs;
9
- private resources;
10
- private dependencyManager;
11
- hooksManager: HooksManager;
12
- private storageRoot;
13
- private hostVersion;
14
- private pluginLoadTimeout;
15
- private workerFactory;
16
- private workerRunnerPath;
17
- constructor(storageRoot?: string, options?: {
18
- pluginLoadTimeout?: number;
19
- workerFactory?: (url: string | URL, options?: WorkerOptions) => Worker;
20
- workerRunnerPath?: string;
21
- });
22
- getWorkerFactory(): (url: string | URL, options?: WorkerOptions) => Worker;
23
- register(plugin: IPlugin): Promise<void>;
24
- registerIsolated(pluginPath: string, pluginName: string): Promise<void>;
25
- unregister(pluginName: string): Promise<void>;
26
- getPlugin(name: string): IPlugin | undefined;
27
- getPlugin<TName extends string>(name: TName): TName extends KnownPluginNames ? PluginTypeByName<TName> : IPlugin | undefined;
28
- getPluginConfig(name: string): Record<string, any>;
29
- listPlugins(): string[];
30
- emit<K extends keyof AppEvents>(eventName: K, payload: AppEvents[K]): boolean;
31
- emit(eventName: string | symbol, ...args: any[]): boolean;
32
- on<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
33
- on(eventName: string | symbol, listener: (...args: any[]) => void): this;
34
- once<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
35
- once(eventName: string | symbol, listener: (...args: any[]) => void): this;
36
- off<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
37
- off(eventName: string | symbol, listener: (...args: any[]) => void): this;
38
- loadPluginsFromDirectory(directoryPath?: string): Promise<void>;
39
- disablePlugin(name: string): Promise<void>;
40
- enablePlugin(name: string): Promise<void>;
41
- reloadPlugin(name: string): Promise<void>;
42
- private updatePluginState;
43
- runOnResolve(args: OnResolveArgs): Promise<{
44
- path: string;
45
- namespace?: string;
46
- } | null>;
47
- runOnLoad(args: OnLoadArgs): Promise<{
48
- contents?: string;
49
- loader?: string;
50
- } | null>;
51
- use(plugin: IPlugin): Promise<void>;
52
- plugin(plugin: IPlugin): Promise<void>;
53
- remove(pluginName: string): Promise<void>;
54
- toBunPlugin(): Bun.BunPlugin;
55
- private hotReloadTimer;
56
- enableHotReload(pluginDir: string): void;
57
- getMetrics(): {
58
- totalPlugins: number;
59
- activePlugins: string[];
60
- resources: {
61
- totalWorkers: number;
62
- totalTimers: number;
63
- totalListeners: number;
64
- pluginCount: number;
65
- };
66
- hooks: {
67
- onStart: number;
68
- onResolve: number;
69
- onLoad: number;
70
- };
71
- };
72
- getPluginStatus(): Record<string, any>;
73
- private ensureDependenciesInstalled;
74
- }
75
- //# sourceMappingURL=PluginManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../src/PluginManager.ts"],"names":[],"mappings":"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"}