Commit Graph

132 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