@danqiusheng/nest-nacos 1.0.0 → 1.2.0

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 (39) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -21
  3. package/README.en.md +197 -0
  4. package/README.md +353 -385
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/nacos-config.service.d.ts +25 -45
  10. package/dist/nacos-config.service.d.ts.map +1 -1
  11. package/dist/nacos-config.service.js +241 -102
  12. package/dist/nacos-config.service.js.map +1 -1
  13. package/dist/nacos-naming.service.d.ts +16 -46
  14. package/dist/nacos-naming.service.d.ts.map +1 -1
  15. package/dist/nacos-naming.service.js +119 -88
  16. package/dist/nacos-naming.service.js.map +1 -1
  17. package/dist/nacos.decorators.d.ts +0 -4
  18. package/dist/nacos.decorators.d.ts.map +1 -1
  19. package/dist/nacos.decorators.js +1 -12
  20. package/dist/nacos.decorators.js.map +1 -1
  21. package/dist/nacos.health.d.ts +2 -6
  22. package/dist/nacos.health.d.ts.map +1 -1
  23. package/dist/nacos.health.js +5 -25
  24. package/dist/nacos.health.js.map +1 -1
  25. package/dist/nacos.interfaces.d.ts +85 -57
  26. package/dist/nacos.interfaces.d.ts.map +1 -1
  27. package/dist/nacos.module.d.ts +2 -11
  28. package/dist/nacos.module.d.ts.map +1 -1
  29. package/dist/nacos.module.js +22 -19
  30. package/dist/nacos.module.js.map +1 -1
  31. package/dist/nacos.providers.d.ts +4 -11
  32. package/dist/nacos.providers.d.ts.map +1 -1
  33. package/dist/nacos.providers.js +37 -23
  34. package/dist/nacos.providers.js.map +1 -1
  35. package/dist/nacos.utils.d.ts +6 -0
  36. package/dist/nacos.utils.d.ts.map +1 -0
  37. package/dist/nacos.utils.js +79 -0
  38. package/dist/nacos.utils.js.map +1 -0
  39. package/package.json +19 -10
@@ -1,16 +1,7 @@
1
- /**
2
- * NestJS Nacos 插件 - 动态模块定义
3
- *
4
- * 用法:
5
- * 同步:NacosModule.forRoot({ naming: {...}, config: {...} })
6
- * 异步:NacosModule.forRootAsync({ imports, useFactory, inject })
7
- */
8
1
  import { DynamicModule } from '@nestjs/common';
9
- import { NacosModuleAsyncOptions, NacosModuleOptions } from './nacos.interfaces';
2
+ import { NacosModuleAsyncOptions, NacosModuleOptionsInput } from './nacos.interfaces';
10
3
  export declare class NacosModule {
11
- /** 同步注册 */
12
- static forRoot(options: NacosModuleOptions): DynamicModule;
13
- /** 异步注册(配合 @nestjs/config、环境变量等使用) */
4
+ static forRoot(options: NacosModuleOptionsInput): DynamicModule;
14
5
  static forRootAsync(options: NacosModuleAsyncOptions): DynamicModule;
15
6
  private static createAsyncOptionsProvider;
16
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nacos.module.d.ts","sourceRoot":"","sources":["../src/nacos.module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAM5B,qBACa,WAAW;IACtB,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa;IAe1D,sCAAsC;IACtC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAiBpE,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAmB1C"}
1
+ {"version":3,"file":"nacos.module.d.ts","sourceRoot":"","sources":["../src/nacos.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,oBAAoB,CAAC;AAc5B,qBACa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAe/D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAoBpE,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAoB1C"}
@@ -8,66 +8,69 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var NacosModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.NacosModule = void 0;
11
- /**
12
- * NestJS Nacos 插件 - 动态模块定义
13
- *
14
- * 用法:
15
- * 同步:NacosModule.forRoot({ naming: {...}, config: {...} })
16
- * 异步:NacosModule.forRootAsync({ imports, useFactory, inject })
17
- */
18
11
  const common_1 = require("@nestjs/common");
19
12
  const nacos_constants_1 = require("./nacos.constants");
20
13
  const nacos_providers_1 = require("./nacos.providers");
21
14
  const nacos_naming_service_1 = require("./nacos-naming.service");
22
15
  const nacos_config_service_1 = require("./nacos-config.service");
23
16
  const nacos_health_1 = require("./nacos.health");
17
+ const exportedProviders = [
18
+ nacos_constants_1.NACOS_NAMING_CLIENT,
19
+ nacos_constants_1.NACOS_CONFIG_CLIENT,
20
+ nacos_naming_service_1.NacosNamingService,
21
+ nacos_config_service_1.NacosConfigService,
22
+ nacos_health_1.NacosHealthIndicator,
23
+ ];
24
24
  let NacosModule = NacosModule_1 = class NacosModule {
25
- /** 同步注册 */
26
25
  static forRoot(options) {
27
26
  return {
28
27
  module: NacosModule_1,
29
28
  global: true,
30
29
  providers: [
31
- { provide: nacos_constants_1.NACOS_OPTIONS, useValue: options },
30
+ { provide: nacos_constants_1.NACOS_OPTIONS, useValue: (0, nacos_providers_1.normalizeNacosOptions)(options) },
32
31
  ...nacos_providers_1.nacosClientProviders,
33
32
  nacos_naming_service_1.NacosNamingService,
34
33
  nacos_config_service_1.NacosConfigService,
35
34
  nacos_health_1.NacosHealthIndicator,
36
35
  ],
37
- exports: [nacos_naming_service_1.NacosNamingService, nacos_config_service_1.NacosConfigService, nacos_health_1.NacosHealthIndicator],
36
+ exports: exportedProviders,
38
37
  };
39
38
  }
40
- /** 异步注册(配合 @nestjs/config、环境变量等使用) */
41
39
  static forRootAsync(options) {
42
- const asyncOptionsProvider = this.createAsyncOptionsProvider(options);
40
+ const classProviders = options.useClass
41
+ ? [{ provide: options.useClass, useClass: options.useClass }]
42
+ : [];
43
43
  return {
44
44
  module: NacosModule_1,
45
45
  global: true,
46
46
  imports: options.imports,
47
47
  providers: [
48
- asyncOptionsProvider,
48
+ ...classProviders,
49
+ this.createAsyncOptionsProvider(options),
49
50
  ...nacos_providers_1.nacosClientProviders,
50
51
  nacos_naming_service_1.NacosNamingService,
51
52
  nacos_config_service_1.NacosConfigService,
52
53
  nacos_health_1.NacosHealthIndicator,
53
54
  ],
54
- exports: [nacos_naming_service_1.NacosNamingService, nacos_config_service_1.NacosConfigService, nacos_health_1.NacosHealthIndicator],
55
+ exports: exportedProviders,
55
56
  };
56
57
  }
57
58
  static createAsyncOptionsProvider(options) {
58
- // 方式一:useFactory
59
59
  if (options.useFactory) {
60
60
  return {
61
61
  provide: nacos_constants_1.NACOS_OPTIONS,
62
- useFactory: options.useFactory,
62
+ useFactory: async (...args) => (0, nacos_providers_1.normalizeNacosOptions)(await options.useFactory(...args)),
63
63
  inject: options.inject ?? [],
64
64
  };
65
65
  }
66
- // 方式二:useClass / useExisting
66
+ const factoryToken = options.useExisting ?? options.useClass;
67
+ if (!factoryToken) {
68
+ throw new Error('forRootAsync requires useFactory, useClass, or useExisting');
69
+ }
67
70
  return {
68
71
  provide: nacos_constants_1.NACOS_OPTIONS,
69
- useFactory: async (factory) => factory.createNacosOptions(),
70
- inject: [options.useExisting ?? options.useClass],
72
+ useFactory: async (factory) => (0, nacos_providers_1.normalizeNacosOptions)(await factory.createNacosOptions()),
73
+ inject: [factoryToken],
71
74
  };
72
75
  }
73
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nacos.module.js","sourceRoot":"","sources":["../src/nacos.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;GAMG;AACH,2CAAiE;AACjE,uDAAkD;AAMlD,uDAAyD;AACzD,iEAA4D;AAC5D,iEAA4D;AAC5D,iDAAsD;AAG/C,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,+BAAa,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC7C,GAAG,sCAAoB;gBACvB,yCAAkB;gBAClB,yCAAkB;gBAClB,mCAAoB;aACrB;YACD,OAAO,EAAE,CAAC,yCAAkB,EAAE,yCAAkB,EAAE,mCAAoB,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE;gBACT,oBAAoB;gBACpB,GAAG,sCAAoB;gBACvB,yCAAkB;gBAClB,yCAAkB;gBAClB,mCAAoB;aACrB;YACD,OAAO,EAAE,CAAC,yCAAkB,EAAE,yCAAkB,EAAE,mCAAoB,CAAC;SACxE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAAgC;QAEhC,iBAAiB;QACjB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,+BAAa;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QACD,6BAA6B;QAC7B,OAAO;YACL,OAAO,EAAE,+BAAa;YACtB,UAAU,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE,CACjD,OAAO,CAAC,kBAAkB,EAAE;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAC;IACJ,CAAC;CACF,CAAA;AAtDY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAsDvB"}
1
+ {"version":3,"file":"nacos.module.js","sourceRoot":"","sources":["../src/nacos.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,uDAA4F;AAM5F,uDAAgF;AAChF,iEAA4D;AAC5D,iEAA4D;AAC5D,iDAAsD;AAEtD,MAAM,iBAAiB,GAAG;IACxB,qCAAmB;IACnB,qCAAmB;IACnB,yCAAkB;IAClB,yCAAkB;IAClB,mCAAoB;CACrB,CAAC;AAGK,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,+BAAa,EAAE,QAAQ,EAAE,IAAA,uCAAqB,EAAC,OAAO,CAAC,EAAE;gBACpE,GAAG,sCAAoB;gBACvB,yCAAkB;gBAClB,yCAAkB;gBAClB,mCAAoB;aACrB;YACD,OAAO,EAAE,iBAAiB;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,MAAM,cAAc,GAAe,OAAO,CAAC,QAAQ;YACjD,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE;gBACT,GAAG,cAAc;gBACjB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;gBACxC,GAAG,sCAAoB;gBACvB,yCAAkB;gBAClB,yCAAkB;gBAClB,mCAAoB;aACrB;YACD,OAAO,EAAE,iBAAiB;SAC3B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,OAAgC;QACxE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,+BAAa;gBACtB,UAAU,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CACnC,IAAA,uCAAqB,EAAC,MAAM,OAAO,CAAC,UAAW,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3D,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,OAAO,EAAE,+BAAa;YACtB,UAAU,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE,CACjD,IAAA,uCAAqB,EAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC3D,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AAxDY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAwDvB"}
@@ -1,16 +1,9 @@
1
- /**
2
- * NestJS Nacos 插件 - Provider 工厂
3
- *
4
- * 负责根据模块配置创建 NacosNamingClient / NacosConfigClient 实例。
5
- * 如果未配置 naming / config,则返回 null(对应服务以 @Optional 注入)。
6
- */
7
1
  import { Provider } from '@nestjs/common';
8
- import { NacosNamingClient, NacosConfigClient } from 'nacos';
9
- import { NacosModuleOptions } from './nacos.interfaces';
10
- /** 创建 Naming 客户端 */
2
+ import { NacosConfigClient, NacosNamingClient } from 'nacos';
3
+ import { NacosModuleOptions, NacosModuleOptionsInput } from './nacos.interfaces';
11
4
  export declare function createNamingClient(options: NacosModuleOptions['naming']): NacosNamingClient | null;
12
- /** 创建 Config 客户端 */
13
5
  export declare function createConfigClient(options: NacosModuleOptions['config']): NacosConfigClient | null;
14
- /** 客户端 Provider 列表 */
6
+ /** Expands the simple shared connection fields into SDK-specific options. */
7
+ export declare function normalizeNacosOptions(input: NacosModuleOptionsInput): NacosModuleOptions;
15
8
  export declare const nacosClientProviders: Provider[];
16
9
  //# sourceMappingURL=nacos.providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nacos.providers.d.ts","sourceRoot":"","sources":["../src/nacos.providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAU,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAiBxD,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAgBlG;AAED,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAelG;AAED,sBAAsB;AACtB,eAAO,MAAM,oBAAoB,EAAE,QAAQ,EAW1C,CAAC"}
1
+ {"version":3,"file":"nacos.providers.d.ts","sourceRoot":"","sources":["../src/nacos.providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAExB,MAAM,oBAAoB,CAAC;AAW5B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAclG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAelG;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAwBxF;AAUD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,EAW1C,CAAC"}
@@ -3,21 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nacosClientProviders = void 0;
4
4
  exports.createNamingClient = createNamingClient;
5
5
  exports.createConfigClient = createConfigClient;
6
- /**
7
- * NestJS Nacos 插件 - Provider 工厂
8
- *
9
- * 负责根据模块配置创建 NacosNamingClient / NacosConfigClient 实例。
10
- * 如果未配置 naming / config,则返回 null(对应服务以 @Optional 注入)。
11
- */
6
+ exports.normalizeNacosOptions = normalizeNacosOptions;
12
7
  const common_1 = require("@nestjs/common");
13
8
  const nacos_1 = require("nacos");
14
9
  const nacos_constants_1 = require("./nacos.constants");
15
10
  const nestLogger = new common_1.Logger('Nacos');
16
- /**
17
- * Logger 适配器
18
- * Nacos SDK 期望 logger 有 info/warn/error/debug 方法,
19
- * 而 NestJS Logger 使用 log/warn/error/debug,此处做映射。
20
- */
21
11
  const nacosLogger = {
22
12
  info: (...args) => nestLogger.log(args.join(' ')),
23
13
  warn: (...args) => nestLogger.warn(args.join(' ')),
@@ -25,16 +15,14 @@ const nacosLogger = {
25
15
  debug: (...args) => nestLogger.debug(args.join(' ')),
26
16
  log: (...args) => nestLogger.log(args.join(' ')),
27
17
  };
28
- /** 创建 Naming 客户端 */
29
18
  function createNamingClient(options) {
30
19
  if (!options)
31
20
  return null;
32
- // SDK 运行时支持 transport 选项(gRPC),但类型定义尚未包含,故用 as any
33
- const client = new nacos_1.NacosNamingClient({
21
+ assertSupportedTransport(options.transport);
22
+ return new nacos_1.NacosNamingClient({
34
23
  logger: nacosLogger,
35
24
  serverList: options.serverList,
36
25
  namespace: options.namespace ?? 'public',
37
- transport: options.transport ?? 'grpc',
38
26
  username: options.username,
39
27
  password: options.password,
40
28
  ssl: options.ssl,
@@ -42,17 +30,16 @@ function createNamingClient(options) {
42
30
  sk: options.sk,
43
31
  appName: options.appName,
44
32
  });
45
- return client;
46
33
  }
47
- /** 创建 Config 客户端 */
48
34
  function createConfigClient(options) {
49
35
  if (!options)
50
36
  return null;
51
- // SDK 运行时支持 transport 选项(gRPC),但类型定义尚未包含,故用 as any
52
- const client = new nacos_1.NacosConfigClient({
37
+ assertSupportedTransport(options.transport);
38
+ return new nacos_1.NacosConfigClient({
53
39
  serverAddr: options.serverAddr,
54
- namespace: options.namespace ?? 'public',
55
- transport: options.transport ?? 'grpc',
40
+ // The SDK sends an empty string as `tenant=`. Nacos 2.5.x treats that
41
+ // differently from an omitted tenant, so public namespace must be omitted.
42
+ namespace: !options.namespace || options.namespace === 'public' ? undefined : options.namespace,
56
43
  username: options.username,
57
44
  password: options.password,
58
45
  ssl: options.ssl,
@@ -60,9 +47,36 @@ function createConfigClient(options) {
60
47
  secretKey: options.secretKey,
61
48
  signatureRegionId: options.signatureRegionId,
62
49
  });
63
- return client;
64
50
  }
65
- /** 客户端 Provider 列表 */
51
+ /** Expands the simple shared connection fields into SDK-specific options. */
52
+ function normalizeNacosOptions(input) {
53
+ const options = typeof input === 'string'
54
+ ? { serverAddr: input }
55
+ : input;
56
+ const sharedAddress = options.serverAddr;
57
+ const shared = {
58
+ namespace: options.namespace,
59
+ username: options.username,
60
+ password: options.password,
61
+ ssl: options.ssl,
62
+ };
63
+ const naming = options.naming
64
+ ? { ...shared, ...options.naming }
65
+ : sharedAddress
66
+ ? { ...shared, serverList: sharedAddress }
67
+ : undefined;
68
+ const config = options.config
69
+ ? { ...shared, ...options.config }
70
+ : sharedAddress
71
+ ? { ...shared, serverAddr: sharedAddress }
72
+ : undefined;
73
+ return { ...options, naming, config };
74
+ }
75
+ function assertSupportedTransport(transport) {
76
+ if (transport === 'grpc') {
77
+ throw new Error('transport "grpc" is not supported: nacos@2.6.x only implements the Nacos HTTP OpenAPI');
78
+ }
79
+ }
66
80
  exports.nacosClientProviders = [
67
81
  {
68
82
  provide: nacos_constants_1.NACOS_NAMING_CLIENT,
@@ -1 +1 @@
1
- {"version":3,"file":"nacos.providers.js","sourceRoot":"","sources":["../src/nacos.providers.ts"],"names":[],"mappings":";;;AA2BA,gDAgBC;AAGD,gDAeC;AA7DD;;;;;GAKG;AACH,2CAAkD;AAClD,iCAA6D;AAC7D,uDAA4F;AAG5F,MAAM,UAAU,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CACxD,CAAC;AAEF,oBAAoB;AACpB,SAAgB,kBAAkB,CAAC,OAAqC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,yBAAiB,CAAC;QACnC,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ;QACxC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;KAClB,CAAC,CAAC;IACV,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oBAAoB;AACpB,SAAgB,kBAAkB,CAAC,OAAqC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,yBAAiB,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ;QACxC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KACtC,CAAC,CAAC;IACV,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sBAAsB;AACT,QAAA,oBAAoB,GAAe;IAC9C;QACE,OAAO,EAAE,qCAAmB;QAC5B,UAAU,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QAChF,MAAM,EAAE,CAAC,+BAAa,CAAC;KACxB;IACD;QACE,OAAO,EAAE,qCAAmB;QAC5B,UAAU,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QAChF,MAAM,EAAE,CAAC,+BAAa,CAAC;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"nacos.providers.js","sourceRoot":"","sources":["../src/nacos.providers.ts"],"names":[],"mappings":";;;AAkBA,gDAcC;AAED,gDAeC;AAGD,sDAwBC;AA5ED,2CAAkD;AAClD,iCAA6D;AAC7D,uDAA4F;AAO5F,MAAM,UAAU,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;AACvC,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CACxD,CAAC;AAEF,SAAgB,kBAAkB,CAAC,OAAqC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,IAAI,yBAAiB,CAAC;QAC3B,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;KAClB,CAAC,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAqC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,IAAI,yBAAiB,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,sEAAsE;QACtE,2EAA2E;QAC3E,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;QAC/F,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KACtC,CAAC,CAAC;AACZ,CAAC;AAED,6EAA6E;AAC7E,SAAgB,qBAAqB,CAAC,KAA8B;IAClE,MAAM,OAAO,GAAuB,OAAO,KAAK,KAAK,QAAQ;QAC3D,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;QACvB,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAClC,CAAC,CAAC,aAAa;YACb,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE;YAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAClC,CAAC,CAAC,aAAa;YACb,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE;YAC1C,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA0B;IAC1D,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,oBAAoB,GAAe;IAC9C;QACE,OAAO,EAAE,qCAAmB;QAC5B,UAAU,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QAChF,MAAM,EAAE,CAAC,+BAAa,CAAC;KACxB;IACD;QACE,OAAO,EAAE,qCAAmB;QAC5B,UAAU,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QAChF,MAAM,EAAE,CAAC,+BAAa,CAAC;KACxB;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { NacosConfigFormat, NacosRetryOptions } from './nacos.interfaces';
2
+ export declare function resolveConfigFormat(dataId: string, format?: NacosConfigFormat): NacosConfigFormat;
3
+ export declare function parseConfigContent<T = unknown>(content: string, format?: NacosConfigFormat, dataId?: string): T;
4
+ export declare function mergeConfigValues(target: unknown, source: unknown): unknown;
5
+ export declare function withRetry<T>(operation: () => Promise<T>, options?: NacosRetryOptions): Promise<T>;
6
+ //# sourceMappingURL=nacos.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nacos.utils.d.ts","sourceRoot":"","sources":["../src/nacos.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,iBAA0B,GAAG,iBAAiB,CAOzG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAC5C,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,iBAA0B,EAClC,MAAM,SAAK,GACV,CAAC,CAgBH;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAO3E;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAkBvG"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveConfigFormat = resolveConfigFormat;
4
+ exports.parseConfigContent = parseConfigContent;
5
+ exports.mergeConfigValues = mergeConfigValues;
6
+ exports.withRetry = withRetry;
7
+ const js_yaml_1 = require("js-yaml");
8
+ function resolveConfigFormat(dataId, format = 'auto') {
9
+ if (format !== 'auto')
10
+ return format;
11
+ const extension = dataId.toLowerCase().split('.').pop();
12
+ if (extension === 'json')
13
+ return 'json';
14
+ if (extension === 'yaml' || extension === 'yml')
15
+ return 'yaml';
16
+ if (extension === 'properties' || extension === 'props')
17
+ return 'properties';
18
+ return 'txt';
19
+ }
20
+ function parseConfigContent(content, format = 'auto', dataId = '') {
21
+ const resolved = resolveConfigFormat(dataId, format);
22
+ if (resolved === 'txt')
23
+ return content;
24
+ if (resolved === 'json')
25
+ return JSON.parse(content);
26
+ if (resolved === 'yaml')
27
+ return (0, js_yaml_1.load)(content);
28
+ const result = {};
29
+ for (const originalLine of content.split(/\r?\n/)) {
30
+ const line = originalLine.trim();
31
+ if (!line || line.startsWith('#') || line.startsWith('!'))
32
+ continue;
33
+ const separator = line.search(/(?<!\\)[=:]/);
34
+ const key = (separator < 0 ? line : line.slice(0, separator)).trim();
35
+ const value = (separator < 0 ? '' : line.slice(separator + 1)).trim();
36
+ result[key.replace(/\\([:= ])/g, '$1')] = value.replace(/\\n/g, '\n').replace(/\\t/g, '\t');
37
+ }
38
+ return result;
39
+ }
40
+ function mergeConfigValues(target, source) {
41
+ if (!isPlainObject(target) || !isPlainObject(source))
42
+ return cloneValue(source);
43
+ const merged = { ...target };
44
+ for (const [key, value] of Object.entries(source)) {
45
+ merged[key] = key in merged ? mergeConfigValues(merged[key], value) : cloneValue(value);
46
+ }
47
+ return merged;
48
+ }
49
+ async function withRetry(operation, options) {
50
+ const attempts = Math.max(1, options?.attempts ?? 3);
51
+ let delay = Math.max(0, options?.delayMs ?? 300);
52
+ const factor = Math.max(1, options?.backoffFactor ?? 2);
53
+ const maxDelay = Math.max(delay, options?.maxDelayMs ?? 3000);
54
+ let lastError;
55
+ for (let attempt = 1; attempt <= attempts; attempt++) {
56
+ try {
57
+ return await operation();
58
+ }
59
+ catch (error) {
60
+ lastError = error;
61
+ if (attempt < attempts && delay > 0) {
62
+ await new Promise((resolve) => setTimeout(resolve, delay));
63
+ delay = Math.min(maxDelay, delay * factor);
64
+ }
65
+ }
66
+ }
67
+ throw lastError;
68
+ }
69
+ function isPlainObject(value) {
70
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
71
+ }
72
+ function cloneValue(value) {
73
+ if (Array.isArray(value))
74
+ return value.map(cloneValue);
75
+ if (!isPlainObject(value))
76
+ return value;
77
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneValue(item)]));
78
+ }
79
+ //# sourceMappingURL=nacos.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nacos.utils.js","sourceRoot":"","sources":["../src/nacos.utils.ts"],"names":[],"mappings":";;AAGA,kDAOC;AAED,gDAoBC;AAED,8CAOC;AAED,8BAkBC;AA7DD,qCAA4C;AAG5C,SAAgB,mBAAmB,CAAC,MAAc,EAAE,SAA4B,MAAM;IACpF,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IAC/D,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,SAA4B,MAAM,EAClC,MAAM,GAAG,EAAE;IAEX,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,OAAY,CAAC;IAC5C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IACzD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAA,cAAS,EAAC,OAAO,CAAM,CAAC;IAExD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAe,EAAE,MAAe;IAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,MAAM,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,SAAS,CAAI,SAA2B,EAAE,OAA2B;IACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;IAC9D,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,OAAO,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,28 @@
1
1
  {
2
2
  "name": "@danqiusheng/nest-nacos",
3
- "version": "1.0.0",
4
- "description": "NestJS Nacos 插件 - 服务发现 + 配置中心(基于 nacos-sdk-nodejs,支持 gRPC / Nacos 2.x & 3.x)",
3
+ "version": "1.2.0",
4
+ "description": "NestJS Nacos 2.x configuration and service-discovery integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist",
9
9
  "README.md",
10
+ "README.en.md",
11
+ "CHANGELOG.md",
10
12
  "LICENSE"
11
13
  ],
12
14
  "scripts": {
13
15
  "build": "rimraf dist && tsc",
16
+ "test": "npm run test:unit",
17
+ "test:unit": "ts-node test/unit.ts",
18
+ "test:simple-e2e": "ts-node test/simple-options.e2e.ts",
19
+ "typecheck:example": "tsc --project tsconfig.example.json --noEmit",
14
20
  "start:example": "ts-node example/app.module.ts",
15
- "prepublishOnly": "npm run build",
16
- "version": "npm run build",
17
- "postversion": "git push && git push --tags"
21
+ "prepublishOnly": "npm run build && npm test && npm run typecheck:example"
22
+ },
23
+ "dependencies": {
24
+ "js-yaml": "^4.3.0",
25
+ "nacos-config": "^2.6.3"
18
26
  },
19
27
  "peerDependencies": {
20
28
  "@nestjs/common": "^10.0.0 || ^11.0.0",
@@ -28,6 +36,7 @@
28
36
  "@nestjs/config": "^4.0.0",
29
37
  "@nestjs/core": "^11.0.0",
30
38
  "@nestjs/testing": "^11.1.28",
39
+ "@types/js-yaml": "^4.0.9",
31
40
  "@types/node": "^26.1.2",
32
41
  "nacos": "^2.6.3",
33
42
  "reflect-metadata": "^0.2.2",
@@ -44,17 +53,17 @@
44
53
  "config-center",
45
54
  "configuration",
46
55
  "microservice",
47
- "grpc"
56
+ "load-balancing"
48
57
  ],
49
58
  "repository": {
50
59
  "type": "git",
51
- "url": "git+https://github.com/danqiusheng/nest-nacos.git"
60
+ "url": "git+https://gitee.com/li-zucheng/nacos-plugin.git"
52
61
  },
53
62
  "bugs": {
54
- "url": "https://github.com/danqiusheng/nest-nacos/issues"
63
+ "url": "https://gitee.com/li-zucheng/nacos-plugin/issues"
55
64
  },
56
- "homepage": "https://github.com/danqiusheng/nest-nacos#readme",
57
- "author": "丹丘生",
65
+ "homepage": "https://gitee.com/li-zucheng/nacos-plugin",
66
+ "author": "danqiusheng",
58
67
  "license": "MIT",
59
68
  "engines": {
60
69
  "node": ">=16"