Можно ли добавить переменные среды в файл tsconfig.json?
У меня есть файл tsconfig.json, содержащий
{
"extends": "../../zlux-app-manager/virtual-desktop/plugin-config/tsconfig.base.json",
"include": [
"src/**/*.ts",
"../../zlux-platform/interface/src/mvd-hosting.d.ts"
],
"compilerOptions": {
"skipLibCheck": true
}
}
Я хочу заменить ../../ переменной окружения. Какие есть возможные решения?
1 ответ
tsconfig.json
- это простой документ JSON, в котором отсутствует какой-либо способ ссылки на переменные среды. Вы можете проверить все возможные варианты в схеме tsconfig.
Однако это не ограничивает ваш вариант использования. Вы можете использовать язык шаблонов данных, например Jsonnet. Это проект на 20%, который может генерировать динамический json (или другие форматы обозначений). Вы можете использовать его для создания вторичного файла tsconfig.json и передачи его в качестве аргументов в tsc.
Или
Просто используйте Python/JS/ любой язык программирования. В конце дня вам нужно произвестиjson file
к tsc
, создайте его! Следующий код Python с приведенным ниже скриптом работает отлично.
import os, json
r ={
"extends": os.environ['FOO'] + "/zlux-app-manager/virtual-desktop/plugin-config/tsconfig.base.json",
"include": [
"src/**/*.ts",
os.environ['FOO'] + "/zlux-platform/interface/src/mvd-hosting.d.ts"
],
"compilerOptions": {
"skipLibCheck": True
}
}
print(json.dumps(r))
Команда Bash
$ FOO=mydir python3 tsconfig.py > tsconfig.json && tsc tsconfig.json