@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,16 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* eslint-disable no-console */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import { FormatHelpers, OutputModel, TS_DESCRIPTION_PRESET, typeScriptDefaultModelNameConstraints, typeScriptDefaultPropertyKeyConstraints, TypeScriptGenerator, } from '@asyncapi/modelina';
|
|
3
|
+
import _Parser, { fromFile, } from '@asyncapi/parser';
|
|
4
|
+
import _endent from 'endent';
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import { exitCode } from '../../common/index.js';
|
|
8
|
+
import { ADDITIONAL_PROPERTIES_PRESET, ANY_TO_UNKNOWN_PRESET, createImportsPreset, EXPORT_TYPES_PRESET, NULLABLE_PROPERTY_TO_UNION_PRESET, } from './presets.js';
|
|
9
|
+
import { createDummyReservedKeywordsChecker, getChannelAction, getChannelAggregateIdField, getChannelAggregateType, getMessageTitle, getModelPathPrefix, getPayloadTitle, getRelativeDir, getServiceId, getServiceTitle, removeXParserProperties, toPosixPath, } from './utils.js';
|
|
10
|
+
// @asyncapi/parser is a TypeScript-compiled CJS package that emits
|
|
11
|
+
// `module.exports = { __esModule: true, default: value }`.
|
|
12
|
+
// Node.js native ESM does not honour the __esModule sentinel, so the default
|
|
13
|
+
// import receives the whole module.exports wrapper. Pattern 9 in
|
|
14
|
+
// ESM_MIGRATION_GUIDE.md. The `?? _Parser` fallback keeps the CJS build safe.
|
|
15
|
+
const Parser = (_Parser.default ?? _Parser);
|
|
16
|
+
// endent is a TypeScript-compiled CJS package that emits
|
|
17
|
+
// `module.exports = { __esModule: true, default: value }`.
|
|
18
|
+
// Node.js native ESM does not honour the __esModule sentinel — the default
|
|
19
|
+
// import receives the whole module.exports wrapper. Pattern 9 in
|
|
20
|
+
// ESM_MIGRATION_GUIDE.md. The `?? _endent` fallback keeps the CJS build safe.
|
|
21
|
+
const endent = (_endent.default ?? _endent);
|
|
14
22
|
const AX_COMMON_SERVICE_ID = 'ax-common-service';
|
|
15
23
|
/**
|
|
16
24
|
* Processes AsyncAPI document and generates Typescript classes from it.
|
|
@@ -21,7 +29,14 @@ const AX_COMMON_SERVICE_ID = 'ax-common-service';
|
|
|
21
29
|
* @param filePattern - Regular expression that matches suitable input files.
|
|
22
30
|
* @param outputDir - Path to output directory - output root.
|
|
23
31
|
*/
|
|
24
|
-
class Codegen {
|
|
32
|
+
export class Codegen {
|
|
33
|
+
schemaRoot;
|
|
34
|
+
filePattern;
|
|
35
|
+
outputRoot;
|
|
36
|
+
typesOutputRoot;
|
|
37
|
+
schemasOutputRoot;
|
|
38
|
+
messagingSettingsOutputRoot;
|
|
39
|
+
importSpecifierExtension;
|
|
25
40
|
constructor(options) {
|
|
26
41
|
this.schemaRoot = path.resolve(options.inputDir);
|
|
27
42
|
try {
|
|
@@ -35,6 +50,7 @@ class Codegen {
|
|
|
35
50
|
this.typesOutputRoot = path.join(this.outputRoot, 'types');
|
|
36
51
|
this.schemasOutputRoot = path.join(this.outputRoot, 'schemas');
|
|
37
52
|
this.messagingSettingsOutputRoot = path.join(this.outputRoot, 'config');
|
|
53
|
+
this.importSpecifierExtension = options.importSpecifierExtension ?? '';
|
|
38
54
|
}
|
|
39
55
|
async run() {
|
|
40
56
|
console.log('Running message codegen.');
|
|
@@ -50,7 +66,7 @@ class Codegen {
|
|
|
50
66
|
}
|
|
51
67
|
catch (e) {
|
|
52
68
|
console.log(e);
|
|
53
|
-
process.exit(
|
|
69
|
+
process.exit(exitCode);
|
|
54
70
|
}
|
|
55
71
|
}
|
|
56
72
|
/**
|
|
@@ -75,15 +91,15 @@ class Codegen {
|
|
|
75
91
|
if (files.length === 0) {
|
|
76
92
|
//Calculate correct TS output related directories for barrel exports.
|
|
77
93
|
const tsDirs = dirs.map((d) => path.join(this.typesOutputRoot, path.relative(this.schemaRoot, d)));
|
|
78
|
-
const tsIndexOutPath = path.join(this.typesOutputRoot,
|
|
94
|
+
const tsIndexOutPath = path.join(this.typesOutputRoot, getRelativeDir(this.schemaRoot, dir), 'index.ts');
|
|
79
95
|
await this.barrelExportTs([], tsDirs, tsIndexOutPath);
|
|
80
96
|
// Calculate correct JSON schema output related directories for barrel exports.
|
|
81
97
|
const schemaDirs = dirs.map((d) => path.join(this.schemasOutputRoot, path.relative(this.schemaRoot, d)));
|
|
82
|
-
const schemaIndexOutPath = path.join(this.schemasOutputRoot,
|
|
98
|
+
const schemaIndexOutPath = path.join(this.schemasOutputRoot, getRelativeDir(this.schemaRoot, dir), 'index.ts');
|
|
83
99
|
await this.barrelExportSchema([], schemaDirs, schemaIndexOutPath);
|
|
84
100
|
// Calculate correct Message Settings output related directories for barrel exports.
|
|
85
101
|
const settingsDirs = dirs.map((d) => path.join(this.messagingSettingsOutputRoot, path.relative(this.schemaRoot, d)));
|
|
86
|
-
const messagingIndexOutPath = path.join(this.messagingSettingsOutputRoot,
|
|
102
|
+
const messagingIndexOutPath = path.join(this.messagingSettingsOutputRoot, getRelativeDir(this.schemaRoot, dir), 'index.ts');
|
|
87
103
|
await this.barrelExportSettings([], settingsDirs, messagingIndexOutPath);
|
|
88
104
|
}
|
|
89
105
|
}
|
|
@@ -93,7 +109,7 @@ class Codegen {
|
|
|
93
109
|
* @param typeName - Name of the type.
|
|
94
110
|
*/
|
|
95
111
|
buildTsOutPath(outputPath, typeName) {
|
|
96
|
-
return path.join(outputPath, `${
|
|
112
|
+
return path.join(outputPath, `${FormatHelpers.toParamCase(typeName)}.ts`);
|
|
97
113
|
}
|
|
98
114
|
/**
|
|
99
115
|
* Builds a path for the bundled JSON schema file from an input JSON schema path, retains directory structure.
|
|
@@ -101,28 +117,28 @@ class Codegen {
|
|
|
101
117
|
* @param typeName - Name of the type.
|
|
102
118
|
*/
|
|
103
119
|
buildSchemaOutPath(outputPath, typeName) {
|
|
104
|
-
return path.join(outputPath, `${
|
|
120
|
+
return path.join(outputPath, `${FormatHelpers.toParamCase(typeName)}.json`);
|
|
105
121
|
}
|
|
106
122
|
/**
|
|
107
123
|
* Generates TS interfaces and JSON schemas from AsyncAPI schema.
|
|
108
124
|
* @param asyncApiFile - path to AsyncAPI document
|
|
109
125
|
*/
|
|
110
126
|
async processAsyncAPIDocument(asyncApiFile) {
|
|
111
|
-
const parser = new
|
|
112
|
-
const { document, diagnostics } = await
|
|
127
|
+
const parser = new Parser();
|
|
128
|
+
const { document, diagnostics } = await fromFile(parser, asyncApiFile).parse();
|
|
113
129
|
if (document === undefined) {
|
|
114
130
|
console.error(`Failed to parse ${asyncApiFile}.`);
|
|
115
131
|
console.error(diagnostics);
|
|
116
132
|
process.exit(1);
|
|
117
133
|
}
|
|
118
134
|
//export Typescript models
|
|
119
|
-
const tsModelsOutputPath = path.join(this.typesOutputRoot,
|
|
135
|
+
const tsModelsOutputPath = path.join(this.typesOutputRoot, getRelativeDir(this.schemaRoot, asyncApiFile));
|
|
120
136
|
await this.exportTsModels(document, tsModelsOutputPath);
|
|
121
137
|
//export JSON Schemas
|
|
122
|
-
const schemasOutputPath = path.join(this.schemasOutputRoot,
|
|
138
|
+
const schemasOutputPath = path.join(this.schemasOutputRoot, getRelativeDir(this.schemaRoot, asyncApiFile));
|
|
123
139
|
await this.exportSchemas(document, schemasOutputPath);
|
|
124
140
|
//export message settings
|
|
125
|
-
const messagingSettingsOutputPath = path.join(this.messagingSettingsOutputRoot,
|
|
141
|
+
const messagingSettingsOutputPath = path.join(this.messagingSettingsOutputRoot, getRelativeDir(this.schemaRoot, asyncApiFile));
|
|
126
142
|
await this.exportSettings(document, messagingSettingsOutputPath);
|
|
127
143
|
}
|
|
128
144
|
/**
|
|
@@ -131,27 +147,27 @@ class Codegen {
|
|
|
131
147
|
* @param outputPath - output path for generated files
|
|
132
148
|
*/
|
|
133
149
|
async exportTsModels(asyncAPIDocument, outputPath) {
|
|
134
|
-
const generator = new
|
|
150
|
+
const generator = new TypeScriptGenerator({
|
|
135
151
|
modelType: 'interface',
|
|
136
152
|
enumType: 'union',
|
|
137
153
|
mapType: 'indexedObject',
|
|
138
154
|
constraints: {
|
|
139
|
-
propertyKey:
|
|
140
|
-
NAMING_FORMATTER: (name) =>
|
|
141
|
-
NO_RESERVED_KEYWORDS:
|
|
155
|
+
propertyKey: typeScriptDefaultPropertyKeyConstraints({
|
|
156
|
+
NAMING_FORMATTER: (name) => FormatHelpers.toSnakeCase(name),
|
|
157
|
+
NO_RESERVED_KEYWORDS: createDummyReservedKeywordsChecker(),
|
|
142
158
|
}),
|
|
143
|
-
modelName:
|
|
144
|
-
NO_RESERVED_KEYWORDS:
|
|
159
|
+
modelName: typeScriptDefaultModelNameConstraints({
|
|
160
|
+
NO_RESERVED_KEYWORDS: createDummyReservedKeywordsChecker(),
|
|
145
161
|
}),
|
|
146
162
|
},
|
|
147
163
|
// Order of presets matters!
|
|
148
164
|
presets: [
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
165
|
+
NULLABLE_PROPERTY_TO_UNION_PRESET,
|
|
166
|
+
ANY_TO_UNKNOWN_PRESET,
|
|
167
|
+
ADDITIONAL_PROPERTIES_PRESET,
|
|
168
|
+
EXPORT_TYPES_PRESET,
|
|
169
|
+
TS_DESCRIPTION_PRESET,
|
|
170
|
+
createImportsPreset(this.importSpecifierExtension),
|
|
155
171
|
],
|
|
156
172
|
});
|
|
157
173
|
let outputModels = await generator.generate(asyncAPIDocument);
|
|
@@ -161,7 +177,7 @@ class Codegen {
|
|
|
161
177
|
}
|
|
162
178
|
const groupedModels = {};
|
|
163
179
|
outputModels.map((outModel) => {
|
|
164
|
-
const modelPathPrefix =
|
|
180
|
+
const modelPathPrefix = getModelPathPrefix(outModel.modelName);
|
|
165
181
|
if (groupedModels[modelPathPrefix] === undefined) {
|
|
166
182
|
groupedModels[modelPathPrefix] = [];
|
|
167
183
|
}
|
|
@@ -212,7 +228,7 @@ class Codegen {
|
|
|
212
228
|
async exportSchemas(asyncAPIDocument, outputPath) {
|
|
213
229
|
const groupedSchemas = {};
|
|
214
230
|
for (const message of asyncAPIDocument.allMessages()) {
|
|
215
|
-
const schemaPathPrefix =
|
|
231
|
+
const schemaPathPrefix = getModelPathPrefix(getMessageTitle(message));
|
|
216
232
|
if (groupedSchemas[schemaPathPrefix] === undefined) {
|
|
217
233
|
groupedSchemas[schemaPathPrefix] = [];
|
|
218
234
|
}
|
|
@@ -232,8 +248,8 @@ class Codegen {
|
|
|
232
248
|
for (const msg of messages) {
|
|
233
249
|
const payload = msg.payload();
|
|
234
250
|
if (payload !== undefined && payload.json() !== undefined) {
|
|
235
|
-
const filteredPayload =
|
|
236
|
-
const outputSchemaPath = this.buildSchemaOutPath(groupOutPutPath,
|
|
251
|
+
const filteredPayload = removeXParserProperties(payload.json());
|
|
252
|
+
const outputSchemaPath = this.buildSchemaOutPath(groupOutPutPath, getMessageTitle(msg));
|
|
237
253
|
await this.bundleSchema(filteredPayload, outputSchemaPath);
|
|
238
254
|
schemaFiles.push(outputSchemaPath);
|
|
239
255
|
}
|
|
@@ -267,18 +283,17 @@ class Codegen {
|
|
|
267
283
|
* @param outputPath - output path for generated files
|
|
268
284
|
*/
|
|
269
285
|
async exportSettings(asyncAPIDocument, outputPath) {
|
|
270
|
-
|
|
271
|
-
const
|
|
272
|
-
const serviceId = (0, utils_1.getServiceId)(asyncAPIDocument);
|
|
286
|
+
const serviceTitle = getServiceTitle(asyncAPIDocument);
|
|
287
|
+
const serviceId = getServiceId(asyncAPIDocument);
|
|
273
288
|
const channelsData = [];
|
|
274
289
|
for (const channel of asyncAPIDocument.channels()) {
|
|
275
|
-
const queueName =
|
|
290
|
+
const queueName = channel.bindings().get('amqp')?.value().queue.name;
|
|
276
291
|
const routingKey = channel.address();
|
|
277
292
|
if (queueName !== undefined && routingKey != null) {
|
|
278
|
-
const action =
|
|
279
|
-
const payloadName =
|
|
280
|
-
const aggregateType =
|
|
281
|
-
const aggregateIdField =
|
|
293
|
+
const action = getChannelAction(channel);
|
|
294
|
+
const payloadName = getPayloadTitle(channel) ?? 'undefined';
|
|
295
|
+
const aggregateType = getChannelAggregateType(channel);
|
|
296
|
+
const aggregateIdField = getChannelAggregateIdField(channel);
|
|
282
297
|
channelsData.push({
|
|
283
298
|
routingKey,
|
|
284
299
|
queueName,
|
|
@@ -322,12 +337,12 @@ class Codegen {
|
|
|
322
337
|
const baseClass = isMultiTenant
|
|
323
338
|
? `MultiTenantMessagingSettings`
|
|
324
339
|
: `MessagingSettings`;
|
|
325
|
-
const className = `${
|
|
340
|
+
const className = `${FormatHelpers.toPascalCase(serviceTitle)}${baseClass}`;
|
|
326
341
|
const action = isMultiTenant ? 'extends' : 'implements';
|
|
327
342
|
const visibility = isMultiTenant ? '' : 'public readonly ';
|
|
328
343
|
const toStringOverride = isMultiTenant ? ' override' : '';
|
|
329
344
|
const constructor = serviceId === AX_COMMON_SERVICE_ID
|
|
330
|
-
?
|
|
345
|
+
? endent `private constructor(
|
|
331
346
|
${visibility}serviceId: string,
|
|
332
347
|
${visibility}messageType: string,
|
|
333
348
|
${visibility}queue: string,
|
|
@@ -339,7 +354,7 @@ class Codegen {
|
|
|
339
354
|
? `super(serviceId, messageType, queue, routingKey, action, aggregateType);`
|
|
340
355
|
: ''}
|
|
341
356
|
}`
|
|
342
|
-
:
|
|
357
|
+
: endent `private constructor(
|
|
343
358
|
${visibility}messageType: string,
|
|
344
359
|
${visibility}queue: string,
|
|
345
360
|
${visibility}routingKey: string,
|
|
@@ -351,7 +366,11 @@ class Codegen {
|
|
|
351
366
|
: ''}
|
|
352
367
|
}`;
|
|
353
368
|
const properties = channelsData.map((data) => this.createMessagingSettingProperty(data, className, serviceId === AX_COMMON_SERVICE_ID));
|
|
354
|
-
|
|
369
|
+
// MessagingSettings is an interface (implements clause is erased at runtime),
|
|
370
|
+
// so it only needs a type import. MultiTenantMessagingSettings is an abstract
|
|
371
|
+
// class used in extends, so it requires a value import.
|
|
372
|
+
const importKeyword = isMultiTenant ? 'import' : 'import type';
|
|
373
|
+
const content = endent `${importKeyword} { ${baseClass} } from '@axinom/mosaic-message-bus-abstractions';
|
|
355
374
|
|
|
356
375
|
export class ${className} ${action} ${baseClass} {
|
|
357
376
|
${properties.join(`\n`)}
|
|
@@ -364,7 +383,7 @@ class Codegen {
|
|
|
364
383
|
return this.messageType;
|
|
365
384
|
};
|
|
366
385
|
}`;
|
|
367
|
-
const filePath = path.join(outputPath, `${
|
|
386
|
+
const filePath = path.join(outputPath, `${FormatHelpers.toParamCase(className)}.ts`);
|
|
368
387
|
await fs.promises.mkdir(path.dirname(filePath), {
|
|
369
388
|
recursive: true,
|
|
370
389
|
});
|
|
@@ -378,7 +397,7 @@ class Codegen {
|
|
|
378
397
|
* @param isCommonService - flag to indicate if it's for `AX_COMMON_SERVICE_ID`
|
|
379
398
|
*/
|
|
380
399
|
createMessagingSettingProperty(channelData, settingsClassName, isCommonService) {
|
|
381
|
-
const messageType =
|
|
400
|
+
const messageType = FormatHelpers.toPascalCase(channelData.payloadName.replace('command', '').replace('event', ''));
|
|
382
401
|
const action = channelData.acceptedAction === 'publish' ? 'command' : 'event';
|
|
383
402
|
const contain = action === 'command' ? 'must contain' : 'contains';
|
|
384
403
|
let aggregateIdFieldDesc = '';
|
|
@@ -394,7 +413,7 @@ class Codegen {
|
|
|
394
413
|
break;
|
|
395
414
|
}
|
|
396
415
|
if (isCommonService) {
|
|
397
|
-
return
|
|
416
|
+
return endent `
|
|
398
417
|
/**
|
|
399
418
|
* Defines the messaging settings for the ${action} with message type
|
|
400
419
|
* "${messageType}" and aggregate type "${channelData.aggregateType}".
|
|
@@ -412,7 +431,7 @@ class Codegen {
|
|
|
412
431
|
}`;
|
|
413
432
|
}
|
|
414
433
|
else {
|
|
415
|
-
return
|
|
434
|
+
return endent `
|
|
416
435
|
/**
|
|
417
436
|
* Defines the messaging settings for the ${action} with message type
|
|
418
437
|
* "${messageType}" and aggregate type "${channelData.aggregateType}".
|
|
@@ -447,17 +466,22 @@ class Codegen {
|
|
|
447
466
|
*/
|
|
448
467
|
async barrelExportTs(files, dirs, outPath) {
|
|
449
468
|
console.log(`Rolling up TS exports to ${outPath}.`);
|
|
450
|
-
const
|
|
451
|
-
|
|
452
|
-
...
|
|
469
|
+
const ext = this.importSpecifierExtension;
|
|
470
|
+
const allItems = [
|
|
471
|
+
...files.map((f) => ({ key: path.basename(f, '.ts'), isDir: false })),
|
|
472
|
+
...dirs
|
|
473
|
+
.filter((d) => fs.existsSync(d))
|
|
474
|
+
.map((d) => ({ key: path.basename(d), isDir: true })),
|
|
453
475
|
];
|
|
454
|
-
if (
|
|
476
|
+
if (allItems.length < 1) {
|
|
455
477
|
return;
|
|
456
478
|
}
|
|
457
|
-
const exports =
|
|
458
|
-
.sort()
|
|
459
|
-
.map((
|
|
460
|
-
|
|
479
|
+
const exports = allItems
|
|
480
|
+
.sort((a, b) => (a.key < b.key ? -1 : a.key > b.key ? 1 : 0))
|
|
481
|
+
.map(({ key, isDir }) => isDir && ext
|
|
482
|
+
? `export * from './${key}/index${ext}';`
|
|
483
|
+
: `export * from './${key}${ext}';`)
|
|
484
|
+
.join('\n');
|
|
461
485
|
let schemaEnum = '';
|
|
462
486
|
let typeNamesEnum = '';
|
|
463
487
|
// TODO: Break this up into smaller pieces.
|
|
@@ -468,33 +492,33 @@ class Codegen {
|
|
|
468
492
|
// If message-envelope requires some special handling.
|
|
469
493
|
if (files.length === 1 && files[0].endsWith('message-envelope.ts')) {
|
|
470
494
|
const file = files[0];
|
|
471
|
-
schemaEnum =
|
|
495
|
+
schemaEnum = endent `
|
|
472
496
|
export enum MessageEnvelopeSchema {
|
|
473
|
-
MessageEnvelope = '${
|
|
497
|
+
MessageEnvelope = '${toPosixPath(this.tsPathToSchemaPath(file))}'
|
|
474
498
|
}
|
|
475
499
|
`;
|
|
476
500
|
}
|
|
477
501
|
else {
|
|
478
|
-
let enumNameBase =
|
|
502
|
+
let enumNameBase = FormatHelpers.toPascalCase(getRelativeDir(this.typesOutputRoot, path.dirname(outPath)));
|
|
479
503
|
if (!enumNameBase.includes('Types')) {
|
|
480
504
|
enumNameBase = enumNameBase.replace('Payloads', ''); // Remove the Payloads prefix to reduce noise
|
|
481
|
-
schemaEnum =
|
|
505
|
+
schemaEnum = endent `
|
|
482
506
|
export enum ${enumNameBase}Schemas {
|
|
483
507
|
${sortedFiles
|
|
484
|
-
.map((f) => `${
|
|
508
|
+
.map((f) => `${FormatHelpers.toPascalCase(path.basename(f, '.ts'))} = '${toPosixPath(this.tsPathToSchemaPath(f))}'`)
|
|
485
509
|
.join(',\n')}
|
|
486
510
|
}`;
|
|
487
|
-
typeNamesEnum =
|
|
511
|
+
typeNamesEnum = endent `
|
|
488
512
|
export enum ${enumNameBase}Types {
|
|
489
513
|
${sortedFiles
|
|
490
514
|
.sort()
|
|
491
|
-
.map((f) => `${
|
|
515
|
+
.map((f) => `${FormatHelpers.toPascalCase(path.basename(f, '.ts'))} = '${FormatHelpers.toPascalCase(path.basename(f, '.ts'))}'`)
|
|
492
516
|
.join(',\n')}
|
|
493
517
|
}`;
|
|
494
518
|
}
|
|
495
519
|
}
|
|
496
520
|
}
|
|
497
|
-
const contents =
|
|
521
|
+
const contents = endent `
|
|
498
522
|
${exports}
|
|
499
523
|
|
|
500
524
|
${schemaEnum}
|
|
@@ -511,6 +535,7 @@ class Codegen {
|
|
|
511
535
|
*/
|
|
512
536
|
async barrelExportSettings(files, dirs, outPath) {
|
|
513
537
|
console.log(`Rolling up Messaging Settings exports to ${outPath}.`);
|
|
538
|
+
const ext = this.importSpecifierExtension;
|
|
514
539
|
const items = [
|
|
515
540
|
...files.map((f) => path.basename(f, '.ts')),
|
|
516
541
|
...dirs.filter((d) => fs.existsSync(d)).map((d) => path.basename(d)),
|
|
@@ -525,13 +550,17 @@ class Codegen {
|
|
|
525
550
|
let contents = '';
|
|
526
551
|
if (files.length > 0) {
|
|
527
552
|
const baseNames = files.map((f) => path.basename(f, '.ts')).sort();
|
|
528
|
-
const messagingImports = baseNames.map((n) => `export * from './${n}';`);
|
|
529
|
-
contents =
|
|
553
|
+
const messagingImports = baseNames.map((n) => `export * from './${n}${ext}';`);
|
|
554
|
+
contents = endent `
|
|
530
555
|
${messagingImports.join('\n')}
|
|
531
556
|
`;
|
|
532
557
|
}
|
|
533
|
-
contents +=
|
|
534
|
-
${dirExports
|
|
558
|
+
contents += endent `\n
|
|
559
|
+
${dirExports
|
|
560
|
+
.map((d) => ext
|
|
561
|
+
? `export * from './${d}/index${ext}';`
|
|
562
|
+
: `export * from './${d}';`)
|
|
563
|
+
.join('\n')}`;
|
|
535
564
|
await fs.promises.writeFile(outPath, contents);
|
|
536
565
|
}
|
|
537
566
|
/**
|
|
@@ -542,6 +571,7 @@ class Codegen {
|
|
|
542
571
|
*/
|
|
543
572
|
async barrelExportSchema(files, dirs, outPath) {
|
|
544
573
|
console.log(`Rolling up JSON exports to ${outPath}.`);
|
|
574
|
+
const ext = this.importSpecifierExtension;
|
|
545
575
|
const items = [
|
|
546
576
|
...files.map((f) => path.basename(f, '.json')),
|
|
547
577
|
...dirs.filter((d) => fs.existsSync(d)).map((d) => path.basename(d)),
|
|
@@ -556,16 +586,18 @@ class Codegen {
|
|
|
556
586
|
let contents = '';
|
|
557
587
|
if (files.length > 0) {
|
|
558
588
|
const baseNames = files.map((f) => path.basename(f, '.json')).sort();
|
|
559
|
-
const schemaImports = baseNames.map((n) => `import * as ${
|
|
560
|
-
const schemaExports = baseNames.map((n) => `export const ${
|
|
561
|
-
contents =
|
|
589
|
+
const schemaImports = baseNames.map((n) => `import * as ${FormatHelpers.toPascalCase(n)} from './${n}.json';`);
|
|
590
|
+
const schemaExports = baseNames.map((n) => `export const ${FormatHelpers.toPascalCase(n)}Schema = ${FormatHelpers.toPascalCase(n)};`);
|
|
591
|
+
contents = endent `
|
|
562
592
|
${schemaImports.join('\n')}
|
|
563
593
|
|
|
564
594
|
${schemaExports.join('\n')}
|
|
565
595
|
`;
|
|
566
596
|
}
|
|
567
|
-
contents +=
|
|
568
|
-
${dirExports
|
|
597
|
+
contents += endent `\n
|
|
598
|
+
${dirExports
|
|
599
|
+
.map((d) => ext ? `export * from './${d}/index${ext}';` : `export * from './${d}';`)
|
|
600
|
+
.join('\n')}`;
|
|
569
601
|
await fs.promises.writeFile(outPath, contents);
|
|
570
602
|
}
|
|
571
603
|
/**
|
|
@@ -573,8 +605,7 @@ class Codegen {
|
|
|
573
605
|
* @param tsFile - Path to a generated TS file.
|
|
574
606
|
*/
|
|
575
607
|
tsPathToSchemaPath(tsFile) {
|
|
576
|
-
return path.join(
|
|
608
|
+
return path.join(getRelativeDir(this.typesOutputRoot, tsFile), `${path.basename(tsFile, '.ts')}.json`);
|
|
577
609
|
}
|
|
578
610
|
}
|
|
579
|
-
exports.Codegen = Codegen;
|
|
580
611
|
//# sourceMappingURL=codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../../src/commands/msg-codegen/codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const codegen_1 = require("./codegen");
|
|
5
|
-
const lint_1 = require("./lint");
|
|
6
|
-
exports.msgCodegen = {
|
|
1
|
+
import { Codegen } from './codegen.js';
|
|
2
|
+
import { lint } from './lint.js';
|
|
3
|
+
export const msgCodegen = {
|
|
7
4
|
command: 'msg-codegen',
|
|
8
5
|
describe: 'Generates code from AsyncAPI document.',
|
|
9
6
|
builder: (yargs) => yargs
|
|
@@ -34,13 +31,19 @@ exports.msgCodegen = {
|
|
|
34
31
|
alias: 'r',
|
|
35
32
|
describe: 'Path to a Spectral ruleset file for linting.',
|
|
36
33
|
type: 'string',
|
|
34
|
+
})
|
|
35
|
+
.option('importSpecifierExtension', {
|
|
36
|
+
alias: 'e',
|
|
37
|
+
describe: 'Extension appended to relative import specifiers in generated barrel files (e.g. ".js" for ESM-compatible output). Default empty string preserves existing CJS behaviour.',
|
|
38
|
+
type: 'string',
|
|
39
|
+
default: '',
|
|
37
40
|
}),
|
|
38
41
|
handler: async (argv) => {
|
|
39
42
|
if (argv.lint) {
|
|
40
|
-
await
|
|
43
|
+
await lint(argv);
|
|
41
44
|
}
|
|
42
45
|
else {
|
|
43
|
-
const codegen = new
|
|
46
|
+
const codegen = new Codegen(argv);
|
|
44
47
|
await codegen.run();
|
|
45
48
|
}
|
|
46
49
|
console.log('done.');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/msg-codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,UAAU,GAAkD;IACvE,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,wCAAwC;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,mDAAmD;QAC7D,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,uDAAuD;QACjE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iCAAiC;KAC3C,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yCAAyC;QACnD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,eAAe;KACzB,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,0BAA0B,EAAE;QAClC,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,2KAA2K;QAC7K,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { MessageCodegenOptions } from './message-codegen-options';
|
|
1
|
+
import type { MessageCodegenOptions } from './message-codegen-options.js';
|
|
2
2
|
export declare function lint(options: MessageCodegenOptions): Promise<void>;
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
async function lint(options) {
|
|
1
|
+
import spectralCore, {} from '@stoplight/spectral-core';
|
|
2
|
+
import spectralParsers from '@stoplight/spectral-parsers';
|
|
3
|
+
import { bundleAndLoadRuleset } from '@stoplight/spectral-ruleset-bundler/with-loader';
|
|
4
|
+
import spectralRuntime from '@stoplight/spectral-runtime';
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import glob from 'glob';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
const { Document, Spectral } = spectralCore;
|
|
9
|
+
const { Json } = spectralParsers;
|
|
10
|
+
const { fetch } = spectralRuntime;
|
|
11
|
+
export async function lint(options) {
|
|
13
12
|
console.log(`Linting schemas at ${options.inputDir}.`);
|
|
14
13
|
// Configure Spectral
|
|
15
|
-
const spectral = new
|
|
14
|
+
const spectral = new Spectral({});
|
|
16
15
|
spectral.setRuleset(await getRuleset(options));
|
|
17
16
|
let lintingErrors = false;
|
|
18
17
|
// Find JSON schemas and lint
|
|
@@ -25,7 +24,7 @@ async function lint(options) {
|
|
|
25
24
|
}
|
|
26
25
|
for (const schema of schemas) {
|
|
27
26
|
// console.log(schema);
|
|
28
|
-
const document = new
|
|
27
|
+
const document = new Document(fs.readFileSync(schema, 'utf-8'), Json, schema);
|
|
29
28
|
const results = await spectral.run(document);
|
|
30
29
|
const errors = results.filter((r) => r.severity === 0);
|
|
31
30
|
if (errors.length > 0) {
|
|
@@ -60,7 +59,7 @@ async function getRuleset(options) {
|
|
|
60
59
|
rulesetPath = path.resolve(options.rulesetPath);
|
|
61
60
|
}
|
|
62
61
|
console.log(`Using ruleset ${rulesetPath}`);
|
|
63
|
-
const ruleset = await
|
|
62
|
+
const ruleset = await bundleAndLoadRuleset(rulesetPath, { fs, fetch });
|
|
64
63
|
return ruleset;
|
|
65
64
|
}
|
|
66
65
|
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../../src/commands/msg-codegen/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-codegen-options.js","sourceRoot":"","sources":["../../../../src/commands/msg-codegen/message-codegen-options.ts"],"names":[],"mappings":""}
|