Skip to content

Commit 5508985

Browse files
authored
Merge pull request #2433 from contentstack/v1-dev
Modularised repo changes v1
2 parents cbfec0a + cb6fb36 commit 5508985

File tree

989 files changed

+9194
-206505
lines changed

Some content is hidden

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

989 files changed

+9194
-206505
lines changed

.github/workflows/policy-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ jobs:
4343
if [ "$license_file_found" = false ]; then
4444
echo "No license file found. Please add a license file to the repository."
4545
exit 1
46-
fi
46+
fi
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Release CLI Core (v1 Beta)
2+
3+
on:
4+
push:
5+
branches: [v1-beta]
6+
paths:
7+
- 'packages/contentstack/package.json'
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: pnpm/action-setup@v4
15+
with:
16+
version: 10.28.0
17+
- uses: actions/setup-node@v4
18+
with:
19+
node-version: '22.x'
20+
21+
- name: Enable Corepack
22+
run: corepack enable
23+
24+
- name: Install pnpm
25+
run: corepack prepare pnpm@10.28.0 --activate
26+
27+
- name: Install root dependencies
28+
run: pnpm install
29+
30+
- name: Reading Configuration
31+
id: release_config
32+
uses: rgarcia-phi/json-to-variables@v1.1.0
33+
with:
34+
filename: .github/config/release.json
35+
prefix: release
36+
37+
# Core CLI
38+
- name: Installing dependencies of core
39+
id: core-installation
40+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_core == 'true'}}
41+
working-directory: ./packages/contentstack
42+
run: npm install
43+
- name: Compiling core
44+
if: ${{ steps.core-installation.conclusion == 'success' }}
45+
working-directory: ./packages/contentstack
46+
run: npm run prepack
47+
- name: Publishing core (Beta)
48+
id: publish-core
49+
uses: JS-DevTools/npm-publish@v3
50+
if: ${{ steps.core-installation.conclusion == 'success' }}
51+
with:
52+
token: ${{ secrets.NPM_TOKEN }}
53+
package: ./packages/contentstack/package.json
54+
tag: beta
55+
56+
- name: Create Core Beta Release
57+
if: ${{ steps.publish-core.conclusion == 'success' }}
58+
id: create_release
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.PKG_TOKEN }}
61+
VERSION: ${{ steps.publish-core.outputs.version }}
62+
run: |
63+
TAG="core@v${VERSION}"
64+
if gh release view "$TAG" &>/dev/null; then
65+
echo "Release $TAG already exists — skipping."
66+
else
67+
gh release create "$TAG" \
68+
--title "Core Beta $VERSION" \
69+
--generate-notes \
70+
--prerelease
71+
fi
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
name: Release CLI Platform Plugins (v1 Beta)
2+
3+
on:
4+
push:
5+
branches: [v1-beta]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: pnpm/action-setup@v4
13+
with:
14+
version: 10.28.0
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: '22.x'
18+
19+
- name: Enable Corepack
20+
run: corepack enable
21+
22+
- name: Install pnpm
23+
run: corepack prepare pnpm@10.28.0 --activate
24+
25+
- name: Install root dependencies
26+
run: pnpm install
27+
28+
- name: Reading Configuration
29+
id: release_config
30+
uses: rgarcia-phi/json-to-variables@v1.1.0
31+
with:
32+
filename: .github/config/release.json
33+
prefix: release
34+
35+
# Dev Dependencies
36+
- name: Installing dependencies of dev dependencies
37+
id: dev-dependencies-installation
38+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_dev-dependencies == 'true'}}
39+
working-directory: ./packages/contentstack-dev-dependencies
40+
run: npm install
41+
- name: Compiling dev dependencies
42+
if: ${{ steps.dev-dependencies-installation.conclusion == 'success' }}
43+
working-directory: ./packages/contentstack-dev-dependencies
44+
run: npm run prepack
45+
- name: Publishing dev dependencies (Beta)
46+
uses: JS-DevTools/npm-publish@v3
47+
if: ${{ steps.dev-dependencies-installation.conclusion == 'success' }}
48+
with:
49+
token: ${{ secrets.NPM_TOKEN }}
50+
package: ./packages/contentstack-dev-dependencies/package.json
51+
tag: beta
52+
53+
# Utilities
54+
- name: Installing dependencies of utilities
55+
id: utilities-installation
56+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_utilities == 'true'}}
57+
working-directory: ./packages/contentstack-utilities
58+
run: npm install
59+
- name: Compiling utilities
60+
if: ${{ steps.utilities-installation.conclusion == 'success' }}
61+
working-directory: ./packages/contentstack-utilities
62+
run: npm run prepack
63+
- name: Publishing utilities (Beta)
64+
uses: JS-DevTools/npm-publish@v3
65+
if: ${{ steps.utilities-installation.conclusion == 'success' }}
66+
with:
67+
token: ${{ secrets.NPM_TOKEN }}
68+
package: ./packages/contentstack-utilities/package.json
69+
tag: beta
70+
71+
# Command
72+
- name: Installing dependencies of command
73+
id: command-installation
74+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_command == 'true'}}
75+
working-directory: ./packages/contentstack-command
76+
run: npm install
77+
- name: Compiling command
78+
if: ${{ steps.command-installation.conclusion == 'success' }}
79+
working-directory: ./packages/contentstack-command
80+
run: npm run prepack
81+
- name: Publishing command (Beta)
82+
uses: JS-DevTools/npm-publish@v3
83+
if: ${{ steps.command-installation.conclusion == 'success' }}
84+
with:
85+
token: ${{ secrets.NPM_TOKEN }}
86+
package: ./packages/contentstack-command/package.json
87+
tag: beta
88+
89+
# Config
90+
- name: Installing dependencies of config
91+
id: config-installation
92+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_config == 'true'}}
93+
working-directory: ./packages/contentstack-config
94+
run: npm install
95+
- name: Compiling config
96+
if: ${{ steps.config-installation.conclusion == 'success' }}
97+
working-directory: ./packages/contentstack-config
98+
run: npm run prepack
99+
- name: Publishing config (Beta)
100+
uses: JS-DevTools/npm-publish@v3
101+
if: ${{ steps.config-installation.conclusion == 'success' }}
102+
with:
103+
token: ${{ secrets.NPM_TOKEN }}
104+
package: ./packages/contentstack-config/package.json
105+
tag: beta
106+
107+
# Auth
108+
- name: Installing dependencies of auth
109+
id: auth-installation
110+
if: ${{env.release_releaseAll == 'true' || env.release_plugins_auth == 'true'}}
111+
working-directory: ./packages/contentstack-auth
112+
run: npm install
113+
- name: Compiling auth
114+
if: ${{ steps.auth-installation.conclusion == 'success' }}
115+
working-directory: ./packages/contentstack-auth
116+
run: npm run prepack
117+
- name: Publishing auth (Beta)
118+
uses: JS-DevTools/npm-publish@v3
119+
if: ${{ steps.auth-installation.conclusion == 'success' }}
120+
with:
121+
token: ${{ secrets.NPM_TOKEN }}
122+
package: ./packages/contentstack-auth/package.json
123+
tag: beta

.github/workflows/unit-test.yml

Lines changed: 18 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -11,104 +11,38 @@ jobs:
1111
- name: Checkout code
1212
uses: actions/checkout@v4
1313

14+
- name: Setup pnpm
15+
uses: pnpm/action-setup@v4
16+
with:
17+
version: 10.28.0 # or your local pnpm version
18+
1419
- name: Set up Node.js
1520
uses: actions/setup-node@v4
1621
with:
1722
node-version: '22.x'
23+
cache: 'pnpm' # optional but recommended
1824

19-
- name: Install dependencies for all plugins
20-
run: |
21-
NODE_ENV=PREPACK_MODE npm run setup-repo-old
25+
# - name: Temporarily disable contentstack package
26+
# run: mv packages/contentstack/package.json packages/contentstack/package.json.disabled || true
2227

23-
- name: Run tests for Contentstack Command
24-
working-directory: ./packages/contentstack-command
25-
run: npm run test:unit
28+
- name: Install Dependencies (Excluding Contentstack)
29+
run: pnpm install --frozen-lockfile
2630

27-
- name: Run tests for Contentstack Import Plugin
28-
working-directory: ./packages/contentstack-import
29-
run: npm run test:unit
31+
- name: Build all plugins (Excluding Contentstack)
32+
run: |
33+
NODE_ENV=PREPACK_MODE pnpm -r --sort run build
3034
31-
- name: Run tests for Contentstack Export Plugin
32-
working-directory: ./packages/contentstack-export
33-
run: npm run test:unit
35+
# - name: Restore contentstack package
36+
# run: mv packages/contentstack/package.json.disabled packages/contentstack/package.json || true
3437

35-
- name: Run tests for Audit plugin
36-
working-directory: ./packages/contentstack-audit
38+
- name: Run tests for Contentstack Command
39+
working-directory: ./packages/contentstack-command
3740
run: npm run test:unit
3841

3942
- name: Run tests for Contentstack Config
4043
working-directory: ./packages/contentstack-config
41-
run: npm run test
42-
43-
- name: Run tests for Contentstack Migrate RTE
44-
working-directory: ./packages/contentstack-migrate-rte
45-
run: npm run test
46-
47-
- name: Run tests for Contentstack Migration
48-
working-directory: ./packages/contentstack-migration
49-
run: npm run test
50-
51-
- name: Run tests for Contentstack Export To CSV
52-
working-directory: ./packages/contentstack-export-to-csv
5344
run: npm run test:unit
5445

55-
- name: Run tests for Contentstack Bootstrap
56-
working-directory: ./packages/contentstack-bootstrap
57-
run: npm run test
58-
5946
- name: Run tests for Contentstack Auth
6047
working-directory: ./packages/contentstack-auth
61-
run: npm run test:unit
62-
63-
# - name: Run tests for Contentstack Import Setup
64-
# working-directory: ./packages/contentstack-import-setup
65-
# run: npm run test:unit
66-
67-
- name: Run tests for Contentstack Bulk Publish
68-
working-directory: ./packages/contentstack-bulk-publish
69-
run: npm run test:unit
70-
71-
- name: Run tests for Contentstack Branches
72-
working-directory: ./packages/contentstack-branches
73-
run: npm run test:unit
74-
75-
- name: Run tests for Contentstack Clone
76-
working-directory: ./packages/contentstack-clone
77-
run: npm run test:unit
78-
79-
# - name: Fetch latest references
80-
# run: |
81-
# git fetch --prune
82-
83-
# - name: Identify Changed Plugins
84-
# id: changes
85-
# run: |
86-
# echo "Finding changed files..."
87-
# # Ensure both commit references are valid
88-
# if [[ -z "${{ github.event.before }}" || -z "${{ github.sha }}" ]]; then
89-
# echo "Error: Missing commit references"
90-
# exit 1
91-
# fi
92-
93-
# CHANGED_FILES=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }})
94-
# echo "Changed files:"
95-
# echo "$CHANGED_FILES"
96-
97-
# # Identify affected plugins
98-
# AFFECTED_PLUGINS=$(echo "$CHANGED_FILES" | grep -oP '(?<=^packages/)([^/]+)' | sort -u | tr '\n' ' ')
99-
# echo "Affected plugins: $AFFECTED_PLUGINS"
100-
101-
# # Set output for the next step
102-
# echo "::set-output name=affected_plugins::$AFFECTED_PLUGINS"
103-
104-
# - name: Run Unit Tests for Affected Plugins
105-
# run: |
106-
# for plugin in ${{ steps.changes.outputs.affected_plugins }}; do
107-
# echo "Checking if tests should run for $plugin..."
108-
# if [[ "$plugin" == "contentstack-audit" ]]; then
109-
# echo "Running tests for contentstack-audit..."
110-
# npm run test:unit --prefix ./packages/contentstack-audit
111-
# else
112-
# echo "contentstack-audit has not changed. Skipping tests."
113-
# fi
114-
# done
48+
run: NODE_ENV=PREPACK_MODE npm run test:unit

.npmrc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
# shamefully-hoist=true
1+
# Use workspace protocol for local development
2+
link-workspace-packages=true
3+
prefer-workspace-packages=true
4+
5+
# Hoist dependencies to root node_modules
6+
shamefully-hoist=true
7+
8+
# Use strict peer dependencies
9+
strict-peer-dependencies=false

.talismanrc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
fileignoreconfig:
2-
- filename: package-lock.json
3-
checksum: c91b9e5fba1c84c0b6de15ad2f8cce698a5c781c9db31bebb7a3ad63ee88d9e1
4-
- filename: pnpm-lock.yaml
5-
checksum: 8405d813bbcc584a7540542acfdbc27f5b8768da60354b7eff9f6cd93c3d832d
6-
- filename: packages/contentstack-bootstrap/src/bootstrap/utils.ts
7-
checksum: 6e6fb00bb11b03141e5ad27eeaa4af9718dc30520c3e73970bc208cc0ba2a7d2
2+
- filename: package-lock.json
3+
checksum: c91b9e5fba1c84c0b6de15ad2f8cce698a5c781c9db31bebb7a3ad63ee88d9e1
4+
- filename: pnpm-lock.yaml
5+
checksum: cd3f55a64a28b62847a9519afe256177012e2e57a9dd17268b6aa3dcd95c92f7
6+
- filename: packages/contentstack-bootstrap/src/bootstrap/utils.ts
7+
checksum: 6e6fb00bb11b03141e5ad27eeaa4af9718dc30520c3e73970bc208cc0ba2a7d2
88
version: '1.0'

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
echo 'Installing Contentstack CLI'
4-
npm run setup-repo || { echo -e '\e[31mFailed to install root dependencies.' && exit 1; }
4+
npm run setup || { echo -e '\e[31mFailed to install root dependencies.' && exit 1; }
55
echo 'Installtion, Done!!!'
66
cd packages/contentstack || { echo -e '\e[31mCould not found the working directory.' && exit 1; }
77
./bin/run --help

0 commit comments

Comments
 (0)