diff --git a/eslint.config.base.js b/eslint.config.base.js new file mode 100644 index 0000000000..7a9d1d4da9 --- /dev/null +++ b/eslint.config.base.js @@ -0,0 +1,15 @@ +import tseslint from 'typescript-eslint'; + +export const typescriptConfig = tseslint.configs.recommended; + +export const baseRules = { + eqeqeq: ['error', 'smart'], + 'id-match': 'error', + 'no-eval': 'error', + 'no-var': 'error', + '@typescript-eslint/no-unused-vars': ['error', { args: 'none' }], + '@typescript-eslint/prefer-namespace-keyword': 'error', + semi: 'off', + '@typescript-eslint/no-redeclare': 'off', + '@typescript-eslint/no-explicit-any': 'off', +}; diff --git a/packages/contentstack-auth/.eslintignore b/packages/contentstack-auth/.eslintignore deleted file mode 100644 index 72d230bac9..0000000000 --- a/packages/contentstack-auth/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Build files -./lib \ No newline at end of file diff --git a/packages/contentstack-auth/.eslintrc b/packages/contentstack-auth/.eslintrc deleted file mode 100644 index 7b112a1df8..0000000000 --- a/packages/contentstack-auth/.eslintrc +++ /dev/null @@ -1,36 +0,0 @@ -{ - "env": { - "node": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "extends": [ - "plugin:@typescript-eslint/recommended" - ], - "rules": { - "@typescript-eslint/ban-types": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "none" - } - ], - "@typescript-eslint/prefer-namespace-keyword": "error", - "@typescript-eslint/quotes": "off", - "semi": "off", - "@typescript-eslint/type-annotation-spacing": "off", - "@typescript-eslint/no-redeclare": "off", - "eqeqeq": [ - "error", - "smart" - ], - "id-match": "error", - "no-eval": "error", - "no-var": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-unsafe-function-type": "off" - } -} \ No newline at end of file diff --git a/packages/contentstack-auth/eslint.config.js b/packages/contentstack-auth/eslint.config.js new file mode 100644 index 0000000000..26de1c803a --- /dev/null +++ b/packages/contentstack-auth/eslint.config.js @@ -0,0 +1,17 @@ +import { typescriptConfig, baseRules } from '../../eslint.config.base.js'; + +export default [ + ...typescriptConfig, + { + files: ['src/**/*.ts'], + rules: { + ...baseRules, + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/quotes': 'off', + '@typescript-eslint/type-annotation-spacing': 'off', + }, + }, + { + ignores: ['lib/**'], + }, +]; diff --git a/packages/contentstack-auth/package.json b/packages/contentstack-auth/package.json index 8c1b0d63cb..19f22a8977 100644 --- a/packages/contentstack-auth/package.json +++ b/packages/contentstack-auth/package.json @@ -18,7 +18,6 @@ "@contentstack/cli-command": "~2.0.0-beta.6", "@contentstack/cli-utilities": "~2.0.0-beta.7", "@oclif/core": "^4.10.5", - "@oclif/plugin-help": "^6.2.44", "otplib": "^12.0.1" }, "overrides": { @@ -27,20 +26,18 @@ } }, "devDependencies": { - "@fancy-test/nock": "^0.1.1", - "@oclif/plugin-help": "^6.2.44", - "@oclif/test": "^4.1.18", + "@oclif/test": "^4.1.13", "@types/chai": "^4.3.20", - "@types/mkdirp": "^1.0.2", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", "@types/sinon": "^21.0.1", "chai": "^4.5.0", - "dotenv": "^16.6.1", - "eslint": "^8.57.1", + "dotenv": "^16.4.7", + "eslint": "^9.26.0", "eslint-config-oclif": "^5.2.2", "eslint-config-oclif-typescript": "^3.1.14", "mocha": "10.8.2", + "nock": "^13.5.6", "nyc": "^15.1.0", "oclif": "^4.23.0", "sinon": "^21.1.2", diff --git a/packages/contentstack-auth/src/interfaces/index.ts b/packages/contentstack-auth/src/interfaces/index.ts index 5fb8dc1b84..bfb0caf461 100644 --- a/packages/contentstack-auth/src/interfaces/index.ts +++ b/packages/contentstack-auth/src/interfaces/index.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-redeclare export interface AuthOptions { contentstackClient: any; } diff --git a/packages/contentstack-command/.eslintignore b/packages/contentstack-command/.eslintignore deleted file mode 100644 index 72d230bac9..0000000000 --- a/packages/contentstack-command/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Build files -./lib \ No newline at end of file diff --git a/packages/contentstack-command/.eslintrc b/packages/contentstack-command/.eslintrc deleted file mode 100644 index cd91b82a66..0000000000 --- a/packages/contentstack-command/.eslintrc +++ /dev/null @@ -1,31 +0,0 @@ -{ - "env": { - "node": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "extends": [ - "plugin:@typescript-eslint/recommended" - ], - "rules": { - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "none" - } - ], - "@typescript-eslint/prefer-namespace-keyword": "error", - "semi": "off", - "@typescript-eslint/no-redeclare": "off", - "eqeqeq": [ - "error", - "smart" - ], - "id-match": "error", - "no-eval": "error", - "no-var": "error" - } -} \ No newline at end of file diff --git a/packages/contentstack-command/eslint.config.js b/packages/contentstack-command/eslint.config.js new file mode 100644 index 0000000000..000cf19a89 --- /dev/null +++ b/packages/contentstack-command/eslint.config.js @@ -0,0 +1,12 @@ +import { typescriptConfig, baseRules } from '../../eslint.config.base.js'; + +export default [ + ...typescriptConfig, + { + files: ['src/**/*.ts'], + rules: baseRules, + }, + { + ignores: ['lib/**'], + }, +]; diff --git a/packages/contentstack-command/package.json b/packages/contentstack-command/package.json index 29f7ec8233..a24e1ad7ea 100644 --- a/packages/contentstack-command/package.json +++ b/packages/contentstack-command/package.json @@ -16,8 +16,7 @@ "dependencies": { "@contentstack/cli-utilities": "~2.0.0-beta.7", "contentstack": "^3.27.0", - "@oclif/core": "^4.10.5", - "@oclif/plugin-help": "^6.2.44" + "@oclif/core": "^4.10.5" }, "overrides": { "@oclif/core": { @@ -25,11 +24,10 @@ } }, "devDependencies": { - "@oclif/test": "^4.1.18", - "@types/mkdirp": "^1.0.2", + "@oclif/test": "^4.1.13", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", - "eslint": "^8.57.1", + "eslint": "^9.26.0", "eslint-config-oclif": "^6.0.15", "eslint-config-oclif-typescript": "^3.1.14", "mocha": "10.8.2", diff --git a/packages/contentstack-config/.eslintignore b/packages/contentstack-config/.eslintignore deleted file mode 100644 index 72d230bac9..0000000000 --- a/packages/contentstack-config/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Build files -./lib \ No newline at end of file diff --git a/packages/contentstack-config/.eslintrc b/packages/contentstack-config/.eslintrc deleted file mode 100644 index 25135802f1..0000000000 --- a/packages/contentstack-config/.eslintrc +++ /dev/null @@ -1,34 +0,0 @@ -{ - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:mocha/recommended"], - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint", "mocha"], - "rules": { - "unicorn/no-abusive-eslint-disable": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/ban-ts-ignore": "off", - "indent": "off", - "object-curly-spacing": "off", - "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], - "mocha/no-async-describe": "off", - "mocha/no-identical-title": "off", - "mocha/no-mocha-arrows": "off", - "mocha/no-setup-in-describe": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-var-requires": "off", - "prefer-const": "error", - "no-fallthrough": "error", - "no-prototype-builtins": "off" - }, - "env": { - "node": true, - "mocha": true - }, - "overrides": [ - { - "files": ["*.d.ts"], - "rules": { - "@typescript-eslint/no-explicit-any": "off" - } - } - ] -} diff --git a/packages/contentstack-config/eslint.config.js b/packages/contentstack-config/eslint.config.js new file mode 100644 index 0000000000..722ed43da6 --- /dev/null +++ b/packages/contentstack-config/eslint.config.js @@ -0,0 +1,43 @@ +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import mochaPlugin from 'eslint-plugin-mocha'; +import { FlatCompat } from '@eslint/eslintrc'; +import { baseRules } from '../../eslint.config.base.js'; + +const compat = new FlatCompat(); + +export default [ + eslint.configs.recommended, + ...tseslint.configs.recommended, + ...compat.config(mochaPlugin.configs.recommended), + { + files: ['src/**/*.ts', 'test/**/*.ts'], + rules: { + ...baseRules, + 'unicorn/no-abusive-eslint-disable': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/ban-ts-ignore': 'off', + indent: 'off', + 'object-curly-spacing': 'off', + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], + 'mocha/no-async-describe': 'off', + 'mocha/no-identical-title': 'off', + 'mocha/no-mocha-arrows': 'off', + 'mocha/no-setup-in-describe': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-var-requires': 'off', + 'prefer-const': 'error', + 'no-fallthrough': 'error', + 'no-prototype-builtins': 'off', + }, + }, + { + files: ['*.d.ts'], + rules: { + '@typescript-eslint/no-explicit-any': 'off', + }, + }, + { + ignores: ['lib/**'], + }, +]; diff --git a/packages/contentstack-config/package.json b/packages/contentstack-config/package.json index 46e288f17b..e9794f1e4d 100644 --- a/packages/contentstack-config/package.json +++ b/packages/contentstack-config/package.json @@ -17,9 +17,7 @@ "@contentstack/cli-command": "~2.0.0-beta.6", "@contentstack/cli-utilities": "~2.0.0-beta.7", "@contentstack/utils": "~1.9.1", - "@oclif/core": "^4.10.5", - "@oclif/plugin-help": "^6.2.44", - "lodash": "^4.18.1" + "@oclif/core": "^4.8.3" }, "overrides": { "@oclif/core": { @@ -33,8 +31,8 @@ "@types/node": "^14.18.63", "@types/sinon": "^21.0.1", "chai": "^4.5.0", - "eslint": "^8.57.1", - "eslint-config-oclif": "^6.0.157", + "eslint": "^9.26.0", + "eslint-config-oclif": "^6.0.62", "eslint-config-oclif-typescript": "^3.1.14", "mocha": "10.8.2", "nyc": "^15.1.0", diff --git a/packages/contentstack-utilities/.eslintignore b/packages/contentstack-utilities/.eslintignore deleted file mode 100644 index 72d230bac9..0000000000 --- a/packages/contentstack-utilities/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Build files -./lib \ No newline at end of file diff --git a/packages/contentstack-utilities/.eslintrc b/packages/contentstack-utilities/.eslintrc deleted file mode 100644 index b9fcf5f446..0000000000 --- a/packages/contentstack-utilities/.eslintrc +++ /dev/null @@ -1,36 +0,0 @@ -{ - "env": { - "node": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "extends": [ - "plugin:@typescript-eslint/recommended" - ], - "rules": { - "@typescript-eslint/no-empty-object-type": "off", - "@typescript-eslint/no-this-alias": "off", - "@typescript-eslint/no-unsafe-function-type": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "none", - "varsIgnorePattern": "^_" - } - ], - "@typescript-eslint/prefer-namespace-keyword": "error", - "semi": "off", - "@typescript-eslint/no-redeclare": "off", - "@typescript-eslint/no-explicit-any": "off", - "eqeqeq": [ - "error", - "smart" - ], - "id-match": "error", - "no-eval": "error", - "no-var": "error" - } -} \ No newline at end of file diff --git a/packages/contentstack-utilities/eslint.config.js b/packages/contentstack-utilities/eslint.config.js new file mode 100644 index 0000000000..12252a8229 --- /dev/null +++ b/packages/contentstack-utilities/eslint.config.js @@ -0,0 +1,17 @@ +import { typescriptConfig, baseRules } from '../../eslint.config.base.js'; + +export default [ + ...typescriptConfig, + { + files: ['src/**/*.ts'], + rules: { + ...baseRules, + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-this-alias': 'off', + '@typescript-eslint/no-unsafe-function-type': 'off', + }, + }, + { + ignores: ['lib/**'], + }, +]; diff --git a/packages/contentstack-utilities/package.json b/packages/contentstack-utilities/package.json index dbe563c958..b6a1e02dcf 100644 --- a/packages/contentstack-utilities/package.json +++ b/packages/contentstack-utilities/package.json @@ -30,7 +30,7 @@ "@contentstack/management": "~1.30.1", "@contentstack/marketplace-sdk": "^1.5.1", "@oclif/core": "^4.10.5", - "axios": "^1.15.0", + "axios": "^1.15.2", "chalk": "^5.6.2", "cli-cursor": "^3.1.0", "cli-progress": "^3.12.0", @@ -53,7 +53,8 @@ "traverse": "^0.6.11", "tty-table": "^4.2.3", "unique-string": "^2.0.0", - "uuid": "^9.0.1", + "short-uuid": "^6.0.0", + "uuid": "^14.0.0", "winston": "^3.19.0", "xdg-basedir": "^4.0.0" }, @@ -71,8 +72,8 @@ "@types/sinon": "^21.0.0", "@types/traverse": "^0.6.37", "chai": "^4.5.0", - "eslint": "^8.57.1", - "eslint-config-oclif": "^6.0.157", + "eslint": "^9.26.0", + "eslint-config-oclif": "^6.0.62", "eslint-config-oclif-typescript": "^3.1.14", "fancy-test": "^2.0.42", "mocha": "10.8.2", diff --git a/packages/contentstack-utilities/src/fs-utility/core.ts b/packages/contentstack-utilities/src/fs-utility/core.ts index 8f2ffcf926..f862a36073 100644 --- a/packages/contentstack-utilities/src/fs-utility/core.ts +++ b/packages/contentstack-utilities/src/fs-utility/core.ts @@ -458,7 +458,6 @@ export async function getFileList(dirName: string, onlyName = true): Promise { /** * The Axios response object. diff --git a/packages/contentstack-utilities/src/logger/cli-error-handler.ts b/packages/contentstack-utilities/src/logger/cli-error-handler.ts index 3736f6df98..553ec78f66 100644 --- a/packages/contentstack-utilities/src/logger/cli-error-handler.ts +++ b/packages/contentstack-utilities/src/logger/cli-error-handler.ts @@ -176,7 +176,7 @@ export default class CLIErrorHandler { * Extracts only essential error payload information for clear debugging. */ private extractErrorPayload(error: Error & Record): Record { - const { name, message: _message, code, status, response, request, config, statusText } = error; + const { name, code, status, response, request, config, statusText } = error; const payload: Record = { name, diff --git a/packages/contentstack-utilities/test/unit/auth-handler.test.ts b/packages/contentstack-utilities/test/unit/auth-handler.test.ts index d7f3b0d7d1..f21efb8686 100644 --- a/packages/contentstack-utilities/test/unit/auth-handler.test.ts +++ b/packages/contentstack-utilities/test/unit/auth-handler.test.ts @@ -166,19 +166,17 @@ describe('Auth Handler', () => { refresh_token: refreshToken, }; - const oauthHandlerStub = { - exchangeCodeForToken: sandbox.stub().resolves(userData), - }; - - sandbox.stub(authHandler, 'oauthHandler').value(oauthHandlerStub); + const exchangeStub = sandbox.stub().resolves(userData); + sandbox.stub(authHandler, 'oauthHandler').value({ + exchangeCodeForToken: exchangeStub, + }); const getUserDetailsStub = sandbox.stub(authHandler, 'getUserDetails').resolves(userData); const setConfigDataStub = sandbox.stub(authHandler, 'setConfigData').resolves(); - await authHandler.getAccessToken(code); - - assert.calledWith(oauthHandlerStub.exchangeCodeForToken, code); - assert.calledWith(getUserDetailsStub, userData); - assert.calledWith(setConfigDataStub, 'oauth', userData); + // Verify the actual calls made: + assert.calledWith(exchangeStub, code); // exchangeCodeForToken called with code + assert.calledWith(getUserDetailsStub, userData); // getUserDetails called with result from exchange + assert.calledWith(setConfigDataStub, 'oauth', userData); // setConfigData called with 'oauth' and userData }); }); @@ -290,30 +288,31 @@ describe('Auth Handler', () => { }); it('should refresh the token and resolve with data when refresh token is valid', async () => { - const configOauthRefreshToken = 'valid_refresh_token'; // Set a valid refresh token here + const configOauthRefreshToken = 'valid_refresh_token'; const configAuthorisationType = authHandler.authorisationTypeOAUTHValue; const expectedData = { - access_token: config.access_token, + access_token: 'new_access_token', refresh_token: 'new_refresh_token', }; - - const postStub = sandbox.stub().resolves({ data: expectedData }); - const httpClientStub = { - post: postStub, - }; - const httpClientInstance = new HttpClient().headers().asFormParams(); - sandbox.stub(httpClientInstance, 'post').value(httpClientStub); - - sandbox.stub(authHandler, 'setConfigData').resolves(expectedData); - + // Stub oauthHandler with refreshAccessToken method + const refreshAccessTokenStub = sandbox.stub().resolves(expectedData); + sandbox.stub(authHandler, 'oauthHandler').value({ + refreshAccessToken: refreshAccessTokenStub, + }); + // Stub configHandler.get to return proper values sandbox .stub(configHandler, 'get') .withArgs(authHandler.oauthRefreshTokenKeyName) .returns(configOauthRefreshToken) .withArgs(authHandler.authorisationTypeKeyName) .returns(configAuthorisationType); - - authHandler.refreshToken(); + // Stub setConfigData + sandbox.stub(authHandler, 'setConfigData').resolves(expectedData); + const result = await authHandler.refreshToken(); + // Verify calls + assert.calledWith(refreshAccessTokenStub, configOauthRefreshToken); + assert.calledWith(authHandler.setConfigData, 'refreshToken', expectedData); + expect(result).to.deep.equal(expectedData); }); }); diff --git a/packages/contentstack-utilities/test/unit/helper.test.ts b/packages/contentstack-utilities/test/unit/helper.test.ts index 2a7e716e4b..4d735bfcf9 100644 --- a/packages/contentstack-utilities/test/unit/helper.test.ts +++ b/packages/contentstack-utilities/test/unit/helper.test.ts @@ -1,4 +1,4 @@ -import { cliux, validatePath, getBranchFromAlias } from '../../lib'; +import { cliux, validatePath, getBranchFromAlias, generateUid, generateShortUid } from '../../lib'; import { expect } from 'chai'; import { fancy } from 'fancy-test'; @@ -246,3 +246,32 @@ describe('Testing the getBranchFromAlias function', () => { }); }); }); + +describe('generateUid', () => { + it('should return a string', () => { + expect(generateUid()).to.be.a('string'); + }); + + it('should return a valid UUID v4 format', () => { + const uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; + expect(generateUid()).to.match(uuidV4Regex); + }); + + it('should return a unique value on each call', () => { + expect(generateUid()).to.not.equal(generateUid()); + }); +}); + +describe('generateShortUid', () => { + it('should return a string', () => { + expect(generateShortUid()).to.be.a('string'); + }); + + it('should return a non-empty string', () => { + expect(generateShortUid().length).to.be.greaterThan(0); + }); + + it('should return a unique value on each call', () => { + expect(generateShortUid()).to.not.equal(generateShortUid()); + }); +}); diff --git a/packages/contentstack/.eslintignore b/packages/contentstack/.eslintignore deleted file mode 100644 index 72d230bac9..0000000000 --- a/packages/contentstack/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Build files -./lib \ No newline at end of file diff --git a/packages/contentstack/.eslintrc b/packages/contentstack/.eslintrc deleted file mode 100644 index 332273081e..0000000000 --- a/packages/contentstack/.eslintrc +++ /dev/null @@ -1,33 +0,0 @@ -{ - "env": { - "node": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "extends": [ - "plugin:@typescript-eslint/recommended" - ], - "rules": { - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "none" - } - ], - "@typescript-eslint/prefer-namespace-keyword": "error", - "semi": "off", - "@typescript-eslint/no-redeclare": "off", - "eqeqeq": [ - "error", - "smart" - ], - "id-match": "error", - "no-eval": "error", - "no-var": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-unsafe-function-type": "off" - } -} \ No newline at end of file diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index dc2c05a1bb..2e12d2bdc8 100644 --- a/packages/contentstack/README.md +++ b/packages/contentstack/README.md @@ -41,10 +41,10 @@ USAGE * [`csdx cm:branches:delete [-uid ] [-k ]`](#csdx-cmbranchesdelete--uid-value--k-value) * [`csdx cm:branches:diff [--base-branch ] [--compare-branch ] [-k ][--module ] [--format ] [--csv-path ]`](#csdx-cmbranchesdiff---base-branch-value---compare-branch-value--k-value--module-value---format-value---csv-path-value) * [`csdx cm:branches:merge [-k ][--compare-branch ] [--no-revert] [--export-summary-path ] [--use-merge-summary ] [--comment ] [--base-branch ]`](#csdx-cmbranchesmerge--k-value--compare-branch-value---no-revert---export-summary-path-value---use-merge-summary-value---comment-value---base-branch-value) -* [`csdx cm:export-to-csv`](#csdx-cmexport-to-csv) -* [`csdx cm:stacks:migration [-k ] [-a ] [--file-path ] [--branch ] [--config-file ] [--config ] [--multiple]`](#csdx-cmstacksmigration--k-value--a-value---file-path-value---branch-value---config-file-value---config-value---multiple) -* [`csdx cm:stacks:seed [--repo ] [--org ] [-k ] [-n ] [-y ] [-s ] [--locale ]`](#csdx-cmstacksseed---repo-value---org-value--k-value--n-value--y-value--s-value---locale-value) -* [`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) +<<<<<<< HEAD +======= +* [`csdx cm:branches:merge-status -k --merge-uid `](#csdx-cmbranchesmerge-status--k-value---merge-uid-value) +* [`csdx cm:bulk-publish`](#csdx-cmbulk-publish) * [`csdx cm:stacks:audit`](#csdx-cmstacksaudit) * [`csdx cm:stacks:audit:fix`](#csdx-cmstacksauditfix) * [`csdx cm:stacks:bulk-assets`](#csdx-cmstacksbulk-assets) @@ -498,6 +498,1474 @@ EXAMPLES _See code: [@contentstack/cli-cm-branches](https://github.com/contentstack/cli/blob/main/packages/contentstack-export/src/commands/cm/branches/merge.ts)_ +<<<<<<< HEAD +======= +## `csdx cm:branches:merge-status -k --merge-uid ` + +Check the status of a branch merge job + +``` +USAGE + $ csdx cm:branches:merge-status -k --merge-uid + +FLAGS + -k, --stack-api-key= (required) Provide your stack API key. + --merge-uid= (required) Merge job UID to check status for. + +DESCRIPTION + Check the status of a branch merge job + +EXAMPLES + $ csdx cm:branches:merge-status -k bltxxxxxxxx --merge-uid merge_abc123 + + $ csdx cm:branches:merge-status --stack-api-key bltxxxxxxxx --merge-uid merge_abc123 +``` + +_See code: [@contentstack/cli-cm-branches](https://github.com/contentstack/cli/blob/main/packages/contentstack-export/src/commands/cm/branches/merge-status.ts)_ + +## `csdx cm:bulk-publish` + +Bulk Publish script for managing entries and assets + +``` +USAGE + $ csdx cm:bulk-publish + +DESCRIPTION + Bulk Publish script for managing entries and assets +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/bulk-publish/index.js)_ + +## `csdx cm:entries:update-and-publish [-a ] [--retry-failed ] [--bulk-publish ] [--content-types ] [-t ] [-e ] [-c ] [-y] [--locales ] [--branch ]` + +Add fields from updated content types to their respective entries + +``` +USAGE + $ csdx cm:bulk-publish:add-fields cm:entries:update-and-publish [-a ] [--retry-failed ] [--bulk-publish ] + [--content-types ] [-t ] [-e ] [-c ] [-y] [--locales ] [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from the + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -t, --contentTypes=... The Contenttypes from which entries will be published. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type ID whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --force Update and publish all entries even if no fields have been added. + --retry-failed= Use this option to retry publishing the failed entries from the logfile. Specify the + name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + +DESCRIPTION + Add fields from updated content types to their respective entries + The update-and-publish command is used to update existing entries with the updated schema of the respective content + type + + Note: Content types, Environments and Locales are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:add-fields + +EXAMPLES + General Usage + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:update-and-publish --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:update-and-publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:update-and-publish --retry-failed [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --stack-api-key + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] +``` + +## `csdx cm:assets:publish [-a ] [--retry-failed ] [-e ] [--folder-uid ] [--bulk-publish ] [-c ] [-y] [--locales ] [--branch ] [--delivery-token ] [--source-env ]` + +Publish assets to the specified environments + +``` +USAGE + $ csdx cm:bulk-publish:assets cm:assets:publish [-a ] [--retry-failed ] [-e ] [--folder-uid ] + [--bulk-publish ] [-c ] [-y] [--locales ] [--branch ] [--delivery-token ] + [--source-env ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the assets from the + main branch will be published. + -a, --alias= Alias (name) for the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which assets will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --delivery-token= The delivery token of the source environment. + --folder-uid= (optional) The UID of the Assets’ folder from which the assets need to be published. + The default value is cs_root. + --retry-failed= Use this option to retry publishing the failed assets from the logfile. Specify the + name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + --source-env= Source environment + +DESCRIPTION + Publish assets to the specified environments + The assets command is used to publish assets from the specified stack, to the specified environments + + Note: Environment(s) and Locale(s) are required to execute the command successfully + But, if retryFailed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:assets + +EXAMPLES + General Usage + + $ csdx cm:assets:publish --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:assets:publish --config [PATH TO CONFIG FILE] + + $ csdx cm:assets:publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:assets:publish --retry-failed [LOG FILE NAME] + + + + Using --branch flag + + $ csdx cm:assets:publish --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --source-env + + $ csdx cm:assets:publish --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] + + + + Using --stack-api-key flag + + $ csdx cm:assets:publish --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE] --stack-api-key [STACK API KEY] +``` + +## `csdx cm:bulk-publish:clear` + +Clear the log folder + +``` +USAGE + $ csdx cm:bulk-publish:clear [--log-files-count] [-y] + +FLAGS + -y, --yes Delete all files without asking for confirmation + --log-files-count List number of log files + +DESCRIPTION + Clear the log folder + +ALIASES + $ csdx cm:bulk-publish:clear + +EXAMPLES + $ csdx cm:stacks:publish-clear-logs + + $ csdx cm:stacks:publish-clear-logs --log-files-count + + $ csdx cm:stacks:publish-clear-logs --yes + + $ csdx cm:stacks:publish-clear-logs -y +``` + +## `csdx cm:bulk-publish:configure` + +The configure command is used to generate a configuration file for publish scripts. + +``` +USAGE + $ csdx cm:bulk-publish:configure [-a ] [-k ] + +FLAGS + -a, --alias= Name (alias) of the management token you want to use. You must use either the --alias + flag or the --stack-api-key flag. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the --alias + flag. + +DESCRIPTION + The configure command is used to generate a configuration file for publish scripts. + +ALIASES + $ csdx cm:bulk-publish:configure + +EXAMPLES + $ csdx cm:stacks:publish-configure + + $ csdx cm:stacks:publish-configure -a + + $ csdx cm:stacks:publish-configure --alias + + $ csdx cm:stacks:publish-configure --stack-api-key +``` + +## `csdx cm:bulk-publish:cross-publish [-a ] [--retry-failed ] [--bulk-publish ] [--content-type ] [--locales ] [--source-env ] [--environments ] [--delivery-token ] [-c ] [-y] [--branch ] [--onlyAssets] [--onlyEntries] [--include-variants]` + +Publish entries and assets from one environment to other environments + +``` +USAGE + $ csdx cm:bulk-publish:cross-publish [-a ] [--retry-failed ] [--bulk-publish ] [--content-type ] + [--locales ] [--source-env ] [--environments ] [--delivery-token ] [-c ] [-y] + [--branch ] [--onlyAssets] [--onlyEntries] [--include-variants] + +FLAGS + -B, --branch= [default: main] Specify the branch to fetch the content (by default the main branch is + selected) + -a, --alias= Alias(name) for the management token + -c, --config= Path to the config file + -k, --stack-api-key= Stack API key to be used + -y, --yes Agree to process the command with the current configuration + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --content-type=... The Contenttypes from which entries will be published + --delivery-token= The delivery token of the source environment. + --environments=... Destination Environments + --include-variants Include Variants flag will publish all associated variant entries. + --locales= Source locale + --onlyAssets Unpublish only assets + --onlyEntries Unpublish only entries + --retry-failed= (optional) Retry publishing failed entries from the logfile (this flag overrides all + other flags) + --source-env= Source Env + +DESCRIPTION + Publish entries and assets from one environment to other environments + The cross-publish command is used to publish entries and assets from one environment to other environments + + Note: Content Type, Environment, Destination Environment(s) and Locale are required to execute the command + successfully + But, if retryFailed flag is set, then only a logfile is required + + +EXAMPLES + General Usage + + $ csdx cm:bulk-publish:cross-publish --content-type [CONTENT TYPE] --source-env [SOURCE ENV] --environments [DESTINATION ENVIRONMENT] --locales [LOCALE] -a [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure -a [ALIAS]` + + $ csdx cm:bulk-publish:cross-publish --config [PATH TO CONFIG FILE] + + $ csdx cm:bulk-publish:cross-publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:bulk-publish:cross-publish --retry-failed [LOG FILE NAME] + + $ csdx cm:bulk-publish:cross-publish -r [LOG FILE NAME] + + + + Using --branch flag + + $ csdx cm:bulk-publish:cross-publish --content-type [CONTENT TYPE] --source-env [SOURCE ENV] --environments [DESTINATION ENVIRONMENT] --locales [LOCALE] -a [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] --branch [BRANCH NAME] + + + + Using --stack-api-key flag + + $ csdx cm:bulk-publish:cross-publish --content-type [CONTENT TYPE] --source-env [SOURCE ENV] --environments [DESTINATION ENVIRONMENT] --locales [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN] + + + + Using --include-variants flag + + $ csdx cm:bulk-publish:cross-publish --content-type [CONTENT TYPE] --source-env [SOURCE ENV] --environments [DESTINATION ENVIRONMENT] --locales [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN] [--include-variants] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/bulk-publish/cross-publish.js)_ + +## `csdx cm:entries:publish [-a ] [--retry-failed ] [--bulk-publish ] [--publish-all-content-types] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ] [--delivery-token ] [--source-env ] [--entry-uid ] [--include-variants]` + +Publish entries from multiple contenttypes to multiple environments and locales + +``` +USAGE + $ csdx cm:bulk-publish:entries cm:entries:publish [-a ] [--retry-failed ] [--bulk-publish ] + [--publish-all-content-types] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch + ] [--delivery-token ] [--source-env ] [--entry-uid ] [--include-variants] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the + options for a single run. Refer to the configure command to create a configuration + file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. This flag is + set to true, by default. + --content-types=... The UID of the content type(s) whose entries you want to publish in bulk. In case of + multiple content types, specify the IDs separated by spaces. + --delivery-token= The delivery token of the source environment. + --entry-uid= Entry Uid for publish all associated variant entries. + --include-variants Include Variants flag will publish all associated variant entries with base entry. + --publish-all-content-types (optional) Set it to true to bulk publish entries from all content types. If the + --content-types option is already used, then you cannot use this option. + --retry-failed= (optional) Use this option to retry publishing the failed entries/ assets from the + logfile. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags. + --source-env= Source environment + +DESCRIPTION + Publish entries from multiple contenttypes to multiple environments and locales + The publish command is used to publish entries from the specified content types, to the + specified environments and locales + + Note: Content Types, Environments and Locales are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:entries + +EXAMPLES + General Usage + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:publish --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish --retry-failed [LOG FILE NAME] + + $ csdx cm:entries:publish -r [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --source-env + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] + + + + Using --stack-api-key + + $ csdx cm:entries:publish -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] + + + + Using --include-variants + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] [--include-variants] + + + + Using --entry-uid and --include-variants + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] --entry-uid [ENTRY UID] [--include-variants] +``` + +## `csdx cm:entries:publish-modified [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ]` + +Publish edited entries from a specified content type to the given locales and environments + +``` +USAGE + $ csdx cm:bulk-publish:entry-edits cm:entries:publish-modified [-a ] [--retry-failed ] [--bulk-publish ] + [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch + ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don't mention the branch name, then by default the entries from main + branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment(s) on which the entries will be published. In case of + multiple environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type(s) whose edited entries you want to publish in bulk. In + case of multiple content types, specify the IDs separated by spaces. + --retry-failed= (optional) Use this option to retry publishing the failed entries/assets from the + logfile. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags + --source-env= The name of the source environment where the entries were initially published. + +DESCRIPTION + Publish edited entries from a specified content type to the given locales and environments + The publish-modified command is used to publish entries from the specified content types, to the + specified environments and locales + + Note: Content type(s), Source Environment, Destination Environment(s) and Locale(s) are required to execute the + command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:entry-edits + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:publish-modified --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-modified -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish-modified --retry-failed [LOG FILE NAME] + + $ csdx cm:entries:publish-modified -r [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --stack-api-key + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -stack-api-key [STACK API KEY] +``` + +## `csdx cm:entries:publish-non-localized-fields [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [-e ] [-c ] [-y] [--branch ]` + +Publish non-localized fields for the given content types, from a particular source environment to the specified environments + +``` +USAGE + $ csdx cm:bulk-publish:nonlocalized-field-changes cm:entries:publish-non-localized-fields [-a ] [--retry-failed ] + [--bulk-publish ] [--source-env ] [--content-types ] [-e ] [-c ] [-y] [--branch + ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from the + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --retry-failed= Use this option to retry publishing the failed entries from the logfile. Specify the + name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + --source-env= The name of the source environment. + +DESCRIPTION + Publish non-localized fields for the given content types, from a particular source environment to the specified + environments + The non-localized field changes command is used to publish non-localized field changes from the given content types to + the specified environments + + Note: Content types, Environments and Source Environment are required to execute this command successfully. + But, if retryFailed flag is set, then only a logfile is required + +ALIASES + $ csdx cm:bulk-publish:nonlocalized-field-changes + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENV] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure -a [ALIAS]` + + $ csdx cm:entries:publish-non-localized-fields --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-non-localized-fields -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:entries:publish-non-localized-fields --retry-failed [LOG FILE NAME] + + + + Using --branch flag + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENV] --branch [BRANCH NAME] + + + + Using --stack-api-key flag + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENV] +``` + +## `csdx cm:bulk-publish:revert` + +Revert publish operations by using a log file + +``` +USAGE + $ csdx cm:bulk-publish:revert [--retry-failed ] [--log-file ] + +FLAGS + --log-file= Path of the success logfile of a particular publish action. + --retry-failed= (optional) Use this option to retry publishing the failed entries from the logfile. Specify + the name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + +DESCRIPTION + Revert publish operations by using a log file + The revert command is used to revert all publish operations performed using bulk-publish script. + A log file name is required to execute revert command + + +ALIASES + $ csdx cm:bulk-publish:revert + +EXAMPLES + Using --log-file + + cm:bulk-publish:revert --log-file [LOG FILE NAME] + + + + Using --retry-failed + + cm:bulk-publish:revert --retry-failed [LOG FILE NAME] +``` + +## `csdx csdx cm:stacks:unpublish [-a ] [-e ] [-c ] [-y] [--locale ] [--branch ] [--retry-failed ] [--bulk-unpublish ] [--content-type ] [--delivery-token ] [--only-assets] [--only-entries]` + +Unpublish entries or assets of given content types from the specified environment + +``` +USAGE + $ csdx cm:bulk-publish:unpublish csdx cm:stacks:unpublish [-a ] [-e ] [-c ] [-y] [--locale ] + [--branch ] [--retry-failed ] [--bulk-unpublish ] [--content-type ] [--delivery-token + ] [--only-assets] [--only-entries] + +FLAGS + -B, --branch= [default: main] Specify the branch to fetch the content from (default is main branch) + -a, --alias= Alias(name) for the management token + -c, --config= Path to the config file + -e, --environment= Source Environment + -k, --stack-api-key= Stack API key to be used + -l, --locale= Locale filter + -y, --yes Agree to process the command with the current configuration + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-unpublish= [default: true] This flag is set to true by default. It indicates that contentstack's + bulkpublish API will be used to unpublish the entries and assets + --content-type= Content type filter + --delivery-token= The delivery token of the source environment. + --retry-failed= Retry publishing failed entries from the logfile (optional, overrides all other flags) + +DESCRIPTION + Unpublish entries or assets of given content types from the specified environment + The unpublish command is used to unpublish entries or assets from given environment + + Environment (Source Environment) and Locale are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + + A content type can be specified for unpublishing entries, but if no content-type(s) is/are specified and --only-assets + is not used, + then all entries from all content types will be unpublished from the source environment + + Note: --only-assets can be used to unpublish only assets and --only-entries can be used to unpublish only entries. + (--only-assets and --only-entries cannot be used together at the same time) + + +ALIASES + $ csdx cm:bulk-publish:unpublish + +EXAMPLES + General Usage + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] ----delivery-token [DELIVERY TOKEN] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure --alias [ALIAS]` + + $ csdx cm:stacks:unpublish --config [PATH TO CONFIG FILE] + + $ csdx cm:stacks:unpublish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:stacks:unpublish --retry-failed [LOG FILE NAME] + + + + No content type + + $ csdx cm:stacks:unpublish --environment [SOURCE ENV] --locale [LOCALE] (Will unpublish all entries from all content types and assets from the source environment) + + + + Using --only-assets + + $ csdx cm:stacks:unpublish --environment [SOURCE ENV] --locale [LOCALE] --only-assets (Will unpublish only assets from the source environment) + + + + Using --only-entries + + $ csdx cm:stacks:unpublish --environment [SOURCE ENV] --locale [LOCALE] --only-entries (Will unpublish only entries, all entries, from the source environment) + + $ csdx cm:stacks:unpublish --contentType [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --only-entries (Will unpublish only entries, (from CONTENT TYPE) from the source environment) + + + + Using --branch flag + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] --branch [BRANCH NAME] + + + + Using --stack-api-key flag + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN] +``` + +## `csdx cm:entries:publish-only-unpublished [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ]` + +Publish unpublished entries from the source environment, to other environments and locales + +``` +USAGE + $ csdx cm:bulk-publish:unpublished-entries cm:entries:publish-only-unpublished [-a ] [--retry-failed ] [--bulk-publish + ] [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] + [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don't mention the branch name, then by default the entries from main + branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -b, --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. It is true, by + default. + -c, --config= (optional) The path of the optional configuration JSON file containing all the + options for a single run. Refer to the configure command to create a configuration + file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2].. + --content-types=... The UID of the content type(s) whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --locales= Locale in which entries will be published, e.g., en-us + --retry-failed= (optional) Use this option to retry publishing the failed entries from the logfile. It + is optional. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags. + --source-env= The name of the source environment where the entries were initially published. + +DESCRIPTION + Publish unpublished entries from the source environment, to other environments and locales + The publish-only-unpublished command is used to publish unpublished entries from the source environment, to other + environments and locales + + Note: Content type(s), Source Environment, Destination Environment(s) and Source Locale are required to execute the + command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:unpublished-entries + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] -source-env [SOURCE ENV] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure -a [ALIAS]` + + $ csdx cm:entries:publish-only-unpublished --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-only-unpublished -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish-only-unpublished --retry-failed [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] -source-env [SOURCE ENV] + + + + Using --stack-api-key + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --stack-api-key [STACK API KEY] -source-env [SOURCE ENV] +``` + +## `csdx cm:entries:migrate-html-rte` + +Migration script to migrate content from HTML RTE to JSON RTE + +``` +USAGE + $ csdx cm:entries:migrate-html-rte [-c ] [-a ] [--stack-api-key ] [--content-type ] + [--global-field] [-y] [--branch ] [--html-path --json-path ] [--delay ] [--locale + ] [--batch-limit ] + +FLAGS + -a, --alias= Enter the alias name. You must use either the --alias flag or the --stack-api-key flag. + -c, --config-path= Specify the path where your config file is located. + -y, --yes Avoids reconfirmation of your configuration. + --batch-limit= [default: 50] Provide batch limit for updating entries (default: 50). + --branch= The name of the branch to be used. + --content-type= Specify the UID of the content type for which you want to migrate HTML RTE content. + --delay= [default: 1000] To set the interval time between the migration of HTML RTE to JSON RTE in + subsequent entries of a content type. The default value is 1,000 milliseconds. + --global-field Checks whether the specified UID belongs to a content type or a global field. This flag + is set to false by default. + --html-path= Enter the path to the HTML RTE whose content you want to migrate. + --json-path= Enter the path to the JSON RTE to which you want to migrate the HTML RTE content. + --locale= The locale from which entries will be migrated. + --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the --alias + flag. + +DESCRIPTION + Migration script to migrate content from HTML RTE to JSON RTE + +ALIASES + $ csdx cm:migrate-rte + +EXAMPLES + General Usage + + $ csdx cm:entries:migrate-html-rte --config-path path/to/config.json + + + + Using Flags + + $ csdx cm:entries:migrate-html-rte --alias alias --content-type content_type_uid --html-path html-path --json-path json-path + + + + Nested RTE + + $ csdx cm:entries:migrate-html-rte --alias alias --content-type content_type_uid --html-path modular_block_uid.block_uid.html_rte_uid --json-path modular_block_uid.block_uid.json_rte_uid + + + + $ csdx cm:entries:migrate-html-rte --alias alias --content-type content_type_uid --html-path group_uid.html_rte_uid --json-path group_uid.json_rte_uid + + + + Global Field + + $ csdx cm:entries:migrate-html-rte --alias alias --content-type global_field_uid --global-field --html-path html-path --json-path json-path +``` + +_See code: [@contentstack/cli-cm-migrate-rte](https://github.com/contentstack/cli/blob/main/packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js)_ + +## `csdx cm:entries:publish [-a ] [--retry-failed ] [--bulk-publish ] [--publish-all-content-types] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ] [--delivery-token ] [--source-env ] [--entry-uid ] [--include-variants]` + +Publish entries from multiple contenttypes to multiple environments and locales + +``` +USAGE + $ csdx cm:entries:publish [-a ] [--retry-failed ] [--bulk-publish ] [--publish-all-content-types] + [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ] [--delivery-token + ] [--source-env ] [--entry-uid ] [--include-variants] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the + options for a single run. Refer to the configure command to create a configuration + file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. This flag is + set to true, by default. + --content-types=... The UID of the content type(s) whose entries you want to publish in bulk. In case of + multiple content types, specify the IDs separated by spaces. + --delivery-token= The delivery token of the source environment. + --entry-uid= Entry Uid for publish all associated variant entries. + --include-variants Include Variants flag will publish all associated variant entries with base entry. + --publish-all-content-types (optional) Set it to true to bulk publish entries from all content types. If the + --content-types option is already used, then you cannot use this option. + --retry-failed= (optional) Use this option to retry publishing the failed entries/ assets from the + logfile. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags. + --source-env= Source environment + +DESCRIPTION + Publish entries from multiple contenttypes to multiple environments and locales + The publish command is used to publish entries from the specified content types, to the + specified environments and locales + + Note: Content Types, Environments and Locales are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:entries + +EXAMPLES + General Usage + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:publish --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish --retry-failed [LOG FILE NAME] + + $ csdx cm:entries:publish -r [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --source-env + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] + + + + Using --stack-api-key + + $ csdx cm:entries:publish -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] + + + + Using --include-variants + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] [--include-variants] + + + + Using --entry-uid and --include-variants + + $ csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN] --entry-uid [ENTRY UID] [--include-variants] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/publish.js)_ + +## `csdx cm:entries:publish-modified [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ]` + +Publish edited entries from a specified content type to the given locales and environments + +``` +USAGE + $ csdx cm:entries:publish-modified [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] + [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don't mention the branch name, then by default the entries from main + branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment(s) on which the entries will be published. In case of + multiple environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type(s) whose edited entries you want to publish in bulk. In + case of multiple content types, specify the IDs separated by spaces. + --retry-failed= (optional) Use this option to retry publishing the failed entries/assets from the + logfile. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags + --source-env= The name of the source environment where the entries were initially published. + +DESCRIPTION + Publish edited entries from a specified content type to the given locales and environments + The publish-modified command is used to publish entries from the specified content types, to the + specified environments and locales + + Note: Content type(s), Source Environment, Destination Environment(s) and Locale(s) are required to execute the + command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:entry-edits + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:publish-modified --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-modified -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish-modified --retry-failed [LOG FILE NAME] + + $ csdx cm:entries:publish-modified -r [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --stack-api-key + + $ csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -stack-api-key [STACK API KEY] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/publish-modified.js)_ + +## `csdx cm:entries:publish-non-localized-fields [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [-e ] [-c ] [-y] [--branch ]` + +Publish non-localized fields for the given content types, from a particular source environment to the specified environments + +``` +USAGE + $ csdx cm:entries:publish-non-localized-fields [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] + [--content-types ] [-e ] [-c ] [-y] [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from the + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --retry-failed= Use this option to retry publishing the failed entries from the logfile. Specify the + name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + --source-env= The name of the source environment. + +DESCRIPTION + Publish non-localized fields for the given content types, from a particular source environment to the specified + environments + The non-localized field changes command is used to publish non-localized field changes from the given content types to + the specified environments + + Note: Content types, Environments and Source Environment are required to execute this command successfully. + But, if retryFailed flag is set, then only a logfile is required + +ALIASES + $ csdx cm:bulk-publish:nonlocalized-field-changes + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENV] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure -a [ALIAS]` + + $ csdx cm:entries:publish-non-localized-fields --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-non-localized-fields -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:entries:publish-non-localized-fields --retry-failed [LOG FILE NAME] + + + + Using --branch flag + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENV] --branch [BRANCH NAME] + + + + Using --stack-api-key flag + + $ csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENV] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/publish-non-localized-fields.js)_ + +## `csdx cm:entries:publish-only-unpublished [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ]` + +Publish unpublished entries from the source environment, to other environments and locales + +``` +USAGE + $ csdx cm:entries:publish-only-unpublished [-a ] [--retry-failed ] [--bulk-publish ] [--source-env ] + [--content-types ] [--locales ] [-e ] [-c ] [-y] [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don't mention the branch name, then by default the entries from main + branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -b, --bulk-publish= [default: true] Set this flag to use Contentstack's Bulk Publish APIs. It is true, by + default. + -c, --config= (optional) The path of the optional configuration JSON file containing all the + options for a single run. Refer to the configure command to create a configuration + file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2].. + --content-types=... The UID of the content type(s) whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --locales= Locale in which entries will be published, e.g., en-us + --retry-failed= (optional) Use this option to retry publishing the failed entries from the logfile. It + is optional. Specify the name of the logfile that lists failed publish calls. If this + option is used, it will override all other flags. + --source-env= The name of the source environment where the entries were initially published. + +DESCRIPTION + Publish unpublished entries from the source environment, to other environments and locales + The publish-only-unpublished command is used to publish unpublished entries from the source environment, to other + environments and locales + + Note: Content type(s), Source Environment, Destination Environment(s) and Source Locale are required to execute the + command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:unpublished-entries + +EXAMPLES + General Usage + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] -source-env [SOURCE ENV] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure -a [ALIAS]` + + $ csdx cm:entries:publish-only-unpublished --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:publish-only-unpublished -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:publish-only-unpublished --retry-failed [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] -source-env [SOURCE ENV] + + + + Using --stack-api-key + + $ csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --stack-api-key [STACK API KEY] -source-env [SOURCE ENV] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/publish-only-unpublished.js)_ + +## `csdx cm:entries:unpublish` + +Unpublish entries from the given environment + +``` +USAGE + $ csdx cm:entries:unpublish [-a ] [-k ] [-e ] [-c ] [-y] [--locale ] [--branch + ] [--retry-failed ] [--bulk-unpublish ] [--api-version ] [--content-type ] + [--delivery-token ] [--include-variants] + +FLAGS + -a, --alias= Alias (name) for the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) Path to the configuration JSON file containing all options for a single run. + Refer to the configure command to create a configuration file. + -e, --environment= The name of the environment from where entries/assets need to be unpublished. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the --alias + flag. + -y, --yes Set to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --branch= [default: main] Specify the branch to fetch the content. If not mentioned, the main + branch will be used by default. + --bulk-unpublish= [default: true] This flag is set to true by default. It indicates that Contentstack's + Bulk Publish APIs will be used to unpublish the entries. + --content-type= The UID of the content type whose entries you want to unpublish in bulk. + --delivery-token= The delivery token of the source environment. + --include-variants Include Variants flag will unpublish all associated variant entries. + --locale= Locale from which entries/assets will be unpublished, e.g., en-us. + --retry-failed= (optional) Use this option to retry unpublishing the failed entries from the logfile. + Specify the name of the logfile that lists failed unpublish calls. If used, this option + will override all other flags. + +DESCRIPTION + Unpublish entries from the given environment + The unpublish command is used to unpublish entries from the given environment + + Note: Environment (Source Environment) and Locale are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + +EXAMPLES + General Usage + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:bulk-publish:configure --alias [ALIAS]` + + $ csdx cm:stacks:unpublish --config [PATH TO CONFIG FILE] + + $ csdx cm:stacks:unpublish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed flag + + $ csdx cm:stacks:unpublish --retry-failed [LOG FILE NAME] + + + + Using --branch flag + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] --branch [BRANCH NAME] + + + + Using --stack-api-key flag + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN] + + + + Using --include-variants flag + + $ csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN] --include-variants +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/unpublish.js)_ + +## `csdx cm:entries:update-and-publish [-a ] [--retry-failed ] [--bulk-publish ] [--content-types ] [-t ] [-e ] [-c ] [-y] [--locales ] [--branch ]` + +Add fields from updated content types to their respective entries + +``` +USAGE + $ csdx cm:entries:update-and-publish [-a ] [--retry-failed ] [--bulk-publish ] [--content-types ] [-t + ] [-e ] [-c ] [-y] [--locales ] [--branch ] + +FLAGS + -B, --branch= [default: main] The name of the branch where you want to perform the bulk publish + operation. If you don’t mention the branch name, then by default the content from the + main branch will be published. + -a, --alias= Alias (name) of the management token. You must use either the --alias flag or the + --stack-api-key flag. + -c, --config= (optional) The path of the optional configuration JSON file containing all the options + for a single run. Refer to the configure command to create a configuration file. + -e, --environments=... The name of the environment on which entries will be published. In case of multiple + environments, specify their names separated by spaces. + -k, --stack-api-key= API key of the source stack. You must use either the --stack-api-key flag or the + --alias flag. + -l, --locales=... Locales in which entries will be published, e.g., en-us. In the case of multiple + locales, specify the codes separated by spaces. + -t, --contentTypes=... The Contenttypes from which entries will be published. + -y, --yes Set it to true to process the command with the current configuration. + --api-version= API version to be used. Values [Default: 3, Nested Reference Publishing: 3.2]. + --bulk-publish= [default: true] Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by + default. + --content-types=... The UID of the content type ID whose entries you want to publish in bulk. In case of + multiple content types, specify their IDs separated by spaces. + --force Update and publish all entries even if no fields have been added. + --retry-failed= Use this option to retry publishing the failed entries from the logfile. Specify the + name of the logfile that lists failed publish calls. If this option is used, it will + override all other flags. + +DESCRIPTION + Add fields from updated content types to their respective entries + The update-and-publish command is used to update existing entries with the updated schema of the respective content + type + + Note: Content types, Environments and Locales are required to execute the command successfully + But, if retry-failed flag is set, then only a logfile is required + + +ALIASES + $ csdx cm:bulk-publish:add-fields + +EXAMPLES + General Usage + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] + + + + Using --config or -c flag + + Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]` + + $ csdx cm:entries:update-and-publish --config [PATH TO CONFIG FILE] + + $ csdx cm:entries:update-and-publish -c [PATH TO CONFIG FILE] + + + + Using --retry-failed + + $ csdx cm:entries:update-and-publish --retry-failed [LOG FILE NAME] + + + + Using --branch + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] + + + + Using --stack-api-key + + $ csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] +``` + +_See code: [@contentstack/cli-cm-bulk-publish](https://github.com/contentstack/cli/blob/main/packages/contentstack-bulk-publish/src/commands/cm/entries/update-and-publish.js)_ + +## `csdx cm:stacks:export [-c ] [-k ] [-d ] [-a ] [--module ] [--content-types ] [--branch ] [--secured-assets]` + +Export content from a stack + +``` +USAGE + $ csdx cm:export cm:stacks:export [-c ] [-k ] [-d ] [-a ] [--module ] + [--content-types ] [--branch ] [--secured-assets] + +FLAGS + -B, --branch= [optional] The name of the branch where you want to export your content. If you don't + mention the branch name, then by default the content will be exported from all the + branches of your stack. + -a, --alias= The management token alias of the source stack from which you will export content. + -c, --config= [optional] Path of the config + -d, --data-dir= The path or the location in your file system to store the exported content. For e.g., + ./content + -k, --stack-api-key= API Key of the source stack + -m, --module= [optional] Specific module name. If not specified, the export command will export all + the modules to the stack. The available modules are assets, content-types, entries, + environments, extensions, marketplace-apps, global-fields, labels, locales, webhooks, + workflows, custom-roles, taxonomies, and studio. + -t, --content-types=... [optional] The UID of the content type(s) whose content you want to export. In case + of multiple content types, specify the IDs separated by spaces. + -y, --yes [optional] Force override all Marketplace prompts. + --branch-alias= (Optional) The alias of the branch from which you want to export content. + --secured-assets [optional] Use this flag for assets that are secured. + +DESCRIPTION + Export content from a stack + +ALIASES + $ csdx cm:export + +EXAMPLES + $ csdx cm:stacks:export --stack-api-key --data-dir + + $ csdx cm:stacks:export --config + + $ csdx cm:stacks:export --alias + + $ csdx cm:stacks:export --alias --data-dir + + $ csdx cm:stacks:export --alias --config + + $ csdx cm:stacks:export --module + + $ csdx cm:stacks:export --branch [optional] branch name +``` + +>>>>>>> development ## `csdx cm:export-to-csv` Export entries, taxonomies, terms or organization users to csv using this command @@ -1876,10 +3344,11 @@ Launch related operations ``` USAGE $ csdx launch [-d ] [-c ] [--type GitHub|FileUpload] [--framework Gatsby|NextJs|CRA (Create - React App)|CSR (Client-Side Rendered)|Angular|Nuxt|VueJs|Remix|Other] [--org ] [-n ] [-e ] - [--branch ] [--build-command ] [--out-dir ] [--server-command ] [--variable-type Import - variables from a stack|Manually add custom variables to the list|Import variables from the .env.local file|Skip - adding environment variables...] [-a ] [--env-variables ] [--redeploy-latest] [--redeploy-last-upload] + React App)|CSR (Client-Side Rendered)|Analog|Angular|Nuxt|Astro|VueJs|Remix|Other] [--org ] [-n ] [-e + ] [--branch ] [--build-command ] [--out-dir ] [--server-command ] + [--variable-type Import variables from a stack|Manually add custom variables to the list|Import variables from the + .env.local file|Skip adding environment variables...] [-a ] [--env-variables ] [--redeploy-latest] + [--redeploy-last-upload] FLAGS -a, --alias= [optional] Alias (name) for the delivery token. @@ -1893,7 +3362,7 @@ FLAGS comma. For example: APP_ENV:prod, TEST_ENV:testVal. --framework=