@contember/cli 1.4.0-alpha.4 → 1.4.0-beta.1

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 (95) hide show
  1. package/dist/src/commands/deploy/DeployCommand.js +2 -2
  2. package/dist/src/commands/deploy/DeployCommand.js.map +1 -1
  3. package/dist/src/commands/migrations/MigrationDiffCommand.js +2 -2
  4. package/dist/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  5. package/dist/src/commands/migrations/MigrationExecuteCommand.js +2 -2
  6. package/dist/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  7. package/dist/src/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
  8. package/dist/src/commands/migrations/MigrationStatusCommand.js +5 -4
  9. package/dist/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  10. package/dist/src/commands/migrations/SystemApiClientResolver.d.ts +1 -1
  11. package/dist/src/commands/migrations/SystemApiClientResolver.d.ts.map +1 -1
  12. package/dist/src/commands/migrations/SystemApiClientResolver.js +2 -2
  13. package/dist/src/commands/migrations/SystemApiClientResolver.js.map +1 -1
  14. package/dist/src/commands/project/ProjectPrintSchemaCommand.d.ts +1 -0
  15. package/dist/src/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
  16. package/dist/src/commands/project/ProjectPrintSchemaCommand.js +7 -1
  17. package/dist/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  18. package/dist/src/tsconfig.tsbuildinfo +1 -1
  19. package/dist/src/utils/migrations/MigrationCreateHelper.d.ts +1 -5
  20. package/dist/src/utils/migrations/MigrationCreateHelper.d.ts.map +1 -1
  21. package/dist/src/utils/migrations/MigrationCreateHelper.js.map +1 -1
  22. package/dist/src/utils/migrations/MigrationExecuteHelper.d.ts +6 -7
  23. package/dist/src/utils/migrations/MigrationExecuteHelper.d.ts.map +1 -1
  24. package/dist/src/utils/migrations/MigrationExecuteHelper.js +12 -52
  25. package/dist/src/utils/migrations/MigrationExecuteHelper.js.map +1 -1
  26. package/dist/src/utils/migrations/MigrationsContainer.d.ts +4 -4
  27. package/dist/src/utils/migrations/MigrationsContainer.d.ts.map +1 -1
  28. package/dist/src/utils/migrations/MigrationsContainer.js +23 -15
  29. package/dist/src/utils/migrations/MigrationsContainer.js.map +1 -1
  30. package/dist/src/utils/migrations/migrations.d.ts +2 -54
  31. package/dist/src/utils/migrations/migrations.d.ts.map +1 -1
  32. package/dist/src/utils/migrations/migrations.js +7 -88
  33. package/dist/src/utils/migrations/migrations.js.map +1 -1
  34. package/package.json +10 -10
  35. package/src/commands/deploy/DeployCommand.ts +1 -1
  36. package/src/commands/migrations/MigrationDiffCommand.ts +1 -1
  37. package/src/commands/migrations/MigrationExecuteCommand.ts +1 -1
  38. package/src/commands/migrations/MigrationStatusCommand.ts +3 -2
  39. package/src/commands/migrations/SystemApiClientResolver.ts +1 -1
  40. package/src/commands/project/ProjectPrintSchemaCommand.ts +9 -1
  41. package/src/tsconfig.json +1 -1
  42. package/src/utils/migrations/MigrationCreateHelper.ts +8 -5
  43. package/src/utils/migrations/MigrationExecuteHelper.ts +23 -61
  44. package/src/utils/migrations/MigrationsContainer.ts +20 -12
  45. package/src/utils/migrations/migrations.ts +3 -148
  46. package/dist/src/utils/migrations/JsLoader.d.ts +0 -9
  47. package/dist/src/utils/migrations/JsLoader.d.ts.map +0 -1
  48. package/dist/src/utils/migrations/JsLoader.js +0 -33
  49. package/dist/src/utils/migrations/JsLoader.js.map +0 -1
  50. package/dist/src/utils/migrations/JsonLoader.d.ts +0 -9
  51. package/dist/src/utils/migrations/JsonLoader.d.ts.map +0 -1
  52. package/dist/src/utils/migrations/JsonLoader.js +0 -17
  53. package/dist/src/utils/migrations/JsonLoader.js.map +0 -1
  54. package/dist/src/utils/migrations/MigrationCreator.d.ts +0 -21
  55. package/dist/src/utils/migrations/MigrationCreator.d.ts.map +0 -1
  56. package/dist/src/utils/migrations/MigrationCreator.js +0 -47
  57. package/dist/src/utils/migrations/MigrationCreator.js.map +0 -1
  58. package/dist/src/utils/migrations/MigrationFile.d.ts +0 -36
  59. package/dist/src/utils/migrations/MigrationFile.d.ts.map +0 -1
  60. package/dist/src/utils/migrations/MigrationFile.js +0 -6
  61. package/dist/src/utils/migrations/MigrationFile.js.map +0 -1
  62. package/dist/src/utils/migrations/MigrationFileLoader.d.ts +0 -5
  63. package/dist/src/utils/migrations/MigrationFileLoader.d.ts.map +0 -1
  64. package/dist/src/utils/migrations/MigrationFileLoader.js +0 -3
  65. package/dist/src/utils/migrations/MigrationFileLoader.js.map +0 -1
  66. package/dist/src/utils/migrations/MigrationFilesManager.d.ts +0 -18
  67. package/dist/src/utils/migrations/MigrationFilesManager.d.ts.map +0 -1
  68. package/dist/src/utils/migrations/MigrationFilesManager.js +0 -114
  69. package/dist/src/utils/migrations/MigrationFilesManager.js.map +0 -1
  70. package/dist/src/utils/migrations/MigrationParser.d.ts +0 -6
  71. package/dist/src/utils/migrations/MigrationParser.d.ts.map +0 -1
  72. package/dist/src/utils/migrations/MigrationParser.js +0 -33
  73. package/dist/src/utils/migrations/MigrationParser.js.map +0 -1
  74. package/dist/src/utils/migrations/MigrationsResolver.d.ts +0 -14
  75. package/dist/src/utils/migrations/MigrationsResolver.d.ts.map +0 -1
  76. package/dist/src/utils/migrations/MigrationsResolver.js +0 -37
  77. package/dist/src/utils/migrations/MigrationsResolver.js.map +0 -1
  78. package/dist/src/utils/migrations/SchemaVersionBuilder.d.ts +0 -13
  79. package/dist/src/utils/migrations/SchemaVersionBuilder.d.ts.map +0 -1
  80. package/dist/src/utils/migrations/SchemaVersionBuilder.js +0 -26
  81. package/dist/src/utils/migrations/SchemaVersionBuilder.js.map +0 -1
  82. package/dist/src/utils/system/index.d.ts +0 -30
  83. package/dist/src/utils/system/index.d.ts.map +0 -1
  84. package/dist/src/utils/system/index.js +0 -118
  85. package/dist/src/utils/system/index.js.map +0 -1
  86. package/src/utils/migrations/JsLoader.ts +0 -37
  87. package/src/utils/migrations/JsonLoader.ts +0 -18
  88. package/src/utils/migrations/MigrationCreator.ts +0 -60
  89. package/src/utils/migrations/MigrationFile.ts +0 -52
  90. package/src/utils/migrations/MigrationFileLoader.ts +0 -5
  91. package/src/utils/migrations/MigrationFilesManager.ts +0 -102
  92. package/src/utils/migrations/MigrationParser.ts +0 -32
  93. package/src/utils/migrations/MigrationsResolver.ts +0 -44
  94. package/src/utils/migrations/SchemaVersionBuilder.ts +0 -33
  95. package/src/utils/system/index.ts +0 -150
@@ -1,9 +1,5 @@
1
1
  import { Input, Project, Workspace } from '@contember/cli-common';
2
- import { MigrationDescriber, SchemaMigrator } from '@contember/schema-migrations';
3
- import { MigrationCreator } from './MigrationCreator';
4
- import { MigrationsResolver } from './MigrationsResolver';
5
- import { SchemaVersionBuilder } from './SchemaVersionBuilder';
6
- import { MigrationFilesManager } from './MigrationFilesManager';
2
+ import { MigrationCreator, MigrationDescriber, MigrationFilesManager, MigrationsResolver, SchemaMigrator, SchemaVersionBuilder } from '@contember/migrations-client';
7
3
  type Args = {
8
4
  project?: string;
9
5
  migrationName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationCreateHelper.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationCreateHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,KAAK,IAAI,GAAG;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,OAAO,GAAG,EAAE,CAAA;AAEjB,eAAO,MAAM,6BAA6B,UAClC,MAAM,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC;eACjB,SAAS;;eAExB,SAAS;aACX,OAAO;sBACE,gBAAgB;wBACd,kBAAkB;wBAClB,kBAAkB;0BAChB,oBAAoB;oBAC1B,cAAc;2BACP,qBAAqB;MACvC,QAAQ,MAAM,CAAC,oBA4BrB,CAAA"}
1
+ {"version":3,"file":"MigrationCreateHelper.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationCreateHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjE,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,MAAM,8BAA8B,CAAA;AAErC,KAAK,IAAI,GAAG;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,OAAO,GAAG,EAAE,CAAA;AAEjB,eAAO,MAAM,6BAA6B,UAClC,MAAM,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC;eACjB,SAAS;;eAExB,SAAS;aACX,OAAO;sBACE,gBAAgB;wBACd,kBAAkB;wBAClB,kBAAkB;0BAChB,oBAAoB;oBAC1B,cAAc;2BACP,qBAAqB;MACvC,QAAQ,MAAM,CAAC,oBA4BrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationCreateHelper.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationCreateHelper.ts"],"names":[],"mappings":";;;AACA,+DAAkE;AAc3D,MAAM,6BAA6B,GAAG,KAAK,EACjD,KAA4C,EAC5C,EAAE,SAAS,EAA0B,EACrC,uBASqB,EACpB,EAAE;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAA;IACvC,MAAM,QAAQ,GAAG,WAAW;QAC3B,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE;QACzC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,gDAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAA;QAEhF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC5C,OAAO;YACP,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,SAAS;SACT,CAAC,CAAA;QACF,OAAO,CAAC,QAAQ,EAAE,CAAA;QAClB,IAAI,MAAM,GAAG,CAAC,EAAE;YACf,OAAO,MAAM,CAAA;SACb;KACD;IACD,OAAO,CAAC,CAAA;AACT,CAAC,CAAA;AAxCY,QAAA,6BAA6B,iCAwCzC"}
1
+ {"version":3,"file":"MigrationCreateHelper.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationCreateHelper.ts"],"names":[],"mappings":";;;AACA,+DAAkE;AAiB3D,MAAM,6BAA6B,GAAG,KAAK,EACjD,KAA4C,EAC5C,EAAE,SAAS,EAA0B,EACrC,uBASqB,EACpB,EAAE;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAA;IACvC,MAAM,QAAQ,GAAG,WAAW;QAC3B,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE;QACzC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,gDAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAA;QAEhF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC5C,OAAO;YACP,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,SAAS;SACT,CAAC,CAAA;QACF,OAAO,CAAC,QAAQ,EAAE,CAAA;QAClB,IAAI,MAAM,GAAG,CAAC,EAAE;YACf,OAAO,MAAM,CAAA;SACb;KACD;IACD,OAAO,CAAC,CAAA;AACT,CAAC,CAAA;AAxCY,QAAA,6BAA6B,iCAwCzC"}
@@ -1,17 +1,16 @@
1
1
  import { CommandConfiguration } from '@contember/cli-common';
2
- import { SystemClient } from '../system';
3
- import { getMigrationsStatus, MigrationToExecuteOkStatus } from './migrations';
4
- import { MigrationDescriber } from '@contember/schema-migrations';
5
- import { MigrationsResolver } from './MigrationsResolver';
6
- import { SchemaVersionBuilder } from './SchemaVersionBuilder';
7
- import { ContentMigrationFactoryArgs } from './MigrationFile';
2
+ import { ContentMigrationFactoryArgs, MigrationDescriber, MigrationsResolver, MigrationToExecuteOkStatus, SchemaVersionBuilder, SystemClient } from '@contember/migrations-client';
8
3
  export type ExecuteMigrationOptions = {
9
4
  instance?: string;
10
5
  ['remote-project']?: string;
11
6
  yes?: true;
12
7
  };
13
8
  export declare const configureExecuteMigrationCommand: (configuration: CommandConfiguration<{}, ExecuteMigrationOptions>) => void;
14
- export declare const resolveMigrationStatus: (client: SystemClient, migrationsResolver: MigrationsResolver, force?: boolean) => Promise<ReturnType<typeof getMigrationsStatus>>;
9
+ export declare const resolveMigrationStatus: (client: SystemClient, migrationsResolver: MigrationsResolver, force?: boolean) => Promise<{
10
+ allMigrations: import("@contember/migrations-client").AnyMigrationStatus[];
11
+ errorMigrations: import("@contember/migrations-client").ErrorMigrationStatus[];
12
+ migrationsToExecute: MigrationToExecuteOkStatus[];
13
+ }>;
15
14
  export declare const executeMigrations: ({ client, migrations, requireConfirmation, schemaVersionBuilder, migrationDescriber, contentMigrationFactoryArgs, force, }: {
16
15
  client: SystemClient;
17
16
  migrations: MigrationToExecuteOkStatus[];
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationExecuteHelper.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationExecuteHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAA6B,MAAM,cAAc,CAAA;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAA+C,MAAM,iBAAiB,CAAA;AAG1G,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAA;IAC3B,GAAG,CAAC,EAAE,IAAI,CAAA;CACV,CAAA;AAED,eAAO,MAAM,gCAAgC,kBAAmB,qBAAqB,EAAE,EAAE,uBAAuB,CAAC,SAahH,CAAA;AAED,eAAO,MAAM,sBAAsB,WAC1B,YAAY,sBACA,kBAAkB,UAC/B,OAAO,KACZ,QAAQ,WAAW,0BAA0B,CAAC,CAIhD,CAAA;AAED,eAAO,MAAM,iBAAiB;YASrB,YAAY;gBACR,0BAA0B,EAAE;yBACnB,OAAO;0BACN,oBAAoB;wBACtB,kBAAkB;iCACT,2BAA2B;;MAErD,QAAQ,MAAM,CA+FjB,CAAA"}
1
+ {"version":3,"file":"MigrationExecuteHelper.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationExecuteHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EACN,2BAA2B,EAE3B,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,EAGZ,MAAM,8BAA8B,CAAA;AAIrC,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAA;IAC3B,GAAG,CAAC,EAAE,IAAI,CAAA;CACV,CAAA;AAED,eAAO,MAAM,gCAAgC,kBAAmB,qBAAqB,EAAE,EAAE,uBAAuB,CAAC,SAahH,CAAA;AAED,eAAO,MAAM,sBAAsB,WAC1B,YAAY,sBACA,kBAAkB,UAC/B,OAAO;;;;EAMd,CAAA;AAED,eAAO,MAAM,iBAAiB;YASrB,YAAY;gBACR,0BAA0B,EAAE;yBACnB,OAAO;0BACN,oBAAoB;wBACtB,kBAAkB;iCACT,2BAA2B;;MAErD,QAAQ,MAAM,CAmDjB,CAAA"}
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.executeMigrations = exports.resolveMigrationStatus = exports.configureExecuteMigrationCommand = void 0;
7
+ const migrations_client_1 = require("@contember/migrations-client");
7
8
  const migrations_1 = require("./migrations");
8
9
  const prompts_1 = __importDefault(require("prompts"));
9
- const MigrationFile_1 = require("./MigrationFile");
10
- const assertNever_1 = require("../assertNever");
11
10
  const configureExecuteMigrationCommand = (configuration) => {
12
11
  configuration //
13
12
  .option('instance')
@@ -24,9 +23,10 @@ const configureExecuteMigrationCommand = (configuration) => {
24
23
  };
25
24
  exports.configureExecuteMigrationCommand = configureExecuteMigrationCommand;
26
25
  const resolveMigrationStatus = async (client, migrationsResolver, force = false) => {
26
+ const migrationStatusResolver = new migrations_client_1.MigrationsStatusResolver();
27
27
  const executedMigrations = await client.listExecutedMigrations();
28
28
  const localMigrations = await migrationsResolver.getMigrationFiles();
29
- return (0, migrations_1.getMigrationsStatus)(executedMigrations, localMigrations, force);
29
+ return migrationStatusResolver.getMigrationsStatus(executedMigrations, localMigrations, force);
30
30
  };
31
31
  exports.resolveMigrationStatus = resolveMigrationStatus;
32
32
  const executeMigrations = async ({ client, migrations, requireConfirmation, schemaVersionBuilder, migrationDescriber, contentMigrationFactoryArgs, force, }) => {
@@ -54,7 +54,7 @@ const executeMigrations = async ({ client, migrations, requireConfirmation, sche
54
54
  const schema = await schemaVersionBuilder.buildSchemaUntil(migrations[0].version);
55
55
  for (const migration of migrations) {
56
56
  const migrationContent = await migration.localMigration.getContent();
57
- if (!(0, MigrationFile_1.isSchemaMigration)(migrationContent)) {
57
+ if (!(0, migrations_client_1.isSchemaMigration)(migrationContent)) {
58
58
  continue;
59
59
  }
60
60
  await (0, migrations_1.printMigrationDescription)(migrationDescriber, schema, migrationContent, {
@@ -70,54 +70,14 @@ const executeMigrations = async ({ client, migrations, requireConfirmation, sche
70
70
  }
71
71
  } while (true);
72
72
  }
73
- let migrationsToRun = [];
74
- const executeMigrations = async () => {
75
- if (migrationsToRun.length === 0) {
76
- return;
77
- }
78
- await client.migrate(migrationsToRun.map(it => {
79
- if (it.type === 'schema') {
80
- return {
81
- version: it.version,
82
- name: it.name,
83
- type: 'SCHEMA',
84
- schemaMigration: {
85
- formatVersion: it.formatVersion,
86
- modifications: it.modifications,
87
- skippedErrors: it.skippedErrors,
88
- },
89
- };
90
- }
91
- if (it.type === 'content') {
92
- return {
93
- version: it.version,
94
- name: it.name,
95
- type: 'CONTENT',
96
- contentMigration: it.queries,
97
- };
98
- }
99
- return (0, assertNever_1.assertNever)(it);
100
- }), force);
101
- migrationsToRun.forEach(it => {
102
- console.log(it.name);
103
- });
104
- migrationsToRun = [];
105
- };
106
- console.log('Executing...');
107
- for (const migration of migrations) {
108
- const migrationContent = await migration.localMigration.getContent();
109
- if (migrationContent.type === 'factory') {
110
- await executeMigrations();
111
- const result = await migrationContent.factory(contentMigrationFactoryArgs);
112
- migrationsToRun.push(result);
113
- await executeMigrations();
114
- }
115
- else {
116
- migrationsToRun.push(migrationContent);
117
- }
118
- }
119
- await executeMigrations();
120
- console.log('Migration executed');
73
+ const executor = new migrations_client_1.MigrationExecutor();
74
+ await executor.executeMigrations({
75
+ client,
76
+ migrations,
77
+ contentMigrationFactoryArgs,
78
+ log: message => console.log(message),
79
+ force,
80
+ });
121
81
  return 0;
122
82
  };
123
83
  exports.executeMigrations = executeMigrations;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationExecuteHelper.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationExecuteHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrationExecuteHelper.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationExecuteHelper.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { MigrationDescriber, SchemaDiffer, SchemaMigrator } from '@contember/schema-migrations';
2
- import { MigrationCreator } from './MigrationCreator';
3
- import { SchemaVersionBuilder } from './SchemaVersionBuilder';
4
- import { MigrationsResolver } from './MigrationsResolver';
5
- import { MigrationFilesManager } from './MigrationFilesManager';
2
+ import { MigrationCreator } from '@contember/migrations-client';
3
+ import { SchemaVersionBuilder } from '@contember/migrations-client';
4
+ import { MigrationsResolver } from '@contember/migrations-client';
5
+ import { MigrationFilesManager } from '@contember/migrations-client';
6
6
  export interface MigrationsContainer {
7
7
  migrationCreator: MigrationCreator;
8
8
  migrationDescriber: MigrationDescriber;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsContainer.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationsContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAA8B,YAAY,EAAE,cAAc,EAAkB,MAAM,8BAA8B,CAAA;AAC3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAK/D,MAAM,WAAW,mBAAmB;IACnC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,YAAY,EAAE,YAAY,CAAA;IAC1B,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,cAAc,EAAE,cAAc,CAAA;CAC9B;AAaD,qBAAa,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAEvC,MAAM,IAAI,mBAAmB;CAqCpC"}
1
+ {"version":3,"file":"MigrationsContainer.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationsContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAA8B,YAAY,EAAE,cAAc,EAAkB,MAAM,8BAA8B,CAAA;AAC3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAMpE,MAAM,WAAW,mBAAmB;IACnC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,YAAY,EAAE,YAAY,CAAA;IAC1B,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,cAAc,EAAE,cAAc,CAAA;CAC9B;AAaD,qBAAa,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAEvC,MAAM,IAAI,mBAAmB;CA4CpC"}
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MigrationsContainerFactory = void 0;
4
4
  const dic_1 = require("@contember/dic");
5
5
  const schema_migrations_1 = require("@contember/schema-migrations");
6
- const MigrationCreator_1 = require("./MigrationCreator");
7
- const SchemaVersionBuilder_1 = require("./SchemaVersionBuilder");
8
- const MigrationsResolver_1 = require("./MigrationsResolver");
9
- const MigrationFilesManager_1 = require("./MigrationFilesManager");
10
- const JsonLoader_1 = require("./JsonLoader");
11
- const MigrationParser_1 = require("./MigrationParser");
12
- const JsLoader_1 = require("./JsLoader");
6
+ const migrations_client_1 = require("@contember/migrations-client");
7
+ const migrations_client_2 = require("@contember/migrations-client");
8
+ const migrations_client_3 = require("@contember/migrations-client");
9
+ const migrations_client_4 = require("@contember/migrations-client");
10
+ const migrations_client_5 = require("@contember/migrations-client");
11
+ const migrations_client_6 = require("@contember/migrations-client");
12
+ const migrations_client_7 = require("@contember/migrations-client");
13
+ const esbuild_1 = require("../esbuild");
13
14
  const jsSample = `
14
15
  export const query = \`\`
15
16
  export const variables = {}
@@ -26,17 +27,24 @@ class MigrationsContainerFactory {
26
27
  }
27
28
  create() {
28
29
  return new dic_1.Builder({})
29
- .addService('migrationFilesManager', () => new MigrationFilesManager_1.MigrationFilesManager(this.directory, {
30
- json: new JsonLoader_1.JsonLoader(new MigrationParser_1.MigrationParser()),
31
- ts: new JsLoader_1.JsLoader(new MigrationParser_1.MigrationParser()),
32
- js: new JsLoader_1.JsLoader(new MigrationParser_1.MigrationParser()),
33
- }))
30
+ .addService('migrationFilesManager', () => {
31
+ const jsExecutor = async (file) => {
32
+ const code = await (0, esbuild_1.buildJs)(file);
33
+ const fn = new Function(`var module = {}; ((module) => { ${code} })(module); return module`);
34
+ return fn().exports;
35
+ };
36
+ return new migrations_client_4.MigrationFilesManager(this.directory, {
37
+ json: new migrations_client_5.JsonLoader(new migrations_client_6.MigrationParser()),
38
+ ts: new migrations_client_7.JsLoader(new migrations_client_6.MigrationParser(), jsExecutor),
39
+ js: new migrations_client_7.JsLoader(new migrations_client_6.MigrationParser(), jsExecutor),
40
+ });
41
+ })
34
42
  .addService('modificationHandlerFactory', () => new schema_migrations_1.ModificationHandlerFactory(schema_migrations_1.ModificationHandlerFactory.defaultFactoryMap))
35
43
  .addService('schemaMigrator', ({ modificationHandlerFactory }) => new schema_migrations_1.SchemaMigrator(modificationHandlerFactory))
36
- .addService('migrationsResolver', ({ migrationFilesManager }) => new MigrationsResolver_1.MigrationsResolver(migrationFilesManager))
37
- .addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) => new SchemaVersionBuilder_1.SchemaVersionBuilder(migrationsResolver, schemaMigrator))
44
+ .addService('migrationsResolver', ({ migrationFilesManager }) => new migrations_client_3.MigrationsResolver(migrationFilesManager))
45
+ .addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) => new migrations_client_2.SchemaVersionBuilder(migrationsResolver, schemaMigrator))
38
46
  .addService('schemaDiffer', ({ schemaMigrator }) => new schema_migrations_1.SchemaDiffer(schemaMigrator))
39
- .addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) => new MigrationCreator_1.MigrationCreator(migrationFilesManager, schemaDiffer, {
47
+ .addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) => new migrations_client_1.MigrationCreator(migrationFilesManager, schemaDiffer, {
40
48
  json: JSON.stringify({ formatVersion: schema_migrations_1.VERSION_LATEST, modifications: [] }, undefined, '\t') + '\n',
41
49
  ts: jsSample,
42
50
  js: jsSample,
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationsContainer.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationsContainer.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AACxC,oEAA2I;AAC3I,yDAAqD;AACrD,iEAA6D;AAC7D,6DAAyD;AACzD,mEAA+D;AAC/D,6CAAyC;AACzC,uDAAmD;AACnD,yCAAqC;AAYrC,MAAM,QAAQ,GAAG;;;;;;;;;CAShB,CAAA;AAED,MAAa,0BAA0B;IACtC,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAE3C,MAAM;QACZ,OAAO,IAAI,aAAO,CAAC,EAAE,CAAC;aACpB,UAAU,CAAC,uBAAuB,EAAE,GAAG,EAAE,CACzC,IAAI,6CAAqB,CAAC,IAAI,CAAC,SAAS,EAAE;YACzC,IAAI,EAAE,IAAI,uBAAU,CAAC,IAAI,iCAAe,EAAE,CAAC;YAC3C,EAAE,EAAE,IAAI,mBAAQ,CAAC,IAAI,iCAAe,EAAE,CAAC;YACvC,EAAE,EAAE,IAAI,mBAAQ,CAAC,IAAI,iCAAe,EAAE,CAAC;SACvC,CAAC,CAAC;aACH,UAAU,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAC9C,IAAI,8CAA0B,CAAC,8CAA0B,CAAC,iBAAiB,CAAC,CAAC;aAC7E,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAChE,IAAI,kCAAc,CAAC,0BAA0B,CAAC,CAAC;aAC/C,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAC/D,IAAI,uCAAkB,CAAC,qBAAqB,CAAC,CAAC;aAC9C,UAAU,CAAC,sBAAsB,EAAE,CAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,EAAE,EAAE,CAC9E,IAAI,2CAAoB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;aAC7D,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAClD,IAAI,gCAAY,CAAC,cAAc,CAAC,CAAC;aACjC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,EAAE,EAAE,CAC3E,IAAI,mCAAgB,CAAC,qBAAqB,EAAE,YAAY,EAAE;YACzD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,kCAAc,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI;YAClG,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;SACZ,CAAC,CAAC;aACH,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CACpE,IAAI,sCAAkB,CAAC,0BAA0B,CAAC,CAAC;aACnD,KAAK,EAAE;aACP,IAAI,CACJ,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,CAChB,CAAA;IACH,CAAC;CACD;AAxCD,gEAwCC"}
1
+ {"version":3,"file":"MigrationsContainer.js","sourceRoot":"","sources":["../../../../src/utils/migrations/MigrationsContainer.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AACxC,oEAA2I;AAC3I,oEAA+D;AAC/D,oEAAmE;AACnE,oEAAiE;AACjE,oEAAoE;AACpE,oEAAyD;AACzD,oEAA8D;AAC9D,oEAAuD;AACvD,wCAAoC;AAYpC,MAAM,QAAQ,GAAG;;;;;;;;;CAShB,CAAA;AAED,MAAa,0BAA0B;IACtC,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAE3C,MAAM;QACZ,OAAO,IAAI,aAAO,CAAC,EAAE,CAAC;aACpB,UAAU,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACzC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAO,EAAC,IAAI,CAAC,CAAA;gBAChC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,mCAAmC,IAAI,4BAA4B,CAAC,CAAA;gBAC5F,OAAO,EAAE,EAAE,CAAC,OAAO,CAAA;YACpB,CAAC,CAAA;YAED,OAAO,IAAI,yCAAqB,CAAC,IAAI,CAAC,SAAS,EAAE;gBAChD,IAAI,EAAE,IAAI,8BAAU,CAAC,IAAI,mCAAe,EAAE,CAAC;gBAC3C,EAAE,EAAE,IAAI,4BAAQ,CAAC,IAAI,mCAAe,EAAE,EAAE,UAAU,CAAC;gBACnD,EAAE,EAAE,IAAI,4BAAQ,CAAC,IAAI,mCAAe,EAAE,EAAE,UAAU,CAAC;aACnD,CAAC,CAAA;QACH,CAAC,CAAC;aACD,UAAU,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAC9C,IAAI,8CAA0B,CAAC,8CAA0B,CAAC,iBAAiB,CAAC,CAAC;aAC7E,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAChE,IAAI,kCAAc,CAAC,0BAA0B,CAAC,CAAC;aAC/C,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAC/D,IAAI,sCAAkB,CAAC,qBAAqB,CAAC,CAAC;aAC9C,UAAU,CAAC,sBAAsB,EAAE,CAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,EAAE,EAAE,CAC9E,IAAI,wCAAoB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;aAC7D,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAClD,IAAI,gCAAY,CAAC,cAAc,CAAC,CAAC;aACjC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,EAAE,EAAE,CAC3E,IAAI,oCAAgB,CAAC,qBAAqB,EAAE,YAAY,EAAE;YACzD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,kCAAc,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI;YAClG,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;SACZ,CAAC,CAAC;aACH,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CACpE,IAAI,sCAAkB,CAAC,0BAA0B,CAAC,CAAC;aACnD,KAAK,EAAE;aACP,IAAI,CACJ,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,CAChB,CAAA;IACH,CAAC;CACD;AA/CD,gEA+CC"}
@@ -1,61 +1,9 @@
1
- import { Migration, MigrationDescriber, MigrationInfo } from '@contember/schema-migrations';
1
+ import { Migration, MigrationDescriber } from '@contember/schema-migrations';
2
2
  import { Schema } from '@contember/schema';
3
- import { MigrationFile } from './MigrationFile';
3
+ import { AnyMigrationStatus } from '@contember/migrations-client';
4
4
  export declare const printMigrationDescription: (migrationsDescriber: MigrationDescriber, schema: Schema, migration: Migration, options: {
5
5
  sqlOnly?: boolean;
6
6
  noSql?: boolean;
7
7
  }) => void;
8
- export interface ExecutedMigrationInfo extends MigrationInfo {
9
- readonly executedAt: Date;
10
- readonly checksum: string;
11
- }
12
- export interface ExecutedMigration extends Migration {
13
- readonly executedAt: Date;
14
- readonly checksum: string;
15
- }
16
- export declare enum MigrationState {
17
- TO_EXECUTE_OK = "to_execute_ok",
18
- TO_EXECUTE_ERROR = "to_execute_error",
19
- EXECUTED_OK = "executed_ok",
20
- EXECUTED_ERROR = "executed_error",
21
- EXECUTED_MISSING = "executed_missing"
22
- }
23
- export interface MigrationStatusBase<S extends MigrationState> {
24
- state: S;
25
- version: string;
26
- name: string;
27
- }
28
- export interface MigrationToExecuteOkStatus extends MigrationStatusBase<MigrationState.TO_EXECUTE_OK> {
29
- localMigration: MigrationFile;
30
- }
31
- interface MigrationToExecuteInvalidStatus extends MigrationStatusBase<MigrationState.TO_EXECUTE_ERROR> {
32
- localMigration: MigrationFile;
33
- errorMessage: string;
34
- }
35
- interface MigrationExecutedOkStatus extends MigrationStatusBase<MigrationState.EXECUTED_OK> {
36
- executedMigration: ExecutedMigrationInfo;
37
- localMigration: MigrationFile;
38
- }
39
- interface MigrationExecutedMissingStatus extends MigrationStatusBase<MigrationState.EXECUTED_MISSING> {
40
- executedMigration: ExecutedMigrationInfo;
41
- errorMessage: string;
42
- }
43
- interface MigrationExecutedErrorStatus extends MigrationStatusBase<MigrationState.EXECUTED_ERROR> {
44
- executedMigration: ExecutedMigrationInfo;
45
- localMigration: MigrationFile;
46
- errorMessage: string;
47
- }
48
- export type ErrorMigrationStatus = MigrationToExecuteInvalidStatus | MigrationExecutedMissingStatus | MigrationExecutedErrorStatus;
49
- export type AnyMigrationStatus = ErrorMigrationStatus | MigrationToExecuteOkStatus | MigrationExecutedOkStatus;
50
- export declare const isErrorMigrationStatus: (migration: AnyMigrationStatus) => migration is ErrorMigrationStatus;
51
- export declare const sortMigrations: <M extends {
52
- version: string;
53
- }>(migrations: M[]) => M[];
54
- export declare const getMigrationsStatus: (executedMigrations: ExecutedMigrationInfo[], localMigrations: MigrationFile[], force?: boolean) => Promise<{
55
- allMigrations: AnyMigrationStatus[];
56
- errorMigrations: ErrorMigrationStatus[];
57
- migrationsToExecute: MigrationToExecuteOkStatus[];
58
- }>;
59
8
  export declare const createMigrationStatusTable: (migrations: AnyMigrationStatus[]) => string;
60
- export {};
61
9
  //# sourceMappingURL=migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEvH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1C,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAElE,eAAO,MAAM,yBAAyB,wBAChB,kBAAkB,UAC/B,MAAM,aACH,SAAS,WACX;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,SA8B/C,CAAA;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC3D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IACnD,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,oBAAY,cAAc;IACzB,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;CACrC;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,cAAc;IAC5D,KAAK,EAAE,CAAC,CAAA;IACR,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB,CAAC,cAAc,CAAC,aAAa,CAAC;IACpG,cAAc,EAAE,aAAa,CAAA;CAC7B;AAED,UAAU,+BAAgC,SAAQ,mBAAmB,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACrG,cAAc,EAAE,aAAa,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,yBAA0B,SAAQ,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC;IAC1F,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,cAAc,EAAE,aAAa,CAAA;CAC7B;AAED,UAAU,8BAA+B,SAAQ,mBAAmB,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACpG,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,4BAA6B,SAAQ,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC;IAChG,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,cAAc,EAAE,aAAa,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC7B,+BAA+B,GAC/B,8BAA8B,GAC9B,4BAA4B,CAAA;AAE/B,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,0BAA0B,GAAG,yBAAyB,CAAA;AAC9G,eAAO,MAAM,sBAAsB,cAAe,kBAAkB,sCAGlE,CAAA;AAEF,eAAO,MAAM,cAAc;aAAyB,MAAM;0BAEzD,CAAA;AAED,eAAO,MAAM,mBAAmB,uBACX,qBAAqB,EAAE,mBAC1B,aAAa,EAAE,UACzB,OAAO;mBAEC,kBAAkB,EAAE;qBAClB,oBAAoB,EAAE;yBAClB,0BAA0B,EAAE;EA0EjD,CAAA;AACD,eAAO,MAAM,0BAA0B,eAAgB,kBAAkB,EAAE,KAAG,MAkC7E,CAAA"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/utils/migrations/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,eAAO,MAAM,yBAAyB,wBAChB,kBAAkB,UAC/B,MAAM,aACH,SAAS,WACX;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,SA8B/C,CAAA;AAED,eAAO,MAAM,0BAA0B,eAAgB,kBAAkB,EAAE,KAAG,MAkC7E,CAAA"}
@@ -3,13 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createMigrationStatusTable = exports.getMigrationsStatus = exports.sortMigrations = exports.isErrorMigrationStatus = exports.MigrationState = exports.printMigrationDescription = void 0;
7
- const schema_migrations_1 = require("@contember/schema-migrations");
6
+ exports.createMigrationStatusTable = exports.printMigrationDescription = void 0;
8
7
  const chalk_1 = __importDefault(require("chalk"));
9
8
  const chalk_table_1 = __importDefault(require("chalk-table"));
10
9
  const assertNever_1 = require("../assertNever");
11
10
  const database_1 = require("@contember/database");
12
- const MigrationFile_1 = require("./MigrationFile");
11
+ const migrations_client_1 = require("@contember/migrations-client");
13
12
  const printMigrationDescription = function (migrationsDescriber, schema, migration, options) {
14
13
  const description = migrationsDescriber.describeModifications(schema, migration);
15
14
  description.forEach(({ modification, getSql, description }) => {
@@ -42,112 +41,32 @@ const printMigrationDescription = function (migrationsDescriber, schema, migrati
42
41
  });
43
42
  };
44
43
  exports.printMigrationDescription = printMigrationDescription;
45
- var MigrationState;
46
- (function (MigrationState) {
47
- MigrationState["TO_EXECUTE_OK"] = "to_execute_ok";
48
- MigrationState["TO_EXECUTE_ERROR"] = "to_execute_error";
49
- MigrationState["EXECUTED_OK"] = "executed_ok";
50
- MigrationState["EXECUTED_ERROR"] = "executed_error";
51
- MigrationState["EXECUTED_MISSING"] = "executed_missing";
52
- })(MigrationState || (exports.MigrationState = MigrationState = {}));
53
- const isErrorMigrationStatus = (migration) => [MigrationState.EXECUTED_ERROR, MigrationState.EXECUTED_MISSING, MigrationState.TO_EXECUTE_ERROR].includes(migration.state);
54
- exports.isErrorMigrationStatus = isErrorMigrationStatus;
55
- const sortMigrations = (migrations) => {
56
- return [...migrations].sort((a, b) => a.version.localeCompare(b.version));
57
- };
58
- exports.sortMigrations = sortMigrations;
59
- const getMigrationsStatus = async (executedMigrations, localMigrations, force = false) => {
60
- const sortedExecuted = (0, exports.sortMigrations)(executedMigrations);
61
- const allMigrations = [];
62
- for (const executed of sortedExecuted) {
63
- const localMigration = localMigrations.find(it => it.version === executed.version);
64
- if (!localMigration) {
65
- allMigrations.push({
66
- state: MigrationState.EXECUTED_MISSING,
67
- executedMigration: executed,
68
- version: executed.version,
69
- name: executed.name,
70
- errorMessage: `Migration ${executed.name} is missing locally`,
71
- });
72
- continue;
73
- }
74
- const migrationContent = await localMigration.getContent();
75
- const localChecksum = !(0, MigrationFile_1.isSchemaMigration)(migrationContent) ? null : (0, schema_migrations_1.calculateMigrationChecksum)(migrationContent);
76
- if (localChecksum !== executed.checksum) {
77
- allMigrations.push({
78
- state: MigrationState.EXECUTED_ERROR,
79
- executedMigration: executed,
80
- version: executed.version,
81
- name: executed.name,
82
- localMigration,
83
- errorMessage: `Checksum of executed migration "${executed.checksum}" does not match "${localChecksum}"`,
84
- });
85
- continue;
86
- }
87
- allMigrations.push({
88
- state: MigrationState.EXECUTED_OK,
89
- executedMigration: executed,
90
- version: executed.version,
91
- name: executed.name,
92
- localMigration,
93
- });
94
- }
95
- const latestExecuted = sortedExecuted.length > 0 ? sortedExecuted[sortedExecuted.length - 1] : null;
96
- for (const localMigration of localMigrations) {
97
- if (allMigrations.find(it => it.version === localMigration.version)) {
98
- continue;
99
- }
100
- if (latestExecuted && latestExecuted.version > localMigration.version) {
101
- allMigrations.push({
102
- state: MigrationState.TO_EXECUTE_ERROR,
103
- localMigration,
104
- version: localMigration.version,
105
- name: localMigration.name,
106
- errorMessage: `Must follow latest executed migration ${latestExecuted.name}`,
107
- });
108
- continue;
109
- }
110
- allMigrations.push({
111
- state: MigrationState.TO_EXECUTE_OK,
112
- localMigration,
113
- version: localMigration.version,
114
- name: localMigration.name,
115
- });
116
- }
117
- const allMigrationsSorted = (0, exports.sortMigrations)(allMigrations);
118
- return {
119
- allMigrations: allMigrationsSorted,
120
- errorMigrations: allMigrationsSorted.filter(exports.isErrorMigrationStatus),
121
- migrationsToExecute: allMigrationsSorted.filter((it) => it.state === MigrationState.TO_EXECUTE_OK || (force && it.state === MigrationState.TO_EXECUTE_ERROR)),
122
- };
123
- };
124
- exports.getMigrationsStatus = getMigrationsStatus;
125
44
  const createMigrationStatusTable = (migrations) => {
126
45
  return (0, chalk_table_1.default)({
127
46
  columns: ['status', 'migration', 'info'],
128
47
  }, migrations.map(it => {
129
48
  switch (it.state) {
130
- case MigrationState.EXECUTED_ERROR:
49
+ case migrations_client_1.MigrationState.EXECUTED_ERROR:
131
50
  return { status: chalk_1.default.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage };
132
- case MigrationState.EXECUTED_OK:
51
+ case migrations_client_1.MigrationState.EXECUTED_OK:
133
52
  return {
134
53
  status: chalk_1.default.bgGreen.blackBright('Executed'),
135
54
  migration: it.name,
136
55
  info: `Executed at ${it.executedMigration.executedAt.toISOString()}`,
137
56
  };
138
- case MigrationState.EXECUTED_MISSING:
57
+ case migrations_client_1.MigrationState.EXECUTED_MISSING:
139
58
  return {
140
59
  status: chalk_1.default.bgRedBright.white('ERROR'),
141
60
  migration: it.name,
142
61
  info: it.errorMessage,
143
62
  };
144
- case MigrationState.TO_EXECUTE_OK:
63
+ case migrations_client_1.MigrationState.TO_EXECUTE_OK:
145
64
  return {
146
65
  status: chalk_1.default.bgBlueBright.white('Not executed'),
147
66
  migration: it.name,
148
67
  info: 'Will be executed during next deploy',
149
68
  };
150
- case MigrationState.TO_EXECUTE_ERROR:
69
+ case migrations_client_1.MigrationState.TO_EXECUTE_ERROR:
151
70
  return { status: chalk_1.default.bgRedBright.white('ERROR'), migration: it.name, info: it.errorMessage };
152
71
  default:
153
72
  (0, assertNever_1.assertNever)(it);
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/utils/migrations/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/utils/migrations/migrations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/cli",
3
- "version": "1.4.0-alpha.4",
3
+ "version": "1.4.0-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "bin": {
6
6
  "contember": "./dist/src/run.js"
@@ -20,15 +20,15 @@
20
20
  "tailwindcss": "^3.3.5"
21
21
  },
22
22
  "dependencies": {
23
- "@contember/cli-common": "1.4.0-alpha.4",
24
- "@contember/config-loader": "1.4.0-alpha.4",
25
- "@contember/database": "1.4.0-alpha.4",
26
- "@contember/dic": "1.4.0-alpha.4",
27
- "@contember/engine-common": "1.4.0-alpha.4",
28
- "@contember/engine-content-api": "1.4.0-alpha.4",
29
- "@contember/schema": "1.4.0-alpha.4",
30
- "@contember/schema-migrations": "1.4.0-alpha.4",
31
- "@contember/schema-utils": "1.4.0-alpha.4",
23
+ "@contember/cli-common": "1.4.0-beta.1",
24
+ "@contember/config-loader": "1.4.0-beta.1",
25
+ "@contember/database": "1.4.0-beta.1",
26
+ "@contember/dic": "1.4.0-beta.1",
27
+ "@contember/engine-content-api": "1.4.0-beta.1",
28
+ "@contember/migrations-client": "1.4.0-beta.1",
29
+ "@contember/schema": "1.4.0-beta.1",
30
+ "@contember/schema-migrations": "1.4.0-beta.1",
31
+ "@contember/schema-utils": "1.4.0-beta.1",
32
32
  "@graphql-tools/schema": "^10.0.0",
33
33
  "chalk": "^4.1.2",
34
34
  "chalk-table": "^1.0.2",
@@ -7,7 +7,7 @@ import {
7
7
  } from '../../utils/migrations/MigrationExecuteHelper'
8
8
  import { interactiveResolveApiToken, TenantClient } from '../../utils/tenant'
9
9
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
10
- import { createSystemUrl, SystemClient } from '../../utils/system'
10
+ import { SystemClient } from '@contember/migrations-client'
11
11
  import { MigrationsContainerFactory } from '../../utils/migrations/MigrationsContainer'
12
12
  import { AdminClient, readAdminFiles } from '../../utils/admin'
13
13
  import prompts from 'prompts'
@@ -7,7 +7,7 @@ import { executeMigrations, resolveMigrationStatus } from '../../utils/migration
7
7
  import prompts from 'prompts'
8
8
  import { interactiveResolveApiToken, TenantClient } from '../../utils/tenant'
9
9
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
10
- import { SystemClient } from '../../utils/system'
10
+ import { SystemClient } from '@contember/migrations-client'
11
11
  import { loadSchema } from '../../utils/project/loadSchema'
12
12
 
13
13
  type Args = {
@@ -9,7 +9,7 @@ import {
9
9
  import { createMigrationStatusTable } from '../../utils/migrations/migrations'
10
10
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
11
11
  import { interactiveResolveApiToken, TenantClient } from '../../utils/tenant'
12
- import { SystemClient } from '../../utils/system'
12
+ import { SystemClient } from '@contember/migrations-client'
13
13
  import { MigrationVersionHelper } from '@contember/schema-migrations'
14
14
 
15
15
  type Args = {
@@ -2,8 +2,9 @@ import { Command, CommandConfiguration, Input, Workspace } from '@contember/cli-
2
2
  import { MigrationsContainerFactory } from '../../utils/migrations/MigrationsContainer'
3
3
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
4
4
  import { interactiveResolveApiToken } from '../../utils/tenant'
5
- import { SystemClient } from '../../utils/system'
6
- import { createMigrationStatusTable, MigrationState, sortMigrations } from '../../utils/migrations/migrations'
5
+ import { SystemClient } from '@contember/migrations-client'
6
+ import { MigrationState, sortMigrations } from '@contember/migrations-client'
7
+ import { createMigrationStatusTable } from '../../utils/migrations/migrations'
7
8
  import chalk from 'chalk'
8
9
  import { resolveMigrationStatus } from '../../utils/migrations/MigrationExecuteHelper'
9
10
 
@@ -1,6 +1,6 @@
1
1
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
2
2
  import { interactiveResolveApiToken } from '../../utils/tenant'
3
- import { SystemClient } from '../../utils/system'
3
+ import { SystemClient } from '@contember/migrations-client'
4
4
  import { Workspace, Project } from '@contember/cli-common'
5
5
  import { Input } from '@contember/cli-common'
6
6
 
@@ -13,6 +13,7 @@ import { DocumentNode, GraphQLSchema, printSchema } from 'graphql'
13
13
  import { mergeSchemas } from '@graphql-tools/schema'
14
14
  import { loadSchema } from '../../utils/project/loadSchema'
15
15
  import { normalizeSchema } from '@contember/schema-utils'
16
+ import { MigrationsContainerFactory } from '../../utils/migrations/MigrationsContainer'
16
17
 
17
18
  type Args = {
18
19
  project?: string
@@ -22,6 +23,7 @@ type Options = {
22
23
  role?: string[]
23
24
  normalize?: boolean
24
25
  format?: 'graphql' | 'introspection' | 'schema'
26
+ source?: 'migrations' | 'definition'
25
27
  }
26
28
 
27
29
  export class ProjectPrintSchemaCommand extends Command<Args, Options> {
@@ -37,6 +39,7 @@ export class ProjectPrintSchemaCommand extends Command<Args, Options> {
37
39
  configuration.argument('project')
38
40
  }
39
41
  configuration.option('format').valueRequired().description('graphql|introspection|schema')
42
+ configuration.option('source').valueRequired().description('migrations|definition')
40
43
  configuration.option('role').valueArray()
41
44
  configuration.option('normalize').valueNone()
42
45
  }
@@ -47,7 +50,12 @@ export class ProjectPrintSchemaCommand extends Command<Args, Options> {
47
50
  const format = input.getOption('format') || 'graphql'
48
51
 
49
52
  const project = await workspace.projects.getProject(projectName, { fuzzy: true })
50
- const schema = await loadSchema(project)
53
+ const migrationsDir = await project.migrationsDir
54
+ const container = new MigrationsContainerFactory(migrationsDir).create()
55
+ const schema = input.getOption('source') === 'migrations'
56
+ ? await container.schemaVersionBuilder.buildSchema()
57
+ : await loadSchema(project)
58
+
51
59
  if (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {
52
60
  return 1
53
61
  }