@biorate/migrations 1.165.12 → 2.0.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 (134) hide show
  1. package/dist/{index.js → cjs/index.js} +0 -1
  2. package/dist/cjs/package.json +3 -0
  3. package/dist/cjs/src/default.config.js +5 -0
  4. package/dist/{src → cjs/src}/errors.js +0 -1
  5. package/dist/cjs/src/event-emitter.js +7 -0
  6. package/dist/{src → cjs/src}/index.js +3 -5
  7. package/dist/cjs/src/interfaces.js +1 -0
  8. package/dist/cjs/src/require-cjs.js +5 -0
  9. package/dist/cjs/src/require-esm.js +5 -0
  10. package/dist/{src → cjs/src}/root.js +3 -4
  11. package/dist/{src → cjs/src}/types/amqp.js +2 -2
  12. package/dist/{src → cjs/src}/types/clickhouse.js +0 -1
  13. package/dist/{src → cjs/src}/types/index.js +0 -1
  14. package/dist/{src → cjs/src}/types/kafka.js +2 -2
  15. package/dist/{src → cjs/src}/types/migration.js +0 -1
  16. package/dist/{src → cjs/src}/types/minio.js +2 -2
  17. package/dist/{src → cjs/src}/types/mongodb.js +2 -2
  18. package/dist/{src → cjs/src}/types/schema-registry.js +2 -2
  19. package/dist/{src → cjs/src}/types/sequelize.js +0 -1
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/package.json +3 -0
  22. package/dist/esm/src/default.config.js +3 -0
  23. package/dist/esm/src/errors.js +8 -0
  24. package/dist/esm/src/event-emitter.js +3 -0
  25. package/dist/esm/src/index.js +8 -0
  26. package/dist/esm/src/interfaces.js +1 -0
  27. package/dist/esm/src/require-cjs.js +2 -0
  28. package/dist/esm/src/require-esm.js +2 -0
  29. package/dist/esm/src/root.js +136 -0
  30. package/dist/esm/src/types/amqp.js +31 -0
  31. package/dist/esm/src/types/clickhouse.js +61 -0
  32. package/dist/esm/src/types/index.js +7 -0
  33. package/dist/esm/src/types/kafka.js +27 -0
  34. package/dist/esm/src/types/migration.js +66 -0
  35. package/dist/esm/src/types/minio.js +35 -0
  36. package/dist/esm/src/types/mongodb.js +30 -0
  37. package/dist/esm/src/types/schema-registry.js +48 -0
  38. package/dist/esm/src/types/sequelize.js +38 -0
  39. package/dist/types/src/default.config.d.ts +1 -0
  40. package/dist/types/src/errors.d.ts +4 -0
  41. package/dist/types/src/event-emitter.d.ts +3 -0
  42. package/dist/types/src/index.d.ts +3 -0
  43. package/dist/types/src/require-cjs.d.ts +1 -0
  44. package/dist/types/src/require-esm.d.ts +1 -0
  45. package/dist/types/src/root.d.ts +27 -0
  46. package/dist/types/src/types/amqp.d.ts +6 -0
  47. package/dist/types/src/types/clickhouse.d.ts +6 -0
  48. package/dist/types/src/types/kafka.d.ts +6 -0
  49. package/dist/types/src/types/migration.d.ts +16 -0
  50. package/dist/types/src/types/minio.d.ts +6 -0
  51. package/dist/types/src/types/mongodb.d.ts +6 -0
  52. package/dist/types/src/types/schema-registry.d.ts +7 -0
  53. package/dist/types/src/types/sequelize.d.ts +6 -0
  54. package/package.json +48 -23
  55. package/.nyc_output/5dd7a2aa-147b-4304-84bf-effac0f982fd.json +0 -1
  56. package/.nyc_output/8ed41da4-40ec-49dc-8dbc-0ebaa3847e76.json +0 -1
  57. package/.nyc_output/f0726e72-3148-4051-b1f5-0768a33e5118.json +0 -1
  58. package/.nyc_output/processinfo/5dd7a2aa-147b-4304-84bf-effac0f982fd.json +0 -1
  59. package/.nyc_output/processinfo/8ed41da4-40ec-49dc-8dbc-0ebaa3847e76.json +0 -1
  60. package/.nyc_output/processinfo/f0726e72-3148-4051-b1f5-0768a33e5118.json +0 -1
  61. package/.nyc_output/processinfo/index.json +0 -1
  62. package/CHANGELOG.md +0 -1171
  63. package/coverage/base.css +0 -224
  64. package/coverage/block-navigation.js +0 -87
  65. package/coverage/clover.xml +0 -242
  66. package/coverage/coverage-final.json +0 -20
  67. package/coverage/favicon.png +0 -0
  68. package/coverage/index.html +0 -206
  69. package/coverage/prettify.css +0 -1
  70. package/coverage/prettify.js +0 -2
  71. package/coverage/sort-arrow-sprite.png +0 -0
  72. package/coverage/sorter.js +0 -210
  73. package/coverage/src/errors.ts.html +0 -112
  74. package/coverage/src/index.html +0 -131
  75. package/coverage/src/root.ts.html +0 -385
  76. package/coverage/src/types/amqp.ts.html +0 -223
  77. package/coverage/src/types/clickhouse.ts.html +0 -271
  78. package/coverage/src/types/index.html +0 -236
  79. package/coverage/src/types/index.ts.html +0 -106
  80. package/coverage/src/types/kafka.ts.html +0 -190
  81. package/coverage/src/types/migration.ts.html +0 -361
  82. package/coverage/src/types/minio.ts.html +0 -202
  83. package/coverage/src/types/mongodb.ts.html +0 -193
  84. package/coverage/src/types/schema-registry.ts.html +0 -250
  85. package/coverage/src/types/sequelize.ts.html +0 -229
  86. package/coverage/tests/__mocks__/index.html +0 -116
  87. package/coverage/tests/__mocks__/index.ts.html +0 -439
  88. package/coverage/tests/migrations/amqp/test/00001_create-test.js.html +0 -94
  89. package/coverage/tests/migrations/amqp/test/00002_delete-test.js.html +0 -94
  90. package/coverage/tests/migrations/amqp/test/index.html +0 -131
  91. package/coverage/tests/migrations/kafka/admin/00001_create-test.js.html +0 -109
  92. package/coverage/tests/migrations/kafka/admin/00002_delete-test.js.html +0 -100
  93. package/coverage/tests/migrations/kafka/admin/index.html +0 -131
  94. package/coverage/tests/migrations/minio/minio/00001_create-test.js.html +0 -91
  95. package/coverage/tests/migrations/minio/minio/00002_delete-test.js.html +0 -94
  96. package/coverage/tests/migrations/minio/minio/index.html +0 -131
  97. package/coverage/tests/migrations/mongodb/mongodb/00001_create-index-test.js.html +0 -91
  98. package/coverage/tests/migrations/mongodb/mongodb/index.html +0 -116
  99. package/dist/index.js.map +0 -1
  100. package/dist/src/default.config.js +0 -6
  101. package/dist/src/default.config.js.map +0 -1
  102. package/dist/src/errors.js.map +0 -1
  103. package/dist/src/index.js.map +0 -1
  104. package/dist/src/interfaces.js +0 -2
  105. package/dist/src/interfaces.js.map +0 -1
  106. package/dist/src/root.js.map +0 -1
  107. package/dist/src/types/amqp.js.map +0 -1
  108. package/dist/src/types/clickhouse.js.map +0 -1
  109. package/dist/src/types/index.js.map +0 -1
  110. package/dist/src/types/kafka.js.map +0 -1
  111. package/dist/src/types/migration.js.map +0 -1
  112. package/dist/src/types/minio.js.map +0 -1
  113. package/dist/src/types/mongodb.js.map +0 -1
  114. package/dist/src/types/schema-registry.js.map +0 -1
  115. package/dist/src/types/sequelize.js.map +0 -1
  116. package/dist/tsconfig.build.tsbuildinfo +0 -1
  117. package/index.d.ts +0 -26
  118. package/src/default.config.ts +0 -4
  119. package/src/errors.ts +0 -9
  120. package/src/index.ts +0 -10
  121. package/src/root.ts +0 -100
  122. package/src/types/amqp.ts +0 -46
  123. package/src/types/clickhouse.ts +0 -62
  124. package/src/types/kafka.ts +0 -35
  125. package/src/types/migration.ts +0 -92
  126. package/src/types/minio.ts +0 -39
  127. package/src/types/mongodb.ts +0 -36
  128. package/src/types/schema-registry.ts +0 -55
  129. package/src/types/sequelize.ts +0 -48
  130. package/tsconfig.build.json +0 -5
  131. package/tsconfig.json +0 -9
  132. /package/{index.ts → dist/types/index.d.ts} +0 -0
  133. /package/{src/interfaces.ts → dist/types/src/interfaces.d.ts} +0 -0
  134. /package/{src/types/index.ts → dist/types/src/types/index.d.ts} +0 -0
@@ -15,4 +15,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./src"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const inversion_1 = require("@biorate/inversion");
4
+ const root_1 = require("./root");
5
+ inversion_1.container.get(root_1.Root).$run().catch(console.error);
@@ -10,4 +10,3 @@ class SchemaRegistryWrongFileNameError extends errors_1.BaseError {
10
10
  }
11
11
  }
12
12
  exports.SchemaRegistryWrongFileNameError = SchemaRegistryWrongFileNameError;
13
- //# sourceMappingURL=errors.js.map
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmitterEmitter = void 0;
4
+ const events_1 = require("events");
5
+ class EmitterEmitter extends events_1.EventEmitter {
6
+ }
7
+ exports.EmitterEmitter = EmitterEmitter;
@@ -14,13 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ const require_1 = require("./require-cjs.js");
17
18
  __exportStar(require("./root"), exports);
18
19
  __exportStar(require("./types/migration"), exports);
19
20
  __exportStar(require("./types"), exports);
20
- require(process.env.MIGRATIONS_CONFIG
21
+ (0, require_1.requireCjs)(process.env.MIGRATIONS_CONFIG
21
22
  ? process.cwd() + process.env.MIGRATIONS_CONFIG
22
23
  : './default.config');
23
- require(process.env.MIGRATIONS_ROOT
24
- ? process.cwd() + process.env.MIGRATIONS_ROOT
25
- : './root');
26
- //# sourceMappingURL=index.js.map
24
+ (0, require_1.requireCjs)(process.env.MIGRATIONS_ROOT ? process.cwd() + process.env.MIGRATIONS_ROOT : './root');
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireCjs = void 0;
4
+ const node_module_1 = require("node:module");
5
+ exports.requireCjs = (0, node_module_1.createRequire)(__filename);
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireCjs = void 0;
4
+ const node_module_1 = require("node:module");
5
+ exports.requireCjs = (0, node_module_1.createRequire)(import.meta.filename);
@@ -33,13 +33,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.Root = void 0;
36
- const events_1 = require("events");
37
36
  const inversion_1 = require("@biorate/inversion");
38
37
  const config_1 = require("@biorate/config");
39
38
  const config_loader_1 = require("@biorate/config-loader");
40
39
  const vault_1 = require("@biorate/vault");
41
40
  const proxy_1 = require("@biorate/proxy");
42
- const Migrations = __importStar(require("./types"));
43
41
  const config_loader_env_1 = require("@biorate/config-loader-env");
44
42
  const config_loader_fs_1 = require("@biorate/config-loader-fs");
45
43
  const config_loader_vault_1 = require("@biorate/config-loader-vault");
@@ -50,7 +48,9 @@ const clickhouse_1 = require("@biorate/clickhouse");
50
48
  const amqp_1 = require("@biorate/amqp");
51
49
  const kafkajs_1 = require("@biorate/kafkajs");
52
50
  const schema_registry_1 = require("@biorate/schema-registry");
53
- let Root = class Root extends (0, inversion_1.Core)(events_1.EventEmitter) {
51
+ const event_emitter_1 = require("./event-emitter");
52
+ const Migrations = __importStar(require("./types"));
53
+ let Root = class Root extends (0, inversion_1.Core)(event_emitter_1.EmitterEmitter) {
54
54
  async initialize() {
55
55
  process.exit(0);
56
56
  }
@@ -160,4 +160,3 @@ inversion_1.container
160
160
  .toSelf()
161
161
  .inSingletonScope();
162
162
  inversion_1.container.bind(Root).to(Root).inSingletonScope();
163
- //# sourceMappingURL=root.js.map
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Amqp = void 0;
13
13
  const inversion_1 = require("@biorate/inversion");
14
+ const require_1 = require("../require-cjs.js");
14
15
  const migration_1 = require("./migration");
15
16
  class Amqp extends migration_1.Migration {
16
17
  async process() {
@@ -19,7 +20,7 @@ class Amqp extends migration_1.Migration {
19
20
  await channel.waitForConnect();
20
21
  await this.forEachPath(paths, async (file, name) => {
21
22
  try {
22
- await require(file)(channel, connection, config, this.config);
23
+ await (0, require_1.requireCjs)(file)(channel, connection, config, this.config);
23
24
  this.log(config.name, name);
24
25
  }
25
26
  catch (e) { }
@@ -32,4 +33,3 @@ __decorate([
32
33
  (0, inversion_1.inject)(inversion_1.Types.Amqp),
33
34
  __metadata("design:type", Object)
34
35
  ], Amqp.prototype, "connector", void 0);
35
- //# sourceMappingURL=amqp.js.map
@@ -63,4 +63,3 @@ __decorate([
63
63
  (0, inversion_1.inject)(inversion_1.Types.Clickhouse),
64
64
  __metadata("design:type", Object)
65
65
  ], Clickhouse.prototype, "connector", void 0);
66
- //# sourceMappingURL=clickhouse.js.map
@@ -21,4 +21,3 @@ __exportStar(require("./kafka"), exports);
21
21
  __exportStar(require("./clickhouse"), exports);
22
22
  __exportStar(require("./amqp"), exports);
23
23
  __exportStar(require("./schema-registry"), exports);
24
- //# sourceMappingURL=index.js.map
@@ -11,12 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Kafka = void 0;
13
13
  const inversion_1 = require("@biorate/inversion");
14
+ const require_1 = require("../require-cjs.js");
14
15
  const migration_1 = require("./migration");
15
16
  class Kafka extends migration_1.Migration {
16
17
  async process() {
17
18
  await this.forEach('KafkaJSAdmin', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
18
19
  try {
19
- await require(file)(connection, config, this.config);
20
+ await (0, require_1.requireCjs)(file)(connection, config, this.config);
20
21
  this.log(config.name, name);
21
22
  }
22
23
  catch (e) { }
@@ -28,4 +29,3 @@ __decorate([
28
29
  (0, inversion_1.inject)(inversion_1.Types.Kafka),
29
30
  __metadata("design:type", Object)
30
31
  ], Kafka.prototype, "connector", void 0);
31
- //# sourceMappingURL=kafka.js.map
@@ -67,4 +67,3 @@ __decorate([
67
67
  exports.Migration = Migration = __decorate([
68
68
  (0, inversion_1.injectable)()
69
69
  ], Migration);
70
- //# sourceMappingURL=migration.js.map
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Minio = void 0;
13
13
  const inversion_1 = require("@biorate/inversion");
14
+ const require_1 = require("../require-cjs.js");
14
15
  const migration_1 = require("./migration");
15
16
  class Minio extends migration_1.Migration {
16
17
  async process() {
@@ -24,7 +25,7 @@ class Minio extends migration_1.Migration {
24
25
  await connection.getObject(tableName, name);
25
26
  }
26
27
  catch (e) {
27
- await require(file)(connection, config, this.config);
28
+ await (0, require_1.requireCjs)(file)(connection, config, this.config);
28
29
  await connection.putObject(tableName, name, Buffer.from('1'));
29
30
  this.log(config.name, name);
30
31
  }
@@ -36,4 +37,3 @@ __decorate([
36
37
  (0, inversion_1.inject)(inversion_1.Types.Minio),
37
38
  __metadata("design:type", Object)
38
39
  ], Minio.prototype, "connector", void 0);
39
- //# sourceMappingURL=minio.js.map
@@ -11,12 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Mongodb = void 0;
13
13
  const inversion_1 = require("@biorate/inversion");
14
+ const require_1 = require("../require-cjs.js");
14
15
  const migration_1 = require("./migration");
15
16
  class Mongodb extends migration_1.Migration {
16
17
  async process() {
17
18
  await this.forEach('MongoDB', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
18
19
  try {
19
- await require(file)(connection, config, this.config);
20
+ await (0, require_1.requireCjs)(file)(connection, config, this.config);
20
21
  await connection
21
22
  .collection(this.config.get('migrations.tableName', 'migrations'))
22
23
  .insertOne({ _id: name });
@@ -31,4 +32,3 @@ __decorate([
31
32
  (0, inversion_1.inject)(inversion_1.Types.Mongodb),
32
33
  __metadata("design:type", Object)
33
34
  ], Mongodb.prototype, "connector", void 0);
34
- //# sourceMappingURL=mongodb.js.map
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SchemaRegistry = void 0;
13
13
  const lodash_1 = require("lodash");
14
14
  const inversion_1 = require("@biorate/inversion");
15
+ const require_1 = require("../require-cjs.js");
15
16
  const migration_1 = require("./migration");
16
17
  const errors_1 = require("../errors");
17
18
  class SchemaRegistry extends migration_1.Migration {
@@ -23,7 +24,7 @@ class SchemaRegistry extends migration_1.Migration {
23
24
  const name = fullName.split('_')?.[1]?.replace('.json', '');
24
25
  if (!name)
25
26
  throw new errors_1.SchemaRegistryWrongFileNameError(fullName);
26
- const schema = require(file);
27
+ const schema = (0, require_1.requireCjs)(file);
27
28
  await connection.putConfig({
28
29
  subject: name,
29
30
  compatibility: config.compatibility ?? 'FORWARD',
@@ -49,4 +50,3 @@ __decorate([
49
50
  (0, inversion_1.inject)(inversion_1.Types.SchemaRegistry),
50
51
  __metadata("design:type", Object)
51
52
  ], SchemaRegistry.prototype, "connector", void 0);
52
- //# sourceMappingURL=schema-registry.js.map
@@ -40,4 +40,3 @@ __decorate([
40
40
  (0, inversion_1.inject)(inversion_1.Types.Sequelize),
41
41
  __metadata("design:type", Object)
42
42
  ], Sequelize.prototype, "connector", void 0);
43
- //# sourceMappingURL=sequelize.js.map
@@ -0,0 +1 @@
1
+ export * from './src/index.js';
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,3 @@
1
+ import { container } from '@biorate/inversion';
2
+ import { Root } from './root.js';
3
+ container.get(Root).$run().catch(console.error);
@@ -0,0 +1,8 @@
1
+ import { BaseError } from '@biorate/errors';
2
+ export class SchemaRegistryWrongFileNameError extends BaseError {
3
+ constructor(name) {
4
+ super(`Schema registry wrong filename: [%s], pattern: "00001_filename.avsc.json"`, [
5
+ name,
6
+ ]);
7
+ }
8
+ }
@@ -0,0 +1,3 @@
1
+ import { EventEmitter as EventEmitterBase } from 'events';
2
+ export class EmitterEmitter extends EventEmitterBase {
3
+ }
@@ -0,0 +1,8 @@
1
+ import { requireCjs } from './require-esm.js';
2
+ export * from './root.js';
3
+ export * from './types/migration.js';
4
+ export * from './types/index.js';
5
+ requireCjs(process.env.MIGRATIONS_CONFIG
6
+ ? process.cwd() + process.env.MIGRATIONS_CONFIG
7
+ : './default.config');
8
+ requireCjs(process.env.MIGRATIONS_ROOT ? process.cwd() + process.env.MIGRATIONS_ROOT : './root');
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'node:module';
2
+ export const requireCjs = createRequire(`${process.platform === 'win32' ? '' : '/'}${/file:\/{2,3}(.+)/.exec(import.meta.url)[1]}`);
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'node:module';
2
+ export const requireCjs = createRequire(import.meta.filename);
@@ -0,0 +1,136 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { init, injectable, inject, Types, Core, container } from '@biorate/inversion';
11
+ import { Config } from '@biorate/config';
12
+ import { ConfigLoader } from '@biorate/config-loader';
13
+ import { VaultConnector } from '@biorate/vault';
14
+ import { ProxyConnector } from '@biorate/proxy';
15
+ import { ConfigLoaderEnv } from '@biorate/config-loader-env';
16
+ import { ConfigLoaderFs } from '@biorate/config-loader-fs';
17
+ import { ConfigLoaderVault } from '@biorate/config-loader-vault';
18
+ import { SequelizeConnector } from '@biorate/sequelize';
19
+ import { MinioConnector } from '@biorate/minio';
20
+ import { MongoDBConnector } from '@biorate/mongodb';
21
+ import { ClickhouseConnector } from '@biorate/clickhouse';
22
+ import { AmqpConnector } from '@biorate/amqp';
23
+ import { KafkaJSAdminConnector } from '@biorate/kafkajs';
24
+ import { SchemaRegistryConnector, } from '@biorate/schema-registry';
25
+ import { EmitterEmitter } from './event-emitter.js';
26
+ import * as Migrations from './types/index.js';
27
+ let Root = class Root extends Core(EmitterEmitter) {
28
+ async initialize() {
29
+ process.exit(0);
30
+ }
31
+ };
32
+ __decorate([
33
+ inject(Types.Config),
34
+ __metadata("design:type", Object)
35
+ ], Root.prototype, "config", void 0);
36
+ __decorate([
37
+ inject(Types.ConfigLoaderEnv),
38
+ __metadata("design:type", ConfigLoader)
39
+ ], Root.prototype, "configLoaderEnv", void 0);
40
+ __decorate([
41
+ inject(Types.ConfigLoaderFs),
42
+ __metadata("design:type", ConfigLoader)
43
+ ], Root.prototype, "configLoaderFs", void 0);
44
+ __decorate([
45
+ inject(Types.ConfigLoaderVault),
46
+ __metadata("design:type", ConfigLoader)
47
+ ], Root.prototype, "configLoaderVault", void 0);
48
+ __decorate([
49
+ inject(Types.Vault),
50
+ __metadata("design:type", Object)
51
+ ], Root.prototype, "vault", void 0);
52
+ __decorate([
53
+ inject(Types.Proxy),
54
+ __metadata("design:type", Object)
55
+ ], Root.prototype, "proxy", void 0);
56
+ __decorate([
57
+ inject(Migrations.Sequelize),
58
+ __metadata("design:type", Migrations.Sequelize)
59
+ ], Root.prototype, "sequelize", void 0);
60
+ __decorate([
61
+ inject(Migrations.Minio),
62
+ __metadata("design:type", Migrations.Minio)
63
+ ], Root.prototype, "minio", void 0);
64
+ __decorate([
65
+ inject(Migrations.Mongodb),
66
+ __metadata("design:type", Migrations.Mongodb)
67
+ ], Root.prototype, "mongodb", void 0);
68
+ __decorate([
69
+ inject(Migrations.Kafka),
70
+ __metadata("design:type", Migrations.Kafka)
71
+ ], Root.prototype, "kafkaJSAdmin", void 0);
72
+ __decorate([
73
+ inject(Migrations.Clickhouse),
74
+ __metadata("design:type", Migrations.Clickhouse)
75
+ ], Root.prototype, "clickhouse", void 0);
76
+ __decorate([
77
+ inject(Migrations.Amqp),
78
+ __metadata("design:type", Migrations.Amqp)
79
+ ], Root.prototype, "amqp", void 0);
80
+ __decorate([
81
+ inject(Migrations.SchemaRegistry),
82
+ __metadata("design:type", Migrations.SchemaRegistry)
83
+ ], Root.prototype, "schemaRegistry", void 0);
84
+ __decorate([
85
+ init(),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", []),
88
+ __metadata("design:returntype", Promise)
89
+ ], Root.prototype, "initialize", null);
90
+ Root = __decorate([
91
+ injectable()
92
+ ], Root);
93
+ export { Root };
94
+ Core.log = null;
95
+ container.bind(Types.Config).to(Config).inSingletonScope();
96
+ container
97
+ .bind(Types.ConfigLoaderEnv)
98
+ .to(ConfigLoaderEnv)
99
+ .inSingletonScope();
100
+ container.bind(Types.ConfigLoaderFs).to(ConfigLoaderFs).inSingletonScope();
101
+ container
102
+ .bind(Types.ConfigLoaderVault)
103
+ .to(ConfigLoaderVault)
104
+ .inSingletonScope();
105
+ container.bind(Types.Vault).to(VaultConnector).inSingletonScope();
106
+ container
107
+ .bind(Types.Sequelize)
108
+ .to(SequelizeConnector)
109
+ .inSingletonScope();
110
+ container.bind(Types.Minio).to(MinioConnector).inSingletonScope();
111
+ container.bind(Types.Mongodb).to(MongoDBConnector).inSingletonScope();
112
+ container
113
+ .bind(Types.Clickhouse)
114
+ .to(ClickhouseConnector)
115
+ .inSingletonScope();
116
+ container.bind(Types.Amqp).to(AmqpConnector).inSingletonScope();
117
+ container
118
+ .bind(Types.Kafka)
119
+ .to(KafkaJSAdminConnector)
120
+ .inSingletonScope();
121
+ container.bind(Types.Proxy).to(ProxyConnector).inSingletonScope();
122
+ container
123
+ .bind(Types.SchemaRegistry)
124
+ .to(SchemaRegistryConnector)
125
+ .inSingletonScope();
126
+ container.bind(Migrations.Sequelize).toSelf().inSingletonScope();
127
+ container.bind(Migrations.Minio).toSelf().inSingletonScope();
128
+ container.bind(Migrations.Mongodb).toSelf().inSingletonScope();
129
+ container.bind(Migrations.Kafka).toSelf().inSingletonScope();
130
+ container.bind(Migrations.Clickhouse).toSelf().inSingletonScope();
131
+ container.bind(Migrations.Amqp).toSelf().inSingletonScope();
132
+ container
133
+ .bind(Migrations.SchemaRegistry)
134
+ .toSelf()
135
+ .inSingletonScope();
136
+ container.bind(Root).to(Root).inSingletonScope();
@@ -0,0 +1,31 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { inject, Types } from '@biorate/inversion';
11
+ import { requireCjs } from '../require-esm.js';
12
+ import { Migration } from './migration.js';
13
+ export class Amqp extends Migration {
14
+ async process() {
15
+ await this.forEach('Amqp', async (config, connection, paths) => {
16
+ const channel = connection.createChannel(this.config.get(`migrations.Amqp.${config.name}.amqpChannelOptions`, {}));
17
+ await channel.waitForConnect();
18
+ await this.forEachPath(paths, async (file, name) => {
19
+ try {
20
+ await requireCjs(file)(channel, connection, config, this.config);
21
+ this.log(config.name, name);
22
+ }
23
+ catch (e) { }
24
+ });
25
+ });
26
+ }
27
+ }
28
+ __decorate([
29
+ inject(Types.Amqp),
30
+ __metadata("design:type", Object)
31
+ ], Amqp.prototype, "connector", void 0);
@@ -0,0 +1,61 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { promises as fs } from 'fs';
11
+ import { inject, Types } from '@biorate/inversion';
12
+ import { Migration } from './migration.js';
13
+ export class Clickhouse extends Migration {
14
+ async process() {
15
+ await this.forEach('Clickhouse', async (config, connection, paths) => {
16
+ const tableName = this.config.get('migrations.tableName', 'migrations');
17
+ const createQuery = `
18
+ CREATE TABLE IF NOT EXISTS {tableName:Identifier} (
19
+ name String
20
+ )
21
+ ENGINE = MergeTree()
22
+ PRIMARY KEY (name);
23
+ `;
24
+ await connection.command({
25
+ query: createQuery,
26
+ query_params: { tableName },
27
+ clickhouse_settings: {
28
+ wait_end_of_query: 1,
29
+ },
30
+ });
31
+ await this.forEachPath(paths, async (file, name) => {
32
+ const cursor = await connection.query({
33
+ query: `SELECT * FROM {tableName:Identifier} WHERE name = {name:String};`,
34
+ query_params: { name, tableName },
35
+ format: 'JSON',
36
+ });
37
+ const { data } = await cursor.json();
38
+ if (data.length)
39
+ return;
40
+ await connection.command({
41
+ query: await fs.readFile(file, 'utf8'),
42
+ clickhouse_settings: {
43
+ wait_end_of_query: 1,
44
+ },
45
+ });
46
+ await connection.command({
47
+ query: `INSERT INTO {tableName:Identifier} (name) VALUES ({name:String})`,
48
+ query_params: { name, tableName },
49
+ clickhouse_settings: {
50
+ wait_end_of_query: 1,
51
+ },
52
+ });
53
+ this.log(config.name, name);
54
+ });
55
+ });
56
+ }
57
+ }
58
+ __decorate([
59
+ inject(Types.Clickhouse),
60
+ __metadata("design:type", Object)
61
+ ], Clickhouse.prototype, "connector", void 0);
@@ -0,0 +1,7 @@
1
+ export * from './sequelize.js';
2
+ export * from './minio.js';
3
+ export * from './mongodb.js';
4
+ export * from './kafka.js';
5
+ export * from './clickhouse.js';
6
+ export * from './amqp.js';
7
+ export * from './schema-registry.js';
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { inject, Types } from '@biorate/inversion';
11
+ import { requireCjs } from '../require-esm.js';
12
+ import { Migration } from './migration.js';
13
+ export class Kafka extends Migration {
14
+ async process() {
15
+ await this.forEach('KafkaJSAdmin', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
16
+ try {
17
+ await requireCjs(file)(connection, config, this.config);
18
+ this.log(config.name, name);
19
+ }
20
+ catch (e) { }
21
+ }));
22
+ }
23
+ }
24
+ __decorate([
25
+ inject(Types.Kafka),
26
+ __metadata("design:type", Object)
27
+ ], Kafka.prototype, "connector", void 0);
@@ -0,0 +1,66 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { promises as fs } from 'fs';
11
+ import { path } from '@biorate/tools';
12
+ import { init, injectable, inject, Types } from '@biorate/inversion';
13
+ let Migration = class Migration {
14
+ get type() {
15
+ return this.constructor.name.toLowerCase();
16
+ }
17
+ async scan(...args) {
18
+ try {
19
+ return (await fs.readdir(this.path(...args))).map((item) => this.path(...args, item));
20
+ }
21
+ catch {
22
+ return [];
23
+ }
24
+ }
25
+ path(...args) {
26
+ return path.create(process.cwd(), this.config.get('migrations.directory', 'migrations'), this.type, ...args);
27
+ }
28
+ log(...args) {
29
+ console.info(this.type, ...args, 'up!');
30
+ }
31
+ async initialize() {
32
+ console.info(this.constructor.name);
33
+ await this.process();
34
+ }
35
+ async forEach(namespace, callback) {
36
+ for (const config of this.config.get(namespace, [])) {
37
+ const paths = await this.scan(config.name);
38
+ if (!paths.length)
39
+ continue;
40
+ const connection = this.connector.connection(config.name);
41
+ if (!connection) {
42
+ console.info(`${namespace} connection [%s] not exists, skip...`, config.name);
43
+ continue;
44
+ }
45
+ await callback(config, connection, paths);
46
+ }
47
+ }
48
+ async forEachPath(paths, callback) {
49
+ for (const p of paths)
50
+ await callback(p, path.basename(p));
51
+ }
52
+ };
53
+ __decorate([
54
+ inject(Types.Config),
55
+ __metadata("design:type", Object)
56
+ ], Migration.prototype, "config", void 0);
57
+ __decorate([
58
+ init(),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", []),
61
+ __metadata("design:returntype", Promise)
62
+ ], Migration.prototype, "initialize", null);
63
+ Migration = __decorate([
64
+ injectable()
65
+ ], Migration);
66
+ export { Migration };