diff --git a/.talismanrc b/.talismanrc index 840de6a57e..6b07a56fd0 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,8 +1,8 @@ fileignoreconfig: - filename: pnpm-lock.yaml - checksum: f0d2b2bc5a7b24b2cd8ba12d8ccaa119d74cf73c9462ae0ddd1e1685d03967c9 + checksum: f20d4336b379ba896f0092ed8dd03df2c6e5bc34fe200e58002efc2c77fd9359 - filename: package-lock.json - checksum: ed904450857be36b3792ab8650a9ba91ae2f55e67db945915743d1316593a573 + checksum: b41714137255ba498375116ae9410e04af150d75ba323c8dbaeb8995564a4677 - filename: packages/contentstack-audit/test/unit/mock/contents/composable_studio/environments/environments.json checksum: 0402604e5919a7e38ecb5ff0916d6ae5ab7d98fe78ff6ac9eba8a9b8130af34d - filename: packages/contentstack-utilities/src/helpers.ts @@ -21,4 +21,8 @@ fileignoreconfig: checksum: 4fc97ff582d6dff9a54b3a50dfa3cbb5febd38a55aeb8737034b97188ad543ba - filename: packages/contentstack-utilities/test/unit/logger.test.ts checksum: a1939dea16166b1893a248179524a76f2ed20b04b99c83bd1a5a13fcf6f0dadc + - filename: packages/contentstack-clone/README.md + checksum: 8580ab3f52a079a6411c27cbaad66e3a70d9ac5ea59fc429a8f17c95d09399f8 + - filename: packages/contentstack/README.md + checksum: 72850c976661f2912b5bca39734de09d56c311c2266fc67696c45ed3fb0b7511 version: "1.0" diff --git a/package-lock.json b/package-lock.json index 24e03b7475..2dbcb11e3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -280,46 +280,46 @@ } }, "node_modules/@aws-sdk/client-cloudfront": { - "version": "3.975.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.975.0.tgz", - "integrity": "sha512-ysqoEHD7WfB4HxB+liRasBqGjCrkkqgwMmYc49QQ0jrJE2bEaid0IwRuh4PTGgw6Az9fSW7IexIWREgLLxDmpg==", + "version": "3.978.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.978.0.tgz", + "integrity": "sha512-B32xVqHp0/3I5l0jqwZwqVYGn/vJGY0rZm2yQuOb3qjkosIgco/hZJ5UTzj3m7VKmFPq86h8So9N8j7wlkdP5w==", "dev": true, "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.1", - "@aws-sdk/credential-provider-node": "^3.972.1", - "@aws-sdk/middleware-host-header": "^3.972.1", - "@aws-sdk/middleware-logger": "^3.972.1", - "@aws-sdk/middleware-recursion-detection": "^3.972.1", - "@aws-sdk/middleware-user-agent": "^3.972.2", - "@aws-sdk/region-config-resolver": "^3.972.1", - "@aws-sdk/types": "^3.973.0", + "@aws-sdk/core": "^3.973.4", + "@aws-sdk/credential-provider-node": "^3.972.2", + "@aws-sdk/middleware-host-header": "^3.972.2", + "@aws-sdk/middleware-logger": "^3.972.2", + "@aws-sdk/middleware-recursion-detection": "^3.972.2", + "@aws-sdk/middleware-user-agent": "^3.972.4", + "@aws-sdk/region-config-resolver": "^3.972.2", + "@aws-sdk/types": "^3.973.1", "@aws-sdk/util-endpoints": "3.972.0", - "@aws-sdk/util-user-agent-browser": "^3.972.1", - "@aws-sdk/util-user-agent-node": "^3.972.1", + "@aws-sdk/util-user-agent-browser": "^3.972.2", + "@aws-sdk/util-user-agent-node": "^3.972.2", "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.21.1", + "@smithy/core": "^3.22.0", "@smithy/fetch-http-handler": "^5.3.9", "@smithy/hash-node": "^4.2.8", "@smithy/invalid-dependency": "^4.2.8", "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.11", - "@smithy/middleware-retry": "^4.4.27", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", "@smithy/middleware-serde": "^4.2.9", "@smithy/middleware-stack": "^4.2.8", "@smithy/node-config-provider": "^4.3.8", "@smithy/node-http-handler": "^4.4.8", "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.10.12", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/url-parser": "^4.2.8", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.26", - "@smithy/util-defaults-mode-node": "^4.2.29", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", "@smithy/util-endpoints": "^3.2.8", "@smithy/util-middleware": "^4.2.8", "@smithy/util-retry": "^4.2.8", @@ -333,35 +333,35 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.975.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.975.0.tgz", - "integrity": "sha512-aF1M/iMD29BPcpxjqoym0YFa4WR9Xie1/IhVumwOGH6TB45DaqYO7vLwantDBcYNRn/cZH6DFHksO7RmwTFBhw==", + "version": "3.978.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.978.0.tgz", + "integrity": "sha512-2chs05VbfgRNb5ZEYIwooeHCaL+DjwvrW3ElkslI71ltEqVNdeWvB7hbkLWPPKazV3kjY3H90pLDY8mMqsET+A==", "dev": true, "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.1", - "@aws-sdk/credential-provider-node": "^3.972.1", - "@aws-sdk/middleware-bucket-endpoint": "^3.972.1", - "@aws-sdk/middleware-expect-continue": "^3.972.1", - "@aws-sdk/middleware-flexible-checksums": "^3.972.1", - "@aws-sdk/middleware-host-header": "^3.972.1", - "@aws-sdk/middleware-location-constraint": "^3.972.1", - "@aws-sdk/middleware-logger": "^3.972.1", - "@aws-sdk/middleware-recursion-detection": "^3.972.1", - "@aws-sdk/middleware-sdk-s3": "^3.972.2", - "@aws-sdk/middleware-ssec": "^3.972.1", - "@aws-sdk/middleware-user-agent": "^3.972.2", - "@aws-sdk/region-config-resolver": "^3.972.1", + "@aws-sdk/core": "^3.973.4", + "@aws-sdk/credential-provider-node": "^3.972.2", + "@aws-sdk/middleware-bucket-endpoint": "^3.972.2", + "@aws-sdk/middleware-expect-continue": "^3.972.2", + "@aws-sdk/middleware-flexible-checksums": "^3.972.2", + "@aws-sdk/middleware-host-header": "^3.972.2", + "@aws-sdk/middleware-location-constraint": "^3.972.2", + "@aws-sdk/middleware-logger": "^3.972.2", + "@aws-sdk/middleware-recursion-detection": "^3.972.2", + "@aws-sdk/middleware-sdk-s3": "^3.972.4", + "@aws-sdk/middleware-ssec": "^3.972.2", + "@aws-sdk/middleware-user-agent": "^3.972.4", + "@aws-sdk/region-config-resolver": "^3.972.2", "@aws-sdk/signature-v4-multi-region": "3.972.0", - "@aws-sdk/types": "^3.973.0", + "@aws-sdk/types": "^3.973.1", "@aws-sdk/util-endpoints": "3.972.0", - "@aws-sdk/util-user-agent-browser": "^3.972.1", - "@aws-sdk/util-user-agent-node": "^3.972.1", + "@aws-sdk/util-user-agent-browser": "^3.972.2", + "@aws-sdk/util-user-agent-node": "^3.972.2", "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.21.1", + "@smithy/core": "^3.22.0", "@smithy/eventstream-serde-browser": "^4.2.8", "@smithy/eventstream-serde-config-resolver": "^4.3.8", "@smithy/eventstream-serde-node": "^4.2.8", @@ -372,21 +372,21 @@ "@smithy/invalid-dependency": "^4.2.8", "@smithy/md5-js": "^4.2.8", "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.11", - "@smithy/middleware-retry": "^4.4.27", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", "@smithy/middleware-serde": "^4.2.9", "@smithy/middleware-stack": "^4.2.8", "@smithy/node-config-provider": "^4.3.8", "@smithy/node-http-handler": "^4.4.8", "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.10.12", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/url-parser": "^4.2.8", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.26", - "@smithy/util-defaults-mode-node": "^4.2.29", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", "@smithy/util-endpoints": "^3.2.8", "@smithy/util-middleware": "^4.2.8", "@smithy/util-retry": "^4.2.8", @@ -450,20 +450,20 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.973.3", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.973.3.tgz", - "integrity": "sha512-ZbM2Xy8ytAcfnNpkBltr6Qdw36W/4NW5nZdZieCuTfacoBFpi/NYiwb8U05KNJvLKeZnrV9Vi696i+r2DQFORg==", + "version": "3.973.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.973.4.tgz", + "integrity": "sha512-8Rk+kPP74YiR47x54bxYlKZswsaSh0a4XvvRUMLvyS/koNawhsGu/+qSZxREqUeTO+GkKpFvSQIsAZR+deUP+g==", "dev": true, "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.1", "@aws-sdk/xml-builder": "^3.972.2", - "@smithy/core": "^3.21.1", + "@smithy/core": "^3.22.0", "@smithy/node-config-provider": "^4.3.8", "@smithy/property-provider": "^4.2.8", "@smithy/protocol-http": "^5.3.8", "@smithy/signature-v4": "^5.3.8", - "@smithy/smithy-client": "^4.10.12", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-middleware": "^4.2.8", @@ -506,19 +506,19 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.972.3", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.3.tgz", - "integrity": "sha512-IbBGWhaxiEl64fznwh5PDEB0N7YJEAvK5b6nRtPVUKdKAHlOPgo6B9XB8mqWDs8Ct0oF/E34ZLiq2U0L5xDkrg==", + "version": "3.972.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.4.tgz", + "integrity": "sha512-OC7F3ipXV12QfDEWybQGHLzoeHBlAdx/nLzPfHP0Wsabu3JBffu5nlzSaJNf7to9HGtOW8Bpu8NX0ugmDrCbtw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "^3.973.2", + "@aws-sdk/core": "^3.973.4", "@aws-sdk/types": "^3.973.1", "@smithy/fetch-http-handler": "^5.3.9", "@smithy/node-http-handler": "^4.4.8", "@smithy/property-provider": "^4.2.8", "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.10.12", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/util-stream": "^4.5.10", "tslib": "^2.6.2" @@ -779,20 +779,20 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.972.3", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.3.tgz", - "integrity": "sha512-ZVtakKpQ7vI9l7tE2SJjQgoPYv2f/Bw/HMip5wBigsQBDvVbN300h+6nPnm0gnEQwIGGG0yJF3XCvr1/4pZW9A==", + "version": "3.972.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.4.tgz", + "integrity": "sha512-lradfn72Td7lswhZKi86VKRNkDtmQR7bq9shX1kaPK1itjThxfcx7ogXSvMm/0cuqoYGic8UUXQOaK4kpU933g==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "^3.973.2", + "@aws-sdk/core": "^3.973.4", "@aws-sdk/types": "^3.973.1", "@aws-sdk/util-arn-parser": "^3.972.2", - "@smithy/core": "^3.21.1", + "@smithy/core": "^3.22.0", "@smithy/node-config-provider": "^4.3.8", "@smithy/protocol-http": "^5.3.8", "@smithy/signature-v4": "^5.3.8", - "@smithy/smithy-client": "^4.10.12", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/util-config-provider": "^4.2.0", "@smithy/util-middleware": "^4.2.8", @@ -820,16 +820,16 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.972.3", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.3.tgz", - "integrity": "sha512-zq6aTiO/BiAIOA8EH8nB+wYvvnZ14Md9Gomm5DDhParshVEVglAyNPO5ADK4ZXFQbftIoO+Vgcvf4gewW/+iYQ==", + "version": "3.972.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.4.tgz", + "integrity": "sha512-6sU8jrSJvY/lqSnU6IYsa8SrCKwOZ4Enl6O4xVJo8RCq9Bdr5Giuw2eUaJAk9GPcpr4OFcmSFv3JOLhpKGeRZA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "^3.973.2", + "@aws-sdk/core": "^3.973.4", "@aws-sdk/types": "^3.973.1", "@aws-sdk/util-endpoints": "3.972.0", - "@smithy/core": "^3.21.1", + "@smithy/core": "^3.22.0", "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" @@ -4250,9 +4250,9 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@types/node": { - "version": "25.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz", - "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz", + "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==", "license": "MIT", "optional": true, "peer": true, @@ -7816,9 +7816,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.18", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz", - "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==", + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -14161,9 +14161,9 @@ } }, "node_modules/inquirer/node_modules/@types/node": { - "version": "25.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz", - "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz", + "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==", "license": "MIT", "optional": true, "peer": true, @@ -26455,20 +26455,20 @@ }, "packages/contentstack": { "name": "@contentstack/cli", - "version": "2.0.0-beta.5", + "version": "2.0.0-beta.7", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~2.0.0-beta.2", - "@contentstack/cli-auth": "~2.0.0-beta.2", - "@contentstack/cli-cm-bootstrap": "~2.0.0-beta.4", + "@contentstack/cli-auth": "~2.0.0-beta.3", + "@contentstack/cli-cm-bootstrap": "~2.0.0-beta.5", "@contentstack/cli-cm-branches": "~1.6.3", "@contentstack/cli-cm-bulk-publish": "~1.10.6", - "@contentstack/cli-cm-clone": "~2.0.0-beta.5", + "@contentstack/cli-cm-clone": "~2.0.0-beta.6", "@contentstack/cli-cm-export": "~2.0.0-beta.5", "@contentstack/cli-cm-export-to-csv": "~1.11.0", - "@contentstack/cli-cm-import": "~2.0.0-beta.4", + "@contentstack/cli-cm-import": "~2.0.0-beta.5", "@contentstack/cli-cm-import-setup": "~2.0.0-beta.3", - "@contentstack/cli-cm-seed": "~2.0.0-beta.4", + "@contentstack/cli-cm-seed": "~2.0.0-beta.5", "@contentstack/cli-command": "~1.7.2", "@contentstack/cli-config": "~1.18.0", "@contentstack/cli-launch": "1.9.3", @@ -26652,7 +26652,7 @@ }, "packages/contentstack-auth": { "name": "@contentstack/cli-auth", - "version": "2.0.0-beta.2", + "version": "2.0.0-beta.3", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.7.2", @@ -26864,10 +26864,10 @@ }, "packages/contentstack-bootstrap": { "name": "@contentstack/cli-cm-bootstrap", - "version": "2.0.0-beta.4", + "version": "2.0.0-beta.5", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-seed": "~2.0.0-beta.4", + "@contentstack/cli-cm-seed": "~2.0.0-beta.5", "@contentstack/cli-command": "~1.7.2", "@contentstack/cli-utilities": "~1.17.0", "@oclif/core": "^4.3.0", @@ -27048,12 +27048,12 @@ }, "packages/contentstack-clone": { "name": "@contentstack/cli-cm-clone", - "version": "2.0.0-beta.5", + "version": "2.0.0-beta.6", "license": "MIT", "dependencies": { "@colors/colors": "^1.6.0", "@contentstack/cli-cm-export": "~2.0.0-beta.5", - "@contentstack/cli-cm-import": "~2.0.0-beta.4", + "@contentstack/cli-cm-import": "~2.0.0-beta.5", "@contentstack/cli-command": "~1.7.2", "@contentstack/cli-utilities": "~1.17.0", "@oclif/core": "^4.3.0", @@ -27744,7 +27744,7 @@ "winston": "^3.17.0" }, "devDependencies": { - "@contentstack/cli-auth": "~2.0.0-beta.1", + "@contentstack/cli-auth": "~2.0.0-beta.3", "@contentstack/cli-config": "~1.18.0", "@contentstack/cli-dev-dependencies": "~1.3.1", "@oclif/plugin-help": "^6.2.28", @@ -27920,7 +27920,7 @@ }, "packages/contentstack-import": { "name": "@contentstack/cli-cm-import", - "version": "2.0.0-beta.4", + "version": "2.0.0-beta.5", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~2.0.0-beta.1", @@ -28048,10 +28048,10 @@ }, "packages/contentstack-seed": { "name": "@contentstack/cli-cm-seed", - "version": "2.0.0-beta.4", + "version": "2.0.0-beta.5", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-import": "~2.0.0-beta.4", + "@contentstack/cli-cm-import": "~2.0.0-beta.5", "@contentstack/cli-command": "~1.7.2", "@contentstack/cli-utilities": "~1.17.0", "@contentstack/management": "~1.27.3", diff --git a/packages/contentstack-auth/README.md b/packages/contentstack-auth/README.md index 70d52a2359..d555c37d8e 100644 --- a/packages/contentstack-auth/README.md +++ b/packages/contentstack-auth/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli-auth $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-auth/2.0.0-beta.1 darwin-arm64 node-v24.12.0 +@contentstack/cli-auth/2.0.0-beta.3 darwin-arm64 node-v24.12.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-auth/package.json b/packages/contentstack-auth/package.json index 585ee3810d..a2e985ea66 100644 --- a/packages/contentstack-auth/package.json +++ b/packages/contentstack-auth/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-auth", "description": "Contentstack CLI plugin for authentication activities", - "version": "2.0.0-beta.2", + "version": "2.0.0-beta.3", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "scripts": { diff --git a/packages/contentstack-auth/src/utils/auth-handler.ts b/packages/contentstack-auth/src/utils/auth-handler.ts index 7d263ebaac..dfc131447c 100644 --- a/packages/contentstack-auth/src/utils/auth-handler.ts +++ b/packages/contentstack-auth/src/utils/auth-handler.ts @@ -1,4 +1,4 @@ -import { cliux, log, handleAndLogError, messageHandler } from '@contentstack/cli-utilities'; +import { cliux, log, messageHandler } from '@contentstack/cli-utilities'; import { User } from '../interfaces'; import { askOTPChannel, askOTP } from './interactive'; @@ -118,10 +118,15 @@ class AuthHandler { if (result.user) { log.debug('Login successful, user found', { module: 'auth-handler', userEmail: result.user.email }); resolve(result.user as User); - } else if (result.error_code === 294) { - const tfToken = await this.handleOTPFlow(tfaToken, loginPayload); - + } else { + log.debug('Login failed: no user found.', { module: 'auth-handler', result }); + reject(new Error(messageHandler.parse('CLI_AUTH_LOGIN_NO_USER'))); + } + }) + .catch(async (error: any) => { + if (error.errorCode === 294) { try { + const tfToken = await this.handleOTPFlow(tfaToken, loginPayload); resolve(await this.login(email, password, tfToken)); } catch (error) { log.debug('Login with TFA token failed.', { module: 'auth-handler', error }); @@ -129,14 +134,10 @@ class AuthHandler { reject(error); } } else { - log.debug('Login failed: no user found.', { module: 'auth-handler', result }); - reject(new Error(messageHandler.parse('CLI_AUTH_LOGIN_NO_USER'))); + log.debug('Login API call failed.', { module: 'auth-handler', error: error?.errorMessage || error }); + cliux.print('CLI_AUTH_LOGIN_FAILED', { color: 'yellow' }); + reject(error); } - }) - .catch((error: any) => { - log.debug('Login API call failed.', { module: 'auth-handler', error: error?.errorMessage || error }); - cliux.print('CLI_AUTH_LOGIN_FAILED', { color: 'yellow' }); - handleAndLogError(error, { module: 'auth-handler' }); }); } else { const hasEmail = !!email; @@ -203,7 +204,7 @@ class AuthHandler { .catch((error: Error) => { log.debug('Token validation failed.', { module: 'auth-handler', error: error.message }); cliux.print('CLI_AUTH_TOKEN_VALIDATION_FAILED', { color: 'yellow' }); - handleAndLogError(error, { module: 'auth-handler' }); + reject(error); }); } else { log.debug('Token validation failed: no auth token provided.', { module: 'auth-handler' }); @@ -213,4 +214,4 @@ class AuthHandler { } } -export default new AuthHandler(); +export default new AuthHandler(); \ No newline at end of file diff --git a/packages/contentstack-auth/src/utils/mfa-handler.ts b/packages/contentstack-auth/src/utils/mfa-handler.ts index 5dccd343f7..8b066a5796 100644 --- a/packages/contentstack-auth/src/utils/mfa-handler.ts +++ b/packages/contentstack-auth/src/utils/mfa-handler.ts @@ -1,4 +1,4 @@ -import { cliux, configHandler, NodeCrypto, log, handleAndLogError, messageHandler } from '@contentstack/cli-utilities'; +import { cliux, NodeCrypto, log, messageHandler } from '@contentstack/cli-utilities'; import { authenticator } from 'otplib'; import { askOTP } from './interactive'; @@ -87,20 +87,6 @@ class MFAHandler { } } - if (!secret) { - log.debug('Checking stored MFA secret', { module: 'mfa-handler' }); - const mfaConfig = configHandler.get('mfa'); - if (mfaConfig?.secret) { - try { - secret = this.encrypter.decrypt(mfaConfig.secret); - source = 'stored configuration'; - } catch (error) { - log.debug('Failed to decrypt stored MFA secret', { module: 'mfa-handler', error }); - handleAndLogError(error, { module: 'mfa-handler' }, messageHandler.parse('CLI_AUTH_MFA_DECRYPT_FAILED')); - } - } - } - if (secret) { try { const code = this.generateMFACode(secret); diff --git a/packages/contentstack-auth/test/integration/auth.test.ts b/packages/contentstack-auth/test/integration/auth.test.ts index 297724352c..db6a9f3662 100644 --- a/packages/contentstack-auth/test/integration/auth.test.ts +++ b/packages/contentstack-auth/test/integration/auth.test.ts @@ -97,7 +97,7 @@ describe('contentstack-auth plugin test', () => { mockClient.login.resetHistory(); mockClient.login - .onFirstCall().resolves({ error_code: 294 }) + .onFirstCall().rejects({ errorCode: 294 }) .onSecondCall().resolves({ user: { email: credentials.email, authtoken: 'test-token' } }); await authHandler.login(credentials.email, credentials.password); diff --git a/packages/contentstack-auth/test/unit/auth-handler.test.ts b/packages/contentstack-auth/test/unit/auth-handler.test.ts index e75b861f51..f6b6f53ce4 100644 --- a/packages/contentstack-auth/test/unit/auth-handler.test.ts +++ b/packages/contentstack-auth/test/unit/auth-handler.test.ts @@ -32,7 +32,8 @@ describe('Auth Handler', function () { return Promise.reject(new Error('Invalid 2FA code')); } } else { - return Promise.resolve({ error_code: 294 }); + // Handler expects 2FA required as a rejection (catch path checks error.errorCode === 294) + return Promise.reject({ errorCode: 294 }); } } return Promise.resolve({ user }); diff --git a/packages/contentstack-auth/test/utils/auth-handler.test.ts b/packages/contentstack-auth/test/utils/auth-handler.test.ts index e75b861f51..f6b6f53ce4 100644 --- a/packages/contentstack-auth/test/utils/auth-handler.test.ts +++ b/packages/contentstack-auth/test/utils/auth-handler.test.ts @@ -32,7 +32,8 @@ describe('Auth Handler', function () { return Promise.reject(new Error('Invalid 2FA code')); } } else { - return Promise.resolve({ error_code: 294 }); + // Handler expects 2FA required as a rejection (catch path checks error.errorCode === 294) + return Promise.reject({ errorCode: 294 }); } } return Promise.resolve({ user }); diff --git a/packages/contentstack-auth/test/utils/mfa-handler.test.ts b/packages/contentstack-auth/test/utils/mfa-handler.test.ts index 38273dcf4f..7891d8fee2 100644 --- a/packages/contentstack-auth/test/utils/mfa-handler.test.ts +++ b/packages/contentstack-auth/test/utils/mfa-handler.test.ts @@ -44,7 +44,7 @@ describe('MFAHandler', () => { expect(authenticator.verify({ token: code, secret: validSecret })).to.be.true; }); - it('should fallback to stored configuration when environment variable is not set', async () => { + it.skip('should fallback to stored configuration when environment variable is not set', async () => { const encryptedSecret = 'encrypted-secret'; configStub.returns({ secret: encryptedSecret }); encrypterStub.decrypt.returns(validSecret); diff --git a/packages/contentstack-bootstrap/README.md b/packages/contentstack-bootstrap/README.md index 6904b8aaa7..357fd74ab5 100644 --- a/packages/contentstack-bootstrap/README.md +++ b/packages/contentstack-bootstrap/README.md @@ -15,7 +15,7 @@ $ npm install -g @contentstack/cli-cm-bootstrap $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-bootstrap/2.0.0-beta.4 darwin-arm64 node-v24.12.0 +@contentstack/cli-cm-bootstrap/2.0.0-beta.5 darwin-arm64 node-v24.12.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-bootstrap/package.json b/packages/contentstack-bootstrap/package.json index ffc22d8b82..7a59216077 100644 --- a/packages/contentstack-bootstrap/package.json +++ b/packages/contentstack-bootstrap/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-bootstrap", "description": "Bootstrap contentstack apps", - "version": "2.0.0-beta.4", + "version": "2.0.0-beta.5", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "scripts": { @@ -16,7 +16,7 @@ "test:report": "nyc --reporter=lcov mocha \"test/**/*.test.js\"" }, "dependencies": { - "@contentstack/cli-cm-seed": "~2.0.0-beta.4", + "@contentstack/cli-cm-seed": "~2.0.0-beta.5", "@contentstack/cli-command": "~1.7.2", "@contentstack/cli-utilities": "~1.17.0", "@oclif/core": "^4.3.0", diff --git a/packages/contentstack-clone/README.md b/packages/contentstack-clone/README.md index 3fc4705cce..28a5f7bc13 100644 --- a/packages/contentstack-clone/README.md +++ b/packages/contentstack-clone/README.md @@ -16,7 +16,7 @@ $ npm install -g @contentstack/cli-cm-clone $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-clone/2.0.0-beta.5 darwin-arm64 node-v24.12.0 +@contentstack/cli-cm-clone/2.0.0-beta.6 darwin-arm64 node-v24.12.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND @@ -38,6 +38,62 @@ USAGE * [`csdx cm:stacks:clone [--source-branch ] [--target-branch ] [--source-management-token-alias ] [--destination-management-token-alias ] [-n ] [--type a|b] [--source-stack-api-key ] [--destination-stack-api-key ] [--import-webhook-status disable|current]`](#csdx-cmstacksclone---source-branch-value---target-branch-value---source-management-token-alias-value---destination-management-token-alias-value--n-value---type-ab---source-stack-api-key-value---destination-stack-api-key-value---import-webhook-status-disablecurrent) +* [`csdx cm:stacks:clone [--source-branch ] [--target-branch ] [--source-management-token-alias ] [--destination-management-token-alias ] [-n ] [--type a|b] [--source-stack-api-key ] [--destination-stack-api-key ] [--import-webhook-status disable|current]`](#csdx-cmstacksclone---source-branch-value---target-branch-value---source-management-token-alias-value---destination-management-token-alias-value--n-value---type-ab---source-stack-api-key-value---destination-stack-api-key-value---import-webhook-status-disablecurrent) + +## `csdx cm:stacks:clone [--source-branch ] [--target-branch ] [--source-management-token-alias ] [--destination-management-token-alias ] [-n ] [--type a|b] [--source-stack-api-key ] [--destination-stack-api-key ] [--import-webhook-status disable|current]` + +Clone data (structure/content or both) of a stack into another stack + +``` +USAGE + $ csdx cm:stack-clone cm:stacks:clone [--source-branch ] [--target-branch ] + [--source-management-token-alias ] [--destination-management-token-alias ] [-n ] [--type a|b] + [--source-stack-api-key ] [--destination-stack-api-key ] [--import-webhook-status disable|current] + +FLAGS + -c, --config= Path for the external configuration + -n, --stack-name= Provide a name for the new stack to store the cloned content. + -y, --yes Force override all Marketplace prompts. + --destination-management-token-alias= Destination management token alias. + --destination-stack-api-key= Destination stack API key + --import-webhook-status=