Commit Graph

42 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 65db089d92
More flexible release script 2022-06-28 14:29:32 +02:00
Chocobozzz 462a833e4c
Fix release script 2022-06-07 09:58:59 +02:00
Chocobozzz d437596f86
Wait before uploading release files 2022-05-23 08:40:21 +02:00
Chocobozzz d8aa370f3d
Only generate types for stable releases 2022-02-10 10:41:15 +01:00
Chocobozzz f8360396ff
Stop using tsconfig register
Prefer to replace paths at compile time
2022-01-06 08:26:14 +01:00
Chocobozzz b969539c83
Fix types dist paths 2021-12-24 13:28:33 +01:00
lutangar 8b03e2ce1a feat(types): create peertube-types package
Create dedicated Typescript "types" configuration file for each "projects".
Create a types folder which includes every useful ts definition:
- client
- server
- shared
Add tooling to create a proper package, extract dependencies, etc...
Add CI Github task.

refactor(types): publish types package in release script
2021-12-16 10:08:43 +01:00
Chocobozzz eb8bd9ab1a
Try to fix openapi script 2021-08-11 14:38:07 +02:00
Chocobozzz cdce5af7fc
Provide sourcemaps in release 2021-02-11 14:02:54 +01:00
Chocobozzz 0f4f2ab007
Use more threads for xz release compression 2021-01-07 09:04:10 +01:00
Chocobozzz 50a04125da
Fix npm run build 2020-06-11 09:29:33 +02:00
Chocobozzz 2a068a15f7
Fix release script 2019-08-14 11:45:29 +02:00
Chocobozzz b73ddc8a57
Fix release script 2018-12-03 10:35:50 +01:00
Chocobozzz 6cc98dfff3
Add open api bump version in release script 2018-11-22 15:04:14 +01:00
Chocobozzz 225553a021
Improve release script 2018-10-17 08:42:54 +02:00
Chocobozzz 107c5fcda4
Fix release script 2018-10-11 08:47:59 +02:00
Rigel Kent f6dd7f7d18
parametrize gpg key in release script 2018-10-03 11:51:55 +02:00
Chocobozzz fc96e83d1c
Fix release script 2018-08-21 09:37:11 +02:00
Chocobozzz 5e319fb789
Upgrade release script to support release branch 2018-08-01 11:13:33 +02:00
Chocobozzz 87bec1051b
Handle pre releases in release script 2018-07-25 17:05:15 +02:00
Chocobozzz 379acb21bc
Rename "my settings" to "my account" in menu 2018-06-07 17:05:57 +02:00
Chocobozzz 989e526abf
Prepare i18n files 2018-06-05 08:43:01 +02:00
Chocobozzz e82afde946
Fix release script 2018-05-07 13:02:03 +02:00
Rigel d788291d2a refactoring archive creation step to reduce code duplication and be less error-prone 2018-03-30 17:13:24 +02:00
Rigel 6c42d96e46 modified scripts/release.sh to add tar.xz and provide archive signatures 2018-03-30 17:13:24 +02:00
Léo Andrès 0e4ffb4b67 Clean shell scripts (#398) 2018-03-27 10:35:12 +02:00
Chocobozzz 44e98cca5e
Add \n in changelog 2018-02-16 08:33:19 +01:00
Chocobozzz e33b53abb3
Handle changelog in release 2018-02-15 15:59:48 +01:00
Chocobozzz 4805cff179
Fix migrations 2018-01-29 11:58:07 +01:00
Chocobozzz c7b1b92b11
Use json for schema.org instead of tags 2018-01-24 09:21:45 +01:00
Chocobozzz 451ce9642c
Add commander in dependencies instead of dev dep 2018-01-22 09:42:42 +01:00
Chocobozzz 0edf0581a9
Add http tracker in torrent too 2018-01-19 08:49:04 +01:00
Chocobozzz fe452e0cab
Fix release script 2018-01-18 18:40:12 +01:00
Chocobozzz f05a1c30c1
Don't show videos of remote instance after unfollow 2018-01-18 15:42:20 +01:00
Chocobozzz fd206f0b2d
Add ability to update some configuration keys 2018-01-17 10:41:27 +01:00
Chocobozzz 9a05ef50be
Bumped to version v0.0.9-alpha 2018-01-15 18:07:07 +01:00
Chocobozzz 1e5c707b08
Add github release to release script 2018-01-15 16:43:37 +01:00
Chocobozzz 519b8df5f8
Bumped to version 0.0.7-alpha 2018-01-15 11:55:27 +01:00
Chocobozzz f8c79a4194
Bumped to version 0.0.2-alpha 2018-01-15 11:31:21 +01:00
Chocobozzz 6b2ef589ed
Prepare production workflow 2018-01-15 11:28:41 +01:00
Chocobozzz 08535e56aa
Prepare release script 2017-10-31 18:57:32 +01:00