create-unisphere-project 2.3.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # create-unisphere-project
2
2
 
3
+ ## 2.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - add nx version
8
+
9
+ ## 2.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - release add documentation
14
+
15
+ ## 2.2.4
16
+
17
+ ### Patch Changes
18
+
19
+ - improvements
20
+
21
+ ## 2.2.3
22
+
23
+ ### Patch Changes
24
+
25
+ - a6434e0: release versions
26
+ - acff0ae: release versions
27
+
28
+ ## 2.2.3-v3.1
29
+
30
+ ### Patch Changes
31
+
32
+ - release versions
33
+
34
+ ## 2.2.3-v3.0
35
+
36
+ ### Patch Changes
37
+
38
+ - release versions
39
+
40
+ ## 2.3.2
41
+
42
+ ### Patch Changes
43
+
44
+ - ensure upgrading all libraries to their latest major
45
+
3
46
  ## 2.3.1
4
47
 
5
48
  ### Patch Changes
@@ -5,18 +5,21 @@ on:
5
5
 
6
6
  jobs:
7
7
  check-elements:
8
- runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
8
+ runs-on:
9
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
10
+ - instance-size:small
9
11
  outputs:
10
12
  has_packages: ${{ steps.check.outputs.has_packages }}
11
13
  has_runtimes: ${{ steps.check.outputs.has_runtimes }}
12
14
  has_applications: ${{ steps.check.outputs.has_applications }}
13
15
  steps:
16
+
14
17
  - name: Checkout Repo
15
18
  uses: actions/checkout@v4
16
19
  with:
17
20
  ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
18
21
  fetch-tags: true
19
-
22
+
20
23
  - name: Check elements in .unisphere
21
24
  id: check
22
25
  run: |
@@ -24,19 +27,19 @@ jobs:
24
27
  PACKAGES=$(jq -r '.elements.packages // {} | length' .unisphere)
25
28
  RUNTIMES=$(jq -r '(.elements.runtimes // {} | length) + (.elements.workspace // {} | length) + (.elements.loader // {} | length)' .unisphere)
26
29
  APPLICATIONS=$(jq -r '.elements.applications // {} | length' .unisphere)
27
-
30
+
28
31
  if [ "$PACKAGES" -gt 0 ]; then
29
32
  echo "has_packages=true" >> $GITHUB_OUTPUT
30
33
  else
31
34
  echo "has_packages=false" >> $GITHUB_OUTPUT
32
35
  fi
33
-
36
+
34
37
  if [ "$RUNTIMES" -gt 0 ]; then
35
38
  echo "has_runtimes=true" >> $GITHUB_OUTPUT
36
39
  else
37
40
  echo "has_runtimes=false" >> $GITHUB_OUTPUT
38
41
  fi
39
-
42
+
40
43
  if [ "$APPLICATIONS" -gt 0 ]; then
41
44
  echo "has_applications=true" >> $GITHUB_OUTPUT
42
45
  else
@@ -49,7 +52,10 @@ jobs:
49
52
  fi
50
53
 
51
54
  prepare-runtimes:
52
- runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
55
+ runs-on:
56
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
57
+ - instance-size:medium
58
+
53
59
  if: needs.check-elements.outputs.has_runtimes == 'true'
54
60
  needs: check-elements
55
61
  outputs:
@@ -57,6 +63,14 @@ jobs:
57
63
  hasArtifacts: ${{ steps.prepare-runtimes.outputs.hasArtifacts }}
58
64
  commit_sha: ${{ steps.capture_commit_sha.outputs.commit_sha }}
59
65
  steps:
66
+ - name: Cache npm
67
+ uses: actions/cache@v3
68
+ with:
69
+ path: ~/.npm
70
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
71
+ restore-keys: |
72
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
73
+
60
74
  - name: Checkout Repo
61
75
  uses: actions/checkout@v4
62
76
  with:
@@ -70,17 +84,17 @@ jobs:
70
84
  run: git reset --hard HEAD
71
85
  - name: Clean npm cache
72
86
  run: npm cache clean --force
73
-
74
- - name: Setup JFrog
87
+
88
+ - name: Setup JFrog
89
+
75
90
  uses: jfrog/setup-jfrog-cli@v4
76
91
  id: setup-jfrog
77
92
  env:
78
93
  JF_URL: https://kalturaa.jfrog.io
79
94
  with:
80
95
  oidc-provider-name: ovp-github-oidc
81
-
82
96
  - name: Install dependencies
83
- run: npm ci --include=optional
97
+ run: npm ci --prefer-offline --include=optional --no-fund --verbose
84
98
  env:
85
99
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
100
  KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
@@ -104,8 +118,18 @@ jobs:
104
118
  deploy-packages:
105
119
  if: needs.check-elements.outputs.has_packages == 'true'
106
120
  needs: check-elements
107
- runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
121
+ runs-on:
122
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
123
+ - instance-size:medium
108
124
  steps:
125
+ - name: Cache npm
126
+ uses: actions/cache@v3
127
+ with:
128
+ path: ~/.npm
129
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
130
+ restore-keys: |
131
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
132
+
109
133
  - name: Checkout Repo
110
134
  uses: actions/checkout@v4
111
135
  with:
@@ -115,18 +139,20 @@ jobs:
115
139
  uses: actions/setup-node@v4
116
140
  with:
117
141
  node-version-file: '.nvmrc'
118
-
119
- - name: Setup JFrog
142
+
143
+ - name: Setup JFrog
144
+
120
145
  uses: jfrog/setup-jfrog-cli@v4
121
146
  id: setup-jfrog
122
147
  env:
123
148
  JF_URL: https://kalturaa.jfrog.io
124
149
  with:
125
150
  oidc-provider-name: ovp-github-oidc
126
-
151
+
127
152
  - name: Install dependencies
153
+
128
154
  run: |
129
- npm ci --include=optional
155
+ npm ci --prefer-offline --include=optional --no-fund --verbose
130
156
 
131
157
  env:
132
158
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -140,12 +166,14 @@ jobs:
140
166
  # Debug token existence (safely)
141
167
  echo "::debug::Token exists: $([ ! -z "$NPM_TOKEN" ] && echo 'true' || echo 'false')"
142
168
  - name: Deploy to registry
143
- run: npx unisphere package publish --verbose --githubToken ${{ secrets.GITHUB_TOKEN }} --npmToken ${{ env.NPM_TOKEN }} --branch "${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}"
169
+ run: npx unisphere package publish --verbose --jfrogToken ${{ steps.setup-jfrog.outputs.oidc-token }} --npmToken ${{ env.NPM_TOKEN }} --branch "${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}"
144
170
 
145
171
  deploy-runtimes:
146
172
  if: needs.prepare-runtimes.outputs.hasArtifacts == 'true'
147
173
  needs: prepare-runtimes
148
- runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
174
+ runs-on:
175
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
176
+ - instance-size:medium
149
177
  strategy:
150
178
  matrix:
151
179
  envs_regions:
@@ -159,6 +187,14 @@ jobs:
159
187
  fail-fast: false
160
188
 
161
189
  steps:
190
+ - name: Cache npm
191
+ uses: actions/cache@v3
192
+ with:
193
+ path: ~/.npm
194
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
195
+ restore-keys: |
196
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
197
+
162
198
  - name: Check available disk space
163
199
  run: df -h
164
200
  - name: Checkout Repo at specific commit
@@ -170,18 +206,19 @@ jobs:
170
206
  uses: actions/setup-node@v4
171
207
  with:
172
208
  node-version-file: '.nvmrc'
173
-
174
- - name: Setup JFrog
209
+
210
+ - name: Setup JFrog
211
+
175
212
  uses: jfrog/setup-jfrog-cli@v4
176
213
  id: setup-jfrog
177
214
  env:
178
215
  JF_URL: https://kalturaa.jfrog.io
179
216
  with:
180
217
  oidc-provider-name: ovp-github-oidc
181
-
218
+
182
219
  - name: Install dependencies
183
- run: |
184
- npm ci --include=optional
220
+
221
+ run: npm ci --prefer-offline --include=optional --no-fund --verbose
185
222
  env:
186
223
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
187
224
  KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
@@ -200,17 +237,25 @@ jobs:
200
237
  --artifacts-folder '${{ needs.prepare-runtimes.outputs.unisphereElementsArtifactsFolder }}' \
201
238
  --verbose
202
239
 
203
- prepare-applications:
204
- if: needs.check-elements.outputs.has_applications == 'true'
240
+ prepare-applications:
241
+ if: always() && needs.check-elements.outputs.has_applications == 'true'
205
242
  needs: [deploy-runtimes, check-elements]
206
- runs-on:
207
- - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
243
+ runs-on:
244
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
208
245
  - instance-size:medium
209
246
  outputs:
210
247
  unisphereApplicationsArtifactsFolder: ${{ steps.prepare-applications.outputs.artifactsRootFolder }}
211
248
  hasArtifacts: ${{ steps.prepare-applications.outputs.hasArtifacts }}
212
249
  commit_sha: ${{ steps.capture_commit_sha.outputs.commit_sha }}
213
250
  steps:
251
+ - name: Cache npm
252
+ uses: actions/cache@v3
253
+ with:
254
+ path: ~/.npm
255
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
256
+ restore-keys: |
257
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
258
+
214
259
  - name: Checkout Repo
215
260
  uses: actions/checkout@v4
216
261
  with:
@@ -224,7 +269,8 @@ jobs:
224
269
  run: git reset --hard HEAD
225
270
  - name: Clean npm cache
226
271
  run: npm cache clean --force
227
- - name: Setup JFrog
272
+ - name: Setup JFrog
273
+
228
274
  uses: jfrog/setup-jfrog-cli@v4
229
275
  id: setup-jfrog
230
276
  env:
@@ -232,7 +278,8 @@ jobs:
232
278
  with:
233
279
  oidc-provider-name: ovp-github-oidc
234
280
  - name: Install dependencies
235
- run: npm ci --include=optional
281
+
282
+ run: npm ci --prefer-offline --include=optional --no-fund --verbose
236
283
  env:
237
284
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
238
285
  KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
@@ -253,10 +300,10 @@ jobs:
253
300
  retention-days: 1
254
301
 
255
302
  deploy-applications:
256
- if: needs.prepare-applications.outputs.hasArtifacts == 'true'
303
+ if: always() && needs.prepare-applications.outputs.hasArtifacts == 'true'
257
304
  needs: [prepare-applications]
258
- runs-on:
259
- - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
305
+ runs-on:
306
+ - codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.run_attempt }}
260
307
  - instance-size:medium
261
308
  strategy:
262
309
  matrix:
@@ -270,6 +317,14 @@ jobs:
270
317
  - { env: 'cap2', region: 'ca-central-1', accountid: '948632009361' }
271
318
  fail-fast: false
272
319
  steps:
320
+ - name: Cache npm
321
+ uses: actions/cache@v3
322
+ with:
323
+ path: ~/.npm
324
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
325
+ restore-keys: |
326
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
327
+
273
328
  - name: Checkout Repo at specific commit
274
329
  uses: actions/checkout@v4
275
330
  with:
@@ -279,7 +334,8 @@ jobs:
279
334
  uses: actions/setup-node@v4
280
335
  with:
281
336
  node-version-file: '.nvmrc'
282
- - name: Setup JFrog
337
+ - name: Setup JFrog
338
+
283
339
  uses: jfrog/setup-jfrog-cli@v4
284
340
  id: setup-jfrog
285
341
  env:
@@ -287,7 +343,8 @@ jobs:
287
343
  with:
288
344
  oidc-provider-name: ovp-github-oidc
289
345
  - name: Install dependencies
290
- run: npm ci --include=optional
346
+
347
+ run: npm ci --prefer-offline --include=optional --no-fund --verbose
291
348
  env:
292
349
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
293
350
  KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
@@ -303,4 +360,4 @@ jobs:
303
360
  --aws-region '${{ matrix.envs_regions.region }}' \
304
361
  --aws-arn 'arn:aws:iam::${{matrix.envs_regions.accountid }}:role/${{ matrix.envs_regions.env }}-unisphere-content-role' \
305
362
  --artifacts-folder '${{ needs.prepare-applications.outputs.unisphereApplicationsArtifactsFolder }}' \
306
- --verbose
363
+ --verbose
@@ -9,7 +9,7 @@ on:
9
9
  permissions:
10
10
  id-token: write
11
11
  contents: write
12
- packages: read
12
+ packages: write
13
13
 
14
14
  jobs:
15
15
  release:
@@ -20,6 +20,18 @@ jobs:
20
20
  outputs:
21
21
  hasChangesets: ${{ steps.changesets.outputs.hasChangesets }}
22
22
  steps:
23
+
24
+ - name: Cache npm
25
+ uses: actions/cache@v3
26
+ with:
27
+ path: ~/.npm
28
+ key: dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
29
+ restore-keys: |
30
+ dependencies-${{ runner.os }}-node-${{ hashFiles('.nvmrc') }}-
31
+
32
+ - name: Checkout Repo
33
+ uses: actions/checkout@v4
34
+
23
35
  - name: Check if part of prerelease or official release
24
36
  id: check
25
37
  run: |
@@ -34,9 +46,6 @@ jobs:
34
46
  exit 1
35
47
  fi
36
48
 
37
- - name: Checkout Repo
38
- uses: actions/checkout@v4
39
-
40
49
  - name: Setup Node.js
41
50
  uses: actions/setup-node@v4
42
51
  with:
@@ -48,6 +57,7 @@ jobs:
48
57
  repo-path: '${{ github.workspace }}'
49
58
 
50
59
  - name: Setup JFrog
60
+
51
61
  uses: jfrog/setup-jfrog-cli@v4
52
62
  id: setup-jfrog
53
63
  env:
@@ -55,8 +65,8 @@ jobs:
55
65
  with:
56
66
  oidc-provider-name: ovp-github-oidc
57
67
 
58
- - name: Install Dependencies
59
- run: npm ci --include=optional
68
+ - name: Install Dependencies
69
+ run: npm ci --prefer-offline --include=optional --no-fund
60
70
  env:
61
71
  GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
72
  KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
@@ -2,7 +2,7 @@
2
2
  "company": "{{company-name|lower-dash-case}}",
3
3
  "type": "widget",
4
4
  "name": "{{project-name|lower-dash-case}}",
5
- "schemaVersion": "1.0.0",
5
+ "schemaVersion": "2.0.0",
6
6
  "elements": {
7
7
  "applications": {},
8
8
  "runtimes": {},
@@ -42,4 +42,11 @@ Thumbs.db
42
42
  .nx/workspace-data
43
43
 
44
44
 
45
- storybook-static
45
+ storybook-static
46
+
47
+ .worktrees
48
+
49
+ # Migration files
50
+ migrations.json
51
+ ai-migrations
52
+
@@ -3,7 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
- "preinstall": "npx --yes --prefer-online --registry=https://npm.pkg.github.com --package @kaltura/kaltura-tools@latest kaltura-tools check --allow-missing --root=.",
7
6
  "postinstall": "patch-package && npm run reset",
8
7
  "start": "unisphere how-to",
9
8
  "info": "unisphere info",
@@ -36,15 +35,15 @@
36
35
  "@swc-node/register": "~1.9.1",
37
36
  "@swc/cli": "0.6.0",
38
37
  "@swc/core": "~1.5.7",
39
- "@swc/helpers": "0.5.17",
38
+ "@swc/helpers": "0.5.18",
40
39
  "@testing-library/react": "16.1.0",
41
40
  "@types/jest": "30.0.0",
42
- "@types/react": "19.2.7",
41
+ "@types/react": "19.2.9",
43
42
  "@types/react-dom": "19.2.3",
44
43
  "@typescript-eslint/eslint-plugin": "^7.3.0",
45
44
  "@typescript-eslint/parser": "^7.3.0",
46
- "@unisphere/nx": "2.0.0",
47
- "@vitejs/plugin-react": "^4.2.0",
45
+ "@unisphere/nx": "3.3.0",
46
+ "@vitejs/plugin-react": "4.7.0",
48
47
  "@vitest/coverage-v8": "^1.0.4",
49
48
  "@vitest/ui": "^1.3.1",
50
49
  "babel-jest": "30.0.5",
@@ -87,23 +86,23 @@
87
86
  "dependencies": {
88
87
  "@emotion/react": "11.14.0",
89
88
  "@emotion/styled": "11.14.1",
90
- "@kaltura/ds-react-bits": "12.2.3",
91
- "@kaltura/ds-react-components": "^12.2.3",
92
- "@kaltura/ds-react-icons": "12.2.3",
93
- "@kaltura/ds-react-theme": "12.2.3",
94
- "@kaltura/ds-react-utils": "12.2.3",
95
- "@mui/icons-material": "7.3.6",
96
- "@mui/material": "7.3.6",
97
- "@unisphere/cli": "1.57.2",
98
- "@unisphere/core": "^1.87.1",
99
- "@unisphere/notifications-core": "1.24.0",
100
- "@unisphere/notifications-runtime-react": "1.23.0",
101
- "@unisphere/runtime": "^1.86.1",
102
- "@unisphere/runtime-js": "^1.85.1",
103
- "@unisphere/runtime-react": "^1.80.1",
104
- "@unisphere/ui-i18n-react": "^1.69.0",
105
- "react": "19.2.3",
106
- "react-dom": "19.2.3",
89
+ "@kaltura/ds-react-bits": "^12.8.0",
90
+ "@kaltura/ds-react-components": "^12.8.0",
91
+ "@kaltura/ds-react-icons": "^12.8.0",
92
+ "@kaltura/ds-react-theme": "^12.8.0",
93
+ "@kaltura/ds-react-utils": "^12.8.0",
94
+ "@mui/icons-material": "7.3.7",
95
+ "@mui/material": "7.3.7",
96
+ "@unisphere/cli": "2",
97
+ "@unisphere/core": "1",
98
+ "@unisphere/notifications-core": "1",
99
+ "@unisphere/notifications-runtime-react": "1",
100
+ "@unisphere/runtime": "1",
101
+ "@unisphere/runtime-js": "1",
102
+ "@unisphere/runtime-react": "1",
103
+ "@unisphere/ui-i18n-react": "1",
104
+ "react": "19.2.4",
105
+ "react-dom": "19.2.4",
107
106
  "react-hook-form": "^7.66.0"
108
107
  },
109
108
  "optionalDependencies": {
@@ -111,6 +110,10 @@
111
110
  "@rollup/rollup-linux-x64-gnu": "4.22.4"
112
111
  },
113
112
  "workspaces": [
114
- "unisphere/**"
113
+ "unisphere/packages/**",
114
+ "unisphere/runtimes/**",
115
+ "unisphere/visuals/**",
116
+ "unisphere/applications/local/**",
117
+ "unisphere/applications/server/**"
115
118
  ]
116
119
  }
@@ -2,7 +2,7 @@ diff --git a/node_modules/@changesets/cli/dist/changesets-cli.cjs.js b/node_modu
2
2
  index 53fc925..8ee486e 100644
3
3
  --- a/node_modules/@changesets/cli/dist/changesets-cli.cjs.js
4
4
  +++ b/node_modules/@changesets/cli/dist/changesets-cli.cjs.js
5
- @@ -310,22 +310,7 @@ async function createChangeset(changedPackages, allPackages) {
5
+ @@ -310,22 +310,23 @@ async function createChangeset(changedPackages, allPackages) {
6
6
  const packagesToRelease = await getPackagesToRelease(changedPackages, allPackages);
7
7
  let pkgJsonsByName = getPkgJsonsByName(allPackages);
8
8
  let pkgsLeftToGetBumpTypeFor = new Set(packagesToRelease);
@@ -22,7 +22,23 @@ index 53fc925..8ee486e 100644
22
22
  - }
23
23
  - return x;
24
24
  - })).filter(x => x !== "all packages");
25
- + let pkgsThatShouldBeMajorBumped = [];
25
+ + let nonRuntimePackages = packagesToRelease.filter(pkgName => !pkgName.includes('unisphere-runtime-'));
26
+ + let pkgsThatShouldBeMajorBumped = nonRuntimePackages.length > 0 ? (await askCheckboxPlus(bold(`Which packages should have a ${red("major")} bump?`), [{
27
+ + name: "all packages",
28
+ + choices: nonRuntimePackages.map(pkgName => {
29
+ + return {
30
+ + name: pkgName,
31
+ + message: formatPkgNameAndVersion(pkgName, pkgJsonsByName.get(pkgName).version)
32
+ + };
33
+ + })
34
+ + }], x => {
35
+ + // this removes changed packages and unchanged packages from the list
36
+ + // of packages shown after selection
37
+ + if (Array.isArray(x)) {
38
+ + return x.filter(x => x !== "all packages").map(x => cyan(x)).join(", ");
39
+ + }
40
+ + return x;
41
+ + })).filter(x => x !== "all packages") : [];
26
42
  for (const pkgName of pkgsThatShouldBeMajorBumped) {
27
43
  // for packages that are under v1, we want to make sure major releases are intended,
28
44
  // as some repo-wide sweeping changes have mistakenly release first majors
@@ -30,7 +46,7 @@ diff --git a/node_modules/@changesets/cli/dist/changesets-cli.esm.js b/node_modu
30
46
  index 6c363c0..40aad33 100644
31
47
  --- a/node_modules/@changesets/cli/dist/changesets-cli.esm.js
32
48
  +++ b/node_modules/@changesets/cli/dist/changesets-cli.esm.js
33
- @@ -272,22 +272,7 @@ async function createChangeset(changedPackages, allPackages) {
49
+ @@ -272,22 +272,23 @@ async function createChangeset(changedPackages, allPackages) {
34
50
  const packagesToRelease = await getPackagesToRelease(changedPackages, allPackages);
35
51
  let pkgJsonsByName = getPkgJsonsByName(allPackages);
36
52
  let pkgsLeftToGetBumpTypeFor = new Set(packagesToRelease);
@@ -50,7 +66,23 @@ index 6c363c0..40aad33 100644
50
66
  - }
51
67
  - return x;
52
68
  - })).filter(x => x !== "all packages");
53
- + let pkgsThatShouldBeMajorBumped = [];
69
+ + let nonRuntimePackages = packagesToRelease.filter(pkgName => !pkgName.includes('unisphere-runtime-'));
70
+ + let pkgsThatShouldBeMajorBumped = nonRuntimePackages.length > 0 ? (await askCheckboxPlus(bold(`Which packages should have a ${red("major")} bump?`), [{
71
+ + name: "all packages",
72
+ + choices: nonRuntimePackages.map(pkgName => {
73
+ + return {
74
+ + name: pkgName,
75
+ + message: formatPkgNameAndVersion(pkgName, pkgJsonsByName.get(pkgName).version)
76
+ + };
77
+ + })
78
+ + }], x => {
79
+ + // this removes changed packages and unchanged packages from the list
80
+ + // of packages shown after selection
81
+ + if (Array.isArray(x)) {
82
+ + return x.filter(x => x !== "all packages").map(x => cyan(x)).join(", ");
83
+ + }
84
+ + return x;
85
+ + })).filter(x => x !== "all packages") : [];
54
86
  for (const pkgName of pkgsThatShouldBeMajorBumped) {
55
87
  // for packages that are under v1, we want to make sure major releases are intended,
56
88
  // as some repo-wide sweeping changes have mistakenly release first majors
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-unisphere-project",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "private": false,
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -9,7 +9,8 @@
9
9
  },
10
10
  "preferGlobal": true,
11
11
  "publishConfig": {
12
- "access": "public"
12
+ "access": "public",
13
+ "registry": "https://registry.npmjs.org/"
13
14
  },
14
15
  "author": {
15
16
  "name": "Kaltura",
@@ -1 +1 @@
1
- {"version":3,"file":"create-unisphere-repo-command.d.ts","sourceRoot":"","sources":["../../../src/lib/create-unisphere-repo-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAsC5C,eAAO,MAAM,gCAAgC,GAC3C,eAAe,OAAO,KACrB,OAqUF,CAAC"}
1
+ {"version":3,"file":"create-unisphere-repo-command.d.ts","sourceRoot":"","sources":["../../../src/lib/create-unisphere-repo-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAsC5C,eAAO,MAAM,gCAAgC,GAC3C,eAAe,OAAO,KACrB,OAuWF,CAAC"}
@@ -36,8 +36,10 @@ const validateInput = (name) => {
36
36
  };
37
37
  const createCreateUnisphereRepoCommand = (parentCommand) => {
38
38
  const command = parentCommand.command('create-unisphere-repo');
39
- const nxpluginPathOption = new commander_1.Option('--nxplugin-path <path>', 'bypass github tags checks');
39
+ const nxpluginPathOption = new commander_1.Option('--nxplugin-path <path>', 'path to local @unisphere/nx plugin for testing');
40
40
  nxpluginPathOption.hidden = true;
41
+ const clipathOption = new commander_1.Option('--cli-path <path>', 'path to local @unisphere/cli package for testing');
42
+ clipathOption.hidden = true;
41
43
  const skipTypesPackagesOption = new commander_1.Option('--skip-packages-creation', 'skip types packages creation');
42
44
  skipTypesPackagesOption.hidden = true;
43
45
  command
@@ -45,6 +47,7 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
45
47
  .option('--cwd <path>', 'The working directory', process.cwd())
46
48
  .option('--company-name <name>', 'The company name (letters, hyphens, and spaces only)')
47
49
  .addOption(nxpluginPathOption)
50
+ .addOption(clipathOption)
48
51
  .addOption(skipTypesPackagesOption)
49
52
  .option('--experience-name <name>', 'The experience name (any format)')
50
53
  .option('--is-internal-product <boolean>', 'Is internal product')
@@ -197,10 +200,34 @@ legacy-peer-deps=true`);
197
200
  ...packageJson.devDependencies,
198
201
  ...packageJson.peerDependencies,
199
202
  };
200
- const unispherePackages = Object.keys(allDependencies).filter((pkg) => pkg.startsWith('@unisphere') && pkg !== '@unisphere/nx' && pkg !== '@unisphere/cli');
203
+ const unispherePackages = Object.keys(allDependencies).filter((pkg) => pkg.startsWith('@unisphere') && pkg !== '@unisphere/nx');
201
204
  debug(`Found @unisphere packages: ${unispherePackages.join(', ')}`);
202
- const unispherePackagesToInstall = unispherePackages.map((pkg) => `${pkg}@latest`);
203
- unispherePackagesToInstall.push('@unisphere/cli@1');
205
+ const unispherePackagesToInstall = unispherePackages.map((pkg) => {
206
+ const version = allDependencies[pkg];
207
+ // Skip file: protocol versions
208
+ if (version.startsWith('file:')) {
209
+ debug(`Package ${pkg} has file version ${version}, ignore`);
210
+ return '';
211
+ }
212
+ // Extract major version from various formats: 1.2.3, ^3.3.3, ~1.2, 1.2, etc.
213
+ const majorVersion = version.match(/^[\^~]?(\d+)/)?.[1];
214
+ if (majorVersion) {
215
+ debug(`Package ${pkg} has version ${version}, using @${majorVersion}`);
216
+ return `${pkg}@${majorVersion}`;
217
+ }
218
+ debug(`Package ${pkg} has version ${version}, ignore`);
219
+ return '';
220
+ }).filter(Boolean);
221
+ // Handle @unisphere/cli separately - use local path if provided
222
+ if (options.cliPath) {
223
+ const cliLocalPath = (0, path_1.resolve)(options.cliPath);
224
+ debug(`Using local CLI path: ${cliLocalPath}`);
225
+ const existingCliPackage = unispherePackagesToInstall.find((pkg) => pkg.startsWith('@unisphere/cli'));
226
+ if (existingCliPackage) {
227
+ unispherePackagesToInstall.splice(unispherePackagesToInstall.indexOf(existingCliPackage), 1);
228
+ }
229
+ unispherePackagesToInstall.push(`@unisphere/cli@file:${cliLocalPath}`);
230
+ }
204
231
  debug(`Running: ${unispherePackagesToInstall}`);
205
232
  (0, child_process_1.execSync)(`npm install ${unispherePackagesToInstall.join(' ')} --force`, {
206
233
  cwd: newProjectPath,
@@ -229,13 +256,15 @@ legacy-peer-deps=true`);
229
256
  }
230
257
  });
231
258
  // Create widget-types.ts file in types package
232
- const widgetTypesPath = (0, path_1.resolve)(newProjectPath, 'unisphere/packages/types/src/lib/widget-types.ts');
259
+ // Determine the subdirectory based on scope (internal -> kaltura-corp, public -> unisphere)
260
+ const typesSubdirectory = _isInternalProduct ? 'kaltura-corp' : 'unisphere';
261
+ const widgetTypesPath = (0, path_1.resolve)(newProjectPath, `unisphere/packages/${typesSubdirectory}/types/src/lib/widget-types.ts`);
233
262
  const _companyName = companyName === 'kaltura' ? 'unisphere' : companyName;
234
263
  const widgetTypesContent = `export const widgetName = '${_companyName}.widget.${experienceName}' as const`;
235
264
  debug(`Creating widget-types.ts at: ${widgetTypesPath}`);
236
265
  await (0, fs_extra_1.outputFile)(widgetTypesPath, widgetTypesContent);
237
266
  const indexFileContent = `export * from './lib/widget-types';`;
238
- const indexPath = (0, path_1.resolve)(newProjectPath, 'unisphere/packages/types/src/index.ts');
267
+ const indexPath = (0, path_1.resolve)(newProjectPath, `unisphere/packages/${typesSubdirectory}/types/src/index.ts`);
239
268
  debug(`Creating index.ts at: ${indexPath}`);
240
269
  await (0, fs_extra_1.outputFile)(indexPath, indexFileContent);
241
270
  task.title = 'Types package created';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-unisphere-project",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "private": false,
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -9,7 +9,8 @@
9
9
  },
10
10
  "preferGlobal": true,
11
11
  "publishConfig": {
12
- "access": "public"
12
+ "access": "public",
13
+ "registry": "https://registry.npmjs.org/"
13
14
  },
14
15
  "author": {
15
16
  "name": "Kaltura",
@@ -52,4 +53,4 @@
52
53
  "dist",
53
54
  "!**/*.tsbuildinfo"
54
55
  ]
55
- }
56
+ }