Skip to content

Commit 4b41a77

Browse files
authored
Merge pull request #168 from contentstack/enhc/DX-7525
feat: migrate contentstack-cli-content-type v2 into cli-plugins monorepo
2 parents 90c1ff4 + 1ee9c02 commit 4b41a77

67 files changed

Lines changed: 6680 additions & 519 deletions

Some content is hidden

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

.github/config/release.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"bootstrap": false,
1212
"branches": false,
1313
"apps-cli": false,
14+
"content-type": false,
1415
"regex-validate": false,
1516
"migrate-rte": false,
1617
"bulk-operations": false

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ jobs:
143143
package: ./packages/contentstack-query-export/package.json
144144
tag: beta
145145

146+
# Content Type
147+
- name: Publishing content-type (Beta)
148+
uses: JS-DevTools/npm-publish@v3
149+
with:
150+
token: ${{ secrets.NPM_TOKEN }}
151+
package: ./packages/contentstack-content-type/package.json
152+
tag: beta
153+
146154
# Apps CLI
147155
- name: Publishing apps-cli (Beta)
148156
uses: JS-DevTools/npm-publish@v3

.github/workflows/unit-test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ jobs:
7171
working-directory: ./packages/contentstack-apps-cli
7272
run: npm run test:unit:report:json
7373

74+
- name: Run tests for Contentstack Content Type plugin
75+
working-directory: ./packages/contentstack-content-type
76+
run: npm run test:unit
77+
7478
- name: Run tests for Contentstack Regex Validate plugin
7579
working-directory: ./packages/contentstack-cli-cm-regex-validate
7680
run: npm run test:unit

.talismanrc

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,86 @@
11
fileignoreconfig:
2+
- filename: pnpm-lock.yaml
3+
checksum: 12fd4eb9bd95dfc6fd59c0af3b42d14f26fa05529d5a1cb265dc4f14bec37db7
4+
- filename: packages/contentstack-cli-cm-regex-validate/src/utils/connect-stack.ts
5+
checksum: c77c7c25efc6d043b26e3dd0a516e22ac50142fa9fa5ff3a53a7c9fb8f24ebd6
6+
- filename: packages/contentstack-cli-cm-regex-validate/skills/code-review/SKILL.md
7+
checksum: 17431609f7d91acb67930ec6c405bdea670ad0ac2b96b39c2873241c5d8e4fb7
8+
- filename: packages/contentstack-cli-cm-regex-validate/skills/contentstack-cli/SKILL.md
9+
checksum: 9420a516ba6046b05748683c90e3817d091cef76c46e029cb3745d6c0c350838
10+
- filename: packages/contentstack-cli-cm-regex-validate/skills/dev-workflow/SKILL.md
11+
checksum: 23e1148c3287b8c67f43f15063e8dfff9a1521d374e400d048914b88279a15cc
212
- filename: packages/contentstack-migrate-rte/test/dummy/entriesResponse.json
313
checksum: 691f3dcfbbcf69fd21e109a0d7003bdb500af2d0253bb7d7e8a0636d8f2a58f4
414
- filename: packages/contentstack-migrate-rte/test/dummy/expectedEntriesResponse.json
515
checksum: a2784a3cb21780434958478d478dcb91d2d9a3a8025567d90fe8d74e9141b052
16+
- filename: packages/contentstack-bulk-operations/test/unit/utils/taxonomy-interactive-select.test.ts
17+
checksum: 34a085702d01d7e16e1507ea1e434b374c2cba5dd884aad5996c5484412897c0
18+
- filename: packages/contentstack-bulk-operations/test/unit/utils/operation-confirmation.test.ts
19+
checksum: 043185e56361ffae2116a2af5a4da16986816ad054fd94f189269e5b6150609e
620
- filename: packages/contentstack-bulk-operations/eslint.config.js
721
checksum: 0d93d7f660fe4cd6d62348c85ac10bf7c66018ea0b8e3e6d5a53419433f15867
8-
- filename: packages/contentstack-bulk-operations/test/unit/messages/index.test.ts
9-
checksum: e86e76db4f4afc899ae2a4742627a71a7d227a7139014361b9d83de6154b3c7a
10-
- filename: packages/contentstack-bulk-operations/src/utils/batch-queue-handler.ts
11-
checksum: d1d031242b99f5c738e2f4587ca2f5f3e96373e479ebaf4d93b2f98152943593
12-
- filename: packages/contentstack-bulk-operations/src/utils/bulk-publish-url-generator.ts
13-
checksum: 052d811adb5da9bac8c70e5b3dc4ddf700d5aea274dd2aa90a2df374118fbd26
14-
- filename: packages/contentstack-bulk-operations/src/utils/client.ts
15-
checksum: efdada21291db6d66e3114b7408163dee4cafe6ddb3904f02aa67140a1a89bb6
16-
- filename: packages/contentstack-bulk-operations/test/unit/services/index.test.ts
17-
checksum: aae62ba072551bedf869ec7b1f6bf90238bc039336f37e7c583da8ba0637f9be
18-
- filename: packages/contentstack-bulk-operations/src/base-bulk-command.ts
19-
checksum: 34907f0e00c40096cbe517b680a24fdf57caac351e45bc44b96e41987e619b67
22+
- filename: packages/contentstack-bulk-operations/test/unit/utils/revert-retry-handler.test.ts
23+
checksum: 078f9633edb53204ed14ebe3cf6b1d6063729dd37b7ee1c6e936a344ceabebda
24+
- filename: packages/contentstack-bulk-operations/test/unit/utils/validators.test.ts
25+
checksum: 69cf394584e325b972d6825879de7c31b9dd1bd50b0bb057aecb739258ac0317
26+
- filename: packages/contentstack-bulk-operations/test/unit/utils/interactive.test.ts
27+
checksum: 3ee0ff5a74929346bfe997aeb977b4e93d398ea63892efc5f85e0b51a21074f6
28+
- filename: packages/contentstack-bulk-operations/README.md
29+
checksum: 08ce31ed44af9b8b4c1ee054514198ec3533f713b59e7eaffd06d737c17cc867
30+
- filename: packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js
31+
checksum: 42f5322863e422f5b9c64f61116367fa825ea526bd198256a5ef296aac5b07a8
2032
- filename: packages/contentstack-bulk-operations/src/core/operation-executor.ts
2133
checksum: 46295f495f007ad291787133936c5af3c76838d72f2be0de9c235bb644d6f905
22-
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
23-
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
2434
- filename: packages/contentstack-bulk-operations/src/core/rate-limiter.ts
2535
checksum: 81e3d624166ab34a589e3e8527b9e57ebc7e7f4374efd0483b1df0dd11788b68
26-
- filename: packages/contentstack-bulk-operations/README.md
27-
checksum: 08ce31ed44af9b8b4c1ee054514198ec3533f713b59e7eaffd06d737c17cc867
36+
- filename: packages/contentstack-bulk-operations/src/base-bulk-command.ts
37+
checksum: 34907f0e00c40096cbe517b680a24fdf57caac351e45bc44b96e41987e619b67
2838
- filename: packages/contentstack-bulk-operations/src/interfaces/index.ts
2939
checksum: 0ff6bbc372758a20783f36bd391ba9d500530433fde472a1aacaf54f6b4a1688
30-
- filename: packages/contentstack-bulk-operations/src/utils/config-builder.ts
31-
checksum: a7b5259ad719b8c5929f9fea3783bdc92610dc2549426204c1bb6813e7e1112a
32-
- filename: packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js
33-
checksum: 42f5322863e422f5b9c64f61116367fa825ea526bd198256a5ef296aac5b07a8
34-
- filename: packages/contentstack-bulk-operations/test/unit/utils/client.test.ts
35-
checksum: 178611b1f153b46a0020da22cc18293d5bd9c539ec2e54557fd8c1a3c2e796b3
36-
- filename: packages/contentstack-bulk-operations/test/unit/utils/batch-queue-handler.test.ts
37-
checksum: c91f1822b5cfd34a4f4ba05dfc56c10a66e0f5ddb55a1cf5b454fa9549ea0052
38-
- filename: packages/contentstack-bulk-operations/test/unit/utils/bulk-operation-log-handler.test.ts
39-
checksum: cec7ba35157c6516d67931d41deb57b7a156d9fc05dbab93ca5116e89b95c820
40+
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
41+
checksum: 47a154b83045535af878888d618d8e1d42d7b128318a361e03be881cb0d71c6e
42+
- filename: packages/contentstack-bulk-operations/src/utils/bulk-publish-url-generator.ts
43+
checksum: 052d811adb5da9bac8c70e5b3dc4ddf700d5aea274dd2aa90a2df374118fbd26
44+
- filename: packages/contentstack-bulk-operations/src/utils/batch-queue-handler.ts
45+
checksum: d1d031242b99f5c738e2f4587ca2f5f3e96373e479ebaf4d93b2f98152943593
46+
- filename: packages/contentstack-bulk-operations/src/utils/client.ts
47+
checksum: efdada21291db6d66e3114b7408163dee4cafe6ddb3904f02aa67140a1a89bb6
4048
- filename: packages/contentstack-bulk-operations/src/messages/index.ts
4149
checksum: 2d904462af6dc3ddc00ae6bb4433c846500ddfecee5a9e1fb1c236bd598a2ee1
42-
- filename: packages/contentstack-bulk-operations/test/unit/utils/config-builder.test.ts
43-
checksum: d46757d3bb98d76845e83d4585f269b62b1fa9cb5bee3215b88fed38fd1dbb53
44-
- filename: packages/contentstack-bulk-operations/src/utils/interactive.ts
45-
checksum: ba4fdd6f17c7d43cae639158f82dea3065ba8a368ddce8c476bfe49a6945e5c1
46-
- filename: packages/contentstack-bulk-operations/test/unit/utils/operation-confirmation.test.ts
47-
checksum: 043185e56361ffae2116a2af5a4da16986816ad054fd94f189269e5b6150609e
48-
- filename: packages/contentstack-bulk-operations/test/unit/utils/interactive.test.ts
49-
checksum: 3ee0ff5a74929346bfe997aeb977b4e93d398ea63892efc5f85e0b51a21074f6
50-
- filename: packages/contentstack-bulk-operations/test/unit/utils/taxonomy-interactive-select.test.ts
51-
checksum: 34a085702d01d7e16e1507ea1e434b374c2cba5dd884aad5996c5484412897c0
5250
- filename: packages/contentstack-migrate-rte/test/utils/index.js
5351
checksum: bc2a509a86174aecbaf0bfc44d6ad3afabe57ef871ec91b796d498e00177e3f0
54-
- filename: packages/contentstack-bulk-operations/test/unit/utils/revert-retry-handler.test.ts
55-
checksum: 078f9633edb53204ed14ebe3cf6b1d6063729dd37b7ee1c6e936a344ceabebda
56-
- filename: packages/contentstack-bulk-operations/test/unit/utils/validators.test.ts
57-
checksum: 69cf394584e325b972d6825879de7c31b9dd1bd50b0bb057aecb739258ac0317
52+
- filename: packages/contentstack-migrate-rte/test/commands/json-migration.test.js
53+
checksum: 56e10f1e0d2794fa13bcf5a6bb3e868b28277df1762fb3df0a8a82ad44f8045b
54+
- filename: packages/contentstack-bulk-operations/src/utils/config-builder.ts
55+
checksum: a7b5259ad719b8c5929f9fea3783bdc92610dc2549426204c1bb6813e7e1112a
56+
- filename: packages/contentstack-bulk-operations/test/unit/services/index.test.ts
57+
checksum: aae62ba072551bedf869ec7b1f6bf90238bc039336f37e7c583da8ba0637f9be
5858
- filename: packages/contentstack-bulk-operations/test/unit/core/index.test.ts
5959
checksum: 0d789258f5a9664e8a7dc5f5b23da846d0eaf8c52638ff20fb1f26104d3f9f8d
60+
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
61+
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
6062
- filename: packages/contentstack-bulk-operations/src/utils/revert-retry-handler.ts
6163
checksum: 76899098d74de1dd20f1b08401c65f23b2bec584c051388e63f70f3d24a6d1a4
62-
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
63-
checksum: 47a154b83045535af878888d618d8e1d42d7b128318a361e03be881cb0d71c6e
6464
- filename: packages/contentstack-bulk-operations/test/unit/base-bulk-command.test.ts
6565
checksum: 18684a596707865e671f1ee57b4819cb3f4b4f2633d6c49f7f4b6ce09391359f
66-
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
67-
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
66+
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-entries.test.ts
67+
checksum: 845512e660813a6d7d96efd89dcff6eba4591a3f9ff371dc9b1aad38921e18a6
6868
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-assets.test.ts
6969
checksum: c099c628c7ae1a40a9ca5580de0afa8309a611b2dff7837b10bb8f70eb92f8b3
7070
- filename: packages/contentstack-migrate-rte/README.md
7171
checksum: 971bfdd67d66ae565feab612978123a9956248b25439e8cea65e4fa7cbcb403f
72-
- filename: packages/contentstack-migrate-rte/test/commands/json-migration.test.js
73-
checksum: 56e10f1e0d2794fa13bcf5a6bb3e868b28277df1762fb3df0a8a82ad44f8045b
74-
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-entries.test.ts
75-
checksum: 845512e660813a6d7d96efd89dcff6eba4591a3f9ff371dc9b1aad38921e18a6
76-
- filename: pnpm-lock.yaml
77-
checksum: 47c3ff1b2883aa208e81fed6974ab911055b279944c95fde351c1a57c566354b
72+
- filename: packages/contentstack-bulk-operations/src/utils/interactive.ts
73+
checksum: ba4fdd6f17c7d43cae639158f82dea3065ba8a368ddce8c476bfe49a6945e5c1
74+
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
75+
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
76+
- filename: packages/contentstack-bulk-operations/test/unit/messages/index.test.ts
77+
checksum: e86e76db4f4afc899ae2a4742627a71a7d227a7139014361b9d83de6154b3c7a
78+
- filename: packages/contentstack-bulk-operations/test/unit/utils/batch-queue-handler.test.ts
79+
checksum: c91f1822b5cfd34a4f4ba05dfc56c10a66e0f5ddb55a1cf5b454fa9549ea0052
80+
- filename: packages/contentstack-bulk-operations/test/unit/utils/client.test.ts
81+
checksum: 178611b1f153b46a0020da22cc18293d5bd9c539ec2e54557fd8c1a3c2e796b3
82+
- filename: packages/contentstack-bulk-operations/test/unit/utils/config-builder.test.ts
83+
checksum: d46757d3bb98d76845e83d4585f269b62b1fa9cb5bee3215b88fed38fd1dbb53
84+
- filename: packages/contentstack-bulk-operations/test/unit/utils/bulk-operation-log-handler.test.ts
85+
checksum: cec7ba35157c6516d67931d41deb57b7a156d9fc05dbab93ca5116e89b95c820
7886
version: '1.0'

AGENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ CI: [.github/workflows/unit-test.yml](.github/workflows/unit-test.yml) and other
4848
- **v1 / v2:** Maintain on `v1-dev` (1.x CLI deps) and `v2-dev` / `v2-beta` (2.x beta deps) branches; align `@contentstack/cli-command` and `@contentstack/cli-utilities` versions with the target CLI line.
4949
- **Docs:** OCLIF / `app:*` commands → [contentstack-cli](skills/contentstack-cli/SKILL.md#apps-cli-commands-app); SDK, manifests, GraphQL, HTTP → [framework](skills/framework/SKILL.md#apps-cli-plugin-contentstackapps-cli)
5050

51+
## Content Type plugin (`contentstack-cli-content-type`)
52+
53+
- **Package path:** [packages/contentstack-content-type](packages/contentstack-content-type)
54+
- **npm name:** `contentstack-cli-content-type`
55+
- **Migrated from:** [contentstack/contentstack-cli-content-type](https://github.com/contentstack/contentstack-cli-content-type) — see [CONTENT-TYPE-MIGRATION.md](CONTENT-TYPE-MIGRATION.md)
56+
- **v1 / v2:** Maintain on `v1-dev` / `main` (1.x CLI deps) and `v2-beta` (2.x beta deps) branches; align `@contentstack/cli-command` and `@contentstack/cli-utilities` versions with the target CLI line.
57+
- **Tests:** Jest + ts-jest (unlike most other packages which use Mocha + Chai)
58+
- **Docs:** 6 commands under `content-type:*`[packages/contentstack-content-type/AGENTS.md](packages/contentstack-content-type/AGENTS.md)
59+
5160
## Regex Validate plugin (`@contentstack/cli-cm-regex-validate`)
5261

5362
- **Package path:** [packages/contentstack-cli-cm-regex-validate](packages/contentstack-cli-cm-regex-validate)

CONTENT-TYPE-MIGRATION.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Content Type plugin migration: standalone repo → cli-plugins monorepo
2+
3+
## Summary
4+
5+
The **contentstack-cli-content-type** plugin has moved from the standalone repository [contentstack/contentstack-cli-content-type](https://github.com/contentstack/contentstack-cli-content-type) into the [contentstack/cli-plugins](https://github.com/contentstack/cli-plugins) monorepo at **`packages/contentstack-content-type`**.
6+
7+
The **npm package name is unchanged**: `contentstack-cli-content-type`. Install and command usage stay the same.
8+
9+
First release from the monorepo: **2.0.0-beta.0** (previously 1.4.6 from the standalone repo).
10+
11+
## Repository and issue tracking
12+
13+
| Before | After |
14+
| --- | --- |
15+
| Source: `github.com/contentstack/contentstack-cli-content-type` | Source: `github.com/contentstack/cli-plugins``packages/contentstack-content-type` |
16+
| Issues: contentstack-cli-content-type repo | Issues: [cli-plugins issues](https://github.com/contentstack/cli-plugins/issues) (label or mention `content-type` / `contentstack-cli-content-type`) |
17+
18+
The standalone **contentstack-cli-content-type** repository should be **archived** after the first release from cli-plugins. Open PRs and bugs should be recreated or linked in cli-plugins.
19+
20+
## Version lines (1.x vs 2.x)
21+
22+
| CLI line | cli-plugins branch | Plugin notes |
23+
| --- | --- | --- |
24+
| **1.x** | `v1-dev` / `main` | `@contentstack/cli-command ~1.8.2`, `@contentstack/cli-utilities ~1.18.3`; npm tag `latest` |
25+
| **2.x beta** | `v2-dev` / `v2-beta` | Align with 2.x beta core packages; npm tag `beta` |
26+
27+
Develop and release each line on its branch; do not mix 1.x and 2.x dependency pins in the same branch.
28+
29+
## Install (unchanged)
30+
31+
```bash
32+
csdx plugins:install contentstack-cli-content-type
33+
```
34+
35+
## Commands (unchanged)
36+
37+
All 6 commands are identical to the standalone version:
38+
39+
| Command | Description |
40+
| --- | --- |
41+
| `csdx content-type:list` | List all Content Types in a Stack |
42+
| `csdx content-type:details` | Display Content Type fields, types, references, and paths |
43+
| `csdx content-type:audit` | Display recent changes (audit log) for a Content Type |
44+
| `csdx content-type:compare` | Compare two versions of a Content Type in the same Stack |
45+
| `csdx content-type:compare-remote` | Compare the same Content Type across two Stacks |
46+
| `csdx content-type:diagram` | Generate a visual diagram (SVG or DOT) of the Stack content model |
47+
48+
## Local development
49+
50+
Clone [cli-dev-workspace](https://github.com/contentstack/cli-dev-workspace) (or cli-plugins only), then:
51+
52+
```bash
53+
cd cli-plugins
54+
pnpm install
55+
pnpm --filter contentstack-cli-content-type run build
56+
pnpm --filter contentstack-cli-content-type test
57+
```
58+
59+
To link the plugin locally into your `csdx` installation:
60+
61+
```bash
62+
cd packages/contentstack-content-type
63+
csdx plugins:link
64+
```
65+
66+
See [packages/contentstack-content-type/AGENTS.md](./packages/contentstack-content-type/AGENTS.md) and the [skills/](./packages/contentstack-content-type/skills/) directory for contributor docs.
67+
68+
## Test framework note
69+
70+
This package uses **Jest + ts-jest** (unlike most other packages in this monorepo which use Mocha + Chai). Tests live under `packages/contentstack-content-type/tests/` and run via `pnpm test` or `pnpm run test:unit`.
71+
72+
## Related migrations
73+
74+
- Apps CLI: [APPS-CLI-MIGRATION.md](./APPS-CLI-MIGRATION.md)
75+
- Tsgen plugin: [TSGEN-MIGRATION.md](./TSGEN-MIGRATION.md)
76+
- Core CLI: [cli](https://github.com/contentstack/cli) monorepo

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,5 @@ To get a more detailed documentation for every command, visit the [CLI section](
6868
## Useful Plugins
6969

7070
- [Generate TypeScript typings from a Stack](https://github.com/Contentstack-Solutions/contentstack-cli-tsgen)
71+
- [Manage Content Types (list, details, audit, compare, diagram)](https://github.com/contentstack/cli-plugins/tree/main/packages/contentstack-content-type) (`contentstack-cli-content-type`)
7172
- [Validate regex fields in Content Types and Global Fields](https://github.com/contentstack/cli-plugins/tree/main/packages/contentstack-cli-cm-regex-validate) (`@contentstack/cli-cm-regex-validate`)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Cursor (optional)
2+
3+
**Cursor** users: start at **[AGENTS.md](../../AGENTS.md)**. All conventions live in **`skills/*/SKILL.md`**.
4+
5+
This folder only points contributors to **`AGENTS.md`** so editor-specific config does not duplicate the canonical docs.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
charset = utf-8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = true
9+
10+
[*.md]
11+
trim_trailing_whitespace = false
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/lib

0 commit comments

Comments
 (0)