Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 68 additions & 2 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,70 @@
fileignoreconfig:
- filename: pnpm-lock.yaml
checksum: 07642e8dd04d580185a459e5b088d8a1bb4e91be4e04f4842bf4fe4775205bf6
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful.service.ts
checksum: e710b7fbad0a413403de9b937bcc98a9cc84a2d6a920a836ddfa78706b959822
- filename: packages/contentstack-external-migrate/src/services/contentful/extension.service.ts
checksum: 1c0c95059828ccecc2e2f6bc5a377eb37a6e879a2bc2605943857a0bbfd37aad
- filename: packages/contentstack-external-migrate/src/services/contentful/app/index.json
checksum: 508b3ef2dfcabcba03bb85b2716c1690a2a693254cf7605978d909006dd52028
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/utils/apps/appDetails.json
checksum: a80c6dfcb90b6a964e604b47699dee694b1dd93630e69859c04bdd41a0f4a7c0
- filename: packages/contentstack-external-migrate/docs/manifest-schema.md
checksum: 96e188eb1cbb29d1ee3206634ac6a8cd4243c72cf42019cbb848e0e6e83c2b5f
- filename: packages/contentstack-external-migrate/docs/implementation-principles.md
checksum: 2a96dfbe9270fd50c42f781a40cbdf674d12d7f00784d4bd8640f3064b0d319f
- filename: packages/contentstack-external-migrate/test/commands/migrate/audit.test.ts
checksum: 0daa06c38f5b5879cf9e5854c96f5ee4976524b2de5ff3e62c64b0e28239e508
- filename: packages/contentstack-external-migrate/test/commands/migrate/import.test.ts
checksum: e931a9cb89e9cb6ce384e0ae0218b5e9df3d8631caea5997cdab4e007b6d9d9a
- filename: packages/contentstack-external-migrate/src/services/contentful/users.ts
checksum: 86dce671e996019419256dbb5ebd8d927392715cdecda3a44e2d2315ac13adbe
- filename: packages/contentstack-external-migrate/src/services/contentful/utils/index.ts
checksum: cbc04052ad999e5a2ec6fbcbcd4e1df388d8c3575ffbd8370764934892477b0f
- filename: packages/contentstack-import/src/import/modules/webhooks.ts
checksum: 8c9527f966fe24debfb36d96a280ac3b2dd6494a58128380c69d7475e595436d
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/jsonRTE.ts
checksum: f19ae1132a29a93bb2e027366ab495ada1928afc9e7acd21fc7dc0cb774bc46e
- filename: packages/contentstack-external-migrate/docs/phases/phase-4-export.md
checksum: afb2edadd487e28d2ecc4ff837703dd654394c0469bc70a848e98b07bb934141
- filename: packages/contentstack-external-migrate/docs/phases/phase-5-manifest-and-review.md
checksum: e7ea9d0095b38ed4722456d20560256eb9b7362e452929ba30925c5c66212415
- filename: packages/contentstack-import/test/unit/import/modules/webhooks.test.ts
checksum: 3924a3e38211b8554f25365fe3100cb83361d03370fdaa77e5c7f9e74abafcee
- filename: packages/contentstack-external-migrate/docs/phases/phase-3-import.md
checksum: 188c1a2b310f15b53608e97f4273e42296a87a20e3e03c0030c2140b873cc809
- filename: packages/contentstack-external-migrate/docs/phases/phase-2-audit.md
checksum: 8aa4d20af2def7b9afec9f3be7cfa269095dd92be015c6dd16774a27b13f4a65
- filename: packages/contentstack-external-migrate/src/services/contentful/marketplace.service.ts
checksum: 0f6b8c3bd68093b0e42bf2bf4345321f99e9dda7eafc233a79c296257641950a
- filename: packages/contentstack-external-migrate/test/lib/manifest.test.ts
checksum: 1e80e263e06653dfd967779696b243582fe2aefc89084a2d05499807fec49e37
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/roles.ts
checksum: 149d43d9348bf970339297b73bf66ead41efafc51ef1881b147845b4893976ad
- filename: packages/contentstack-external-migrate/src/lib/conversion-summary.ts
checksum: 05303adaed06435152ff69f022b2282faec63b53b36c404555c806cc808d5efa
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/taxonomy.service.ts
checksum: 6bc4638c31b5e4a87f26033b5bbea7404594e4fabc25447c8e76ec3b8b7602bb
- filename: packages/contentstack-external-migrate/src/adapters/contentful/validator.ts
checksum: c42584ad1a31a2cc085871eb62cd29c41c350b4f5ec51153e95f1279097f9b59
- filename: packages/contentstack-external-migrate/docs/architecture.md
checksum: 0c157fef081918197a1213c8dbb1f07fd0d1313eaf90d18ddee335c0685db7b1
- filename: packages/contentstack-external-migrate/src/adapters/contentful/convert.ts
checksum: 0c7cd556f5a7104bfac80f5933f3ce8f61349648462aa80e456db0390cd8491d
- filename: packages/contentstack-external-migrate/src/commands/migrate/status.ts
checksum: 316f723f0ec85b99f4b631f35e0acbbc1c80baec0cece8fc930243c4bb9ccbfd
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/libs/createInitialMapper.js
checksum: 7431b4ea396ca3ad670c380108b4bf2061f45526fd36161096dd4dd46b4b6f8b
- filename: packages/contentstack-external-migrate/src/commands/migrate/import.ts
checksum: b1749716d8555d8a5af23c32a1b8ee8b39fa2b3dd0c51aff77f814e9766f8a92
- filename: packages/contentstack-external-migrate/src/lib/manifest.ts
checksum: 6674d08800ae8b3a657f7506cf7e6906b8b952ea90b50240d0314b7cb82d7d47
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/libs/contentTypeMapper.js
checksum: 02e0f6cce67b4e070134b3908ce44c063e12133e88c373785bb414eb93e1a9ea
- filename: packages/contentstack-external-migrate/src/lib/create-stack.ts
checksum: e38b3286c9091a40d3f6ce24e2b0215c9c26457591d269f886a6a27cfbeca402
- filename: packages/contentstack-external-migrate/src/commands/migrate/create.ts
checksum: 29dece984996d02fac42520335529071c619ee14d293a95a732c1811fe739f41
- filename: packages/contentstack-external-migrate/src/services/contentful/content-type-creator.ts
checksum: 653a7e0443f6b9712ed91ad45aa4189864bee710ea4bd3ac40031225da4da5a5
- filename: pnpm-lock.yaml
checksum: 07642e8dd04d580185a459e5b088d8a1bb4e91be4e04f4842bf4fe4775205bf6
version: '1.0'
3 changes: 2 additions & 1 deletion packages/contentstack-bulk-publish/.mocharc.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"test/unit/commands/assets/unpublish.test.js",
"test/unit/commands/bulk-publish/cross-publish.test.js",
"test/unit/commands/entries/publish.test.js",
"test/unit/commands/entries/unpublish.test.js"
"test/unit/commands/entries/unpublish.test.js",
"test/unit/util/asset-scan.test.js"
],
"reporter": "dot",
"timeout": 60000,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ class AssetsPublishCommand extends Command {
assetsFlags.folderUid = assetsFlags['folder-uid'] || assetsFlags.folderUid;
assetsFlags.bulkPublish = assetsFlags['bulk-publish'] || assetsFlags.bulkPublish;
assetsFlags.apiVersion = assetsFlags['api-version'] || '3'; // setting default value for apiVersion
assetsFlags.dataDir = assetsFlags['data-dir'] || assetsFlags.dataDir;
delete assetsFlags['api-version'];
delete assetsFlags['retry-failed'];
delete assetsFlags['folder-uid'];
delete assetsFlags['bulk-publish'];
delete assetsFlags['data-dir'];

let updatedFlags;
try {
Expand Down Expand Up @@ -111,12 +113,18 @@ class AssetsPublishCommand extends Command {
}
}

validate({ environments, retryFailed, locales, 'source-env': sourceEnv, 'delivery-token': deliveryToken }) {
validate({ environments, retryFailed, locales, dataDir, 'source-env': sourceEnv, 'delivery-token': deliveryToken }) {
let missing = [];
if (retryFailed) {
return true;
}

// In data-dir mode, environments and locales are derived per-asset from the
// backup publish_details, so they are not required on the command line.
if (dataDir) {
return true;
}

if (sourceEnv && !deliveryToken) {
this.error('Specify the source environment delivery token. Run --help for more details.', { exit: 2 });
}
Expand Down Expand Up @@ -181,6 +189,11 @@ AssetsPublishCommand.flags = {
'(optional) The UID of the Assets’ folder from which the assets need to be published. The default value is cs_root.',
exclusive: ['source-env'],
}),
'data-dir': flags.string({
description:
'(optional) Path to the import backup directory. When set, each imported asset is published only to the environments and locales it was published to in the source stack (read from the backup’s publish details and asset UID mapping), with asset-scan gating applied. Intended for the post-import publish flow.',
exclusive: ['source-env', 'folder-uid'],
}),
'bulk-publish': flags.string({
description: 'Set this flag to use Contentstack’s Bulk Publish APIs. It is true, by default.',
default: 'true',
Expand Down Expand Up @@ -259,11 +272,14 @@ AssetsPublishCommand.examples = [
'',
'Using --stack-api-key flag',
'csdx cm:assets:publish --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE] --stack-api-key [STACK API KEY]',
'',
'Using --data-dir flag (publish imported assets to their original environments after asset scanning)',
'csdx cm:assets:publish --data-dir [PATH TO IMPORT BACKUP DIR] --stack-api-key [STACK API KEY]',
];

AssetsPublishCommand.aliases = ['cm:bulk-publish:assets'];

AssetsPublishCommand.usage =
'cm:assets:publish [-a <value>] [--retry-failed <value>] [-e <value>] [--folder-uid <value>] [--bulk-publish <value>] [-c <value>] [-y] [--locales <value>] [--branch <value>] [--delivery-token <value>] [--source-env <value>]';
'cm:assets:publish [-a <value>] [--retry-failed <value>] [-e <value>] [--folder-uid <value>] [--data-dir <value>] [--bulk-publish <value>] [-c <value>] [-y] [--locales <value>] [--branch <value>] [--delivery-token <value>] [--source-env <value>]';

module.exports = AssetsPublishCommand;
Loading
Loading