Skip to content

Commit 05794eb

Browse files
committed
Merge branch 'feat/migrate-external-cli-plugins-v1' into enhc/DX-7525-content-type-migration-v1
2 parents 2535ee5 + f3de42a commit 05794eb

202 files changed

Lines changed: 41909 additions & 209 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.

.cursor/rules/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ This is a **CLI plugins** monorepo with plugin packages under `packages/`, inclu
5252
- `contentstack-variants` - Manage content variants
5353
- `contentstack-apps-cli` - Developer Hub apps (`app:*` commands; npm `@contentstack/apps-cli`)
5454
- `contentstack-content-type` - Content Type introspection (`content-type:*` commands; npm `contentstack-cli-content-type`; Jest tests)
55+
- `contentstack-cli-tsgen` - TypeScript typings (`csdx tsgen`; npm `contentstack-cli-tsgen`; Jest integration tests)
5556

5657
All plugins depend on:
5758
- `@contentstack/cli-command` - Base Command class

.github/config/release.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
"branches": false,
2222
"apps-cli": false,
2323
"content-type": false,
24+
"regex-validate": false,
25+
"tsgen": false,
26+
"bulk-operations": false,
2427
"core": false
2528
}
2629
}

.github/workflows/release-production-plugins.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ jobs:
103103
package: ./packages/contentstack-migration/package.json
104104
tag: latest
105105

106+
# Migrate RTE
107+
- name: Publishing migrate RTE (Production)
108+
uses: JS-DevTools/npm-publish@v3
109+
with:
110+
token: ${{ secrets.NPM_TOKEN }}
111+
package: ./packages/contentstack-migrate-rte/package.json
112+
tag: latest
113+
106114
# Seed
107115
- name: Publishing seed (Production)
108116
uses: JS-DevTools/npm-publish@v3
@@ -127,6 +135,14 @@ jobs:
127135
package: ./packages/contentstack-bulk-publish/package.json
128136
tag: latest
129137

138+
# Bulk Operations
139+
- name: Publishing bulk operations (Production)
140+
uses: JS-DevTools/npm-publish@v3
141+
with:
142+
token: ${{ secrets.NPM_TOKEN }}
143+
package: ./packages/contentstack-bulk-operations/package.json
144+
tag: latest
145+
130146
# Branches
131147
- name: Publishing branches (Production)
132148
uses: JS-DevTools/npm-publish@v3
@@ -151,6 +167,22 @@ jobs:
151167
package: ./packages/contentstack-content-type/package.json
152168
tag: latest
153169

170+
# Regex Validate
171+
- name: Publishing regex-validate (Production)
172+
uses: JS-DevTools/npm-publish@v3
173+
with:
174+
token: ${{ secrets.NPM_TOKEN }}
175+
package: ./packages/contentstack-cli-cm-regex-validate/package.json
176+
tag: latest
177+
178+
# Tsgen
179+
- name: Publishing tsgen (Production)
180+
uses: JS-DevTools/npm-publish@v3
181+
with:
182+
token: ${{ secrets.NPM_TOKEN }}
183+
package: ./packages/contentstack-cli-tsgen/package.json
184+
tag: latest
185+
154186
- name: Create Production Release
155187
id: create_release
156188
env:
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Tsgen Integration Tests
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
jobs:
8+
tsgen-integration:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v4
13+
14+
- name: Setup pnpm
15+
uses: pnpm/action-setup@v4
16+
with:
17+
version: 10.28.0
18+
19+
- name: Set up Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '22.x'
23+
cache: 'pnpm'
24+
25+
- name: Install dependencies
26+
run: pnpm install --frozen-lockfile
27+
28+
- name: Build tsgen plugin
29+
run: pnpm --filter contentstack-cli-tsgen run build
30+
31+
- name: Install Contentstack CLI (v1)
32+
run: npm i -g @contentstack/cli
33+
34+
- name: Configure CLI region
35+
run: csdx config:set:region ${{ secrets.REGION }}
36+
37+
- name: Add delivery token
38+
run: csdx auth:tokens:add -a ${{ secrets.TOKEN_ALIAS }} --delivery -k ${{ secrets.APIKEY }} --token ${{ secrets.DELIVERYKEY }} -e ${{ secrets.ENVIRONMENT }}
39+
40+
- name: Link tsgen plugin
41+
working-directory: ./packages/contentstack-cli-tsgen
42+
run: csdx plugins:link
43+
44+
- name: Run integration tests
45+
run: pnpm --filter contentstack-cli-tsgen run test:integration
46+
env:
47+
TOKEN_ALIAS: ${{ secrets.TOKEN_ALIAS }}
48+
49+
- name: Unlink tsgen plugin
50+
working-directory: ./packages/contentstack-cli-tsgen
51+
run: csdx plugins:unlink
52+
if: always()

.github/workflows/unit-test.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,19 @@ jobs:
7373
- name: Run tests for Contentstack Content Type plugin
7474
working-directory: ./packages/contentstack-content-type
7575
run: npm run test:unit
76+
77+
- name: Run tests for Contentstack Regex Validate plugin
78+
working-directory: ./packages/contentstack-cli-cm-regex-validate
79+
run: npm run test:unit
80+
81+
- name: Run tests for Contentstack Tsgen plugin
82+
working-directory: ./packages/contentstack-cli-tsgen
83+
run: npm run test
84+
85+
- name: Run tests for Contentstack Migrate RTE
86+
working-directory: ./packages/contentstack-migrate-rte
87+
run: npm test
88+
89+
- name: Run tests for Contentstack Bulk Operations
90+
working-directory: ./packages/contentstack-bulk-operations
91+
run: npm test

.talismanrc

Lines changed: 93 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,96 @@
11
fileignoreconfig:
2+
- filename: packages/contentstack-migrate-rte/test/dummy/expectedEntriesResponse.json
3+
checksum: a2784a3cb21780434958478d478dcb91d2d9a3a8025567d90fe8d74e9141b052
4+
- filename: packages/contentstack-migrate-rte/test/dummy/entriesResponse.json
5+
checksum: 691f3dcfbbcf69fd21e109a0d7003bdb500af2d0253bb7d7e8a0636d8f2a58f4
26
- filename: pnpm-lock.yaml
3-
checksum: b37c8a782a95412347394c79010601d99265163a590ad5dd15bee765142a3750
4-
- filename: packages/contentstack-content-type/.eslintrc
5-
checksum: 6a5fa2bef65bf5a62598c10d45d83dfdef2dc32675aca5827ef31c230fa29c97
6-
- filename: packages/contentstack-content-type/src/commands/content-type/list.ts
7-
checksum: a584f002cf6c8b124d832339b646dac492a9e2e9607c8b570f7e0df666bf5991
8-
- filename: packages/contentstack-content-type/README.md
9-
checksum: cfb10c8dd1848df7a4a47cf7eb8fa57a81b97994394a289a93c41a930f4b2a38
10-
- filename: packages/contentstack-content-type/src/utils/index.ts
11-
checksum: 3209ee03042b33b491443bd2aabd273125eb1808607c9ef0b231323f2616092e
12-
- filename: packages/contentstack-content-type/skills/code-review/SKILL.md
13-
checksum: e784c95e1efba37e79acc5d6187d26f25bea9228f9c28bbcac0dd9285c70381f
14-
- filename: packages/contentstack-content-type/tests/commands/content-type/compare-remote.test.ts
15-
checksum: 68beeddf34261799b38259925e8d9b5d2426bd827864ff1e5b5cdf3356fdfe5a
16-
- filename: packages/contentstack-content-type/src/core/command.ts
17-
checksum: ee30e78b945495baa9d064c96feee454ec73607420b8a3b1da2ecc3be4c9a85d
18-
- filename: packages/contentstack-content-type/skills/contentstack-cli-content-type/SKILL.md
19-
checksum: f52be931ec23638c76b44652921c4b45dbca9edf558f05bf465f33bcadf20790
20-
- filename: packages/contentstack-content-type/skills/testing/SKILL.md
21-
checksum: 1da781909a238a7e96dea43ed74ca97cd405e10d6a95dd2042a5280a7a9172f8
22-
- filename: packages/contentstack-content-type/src/commands/content-type/audit.ts
23-
checksum: 2b38703b8452222024188118c65e1a5beb792072cd5f4eb6deda12133fd4dfd2
24-
- filename: packages/contentstack-content-type/src/commands/content-type/compare-remote.ts
25-
checksum: 91f2a8cba4703a480086e6a257e4c96ac0c3d7fda5c5531e8ea0cb56be8b18e7
26-
- filename: packages/contentstack-content-type/src/commands/content-type/compare.ts
27-
checksum: 91f8eb42a2f8c4f3845940418ecdc07f11cbc62e732cfc0042b092d9cc3a8b03
28-
- filename: packages/contentstack-content-type/src/commands/content-type/details.ts
29-
checksum: 4fa7adeee4a82a8ab1b8206fa5c020babf3bb5341db351bc86069624028f911d
30-
- filename: packages/contentstack-content-type/src/commands/content-type/diagram.ts
31-
checksum: e6a2a5349421976e343c1cf149011e79e2bd319e61630e6d9f9edacb1e5b6be5
32-
- filename: packages/contentstack-content-type/tests/commands/content-type/list.test.ts
33-
checksum: 728221e17384a6940d0e8e38f3111522927b49e415daba9fafe13dc3507e8406
34-
- filename: packages/contentstack-content-type/tests/core/command.test.ts
35-
checksum: 65b8a60273110303467ce56438370f24d4803301c86fe1823c33233c523795d3
36-
- filename: packages/contentstack-content-type/tests/core/contentstack/client.test.ts
37-
checksum: 5c4b952c5bee5c4e05825e24a7f953cd9ddebbe07e7dbae73e4e959730683988
38-
- filename: packages/contentstack-content-type/tests/core/content-type/diagram.test.ts
39-
checksum: 75b5882e09a2f9f21d12236c8c64ed0d09bcbe9ff4a65f76b4b9f9b63b1a130c
40-
- filename: packages/contentstack-content-type/tests/utils/index.test.ts
41-
checksum: ba3137f99bba3d430145088fabf560ec9324a3fe14699eb7eacf1a863243f4b9
7+
checksum: e0fb4541c1f31354c8899eba61bc579942a4c1057658973b4691c2890c98ff93
8+
- filename: packages/contentstack-bulk-operations/src/utils/bulk-publish-url-generator.ts
9+
checksum: 052d811adb5da9bac8c70e5b3dc4ddf700d5aea274dd2aa90a2df374118fbd26
10+
- filename: packages/contentstack-bulk-operations/src/utils/client.ts
11+
checksum: efdada21291db6d66e3114b7408163dee4cafe6ddb3904f02aa67140a1a89bb6
12+
- filename: packages/contentstack-bulk-operations/test/unit/core/index.test.ts
13+
checksum: 0d789258f5a9664e8a7dc5f5b23da846d0eaf8c52638ff20fb1f26104d3f9f8d
14+
- filename: packages/contentstack-migrate-rte/README.md
15+
checksum: 3810817d905405de86814af35fc0f0a6712cacd70f43223869b4f0599b6e579c
16+
- filename: packages/contentstack-bulk-operations/test/unit/messages/index.test.ts
17+
checksum: e86e76db4f4afc899ae2a4742627a71a7d227a7139014361b9d83de6154b3c7a
18+
- filename: packages/contentstack-bulk-operations/test/unit/base-bulk-command.test.ts
19+
checksum: 18684a596707865e671f1ee57b4819cb3f4b4f2633d6c49f7f4b6ce09391359f
20+
- filename: packages/contentstack-bulk-operations/src/base-bulk-command.ts
21+
checksum: 34907f0e00c40096cbe517b680a24fdf57caac351e45bc44b96e41987e619b67
22+
- filename: packages/contentstack-bulk-operations/test/unit/services/index.test.ts
23+
checksum: aae62ba072551bedf869ec7b1f6bf90238bc039336f37e7c583da8ba0637f9be
24+
- filename: packages/contentstack-bulk-operations/test/unit/utils/bulk-operation-log-handler.test.ts
25+
checksum: cec7ba35157c6516d67931d41deb57b7a156d9fc05dbab93ca5116e89b95c820
26+
- filename: packages/contentstack-bulk-operations/test/unit/utils/client.test.ts
27+
checksum: 178611b1f153b46a0020da22cc18293d5bd9c539ec2e54557fd8c1a3c2e796b3
28+
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
29+
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
30+
- filename: packages/contentstack-cli-tsgen/src/commands/tsgen.ts
31+
checksum: 054ea78f765edca62c785714cf8962df4fb91529c0851439d1ed61e963467408
32+
- filename: packages/contentstack-cli-cm-regex-validate/messages/index.json
33+
checksum: 044b311bde624dcc3c12434174d6027dbb6b62eefdfae120570a1748f806c60c
34+
- filename: packages/contentstack-cli-tsgen/AGENTS.md
35+
checksum: 75b4f1414b547d0bd83df5ed4fb80020acc0ed849619bed2639491b565be7a1b
36+
- filename: packages/contentstack-bulk-operations/eslint.config.js
37+
checksum: 0d93d7f660fe4cd6d62348c85ac10bf7c66018ea0b8e3e6d5a53419433f15867
38+
- filename: packages/contentstack-cli-cm-regex-validate/test/utils/connect-stack.test.ts
39+
checksum: 8fcd1dc2770a2a3f55ba462b7ffd3fc2e3cf45342c63e5b6dc5c1db4c2bd9738
40+
- filename: packages/contentstack-bulk-operations/test/unit/utils/validators.test.ts
41+
checksum: 69cf394584e325b972d6825879de7c31b9dd1bd50b0bb057aecb739258ac0317
42+
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-assets.test.ts
43+
checksum: c099c628c7ae1a40a9ca5580de0afa8309a611b2dff7837b10bb8f70eb92f8b3
44+
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
45+
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
46+
- filename: packages/contentstack-cli-tsgen/src/lib/helper.ts
47+
checksum: a7ead0030ead9d15b6b6e9623f61e7def77b00325e3988f0e3d73a145180dedc
48+
- filename: packages/contentstack-migrate-rte/test/utils/index.js
49+
checksum: bc2a509a86174aecbaf0bfc44d6ad3afabe57ef871ec91b796d498e00177e3f0
50+
- filename: packages/contentstack-cli-cm-regex-validate/skills/code-review/SKILL.md
51+
checksum: b92ea1c8e2f901c9e1e60f6ef6986d348a40a7869c236e3c1f3ca53b553dbb8e
52+
- filename: packages/contentstack-migrate-rte/test/commands/json-migration.test.js
53+
checksum: 56e10f1e0d2794fa13bcf5a6bb3e868b28277df1762fb3df0a8a82ad44f8045b
54+
- filename: packages/contentstack-bulk-operations/test/unit/utils/interactive.test.ts
55+
checksum: 3ee0ff5a74929346bfe997aeb977b4e93d398ea63892efc5f85e0b51a21074f6
56+
- filename: packages/contentstack-bulk-operations/src/core/operation-executor.ts
57+
checksum: 46295f495f007ad291787133936c5af3c76838d72f2be0de9c235bb644d6f905
58+
- filename: packages/contentstack-bulk-operations/src/utils/batch-queue-handler.ts
59+
checksum: d1d031242b99f5c738e2f4587ca2f5f3e96373e479ebaf4d93b2f98152943593
60+
- filename: packages/contentstack-bulk-operations/src/messages/index.ts
61+
checksum: 2d904462af6dc3ddc00ae6bb4433c846500ddfecee5a9e1fb1c236bd598a2ee1
62+
- filename: packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js
63+
checksum: a069c50d5152022a0957d5f597158e2d8c74803b3d24ff6bbbe3b09f0e9053e2
64+
- filename: packages/contentstack-bulk-operations/test/unit/utils/config-builder.test.ts
65+
checksum: d46757d3bb98d76845e83d4585f269b62b1fa9cb5bee3215b88fed38fd1dbb53
66+
- filename: packages/contentstack-bulk-operations/src/utils/revert-retry-handler.ts
67+
checksum: 76899098d74de1dd20f1b08401c65f23b2bec584c051388e63f70f3d24a6d1a4
68+
- filename: packages/contentstack-bulk-operations/src/utils/interactive.ts
69+
checksum: ba4fdd6f17c7d43cae639158f82dea3065ba8a368ddce8c476bfe49a6945e5c1
70+
- filename: packages/contentstack-bulk-operations/test/unit/utils/taxonomy-interactive-select.test.ts
71+
checksum: 34a085702d01d7e16e1507ea1e434b374c2cba5dd884aad5996c5484412897c0
72+
- filename: packages/contentstack-bulk-operations/src/core/rate-limiter.ts
73+
checksum: 81e3d624166ab34a589e3e8527b9e57ebc7e7f4374efd0483b1df0dd11788b68
74+
- filename: packages/contentstack-bulk-operations/src/interfaces/index.ts
75+
checksum: 0ff6bbc372758a20783f36bd391ba9d500530433fde472a1aacaf54f6b4a1688
76+
- filename: packages/contentstack-bulk-operations/test/unit/utils/operation-confirmation.test.ts
77+
checksum: 043185e56361ffae2116a2af5a4da16986816ad054fd94f189269e5b6150609e
78+
- filename: packages/contentstack-cli-cm-regex-validate/skills/contentstack-cli/SKILL.md
79+
checksum: 9420a516ba6046b05748683c90e3817d091cef76c46e029cb3745d6c0c350838
80+
- filename: packages/contentstack-cli-cm-regex-validate/skills/dev-workflow/SKILL.md
81+
checksum: b423dd35d0f7f0f25315e2a30198669b50db350f0ab2f917a1d3c4fbb0af0534
82+
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-entries.test.ts
83+
checksum: 845512e660813a6d7d96efd89dcff6eba4591a3f9ff371dc9b1aad38921e18a6
84+
- filename: packages/contentstack-bulk-operations/test/unit/utils/revert-retry-handler.test.ts
85+
checksum: 078f9633edb53204ed14ebe3cf6b1d6063729dd37b7ee1c6e936a344ceabebda
86+
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
87+
checksum: 7d85f342c7fd7875713cebfae83f68d8592cc732a15cca48ddecbeae818cb4c5
88+
- filename: packages/contentstack-cli-cm-regex-validate/src/utils/connect-stack.ts
89+
checksum: c77c7c25efc6d043b26e3dd0a516e22ac50142fa9fa5ff3a53a7c9fb8f24ebd6
90+
- filename: packages/contentstack-bulk-operations/src/utils/config-builder.ts
91+
checksum: a7b5259ad719b8c5929f9fea3783bdc92610dc2549426204c1bb6813e7e1112a
92+
- filename: packages/contentstack-bulk-operations/README.md
93+
checksum: 169110e7c6159632f19dc16e17dcb5bac22e5d6880339b35ba076a2fe0d75266
94+
- filename: packages/contentstack-bulk-operations/test/unit/utils/batch-queue-handler.test.ts
95+
checksum: c91f1822b5cfd34a4f4ba05dfc56c10a66e0f5ddb55a1cf5b454fa9549ea0052
4296
version: '1.0'

AGENTS.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# Contentstack CLI plugins – Agent guide
22

3-
**Universal entry point** for contributors and AI agents. Detailed conventions live in **`skills/*/SKILL.md`**.
3+
**Universal entry point** for contributors and AI agents. Detailed conventions live in **`skills/*/SKILL.md`** (per-package).
44

55
## What this repo is
66

77
| Field | Detail |
88
| --- | --- |
99
| **Name:** | Contentstack CLI plugins (pnpm monorepo; root package name `csdx`) |
10-
| **Purpose:** | OCLIF plugins that extend the Contentstack CLI (import/export, clone, migration, seed, audit, variants, Developer Hub apps, etc.). |
10+
| **Purpose:** | OCLIF plugins that extend the Contentstack CLI (import/export, clone, migration, seed, audit, variants, Developer Hub apps, regex validation, etc.). |
1111
| **Out of scope (if any):** | The **core** CLI aggregation lives in the separate `cli` monorepo; this repo ships plugin packages only. |
1212

1313
## Tech stack (at a glance)
@@ -17,6 +17,7 @@
1717
| **Language** | TypeScript / JavaScript, Node **>= 18** (`engines` in root `package.json`) |
1818
| **Build** | pnpm workspaces (`packages/*`); per package: `tsc`, OCLIF manifest/readme where applicable → `lib/` |
1919
| **Tests** | Mocha + Chai; layouts under `packages/*/test/` (see [skills/testing/SKILL.md](skills/testing/SKILL.md)) |
20+
| **Tests** | Mocha + Chai (most packages); Jest + ts-jest (`contentstack-cli-cm-regex-validate`); layouts under `packages/*/test/` |
2021
| **Lint / coverage** | ESLint in packages that define `lint` scripts; nyc where configured |
2122
| **Other** | OCLIF v4, Husky |
2223

@@ -56,6 +57,18 @@ CI: [.github/workflows/unit-test.yml](.github/workflows/unit-test.yml) and other
5657
- **v1 / v2:** This branch carries the **v1 line** (`@contentstack/cli-command ^1.8.2`, `@contentstack/cli-utilities ^1.18.3`, npm tag `latest`). The v2-beta line lives on `v2-beta`.
5758
- **Tests:** Jest + ts-jest (unlike most other packages which use Mocha + Chai)
5859
- **Docs:** 6 commands under `content-type:*`[packages/contentstack-content-type/AGENTS.md](packages/contentstack-content-type/AGENTS.md)
60+
- **v1 / v2:** This branch carries the **v1 line** (`@contentstack/cli-command ^1.8.2`, `@contentstack/cli-utilities ^1.18.3`).
61+
- **Docs:** See [packages/contentstack-apps-cli/AGENTS.md](packages/contentstack-apps-cli/AGENTS.md)
62+
63+
## Regex Validate plugin (`@contentstack/cli-cm-regex-validate`)
64+
65+
- **Package path:** [packages/contentstack-cli-cm-regex-validate](packages/contentstack-cli-cm-regex-validate)
66+
- **npm name:** `@contentstack/cli-cm-regex-validate`
67+
- **Migrated from:** [contentstack/cli-cm-regex-validate](https://github.com/contentstack/cli-cm-regex-validate) — see [REGEX-VALIDATE-MIGRATION.md](REGEX-VALIDATE-MIGRATION.md)
68+
- **v1 / v2:** This branch carries the **v1 line** (`@contentstack/cli-command ^1.8.2`, `@contentstack/cli-utilities ^1.18.3`, version `1.0.0`, npm tag `latest`).
69+
- **Tests:** Jest + ts-jest (unlike most other packages which use Mocha + Chai)
70+
- **Command:** Single command `cm:stacks:validate-regex` (short name `RGXVLD`)
71+
- **Docs:** [packages/contentstack-cli-cm-regex-validate/AGENTS.md](packages/contentstack-cli-cm-regex-validate/AGENTS.md)
5972

6073
## Using Cursor (optional)
6174

0 commit comments

Comments
 (0)