- Upgrade the encryption scheme polyfill to a version that is resilient
against multiple copies (one in compiled shaka library, one in source
form).
---------
Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
Features for LCEVC Decoder integration into Shaka player:
Initially in this PR we had changes to shaka player to accommodate
changes for iOS fullscreen functionality. But now we have a way to do
that inside the scope of lcevc decoder. So the only change in this PR is
the version bump of the lcevc decoder library.
The issue we had in less.js v4 has since been resolved. This updates to
less.js v4.2.0, which includes the underlying fix from its dependency,
needle v3.1.0.
Unforking also resolves CI issues where gitpkg.now.sh temporarily fails
to load, causing the whole test run to fail before it can start.
This updated version of karma-local-wd-launcher incorporates
https://github.com/shaka-project/karma-local-wd-launcher/pull/65 to
supply a path to the Edge binary on all platforms. This fixes local
testing and GitHub CI testing of Edge.
Though the tests run once more, there are still some test failures that
need to be dealt with.
This caches Babel's transpiler output for reuse, and should speed up all
test runs in theory, but the effect is most noticeable on local test
runs.
This uses a fork of karma-babel-preprocessor, which contains
https://github.com/babel/karma-babel-preprocessor/pull/77. If/when that
PR is merged, we can move back to the upstream module.
Local runs will start faster because only modified source files will be
re-processed through Babel when the tests start up.
In the Selenium workflow, Babel output and node_modules will both be
computed by the singular build-shaka job, stored, and then reused by all
the Selenium lab matrix jobs.
On my workstation (3.3 GHz cores, 32GB RAM, spinning platter disk), I
see tests start about ~60 seconds faster. In the lab (2.1-4.7 GHz cores,
64GB RAM, solid-state disk), I see tests start about ~10 seconds faster.
Before packaging for NPM, remove the "engines" section of package.json
to avoid unnecessary restrictions on node versions for projects that
simply depend on Shaka Player, but don't need to rebuild it. This is
accomplished with the clean-package tool:
https://github.com/roydukkey/clean-package
The "engines" section and its restrictions still make sense for Shaka
Player development, so it will not be removed from package.json in the
repo.
Closes#5243
There was a potential type error in an edge case in lib/player.js. It
would have been caught by the latest compiler, so this upgrades the
compiler and fixes another type error in one other place, as well.
Changes are as follows:
1. Fixed demo breaking dependencies.
2. Fixed some typos
3. Added LCEVC support section to readme.
Co-authored-by: Vinod Balakrishnan <vinod.balakrishnan@v-nova.com>
Most of our existing dev dependencies require node 12+, and node 16 is the active LTS for several more months. Let's make node 14 the required minimum for Shaka Player development, to avoid issues with our dev deps failing on older versions.
Includes a YAML config file for our lab, and documentation on how to
create a custom config for another Selenium grid.
A workflow will run tests nightly in the Shaka lab, using a
self-hosted runner with access to our private grid.
The workflow can also be triggered manually by maintainers to test a
PR in the lab. This will report status back to the PR.
The depswriter.py tool from google-closure-library was generating
deprecation warnings. This switches to a newer, rewritten version
called google-closure-deps.
In #3991, I changed the syntax of our colors to a modern rgba syntax.
For example, rgba(255, 255, 255, 0.85) would become rgba(255 255 255 /
85%). However, less v3 seems not to understand that properly, and
performs division on the last two parts, resulting in output of
rgba(255 255 3%), which is indeed invalid.
This fixes the issue by upgrading to less v4, which understands the
new rgba syntax and leaves it alone. The output for that will now
match the input.
To work around an issue with less v4, this uses a prerelease version
with a fix for https://github.com/less/less.js/issues/3693 . See also
https://github.com/tomas/needle/issues/391
This doesn't affect any release branches, since #3991 hasn't been
cherry-picked.
Closes#4027
These projects have vulnerable dependencies, but are not being
properly maintained. This replaces both with forks that have upgraded
their deps.
This brings the NPM audit vulnerability count from 6 to 0.
This updates the jsdoc fork to one based on the latest jsdoc. (The
fork adds features for tutorial sorting.)
We also have an in-repo fork of the default jsdoc template from 2019.
The newer default template no longer includes the same dependencies,
so three deps we used to get transitively from jsdoc are now explicit
at the shaka-player level: open-sans-fonts, code-prettify, and
color-themes-for-google-code-prettify. This is appropriate, since the
dependency comes from our in-repo fork of the default template.
This upgrade brings our NPM audit vulnerabilities from 10 to 6.
The new version requires additional configuration for less syntax, and
has new default rules we were out of compliance with.
I disabled rules about avoiding explicit vendor prefixes (such as
"-webkit") because we are not using any auto-prefixer tools. Other
violations have been fixed:
- kebab-case for element ids
- quotes around URLs
- double quotes instead of single quotes
- disable class selector pattern matching for MDL (external)
- use modern rgb/rgba syntax
- no quotes on font families
- no long-hand when short-hand will do
This brings our NPM audit vulnerabilities from 20 down to 10.