@salesforce/b2c-tooling-sdk 0.2.1 → 0.4.0
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 +180 -13
- package/data/scaffolds/cartridge/files/.project.ejs +17 -0
- package/data/scaffolds/cartridge/files/cartridge/cartridge.properties.ejs +4 -0
- package/data/scaffolds/cartridge/files/cartridge/controllers/Example.js.ejs +19 -0
- package/data/scaffolds/cartridge/files/cartridge/models/example.js.ejs +14 -0
- package/data/scaffolds/cartridge/files/cartridge/scripts/helpers/exampleHelpers.js.ejs +18 -0
- package/data/scaffolds/cartridge/files/cartridge/static/default/css/example.css +6 -0
- package/data/scaffolds/cartridge/files/cartridge/templates/default/example/show.isml.ejs +11 -0
- package/data/scaffolds/cartridge/scaffold.json +88 -0
- package/data/scaffolds/controller/files/controller.js.ejs +134 -0
- package/data/scaffolds/controller/files/template.isml.ejs +22 -0
- package/data/scaffolds/controller/scaffold.json +64 -0
- package/data/scaffolds/custom-api/files/api.json.ejs +11 -0
- package/data/scaffolds/custom-api/files/schema.yaml.ejs +188 -0
- package/data/scaffolds/custom-api/files/script.js.ejs +95 -0
- package/data/scaffolds/custom-api/scaffold.json +65 -0
- package/data/scaffolds/hook/files/hook.js.ejs +99 -0
- package/data/scaffolds/hook/files/hooks-entry.json.ejs +6 -0
- package/data/scaffolds/hook/scaffold.json +60 -0
- package/data/scaffolds/job-step/files/step-chunk.js.ejs +136 -0
- package/data/scaffolds/job-step/files/step-task.js.ejs +47 -0
- package/data/scaffolds/job-step/files/steptypes-entry.json.ejs +41 -0
- package/data/scaffolds/job-step/scaffold.json +64 -0
- package/data/scaffolds/page-designer-component/files/component.isml.ejs +23 -0
- package/data/scaffolds/page-designer-component/files/component.js.ejs +35 -0
- package/data/scaffolds/page-designer-component/files/component.json.ejs +50 -0
- package/data/scaffolds/page-designer-component/scaffold.json +66 -0
- package/data/scaffolds/service/files/service-http.js.ejs +245 -0
- package/data/scaffolds/service/files/service-sftp.js.ejs +371 -0
- package/data/scaffolds/service/files/service-soap.js.ejs +230 -0
- package/data/scaffolds/service/scaffold.json +83 -0
- package/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md +48 -0
- package/data/script-api/dw.system.Request.md +5 -0
- package/data/script-api/dw.web.Cookie.md +108 -31
- package/data/script-api/index.json +2 -2
- package/data/script-api/index.md +1 -1
- package/dist/cjs/auth/api-key.d.ts +2 -2
- package/dist/cjs/auth/api-key.js +1 -0
- package/dist/cjs/auth/api-key.js.map +1 -1
- package/dist/cjs/auth/basic.d.ts +2 -2
- package/dist/cjs/auth/basic.js +2 -0
- package/dist/cjs/auth/basic.js.map +1 -1
- package/dist/cjs/auth/index.d.ts +1 -1
- package/dist/cjs/auth/index.js.map +1 -1
- package/dist/cjs/auth/oauth-implicit.d.ts +3 -2
- package/dist/cjs/auth/oauth-implicit.js +9 -3
- package/dist/cjs/auth/oauth-implicit.js.map +1 -1
- package/dist/cjs/auth/oauth.d.ts +3 -2
- package/dist/cjs/auth/oauth.js +10 -3
- package/dist/cjs/auth/oauth.js.map +1 -1
- package/dist/cjs/auth/types.d.ts +15 -1
- package/dist/cjs/auth/types.js +5 -0
- package/dist/cjs/auth/types.js.map +1 -1
- package/dist/cjs/cli/am-command.d.ts +74 -0
- package/dist/cjs/cli/am-command.js +189 -0
- package/dist/cjs/cli/am-command.js.map +1 -0
- package/dist/cjs/cli/base-command.d.ts +61 -0
- package/dist/cjs/cli/base-command.js +171 -4
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/config.d.ts +80 -0
- package/dist/cjs/cli/config.js +122 -2
- package/dist/cjs/cli/config.js.map +1 -1
- package/dist/cjs/cli/index.d.ts +3 -2
- package/dist/cjs/cli/index.js +4 -1
- package/dist/cjs/cli/index.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +5 -0
- package/dist/cjs/cli/instance-command.js +24 -23
- package/dist/cjs/cli/instance-command.js.map +1 -1
- package/dist/cjs/cli/mrt-command.d.ts +0 -6
- package/dist/cjs/cli/mrt-command.js +5 -29
- package/dist/cjs/cli/mrt-command.js.map +1 -1
- package/dist/cjs/cli/oauth-command.d.ts +25 -6
- package/dist/cjs/cli/oauth-command.js +65 -42
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +23 -1
- package/dist/cjs/cli/ods-command.js +61 -4
- package/dist/cjs/cli/ods-command.js.map +1 -1
- package/dist/cjs/cli/webdav-command.d.ts +5 -0
- package/dist/cjs/clients/am-api.d.ts +491 -0
- package/dist/cjs/clients/am-api.js +944 -0
- package/dist/cjs/clients/am-api.js.map +1 -0
- package/dist/cjs/clients/am-apiclients-api.generated.d.ts +803 -0
- package/dist/cjs/clients/am-apiclients-api.generated.js +6 -0
- package/dist/cjs/clients/am-apiclients-api.generated.js.map +1 -0
- package/dist/cjs/clients/am-roles-api.generated.d.ts +298 -0
- package/dist/cjs/clients/am-roles-api.generated.js +6 -0
- package/dist/cjs/clients/am-roles-api.generated.js.map +1 -0
- package/dist/cjs/clients/am-users-api.generated.d.ts +891 -0
- package/dist/cjs/clients/am-users-api.generated.js +6 -0
- package/dist/cjs/clients/am-users-api.generated.js.map +1 -0
- package/dist/cjs/clients/cdn-zones.d.ts +33 -1
- package/dist/cjs/clients/cdn-zones.js.map +1 -1
- package/dist/cjs/clients/custom-apis.d.ts +30 -1
- package/dist/cjs/clients/custom-apis.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +6 -2
- package/dist/cjs/clients/index.js +3 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware-registry.d.ts +1 -1
- package/dist/cjs/clients/middleware-registry.js.map +1 -1
- package/dist/cjs/clients/middleware.d.ts +49 -2
- package/dist/cjs/clients/middleware.js +214 -2
- package/dist/cjs/clients/middleware.js.map +1 -1
- package/dist/cjs/clients/mrt-b2c.d.ts +25 -1
- package/dist/cjs/clients/mrt-b2c.js.map +1 -1
- package/dist/cjs/clients/mrt.d.ts +24 -1
- package/dist/cjs/clients/mrt.js +5 -1
- package/dist/cjs/clients/mrt.js.map +1 -1
- package/dist/cjs/clients/ocapi.d.ts +22 -2
- package/dist/cjs/clients/ocapi.js +0 -2
- package/dist/cjs/clients/ocapi.js.map +1 -1
- package/dist/cjs/clients/ods.d.ts +28 -1
- package/dist/cjs/clients/ods.js.map +1 -1
- package/dist/cjs/clients/scapi-schemas.d.ts +30 -1
- package/dist/cjs/clients/scapi-schemas.js.map +1 -1
- package/dist/cjs/clients/slas-admin.d.ts +28 -0
- package/dist/cjs/clients/slas-admin.js.map +1 -1
- package/dist/cjs/clients/tls-dispatcher.d.ts +42 -0
- package/dist/cjs/clients/tls-dispatcher.js +107 -0
- package/dist/cjs/clients/tls-dispatcher.js.map +1 -0
- package/dist/cjs/clients/webdav.d.ts +8 -1
- package/dist/cjs/clients/webdav.js +5 -1
- package/dist/cjs/clients/webdav.js.map +1 -1
- package/dist/cjs/config/dw-json.d.ts +106 -21
- package/dist/cjs/config/dw-json.js +170 -4
- package/dist/cjs/config/dw-json.js.map +1 -1
- package/dist/cjs/config/index.d.ts +7 -5
- package/dist/cjs/config/index.js +7 -3
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/config/instance-manager.d.ts +97 -0
- package/dist/cjs/config/instance-manager.js +166 -0
- package/dist/cjs/config/instance-manager.js.map +1 -0
- package/dist/cjs/config/mapping.d.ts +63 -5
- package/dist/cjs/config/mapping.js +179 -18
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/resolved-config.d.ts +1 -3
- package/dist/cjs/config/resolved-config.js +0 -8
- package/dist/cjs/config/resolved-config.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +1 -1
- package/dist/cjs/config/resolver.js +19 -3
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +17 -1
- package/dist/cjs/config/sources/dw-json-source.js +70 -3
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.js +3 -2
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.js +9 -4
- package/dist/cjs/config/sources/package-json-source.js.map +1 -1
- package/dist/cjs/config/types.d.ts +78 -18
- package/dist/cjs/defaults.d.ts +6 -0
- package/dist/cjs/defaults.js +6 -0
- package/dist/cjs/defaults.js.map +1 -1
- package/dist/{esm/operations → cjs}/docs/download.d.ts +1 -1
- package/dist/cjs/{operations/docs → docs}/download.js +2 -2
- package/dist/cjs/docs/download.js.map +1 -0
- package/dist/{esm/operations → cjs}/docs/index.d.ts +4 -4
- package/dist/cjs/docs/index.js.map +1 -0
- package/dist/cjs/docs/schema.js.map +1 -0
- package/dist/cjs/docs/search.js.map +1 -0
- package/dist/cjs/docs/types.js.map +1 -0
- package/dist/cjs/i18n/index.js +3 -0
- package/dist/cjs/i18n/index.js.map +1 -1
- package/dist/cjs/index.d.ts +11 -12
- package/dist/cjs/index.js +12 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance/index.d.ts +4 -0
- package/dist/cjs/instance/index.js +6 -1
- package/dist/cjs/instance/index.js.map +1 -1
- package/dist/cjs/logging/index.d.ts +1 -1
- package/dist/cjs/logging/logger.js +27 -0
- package/dist/cjs/logging/logger.js.map +1 -1
- package/dist/cjs/logging/types.d.ts +9 -0
- package/dist/cjs/operations/content/asset-query.d.ts +22 -0
- package/dist/cjs/operations/content/asset-query.js +77 -0
- package/dist/cjs/operations/content/asset-query.js.map +1 -0
- package/dist/cjs/operations/content/export.d.ts +57 -0
- package/dist/cjs/operations/content/export.js +224 -0
- package/dist/cjs/operations/content/export.js.map +1 -0
- package/dist/cjs/operations/content/index.d.ts +43 -0
- package/dist/cjs/operations/content/index.js +48 -0
- package/dist/cjs/operations/content/index.js.map +1 -0
- package/dist/cjs/operations/content/library.d.ts +137 -0
- package/dist/cjs/operations/content/library.js +392 -0
- package/dist/cjs/operations/content/library.js.map +1 -0
- package/dist/cjs/operations/content/types.d.ts +144 -0
- package/dist/cjs/operations/content/types.js +7 -0
- package/dist/cjs/operations/content/types.js.map +1 -0
- package/dist/cjs/operations/logs/index.d.ts +65 -0
- package/dist/cjs/operations/logs/index.js +73 -0
- package/dist/cjs/operations/logs/index.js.map +1 -0
- package/dist/cjs/operations/logs/list.d.ts +35 -0
- package/dist/cjs/operations/logs/list.js +144 -0
- package/dist/cjs/operations/logs/list.js.map +1 -0
- package/dist/cjs/operations/logs/path-normalizer.d.ts +82 -0
- package/dist/cjs/operations/logs/path-normalizer.js +190 -0
- package/dist/cjs/operations/logs/path-normalizer.js.map +1 -0
- package/dist/cjs/operations/logs/tail.d.ts +92 -0
- package/dist/cjs/operations/logs/tail.js +525 -0
- package/dist/cjs/operations/logs/tail.js.map +1 -0
- package/dist/cjs/operations/logs/types.d.ts +132 -0
- package/dist/cjs/operations/logs/types.js +7 -0
- package/dist/cjs/operations/logs/types.js.map +1 -0
- package/dist/cjs/operations/mrt/b2c-config.js +19 -4
- package/dist/cjs/operations/mrt/b2c-config.js.map +1 -1
- package/dist/cjs/operations/mrt/index.d.ts +2 -0
- package/dist/cjs/operations/mrt/index.js +2 -0
- package/dist/cjs/operations/mrt/index.js.map +1 -1
- package/dist/cjs/operations/mrt/push.js +3 -0
- package/dist/cjs/operations/mrt/push.js.map +1 -1
- package/dist/cjs/operations/mrt/tail-logs.d.ts +130 -0
- package/dist/cjs/operations/mrt/tail-logs.js +223 -0
- package/dist/cjs/operations/mrt/tail-logs.js.map +1 -0
- package/dist/cjs/operations/ods/index.d.ts +8 -0
- package/dist/cjs/operations/ods/index.js +13 -0
- package/dist/cjs/operations/ods/index.js.map +1 -0
- package/dist/cjs/operations/ods/sandbox-lookup.d.ts +63 -0
- package/dist/cjs/operations/ods/sandbox-lookup.js +130 -0
- package/dist/cjs/operations/ods/sandbox-lookup.js.map +1 -0
- package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +64 -0
- package/dist/cjs/operations/ods/wait-for-sandbox.js +114 -0
- package/dist/cjs/operations/ods/wait-for-sandbox.js.map +1 -0
- package/dist/cjs/operations/orgs/index.d.ts +74 -0
- package/dist/cjs/operations/orgs/index.js +33 -0
- package/dist/cjs/operations/orgs/index.js.map +1 -0
- package/dist/cjs/operations/roles/index.d.ts +43 -0
- package/dist/cjs/operations/roles/index.js +48 -0
- package/dist/cjs/operations/roles/index.js.map +1 -0
- package/dist/cjs/operations/users/index.d.ts +143 -0
- package/dist/cjs/operations/users/index.js +141 -0
- package/dist/cjs/operations/users/index.js.map +1 -0
- package/dist/cjs/scaffold/engine.d.ts +68 -0
- package/dist/cjs/scaffold/engine.js +149 -0
- package/dist/cjs/scaffold/engine.js.map +1 -0
- package/dist/cjs/scaffold/executor.d.ts +36 -0
- package/dist/cjs/scaffold/executor.js +285 -0
- package/dist/cjs/scaffold/executor.js.map +1 -0
- package/dist/cjs/scaffold/index.d.ts +74 -0
- package/dist/cjs/scaffold/index.js +23 -0
- package/dist/cjs/scaffold/index.js.map +1 -0
- package/dist/cjs/scaffold/merge.d.ts +56 -0
- package/dist/cjs/scaffold/merge.js +183 -0
- package/dist/cjs/scaffold/merge.js.map +1 -0
- package/dist/cjs/scaffold/parameter-resolver.d.ts +86 -0
- package/dist/cjs/scaffold/parameter-resolver.js +179 -0
- package/dist/cjs/scaffold/parameter-resolver.js.map +1 -0
- package/dist/cjs/scaffold/registry.d.ts +45 -0
- package/dist/cjs/scaffold/registry.js +219 -0
- package/dist/cjs/scaffold/registry.js.map +1 -0
- package/dist/cjs/scaffold/sources.d.ts +45 -0
- package/dist/cjs/scaffold/sources.js +113 -0
- package/dist/cjs/scaffold/sources.js.map +1 -0
- package/dist/cjs/scaffold/types.d.ts +280 -0
- package/dist/cjs/scaffold/types.js +14 -0
- package/dist/cjs/scaffold/types.js.map +1 -0
- package/dist/cjs/scaffold/validation.d.ts +81 -0
- package/dist/cjs/scaffold/validation.js +250 -0
- package/dist/cjs/scaffold/validation.js.map +1 -0
- package/dist/cjs/scaffold/validators.d.ts +33 -0
- package/dist/cjs/scaffold/validators.js +334 -0
- package/dist/cjs/scaffold/validators.js.map +1 -0
- package/dist/{esm/operations/scapi-schemas → cjs/schemas}/collapse.d.ts +1 -1
- package/dist/cjs/schemas/collapse.js.map +1 -0
- package/dist/cjs/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
- package/dist/cjs/{operations/scapi-schemas → schemas}/index.js +5 -5
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/telemetry/index.d.ts +26 -0
- package/dist/cjs/telemetry/index.js +32 -0
- package/dist/cjs/telemetry/index.js.map +1 -0
- package/dist/cjs/telemetry/telemetry.d.ts +90 -0
- package/dist/cjs/telemetry/telemetry.js +283 -0
- package/dist/cjs/telemetry/telemetry.js.map +1 -0
- package/dist/cjs/telemetry/types.d.ts +62 -0
- package/dist/cjs/telemetry/types.js +7 -0
- package/dist/cjs/telemetry/types.js.map +1 -0
- package/dist/cjs/test-utils/config-isolation.js +7 -0
- package/dist/cjs/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/auth/api-key.d.ts +2 -2
- package/dist/esm/auth/api-key.js +1 -0
- package/dist/esm/auth/api-key.js.map +1 -1
- package/dist/esm/auth/basic.d.ts +2 -2
- package/dist/esm/auth/basic.js +2 -0
- package/dist/esm/auth/basic.js.map +1 -1
- package/dist/esm/auth/index.d.ts +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +3 -2
- package/dist/esm/auth/oauth-implicit.js +9 -3
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +3 -2
- package/dist/esm/auth/oauth.js +10 -3
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/types.d.ts +15 -1
- package/dist/esm/auth/types.js +5 -0
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/am-command.d.ts +74 -0
- package/dist/esm/cli/am-command.js +196 -0
- package/dist/esm/cli/am-command.js.map +1 -0
- package/dist/esm/cli/base-command.d.ts +61 -0
- package/dist/esm/cli/base-command.js +171 -4
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/config.d.ts +80 -0
- package/dist/esm/cli/config.js +122 -2
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +3 -2
- package/dist/esm/cli/index.js +4 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +5 -0
- package/dist/esm/cli/instance-command.js +24 -23
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +0 -6
- package/dist/esm/cli/mrt-command.js +5 -29
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +25 -6
- package/dist/esm/cli/oauth-command.js +65 -42
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +23 -1
- package/dist/esm/cli/ods-command.js +61 -4
- package/dist/esm/cli/ods-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +5 -0
- package/dist/esm/clients/am-api.d.ts +491 -0
- package/dist/esm/clients/am-api.js +944 -0
- package/dist/esm/clients/am-api.js.map +1 -0
- package/dist/esm/clients/am-apiclients-api.generated.d.ts +803 -0
- package/dist/esm/clients/am-apiclients-api.generated.js +6 -0
- package/dist/esm/clients/am-apiclients-api.generated.js.map +1 -0
- package/dist/esm/clients/am-roles-api.generated.d.ts +298 -0
- package/dist/esm/clients/am-roles-api.generated.js +6 -0
- package/dist/esm/clients/am-roles-api.generated.js.map +1 -0
- package/dist/esm/clients/am-users-api.generated.d.ts +891 -0
- package/dist/esm/clients/am-users-api.generated.js +6 -0
- package/dist/esm/clients/am-users-api.generated.js.map +1 -0
- package/dist/esm/clients/cdn-zones.d.ts +33 -1
- package/dist/esm/clients/cdn-zones.js.map +1 -1
- package/dist/esm/clients/custom-apis.d.ts +30 -1
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +6 -2
- package/dist/esm/clients/index.js +3 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +1 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +49 -2
- package/dist/esm/clients/middleware.js +214 -2
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.d.ts +25 -1
- package/dist/esm/clients/mrt-b2c.js.map +1 -1
- package/dist/esm/clients/mrt.d.ts +24 -1
- package/dist/esm/clients/mrt.js +5 -1
- package/dist/esm/clients/mrt.js.map +1 -1
- package/dist/esm/clients/ocapi.d.ts +22 -2
- package/dist/esm/clients/ocapi.js +0 -2
- package/dist/esm/clients/ocapi.js.map +1 -1
- package/dist/esm/clients/ods.d.ts +28 -1
- package/dist/esm/clients/ods.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.d.ts +30 -1
- package/dist/esm/clients/scapi-schemas.js.map +1 -1
- package/dist/esm/clients/slas-admin.d.ts +28 -0
- package/dist/esm/clients/slas-admin.js.map +1 -1
- package/dist/esm/clients/tls-dispatcher.d.ts +42 -0
- package/dist/esm/clients/tls-dispatcher.js +107 -0
- package/dist/esm/clients/tls-dispatcher.js.map +1 -0
- package/dist/esm/clients/webdav.d.ts +8 -1
- package/dist/esm/clients/webdav.js +5 -1
- package/dist/esm/clients/webdav.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +106 -21
- package/dist/esm/config/dw-json.js +170 -4
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +7 -5
- package/dist/esm/config/index.js +7 -3
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/instance-manager.d.ts +97 -0
- package/dist/esm/config/instance-manager.js +166 -0
- package/dist/esm/config/instance-manager.js.map +1 -0
- package/dist/esm/config/mapping.d.ts +63 -5
- package/dist/esm/config/mapping.js +179 -18
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolved-config.d.ts +1 -3
- package/dist/esm/config/resolved-config.js +0 -8
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +1 -1
- package/dist/esm/config/resolver.js +19 -3
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +17 -1
- package/dist/esm/config/sources/dw-json-source.js +70 -3
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.js +3 -2
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.js +9 -4
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +78 -18
- package/dist/esm/defaults.d.ts +6 -0
- package/dist/esm/defaults.js +6 -0
- package/dist/esm/defaults.js.map +1 -1
- package/dist/{cjs/operations → esm}/docs/download.d.ts +1 -1
- package/dist/esm/{operations/docs → docs}/download.js +2 -2
- package/dist/esm/docs/download.js.map +1 -0
- package/dist/{cjs/operations → esm}/docs/index.d.ts +4 -4
- package/dist/esm/docs/index.js.map +1 -0
- package/dist/esm/docs/schema.js.map +1 -0
- package/dist/esm/docs/search.js.map +1 -0
- package/dist/esm/docs/types.js.map +1 -0
- package/dist/esm/i18n/index.js +3 -0
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/index.d.ts +11 -12
- package/dist/esm/index.js +12 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +4 -0
- package/dist/esm/instance/index.js +6 -1
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/logging/index.d.ts +1 -1
- package/dist/esm/logging/logger.js +27 -0
- package/dist/esm/logging/logger.js.map +1 -1
- package/dist/esm/logging/types.d.ts +9 -0
- package/dist/esm/operations/content/asset-query.d.ts +22 -0
- package/dist/esm/operations/content/asset-query.js +77 -0
- package/dist/esm/operations/content/asset-query.js.map +1 -0
- package/dist/esm/operations/content/export.d.ts +57 -0
- package/dist/esm/operations/content/export.js +224 -0
- package/dist/esm/operations/content/export.js.map +1 -0
- package/dist/esm/operations/content/index.d.ts +43 -0
- package/dist/esm/operations/content/index.js +48 -0
- package/dist/esm/operations/content/index.js.map +1 -0
- package/dist/esm/operations/content/library.d.ts +137 -0
- package/dist/esm/operations/content/library.js +392 -0
- package/dist/esm/operations/content/library.js.map +1 -0
- package/dist/esm/operations/content/types.d.ts +144 -0
- package/dist/esm/operations/content/types.js +7 -0
- package/dist/esm/operations/content/types.js.map +1 -0
- package/dist/esm/operations/logs/index.d.ts +65 -0
- package/dist/esm/operations/logs/index.js +73 -0
- package/dist/esm/operations/logs/index.js.map +1 -0
- package/dist/esm/operations/logs/list.d.ts +35 -0
- package/dist/esm/operations/logs/list.js +144 -0
- package/dist/esm/operations/logs/list.js.map +1 -0
- package/dist/esm/operations/logs/path-normalizer.d.ts +82 -0
- package/dist/esm/operations/logs/path-normalizer.js +190 -0
- package/dist/esm/operations/logs/path-normalizer.js.map +1 -0
- package/dist/esm/operations/logs/tail.d.ts +92 -0
- package/dist/esm/operations/logs/tail.js +525 -0
- package/dist/esm/operations/logs/tail.js.map +1 -0
- package/dist/esm/operations/logs/types.d.ts +132 -0
- package/dist/esm/operations/logs/types.js +7 -0
- package/dist/esm/operations/logs/types.js.map +1 -0
- package/dist/esm/operations/mrt/b2c-config.js +19 -4
- package/dist/esm/operations/mrt/b2c-config.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +2 -0
- package/dist/esm/operations/mrt/index.js +2 -0
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/push.js +3 -0
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/mrt/tail-logs.d.ts +130 -0
- package/dist/esm/operations/mrt/tail-logs.js +223 -0
- package/dist/esm/operations/mrt/tail-logs.js.map +1 -0
- package/dist/esm/operations/ods/index.d.ts +8 -0
- package/dist/esm/operations/ods/index.js +13 -0
- package/dist/esm/operations/ods/index.js.map +1 -0
- package/dist/esm/operations/ods/sandbox-lookup.d.ts +63 -0
- package/dist/esm/operations/ods/sandbox-lookup.js +130 -0
- package/dist/esm/operations/ods/sandbox-lookup.js.map +1 -0
- package/dist/esm/operations/ods/wait-for-sandbox.d.ts +64 -0
- package/dist/esm/operations/ods/wait-for-sandbox.js +114 -0
- package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -0
- package/dist/esm/operations/orgs/index.d.ts +74 -0
- package/dist/esm/operations/orgs/index.js +33 -0
- package/dist/esm/operations/orgs/index.js.map +1 -0
- package/dist/esm/operations/roles/index.d.ts +43 -0
- package/dist/esm/operations/roles/index.js +48 -0
- package/dist/esm/operations/roles/index.js.map +1 -0
- package/dist/esm/operations/users/index.d.ts +143 -0
- package/dist/esm/operations/users/index.js +141 -0
- package/dist/esm/operations/users/index.js.map +1 -0
- package/dist/esm/scaffold/engine.d.ts +68 -0
- package/dist/esm/scaffold/engine.js +149 -0
- package/dist/esm/scaffold/engine.js.map +1 -0
- package/dist/esm/scaffold/executor.d.ts +36 -0
- package/dist/esm/scaffold/executor.js +285 -0
- package/dist/esm/scaffold/executor.js.map +1 -0
- package/dist/esm/scaffold/index.d.ts +74 -0
- package/dist/esm/scaffold/index.js +23 -0
- package/dist/esm/scaffold/index.js.map +1 -0
- package/dist/esm/scaffold/merge.d.ts +56 -0
- package/dist/esm/scaffold/merge.js +183 -0
- package/dist/esm/scaffold/merge.js.map +1 -0
- package/dist/esm/scaffold/parameter-resolver.d.ts +86 -0
- package/dist/esm/scaffold/parameter-resolver.js +179 -0
- package/dist/esm/scaffold/parameter-resolver.js.map +1 -0
- package/dist/esm/scaffold/registry.d.ts +45 -0
- package/dist/esm/scaffold/registry.js +219 -0
- package/dist/esm/scaffold/registry.js.map +1 -0
- package/dist/esm/scaffold/sources.d.ts +45 -0
- package/dist/esm/scaffold/sources.js +113 -0
- package/dist/esm/scaffold/sources.js.map +1 -0
- package/dist/esm/scaffold/types.d.ts +280 -0
- package/dist/esm/scaffold/types.js +14 -0
- package/dist/esm/scaffold/types.js.map +1 -0
- package/dist/esm/scaffold/validation.d.ts +81 -0
- package/dist/esm/scaffold/validation.js +250 -0
- package/dist/esm/scaffold/validation.js.map +1 -0
- package/dist/esm/scaffold/validators.d.ts +33 -0
- package/dist/esm/scaffold/validators.js +334 -0
- package/dist/esm/scaffold/validators.js.map +1 -0
- package/dist/{cjs/operations/scapi-schemas → esm/schemas}/collapse.d.ts +1 -1
- package/dist/esm/schemas/collapse.js.map +1 -0
- package/dist/esm/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
- package/dist/esm/{operations/scapi-schemas → schemas}/index.js +5 -5
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/telemetry/index.d.ts +26 -0
- package/dist/esm/telemetry/index.js +32 -0
- package/dist/esm/telemetry/index.js.map +1 -0
- package/dist/esm/telemetry/telemetry.d.ts +90 -0
- package/dist/esm/telemetry/telemetry.js +283 -0
- package/dist/esm/telemetry/telemetry.js.map +1 -0
- package/dist/esm/telemetry/types.d.ts +62 -0
- package/dist/esm/telemetry/types.js +7 -0
- package/dist/esm/telemetry/types.js.map +1 -0
- package/dist/esm/test-utils/config-isolation.js +7 -0
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/package.json +112 -50
- package/specs/am-apiclients-api-v1.yaml +965 -0
- package/specs/am-roles-api-v1.yaml +316 -0
- package/specs/am-users-api-v1.yaml +1102 -0
- package/dist/cjs/logger.d.ts +0 -66
- package/dist/cjs/logger.js +0 -80
- package/dist/cjs/logger.js.map +0 -1
- package/dist/cjs/operations/docs/download.js.map +0 -1
- package/dist/cjs/operations/docs/index.js.map +0 -1
- package/dist/cjs/operations/docs/schema.js.map +0 -1
- package/dist/cjs/operations/docs/search.js.map +0 -1
- package/dist/cjs/operations/docs/types.js.map +0 -1
- package/dist/cjs/operations/scapi-schemas/collapse.js.map +0 -1
- package/dist/cjs/operations/scapi-schemas/index.js.map +0 -1
- package/dist/cjs/operations/sites/index.d.ts +0 -56
- package/dist/cjs/operations/sites/index.js +0 -19
- package/dist/cjs/operations/sites/index.js.map +0 -1
- package/dist/cjs/platform/index.d.ts +0 -38
- package/dist/cjs/platform/index.js +0 -42
- package/dist/cjs/platform/index.js.map +0 -1
- package/dist/cjs/platform/mrt.d.ts +0 -19
- package/dist/cjs/platform/mrt.js +0 -22
- package/dist/cjs/platform/mrt.js.map +0 -1
- package/dist/cjs/platform/ods.d.ts +0 -17
- package/dist/cjs/platform/ods.js +0 -22
- package/dist/cjs/platform/ods.js.map +0 -1
- package/dist/esm/logger.d.ts +0 -66
- package/dist/esm/logger.js +0 -80
- package/dist/esm/logger.js.map +0 -1
- package/dist/esm/operations/docs/download.js.map +0 -1
- package/dist/esm/operations/docs/index.js.map +0 -1
- package/dist/esm/operations/docs/schema.js.map +0 -1
- package/dist/esm/operations/docs/search.js.map +0 -1
- package/dist/esm/operations/docs/types.js.map +0 -1
- package/dist/esm/operations/scapi-schemas/collapse.js.map +0 -1
- package/dist/esm/operations/scapi-schemas/index.js.map +0 -1
- package/dist/esm/operations/sites/index.d.ts +0 -56
- package/dist/esm/operations/sites/index.js +0 -67
- package/dist/esm/operations/sites/index.js.map +0 -1
- package/dist/esm/platform/index.d.ts +0 -38
- package/dist/esm/platform/index.js +0 -42
- package/dist/esm/platform/index.js.map +0 -1
- package/dist/esm/platform/mrt.d.ts +0 -19
- package/dist/esm/platform/mrt.js +0 -22
- package/dist/esm/platform/mrt.js.map +0 -1
- package/dist/esm/platform/ods.d.ts +0 -17
- package/dist/esm/platform/ods.js +0 -22
- package/dist/esm/platform/ods.js.map +0 -1
- /package/dist/cjs/{operations/docs → docs}/index.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/schema.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/schema.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/search.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/search.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/types.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/types.js +0 -0
- /package/dist/cjs/{operations/scapi-schemas → schemas}/collapse.js +0 -0
- /package/dist/esm/{operations/docs → docs}/index.js +0 -0
- /package/dist/esm/{operations/docs → docs}/schema.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/schema.js +0 -0
- /package/dist/esm/{operations/docs → docs}/search.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/search.js +0 -0
- /package/dist/esm/{operations/docs → docs}/types.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/types.js +0 -0
- /package/dist/esm/{operations/scapi-schemas → schemas}/collapse.js +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Content library operations for B2C Commerce.
|
|
8
|
+
*
|
|
9
|
+
* This module provides functions for exporting and manipulating
|
|
10
|
+
* Page Designer content libraries including pages, components, and assets.
|
|
11
|
+
*
|
|
12
|
+
* ## Core Classes
|
|
13
|
+
*
|
|
14
|
+
* - {@link Library} - Parse and manipulate content library trees
|
|
15
|
+
* - {@link LibraryNode} - Individual nodes in the library tree
|
|
16
|
+
*
|
|
17
|
+
* ## Operations
|
|
18
|
+
*
|
|
19
|
+
* - {@link fetchContentLibrary} - Fetch and parse a content library
|
|
20
|
+
* - {@link exportContent} - Export filtered pages with assets to disk
|
|
21
|
+
*
|
|
22
|
+
* ## Utilities
|
|
23
|
+
*
|
|
24
|
+
* - {@link extractAssetPaths} - Extract asset paths from component JSON data
|
|
25
|
+
*
|
|
26
|
+
* ## Usage
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import {
|
|
30
|
+
* Library,
|
|
31
|
+
* fetchContentLibrary,
|
|
32
|
+
* exportContent,
|
|
33
|
+
* } from '@salesforce/b2c-tooling-sdk/operations/content';
|
|
34
|
+
*
|
|
35
|
+
* // Fetch and filter a library
|
|
36
|
+
* const { library } = await fetchContentLibrary(instance, 'SharedLibrary');
|
|
37
|
+
* library.filter(n => n.id === 'homepage');
|
|
38
|
+
*
|
|
39
|
+
* // Or use the high-level export
|
|
40
|
+
* const result = await exportContent(instance, ['homepage'], 'SharedLibrary', './export');
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @module operations/content
|
|
44
|
+
*/
|
|
45
|
+
export { Library, LibraryNode } from './library.js';
|
|
46
|
+
export { extractAssetPaths } from './asset-query.js';
|
|
47
|
+
export { fetchContentLibrary, exportContent } from './export.js';
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/content/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAC,OAAO,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAElD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { LibraryNodeType, LibraryParseOptions, TraverseOptions, TraverseCallback, FilterCallback, TreeStringOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A node in the content library tree.
|
|
4
|
+
*
|
|
5
|
+
* Represents a library, page, content asset, component, or static asset reference.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LibraryNode {
|
|
8
|
+
id: string;
|
|
9
|
+
type: LibraryNodeType;
|
|
10
|
+
typeId: string | null;
|
|
11
|
+
data: Record<string, unknown> | null;
|
|
12
|
+
parent: LibraryNode | null;
|
|
13
|
+
children: LibraryNode[];
|
|
14
|
+
hidden: boolean;
|
|
15
|
+
/** @internal Raw xml2js content object */
|
|
16
|
+
xml: Record<string, unknown> | null;
|
|
17
|
+
constructor(values: {
|
|
18
|
+
id: string;
|
|
19
|
+
type: LibraryNodeType;
|
|
20
|
+
typeId: string | null;
|
|
21
|
+
data: Record<string, unknown> | null;
|
|
22
|
+
parent: LibraryNode | null;
|
|
23
|
+
children: LibraryNode[];
|
|
24
|
+
hidden: boolean;
|
|
25
|
+
xml: Record<string, unknown> | null;
|
|
26
|
+
});
|
|
27
|
+
toJSON(): Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Provides an interface for manipulating B2C Commerce content libraries.
|
|
31
|
+
*
|
|
32
|
+
* Use the static `Library.parse()` factory to create instances from library XML.
|
|
33
|
+
* The library tree supports filtering, traversal, mutation, and serialization
|
|
34
|
+
* back to importable XML.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const library = await Library.parse(xmlString);
|
|
39
|
+
*
|
|
40
|
+
* // Filter to specific pages
|
|
41
|
+
* library.filter(node => node.id === 'homepage');
|
|
42
|
+
*
|
|
43
|
+
* // Traverse visible nodes
|
|
44
|
+
* library.traverse(node => {
|
|
45
|
+
* console.log(node.id, node.type);
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* // Serialize back to XML
|
|
49
|
+
* const xml = await library.toXMLString({ traverseHidden: false });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare class Library {
|
|
53
|
+
assetQuery: string[];
|
|
54
|
+
tree: LibraryNode;
|
|
55
|
+
/** @internal Raw xml2js parsed object */
|
|
56
|
+
xml: Record<string, unknown>;
|
|
57
|
+
/** @internal */
|
|
58
|
+
constructor(guard: symbol);
|
|
59
|
+
/**
|
|
60
|
+
* Parse library XML into a Library tree.
|
|
61
|
+
*
|
|
62
|
+
* @param libraryXML - Raw XML string of a content library
|
|
63
|
+
* @param options - Parse options
|
|
64
|
+
* @returns Parsed Library instance
|
|
65
|
+
*/
|
|
66
|
+
static parse(libraryXML: string, { assetQuery, keepOrphans }?: LibraryParseOptions): Promise<Library>;
|
|
67
|
+
/**
|
|
68
|
+
* Depth-first traversal of the library tree.
|
|
69
|
+
*
|
|
70
|
+
* @param callback - Function called for each visited node
|
|
71
|
+
* @param options - Traversal options
|
|
72
|
+
* @returns this (for chaining)
|
|
73
|
+
*/
|
|
74
|
+
traverse(callback: TraverseCallback, { traverseHidden, callbackHidden }?: TraverseOptions): this;
|
|
75
|
+
/**
|
|
76
|
+
* Generator-based depth-first iteration of the library tree.
|
|
77
|
+
*
|
|
78
|
+
* @param options - Traversal options
|
|
79
|
+
* @yields LibraryNode for each visited node
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* for (const node of library.nodes()) {
|
|
84
|
+
* console.log(node.id, node.type);
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
nodes({ traverseHidden, callbackHidden }?: TraverseOptions): Generator<LibraryNode>;
|
|
89
|
+
/**
|
|
90
|
+
* Filter the library tree by setting hidden flags on root children.
|
|
91
|
+
*
|
|
92
|
+
* @param predicate - Return true to keep the node visible
|
|
93
|
+
* @param options - Filter options
|
|
94
|
+
* @returns this (for chaining)
|
|
95
|
+
*/
|
|
96
|
+
filter(predicate: FilterCallback, { recursive }?: {
|
|
97
|
+
recursive?: boolean | undefined;
|
|
98
|
+
}): this;
|
|
99
|
+
/**
|
|
100
|
+
* Move a node from its current parent to the root of the library tree.
|
|
101
|
+
*
|
|
102
|
+
* Useful for exporting individual components that are normally nested under pages.
|
|
103
|
+
* The node is removed from its original parent's children and added as a root child.
|
|
104
|
+
*
|
|
105
|
+
* @param node - The node to promote
|
|
106
|
+
* @returns this (for chaining)
|
|
107
|
+
*/
|
|
108
|
+
promoteToRoot(node: LibraryNode): this;
|
|
109
|
+
/**
|
|
110
|
+
* Reset all hidden flags, making every node visible again.
|
|
111
|
+
*
|
|
112
|
+
* @returns this (for chaining)
|
|
113
|
+
*/
|
|
114
|
+
reset(): this;
|
|
115
|
+
/**
|
|
116
|
+
* Serialize the library back to importable XML.
|
|
117
|
+
*
|
|
118
|
+
* Only includes visible content unless `traverseHidden` is true.
|
|
119
|
+
*
|
|
120
|
+
* @param options - Serialization options
|
|
121
|
+
* @returns XML string
|
|
122
|
+
*/
|
|
123
|
+
toXMLString({ traverseHidden }?: {
|
|
124
|
+
traverseHidden?: boolean;
|
|
125
|
+
}): Promise<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Returns a text tree visualization of the library structure.
|
|
128
|
+
*
|
|
129
|
+
* @param options - Tree string options (traversal and optional colorize function)
|
|
130
|
+
* @returns Multi-line tree string
|
|
131
|
+
*/
|
|
132
|
+
getTreeString({ traverseHidden, colorize }?: TreeStringOptions): string;
|
|
133
|
+
/**
|
|
134
|
+
* Returns a JSON-safe representation of the library tree.
|
|
135
|
+
*/
|
|
136
|
+
toJSON(): Record<string, unknown>;
|
|
137
|
+
}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import * as xml2js from 'xml2js';
|
|
7
|
+
import { getLogger } from '../../logging/logger.js';
|
|
8
|
+
import { extractAssetPaths } from './asset-query.js';
|
|
9
|
+
/**
|
|
10
|
+
* A node in the content library tree.
|
|
11
|
+
*
|
|
12
|
+
* Represents a library, page, content asset, component, or static asset reference.
|
|
13
|
+
*/
|
|
14
|
+
export class LibraryNode {
|
|
15
|
+
id;
|
|
16
|
+
type;
|
|
17
|
+
typeId;
|
|
18
|
+
data;
|
|
19
|
+
parent;
|
|
20
|
+
children;
|
|
21
|
+
hidden;
|
|
22
|
+
/** @internal Raw xml2js content object */
|
|
23
|
+
xml;
|
|
24
|
+
constructor(values) {
|
|
25
|
+
this.id = values.id;
|
|
26
|
+
this.type = values.type;
|
|
27
|
+
this.typeId = values.typeId;
|
|
28
|
+
this.data = values.data;
|
|
29
|
+
this.parent = values.parent;
|
|
30
|
+
this.children = values.children;
|
|
31
|
+
this.hidden = values.hidden;
|
|
32
|
+
this.xml = values.xml;
|
|
33
|
+
}
|
|
34
|
+
toJSON() {
|
|
35
|
+
return {
|
|
36
|
+
id: this.id,
|
|
37
|
+
type: this.type,
|
|
38
|
+
typeId: this.typeId,
|
|
39
|
+
data: this.data,
|
|
40
|
+
children: this.children,
|
|
41
|
+
hidden: this.hidden,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Recursively processes a content XML element into a LibraryNode tree.
|
|
47
|
+
*
|
|
48
|
+
* Extracts child components via content-links and static assets via asset queries.
|
|
49
|
+
*/
|
|
50
|
+
function processContent(content, allContent, assetQuery) {
|
|
51
|
+
const logger = getLogger();
|
|
52
|
+
const attrs = content['$'];
|
|
53
|
+
const contentId = attrs['content-id'];
|
|
54
|
+
const contentType = content['type']?.[0] ?? null;
|
|
55
|
+
const dataElements = content['data'];
|
|
56
|
+
const node = new LibraryNode({
|
|
57
|
+
id: contentId,
|
|
58
|
+
type: contentType ? (contentType.startsWith('page.') ? 'PAGE' : 'COMPONENT') : 'CONTENT',
|
|
59
|
+
typeId: contentType,
|
|
60
|
+
data: null,
|
|
61
|
+
children: [],
|
|
62
|
+
xml: content,
|
|
63
|
+
hidden: false,
|
|
64
|
+
parent: null,
|
|
65
|
+
});
|
|
66
|
+
// Parse JSON data and extract asset paths
|
|
67
|
+
if (dataElements?.[0]?.['_']) {
|
|
68
|
+
try {
|
|
69
|
+
const dataJson = JSON.parse(dataElements[0]['_']);
|
|
70
|
+
node.data = dataJson;
|
|
71
|
+
const assetPaths = extractAssetPaths(dataJson, assetQuery);
|
|
72
|
+
for (const assetPath of assetPaths) {
|
|
73
|
+
node.children.push(new LibraryNode({
|
|
74
|
+
id: assetPath,
|
|
75
|
+
type: 'STATIC',
|
|
76
|
+
typeId: null,
|
|
77
|
+
data: null,
|
|
78
|
+
parent: node,
|
|
79
|
+
children: [],
|
|
80
|
+
hidden: false,
|
|
81
|
+
xml: null,
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
logger.warn({ contentId }, `Could not parse JSON data for content ${contentId}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Recurse into content-links
|
|
90
|
+
const contentLinks = content['content-links'];
|
|
91
|
+
if (contentLinks?.[0]?.['content-link']) {
|
|
92
|
+
const links = contentLinks[0]['content-link'];
|
|
93
|
+
for (const link of links) {
|
|
94
|
+
const linkAttrs = link['$'];
|
|
95
|
+
const linkId = linkAttrs['content-id'];
|
|
96
|
+
if (!allContent[linkId]) {
|
|
97
|
+
logger.warn(`Cannot find component ${linkId} in library; skipping...`);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const componentNode = processContent(allContent[linkId], allContent, assetQuery);
|
|
101
|
+
componentNode.parent = node;
|
|
102
|
+
node.children.push(componentNode);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return node;
|
|
106
|
+
}
|
|
107
|
+
/** Private guard to enforce use of Library.parse() */
|
|
108
|
+
const CONSTRUCTOR_GUARD = Symbol('Library.parse');
|
|
109
|
+
/**
|
|
110
|
+
* Provides an interface for manipulating B2C Commerce content libraries.
|
|
111
|
+
*
|
|
112
|
+
* Use the static `Library.parse()` factory to create instances from library XML.
|
|
113
|
+
* The library tree supports filtering, traversal, mutation, and serialization
|
|
114
|
+
* back to importable XML.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const library = await Library.parse(xmlString);
|
|
119
|
+
*
|
|
120
|
+
* // Filter to specific pages
|
|
121
|
+
* library.filter(node => node.id === 'homepage');
|
|
122
|
+
*
|
|
123
|
+
* // Traverse visible nodes
|
|
124
|
+
* library.traverse(node => {
|
|
125
|
+
* console.log(node.id, node.type);
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* // Serialize back to XML
|
|
129
|
+
* const xml = await library.toXMLString({ traverseHidden: false });
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export class Library {
|
|
133
|
+
assetQuery = [];
|
|
134
|
+
tree;
|
|
135
|
+
/** @internal Raw xml2js parsed object */
|
|
136
|
+
xml;
|
|
137
|
+
/** @internal */
|
|
138
|
+
constructor(guard) {
|
|
139
|
+
if (guard !== CONSTRUCTOR_GUARD) {
|
|
140
|
+
throw new Error('Use Library.parse() to construct a Library instance');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Parse library XML into a Library tree.
|
|
145
|
+
*
|
|
146
|
+
* @param libraryXML - Raw XML string of a content library
|
|
147
|
+
* @param options - Parse options
|
|
148
|
+
* @returns Parsed Library instance
|
|
149
|
+
*/
|
|
150
|
+
static async parse(libraryXML, { assetQuery = ['image.path'], keepOrphans = false } = {}) {
|
|
151
|
+
const xml = (await xml2js.parseStringPromise(libraryXML));
|
|
152
|
+
const libraryElement = xml['library'];
|
|
153
|
+
const attrs = libraryElement['$'];
|
|
154
|
+
const libraryId = attrs['library-id'];
|
|
155
|
+
const contentArray = libraryElement['content'];
|
|
156
|
+
const library = new Library(CONSTRUCTOR_GUARD);
|
|
157
|
+
library.assetQuery = assetQuery;
|
|
158
|
+
const root = new LibraryNode({
|
|
159
|
+
id: libraryId,
|
|
160
|
+
type: 'LIBRARY',
|
|
161
|
+
typeId: null,
|
|
162
|
+
children: [],
|
|
163
|
+
data: null,
|
|
164
|
+
parent: null,
|
|
165
|
+
hidden: false,
|
|
166
|
+
xml: null,
|
|
167
|
+
});
|
|
168
|
+
// Index all content by ID
|
|
169
|
+
const contentById = {};
|
|
170
|
+
for (const c of contentArray) {
|
|
171
|
+
const cAttrs = c['$'];
|
|
172
|
+
contentById[cAttrs['content-id']] = c;
|
|
173
|
+
}
|
|
174
|
+
// Process pages and root-level content (no type = content asset)
|
|
175
|
+
for (const c of contentArray) {
|
|
176
|
+
const cType = c['type']?.[0];
|
|
177
|
+
if ((cType && cType.startsWith('page.')) || !cType) {
|
|
178
|
+
const node = processContent(c, contentById, assetQuery);
|
|
179
|
+
node.parent = root;
|
|
180
|
+
root.children.push(node);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
library.xml = xml;
|
|
184
|
+
library.tree = root;
|
|
185
|
+
// Optionally include orphan components
|
|
186
|
+
if (keepOrphans) {
|
|
187
|
+
const processedIds = new Set();
|
|
188
|
+
library.traverse((node) => {
|
|
189
|
+
processedIds.add(node.id);
|
|
190
|
+
});
|
|
191
|
+
for (const c of contentArray) {
|
|
192
|
+
const cAttrs = c['$'];
|
|
193
|
+
const cId = cAttrs['content-id'];
|
|
194
|
+
if (!processedIds.has(cId)) {
|
|
195
|
+
const node = processContent(c, contentById, assetQuery);
|
|
196
|
+
node.parent = root;
|
|
197
|
+
root.children.push(node);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Remove headers and folders from xml (not needed for filtered export)
|
|
202
|
+
delete libraryElement['header'];
|
|
203
|
+
delete libraryElement['folder'];
|
|
204
|
+
return library;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Depth-first traversal of the library tree.
|
|
208
|
+
*
|
|
209
|
+
* @param callback - Function called for each visited node
|
|
210
|
+
* @param options - Traversal options
|
|
211
|
+
* @returns this (for chaining)
|
|
212
|
+
*/
|
|
213
|
+
traverse(callback, { traverseHidden = true, callbackHidden = false } = {}) {
|
|
214
|
+
function walk(node) {
|
|
215
|
+
if (!node.hidden || traverseHidden) {
|
|
216
|
+
for (const child of node.children) {
|
|
217
|
+
walk(child);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (!node.hidden || callbackHidden) {
|
|
221
|
+
callback(node);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
for (const child of this.tree.children) {
|
|
225
|
+
walk(child);
|
|
226
|
+
}
|
|
227
|
+
return this;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Generator-based depth-first iteration of the library tree.
|
|
231
|
+
*
|
|
232
|
+
* @param options - Traversal options
|
|
233
|
+
* @yields LibraryNode for each visited node
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* for (const node of library.nodes()) {
|
|
238
|
+
* console.log(node.id, node.type);
|
|
239
|
+
* }
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
*nodes({ traverseHidden = true, callbackHidden = false } = {}) {
|
|
243
|
+
function* walk(node) {
|
|
244
|
+
if (!node.hidden || traverseHidden) {
|
|
245
|
+
for (const child of node.children) {
|
|
246
|
+
yield* walk(child);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
if (!node.hidden || callbackHidden) {
|
|
250
|
+
yield node;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
for (const child of this.tree.children) {
|
|
254
|
+
yield* walk(child);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Filter the library tree by setting hidden flags on root children.
|
|
259
|
+
*
|
|
260
|
+
* @param predicate - Return true to keep the node visible
|
|
261
|
+
* @param options - Filter options
|
|
262
|
+
* @returns this (for chaining)
|
|
263
|
+
*/
|
|
264
|
+
filter(predicate, { recursive = false } = {}) {
|
|
265
|
+
if (!recursive) {
|
|
266
|
+
for (const child of this.tree.children) {
|
|
267
|
+
child.hidden = !predicate(child);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
this.traverse((n) => {
|
|
272
|
+
n.hidden = !predicate(n);
|
|
273
|
+
}, { traverseHidden: true, callbackHidden: true });
|
|
274
|
+
}
|
|
275
|
+
return this;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Move a node from its current parent to the root of the library tree.
|
|
279
|
+
*
|
|
280
|
+
* Useful for exporting individual components that are normally nested under pages.
|
|
281
|
+
* The node is removed from its original parent's children and added as a root child.
|
|
282
|
+
*
|
|
283
|
+
* @param node - The node to promote
|
|
284
|
+
* @returns this (for chaining)
|
|
285
|
+
*/
|
|
286
|
+
promoteToRoot(node) {
|
|
287
|
+
if (node.parent && node.parent !== this.tree) {
|
|
288
|
+
node.parent.children = node.parent.children.filter((c) => c !== node);
|
|
289
|
+
}
|
|
290
|
+
if (!this.tree.children.includes(node)) {
|
|
291
|
+
node.parent = this.tree;
|
|
292
|
+
node.hidden = false;
|
|
293
|
+
this.tree.children.push(node);
|
|
294
|
+
}
|
|
295
|
+
return this;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Reset all hidden flags, making every node visible again.
|
|
299
|
+
*
|
|
300
|
+
* @returns this (for chaining)
|
|
301
|
+
*/
|
|
302
|
+
reset() {
|
|
303
|
+
this.traverse((n) => {
|
|
304
|
+
n.hidden = false;
|
|
305
|
+
}, { traverseHidden: true, callbackHidden: true });
|
|
306
|
+
return this;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Serialize the library back to importable XML.
|
|
310
|
+
*
|
|
311
|
+
* Only includes visible content unless `traverseHidden` is true.
|
|
312
|
+
*
|
|
313
|
+
* @param options - Serialization options
|
|
314
|
+
* @returns XML string
|
|
315
|
+
*/
|
|
316
|
+
async toXMLString({ traverseHidden = true } = {}) {
|
|
317
|
+
const libraryElement = this.xml['library'];
|
|
318
|
+
delete libraryElement['content'];
|
|
319
|
+
libraryElement['content'] = [];
|
|
320
|
+
this.traverse((n) => {
|
|
321
|
+
const node = n;
|
|
322
|
+
if (node.data && node.xml) {
|
|
323
|
+
const dataEl = node.xml['data']?.[0];
|
|
324
|
+
if (dataEl) {
|
|
325
|
+
dataEl['_'] = JSON.stringify(node.data, null, 2);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
if (node.xml) {
|
|
329
|
+
libraryElement['content'].push(node.xml);
|
|
330
|
+
}
|
|
331
|
+
}, { traverseHidden });
|
|
332
|
+
const builder = new xml2js.Builder();
|
|
333
|
+
return builder.buildObject(this.xml);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Returns a text tree visualization of the library structure.
|
|
337
|
+
*
|
|
338
|
+
* @param options - Tree string options (traversal and optional colorize function)
|
|
339
|
+
* @returns Multi-line tree string
|
|
340
|
+
*/
|
|
341
|
+
getTreeString({ traverseHidden = false, colorize } = {}) {
|
|
342
|
+
const lines = [];
|
|
343
|
+
const c = colorize ?? ((_color, text) => text);
|
|
344
|
+
function formatNode(node) {
|
|
345
|
+
switch (node.type) {
|
|
346
|
+
case 'COMPONENT': {
|
|
347
|
+
return node.typeId ? `${c('cyan', node.typeId)} ${c('dim', `(${node.id})`)}` : node.id;
|
|
348
|
+
}
|
|
349
|
+
case 'CONTENT': {
|
|
350
|
+
return `${c('bold', node.id)} ${c('dim', '(CONTENT ASSET)')}`;
|
|
351
|
+
}
|
|
352
|
+
case 'PAGE': {
|
|
353
|
+
const name = c('bold', node.id);
|
|
354
|
+
return node.typeId ? `${name} ${c('dim', `(typeId: ${node.typeId})`)}` : name;
|
|
355
|
+
}
|
|
356
|
+
case 'STATIC': {
|
|
357
|
+
return `${c('green', node.id)} ${c('dim', '(STATIC ASSET)')}`;
|
|
358
|
+
}
|
|
359
|
+
default: {
|
|
360
|
+
return node.id;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
function visibleChildren(node) {
|
|
365
|
+
return traverseHidden ? node.children : node.children.filter((child) => !child.hidden);
|
|
366
|
+
}
|
|
367
|
+
function renderSubtree(children, prefix) {
|
|
368
|
+
for (let i = 0; i < children.length; i++) {
|
|
369
|
+
const node = children[i];
|
|
370
|
+
const isLast = i === children.length - 1;
|
|
371
|
+
const connector = isLast ? '└── ' : '├── ';
|
|
372
|
+
const extension = isLast ? ' ' : '│ ';
|
|
373
|
+
const hiddenTag = node.hidden ? ` ${c('yellow', '[HIDDEN]')}` : '';
|
|
374
|
+
lines.push(`${c('dim', prefix + connector)}${formatNode(node)}${hiddenTag}`);
|
|
375
|
+
renderSubtree(visibleChildren(node), prefix + extension);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
for (const child of visibleChildren(this.tree)) {
|
|
379
|
+
const hiddenTag = child.hidden ? ` ${c('yellow', '[HIDDEN]')}` : '';
|
|
380
|
+
lines.push(`${formatNode(child)}${hiddenTag}`);
|
|
381
|
+
renderSubtree(visibleChildren(child), '');
|
|
382
|
+
}
|
|
383
|
+
return lines.join('\n');
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Returns a JSON-safe representation of the library tree.
|
|
387
|
+
*/
|
|
388
|
+
toJSON() {
|
|
389
|
+
return this.tree.toJSON();
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../src/operations/content/library.ts"],"names":[],"mappings":"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"}
|