Skip to content

Commit df44ba9

Browse files
riag23cursoragent
andcommitted
feat(webexconnect): bringing Webex Connect SDK into webex-js-sdk monorepo
Add a private @webex/webexconnect package with the canonical SDK source, sample app, and build workflow. Sample credentials are placeholders, and bundled min.js/source maps are not committed. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 25c93ec commit df44ba9

81 files changed

Lines changed: 19529 additions & 10 deletions

File tree

Some content is hidden

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

.github/workflows/deploy.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,22 +130,25 @@ jobs:
130130
# Used for running node scripts against all changed packages since the last push to the target branch.
131131
- id: generate-package-matrix-node-changed
132132
name: Generate Package Matrix
133-
run: echo "node-changed=$(yarn package-tools list --mode node --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
133+
# webexconnect is a private package and is already omitted by `list` (--no-private is the default);
134+
# this sed is an explicit second guard so `@webex/webexconnect` can never leak into the deploy matrix
135+
# even if `private: true` is ever accidentally removed from its package.json.
136+
run: echo "node-changed=$(yarn package-tools list --mode node --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT
134137

135138
# Used for running node scripts against all changed packages, and their dependents, since the last push to the target branch.
136139
- id: generate-package-matrix-node-recursive
137140
name: Generate Package Matrix
138-
run: echo "node-recursive=$(yarn package-tools list --mode node --recursive --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
141+
run: echo "node-recursive=$(yarn package-tools list --mode node --recursive --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT
139142

140143
# Used for running yarn tools against all changed packages since the last push to the target branch.
141144
- id: generate-package-matrix-yarn-changed
142145
name: Generate Package Matrix
143-
run: echo "yarn-changed=$(yarn package-tools list --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
146+
run: echo "yarn-changed=$(yarn package-tools list --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT
144147

145148
# Used for running yarn tools against all changed packages, and their dependents, since the last push to the target branch.
146149
- id: generate-package-matrix-yarn-recursive
147150
name: Generate Package Matrix
148-
run: echo "yarn-recursive=$(yarn package-tools list --recursive --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
151+
run: echo "yarn-recursive=$(yarn package-tools list --recursive --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT
149152

150153
- name: Display Package Matrix
151154
run: |
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Webex Connect Deploy
2+
3+
run-name: ${{ github.actor }} is building @webex/webexconnect artifacts
4+
5+
# SCAFFOLD ONLY — this workflow intentionally never triggers on push to `next`.
6+
# It builds and tests the private @webex/webexconnect package and assembles its
7+
# distributable artifacts. The actual publish step is deliberately left as a TODO
8+
# pending security/legal review; do not add a real publish step without sign-off.
9+
on:
10+
workflow_dispatch: {}
11+
push:
12+
tags:
13+
- 'webexconnect-v*'
14+
15+
jobs:
16+
build-and-test:
17+
name: Build & Test @webex/webexconnect
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout Project
22+
uses: actions/checkout@v6
23+
24+
- name: Setup Node
25+
uses: actions/setup-node@v6
26+
with:
27+
node-version-file: '.nvmrc'
28+
cache: 'yarn'
29+
30+
- name: Install Dependencies
31+
run: yarn
32+
33+
- name: Build package
34+
run: yarn workspace @webex/webexconnect run build:src
35+
36+
- name: Test package
37+
run: yarn workspace @webex/webexconnect run test
38+
39+
- name: Assemble artifacts
40+
run: |
41+
mkdir -p webexconnect-artifacts
42+
cp packages/webexconnect/dist/webex-connect-sdk.min.js webexconnect-artifacts/
43+
cp packages/webexconnect/dist/webex-connect-sdk.min.js.map webexconnect-artifacts/
44+
cp packages/webexconnect/dist/sw.min.js webexconnect-artifacts/
45+
cp packages/webexconnect/dist/sw.min.js.map webexconnect-artifacts/
46+
ls -la webexconnect-artifacts
47+
48+
- name: Upload artifacts
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: webexconnect-sdk
52+
path: webexconnect-artifacts
53+
if-no-files-found: error
54+
55+
# TODO: Publish step intentionally omitted.
56+
# Distribution of @webex/webexconnect (e.g. pushing the minified bundles +
57+
# source maps to the public distribution repo via an explicit file allowlist)
58+
# must not be wired up until security/legal review is complete and explicit
59+
# sign-off is given. Do NOT add `yarn npm publish` or any deploy action here.

docs/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ <h2 class="page-header">Samples</h2>
7676
<a href="./samples/browser-socket/" class="list-group-item">Socket</a>
7777

7878
<a href="./samples/plugin-encryption/" class="list-group-item">Encryption Plugin</a>
79+
80+
<a href="./samples/webexconnect/" class="list-group-item">Webex Connect</a>
7981
</div>
8082
</div>
8183
<div class="col-md-3">

docs/samples/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ <h1>Hosted Samples</h1>
1010
<li><a href="browser-plugin-meetings">Browser plugin meetings</a></li>
1111
<li><a href="browser-read-status">Browser read status</a></li>
1212
<li><a href="browser-socket">Browser socket</a></li>
13+
<li><a href="webexconnect">Webex Connect</a></li>
1314
</ul>
1415
</body>
1516
</html>

0 commit comments

Comments
 (0)