Skip to content

Commit

Permalink
Add documentation for dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
dsilhavy committed Apr 29, 2024
1 parent 9c317cd commit 13c3da2
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 13 deletions.
Empty file added pages/advanced/mpd-patching.md
Empty file.
65 changes: 52 additions & 13 deletions pages/developers/dependencies.md
Expand Up @@ -4,20 +4,59 @@ title: Dependencies
parent: Developers
---

# Dependencies

## Dependencies
dash.js relies on multiple other NPM packages to implement media player functionalities and for tasks related to
development. The dependencies are listed in `package.json` and are installed when running `npm install`.

## Direct Dependencies

| Package | Usage |
|:-----------------------------|:-------------------------------------------------------------------------------------|
| `@svta/common-media-library` | Implements common media player functionalities such as ID3 parsing and CMCD encoding |
| `bcp-47-match` | Match BCP 47 language tags with language ranges per RFC 4647 |
| `bcp-47-normalize` | Normalize, canonicalize, and format BCP 47 tags |
| `codem-isoboxer` | ISOBMFF box parser used to parse boxes such as `EMSG` |
| `fast-deep-equal` | Used to deep compare two objects |
| `html-entities` | Used to decoded HTML entities when playing in offline mode |
| `imsc` | Library for rendering IMSC 1.0.1 and IMSC 1.1 documents to HTML5 |
| `localforage` | Storage library used for offline playback |
| `path-browserify` | Node path library used to extract and compare URLs |
| `ua-parser-js` | Parsing library used to identify the browser and/or the underlying platform |

## Dev Dependencies

| Package | Usage |
|:------------------------------------|:---------------------------------------------------------|
| `karma` | Testrunner for unit and functional tests |
| `karma-chai` | Use asserts like "expect" from the chai library |
| `karma-chrome-launcher` | Launches Chrome for unit and functional tests |
| `karma-coverage` | Creates coverage report for unit tests |
| `karma-firefox-launcher` | Launches Firefox for unit and functional tests |
| `karma-htmlfile-reporter` | Creates an HTML test report for functional tests |
| `karma-junit-reporter` | Creates a JUnit test report for unit and functional test |
| `karma-mocha` | Testframework for unit and functional tests |
| `karma-mocha-reporter` | Mocha like test output for unit tests |
| `karma-webpack` | Webpack bundler for Karma testcases. |
| Package | Usage |
|:------------------------------|:--------------------------------------------------------------------------------------------------------|
| `@babel/core` | Required by babel-loader for Webpack and transpiling to ES5 |
| `@babel/eslint-parser` | Allows ESLint to run on source code that is transformed by Babel. |
| `@babel/preset-env` | Required by babel-loader for Webpack and transpiling to ES5 |
| `babel-loader` | Used for transpiling JavaScript by Webpack |
| `chai` | Assertion library used by the Karma testing framework |
| `chai-spies` | Addon plugin for the chai assertion library. It provides the most basic function spy ability and tests. |
| `clean-jsdoc-theme` | Clean and fully responsive theme to generate the JSDoc. |
| `eslint` | Tool for identifying and reporting on patterns found in JavaScript code |
| `eslint-webpack-plugin` | Webpack plugin to run ESLint |
| `karma` | Testrunner for unit and functional tests | |
| `karma-browserstack-launcher` | Launch tests on Browserstack via Karma |
| `karma-chai` | Use asserts like "expect" from the chai library |
| `karma-chrome-launcher` | Launches Chrome for unit and functional tests |
| `karma-coverage` | Creates coverage report for unit tests |
| `karma-firefox-launcher` | Launches Firefox for unit and functional tests |
| `karma-htmlfile-reporter` | Creates an HTML test report for functional tests |
| `karma-junit-reporter` | Creates a JUnit test report for unit and functional test |
| `karma-mocha` | Testframework for unit and functional tests |
| `karma-mocha-reporter` | Mocha like test output for unit tests |
| `karma-webdriver-launche` | Run Karma tests using Webdriver. Required for test execution via Selenium |
| `karma-webpack` | Webpack bundler for Karma testcases. |
| `mocha` | JavaScript test framework for our unit and functional tests |
| `rimraf` | Dependency to remove `dist` folder before building dash.js |
| `sinon` | Standalone and test framework agnostic JavaScript test spies, stubs and mocks |
| `stream-browserify` | The stream module from node core, for browsers |
| `string-replace-loader` | Used to perform text replacements when building with webpack |
| `typescript` | TypeScript adds optional types to JavaScript |
| `webpack` | Module bundler used to create the dash.js builds |
| `webpack-cli` | Allows setup of webpack custom configuration |
| `webpack-dev-server` | Development server that uses webpack for bundling |
| `webpack-merge` | Used to merge Webpack configuration files |
| `yargs` | Parses arguments provided via command line for execution of functional tests |

0 comments on commit 13c3da2

Please sign in to comment.