create-unisphere-project 1.2.4 → 2.0.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/_templates/unisphere-project/.github/workflows/_publish-artifacts.yml +132 -21
- package/_templates/unisphere-project/.github/workflows/cicd.yml +28 -4
- package/_templates/unisphere-project/README.md +134 -1
- package/_templates/unisphere-project/package.json +49 -53
- package/_templates/unisphere-project/patches/{@changesets+cli+2.27.11.patch → @changesets+cli+2.29.7.patch} +8 -44
- package/_templates/unisphere-project/patches/{@nx+rollup+22.0.2.patch → @nx+rollup+22.1.3.patch} +27 -34
- package/package.json +1 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/lib/create-unisphere-repo-command.js +57 -64
- package/src/lib/create-unisphere-repo-command.js.map +1 -1
- package/_templates/unisphere-project/package-lock.json +0 -38772
|
@@ -4,16 +4,61 @@ on:
|
|
|
4
4
|
workflow_call:
|
|
5
5
|
|
|
6
6
|
jobs:
|
|
7
|
-
|
|
7
|
+
check-elements:
|
|
8
8
|
runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
|
|
9
|
+
outputs:
|
|
10
|
+
has_packages: ${{ steps.check.outputs.has_packages }}
|
|
11
|
+
has_runtimes: ${{ steps.check.outputs.has_runtimes }}
|
|
12
|
+
has_applications: ${{ steps.check.outputs.has_applications }}
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout Repo
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
|
|
18
|
+
fetch-tags: true
|
|
19
|
+
|
|
20
|
+
- name: Check elements in .unisphere
|
|
21
|
+
id: check
|
|
22
|
+
run: |
|
|
23
|
+
if [ -f .unisphere ]; then
|
|
24
|
+
PACKAGES=$(jq -r '.elements.packages // {} | length' .unisphere)
|
|
25
|
+
RUNTIMES=$(jq -r '(.elements.runtimes // {} | length) + (.elements.workspace // {} | length) + (.elements.loader // {} | length)' .unisphere)
|
|
26
|
+
APPLICATIONS=$(jq -r '.elements.applications // {} | length' .unisphere)
|
|
27
|
+
|
|
28
|
+
if [ "$PACKAGES" -gt 0 ]; then
|
|
29
|
+
echo "has_packages=true" >> $GITHUB_OUTPUT
|
|
30
|
+
else
|
|
31
|
+
echo "has_packages=false" >> $GITHUB_OUTPUT
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
if [ "$RUNTIMES" -gt 0 ]; then
|
|
35
|
+
echo "has_runtimes=true" >> $GITHUB_OUTPUT
|
|
36
|
+
else
|
|
37
|
+
echo "has_runtimes=false" >> $GITHUB_OUTPUT
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
if [ "$APPLICATIONS" -gt 0 ]; then
|
|
41
|
+
echo "has_applications=true" >> $GITHUB_OUTPUT
|
|
42
|
+
else
|
|
43
|
+
echo "has_applications=false" >> $GITHUB_OUTPUT
|
|
44
|
+
fi
|
|
45
|
+
else
|
|
46
|
+
echo "has_packages=false" >> $GITHUB_OUTPUT
|
|
47
|
+
echo "has_runtimes=false" >> $GITHUB_OUTPUT
|
|
48
|
+
echo "has_applications=false" >> $GITHUB_OUTPUT
|
|
49
|
+
fi
|
|
9
50
|
|
|
51
|
+
prepare-runtimes:
|
|
52
|
+
runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
|
|
53
|
+
if: needs.check-elements.outputs.has_runtimes == 'true'
|
|
54
|
+
needs: check-elements
|
|
10
55
|
outputs:
|
|
11
56
|
unisphereElementsArtifactsFolder: ${{ steps.prepare-runtimes.outputs.artifactsRootFolder }}
|
|
12
57
|
hasArtifacts: ${{ steps.prepare-runtimes.outputs.hasArtifacts }}
|
|
13
58
|
commit_sha: ${{ steps.capture_commit_sha.outputs.commit_sha }}
|
|
14
59
|
steps:
|
|
15
60
|
- name: Checkout Repo
|
|
16
|
-
uses: actions/checkout@
|
|
61
|
+
uses: actions/checkout@v4
|
|
17
62
|
with:
|
|
18
63
|
ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
|
|
19
64
|
fetch-tags: true
|
|
@@ -25,10 +70,21 @@ jobs:
|
|
|
25
70
|
run: git reset --hard HEAD
|
|
26
71
|
- name: Clean npm cache
|
|
27
72
|
run: npm cache clean --force
|
|
73
|
+
|
|
74
|
+
- name: Setup JFrog
|
|
75
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
76
|
+
id: setup-jfrog
|
|
77
|
+
env:
|
|
78
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
79
|
+
with:
|
|
80
|
+
oidc-provider-name: ovp-github-oidc
|
|
81
|
+
|
|
28
82
|
- name: Install dependencies
|
|
29
|
-
run: npm ci --
|
|
83
|
+
run: npm ci --ignore-scripts
|
|
30
84
|
env:
|
|
31
85
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
86
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
87
|
+
|
|
32
88
|
- name: Prepare Unisphere Elements
|
|
33
89
|
id: prepare-runtimes
|
|
34
90
|
run: npx unisphere runtime publish prepare --verbose
|
|
@@ -46,21 +102,36 @@ jobs:
|
|
|
46
102
|
retention-days: 1
|
|
47
103
|
|
|
48
104
|
deploy-packages:
|
|
105
|
+
if: needs.check-elements.outputs.has_packages == 'true'
|
|
106
|
+
needs: check-elements
|
|
49
107
|
runs-on: codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
|
|
50
108
|
steps:
|
|
51
109
|
- name: Checkout Repo
|
|
52
|
-
uses: actions/checkout@
|
|
110
|
+
uses: actions/checkout@v4
|
|
53
111
|
with:
|
|
54
112
|
ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
|
|
55
113
|
fetch-tags: true
|
|
56
114
|
- name: Setup Node.js
|
|
57
115
|
uses: actions/setup-node@v4
|
|
58
116
|
with:
|
|
59
|
-
node-version:
|
|
117
|
+
node-version-file: '.nvmrc'
|
|
118
|
+
|
|
119
|
+
- name: Setup JFrog
|
|
120
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
121
|
+
id: setup-jfrog
|
|
122
|
+
env:
|
|
123
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
124
|
+
with:
|
|
125
|
+
oidc-provider-name: ovp-github-oidc
|
|
126
|
+
|
|
60
127
|
- name: Install dependencies
|
|
61
|
-
run:
|
|
128
|
+
run: |
|
|
129
|
+
npm ci --ignore-scripts
|
|
130
|
+
|
|
62
131
|
env:
|
|
63
132
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
133
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
134
|
+
|
|
64
135
|
- name: Get NPM Token from AWS Secrets Manager
|
|
65
136
|
id: get-npm-token
|
|
66
137
|
run: |
|
|
@@ -82,22 +153,39 @@ jobs:
|
|
|
82
153
|
- { env: 'frp2', region: 'eu-central-1', accountid: '082111255551' }
|
|
83
154
|
- { env: 'irp2', region: 'eu-west-1', accountid: '137576761235' }
|
|
84
155
|
- { env: 'nvq2', region: 'us-east-1', accountid: '383697330906' }
|
|
156
|
+
- { env: 'sgp2', region: 'ap-southeast-1', accountid: '882351240370' }
|
|
157
|
+
- { env: 'syp2', region: 'ap-southeast-2', accountid: '650755435642' }
|
|
158
|
+
- { env: 'cap2', region: 'ca-central-1', accountid: '948632009361' }
|
|
85
159
|
fail-fast: false
|
|
86
160
|
|
|
87
161
|
steps:
|
|
162
|
+
- name: Check available disk space
|
|
163
|
+
run: df -h
|
|
88
164
|
- name: Checkout Repo at specific commit
|
|
89
|
-
uses: actions/checkout@
|
|
165
|
+
uses: actions/checkout@v4
|
|
90
166
|
with:
|
|
91
167
|
ref: ${{ needs.prepare-runtimes.outputs.commit_sha }}
|
|
92
168
|
fetch-tags: true
|
|
93
169
|
- name: Setup Node.js
|
|
94
170
|
uses: actions/setup-node@v4
|
|
95
171
|
with:
|
|
96
|
-
node-version:
|
|
172
|
+
node-version-file: '.nvmrc'
|
|
173
|
+
|
|
174
|
+
- name: Setup JFrog
|
|
175
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
176
|
+
id: setup-jfrog
|
|
177
|
+
env:
|
|
178
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
179
|
+
with:
|
|
180
|
+
oidc-provider-name: ovp-github-oidc
|
|
181
|
+
|
|
97
182
|
- name: Install dependencies
|
|
98
|
-
run:
|
|
183
|
+
run: |
|
|
184
|
+
npm ci --ignore-scripts
|
|
99
185
|
env:
|
|
100
186
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
187
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
188
|
+
|
|
101
189
|
- name: Download artifacts folder
|
|
102
190
|
uses: actions/download-artifact@v4
|
|
103
191
|
with:
|
|
@@ -112,16 +200,19 @@ jobs:
|
|
|
112
200
|
--artifacts-folder '${{ needs.prepare-runtimes.outputs.unisphereElementsArtifactsFolder }}' \
|
|
113
201
|
--verbose
|
|
114
202
|
|
|
115
|
-
prepare-applications:
|
|
116
|
-
|
|
117
|
-
|
|
203
|
+
prepare-applications:
|
|
204
|
+
if: needs.check-elements.outputs.has_applications == 'true'
|
|
205
|
+
needs: [deploy-runtimes, check-elements]
|
|
206
|
+
runs-on:
|
|
207
|
+
- codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
|
|
208
|
+
- instance-size:medium
|
|
118
209
|
outputs:
|
|
119
210
|
unisphereApplicationsArtifactsFolder: ${{ steps.prepare-applications.outputs.artifactsRootFolder }}
|
|
120
211
|
hasArtifacts: ${{ steps.prepare-applications.outputs.hasArtifacts }}
|
|
121
212
|
commit_sha: ${{ steps.capture_commit_sha.outputs.commit_sha }}
|
|
122
213
|
steps:
|
|
123
214
|
- name: Checkout Repo
|
|
124
|
-
uses: actions/checkout@
|
|
215
|
+
uses: actions/checkout@v4
|
|
125
216
|
with:
|
|
126
217
|
ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
|
|
127
218
|
fetch-tags: true
|
|
@@ -133,10 +224,18 @@ jobs:
|
|
|
133
224
|
run: git reset --hard HEAD
|
|
134
225
|
- name: Clean npm cache
|
|
135
226
|
run: npm cache clean --force
|
|
227
|
+
- name: Setup JFrog
|
|
228
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
229
|
+
id: setup-jfrog
|
|
230
|
+
env:
|
|
231
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
232
|
+
with:
|
|
233
|
+
oidc-provider-name: ovp-github-oidc
|
|
136
234
|
- name: Install dependencies
|
|
137
|
-
run: npm ci --
|
|
235
|
+
run: npm ci --ignore-scripts
|
|
138
236
|
env:
|
|
139
237
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
238
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
140
239
|
- name: Prepare Unisphere Applications
|
|
141
240
|
id: prepare-applications
|
|
142
241
|
run: npx unisphere application publish prepare --verbose
|
|
@@ -155,8 +254,10 @@ jobs:
|
|
|
155
254
|
|
|
156
255
|
deploy-applications:
|
|
157
256
|
if: needs.prepare-applications.outputs.hasArtifacts == 'true'
|
|
158
|
-
needs: prepare-applications
|
|
159
|
-
runs-on:
|
|
257
|
+
needs: [prepare-applications]
|
|
258
|
+
runs-on:
|
|
259
|
+
- codebuild-ovp-unisphere-runner-${{ github.run_id }}-${{ github.attempt }}
|
|
260
|
+
- instance-size:medium
|
|
160
261
|
strategy:
|
|
161
262
|
matrix:
|
|
162
263
|
envs_regions:
|
|
@@ -164,22 +265,32 @@ jobs:
|
|
|
164
265
|
- { env: 'frp2', region: 'eu-central-1', accountid: '082111255551' }
|
|
165
266
|
- { env: 'irp2', region: 'eu-west-1', accountid: '137576761235' }
|
|
166
267
|
- { env: 'nvq2', region: 'us-east-1', accountid: '383697330906' }
|
|
268
|
+
- { env: 'sgp2', region: 'ap-southeast-1', accountid: '882351240370' }
|
|
269
|
+
- { env: 'syp2', region: 'ap-southeast-2', accountid: '650755435642' }
|
|
270
|
+
- { env: 'cap2', region: 'ca-central-1', accountid: '948632009361' }
|
|
167
271
|
fail-fast: false
|
|
168
|
-
|
|
169
272
|
steps:
|
|
170
273
|
- name: Checkout Repo at specific commit
|
|
171
|
-
uses: actions/checkout@
|
|
274
|
+
uses: actions/checkout@v4
|
|
172
275
|
with:
|
|
173
276
|
ref: ${{ needs.prepare-applications.outputs.commit_sha }}
|
|
174
277
|
fetch-tags: true
|
|
175
278
|
- name: Setup Node.js
|
|
176
279
|
uses: actions/setup-node@v4
|
|
177
280
|
with:
|
|
178
|
-
node-version:
|
|
281
|
+
node-version-file: '.nvmrc'
|
|
282
|
+
- name: Setup JFrog
|
|
283
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
284
|
+
id: setup-jfrog
|
|
285
|
+
env:
|
|
286
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
287
|
+
with:
|
|
288
|
+
oidc-provider-name: ovp-github-oidc
|
|
179
289
|
- name: Install dependencies
|
|
180
|
-
run: npm ci --
|
|
290
|
+
run: npm ci --ignore-scripts
|
|
181
291
|
env:
|
|
182
292
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
293
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
183
294
|
- name: Download artifacts folder
|
|
184
295
|
uses: actions/download-artifact@v4
|
|
185
296
|
with:
|
|
@@ -192,4 +303,4 @@ jobs:
|
|
|
192
303
|
--aws-region '${{ matrix.envs_regions.region }}' \
|
|
193
304
|
--aws-arn 'arn:aws:iam::${{matrix.envs_regions.accountid }}:role/${{ matrix.envs_regions.env }}-unisphere-content-role' \
|
|
194
305
|
--artifacts-folder '${{ needs.prepare-applications.outputs.unisphereApplicationsArtifactsFolder }}' \
|
|
195
|
-
--verbose
|
|
306
|
+
--verbose
|
|
@@ -6,6 +6,11 @@ on:
|
|
|
6
6
|
- main
|
|
7
7
|
- 'prerelease/**'
|
|
8
8
|
|
|
9
|
+
permissions:
|
|
10
|
+
id-token: write
|
|
11
|
+
contents: write
|
|
12
|
+
packages: read
|
|
13
|
+
|
|
9
14
|
jobs:
|
|
10
15
|
release:
|
|
11
16
|
name: Release
|
|
@@ -18,24 +23,43 @@ jobs:
|
|
|
18
23
|
- name: Check if part of prerelease or official release
|
|
19
24
|
id: check
|
|
20
25
|
run: |
|
|
21
|
-
if [
|
|
26
|
+
if [ "${{ github.ref }}" = "refs/heads/main" ] && [ -f ".changeset/pre.json" ]; then
|
|
27
|
+
echo "main branch should not have pre.json file, skipping job"
|
|
28
|
+
exit 1
|
|
29
|
+
elif [[ "${{ github.ref }}" == "refs/heads/prerelease/"* ]] && [ ! -f ".changeset/pre.json" ]; then
|
|
30
|
+
echo "prerelease branch must have pre.json file, skipping job"
|
|
31
|
+
exit 1
|
|
32
|
+
elif [ "${{ github.ref }}" != "refs/heads/main" ] && [[ "${{ github.ref }}" != "refs/heads/prerelease/"* ]]; then
|
|
22
33
|
echo "not part of prerelease or official release, skipping job"
|
|
23
|
-
|
|
24
|
-
exit 0
|
|
34
|
+
exit 1
|
|
25
35
|
fi
|
|
26
36
|
|
|
27
37
|
- name: Checkout Repo
|
|
28
|
-
uses: actions/checkout@
|
|
38
|
+
uses: actions/checkout@v4
|
|
29
39
|
|
|
30
40
|
- name: Setup Node.js
|
|
31
41
|
uses: actions/setup-node@v4
|
|
32
42
|
with:
|
|
33
43
|
node-version-file: '.nvmrc'
|
|
34
44
|
|
|
45
|
+
- name: Run Kaltura Tools Check
|
|
46
|
+
uses: kaltura/kaltura-tools@unisphere
|
|
47
|
+
with:
|
|
48
|
+
repo-path: '${{ github.workspace }}'
|
|
49
|
+
|
|
50
|
+
- name: Setup JFrog
|
|
51
|
+
uses: jfrog/setup-jfrog-cli@v4
|
|
52
|
+
id: setup-jfrog
|
|
53
|
+
env:
|
|
54
|
+
JF_URL: https://kalturaa.jfrog.io
|
|
55
|
+
with:
|
|
56
|
+
oidc-provider-name: ovp-github-oidc
|
|
57
|
+
|
|
35
58
|
- name: Install Dependencies
|
|
36
59
|
run: npm ci --include=optional
|
|
37
60
|
env:
|
|
38
61
|
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
62
|
+
KALTURA_JFROG_TOKEN: ${{ steps.setup-jfrog.outputs.oidc-token }}
|
|
39
63
|
|
|
40
64
|
- name: Create Release Pull Request or Publish to npm
|
|
41
65
|
id: changesets
|
|
@@ -1 +1,134 @@
|
|
|
1
|
-
# Unisphere {{company-name|human-readable}} {{project-name|human-readable}}
|
|
1
|
+
# Unisphere - {{company-name|human-readable}} {{project-name|human-readable}}
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This repository is a **Unisphere workspace** for an experience named **{{project-name|human-readable}}**.
|
|
6
|
+
|
|
7
|
+
It contains everything you need to:
|
|
8
|
+
- Create and publish npm / JFrog packages
|
|
9
|
+
- Bundle and version runtime artifacts
|
|
10
|
+
- Build and deploy applications
|
|
11
|
+
- Develop locally and promote changes to production
|
|
12
|
+
|
|
13
|
+
The Unisphere workspace acts as the single entry point for the entire lifecycle — from local development, through CI/CD, and all the way to production deployment.
|
|
14
|
+
|
|
15
|
+
To better understand the ideas behind Unisphere and how it works, read more at:
|
|
16
|
+
https://unisphere.kaltura.com/
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
At the moment, **deploying Unisphere experiences is available only to Kaltura employees**.
|
|
23
|
+
|
|
24
|
+
Before doing anything else, make sure your machine is properly configured to access:
|
|
25
|
+
- Kaltura GitHub repositories
|
|
26
|
+
- Kaltura JFrog Artifactory registries
|
|
27
|
+
|
|
28
|
+
Follow the setup guide here:
|
|
29
|
+
https://unisphere.kaltura.com/docs/create/kaltura-employees/setup-machine
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Add the Experience to Kaltura Github Organization
|
|
34
|
+
|
|
35
|
+
Before you can deploy or activate this experience, it must be registered in Github under Kaltura Organization.
|
|
36
|
+
|
|
37
|
+
This step connects your Unisphere workspace to the relevant Kaltura infrastructure and enables CI/CD, deployment, and activation flows.
|
|
38
|
+
|
|
39
|
+
Follow the guide here:
|
|
40
|
+
https://unisphere.kaltura.com/docs/create/devops/create-github-repository
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Create Artifacts
|
|
45
|
+
|
|
46
|
+
Unisphere allows you to create and manage different types of artifacts, including:
|
|
47
|
+
- Packages
|
|
48
|
+
- Runtimes
|
|
49
|
+
- Applications
|
|
50
|
+
|
|
51
|
+
Each artifact type has its own role in the ecosystem, but they all live and evolve together inside this workspace.
|
|
52
|
+
|
|
53
|
+
Read more about creating artifacts here:
|
|
54
|
+
https://unisphere.kaltura.com/docs/create/overview
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Deploy
|
|
59
|
+
|
|
60
|
+
To deploy **packages, applications, and runtimes**, follow the deployment guide:
|
|
61
|
+
https://unisphere.kaltura.com/docs/create/devops/deploy
|
|
62
|
+
|
|
63
|
+
For **applications and runtimes**, deployment is only part of the process.
|
|
64
|
+
After deployment, they must also be activated to become available in production.
|
|
65
|
+
|
|
66
|
+
Activation guide:
|
|
67
|
+
https://unisphere.kaltura.com/docs/create/devops/activate
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Local Development
|
|
72
|
+
|
|
73
|
+
Unisphere provides a structured local development flow that mirrors production as closely as possible, while still keeping things fast and developer-friendly.
|
|
74
|
+
|
|
75
|
+
This includes:
|
|
76
|
+
- Local builds
|
|
77
|
+
- Watching and rebuilding artifacts
|
|
78
|
+
- Running applications in isolation or as part of a larger workspace
|
|
79
|
+
|
|
80
|
+
Read more about local development here:
|
|
81
|
+
https://unisphere.kaltura.com/docs/create/local-development
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Available Commands
|
|
86
|
+
|
|
87
|
+
This workspace exposes a small set of opinionated commands to help you explore, validate, and manage the experience.
|
|
88
|
+
|
|
89
|
+
### Start
|
|
90
|
+
Lists all available commands for each artifact in the experience, including how to build and serve runtimes, and how to spawn applications.
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm run start
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
### Info
|
|
98
|
+
Displays information about the current workspace, including detected artifacts, configuration, and environment details.
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm run info
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Check
|
|
105
|
+
Validates the workspace setup and verifies that all required artifacts and configurations are in place.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm run check
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Reset
|
|
112
|
+
Resets the workspace to a clean state. Useful when experimenting or when local state becomes inconsistent.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm run reset
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Next Steps
|
|
122
|
+
|
|
123
|
+
If this is your first time working with Unisphere, a great next step is to **create a runtime with a playground**.
|
|
124
|
+
|
|
125
|
+
Follow the Hello World walkthrough here:
|
|
126
|
+
[https://unisphere.kaltura.com/docs/create/overview](https://unisphere.kaltura.com/docs/create/overview)
|
|
127
|
+
|
|
128
|
+
The walkthrough will guide you through:
|
|
129
|
+
|
|
130
|
+
* Creating your first runtime
|
|
131
|
+
* Running it locally with a playground
|
|
132
|
+
* Understanding how runtimes, packages, and applications connect together
|
|
133
|
+
|
|
134
|
+
This will give you a strong foundation for building and evolving the experience over time.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
2
|
+
"name": "{{company-name|lower-dash-case}}-{{project-name|lower-dash-case}}/source",
|
|
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=.",
|
|
6
7
|
"postinstall": "patch-package && npm run reset",
|
|
7
8
|
"start": "unisphere how-to",
|
|
8
9
|
"info": "unisphere info",
|
|
@@ -15,17 +16,17 @@
|
|
|
15
16
|
"devDependencies": {
|
|
16
17
|
"@babel/core": "^7.14.5",
|
|
17
18
|
"@babel/preset-react": "^7.14.5",
|
|
18
|
-
"@changesets/cli": "2.
|
|
19
|
-
"@nx/eslint": "22.
|
|
20
|
-
"@nx/eslint-plugin": "22.
|
|
21
|
-
"@nx/jest": "22.
|
|
22
|
-
"@nx/js": "22.
|
|
23
|
-
"@nx/react": "22.
|
|
24
|
-
"@nx/rollup": "22.
|
|
25
|
-
"@nx/vite": "22.
|
|
26
|
-
"@nx/web": "22.
|
|
27
|
-
"@nx/webpack": "22.
|
|
28
|
-
"@nx/workspace": "22.
|
|
19
|
+
"@changesets/cli": "2.29.7",
|
|
20
|
+
"@nx/eslint": "22.1.3",
|
|
21
|
+
"@nx/eslint-plugin": "22.1.3",
|
|
22
|
+
"@nx/jest": "22.1.3",
|
|
23
|
+
"@nx/js": "22.1.3",
|
|
24
|
+
"@nx/react": "22.1.3",
|
|
25
|
+
"@nx/rollup": "22.1.3",
|
|
26
|
+
"@nx/vite": "22.1.3",
|
|
27
|
+
"@nx/web": "22.1.3",
|
|
28
|
+
"@nx/webpack": "22.1.3",
|
|
29
|
+
"@nx/workspace": "22.1.3",
|
|
29
30
|
"@rollup/plugin-alias": "^5.1.0",
|
|
30
31
|
"@rollup/plugin-replace": "^5.0.7",
|
|
31
32
|
"@rollup/plugin-terser": "^0.4.4",
|
|
@@ -35,15 +36,15 @@
|
|
|
35
36
|
"@swc-node/register": "~1.9.1",
|
|
36
37
|
"@swc/cli": "0.6.0",
|
|
37
38
|
"@swc/core": "~1.5.7",
|
|
38
|
-
"@swc/helpers": "
|
|
39
|
+
"@swc/helpers": "0.5.17",
|
|
39
40
|
"@testing-library/react": "16.1.0",
|
|
40
41
|
"@types/jest": "30.0.0",
|
|
41
|
-
"@types/react": "
|
|
42
|
-
"@types/react-dom": "
|
|
42
|
+
"@types/react": "19.2.7",
|
|
43
|
+
"@types/react-dom": "19.2.3",
|
|
43
44
|
"@typescript-eslint/eslint-plugin": "^7.3.0",
|
|
44
45
|
"@typescript-eslint/parser": "^7.3.0",
|
|
45
|
-
"@unisphere/nx": "
|
|
46
|
-
"@vitejs/plugin-react": "^
|
|
46
|
+
"@unisphere/nx": "2.0.0",
|
|
47
|
+
"@vitejs/plugin-react": "^4.2.0",
|
|
47
48
|
"@vitest/coverage-v8": "^1.0.4",
|
|
48
49
|
"@vitest/ui": "^1.3.1",
|
|
49
50
|
"babel-jest": "30.0.5",
|
|
@@ -61,60 +62,55 @@
|
|
|
61
62
|
"jiti": "2.4.2",
|
|
62
63
|
"jsdom": "~22.1.0",
|
|
63
64
|
"local-web-server": "^5.3.3",
|
|
64
|
-
"nx": "22.
|
|
65
|
+
"nx": "22.1.3",
|
|
65
66
|
"patch-package": "^8.0.0",
|
|
66
67
|
"prettier": "^2.6.2",
|
|
67
68
|
"rollup": "^4.14.0",
|
|
68
69
|
"rollup-plugin-analyzer": "^4.0.0",
|
|
69
|
-
"ts-jest": "29.4.
|
|
70
|
+
"ts-jest": "29.4.6",
|
|
70
71
|
"ts-node": "10.9.1",
|
|
71
72
|
"tslib": "^2.3.0",
|
|
72
73
|
"typescript": "~5.4.2",
|
|
73
|
-
"vite": "7.2.
|
|
74
|
+
"vite": "7.2.7",
|
|
74
75
|
"vitest": "^1.3.1",
|
|
75
76
|
"webpack-cli": "^5.1.4"
|
|
76
77
|
},
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
"
|
|
85
|
-
|
|
86
|
-
"react-dom": "^19.0.0"
|
|
87
|
-
},
|
|
88
|
-
"@swc-node/core": {
|
|
89
|
-
"@swc/core": "~1.5.7"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
78
|
+
"os": [
|
|
79
|
+
"darwin",
|
|
80
|
+
"linux",
|
|
81
|
+
"win32"
|
|
82
|
+
],
|
|
83
|
+
"cpu": [
|
|
84
|
+
"x64",
|
|
85
|
+
"arm64"
|
|
86
|
+
],
|
|
92
87
|
"dependencies": {
|
|
93
88
|
"@emotion/react": "11.14.0",
|
|
94
89
|
"@emotion/styled": "11.14.1",
|
|
95
|
-
"@kaltura/ds-react-bits": "
|
|
96
|
-
"@kaltura/ds-react-components": "^12.
|
|
97
|
-
"@kaltura/ds-react-icons": "
|
|
98
|
-
"@kaltura/ds-react-theme": "
|
|
99
|
-
"@kaltura/ds-react-utils": "
|
|
100
|
-
"@mui/icons-material": "
|
|
101
|
-
"@mui/material": "
|
|
102
|
-
"@unisphere/cli": "
|
|
103
|
-
"@unisphere/core": "^1.
|
|
104
|
-
"@unisphere/notifications-core": "
|
|
105
|
-
"@unisphere/notifications-runtime-react": "
|
|
106
|
-
"@unisphere/runtime": "^1.
|
|
107
|
-
"@unisphere/runtime-js": "^1.
|
|
108
|
-
"@unisphere/runtime-react": "^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",
|
|
109
104
|
"@unisphere/ui-i18n-react": "^1.69.0",
|
|
110
|
-
"react": "
|
|
111
|
-
"react-dom": "
|
|
105
|
+
"react": "19.2.3",
|
|
106
|
+
"react-dom": "19.2.3",
|
|
107
|
+
"react-hook-form": "^7.66.0"
|
|
112
108
|
},
|
|
113
109
|
"optionalDependencies": {
|
|
114
|
-
"@nx/nx-linux-x64-gnu": "22.
|
|
110
|
+
"@nx/nx-linux-x64-gnu": "^22.1.3",
|
|
115
111
|
"@rollup/rollup-linux-x64-gnu": "4.22.4"
|
|
116
112
|
},
|
|
117
113
|
"workspaces": [
|
|
118
114
|
"unisphere/**"
|
|
119
115
|
]
|
|
120
|
-
}
|
|
116
|
+
}
|