From e9a74bcb807702fad39ee051821286f331a7ac10 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 11 Dec 2023 19:00:36 +0800 Subject: [PATCH] Remove `TSPropertySignature.initializer` (#16154) Co-authored-by: Babel Bot <30521560+liuxingbaoyu@users.noreply.github.com> --- packages/babel-generator/src/generators/typescript.ts | 8 +------- packages/babel-parser/src/types.d.ts | 1 - .../typescript/interface/property-initializer/input.ts | 1 + .../interface/property-initializer/options.json | 3 +++ packages/babel-types/src/ast-types/generated/index.ts | 1 - packages/babel-types/src/builders/generated/index.ts | 2 -- packages/babel-types/src/definitions/typescript.ts | 3 +-- 7 files changed, 6 insertions(+), 13 deletions(-) create mode 100644 packages/babel-parser/test/fixtures/typescript/interface/property-initializer/input.ts create mode 100644 packages/babel-parser/test/fixtures/typescript/interface/property-initializer/options.json diff --git a/packages/babel-generator/src/generators/typescript.ts b/packages/babel-generator/src/generators/typescript.ts index 8912fc6bdfa1..34bfc5b914e3 100644 --- a/packages/babel-generator/src/generators/typescript.ts +++ b/packages/babel-generator/src/generators/typescript.ts @@ -120,19 +120,13 @@ export function TSPropertySignature( this: Printer, node: t.TSPropertySignature, ) { - const { readonly, initializer } = node; + const { readonly } = node; if (readonly) { this.word("readonly"); this.space(); } this.tsPrintPropertyOrMethodName(node); this.print(node.typeAnnotation, node); - if (initializer) { - this.space(); - this.token("="); - this.space(); - this.print(initializer, node); - } this.token(";"); } diff --git a/packages/babel-parser/src/types.d.ts b/packages/babel-parser/src/types.d.ts index 723ae3969235..1036be41f32c 100644 --- a/packages/babel-parser/src/types.d.ts +++ b/packages/babel-parser/src/types.d.ts @@ -1345,7 +1345,6 @@ export interface TsPropertySignature extends TsNamedTypeElementBase { type: "TSPropertySignature"; readonly?: true; typeAnnotation?: TsTypeAnnotation; - initializer?: Expression; } export interface TsMethodSignature diff --git a/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/input.ts b/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/input.ts new file mode 100644 index 000000000000..2eb4e8289965 --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/input.ts @@ -0,0 +1 @@ +interface I { x: number = 1;} diff --git a/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/options.json b/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/options.json new file mode 100644 index 000000000000..b8eb9b69007d --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/interface/property-initializer/options.json @@ -0,0 +1,3 @@ +{ + "throws": "Unexpected token, expected \";\" (1:24)" +} diff --git a/packages/babel-types/src/ast-types/generated/index.ts b/packages/babel-types/src/ast-types/generated/index.ts index 700c0f32665c..a5deb85e6474 100644 --- a/packages/babel-types/src/ast-types/generated/index.ts +++ b/packages/babel-types/src/ast-types/generated/index.ts @@ -1742,7 +1742,6 @@ export interface TSPropertySignature extends BaseNode { type: "TSPropertySignature"; key: Expression; typeAnnotation?: TSTypeAnnotation | null; - initializer?: Expression | null; computed?: boolean; kind: "get" | "set"; optional?: boolean | null; diff --git a/packages/babel-types/src/builders/generated/index.ts b/packages/babel-types/src/builders/generated/index.ts index 77b8957b0c83..05c4f0d6a268 100644 --- a/packages/babel-types/src/builders/generated/index.ts +++ b/packages/babel-types/src/builders/generated/index.ts @@ -1968,13 +1968,11 @@ export { tsConstructSignatureDeclaration as tSConstructSignatureDeclaration }; export function tsPropertySignature( key: t.Expression, typeAnnotation: t.TSTypeAnnotation | null = null, - initializer: t.Expression | null = null, ): t.TSPropertySignature { return validateNode({ type: "TSPropertySignature", key, typeAnnotation, - initializer, kind: null, }); } diff --git a/packages/babel-types/src/definitions/typescript.ts b/packages/babel-types/src/definitions/typescript.ts index 12ba6819719d..913fedb7e2d5 100644 --- a/packages/babel-types/src/definitions/typescript.ts +++ b/packages/babel-types/src/definitions/typescript.ts @@ -127,12 +127,11 @@ const namedTypeElementCommon = () => ({ defineType("TSPropertySignature", { aliases: ["TSTypeElement"], - visitor: ["key", "typeAnnotation", "initializer"], + visitor: ["key", "typeAnnotation"], fields: { ...namedTypeElementCommon(), readonly: validateOptional(bool), typeAnnotation: validateOptionalType("TSTypeAnnotation"), - initializer: validateOptionalType("Expression"), kind: { validate: assertOneOf("get", "set"), },