@contember/cli 1.3.0-alpha.6 → 1.3.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/commands/migrations/MigrationAmendCommand.js +1 -1
- package/dist/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/src/commands/migrations/MigrationDescribeCommand.d.ts +1 -2
- package/dist/src/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
- package/dist/src/commands/migrations/MigrationDescribeCommand.js +1 -31
- package/dist/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
- package/dist/src/commands/migrations/MigrationValidationHelper.js +1 -1
- package/dist/src/commands/migrations/MigrationValidationHelper.js.map +1 -1
- package/dist/src/commands/project/ProjectPrintSchemaCommand.js +2 -2
- package/dist/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/migrations.d.ts +1 -1
- package/dist/src/utils/migrations.d.ts.map +1 -1
- package/dist/src/utils/migrations.js +12 -4
- package/dist/src/utils/migrations.js.map +1 -1
- package/package.json +8 -8
- package/src/commands/migrations/MigrationAmendCommand.ts +1 -1
- package/src/commands/migrations/MigrationDescribeCommand.ts +3 -37
- package/src/commands/migrations/MigrationValidationHelper.ts +1 -1
- package/src/commands/project/ProjectPrintSchemaCommand.ts +2 -2
- package/src/utils/migrations.ts +12 -4
|
@@ -8,7 +8,7 @@ export declare const findMigration: <M extends {
|
|
|
8
8
|
export declare const printMigrationDescription: (migrationsDescriber: MigrationDescriber, schema: Schema, migration: Migration, options: {
|
|
9
9
|
sqlOnly?: boolean;
|
|
10
10
|
noSql?: boolean;
|
|
11
|
-
}) =>
|
|
11
|
+
}) => void;
|
|
12
12
|
export interface ExecutedMigrationInfo extends MigrationInfo {
|
|
13
13
|
readonly executedAt: Date;
|
|
14
14
|
readonly checksum: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAElB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAElB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,eAAO,MAAM,kBAAkB,uBAA8B,kBAAkB,KAAG,QAAQ,SAAS,GAAG,IAAI,CAGzG,CAAA;AACD,eAAO,MAAM,kBAAkB,uBACV,kBAAkB,WAC7B,MAAM,KACb,QAAQ,SAAS,GAAG,IAAI,CAG1B,CAAA;AAED,eAAO,MAAM,aAAa;aAAyB,MAAM;6BAA8B,MAAM,aAGnF,CAAA;AAEV,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,0BAA2B,SAAQ,aAAa;IAChE,KAAK,EAAE,cAAc,CAAC,aAAa,CAAA;IACnC,cAAc,EAAE,SAAS,CAAA;CACzB;AAED,UAAU,+BAAgC,SAAQ,aAAa;IAC9D,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAA;IACtC,cAAc,EAAE,SAAS,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,yBAA0B,SAAQ,aAAa;IACxD,KAAK,EAAE,cAAc,CAAC,WAAW,CAAA;IACjC,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,cAAc,EAAE,SAAS,CAAA;CACzB;AAED,UAAU,8BAA+B,SAAQ,aAAa;IAC7D,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAA;IACtC,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,4BAA6B,SAAQ,aAAa;IAC3D,KAAK,EAAE,cAAc,CAAC,cAAc,CAAA;IACpC,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,cAAc,EAAE,SAAS,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,oBAAY,oBAAoB,GAC7B,+BAA+B,GAC/B,8BAA8B,GAC9B,4BAA4B,CAAA;AAE/B,oBAAY,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,SAAS,EAAE,UACrB,OAAO;mBAEC,kBAAkB,EAAE;qBAClB,oBAAoB,EAAE;yBAClB,0BAA0B,EAAE;CA4EjD,CAAA;AACD,eAAO,MAAM,0BAA0B,eAAgB,kBAAkB,EAAE,KAAG,MAkC7E,CAAA"}
|
|
@@ -8,6 +8,7 @@ const schema_migrations_1 = require("@contember/schema-migrations");
|
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const chalk_table_1 = __importDefault(require("chalk-table"));
|
|
10
10
|
const assertNever_1 = require("./assertNever");
|
|
11
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
11
12
|
const getLatestMigration = async (migrationsResolver) => {
|
|
12
13
|
const migrations = await migrationsResolver.getMigrations();
|
|
13
14
|
return migrations.length > 0 ? migrations[migrations.length - 1] : null;
|
|
@@ -20,11 +21,18 @@ const getMigrationByName = async (migrationsResolver, version) => {
|
|
|
20
21
|
exports.getMigrationByName = getMigrationByName;
|
|
21
22
|
const findMigration = (migrations, version) => migrations.find(it => schema_migrations_1.MigrationVersionHelper.extractVersion(it.version) === schema_migrations_1.MigrationVersionHelper.extractVersion(version)) || null;
|
|
22
23
|
exports.findMigration = findMigration;
|
|
23
|
-
const printMigrationDescription =
|
|
24
|
-
const description =
|
|
25
|
-
description.forEach(({ modification,
|
|
24
|
+
const printMigrationDescription = function (migrationsDescriber, schema, migration, options) {
|
|
25
|
+
const description = migrationsDescriber.describeModifications(schema, migration);
|
|
26
|
+
description.forEach(({ modification, getSql, description }) => {
|
|
27
|
+
const sql = getSql({
|
|
28
|
+
systemSchema: 'system',
|
|
29
|
+
databaseMetadata: schema_utils_1.dummySchemaDatabaseMetadata,
|
|
30
|
+
invalidateDatabaseMetadata: () => null,
|
|
31
|
+
});
|
|
26
32
|
if (options.sqlOnly) {
|
|
27
|
-
|
|
33
|
+
if (sql.trim()) {
|
|
34
|
+
console.log(sql);
|
|
35
|
+
}
|
|
28
36
|
}
|
|
29
37
|
else {
|
|
30
38
|
const color = description.isDestructive ? chalk_1.default.red : chalk_1.default.blue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":";;;;;;AAAA,oEAOqC;AACrC,kDAAyB;AAEzB,8DAAoC;AACpC,+CAA2C;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/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.3.0-alpha.
|
|
3
|
+
"version": "1.3.0-alpha.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"bin": {
|
|
6
6
|
"contember": "./dist/src/run.js"
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
"tailwindcss": "^3.0.24"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@contember/cli-common": "^1.3.0-alpha.
|
|
23
|
-
"@contember/config-loader": "^1.3.0-alpha.
|
|
24
|
-
"@contember/dic": "^1.3.0-alpha.
|
|
25
|
-
"@contember/engine-content-api": "^1.3.0-alpha.
|
|
26
|
-
"@contember/schema": "^1.3.0-alpha.
|
|
27
|
-
"@contember/schema-migrations": "^1.3.0-alpha.
|
|
28
|
-
"@contember/schema-utils": "^1.3.0-alpha.
|
|
22
|
+
"@contember/cli-common": "^1.3.0-alpha.8",
|
|
23
|
+
"@contember/config-loader": "^1.3.0-alpha.8",
|
|
24
|
+
"@contember/dic": "^1.3.0-alpha.8",
|
|
25
|
+
"@contember/engine-content-api": "^1.3.0-alpha.8",
|
|
26
|
+
"@contember/schema": "^1.3.0-alpha.8",
|
|
27
|
+
"@contember/schema-migrations": "^1.3.0-alpha.8",
|
|
28
|
+
"@contember/schema-utils": "^1.3.0-alpha.8",
|
|
29
29
|
"@graphql-tools/schema": "^8.3.5",
|
|
30
30
|
"chalk": "^4.1.2",
|
|
31
31
|
"chalk-table": "^1.0.2",
|
|
@@ -92,7 +92,7 @@ export class MigrationAmendCommand extends Command<Args, Options> {
|
|
|
92
92
|
emptySchema,
|
|
93
93
|
version => version < amendMigration.version,
|
|
94
94
|
)
|
|
95
|
-
const
|
|
95
|
+
const newSchema = await schemaMigrator.applyModifications(
|
|
96
96
|
prevSchema,
|
|
97
97
|
[...amendMigration.modifications, ...intermediateResult.migration.modifications],
|
|
98
98
|
amendMigration.formatVersion,
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { Command, CommandConfiguration, Input } from '@contember/cli-common'
|
|
1
|
+
import { Command, CommandConfiguration, Input, Workspace } from '@contember/cli-common'
|
|
2
2
|
import { MigrationsContainerFactory } from '../../MigrationsContainer'
|
|
3
|
-
import { getLatestMigration, getMigrationByName } from '../../utils/migrations'
|
|
4
|
-
import chalk from 'chalk'
|
|
5
|
-
import { Migration, MigrationDescriber } from '@contember/schema-migrations'
|
|
6
|
-
import { Schema } from '@contember/schema'
|
|
7
|
-
import { Workspace } from '@contember/cli-common'
|
|
3
|
+
import { getLatestMigration, getMigrationByName, printMigrationDescription } from '../../utils/migrations'
|
|
8
4
|
|
|
9
5
|
type Args = {
|
|
10
6
|
project?: string
|
|
@@ -16,36 +12,6 @@ type Options = {
|
|
|
16
12
|
['no-sql']: boolean
|
|
17
13
|
}
|
|
18
14
|
|
|
19
|
-
let printMigrationDescription = async function (
|
|
20
|
-
migrationsDescriber: MigrationDescriber,
|
|
21
|
-
schema: Schema,
|
|
22
|
-
migration: Migration,
|
|
23
|
-
options: { sqlOnly: boolean; noSql: boolean },
|
|
24
|
-
) {
|
|
25
|
-
const description = await migrationsDescriber.describeModifications(schema, migration, 'system') // schema name cannot be determined here
|
|
26
|
-
description.forEach(({ modification, sql, description }) => {
|
|
27
|
-
if (options.sqlOnly) {
|
|
28
|
-
if (sql.trim()) {
|
|
29
|
-
console.log(sql)
|
|
30
|
-
}
|
|
31
|
-
} else {
|
|
32
|
-
const color = description.isDestructive ? chalk.red : chalk.blue
|
|
33
|
-
console.group(color(`${description.message} [${modification.modification}]`))
|
|
34
|
-
if (description.failureWarning) {
|
|
35
|
-
console.log(chalk.bgWhite(chalk.redBright(description.failureWarning)))
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (!options.noSql) {
|
|
39
|
-
if (sql.trim()) {
|
|
40
|
-
console.log(sql)
|
|
41
|
-
} else {
|
|
42
|
-
console.log('No sql to execute')
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
console.groupEnd()
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
15
|
|
|
50
16
|
export class MigrationDescribeCommand extends Command<Args, Options> {
|
|
51
17
|
constructor(
|
|
@@ -83,6 +49,6 @@ export class MigrationDescribeCommand extends Command<Args, Options> {
|
|
|
83
49
|
const schema = await container.schemaVersionBuilder.buildSchemaUntil(migration.version)
|
|
84
50
|
const sqlOnly = input.getOption('sql-only')
|
|
85
51
|
const noSql = input.getOption('no-sql')
|
|
86
|
-
|
|
52
|
+
printMigrationDescription(container.migrationDescriber, schema, migration, { sqlOnly, noSql })
|
|
87
53
|
}
|
|
88
54
|
}
|
|
@@ -13,7 +13,7 @@ export const validateMigrations = async (
|
|
|
13
13
|
for (const migration of await migrations) {
|
|
14
14
|
try {
|
|
15
15
|
// just a check that it does not fail
|
|
16
|
-
|
|
16
|
+
describer.describeModifications(migratedSchema, migration)
|
|
17
17
|
|
|
18
18
|
migratedSchema = migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)
|
|
19
19
|
} catch (e) {
|
|
@@ -48,9 +48,9 @@ export class ProjectPrintSchemaCommand extends Command<Args, Options> {
|
|
|
48
48
|
if (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {
|
|
49
49
|
return 1
|
|
50
50
|
}
|
|
51
|
-
const permissionFactory = new PermissionFactory(
|
|
51
|
+
const permissionFactory = new PermissionFactory()
|
|
52
52
|
const inputRoles = input.getOption('role')
|
|
53
|
-
const permissions = permissionFactory.create(schema
|
|
53
|
+
const permissions = permissionFactory.create(schema, inputRoles || ['admin'])
|
|
54
54
|
const schemaBuilderFactory = new GraphQlSchemaBuilderFactory()
|
|
55
55
|
const authorizator = new Authorizator(permissions, schema.acl.customPrimary ?? false)
|
|
56
56
|
const introspection = new IntrospectionSchemaFactory(
|
package/src/utils/migrations.ts
CHANGED
|
@@ -10,6 +10,7 @@ import chalk from 'chalk'
|
|
|
10
10
|
import { Schema } from '@contember/schema'
|
|
11
11
|
import chalkTable from 'chalk-table'
|
|
12
12
|
import { assertNever } from './assertNever'
|
|
13
|
+
import { dummySchemaDatabaseMetadata } from '@contember/schema-utils'
|
|
13
14
|
|
|
14
15
|
export const getLatestMigration = async (migrationsResolver: MigrationsResolver): Promise<Migration | null> => {
|
|
15
16
|
const migrations = await migrationsResolver.getMigrations()
|
|
@@ -28,16 +29,23 @@ export const findMigration = <M extends { version: string }>(migrations: M[], ve
|
|
|
28
29
|
it => MigrationVersionHelper.extractVersion(it.version) === MigrationVersionHelper.extractVersion(version),
|
|
29
30
|
) || null
|
|
30
31
|
|
|
31
|
-
export const printMigrationDescription =
|
|
32
|
+
export const printMigrationDescription = function (
|
|
32
33
|
migrationsDescriber: MigrationDescriber,
|
|
33
34
|
schema: Schema,
|
|
34
35
|
migration: Migration,
|
|
35
36
|
options: { sqlOnly?: boolean; noSql?: boolean },
|
|
36
37
|
) {
|
|
37
|
-
const description =
|
|
38
|
-
description.forEach(({ modification,
|
|
38
|
+
const description = migrationsDescriber.describeModifications(schema, migration)
|
|
39
|
+
description.forEach(({ modification, getSql, description }) => {
|
|
40
|
+
const sql = getSql({
|
|
41
|
+
systemSchema: 'system',
|
|
42
|
+
databaseMetadata: dummySchemaDatabaseMetadata,
|
|
43
|
+
invalidateDatabaseMetadata: () => null,
|
|
44
|
+
})
|
|
39
45
|
if (options.sqlOnly) {
|
|
40
|
-
|
|
46
|
+
if (sql.trim()) {
|
|
47
|
+
console.log(sql)
|
|
48
|
+
}
|
|
41
49
|
} else {
|
|
42
50
|
const color = description.isDestructive ? chalk.red : chalk.blue
|
|
43
51
|
console.group(color(`${description.message} [${modification.modification}]`))
|