Skip to content
Merged
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
1 change: 1 addition & 0 deletions .github/config/release.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"bootstrap": false,
"branches": false,
"apps-cli": false,
"content-type": false,
"regex-validate": false,
"migrate-rte": false,
"bulk-operations": false
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/release-v2-beta-plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@ jobs:
package: ./packages/contentstack-query-export/package.json
tag: beta

# Content Type
- name: Publishing content-type (Beta)
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
package: ./packages/contentstack-content-type/package.json
tag: beta

# Apps CLI
- name: Publishing apps-cli (Beta)
uses: JS-DevTools/npm-publish@v3
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ jobs:
working-directory: ./packages/contentstack-apps-cli
run: npm run test:unit:report:json

- name: Run tests for Contentstack Content Type plugin
working-directory: ./packages/contentstack-content-type
run: npm run test:unit

- name: Run tests for Contentstack Regex Validate plugin
working-directory: ./packages/contentstack-cli-cm-regex-validate
run: npm run test:unit
Expand Down
108 changes: 58 additions & 50 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,78 +1,86 @@
fileignoreconfig:
- filename: pnpm-lock.yaml
checksum: 12fd4eb9bd95dfc6fd59c0af3b42d14f26fa05529d5a1cb265dc4f14bec37db7
- filename: packages/contentstack-cli-cm-regex-validate/src/utils/connect-stack.ts
checksum: c77c7c25efc6d043b26e3dd0a516e22ac50142fa9fa5ff3a53a7c9fb8f24ebd6
- filename: packages/contentstack-cli-cm-regex-validate/skills/code-review/SKILL.md
checksum: 17431609f7d91acb67930ec6c405bdea670ad0ac2b96b39c2873241c5d8e4fb7
- filename: packages/contentstack-cli-cm-regex-validate/skills/contentstack-cli/SKILL.md
checksum: 9420a516ba6046b05748683c90e3817d091cef76c46e029cb3745d6c0c350838
- filename: packages/contentstack-cli-cm-regex-validate/skills/dev-workflow/SKILL.md
checksum: 23e1148c3287b8c67f43f15063e8dfff9a1521d374e400d048914b88279a15cc
- filename: packages/contentstack-migrate-rte/test/dummy/entriesResponse.json
checksum: 691f3dcfbbcf69fd21e109a0d7003bdb500af2d0253bb7d7e8a0636d8f2a58f4
- filename: packages/contentstack-migrate-rte/test/dummy/expectedEntriesResponse.json
checksum: a2784a3cb21780434958478d478dcb91d2d9a3a8025567d90fe8d74e9141b052
- filename: packages/contentstack-bulk-operations/test/unit/utils/taxonomy-interactive-select.test.ts
checksum: 34a085702d01d7e16e1507ea1e434b374c2cba5dd884aad5996c5484412897c0
- filename: packages/contentstack-bulk-operations/test/unit/utils/operation-confirmation.test.ts
checksum: 043185e56361ffae2116a2af5a4da16986816ad054fd94f189269e5b6150609e
- filename: packages/contentstack-bulk-operations/eslint.config.js
checksum: 0d93d7f660fe4cd6d62348c85ac10bf7c66018ea0b8e3e6d5a53419433f15867
- filename: packages/contentstack-bulk-operations/test/unit/messages/index.test.ts
checksum: e86e76db4f4afc899ae2a4742627a71a7d227a7139014361b9d83de6154b3c7a
- filename: packages/contentstack-bulk-operations/src/utils/batch-queue-handler.ts
checksum: d1d031242b99f5c738e2f4587ca2f5f3e96373e479ebaf4d93b2f98152943593
- filename: packages/contentstack-bulk-operations/src/utils/bulk-publish-url-generator.ts
checksum: 052d811adb5da9bac8c70e5b3dc4ddf700d5aea274dd2aa90a2df374118fbd26
- filename: packages/contentstack-bulk-operations/src/utils/client.ts
checksum: efdada21291db6d66e3114b7408163dee4cafe6ddb3904f02aa67140a1a89bb6
- filename: packages/contentstack-bulk-operations/test/unit/services/index.test.ts
checksum: aae62ba072551bedf869ec7b1f6bf90238bc039336f37e7c583da8ba0637f9be
- filename: packages/contentstack-bulk-operations/src/base-bulk-command.ts
checksum: 34907f0e00c40096cbe517b680a24fdf57caac351e45bc44b96e41987e619b67
- filename: packages/contentstack-bulk-operations/test/unit/utils/revert-retry-handler.test.ts
checksum: 078f9633edb53204ed14ebe3cf6b1d6063729dd37b7ee1c6e936a344ceabebda
- filename: packages/contentstack-bulk-operations/test/unit/utils/validators.test.ts
checksum: 69cf394584e325b972d6825879de7c31b9dd1bd50b0bb057aecb739258ac0317
- filename: packages/contentstack-bulk-operations/test/unit/utils/interactive.test.ts
checksum: 3ee0ff5a74929346bfe997aeb977b4e93d398ea63892efc5f85e0b51a21074f6
- filename: packages/contentstack-bulk-operations/README.md
checksum: 08ce31ed44af9b8b4c1ee054514198ec3533f713b59e7eaffd06d737c17cc867
- filename: packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js
checksum: 42f5322863e422f5b9c64f61116367fa825ea526bd198256a5ef296aac5b07a8
- filename: packages/contentstack-bulk-operations/src/core/operation-executor.ts
checksum: 46295f495f007ad291787133936c5af3c76838d72f2be0de9c235bb644d6f905
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
- filename: packages/contentstack-bulk-operations/src/core/rate-limiter.ts
checksum: 81e3d624166ab34a589e3e8527b9e57ebc7e7f4374efd0483b1df0dd11788b68
- filename: packages/contentstack-bulk-operations/README.md
checksum: 08ce31ed44af9b8b4c1ee054514198ec3533f713b59e7eaffd06d737c17cc867
- filename: packages/contentstack-bulk-operations/src/base-bulk-command.ts
checksum: 34907f0e00c40096cbe517b680a24fdf57caac351e45bc44b96e41987e619b67
- filename: packages/contentstack-bulk-operations/src/interfaces/index.ts
checksum: 0ff6bbc372758a20783f36bd391ba9d500530433fde472a1aacaf54f6b4a1688
- filename: packages/contentstack-bulk-operations/src/utils/config-builder.ts
checksum: a7b5259ad719b8c5929f9fea3783bdc92610dc2549426204c1bb6813e7e1112a
- filename: packages/contentstack-migrate-rte/src/commands/cm/entries/migrate-html-rte.js
checksum: 42f5322863e422f5b9c64f61116367fa825ea526bd198256a5ef296aac5b07a8
- filename: packages/contentstack-bulk-operations/test/unit/utils/client.test.ts
checksum: 178611b1f153b46a0020da22cc18293d5bd9c539ec2e54557fd8c1a3c2e796b3
- filename: packages/contentstack-bulk-operations/test/unit/utils/batch-queue-handler.test.ts
checksum: c91f1822b5cfd34a4f4ba05dfc56c10a66e0f5ddb55a1cf5b454fa9549ea0052
- filename: packages/contentstack-bulk-operations/test/unit/utils/bulk-operation-log-handler.test.ts
checksum: cec7ba35157c6516d67931d41deb57b7a156d9fc05dbab93ca5116e89b95c820
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
checksum: 47a154b83045535af878888d618d8e1d42d7b128318a361e03be881cb0d71c6e
- filename: packages/contentstack-bulk-operations/src/utils/bulk-publish-url-generator.ts
checksum: 052d811adb5da9bac8c70e5b3dc4ddf700d5aea274dd2aa90a2df374118fbd26
- filename: packages/contentstack-bulk-operations/src/utils/batch-queue-handler.ts
checksum: d1d031242b99f5c738e2f4587ca2f5f3e96373e479ebaf4d93b2f98152943593
- filename: packages/contentstack-bulk-operations/src/utils/client.ts
checksum: efdada21291db6d66e3114b7408163dee4cafe6ddb3904f02aa67140a1a89bb6
- filename: packages/contentstack-bulk-operations/src/messages/index.ts
checksum: 2d904462af6dc3ddc00ae6bb4433c846500ddfecee5a9e1fb1c236bd598a2ee1
- filename: packages/contentstack-bulk-operations/test/unit/utils/config-builder.test.ts
checksum: d46757d3bb98d76845e83d4585f269b62b1fa9cb5bee3215b88fed38fd1dbb53
- filename: packages/contentstack-bulk-operations/src/utils/interactive.ts
checksum: ba4fdd6f17c7d43cae639158f82dea3065ba8a368ddce8c476bfe49a6945e5c1
- filename: packages/contentstack-bulk-operations/test/unit/utils/operation-confirmation.test.ts
checksum: 043185e56361ffae2116a2af5a4da16986816ad054fd94f189269e5b6150609e
- filename: packages/contentstack-bulk-operations/test/unit/utils/interactive.test.ts
checksum: 3ee0ff5a74929346bfe997aeb977b4e93d398ea63892efc5f85e0b51a21074f6
- filename: packages/contentstack-bulk-operations/test/unit/utils/taxonomy-interactive-select.test.ts
checksum: 34a085702d01d7e16e1507ea1e434b374c2cba5dd884aad5996c5484412897c0
- filename: packages/contentstack-migrate-rte/test/utils/index.js
checksum: bc2a509a86174aecbaf0bfc44d6ad3afabe57ef871ec91b796d498e00177e3f0
- filename: packages/contentstack-bulk-operations/test/unit/utils/revert-retry-handler.test.ts
checksum: 078f9633edb53204ed14ebe3cf6b1d6063729dd37b7ee1c6e936a344ceabebda
- filename: packages/contentstack-bulk-operations/test/unit/utils/validators.test.ts
checksum: 69cf394584e325b972d6825879de7c31b9dd1bd50b0bb057aecb739258ac0317
- filename: packages/contentstack-migrate-rte/test/commands/json-migration.test.js
checksum: 56e10f1e0d2794fa13bcf5a6bb3e868b28277df1762fb3df0a8a82ad44f8045b
- filename: packages/contentstack-bulk-operations/src/utils/config-builder.ts
checksum: a7b5259ad719b8c5929f9fea3783bdc92610dc2549426204c1bb6813e7e1112a
- filename: packages/contentstack-bulk-operations/test/unit/services/index.test.ts
checksum: aae62ba072551bedf869ec7b1f6bf90238bc039336f37e7c583da8ba0637f9be
- filename: packages/contentstack-bulk-operations/test/unit/core/index.test.ts
checksum: 0d789258f5a9664e8a7dc5f5b23da846d0eaf8c52638ff20fb1f26104d3f9f8d
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
- filename: packages/contentstack-bulk-operations/src/utils/revert-retry-handler.ts
checksum: 76899098d74de1dd20f1b08401c65f23b2bec584c051388e63f70f3d24a6d1a4
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
checksum: 47a154b83045535af878888d618d8e1d42d7b128318a361e03be881cb0d71c6e
- filename: packages/contentstack-bulk-operations/test/unit/base-bulk-command.test.ts
checksum: 18684a596707865e671f1ee57b4819cb3f4b4f2633d6c49f7f4b6ce09391359f
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-entries.test.ts
checksum: 845512e660813a6d7d96efd89dcff6eba4591a3f9ff371dc9b1aad38921e18a6
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-assets.test.ts
checksum: c099c628c7ae1a40a9ca5580de0afa8309a611b2dff7837b10bb8f70eb92f8b3
- filename: packages/contentstack-migrate-rte/README.md
checksum: 971bfdd67d66ae565feab612978123a9956248b25439e8cea65e4fa7cbcb403f
- filename: packages/contentstack-migrate-rte/test/commands/json-migration.test.js
checksum: 56e10f1e0d2794fa13bcf5a6bb3e868b28277df1762fb3df0a8a82ad44f8045b
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-entries.test.ts
checksum: 845512e660813a6d7d96efd89dcff6eba4591a3f9ff371dc9b1aad38921e18a6
- filename: pnpm-lock.yaml
checksum: 47c3ff1b2883aa208e81fed6974ab911055b279944c95fde351c1a57c566354b
- filename: packages/contentstack-bulk-operations/src/utils/interactive.ts
checksum: ba4fdd6f17c7d43cae639158f82dea3065ba8a368ddce8c476bfe49a6945e5c1
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
- filename: packages/contentstack-bulk-operations/test/unit/messages/index.test.ts
checksum: e86e76db4f4afc899ae2a4742627a71a7d227a7139014361b9d83de6154b3c7a
- filename: packages/contentstack-bulk-operations/test/unit/utils/batch-queue-handler.test.ts
checksum: c91f1822b5cfd34a4f4ba05dfc56c10a66e0f5ddb55a1cf5b454fa9549ea0052
- filename: packages/contentstack-bulk-operations/test/unit/utils/client.test.ts
checksum: 178611b1f153b46a0020da22cc18293d5bd9c539ec2e54557fd8c1a3c2e796b3
- filename: packages/contentstack-bulk-operations/test/unit/utils/config-builder.test.ts
checksum: d46757d3bb98d76845e83d4585f269b62b1fa9cb5bee3215b88fed38fd1dbb53
- filename: packages/contentstack-bulk-operations/test/unit/utils/bulk-operation-log-handler.test.ts
checksum: cec7ba35157c6516d67931d41deb57b7a156d9fc05dbab93ca5116e89b95c820
version: '1.0'
9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,15 @@ CI: [.github/workflows/unit-test.yml](.github/workflows/unit-test.yml) and other
- **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.
- **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)

## Content Type plugin (`contentstack-cli-content-type`)

- **Package path:** [packages/contentstack-content-type](packages/contentstack-content-type)
- **npm name:** `contentstack-cli-content-type`
- **Migrated from:** [contentstack/contentstack-cli-content-type](https://github.com/contentstack/contentstack-cli-content-type) — see [CONTENT-TYPE-MIGRATION.md](CONTENT-TYPE-MIGRATION.md)
- **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.
- **Tests:** Jest + ts-jest (unlike most other packages which use Mocha + Chai)
- **Docs:** 6 commands under `content-type:*` → [packages/contentstack-content-type/AGENTS.md](packages/contentstack-content-type/AGENTS.md)

## Regex Validate plugin (`@contentstack/cli-cm-regex-validate`)

- **Package path:** [packages/contentstack-cli-cm-regex-validate](packages/contentstack-cli-cm-regex-validate)
Expand Down
76 changes: 76 additions & 0 deletions CONTENT-TYPE-MIGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Content Type plugin migration: standalone repo → cli-plugins monorepo

## Summary

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`**.

The **npm package name is unchanged**: `contentstack-cli-content-type`. Install and command usage stay the same.

First release from the monorepo: **2.0.0-beta.0** (previously 1.4.6 from the standalone repo).

## Repository and issue tracking

| Before | After |
| --- | --- |
| Source: `github.com/contentstack/contentstack-cli-content-type` | Source: `github.com/contentstack/cli-plugins` → `packages/contentstack-content-type` |
| 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`) |

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.

## Version lines (1.x vs 2.x)

| CLI line | cli-plugins branch | Plugin notes |
| --- | --- | --- |
| **1.x** | `v1-dev` / `main` | `@contentstack/cli-command ~1.8.2`, `@contentstack/cli-utilities ~1.18.3`; npm tag `latest` |
| **2.x beta** | `v2-dev` / `v2-beta` | Align with 2.x beta core packages; npm tag `beta` |

Develop and release each line on its branch; do not mix 1.x and 2.x dependency pins in the same branch.

## Install (unchanged)

```bash
csdx plugins:install contentstack-cli-content-type
```

## Commands (unchanged)

All 6 commands are identical to the standalone version:

| Command | Description |
| --- | --- |
| `csdx content-type:list` | List all Content Types in a Stack |
| `csdx content-type:details` | Display Content Type fields, types, references, and paths |
| `csdx content-type:audit` | Display recent changes (audit log) for a Content Type |
| `csdx content-type:compare` | Compare two versions of a Content Type in the same Stack |
| `csdx content-type:compare-remote` | Compare the same Content Type across two Stacks |
| `csdx content-type:diagram` | Generate a visual diagram (SVG or DOT) of the Stack content model |

## Local development

Clone [cli-dev-workspace](https://github.com/contentstack/cli-dev-workspace) (or cli-plugins only), then:

```bash
cd cli-plugins
pnpm install
pnpm --filter contentstack-cli-content-type run build
pnpm --filter contentstack-cli-content-type test
```

To link the plugin locally into your `csdx` installation:

```bash
cd packages/contentstack-content-type
csdx plugins:link
```

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.

## Test framework note

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`.

## Related migrations

- Apps CLI: [APPS-CLI-MIGRATION.md](./APPS-CLI-MIGRATION.md)
- Tsgen plugin: [TSGEN-MIGRATION.md](./TSGEN-MIGRATION.md)
- Core CLI: [cli](https://github.com/contentstack/cli) monorepo
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,5 @@ To get a more detailed documentation for every command, visit the [CLI section](
## Useful Plugins

- [Generate TypeScript typings from a Stack](https://github.com/Contentstack-Solutions/contentstack-cli-tsgen)
- [Manage Content Types (list, details, audit, compare, diagram)](https://github.com/contentstack/cli-plugins/tree/main/packages/contentstack-content-type) (`contentstack-cli-content-type`)
- [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`)
5 changes: 5 additions & 0 deletions packages/contentstack-content-type/.cursor/rules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Cursor (optional)

**Cursor** users: start at **[AGENTS.md](../../AGENTS.md)**. All conventions live in **`skills/*/SKILL.md`**.

This folder only points contributors to **`AGENTS.md`** so editor-specific config does not duplicate the canonical docs.
11 changes: 11 additions & 0 deletions packages/contentstack-content-type/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
1 change: 1 addition & 0 deletions packages/contentstack-content-type/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/lib
51 changes: 51 additions & 0 deletions packages/contentstack-content-type/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"extends": [
// "oclif",
"oclif-typescript",
"plugin:@typescript-eslint/recommended"
],
"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",
"@typescript-eslint/camelcase": "off",
"no-process-exit":"off",
"unicorn/no-process-exit": "off",
"@typescript-eslint/no-var-requires": "off"
}
}
14 changes: 14 additions & 0 deletions packages/contentstack-content-type/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
*-debug.log
*-error.log
/.nyc_output
/dist
/lib
/tmp
node_modules
.DS_Store
coverage
.env
oclif.manifest.json
talisman_output.log
snyk_output.log
tsconfig.tsbuildinfo
Loading
Loading