Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
172ab6a
Merge pull request #193 from contentstack/development
harshitha-cstk Jun 1, 2026
2123937
Update release-production-plugins.yml
harshitha-cstk Jun 1, 2026
903418f
Merge pull request #203 from contentstack/fix/release-workflow
harshitha-cstk Jun 1, 2026
205b344
Merge pull request #205 from contentstack/main
harshitha-cstk Jun 1, 2026
e64f9e7
feat: add pagination and test cases for AM package
Jun 4, 2026
1352322
refactor: move default space mapping logic to correct position in imp…
Jun 6, 2026
06dbdec
chore: fix test cases
Jun 7, 2026
a798a61
Merge branch 'v2-dev' into feat/DX-8625
Jun 7, 2026
0decc23
Merge pull request #215 from contentstack/v2-beta
naman-contentstack Jun 8, 2026
ccf0a90
Merge branch 'v2-dev' into feat/DX-8625
Jun 9, 2026
0f608ad
Merge branch 'v2-dev' into fix/import_space_bug
naman-contentstack Jun 9, 2026
6c8a833
revert: readme file
Jun 9, 2026
6744e15
Fixed issue for import skipping webhooks more than 5
netrajpatel Jun 9, 2026
8439e35
Merge pull request #211 from contentstack/fix/import_space_bug
naman-contentstack Jun 9, 2026
baaca81
Merge branch 'development' into fix/dx-8777
netrajpatel Jun 10, 2026
96ac7b6
Update README.md
dhaval-jain-cstk Jun 10, 2026
6fec30c
Merge pull request #216 from contentstack/fix/dx-8777
netrajpatel Jun 10, 2026
7d020d2
Introduced a new plugin - contentstack/cli-external-migrate
netrajpatel Jun 10, 2026
c97dbe3
Add publishing step for external-migrate plugin in production workflow
Jun 10, 2026
ff72d50
updated lockfile
netrajpatel Jun 10, 2026
6f5e671
updated command name
netrajpatel Jun 10, 2026
c1d23df
Updated command
netrajpatel Jun 10, 2026
47d8e8e
Reverted command name from external:migrate to migrate
netrajpatel Jun 10, 2026
8cc80f6
Merge pull request #219 from contentstack/feat/externl-migrate-plugin
netrajpatel Jun 10, 2026
2ca8ba7
Update release tag from latest to alpha for contentstack-external-mig…
Jun 10, 2026
5ca9118
Merge pull request #221 from contentstack/fix/update-release-tag
naman-contentstack Jun 10, 2026
6ebf520
Merge pull request #220 from contentstack/development
netrajpatel Jun 10, 2026
6a9f78f
Add public access to alpha release tag for contentstack-external-migr…
Jun 10, 2026
a805d11
Merge branch 'main' into fix/update-release-tag
netrajpatel Jun 10, 2026
a1c9ef7
Merge pull request #222 from contentstack/fix/update-release-tag
netrajpatel Jun 10, 2026
790187b
Updated management token to source token
netrajpatel Jun 10, 2026
965dbb9
Merge pull request #224 from contentstack/chore/flag-name-change
naman-contentstack Jun 10, 2026
a911574
Updated readme
netrajpatel Jun 10, 2026
d7ecad1
Merge branch 'main' into chore/flag-name-change
naman-contentstack Jun 10, 2026
65ab218
Update README.md
Aravind-Kumar-cstk Jun 10, 2026
b9ea6b5
Merge pull request #228 from contentstack/chore/flag-name-change
Aravind-Kumar-cstk Jun 10, 2026
0bf09fb
Merge pull request #229 from contentstack/main
naman-contentstack Jun 11, 2026
e4b512f
Merge branch 'development' into fix/back-merge-dev
Jun 11, 2026
9475887
chore: update lockfile
Jun 11, 2026
e32d7d5
Merge pull request #230 from contentstack/fix/back-merge-dev
naman-contentstack Jun 11, 2026
3e57fa8
chore: update logic to stay consistent with CLI export package
Jun 11, 2026
ebdc2ae
feat: add retry mechanism for transient HTTP errors
Jun 11, 2026
8e305a9
Merge branch 'v2-dev' into feat/DX-8625
Jun 12, 2026
512423d
chore: update lockfile
Jun 12, 2026
7c84381
Bumps the minimum supported Node.js version from >=18.0.0 (and variou…
cs-raj Jun 24, 2026
8f0bc84
Lock file update
cs-raj Jun 24, 2026
90a0c87
upgrade eslint to v10
harshitha-cstk Jun 24, 2026
7c17d34
Merge pull request #240 from contentstack/fix/DX-9300
cs-raj Jun 24, 2026
0739547
Merge branch 'v2-dev' into enh/dx-9299-eslint-upgrade
harshitha-cstk Jun 24, 2026
dc1ec4a
add eslint.config.js file
harshitha-cstk Jun 24, 2026
33d0233
remove eslintrc and eslintignore files
harshitha-cstk Jun 24, 2026
2c570c0
add eslintrc.js for cli-tsgen and external migrate packages
harshitha-cstk Jun 24, 2026
fb5eb2a
Updated posttest and lint scripts in package.json files
harshitha-cstk Jun 24, 2026
d382dbe
update eslint config
harshitha-cstk Jun 24, 2026
5e2aec5
update eslint config
harshitha-cstk Jun 24, 2026
2c6781e
update eslint config
harshitha-cstk Jun 24, 2026
68e8c5a
Merge pull request #241 from contentstack/enh/dx-9299-eslint-upgrade
harshitha-cstk Jun 24, 2026
eaa18a6
Merge v2-dev in feat/DX-8625
Jun 26, 2026
13237c7
chore: update lockfile
Jun 29, 2026
738be48
Merge pull request #209 from contentstack/feat/DX-8625
naman-contentstack Jun 29, 2026
19c5041
fix(regex-validate): remove eslint-config-oclif-typescript from flat …
cs-raj Jun 29, 2026
d25ad18
lock file update
cs-raj Jun 29, 2026
0bd4b21
Merge pull request #253 from contentstack/fix/dev
cs-raj Jun 29, 2026
fa179b3
version bump
harshitha-cstk Jun 29, 2026
aea8fd2
update pnpm lock file
harshitha-cstk Jun 29, 2026
da53c1f
Merge branch 'v2-dev' into fix/version-bump-v2
harshitha-cstk Jun 29, 2026
1f1b75b
Merge pull request #254 from contentstack/fix/version-bump-v2
harshitha-cstk Jun 29, 2026
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
25 changes: 25 additions & 0 deletions .github/workflows/release-v2-beta-plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,14 @@ jobs:
package: ./packages/contentstack-branches/package.json
tag: beta

# Apps CLI
- name: Publishing apps-cli (Production)
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
package: ./packages/contentstack-apps-cli/package.json
tag: latest

# Query Export
- name: Publishing query-export (Beta)
uses: JS-DevTools/npm-publish@v3
Expand Down Expand Up @@ -183,6 +191,23 @@ jobs:
package: ./packages/contentstack-migrate-rte/package.json
access: public
tag: beta
# External Migrate
- name: Publishing external-migrate (Beta)
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
package: ./packages/contentstack-external-migrate/package.json
access: public
tag: beta

- name: Create Production Release
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.PKG_TOKEN }}
VERSION: ${{ steps.publish-plugins.outputs.version }}
run: |
# Get the previous production release for comparison
PREVIOUS_PROD=$(gh release list --limit 10 | grep -v 'prerelease' | head -1 | cut -f1)
# Bulk Operations
- name: Publishing bulk-operations (Beta)
Expand Down
4 changes: 2 additions & 2 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
fileignoreconfig:
- filename: pnpm-lock.yaml
checksum: cdead0797199d22bbc55b9e5b6b86983f28eb760fabe5e1f2d5139c4456a9131
version: '1.0'
checksum: 0feb3713a8f2e4a8a1f5f528218c2c578265dc5b31ff283a283fefc949bbafd2
version: ""
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"pnpm": "^10.28.0"
},
"engines": {
"node": ">=18.0.0"
"node": ">=22.0.0"
},
"private": true,
"scripts": {
Expand Down
1 change: 0 additions & 1 deletion packages/contentstack-apps-cli/.eslintignore

This file was deleted.

42 changes: 0 additions & 42 deletions packages/contentstack-apps-cli/.eslintrc

This file was deleted.

47 changes: 47 additions & 0 deletions packages/contentstack-apps-cli/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import tseslint from 'typescript-eslint';
import globals from 'globals';

export default [
...tseslint.configs.recommended,
{
ignores: [
'lib/**/*',
'test/**/*',
'dist/**/*',
],
},
{
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: './tsconfig.json',
},
sourceType: 'module',
globals: {
...globals.node,
},
},
plugins: {
'@typescript-eslint': tseslint.plugin,
},
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{
args: 'none',
},
],
'@typescript-eslint/prefer-namespace-keyword': 'error',
quotes: 'off',
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-require-imports': 'off',
'prefer-const': 'error',
},
},
];
12 changes: 6 additions & 6 deletions packages/contentstack-apps-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@contentstack/apps-cli",
"version": "2.0.0-beta.0",
"version": "2.0.0-beta.1",
"description": "App ClI",
"author": "Contentstack CLI",
"homepage": "https://github.com/contentstack/cli-plugins/tree/main/packages/contentstack-apps-cli",
Expand All @@ -22,9 +22,9 @@
],
"dependencies": {
"@apollo/client": "^3.14.1",
"@contentstack/cli-command": "~2.0.0-beta.8",
"@contentstack/cli-command": "~2.0.0-beta.9",
"@contentstack/cli-launch": "^1.10.0",
"@contentstack/cli-utilities": "~2.0.0-beta.9",
"@contentstack/cli-utilities": "~2.0.0-beta.10",
"adm-zip": "^0.5.17",
"chalk": "^5.6.2",
"lodash": "^4.18.1",
Expand All @@ -46,7 +46,7 @@
"axios": "^1.16.1",
"chai": "^4.5.0",
"dotenv": "^16.6.1",
"eslint": "^8.57.1",
"eslint": "^10.5.0",
"eslint-config-oclif": "^6.0.157",
"eslint-config-oclif-typescript": "^3.1.14",
"mocha": "^10.8.2",
Expand Down Expand Up @@ -80,7 +80,7 @@
},
"scripts": {
"build": "npm run clean && shx rm -rf lib && tsc -b",
"lint": "eslint . --ext .ts --config .eslintrc",
"lint": "eslint .",
"postpack": "shx rm -f oclif.manifest.json",
"posttest": "npm run lint",
"prepack": "npm run build && oclif manifest && oclif readme",
Expand All @@ -91,7 +91,7 @@
"test:unit:report:json": "mocha --reporter json --reporter-options output=report.json --forbid-only \"test/unit/**/*.test.ts\" && nyc --reporter=clover --extension .ts mocha --forbid-only \"test/unit/**/*.test.ts\""
},
"engines": {
"node": ">=16"
"node": ">=22.0.0"
},
"bugs": "https://github.com/contentstack/cli-plugins/issues",
"keywords": [
Expand Down
4 changes: 2 additions & 2 deletions packages/contentstack-apps-cli/src/util/common-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ function fetchAppInstallations(
flags: FlagInput,
orgUid: string,
options: MarketPlaceOptions
) {
): Promise<any> {
const { marketplaceSdk } = options;
const app: any = flags["app-uid"];
return marketplaceSdk
Expand Down Expand Up @@ -218,7 +218,7 @@ function uninstallApp(
orgUid: string,
options: MarketPlaceOptions,
installationUid: string
) {
): Promise<any> {
const { marketplaceSdk } = options;
// const app: any = flags["app-uid"];
return marketplaceSdk
Expand Down
54 changes: 0 additions & 54 deletions packages/contentstack-asset-management/.eslintrc

This file was deleted.

49 changes: 49 additions & 0 deletions packages/contentstack-asset-management/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# @contentstack/cli-asset-management

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/).

[![License](https://img.shields.io/npm/l/@contentstack/cli)](https://github.com/contentstack/cli/blob/main/LICENSE)

<!-- toc -->
* [@contentstack/cli-asset-management](#contentstackcli-asset-management)
* [Overview](#overview)
* [Usage](#usage)
* [Exports](#exports)
<!-- tocstop -->

# Overview

This package provides:

- **AssetManagementAdapter** – HTTP client for the Asset Management API (spaces, assets, folders, fields, asset types).
- **exportSpaceStructure** – Exports space metadata and full workspace structure (metadata, folders, assets, fields, asset types) for linked workspaces.
- **Types**`AssetManagementExportOptions`, `LinkedWorkspace`, `IAssetManagementAdapter`, and related types for export/import integration.

# Usage

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:

```ts
import { exportSpaceStructure } from '@contentstack/cli-asset-management';

await exportSpaceStructure({
linkedWorkspaces,
exportDir,
branchName: 'main',
assetManagementUrl,
org_uid,
context,
progressManager,
progressProcessName,
updateStatus,
downloadAsset, // optional
});
```

# Exports

| Export | Description |
|--------|-------------|
| `exportSpaceStructure` | Async function to export space structure for given linked workspaces. |
| `AssetManagementAdapter` | Class to call the Asset Management API (getSpace, getWorkspaceFields, getWorkspaceAssets, etc.). |
| Types from `./types` | `AssetManagementExportOptions`, `ExportSpaceOptions`, `ChunkedJsonWriteOptions`, `LinkedWorkspace`, `SpaceResponse`, `FieldsResponse`, `AssetTypesResponse`, and related API types. |
60 changes: 60 additions & 0 deletions packages/contentstack-asset-management/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import tseslint from 'typescript-eslint';
import globals from 'globals';
import oclif from 'eslint-config-oclif-typescript';

export default [
...tseslint.configs.recommended,
oclif,
{
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: './tsconfig.json',
},
sourceType: 'module',
globals: {
...globals.node,
},
},
plugins: {
'@typescript-eslint': tseslint.plugin,
},
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{
args: 'none',
},
],
'@typescript-eslint/prefer-namespace-keyword': 'error',
'@typescript-eslint/quotes': [
'error',
'single',
{
avoidEscape: true,
allowTemplateLiterals: true,
},
],
semi: 'off',
'@typescript-eslint/type-annotation-spacing': 'error',
'@typescript-eslint/no-redeclare': 'off',
eqeqeq: ['error', 'smart'],
'id-match': 'error',
'no-eval': 'error',
'no-var': 'error',
quotes: 'off',
indent: 'off',
camelcase: 'off',
'comma-dangle': 'off',
'arrow-parens': 'off',
'operator-linebreak': 'off',
'object-curly-spacing': 'off',
'node/no-missing-import': 'off',
'padding-line-between-statements': 'off',
'@typescript-eslint/ban-ts-ignore': 'off',
'unicorn/no-abusive-eslint-disable': 'off',
'unicorn/consistent-function-scoping': 'off',
'@typescript-eslint/no-use-before-define': 'off',
},
},
];
Loading
Loading