Proposal - Code splitting / modularization
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 2.8k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 27
Description
Is your feature request related to a problem? Please describe.
No issue in particular, other than not easily being able to easily omit certain pieces of functionality.
We offer a 'light' build that currently removes:
- alt-audio support
- subtitles support
- EME support
However depending on the combination of features desired (e.g. if someone wants EME support but not subtitles or alt-audio support) they're either forced to build from source with local code modifications or use the main fully-featured build.
Describe the solution you'd like
Perhaps a 'plugin' system - where core functionality stays in place and utilizes a set of provided plugins.
Further design details TBD
Describe alternatives you've considered
None. Are there any other alternative approaches to tackle this?
Additional context
We should still always provide the main and light builds for the folks that want them.
It would be really slick if we also have the ability to easily build from source with a selectable list of features, so no local code modifications are needed.
As well, we could come up with some other pre-built options to offer alongside the main and light builds.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing how the current main and light builds select features, then define the selectable build options and verify that both existing builds remain available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100