vona-core 5.0.104 → 5.0.105

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 (134) hide show
  1. package/dist/index.js +3194 -2
  2. package/dist/lib/bean/beanBase.d.ts +1 -0
  3. package/dist/lib/bean/beanBaseSimple.d.ts +0 -2
  4. package/dist/lib/bean/beanContainer.d.ts +9 -5
  5. package/dist/lib/core/hmr.d.ts +20 -0
  6. package/dist/lib/core/hmrDeps.d.ts +12 -0
  7. package/dist/lib/core/index.d.ts +2 -0
  8. package/dist/lib/core/meta.d.ts +5 -1
  9. package/dist/lib/core/response.d.ts +7 -0
  10. package/dist/lib/decorator/class/util.d.ts +1 -0
  11. package/dist/lib/decorator/interface/beanOptions.d.ts +1 -0
  12. package/dist/lib/decorator/type/containerScope.d.ts +1 -0
  13. package/dist/lib/mappedClass/extendClass.d.ts +2 -0
  14. package/dist/lib/mappedClass/mappedClass.d.ts +2 -0
  15. package/package.json +13 -14
  16. package/dist/lib/bean/beanAopBase.js +0 -3
  17. package/dist/lib/bean/beanAopMethodBase.js +0 -3
  18. package/dist/lib/bean/beanBase.js +0 -41
  19. package/dist/lib/bean/beanBaseSimple.js +0 -32
  20. package/dist/lib/bean/beanContainer.js +0 -586
  21. package/dist/lib/bean/beanSimple.js +0 -9
  22. package/dist/lib/bean/index.js +0 -9
  23. package/dist/lib/bean/resource/config/index.js +0 -1
  24. package/dist/lib/bean/resource/config/type.js +0 -1
  25. package/dist/lib/bean/resource/constant/index.js +0 -1
  26. package/dist/lib/bean/resource/constant/type.js +0 -1
  27. package/dist/lib/bean/resource/error/beanScopeError.js +0 -17
  28. package/dist/lib/bean/resource/error/beanScopeErrorImpl.js +0 -18
  29. package/dist/lib/bean/resource/error/errorApplication.js +0 -1
  30. package/dist/lib/bean/resource/error/errorClass.js +0 -75
  31. package/dist/lib/bean/resource/error/errorGlobal.js +0 -1
  32. package/dist/lib/bean/resource/error/errorInternal.js +0 -68
  33. package/dist/lib/bean/resource/error/errorObject.js +0 -1
  34. package/dist/lib/bean/resource/error/index.js +0 -8
  35. package/dist/lib/bean/resource/error/type.js +0 -1
  36. package/dist/lib/bean/resource/index.js +0 -4
  37. package/dist/lib/bean/resource/locale/appLocale.js +0 -51
  38. package/dist/lib/bean/resource/locale/beanScopeLocale.js +0 -16
  39. package/dist/lib/bean/resource/locale/index.js +0 -4
  40. package/dist/lib/bean/resource/locale/type.js +0 -1
  41. package/dist/lib/bean/resource/locale/utils.js +0 -3
  42. package/dist/lib/bean/scope/beanScopeBase.js +0 -97
  43. package/dist/lib/bean/scope/beanScopeContainer.js +0 -15
  44. package/dist/lib/bean/scope/beanScopeScene.js +0 -20
  45. package/dist/lib/bean/scope/beanScopeUtil.js +0 -18
  46. package/dist/lib/bean/scope/index.js +0 -4
  47. package/dist/lib/bean/type.js +0 -2
  48. package/dist/lib/core/application.js +0 -86
  49. package/dist/lib/core/asyncLocalStorage.js +0 -23
  50. package/dist/lib/core/config.js +0 -54
  51. package/dist/lib/core/context.js +0 -121
  52. package/dist/lib/core/ctxCounter.js +0 -20
  53. package/dist/lib/core/index.js +0 -7
  54. package/dist/lib/core/locales.js +0 -6
  55. package/dist/lib/core/logger/appLogger.js +0 -103
  56. package/dist/lib/core/logger/index.js +0 -2
  57. package/dist/lib/core/logger/utils.js +0 -76
  58. package/dist/lib/core/meta.js +0 -120
  59. package/dist/lib/core/metadata.js +0 -80
  60. package/dist/lib/core/resource.js +0 -146
  61. package/dist/lib/decorator/class/beanInfo.js +0 -8
  62. package/dist/lib/decorator/class/createBeanDecorator.js +0 -22
  63. package/dist/lib/decorator/class/index.js +0 -5
  64. package/dist/lib/decorator/class/proxyDisable.js +0 -8
  65. package/dist/lib/decorator/class/use.js +0 -74
  66. package/dist/lib/decorator/class/util.js +0 -9
  67. package/dist/lib/decorator/class/virtual.js +0 -8
  68. package/dist/lib/decorator/index.js +0 -3
  69. package/dist/lib/decorator/interface/beanOptions.js +0 -1
  70. package/dist/lib/decorator/interface/index.js +0 -2
  71. package/dist/lib/decorator/interface/useOptions.js +0 -1
  72. package/dist/lib/decorator/type/constructable.js +0 -1
  73. package/dist/lib/decorator/type/containerScope.js +0 -1
  74. package/dist/lib/decorator/type/function.js +0 -1
  75. package/dist/lib/decorator/type/index.js +0 -4
  76. package/dist/lib/decorator/type/injectionScope.js +0 -1
  77. package/dist/lib/framework/bootstrap.js +0 -13
  78. package/dist/lib/framework/cluster.js +0 -33
  79. package/dist/lib/framework/createApp.js +0 -73
  80. package/dist/lib/framework/index.js +0 -4
  81. package/dist/lib/framework/process.js +0 -44
  82. package/dist/lib/framework/start.js +0 -79
  83. package/dist/lib/framework/useApp.js +0 -61
  84. package/dist/lib/index.js +0 -6
  85. package/dist/lib/locale/en-us.js +0 -5
  86. package/dist/lib/locale/zh-cn.js +0 -69
  87. package/dist/lib/mappedClass/index.js +0 -4
  88. package/dist/lib/mappedClass/mappedClass.js +0 -10
  89. package/dist/lib/mappedClass/mixinClass.js +0 -8
  90. package/dist/lib/mappedClass/omitClass.js +0 -14
  91. package/dist/lib/mappedClass/partialClass.js +0 -16
  92. package/dist/lib/mappedClass/pickClass.js +0 -6
  93. package/dist/lib/mappedClass/pickClassInner.js +0 -12
  94. package/dist/lib/mappedClass/type.js +0 -1
  95. package/dist/lib/mappedClass/utils.js +0 -80
  96. package/dist/lib/module/config.js +0 -17
  97. package/dist/lib/module/constant.js +0 -16
  98. package/dist/lib/module/errors.js +0 -29
  99. package/dist/lib/module/loader.js +0 -25
  100. package/dist/lib/module/locales.js +0 -49
  101. package/dist/lib/module/module.js +0 -32
  102. package/dist/lib/utils/customKey.js +0 -3
  103. package/dist/lib/utils/index.js +0 -6
  104. package/dist/lib/utils/retry.js +0 -16
  105. package/dist/lib/utils/sqlite3.js +0 -38
  106. package/dist/lib/utils/util.js +0 -316
  107. package/dist/lib/utils/zod-enhance.js +0 -18
  108. package/dist/lib/utils/zod-openapi.js +0 -29
  109. package/dist/types/application/app.js +0 -1
  110. package/dist/types/application/index.js +0 -1
  111. package/dist/types/config/config.js +0 -1
  112. package/dist/types/config/index.js +0 -3
  113. package/dist/types/config/instance.js +0 -1
  114. package/dist/types/config/locale.js +0 -3
  115. package/dist/types/context/contextBase.js +0 -1
  116. package/dist/types/context/contextConfig.js +0 -1
  117. package/dist/types/context/contextOthers.js +0 -1
  118. package/dist/types/context/contextState.js +0 -1
  119. package/dist/types/context/index.js +0 -1
  120. package/dist/types/enum/appEvent.js +0 -4
  121. package/dist/types/enum/index.js +0 -1
  122. package/dist/types/index.js +0 -6
  123. package/dist/types/interface/bootstrap.js +0 -1
  124. package/dist/types/interface/index.js +0 -4
  125. package/dist/types/interface/logger.js +0 -1
  126. package/dist/types/interface/module.js +0 -1
  127. package/dist/types/interface/monkey.js +0 -1
  128. package/dist/types/utils/cast.js +0 -3
  129. package/dist/types/utils/demo.js +0 -1
  130. package/dist/types/utils/env.js +0 -1
  131. package/dist/types/utils/index.js +0 -6
  132. package/dist/types/utils/omitNever.js +0 -1
  133. package/dist/types/utils/powerPartial.js +0 -8
  134. package/dist/types/utils/type.js +0 -1
@@ -14,6 +14,7 @@ export declare class BeanBase extends BeanBaseSimple {
14
14
  protected get $logger(): winston.Logger;
15
15
  protected $loggerClient(clientName?: keyof ILoggerClientRecord): winston.Logger;
16
16
  protected $loggerChild(childName: keyof ILoggerChildRecord, clientName?: keyof ILoggerClientRecord): winston.Logger;
17
+ protected $mutate(args: any[]): void;
17
18
  protected get $scope(): IBeanScopeContainer;
18
19
  get scope(): unknown;
19
20
  }
@@ -6,11 +6,9 @@ export declare const SymbolModuleBelong: unique symbol;
6
6
  export declare const SymbolModuleName: unique symbol;
7
7
  export declare class BeanBaseSimple extends BeanSimple {
8
8
  private [SymbolBeanFullName];
9
- private [SymbolBeanInstanceKey];
10
9
  protected get [SymbolModuleBelong](): string;
11
10
  protected get [SymbolModuleName](): string | undefined;
12
11
  get $beanFullName(): string;
13
- get $beanInstanceKey(): string;
14
12
  protected get $beanOptions(): IDecoratorBeanOptionsBase;
15
13
  get $onionName(): string;
16
14
  get $onionOptions(): unknown | undefined;
@@ -1,8 +1,12 @@
1
1
  import type { VonaContext } from '../../types/index.ts';
2
2
  import type { VonaApplication } from '../core/application.ts';
3
- import type { Constructable } from '../decorator/index.ts';
3
+ import type { Constructable, ContainerType } from '../decorator/index.ts';
4
4
  import type { IBeanRecord, IBeanRecordGlobal, IBeanScopeRecord, TypeBeanScopeRecordKeys } from './type.ts';
5
- declare const SymbolBeanContainerInstances: unique symbol;
5
+ import { BeanSimple } from './beanSimple.ts';
6
+ export declare const SymbolCacheAopChains: unique symbol;
7
+ export declare const SymbolCacheAopChainsKey: unique symbol;
8
+ export declare const SymbolBeanContainerInstances: unique symbol;
9
+ export declare const SymbolBeanInstancePropsLazy: unique symbol;
6
10
  export interface BeanContainer extends IBeanRecordGlobal {
7
11
  }
8
12
  export declare class BeanContainer {
@@ -11,7 +15,9 @@ export declare class BeanContainer {
11
15
  private [SymbolBeanContainerInstances];
12
16
  static create(app: VonaApplication, ctx: VonaContext | undefined): BeanContainer;
13
17
  protected constructor(app: VonaApplication, ctx: VonaContext | undefined);
14
- disposeInstance(beanInstanceKey: string): Promise<void>;
18
+ _removeBean(beanInstance: BeanSimple): Promise<void>;
19
+ _removeBean(beanInstanceKey: string): Promise<void>;
20
+ get containerType(): ContainerType;
15
21
  /** get specific module's scope */
16
22
  scope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): IBeanScopeRecord[K];
17
23
  _getBean<T>(A: Constructable<T>, ...args: any[]): T;
@@ -33,9 +39,7 @@ export declare class BeanContainer {
33
39
  private _newBeanProxy;
34
40
  private _getInstanceMethodProxy;
35
41
  private _prepareAopChains;
36
- private _getAopChains;
37
42
  private _aopCacheHost;
38
43
  private _getAopChainsProp;
39
44
  private _getAopChainsProp_aopMethods;
40
45
  }
41
- export {};
@@ -0,0 +1,20 @@
1
+ import { BeanSimple } from '../bean/beanSimple.ts';
2
+ interface IRecordBeanInstance {
3
+ beanInstanceKey: string;
4
+ withSelector?: boolean;
5
+ args: any[];
6
+ }
7
+ interface IRecordBeanInstanceProp {
8
+ beanInstance: any;
9
+ prop: string;
10
+ }
11
+ export declare const SymbolHmrStateSave: unique symbol;
12
+ export declare const SymbolHmrStateLoad: unique symbol;
13
+ export declare class AppHmr extends BeanSimple {
14
+ recordBeanInstances: Record<string, IRecordBeanInstance[] | undefined>;
15
+ recordBeanInstanceProps: Record<string, IRecordBeanInstanceProp[] | undefined>;
16
+ addBeanInstance(beanFullName: string, beanInstanceKey: string, args: any[], withSelector?: boolean): void;
17
+ addBeanInstanceProp(beanInstance: any, prop: string, targetBeanFullName: string): void;
18
+ mutateBeanInstance(beanFullName: string, beanInstanceKey: string, args: any[]): void;
19
+ }
20
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ import { BeanSimple } from '../bean/beanSimple.ts';
3
+ export declare class AppHmrDeps extends BeanSimple {
4
+ private _deps;
5
+ private _depsTemp;
6
+ get deps(): Record<string, Set<string>>;
7
+ addBeans<T extends Constructable[]>(classRefs: T): void;
8
+ addBean<T>(classRef: Constructable<T>): void;
9
+ add(beanFullName: string): void;
10
+ end(beanFullName: string): void;
11
+ }
12
+ export declare const appHmrDeps: AppHmrDeps;
@@ -1,5 +1,7 @@
1
1
  export * from './application.ts';
2
2
  export * from './config.ts';
3
+ export * from './hmr.ts';
4
+ export * from './hmrDeps.ts';
3
5
  export * from './locales.ts';
4
6
  export * from './logger/index.ts';
5
7
  export * from './meta.ts';
@@ -1,12 +1,13 @@
1
1
  import type { IModule } from '@cabloy/module-info';
2
2
  import type { TypeModuleResourceLocaleModules, TypeModuleResourceLocales, VonaConfigEnv } from '../../types/index.ts';
3
3
  import type { IAppMonkey } from '../../types/interface/monkey.ts';
4
- import type { ErrorClass, IModuleLocaleText } from '../bean/index.ts';
4
+ import type { ErrorClass, IBeanScopeConfig, IModuleLocaleText } from '../bean/index.ts';
5
5
  import type { AppMetadata } from './metadata.ts';
6
6
  import type { AppResource } from './resource.ts';
7
7
  import { BeanSimple } from '../bean/beanSimple.ts';
8
8
  import { AppLocale, BeanScopeContainer } from '../bean/index.ts';
9
9
  import { CtxCounter } from './ctxCounter.ts';
10
+ import { AppHmr } from './hmr.ts';
10
11
  import { AppLogger } from './logger/appLogger.ts';
11
12
  export declare class AppMeta extends BeanSimple {
12
13
  env: VonaConfigEnv;
@@ -18,6 +19,7 @@ export declare class AppMeta extends BeanSimple {
18
19
  error: ErrorClass;
19
20
  logger: AppLogger;
20
21
  locale: AppLocale;
22
+ hmr?: AppHmr;
21
23
  text: IModuleLocaleText;
22
24
  scopeContainer: BeanScopeContainer;
23
25
  appMonkey?: IAppMonkey;
@@ -29,6 +31,8 @@ export declare class AppMeta extends BeanSimple {
29
31
  constants: Record<string, any>;
30
32
  locales: TypeModuleResourceLocales;
31
33
  localeModules: TypeModuleResourceLocaleModules;
34
+ hmrCacheLocaleModules: TypeModuleResourceLocaleModules;
35
+ hmrCacheConfigModules: IBeanScopeConfig;
32
36
  appReady: boolean;
33
37
  appReadyInstances: Record<string, boolean>;
34
38
  appStarted: boolean;
@@ -0,0 +1,7 @@
1
+ export declare class ResponseMock {
2
+ private _headers;
3
+ getHeader(field: string): any;
4
+ setHeader(field: string, val: any): void;
5
+ hasHeader(field: string): boolean;
6
+ removeHeader(field: string): void;
7
+ }
@@ -1,3 +1,4 @@
1
1
  import type { Constructable } from '../type/constructable.ts';
2
2
  export declare const ParseModuleNameLevel: number;
3
3
  export declare function parseModuleName(beanClass: Constructable): string | undefined;
4
+ export declare function parseModuleFile(): string;
@@ -15,6 +15,7 @@ export interface IDecoratorBeanOptionsBase<T = unknown, OPTIONS = unknown> {
15
15
  moduleBelong?: string;
16
16
  options?: OPTIONS;
17
17
  optionsPrimitive?: boolean;
18
+ file?: string;
18
19
  }
19
20
  export interface IDecoratorBeanInfoOptions {
20
21
  module: string;
@@ -1 +1,2 @@
1
1
  export type ContainerScope = 'app' | 'ctx' | 'new';
2
+ export type ContainerType = 'app' | 'ctx';
@@ -0,0 +1,2 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ export declare function ExtendClass<T>(classRef: Constructable<T>): Constructable<T>;
@@ -1,8 +1,10 @@
1
+ import { ExtendClass } from './extendClass.ts';
1
2
  import { MixinClass } from './mixinClass.ts';
2
3
  import { OmitClass } from './omitClass.ts';
3
4
  import { PartialClass } from './partialClass.ts';
4
5
  import { PickClass } from './pickClass.ts';
5
6
  export declare const $Class: {
7
+ extend: typeof ExtendClass;
6
8
  mixin: typeof MixinClass;
7
9
  omit: typeof OmitClass;
8
10
  partial: typeof PartialClass;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-core",
3
3
  "type": "module",
4
- "version": "5.0.104",
4
+ "version": "5.0.105",
5
5
  "description": "vona",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -25,19 +25,19 @@
25
25
  "dist"
26
26
  ],
27
27
  "dependencies": {
28
- "@cabloy/compose": "^2.0.14",
29
- "@cabloy/extend": "^3.1.10",
30
- "@cabloy/json5": "^1.0.18",
31
- "@cabloy/localeutil": "^2.0.10",
32
- "@cabloy/module-info": "^1.3.31",
33
- "@cabloy/module-info-pro": "^1.0.39",
34
- "@cabloy/set": "^1.0.17",
28
+ "@cabloy/compose": "^2.0.15",
29
+ "@cabloy/extend": "^3.1.11",
30
+ "@cabloy/json5": "^1.0.19",
31
+ "@cabloy/localeutil": "^2.0.11",
32
+ "@cabloy/module-info": "^1.3.32",
33
+ "@cabloy/module-info-pro": "^1.0.40",
34
+ "@cabloy/set": "^1.0.18",
35
35
  "@cabloy/type-fest": "^5.3.1",
36
- "@cabloy/utils": "^1.0.48",
36
+ "@cabloy/utils": "^1.0.49",
37
37
  "@cabloy/word-utils": "^2.0.1",
38
- "@cabloy/zod-errors-custom": "^2.0.3",
39
- "@cabloy/zod-openapi": "^1.0.6",
40
- "@cabloy/zod-query": "^2.0.3",
38
+ "@cabloy/zod-errors-custom": "^2.0.4",
39
+ "@cabloy/zod-openapi": "^1.0.7",
40
+ "@cabloy/zod-query": "^2.0.4",
41
41
  "@cabloy/zod-to-openapi": "^8.1.4",
42
42
  "chalk": "^5.3.0",
43
43
  "fs-extra": "^10.1.0",
@@ -53,8 +53,7 @@
53
53
  },
54
54
  "gitHead": "0eab9dc4a5622caffe89e7b1b3f02c08ccbc4c4b",
55
55
  "scripts": {
56
- "lint": "eslint .",
57
56
  "clean": "rimraf dist tsconfig.tsbuildinfo",
58
- "tsc:publish": "npm run clean && tsc"
57
+ "tsc:publish": "npm run clean && vona :bin:buildGeneral && tsc"
59
58
  }
60
59
  }
@@ -1,3 +0,0 @@
1
- import { BeanBase } from "./beanBase.js";
2
- export class BeanAopBase extends BeanBase {
3
- }
@@ -1,3 +0,0 @@
1
- import { BeanBase } from "./beanBase.js";
2
- export class BeanAopMethodBase extends BeanBase {
3
- }
@@ -1,41 +0,0 @@
1
- import { BeanBaseSimple, SymbolModuleBelong } from "./beanBaseSimple.js";
2
- const SymbolText = Symbol('SymbolText');
3
- const SymbolLogger = Symbol('SymbolLogger');
4
- const SymbolLoggerChildren = Symbol('SymbolLoggerChildren');
5
- export class BeanBase extends BeanBaseSimple {
6
- [SymbolText];
7
- [SymbolLogger] = {};
8
- [SymbolLoggerChildren] = {};
9
- get $text() {
10
- if (!this[SymbolText]) {
11
- this[SymbolText] = this.app.meta.locale.createLocaleText(this[SymbolModuleBelong]);
12
- }
13
- return this[SymbolText];
14
- }
15
- get $logger() {
16
- return this.$loggerClient('default');
17
- }
18
- $loggerClient(clientName = 'default') {
19
- if (!this[SymbolLogger][clientName]) {
20
- this[SymbolLogger][clientName] = this.app.meta.logger.get(clientName).child({ beanFullName: this.$beanFullName });
21
- }
22
- return this[SymbolLogger][clientName];
23
- }
24
- $loggerChild(childName, clientName = 'default') {
25
- if (!this[SymbolLoggerChildren][clientName])
26
- this[SymbolLoggerChildren][clientName] = {};
27
- if (!this[SymbolLoggerChildren][clientName][childName]) {
28
- this[SymbolLoggerChildren][clientName][childName] = this.app.meta.logger.get(clientName).child({
29
- beanFullName: this.$beanFullName,
30
- name: childName,
31
- });
32
- }
33
- return this[SymbolLoggerChildren][clientName][childName];
34
- }
35
- get $scope() {
36
- return this.app.meta.scopeContainer;
37
- }
38
- get scope() {
39
- return this.bean.scope(this[SymbolModuleBelong]);
40
- }
41
- }
@@ -1,32 +0,0 @@
1
- import { appResource } from "../core/resource.js";
2
- import { BeanSimple } from "./beanSimple.js";
3
- export const SymbolBeanFullName = Symbol('SymbolBeanFullName');
4
- export const SymbolBeanInstanceKey = Symbol('SymbolBeanInstanceKey');
5
- export const SymbolModuleBelong = Symbol('SymbolModuleBelong');
6
- export const SymbolModuleName = Symbol('SymbolModuleName');
7
- export class BeanBaseSimple extends BeanSimple {
8
- [SymbolBeanFullName];
9
- [SymbolBeanInstanceKey];
10
- get [SymbolModuleBelong]() {
11
- return appResource._getModuleBelong(this[SymbolBeanFullName]);
12
- }
13
- get [SymbolModuleName]() {
14
- return appResource._getModuleName(this[SymbolBeanFullName]);
15
- }
16
- get $beanFullName() {
17
- return this[SymbolBeanFullName];
18
- }
19
- get $beanInstanceKey() {
20
- return this[SymbolBeanInstanceKey];
21
- }
22
- get $beanOptions() {
23
- return appResource.getBean(this[SymbolBeanFullName]);
24
- }
25
- get $onionName() {
26
- const parts = this.$beanFullName.split('.');
27
- return `${parts[0]}:${parts[2]}`;
28
- }
29
- get $onionOptions() {
30
- return this.$beanOptions.options;
31
- }
32
- }