Commit Graph

545 Commits

Author SHA1 Message Date
LuanRT
e2f455d7bd chore(docs): add contribution guidelines file 2022-07-18 04:36:21 -03:00
LuanRT
39d2c4c09d chore(docs): move things around a bit 2022-07-13 04:51:09 -03:00
LuanRT
2e3b1c2bf2 chore(docs): add a note about our Discord server 2022-07-13 04:49:19 -03:00
LuanRT
0d4bca5a9d chore (docs): add discord badge 2022-07-13 04:32:00 -03:00
LuanRT
1ce2feb18b style: lint code
Also, remove “strict” rule in favor of typescript (#93, #97)
2022-07-12 23:28:56 -03:00
LuanRT
7ded405de0 chore(package): build 2022-07-12 23:25:27 -03:00
LuanRT
7400b8a9d9 fix(pm): check before setting video ids 2022-07-12 19:15:42 -03:00
LuanRT
2247026da1 chore: fix typo 2022-07-12 18:33:52 -03:00
LuanRT
d8266ff786 refactor!: rewrite PlaylistManager
Probably fixes mentioned issues.

#100, #101
2022-07-12 18:22:53 -03:00
LuanRT
d1f2369e43 fix(build): mark all deps as external
I don't really like the idea of having yet another config file just so we can get all deps from package.json and mark them as external. So let's add them to the build command manually.

#95
2022-07-12 02:05:46 -03:00
LuanRT
4fe349389c chore(package): build 2022-07-11 06:57:51 -03:00
LuanRT
68cb841c00 refactor!: finish parser migration
Finally! :)

This removes all code related to the old parser.

#65
2022-07-11 06:19:10 -03:00
LuanRT
947fd7895b chore: update type declarations 2022-07-11 06:13:21 -03:00
LuanRT
0509b704a8 refactor: rewrite Innertube#getNotifications() to use the new parser 2022-07-11 04:07:39 -03:00
LuanRT
f924a39409 feat(parser): allow parser to find renderers by name
Now we can organize renderers in individual folders and fix the mess that `../contents/classes` is!
2022-07-11 02:47:58 -03:00
LuanRT
03f9fc5c2e chore(docs): rewording 2022-07-10 22:00:44 -03:00
LuanRT
8a5073b0b9 refactor: rewrite search suggestions logic (#92)
* refactor: rewrite YouTube Music search suggestions

The search suggestions method can be found under `Innertube#music.getSearchSuggestions(query)`

* feat: allow `execute(..)` to return parsed data

This simplifies how response data is handled and also makes it easier for end users to write custom functionality.

* style: lint code

* chore: change a few things

* refactor: rewrite YouTube search suggestions

* chore(package): build

* chore: update type declarations

* chore: fix tests
2022-07-10 17:30:20 -03:00
LuanRT
0356dafa96 docs: fix typos 2022-07-09 14:53:53 -03:00
LuanRT
bd7279f800 docs: remove uneeded badge
This is kind of ugly so let's get rid of it.
2022-07-07 15:43:08 -03:00
LuanRT
11d553b2c0 chore: rephrase a few things in the parser documentation 2022-07-07 03:42:59 -03:00
LuanRT
670b918642 style: format code 2022-07-07 03:42:21 -03:00
LuanRT
5a14fe3c4c chore: add additional build option
Add the `--keep-names` option to the build command.

The library sometimes uses constructor names to differentiate between InnerTube renderers. I noticed that after building the code in prod mode class names are drastically renamed and a few things ended up breaking. This fixes all these problems.
2022-07-07 03:39:45 -03:00
LuanRT
ae1a2a7f84 chore: temporarily remove decipher tests
Doesn't look like we can run this on Node 12, may be due to the use of optional chaining.
2022-07-07 00:37:26 -03:00
LuanRT
1837d4929c fix(tests): require deciphers only when needed 2022-07-07 00:20:48 -03:00
LuanRT
d729972251 chore(tests): check node version before running decipher tests 2022-07-07 00:14:10 -03:00
LuanRT
d7267d9aa5 chore: update workflows 2022-07-07 00:01:06 -03:00
LuanRT
650b563301 style: lint code 2022-07-06 23:55:42 -03:00
LuanRT
fd52556603 chore: update bundled code 2022-07-06 23:50:15 -03:00
LuanRT
ff81c2afe8 chore: update type declarations 2022-07-06 23:48:17 -03:00
LuanRT
9c97434e5e chore: tidy things up and fix typos 2022-07-06 23:47:38 -03:00
LuanRT
021a7fd97a refactor(utils): add tmpdir function 2022-07-06 23:45:57 -03:00
LuanRT
a011f62a90 deps: remove tmpdir dependency 2022-07-06 23:44:32 -03:00
LuanRT
dff535a9e2 fix: refactor Analytics to use memo 2022-07-06 17:34:31 -03:00
Bob Varioa
f52d15cdb0 Make project multiplatform (#91)
* Prefer `c ? x : y` over `c && x || y`

* Avoid unnecessary asssignment expressions

* Prefer switch statements over object lookup tables

* Add an .editorconfig

* Fix style issues

* Fix mentioned issues

* remove dynamic require

* Introduce esbuild as a build system

* Add cross platform stream api

* Replace 'fs' with custom cache api

* Add cross platform crypto api

* Add misc. dependencies

* Create multi-platform tests

* Update package-lock, Add build files

* Pull from upstream

* Fix linting issues, and update build files

* Fix comments issues

* Regenerate types, add source maps

Co-authored-by: bob <bob.varioa@gmail.com>
2022-07-06 16:47:48 -03:00
LuanRT
84d5edb6f0 refactor: rewrite OAuth and Requester (#90)
* chore: update type declarations

* dev: refactor oauth & requester

* chore: tidy things up

* chore: remove unneeded check
2022-07-04 16:34:02 -03:00
LuanRT
d7d6a4e019 style: remove white space 2022-07-03 04:40:26 -03:00
LuanRT
3bdcdf7cf1 chore(docs): add more info about the parser 2022-07-03 04:28:46 -03:00
LuanRT
b314458ed9 chore(docs): rephrase 2022-07-03 01:40:12 -03:00
LuanRT
1d62e469a9 refactor: rewrite Comments Section logic (#88)
* feat: add core comments section classes

* chore: update type declarations

* chore: fix linter warnings

* style: fix linter

* chore: update tests

* chore(tests): fix typo

* chore(tests): fix typo x2

* fix(tests): `getReplies()` method is only present in `CommentThread` and not `Comment`

* chore(tests): fix comment id path

* chore(tests): remove outdated code

* chore(tests): fix results path

* chore: enforce code style

* chore: update type declarations

* docs: add examples and documentation

* chore(docs): fix paths

* chore(docs): fix more paths

* chore(docs): fix `Comments.js` path

* chore(docs): fix typo

* chore(docs): mention example file

* chore(examples): fix imports

* chore(examples): fix typo
2022-07-02 19:55:33 -03:00
Bob Varioa
0a851bde31 refactor: remove confusing code practices (#87)
* Prefer `c ? x : y` over `c && x || y`

* Avoid unnecessary asssignment expressions

* Prefer switch statements over object lookup tables

* Add an .editorconfig

* Fix style issues

* Fix mentioned issues

Co-authored-by: bob <bob.varioa@gmail.com>
2022-07-01 19:37:59 -03:00
LuanRT
3e2b932844 style: format code 2022-06-29 20:57:16 -03:00
LuanRT
263b4887c3 feat(livechat): add LiveChatPaidSticker action 2022-06-29 19:44:33 -03:00
LuanRT
4f994c338b refactor: rewrite Live Chat logic (#85)
* dev: start LiveChat refactor

* dev: implement simple module system to separate classes

+ add a few Live Chat actions

* dev: add fundamental Live Chat classes

* chore: update type declarations

* feat: finalize Live Chat

Now supporting almost all kinds of messages! Next up: add a ability to send messages.

* chore: update type declarations

* chore: update contributors list

* feat(livechat): add `sendMessage()` method

* chore: remove unneeded files

* style: format code

* chore: remove outdated examples

* chore: update tests

* chore: remove trailing spaces

* chore: remove trailing spaces x2
2022-06-29 16:51:51 -03:00
Daniel Krásný
ef9a22e85a feat(ytmusic): multiple video authors (#83)
Parse all `authors` from a music video. For legacy reasons, `author` key is kept returning the first entry. Definitions updated respectively.
2022-06-27 19:15:47 -03:00
Daniel Krásný
8849a01ecf fix(ytmusic): Multiple authors/artists (#82)
(legacy parser)

Changed return types of SongResultItem's key artist and VideoResultItem's key author to array of strings instead of string.
2022-06-27 14:15:42 -03:00
LuanRT
a948c2e480 chore: update issue templates 2022-06-25 03:58:35 -03:00
LuanRT
f5c6dbc63e fix: add PlaylistHeader renderer
#81
2022-06-24 04:26:39 -03:00
LuanRT
829181ba6f chore: remove unneeded code 2022-06-23 15:30:11 -03:00
LuanRT
7ec6d6dd21 feat: add YouTube livechat renderers
Next up: refactor old livechat parser
2022-06-23 03:46:53 -03:00
LuanRT
d2b3eead41 fix: ItemSection target_id not being parsed 2022-06-23 03:13:15 -03:00