Commit Graph

16 Commits (3a4992633ee62d5edfbb484d9c6bcb3cf158489d)

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 d15531fb35
Fix follow links 2023-04-14 09:42:50 +02:00
Chocobozzz 1a6304ceb9
Improve instance follow display 2022-11-07 11:25:31 +01:00
Chocobozzz 4beda9e12a
Add ability to view my followers 2021-10-20 09:25:44 +02:00
Chocobozzz 9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz 1378c0d343
Fix client lint 2021-08-17 14:01:45 +02:00
Chocobozzz 0d7c73142c
Simplify a little bit about follows more logic 2020-12-14 10:23:34 +01:00
mahdi ed8b4014ce
Show count of instances and fix show/hide button 2020-12-14 09:57:41 +01:00
MahdiTurki 92f62f108b
Fix coding style 2020-12-14 09:57:41 +01:00
MahdiTurki 2ce949454f
Add hide list 2020-12-14 09:57:41 +01:00
MahdiTurki bd49f8e988
Change button 2020-12-14 09:57:41 +01:00
MahdiTurki 49c4dd7ec3
Add button to display full list in About page 2020-12-14 09:57:41 +01:00
Chocobozzz 67ed6552b8 Reorganize client shared modules 2020-06-23 16:00:49 +02:00
Chocobozzz b8f4167fb6
Only display accepted followers/followings in about page 2019-11-28 11:37:32 +01:00
Chocobozzz ad453580b2
Fix infinite scroll on big screens 2019-08-02 14:49:25 +02:00
Chocobozzz a6dbbf0386
Add list of instance follows in about page 2019-06-06 11:43:01 +02:00