@contember/cli 2.1.0-alpha.15 → 2.1.0-alpha.16
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/development/src/commands/actions/ActionsGetEventCommand.cjs +31 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js +31 -0
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs +60 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js +60 -0
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs +29 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js +29 -0
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs +32 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js +32 -0
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs +40 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js +40 -0
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs +32 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js +32 -0
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -0
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/ExportCommand.cjs +7 -2
- package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ExportCommand.js +8 -3
- package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.cjs +7 -4
- package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.js +5 -2
- package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.cjs +4 -5
- package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.js +4 -5
- package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/development/src/dic.cjs +14 -2
- package/dist/development/src/dic.cjs.map +1 -1
- package/dist/development/src/dic.js +14 -2
- package/dist/development/src/dic.js.map +1 -1
- package/dist/development/src/lib/VersionChecker.cjs +7 -9
- package/dist/development/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/development/src/lib/VersionChecker.js +7 -9
- package/dist/development/src/lib/VersionChecker.js.map +1 -1
- package/dist/development/src/lib/actions/ActionsClient.cjs +91 -0
- package/dist/development/src/lib/actions/ActionsClient.cjs.map +1 -0
- package/dist/development/src/lib/actions/ActionsClient.js +91 -0
- package/dist/development/src/lib/actions/ActionsClient.js.map +1 -0
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs +7 -2
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.js +7 -2
- package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs +3 -3
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js +3 -3
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/development/src/lib/stream.cjs +0 -7
- package/dist/development/src/lib/stream.cjs.map +1 -1
- package/dist/development/src/lib/stream.js +1 -8
- package/dist/development/src/lib/stream.js.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.cjs +23 -34
- package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.js +25 -36
- package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs +31 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js +31 -0
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs +60 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js +60 -0
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs +29 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js +29 -0
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs +32 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js +32 -0
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs +40 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js +40 -0
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs +32 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js +32 -0
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -0
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/ExportCommand.cjs +7 -2
- package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ExportCommand.js +8 -3
- package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.cjs +7 -4
- package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.js +5 -2
- package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.cjs +4 -5
- package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.js +4 -5
- package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/production/src/dic.cjs +14 -2
- package/dist/production/src/dic.cjs.map +1 -1
- package/dist/production/src/dic.js +14 -2
- package/dist/production/src/dic.js.map +1 -1
- package/dist/production/src/lib/VersionChecker.cjs +7 -9
- package/dist/production/src/lib/VersionChecker.cjs.map +1 -1
- package/dist/production/src/lib/VersionChecker.js +7 -9
- package/dist/production/src/lib/VersionChecker.js.map +1 -1
- package/dist/production/src/lib/actions/ActionsClient.cjs +91 -0
- package/dist/production/src/lib/actions/ActionsClient.cjs.map +1 -0
- package/dist/production/src/lib/actions/ActionsClient.js +91 -0
- package/dist/production/src/lib/actions/ActionsClient.js.map +1 -0
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs +7 -2
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.js +7 -2
- package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs +3 -3
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js +3 -3
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/production/src/lib/stream.cjs +0 -7
- package/dist/production/src/lib/stream.cjs.map +1 -1
- package/dist/production/src/lib/stream.js +1 -8
- package/dist/production/src/lib/stream.js.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.cjs +23 -34
- package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.js +25 -36
- package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts +15 -0
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts +14 -0
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts +19 -0
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -0
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts +16 -0
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts.map +1 -0
- package/dist/types/commands/transfer/ExportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/ImportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
- package/dist/types/dic.d.ts +18 -0
- package/dist/types/dic.d.ts.map +1 -1
- package/dist/types/lib/VersionChecker.d.ts.map +1 -1
- package/dist/types/lib/actions/ActionsClient.d.ts +33 -0
- package/dist/types/lib/actions/ActionsClient.d.ts.map +1 -0
- package/dist/types/lib/migrations/MigrationPrinter.d.ts +1 -1
- package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts +3 -1
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
- package/dist/types/lib/transfer/DataTransferClient.d.ts +2 -4
- package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/commands/actions/ActionsGetEventCommand.ts +42 -0
- package/src/commands/actions/ActionsListFailedEventsCommand.ts +70 -0
- package/src/commands/actions/ActionsListVariablesCommand.ts +37 -0
- package/src/commands/actions/ActionsRetryEventCommand.ts +42 -0
- package/src/commands/actions/ActionsSetVariablesCommand.ts +56 -0
- package/src/commands/actions/ActionsStopEventCommand.ts +42 -0
- package/src/commands/migrations/MigrationStatusCommand.ts +1 -1
- package/src/commands/transfer/ExportCommand.ts +9 -4
- package/src/commands/transfer/ImportCommand.ts +6 -1
- package/src/commands/transfer/TransferCommand.ts +4 -3
- package/src/dic.ts +27 -2
- package/src/lib/VersionChecker.ts +13 -9
- package/src/lib/actions/ActionsClient.ts +112 -0
- package/src/lib/migrations/MigrationPrinter.ts +7 -2
- package/src/lib/migrations/MigrationsStatusFacade.ts +4 -3
- package/src/lib/transfer/DataTransferClient.ts +24 -43
- package/dist/development/src/lib/migrations/migrations.cjs +0 -43
- package/dist/development/src/lib/migrations/migrations.cjs.map +0 -1
- package/dist/development/src/lib/migrations/migrations.js +0 -43
- package/dist/development/src/lib/migrations/migrations.js.map +0 -1
- package/dist/production/src/lib/migrations/migrations.cjs +0 -43
- package/dist/production/src/lib/migrations/migrations.cjs.map +0 -1
- package/dist/production/src/lib/migrations/migrations.js +0 -43
- package/dist/production/src/lib/migrations/migrations.js.map +0 -1
- package/dist/types/lib/migrations/migrations.d.ts +0 -3
- package/dist/types/lib/migrations/migrations.d.ts.map +0 -1
- package/src/lib/migrations/migrations.ts +0 -45
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationStatusCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationStatusCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationFilesManager, MigrationState, sortMigrations, SystemClient } from '@contember/migrations-client'\nimport chalk from 'chalk'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider'\n\ntype Args = {\n}\n\ntype Options = {\n\t['only-to-execute']?: true\n\t['only-errors']?: true\n\t['restore-missing']?: true\n}\n\nexport class MigrationStatusCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Shows status of executed migrations on an instance & sync status')\n\t\tconfiguration //\n\t\t\t.option('only-errors')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations with an error.')\n\t\tconfiguration //\n\t\t\t.option('only-to-execute')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations to execute.')\n\t\tconfiguration //\n\t\t\t.option('restore-missing')\n\t\t\t.valueNone()\n\t\t\t.description('Restores migrations locally missing')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\n\t\tconst onlyErrors = input.getOption('only-errors')\n\t\tconst onlyToExecute = input.getOption('only-to-execute')\n\t\tconst restoreMissing = input.getOption('restore-missing')\n\n\t\tlet status = await this.migrationsStatusFacade.resolveMigrationsStatus({ allowError: true })\n\n\t\tif (restoreMissing) {\n\t\t\tconst missing = status.errorMigrations.filter(it => it.state === MigrationState.EXECUTED_MISSING)\n\t\t\tfor (const migration of missing) {\n\t\t\t\tconsole.log(`Restoring migration ${migration.name}`)\n\t\t\t\tconst fullMigration = await this.systemClientProvider.get().getExecutedMigration(migration.version)\n\t\t\t\tawait this.migrationFilesManager.createFile(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformatVersion: fullMigration.formatVersion,\n\t\t\t\t\t\t\tmodifications: fullMigration.modifications,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'\\t',\n\t\t\t\t\t) + '\\n',\n\t\t\t\t\tfullMigration.name,\n\t\t\t\t)\n\t\t\t}\n\t\t\tstatus = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\t\t}\n\n\n\n\t\tconst filtered =\n\t\t\tonlyErrors || onlyToExecute\n\t\t\t\t? sortMigrations([\n\t\t\t\t\t...(onlyErrors ? status.errorMigrations : []),\n\t\t\t\t\t...(onlyToExecute ? status.migrationsToExecute : []),\n\t\t\t\t ])\n\t\t\t\t: status.allMigrations\n\n\t\
|
|
1
|
+
{"version":3,"file":"MigrationStatusCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationStatusCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationFilesManager, MigrationState, sortMigrations, SystemClient } from '@contember/migrations-client'\nimport chalk from 'chalk'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider'\n\ntype Args = {\n}\n\ntype Options = {\n\t['only-to-execute']?: true\n\t['only-errors']?: true\n\t['restore-missing']?: true\n}\n\nexport class MigrationStatusCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly migrationFilesManager: MigrationFilesManager,\n\t\tprivate readonly systemClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Shows status of executed migrations on an instance & sync status')\n\t\tconfiguration //\n\t\t\t.option('only-errors')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations with an error.')\n\t\tconfiguration //\n\t\t\t.option('only-to-execute')\n\t\t\t.valueNone()\n\t\t\t.description('Show only migrations to execute.')\n\t\tconfiguration //\n\t\t\t.option('restore-missing')\n\t\t\t.valueNone()\n\t\t\t.description('Restores migrations locally missing')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\n\t\tconst onlyErrors = input.getOption('only-errors')\n\t\tconst onlyToExecute = input.getOption('only-to-execute')\n\t\tconst restoreMissing = input.getOption('restore-missing')\n\n\t\tlet status = await this.migrationsStatusFacade.resolveMigrationsStatus({ allowError: true })\n\n\t\tif (restoreMissing) {\n\t\t\tconst missing = status.errorMigrations.filter(it => it.state === MigrationState.EXECUTED_MISSING)\n\t\t\tfor (const migration of missing) {\n\t\t\t\tconsole.log(`Restoring migration ${migration.name}`)\n\t\t\t\tconst fullMigration = await this.systemClientProvider.get().getExecutedMigration(migration.version)\n\t\t\t\tawait this.migrationFilesManager.createFile(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformatVersion: fullMigration.formatVersion,\n\t\t\t\t\t\t\tmodifications: fullMigration.modifications,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'\\t',\n\t\t\t\t\t) + '\\n',\n\t\t\t\t\tfullMigration.name,\n\t\t\t\t)\n\t\t\t}\n\t\t\tstatus = await this.migrationsStatusFacade.resolveMigrationsStatus({})\n\t\t}\n\n\n\n\t\tconst filtered =\n\t\t\tonlyErrors || onlyToExecute\n\t\t\t\t? sortMigrations([\n\t\t\t\t\t...(onlyErrors ? status.errorMigrations : []),\n\t\t\t\t\t...(onlyToExecute ? status.migrationsToExecute : []),\n\t\t\t\t ])\n\t\t\t\t: status.allMigrations\n\n\t\tconsole.log(this.migrationPrinter.printStatusTable(filtered))\n\n\t\tconst hasErrors = status.errorMigrations.length > 0\n\n\t\tif (hasErrors) {\n\t\t\tconsole.error(chalk.redBright('Some migrations are broken'))\n\t\t}\n\n\t\treturn hasErrors ? 1 : 0\n\t}\n}\n"],"names":[],"mappings":";;;AAgBO,MAAM,+BAA+B,QAAuB;AAAA,EAClE,YACkB,wBACA,uBACA,sBACA,kBAChB;AACK,UAAA;AALW,SAAA,yBAAA;AACA,SAAA,wBAAA;AACA,SAAA,uBAAA;AACA,SAAA,mBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kEAAkE;AAC5F,kBACE,OAAO,aAAa,EACpB,UAAU,EACV,YAAY,qCAAqC;AACnD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,kCAAkC;AAChD,kBACE,OAAO,iBAAiB,EACxB,UAAU,EACV,YAAY,qCAAqC;AAAA,EAAA;AAAA,EAGpD,MAAgB,QAAQ,OAA8C;AAE/D,UAAA,aAAa,MAAM,UAAU,aAAa;AAC1C,UAAA,gBAAgB,MAAM,UAAU,iBAAiB;AACjD,UAAA,iBAAiB,MAAM,UAAU,iBAAiB;AAEpD,QAAA,SAAS,MAAM,KAAK,uBAAuB,wBAAwB,EAAE,YAAY,MAAM;AAE3F,QAAI,gBAAgB;AACb,YAAA,UAAU,OAAO,gBAAgB,OAAO,QAAM,GAAG,UAAU,eAAe,gBAAgB;AAChG,iBAAW,aAAa,SAAS;AAChC,gBAAQ,IAAI,uBAAuB,UAAU,IAAI,EAAE;AAC7C,cAAA,gBAAgB,MAAM,KAAK,qBAAqB,MAAM,qBAAqB,UAAU,OAAO;AAClG,cAAM,KAAK,sBAAsB;AAAA,UAChC,KAAK;AAAA,YACJ;AAAA,cACC,eAAe,cAAc;AAAA,cAC7B,eAAe,cAAc;AAAA,YAC9B;AAAA,YACA;AAAA,YACA;AAAA,UAAA,IACG;AAAA,UACJ,cAAc;AAAA,QACf;AAAA,MAAA;AAED,eAAS,MAAM,KAAK,uBAAuB,wBAAwB,CAAA,CAAE;AAAA,IAAA;AAKhE,UAAA,WACL,cAAc,gBACX,eAAe;AAAA,MAChB,GAAI,aAAa,OAAO,kBAAkB,CAAC;AAAA,MAC3C,GAAI,gBAAgB,OAAO,sBAAsB,CAAA;AAAA,IAAC,CAChD,IACD,OAAO;AAEX,YAAQ,IAAI,KAAK,iBAAiB,iBAAiB,QAAQ,CAAC;AAEtD,UAAA,YAAY,OAAO,gBAAgB,SAAS;AAElD,QAAI,WAAW;AACd,cAAQ,MAAM,MAAM,UAAU,4BAA4B,CAAC;AAAA,IAAA;AAG5D,WAAO,YAAY,IAAI;AAAA,EAAA;AAEzB;"}
|
|
@@ -6,6 +6,7 @@ const maskToken = require("../../lib/maskToken.cjs");
|
|
|
6
6
|
const promises = require("node:stream/promises");
|
|
7
7
|
const stdio = require("../../lib/transfer/stdio.cjs");
|
|
8
8
|
const node_zlib = require("node:zlib");
|
|
9
|
+
const node_stream = require("node:stream");
|
|
9
10
|
class ExportCommand extends cliCommon.Command {
|
|
10
11
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
11
12
|
super();
|
|
@@ -43,11 +44,15 @@ class ExportCommand extends cliCommon.Command {
|
|
|
43
44
|
includeSystem,
|
|
44
45
|
gzip: gzipTransfer
|
|
45
46
|
});
|
|
47
|
+
if (!response.body) {
|
|
48
|
+
throw new Error("Response does not contain a readable stream.");
|
|
49
|
+
}
|
|
46
50
|
let transferred = 0;
|
|
47
51
|
let start = Date.now();
|
|
48
52
|
let lastMbReported = 0;
|
|
49
53
|
console.log("");
|
|
50
|
-
response.
|
|
54
|
+
const stream = node_stream.Readable.fromWeb(response.body);
|
|
55
|
+
stream.on("data", (chunk) => {
|
|
51
56
|
transferred += chunk.length;
|
|
52
57
|
const currentMb = Math.floor(transferred / 1024 / 1024);
|
|
53
58
|
if (currentMb > lastMbReported) {
|
|
@@ -58,7 +63,7 @@ class ExportCommand extends cliCommon.Command {
|
|
|
58
63
|
});
|
|
59
64
|
const fileName = input.getOption("output") ?? `${project.name}.jsonl${gzipOutput ? ".gz" : ""}`;
|
|
60
65
|
const fileStream = node_fs.createWriteStream(fileName);
|
|
61
|
-
const responseStream = gzipOutput
|
|
66
|
+
const responseStream = !gzipOutput ? stream : stream.pipe(node_zlib.createGzip());
|
|
62
67
|
await promises.pipeline(responseStream, fileStream);
|
|
63
68
|
console.log("\nExport done.");
|
|
64
69
|
console.log(`Data saved to ${fileName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\
|
|
1
|
+
{"version":3,"file":"ExportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\nimport { Readable } from 'node:stream'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tif (!response.body) {\n\t\t\tthrow new Error('Response does not contain a readable stream.')\n\t\t}\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tconst stream = Readable.fromWeb(response.body as any)\n\t\tstream.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = !gzipOutput\n\t\t\t? stream\n\t\t\t: stream.pipe(createGzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":["Command","maskToken","Readable","printProgressLine","createWriteStream","createGzip","pipeline"],"mappings":";;;;;;;;;AAuBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,UAAA,EAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAGP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AACG,QAAA,CAAC,SAAS,MAAM;AACb,YAAA,IAAI,MAAM,8CAA8C;AAAA,IAAA;AAG/D,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK,IAAI;AACrB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACd,UAAM,SAASC,YAAA,SAAS,QAAQ,SAAS,IAAW;AAC7C,WAAA,GAAG,QAAQ,CAAS,UAAA;AAC1B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxDC,cAAA,kBAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAAA;AAAA,IAClB,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAaC,0BAAkB,QAAQ;AAE7C,UAAM,iBAAiB,CAAC,aACrB,SACA,OAAO,KAAKC,UAAAA,YAAY;AAErB,UAAAC,SAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EAAA;AAEzC;;"}
|
|
@@ -3,7 +3,8 @@ import { createWriteStream } from "node:fs";
|
|
|
3
3
|
import { maskToken } from "../../lib/maskToken.js";
|
|
4
4
|
import { pipeline } from "node:stream/promises";
|
|
5
5
|
import { printProgressLine } from "../../lib/transfer/stdio.js";
|
|
6
|
-
import { createGzip
|
|
6
|
+
import { createGzip } from "node:zlib";
|
|
7
|
+
import { Readable } from "node:stream";
|
|
7
8
|
class ExportCommand extends Command {
|
|
8
9
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
9
10
|
super();
|
|
@@ -41,11 +42,15 @@ class ExportCommand extends Command {
|
|
|
41
42
|
includeSystem,
|
|
42
43
|
gzip: gzipTransfer
|
|
43
44
|
});
|
|
45
|
+
if (!response.body) {
|
|
46
|
+
throw new Error("Response does not contain a readable stream.");
|
|
47
|
+
}
|
|
44
48
|
let transferred = 0;
|
|
45
49
|
let start = Date.now();
|
|
46
50
|
let lastMbReported = 0;
|
|
47
51
|
console.log("");
|
|
48
|
-
response.
|
|
52
|
+
const stream = Readable.fromWeb(response.body);
|
|
53
|
+
stream.on("data", (chunk) => {
|
|
49
54
|
transferred += chunk.length;
|
|
50
55
|
const currentMb = Math.floor(transferred / 1024 / 1024);
|
|
51
56
|
if (currentMb > lastMbReported) {
|
|
@@ -56,7 +61,7 @@ class ExportCommand extends Command {
|
|
|
56
61
|
});
|
|
57
62
|
const fileName = input.getOption("output") ?? `${project.name}.jsonl${gzipOutput ? ".gz" : ""}`;
|
|
58
63
|
const fileStream = createWriteStream(fileName);
|
|
59
|
-
const responseStream = gzipOutput
|
|
64
|
+
const responseStream = !gzipOutput ? stream : stream.pipe(createGzip());
|
|
60
65
|
await pipeline(responseStream, fileStream);
|
|
61
66
|
console.log("\nExport done.");
|
|
62
67
|
console.log(`Data saved to ${fileName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\
|
|
1
|
+
{"version":3,"file":"ExportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ExportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createWriteStream } from 'node:fs'\nimport { maskToken } from '../../lib/maskToken'\nimport { pipeline } from 'node:stream/promises'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { createGunzip, createGzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\nimport { Readable } from 'node:stream'\n\ntype Args = {\n\tsource?: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t/** @deprecated */\n\t'no-gzip'?: boolean\n\t'no-gzip-output'?: boolean\n\t'no-gzip-transfer'?: boolean\n\toutput?: string\n\t'exclude-table'?: string[]\n}\n\nexport class ExportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Export data from a project')\n\t\tconfiguration.argument('source').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip').valueNone().deprecated()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('no-gzip-output').valueNone()\n\t\tconfiguration.option('output').valueRequired()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst from = input.getArgument('source')\n\t\tconst project = await this.remoteProjectResolver.resolve(from)\n\t\tif (!project) {\n\t\t\tthrow `Project not defined`\n\t\t}\n\n\t\tconsole.log('')\n\t\tconsole.log('Exporting data from a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\n\t\tconst gzipOutput = !input.getOption('no-gzip-output') && !input.getOption('no-gzip')\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\n\t\tconst response = await this.dataTransferClient.dataExport({\n\t\t\tproject,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tincludeSystem,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tif (!response.body) {\n\t\t\tthrow new Error('Response does not contain a readable stream.')\n\t\t}\n\n\t\tlet transferred = 0\n\t\tlet start = Date.now()\n\t\tlet lastMbReported = 0\n\t\tconsole.log('')\n\t\tconst stream = Readable.fromWeb(response.body as any)\n\t\tstream.on('data', chunk => {\n\t\t\ttransferred += chunk.length\n\t\t\tconst currentMb = Math.floor(transferred / 1024 / 1024)\n\t\t\tif (currentMb > lastMbReported) {\n\t\t\t\tconst durationS = Math.floor((Date.now() - start) / 1000)\n\t\t\t\tprintProgressLine(`transferred ${currentMb} MiB; ${durationS} seconds`)\n\t\t\t\tlastMbReported = currentMb\n\t\t\t}\n\t\t})\n\n\t\tconst fileName = input.getOption('output') ?? `${project.name}.jsonl${gzipOutput ? '.gz' : ''}`\n\t\tconst fileStream = createWriteStream(fileName)\n\n\t\tconst responseStream = !gzipOutput\n\t\t\t? stream\n\t\t\t: stream.pipe(createGzip())\n\n\t\tawait pipeline(responseStream, fileStream)\n\n\t\tconsole.log('\\nExport done.')\n\t\tconsole.log(`Data saved to ${fileName}`)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAuBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACxC,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACjD,kBAAc,OAAO,SAAS,EAAE,UAAA,EAAY,WAAW;AACzC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,QAAQ,EAAE,cAAc;AAC/B,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,OAAO,MAAM,YAAY,QAAQ;AACvC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,IAAI;AAC7D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAGP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAE1C,UAAA,aAAa,CAAC,MAAM,UAAU,gBAAgB,KAAK,CAAC,MAAM,UAAU,SAAS;AACnF,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AAExD,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAE5D,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD;AAAA,MACA,MAAM;AAAA,IAAA,CACN;AACG,QAAA,CAAC,SAAS,MAAM;AACb,YAAA,IAAI,MAAM,8CAA8C;AAAA,IAAA;AAG/D,QAAI,cAAc;AACd,QAAA,QAAQ,KAAK,IAAI;AACrB,QAAI,iBAAiB;AACrB,YAAQ,IAAI,EAAE;AACd,UAAM,SAAS,SAAS,QAAQ,SAAS,IAAW;AAC7C,WAAA,GAAG,QAAQ,CAAS,UAAA;AAC1B,qBAAe,MAAM;AACrB,YAAM,YAAY,KAAK,MAAM,cAAc,OAAO,IAAI;AACtD,UAAI,YAAY,gBAAgB;AAC/B,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,GAAI;AACxD,0BAAkB,eAAe,SAAS,SAAS,SAAS,UAAU;AACrD,yBAAA;AAAA,MAAA;AAAA,IAClB,CACA;AAEK,UAAA,WAAW,MAAM,UAAU,QAAQ,KAAK,GAAG,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE;AACvF,UAAA,aAAa,kBAAkB,QAAQ;AAE7C,UAAM,iBAAiB,CAAC,aACrB,SACA,OAAO,KAAK,YAAY;AAErB,UAAA,SAAS,gBAAgB,UAAU;AAEzC,YAAQ,IAAI,gBAAgB;AACpB,YAAA,IAAI,iBAAiB,QAAQ,EAAE;AAAA,EAAA;AAEzC;"}
|
|
@@ -6,7 +6,6 @@ const node_zlib = require("node:zlib");
|
|
|
6
6
|
const utils = require("./utils.cjs");
|
|
7
7
|
const maskToken = require("../../lib/maskToken.cjs");
|
|
8
8
|
const stdio = require("../../lib/transfer/stdio.cjs");
|
|
9
|
-
const stream = require("../../lib/stream.cjs");
|
|
10
9
|
class ImportCommand extends cliCommon.Command {
|
|
11
10
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
12
11
|
super();
|
|
@@ -38,21 +37,25 @@ class ImportCommand extends cliCommon.Command {
|
|
|
38
37
|
}
|
|
39
38
|
const file = input.getArgument("file");
|
|
40
39
|
const baseInputStream = node_fs.createReadStream(file);
|
|
41
|
-
const stream
|
|
40
|
+
const stream = file.endsWith(".gz") ? baseInputStream.pipe(node_zlib.createGunzip()) : baseInputStream;
|
|
41
|
+
stream.on("error", (err) => {
|
|
42
|
+
console.error("Error in import stream:", err);
|
|
43
|
+
});
|
|
42
44
|
const gzipTransfer = !input.getOption("no-gzip-transfer");
|
|
43
45
|
const response = await this.dataTransferClient.dataImport({
|
|
44
|
-
stream
|
|
46
|
+
stream,
|
|
45
47
|
project,
|
|
46
48
|
printProgress: stdio.printProgressLine,
|
|
47
49
|
gzip: gzipTransfer
|
|
48
50
|
});
|
|
49
51
|
console.log("");
|
|
50
|
-
const responseData =
|
|
52
|
+
const responseData = await response.json();
|
|
51
53
|
if (responseData.ok) {
|
|
52
54
|
console.log("Import done.");
|
|
53
55
|
} else {
|
|
54
56
|
console.error("Import failed:");
|
|
55
57
|
console.log(responseData);
|
|
58
|
+
return 1;
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData =
|
|
1
|
+
{"version":3,"file":"ImportCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tstream.on('error', (err: any) => {\n\t\t\tconsole.error('Error in import stream:', err)\n\t\t})\n\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = await response.json()\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t\treturn 1\n\t\t}\n\t}\n}\n\n"],"names":["Command","maskToken","confirmImport","createReadStream","createGunzip","printProgressLine"],"mappings":";;;;;;;;AAmBO,MAAM,sBAAsBA,UAAAA,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EAAA;AAAA,EAGvC,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAEP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAUC,UAAA,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAEF,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkBC,yBAAiB,IAAI;AACvC,UAAA,SAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAKC,uBAAc,CAAA,IAAI;AACvE,WAAA,GAAG,SAAS,CAAC,QAAa;AACxB,cAAA,MAAM,2BAA2B,GAAG;AAAA,IAAA,CAC5C;AAED,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA;AAAA,MACA,eAAeC,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,MAAM,SAAS,KAAK;AACzC,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AACjB,aAAA;AAAA,IAAA;AAAA,EACR;AAEF;;"}
|
|
@@ -4,7 +4,6 @@ import { createGunzip } from "node:zlib";
|
|
|
4
4
|
import { confirmImport } from "./utils.js";
|
|
5
5
|
import { maskToken } from "../../lib/maskToken.js";
|
|
6
6
|
import { printProgressLine } from "../../lib/transfer/stdio.js";
|
|
7
|
-
import { readStream } from "../../lib/stream.js";
|
|
8
7
|
class ImportCommand extends Command {
|
|
9
8
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
10
9
|
super();
|
|
@@ -37,6 +36,9 @@ class ImportCommand extends Command {
|
|
|
37
36
|
const file = input.getArgument("file");
|
|
38
37
|
const baseInputStream = createReadStream(file);
|
|
39
38
|
const stream = file.endsWith(".gz") ? baseInputStream.pipe(createGunzip()) : baseInputStream;
|
|
39
|
+
stream.on("error", (err) => {
|
|
40
|
+
console.error("Error in import stream:", err);
|
|
41
|
+
});
|
|
40
42
|
const gzipTransfer = !input.getOption("no-gzip-transfer");
|
|
41
43
|
const response = await this.dataTransferClient.dataImport({
|
|
42
44
|
stream,
|
|
@@ -45,12 +47,13 @@ class ImportCommand extends Command {
|
|
|
45
47
|
gzip: gzipTransfer
|
|
46
48
|
});
|
|
47
49
|
console.log("");
|
|
48
|
-
const responseData =
|
|
50
|
+
const responseData = await response.json();
|
|
49
51
|
if (responseData.ok) {
|
|
50
52
|
console.log("Import done.");
|
|
51
53
|
} else {
|
|
52
54
|
console.error("Import failed:");
|
|
53
55
|
console.log(responseData);
|
|
56
|
+
return 1;
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData =
|
|
1
|
+
{"version":3,"file":"ImportCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/ImportCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { createReadStream } from 'node:fs'\nimport { createGunzip } from 'node:zlib'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tfile: string\n\ttarget?: string\n}\ntype Options = {\n\t'yes': boolean\n\t'no-gzip-transfer'?: boolean\n}\n\nexport class ImportCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Import data into a project')\n\t\tconfiguration.argument('file')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst target = input.getArgument('target')\n\t\tconst project = await this.remoteProjectResolver.resolve(target)\n\t\tif (!project) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\t\tconsole.log('')\n\t\tconsole.log('Importing data into a following project')\n\t\tconsole.log('')\n\t\tconsole.log(`Project name: ${project.name}`)\n\t\tconsole.log(`API URL: ${project.endpoint}`)\n\t\tconsole.log(`Token: ${maskToken(project.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\t\tconst file = input.getArgument('file')\n\t\tconst baseInputStream = createReadStream(file)\n\t\tconst stream = (file.endsWith('.gz') ? baseInputStream.pipe(createGunzip()) : baseInputStream)\n\t\tstream.on('error', (err: any) => {\n\t\t\tconsole.error('Error in import stream:', err)\n\t\t})\n\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst response = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\t\tconst responseData = await response.json()\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Import done.')\n\t\t} else {\n\t\t\tconsole.error('Import failed:')\n\t\t\tconsole.log(responseData)\n\t\t\treturn 1\n\t\t}\n\t}\n}\n\n"],"names":[],"mappings":";;;;;;AAmBO,MAAM,sBAAsB,QAAuB;AAAA,EACzD,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,4BAA4B;AACtD,kBAAc,SAAS,MAAM;AACf,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AAAA,EAAA;AAAA,EAGvC,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,UAAU,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AAC/D,QAAI,CAAC,SAAS;AACP,YAAA;AAAA,IAAA;AAEP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,yCAAyC;AACrD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,iBAAiB,QAAQ,IAAI,EAAE;AAC3C,YAAQ,IAAI,YAAY,QAAQ,QAAQ,EAAE;AAC1C,YAAQ,IAAI,UAAU,UAAU,QAAQ,KAAK,CAAC,EAAE;AAChD,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAEF,UAAA,OAAO,MAAM,YAAY,MAAM;AAC/B,UAAA,kBAAkB,iBAAiB,IAAI;AACvC,UAAA,SAAU,KAAK,SAAS,KAAK,IAAI,gBAAgB,KAAK,aAAc,CAAA,IAAI;AACvE,WAAA,GAAG,SAAS,CAAC,QAAa;AACxB,cAAA,MAAM,2BAA2B,GAAG;AAAA,IAAA,CAC5C;AAED,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,WAAW,MAAM,KAAK,mBAAmB,WAAW;AAAA,MACzD;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AACR,UAAA,eAAe,MAAM,SAAS,KAAK;AACzC,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,cAAc;AAAA,IAAA,OACpB;AACN,cAAQ,MAAM,gBAAgB;AAC9B,cAAQ,IAAI,YAAY;AACjB,aAAA;AAAA,IAAA;AAAA,EACR;AAEF;"}
|
|
@@ -4,8 +4,7 @@ const cliCommon = require("@contember/cli-common");
|
|
|
4
4
|
const utils = require("./utils.cjs");
|
|
5
5
|
const maskToken = require("../../lib/maskToken.cjs");
|
|
6
6
|
const stdio = require("../../lib/transfer/stdio.cjs");
|
|
7
|
-
const
|
|
8
|
-
const node_zlib = require("node:zlib");
|
|
7
|
+
const node_stream = require("node:stream");
|
|
9
8
|
class TransferCommand extends cliCommon.Command {
|
|
10
9
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
11
10
|
super();
|
|
@@ -54,15 +53,15 @@ class TransferCommand extends cliCommon.Command {
|
|
|
54
53
|
excludeTables: input.getOption("exclude-table") ?? [],
|
|
55
54
|
gzip: gzipTransfer
|
|
56
55
|
});
|
|
57
|
-
const
|
|
56
|
+
const stream = node_stream.Readable.fromWeb(exportResponse.body);
|
|
58
57
|
const importResponse = await this.dataTransferClient.dataImport({
|
|
59
|
-
stream
|
|
58
|
+
stream,
|
|
60
59
|
project: targetProject,
|
|
61
60
|
printProgress: stdio.printProgressLine,
|
|
62
61
|
gzip: gzipTransfer
|
|
63
62
|
});
|
|
64
63
|
console.log("");
|
|
65
|
-
const responseData =
|
|
64
|
+
const responseData = await importResponse.json();
|
|
66
65
|
if (responseData.ok) {
|
|
67
66
|
console.log("Transfer done.");
|
|
68
67
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst
|
|
1
|
+
{"version":3,"file":"TransferCommand.cjs","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\nimport { Duplex, Readable } from 'node:stream'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst stream = Readable.fromWeb(exportResponse.body! as any)\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = await importResponse.json()\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":["Command","maskToken","confirmImport","Readable","printProgressLine"],"mappings":";;;;;;;AAqBO,MAAM,wBAAwBA,UAAAA,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAGD,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAIP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBC,UAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiBA,UAAA,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAMC,oBAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAGR,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,SAASC,YAAA,SAAS,QAAQ,eAAe,IAAY;AAC3D,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D;AAAA,MACA,SAAS;AAAA,MACT,eAAeC,MAAA;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,MAAM,eAAe,KAAK;AAC/C,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;;"}
|
|
@@ -2,8 +2,7 @@ import { Command } from "@contember/cli-common";
|
|
|
2
2
|
import { confirmImport } from "./utils.js";
|
|
3
3
|
import { maskToken } from "../../lib/maskToken.js";
|
|
4
4
|
import { printProgressLine } from "../../lib/transfer/stdio.js";
|
|
5
|
-
import {
|
|
6
|
-
import { createGunzip } from "node:zlib";
|
|
5
|
+
import { Readable } from "node:stream";
|
|
7
6
|
class TransferCommand extends Command {
|
|
8
7
|
constructor(remoteProjectResolver, dataTransferClient) {
|
|
9
8
|
super();
|
|
@@ -52,15 +51,15 @@ class TransferCommand extends Command {
|
|
|
52
51
|
excludeTables: input.getOption("exclude-table") ?? [],
|
|
53
52
|
gzip: gzipTransfer
|
|
54
53
|
});
|
|
55
|
-
const
|
|
54
|
+
const stream = Readable.fromWeb(exportResponse.body);
|
|
56
55
|
const importResponse = await this.dataTransferClient.dataImport({
|
|
57
|
-
stream
|
|
56
|
+
stream,
|
|
58
57
|
project: targetProject,
|
|
59
58
|
printProgress: printProgressLine,
|
|
60
59
|
gzip: gzipTransfer
|
|
61
60
|
});
|
|
62
61
|
console.log("");
|
|
63
|
-
const responseData =
|
|
62
|
+
const responseData = await importResponse.json();
|
|
64
63
|
if (responseData.ok) {
|
|
65
64
|
console.log("Transfer done.");
|
|
66
65
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst
|
|
1
|
+
{"version":3,"file":"TransferCommand.js","sources":["../../../../../../packages/cli/src/commands/transfer/TransferCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { confirmImport } from './utils'\nimport { maskToken } from '../../lib/maskToken'\nimport { printProgressLine } from '../../lib/transfer/stdio'\nimport { readStream } from '../../lib/stream'\nimport { createGunzip } from 'node:zlib'\nimport { RemoteProjectResolver } from '../../lib/project/RemoteProjectResolver'\nimport { DataTransferClient } from '../../lib/transfer/DataTransferClient'\nimport { Duplex, Readable } from 'node:stream'\n\ntype Args = {\n\tsource: string\n\ttarget: string\n}\ntype Options = {\n\t'include-system'?: boolean\n\t'no-gzip-transfer'?: boolean\n\tyes: boolean\n\t'exclude-table'?: string[]\n}\n\nexport class TransferCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly remoteProjectResolver: RemoteProjectResolver,\n\t\tprivate readonly dataTransferClient: DataTransferClient,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Transfer data between projects')\n\t\tconfiguration.argument('source')\n\t\tconfiguration.argument('target').optional()\n\t\tconfiguration.option('include-system').valueNone()\n\t\tconfiguration.option('no-gzip-transfer').valueNone()\n\t\tconfiguration.option('yes').valueNone()\n\t\tconfiguration.option('exclude-table').valueArray()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void | number> {\n\t\tconst source = input.getArgument('source')\n\t\tconst sourceProject = await this.remoteProjectResolver.resolve(source)\n\t\tif (!sourceProject) {\n\t\t\tthrow `Source project not defined`\n\t\t}\n\n\t\tconst target = input.getArgument('target')\n\t\tconst targetProject = await this.remoteProjectResolver.resolve(target)\n\t\tif (!targetProject) {\n\t\t\tthrow `Target project not defined`\n\t\t}\n\n\n\t\tconsole.log('')\n\t\tconsole.log('Transferring data between projects:')\n\t\tconsole.log('')\n\t\tconsole.log(`Source project name: ${sourceProject.name}`)\n\t\tconsole.log(`Source API URL: ${sourceProject.endpoint}`)\n\t\tconsole.log(`Source token: ${maskToken(sourceProject.token)}`)\n\t\tconsole.log('')\n\t\tconsole.log(`Target project name: ${targetProject.name}`)\n\t\tconsole.log(`Target API URL: ${targetProject.endpoint}`)\n\t\tconsole.log(`Target token: ${maskToken(targetProject.token)}`)\n\t\tconsole.log('')\n\t\tif (!await confirmImport(input)) {\n\t\t\treturn 1\n\t\t}\n\n\t\tconst includeSystem = input.getOption('include-system') === true\n\t\tconst gzipTransfer = !input.getOption('no-gzip-transfer')\n\t\tconst exportResponse = (await this.dataTransferClient.dataExport({\n\t\t\tproject: sourceProject,\n\t\t\tincludeSystem,\n\t\t\texcludeTables: input.getOption('exclude-table') ?? [],\n\t\t\tgzip: gzipTransfer,\n\t\t}))\n\t\tconst stream = Readable.fromWeb(exportResponse.body! as any)\n\t\tconst importResponse = await this.dataTransferClient.dataImport({\n\t\t\tstream: stream,\n\t\t\tproject: targetProject,\n\t\t\tprintProgress: printProgressLine,\n\t\t\tgzip: gzipTransfer,\n\t\t})\n\t\tconsole.log('')\n\n\t\tconst responseData = await importResponse.json()\n\t\tif (responseData.ok) {\n\t\t\tconsole.log('Transfer done.')\n\t\t} else {\n\t\t\tconsole.error('Transfer failed:')\n\t\t\tconsole.log(responseData)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAqBO,MAAM,wBAAwB,QAAuB;AAAA,EAC3D,YACkB,uBACA,oBAChB;AACK,UAAA;AAHW,SAAA,wBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAKR,UAAU,eAA0D;AAC7E,kBAAc,YAAY,gCAAgC;AAC1D,kBAAc,SAAS,QAAQ;AACjB,kBAAA,SAAS,QAAQ,EAAE,SAAS;AAC5B,kBAAA,OAAO,gBAAgB,EAAE,UAAU;AACnC,kBAAA,OAAO,kBAAkB,EAAE,UAAU;AACrC,kBAAA,OAAO,KAAK,EAAE,UAAU;AACxB,kBAAA,OAAO,eAAe,EAAE,WAAW;AAAA,EAAA;AAAA,EAGlD,MAAgB,QAAQ,OAAqD;AACtE,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAGD,UAAA,SAAS,MAAM,YAAY,QAAQ;AACzC,UAAM,gBAAgB,MAAM,KAAK,sBAAsB,QAAQ,MAAM;AACrE,QAAI,CAAC,eAAe;AACb,YAAA;AAAA,IAAA;AAIP,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,qCAAqC;AACjD,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,wBAAwB,cAAc,IAAI,EAAE;AACxD,YAAQ,IAAI,mBAAmB,cAAc,QAAQ,EAAE;AACvD,YAAQ,IAAI,iBAAiB,UAAU,cAAc,KAAK,CAAC,EAAE;AAC7D,YAAQ,IAAI,EAAE;AACd,QAAI,CAAC,MAAM,cAAc,KAAK,GAAG;AACzB,aAAA;AAAA,IAAA;AAGR,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,MAAM;AAC5D,UAAM,eAAe,CAAC,MAAM,UAAU,kBAAkB;AACxD,UAAM,iBAAkB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAChE,SAAS;AAAA,MACT;AAAA,MACA,eAAe,MAAM,UAAU,eAAe,KAAK,CAAC;AAAA,MACpD,MAAM;AAAA,IAAA,CACN;AACD,UAAM,SAAS,SAAS,QAAQ,eAAe,IAAY;AAC3D,UAAM,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;AAAA,MAC/D;AAAA,MACA,SAAS;AAAA,MACT,eAAe;AAAA,MACf,MAAM;AAAA,IAAA,CACN;AACD,YAAQ,IAAI,EAAE;AAER,UAAA,eAAe,MAAM,eAAe,KAAK;AAC/C,QAAI,aAAa,IAAI;AACpB,cAAQ,IAAI,gBAAgB;AAAA,IAAA,OACtB;AACN,cAAQ,MAAM,kBAAkB;AAChC,cAAQ,IAAI,YAAY;AAAA,IAAA;AAAA,EACzB;AAEF;"}
|
|
@@ -40,6 +40,12 @@ const DockerComposeManager = require("./lib/fs/DockerComposeManager.cjs");
|
|
|
40
40
|
const RemoteProjectProvider = require("./lib/project/RemoteProjectProvider.cjs");
|
|
41
41
|
const SystemClientProvider = require("./lib/SystemClientProvider.cjs");
|
|
42
42
|
const TenantClientProvider = require("./lib/TenantClientProvider.cjs");
|
|
43
|
+
const ActionsListVariablesCommand = require("./commands/actions/ActionsListVariablesCommand.cjs");
|
|
44
|
+
const ActionsSetVariablesCommand = require("./commands/actions/ActionsSetVariablesCommand.cjs");
|
|
45
|
+
const ActionsListFailedEventsCommand = require("./commands/actions/ActionsListFailedEventsCommand.cjs");
|
|
46
|
+
const ActionsRetryEventCommand = require("./commands/actions/ActionsRetryEventCommand.cjs");
|
|
47
|
+
const ActionsGetEventCommand = require("./commands/actions/ActionsGetEventCommand.cjs");
|
|
48
|
+
const ActionsStopEventCommand = require("./commands/actions/ActionsStopEventCommand.cjs");
|
|
43
49
|
const jsSample = `
|
|
44
50
|
export const query = \`\`
|
|
45
51
|
export const variables = {}
|
|
@@ -80,7 +86,7 @@ const createContainer = ({ env, version, runtime, workspace }) => {
|
|
|
80
86
|
json: JSON.stringify({ formatVersion: migrationsClient.VERSION_LATEST, modifications: [] }, void 0, " ") + "\n",
|
|
81
87
|
ts: jsSample,
|
|
82
88
|
js: jsSample
|
|
83
|
-
})).addService("migrationDescriber", ({ modificationHandlerFactory }) => new migrationsClient.MigrationDescriber(modificationHandlerFactory)).addService("migrationPrinter", ({ migrationDescriber }) => new MigrationPrinter.MigrationPrinter(migrationDescriber)).addService("migrationsExecutor", () => new migrationsClient.MigrationExecutor()).addService("migrationsStatusResolver", () => new migrationsClient.MigrationsStatusResolver()).addService("migrationsStatusFacade", ({ systemClientProvider, migrationsResolver, migrationsStatusResolver }) => new MigrationsStatusFacade.MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver)).addService("migrationExecutionFacade", ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) => new MigrationExecutionFacade.MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade)).addService("migrationsValidator", ({ migrationDescriber, schemaMigrator }) => new MigrationsValidator.MigrationsValidator(migrationDescriber, schemaMigrator)).addService("migrationRebaseFacade", ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) => new MigrationRebaseFacade.MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager)).addService("schemaLoader", ({ workspace: workspace2, jsCodeRunner, runtime: runtime2 }) => runtime2 === "bun" ? new SchemaLoader.ImportSchemaLoader(workspace2) : new SchemaLoader.TranspilingSchemaLoader(workspace2, jsCodeRunner)).addService("adminDeployer", ({ remoteProjectProvider, adminClient, fs }) => new AdminDeployer.AdminDeployer(remoteProjectProvider, adminClient, fs)).addService("dataTransferClient", () => new DataTransferClient.DataTransferClient()).addService("deployCommand", ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace: workspace2 }) => new DeployCommand.DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace2)).addService("migrationAmendCommand", ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) => new MigrationAmendCommand.MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator)).addService("migrationBlankCommand", ({ migrationCreator }) => new MigrationBlankCommand.MigrationBlankCommand(migrationCreator)).addService("migrationDescribeCommand", ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) => new MigrationDescribeCommand.MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver)).addService("migrationDiffCommand", ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) => new MigrationDiffCommand.MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade)).addService("migrationExecuteCommand", ({ migrationExecutionFacade }) => new MigrationExecuteCommand.MigrationExecuteCommand(migrationExecutionFacade)).addService("migrationRebaseCommand", ({ migrationsResolver, migrationRebaseFacade }) => new MigrationRebaseCommand.MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade)).addService("migrationStatusCommand", ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) => new MigrationStatusCommand.MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter)).addService("versionCommand", ({ version: version2 }) => new VersionCommand.VersionCommand(version2)).addService("projectGenerateDocumentationCommand", ({ schemaLoader, schemaVersionBuilder }) => new ProjectGenerateDocumentationCommand.ProjectGenerateDocumentationCommand(schemaLoader, schemaVersionBuilder)).addService("projectPrintSchemaCommand", ({ schemaLoader, schemaVersionBuilder }) => new ProjectPrintSchemaCommand.ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder)).addService("projectValidateCommand", ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) => new ProjectValidateCommand.ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder)).addService("exportCommand", ({ dataTransferClient, remoteProjectResolver }) => new ExportCommand.ExportCommand(remoteProjectResolver, dataTransferClient)).addService("importCommand", ({ dataTransferClient, remoteProjectResolver }) => new ImportCommand.ImportCommand(remoteProjectResolver, dataTransferClient)).addService("transferCommand", ({ dataTransferClient, remoteProjectResolver }) => new TransferCommand.TransferCommand(remoteProjectResolver, dataTransferClient)).addService("workspaceUpdateCommand", ({ packageWorkspaceResolver, dockerComposeManager }) => new WorkspaceUpdateApiCommand.WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager)).addService("commandList", (dic2) => {
|
|
89
|
+
})).addService("migrationDescriber", ({ modificationHandlerFactory }) => new migrationsClient.MigrationDescriber(modificationHandlerFactory)).addService("migrationPrinter", ({ migrationDescriber }) => new MigrationPrinter.MigrationPrinter(migrationDescriber)).addService("migrationsExecutor", () => new migrationsClient.MigrationExecutor()).addService("migrationsStatusResolver", () => new migrationsClient.MigrationsStatusResolver()).addService("migrationsStatusFacade", ({ systemClientProvider, migrationsResolver, migrationsStatusResolver, migrationPrinter }) => new MigrationsStatusFacade.MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver, migrationPrinter)).addService("migrationExecutionFacade", ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) => new MigrationExecutionFacade.MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade)).addService("migrationsValidator", ({ migrationDescriber, schemaMigrator }) => new MigrationsValidator.MigrationsValidator(migrationDescriber, schemaMigrator)).addService("migrationRebaseFacade", ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) => new MigrationRebaseFacade.MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager)).addService("schemaLoader", ({ workspace: workspace2, jsCodeRunner, runtime: runtime2 }) => runtime2 === "bun" ? new SchemaLoader.ImportSchemaLoader(workspace2) : new SchemaLoader.TranspilingSchemaLoader(workspace2, jsCodeRunner)).addService("adminDeployer", ({ remoteProjectProvider, adminClient, fs }) => new AdminDeployer.AdminDeployer(remoteProjectProvider, adminClient, fs)).addService("dataTransferClient", () => new DataTransferClient.DataTransferClient()).addService("deployCommand", ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace: workspace2 }) => new DeployCommand.DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace2)).addService("migrationAmendCommand", ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) => new MigrationAmendCommand.MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator)).addService("migrationBlankCommand", ({ migrationCreator }) => new MigrationBlankCommand.MigrationBlankCommand(migrationCreator)).addService("migrationDescribeCommand", ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) => new MigrationDescribeCommand.MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver)).addService("migrationDiffCommand", ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) => new MigrationDiffCommand.MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade)).addService("migrationExecuteCommand", ({ migrationExecutionFacade }) => new MigrationExecuteCommand.MigrationExecuteCommand(migrationExecutionFacade)).addService("migrationRebaseCommand", ({ migrationsResolver, migrationRebaseFacade }) => new MigrationRebaseCommand.MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade)).addService("migrationStatusCommand", ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) => new MigrationStatusCommand.MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter)).addService("versionCommand", ({ version: version2 }) => new VersionCommand.VersionCommand(version2)).addService("projectGenerateDocumentationCommand", ({ schemaLoader, schemaVersionBuilder }) => new ProjectGenerateDocumentationCommand.ProjectGenerateDocumentationCommand(schemaLoader, schemaVersionBuilder)).addService("projectPrintSchemaCommand", ({ schemaLoader, schemaVersionBuilder }) => new ProjectPrintSchemaCommand.ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder)).addService("projectValidateCommand", ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) => new ProjectValidateCommand.ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder)).addService("exportCommand", ({ dataTransferClient, remoteProjectResolver }) => new ExportCommand.ExportCommand(remoteProjectResolver, dataTransferClient)).addService("importCommand", ({ dataTransferClient, remoteProjectResolver }) => new ImportCommand.ImportCommand(remoteProjectResolver, dataTransferClient)).addService("transferCommand", ({ dataTransferClient, remoteProjectResolver }) => new TransferCommand.TransferCommand(remoteProjectResolver, dataTransferClient)).addService("workspaceUpdateCommand", ({ packageWorkspaceResolver, dockerComposeManager }) => new WorkspaceUpdateApiCommand.WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager)).addService("actionsListVariables", ({ remoteProjectResolver }) => new ActionsListVariablesCommand.ActionsListVariablesCommand(remoteProjectResolver)).addService("actionsSetVariables", ({ remoteProjectResolver }) => new ActionsSetVariablesCommand.ActionsSetVariablesCommand(remoteProjectResolver)).addService("actionsListFailedEvents", ({ remoteProjectResolver }) => new ActionsListFailedEventsCommand.ActionsListFailedEventsCommand(remoteProjectResolver)).addService("actionsRetryEvent", ({ remoteProjectResolver }) => new ActionsRetryEventCommand.ActionsRetryEventCommand(remoteProjectResolver)).addService("actionsGetEvent", ({ remoteProjectResolver }) => new ActionsGetEventCommand.ActionsGetEventCommand(remoteProjectResolver)).addService("actionsStopEvent", ({ remoteProjectResolver }) => new ActionsStopEventCommand.ActionsStopEventCommand(remoteProjectResolver)).addService("commandList", (dic2) => {
|
|
84
90
|
const commands = {
|
|
85
91
|
["deploy"]: () => dic2.deployCommand,
|
|
86
92
|
["version"]: () => dic2.versionCommand,
|
|
@@ -97,7 +103,13 @@ const createContainer = ({ env, version, runtime, workspace }) => {
|
|
|
97
103
|
["workspace:update:api"]: () => dic2.workspaceUpdateCommand,
|
|
98
104
|
["project:validate"]: () => dic2.projectValidateCommand,
|
|
99
105
|
["project:print-schema"]: () => dic2.projectPrintSchemaCommand,
|
|
100
|
-
["project:generate-doc"]: () => dic2.projectGenerateDocumentationCommand
|
|
106
|
+
["project:generate-doc"]: () => dic2.projectGenerateDocumentationCommand,
|
|
107
|
+
["actions:list-variables"]: () => dic2.actionsListVariables,
|
|
108
|
+
["actions:set-variables"]: () => dic2.actionsSetVariables,
|
|
109
|
+
["actions:failed-events"]: () => dic2.actionsListFailedEvents,
|
|
110
|
+
["actions:retry-event"]: () => dic2.actionsRetryEvent,
|
|
111
|
+
["actions:get-event"]: () => dic2.actionsGetEvent,
|
|
112
|
+
["actions:stop-event"]: () => dic2.actionsStopEvent
|
|
101
113
|
};
|
|
102
114
|
return commands;
|
|
103
115
|
}).addService("commandManager", ({ commandList }) => new cliCommon.CommandManager(commandList)).addService("versionChecker", ({ version: version2, workspace: workspace2, packageWorkspaceResolver, dockerComposeManager }) => new VersionChecker.VersionChecker(version2, workspace2.baseDir, packageWorkspaceResolver, dockerComposeManager)).addService("application", ({ commandManager, versionChecker }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dic.cjs","sources":["../../../../packages/cli/src/dic.ts"],"sourcesContent":["import { Builder } from '@contember/dic'\nimport {\n\tJsLoader,\n\tJsonLoader,\n\tMigrationCreator,\n\tMigrationDescriber,\n\tMigrationExecutor,\n\tMigrationFilesManager,\n\tMigrationParser,\n\tMigrationsResolver,\n\tMigrationsStatusResolver,\n\tModificationHandlerFactory,\n\tSchemaDiffer,\n\tSchemaMigrator,\n\tSchemaVersionBuilder,\n\tVERSION_LATEST,\n} from '@contember/migrations-client'\nimport { JsCodeRunner } from './lib/js/JsCodeRunner'\nimport { EsBuildBuilder } from './lib/js/EsBuildBuilder'\nimport { EvalExecutor } from './lib/js/EvalExecutor'\nimport { AdminDeployer } from './lib/admin/AdminDeployer'\nimport { RemoteProjectResolver } from './lib/project/RemoteProjectResolver'\nimport { CliEnv } from './lib/env'\nimport { AdminClient } from './lib/admin/AdminClient'\nimport { FileSystem } from './lib/fs/FileSystem'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport {\n\tDeployCommand,\n\tMigrationAmendCommand,\n\tMigrationBlankCommand,\n\tMigrationDescribeCommand,\n\tMigrationDiffCommand,\n\tMigrationExecuteCommand,\n\tMigrationRebaseCommand,\n\tMigrationStatusCommand,\n\tProjectGenerateDocumentationCommand,\n\tProjectPrintSchemaCommand,\n\tProjectValidateCommand,\n\tVersionCommand,\n\tWorkspaceUpdateApiCommand,\n} from './commands'\nimport { MigrationExecutionFacade } from './lib/migrations/MigrationExecutionFacade'\nimport { MigrationPrinter } from './lib/migrations/MigrationPrinter'\nimport { MigrationsStatusFacade } from './lib/migrations/MigrationsStatusFacade'\nimport { ImportSchemaLoader, SchemaLoader, TranspilingSchemaLoader } from './lib/schema/SchemaLoader'\nimport { MigrationsValidator } from './lib/migrations/MigrationsValidator'\nimport { MigrationRebaseFacade } from './lib/migrations/MigrationRebaseFacade'\nimport { DataTransferClient } from './lib/transfer/DataTransferClient'\nimport { ExportCommand, ImportCommand, TransferCommand } from './commands/transfer'\nimport {\n\tApplication,\n\tCommandFactoryList,\n\tCommandManager,\n\tCommandRunner,\n\tNpm,\n\tBun,\n\tPackageWorkspaceResolver,\n\tPnpm,\n\tYarn,\n\tYarnClassic,\n} from '@contember/cli-common'\nimport { VersionChecker } from './lib/VersionChecker'\nimport { DockerComposeManager } from './lib/fs/DockerComposeManager'\nimport { RemoteProjectProvider } from './lib/project/RemoteProjectProvider'\nimport { SystemClientProvider } from './lib/SystemClientProvider'\nimport { TenantClientProvider } from './lib/TenantClientProvider'\nimport { Workspace } from './lib/workspace/Workspace'\n\nconst jsSample = `\nexport const query = \\`\\`\nexport const variables = {}\n\n// or multiple queries\n// export const queries = []\n\n// or a factory\n// export default async () => ({ queries: [] })\n`\n\nexport const createContainer = ({ env, version, runtime, workspace }: {\n\tworkspace: Workspace\n\tenv: CliEnv\n\tversion: string\n\truntime: 'node' | 'bun'\n}) => {\n\treturn new Builder({})\n\t\t.addService('env', () =>\n\t\t\tenv)\n\t\t.addService('version', () =>\n\t\t\tversion)\n\t\t.addService('runtime', () =>\n\t\t\truntime)\n\t\t.addService('workspace', () =>\n\t\t\tworkspace)\n\t\t.addService('fs', () =>\n\t\t\tnew FileSystem())\n\t\t.addService('yamlHandler', ({ fs }) =>\n\t\t\tnew YamlHandler(fs))\n\t\t.addService('jsExecutor', () =>\n\t\t\tnew EvalExecutor())\n\t\t.addService('jsBuilder', () =>\n\t\t\tnew EsBuildBuilder())\n\t\t.addService('jsCodeRunner', ({ jsExecutor, jsBuilder }) =>\n\t\t\tnew JsCodeRunner(jsBuilder, jsExecutor))\n\n\t\t.addService('workspaceResolver', ({ yamlHandler }) =>\n\t\t\tnew WorkspaceResolver(yamlHandler))\n\n\t\t.addService('remoteProjectResolver', ({ env }) =>\n\t\t\tnew RemoteProjectResolver(env))\n\t\t.addService('remoteProjectProvider', ({ remoteProjectResolver }) => {\n\t\t\tconst provider = new RemoteProjectProvider()\n\t\t\tconst remoteProject = remoteProjectResolver.resolve()\n\t\t\tif (remoteProject) {\n\t\t\t\tprovider.setRemoteProject(remoteProject)\n\t\t\t}\n\t\t\treturn provider\n\t\t})\n\t\t.addService('systemClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew SystemClientProvider(remoteProjectProvider))\n\t\t.addService('tenantClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew TenantClientProvider(remoteProjectProvider))\n\t\t.addService('adminClient', ({ remoteProjectProvider }) =>\n\t\t\tnew AdminClient(remoteProjectProvider))\n\t\t.addService('migrationFilesManager', ({ jsCodeRunner, workspace }) => {\n\t\t\tconst runJs = runtime === 'bun' ? (file: string) => import(file) : jsCodeRunner.run\n\t\t\treturn new MigrationFilesManager(workspace.migrationsDir, {\n\t\t\t\tjson: new JsonLoader(new MigrationParser()),\n\t\t\t\tts: new JsLoader(new MigrationParser(), runJs),\n\t\t\t\tjs: new JsLoader(new MigrationParser(), runJs),\n\t\t\t})\n\t\t})\n\t\t.addService('packageWorkspaceResolver', ({ workspace, fs }) => {\n\t\t\tconst commandRunner = new CommandRunner()\n\t\t\treturn new PackageWorkspaceResolver(workspace.baseDir, fs, [\n\t\t\t\tnew Yarn(fs, commandRunner),\n\t\t\t\tnew YarnClassic(fs, commandRunner),\n\t\t\t\tnew Pnpm(fs, commandRunner),\n\t\t\t\tnew Npm(fs, commandRunner),\n\t\t\t\tnew Bun(fs, commandRunner),\n\t\t\t])\n\t\t})\n\t\t.addService('dockerComposeManager', ({ workspace, env, fs, yamlHandler }) =>\n\t\t\tnew DockerComposeManager(workspace.baseDir, env.dockerComposeFile, fs, yamlHandler))\n\t\t.addService('modificationHandlerFactory', () =>\n\t\t\tnew ModificationHandlerFactory(ModificationHandlerFactory.defaultFactoryMap))\n\t\t.addService('schemaMigrator', ({ modificationHandlerFactory }) =>\n\t\t\tnew SchemaMigrator(modificationHandlerFactory))\n\t\t.addService('migrationsResolver', ({ migrationFilesManager }) =>\n\t\t\tnew MigrationsResolver(migrationFilesManager))\n\t\t.addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) =>\n\t\t\tnew SchemaVersionBuilder(migrationsResolver, schemaMigrator))\n\t\t.addService('schemaDiffer', ({ schemaMigrator }) =>\n\t\t\tnew SchemaDiffer(schemaMigrator, {\n\t\t\t\tmaxPatchSize: env.migrationsOptions?.maxPatchSize,\n\t\t\t}))\n\t\t.addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) =>\n\t\t\tnew MigrationCreator(migrationFilesManager, schemaDiffer, {\n\t\t\t\tjson: JSON.stringify({ formatVersion: VERSION_LATEST, modifications: [] }, undefined, '\\t') + '\\n',\n\t\t\t\tts: jsSample,\n\t\t\t\tjs: jsSample,\n\t\t\t}))\n\t\t.addService('migrationDescriber', ({ modificationHandlerFactory }) =>\n\t\t\tnew MigrationDescriber(modificationHandlerFactory))\n\t\t.addService('migrationPrinter', ({ migrationDescriber }) =>\n\t\t\tnew MigrationPrinter(migrationDescriber))\n\t\t.addService('migrationsExecutor', () =>\n\t\t\tnew MigrationExecutor())\n\t\t.addService('migrationsStatusResolver', () =>\n\t\t\tnew MigrationsStatusResolver())\n\t\t.addService('migrationsStatusFacade', ({ systemClientProvider, migrationsResolver, migrationsStatusResolver }) =>\n\t\t\tnew MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver))\n\t\t.addService('migrationExecutionFacade', ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) =>\n\t\t\tnew MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade))\n\t\t.addService('migrationsValidator', ({ migrationDescriber, schemaMigrator }) =>\n\t\t\tnew MigrationsValidator(migrationDescriber, schemaMigrator))\n\t\t.addService('migrationRebaseFacade', ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) =>\n\t\t\tnew MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager))\n\t\t.addService('schemaLoader', ({ workspace, jsCodeRunner, runtime }) =>\n\t\t\truntime === 'bun' ? new ImportSchemaLoader(workspace) : new TranspilingSchemaLoader(workspace, jsCodeRunner))\n\n\t\t.addService('adminDeployer', ({ remoteProjectProvider, adminClient, fs }) =>\n\t\t\tnew AdminDeployer(remoteProjectProvider, adminClient, fs))\n\t\t.addService('dataTransferClient', () =>\n\t\t\tnew DataTransferClient())\n\n\n\t\t.addService('deployCommand', ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace }) =>\n\t\t \tnew DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace))\n\t\t.addService('migrationAmendCommand', ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) =>\n\t\t\tnew MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator))\n\t\t.addService('migrationBlankCommand', ({ migrationCreator }) =>\n\t\t\tnew MigrationBlankCommand(migrationCreator))\n\t\t.addService('migrationDescribeCommand', ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) =>\n\t\t\tnew MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver))\n\t\t.addService('migrationDiffCommand', ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) =>\n\t\t\tnew MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade))\n\t\t.addService('migrationExecuteCommand', ({ migrationExecutionFacade }) =>\n\t\t\tnew MigrationExecuteCommand(migrationExecutionFacade))\n\t\t.addService('migrationRebaseCommand', ({ migrationsResolver, migrationRebaseFacade }) =>\n\t\t\tnew MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade))\n\t\t.addService('migrationStatusCommand', ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) =>\n\t\t\tnew MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter))\n\t\t.addService('versionCommand', ({ version }) =>\n\t\t\tnew VersionCommand(version))\n\t\t.addService('projectGenerateDocumentationCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectGenerateDocumentationCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectPrintSchemaCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectValidateCommand', ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) =>\n\t\t\tnew ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder))\n\t\t.addService('exportCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ExportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('importCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ImportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('transferCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew TransferCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('workspaceUpdateCommand', ({ packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('commandList', dic => {\n\t\t\tconst commands: CommandFactoryList = {\n\t\t\t\t['deploy']: () => dic.deployCommand,\n\t\t\t\t['version']: () => dic.versionCommand,\n\t\t\t\t['data:export']: () => dic.exportCommand,\n\t\t\t\t['data:import']: () => dic.importCommand,\n\t\t\t\t['data:transfer']: () => dic.transferCommand,\n\t\t\t\t['migrations:diff']: () => dic.migrationDiffCommand,\n\t\t\t\t['migrations:amend']: () => dic.migrationAmendCommand,\n\t\t\t\t['migrations:blank']: () => dic.migrationBlankCommand,\n\t\t\t\t['migrations:describe']: () => dic.migrationDescribeCommand,\n\t\t\t\t['migrations:execute']: () => dic.migrationExecuteCommand,\n\t\t\t\t['migrations:rebase']: () => dic.migrationRebaseCommand,\n\t\t\t\t['migrations:status']: () => dic.migrationStatusCommand,\n\t\t\t\t['workspace:update:api']: () => dic.workspaceUpdateCommand,\n\t\t\t\t['project:validate']: () => dic.projectValidateCommand,\n\t\t\t\t['project:print-schema']: () => dic.projectPrintSchemaCommand,\n\t\t\t\t['project:generate-doc']: () => dic.projectGenerateDocumentationCommand,\n\t\t\t}\n\t\t\treturn commands\n\t\t})\n\t\t.addService('commandManager', ({ commandList }) =>\n\t\t\tnew CommandManager(commandList))\n\n\t\t.addService('versionChecker', ({ version, workspace, packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew VersionChecker(version, workspace.baseDir, packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('application', ({ commandManager, versionChecker }) => {\n\t\t\tconst app = new Application(\n\t\t\t\tcommandManager,\n\t\t\t\t`Contember CLI version ${version}`,\n\t\t\t\t{\n\t\t\t\t\tbeforeRun: async ({ name }) => {\n\t\t\t\t\t\tif (!process.env.CONTEMBER_SKIP_VERSION_CHECK && !['deploy', 'version', 'data:export', 'data:import', 'data:transfer'].includes(name)) {\n\t\t\t\t\t\t\tawait versionChecker.checkVersions()\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\treturn app\n\t\t})\n\t\t.build()\n}\n"],"names":["Builder","FileSystem","YamlHandler","EvalExecutor","EsBuildBuilder","JsCodeRunner","WorkspaceResolver","env","RemoteProjectResolver","RemoteProjectProvider","SystemClientProvider","TenantClientProvider","AdminClient","workspace","MigrationFilesManager","JsonLoader","MigrationParser","JsLoader","CommandRunner","PackageWorkspaceResolver","Yarn","YarnClassic","Pnpm","Npm","Bun","DockerComposeManager","ModificationHandlerFactory","SchemaMigrator","MigrationsResolver","SchemaVersionBuilder","SchemaDiffer","MigrationCreator","VERSION_LATEST","MigrationDescriber","MigrationPrinter","MigrationExecutor","MigrationsStatusResolver","MigrationsStatusFacade","MigrationExecutionFacade","MigrationsValidator","MigrationRebaseFacade","runtime","ImportSchemaLoader","TranspilingSchemaLoader","AdminDeployer","DataTransferClient","DeployCommand","MigrationAmendCommand","MigrationBlankCommand","MigrationDescribeCommand","MigrationDiffCommand","MigrationExecuteCommand","MigrationRebaseCommand","MigrationStatusCommand","version","VersionCommand","ProjectGenerateDocumentationCommand","ProjectPrintSchemaCommand","ProjectValidateCommand","ExportCommand","ImportCommand","TransferCommand","WorkspaceUpdateApiCommand","dic","CommandManager","VersionChecker","Application"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dic.cjs","sources":["../../../../packages/cli/src/dic.ts"],"sourcesContent":["import { Builder } from '@contember/dic'\nimport {\n\tJsLoader,\n\tJsonLoader,\n\tMigrationCreator,\n\tMigrationDescriber,\n\tMigrationExecutor,\n\tMigrationFilesManager,\n\tMigrationParser,\n\tMigrationsResolver,\n\tMigrationsStatusResolver,\n\tModificationHandlerFactory,\n\tSchemaDiffer,\n\tSchemaMigrator,\n\tSchemaVersionBuilder,\n\tVERSION_LATEST,\n} from '@contember/migrations-client'\nimport { JsCodeRunner } from './lib/js/JsCodeRunner'\nimport { EsBuildBuilder } from './lib/js/EsBuildBuilder'\nimport { EvalExecutor } from './lib/js/EvalExecutor'\nimport { AdminDeployer } from './lib/admin/AdminDeployer'\nimport { RemoteProjectResolver } from './lib/project/RemoteProjectResolver'\nimport { CliEnv } from './lib/env'\nimport { AdminClient } from './lib/admin/AdminClient'\nimport { FileSystem } from './lib/fs/FileSystem'\nimport { WorkspaceResolver } from './lib/workspace/WorkspaceResolver'\nimport { YamlHandler } from './lib/fs/YamlHandler'\nimport {\n\tDeployCommand,\n\tMigrationAmendCommand,\n\tMigrationBlankCommand,\n\tMigrationDescribeCommand,\n\tMigrationDiffCommand,\n\tMigrationExecuteCommand,\n\tMigrationRebaseCommand,\n\tMigrationStatusCommand,\n\tProjectGenerateDocumentationCommand,\n\tProjectPrintSchemaCommand,\n\tProjectValidateCommand,\n\tVersionCommand,\n\tWorkspaceUpdateApiCommand,\n} from './commands'\nimport { MigrationExecutionFacade } from './lib/migrations/MigrationExecutionFacade'\nimport { MigrationPrinter } from './lib/migrations/MigrationPrinter'\nimport { MigrationsStatusFacade } from './lib/migrations/MigrationsStatusFacade'\nimport { ImportSchemaLoader, SchemaLoader, TranspilingSchemaLoader } from './lib/schema/SchemaLoader'\nimport { MigrationsValidator } from './lib/migrations/MigrationsValidator'\nimport { MigrationRebaseFacade } from './lib/migrations/MigrationRebaseFacade'\nimport { DataTransferClient } from './lib/transfer/DataTransferClient'\nimport { ExportCommand, ImportCommand, TransferCommand } from './commands/transfer'\nimport {\n\tApplication,\n\tCommandFactoryList,\n\tCommandManager,\n\tCommandRunner,\n\tNpm,\n\tBun,\n\tPackageWorkspaceResolver,\n\tPnpm,\n\tYarn,\n\tYarnClassic,\n} from '@contember/cli-common'\nimport { VersionChecker } from './lib/VersionChecker'\nimport { DockerComposeManager } from './lib/fs/DockerComposeManager'\nimport { RemoteProjectProvider } from './lib/project/RemoteProjectProvider'\nimport { SystemClientProvider } from './lib/SystemClientProvider'\nimport { TenantClientProvider } from './lib/TenantClientProvider'\nimport { Workspace } from './lib/workspace/Workspace'\nimport { ActionsListVariablesCommand } from './commands/actions/ActionsListVariablesCommand'\nimport { ActionsSetVariablesCommand } from './commands/actions/ActionsSetVariablesCommand'\nimport { ActionsListFailedEventsCommand } from './commands/actions/ActionsListFailedEventsCommand'\nimport { ActionsRetryEventCommand } from './commands/actions/ActionsRetryEventCommand'\nimport { ActionsGetEventCommand } from './commands/actions/ActionsGetEventCommand'\nimport { ActionsStopEventCommand } from './commands/actions/ActionsStopEventCommand'\n\nconst jsSample = `\nexport const query = \\`\\`\nexport const variables = {}\n\n// or multiple queries\n// export const queries = []\n\n// or a factory\n// export default async () => ({ queries: [] })\n`\n\nexport const createContainer = ({ env, version, runtime, workspace }: {\n\tworkspace: Workspace\n\tenv: CliEnv\n\tversion: string\n\truntime: 'node' | 'bun'\n}) => {\n\treturn new Builder({})\n\t\t.addService('env', () =>\n\t\t\tenv)\n\t\t.addService('version', () =>\n\t\t\tversion)\n\t\t.addService('runtime', () =>\n\t\t\truntime)\n\t\t.addService('workspace', () =>\n\t\t\tworkspace)\n\t\t.addService('fs', () =>\n\t\t\tnew FileSystem())\n\t\t.addService('yamlHandler', ({ fs }) =>\n\t\t\tnew YamlHandler(fs))\n\t\t.addService('jsExecutor', () =>\n\t\t\tnew EvalExecutor())\n\t\t.addService('jsBuilder', () =>\n\t\t\tnew EsBuildBuilder())\n\t\t.addService('jsCodeRunner', ({ jsExecutor, jsBuilder }) =>\n\t\t\tnew JsCodeRunner(jsBuilder, jsExecutor))\n\n\t\t.addService('workspaceResolver', ({ yamlHandler }) =>\n\t\t\tnew WorkspaceResolver(yamlHandler))\n\n\t\t.addService('remoteProjectResolver', ({ env }) =>\n\t\t\tnew RemoteProjectResolver(env))\n\t\t.addService('remoteProjectProvider', ({ remoteProjectResolver }) => {\n\t\t\tconst provider = new RemoteProjectProvider()\n\t\t\tconst remoteProject = remoteProjectResolver.resolve()\n\t\t\tif (remoteProject) {\n\t\t\t\tprovider.setRemoteProject(remoteProject)\n\t\t\t}\n\t\t\treturn provider\n\t\t})\n\t\t.addService('systemClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew SystemClientProvider(remoteProjectProvider))\n\t\t.addService('tenantClientProvider', ({ remoteProjectProvider }) =>\n\t\t\tnew TenantClientProvider(remoteProjectProvider))\n\t\t.addService('adminClient', ({ remoteProjectProvider }) =>\n\t\t\tnew AdminClient(remoteProjectProvider))\n\t\t.addService('migrationFilesManager', ({ jsCodeRunner, workspace }) => {\n\t\t\tconst runJs = runtime === 'bun' ? (file: string) => import(file) : jsCodeRunner.run\n\t\t\treturn new MigrationFilesManager(workspace.migrationsDir, {\n\t\t\t\tjson: new JsonLoader(new MigrationParser()),\n\t\t\t\tts: new JsLoader(new MigrationParser(), runJs),\n\t\t\t\tjs: new JsLoader(new MigrationParser(), runJs),\n\t\t\t})\n\t\t})\n\t\t.addService('packageWorkspaceResolver', ({ workspace, fs }) => {\n\t\t\tconst commandRunner = new CommandRunner()\n\t\t\treturn new PackageWorkspaceResolver(workspace.baseDir, fs, [\n\t\t\t\tnew Yarn(fs, commandRunner),\n\t\t\t\tnew YarnClassic(fs, commandRunner),\n\t\t\t\tnew Pnpm(fs, commandRunner),\n\t\t\t\tnew Npm(fs, commandRunner),\n\t\t\t\tnew Bun(fs, commandRunner),\n\t\t\t])\n\t\t})\n\t\t.addService('dockerComposeManager', ({ workspace, env, fs, yamlHandler }) =>\n\t\t\tnew DockerComposeManager(workspace.baseDir, env.dockerComposeFile, fs, yamlHandler))\n\t\t.addService('modificationHandlerFactory', () =>\n\t\t\tnew ModificationHandlerFactory(ModificationHandlerFactory.defaultFactoryMap))\n\t\t.addService('schemaMigrator', ({ modificationHandlerFactory }) =>\n\t\t\tnew SchemaMigrator(modificationHandlerFactory))\n\t\t.addService('migrationsResolver', ({ migrationFilesManager }) =>\n\t\t\tnew MigrationsResolver(migrationFilesManager))\n\t\t.addService('schemaVersionBuilder', ({ migrationsResolver, schemaMigrator }) =>\n\t\t\tnew SchemaVersionBuilder(migrationsResolver, schemaMigrator))\n\t\t.addService('schemaDiffer', ({ schemaMigrator }) =>\n\t\t\tnew SchemaDiffer(schemaMigrator, {\n\t\t\t\tmaxPatchSize: env.migrationsOptions?.maxPatchSize,\n\t\t\t}))\n\t\t.addService('migrationCreator', ({ migrationFilesManager, schemaDiffer }) =>\n\t\t\tnew MigrationCreator(migrationFilesManager, schemaDiffer, {\n\t\t\t\tjson: JSON.stringify({ formatVersion: VERSION_LATEST, modifications: [] }, undefined, '\\t') + '\\n',\n\t\t\t\tts: jsSample,\n\t\t\t\tjs: jsSample,\n\t\t\t}))\n\t\t.addService('migrationDescriber', ({ modificationHandlerFactory }) =>\n\t\t\tnew MigrationDescriber(modificationHandlerFactory))\n\t\t.addService('migrationPrinter', ({ migrationDescriber }) =>\n\t\t\tnew MigrationPrinter(migrationDescriber))\n\t\t.addService('migrationsExecutor', () =>\n\t\t\tnew MigrationExecutor())\n\t\t.addService('migrationsStatusResolver', () =>\n\t\t\tnew MigrationsStatusResolver())\n\t\t.addService('migrationsStatusFacade', ({ systemClientProvider, migrationsResolver, migrationsStatusResolver, migrationPrinter }) =>\n\t\t\tnew MigrationsStatusFacade(systemClientProvider, migrationsResolver, migrationsStatusResolver, migrationPrinter))\n\t\t.addService('migrationExecutionFacade', ({ systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade }) =>\n\t\t\tnew MigrationExecutionFacade(systemClientProvider, tenantClientProvider, remoteProjectProvider, schemaVersionBuilder, migrationPrinter, migrationsExecutor, migrationsStatusFacade))\n\t\t.addService('migrationsValidator', ({ migrationDescriber, schemaMigrator }) =>\n\t\t\tnew MigrationsValidator(migrationDescriber, schemaMigrator))\n\t\t.addService('migrationRebaseFacade', ({ schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager }) =>\n\t\t\tnew MigrationRebaseFacade(schemaVersionBuilder, migrationsValidator, systemClientProvider, migrationFilesManager))\n\t\t.addService('schemaLoader', ({ workspace, jsCodeRunner, runtime }) =>\n\t\t\truntime === 'bun' ? new ImportSchemaLoader(workspace) : new TranspilingSchemaLoader(workspace, jsCodeRunner))\n\n\t\t.addService('adminDeployer', ({ remoteProjectProvider, adminClient, fs }) =>\n\t\t\tnew AdminDeployer(remoteProjectProvider, adminClient, fs))\n\t\t.addService('dataTransferClient', () =>\n\t\t\tnew DataTransferClient())\n\n\n\t\t.addService('deployCommand', ({ adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace }) =>\n\t\t \tnew DeployCommand(adminDeployer, migrationExecutionFacade, fs, remoteProjectProvider, remoteProjectResolver, workspace))\n\t\t.addService('migrationAmendCommand', ({ migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator }) =>\n\t\t\tnew MigrationAmendCommand(migrationsResolver, systemClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator))\n\t\t.addService('migrationBlankCommand', ({ migrationCreator }) =>\n\t\t\tnew MigrationBlankCommand(migrationCreator))\n\t\t.addService('migrationDescribeCommand', ({ migrationPrinter, schemaVersionBuilder, migrationsResolver }) =>\n\t\t\tnew MigrationDescribeCommand(migrationPrinter, schemaVersionBuilder, migrationsResolver))\n\t\t.addService('migrationDiffCommand', ({ schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade }) =>\n\t\t\tnew MigrationDiffCommand(schemaLoader, schemaVersionBuilder, migrationCreator, migrationPrinter, migrationExecutionFacade))\n\t\t.addService('migrationExecuteCommand', ({ migrationExecutionFacade }) =>\n\t\t\tnew MigrationExecuteCommand(migrationExecutionFacade))\n\t\t.addService('migrationRebaseCommand', ({ migrationsResolver, migrationRebaseFacade }) =>\n\t\t\tnew MigrationRebaseCommand(migrationsResolver, migrationRebaseFacade))\n\t\t.addService('migrationStatusCommand', ({ migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter }) =>\n\t\t\tnew MigrationStatusCommand(migrationsStatusFacade, migrationFilesManager, systemClientProvider, migrationPrinter))\n\t\t.addService('versionCommand', ({ version }) =>\n\t\t\tnew VersionCommand(version))\n\t\t.addService('projectGenerateDocumentationCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectGenerateDocumentationCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectPrintSchemaCommand', ({ schemaLoader, schemaVersionBuilder }) =>\n\t\t\tnew ProjectPrintSchemaCommand(schemaLoader, schemaVersionBuilder))\n\t\t.addService('projectValidateCommand', ({ schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder }) =>\n\t\t\tnew ProjectValidateCommand(schemaLoader, migrationsValidator, migrationsResolver, schemaDiffer, schemaVersionBuilder))\n\t\t.addService('exportCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ExportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('importCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew ImportCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('transferCommand', ({ dataTransferClient, remoteProjectResolver }) =>\n\t\t\tnew TransferCommand(remoteProjectResolver, dataTransferClient))\n\t\t.addService('workspaceUpdateCommand', ({ packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew WorkspaceUpdateApiCommand(packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('actionsListVariables', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsListVariablesCommand(remoteProjectResolver))\n\t\t.addService('actionsSetVariables', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsSetVariablesCommand(remoteProjectResolver))\n\t\t.addService('actionsListFailedEvents', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsListFailedEventsCommand(remoteProjectResolver))\n\t\t.addService('actionsRetryEvent', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsRetryEventCommand(remoteProjectResolver))\n\t\t.addService('actionsGetEvent', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsGetEventCommand(remoteProjectResolver))\n\t\t.addService('actionsStopEvent', ({ remoteProjectResolver }) =>\n\t\t\tnew ActionsStopEventCommand(remoteProjectResolver))\n\n\t\t.addService('commandList', dic => {\n\t\t\tconst commands: CommandFactoryList = {\n\t\t\t\t['deploy']: () => dic.deployCommand,\n\t\t\t\t['version']: () => dic.versionCommand,\n\t\t\t\t['data:export']: () => dic.exportCommand,\n\t\t\t\t['data:import']: () => dic.importCommand,\n\t\t\t\t['data:transfer']: () => dic.transferCommand,\n\t\t\t\t['migrations:diff']: () => dic.migrationDiffCommand,\n\t\t\t\t['migrations:amend']: () => dic.migrationAmendCommand,\n\t\t\t\t['migrations:blank']: () => dic.migrationBlankCommand,\n\t\t\t\t['migrations:describe']: () => dic.migrationDescribeCommand,\n\t\t\t\t['migrations:execute']: () => dic.migrationExecuteCommand,\n\t\t\t\t['migrations:rebase']: () => dic.migrationRebaseCommand,\n\t\t\t\t['migrations:status']: () => dic.migrationStatusCommand,\n\t\t\t\t['workspace:update:api']: () => dic.workspaceUpdateCommand,\n\t\t\t\t['project:validate']: () => dic.projectValidateCommand,\n\t\t\t\t['project:print-schema']: () => dic.projectPrintSchemaCommand,\n\t\t\t\t['project:generate-doc']: () => dic.projectGenerateDocumentationCommand,\n\t\t\t\t['actions:list-variables']: () => dic.actionsListVariables,\n\t\t\t\t['actions:set-variables']: () => dic.actionsSetVariables,\n\t\t\t\t['actions:failed-events']: () => dic.actionsListFailedEvents,\n\t\t\t\t['actions:retry-event']: () => dic.actionsRetryEvent,\n\t\t\t\t['actions:get-event']: () => dic.actionsGetEvent,\n\t\t\t\t['actions:stop-event']: () => dic.actionsStopEvent,\n\t\t\t}\n\t\t\treturn commands\n\t\t})\n\t\t.addService('commandManager', ({ commandList }) =>\n\t\t\tnew CommandManager(commandList))\n\n\t\t.addService('versionChecker', ({ version, workspace, packageWorkspaceResolver, dockerComposeManager }) =>\n\t\t\tnew VersionChecker(version, workspace.baseDir, packageWorkspaceResolver, dockerComposeManager))\n\t\t.addService('application', ({ commandManager, versionChecker }) => {\n\t\t\tconst app = new Application(\n\t\t\t\tcommandManager,\n\t\t\t\t`Contember CLI version ${version}`,\n\t\t\t\t{\n\t\t\t\t\tbeforeRun: async ({ name }) => {\n\t\t\t\t\t\tif (!process.env.CONTEMBER_SKIP_VERSION_CHECK && !['deploy', 'version', 'data:export', 'data:import', 'data:transfer'].includes(name)) {\n\t\t\t\t\t\t\tawait versionChecker.checkVersions()\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\treturn app\n\t\t})\n\t\t.build()\n}\n"],"names":["Builder","FileSystem","YamlHandler","EvalExecutor","EsBuildBuilder","JsCodeRunner","WorkspaceResolver","env","RemoteProjectResolver","RemoteProjectProvider","SystemClientProvider","TenantClientProvider","AdminClient","workspace","MigrationFilesManager","JsonLoader","MigrationParser","JsLoader","CommandRunner","PackageWorkspaceResolver","Yarn","YarnClassic","Pnpm","Npm","Bun","DockerComposeManager","ModificationHandlerFactory","SchemaMigrator","MigrationsResolver","SchemaVersionBuilder","SchemaDiffer","MigrationCreator","VERSION_LATEST","MigrationDescriber","MigrationPrinter","MigrationExecutor","MigrationsStatusResolver","MigrationsStatusFacade","MigrationExecutionFacade","MigrationsValidator","MigrationRebaseFacade","runtime","ImportSchemaLoader","TranspilingSchemaLoader","AdminDeployer","DataTransferClient","DeployCommand","MigrationAmendCommand","MigrationBlankCommand","MigrationDescribeCommand","MigrationDiffCommand","MigrationExecuteCommand","MigrationRebaseCommand","MigrationStatusCommand","version","VersionCommand","ProjectGenerateDocumentationCommand","ProjectPrintSchemaCommand","ProjectValidateCommand","ExportCommand","ImportCommand","TransferCommand","WorkspaceUpdateApiCommand","ActionsListVariablesCommand","ActionsSetVariablesCommand","ActionsListFailedEventsCommand","ActionsRetryEventCommand","ActionsGetEventCommand","ActionsStopEventCommand","dic","CommandManager","VersionChecker","Application"],"mappings":"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"}
|