@axinom/mosaic-cli 0.56.0 → 0.57.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -3
- package/bin/mosaic.mjs +5 -0
- package/dist/cjs/exports.d.ts +2 -0
- package/dist/cjs/exports.js +6 -0
- package/dist/cjs/exports.js.map +1 -0
- package/dist/cjs/lib/get-access-token-options.js.map +1 -0
- package/dist/{commands/get-access-token → cjs/lib}/get-dev-access-token.d.ts +2 -2
- package/dist/cjs/lib/get-dev-access-token.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/cli/index.js +51 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/{commands → esm/commands}/apply-templates/apply-templates.d.ts +2 -2
- package/dist/{commands → esm/commands}/apply-templates/apply-templates.js +56 -57
- package/dist/esm/commands/apply-templates/apply-templates.js.map +1 -0
- package/dist/{commands → esm/commands}/apply-templates/bitwarden-vault.js +18 -18
- package/dist/esm/commands/apply-templates/bitwarden-vault.js.map +1 -0
- package/dist/esm/commands/apply-templates/index.d.ts +1 -0
- package/dist/esm/commands/apply-templates/index.js +2 -0
- package/dist/esm/commands/apply-templates/index.js.map +1 -0
- package/dist/esm/commands/create/command.d.ts +3 -0
- package/dist/{commands → esm/commands}/create/command.js +23 -27
- package/dist/esm/commands/create/command.js.map +1 -0
- package/dist/{commands → esm/commands}/create/createSolution.d.ts +1 -1
- package/dist/{commands → esm/commands}/create/createSolution.js +16 -22
- package/dist/esm/commands/create/createSolution.js.map +1 -0
- package/dist/esm/commands/create/defaultValues.js +7 -0
- package/dist/esm/commands/create/defaultValues.js.map +1 -0
- package/dist/{commands → esm/commands}/create/helpers/git.d.ts +1 -1
- package/dist/{commands → esm/commands}/create/helpers/git.js +2 -7
- package/dist/esm/commands/create/helpers/git.js.map +1 -0
- package/dist/esm/commands/create/helpers/logger.js +35 -0
- package/dist/esm/commands/create/helpers/logger.js.map +1 -0
- package/dist/esm/commands/create/helpers/types.js +2 -0
- package/dist/esm/commands/create/helpers/types.js.map +1 -0
- package/dist/{commands → esm/commands}/create/runQuestionaire.d.ts +1 -1
- package/dist/{commands → esm/commands}/create/runQuestionaire.js +15 -20
- package/dist/esm/commands/create/runQuestionaire.js.map +1 -0
- package/dist/{commands → esm/commands}/create-extension-config/create-extension-config.js +15 -22
- package/dist/esm/commands/create-extension-config/create-extension-config.js.map +1 -0
- package/dist/{commands → esm/commands}/create-extension-config/index.d.ts +1 -1
- package/dist/esm/commands/create-extension-config/index.js +17 -0
- package/dist/esm/commands/create-extension-config/index.js.map +1 -0
- package/dist/esm/commands/get-access-token/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/get-access-token/index.js +10 -14
- package/dist/esm/commands/get-access-token/index.js.map +1 -0
- package/dist/{commands → esm/commands}/graphql-diff.d.ts +1 -1
- package/dist/{commands → esm/commands}/graphql-diff.js +21 -25
- package/dist/esm/commands/graphql-diff.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/index.d.ts +1 -1
- package/dist/esm/commands/hosting/index.js +16 -0
- package/dist/esm/commands/hosting/index.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/manifest/manifest-commands.d.ts +1 -1
- package/dist/{commands → esm/commands}/hosting/manifest/manifest-commands.js +4 -7
- package/dist/esm/commands/hosting/manifest/manifest-commands.js.map +1 -0
- package/dist/esm/commands/hosting/manifest/upload-manifest-options.js +2 -0
- package/dist/esm/commands/hosting/manifest/upload-manifest-options.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/manifest/upload-manifest.d.ts +1 -1
- package/dist/{commands → esm/commands}/hosting/manifest/upload-manifest.js +34 -38
- package/dist/esm/commands/hosting/manifest/upload-manifest.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/pilet/pilet-commands.d.ts +1 -1
- package/dist/{commands → esm/commands}/hosting/pilet/pilet-commands.js +4 -7
- package/dist/esm/commands/hosting/pilet/pilet-commands.js.map +1 -0
- package/dist/esm/commands/hosting/pilet/register-pilet-options.js +2 -0
- package/dist/esm/commands/hosting/pilet/register-pilet-options.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/pilet/register-pilet.d.ts +1 -1
- package/dist/esm/commands/hosting/pilet/register-pilet.js +127 -0
- package/dist/esm/commands/hosting/pilet/register-pilet.js.map +1 -0
- package/dist/esm/commands/hosting/service/deploy/service-deploy-command.d.ts +3 -0
- package/dist/{commands → esm/commands}/hosting/service/deploy/service-deploy-command.js +8 -10
- package/dist/esm/commands/hosting/service/deploy/service-deploy-command.js.map +1 -0
- package/dist/esm/commands/hosting/service/deploy/service-deploy-options.js +2 -0
- package/dist/esm/commands/hosting/service/deploy/service-deploy-options.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/service/deploy/service-deploy.d.ts +1 -1
- package/dist/esm/commands/hosting/service/deploy/service-deploy.js +240 -0
- package/dist/esm/commands/hosting/service/deploy/service-deploy.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/service/service-commands.d.ts +1 -1
- package/dist/esm/commands/hosting/service/service-commands.js +13 -0
- package/dist/esm/commands/hosting/service/service-commands.js.map +1 -0
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy-command.d.ts +3 -0
- package/dist/{commands → esm/commands}/hosting/service/undeploy/service-undeploy-command.js +8 -10
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy-command.js.map +1 -0
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy-options.js +2 -0
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy-options.js.map +1 -0
- package/dist/{commands → esm/commands}/hosting/service/undeploy/service-undeploy.d.ts +1 -1
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy.js +136 -0
- package/dist/esm/commands/hosting/service/undeploy/service-undeploy.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-codegen/codegen.d.ts +3 -2
- package/dist/{commands → esm/commands}/msg-codegen/codegen.js +114 -83
- package/dist/esm/commands/msg-codegen/codegen.js.map +1 -0
- package/dist/esm/commands/msg-codegen/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/msg-codegen/index.js +11 -8
- package/dist/esm/commands/msg-codegen/index.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-codegen/lint.d.ts +1 -1
- package/dist/{commands → esm/commands}/msg-codegen/lint.js +14 -15
- package/dist/esm/commands/msg-codegen/lint.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-codegen/message-codegen-options.d.ts +1 -0
- package/dist/esm/commands/msg-codegen/message-codegen-options.js +2 -0
- package/dist/esm/commands/msg-codegen/message-codegen-options.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-codegen/presets.d.ts +7 -3
- package/dist/{commands → esm/commands}/msg-codegen/presets.js +35 -30
- package/dist/esm/commands/msg-codegen/presets.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-codegen/utils.d.ts +1 -1
- package/dist/{commands → esm/commands}/msg-codegen/utils.js +52 -86
- package/dist/esm/commands/msg-codegen/utils.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-diff/asyncapi-override.d.ts +1 -1
- package/dist/{commands → esm/commands}/msg-diff/asyncapi-override.js +1 -4
- package/dist/esm/commands/msg-diff/asyncapi-override.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-diff/git-checkout-tmp.js +11 -15
- package/dist/esm/commands/msg-diff/git-checkout-tmp.js.map +1 -0
- package/dist/esm/commands/msg-diff/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/msg-diff/index.js +10 -11
- package/dist/esm/commands/msg-diff/index.js.map +1 -0
- package/dist/esm/commands/msg-diff/message-diff-options.js +2 -0
- package/dist/esm/commands/msg-diff/message-diff-options.js.map +1 -0
- package/dist/{commands → esm/commands}/msg-diff/msg-diff.d.ts +2 -2
- package/dist/{commands → esm/commands}/msg-diff/msg-diff.js +42 -35
- package/dist/esm/commands/msg-diff/msg-diff.js.map +1 -0
- package/dist/{commands → esm/commands}/pg-dump/generate.d.ts +1 -1
- package/dist/{commands → esm/commands}/pg-dump/generate.js +34 -39
- package/dist/esm/commands/pg-dump/generate.js.map +1 -0
- package/dist/esm/commands/pg-dump/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/pg-dump/index.js +3 -6
- package/dist/esm/commands/pg-dump/index.js.map +1 -0
- package/dist/esm/commands/pg-dump/pg-dump-options.js +2 -0
- package/dist/esm/commands/pg-dump/pg-dump-options.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/abstractions/base-smart-tags.d.ts +1 -1
- package/dist/esm/commands/publish-schema-to-db/abstractions/base-smart-tags.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/base-smart-tags.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/index.d.ts +5 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/index.js +6 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/index.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/abstractions/pg-column.d.ts +3 -3
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-column.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-column.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/abstractions/pg-fk-column.d.ts +1 -1
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-fk-column.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-fk-column.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/abstractions/pg-table.d.ts +4 -4
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-table.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-table.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-type.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/abstractions/pg-type.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/content-entity-model.d.ts +3 -3
- package/dist/{commands → esm/commands}/publish-schema-to-db/content-entity-model.js +12 -14
- package/dist/esm/commands/publish-schema-to-db/content-entity-model.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/generate.d.ts +1 -1
- package/dist/esm/commands/publish-schema-to-db/generate.js +57 -0
- package/dist/esm/commands/publish-schema-to-db/generate.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/index.js +3 -6
- package/dist/esm/commands/publish-schema-to-db/index.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/fk-column.d.ts +1 -1
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/fk-column.js +11 -8
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/fk-column.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/index.d.ts +4 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/index.js +5 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/index.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/pk-column.d.ts +1 -1
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/pk-column.js +4 -5
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/pk-column.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/primitive-column.d.ts +1 -1
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/primitive-column.js +10 -10
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/primitive-column.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/virtual-fk-column.d.ts +1 -1
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/columns/virtual-fk-column.js +9 -8
- package/dist/esm/commands/publish-schema-to-db/pg-models/columns/virtual-fk-column.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/json-schema-parse-utils.d.ts +2 -2
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/json-schema-parse-utils.js +17 -29
- package/dist/esm/commands/publish-schema-to-db/pg-models/json-schema-parse-utils.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/pg-sql-gen-utils.d.ts +1 -7
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/pg-sql-gen-utils.js +14 -50
- package/dist/esm/commands/publish-schema-to-db/pg-models/pg-sql-gen-utils.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/pgl-utils.d.ts +2 -2
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/pgl-utils.js +23 -24
- package/dist/esm/commands/publish-schema-to-db/pg-models/pgl-utils.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/tables/content-entity-table.d.ts +3 -3
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/content-entity-table.js +69 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/content-entity-table.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/index.d.ts +3 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/index.js +4 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/index.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/tables/object-property-table.d.ts +3 -3
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/object-property-table.js +75 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/object-property-table.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/pg-models/tables/relations-table.d.ts +3 -3
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/relations-table.js +63 -0
- package/dist/esm/commands/publish-schema-to-db/pg-models/tables/relations-table.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/collection-postprocessor.d.ts +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/collection-postprocessor.js +17 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/collection-postprocessor.js.map +1 -0
- package/dist/{commands → esm/commands}/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.d.ts +2 -2
- package/dist/esm/commands/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/episode-postprocessor.d.ts +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/episode-postprocessor.js +20 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/episode-postprocessor.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/index.d.ts +6 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/index.js +7 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/index.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/movie-postprocessor.d.ts +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/movie-postprocessor.js +16 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/movie-postprocessor.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/postprocessing-utils.d.ts +9 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/postprocessing-utils.js +37 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/postprocessing-utils.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/season-postprocessor.d.ts +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/season-postprocessor.js +20 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/season-postprocessor.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.d.ts +2 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.js +16 -0
- package/dist/esm/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.js.map +1 -0
- package/dist/esm/commands/publish-schema-to-db/publish-schema-to-db-options.js +2 -0
- package/dist/esm/commands/publish-schema-to-db/publish-schema-to-db-options.js.map +1 -0
- package/dist/{commands → esm/commands}/service/index.d.ts +1 -1
- package/dist/esm/commands/service/index.js +14 -0
- package/dist/esm/commands/service/index.js.map +1 -0
- package/dist/esm/commands/service/purge-permissions/purge-permissions-command.d.ts +3 -0
- package/dist/{commands → esm/commands}/service/purge-permissions/purge-permissions-command.js +8 -10
- package/dist/esm/commands/service/purge-permissions/purge-permissions-command.js.map +1 -0
- package/dist/esm/commands/service/purge-permissions/purge-permissions-options.js +2 -0
- package/dist/esm/commands/service/purge-permissions/purge-permissions-options.js.map +1 -0
- package/dist/{commands → esm/commands}/service/purge-permissions/purge-permissions.d.ts +1 -1
- package/dist/esm/commands/service/purge-permissions/purge-permissions.js +49 -0
- package/dist/esm/commands/service/purge-permissions/purge-permissions.js.map +1 -0
- package/dist/esm/commands/service/sync-permissions/sync-permission-command.d.ts +3 -0
- package/dist/{commands → esm/commands}/service/sync-permissions/sync-permission-command.js +8 -10
- package/dist/esm/commands/service/sync-permissions/sync-permission-command.js.map +1 -0
- package/dist/esm/commands/service/sync-permissions/sync-permissions-options.js +2 -0
- package/dist/esm/commands/service/sync-permissions/sync-permissions-options.js.map +1 -0
- package/dist/{commands → esm/commands}/service/sync-permissions/sync-permissions.d.ts +1 -1
- package/dist/esm/commands/service/sync-permissions/sync-permissions.js +62 -0
- package/dist/esm/commands/service/sync-permissions/sync-permissions.js.map +1 -0
- package/dist/esm/commands/unpublish-pilet/index.d.ts +3 -0
- package/dist/{commands → esm/commands}/unpublish-pilet/index.js +11 -15
- package/dist/esm/commands/unpublish-pilet/index.js.map +1 -0
- package/dist/esm/commands/unpublish-pilet/unpublish-pilet-options.js +2 -0
- package/dist/esm/commands/unpublish-pilet/unpublish-pilet-options.js.map +1 -0
- package/dist/{commands → esm/commands}/unpublish-pilet/unpublish-pilet.d.ts +1 -1
- package/dist/esm/commands/unpublish-pilet/unpublish-pilet.js +14 -0
- package/dist/esm/commands/unpublish-pilet/unpublish-pilet.js.map +1 -0
- package/dist/esm/common/cli-extension.d.ts +10 -0
- package/dist/esm/common/cli-extension.js +7 -0
- package/dist/esm/common/cli-extension.js.map +1 -0
- package/dist/esm/common/index.d.ts +2 -0
- package/dist/esm/common/index.js +3 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/{common → esm/common}/utils.js +2 -6
- package/dist/esm/common/utils.js.map +1 -0
- package/dist/esm/exports.d.ts +2 -0
- package/dist/esm/exports.js +3 -0
- package/dist/esm/exports.js.map +1 -0
- package/dist/esm/lib/get-access-token-options.d.ts +9 -0
- package/dist/esm/lib/get-access-token-options.js +2 -0
- package/dist/esm/lib/get-access-token-options.js.map +1 -0
- package/dist/esm/lib/get-dev-access-token.d.ts +6 -0
- package/dist/esm/lib/get-dev-access-token.js +11 -0
- package/dist/esm/lib/get-dev-access-token.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/package.json +22 -13
- package/src/cli/index.ts +21 -18
- package/src/commands/apply-templates/apply-templates.spec.ts +2 -2
- package/src/commands/apply-templates/apply-templates.ts +13 -8
- package/src/commands/apply-templates/bitwarden-vault.ts +2 -1
- package/src/commands/apply-templates/index.ts +1 -1
- package/src/commands/create/command.ts +6 -6
- package/src/commands/create/createSolution.ts +3 -3
- package/src/commands/create/helpers/git.ts +1 -1
- package/src/commands/create/runQuestionaire.ts +3 -3
- package/src/commands/create-extension-config/create-extension-config.ts +3 -3
- package/src/commands/create-extension-config/index.ts +2 -2
- package/src/commands/get-access-token/index.ts +4 -4
- package/src/commands/graphql-diff.ts +5 -5
- package/src/commands/hosting/index.ts +4 -4
- package/src/commands/hosting/manifest/manifest-commands.ts +3 -3
- package/src/commands/hosting/manifest/upload-manifest.ts +3 -3
- package/src/commands/hosting/pilet/pilet-commands.ts +3 -3
- package/src/commands/hosting/pilet/register-pilet.ts +6 -3
- package/src/commands/hosting/service/deploy/service-deploy-command.ts +5 -4
- package/src/commands/hosting/service/deploy/service-deploy.ts +5 -4
- package/src/commands/hosting/service/service-commands.ts +3 -3
- package/src/commands/hosting/service/undeploy/service-undeploy-command.ts +8 -4
- package/src/commands/hosting/service/undeploy/service-undeploy.ts +5 -4
- package/src/commands/msg-codegen/codegen.ts +61 -22
- package/src/commands/msg-codegen/index.ts +11 -4
- package/src/commands/msg-codegen/lint.ts +9 -6
- package/src/commands/msg-codegen/message-codegen-options.ts +1 -0
- package/src/commands/msg-codegen/presets.ts +23 -9
- package/src/commands/msg-codegen/utils.ts +4 -4
- package/src/commands/msg-diff/asyncapi-override.ts +1 -1
- package/src/commands/msg-diff/index.ts +11 -7
- package/src/commands/msg-diff/msg-diff.spec.ts +7 -5
- package/src/commands/msg-diff/msg-diff.ts +19 -12
- package/src/commands/msg-diff/test-resources/0/command.json +4 -14
- package/src/commands/msg-diff/test-resources/0/event.json +2 -5
- package/src/commands/msg-diff/test-resources/1/moved-event.json +2 -5
- package/src/commands/pg-dump/generate.ts +3 -3
- package/src/commands/pg-dump/index.ts +3 -3
- package/src/commands/publish-schema-to-db/README.md +7 -6
- package/src/commands/publish-schema-to-db/abstractions/base-smart-tags.ts +1 -1
- package/src/commands/publish-schema-to-db/abstractions/index.ts +5 -5
- package/src/commands/publish-schema-to-db/abstractions/pg-column.ts +3 -3
- package/src/commands/publish-schema-to-db/abstractions/pg-fk-column.ts +1 -1
- package/src/commands/publish-schema-to-db/abstractions/pg-table.ts +4 -4
- package/src/commands/publish-schema-to-db/content-entity-model.ts +9 -6
- package/src/commands/publish-schema-to-db/generate.ts +9 -9
- package/src/commands/publish-schema-to-db/index.ts +3 -3
- package/src/commands/publish-schema-to-db/pg-models/columns/fk-column.spec.ts +2 -2
- package/src/commands/publish-schema-to-db/pg-models/columns/fk-column.ts +7 -7
- package/src/commands/publish-schema-to-db/pg-models/columns/index.ts +4 -4
- package/src/commands/publish-schema-to-db/pg-models/columns/pk-column.spec.ts +2 -2
- package/src/commands/publish-schema-to-db/pg-models/columns/pk-column.ts +6 -1
- package/src/commands/publish-schema-to-db/pg-models/columns/primitive-column.spec.ts +2 -2
- package/src/commands/publish-schema-to-db/pg-models/columns/primitive-column.ts +6 -1
- package/src/commands/publish-schema-to-db/pg-models/columns/virtual-fk-column.spec.ts +2 -2
- package/src/commands/publish-schema-to-db/pg-models/columns/virtual-fk-column.ts +7 -7
- package/src/commands/publish-schema-to-db/pg-models/json-schema-parse-utils.spec.ts +3 -3
- package/src/commands/publish-schema-to-db/pg-models/json-schema-parse-utils.ts +6 -4
- package/src/commands/publish-schema-to-db/pg-models/pg-sql-gen-utils.spec.ts +1 -1
- package/src/commands/publish-schema-to-db/pg-models/pg-sql-gen-utils.ts +1 -37
- package/src/commands/publish-schema-to-db/pg-models/pgl-utils.spec.ts +1 -1
- package/src/commands/publish-schema-to-db/pg-models/pgl-utils.ts +18 -10
- package/src/commands/publish-schema-to-db/pg-models/tables/content-entity-table.ts +11 -11
- package/src/commands/publish-schema-to-db/pg-models/tables/index.ts +3 -3
- package/src/commands/publish-schema-to-db/pg-models/tables/object-property-table.ts +14 -11
- package/src/commands/publish-schema-to-db/pg-models/tables/relations-table.ts +11 -11
- package/src/commands/publish-schema-to-db/postprocessors/collection-postprocessor.ts +3 -3
- package/src/commands/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.ts +2 -2
- package/src/commands/publish-schema-to-db/postprocessors/episode-postprocessor.ts +8 -5
- package/src/commands/publish-schema-to-db/postprocessors/index.ts +6 -6
- package/src/commands/publish-schema-to-db/postprocessors/movie-postprocessor.ts +3 -4
- package/src/commands/publish-schema-to-db/postprocessors/postprocessing-utils.ts +37 -2
- package/src/commands/publish-schema-to-db/postprocessors/season-postprocessor.ts +8 -5
- package/src/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.ts +3 -4
- package/src/commands/service/index.ts +3 -3
- package/src/commands/service/purge-permissions/purge-permissions-command.ts +5 -4
- package/src/commands/service/purge-permissions/purge-permissions.ts +3 -2
- package/src/commands/service/sync-permissions/sync-permission-command.ts +5 -4
- package/src/commands/service/sync-permissions/sync-permissions.ts +5 -4
- package/src/commands/unpublish-pilet/index.ts +4 -4
- package/src/commands/unpublish-pilet/unpublish-pilet.ts +1 -1
- package/src/common/cli-extension.ts +21 -0
- package/src/common/index.ts +2 -1
- package/src/exports.ts +2 -2
- package/src/index.ts +1 -1
- package/src/{commands/get-access-token → lib}/get-dev-access-token.ts +2 -2
- package/bin/mosaic.js +0 -3
- package/dist/cli/index.js +0 -54
- package/dist/cli/index.js.map +0 -1
- package/dist/commands/apply-templates/apply-templates.js.map +0 -1
- package/dist/commands/apply-templates/bitwarden-vault.js.map +0 -1
- package/dist/commands/apply-templates/index.d.ts +0 -1
- package/dist/commands/apply-templates/index.js +0 -5
- package/dist/commands/apply-templates/index.js.map +0 -1
- package/dist/commands/create/command.d.ts +0 -3
- package/dist/commands/create/command.js.map +0 -1
- package/dist/commands/create/createSolution.js.map +0 -1
- package/dist/commands/create/defaultValues.js +0 -10
- package/dist/commands/create/defaultValues.js.map +0 -1
- package/dist/commands/create/helpers/git.js.map +0 -1
- package/dist/commands/create/helpers/logger.js +0 -46
- package/dist/commands/create/helpers/logger.js.map +0 -1
- package/dist/commands/create/helpers/types.js +0 -3
- package/dist/commands/create/helpers/types.js.map +0 -1
- package/dist/commands/create/runQuestionaire.js.map +0 -1
- package/dist/commands/create-extension-config/create-extension-config.js.map +0 -1
- package/dist/commands/create-extension-config/index.js +0 -22
- package/dist/commands/create-extension-config/index.js.map +0 -1
- package/dist/commands/get-access-token/get-access-token-options.js.map +0 -1
- package/dist/commands/get-access-token/get-dev-access-token.js.map +0 -1
- package/dist/commands/get-access-token/index.d.ts +0 -3
- package/dist/commands/get-access-token/index.js.map +0 -1
- package/dist/commands/graphql-diff.js.map +0 -1
- package/dist/commands/hosting/index.js +0 -19
- package/dist/commands/hosting/index.js.map +0 -1
- package/dist/commands/hosting/manifest/manifest-commands.js.map +0 -1
- package/dist/commands/hosting/manifest/upload-manifest-options.js +0 -3
- package/dist/commands/hosting/manifest/upload-manifest-options.js.map +0 -1
- package/dist/commands/hosting/manifest/upload-manifest.js.map +0 -1
- package/dist/commands/hosting/pilet/pilet-commands.js.map +0 -1
- package/dist/commands/hosting/pilet/register-pilet-options.js +0 -3
- package/dist/commands/hosting/pilet/register-pilet-options.js.map +0 -1
- package/dist/commands/hosting/pilet/register-pilet.js +0 -131
- package/dist/commands/hosting/pilet/register-pilet.js.map +0 -1
- package/dist/commands/hosting/service/deploy/service-deploy-command.d.ts +0 -3
- package/dist/commands/hosting/service/deploy/service-deploy-command.js.map +0 -1
- package/dist/commands/hosting/service/deploy/service-deploy-options.js +0 -3
- package/dist/commands/hosting/service/deploy/service-deploy-options.js.map +0 -1
- package/dist/commands/hosting/service/deploy/service-deploy.js +0 -246
- package/dist/commands/hosting/service/deploy/service-deploy.js.map +0 -1
- package/dist/commands/hosting/service/service-commands.js +0 -16
- package/dist/commands/hosting/service/service-commands.js.map +0 -1
- package/dist/commands/hosting/service/undeploy/service-undeploy-command.d.ts +0 -3
- package/dist/commands/hosting/service/undeploy/service-undeploy-command.js.map +0 -1
- package/dist/commands/hosting/service/undeploy/service-undeploy-options.js +0 -3
- package/dist/commands/hosting/service/undeploy/service-undeploy-options.js.map +0 -1
- package/dist/commands/hosting/service/undeploy/service-undeploy.js +0 -142
- package/dist/commands/hosting/service/undeploy/service-undeploy.js.map +0 -1
- package/dist/commands/msg-codegen/codegen.js.map +0 -1
- package/dist/commands/msg-codegen/index.d.ts +0 -3
- package/dist/commands/msg-codegen/index.js.map +0 -1
- package/dist/commands/msg-codegen/lint.js.map +0 -1
- package/dist/commands/msg-codegen/message-codegen-options.js +0 -3
- package/dist/commands/msg-codegen/message-codegen-options.js.map +0 -1
- package/dist/commands/msg-codegen/presets.js.map +0 -1
- package/dist/commands/msg-codegen/utils.js.map +0 -1
- package/dist/commands/msg-diff/asyncapi-override.js.map +0 -1
- package/dist/commands/msg-diff/git-checkout-tmp.js.map +0 -1
- package/dist/commands/msg-diff/index.d.ts +0 -3
- package/dist/commands/msg-diff/index.js.map +0 -1
- package/dist/commands/msg-diff/message-diff-options.js +0 -3
- package/dist/commands/msg-diff/message-diff-options.js.map +0 -1
- package/dist/commands/msg-diff/msg-diff.js.map +0 -1
- package/dist/commands/pg-dump/generate.js.map +0 -1
- package/dist/commands/pg-dump/index.d.ts +0 -3
- package/dist/commands/pg-dump/index.js.map +0 -1
- package/dist/commands/pg-dump/pg-dump-options.js +0 -3
- package/dist/commands/pg-dump/pg-dump-options.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/base-smart-tags.js +0 -3
- package/dist/commands/publish-schema-to-db/abstractions/base-smart-tags.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/index.d.ts +0 -5
- package/dist/commands/publish-schema-to-db/abstractions/index.js +0 -9
- package/dist/commands/publish-schema-to-db/abstractions/index.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/pg-column.js +0 -3
- package/dist/commands/publish-schema-to-db/abstractions/pg-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/pg-fk-column.js +0 -3
- package/dist/commands/publish-schema-to-db/abstractions/pg-fk-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/pg-table.js +0 -3
- package/dist/commands/publish-schema-to-db/abstractions/pg-table.js.map +0 -1
- package/dist/commands/publish-schema-to-db/abstractions/pg-type.js +0 -3
- package/dist/commands/publish-schema-to-db/abstractions/pg-type.js.map +0 -1
- package/dist/commands/publish-schema-to-db/content-entity-model.js.map +0 -1
- package/dist/commands/publish-schema-to-db/generate.js +0 -61
- package/dist/commands/publish-schema-to-db/generate.js.map +0 -1
- package/dist/commands/publish-schema-to-db/index.d.ts +0 -3
- package/dist/commands/publish-schema-to-db/index.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/columns/fk-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/columns/index.d.ts +0 -4
- package/dist/commands/publish-schema-to-db/pg-models/columns/index.js +0 -8
- package/dist/commands/publish-schema-to-db/pg-models/columns/index.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/columns/pk-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/columns/primitive-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/columns/virtual-fk-column.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/json-schema-parse-utils.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/pg-sql-gen-utils.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/pgl-utils.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/tables/content-entity-table.js +0 -67
- package/dist/commands/publish-schema-to-db/pg-models/tables/content-entity-table.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/tables/index.d.ts +0 -3
- package/dist/commands/publish-schema-to-db/pg-models/tables/index.js +0 -7
- package/dist/commands/publish-schema-to-db/pg-models/tables/index.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/tables/object-property-table.js +0 -73
- package/dist/commands/publish-schema-to-db/pg-models/tables/object-property-table.js.map +0 -1
- package/dist/commands/publish-schema-to-db/pg-models/tables/relations-table.js +0 -61
- package/dist/commands/publish-schema-to-db/pg-models/tables/relations-table.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/collection-postprocessor.d.ts +0 -2
- package/dist/commands/publish-schema-to-db/postprocessors/collection-postprocessor.js +0 -21
- package/dist/commands/publish-schema-to-db/postprocessors/collection-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.js +0 -3
- package/dist/commands/publish-schema-to-db/postprocessors/content-entity-model-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/episode-postprocessor.d.ts +0 -2
- package/dist/commands/publish-schema-to-db/postprocessors/episode-postprocessor.js +0 -25
- package/dist/commands/publish-schema-to-db/postprocessors/episode-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/index.d.ts +0 -6
- package/dist/commands/publish-schema-to-db/postprocessors/index.js +0 -10
- package/dist/commands/publish-schema-to-db/postprocessors/index.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/movie-postprocessor.d.ts +0 -2
- package/dist/commands/publish-schema-to-db/postprocessors/movie-postprocessor.js +0 -21
- package/dist/commands/publish-schema-to-db/postprocessors/movie-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/postprocessing-utils.d.ts +0 -4
- package/dist/commands/publish-schema-to-db/postprocessors/postprocessing-utils.js +0 -19
- package/dist/commands/publish-schema-to-db/postprocessors/postprocessing-utils.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/season-postprocessor.d.ts +0 -2
- package/dist/commands/publish-schema-to-db/postprocessors/season-postprocessor.js +0 -25
- package/dist/commands/publish-schema-to-db/postprocessors/season-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.d.ts +0 -2
- package/dist/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.js +0 -21
- package/dist/commands/publish-schema-to-db/postprocessors/tvshow-postprocessor.js.map +0 -1
- package/dist/commands/publish-schema-to-db/publish-schema-to-db-options.js +0 -3
- package/dist/commands/publish-schema-to-db/publish-schema-to-db-options.js.map +0 -1
- package/dist/commands/service/index.js +0 -17
- package/dist/commands/service/index.js.map +0 -1
- package/dist/commands/service/purge-permissions/purge-permissions-command.d.ts +0 -3
- package/dist/commands/service/purge-permissions/purge-permissions-command.js.map +0 -1
- package/dist/commands/service/purge-permissions/purge-permissions-options.js +0 -3
- package/dist/commands/service/purge-permissions/purge-permissions-options.js.map +0 -1
- package/dist/commands/service/purge-permissions/purge-permissions.js +0 -54
- package/dist/commands/service/purge-permissions/purge-permissions.js.map +0 -1
- package/dist/commands/service/sync-permissions/sync-permission-command.d.ts +0 -3
- package/dist/commands/service/sync-permissions/sync-permission-command.js.map +0 -1
- package/dist/commands/service/sync-permissions/sync-permissions-options.js +0 -3
- package/dist/commands/service/sync-permissions/sync-permissions-options.js.map +0 -1
- package/dist/commands/service/sync-permissions/sync-permissions.js +0 -67
- package/dist/commands/service/sync-permissions/sync-permissions.js.map +0 -1
- package/dist/commands/unpublish-pilet/index.d.ts +0 -3
- package/dist/commands/unpublish-pilet/index.js.map +0 -1
- package/dist/commands/unpublish-pilet/unpublish-pilet-options.js +0 -3
- package/dist/commands/unpublish-pilet/unpublish-pilet-options.js.map +0 -1
- package/dist/commands/unpublish-pilet/unpublish-pilet.js +0 -19
- package/dist/commands/unpublish-pilet/unpublish-pilet.js.map +0 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.js +0 -5
- package/dist/common/index.js.map +0 -1
- package/dist/common/utils.js.map +0 -1
- package/dist/exports.d.ts +0 -2
- package/dist/exports.js +0 -6
- package/dist/exports.js.map +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- /package/dist/{commands/get-access-token → cjs/lib}/get-access-token-options.d.ts +0 -0
- /package/dist/{commands/get-access-token → cjs/lib}/get-access-token-options.js +0 -0
- /package/dist/{commands/get-access-token → cjs/lib}/get-dev-access-token.js +0 -0
- /package/dist/{cli → esm/cli}/index.d.ts +0 -0
- /package/dist/{commands → esm/commands}/apply-templates/bitwarden-vault.d.ts +0 -0
- /package/dist/{commands → esm/commands}/create/defaultValues.d.ts +0 -0
- /package/dist/{commands → esm/commands}/create/helpers/logger.d.ts +0 -0
- /package/dist/{commands → esm/commands}/create/helpers/types.d.ts +0 -0
- /package/dist/{commands → esm/commands}/create-extension-config/create-extension-config.d.ts +0 -0
- /package/dist/{commands → esm/commands}/hosting/manifest/upload-manifest-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/hosting/pilet/register-pilet-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/hosting/service/deploy/service-deploy-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/hosting/service/undeploy/service-undeploy-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/msg-diff/git-checkout-tmp.d.ts +0 -0
- /package/dist/{commands → esm/commands}/msg-diff/message-diff-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/pg-dump/pg-dump-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/publish-schema-to-db/abstractions/pg-type.d.ts +0 -0
- /package/dist/{commands → esm/commands}/publish-schema-to-db/publish-schema-to-db-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/service/purge-permissions/purge-permissions-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/service/sync-permissions/sync-permissions-options.d.ts +0 -0
- /package/dist/{commands → esm/commands}/unpublish-pilet/unpublish-pilet-options.d.ts +0 -0
- /package/dist/{common → esm/common}/utils.d.ts +0 -0
- /package/src/{commands/get-access-token → lib}/get-access-token-options.ts +0 -0
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageDiff = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
1
|
/* eslint-disable no-console */
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
import { diff } from '@asyncapi/diff';
|
|
3
|
+
import _Parser, { fromFile, } from '@asyncapi/parser';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import * as jsonDiff from 'diff';
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import jsonSchemaDiff from 'json-schema-diff';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { exitCode } from '../../common/index.js';
|
|
10
|
+
import { override } from './asyncapi-override.js';
|
|
11
|
+
import { GitCheckoutTmp } from './git-checkout-tmp.js';
|
|
12
|
+
// @asyncapi/parser is a TypeScript-compiled CJS package that emits
|
|
13
|
+
// `module.exports = { __esModule: true, default: value }`.
|
|
14
|
+
// Node.js native ESM does not honour the __esModule sentinel, so the default
|
|
15
|
+
// import receives the whole module.exports wrapper. Pattern 9 in
|
|
16
|
+
// ESM_MIGRATION_GUIDE.md. The `?? _Parser` fallback keeps the CJS build safe.
|
|
17
|
+
const Parser = (_Parser.default ?? _Parser);
|
|
18
|
+
const { green, red, white } = chalk;
|
|
16
19
|
/**
|
|
17
20
|
* Finds AsyncAPI documents found in git, and compares them with the current file system.
|
|
18
21
|
* The following changes are considered breaking:
|
|
@@ -30,14 +33,19 @@ const git_checkout_tmp_1 = require("./git-checkout-tmp");
|
|
|
30
33
|
* branch Git branch to compare to.
|
|
31
34
|
* verbose Verbose output includes full diff for all files, not only where breaking changes were found.
|
|
32
35
|
*/
|
|
33
|
-
class MessageDiff {
|
|
36
|
+
export class MessageDiff {
|
|
37
|
+
schemaRoot;
|
|
38
|
+
filePattern;
|
|
39
|
+
excludePattern;
|
|
40
|
+
branch;
|
|
41
|
+
verbose;
|
|
42
|
+
results = {
|
|
43
|
+
skipped: 0,
|
|
44
|
+
same: 0,
|
|
45
|
+
changed: 0,
|
|
46
|
+
breaking: 0,
|
|
47
|
+
};
|
|
34
48
|
constructor(options) {
|
|
35
|
-
this.results = {
|
|
36
|
-
skipped: 0,
|
|
37
|
-
same: 0,
|
|
38
|
-
changed: 0,
|
|
39
|
-
breaking: 0,
|
|
40
|
-
};
|
|
41
49
|
this.schemaRoot = path.resolve(options.inputDir);
|
|
42
50
|
this.branch = options.branch;
|
|
43
51
|
this.verbose = options.verbose;
|
|
@@ -61,7 +69,7 @@ class MessageDiff {
|
|
|
61
69
|
}
|
|
62
70
|
async run() {
|
|
63
71
|
// checkout branch to temp dir
|
|
64
|
-
const gitTmp = new
|
|
72
|
+
const gitTmp = new GitCheckoutTmp();
|
|
65
73
|
gitTmp.checkout(this.schemaRoot, this.branch);
|
|
66
74
|
const rootDir1 = gitTmp.tmpDir;
|
|
67
75
|
const rootDir2 = gitTmp.gitRoot;
|
|
@@ -86,13 +94,13 @@ class MessageDiff {
|
|
|
86
94
|
throw `No files found matching the given arguments`;
|
|
87
95
|
}
|
|
88
96
|
const color = this.results.breaking > 0
|
|
89
|
-
?
|
|
97
|
+
? red
|
|
90
98
|
: this.results.skipped > 0
|
|
91
|
-
?
|
|
92
|
-
:
|
|
99
|
+
? white
|
|
100
|
+
: green;
|
|
93
101
|
console.log(color(`${totalFiles} file${totalFiles === 1 ? ' was' : 's were'} checked. ${this.results.skipped} ${this.results.skipped === 1 ? 'was' : 'were'} skipped. ${this.results.same} ${this.results.same === 1 ? 'is' : 'are'} the same. ${this.results.changed} ${this.results.changed === 1 ? 'has' : 'have'} non-breaking changes. ${this.results.breaking} ${this.results.breaking === 1 ? 'has' : 'have'} breaking changes.`));
|
|
94
102
|
if (this.results.breaking > 0) {
|
|
95
|
-
process.exit(
|
|
103
|
+
process.exit(exitCode);
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
106
|
/**
|
|
@@ -128,8 +136,8 @@ class MessageDiff {
|
|
|
128
136
|
let document2;
|
|
129
137
|
// load asyncapi document from git
|
|
130
138
|
try {
|
|
131
|
-
const parser = new
|
|
132
|
-
const { document, diagnostics } = await
|
|
139
|
+
const parser = new Parser();
|
|
140
|
+
const { document, diagnostics } = await fromFile(parser, file1).parse();
|
|
133
141
|
if (!document) {
|
|
134
142
|
throw `Error parsing ${file1}: ${diagnostics}`;
|
|
135
143
|
}
|
|
@@ -141,12 +149,12 @@ class MessageDiff {
|
|
|
141
149
|
// load local asyncapi document
|
|
142
150
|
try {
|
|
143
151
|
if (!fs.existsSync(file2)) {
|
|
144
|
-
console.log(
|
|
152
|
+
console.log(red(`❌ File not found. This document may have been removed. Assuming this is a breaking change.`));
|
|
145
153
|
this.results.breaking++;
|
|
146
154
|
return;
|
|
147
155
|
}
|
|
148
|
-
const parser = new
|
|
149
|
-
const { document, diagnostics } = await
|
|
156
|
+
const parser = new Parser();
|
|
157
|
+
const { document, diagnostics } = await fromFile(parser, file2).parse();
|
|
150
158
|
if (!document) {
|
|
151
159
|
throw `Error parsing ${file2}: ${diagnostics}`;
|
|
152
160
|
}
|
|
@@ -179,7 +187,7 @@ class MessageDiff {
|
|
|
179
187
|
async documentDiff(document1, document2) {
|
|
180
188
|
// generate diff
|
|
181
189
|
// overrides are applied through options here:
|
|
182
|
-
const output =
|
|
190
|
+
const output = diff(document1.json(), document2.json(), { override });
|
|
183
191
|
const breaking = output.breaking();
|
|
184
192
|
const nonBreaking = output.nonBreaking();
|
|
185
193
|
const unclassified = output.unclassified();
|
|
@@ -199,7 +207,7 @@ class MessageDiff {
|
|
|
199
207
|
console.log(` ✖ ${itemMsg(item)}`);
|
|
200
208
|
}
|
|
201
209
|
// log summary
|
|
202
|
-
const color = breaking.length > 0 ?
|
|
210
|
+
const color = breaking.length > 0 ? red : green;
|
|
203
211
|
console.log(color(`${breaking.length > 0 ? '❌ ' : ''}${nonBreaking.length} non-breaking change${nonBreaking.length === 1 ? '' : 's'}, ${breaking.length} breaking change${breaking.length === 1 ? '' : 's'} in asyncapi document`));
|
|
204
212
|
return breaking.length > 0
|
|
205
213
|
? 'breaking'
|
|
@@ -267,7 +275,7 @@ class MessageDiff {
|
|
|
267
275
|
}
|
|
268
276
|
});
|
|
269
277
|
}
|
|
270
|
-
const color = result.removalsFound ?
|
|
278
|
+
const color = result.removalsFound ? red : green;
|
|
271
279
|
console.log(color(result.removalsFound
|
|
272
280
|
? '❌ Breaking changes in payload'
|
|
273
281
|
: result.additionsFound
|
|
@@ -280,5 +288,4 @@ class MessageDiff {
|
|
|
280
288
|
: 'same';
|
|
281
289
|
}
|
|
282
290
|
}
|
|
283
|
-
exports.MessageDiff = MessageDiff;
|
|
284
291
|
//# sourceMappingURL=msg-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msg-diff.js","sourceRoot":"","sources":["../../../../src/commands/msg-diff/msg-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PgDumpOptions } from './pg-dump-options';
|
|
1
|
+
import type { PgDumpOptions } from './pg-dump-options.js';
|
|
2
2
|
export declare const generate: (options: PgDumpOptions) => void;
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const child_process_1 = require("child_process");
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const common_1 = require("../../common");
|
|
1
|
+
import { ensureError, getBasicDbConfigDefinitions, getValidatedConfig, isNullOrWhitespace, pick, } from '@axinom/mosaic-service-common';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { exec } from 'child_process';
|
|
4
|
+
import { existsSync, mkdirSync, statSync } from 'fs';
|
|
5
|
+
import { basename, dirname, isAbsolute, join, normalize, relative } from 'path';
|
|
6
|
+
import { exitCode, getTimestamp } from '../../common/index.js';
|
|
11
7
|
/**
|
|
12
8
|
* Convert absolute path to ComposePathResult
|
|
13
9
|
* dirName would be relative to the current working directory
|
|
14
10
|
*/
|
|
15
11
|
const absolutePathToRelativeDirNameAndFileName = (absPath) => {
|
|
16
12
|
return {
|
|
17
|
-
dirName:
|
|
18
|
-
fileName:
|
|
13
|
+
dirName: dirname(relative(process.cwd(), absPath)),
|
|
14
|
+
fileName: basename(absPath),
|
|
19
15
|
};
|
|
20
16
|
};
|
|
21
17
|
/**
|
|
@@ -30,15 +26,15 @@ const findComposePath = (initialPath) => {
|
|
|
30
26
|
let lastPath = '';
|
|
31
27
|
while (lastPath !== startPath) {
|
|
32
28
|
for (const file of supportedComposeFiles) {
|
|
33
|
-
const lookupPath =
|
|
34
|
-
if (
|
|
29
|
+
const lookupPath = join(startPath, initialPath, file);
|
|
30
|
+
if (existsSync(lookupPath)) {
|
|
35
31
|
return absolutePathToRelativeDirNameAndFileName(lookupPath);
|
|
36
32
|
}
|
|
37
33
|
}
|
|
38
34
|
// Preserve currently checked path for while condition comparison
|
|
39
35
|
lastPath = startPath;
|
|
40
36
|
// Remove last segment from path, move to directory closer to root
|
|
41
|
-
startPath =
|
|
37
|
+
startPath = normalize(join(startPath, '..'));
|
|
42
38
|
}
|
|
43
39
|
throw Error(`'${initialPath}/docker-compose.y(a)ml' file not found. Please make sure that correct composeFolderPath parameter is provided.`);
|
|
44
40
|
};
|
|
@@ -46,10 +42,10 @@ const findComposePath = (initialPath) => {
|
|
|
46
42
|
* checks if the given path to file exists. and returns the directory path and file name of the file
|
|
47
43
|
*/
|
|
48
44
|
const findComposeFilePath = (initialPath) => {
|
|
49
|
-
const isAbs =
|
|
50
|
-
const lookupPath = isAbs ? initialPath :
|
|
45
|
+
const isAbs = isAbsolute(initialPath);
|
|
46
|
+
const lookupPath = isAbs ? initialPath : join(process.cwd(), initialPath);
|
|
51
47
|
try {
|
|
52
|
-
const fileStats =
|
|
48
|
+
const fileStats = statSync(lookupPath);
|
|
53
49
|
if (fileStats.isFile()) {
|
|
54
50
|
return absolutePathToRelativeDirNameAndFileName(lookupPath);
|
|
55
51
|
}
|
|
@@ -68,16 +64,16 @@ const findComposeFilePath = (initialPath) => {
|
|
|
68
64
|
* - using env-cmd script could look like this: `env-cmd -f .env env-cmd -f ../../../.env mosaic pg-dump -c scripts/infra`
|
|
69
65
|
*/
|
|
70
66
|
const getDumpDbConnectionString = (connectionString) => {
|
|
71
|
-
if (!
|
|
67
|
+
if (!isNullOrWhitespace(connectionString)) {
|
|
72
68
|
return connectionString;
|
|
73
69
|
}
|
|
74
70
|
try {
|
|
75
|
-
const configDefinitions =
|
|
76
|
-
const config =
|
|
71
|
+
const configDefinitions = pick(getBasicDbConfigDefinitions(), 'pgHost', 'pgPort', 'dbName', 'dbOwner', 'dbOwnerPassword', 'dbOwnerConnectionString', 'dbShadowConnectionString', 'pgUserSuffix');
|
|
72
|
+
const config = getValidatedConfig(configDefinitions);
|
|
77
73
|
return config.dbShadowConnectionString;
|
|
78
74
|
}
|
|
79
75
|
catch (e) {
|
|
80
|
-
const error =
|
|
76
|
+
const error = ensureError(e);
|
|
81
77
|
throw new Error(`${error.message}\n\nSpecified environment variables must be pre-loaded, or a database connection string can be specified explicitly using 'connectionString' cli parameter.`);
|
|
82
78
|
}
|
|
83
79
|
};
|
|
@@ -86,28 +82,28 @@ const getDumpDbConnectionString = (connectionString) => {
|
|
|
86
82
|
* Returns absolute path to dump file, including filename.
|
|
87
83
|
*/
|
|
88
84
|
const ensureDumpDirectoryExist = (targetPath) => {
|
|
89
|
-
const dbSchemaExportPath =
|
|
90
|
-
const dirPath =
|
|
91
|
-
if (!
|
|
92
|
-
|
|
85
|
+
const dbSchemaExportPath = join(process.cwd(), targetPath);
|
|
86
|
+
const dirPath = dirname(dbSchemaExportPath);
|
|
87
|
+
if (!existsSync(dirPath)) {
|
|
88
|
+
mkdirSync(dirPath, { recursive: true });
|
|
93
89
|
}
|
|
94
90
|
return dbSchemaExportPath;
|
|
95
91
|
};
|
|
96
|
-
const generate = (options) => {
|
|
92
|
+
export const generate = (options) => {
|
|
97
93
|
try {
|
|
98
|
-
console.log(
|
|
94
|
+
console.log(getTimestamp(), `Starting pg-dump command...`);
|
|
99
95
|
let composeDirPath = '';
|
|
100
96
|
let composeFileName = 'docker-compose.yml';
|
|
101
97
|
if (options.composeFilePath) {
|
|
102
98
|
({ dirName: composeDirPath, fileName: composeFileName } =
|
|
103
|
-
findComposeFilePath(
|
|
99
|
+
findComposeFilePath(normalize(options.composeFilePath)));
|
|
104
100
|
}
|
|
105
101
|
else {
|
|
106
|
-
({ dirName: composeDirPath, fileName: composeFileName } = findComposePath(
|
|
102
|
+
({ dirName: composeDirPath, fileName: composeFileName } = findComposePath(normalize(options.composeFolderPath)));
|
|
107
103
|
}
|
|
108
104
|
const connectionString = getDumpDbConnectionString(options.connectionString);
|
|
109
105
|
const dumpPath = ensureDumpDirectoryExist(options.dumpPath);
|
|
110
|
-
const excludeSchemas =
|
|
106
|
+
const excludeSchemas = isNullOrWhitespace(options.excludeSchemas)
|
|
111
107
|
? []
|
|
112
108
|
: options.excludeSchemas
|
|
113
109
|
.split(',')
|
|
@@ -119,23 +115,22 @@ const generate = (options) => {
|
|
|
119
115
|
...excludeSchemas,
|
|
120
116
|
connectionString,
|
|
121
117
|
].join(' ');
|
|
122
|
-
|
|
118
|
+
exec(`cd "${composeDirPath}" && docker compose -f "${composeFileName}" exec -T postgres pg_dump ${dumpOptions} > "${dumpPath}"`, (_error, stdout, stderr) => {
|
|
123
119
|
if (stdout) {
|
|
124
|
-
console.log(
|
|
120
|
+
console.log(getTimestamp(), 'pg_dump info:', stdout);
|
|
125
121
|
}
|
|
126
122
|
if (stderr) {
|
|
127
|
-
console.log(
|
|
123
|
+
console.log(getTimestamp(), chalk.red('Command failed:'), stderr.trim());
|
|
128
124
|
}
|
|
129
125
|
else {
|
|
130
|
-
console.log(
|
|
126
|
+
console.log(getTimestamp(), chalk.green('Success:'), `Database schema dump created at '${chalk.blueBright(options.dumpPath)}'`);
|
|
131
127
|
}
|
|
132
128
|
});
|
|
133
129
|
}
|
|
134
130
|
catch (e) {
|
|
135
|
-
const error =
|
|
136
|
-
console.log(
|
|
137
|
-
process.exit(
|
|
131
|
+
const error = ensureError(e);
|
|
132
|
+
console.log(getTimestamp(), chalk.red('Command failed:'), error.message);
|
|
133
|
+
process.exit(exitCode);
|
|
138
134
|
}
|
|
139
135
|
};
|
|
140
|
-
exports.generate = generate;
|
|
141
136
|
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/pg-dump/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.pgDump = void 0;
|
|
4
|
-
const generate_1 = require("./generate");
|
|
5
|
-
exports.pgDump = {
|
|
1
|
+
import { generate } from './generate.js';
|
|
2
|
+
export const pgDump = {
|
|
6
3
|
command: 'pg-dump',
|
|
7
4
|
describe: 'Development command that uses a default PostgreSQL pg_dump utility to create a schema dump file of a specific database based on an existing docker-compose.yml file.',
|
|
8
5
|
builder: (yargs) => yargs
|
|
@@ -34,6 +31,6 @@ exports.pgDump = {
|
|
|
34
31
|
describe: 'The connection string to the database to be used to take a schema dump. Can be omitted if database-related environment variables are preloaded',
|
|
35
32
|
string: true,
|
|
36
33
|
}),
|
|
37
|
-
handler:
|
|
34
|
+
handler: generate,
|
|
38
35
|
};
|
|
39
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/pg-dump/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,MAAM,MAAM,GAA0C;IAC3D,OAAO,EAAE,SAAS;IAClB,QAAQ,EACN,sKAAsK;IACxK,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,mBAAmB,EAAE;QAC3B,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,OAAO;QAChB,QAAQ,EACN,4OAA4O;QAC9O,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE;QACzB,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,8GAA8G;QAChH,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EACN,wIAAwI;QAC1I,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,gBAAgB,EAAE;QACxB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,kCAAkC;QAC3C,QAAQ,EACN,sHAAsH;QACxH,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,kBAAkB,EAAE;QAC1B,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,gJAAgJ;QAClJ,MAAM,EAAE,IAAI;KACb,CAAC;IACN,OAAO,EAAE,QAAQ;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-dump-options.js","sourceRoot":"","sources":["../../../../src/commands/pg-dump/pg-dump-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-smart-tags.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/base-smart-tags.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseSmartTags } from './base-smart-tags';
|
|
2
|
-
import { PgTable } from './pg-table';
|
|
3
|
-
import { PgType } from './pg-type';
|
|
1
|
+
import type { BaseSmartTags } from './base-smart-tags.js';
|
|
2
|
+
import type { PgTable } from './pg-table.js';
|
|
3
|
+
import type { PgType } from './pg-type.js';
|
|
4
4
|
/**
|
|
5
5
|
* Abstraction over a Postgres table column.
|
|
6
6
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-column.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/pg-column.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-fk-column.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/pg-fk-column.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PgSmartTagTags } from 'graphile-utils';
|
|
2
|
-
import { BaseSmartTags } from './base-smart-tags';
|
|
3
|
-
import { PgColumn } from './pg-column';
|
|
4
|
-
import { PgFkColumn } from './pg-fk-column';
|
|
1
|
+
import type { PgSmartTagTags } from 'graphile-utils';
|
|
2
|
+
import type { BaseSmartTags } from './base-smart-tags.js';
|
|
3
|
+
import type { PgColumn } from './pg-column.js';
|
|
4
|
+
import type { PgFkColumn } from './pg-fk-column.js';
|
|
5
5
|
/**
|
|
6
6
|
* Abstraction over a Postgres table.
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-table.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/pg-table.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-type.js","sourceRoot":"","sources":["../../../../../src/commands/publish-schema-to-db/abstractions/pg-type.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { JSONSchema4 } from 'json-schema';
|
|
2
|
-
import { PgTable, TableSmartTags } from './abstractions';
|
|
3
|
-
import { PublishSchemaToDbOptions } from './publish-schema-to-db-options';
|
|
1
|
+
import type { JSONSchema4 } from 'json-schema';
|
|
2
|
+
import type { PgTable, TableSmartTags } from './abstractions/index.js';
|
|
3
|
+
import type { PublishSchemaToDbOptions } from './publish-schema-to-db-options.js';
|
|
4
4
|
export declare class ContentEntityModel {
|
|
5
5
|
name: string;
|
|
6
6
|
contentEntity: PgTable;
|
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { separateProperties } from './pg-models/json-schema-parse-utils.js';
|
|
2
|
+
import { isReservedPgWord } from './pg-models/pg-sql-gen-utils.js';
|
|
3
|
+
import { ContentEntityTable, ObjectPropertyTable, } from './pg-models/tables/index.js';
|
|
4
|
+
export class ContentEntityModel {
|
|
5
|
+
name;
|
|
6
|
+
contentEntity;
|
|
7
|
+
relatedObjects = [];
|
|
8
8
|
constructor(options, schema) {
|
|
9
|
-
this.relatedObjects = [];
|
|
10
9
|
if (!schema.title) {
|
|
11
10
|
throw Error('Content type schema title is undefined.');
|
|
12
11
|
}
|
|
13
12
|
// TODO: Too restrictive.
|
|
14
13
|
this.name = schema.title.substring(0, schema.title.indexOf('_published_event'));
|
|
15
14
|
// 1. Split properties into primitive and object properties.
|
|
16
|
-
const [primitiveProperties, objectProperties] =
|
|
15
|
+
const [primitiveProperties, objectProperties] = separateProperties(schema, options.ignoredProperties);
|
|
17
16
|
// 2. Create the content entity table.
|
|
18
|
-
this.contentEntity = new
|
|
17
|
+
this.contentEntity = new ContentEntityTable(options, this.name, primitiveProperties, schema.description);
|
|
19
18
|
// 3. Create related object property tables.
|
|
20
19
|
for (const key in objectProperties) {
|
|
21
|
-
this.relatedObjects.push(new
|
|
20
|
+
this.relatedObjects.push(new ObjectPropertyTable(options, key, objectProperties[key], this.contentEntity.pk));
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
validate() {
|
|
25
24
|
console.log(`Validating content entity model for ${this.name}`);
|
|
26
25
|
const tables = [this.contentEntity, ...this.relatedObjects];
|
|
27
26
|
for (const table of tables) {
|
|
28
|
-
if (
|
|
27
|
+
if (isReservedPgWord(table.name)) {
|
|
29
28
|
throw new Error(`Table name ${table.name} is a reserved word. Please specify a name override in the postprocessor.`);
|
|
30
29
|
}
|
|
31
30
|
for (const column of table.columns) {
|
|
32
|
-
if (
|
|
31
|
+
if (isReservedPgWord(column.name)) {
|
|
33
32
|
throw new Error(`Column name ${table.name}.${column.name} is a reserved word. Please specify a name override in the postprocessor.`);
|
|
34
33
|
}
|
|
35
34
|
}
|
|
@@ -47,5 +46,4 @@ class ContentEntityModel {
|
|
|
47
46
|
}, {});
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
exports.ContentEntityModel = ContentEntityModel;
|
|
51
49
|
//# sourceMappingURL=content-entity-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-entity-model.js","sourceRoot":"","sources":["../../../../src/commands/publish-schema-to-db/content-entity-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { exitCode } from '../../common/index.js';
|
|
3
|
+
import { ContentEntityModel } from './content-entity-model.js';
|
|
4
|
+
import { getContentMetadataSchemas } from './pg-models/json-schema-parse-utils.js';
|
|
5
|
+
import { generateMigration } from './pg-models/pg-sql-gen-utils.js';
|
|
6
|
+
import { generateSmartTagsPlugin } from './pg-models/pgl-utils.js';
|
|
7
|
+
import { collectionPostprocessor, episodePostprocessor, moviePostprocessor, seasonPostprocessor, tvshowPostprocessor, } from './postprocessors/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generates a database schema from an asset publish format JSON schema.
|
|
10
|
+
*/
|
|
11
|
+
export async function generate(options) {
|
|
12
|
+
console.log(`Searching for schemas matching pattern ${options.inputGlob}`);
|
|
13
|
+
try {
|
|
14
|
+
// 1. Read all publish events.
|
|
15
|
+
const contentTypeSchemas = await getContentMetadataSchemas(options.inputGlob);
|
|
16
|
+
const modelPostProcessors = {
|
|
17
|
+
movie: moviePostprocessor,
|
|
18
|
+
tvshow: tvshowPostprocessor,
|
|
19
|
+
season: seasonPostprocessor,
|
|
20
|
+
episode: episodePostprocessor,
|
|
21
|
+
collection: collectionPostprocessor,
|
|
22
|
+
};
|
|
23
|
+
const contentEntityModels = [];
|
|
24
|
+
const statements = [];
|
|
25
|
+
const smartTags = {
|
|
26
|
+
version: 1,
|
|
27
|
+
config: {
|
|
28
|
+
class: {},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
for (const contentTypeSchema of contentTypeSchemas) {
|
|
32
|
+
contentEntityModels.push(new ContentEntityModel(options, contentTypeSchema));
|
|
33
|
+
}
|
|
34
|
+
for (const model of contentEntityModels) {
|
|
35
|
+
const otherModels = contentEntityModels.filter((m) => m.contentEntity.name !== model.contentEntity.name);
|
|
36
|
+
const postprocess = modelPostProcessors[model.contentEntity.name];
|
|
37
|
+
if (postprocess !== undefined) {
|
|
38
|
+
console.log(`Found model postprocessor for ${model.contentEntity.name}.`);
|
|
39
|
+
postprocess(model, otherModels, options);
|
|
40
|
+
}
|
|
41
|
+
model.validate();
|
|
42
|
+
smartTags.config.class = {
|
|
43
|
+
...smartTags.config.class,
|
|
44
|
+
...model.buildSmartTags(),
|
|
45
|
+
};
|
|
46
|
+
statements.push(...model.buildStatements());
|
|
47
|
+
}
|
|
48
|
+
// 3. Generate SQL.
|
|
49
|
+
await generateMigration(statements, path.join(options.outputRoot, 'migrations', 'current.sql'));
|
|
50
|
+
generateSmartTagsPlugin(smartTags, path.join(options.outputRoot, 'src', 'plugins', 'smart-tags-plugin.ts'));
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.log(e);
|
|
54
|
+
process.exit(exitCode);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=generate.js.map
|