Commit Graph

12 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 ca829e9a83
Deprecate node 14 2023-03-15 09:38:24 +01:00
Chocobozzz 823cc35bb5
Revert "Use node 16 for tests"
This reverts commit 1f45f8b00d.
2022-10-28 17:26:26 +02:00
Chocobozzz 1f45f8b00d
Use node 16 for tests 2022-10-28 17:12:33 +02:00
Chocobozzz 388a31d241
Upgrade CI actions 2022-06-27 15:28:32 +02:00
Chocobozzz 51e9e152f7
Build nightly using github action 2021-12-03 10:14:17 +01:00
Chocobozzz f3fbbf0140
Add docker github action 2021-12-03 10:14:17 +01:00
Chocobozzz b202d007cc
Bumped to version v4.0.0-rc.1 2021-12-03 10:14:17 +01:00
Chocobozzz 1255f22de4
Use node 14 for lighthouse 2021-11-25 15:43:10 +01:00
Chocobozzz bfe6e0d9f7
Add lighthouse to github action 2021-05-27 09:15:29 +02:00
Chocobozzz 3fbc697433
Add next to stats github ci 2021-03-24 18:18:41 +01:00
Chocobozzz 2abaa3f27e
Add stats to github actions 2021-02-23 11:02:35 +01:00