Commit Graph

134 Commits

Author SHA1 Message Date
Chocobozzz
e4f82eaa8b
Remove invalid timeout 2023-08-17 14:34:49 +02:00
Chocobozzz
c380e39285
Merge branch 'feature/esm-and-nx' into develop 2023-08-17 08:59:21 +02:00
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