Выдавать исходные карты из tsconfig только для разработчиков

#javascript #typescript

#javascript #typescript

Вопрос:

Есть ли способ, чтобы tsconfig находился в моей папке prod, чтобы создавать исходные карты только в том случае, если process.env есть development ? Я не хочу, чтобы исходные карты создавались во время моей сборки CI / CD или отправлялись в производство.

Ответ №1:

tsconfig не должен был содержать в самом файле такие вещи, как env, это просто простой файл json. Чтобы делать то, что вы хотите, вы должны использовать свою собственную конфигурацию для каждого env aka tsconfig.production.json , tsconfig.development.json

Затем вы можете в своем конвейере сборки использовать команду --project / --p при выполнении tsc , чтобы указать свое местоположение. Итак, если вы хотите, чтобы на вашем CI / CD создавались только сборки prod, тогда на вашем этапе выполнения tsc вы можете просто tsc -p ./tsconfig.production.json указать, где ./tsconfig.production.json ваш путь к этому файлу. Если вы хотите, чтобы он использовал ваш env собственный, большинство из CI/CD них позволяет вам выполнять другой сценарий в зависимости от env so, и снова вы просто выполняете его для сборки prod.

Еще одно краткое замечание: большинство людей структурируют свои файлы tsconfig так, чтобы иметь base файл, который, как указано в этом примере tsconfig.development.json , расширяется, и так tsconfig.production.json оно и есть . В у tsconfig.base.json вас все те же основные настройки, поэтому вы не повторяетесь дважды, при отключенных исходных картах. Затем в tsconfig.development.json вы можете расширить этот файл и включить исходные карты, чтобы по-прежнему обрабатывать хорошую отладку при разработке.

В любом случае, я надеюсь, что это надеется.