Commit Graph

19 Commits

Author SHA1 Message Date
Chocobozzz 3a4992633e
Migrate server to ESM
Sorry for the very big commit that may lead to git log issues and merge
conflicts, but it's a major step forward:

 * Server can be faster at startup because imports() are async and we can
   easily lazy import big modules
 * Angular doesn't seem to support ES import (with .js extension), so we
   had to correctly organize peertube into a monorepo:
    * Use yarn workspace feature
    * Use typescript reference projects for dependencies
    * Shared projects have been moved into "packages", each one is now a
      node module (with a dedicated package.json/tsconfig.json)
    * server/tools have been moved into apps/ and is now a dedicated app
      bundled and published on NPM so users don't have to build peertube
      cli tools manually
    * server/tests have been moved into packages/ so we don't compile
      them every time we want to run the server
 * Use isolatedModule option:
   * Had to move from const enum to const
     (https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums)
   * Had to explictely specify "type" imports when used in decorators
 * Prefer tsx (that uses esbuild under the hood) instead of ts-node to
   load typescript files (tests with mocha or scripts):
     * To reduce test complexity as esbuild doesn't support decorator
       metadata, we only test server files that do not import server
       models
     * We still build tests files into js files for a faster CI
 * Remove unmaintained peertube CLI import script
 * Removed some barrels to speed up execution (less imports)
2023-08-11 15:02:33 +02:00
Chocobozzz 784e2ad5c3
Prefer web videos in favour of webtorrent 2023-07-11 09:21:13 +02:00
Chocobozzz 89becbcb37
Add missing playbackRate URL param doc 2023-06-29 10:19:33 +02:00
Chocobozzz 6a160a0c9d
Fix embed doc title hierarchy 2023-02-22 16:06:25 +01:00
Chocobozzz 914af0d9e4
Add missing removeEventListener doc 2022-09-09 11:40:14 +02:00
Chocobozzz 4c8336af67
Update embed URL query doc 2022-06-28 14:49:05 +02:00
Chocobozzz 60f013e103
Add control bar option for peertube player 2022-05-20 09:59:53 +02:00
Chocobozzz 9054a8b6e5 Handle playlist methods in embed api 2020-08-07 08:58:29 +02:00
Chocobozzz 1151f5210c
Add ability to update embed captions 2020-05-06 11:54:33 +02:00
Chocobozzz 624a022157
Add pt version in embed options 2020-04-14 09:02:44 +02:00
Chocobozzz 6ccdf9d53e
Add duration in embed api playbackStatusUpdate 2020-04-08 14:52:28 +02:00
Chocobozzz afd1a6ed49
Update embed api doc 2020-04-08 14:44:25 +02:00
Chocobozzz 96aae68cc4
Add "ended" embed API event 2020-04-08 14:39:31 +02:00
David Dobryakov b2b0ce8ac8 Fix embed api docs
player.stop() -> player.pause()
2020-03-25 13:52:35 +01:00
Chocobozzz 5ab994fe8e
Fix embed api documentation 2020-03-20 15:04:02 +01:00
Chocobozzz 9a207a71b2
Add missing api=1 info in embed quickstart 2020-02-28 14:01:17 +01:00
Chocobozzz 03d641a0d7
Add embed api build 2019-12-18 10:14:25 +01:00
Chocobozzz 478924a044
Add package.json for embed api 2019-12-18 10:14:24 +01:00
William Lahti 999417328b Ability to programmatically control embeds (#776)
* first stab at jschannel based player api

* semicolon purge

* more method-level docs; consolidate definitions

* missing definitions

* better match peertube's class conventions

* styling for embed tester

* basic docs

* add `getVolume`

* document the test-embed feature
2018-07-10 17:47:56 +02:00