From dd82738a1917002fc40f3e6878e4043e07eb22f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 16 Sep 2021 18:36:23 +0200 Subject: [PATCH] Also type casts --- .../src/rewrite-live-references.ts | 1 + .../integration/missing-flow-plugin-type-cast/input.js | 3 +++ .../integration/missing-flow-plugin-type-cast/options.json | 6 ++++++ .../missing-ts-plugin-type-assertion-legacy/input.ts | 3 +++ .../missing-ts-plugin-type-assertion-legacy/options.json | 6 ++++++ .../integration/missing-ts-plugin-type-assertion/input.ts | 3 +++ .../missing-ts-plugin-type-assertion/options.json | 6 ++++++ 7 files changed, 28 insertions(+) create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/input.js create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/options.json create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/input.ts create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/options.json create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/input.ts create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/options.json diff --git a/packages/babel-helper-module-transforms/src/rewrite-live-references.ts b/packages/babel-helper-module-transforms/src/rewrite-live-references.ts index 1fe85f9ab317..7563fc8efffa 100644 --- a/packages/babel-helper-module-transforms/src/rewrite-live-references.ts +++ b/packages/babel-helper-module-transforms/src/rewrite-live-references.ts @@ -49,6 +49,7 @@ function isInType(path) { switch (path.parent.type) { case "TSTypeAnnotation": case "TSTypeAliasDeclaration": + case "TSTypeReference": case "TypeAnnotation": case "TypeAlias": return true; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/input.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/input.js new file mode 100644 index 000000000000..8bc03f2248ae --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/input.js @@ -0,0 +1,3 @@ +import { A } from "x"; + +var x = ({} : A.b[0]); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/options.json new file mode 100644 index 000000000000..5488d6aa7d65 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-flow-plugin-type-cast/options.json @@ -0,0 +1,6 @@ +{ + "externalHelpers": true, + "sourceType": "module", + "plugins": ["transform-modules-commonjs", "syntax-flow"], + "throws": "Cannot transform the imported A binding since it's used in a type annotation. Please strip type annotations using @babel/preset-typescript or @babel/preset-flow." +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/input.ts b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/input.ts new file mode 100644 index 000000000000..6bf00bc3a8b0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/input.ts @@ -0,0 +1,3 @@ +import { A } from "x"; + +var x = {} as A.b[0]; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/options.json new file mode 100644 index 000000000000..0b34b9f7a291 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion-legacy/options.json @@ -0,0 +1,6 @@ +{ + "externalHelpers": true, + "sourceType": "module", + "plugins": ["transform-modules-commonjs", "syntax-typescript"], + "throws": "Cannot transform the imported A binding since it's used in a type annotation. Please strip type annotations using @babel/preset-typescript or @babel/preset-flow." +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/input.ts b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/input.ts new file mode 100644 index 000000000000..f046a912385b --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/input.ts @@ -0,0 +1,3 @@ +import { A } from "x"; + +var x = {}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/options.json new file mode 100644 index 000000000000..0b34b9f7a291 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/integration/missing-ts-plugin-type-assertion/options.json @@ -0,0 +1,6 @@ +{ + "externalHelpers": true, + "sourceType": "module", + "plugins": ["transform-modules-commonjs", "syntax-typescript"], + "throws": "Cannot transform the imported A binding since it's used in a type annotation. Please strip type annotations using @babel/preset-typescript or @babel/preset-flow." +}