Commit Graph

32 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
17522af1e0
Use typed pick 2023-07-26 10:49:32 +02:00
Chocobozzz
9fe86c2c9b
Update runner version 2023-06-29 10:19:55 +02:00
Chocobozzz
d68b88bac4
Prevent stalled jobs 2023-06-29 10:19:55 +02:00
Chocobozzz
bc3918b2ae
Shuffle servers when checking available jobs
To not favour a specific instance
2023-06-29 10:19:55 +02:00
Chocobozzz
43897b0311
Update peertube-runner version 2023-06-19 13:54:42 +02:00
Chocobozzz
a34c612f38
More robust runner update handler 2023-06-19 13:45:26 +02:00
Chocobozzz
f474a519dc
Specify runner name when unregistering the runner 2023-05-26 09:04:22 +02:00
Chocobozzz
d4d0f3ba0e
Don't send an error on live abort 2023-05-23 08:31:02 +02:00
Chocobozzz
fa3da7a623
End runner live transcoding on update error 2023-05-22 15:24:19 +02:00
Chocobozzz
17ecdf61ce
Force stop remote live transcoding 2023-05-22 13:54:46 +02:00
Chocobozzz
bcdfd87906
Publish runner 2023-05-19 14:40:38 +02:00
Chocobozzz
def4ea4f38
More robust chunk handler 2023-05-19 13:52:38 +02:00
Chocobozzz
6403a6bd01
peertube runner tests in parallel 2023-05-19 13:33:27 +02:00
Chocobozzz
296d07c6fe
Prefer to wait before processing new jobs 2023-05-19 10:16:43 +02:00
Chocobozzz
fe7019b232
Fix peertube runner concurrency 2023-05-19 09:23:20 +02:00
Chocobozzz
0d6a8289fb
Better runner error UX when server is not run 2023-05-16 09:27:49 +02:00
Chocobozzz
5b2ee4e6ca
Add peertube-runner version info 2023-05-09 10:45:37 +02:00
Chocobozzz
8d5ffb0169
Add node shebang 2023-05-09 10:43:35 +02:00
Chocobozzz
9aff314023
Use @peertube org for npm 2023-05-09 10:16:18 +02:00
Chocobozzz
21c8db6905
Add npmignore to peertube-runner 2023-05-09 10:14:58 +02:00
Chocobozzz
85ec2d2e25
Update gitignore 2023-05-09 10:11:11 +02:00
Chocobozzz
902b16af03
Breaking: remove node 14 support 2023-05-09 10:02:54 +02:00
Chocobozzz
ab14f0e0dc Prefer video studio instead of video edition
Clearer and easier to find in the project
2023-05-09 08:57:34 +02:00
Chocobozzz
5e47f6ab98 Support studio transcoding in peertube runner 2023-05-09 08:57:34 +02:00
Chocobozzz
3a0c2a77b1 Enable external plugins to test the PR 2023-05-09 08:57:34 +02:00
Chocobozzz
1772b383de Add peertube runner cli 2023-05-09 08:57:34 +02:00
Chocobozzz
f44cd95c01
Update doc anchor links 2023-02-23 09:46:43 +01:00
Chocobozzz
c5c95361e6
Move to new documentation links 2023-02-22 16:15:14 +01:00
Chocobozzz
81d02aac56
Fix types package dependencies 2021-12-28 15:10:55 +01:00
Chocobozzz
21d68e6803
Add version to generate types packages 2021-12-28 10:27:06 +01:00
Chocobozzz
6627dbc957
Move types package in packages/ 2021-12-28 10:18:15 +01:00