@nocobase/server 2.1.0-alpha.9 → 2.1.0-beta.10

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.
@@ -95,6 +95,7 @@ export declare class PluginManager {
95
95
  create(pluginName: string, options?: {
96
96
  forceRecreate?: boolean;
97
97
  }): Promise<void>;
98
+ addOrThrow(plugin?: string | typeof Plugin, options?: any, insert?: boolean, isUpgrade?: boolean): Promise<void>;
98
99
  add(plugin?: string | typeof Plugin, options?: any, insert?: boolean, isUpgrade?: boolean): Promise<void>;
99
100
  /**
100
101
  * @internal
@@ -305,43 +305,28 @@ const _PluginManager = class _PluginManager {
305
305
  });
306
306
  await (0, import_helper.tsxRerunning)();
307
307
  }
308
- async add(plugin, options = {}, insert = false, isUpgrade = false) {
308
+ async addOrThrow(plugin, options = {}, insert = false, isUpgrade = false) {
309
309
  if (!isUpgrade && this.has(plugin)) {
310
310
  const name = typeof plugin === "string" ? plugin : plugin.name;
311
- this.app.log.warn(`plugin [${name}] added`);
312
- return;
311
+ throw new Error(`plugin [${name}] already added`);
313
312
  }
314
313
  if (!options.name && typeof plugin === "string") {
315
314
  options.name = plugin;
316
315
  }
317
- try {
318
- if (typeof plugin === "string" && options.name && !options.packageName) {
319
- const packageName = await _PluginManager.getPackageName(options.name);
320
- if (packageName) {
321
- options["packageName"] = packageName;
322
- }
323
- }
324
- if (options.packageName) {
325
- const packageJson = await _PluginManager.getPackageJson(options.packageName);
326
- options["packageJson"] = packageJson;
327
- options["version"] = packageJson.version;
316
+ if (typeof plugin === "string" && options.name && !options.packageName) {
317
+ const packageName = await _PluginManager.getPackageName(options.name);
318
+ if (packageName) {
319
+ options["packageName"] = packageName;
328
320
  }
329
- } catch (error) {
330
- this.app.log.error(error);
331
- console.error(error);
332
321
  }
333
- this.app.log.trace(`adding plugin [${options.name}]`, {
334
- method: "add",
335
- submodule: "plugin-manager",
336
- name: options.name,
337
- options
338
- });
339
- let P;
340
- try {
341
- P = await _PluginManager.resolvePlugin(options.packageName || plugin, isUpgrade, !!options.packageName);
342
- } catch (error) {
343
- this.app.log.warn("plugin not found", error);
344
- return;
322
+ if (options.packageName) {
323
+ const packageJson = await _PluginManager.getPackageJson(options.packageName);
324
+ options["packageJson"] = packageJson;
325
+ options["version"] = packageJson.version;
326
+ }
327
+ const P = await _PluginManager.resolvePlugin(options.packageName || plugin, isUpgrade, !!options.packageName);
328
+ if (!P) {
329
+ throw new Error(`plugin [${(options == null ? void 0 : options.name) || "unknown"}] load error`);
345
330
  }
346
331
  const instance = new P((0, import_helper.createAppProxy)(this.app), options);
347
332
  this.pluginInstances.set(P, instance);
@@ -352,12 +337,13 @@ const _PluginManager = class _PluginManager {
352
337
  this.pluginAliases.set(options.packageName, instance);
353
338
  }
354
339
  await instance.afterAdd();
355
- this.app.log.trace(`added plugin [${options.name}]`, {
356
- method: "add",
357
- submodule: "plugin-manager",
358
- name: instance.name,
359
- options: instance.options
360
- });
340
+ }
341
+ async add(plugin, options = {}, insert = false, isUpgrade = false) {
342
+ try {
343
+ await this.addOrThrow(plugin, options, insert, isUpgrade);
344
+ } catch (error) {
345
+ this.app.log.error(error);
346
+ }
361
347
  }
362
348
  /**
363
349
  * @internal
@@ -528,7 +514,7 @@ const _PluginManager = class _PluginManager {
528
514
  added[pluginName] = true;
529
515
  continue;
530
516
  }
531
- await this.add(pluginName);
517
+ await this.addOrThrow(pluginName);
532
518
  }
533
519
  for (const name of pluginNames) {
534
520
  const { name: pluginName } = await _PluginManager.parseName(name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/server",
3
- "version": "2.1.0-alpha.9",
3
+ "version": "2.1.0-beta.10",
4
4
  "main": "lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -10,21 +10,21 @@
10
10
  "@koa/cors": "^5.0.0",
11
11
  "@koa/multer": "^3.1.0",
12
12
  "@koa/router": "^13.1.0",
13
- "@nocobase/acl": "2.1.0-alpha.9",
14
- "@nocobase/actions": "2.1.0-alpha.9",
15
- "@nocobase/ai": "2.1.0-alpha.9",
16
- "@nocobase/auth": "2.1.0-alpha.9",
17
- "@nocobase/cache": "2.1.0-alpha.9",
18
- "@nocobase/data-source-manager": "2.1.0-alpha.9",
19
- "@nocobase/database": "2.1.0-alpha.9",
20
- "@nocobase/evaluators": "2.1.0-alpha.9",
21
- "@nocobase/lock-manager": "2.1.0-alpha.9",
22
- "@nocobase/logger": "2.1.0-alpha.9",
23
- "@nocobase/resourcer": "2.1.0-alpha.9",
24
- "@nocobase/sdk": "2.1.0-alpha.9",
25
- "@nocobase/snowflake-id": "2.1.0-alpha.9",
26
- "@nocobase/telemetry": "2.1.0-alpha.9",
27
- "@nocobase/utils": "2.1.0-alpha.9",
13
+ "@nocobase/acl": "2.1.0-beta.10",
14
+ "@nocobase/actions": "2.1.0-beta.10",
15
+ "@nocobase/ai": "2.1.0-beta.10",
16
+ "@nocobase/auth": "2.1.0-beta.10",
17
+ "@nocobase/cache": "2.1.0-beta.10",
18
+ "@nocobase/data-source-manager": "2.1.0-beta.10",
19
+ "@nocobase/database": "2.1.0-beta.10",
20
+ "@nocobase/evaluators": "2.1.0-beta.10",
21
+ "@nocobase/lock-manager": "2.1.0-beta.10",
22
+ "@nocobase/logger": "2.1.0-beta.10",
23
+ "@nocobase/resourcer": "2.1.0-beta.10",
24
+ "@nocobase/sdk": "2.1.0-beta.10",
25
+ "@nocobase/snowflake-id": "2.1.0-beta.10",
26
+ "@nocobase/telemetry": "2.1.0-beta.10",
27
+ "@nocobase/utils": "2.1.0-beta.10",
28
28
  "@types/decompress": "4.2.7",
29
29
  "@types/ini": "^1.3.31",
30
30
  "@types/koa-send": "^4.1.3",
@@ -61,5 +61,5 @@
61
61
  "@types/serve-handler": "^6.1.1",
62
62
  "@types/ws": "^8.5.5"
63
63
  },
64
- "gitHead": "f9c6c53772bd5002fa419188d15ab227224f1962"
64
+ "gitHead": "f7e467710d4748f7089b779494b220025b39bc02"
65
65
  }