aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
authorlutangar <johan.dufour@gmail.com>2021-11-02 19:11:20 +0100
committerChocobozzz <chocobozzz@cpy.re>2021-12-16 10:08:43 +0100
commit06aad80165d09a8863ab8103149a8ff518b10641 (patch)
treea97fa31f3ade29ff807ca1b77704eb47085ab99d /scripts
parent854f533c12bd2b88c70f9d5aeab770059e9a6861 (diff)
downloadPeerTube-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-xscripts/build/server.sh7
-rw-r--r--scripts/client-build-stats.ts2
-rwxr-xr-xscripts/setup/cli.sh2
-rw-r--r--scripts/tsconfig.json10
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
5rm -rf ./dist 5rm -rf ./dist
6 6
7npm run tsc 7npm run tsc -- -b --verbose
8cp "./tsconfig.json" "./dist" 8cp "./tsconfig.base.json" "./tsconfig.json" "./dist/"
9cp "./scripts/tsconfig.json" "./dist/scripts/"
10cp "./server/tsconfig.json" "./dist/server/"
11cp "./shared/tsconfig.json" "./dist/shared/"
9cp -r "./server/static" "./server/assets" "./dist/server" 12cp -r "./server/static" "./server/assets" "./dist/server"
10cp -r "./server/lib/emails" "./dist/server/lib" 13cp -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
4import { readdir, stat } from 'fs-extra' 4import { readdir, stat } from 'fs-extra'
5import { join } from 'path' 5import { join } from 'path'
6import { root } from '@server/helpers/core-utils' 6import { root } from '@shared/core-utils'
7 7
8async function run () { 8async 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
14npm run tsc -- --build ./server/tools/tsconfig.json 14npm run tsc -- --build --verbose ./server/tools/tsconfig.json
15cp -r "./server/tools/node_modules" "./dist/server/tools" 15cp -r "./server/tools/node_modules" "./dist/server/tools"
16cp "./tsconfig.json" "./dist" 16cp "./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}