diff options
author | lutangar <johan.dufour@gmail.com> | 2021-11-02 19:11:20 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2021-12-16 10:08:43 +0100 |
commit | 06aad80165d09a8863ab8103149a8ff518b10641 (patch) | |
tree | a97fa31f3ade29ff807ca1b77704eb47085ab99d /scripts | |
parent | 854f533c12bd2b88c70f9d5aeab770059e9a6861 (diff) | |
download | PeerTube-06aad80165d09a8863ab8103149a8ff518b10641.tar.gz PeerTube-06aad80165d09a8863ab8103149a8ff518b10641.tar.zst PeerTube-06aad80165d09a8863ab8103149a8ff518b10641.zip |
chore(refactor): remove shared folder dependencies to the server
Many files from the `shared` folder were importing files from the `server` folder.
When attempting to use Typescript project references to describe dependencies,
it highlighted a circular dependency beetween `shared` <-> `server`.
The Typescript project forbid such usages.
Using project references greatly improve performance by rebuilding only
the updated project and not all source files.
> see https://www.typescriptlang.org/docs/handbook/project-references.html
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build/server.sh | 7 | ||||
-rw-r--r-- | scripts/client-build-stats.ts | 2 | ||||
-rwxr-xr-x | scripts/setup/cli.sh | 2 | ||||
-rw-r--r-- | scripts/tsconfig.json | 10 |
4 files changed, 17 insertions, 4 deletions
diff --git a/scripts/build/server.sh b/scripts/build/server.sh index b903f8250..865bdd095 100755 --- a/scripts/build/server.sh +++ b/scripts/build/server.sh | |||
@@ -4,7 +4,10 @@ set -eu | |||
4 | 4 | ||
5 | rm -rf ./dist | 5 | rm -rf ./dist |
6 | 6 | ||
7 | npm run tsc | 7 | npm run tsc -- -b --verbose |
8 | cp "./tsconfig.json" "./dist" | 8 | cp "./tsconfig.base.json" "./tsconfig.json" "./dist/" |
9 | cp "./scripts/tsconfig.json" "./dist/scripts/" | ||
10 | cp "./server/tsconfig.json" "./dist/server/" | ||
11 | cp "./shared/tsconfig.json" "./dist/shared/" | ||
9 | cp -r "./server/static" "./server/assets" "./dist/server" | 12 | cp -r "./server/static" "./server/assets" "./dist/server" |
10 | cp -r "./server/lib/emails" "./dist/server/lib" | 13 | cp -r "./server/lib/emails" "./dist/server/lib" |
diff --git a/scripts/client-build-stats.ts b/scripts/client-build-stats.ts index 70ceda975..91844dfcd 100644 --- a/scripts/client-build-stats.ts +++ b/scripts/client-build-stats.ts | |||
@@ -3,7 +3,7 @@ registerTSPaths() | |||
3 | 3 | ||
4 | import { readdir, stat } from 'fs-extra' | 4 | import { readdir, stat } from 'fs-extra' |
5 | import { join } from 'path' | 5 | import { join } from 'path' |
6 | import { root } from '@server/helpers/core-utils' | 6 | import { root } from '@shared/core-utils' |
7 | 7 | ||
8 | async function run () { | 8 | async function run () { |
9 | const result = { | 9 | const result = { |
diff --git a/scripts/setup/cli.sh b/scripts/setup/cli.sh index ea327e5a1..d0ad2ec5f 100755 --- a/scripts/setup/cli.sh +++ b/scripts/setup/cli.sh | |||
@@ -11,6 +11,6 @@ rm -rf ./dist/server/tools/ | |||
11 | yarn install --pure-lockfile | 11 | yarn install --pure-lockfile |
12 | ) | 12 | ) |
13 | 13 | ||
14 | npm run tsc -- --build ./server/tools/tsconfig.json | 14 | npm run tsc -- --build --verbose ./server/tools/tsconfig.json |
15 | cp -r "./server/tools/node_modules" "./dist/server/tools" | 15 | cp -r "./server/tools/node_modules" "./dist/server/tools" |
16 | cp "./tsconfig.json" "./dist" | 16 | cp "./tsconfig.json" "./dist" |
diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 000000000..0d9716f2d --- /dev/null +++ b/scripts/tsconfig.json | |||
@@ -0,0 +1,10 @@ | |||
1 | { | ||
2 | "extends": "../tsconfig.base.json", | ||
3 | "compilerOptions": { | ||
4 | "outDir": "../dist/scripts", | ||
5 | }, | ||
6 | "references": [ | ||
7 | { "path": "../shared" }, | ||
8 | { "path": "../server" } | ||
9 | ] | ||
10 | } | ||