машинопись ts c исключить с помощью аргументов строки cmd - PullRequest
1 голос
/ 15 февраля 2020

Я работаю через инструмент, который требует динамической компиляции. В этом случае нам нужно поддерживать объект tsconfig json в базе данных.

Хотя мы используем его для компиляции на определенной машине, существует действие записи файла. Я имею в виду, что нам нужно получить данные tsconfig и записать их в файл tsconfig.json, а затем начать компиляцию ts c.

Ну, кажется, нет необходимости писать этот файл конфигурации во всем процессе, поэтому я ищу способ генерирования командной строки ts c из tsconfig json.

Из офисного документа я обнаружил, что легко преобразовать compilerOptions в аргументы CLI, но понятия не имею, как иметь дело с exclude.

{
    "compilerOptions": {
        "module": "system",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "outFile": "../../built/local/tsc.js",
        "sourceMap": true
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts"
    ]
} 

С приведенным выше случаем Я пробовал что-то вроде:

tsc src/apis/**/*  \
    "\!node_modules" \        # this didn't work
    "\!**/*.spec.ts" \        # this didn't work
    --module "system" \
    --noImplicitAny true \
    --removeComments true \
    --preserveConstEnums true \
    --outFile "../../built/local/tsc.js" \
    --sourceMap true

Это не сработало, мне нужно предложение о том, как ts c справится с делом exclude. Спасибо за ваше чтение.

1 Ответ

0 голосов
/ 18 февраля 2020

У меня есть обходной путь, это смешивать tsconfig.files, tsconfig.include и tsconfig.exlude в массив, затем globby it, так что мы можем вручную получить список файлов быть сведенным к аргументам CLI.

...