Отдельный tsconfig для каждой папки сложной структуры проекта

У меня сложный проект, в котором каждая папка использует разные параметры tsconfig (например, разные jsxFactory).

Вот как я структурировал проект:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig

Я хочу, чтобы итоговая компиляция выглядела так:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig
folder1  (compiled from src-folder1)
folder2  (compiled from src-folder2)

Корневой tsconfig не имеет rootDir, outDir, include, exclude, files параметры.

Мой tsconfig src-folder1 выглядит так:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "jsxFactory": "React.createElement",
    "outDir": "../folder1"
  }
}

Аналогичная вещь написана для folder2 с другим outDir (../folder2) и jsxFactory.

Я составляю отдельные папки следующим образом:

    "tsc.folder1": "tsc -p src-folder1/tsconfig.json",
    "tsc.folder2": "tsc -p src-folder2/tsconfig.json",
    "tsc": "npm run tsc.folder1 && npm run tsc.folder2",

Это работает, если отдельные папки не содержат файлы друг от друга. Но если folder1 импортировать что-то из folder2,

import { something} from "../src-folder2/something"

вместо этого вывод будет выглядеть так:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig
folder1
  src-folder1
  src-folder2
folder2  (compiled from src-folder2)
  src-folder1

Как я могу решить эту проблему?

Почему я хочу это сделать?

Я хочу, чтобы мои отдельные папки были расходными материалами без необходимости использования dist/ приставка.

import {something} from "myLib/folder1/something"
import {somethingElse} from "myLib/folder1/somethingElse"

Я думаю, что машинописный текст просто компилирует мои папки с префиксом src- и удаляет src- с самого начала.

0 ответов

Другие вопросы по тегам