Skip to content

Commit 8e305a9

Browse files
author
naman-contentstack
committed
Merge branch 'v2-dev' into feat/DX-8625
2 parents ebdc2ae + e32d7d5 commit 8e305a9

111 files changed

Lines changed: 31436 additions & 165 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release-v2-beta-plugins.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,14 @@ jobs:
135135
package: ./packages/contentstack-branches/package.json
136136
tag: beta
137137

138+
# Apps CLI
139+
- name: Publishing apps-cli (Production)
140+
uses: JS-DevTools/npm-publish@v3
141+
with:
142+
token: ${{ secrets.NPM_TOKEN }}
143+
package: ./packages/contentstack-apps-cli/package.json
144+
tag: latest
145+
138146
# Query Export
139147
- name: Publishing query-export (Beta)
140148
uses: JS-DevTools/npm-publish@v3
@@ -183,6 +191,22 @@ jobs:
183191
package: ./packages/contentstack-migrate-rte/package.json
184192
access: public
185193
tag: beta
194+
# External Migrate
195+
- name: Publishing external-migrate (Production)
196+
uses: JS-DevTools/npm-publish@v3
197+
with:
198+
token: ${{ secrets.NPM_TOKEN }}
199+
package: ./packages/contentstack-external-migrate/package.json
200+
tag: latest
201+
202+
- name: Create Production Release
203+
id: create_release
204+
env:
205+
GITHUB_TOKEN: ${{ secrets.PKG_TOKEN }}
206+
VERSION: ${{ steps.publish-plugins.outputs.version }}
207+
run: |
208+
# Get the previous production release for comparison
209+
PREVIOUS_PROD=$(gh release list --limit 10 | grep -v 'prerelease' | head -1 | cut -f1)
186210
187211
# Bulk Operations
188212
- name: Publishing bulk-operations (Beta)

.talismanrc

Lines changed: 70 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,72 @@
11
fileignoreconfig:
2-
- filename: packages/contentstack-asset-management/src/export/base.ts
3-
checksum: a74fe9f5b20f7c0636d571062bce1f12d4078a0354d23fb6879b13c316a2fa06
4-
- filename: packages/contentstack-asset-management/test/unit/export/assets.test.ts
5-
checksum: bafd24cb0e809fd9510a876a8e9fe53ff616f1dbc9df49bb797f6bcff433ccb7
6-
- filename: packages/contentstack-asset-management/src/export/assets.ts
7-
checksum: c4f129138b2b9f3130de8db2a937ce4ae1a2ab30c1b5d9c07652790f0996f757
8-
- filename: packages/contentstack-asset-management/src/utils/cs-assets-api-adapter.ts
9-
checksum: 880c3661cc523c113779748b257386f5f18e6e556f11476150bd5f01f7461186
2+
- filename: pnpm-lock.yaml
3+
checksum: 7ec6345eb15ed0be001753ee49733421a8a07096dc8a18465cdad1b82562fed8
4+
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful.service.ts
5+
checksum: e710b7fbad0a413403de9b937bcc98a9cc84a2d6a920a836ddfa78706b959822
6+
- filename: packages/contentstack-external-migrate/src/services/contentful/extension.service.ts
7+
checksum: 1c0c95059828ccecc2e2f6bc5a377eb37a6e879a2bc2605943857a0bbfd37aad
8+
- filename: packages/contentstack-external-migrate/src/services/contentful/app/index.json
9+
checksum: 508b3ef2dfcabcba03bb85b2716c1690a2a693254cf7605978d909006dd52028
10+
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/utils/apps/appDetails.json
11+
checksum: a80c6dfcb90b6a964e604b47699dee694b1dd93630e69859c04bdd41a0f4a7c0
12+
- filename: packages/contentstack-external-migrate/src/adapters/contentful/validator.ts
13+
checksum: c42584ad1a31a2cc085871eb62cd29c41c350b4f5ec51153e95f1279097f9b59
14+
- filename: packages/contentstack-external-migrate/docs/phases/phase-3-import.md
15+
checksum: 188c1a2b310f15b53608e97f4273e42296a87a20e3e03c0030c2140b873cc809
16+
- filename: packages/contentstack-external-migrate/docs/phases/phase-2-audit.md
17+
checksum: 8aa4d20af2def7b9afec9f3be7cfa269095dd92be015c6dd16774a27b13f4a65
18+
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/libs/createInitialMapper.js
19+
checksum: 7431b4ea396ca3ad670c380108b4bf2061f45526fd36161096dd4dd46b4b6f8b
20+
- filename: packages/contentstack-content-type/README.md
21+
checksum: 98d40148ee2170a2c420713d9af49f4076b6b9a1fbd2847856a31779edf6eb90
22+
- filename: packages/contentstack-external-migrate/docs/phases/phase-5-manifest-and-review.md
23+
checksum: e7ea9d0095b38ed4722456d20560256eb9b7362e452929ba30925c5c66212415
24+
- filename: packages/contentstack-external-migrate/docs/phases/phase-4-export.md
25+
checksum: afb2edadd487e28d2ecc4ff837703dd654394c0469bc70a848e98b07bb934141
26+
- filename: packages/contentstack-external-migrate/docs/manifest-schema.md
27+
checksum: 96e188eb1cbb29d1ee3206634ac6a8cd4243c72cf42019cbb848e0e6e83c2b5f
28+
- filename: packages/contentstack-external-migrate/src/commands/migrate/status.ts
29+
checksum: 316f723f0ec85b99f4b631f35e0acbbc1c80baec0cece8fc930243c4bb9ccbfd
30+
- filename: packages/contentstack-external-migrate/docs/implementation-principles.md
31+
checksum: 2a96dfbe9270fd50c42f781a40cbdf674d12d7f00784d4bd8640f3064b0d319f
32+
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/roles.ts
33+
checksum: 149d43d9348bf970339297b73bf66ead41efafc51ef1881b147845b4893976ad
34+
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/taxonomy.service.ts
35+
checksum: 6bc4638c31b5e4a87f26033b5bbea7404594e4fabc25447c8e76ec3b8b7602bb
36+
- filename: packages/contentstack-external-migrate/src/services/contentful/utils/index.ts
37+
checksum: cbc04052ad999e5a2ec6fbcbcd4e1df388d8c3575ffbd8370764934892477b0f
38+
- filename: packages/contentstack-external-migrate/test/commands/migrate/audit.test.ts
39+
checksum: 0daa06c38f5b5879cf9e5854c96f5ee4976524b2de5ff3e62c64b0e28239e508
40+
- filename: packages/contentstack-external-migrate/test/commands/migrate/import.test.ts
41+
checksum: e931a9cb89e9cb6ce384e0ae0218b5e9df3d8631caea5997cdab4e007b6d9d9a
42+
- filename: packages/contentstack-external-migrate/src/services/contentful/migration-contentful/libs/contentTypeMapper.js
43+
checksum: 02e0f6cce67b4e070134b3908ce44c063e12133e88c373785bb414eb93e1a9ea
44+
- filename: packages/contentstack-external-migrate/src/services/contentful/marketplace.service.ts
45+
checksum: 0f6b8c3bd68093b0e42bf2bf4345321f99e9dda7eafc233a79c296257641950a
46+
- filename: packages/contentstack-external-migrate/src/services/contentful/users.ts
47+
checksum: 86dce671e996019419256dbb5ebd8d927392715cdecda3a44e2d2315ac13adbe
48+
- filename: packages/contentstack-external-migrate/test/lib/manifest.test.ts
49+
checksum: 1e80e263e06653dfd967779696b243582fe2aefc89084a2d05499807fec49e37
50+
- filename: packages/contentstack-external-migrate/src/adapters/contentful/convert.ts
51+
checksum: 0c7cd556f5a7104bfac80f5933f3ce8f61349648462aa80e456db0390cd8491d
52+
- filename: packages/contentstack-import/src/import/modules/webhooks.ts
53+
checksum: 94fd7c4faaa39663300330341ca1b5680ad46299b0577819230654010c6436f3
54+
- filename: packages/contentstack-external-migrate/src/lib/manifest.ts
55+
checksum: 6674d08800ae8b3a657f7506cf7e6906b8b952ea90b50240d0314b7cb82d7d47
56+
- filename: packages/contentstack-import/test/unit/import/modules/webhooks.test.ts
57+
checksum: 678ffef4174ebc102878ac319990ab2d9b4168e5953e39441625dee2c11e7f53
58+
- filename: packages/contentstack-external-migrate/src/lib/conversion-summary.ts
59+
checksum: 05303adaed06435152ff69f022b2282faec63b53b36c404555c806cc808d5efa
60+
- filename: packages/contentstack-external-migrate/src/services/contentful/content-type-creator.ts
61+
checksum: 653a7e0443f6b9712ed91ad45aa4189864bee710ea4bd3ac40031225da4da5a5
62+
- filename: packages/contentstack-external-migrate/docs/architecture.md
63+
checksum: 0c157fef081918197a1213c8dbb1f07fd0d1313eaf90d18ddee335c0685db7b1
64+
- filename: packages/contentstack-external-migrate/src/commands/migrate/import.ts
65+
checksum: b1749716d8555d8a5af23c32a1b8ee8b39fa2b3dd0c51aff77f814e9766f8a92
66+
- filename: packages/contentstack-external-migrate/src/services/contentful/contentful/jsonRTE.ts
67+
checksum: f19ae1132a29a93bb2e027366ab495ada1928afc9e7acd21fc7dc0cb774bc46e
68+
- filename: packages/contentstack-external-migrate/src/lib/create-stack.ts
69+
checksum: e38b3286c9091a40d3f6ce24e2b0215c9c26457591d269f886a6a27cfbeca402
70+
- filename: packages/contentstack-external-migrate/src/commands/migrate/create.ts
71+
checksum: 29dece984996d02fac42520335529071c619ee14d293a95a732c1811fe739f41
1072
version: '1.0'

packages/contentstack-apps-cli/src/util/common-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ function fetchAppInstallations(
120120
flags: FlagInput,
121121
orgUid: string,
122122
options: MarketPlaceOptions
123-
) {
123+
): Promise<any> {
124124
const { marketplaceSdk } = options;
125125
const app: any = flags["app-uid"];
126126
return marketplaceSdk
@@ -218,7 +218,7 @@ function uninstallApp(
218218
orgUid: string,
219219
options: MarketPlaceOptions,
220220
installationUid: string
221-
) {
221+
): Promise<any> {
222222
const { marketplaceSdk } = options;
223223
// const app: any = flags["app-uid"];
224224
return marketplaceSdk
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# @contentstack/cli-asset-management
2+
3+
Asset Management 2.0 API adapter for Contentstack CLI export and import. Used by the export and import plugins when Asset Management (AM 2.0) is enabled. To learn how to export and import content in Contentstack, refer to the [Migration guide](https://www.contentstack.com/docs/developers/cli/migration/).
4+
5+
[![License](https://img.shields.io/npm/l/@contentstack/cli)](https://github.com/contentstack/cli/blob/main/LICENSE)
6+
7+
<!-- toc -->
8+
* [@contentstack/cli-asset-management](#contentstackcli-asset-management)
9+
* [Overview](#overview)
10+
* [Usage](#usage)
11+
* [Exports](#exports)
12+
<!-- tocstop -->
13+
14+
# Overview
15+
16+
This package provides:
17+
18+
- **AssetManagementAdapter** – HTTP client for the Asset Management API (spaces, assets, folders, fields, asset types).
19+
- **exportSpaceStructure** – Exports space metadata and full workspace structure (metadata, folders, assets, fields, asset types) for linked workspaces.
20+
- **Types**`AssetManagementExportOptions`, `LinkedWorkspace`, `IAssetManagementAdapter`, and related types for export/import integration.
21+
22+
# Usage
23+
24+
This package is consumed by the export and import plugins. When using the export CLI with the `--asset-management` flag (or when the host app enables AM 2.0), the export plugin calls `exportSpaceStructure` with linked workspaces and options:
25+
26+
```ts
27+
import { exportSpaceStructure } from '@contentstack/cli-asset-management';
28+
29+
await exportSpaceStructure({
30+
linkedWorkspaces,
31+
exportDir,
32+
branchName: 'main',
33+
assetManagementUrl,
34+
org_uid,
35+
context,
36+
progressManager,
37+
progressProcessName,
38+
updateStatus,
39+
downloadAsset, // optional
40+
});
41+
```
42+
43+
# Exports
44+
45+
| Export | Description |
46+
|--------|-------------|
47+
| `exportSpaceStructure` | Async function to export space structure for given linked workspaces. |
48+
| `AssetManagementAdapter` | Class to call the Asset Management API (getSpace, getWorkspaceFields, getWorkspaceAssets, etc.). |
49+
| Types from `./types` | `AssetManagementExportOptions`, `ExportSpaceOptions`, `ChunkedJsonWriteOptions`, `LinkedWorkspace`, `SpaceResponse`, `FieldsResponse`, `AssetTypesResponse`, and related API types. |

packages/contentstack-asset-management/src/import/workspaces.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,6 @@ export default class ImportWorkspace extends CSAssetsImportAdapter {
6666
assetsImporter.setProcessName(spaceProcessName);
6767
}
6868

69-
// Map source default space → existing target default space (cross-org migration).
70-
// The caller supplies the uid of the pre-existing target default space; we upload
71-
// source assets into it instead of creating a new space.
72-
if (isDefault && targetDefaultSpaceUid) {
73-
const newSpaceUid = targetDefaultSpaceUid;
74-
const resolvedWorkspaceUid = targetDefaultWorkspaceUid ?? workspaceUid;
75-
log.info(
76-
`Source default space "${oldSpaceUid}" mapped to existing target default space "${newSpaceUid}".`,
77-
this.importContext.context,
78-
);
79-
const { uidMap, urlMap } = await assetsImporter.start(newSpaceUid, spaceDir);
80-
return { oldSpaceUid, newSpaceUid, workspaceUid: resolvedWorkspaceUid, isDefault: true, uidMap, urlMap };
81-
}
82-
8369
// Reuse: target org already has a space with the same uid as the export directory.
8470
if (existingSpaceUids.has(oldSpaceUid)) {
8571
log.info(
@@ -100,6 +86,20 @@ export default class ImportWorkspace extends CSAssetsImportAdapter {
10086
urlMap,
10187
};
10288
}
89+
90+
// Map source default space → existing target default space (cross-org migration).
91+
// The caller supplies the uid of the pre-existing target default space; we upload
92+
// source assets into it instead of creating a new space.
93+
if (isDefault && targetDefaultSpaceUid) {
94+
const newSpaceUid = targetDefaultSpaceUid;
95+
const resolvedWorkspaceUid = targetDefaultWorkspaceUid ?? workspaceUid;
96+
log.info(
97+
`Source default space "${oldSpaceUid}" mapped to existing target default space "${newSpaceUid}".`,
98+
this.importContext.context,
99+
);
100+
const { uidMap, urlMap } = await assetsImporter.start(newSpaceUid, spaceDir);
101+
return { oldSpaceUid, newSpaceUid, workspaceUid: resolvedWorkspaceUid, isDefault: true, uidMap, urlMap };
102+
}
103103

104104
// Create new space with exact exported title
105105
log.debug(`Creating space "${exportedTitle}" (old uid: ${oldSpaceUid})`, this.importContext.context);

0 commit comments

Comments
 (0)