ウェブサイト検索

javascript - Turborepo/Typescript パッケージ - インポート構造の維持


私はTurborepoプロジェクトの一環として、TypeScript用のパッケージシリーズを開発しています。これらのパッケージのインポート構造の例は次のようになります

import { Test } from "package-name"
import { Test } from "package-name/Test"

これに関して私が直面している問題は、Turborepoで開発する際に、次のようにしか参照できないということです:

import { Test } from "package-name"
import { Test } from "package-name/dist/Test"
import { Test } from "package-name/src/Test"

これはルートディレクトリではなく、代わりに src(またはビルド済みの場合は dist)ディレクトリにあるためです。

これを回避する方法はありますか?この問題を解決できるかどうか確認するためにTSConfigでいくつかのオプションを試してみましたが、何も見つけられないようです。

回答 #1

なので、自分の質問に答えると、ここでの主なメカニズムは(パッケージの数が限られていることを考えると)、そのパッケージ自体ではなく、そのパッケージを使用するメインアプリケーションで tsconfig.json のパスを使ってインポートパスを上書きできるということだと思います。

おそらくもっときれいな方法があると思いますが、これはちゃんと動作します。

例

"package-name": [
     "../../node_modules/package-name/src/*",
]

私は今、次のことができます:

import { Test } from "package-name"
import { Test } from "package-name/Test"

の代わりに

import { Test } from "package-name"
import { Test } from "package-name/src/Test"