refactor(Player)!: Use AST-based JS extraction with side-effect safe code emission (#1052)

* chore(deps): Add `meriyah`

* feat(utils): Implement AST-based JS extractors

* chore(utils): Remove old ast walker code

* fix(Player): Migrate js extraction logic

* chore(JsExtractor): Fix typo in tsdoc

* perf(JsAnalyzer): Simplify main AST analysis logic

* fix(JsAnalyzer): Change `break` to `return` in AST matching logic

* chore: Update docs

* chore: Don't export `PlayerInitializationOptions`

* chore(evaluate): Update error message to include doc link

* perf: Use a `for-loop` to find iife
This commit is contained in:
Luan
2025-10-12 09:08:51 -03:00
committed by GitHub
parent bffa92d96e
commit 25d0876b91
873 changed files with 10992 additions and 8345 deletions

View File

@@ -0,0 +1,11 @@
[youtubei.js](../../README.md) / JsMatchers
# JsMatchers
## Index
### Functions
- [nMatcher](functions/nMatcher.md)
- [sigMatcher](functions/sigMatcher.md)
- [timestampMatcher](functions/timestampMatcher.md)

View File

@@ -0,0 +1,17 @@
[youtubei.js](../../../README.md) / [JsMatchers](../README.md) / nMatcher
# Function: nMatcher()
> **nMatcher**(`node`): `false` \| `Identifier`
## Parameters
**node**: `Node`
## Returns
`false` \| `Identifier`
## Defined in
[src/utils/javascript/matchers.ts:53](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/utils/javascript/matchers.ts#L53)

View File

@@ -0,0 +1,17 @@
[youtubei.js](../../../README.md) / [JsMatchers](../README.md) / sigMatcher
# Function: sigMatcher()
> **sigMatcher**(`node`): `false` \| `CallExpression`
## Parameters
**node**: `Node`
## Returns
`false` \| `CallExpression`
## Defined in
[src/utils/javascript/matchers.ts:4](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/utils/javascript/matchers.ts#L4)

View File

@@ -0,0 +1,17 @@
[youtubei.js](../../../README.md) / [JsMatchers](../README.md) / timestampMatcher
# Function: timestampMatcher()
> **timestampMatcher**(`node`): `boolean`
## Parameters
**node**: `Node`
## Returns
`boolean`
## Defined in
[src/utils/javascript/matchers.ts:68](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/utils/javascript/matchers.ts#L68)