From 06aad80165d09a8863ab8103149a8ff518b10641 Mon Sep 17 00:00:00 2001 From: lutangar Date: Tue, 2 Nov 2021 19:11:20 +0100 Subject: 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 --- server/tools/cli.ts | 5 ++++- server/tools/peertube-import-videos.ts | 2 +- server/tools/tsconfig.json | 6 ++++++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'server/tools') diff --git a/server/tools/cli.ts b/server/tools/cli.ts index 52e6ea593..7c763734f 100644 --- a/server/tools/cli.ts +++ b/server/tools/cli.ts @@ -5,7 +5,9 @@ import { createLogger, format, transports } from 'winston' import { PeerTubeServer } from '@shared/extra-utils' import { UserRole } from '@shared/models' import { VideoPrivacy } from '../../shared/models/videos' -import { getAppNumber, isTestInstance, root } from '../helpers/core-utils' +import { getAppNumber, isTestInstance } from '../helpers/core-utils' +import { root } from '@shared/core-utils' +import { loadLanguages } from '@server/initializers/constants' let configName = 'PeerTube/CLI' if (isTestInstance()) configName += `-${getAppNumber()}` @@ -180,6 +182,7 @@ function getServerCredentials (program: Command) { } function buildServer (url: string) { + loadLanguages() return new PeerTubeServer({ url }) } diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts index a758beef9..223bf7f1b 100644 --- a/server/tools/peertube-import-videos.ts +++ b/server/tools/peertube-import-videos.ts @@ -5,7 +5,7 @@ import { program } from 'commander' import { accessSync, constants } from 'fs' import { remove } from 'fs-extra' import { join } from 'path' -import { sha256 } from '../helpers/core-utils' +import { sha256 } from '@shared/core-utils/crypto' import { doRequestAndSaveToFile } from '../helpers/requests' import { assignToken, diff --git a/server/tools/tsconfig.json b/server/tools/tsconfig.json index 156a8ed22..575133ec8 100644 --- a/server/tools/tsconfig.json +++ b/server/tools/tsconfig.json @@ -1,5 +1,11 @@ { "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/server/tools" + }, "include": [ ".", "../typings" ], + "references": [ + { "path": "../" }, + ], "exclude": [ ] // Overwrite exclude property } -- cgit v1.2.3