diff --git a/changelog.md b/changelog.md index e71c653c5..a503bcf52 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,7 @@ ### Unreleased - Moved typescript from dev-dependencies to dependencies as it's needed by the typescript-eslint-parser +- Added support for typescript definition files - Cleaned up ignore files and publish contents ### 3.1.0 diff --git a/src/language-js/reprinter/index.ts b/src/language-js/reprinter/index.ts index 0cb876c0d..4e3a7da9d 100644 --- a/src/language-js/reprinter/index.ts +++ b/src/language-js/reprinter/index.ts @@ -186,6 +186,7 @@ export class Reprinter implements ILanguage { case "DebuggerStatement": case "EmptyStatement": case "Literal": + case "OptionalMemberExpression": case "RestProperty": case "SpreadElement": case "Super": @@ -323,7 +324,9 @@ export class Reprinter implements ILanguage { break; } case "FunctionExpression": { - nodes.push(node.body); + if (node.body != null) { + nodes.push(node.body); + } break; } case "Identifier": @@ -517,6 +520,7 @@ export class Reprinter implements ILanguage { case "TSArrayType": case "TSAsExpression": case "TSBooleanKeyword": + case "TSConditionalType": case "TSConstructorType": case "TSEnumDeclaration": case "TSImportType": diff --git a/src/language-js/reprinter/test_assets/typescript.generated_class_definition.input.ts.txt b/src/language-js/reprinter/test_assets/typescript.generated_class_definition.input.ts.txt new file mode 100644 index 000000000..0fb62a96c --- /dev/null +++ b/src/language-js/reprinter/test_assets/typescript.generated_class_definition.input.ts.txt @@ -0,0 +1,20 @@ +import { ReprinterOptions } from "../reprinter-options"; +export declare class Reprinter { + private static reprinters; + static rewriteFile(filename: string, options: ReprinterOptions): void; + static rewriteText(fileExtension: string, text: string, options: ReprinterOptions): string | undefined; + private static getReprinterForFile; +} + +declare type ArgumentType = T extends (...arg1: infer U) => any ? U : any; +export declare enum LoggerVerboseOption { + Quiet = 0, + Normal = 1, + Diagnostic = 2 +} +export declare class LogUtils { + private static verbosity; + static log(verbosity: LoggerVerboseOption, ...args: ArgumentType): void; + static setVerbosity(newVerbosity: LoggerVerboseOption): void; +} +export {}; diff --git a/src/language-js/reprinter/test_assets/typescript.generated_class_definition.output.ts.txt b/src/language-js/reprinter/test_assets/typescript.generated_class_definition.output.ts.txt new file mode 100644 index 000000000..0fb62a96c --- /dev/null +++ b/src/language-js/reprinter/test_assets/typescript.generated_class_definition.output.ts.txt @@ -0,0 +1,20 @@ +import { ReprinterOptions } from "../reprinter-options"; +export declare class Reprinter { + private static reprinters; + static rewriteFile(filename: string, options: ReprinterOptions): void; + static rewriteText(fileExtension: string, text: string, options: ReprinterOptions): string | undefined; + private static getReprinterForFile; +} + +declare type ArgumentType = T extends (...arg1: infer U) => any ? U : any; +export declare enum LoggerVerboseOption { + Quiet = 0, + Normal = 1, + Diagnostic = 2 +} +export declare class LogUtils { + private static verbosity; + static log(verbosity: LoggerVerboseOption, ...args: ArgumentType): void; + static setVerbosity(newVerbosity: LoggerVerboseOption): void; +} +export {};