Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
74cda02
chore: switch from npm to pnpm as package manager
devin-ai-integration[bot] May 28, 2026
0ff25b7
fix: update jsdoc plugin paths for pnpm node_modules structure
devin-ai-integration[bot] May 28, 2026
3f5f08a
fix: add explicit puppeteer browser install step in CI
devin-ai-integration[bot] May 28, 2026
a629a8d
fix: skip puppeteer download during pnpm ci to avoid corrupt cache
devin-ai-integration[bot] May 28, 2026
619896d
fix: use npx for puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
eaa7a45
chore: reorder pnpm-workspace.yaml - move policy directives to top
devin-ai-integration[bot] May 28, 2026
2c55ec5
Merge remote-tracking branch 'origin/main' into devin/1779934552-swit…
devin-ai-integration[bot] May 28, 2026
e28d4b6
chore: update start:projects script after publisher-demo removal
devin-ai-integration[bot] May 28, 2026
0ee6b2e
fix: use pnpm exec for puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
284a146
fix: add puppeteer download workaround to new-release.yml
devin-ai-integration[bot] May 28, 2026
c80f8fc
chore: remove unused nx.json - nx was never installed
devin-ai-integration[bot] May 28, 2026
f18745c
fix: use node install.mjs for reliable puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
0c4087c
remove packages for removed apps
nicholi May 28, 2026
b1bbf9b
drop old package-lock files
nicholi May 28, 2026
0c3e22a
drop next workflow stuff
nicholi May 28, 2026
7fbf17b
add composite build action
nicholi May 28, 2026
e0ab82c
skip new-release work for next as well
nicholi May 28, 2026
203aa7d
add node-release and pnpm-build-publish workflows
nicholi May 28, 2026
b261e22
bump to recent workflow versions
nicholi May 28, 2026
19a3b52
bump to recent workflow versions
nicholi May 28, 2026
8749a36
bump to recent workflow versions
nicholi May 28, 2026
9c6d9ef
consistent always use ./ for packages path
nicholi May 28, 2026
4637003
consistent always use ./ for packages path
nicholi May 28, 2026
820cfc2
seems like we need build-essentials
nicholi May 28, 2026
a07c105
whoops alpine here
nicholi May 28, 2026
6087674
bump unix-dgram to 2.0.7 for better node 24 support
nicholi May 28, 2026
734cd7d
remove test
nicholi May 28, 2026
94c9124
we don't need to install puppeteer browsers here?
nicholi May 28, 2026
70f1263
dependencies first
nicholi May 28, 2026
7e48287
also need python3
nicholi May 28, 2026
3ab8589
remove test
nicholi May 28, 2026
279a07c
ignore PUPPETEER_SKIP_CHROMIUM_DOWNLOAD everywhere
nicholi May 28, 2026
4115043
add nvmrc with expected node 24
nicholi May 28, 2026
bba403b
install chromium manually
nicholi May 28, 2026
86bfbcb
need sudo
nicholi May 28, 2026
5808400
set PUPPETEER_EXECUTABLE_PATH
nicholi May 28, 2026
84504e3
same steps for e2e-test
nicholi May 28, 2026
7852fe1
check-tests can be used in place of dryrun here
nicholi May 28, 2026
dcf942d
move composite action pnpn-build directly into pnpm-build-publish
nicholi May 28, 2026
a4f7f32
just hardcode pnpm-build-publish to work with millicast-sdk
nicholi May 28, 2026
4877871
copy README and changedirs first
nicholi May 28, 2026
87fdbe1
un-necessary external script
nicholi May 28, 2026
d15eee7
skip tests in new-release
nicholi May 28, 2026
5400c9f
add problematic packages to trustPolicyExclude
nicholi May 28, 2026
b7ece2d
drop husky, lint-staged, and git hooks
nicholi May 28, 2026
f625500
add deploying github pages during node-release
nicholi May 28, 2026
a88266a
add deploying github pages during node-release
nicholi May 28, 2026
bc4e1f0
millicast-sdk used next dist-tag historically
nicholi May 28, 2026
6926f05
required to use --no-git-checks because we copy the README
nicholi May 28, 2026
d229688
there are no scripts
nicholi May 28, 2026
65c351a
both fully moved out of repo
nicholi May 28, 2026
fdb7a98
run tests on every commit and every tag, doesn't matter what branch
nicholi May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 34 additions & 8 deletions .github/workflows/check-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,53 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.
- name: Check Linter and Build 📑
run: |
npm run build
pnpm run build
npx eslint . --ext .js,.jsx,.ts,.tsx

unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
PUPPETEER_SKIP_DOWNLOAD=true pnpm ci
- name: Install Puppeteer browsers
working-directory: './packages/millicast-sdk'
run: npx puppeteer browsers install chrome
- name: Unit Testing 🧪
working-directory: './packages/millicast-sdk'
run: npm run test-unit
run: pnpm run test-unit

e2e-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
PUPPETEER_SKIP_DOWNLOAD=true pnpm ci
- name: Install Puppeteer browsers
working-directory: './packages/millicast-sdk'
run: npx puppeteer browsers install chrome
- name: End-2-End Testing
working-directory: './packages/millicast-sdk'
run: npm run test-e2e
run: pnpm run test-e2e
env:
ACCOUNT_ID: ${{vars.PUBLISHER_DEMO_ACC_ID}}
PUBLISH_TOKEN: ${{secrets.PUBLISHER_DEMO_TOKEN}}
Expand All @@ -50,7 +71,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
- name: build docs
run: npm run build-docs
run: pnpm run build-docs
26 changes: 19 additions & 7 deletions .github/workflows/new-release.yml
Comment thread
nicholi marked this conversation as resolved.
Outdated
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,22 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.
Outdated
Comment thread
nicholi marked this conversation as resolved.
Outdated
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
Outdated

- name: Build All 🔧
run: |
npm run build
npm run build-docs
pnpm run build
pnpm run build-docs

- name: Test
run: npm test
run: pnpm run test
env:
ACCOUNT_ID: ${{vars.PUBLISHER_DEMO_ACC_ID}}
PUBLISH_TOKEN: ${{secrets.PUBLISHER_DEMO_TOKEN}}
Expand All @@ -59,8 +65,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.
Outdated

- name: Add Readme to package
run: cp README.md packages/millicast-sdk/README.md
Expand All @@ -70,7 +82,7 @@ jobs:
- name: Publish package
working-directory: './packages/millicast-sdk'
run: |
npm run build
npm publish --access public
pnpm run build
pnpm publish --access public --no-git-checks
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
18 changes: 14 additions & 4 deletions .github/workflows/rc-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,15 @@ jobs:
if: ${{ startsWith(github.ref, 'refs/tags/next-') }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.
Outdated
- name: build
run: npx lerna run build --scope=@millicast/sdk
run: pnpm --filter @millicast/sdk run build
- name: Upload SDK build artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -30,8 +35,13 @@ jobs:
if: ${{ startsWith(github.ref, 'refs/tags/next-') }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Install the dependencies 🧱
run: npm ci
run: |
corepack enable
pnpm ci
- name: Download SDK build artifact
uses: actions/download-artifact@v4
with:
Expand All @@ -47,4 +57,4 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
run: |
npm publish --tag next
pnpm publish --tag next --no-git-checks
35 changes: 15 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Packages

This project is built with [Lerna](https://lerna.js.org/) and contains the following packages:
This project is a monorepo using [pnpm workspaces](https://pnpm.io/workspaces) and contains the following packages:

- `millicast-sdk`: The SDK itself.
- `millicast-publisher-demo`: Publisher demo page using SDK. You can try this demo [here](https://demo.millicast.com/?codec=h264&nosimulcast).
Expand All @@ -11,10 +11,11 @@ This project is built with [Lerna](https://lerna.js.org/) and contains the follo

## Development

Asumming that you have Node 12.10.x or newer and `npm` installed, install the required dependencies running:
Assuming that you have Node 24.x or newer installed, enable corepack and install the required dependencies:

```sh
npm ci
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.
```

### Changesets
Expand All @@ -23,11 +24,7 @@ Whenever you are working on a new feature, fix or change, make sure you create a

### Building packages

As the project is built using [Lerna](https://lerna.js.org/), we can rely on it to manage our packages dependencies, so you just need to run at project's root directory

```sh
npm run prepare
```
pnpm workspaces handle package linking automatically. Dependencies are installed when you run `pnpm ci`.

You will need to add a `.env` file in all demo packages (`packages/millicast-publisher-demo`, `packages/millicast-viewer-demo`, `packages/millicast-chromecast-receiver`, `packages/millicast-multiview-demo` & `packages/millicast-webaudio-delay-demo`). You can simply copy the `.env.sample` to get started:

Expand All @@ -47,20 +44,18 @@ These tokens can be found in your [Dolby.io dashboard](https://streaming.dolby.i
Then, build all packages:

```sh
npm run build
pnpm run build
```

Optionally you can run other Lerna commands using `$ npx lerna [command]`.

### Running demo

If you want to add, fix or edit features in the SDK or just try our demo pages, run the following command:

```sh
npm run start-all
pnpm run start-all
```

> Please note that before you run `npm run start-all`, you need to have built the solution first using `npm run build`
> Please note that before you run `pnpm run start-all`, you need to have built the solution first using `pnpm run build`

It opens all the demo apps in your browser and keeps watching for changes in all the packages. You only need to refresh both pages if you modify the code.

Expand All @@ -69,10 +64,10 @@ It opens all the demo apps in your browser and keeps watching for changes in all
If you want to add, fix or edit features in the SDK or just try our specific demo pages, run the following command:

```sh
npm run start
pnpm run start
```

> Please note that before you run `npm run start`, you need to have built the solution first using `npm run build`
> Please note that before you run `pnpm run start`, you need to have built the solution first using `pnpm run build`

This command opens the following demo apps in your browser:
- millicast-publisher-demo
Expand All @@ -84,7 +79,7 @@ It keeps watching for changes in these packages. You only need to refresh both p
### Running tests
If you want to run all tests, run:
```sh
npm run test
pnpm run test
```

> Note: There are some requirements to take into account before running E2E tests. Make sure to take a look at [those](#e2e-testing).
Expand All @@ -93,7 +88,7 @@ npm run test
If you want to run only unit tests, navigate to the `millicast-sdk` package.
```sh
cd packages/millicast-sdk
npm run test-unit
pnpm run test-unit
```

#### E2E testing
Expand Down Expand Up @@ -123,21 +118,21 @@ The first step before running E2E tests is setting some environment variables an

If you only want to run E2E tests, in the command line run:
```sh
npm run test-e2e
pnpm run test-e2e
```

### Building docs

The SDK documentation is written with [JSDocs](https://jsdoc.app/). To build the HTML documentation, run:

```sh
npx lerna run build-docs
pnpm run build-docs
```

Or if you want to navigate to the docs on your local machine, run:

```sh
npx lerna run start-docs --stream
pnpm run start-docs
```

In the logs you find the link where you can access to docs. By default, the logs run on http://localhost:5000.
Expand Down
8 changes: 0 additions & 8 deletions lerna.json

This file was deleted.

Loading
Loading