Как я могу создать читабельный JSON из TypeScript CompilerOptions? - PullRequest
1 голос
/ 05 февраля 2020

Учитывая объект, подобный этому:

import * as ts from "typescript";

const options: ts.CompilerOptions = {
    target: ts.ScriptTarget.ESNext,
    moduleResolution: ts.ModuleResolutionKind.NodeJs
}

Как я могу сгенерировать понятный человеку tsconfig. json как это?

{
    "target": "ESNext",
    "moduleResolution": "NodeJs"
}

В качестве альтернативы, я мог бы решить мою проблему если есть способ go наоборот (проанализируйте объект ts.CompilerOptions из понятного человеку ввода tsconfig).

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

1 Ответ

1 голос
/ 07 февраля 2020

Нет способа сделать это!

Но, учитывая проблему, которую вы пытаетесь решить, похоже, что есть решение:

В качестве альтернативы, я мог бы решить свою проблема, если есть способ go наоборот (парсинг объекта ts.CompilerOptions из понятного человеку ввода tsconfig).

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

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

Затем используйте ts.convertCompilerOptionsFromJson для преобразования опций компилятора из объекта JSON -тиля в ts.CompilerOptions.

As Например, как gulp-typcript выполняет преобразование :

import * as ts from "typescript";

// later in the file
const settingsResult = typescript.convertCompilerOptionsFromJson(settings, projectDirectory);

if (settingsResult.errors) {
    reportErrors(settingsResult.errors, typescript);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...