@contember/schema-migrations 2.0.0-alpha.39 → 2.0.0-alpha.40

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 (36) hide show
  1. package/dist/development/src/SchemaDiffer.cjs +4 -3
  2. package/dist/development/src/SchemaDiffer.cjs.map +1 -1
  3. package/dist/development/src/SchemaDiffer.js +5 -4
  4. package/dist/development/src/SchemaDiffer.js.map +1 -1
  5. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs +4 -1
  6. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
  7. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js +4 -1
  8. package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  9. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs +4 -1
  10. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
  11. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js +4 -1
  12. package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  13. package/dist/production/src/SchemaDiffer.cjs +4 -3
  14. package/dist/production/src/SchemaDiffer.cjs.map +1 -1
  15. package/dist/production/src/SchemaDiffer.js +5 -4
  16. package/dist/production/src/SchemaDiffer.js.map +1 -1
  17. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs +4 -1
  18. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
  19. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js +4 -1
  20. package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  21. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs +4 -1
  22. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
  23. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js +4 -1
  24. package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  25. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  26. package/dist/types/SchemaDiffer.d.ts +4 -1
  27. package/dist/types/SchemaDiffer.d.ts.map +1 -1
  28. package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts +4 -0
  29. package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
  30. package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts +4 -0
  31. package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
  32. package/dist/types/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +7 -7
  34. package/src/SchemaDiffer.ts +8 -3
  35. package/src/modifications/acl/UpdateAclSchemaModification.ts +8 -1
  36. package/src/modifications/validation/UpdateValidationSchemaModification.ts +8 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/schema-migrations",
3
- "version": "2.0.0-alpha.39",
3
+ "version": "2.0.0-alpha.40",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/production/index.js",
6
6
  "typings": "./dist/types/index.d.ts",
@@ -23,16 +23,16 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@contember/database": "2.0.0-alpha.39",
27
- "@contember/database-migrations": "2.0.0-alpha.39",
28
- "@contember/engine-common": "2.0.0-alpha.39",
29
- "@contember/schema": "2.0.0-alpha.39",
30
- "@contember/schema-utils": "2.0.0-alpha.39",
26
+ "@contember/database": "2.0.0-alpha.40",
27
+ "@contember/database-migrations": "2.0.0-alpha.40",
28
+ "@contember/engine-common": "2.0.0-alpha.40",
29
+ "@contember/schema": "2.0.0-alpha.40",
30
+ "@contember/schema-utils": "2.0.0-alpha.40",
31
31
  "fast-deep-equal": "^3.1.3",
32
32
  "rfc6902": "^5.1.1"
33
33
  },
34
34
  "devDependencies": {
35
- "@contember/schema-definition": "2.0.0-alpha.39"
35
+ "@contember/schema-definition": "2.0.0-alpha.40"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "pg": "^8.9.0"
@@ -48,7 +48,12 @@ import { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/rela
48
48
  type DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }
49
49
 
50
50
  export class SchemaDiffer {
51
- constructor(private readonly schemaMigrator: SchemaMigrator) {}
51
+ constructor(
52
+ private readonly schemaMigrator: SchemaMigrator,
53
+ private readonly options?: {
54
+ maxPatchSize?: number
55
+ },
56
+ ) {}
52
57
 
53
58
  diffSchemas(originalSchema: Schema, updatedSchema: Schema, {
54
59
  skipInitialSchemaValidation = false,
@@ -99,8 +104,8 @@ export class SchemaDiffer {
99
104
  new CreateUniqueConstraintDiffer(),
100
105
  new CreateIndexDiffer(),
101
106
  new RemoveEnumDiffer(),
102
- new UpdateAclSchemaDiffer(),
103
- new UpdateValidationSchemaDiffer(),
107
+ new UpdateAclSchemaDiffer(this.options),
108
+ new UpdateValidationSchemaDiffer(this.options),
104
109
  new UpdateEntityOrderByDiffer(),
105
110
  new UpdateTargetDiffer(),
106
111
  new CreateTargetDiffer(),
@@ -32,12 +32,19 @@ export const updateAclSchemaModification = createModificationType({
32
32
  })
33
33
 
34
34
  export class UpdateAclSchemaDiffer implements Differ {
35
+ constructor(
36
+ private readonly options?: {
37
+ maxPatchSize?: number
38
+ },
39
+ ) {
40
+ }
41
+
35
42
  createDiff(originalSchema: Schema, updatedSchema: Schema) {
36
43
  if (deepEqual(originalSchema.acl, updatedSchema.acl)) {
37
44
  return []
38
45
  }
39
46
  const patch = createPatch(originalSchema.acl, updatedSchema.acl)
40
- if (patch.length <= 100) {
47
+ if (patch.length <= (this.options?.maxPatchSize ?? 100)) {
41
48
  return [patchAclSchemaModification.createModification({ patch })]
42
49
  }
43
50
  return [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]
@@ -33,12 +33,19 @@ export const updateValidationSchemaModification = createModificationType({
33
33
  })
34
34
 
35
35
  export class UpdateValidationSchemaDiffer implements Differ {
36
+ constructor(
37
+ private readonly options?: {
38
+ maxPatchSize?: number
39
+ },
40
+ ) {
41
+ }
42
+
36
43
  createDiff(originalSchema: Schema, updatedSchema: Schema) {
37
44
  if (deepEqual(originalSchema.validation, updatedSchema.validation)) {
38
45
  return []
39
46
  }
40
47
  const patch = createPatch(originalSchema.validation, updatedSchema.validation)
41
- if (patch.length <= 20) {
48
+ if (patch.length <= (this.options?.maxPatchSize ?? 100)) {
42
49
  return [patchValidationSchemaModification.createModification({ patch })]
43
50
  }
44
51
  return [updateValidationSchemaModification.createModification({ schema: updatedSchema.validation })]