@adaptivestone/framework 5.0.0-beta.23 → 5.0.0-beta.24

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.
package/CHANGELOG.md CHANGED
@@ -27,6 +27,7 @@ Main feature of that release is full TypeScript support insluding mongoose model
27
27
 
28
28
  ### Breaking changes (please read carefully)
29
29
 
30
+ - **[BREAKING]** No more global variables for testing and default user will not be created by default
30
31
  - **[BREAKING]** All models now should be extended from `BaseModel`. This is a potencial breaking change specially for `User` model.
31
32
  - **[BREAKING]** Remove jest support for testing.
32
33
  - **[BREAKING]** Move email module to separate package `@adaptivestone/framework-module-email`. Please use it if you want to send emails.
@@ -47,11 +48,16 @@ Main feature of that release is full TypeScript support insluding mongoose model
47
48
 
48
49
  ---
49
50
 
51
+ ## [5.0.0-beta.24]
52
+
53
+ - **[UPDATE]** Update types.
54
+
55
+ ---
56
+
50
57
  ## [5.0.0-beta.23]
51
58
 
52
59
  - **[BREAKING]** No more global variables for testing and default user will not be created by default
53
60
  - **[NEW]** Test helpers getTestServerURL, serverInstance, setDefaultUser, setDefaultAuthToken and createDefaultTestUser.
54
- - **[DEPRECATION]** global usage in testing is deprecated
55
61
 
56
62
  ---
57
63
 
@@ -24,13 +24,18 @@ ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
24
24
  ExtractProperty<T, 'modelVirtuals'>, // TVirtuals
25
25
  ExtractProperty<T, 'modelStatics'>, // TStaticMethods
26
26
  ExtractProperty<T, 'schemaOptions'>>;
27
+ export type VirtualType<T> = {
28
+ [P in keyof T]: T[P] extends {
29
+ get: () => infer R;
30
+ } ? R : any;
31
+ };
27
32
  export type GetModelTypeFromClass<T extends typeof BaseModel> = Model<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, // TRawDocType
28
33
  {}, // TQueryHelpers
29
34
  ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
30
35
  ExtractProperty<T, 'modelVirtuals'>, // TVirtuals
31
36
  HydratedDocument<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, //TRawDocType
32
37
  //TRawDocType
33
- ExtractProperty<T, 'modelVirtuals'> & ExtractProperty<T, 'modelInstanceMethods'>, // TVirtuals & TInstanceMethods
38
+ VirtualType<ExtractProperty<T, 'modelVirtuals'>> & ExtractProperty<T, 'modelInstanceMethods'>, // TVirtuals & TInstanceMethods
34
39
  {}, // TQueryHelpers
35
40
  ExtractProperty<T, 'modelVirtuals'>>, GetModelSchemaTypeFromClass<T>> & ExtractProperty<T, 'modelStatics'>;
36
41
  export type GetModelTypeLiteFromSchema<T extends typeof BaseModel.modelSchema, TOptions = {}> = Model<InferRawDocType<T & WithTimestamps<Merge<typeof defaultOptions, TOptions>>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAoF3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAW,CAAC;AAE7E,MAAM,OAAO,SAAS;IACpB,MAAM,KAAK,WAAW;QACpB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,iBAAiB;IACnB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,GAAG,cAAc;YACjB,GAAI,IAAI,CAAC,aAA+B;YACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAmC,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,IAAI,CAAC,IAAI,EACT,MAAM,CACqB,CAAC;QAE9B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAwF3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAW,CAAC;AAE7E,MAAM,OAAO,SAAS;IACpB,MAAM,KAAK,WAAW;QACpB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,iBAAiB;IACnB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,GAAG,cAAc;YACjB,GAAI,IAAI,CAAC,aAA+B;YACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAmC,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,IAAI,CAAC,IAAI,EACT,MAAM,CACqB,CAAC;QAE9B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -2,10 +2,10 @@ import type Server from '../server.ts';
2
2
  import type { GetModelTypeFromClass } from '../modules/BaseModel.ts';
3
3
  import type UserModel from '../models/User.ts';
4
4
  export declare let serverInstance: Server;
5
- export declare let defaultUser: GetModelTypeFromClass<typeof UserModel>;
5
+ export declare let defaultUser: InstanceType<GetModelTypeFromClass<typeof UserModel>>;
6
6
  export declare let defaultAuthToken: string;
7
7
  export declare const setServerInstance: (serverInstanceToSet: Server) => void;
8
- export declare const setDefaultUser: (userToSet: GetModelTypeFromClass<typeof UserModel>) => void;
8
+ export declare const setDefaultUser: (userToSet: InstanceType<GetModelTypeFromClass<typeof UserModel>>) => void;
9
9
  export declare const setDefaultAuthToken: (tokenToSet: string) => void;
10
10
  export declare const getTestServerURL: (urlPart?: string) => string;
11
11
  export declare const createDefaultTestUser: () => Promise<false | {
@@ -1 +1 @@
1
- {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../src/tests/testHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,MAAM,CAAC,IAAI,cAAuB,CAAC;AACnC,MAAM,CAAC,IAAI,WAAoD,CAAC;AAChE,MAAM,CAAC,IAAI,gBAAwB,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAA2B,EAAE,EAAE;IAC/D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,cAAc,GAAG,mBAAmB,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAkD,EAClD,EAAE;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,gBAAgB,GAAG,UAAU,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,OAAO,oBAAoB,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,IAAI,EAAE,kBAAkB;SACzB;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACtC,CAAC,CAAC"}
1
+ {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../src/tests/testHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,MAAM,CAAC,IAAI,cAAuB,CAAC;AACnC,MAAM,CAAC,IAAI,WAAkE,CAAC;AAC9E,MAAM,CAAC,IAAI,gBAAwB,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAA2B,EAAE,EAAE;IAC/D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,cAAc,GAAG,mBAAmB,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAgE,EAChE,EAAE;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,gBAAgB,GAAG,UAAU,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,OAAO,oBAAoB,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,IAAI,EAAE,kBAAkB;SACzB;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACtC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptivestone/framework",
3
- "version": "5.0.0-beta.23",
3
+ "version": "5.0.0-beta.24",
4
4
  "description": "Adaptive stone node js framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -53,7 +53,7 @@
53
53
  "@eslint/js": "^9.24.0",
54
54
  "@types/express": "^5.0.1",
55
55
  "@types/formidable": "^3.4.5",
56
- "@types/node": "^22.13.1",
56
+ "@types/node": "^24.0.0",
57
57
  "@vitest/coverage-v8": "^3.0.0",
58
58
  "@vitest/eslint-plugin": "^1.1.25",
59
59
  "eslint": "^9.24.0",