diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/input.ts b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/input.ts new file mode 100644 index 0000000000..06818eda99 --- /dev/null +++ b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/input.ts @@ -0,0 +1 @@ +let x: (number) => void; diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json new file mode 100644 index 0000000000..05760686b4 --- /dev/null +++ b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["syntax-typescript", "./plugin"] +} diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/output.js b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/output.js new file mode 100644 index 0000000000..a3d4a2a515 --- /dev/null +++ b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/output.js @@ -0,0 +1 @@ +let x: (string) => void; diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.js b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.js new file mode 100644 index 0000000000..b2294ab701 --- /dev/null +++ b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.js @@ -0,0 +1,11 @@ +module.exports = function() { + return { + visitor: { + Identifier(path) { + if (path.node.name == "number") { + path.node.name = "string"; + } + } + } + }; +} diff --git a/packages/babel-types/src/definitions/typescript.js b/packages/babel-types/src/definitions/typescript.js index 4f321adb3b..f6a89fa8dc 100644 --- a/packages/babel-types/src/definitions/typescript.js +++ b/packages/babel-types/src/definitions/typescript.js @@ -156,7 +156,7 @@ defineType("TSThisType", { const fnOrCtr = { aliases: ["TSType"], - visitor: ["typeParameters", "typeAnnotation"], + visitor: ["typeParameters", "parameters", "typeAnnotation"], fields: signatureDeclarationCommon, };