@onroad/core 4.0.0-alpha.0 → 4.0.0-alpha.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.
Files changed (58) hide show
  1. package/README.md +444 -8
  2. package/dist/OnRoadExpress.d.ts.map +1 -1
  3. package/dist/OnRoadExpress.js +14 -5
  4. package/dist/OnRoadExpress.js.map +1 -1
  5. package/dist/container/Container.d.ts +1 -1
  6. package/dist/container/Container.d.ts.map +1 -1
  7. package/dist/container/Container.js +15 -6
  8. package/dist/container/Container.js.map +1 -1
  9. package/dist/core/AbstractService.d.ts +12 -0
  10. package/dist/core/AbstractService.d.ts.map +1 -1
  11. package/dist/core/AbstractService.js +14 -0
  12. package/dist/core/AbstractService.js.map +1 -1
  13. package/dist/core/index.d.ts +1 -1
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/database/ConnectionManager.d.ts +1 -0
  16. package/dist/database/ConnectionManager.d.ts.map +1 -1
  17. package/dist/database/ConnectionManager.js +2 -0
  18. package/dist/database/ConnectionManager.js.map +1 -1
  19. package/dist/database/SequelizeConnectionManager.d.ts +3 -0
  20. package/dist/database/SequelizeConnectionManager.d.ts.map +1 -1
  21. package/dist/database/SequelizeConnectionManager.js +13 -0
  22. package/dist/database/SequelizeConnectionManager.js.map +1 -1
  23. package/dist/database/index.d.ts +1 -0
  24. package/dist/database/index.d.ts.map +1 -1
  25. package/dist/database/index.js +1 -0
  26. package/dist/database/index.js.map +1 -1
  27. package/dist/database/migrations/MigrationRunner.d.ts +21 -0
  28. package/dist/database/migrations/MigrationRunner.d.ts.map +1 -0
  29. package/dist/database/migrations/MigrationRunner.js +54 -0
  30. package/dist/database/migrations/MigrationRunner.js.map +1 -0
  31. package/dist/database/migrations/index.d.ts +7 -0
  32. package/dist/database/migrations/index.d.ts.map +1 -0
  33. package/dist/database/migrations/index.js +2 -0
  34. package/dist/database/migrations/index.js.map +1 -0
  35. package/dist/dev/DevServer.d.ts +51 -0
  36. package/dist/dev/DevServer.d.ts.map +1 -0
  37. package/dist/dev/DevServer.js +404 -0
  38. package/dist/dev/DevServer.js.map +1 -0
  39. package/dist/dev/MigrationCLI.d.ts +19 -0
  40. package/dist/dev/MigrationCLI.d.ts.map +1 -0
  41. package/dist/dev/MigrationCLI.js +140 -0
  42. package/dist/dev/MigrationCLI.js.map +1 -0
  43. package/dist/dev/index.d.ts +5 -0
  44. package/dist/dev/index.d.ts.map +1 -0
  45. package/dist/dev/index.js +3 -0
  46. package/dist/dev/index.js.map +1 -0
  47. package/dist/entity/EntityRegistry.d.ts +25 -0
  48. package/dist/entity/EntityRegistry.d.ts.map +1 -1
  49. package/dist/entity/EntityRegistry.js +130 -4
  50. package/dist/entity/EntityRegistry.js.map +1 -1
  51. package/dist/entity/decorators.d.ts +1 -0
  52. package/dist/entity/decorators.d.ts.map +1 -1
  53. package/dist/entity/decorators.js.map +1 -1
  54. package/dist/index.d.ts +3 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -1
  58. package/package.json +53 -24
@@ -1,8 +1,43 @@
1
- import { getEntityColumns, getEntityFields, getEntityOptions, DataType } from "./decorators.js";
1
+ import { getEntityColumns, getEntityFields, getEntityOptions, getEntityAssociations, DataType } from "./decorators.js";
2
2
  export class EntityRegistry {
3
3
  static sequelizeModels = new Map();
4
4
  static mongooseModels = new Map();
5
+ static entityClasses = new Set();
6
+ static wiredConnections = new Set();
7
+ /** Register entity classes so associations can be wired later. */
8
+ static registerEntityClass(cls) {
9
+ this.entityClasses.add(cls);
10
+ }
11
+ /** Register multiple entity classes at once. */
12
+ static registerEntityClasses(classes) {
13
+ for (const cls of classes)
14
+ this.entityClasses.add(cls);
15
+ }
5
16
  static async getSequelizeModel(entityClass, connection) {
17
+ const options = getEntityOptions(entityClass);
18
+ if (!options) {
19
+ throw new Error(`[TypeRoad] Class "${entityClass.name}" is not decorated with @Entity`);
20
+ }
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ const seq = connection;
23
+ const connId = seq.config?.database ?? seq.options?.database ?? "default";
24
+ // On first access for this connection, initialize all models and wire associations
25
+ if (!this.wiredConnections.has(connId) && this.entityClasses.size > 0) {
26
+ await this.initializeAllSequelizeModels(connection);
27
+ this.wireSequelizeAssociations(connection);
28
+ this.wiredConnections.add(connId);
29
+ }
30
+ const cacheKey = `${entityClass.name}:${connId}`;
31
+ if (this.sequelizeModels.has(cacheKey)) {
32
+ return this.sequelizeModels.get(cacheKey);
33
+ }
34
+ // Fallback for entities not pre-registered
35
+ return this.defineSequelizeModel(entityClass, connection);
36
+ }
37
+ /**
38
+ * Create a single Sequelize model (columns only, no associations).
39
+ */
40
+ static async defineSequelizeModel(entityClass, connection) {
6
41
  const options = getEntityOptions(entityClass);
7
42
  if (!options) {
8
43
  throw new Error(`[TypeRoad] Class "${entityClass.name}" is not decorated with @Entity`);
@@ -26,7 +61,7 @@ export class EntityRegistry {
26
61
  const attributes = {};
27
62
  for (const [name, col] of columns) {
28
63
  attributes[name] = {
29
- type: mapSequelizeDataType(col.type, DataTypes, col.values),
64
+ type: mapSequelizeDataType(col.type, DataTypes, col.values, col.arrayType),
30
65
  primaryKey: col.primaryKey ?? false,
31
66
  autoIncrement: col.autoIncrement ?? false,
32
67
  allowNull: col.allowNull ?? true,
@@ -43,6 +78,93 @@ export class EntityRegistry {
43
78
  this.sequelizeModels.set(cacheKey, model);
44
79
  return model;
45
80
  }
81
+ /**
82
+ * Initialize ALL registered entity models on a given Sequelize connection.
83
+ * Must be called before wireSequelizeAssociations.
84
+ */
85
+ static async initializeAllSequelizeModels(connection) {
86
+ for (const entityClass of this.entityClasses) {
87
+ const options = getEntityOptions(entityClass);
88
+ if (!options || options.engine !== "sequelize")
89
+ continue;
90
+ await this.defineSequelizeModel(entityClass, connection);
91
+ }
92
+ }
93
+ /**
94
+ * Wire all Sequelize associations for a given connection based on
95
+ * @HasMany, @BelongsTo, @HasOne, @BelongsToMany decorator metadata.
96
+ * All models MUST already be defined before calling this method.
97
+ */
98
+ static wireSequelizeAssociations(connection) {
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ const seq = connection;
101
+ const connId = seq.config?.database ?? seq.options?.database ?? "default";
102
+ for (const entityClass of this.entityClasses) {
103
+ const options = getEntityOptions(entityClass);
104
+ if (!options || options.engine !== "sequelize")
105
+ continue;
106
+ const associations = getEntityAssociations(entityClass);
107
+ if (associations.size === 0)
108
+ continue;
109
+ const sourceKey = `${entityClass.name}:${connId}`;
110
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
+ const sourceModel = this.sequelizeModels.get(sourceKey);
112
+ if (!sourceModel)
113
+ continue;
114
+ for (const [propertyKey, assocMeta] of associations) {
115
+ const targetClass = assocMeta.target();
116
+ const targetKey = `${targetClass.name}:${connId}`;
117
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
+ const targetModel = this.sequelizeModels.get(targetKey);
119
+ if (!targetModel)
120
+ continue;
121
+ // Skip if this association was already wired (idempotent)
122
+ if (sourceModel.associations?.[propertyKey])
123
+ continue;
124
+ switch (assocMeta.type) {
125
+ case "hasMany":
126
+ sourceModel.hasMany(targetModel, { as: propertyKey, foreignKey: assocMeta.foreignKey });
127
+ break;
128
+ case "belongsTo":
129
+ sourceModel.belongsTo(targetModel, { as: propertyKey, foreignKey: assocMeta.foreignKey });
130
+ break;
131
+ case "hasOne":
132
+ sourceModel.hasOne(targetModel, { as: propertyKey, foreignKey: assocMeta.foreignKey });
133
+ break;
134
+ case "belongsToMany": {
135
+ // Resolve through model — use existing Sequelize model if available, otherwise string
136
+ const throughKey = this.findModelKeyByEntityName(assocMeta.through, connId);
137
+ const throughModel = throughKey ? this.sequelizeModels.get(throughKey) : assocMeta.through;
138
+ sourceModel.belongsToMany(targetModel, {
139
+ as: propertyKey,
140
+ foreignKey: assocMeta.foreignKey,
141
+ through: throughModel,
142
+ });
143
+ break;
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ /**
150
+ * Find a cached model key by entity name (the name passed to @Entity decorator).
151
+ */
152
+ static findModelKeyByEntityName(entityName, connId) {
153
+ // First try direct class-name match
154
+ const directKey = `${entityName}:${connId}`;
155
+ if (this.sequelizeModels.has(directKey))
156
+ return directKey;
157
+ // Then search by @Entity name in registered classes
158
+ for (const cls of this.entityClasses) {
159
+ const opts = getEntityOptions(cls);
160
+ if (opts && opts.name === entityName) {
161
+ const key = `${cls.name}:${connId}`;
162
+ if (this.sequelizeModels.has(key))
163
+ return key;
164
+ }
165
+ }
166
+ return undefined;
167
+ }
46
168
  static async getMongooseModel(entityClass, connection) {
47
169
  const options = getEntityOptions(entityClass);
48
170
  if (!options) {
@@ -86,13 +208,18 @@ export class EntityRegistry {
86
208
  static clearCache() {
87
209
  this.sequelizeModels.clear();
88
210
  this.mongooseModels.clear();
211
+ this.wiredConnections.clear();
89
212
  }
90
213
  }
91
214
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- function mapSequelizeDataType(dataType, DataTypes, enumValues) {
215
+ function mapSequelizeDataType(dataType, DataTypes, enumValues, arrayType) {
93
216
  if (dataType === DataType.ENUM) {
94
217
  return DataTypes.ENUM(...(enumValues ?? []));
95
218
  }
219
+ if (dataType === DataType.ARRAY) {
220
+ const elementType = arrayType ? mapSequelizeDataType(arrayType, DataTypes) : DataTypes.STRING;
221
+ return DataTypes.ARRAY(elementType);
222
+ }
96
223
  const map = {
97
224
  [DataType.STRING]: DataTypes.STRING,
98
225
  [DataType.TEXT]: DataTypes.TEXT,
@@ -107,7 +234,6 @@ function mapSequelizeDataType(dataType, DataTypes, enumValues) {
107
234
  [DataType.UUID]: DataTypes.UUID,
108
235
  [DataType.JSON]: DataTypes.JSON,
109
236
  [DataType.JSONB]: DataTypes.JSONB,
110
- [DataType.ARRAY]: DataTypes.ARRAY,
111
237
  };
112
238
  return map[dataType] ?? DataTypes.STRING;
113
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityRegistry.js","sourceRoot":"","sources":["../../src/entity/EntityRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityRegistry.js","sourceRoot":"","sources":["../../src/entity/EntityRegistry.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface ColumnOptions {
25
25
  unique?: boolean;
26
26
  field?: string;
27
27
  values?: string[];
28
+ arrayType?: DataType;
28
29
  }
29
30
  export interface FieldOptions {
30
31
  type: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/entity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAKzB,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,GAAG,UAAU,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAA;IAC1D,MAAM,EAAE,MAAM,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAUD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,cAAc,CAK3E;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAOhE;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAO9D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQpF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQtF;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQnF;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,iBAAiB,CASnB;AAiBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAE3E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAE/F"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/entity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAKzB,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,GAAG,UAAU,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAA;IAC1D,MAAM,EAAE,MAAM,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAUD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,cAAc,CAK3E;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAOhE;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAO9D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQpF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQtF;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQnF;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,iBAAiB,CASnB;AAiBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAE3E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAE/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/entity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,8CAA8C;AAE9C,MAAM,CAAN,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;AACjB,CAAC,EAhBW,QAAQ,KAAR,QAAQ,QAgBnB;AAsCD,gCAAgC;AAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AACxD,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AACtD,MAAM,mBAAmB,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAA;AAElE,qBAAqB;AAErB,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,OAAsB;IACzD,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7D,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IAC3E,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,OAAO,GACX,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;QACzC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IACrE,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;QACrE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAqB,EAAE,UAAkB;IAC/D,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5B,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,EAAE,SAAS;YACf,MAAM;YACN,UAAU;SACX,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,UAAkB;IACjE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5B,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,EAAE,WAAW;YACjB,MAAM;YACN,UAAU;SACX,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAqB,EAAE,UAAkB;IAC9D,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5B,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,UAAU;SACX,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5B,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,EAAE,eAAe;YACrB,MAAM;YACN,UAAU;YACV,OAAO;SACR,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,kBAAkB;AAElB,SAAS,cAAc,CACrB,WAAmB,EACnB,WAAmB,EACnB,WAAgC;IAEhC,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;IACpE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAC1C,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;AACxE,CAAC;AAED,0BAA0B;AAE1B,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/entity/decorators.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export type { OnRoadConfig, BuildServerConfig } from "./OnRoadExpress.js";
5
5
  export { OnRoadContainer, Injectable, Controller, Service, Repository, Scope, METADATA_KEY, } from "./container/index.js";
6
6
  export type { Constructor, ClassMetadata, RequestScope } from "./container/index.js";
7
7
  export { AbstractController, AbstractService, AbstractRepository, SequelizeRepository, MongooseRepository, Sentinel, RequestEventBus, } from "./core/index.js";
8
- export type { RouteConfig, ControllerConfig, ServiceConfig, AfterCommitPayload, AfterCommitHandler } from "./core/index.js";
8
+ export type { RouteConfig, ControllerConfig, ServiceConfig, ServiceResolver, AfterCommitPayload, AfterCommitHandler } from "./core/index.js";
9
9
  export { Entity, Column, Field, HasMany, BelongsTo, HasOne, BelongsToMany, DataType, EntityRegistry, } from "./entity/index.js";
10
10
  export type { ColumnOptions, FieldOptions, EntityOptions, AssociationMetadata } from "./entity/index.js";
11
11
  export { OnRoadFilter, FilterChain, Filter, isFilterInstance, getFilterConstructor, CorsFilter, JwtFilter, TenantFilter, RoleFilter, RequestContextFilter, } from "./filters/index.js";
@@ -24,4 +24,6 @@ export { PinoLogger } from "./logging/index.js";
24
24
  export type { OnRoadLogger, PinoLoggerConfig } from "./logging/index.js";
25
25
  export type { OnRoadPlugin } from "./plugins/index.js";
26
26
  export { StorageProvider } from "./storage/index.js";
27
+ export { DevServer, MigrationCLI } from "./dev/index.js";
28
+ export type { DevServerConfig, DevDatabaseConfig, MigrationCLIConfig } from "./dev/index.js";
27
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAA;AACzB,OAAO,4BAA4B,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGzE,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,EACL,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGpF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAG3H,OAAO,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGxG,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG7D,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC3G,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAG1E,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGxE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAA;AACzB,OAAO,4BAA4B,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGzE,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,EACL,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGpF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAG5I,OAAO,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGxG,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG7D,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC3G,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAG1E,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGxE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -28,4 +28,6 @@ export { MessagingProvider, RealtimeProvider, TaskSchedulerProvider, SocketProvi
28
28
  export { PinoLogger } from "./logging/index.js";
29
29
  // --- Storage ---
30
30
  export { StorageProvider } from "./storage/index.js";
31
+ // --- Dev Tools ---
32
+ export { DevServer, MigrationCLI } from "./dev/index.js";
31
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,kBAAkB;AAElB,OAAO,kBAAkB,CAAA;AACzB,OAAO,4BAA4B,CAAA;AAEnC,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,EACL,YAAY,GACb,MAAM,sBAAsB,CAAA;AAG7B,eAAe;AACf,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAA;AAG1B,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAW3B,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE7D,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAG3G,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAG7B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAG/E,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAQ7B,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM/C,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,kBAAkB;AAElB,OAAO,kBAAkB,CAAA;AACzB,OAAO,4BAA4B,CAAA;AAEnC,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,EACL,YAAY,GACb,MAAM,sBAAsB,CAAA;AAG7B,eAAe;AACf,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAA;AAG1B,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAW3B,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE7D,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAG3G,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAG7B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAG/E,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAQ7B,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM/C,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,oBAAoB;AACpB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onroad/core",
3
- "version": "4.0.0-alpha.0",
3
+ "version": "4.0.0-alpha.10",
4
4
  "description": "TypeScript backend framework — DI Container, Filter Chain, EventBus, Provider Pattern",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -57,6 +57,14 @@
57
57
  "./storage": {
58
58
  "import": "./dist/storage/index.js",
59
59
  "types": "./dist/storage/index.d.ts"
60
+ },
61
+ "./migrations": {
62
+ "import": "./dist/database/migrations/index.js",
63
+ "types": "./dist/database/migrations/index.d.ts"
64
+ },
65
+ "./dev": {
66
+ "import": "./dist/dev/index.js",
67
+ "types": "./dist/dev/index.d.ts"
60
68
  }
61
69
  },
62
70
  "files": [
@@ -92,43 +100,64 @@
92
100
  "express": "^4.21.0",
93
101
  "pino": "^9.6.0",
94
102
  "reflect-metadata": "^0.2.2",
103
+ "umzug": "^3.8.2",
95
104
  "uuid": "^11.1.0"
96
105
  },
97
106
  "peerDependencies": {
98
- "sequelize": "^6.37.0",
107
+ "@google-cloud/storage": "^7.0.0",
108
+ "@google-cloud/tasks": "^5.0.0",
109
+ "amqplib": "^0.10.0",
110
+ "axios": "^1.7.0",
111
+ "firebase-admin": "^13.0.0",
99
112
  "mongoose": "^8.4.0",
100
113
  "pg": "^8.13.0",
101
114
  "pg-hstore": "^2.3.4",
102
- "firebase-admin": "^13.0.0",
103
- "amqplib": "^0.10.0",
104
- "@google-cloud/tasks": "^5.0.0",
105
- "@google-cloud/storage": "^7.0.0",
106
- "axios": "^1.7.0",
115
+ "sequelize": "^6.37.0",
107
116
  "socket.io": "^4.8.0"
108
117
  },
109
118
  "peerDependenciesMeta": {
110
- "sequelize": { "optional": true },
111
- "mongoose": { "optional": true },
112
- "pg": { "optional": true },
113
- "pg-hstore": { "optional": true },
114
- "firebase-admin": { "optional": true },
115
- "amqplib": { "optional": true },
116
- "@google-cloud/tasks": { "optional": true },
117
- "@google-cloud/storage": { "optional": true },
118
- "axios": { "optional": true },
119
- "socket.io": { "optional": true }
119
+ "sequelize": {
120
+ "optional": true
121
+ },
122
+ "mongoose": {
123
+ "optional": true
124
+ },
125
+ "pg": {
126
+ "optional": true
127
+ },
128
+ "pg-hstore": {
129
+ "optional": true
130
+ },
131
+ "firebase-admin": {
132
+ "optional": true
133
+ },
134
+ "amqplib": {
135
+ "optional": true
136
+ },
137
+ "@google-cloud/tasks": {
138
+ "optional": true
139
+ },
140
+ "@google-cloud/storage": {
141
+ "optional": true
142
+ },
143
+ "axios": {
144
+ "optional": true
145
+ },
146
+ "socket.io": {
147
+ "optional": true
148
+ }
120
149
  },
121
150
  "devDependencies": {
122
- "typescript": "^5.7.0",
123
- "vitest": "^3.1.0",
124
- "@vitest/coverage-v8": "^3.1.0",
125
- "tsx": "^4.19.0",
151
+ "@types/amqplib": "^0.10.0",
126
152
  "@types/express": "^5.0.0",
127
153
  "@types/node": "^22.0.0",
128
154
  "@types/uuid": "^10.0.0",
129
- "@types/amqplib": "^0.10.0",
130
- "eslint": "^9.0.0",
131
155
  "@typescript-eslint/eslint-plugin": "^8.0.0",
132
- "@typescript-eslint/parser": "^8.0.0"
156
+ "@typescript-eslint/parser": "^8.0.0",
157
+ "@vitest/coverage-v8": "^3.1.0",
158
+ "eslint": "^9.0.0",
159
+ "tsx": "^4.19.0",
160
+ "typescript": "^5.7.0",
161
+ "vitest": "^3.1.0"
133
162
  }
134
163
  }