@sitecoreai-labs/sitecoreai-cli 0.0.4
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/AGENTS.md +67 -0
- package/LICENSE +21 -0
- package/README.md +357 -0
- package/bin/sitecoreai-cli +3 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +358 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +27 -0
- package/dist/commands/deploy/deployments.d.ts +3 -0
- package/dist/commands/deploy/deployments.d.ts.map +1 -0
- package/dist/commands/deploy/deployments.js +58 -0
- package/dist/commands/deploy/editing-host.d.ts +3 -0
- package/dist/commands/deploy/editing-host.d.ts.map +1 -0
- package/dist/commands/deploy/editing-host.js +49 -0
- package/dist/commands/deploy/environments/deployments.d.ts +3 -0
- package/dist/commands/deploy/environments/deployments.d.ts.map +1 -0
- package/dist/commands/deploy/environments/deployments.js +28 -0
- package/dist/commands/deploy/environments/index.d.ts +3 -0
- package/dist/commands/deploy/environments/index.d.ts.map +1 -0
- package/dist/commands/deploy/environments/index.js +29 -0
- package/dist/commands/deploy/environments/mutations.d.ts +9 -0
- package/dist/commands/deploy/environments/mutations.d.ts.map +1 -0
- package/dist/commands/deploy/environments/mutations.js +103 -0
- package/dist/commands/deploy/environments/queries.d.ts +7 -0
- package/dist/commands/deploy/environments/queries.d.ts.map +1 -0
- package/dist/commands/deploy/environments/queries.js +56 -0
- package/dist/commands/deploy/environments/variables.d.ts +3 -0
- package/dist/commands/deploy/environments/variables.d.ts.map +1 -0
- package/dist/commands/deploy/environments/variables.js +40 -0
- package/dist/commands/deploy/environments.d.ts +2 -0
- package/dist/commands/deploy/environments.d.ts.map +1 -0
- package/dist/commands/deploy/environments.js +17 -0
- package/dist/commands/deploy/index.d.ts +3 -0
- package/dist/commands/deploy/index.d.ts.map +1 -0
- package/dist/commands/deploy/index.js +26 -0
- package/dist/commands/deploy/logs.d.ts +3 -0
- package/dist/commands/deploy/logs.d.ts.map +1 -0
- package/dist/commands/deploy/logs.js +39 -0
- package/dist/commands/deploy/organizations.d.ts +3 -0
- package/dist/commands/deploy/organizations.d.ts.map +1 -0
- package/dist/commands/deploy/organizations.js +29 -0
- package/dist/commands/deploy/projects.d.ts +3 -0
- package/dist/commands/deploy/projects.d.ts.map +1 -0
- package/dist/commands/deploy/projects.js +74 -0
- package/dist/commands/deploy/shared.d.ts +3 -0
- package/dist/commands/deploy/shared.d.ts.map +1 -0
- package/dist/commands/deploy/shared.js +12 -0
- package/dist/commands/deploy/site.d.ts +10 -0
- package/dist/commands/deploy/site.d.ts.map +1 -0
- package/dist/commands/deploy/site.js +36 -0
- package/dist/commands/deploy/source-control.d.ts +3 -0
- package/dist/commands/deploy/source-control.d.ts.map +1 -0
- package/dist/commands/deploy/source-control.js +89 -0
- package/dist/commands/deploy.d.ts +2 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +5 -0
- package/dist/commands/history.d.ts +3 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +88 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +32 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +21 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +18 -0
- package/dist/commands/recipe/index.d.ts +3 -0
- package/dist/commands/recipe/index.d.ts.map +1 -0
- package/dist/commands/recipe/index.js +158 -0
- package/dist/commands/serialization/index.d.ts +3 -0
- package/dist/commands/serialization/index.d.ts.map +1 -0
- package/dist/commands/serialization/index.js +89 -0
- package/dist/commands/serialization/package.d.ts +3 -0
- package/dist/commands/serialization/package.d.ts.map +1 -0
- package/dist/commands/serialization/package.js +36 -0
- package/dist/commands/shared.d.ts +21 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +82 -0
- package/dist/commands/shell.d.ts +10 -0
- package/dist/commands/shell.d.ts.map +1 -0
- package/dist/commands/shell.js +155 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +15 -0
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +28 -0
- package/dist/config/env-overrides.d.ts +4 -0
- package/dist/config/env-overrides.d.ts.map +1 -0
- package/dist/config/env-overrides.js +199 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +13 -0
- package/dist/config/modules.d.ts +4 -0
- package/dist/config/modules.d.ts.map +1 -0
- package/dist/config/modules.js +152 -0
- package/dist/config/paths.d.ts +2 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +39 -0
- package/dist/config/root-config.d.ts +10 -0
- package/dist/config/root-config.d.ts.map +1 -0
- package/dist/config/root-config.js +159 -0
- package/dist/config/schema.json +278 -0
- package/dist/config/serialization-module.schema.json +127 -0
- package/dist/config/telemetry.schema.json +21 -0
- package/dist/config/types.d.ts +245 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +19 -0
- package/dist/config/validation.d.ts +10 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +43 -0
- package/dist/deploy/api/common/headers.d.ts +2 -0
- package/dist/deploy/api/common/headers.d.ts.map +1 -0
- package/dist/deploy/api/common/headers.js +10 -0
- package/dist/deploy/api/common/index.d.ts +4 -0
- package/dist/deploy/api/common/index.d.ts.map +1 -0
- package/dist/deploy/api/common/index.js +19 -0
- package/dist/deploy/api/common/request.d.ts +9 -0
- package/dist/deploy/api/common/request.d.ts.map +1 -0
- package/dist/deploy/api/common/request.js +253 -0
- package/dist/deploy/api/common/types.d.ts +44 -0
- package/dist/deploy/api/common/types.d.ts.map +1 -0
- package/dist/deploy/api/common/types.js +5 -0
- package/dist/deploy/api/common.d.ts +2 -0
- package/dist/deploy/api/common.d.ts.map +1 -0
- package/dist/deploy/api/common.js +17 -0
- package/dist/deploy/api/deployment-logs.d.ts +2 -0
- package/dist/deploy/api/deployment-logs.d.ts.map +1 -0
- package/dist/deploy/api/deployment-logs.js +23 -0
- package/dist/deploy/api/deployments.d.ts +9 -0
- package/dist/deploy/api/deployments.d.ts.map +1 -0
- package/dist/deploy/api/deployments.js +61 -0
- package/dist/deploy/api/environments.d.ts +21 -0
- package/dist/deploy/api/environments.d.ts.map +1 -0
- package/dist/deploy/api/environments.js +67 -0
- package/dist/deploy/api/index.d.ts +9 -0
- package/dist/deploy/api/index.d.ts.map +1 -0
- package/dist/deploy/api/index.js +24 -0
- package/dist/deploy/api/logs.d.ts +8 -0
- package/dist/deploy/api/logs.d.ts.map +1 -0
- package/dist/deploy/api/logs.js +29 -0
- package/dist/deploy/api/organizations.d.ts +6 -0
- package/dist/deploy/api/organizations.d.ts.map +1 -0
- package/dist/deploy/api/organizations.js +18 -0
- package/dist/deploy/api/projects.d.ts +13 -0
- package/dist/deploy/api/projects.d.ts.map +1 -0
- package/dist/deploy/api/projects.js +42 -0
- package/dist/deploy/api/source-control.d.ts +15 -0
- package/dist/deploy/api/source-control.d.ts.map +1 -0
- package/dist/deploy/api/source-control.js +71 -0
- package/dist/deploy/api.d.ts +2 -0
- package/dist/deploy/api.d.ts.map +1 -0
- package/dist/deploy/api.js +17 -0
- package/dist/deploy/tasks/deployment-result.d.ts +6 -0
- package/dist/deploy/tasks/deployment-result.d.ts.map +1 -0
- package/dist/deploy/tasks/deployment-result.js +36 -0
- package/dist/deploy/tasks/deployments.d.ts +10 -0
- package/dist/deploy/tasks/deployments.d.ts.map +1 -0
- package/dist/deploy/tasks/deployments.js +201 -0
- package/dist/deploy/tasks/editing-host.d.ts +28 -0
- package/dist/deploy/tasks/editing-host.d.ts.map +1 -0
- package/dist/deploy/tasks/editing-host.js +216 -0
- package/dist/deploy/tasks/environments.d.ts +20 -0
- package/dist/deploy/tasks/environments.d.ts.map +1 -0
- package/dist/deploy/tasks/environments.js +364 -0
- package/dist/deploy/tasks/index.d.ts +10 -0
- package/dist/deploy/tasks/index.d.ts.map +1 -0
- package/dist/deploy/tasks/index.js +25 -0
- package/dist/deploy/tasks/logs.d.ts +5 -0
- package/dist/deploy/tasks/logs.d.ts.map +1 -0
- package/dist/deploy/tasks/logs.js +56 -0
- package/dist/deploy/tasks/organizations.d.ts +6 -0
- package/dist/deploy/tasks/organizations.d.ts.map +1 -0
- package/dist/deploy/tasks/organizations.js +51 -0
- package/dist/deploy/tasks/projects.d.ts +11 -0
- package/dist/deploy/tasks/projects.d.ts.map +1 -0
- package/dist/deploy/tasks/projects.js +246 -0
- package/dist/deploy/tasks/shared.d.ts +63 -0
- package/dist/deploy/tasks/shared.d.ts.map +1 -0
- package/dist/deploy/tasks/shared.js +261 -0
- package/dist/deploy/tasks/site-bind.d.ts +21 -0
- package/dist/deploy/tasks/site-bind.d.ts.map +1 -0
- package/dist/deploy/tasks/site-bind.js +142 -0
- package/dist/deploy/tasks/site.d.ts +14 -0
- package/dist/deploy/tasks/site.d.ts.map +1 -0
- package/dist/deploy/tasks/site.js +29 -0
- package/dist/deploy/tasks/source-control.d.ts +14 -0
- package/dist/deploy/tasks/source-control.d.ts.map +1 -0
- package/dist/deploy/tasks/source-control.js +173 -0
- package/dist/deploy/tasks/types.d.ts +204 -0
- package/dist/deploy/tasks/types.d.ts.map +1 -0
- package/dist/deploy/tasks/types.js +7 -0
- package/dist/deploy/tasks.d.ts +3 -0
- package/dist/deploy/tasks.d.ts.map +1 -0
- package/dist/deploy/tasks.js +18 -0
- package/dist/recipe/api/auth.d.ts +9 -0
- package/dist/recipe/api/auth.d.ts.map +1 -0
- package/dist/recipe/api/auth.js +12 -0
- package/dist/recipe/api/authoring-client.d.ts +37 -0
- package/dist/recipe/api/authoring-client.d.ts.map +1 -0
- package/dist/recipe/api/authoring-client.js +495 -0
- package/dist/recipe/api/client.d.ts +99 -0
- package/dist/recipe/api/client.d.ts.map +1 -0
- package/dist/recipe/api/client.js +17 -0
- package/dist/recipe/api/graphql.d.ts +15 -0
- package/dist/recipe/api/graphql.d.ts.map +1 -0
- package/dist/recipe/api/graphql.js +38 -0
- package/dist/recipe/api/ref-encoding.d.ts +38 -0
- package/dist/recipe/api/ref-encoding.d.ts.map +1 -0
- package/dist/recipe/api/ref-encoding.js +160 -0
- package/dist/recipe/api/site-discovery.d.ts +49 -0
- package/dist/recipe/api/site-discovery.d.ts.map +1 -0
- package/dist/recipe/api/site-discovery.js +127 -0
- package/dist/recipe/api/sites-client.d.ts +48 -0
- package/dist/recipe/api/sites-client.d.ts.map +1 -0
- package/dist/recipe/api/sites-client.js +19 -0
- package/dist/recipe/cache.d.ts +36 -0
- package/dist/recipe/cache.d.ts.map +1 -0
- package/dist/recipe/cache.js +114 -0
- package/dist/recipe/compile/component-section.d.ts +46 -0
- package/dist/recipe/compile/component-section.d.ts.map +1 -0
- package/dist/recipe/compile/component-section.js +143 -0
- package/dist/recipe/compile/component-template.d.ts +34 -0
- package/dist/recipe/compile/component-template.d.ts.map +1 -0
- package/dist/recipe/compile/component-template.js +709 -0
- package/dist/recipe/compile/content-item.d.ts +31 -0
- package/dist/recipe/compile/content-item.d.ts.map +1 -0
- package/dist/recipe/compile/content-item.js +189 -0
- package/dist/recipe/compile/content-template.d.ts +18 -0
- package/dist/recipe/compile/content-template.d.ts.map +1 -0
- package/dist/recipe/compile/content-template.js +52 -0
- package/dist/recipe/compile/enumeration.d.ts +59 -0
- package/dist/recipe/compile/enumeration.d.ts.map +1 -0
- package/dist/recipe/compile/enumeration.js +236 -0
- package/dist/recipe/compile/page-design.d.ts +22 -0
- package/dist/recipe/compile/page-design.d.ts.map +1 -0
- package/dist/recipe/compile/page-design.js +93 -0
- package/dist/recipe/compile/parameters-template.d.ts +14 -0
- package/dist/recipe/compile/parameters-template.d.ts.map +1 -0
- package/dist/recipe/compile/parameters-template.js +92 -0
- package/dist/recipe/compile/partial-design.d.ts +18 -0
- package/dist/recipe/compile/partial-design.d.ts.map +1 -0
- package/dist/recipe/compile/partial-design.js +76 -0
- package/dist/recipe/compile/section-definition.d.ts +18 -0
- package/dist/recipe/compile/section-definition.d.ts.map +1 -0
- package/dist/recipe/compile/section-definition.js +26 -0
- package/dist/recipe/compile/shared.d.ts +442 -0
- package/dist/recipe/compile/shared.d.ts.map +1 -0
- package/dist/recipe/compile/shared.js +843 -0
- package/dist/recipe/compile/site-template.d.ts +52 -0
- package/dist/recipe/compile/site-template.d.ts.map +1 -0
- package/dist/recipe/compile/site-template.js +140 -0
- package/dist/recipe/compile/site.d.ts +44 -0
- package/dist/recipe/compile/site.d.ts.map +1 -0
- package/dist/recipe/compile/site.js +127 -0
- package/dist/recipe/compile.d.ts +93 -0
- package/dist/recipe/compile.d.ts.map +1 -0
- package/dist/recipe/compile.js +741 -0
- package/dist/recipe/execute.d.ts +119 -0
- package/dist/recipe/execute.d.ts.map +1 -0
- package/dist/recipe/execute.js +273 -0
- package/dist/recipe/guids.d.ts +400 -0
- package/dist/recipe/guids.d.ts.map +1 -0
- package/dist/recipe/guids.js +488 -0
- package/dist/recipe/index.d.ts +32 -0
- package/dist/recipe/index.d.ts.map +1 -0
- package/dist/recipe/index.js +156 -0
- package/dist/recipe/io.d.ts +21 -0
- package/dist/recipe/io.d.ts.map +1 -0
- package/dist/recipe/io.js +147 -0
- package/dist/recipe/ir/operations.d.ts +692 -0
- package/dist/recipe/ir/operations.d.ts.map +1 -0
- package/dist/recipe/ir/operations.js +347 -0
- package/dist/recipe/ir/sitecore-templates.d.ts +455 -0
- package/dist/recipe/ir/sitecore-templates.d.ts.map +1 -0
- package/dist/recipe/ir/sitecore-templates.js +465 -0
- package/dist/recipe/layout/emit.d.ts +101 -0
- package/dist/recipe/layout/emit.d.ts.map +1 -0
- package/dist/recipe/layout/emit.js +127 -0
- package/dist/recipe/layout/templates-mapping.d.ts +28 -0
- package/dist/recipe/layout/templates-mapping.d.ts.map +1 -0
- package/dist/recipe/layout/templates-mapping.js +29 -0
- package/dist/recipe/plan.d.ts +134 -0
- package/dist/recipe/plan.d.ts.map +1 -0
- package/dist/recipe/plan.js +565 -0
- package/dist/recipe/policy.d.ts +43 -0
- package/dist/recipe/policy.d.ts.map +1 -0
- package/dist/recipe/policy.js +75 -0
- package/dist/recipe/rollback.d.ts +72 -0
- package/dist/recipe/rollback.d.ts.map +1 -0
- package/dist/recipe/rollback.js +130 -0
- package/dist/recipe/schema/field-types.d.ts +72 -0
- package/dist/recipe/schema/field-types.d.ts.map +1 -0
- package/dist/recipe/schema/field-types.js +118 -0
- package/dist/recipe/schema/recipe.d.ts +1545 -0
- package/dist/recipe/schema/recipe.d.ts.map +1 -0
- package/dist/recipe/schema/recipe.js +1175 -0
- package/dist/recipe/schema/source-fields.d.ts +48 -0
- package/dist/recipe/schema/source-fields.d.ts.map +1 -0
- package/dist/recipe/schema/source-fields.js +79 -0
- package/dist/recipe/tasks/compile.d.ts +14 -0
- package/dist/recipe/tasks/compile.d.ts.map +1 -0
- package/dist/recipe/tasks/compile.js +89 -0
- package/dist/recipe/tasks/diff.d.ts +17 -0
- package/dist/recipe/tasks/diff.d.ts.map +1 -0
- package/dist/recipe/tasks/diff.js +6 -0
- package/dist/recipe/tasks/index.d.ts +9 -0
- package/dist/recipe/tasks/index.d.ts.map +1 -0
- package/dist/recipe/tasks/index.js +13 -0
- package/dist/recipe/tasks/placeholder-allow.d.ts +53 -0
- package/dist/recipe/tasks/placeholder-allow.d.ts.map +1 -0
- package/dist/recipe/tasks/placeholder-allow.js +218 -0
- package/dist/recipe/tasks/plan.d.ts +11 -0
- package/dist/recipe/tasks/plan.d.ts.map +1 -0
- package/dist/recipe/tasks/plan.js +72 -0
- package/dist/recipe/tasks/prune-defaults.d.ts +90 -0
- package/dist/recipe/tasks/prune-defaults.d.ts.map +1 -0
- package/dist/recipe/tasks/prune-defaults.js +184 -0
- package/dist/recipe/tasks/push.d.ts +18 -0
- package/dist/recipe/tasks/push.d.ts.map +1 -0
- package/dist/recipe/tasks/push.js +417 -0
- package/dist/recipe/tasks/shared.d.ts +152 -0
- package/dist/recipe/tasks/shared.d.ts.map +1 -0
- package/dist/recipe/tasks/shared.js +94 -0
- package/dist/recipe/validate.d.ts +103 -0
- package/dist/recipe/validate.d.ts.map +1 -0
- package/dist/recipe/validate.js +297 -0
- package/dist/serialization/commands.d.ts +48 -0
- package/dist/serialization/commands.d.ts.map +1 -0
- package/dist/serialization/commands.js +175 -0
- package/dist/serialization/compare.d.ts +29 -0
- package/dist/serialization/compare.d.ts.map +1 -0
- package/dist/serialization/compare.js +124 -0
- package/dist/serialization/field-filter.d.ts +7 -0
- package/dist/serialization/field-filter.d.ts.map +1 -0
- package/dist/serialization/field-filter.js +20 -0
- package/dist/serialization/filesystem-store/constants.d.ts +3 -0
- package/dist/serialization/filesystem-store/constants.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/constants.js +5 -0
- package/dist/serialization/filesystem-store/index.d.ts +4 -0
- package/dist/serialization/filesystem-store/index.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/index.js +15 -0
- package/dist/serialization/filesystem-store/items.d.ts +10 -0
- package/dist/serialization/filesystem-store/items.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/items.js +64 -0
- package/dist/serialization/filesystem-store/roles.d.ts +6 -0
- package/dist/serialization/filesystem-store/roles.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/roles.js +46 -0
- package/dist/serialization/filesystem-store/users.d.ts +6 -0
- package/dist/serialization/filesystem-store/users.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/users.js +46 -0
- package/dist/serialization/filesystem-store/utils.d.ts +2 -0
- package/dist/serialization/filesystem-store/utils.d.ts.map +1 -0
- package/dist/serialization/filesystem-store/utils.js +17 -0
- package/dist/serialization/filesystem-store.d.ts +2 -0
- package/dist/serialization/filesystem-store.d.ts.map +1 -0
- package/dist/serialization/filesystem-store.js +17 -0
- package/dist/serialization/item-path.d.ts +32 -0
- package/dist/serialization/item-path.d.ts.map +1 -0
- package/dist/serialization/item-path.js +123 -0
- package/dist/serialization/path-provider.d.ts +12 -0
- package/dist/serialization/path-provider.d.ts.map +1 -0
- package/dist/serialization/path-provider.js +271 -0
- package/dist/serialization/signature.d.ts +4 -0
- package/dist/serialization/signature.d.ts.map +1 -0
- package/dist/serialization/signature.js +71 -0
- package/dist/serialization/sitecore-api/auth.d.ts +31 -0
- package/dist/serialization/sitecore-api/auth.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/auth.js +319 -0
- package/dist/serialization/sitecore-api/graphql.d.ts +12 -0
- package/dist/serialization/sitecore-api/graphql.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/graphql.js +20 -0
- package/dist/serialization/sitecore-api/history.d.ts +9 -0
- package/dist/serialization/sitecore-api/history.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/history.js +36 -0
- package/dist/serialization/sitecore-api/index.d.ts +7 -0
- package/dist/serialization/sitecore-api/index.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/index.js +22 -0
- package/dist/serialization/sitecore-api/items.d.ts +8 -0
- package/dist/serialization/sitecore-api/items.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/items.js +132 -0
- package/dist/serialization/sitecore-api/publish.d.ts +14 -0
- package/dist/serialization/sitecore-api/publish.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/publish.js +43 -0
- package/dist/serialization/sitecore-api/roles.d.ts +9 -0
- package/dist/serialization/sitecore-api/roles.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/roles.js +42 -0
- package/dist/serialization/sitecore-api/users.d.ts +9 -0
- package/dist/serialization/sitecore-api/users.d.ts.map +1 -0
- package/dist/serialization/sitecore-api/users.js +62 -0
- package/dist/serialization/sitecore-api.d.ts +2 -0
- package/dist/serialization/sitecore-api.d.ts.map +1 -0
- package/dist/serialization/sitecore-api.js +17 -0
- package/dist/serialization/tasks/diff.d.ts +3 -0
- package/dist/serialization/tasks/diff.d.ts.map +1 -0
- package/dist/serialization/tasks/diff.js +109 -0
- package/dist/serialization/tasks/env/constants.d.ts +2 -0
- package/dist/serialization/tasks/env/constants.d.ts.map +1 -0
- package/dist/serialization/tasks/env/constants.js +4 -0
- package/dist/serialization/tasks/env/deploy-token.d.ts +3 -0
- package/dist/serialization/tasks/env/deploy-token.d.ts.map +1 -0
- package/dist/serialization/tasks/env/deploy-token.js +128 -0
- package/dist/serialization/tasks/env/index.d.ts +5 -0
- package/dist/serialization/tasks/env/index.d.ts.map +1 -0
- package/dist/serialization/tasks/env/index.js +11 -0
- package/dist/serialization/tasks/env/init/auth.d.ts +24 -0
- package/dist/serialization/tasks/env/init/auth.d.ts.map +1 -0
- package/dist/serialization/tasks/env/init/auth.js +122 -0
- package/dist/serialization/tasks/env/init/deploy-lookup.d.ts +22 -0
- package/dist/serialization/tasks/env/init/deploy-lookup.d.ts.map +1 -0
- package/dist/serialization/tasks/env/init/deploy-lookup.js +244 -0
- package/dist/serialization/tasks/env/init.d.ts +3 -0
- package/dist/serialization/tasks/env/init.d.ts.map +1 -0
- package/dist/serialization/tasks/env/init.js +253 -0
- package/dist/serialization/tasks/env/logout.d.ts +3 -0
- package/dist/serialization/tasks/env/logout.d.ts.map +1 -0
- package/dist/serialization/tasks/env/logout.js +61 -0
- package/dist/serialization/tasks/env/status.d.ts +3 -0
- package/dist/serialization/tasks/env/status.d.ts.map +1 -0
- package/dist/serialization/tasks/env/status.js +149 -0
- package/dist/serialization/tasks/env.d.ts +2 -0
- package/dist/serialization/tasks/env.d.ts.map +1 -0
- package/dist/serialization/tasks/env.js +17 -0
- package/dist/serialization/tasks/helpers/collect.d.ts +8 -0
- package/dist/serialization/tasks/helpers/collect.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/collect.js +29 -0
- package/dist/serialization/tasks/helpers/commands.d.ts +5 -0
- package/dist/serialization/tasks/helpers/commands.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/commands.js +14 -0
- package/dist/serialization/tasks/helpers/filesystem.d.ts +6 -0
- package/dist/serialization/tasks/helpers/filesystem.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/filesystem.js +27 -0
- package/dist/serialization/tasks/helpers/index.d.ts +6 -0
- package/dist/serialization/tasks/helpers/index.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/index.js +13 -0
- package/dist/serialization/tasks/helpers/items.d.ts +3 -0
- package/dist/serialization/tasks/helpers/items.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/items.js +5 -0
- package/dist/serialization/tasks/helpers/sitecore.d.ts +5 -0
- package/dist/serialization/tasks/helpers/sitecore.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers/sitecore.js +109 -0
- package/dist/serialization/tasks/helpers.d.ts +2 -0
- package/dist/serialization/tasks/helpers.d.ts.map +1 -0
- package/dist/serialization/tasks/helpers.js +17 -0
- package/dist/serialization/tasks/index.d.ts +8 -0
- package/dist/serialization/tasks/index.d.ts.map +1 -0
- package/dist/serialization/tasks/index.js +19 -0
- package/dist/serialization/tasks/info.d.ts +4 -0
- package/dist/serialization/tasks/info.d.ts.map +1 -0
- package/dist/serialization/tasks/info.js +82 -0
- package/dist/serialization/tasks/package.d.ts +4 -0
- package/dist/serialization/tasks/package.d.ts.map +1 -0
- package/dist/serialization/tasks/package.js +171 -0
- package/dist/serialization/tasks/pull.d.ts +3 -0
- package/dist/serialization/tasks/pull.d.ts.map +1 -0
- package/dist/serialization/tasks/pull.js +82 -0
- package/dist/serialization/tasks/push.d.ts +3 -0
- package/dist/serialization/tasks/push.d.ts.map +1 -0
- package/dist/serialization/tasks/push.js +101 -0
- package/dist/serialization/tasks/roles.d.ts +6 -0
- package/dist/serialization/tasks/roles.d.ts.map +1 -0
- package/dist/serialization/tasks/roles.js +103 -0
- package/dist/serialization/tasks/shared.d.ts +19 -0
- package/dist/serialization/tasks/shared.d.ts.map +1 -0
- package/dist/serialization/tasks/shared.js +59 -0
- package/dist/serialization/tasks/types.d.ts +73 -0
- package/dist/serialization/tasks/types.d.ts.map +1 -0
- package/dist/serialization/tasks/types.js +8 -0
- package/dist/serialization/tasks/users.d.ts +5 -0
- package/dist/serialization/tasks/users.d.ts.map +1 -0
- package/dist/serialization/tasks/users.js +90 -0
- package/dist/serialization/tasks/validate.d.ts +5 -0
- package/dist/serialization/tasks/validate.d.ts.map +1 -0
- package/dist/serialization/tasks/validate.js +50 -0
- package/dist/serialization/tasks/watch.d.ts +3 -0
- package/dist/serialization/tasks/watch.d.ts.map +1 -0
- package/dist/serialization/tasks/watch.js +75 -0
- package/dist/serialization/tasks.d.ts +4 -0
- package/dist/serialization/tasks.d.ts.map +1 -0
- package/dist/serialization/tasks.js +19 -0
- package/dist/serialization/tree-spec.d.ts +51 -0
- package/dist/serialization/tree-spec.d.ts.map +1 -0
- package/dist/serialization/tree-spec.js +241 -0
- package/dist/serialization/types.d.ts +75 -0
- package/dist/serialization/types.d.ts.map +1 -0
- package/dist/serialization/types.js +2 -0
- package/dist/serialization/wildcard.d.ts +3 -0
- package/dist/serialization/wildcard.d.ts.map +1 -0
- package/dist/serialization/wildcard.js +24 -0
- package/dist/serialization/yaml.d.ts +9 -0
- package/dist/serialization/yaml.d.ts.map +1 -0
- package/dist/serialization/yaml.js +307 -0
- package/dist/shared/browser.d.ts +2 -0
- package/dist/shared/browser.d.ts.map +1 -0
- package/dist/shared/browser.js +36 -0
- package/dist/shared/cli-options.d.ts +17 -0
- package/dist/shared/cli-options.d.ts.map +1 -0
- package/dist/shared/cli-options.js +8 -0
- package/dist/shared/cli-tasks.d.ts +38 -0
- package/dist/shared/cli-tasks.d.ts.map +1 -0
- package/dist/shared/cli-tasks.js +108 -0
- package/dist/shared/config-template.d.ts +23 -0
- package/dist/shared/config-template.d.ts.map +1 -0
- package/dist/shared/config-template.js +38 -0
- package/dist/shared/env.d.ts +28 -0
- package/dist/shared/env.d.ts.map +1 -0
- package/dist/shared/env.js +38 -0
- package/dist/shared/errors.d.ts +21 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +59 -0
- package/dist/shared/graphql.d.ts +76 -0
- package/dist/shared/graphql.d.ts.map +1 -0
- package/dist/shared/graphql.js +222 -0
- package/dist/shared/history.d.ts +12 -0
- package/dist/shared/history.d.ts.map +1 -0
- package/dist/shared/history.js +62 -0
- package/dist/shared/keychain.d.ts +15 -0
- package/dist/shared/keychain.d.ts.map +1 -0
- package/dist/shared/keychain.js +177 -0
- package/dist/shared/logger.d.ts +24 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/logger.js +157 -0
- package/dist/shared/output.d.ts +7 -0
- package/dist/shared/output.d.ts.map +1 -0
- package/dist/shared/output.js +21 -0
- package/dist/shared/prompt.d.ts +5 -0
- package/dist/shared/prompt.d.ts.map +1 -0
- package/dist/shared/prompt.js +87 -0
- package/dist/shared/redact.d.ts +3 -0
- package/dist/shared/redact.d.ts.map +1 -0
- package/dist/shared/redact.js +47 -0
- package/dist/shared/spinner.d.ts +5 -0
- package/dist/shared/spinner.d.ts.map +1 -0
- package/dist/shared/spinner.js +89 -0
- package/dist/shared/style.d.ts +2 -0
- package/dist/shared/style.d.ts.map +1 -0
- package/dist/shared/style.js +61 -0
- package/dist/shared/telemetry.d.ts +21 -0
- package/dist/shared/telemetry.d.ts.map +1 -0
- package/dist/shared/telemetry.js +226 -0
- package/dist/shared/validate.d.ts +3 -0
- package/dist/shared/validate.d.ts.map +1 -0
- package/dist/shared/validate.js +32 -0
- package/dist/sites/api/collections.d.ts +25 -0
- package/dist/sites/api/collections.d.ts.map +1 -0
- package/dist/sites/api/collections.js +21 -0
- package/dist/sites/api/index.d.ts +26 -0
- package/dist/sites/api/index.d.ts.map +1 -0
- package/dist/sites/api/index.js +55 -0
- package/dist/sites/api/jobs.d.ts +31 -0
- package/dist/sites/api/jobs.d.ts.map +1 -0
- package/dist/sites/api/jobs.js +10 -0
- package/dist/sites/api/languages.d.ts +22 -0
- package/dist/sites/api/languages.d.ts.map +1 -0
- package/dist/sites/api/languages.js +18 -0
- package/dist/sites/api/request.d.ts +24 -0
- package/dist/sites/api/request.d.ts.map +1 -0
- package/dist/sites/api/request.js +99 -0
- package/dist/sites/api/sites.d.ts +53 -0
- package/dist/sites/api/sites.d.ts.map +1 -0
- package/dist/sites/api/sites.js +41 -0
- package/dist/sites/api/types.d.ts +29 -0
- package/dist/sites/api/types.d.ts.map +1 -0
- package/dist/sites/api/types.js +4 -0
- package/package.json +109 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runPackageInstall = exports.runPackageCreate = void 0;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
9
|
+
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
10
|
+
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
11
|
+
const config_1 = require("../../config");
|
|
12
|
+
const field_filter_1 = require("../field-filter");
|
|
13
|
+
const sitecore_api_1 = require("../sitecore-api");
|
|
14
|
+
const filesystem_store_1 = require("../filesystem-store");
|
|
15
|
+
const yaml_1 = require("../yaml");
|
|
16
|
+
const shared_1 = require("./shared");
|
|
17
|
+
const helpers_1 = require("./helpers");
|
|
18
|
+
const commands_1 = require("../commands");
|
|
19
|
+
const exists = async (value) => {
|
|
20
|
+
try {
|
|
21
|
+
await promises_1.default.access(value);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const runPackageCreate = async (options) => {
|
|
29
|
+
const logger = (0, shared_1.toLogger)(options);
|
|
30
|
+
const { root, modules } = await (0, shared_1.loadConfigAndModules)(options);
|
|
31
|
+
const rawOutput = options.output ?? "sitecore.package";
|
|
32
|
+
const outputPath = node_path_1.default.resolve(rawOutput.endsWith(".zip") ? rawOutput : `${rawOutput}.zip`);
|
|
33
|
+
if (await exists(outputPath)) {
|
|
34
|
+
if (options.overwrite) {
|
|
35
|
+
await promises_1.default.rm(outputPath, { force: true });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw (0, shared_1.inputError)(`Package ${outputPath} already exists. Use --overwrite to replace it.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const zip = new adm_zip_1.default();
|
|
42
|
+
const rootConfig = {
|
|
43
|
+
modules: modules.map((module) => `${module.namespace}/${module.namespace}.module.json`),
|
|
44
|
+
serialization: { excludedFields: root.serialization.excludedFields },
|
|
45
|
+
};
|
|
46
|
+
zip.addFile("sitecoreai.cli.json", Buffer.from(JSON.stringify(rootConfig, null, 2)));
|
|
47
|
+
for (const module of modules) {
|
|
48
|
+
const modulePath = `${module.namespace}/${module.namespace}.module.json`;
|
|
49
|
+
const moduleContent = await promises_1.default.readFile(module.sourceIdentifier);
|
|
50
|
+
zip.addFile(modulePath, moduleContent);
|
|
51
|
+
}
|
|
52
|
+
for (const module of modules) {
|
|
53
|
+
for (const subtree of module.items.includes) {
|
|
54
|
+
const files = await (0, fast_glob_1.default)("**/*.yml", {
|
|
55
|
+
cwd: subtree.physicalPath,
|
|
56
|
+
absolute: true,
|
|
57
|
+
onlyFiles: true,
|
|
58
|
+
});
|
|
59
|
+
for (const file of files) {
|
|
60
|
+
const relative = node_path_1.default.relative(node_path_1.default.dirname(module.sourceIdentifier), file);
|
|
61
|
+
const entryPath = node_path_1.default.posix.join(module.namespace, relative.split(node_path_1.default.sep).join("/"));
|
|
62
|
+
zip.addFile(entryPath, await promises_1.default.readFile(file));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const roles = await (0, filesystem_store_1.readRolesFromFilesystem)(root, module);
|
|
66
|
+
for (const role of roles) {
|
|
67
|
+
const rolePath = role.serializedItemId ?? "";
|
|
68
|
+
const relative = node_path_1.default.relative(node_path_1.default.dirname(module.sourceIdentifier), rolePath);
|
|
69
|
+
const entryPath = node_path_1.default.posix.join(module.namespace, relative.split(node_path_1.default.sep).join("/"));
|
|
70
|
+
zip.addFile(entryPath, Buffer.from((0, yaml_1.writeRoleYaml)(role)));
|
|
71
|
+
}
|
|
72
|
+
const users = await (0, filesystem_store_1.readUsersFromFilesystem)(root, module);
|
|
73
|
+
for (const user of users) {
|
|
74
|
+
const userPath = user.serializedItemId ?? "";
|
|
75
|
+
const relative = node_path_1.default.relative(node_path_1.default.dirname(module.sourceIdentifier), userPath);
|
|
76
|
+
const entryPath = node_path_1.default.posix.join(module.namespace, relative.split(node_path_1.default.sep).join("/"));
|
|
77
|
+
zip.addFile(entryPath, Buffer.from((0, yaml_1.writeUserYaml)(user)));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
zip.writeZip(outputPath);
|
|
81
|
+
if (logger.isJson()) {
|
|
82
|
+
logger.json({
|
|
83
|
+
command: "serialization.package.create",
|
|
84
|
+
outputPath,
|
|
85
|
+
modules: modules.length,
|
|
86
|
+
});
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
logger.info(`Created package at ${outputPath}`, "green");
|
|
90
|
+
};
|
|
91
|
+
exports.runPackageCreate = runPackageCreate;
|
|
92
|
+
const runPackageInstall = async (options) => {
|
|
93
|
+
const logger = (0, shared_1.toLogger)(options);
|
|
94
|
+
const root = (0, config_1.readRootConfiguration)(options.config ?? process.cwd());
|
|
95
|
+
const envName = options.environmentName ?? root.defaultEnvironment;
|
|
96
|
+
const apiTimeoutMs = (0, shared_1.resolveApiTimeoutMs)(root);
|
|
97
|
+
const summary = {
|
|
98
|
+
command: "serialization.package.install",
|
|
99
|
+
environment: envName,
|
|
100
|
+
package: options.package,
|
|
101
|
+
whatIf: Boolean(options.whatIf),
|
|
102
|
+
totalChanges: 0,
|
|
103
|
+
databases: [],
|
|
104
|
+
};
|
|
105
|
+
if (!options.whatIf) {
|
|
106
|
+
(0, shared_1.ensureAllowWrite)(root, envName);
|
|
107
|
+
}
|
|
108
|
+
else if (!logger.isJson()) {
|
|
109
|
+
logger.info("What if mode is active. No changes will be made.", "yellow");
|
|
110
|
+
}
|
|
111
|
+
const zip = new adm_zip_1.default(options.package);
|
|
112
|
+
const rootEntry = zip.getEntry("sitecoreai.cli.json");
|
|
113
|
+
if (!rootEntry) {
|
|
114
|
+
throw (0, shared_1.inputError)("Package did not contain sitecoreai.cli.json index.");
|
|
115
|
+
}
|
|
116
|
+
const rootConfig = JSON.parse(rootEntry.getData().toString("utf8"));
|
|
117
|
+
const moduleConfigs = [];
|
|
118
|
+
for (const modulePath of rootConfig.modules ?? []) {
|
|
119
|
+
const entry = zip.getEntry(modulePath);
|
|
120
|
+
if (!entry) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const raw = JSON.parse(entry.getData().toString("utf8"));
|
|
124
|
+
moduleConfigs.push((0, config_1.normalizeModuleConfiguration)(raw, modulePath, root));
|
|
125
|
+
}
|
|
126
|
+
const subtreesByDb = (0, shared_1.groupSubtreesByDatabase)(moduleConfigs);
|
|
127
|
+
const entries = zip.getEntries().filter((entry) => entry.entryName.endsWith(".yml"));
|
|
128
|
+
for (const [database, subtrees] of subtreesByDb) {
|
|
129
|
+
const packageItems = [];
|
|
130
|
+
for (const entry of entries) {
|
|
131
|
+
const item = (0, yaml_1.readItemYamlFromString)(entry.getData().toString("utf8"));
|
|
132
|
+
const matches = subtrees.find((subtree) => subtree.includesPath(item.path));
|
|
133
|
+
if (!matches) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
item.database = item.database ?? database;
|
|
137
|
+
packageItems.push(item);
|
|
138
|
+
}
|
|
139
|
+
const packageMetadata = packageItems.map((item) => ({
|
|
140
|
+
id: item.id,
|
|
141
|
+
parentId: item.parentId,
|
|
142
|
+
templateId: item.templateId,
|
|
143
|
+
path: item.path,
|
|
144
|
+
dataSignature: item.dataSignature,
|
|
145
|
+
}));
|
|
146
|
+
const destinationMetadata = [];
|
|
147
|
+
for (const subtree of subtrees) {
|
|
148
|
+
const filter = (0, field_filter_1.createFieldFilterSet)(root.serialization.excludedFields, []);
|
|
149
|
+
const metadata = await (0, sitecore_api_1.fetchItemMetadata)(root.environments[envName], database, subtree.path.toPathString(), subtree.scope, filter, false, { timeoutMs: apiTimeoutMs });
|
|
150
|
+
destinationMetadata.push(...metadata.filter((item) => subtree.includesPath(item.path)));
|
|
151
|
+
}
|
|
152
|
+
const commands = (0, helpers_1.buildCommandsForDatabase)(subtrees, packageMetadata, destinationMetadata, true);
|
|
153
|
+
const changes = commands.length;
|
|
154
|
+
summary.totalChanges += changes;
|
|
155
|
+
summary.databases.push({
|
|
156
|
+
database,
|
|
157
|
+
changes,
|
|
158
|
+
applied: changes > 0 && !options.whatIf,
|
|
159
|
+
});
|
|
160
|
+
const sourceDataMap = new Map(packageItems.map((item) => [item.id, item]));
|
|
161
|
+
const destData = await (0, helpers_1.collectItemData)(envName, root, subtrees, false);
|
|
162
|
+
const destDataMap = (0, helpers_1.buildItemDataMap)(destData.items);
|
|
163
|
+
(0, commands_1.enrichCreateCommands)(commands, sourceDataMap);
|
|
164
|
+
(0, commands_1.enrichUpdateCommands)(commands, sourceDataMap, destDataMap, true);
|
|
165
|
+
await (0, helpers_1.applySitecoreCommands)(root, envName, database, commands, logger, options.whatIf);
|
|
166
|
+
}
|
|
167
|
+
if (logger.isJson()) {
|
|
168
|
+
logger.json(summary);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
exports.runPackageInstall = runPackageInstall;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/serialization/tasks/pull.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,eAAO,MAAM,OAAO,GAAU,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,CA0FhE,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runPull = void 0;
|
|
4
|
+
const path_provider_1 = require("../path-provider");
|
|
5
|
+
const field_filter_1 = require("../field-filter");
|
|
6
|
+
const sitecore_api_1 = require("../sitecore-api");
|
|
7
|
+
const filesystem_store_1 = require("../filesystem-store");
|
|
8
|
+
const spinner_1 = require("../../shared/spinner");
|
|
9
|
+
const shared_1 = require("./shared");
|
|
10
|
+
const commands_1 = require("../commands");
|
|
11
|
+
const helpers_1 = require("./helpers");
|
|
12
|
+
const roles_1 = require("./roles");
|
|
13
|
+
const users_1 = require("./users");
|
|
14
|
+
const runPull = async (options) => {
|
|
15
|
+
const logger = (0, shared_1.toLogger)(options);
|
|
16
|
+
const { root, modules } = await (0, shared_1.loadConfigAndModules)(options);
|
|
17
|
+
const envName = options.environmentName ?? root.defaultEnvironment;
|
|
18
|
+
const apiTimeoutMs = (0, shared_1.resolveApiTimeoutMs)(root);
|
|
19
|
+
const summary = {
|
|
20
|
+
command: "serialization.pull",
|
|
21
|
+
environment: envName,
|
|
22
|
+
whatIf: Boolean(options.whatIf),
|
|
23
|
+
totalChanges: 0,
|
|
24
|
+
databases: [],
|
|
25
|
+
};
|
|
26
|
+
const subtreesByDb = (0, shared_1.groupSubtreesByDatabase)(modules);
|
|
27
|
+
for (const [database, subtrees] of subtreesByDb) {
|
|
28
|
+
const spinner = await (0, spinner_1.startSpinner)(`Pulling ${database} items`);
|
|
29
|
+
try {
|
|
30
|
+
const sourceMetadata = [];
|
|
31
|
+
for (const subtree of subtrees) {
|
|
32
|
+
const filter = (0, field_filter_1.createFieldFilterSet)(root.serialization.excludedFields, []);
|
|
33
|
+
const metadata = await (0, sitecore_api_1.fetchItemMetadata)(root.environments[envName], database, subtree.path.toPathString(), subtree.scope, filter, Boolean(options.useDebugSignatures), { timeoutMs: apiTimeoutMs });
|
|
34
|
+
sourceMetadata.push(...metadata.filter((item) => subtree.includesPath(item.path)));
|
|
35
|
+
}
|
|
36
|
+
const { items: destinationItems, metadata: destinationMetadata } = await (0, filesystem_store_1.loadFilesystemItems)(subtrees);
|
|
37
|
+
const commands = (0, helpers_1.buildCommandsForDatabase)(subtrees, sourceMetadata, destinationMetadata, false);
|
|
38
|
+
const changes = commands.length;
|
|
39
|
+
summary.totalChanges += changes;
|
|
40
|
+
summary.databases.push({
|
|
41
|
+
database,
|
|
42
|
+
changes,
|
|
43
|
+
applied: changes > 0 && !options.whatIf,
|
|
44
|
+
});
|
|
45
|
+
if (changes === 0) {
|
|
46
|
+
if (!logger.isJson()) {
|
|
47
|
+
logger.info(`No changes detected for ${database}.`, "green");
|
|
48
|
+
}
|
|
49
|
+
spinner?.succeed();
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (!logger.isJson()) {
|
|
53
|
+
logger.info(`Discovered ${changes} changes for ${database}.`, "green");
|
|
54
|
+
}
|
|
55
|
+
if (options.whatIf) {
|
|
56
|
+
if (!logger.isJson()) {
|
|
57
|
+
logger.info("What if mode is active. No changes will be made.", "yellow");
|
|
58
|
+
}
|
|
59
|
+
spinner?.succeed();
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const dataMap = (0, helpers_1.buildItemDataMap)((await (0, helpers_1.collectItemData)(envName, root, subtrees, Boolean(options.useDebugSignatures))).items);
|
|
63
|
+
(0, commands_1.enrichCreateCommands)(commands, dataMap);
|
|
64
|
+
(0, commands_1.enrichUpdateCommands)(commands, dataMap, (0, helpers_1.buildItemDataMap)(destinationItems), false);
|
|
65
|
+
const pathProvider = new path_provider_1.FilesystemPathProvider(subtrees);
|
|
66
|
+
await (0, helpers_1.applyFilesystemCommands)(commands, pathProvider, dataMap, logger);
|
|
67
|
+
spinner?.succeed();
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
spinner?.fail();
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
for (const module of modules) {
|
|
75
|
+
await (0, roles_1.syncRolesPull)(root, module, envName, logger);
|
|
76
|
+
await (0, users_1.syncUsersPull)(root, module, envName, logger);
|
|
77
|
+
}
|
|
78
|
+
if (logger.isJson()) {
|
|
79
|
+
logger.json(summary);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.runPull = runPull;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/serialization/tasks/push.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,eAAO,MAAM,OAAO,GAAU,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,CA8HhE,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runPush = void 0;
|
|
4
|
+
const field_filter_1 = require("../field-filter");
|
|
5
|
+
const sitecore_api_1 = require("../sitecore-api");
|
|
6
|
+
const filesystem_store_1 = require("../filesystem-store");
|
|
7
|
+
const spinner_1 = require("../../shared/spinner");
|
|
8
|
+
const shared_1 = require("./shared");
|
|
9
|
+
const commands_1 = require("../commands");
|
|
10
|
+
const helpers_1 = require("./helpers");
|
|
11
|
+
const roles_1 = require("./roles");
|
|
12
|
+
const users_1 = require("./users");
|
|
13
|
+
const runPush = async (options) => {
|
|
14
|
+
const logger = (0, shared_1.toLogger)(options);
|
|
15
|
+
const { root, modules } = await (0, shared_1.loadConfigAndModules)(options);
|
|
16
|
+
const envName = options.environmentName ?? root.defaultEnvironment;
|
|
17
|
+
const apiTimeoutMs = (0, shared_1.resolveApiTimeoutMs)(root);
|
|
18
|
+
const summary = {
|
|
19
|
+
command: "serialization.push",
|
|
20
|
+
environment: envName,
|
|
21
|
+
whatIf: Boolean(options.whatIf),
|
|
22
|
+
totalChanges: 0,
|
|
23
|
+
publishedCount: 0,
|
|
24
|
+
databases: [],
|
|
25
|
+
};
|
|
26
|
+
if (options.allowWrite) {
|
|
27
|
+
const env = root.environments[envName];
|
|
28
|
+
if (env) {
|
|
29
|
+
env.allowWrite = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (!options.whatIf) {
|
|
33
|
+
(0, shared_1.ensureAllowWrite)(root, envName);
|
|
34
|
+
}
|
|
35
|
+
const subtreesByDb = (0, shared_1.groupSubtreesByDatabase)(modules);
|
|
36
|
+
for (const [database, subtrees] of subtreesByDb) {
|
|
37
|
+
const spinner = await (0, spinner_1.startSpinner)(`Pushing ${database} items`);
|
|
38
|
+
try {
|
|
39
|
+
const { items: sourceItems, metadata: sourceMetadata } = await (0, filesystem_store_1.loadFilesystemItems)(subtrees);
|
|
40
|
+
const destinationMetadata = [];
|
|
41
|
+
for (const subtree of subtrees) {
|
|
42
|
+
const filter = (0, field_filter_1.createFieldFilterSet)(root.serialization.excludedFields, []);
|
|
43
|
+
const metadata = await (0, sitecore_api_1.fetchItemMetadata)(root.environments[envName], database, subtree.path.toPathString(), subtree.scope, filter, Boolean(options.useDebugSignatures), { timeoutMs: apiTimeoutMs });
|
|
44
|
+
destinationMetadata.push(...metadata.filter((item) => subtree.includesPath(item.path)));
|
|
45
|
+
}
|
|
46
|
+
const commands = (0, helpers_1.buildCommandsForDatabase)(subtrees, sourceMetadata, destinationMetadata, true);
|
|
47
|
+
const changes = commands.length;
|
|
48
|
+
summary.totalChanges += changes;
|
|
49
|
+
const summaryEntry = {
|
|
50
|
+
database,
|
|
51
|
+
changes,
|
|
52
|
+
applied: changes > 0 && !options.whatIf,
|
|
53
|
+
published: false,
|
|
54
|
+
};
|
|
55
|
+
if (changes === 0) {
|
|
56
|
+
if (!logger.isJson()) {
|
|
57
|
+
logger.info(`No changes detected for ${database}.`, "green");
|
|
58
|
+
}
|
|
59
|
+
spinner?.succeed();
|
|
60
|
+
summary.databases.push(summaryEntry);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (options.whatIf && !logger.isJson()) {
|
|
64
|
+
logger.info("What if mode is active. No changes will be made.", "yellow");
|
|
65
|
+
}
|
|
66
|
+
const sourceDataMap = (0, helpers_1.buildItemDataMap)(sourceItems);
|
|
67
|
+
const destData = await (0, helpers_1.collectItemData)(envName, root, subtrees, Boolean(options.useDebugSignatures));
|
|
68
|
+
const destDataMap = (0, helpers_1.buildItemDataMap)(destData.items);
|
|
69
|
+
(0, commands_1.enrichCreateCommands)(commands, sourceDataMap);
|
|
70
|
+
(0, commands_1.enrichUpdateCommands)(commands, sourceDataMap, destDataMap, true);
|
|
71
|
+
const processedIds = await (0, helpers_1.applySitecoreCommands)(root, envName, database, commands, logger, options.whatIf);
|
|
72
|
+
if (options.publish && processedIds.length > 0 && !options.whatIf) {
|
|
73
|
+
const targets = options.targets && options.targets.length > 0 ? options.targets : [undefined];
|
|
74
|
+
for (const target of targets) {
|
|
75
|
+
await (0, sitecore_api_1.publishItems)(root.environments[envName], processedIds, target, {
|
|
76
|
+
timeoutMs: apiTimeoutMs,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
summaryEntry.published = true;
|
|
80
|
+
summary.publishedCount += processedIds.length;
|
|
81
|
+
if (!logger.isJson()) {
|
|
82
|
+
logger.info("Publishing is finished.", "green");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
spinner?.succeed();
|
|
86
|
+
summary.databases.push(summaryEntry);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
spinner?.fail();
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
for (const module of modules) {
|
|
94
|
+
await (0, roles_1.syncRolesPush)(root, module, envName, logger);
|
|
95
|
+
await (0, users_1.syncUsersPush)(root, module, envName, logger);
|
|
96
|
+
}
|
|
97
|
+
if (logger.isJson()) {
|
|
98
|
+
logger.json(summary);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
exports.runPush = runPush;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { readRootConfiguration, SerializationModuleConfiguration } from "../../config";
|
|
2
|
+
import { Logger } from "../../shared/logger";
|
|
3
|
+
export declare const rolesEqual: (left: string[], right: string[]) => boolean;
|
|
4
|
+
export declare const syncRolesPull: (root: ReturnType<typeof readRootConfiguration>, module: SerializationModuleConfiguration, environmentName: string, logger: Logger) => Promise<void>;
|
|
5
|
+
export declare const syncRolesPush: (root: ReturnType<typeof readRootConfiguration>, module: SerializationModuleConfiguration, environmentName: string, logger: Logger) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/serialization/tasks/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAYzC,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,EAAE,OAAO,MAAM,EAAE,KAAG,OAO5D,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC9C,QAAQ,gCAAgC,EACxC,iBAAiB,MAAM,EACvB,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CA6Bd,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC9C,QAAQ,gCAAgC,EACxC,iBAAiB,MAAM,EACvB,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAsEd,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncRolesPush = exports.syncRolesPull = exports.rolesEqual = void 0;
|
|
4
|
+
const sitecore_api_1 = require("../sitecore-api");
|
|
5
|
+
const filesystem_store_1 = require("../filesystem-store");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
7
|
+
const normalizeRoleMembers = (roles) => [...roles].map((role) => role.toLowerCase()).sort();
|
|
8
|
+
const rolesEqual = (left, right) => {
|
|
9
|
+
const leftSorted = normalizeRoleMembers(left);
|
|
10
|
+
const rightSorted = normalizeRoleMembers(right);
|
|
11
|
+
if (leftSorted.length !== rightSorted.length) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return leftSorted.every((role, idx) => role === rightSorted[idx]);
|
|
15
|
+
};
|
|
16
|
+
exports.rolesEqual = rolesEqual;
|
|
17
|
+
const syncRolesPull = async (root, module, environmentName, logger) => {
|
|
18
|
+
if (module.roles.length === 0) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const apiTimeoutMs = (0, shared_1.resolveApiTimeoutMs)(root);
|
|
22
|
+
const predicates = module.roles.map((role) => ({ domain: role.domain, pattern: role.pattern }));
|
|
23
|
+
const sourceRoles = await (0, sitecore_api_1.fetchRoles)(root.environments[environmentName], predicates, {
|
|
24
|
+
timeoutMs: apiTimeoutMs,
|
|
25
|
+
});
|
|
26
|
+
const destRoles = await (0, filesystem_store_1.readRolesFromFilesystem)(root, module);
|
|
27
|
+
const destMap = new Map(destRoles.map((role) => [role.roleName.toLowerCase(), role]));
|
|
28
|
+
for (const role of sourceRoles) {
|
|
29
|
+
const existing = destMap.get(role.roleName.toLowerCase());
|
|
30
|
+
if (!existing || !(0, exports.rolesEqual)(existing.memberOfRoles, role.memberOfRoles)) {
|
|
31
|
+
await (0, filesystem_store_1.writeRoleToFilesystem)(root, module, role);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (root.serialization.removeOrphansForRoles) {
|
|
35
|
+
const sourceNames = new Set(sourceRoles.map((role) => role.roleName.toLowerCase()));
|
|
36
|
+
for (const dest of destRoles) {
|
|
37
|
+
if (!sourceNames.has(dest.roleName.toLowerCase())) {
|
|
38
|
+
await (0, filesystem_store_1.removeRoleFromFilesystem)(dest.serializedItemId);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
logger.info(`[roles] Synced ${sourceRoles.length} roles`, "green");
|
|
43
|
+
};
|
|
44
|
+
exports.syncRolesPull = syncRolesPull;
|
|
45
|
+
const syncRolesPush = async (root, module, environmentName, logger) => {
|
|
46
|
+
if (module.roles.length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const apiTimeoutMs = (0, shared_1.resolveApiTimeoutMs)(root);
|
|
50
|
+
const predicates = module.roles.map((role) => ({ domain: role.domain, pattern: role.pattern }));
|
|
51
|
+
const sourceRoles = await (0, filesystem_store_1.readRolesFromFilesystem)(root, module);
|
|
52
|
+
const destinationRoles = await (0, sitecore_api_1.fetchRoles)(root.environments[environmentName], predicates, {
|
|
53
|
+
timeoutMs: apiTimeoutMs,
|
|
54
|
+
});
|
|
55
|
+
const destMap = new Map(destinationRoles.map((role) => [role.roleName.toLowerCase(), role]));
|
|
56
|
+
const commands = [];
|
|
57
|
+
for (const role of sourceRoles) {
|
|
58
|
+
const dest = destMap.get(role.roleName.toLowerCase());
|
|
59
|
+
if (!dest) {
|
|
60
|
+
commands.push({
|
|
61
|
+
roleData: { roleName: role.roleName, memberOfRoles: [] },
|
|
62
|
+
roleCommandType: "ADD",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const destMembers = dest?.memberOfRoles ?? [];
|
|
66
|
+
for (const member of role.memberOfRoles) {
|
|
67
|
+
if (!destMembers.some((existing) => existing.toLowerCase() === member.toLowerCase())) {
|
|
68
|
+
commands.push({
|
|
69
|
+
roleData: { roleName: role.roleName, memberOfRoles: [] },
|
|
70
|
+
parentRoleData: { roleName: member },
|
|
71
|
+
roleCommandType: "ASSIGN",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const member of destMembers) {
|
|
76
|
+
if (!role.memberOfRoles.some((existing) => existing.toLowerCase() === member.toLowerCase())) {
|
|
77
|
+
commands.push({
|
|
78
|
+
roleData: { roleName: role.roleName, memberOfRoles: [] },
|
|
79
|
+
parentRoleData: { roleName: member },
|
|
80
|
+
roleCommandType: "UNASSIGN",
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (root.serialization.removeOrphansForRoles) {
|
|
86
|
+
const sourceNames = new Set(sourceRoles.map((role) => role.roleName.toLowerCase()));
|
|
87
|
+
for (const role of destinationRoles) {
|
|
88
|
+
if (!sourceNames.has(role.roleName.toLowerCase())) {
|
|
89
|
+
commands.push({
|
|
90
|
+
roleData: { roleName: role.roleName, memberOfRoles: [] },
|
|
91
|
+
roleCommandType: "REMOVE",
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (commands.length > 0) {
|
|
97
|
+
await (0, sitecore_api_1.pushRoleCommands)(root.environments[environmentName], commands, {
|
|
98
|
+
timeoutMs: apiTimeoutMs,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
logger.info(`[roles] Synced ${commands.length} role changes`, "green");
|
|
102
|
+
};
|
|
103
|
+
exports.syncRolesPush = syncRolesPush;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers specific to `scai serialization` task runners — config and
|
|
3
|
+
* module loading, subtree grouping by database, allowWrite check.
|
|
4
|
+
* Neutral helpers (`toLogger`, `selectMatch`, `confirmDestructive`,
|
|
5
|
+
* etc.) live in `@/shared/cli-tasks`; deploy-specific helpers
|
|
6
|
+
* (`getDeployContext`, `extractDeployEnvironmentList`, etc.) live in
|
|
7
|
+
* `@/deploy/tasks/shared`.
|
|
8
|
+
*/
|
|
9
|
+
import { RootConfiguration, SerializationModuleConfiguration } from "../../config";
|
|
10
|
+
import { FilesystemTreeSpec } from "../tree-spec";
|
|
11
|
+
import type { CommonOptions } from "./types";
|
|
12
|
+
export { toLogger, applyIfDefined, inputError, confirmDestructive, selectMatch, selectFromList, resolveApiTimeoutMs, } from "../../shared/cli-tasks";
|
|
13
|
+
export declare const loadConfigAndModules: (options: CommonOptions) => Promise<{
|
|
14
|
+
root: RootConfiguration;
|
|
15
|
+
modules: SerializationModuleConfiguration[];
|
|
16
|
+
}>;
|
|
17
|
+
export declare const groupSubtreesByDatabase: (modules: SerializationModuleConfiguration[]) => Map<string, FilesystemTreeSpec[]>;
|
|
18
|
+
export declare const ensureAllowWrite: (root: RootConfiguration, environmentName: string) => void;
|
|
19
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/serialization/tasks/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,iBAAiB,EACjB,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,KACrB,OAAO,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,gCAAgC,EAAE,CAAA;CAAE,CAQlF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,gCAAgC,EAAE,KAC1C,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAWlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,iBAAiB,EAAE,iBAAiB,MAAM,KAAG,IAgBnF,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Helpers specific to `scai serialization` task runners — config and
|
|
4
|
+
* module loading, subtree grouping by database, allowWrite check.
|
|
5
|
+
* Neutral helpers (`toLogger`, `selectMatch`, `confirmDestructive`,
|
|
6
|
+
* etc.) live in `@/shared/cli-tasks`; deploy-specific helpers
|
|
7
|
+
* (`getDeployContext`, `extractDeployEnvironmentList`, etc.) live in
|
|
8
|
+
* `@/deploy/tasks/shared`.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ensureAllowWrite = exports.groupSubtreesByDatabase = exports.loadConfigAndModules = exports.resolveApiTimeoutMs = exports.selectFromList = exports.selectMatch = exports.confirmDestructive = exports.inputError = exports.applyIfDefined = exports.toLogger = void 0;
|
|
12
|
+
const config_1 = require("../../config");
|
|
13
|
+
const errors_1 = require("../../shared/errors");
|
|
14
|
+
// Re-exports preserve the existing barrel surface; new code should
|
|
15
|
+
// import these directly from `@/shared/cli-tasks`.
|
|
16
|
+
var cli_tasks_1 = require("../../shared/cli-tasks");
|
|
17
|
+
Object.defineProperty(exports, "toLogger", { enumerable: true, get: function () { return cli_tasks_1.toLogger; } });
|
|
18
|
+
Object.defineProperty(exports, "applyIfDefined", { enumerable: true, get: function () { return cli_tasks_1.applyIfDefined; } });
|
|
19
|
+
Object.defineProperty(exports, "inputError", { enumerable: true, get: function () { return cli_tasks_1.inputError; } });
|
|
20
|
+
Object.defineProperty(exports, "confirmDestructive", { enumerable: true, get: function () { return cli_tasks_1.confirmDestructive; } });
|
|
21
|
+
Object.defineProperty(exports, "selectMatch", { enumerable: true, get: function () { return cli_tasks_1.selectMatch; } });
|
|
22
|
+
Object.defineProperty(exports, "selectFromList", { enumerable: true, get: function () { return cli_tasks_1.selectFromList; } });
|
|
23
|
+
Object.defineProperty(exports, "resolveApiTimeoutMs", { enumerable: true, get: function () { return cli_tasks_1.resolveApiTimeoutMs; } });
|
|
24
|
+
const loadConfigAndModules = async (options) => {
|
|
25
|
+
const configPath = options.config ?? process.cwd();
|
|
26
|
+
const rootFile = (0, config_1.readRootConfigurationFile)(configPath);
|
|
27
|
+
const envName = options.environmentName ?? rootFile.config.defaultEnvProfile;
|
|
28
|
+
const root = (0, config_1.readRootConfiguration)(configPath, envName);
|
|
29
|
+
const modules = await (0, config_1.readSerializationModules)(root, options.include, options.exclude);
|
|
30
|
+
return { root, modules };
|
|
31
|
+
};
|
|
32
|
+
exports.loadConfigAndModules = loadConfigAndModules;
|
|
33
|
+
const groupSubtreesByDatabase = (modules) => {
|
|
34
|
+
const map = new Map();
|
|
35
|
+
for (const module of modules) {
|
|
36
|
+
for (const subtree of module.items.includes) {
|
|
37
|
+
if (!map.has(subtree.database)) {
|
|
38
|
+
map.set(subtree.database, []);
|
|
39
|
+
}
|
|
40
|
+
map.get(subtree.database).push(subtree);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return map;
|
|
44
|
+
};
|
|
45
|
+
exports.groupSubtreesByDatabase = groupSubtreesByDatabase;
|
|
46
|
+
const ensureAllowWrite = (root, environmentName) => {
|
|
47
|
+
const env = root.environments[environmentName];
|
|
48
|
+
if (!env?.allowWrite) {
|
|
49
|
+
const envKey = environmentName
|
|
50
|
+
.trim()
|
|
51
|
+
.toUpperCase()
|
|
52
|
+
.replace(/[^A-Z0-9]+/g, "_")
|
|
53
|
+
.replace(/^_+|_+$/g, "");
|
|
54
|
+
throw (0, errors_1.createCliError)(`Environment ${environmentName} is not configured to allow writing data.`, "INPUT_INVALID", {
|
|
55
|
+
hint: `Set allowWrite in sitecoreai.cli.json, set SITECOREAI_ENV_${envKey}_ALLOW_WRITE=true, or pass --allow-write.`,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.ensureAllowWrite = ensureAllowWrite;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Option types for `scai serialization` task runners (and the
|
|
3
|
+
* env-management tasks that share the serialization namespace —
|
|
4
|
+
* `init`, `login`, `logout`, etc.). Deploy-specific option types
|
|
5
|
+
* (`Deploy*Options`) live in `@/deploy/tasks/types`.
|
|
6
|
+
*/
|
|
7
|
+
export { CommonOptions } from "../../shared/cli-options";
|
|
8
|
+
import type { CommonOptions } from "../../shared/cli-options";
|
|
9
|
+
export type LogoutOptions = CommonOptions & {
|
|
10
|
+
environmentName?: string;
|
|
11
|
+
all?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type SyncOptions = CommonOptions & {
|
|
14
|
+
environmentName?: string;
|
|
15
|
+
whatIf?: boolean;
|
|
16
|
+
force?: boolean;
|
|
17
|
+
skipValidation?: boolean;
|
|
18
|
+
allowWrite?: boolean;
|
|
19
|
+
publish?: boolean;
|
|
20
|
+
targets?: string[];
|
|
21
|
+
useDebugSignatures?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type DiffOptions = CommonOptions & {
|
|
24
|
+
source: string;
|
|
25
|
+
destination: string;
|
|
26
|
+
push?: boolean;
|
|
27
|
+
path?: string;
|
|
28
|
+
sourceDatabase?: string;
|
|
29
|
+
destinationDatabase?: string;
|
|
30
|
+
};
|
|
31
|
+
export type ExplainOptions = CommonOptions & {
|
|
32
|
+
path: string;
|
|
33
|
+
database: string;
|
|
34
|
+
};
|
|
35
|
+
export type WatchOptions = CommonOptions & {
|
|
36
|
+
environmentName?: string;
|
|
37
|
+
skipPull?: boolean;
|
|
38
|
+
allowFileChanges?: boolean;
|
|
39
|
+
};
|
|
40
|
+
export type PackageCreateOptions = CommonOptions & {
|
|
41
|
+
output: string;
|
|
42
|
+
overwrite?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type PackageInstallOptions = CommonOptions & {
|
|
45
|
+
package: string;
|
|
46
|
+
environmentName?: string;
|
|
47
|
+
whatIf?: boolean;
|
|
48
|
+
publish?: boolean;
|
|
49
|
+
authority?: string;
|
|
50
|
+
cm?: string;
|
|
51
|
+
clientId?: string;
|
|
52
|
+
clientSecret?: string;
|
|
53
|
+
};
|
|
54
|
+
export type ConnectOptions = CommonOptions & {
|
|
55
|
+
environmentName?: string;
|
|
56
|
+
cm?: string;
|
|
57
|
+
host?: string;
|
|
58
|
+
ref?: string;
|
|
59
|
+
allowWrite?: boolean;
|
|
60
|
+
skipDeployLookup?: boolean;
|
|
61
|
+
organizationId?: string;
|
|
62
|
+
tenantId?: string;
|
|
63
|
+
organization?: string;
|
|
64
|
+
project?: string;
|
|
65
|
+
environment?: string;
|
|
66
|
+
deployToken?: string;
|
|
67
|
+
clientId?: string;
|
|
68
|
+
clientSecret?: string;
|
|
69
|
+
useClientCredentials?: boolean;
|
|
70
|
+
setDefault?: boolean;
|
|
71
|
+
wizard?: boolean;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/serialization/tasks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Option types for `scai serialization` task runners (and the
|
|
4
|
+
* env-management tasks that share the serialization namespace —
|
|
5
|
+
* `init`, `login`, `logout`, etc.). Deploy-specific option types
|
|
6
|
+
* (`Deploy*Options`) live in `@/deploy/tasks/types`.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|