vona-module-a-startup 5.1.15 → 5.1.18

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BeanInfo, BeanBase, cast, getRuntimePathPhysicalRoot, BeanSimple, BeanScopeBase, createBeanDecorator } from 'vona';
1
+ import { BeanInfo, BeanBase, withIsolatedTestDatabaseDiscovery, cast, assertIsolatedTestConfig, getRuntimePathPhysicalRoot, BeanSimple, BeanScopeBase, createBeanDecorator } from 'vona';
2
2
  import { __decorate } from 'tslib';
3
3
  import { isNil } from '@cabloy/utils';
4
4
  import fse from 'fs-extra';
@@ -10,13 +10,32 @@ import { BeanRedlockBase } from 'vona-module-a-redlock';
10
10
 
11
11
  let ServiceStartup = class ServiceStartup extends BeanBase {
12
12
  async appStart() {
13
+ // db:reset is a one-shot data preparation command, not a development server.
14
+ if (this.app.meta.isDev && process.env.VONA_DB_RESET === 'true') {
15
+ this.app.config.server.listen.disable = true;
16
+ }
13
17
  // clear keys
14
18
  await this._clearResources();
15
19
  // run startups: not after
16
20
  for (const startup of this._startups) {
17
21
  const startupOptions = startup.beanOptions.options;
18
22
  if (!startupOptions?.instance && startupOptions?.after !== true) {
19
- await this.runStartup(startup.name, null);
23
+ // A previous dev startup may have left databaseInit's debounce key in Redis.
24
+ // Only the explicit reset must bypass that key to guarantee recreation.
25
+ const force = this.app.meta.isDev && process.env.VONA_DB_RESET === 'true' && startup.name === 'a-version:databaseInit';
26
+ const run = () => this.runStartup(startup.name, null, force ? {
27
+ force: true
28
+ } : undefined);
29
+ if (this.app.meta.env.VONA_TEST_RUN_ID && startup.name === 'a-version:databaseInit') {
30
+ const defaultClient = this.app.config.database.defaultClient;
31
+ if (typeof defaultClient !== 'string') {
32
+ throw new TypeError('Isolated test requires a static default database client');
33
+ }
34
+ const client = this.app.config.database.clients[defaultClient];
35
+ await withIsolatedTestDatabaseDiscovery(this.app, defaultClient, client, run);
36
+ } else {
37
+ await run();
38
+ }
20
39
  }
21
40
  }
22
41
  }
@@ -42,22 +61,25 @@ let ServiceStartup = class ServiceStartup extends BeanBase {
42
61
  await this._appReadyInstanceStartup(instanceName, wait);
43
62
  }
44
63
  }
45
- // version seed
46
- if (this.app.meta.isTest) {
47
- const instanceName = '';
48
- await this.bean.executor.newCtx(async () => {
49
- await this.$scope.version.service.version.__instanceSeed(instanceName);
50
- }, {
51
- dbInfo: {
52
- level: 1
53
- },
54
- instanceName
55
- });
64
+ // Seed test runs and explicit development resets only, after instance initialization.
65
+ if (this.app.meta.isTest || this.app.meta.isDev && process.env.VONA_DB_RESET === 'true') {
66
+ await this.seedDefaultInstance();
56
67
  }
57
68
  }
69
+ async seedDefaultInstance() {
70
+ const instanceName = '';
71
+ await this.bean.executor.newCtx(async () => {
72
+ await this.$scope.version.service.version.__instanceSeed(instanceName);
73
+ }, {
74
+ dbInfo: {
75
+ level: 1
76
+ },
77
+ instanceName
78
+ });
79
+ }
58
80
  async _appReadyInstanceStartup(instanceName, wait) {
59
81
  const res = this.$scope.instance.service.instance.instanceStartupIsolate(instanceName, {
60
- force: false
82
+ force: this.app.meta.isDev && process.env.VONA_DB_RESET === 'true'
61
83
  });
62
84
  if (wait) {
63
85
  await res;
@@ -129,6 +151,7 @@ let ServiceStartup = class ServiceStartup extends BeanBase {
129
151
  }
130
152
  async _clearResources() {
131
153
  if (!this.app.meta.isTest) return;
154
+ assertIsolatedTestConfig(this.app);
132
155
  // redis
133
156
  await this.$scope.redis.service.redis.clearAllData();
134
157
  // .app/public
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/service/startup.ts","../src/bean/cacheRedis.startupDebounce.ts","../src/bean/hmr.startup.ts","../src/bean/meta.redlock.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/startup.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["ServiceStartup","BeanBase","appStart","_clearResources","startup","_startups","startupOptions","beanOptions","options","instance","after","runStartup","name","appReady","app","meta","isTest","isDev","_appReadyInstanceStartup","key","config","instances","instanceName","configInstanceBase","wait","server","listen","disable","bean","executor","newCtx","$scope","version","service","__instanceSeed","dbInfo","level","res","instanceStartupIsolate","force","startupName","onion","onionsNormal","debounce","_runStartupInner","scope","redlock","lockIsolate","_runStartupLock","cacheKey","isNil","ctx","id","flag","cacheRedis","startupDebounce","getset","ttl","$logger","silly","process","pid","cast","_getBean","beanFullName","execute","transaction","runStartupInstance","appReadyInstances","getOnionsEnabledCached","redis","clearAllData","fse","remove","publicDir","getRuntimePathPhysicalRoot","__decorate","Service","__z_BeanInfo","module","CacheRedisStartupDebounce","ServiceCacheRedisBase","CacheRedis","disableInstance","disableTransactionCompensate","client","HmrStartup","reload","_beanOptions","worker","Hmr","MetaRedlock","BeanRedlockBase","Meta","_app","__ThisModule__","Monkey","BeanSimple","ScopeModuleAStartup","BeanScopeBase","Scope","Startup","createBeanDecorator"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/service/startup.ts","../src/bean/cacheRedis.startupDebounce.ts","../src/bean/hmr.startup.ts","../src/bean/meta.redlock.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/startup.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["ServiceStartup","BeanBase","appStart","app","meta","isDev","process","env","VONA_DB_RESET","config","server","listen","disable","_clearResources","startup","_startups","startupOptions","beanOptions","options","instance","after","force","name","run","runStartup","undefined","VONA_TEST_RUN_ID","defaultClient","database","TypeError","client","clients","withIsolatedTestDatabaseDiscovery","appReady","isTest","_appReadyInstanceStartup","key","instances","instanceName","configInstanceBase","wait","seedDefaultInstance","bean","executor","newCtx","$scope","version","service","__instanceSeed","dbInfo","level","res","instanceStartupIsolate","startupName","onion","onionsNormal","debounce","_runStartupInner","scope","redlock","lockIsolate","_runStartupLock","cacheKey","isNil","ctx","id","flag","cacheRedis","startupDebounce","getset","ttl","$logger","silly","pid","cast","_getBean","beanFullName","execute","transaction","runStartupInstance","appReadyInstances","getOnionsEnabledCached","assertIsolatedTestConfig","redis","clearAllData","fse","remove","publicDir","getRuntimePathPhysicalRoot","__decorate","Service","__z_BeanInfo","module","CacheRedisStartupDebounce","ServiceCacheRedisBase","CacheRedis","disableInstance","disableTransactionCompensate","HmrStartup","reload","_beanOptions","worker","Hmr","MetaRedlock","BeanRedlockBase","Meta","_app","__ThisModule__","Monkey","BeanSimple","ScopeModuleAStartup","BeanScopeBase","Scope","Startup","createBeanDecorator"],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { IInstanceStartupOptions, IStartupRecord } from '../types/startup.t
5
5
  export declare class ServiceStartup extends BeanBase {
6
6
  appStart(): Promise<void>;
7
7
  appReady(): Promise<void>;
8
+ private seedDefaultInstance;
8
9
  private _appReadyInstanceStartup;
9
10
  runStartup(startupName: string, instanceName?: keyof IInstanceRecord | null, options?: IInstanceStartupOptions): Promise<void>;
10
11
  _runStartupLock<T extends keyof IStartupRecord>(startup: IOnionSlice<IStartupRecord, T>, instanceName?: keyof IInstanceRecord | null, options?: IInstanceStartupOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../src/service/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAoC,MAAM,MAAM,CAAC;AAGlE,OAAO,KAAK,EAEV,uBAAuB,EAEvB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,qBACa,cAAe,SAAQ,QAAQ;IACpC,QAAQ;IAaR,QAAQ;YAuCA,wBAAwB;IAShC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAoB7B,eAAe,CAAC,CAAC,SAAS,MAAM,cAAc,EAClD,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAoB7B,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,EACnD,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAsB7B,kBAAkB,CAAC,YAAY,EAAE,MAAM,eAAe,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAmB/F,OAAO,KAAK,SAAS,GAEpB;YAEa,eAAe;CAS9B"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../src/service/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAEL,QAAQ,EAIT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAEV,uBAAuB,EAEvB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,qBACa,cAAe,SAAQ,QAAQ;IACpC,QAAQ;IAiCR,QAAQ;YA8BA,mBAAmB;YAUnB,wBAAwB;IAShC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAoB7B,eAAe,CAAC,CAAC,SAAS,MAAM,cAAc,EAClD,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAoB7B,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,EACnD,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB;IAsB7B,kBAAkB,CAAC,YAAY,EAAE,MAAM,eAAe,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAmB/F,OAAO,KAAK,SAAS,GAEpB;YAEa,eAAe;CAU9B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-startup",
3
- "version": "5.1.15",
4
- "gitHead": "cd41414765dfc186953f59e31d654ecb8ab2ed41",
3
+ "version": "5.1.18",
4
+ "gitHead": "bc3034e45e4f728199560c682b3432d47381ceb4",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Vona Module"
@@ -4,15 +4,15 @@ export * from '../service/startup.ts';
4
4
 
5
5
  import 'vona-module-a-bean';
6
6
  declare module 'vona-module-a-bean' {
7
-
7
+
8
8
  export interface IServiceRecord {
9
9
  'a-startup:startup': never;
10
10
  }
11
11
 
12
-
12
+
13
13
  }
14
14
  declare module 'vona-module-a-startup' {
15
-
15
+
16
16
  export interface ServiceStartup {
17
17
  /** @internal */
18
18
  get scope(): ScopeModuleAStartup;
@@ -21,8 +21,7 @@ declare module 'vona-module-a-startup' {
21
21
  export interface ServiceStartup {
22
22
  get $beanFullName(): 'a-startup.service.startup';
23
23
  get $onionName(): 'a-startup:startup';
24
-
25
- }
24
+ }
26
25
  }
27
26
  /** service: end */
28
27
  /** service: begin */
@@ -45,15 +44,15 @@ export * from '../bean/cacheRedis.startupDebounce.ts';
45
44
 
46
45
  import { type IDecoratorCacheRedisOptions } from 'vona-module-a-cache';
47
46
  declare module 'vona-module-a-cache' {
48
-
47
+
49
48
  export interface ICacheRedisRecord {
50
49
  'a-startup:startupDebounce': IDecoratorCacheRedisOptions;
51
50
  }
52
51
 
53
-
52
+
54
53
  }
55
54
  declare module 'vona-module-a-startup' {
56
-
55
+
57
56
  export interface CacheRedisStartupDebounce {
58
57
  /** @internal */
59
58
  get scope(): ScopeModuleAStartup;
@@ -63,7 +62,7 @@ declare module 'vona-module-a-startup' {
63
62
  get $beanFullName(): 'a-startup.cacheRedis.startupDebounce';
64
63
  get $onionName(): 'a-startup:startupDebounce';
65
64
  get $onionOptions(): IDecoratorCacheRedisOptions;
66
- }
65
+ }
67
66
  }
68
67
  /** cacheRedis: end */
69
68
  /** cacheRedis: begin */
@@ -77,15 +76,15 @@ export * from '../bean/hmr.startup.ts';
77
76
 
78
77
  import 'vona';
79
78
  declare module 'vona' {
80
-
79
+
81
80
  export interface IHmrRecord {
82
81
  'a-startup:startup': never;
83
82
  }
84
83
 
85
-
84
+
86
85
  }
87
86
  declare module 'vona-module-a-startup' {
88
-
87
+
89
88
  export interface HmrStartup {
90
89
  /** @internal */
91
90
  get scope(): ScopeModuleAStartup;
@@ -94,8 +93,7 @@ declare module 'vona-module-a-startup' {
94
93
  export interface HmrStartup {
95
94
  get $beanFullName(): 'a-startup.hmr.startup';
96
95
  get $onionName(): 'a-startup:startup';
97
-
98
- }
96
+ }
99
97
  }
100
98
  /** hmr: end */
101
99
  /** meta: begin */
@@ -103,15 +101,15 @@ export * from '../bean/meta.redlock.ts';
103
101
 
104
102
  import 'vona-module-a-meta';
105
103
  declare module 'vona-module-a-meta' {
106
-
104
+
107
105
  export interface IMetaRecord {
108
106
  'a-startup:redlock': never;
109
107
  }
110
108
 
111
-
109
+
112
110
  }
113
111
  declare module 'vona-module-a-startup' {
114
-
112
+
115
113
  export interface MetaRedlock {
116
114
  /** @internal */
117
115
  get scope(): ScopeModuleAStartup;
@@ -120,8 +118,7 @@ declare module 'vona-module-a-startup' {
120
118
  export interface MetaRedlock {
121
119
  get $beanFullName(): 'a-startup.meta.redlock';
122
120
  get $onionName(): 'a-startup:redlock';
123
-
124
- }
121
+ }
125
122
  }
126
123
  /** meta: end */
127
124
  /** meta redlock: begin */
@@ -158,13 +155,13 @@ declare module 'vona' {
158
155
  export interface IBeanScopeContainer {
159
156
  startup: ScopeModuleAStartup;
160
157
  }
161
-
158
+
162
159
  export interface IBeanScopeConfig {
163
160
  'a-startup': ReturnType<typeof config>;
164
161
  }
165
162
 
166
-
167
163
 
168
-
164
+
165
+
169
166
  }
170
167
  /** scope: end */
@@ -3,7 +3,13 @@ import type { IOnionSlice } from 'vona-module-a-onion';
3
3
 
4
4
  import { isNil } from '@cabloy/utils';
5
5
  import fse from 'fs-extra';
6
- import { BeanBase, cast, getRuntimePathPhysicalRoot } from 'vona';
6
+ import {
7
+ assertIsolatedTestConfig,
8
+ BeanBase,
9
+ cast,
10
+ getRuntimePathPhysicalRoot,
11
+ withIsolatedTestDatabaseDiscovery,
12
+ } from 'vona';
7
13
  import { Service } from 'vona-module-a-bean';
8
14
 
9
15
  import type {
@@ -16,6 +22,10 @@ import type {
16
22
  @Service()
17
23
  export class ServiceStartup extends BeanBase {
18
24
  async appStart() {
25
+ // db:reset is a one-shot data preparation command, not a development server.
26
+ if (this.app.meta.isDev && process.env.VONA_DB_RESET === 'true') {
27
+ this.app.config.server.listen.disable = true;
28
+ }
19
29
  // clear keys
20
30
  await this._clearResources();
21
31
 
@@ -23,7 +33,23 @@ export class ServiceStartup extends BeanBase {
23
33
  for (const startup of this._startups) {
24
34
  const startupOptions = startup.beanOptions.options;
25
35
  if (!startupOptions?.instance && startupOptions?.after !== true) {
26
- await this.runStartup(startup.name, null);
36
+ // A previous dev startup may have left databaseInit's debounce key in Redis.
37
+ // Only the explicit reset must bypass that key to guarantee recreation.
38
+ const force =
39
+ this.app.meta.isDev &&
40
+ process.env.VONA_DB_RESET === 'true' &&
41
+ startup.name === 'a-version:databaseInit';
42
+ const run = () => this.runStartup(startup.name, null, force ? { force: true } : undefined);
43
+ if (this.app.meta.env.VONA_TEST_RUN_ID && startup.name === 'a-version:databaseInit') {
44
+ const defaultClient = this.app.config.database.defaultClient;
45
+ if (typeof defaultClient !== 'string') {
46
+ throw new TypeError('Isolated test requires a static default database client');
47
+ }
48
+ const client = this.app.config.database.clients[defaultClient];
49
+ await withIsolatedTestDatabaseDiscovery(this.app, defaultClient, client, run);
50
+ } else {
51
+ await run();
52
+ }
27
53
  }
28
54
  }
29
55
  }
@@ -52,24 +78,25 @@ export class ServiceStartup extends BeanBase {
52
78
  }
53
79
  }
54
80
 
55
- // version seed
56
- if (this.app.meta.isTest) {
57
- const instanceName = '';
58
- await this.bean.executor.newCtx(
59
- async () => {
60
- await this.$scope.version.service.version.__instanceSeed(instanceName);
61
- },
62
- {
63
- dbInfo: { level: 1 },
64
- instanceName,
65
- },
66
- );
81
+ // Seed test runs and explicit development resets only, after instance initialization.
82
+ if (this.app.meta.isTest || (this.app.meta.isDev && process.env.VONA_DB_RESET === 'true')) {
83
+ await this.seedDefaultInstance();
67
84
  }
68
85
  }
69
86
 
87
+ private async seedDefaultInstance() {
88
+ const instanceName = '';
89
+ await this.bean.executor.newCtx(
90
+ async () => {
91
+ await this.$scope.version.service.version.__instanceSeed(instanceName);
92
+ },
93
+ { dbInfo: { level: 1 }, instanceName },
94
+ );
95
+ }
96
+
70
97
  private async _appReadyInstanceStartup(instanceName: keyof IInstanceRecord, wait: boolean) {
71
98
  const res = this.$scope.instance.service.instance.instanceStartupIsolate(instanceName, {
72
- force: false,
99
+ force: this.app.meta.isDev && process.env.VONA_DB_RESET === 'true',
73
100
  });
74
101
  if (wait) {
75
102
  await res;
@@ -172,6 +199,7 @@ export class ServiceStartup extends BeanBase {
172
199
 
173
200
  private async _clearResources() {
174
201
  if (!this.app.meta.isTest) return;
202
+ assertIsolatedTestConfig(this.app);
175
203
  // redis
176
204
  await this.$scope.redis.service.redis.clearAllData();
177
205
  // .app/public