/rum

The client library for Edgio RUM.

Primary LanguageTypeScript

Edgio Core Web Vitals Analytics

The real user monitoring (RUM) client library for Edgio Core Web Vitals Analytics.

See the docs for installation and usage

npm npm type definitions

Development

Releasing a New Version

To release a new version:

  • Merge all changes to main.
  • Update the version field in package.json.
  • Commit and push your changes.
  • Create a release in GitHub.
    • GitHub actions will automatically publish to NPM.
    • The bundled latest.js files are published to the Edgio CDN.

Build outputs

We have 2 build outputs of the package:

  1. Using typescript (tsc) which is published to ./dist and then to NPM
  2. Using webpack (webpack) which is published to ./cdn and then to Edgio CDN

Integration tests

Install all dependencies:

  • cd integration-tests/playwright-test && npm install & cd ../..
  • cd integration-tests/app-test && npm install & cd ../..

Running integration tests locally:

  1. Open three terminals in the root of the project
  2. Terminal 1#,
    • run npm run push-build
      • This will yalc your local build of rum package
  3. Terminal 2#:
    • Go to cd integration-tests/app-test
    • Run npm run ci:link
    • Run npm install
    • Run npm run dev runs the project on port 3000
  4. Terminal 3#:
    • Go to cd integration-tests/playwright-test
    • Run npm install
    • Run npm run test

Setup info

In the app tests we can test both outputs of the RUM (CDN and NPM package). You can control this by running inside the integration-tests/app-test folder:

  • npm run use:latest for using the latest.js file (You need to put in public folder)
  • npm run use:npm-package for using the npm package (You need to yalc it )