Skip to content

Commit 90c1ff4

Browse files
authored
Merge pull request #171 from contentstack/enhc/DX-7530-migrate-cli-regex-v2
feat: migrate @contentstack/cli-cm-regex-validate to cli-plugins monorepo (v2-beta)
2 parents a440c6c + ac0fa34 commit 90c1ff4

37 files changed

Lines changed: 6175 additions & 47 deletions

.cursor/rules/dev-workflow.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ alwaysApply: true
99
## Monorepo Structure
1010

1111
### Package Organization
12-
- **11 plugin packages** under `packages/`
12+
- **12+ plugin packages** under `packages/`
13+
- `contentstack-cli-cm-regex-validate` - Regex validation for Content Type/Global Field fields (`cm:stacks:validate-regex`; npm `@contentstack/cli-cm-regex-validate`; Jest tests)
1314
- **pnpm workspaces** with `workspaces: ["packages/*"]`
1415
- **Shared dependencies**: `@contentstack/cli-command`, `@contentstack/cli-utilities`
1516
- **Build artifacts**: `lib/` directory (compiled from `src/`)

.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+
"regex-validate": false,
1415
"migrate-rte": false,
1516
"bulk-operations": false
1617
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,15 @@ jobs:
151151
package: ./packages/contentstack-apps-cli/package.json
152152
tag: beta
153153

154+
# Regex Validate
155+
- name: Publishing regex-validate (Beta)
156+
uses: JS-DevTools/npm-publish@v3
157+
with:
158+
token: ${{ secrets.NPM_TOKEN }}
159+
package: ./packages/contentstack-cli-cm-regex-validate/package.json
160+
access: public
161+
tag: beta
162+
154163
# Migrate RTE
155164
- name: Publishing migrate-rte (Beta)
156165
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 Regex Validate plugin
75+
working-directory: ./packages/contentstack-cli-cm-regex-validate
76+
run: npm run test:unit
77+
7478
- name: Run tests for Contentstack Migrate RTE
7579
working-directory: ./packages/contentstack-migrate-rte
7680
run: npm test

.talismanrc

Lines changed: 75 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,78 @@
11
fileignoreconfig:
2+
- filename: packages/contentstack-migrate-rte/test/dummy/entriesResponse.json
3+
checksum: 691f3dcfbbcf69fd21e109a0d7003bdb500af2d0253bb7d7e8a0636d8f2a58f4
4+
- filename: packages/contentstack-migrate-rte/test/dummy/expectedEntriesResponse.json
5+
checksum: a2784a3cb21780434958478d478dcb91d2d9a3a8025567d90fe8d74e9141b052
6+
- filename: packages/contentstack-bulk-operations/eslint.config.js
7+
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
20+
- filename: packages/contentstack-bulk-operations/src/core/operation-executor.ts
21+
checksum: 46295f495f007ad291787133936c5af3c76838d72f2be0de9c235bb644d6f905
22+
- filename: packages/contentstack-bulk-operations/test/unit/services/taxonomy-service.test.ts
23+
checksum: 33af8ee198158dd92916d76207e172b5316864d063a6929526ca259b459ec79a
24+
- filename: packages/contentstack-bulk-operations/src/core/rate-limiter.ts
25+
checksum: 81e3d624166ab34a589e3e8527b9e57ebc7e7f4374efd0483b1df0dd11788b68
26+
- filename: packages/contentstack-bulk-operations/README.md
27+
checksum: 08ce31ed44af9b8b4c1ee054514198ec3533f713b59e7eaffd06d737c17cc867
28+
- filename: packages/contentstack-bulk-operations/src/interfaces/index.ts
29+
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-bulk-operations/src/messages/index.ts
41+
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
52+
- filename: packages/contentstack-migrate-rte/test/utils/index.js
53+
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
58+
- filename: packages/contentstack-bulk-operations/test/unit/core/index.test.ts
59+
checksum: 0d789258f5a9664e8a7dc5f5b23da846d0eaf8c52638ff20fb1f26104d3f9f8d
60+
- filename: packages/contentstack-bulk-operations/src/utils/revert-retry-handler.ts
61+
checksum: 76899098d74de1dd20f1b08401c65f23b2bec584c051388e63f70f3d24a6d1a4
62+
- filename: packages/contentstack-migrate-rte/src/lib/util/index.js
63+
checksum: 47a154b83045535af878888d618d8e1d42d7b128318a361e03be881cb0d71c6e
64+
- filename: packages/contentstack-bulk-operations/test/unit/base-bulk-command.test.ts
65+
checksum: 18684a596707865e671f1ee57b4819cb3f4b4f2633d6c49f7f4b6ce09391359f
66+
- filename: packages/contentstack-bulk-operations/test/unit/core/operation-executor.test.ts
67+
checksum: 97f0ddd4d547f37a8d93650aa1e8af4ef4dbce343dd51853e34bbde6107cd725
68+
- filename: packages/contentstack-bulk-operations/test/unit/commands/bulk-assets.test.ts
69+
checksum: c099c628c7ae1a40a9ca5580de0afa8309a611b2dff7837b10bb8f70eb92f8b3
70+
- filename: packages/contentstack-migrate-rte/README.md
71+
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
276
- filename: pnpm-lock.yaml
3-
checksum: e5b5f8ab64f4f27a1483e426cc01d7388482263e1d6fe3baf1caafcf2878ebb2
4-
- filename: skills/framework/SKILL.md
5-
checksum: c5746de64b1e7d1df051c4337de5eb32de6a4c85c7297aa408838d304bb2d771
77+
checksum: 47c3ff1b2883aa208e81fed6974ab911055b279944c95fde351c1a57c566354b
678
version: '1.0'

AGENTS.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ 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+
## Regex Validate plugin (`@contentstack/cli-cm-regex-validate`)
52+
53+
- **Package path:** [packages/contentstack-cli-cm-regex-validate](packages/contentstack-cli-cm-regex-validate)
54+
- **npm name:** `@contentstack/cli-cm-regex-validate`
55+
- **Migrated from:** [contentstack/cli-cm-regex-validate](https://github.com/contentstack/cli-cm-regex-validate) — see [REGEX-VALIDATE-MIGRATION.md](REGEX-VALIDATE-MIGRATION.md)
56+
- **v1 / v2:** Maintain on `v1-dev` / `main` (v1 CLI deps) and `v2-beta` (`~2.0.0-beta.7` / `~2.0.0-beta.8`, version `2.0.0-beta.0`); align with target CLI line.
57+
- **Tests:** Jest + ts-jest (unlike most other packages which use Mocha + Chai)
58+
- **Command:** Single command `cm:stacks:validate-regex` (short name `RGXVLD`)
59+
- **Docs:** [packages/contentstack-cli-cm-regex-validate/AGENTS.md](packages/contentstack-cli-cm-regex-validate/AGENTS.md)
60+
5161
## Migrate RTE plugin (`@contentstack/cli-cm-migrate-rte`)
5262

5363
- **Package path:** [packages/contentstack-migrate-rte](packages/contentstack-migrate-rte)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,4 @@ 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+
- [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`)

REGEX-VALIDATE-MIGRATION.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Regex Validate plugin migration: standalone repo → cli-plugins monorepo
2+
3+
## Summary
4+
5+
The **@contentstack/cli-cm-regex-validate** plugin has moved from the standalone repository [contentstack/cli-cm-regex-validate](https://github.com/contentstack/cli-cm-regex-validate) into the [contentstack/cli-plugins](https://github.com/contentstack/cli-plugins) monorepo at **`packages/contentstack-cli-cm-regex-validate`**.
6+
7+
The **npm package name is unchanged**: `@contentstack/cli-cm-regex-validate`. This is the **first npm release** — the package was previously not published.
8+
9+
First release: **1.0.0** (v1 line) / **2.0.0-beta.0** (v2-beta line).
10+
11+
## Repository and issue tracking
12+
13+
| Before | After |
14+
| --- | --- |
15+
| Source: `github.com/contentstack/cli-cm-regex-validate` | Source: `github.com/contentstack/cli-plugins``packages/contentstack-cli-cm-regex-validate` |
16+
| Issues: cli-cm-regex-validate repo | Issues: [cli-plugins issues](https://github.com/contentstack/cli-plugins/issues) (label or mention `regex-validate`) |
17+
18+
The standalone **cli-cm-regex-validate** repository should be **archived** after the first release from cli-plugins.
19+
20+
## Version lines
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`; version `1.0.0` |
25+
| **2.x beta** | `v2-dev` / `v2-beta` | `@contentstack/cli-command ~2.0.0-beta.7`, `@contentstack/cli-utilities ~2.0.0-beta.8`; npm tag `beta`; version `2.0.0-beta.0` |
26+
27+
## Install
28+
29+
```bash
30+
csdx plugins:install @contentstack/cli-cm-regex-validate
31+
```
32+
33+
## Command (unchanged)
34+
35+
| Command | Description |
36+
| --- | --- |
37+
| `csdx cm:stacks:validate-regex` | Validate fields with regex property in Content Types and Global Fields of a Stack |
38+
39+
Flags: `-a` (token alias), `-c` (content types), `-g` (global fields), `-f` (CSV output path).
40+
41+
## Local development
42+
43+
```bash
44+
cd cli-plugins
45+
pnpm install
46+
pnpm --filter @contentstack/cli-cm-regex-validate run build
47+
pnpm --filter @contentstack/cli-cm-regex-validate test
48+
```
49+
50+
## Test framework note
51+
52+
This package uses **Jest + ts-jest** (unlike most other packages in this monorepo which use Mocha + Chai). Tests live under `packages/contentstack-cli-cm-regex-validate/test/` and run via `pnpm test` or `pnpm run test:unit`.
53+
54+
## Related migrations
55+
56+
- Content Type plugin: [CONTENT-TYPE-MIGRATION.md](./CONTENT-TYPE-MIGRATION.md)
57+
- Apps CLI: [APPS-CLI-MIGRATION.md](./APPS-CLI-MIGRATION.md)
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)