Отдельный 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-
с самого начала.