From 890b4acaefd7c6b5679418c23f7b59dd62192892 Mon Sep 17 00:00:00 2001 From: Anton Evzhakov Date: Tue, 4 Jul 2023 16:30:44 +0300 Subject: [PATCH] fix(babel): squash "cannot read properties of null" (fixes #1262) (#1271) --- .changeset/cyan-books-push.md | 5 +++++ packages/esbuild/src/index.ts | 2 +- packages/utils/src/isRemoved.ts | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/cyan-books-push.md diff --git a/.changeset/cyan-books-push.md b/.changeset/cyan-books-push.md new file mode 100644 index 000000000..7d5d8fa43 --- /dev/null +++ b/.changeset/cyan-books-push.md @@ -0,0 +1,5 @@ +--- +'@linaria/utils': patch +--- + +Sometimes Babel doesn't mark removed nodes as removed. An additional check was added. Fixes #1262 diff --git a/packages/esbuild/src/index.ts b/packages/esbuild/src/index.ts index f9f95f147..dce6a4c96 100644 --- a/packages/esbuild/src/index.ts +++ b/packages/esbuild/src/index.ts @@ -43,7 +43,7 @@ export default function linaria({ const result = await build.resolve(token, { resolveDir: context, - kind: "import-statement" + kind: 'import-statement', }); if (result.errors.length > 0) { diff --git a/packages/utils/src/isRemoved.ts b/packages/utils/src/isRemoved.ts index 01379abab..1ebdc59e8 100644 --- a/packages/utils/src/isRemoved.ts +++ b/packages/utils/src/isRemoved.ts @@ -16,7 +16,7 @@ export default function isRemoved(path: NodePath): boolean { if (parent) { // If the parent path has been removed, return true - if (parent.removed) { + if (parent.removed || parent.node === null) { return true; }