@contember/cli 1.1.0-alpha.2 → 1.1.0-alpha.3

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 (38) hide show
  1. package/Dockerfile +1 -0
  2. package/build.sh +2 -2
  3. package/dist/src/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
  4. package/dist/src/commands/migrations/MigrationAmendCommand.js +2 -2
  5. package/dist/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  6. package/dist/src/commands/migrations/MigrationDescribeCommand.js +1 -1
  7. package/dist/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  8. package/dist/src/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
  9. package/dist/src/commands/migrations/MigrationDiffCommand.js +2 -2
  10. package/dist/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  11. package/dist/src/commands/migrations/MigrationValidationHelper.js +1 -1
  12. package/dist/src/commands/migrations/MigrationValidationHelper.js.map +1 -1
  13. package/dist/src/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
  14. package/dist/src/commands/project/ProjectPrintSchemaCommand.js +2 -2
  15. package/dist/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  16. package/dist/src/commands/project/ProjectValidateCommand.d.ts.map +1 -1
  17. package/dist/src/commands/project/ProjectValidateCommand.js +4 -5
  18. package/dist/src/commands/project/ProjectValidateCommand.js.map +1 -1
  19. package/dist/src/run.js +0 -7
  20. package/dist/src/run.js.map +1 -1
  21. package/dist/src/tsconfig.tsbuildinfo +1 -1
  22. package/dist/src/utils/migrations.js +1 -1
  23. package/dist/src/utils/migrations.js.map +1 -1
  24. package/dist/src/utils/project.d.ts +4 -0
  25. package/dist/src/utils/project.d.ts.map +1 -0
  26. package/dist/src/utils/project.js +44 -0
  27. package/dist/src/utils/project.js.map +1 -0
  28. package/esbuild.js +1 -1
  29. package/package.json +14 -14
  30. package/src/commands/migrations/MigrationAmendCommand.ts +2 -3
  31. package/src/commands/migrations/MigrationDescribeCommand.ts +1 -1
  32. package/src/commands/migrations/MigrationDiffCommand.ts +2 -3
  33. package/src/commands/migrations/MigrationValidationHelper.ts +1 -1
  34. package/src/commands/project/ProjectPrintSchemaCommand.ts +2 -3
  35. package/src/commands/project/ProjectValidateCommand.ts +3 -6
  36. package/src/run.ts +3 -9
  37. package/src/utils/migrations.ts +1 -1
  38. package/src/utils/project.ts +23 -0
@@ -21,7 +21,7 @@ exports.getMigrationByName = getMigrationByName;
21
21
  const findMigration = (migrations, version) => migrations.find(it => schema_migrations_1.MigrationVersionHelper.extractVersion(it.version) === schema_migrations_1.MigrationVersionHelper.extractVersion(version)) || null;
22
22
  exports.findMigration = findMigration;
23
23
  const printMigrationDescription = async function (migrationsDescriber, schema, migration, options) {
24
- const description = await migrationsDescriber.describeModifications(schema, migration);
24
+ const description = await migrationsDescriber.describeModifications(schema, migration, 'system'); // schema name cannot be determined
25
25
  description.forEach(({ modification, sql, description }) => {
26
26
  if (options.sqlOnly) {
27
27
  console.log(sql);
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/utils/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Project } from '@contember/cli-common';
2
+ import { Schema } from '@contember/schema';
3
+ export declare const loadSchema: (project: Project) => Promise<Schema>;
4
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,eAAO,MAAM,UAAU,YAAmB,OAAO,KAAG,QAAQ,MAAM,CAgBjE,CAAA"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.loadSchema = void 0;
23
+ const esbuild = __importStar(require("esbuild"));
24
+ const path_1 = require("path");
25
+ const vm2_1 = require("vm2");
26
+ const loadSchema = async (project) => {
27
+ const response = await esbuild.build({
28
+ entryPoints: [(0, path_1.join)(project.apiDir, 'index.ts')],
29
+ platform: 'node',
30
+ bundle: true,
31
+ treeShaking: true,
32
+ write: false,
33
+ external: ['@contember/admin', 'react', 'react/jsx-runtime'],
34
+ });
35
+ const bundledJs = response.outputFiles[0].text;
36
+ const vm = new vm2_1.NodeVM({
37
+ require: {
38
+ builtin: ['*'],
39
+ },
40
+ });
41
+ return (await vm.run(bundledJs)).default;
42
+ };
43
+ exports.loadSchema = loadSchema;
44
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/utils/project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAkC;AAClC,+BAA2B;AAC3B,6BAA4B;AAErB,MAAM,UAAU,GAAG,KAAK,EAAE,OAAgB,EAAmB,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EAAE,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,CAAC;KAC5D,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,MAAM,EAAE,GAAG,IAAI,YAAM,CAAC;QACrB,OAAO,EAAE;YACR,OAAO,EAAE,CAAC,GAAG,CAAC;SACd;KACD,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;AACzC,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
package/esbuild.js CHANGED
@@ -8,7 +8,7 @@ esbuild.build({
8
8
  sourcemap: 'external',
9
9
  outfile: './dist/run.js',
10
10
  plugins: [resolvePlugin],
11
- external: ['pg-native', 'electron', 'typescript', 'ts-node'],
11
+ external: ['pg-native', 'electron', 'esbuild', 'vm2'],
12
12
  }).catch(e => {
13
13
  console.error(e)
14
14
  process.exit(1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/cli",
3
- "version": "1.1.0-alpha.2",
3
+ "version": "1.1.0-alpha.3",
4
4
  "license": "Apache-2.0",
5
5
  "bin": {
6
6
  "contember": "./dist/src/run.js"
@@ -9,23 +9,24 @@
9
9
  "test": "echo 'No tests'"
10
10
  },
11
11
  "devDependencies": {
12
- "@types/prompts": "^2.0.1",
12
+ "@types/fs-extra": "^9.0.3",
13
13
  "@types/js-yaml": "^4.0.1",
14
- "@types/fs-extra": "^9.0.3"
14
+ "@types/prompts": "^2.0.1"
15
15
  },
16
16
  "dependencies": {
17
- "@contember/cli-common": "^1.1.0-alpha.2",
18
- "@contember/config-loader": "^1.1.0-alpha.2",
19
- "@contember/database-migrations": "^1.1.0-alpha.2",
20
- "@contember/dic": "^1.1.0-alpha.2",
21
- "@contember/engine-content-api": "^1.1.0-alpha.2",
22
- "@contember/schema": "^1.1.0-alpha.2",
23
- "@contember/schema-definition": "^1.1.0-alpha.2",
24
- "@contember/schema-migrations": "^1.1.0-alpha.2",
25
- "@contember/schema-utils": "^1.1.0-alpha.2",
17
+ "@contember/cli-common": "^1.1.0-alpha.3",
18
+ "@contember/config-loader": "^1.1.0-alpha.3",
19
+ "@contember/database-migrations": "^1.1.0-alpha.3",
20
+ "@contember/dic": "^1.1.0-alpha.3",
21
+ "@contember/engine-content-api": "^1.1.0-alpha.3",
22
+ "@contember/schema": "^1.1.0-alpha.3",
23
+ "@contember/schema-definition": "^1.1.0-alpha.3",
24
+ "@contember/schema-migrations": "^1.1.0-alpha.3",
25
+ "@contember/schema-utils": "^1.1.0-alpha.3",
26
26
  "@graphql-tools/merge": "^6.2.14",
27
27
  "chalk": "^4.1.0",
28
28
  "chalk-table": "^1.0.2",
29
+ "esbuild": "^0.14.14",
29
30
  "get-port": "^5.0.0",
30
31
  "graphql": "^15.4.0",
31
32
  "graphql-request": "^3.3.0",
@@ -33,8 +34,7 @@
33
34
  "node-fetch": "^2.6.1",
34
35
  "pg": "^8.5.0",
35
36
  "prompts": "^2.2.1",
36
- "ts-node": "^10.2.0",
37
- "typescript": "^4.3.5",
37
+ "vm2": "^3.9.9",
38
38
  "yawn-yaml": "^1.5.0"
39
39
  }
40
40
  }
@@ -1,5 +1,4 @@
1
1
  import { Command, CommandConfiguration, Input } from '@contember/cli-common'
2
- import { Schema } from '@contember/schema'
3
2
  import { printValidationErrors } from '../../utils/schema'
4
3
  import { InvalidSchemaException } from '@contember/schema-migrations'
5
4
  import { executeCreateMigrationCommand } from './MigrationCreateHelper'
@@ -14,6 +13,7 @@ import { resolveSystemApiClient } from './SystemApiClientResolver'
14
13
  import prompts from 'prompts'
15
14
  import { emptySchema } from '@contember/schema-utils'
16
15
  import { validateMigrations } from './MigrationValidationHelper'
16
+ import { loadSchema } from '../../utils/project'
17
17
 
18
18
  type Args = {
19
19
  project: string
@@ -68,8 +68,7 @@ export class MigrationAmendCommand extends Command<Args, Options> {
68
68
  if (status.migrationsToExecute.length > 0) {
69
69
  throw `Some migrations are not executed. Unable to amend.`
70
70
  }
71
- // eslint-disable-next-line @typescript-eslint/no-var-requires
72
- const schema: Schema = require(project.apiDir).default
71
+ const schema = await loadSchema(project)
73
72
  try {
74
73
  const initialSchema = await schemaVersionBuilder.buildSchema()
75
74
  const intermediateResult = await migrationCreator.prepareMigration(initialSchema, schema, '')
@@ -22,7 +22,7 @@ let printMigrationDescription = async function (
22
22
  migration: Migration,
23
23
  options: { sqlOnly: boolean; noSql: boolean },
24
24
  ) {
25
- const description = await migrationsDescriber.describeModifications(schema, migration)
25
+ const description = await migrationsDescriber.describeModifications(schema, migration, 'system') // schema name cannot be determined here
26
26
  description.forEach(({ modification, sql, description }) => {
27
27
  if (options.sqlOnly) {
28
28
  if (sql.trim()) {
@@ -1,5 +1,4 @@
1
1
  import { Command, CommandConfiguration, Input } from '@contember/cli-common'
2
- import { Schema } from '@contember/schema'
3
2
  import { printValidationErrors } from '../../utils/schema'
4
3
  import { InvalidSchemaException } from '@contember/schema-migrations'
5
4
  import { configureCreateMigrationCommand, executeCreateMigrationCommand } from './MigrationCreateHelper'
@@ -9,6 +8,7 @@ import prompts from 'prompts'
9
8
  import { interactiveResolveApiToken, TenantClient } from '../../utils/tenant'
10
9
  import { interactiveResolveInstanceEnvironmentFromInput } from '../../utils/instance'
11
10
  import { SystemClient } from '../../utils/system'
11
+ import { loadSchema } from '../../utils/project'
12
12
 
13
13
  type Args = {
14
14
  project: string
@@ -42,8 +42,7 @@ export class MigrationDiffCommand extends Command<Args, Options> {
42
42
  migrationCreator,
43
43
  migrationDescriber,
44
44
  }) => {
45
- // eslint-disable-next-line @typescript-eslint/no-var-requires
46
- const schema: Schema = require(project.apiDir).default
45
+ const schema = await loadSchema(project)
47
46
  try {
48
47
  const migrationName = input.getArgument('migrationName')
49
48
  const initialSchema = await schemaVersionBuilder.buildSchema()
@@ -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
- await describer.describeModifications(migratedSchema, migration)
16
+ await describer.describeModifications(migratedSchema, migration, 'system') // schema name not important here
17
17
 
18
18
  migratedSchema = migrator.applyModifications(migratedSchema, migration.modifications, migration.formatVersion)
19
19
  } catch (e) {
@@ -1,5 +1,4 @@
1
1
  import { Command, CommandConfiguration, Input } from '@contember/cli-common'
2
- import { Schema } from '@contember/schema'
3
2
  import { validateSchemaAndPrintErrors } from '../../utils/schema'
4
3
  import { Workspace, validateProjectName } from '@contember/cli-common'
5
4
  import {
@@ -12,6 +11,7 @@ import {
12
11
  } from '@contember/engine-content-api'
13
12
  import { DocumentNode, printSchema } from 'graphql'
14
13
  import { mergeSchemas } from '@graphql-tools/merge'
14
+ import { loadSchema } from '../../utils/project'
15
15
 
16
16
  type Args = {
17
17
  project: string
@@ -37,8 +37,7 @@ export class ProjectPrintSchemaCommand extends Command<Args, Options> {
37
37
 
38
38
  validateProjectName(projectName)
39
39
  const project = await workspace.projects.getProject(projectName, { fuzzy: true })
40
- // eslint-disable-next-line @typescript-eslint/no-var-requires
41
- const schema: Schema = require(project.apiDir).default
40
+ const schema = await loadSchema(project)
42
41
  if (!validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:')) {
43
42
  return 1
44
43
  }
@@ -1,10 +1,9 @@
1
- import { Command, CommandConfiguration, Input } from '@contember/cli-common'
1
+ import { Command, CommandConfiguration, Input, validateProjectName, Workspace } from '@contember/cli-common'
2
2
  import { MigrationsContainerFactory } from '../../MigrationsContainer'
3
- import { Schema } from '@contember/schema'
4
3
  import { validateSchemaAndPrintErrors } from '../../utils/schema'
5
4
  import { emptySchema } from '@contember/schema-utils'
6
- import { Workspace, validateProjectName } from '@contember/cli-common'
7
5
  import { validateMigrations } from '../migrations/MigrationValidationHelper'
6
+ import { loadSchema } from '../../utils/project'
8
7
 
9
8
  type Args = {
10
9
  project: string
@@ -42,9 +41,7 @@ export class ProjectValidateCommand extends Command<Args, Options> {
42
41
  container.migrationDescriber,
43
42
  container.schemaMigrator,
44
43
  )
45
-
46
- // eslint-disable-next-line @typescript-eslint/no-var-requires
47
- const schema: Schema = require(project.apiDir).default
44
+ const schema = await loadSchema(project)
48
45
  projectValid = validateSchemaAndPrintErrors(schema, 'Defined schema is invalid:') && projectValid
49
46
 
50
47
  const builtSchema = await container.schemaVersionBuilder.buildSchema()
package/src/run.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { register } from 'ts-node'
3
2
  import { Application, CommandManager, getPackageVersion } from '@contember/cli-common'
4
3
  import {
5
4
  CreateApiKeyCommand,
@@ -18,14 +17,9 @@ import {
18
17
  SignInCommand,
19
18
  VersionCommand,
20
19
  WorkspaceUpdateApiCommand,
21
- } from './commands'
22
- ;(async () => {
23
- register({
24
- compilerOptions: {
25
- experimentalDecorators: true,
26
- module: 'commonjs',
27
- },
28
- })
20
+ } from './commands';
21
+
22
+ (async () => {
29
23
  const diffCommandFactory = () => new MigrationDiffCommand()
30
24
  const migrationsDescribeFactory = () => new MigrationDescribeCommand()
31
25
  const commandManager = new CommandManager({
@@ -34,7 +34,7 @@ export const printMigrationDescription = async function (
34
34
  migration: Migration,
35
35
  options: { sqlOnly?: boolean; noSql?: boolean },
36
36
  ) {
37
- const description = await migrationsDescriber.describeModifications(schema, migration)
37
+ const description = await migrationsDescriber.describeModifications(schema, migration, 'system') // schema name cannot be determined
38
38
  description.forEach(({ modification, sql, description }) => {
39
39
  if (options.sqlOnly) {
40
40
  console.log(sql)
@@ -0,0 +1,23 @@
1
+ import { Project } from '@contember/cli-common'
2
+ import { Schema } from '@contember/schema'
3
+ import * as esbuild from 'esbuild'
4
+ import { join } from 'path'
5
+ import { NodeVM } from 'vm2'
6
+
7
+ export const loadSchema = async (project: Project): Promise<Schema> => {
8
+ const response = await esbuild.build({
9
+ entryPoints: [join(project.apiDir, 'index.ts')],
10
+ platform: 'node',
11
+ bundle: true,
12
+ treeShaking: true,
13
+ write: false,
14
+ external: ['@contember/admin', 'react', 'react/jsx-runtime'],
15
+ })
16
+ const bundledJs = response.outputFiles[0].text
17
+ const vm = new NodeVM({
18
+ require: {
19
+ builtin: ['*'],
20
+ },
21
+ })
22
+ return (await vm.run(bundledJs)).default
23
+ }