From 2d5fbb22cdf6cde10004cea174fc90e71668746b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 2 Mar 2023 13:51:03 -0300 Subject: fix #7714 --- packages/merchant-backend-ui/trim-extension.cjs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 packages/merchant-backend-ui/trim-extension.cjs (limited to 'packages/merchant-backend-ui/trim-extension.cjs') diff --git a/packages/merchant-backend-ui/trim-extension.cjs b/packages/merchant-backend-ui/trim-extension.cjs new file mode 100644 index 000000000..00e8f9f01 --- /dev/null +++ b/packages/merchant-backend-ui/trim-extension.cjs @@ -0,0 +1,23 @@ +// Simple plugin to trim extensions from the filename of relative import statements. +// Required to get linaria to work with `moduleResulution: "Node16"` imports. +// @author Florian Dold +module.exports = function({ types: t }) { + return { + name: "trim-extension", + visitor: { + ImportDeclaration: (x) => { + const src = x.node.source; + if (src.value.startsWith(".")) { + if (src.value.endsWith(".js")) { + const newVal = src.value.replace(/[.]js$/, "") + x.node.source = t.stringLiteral(newVal); + } + } + if (src.value.endsWith(".jsx")) { + const newVal = src.value.replace(/[.]jsx$/, "") + x.node.source = t.stringLiteral(newVal); + } + }, + } + }; +} -- cgit v1.2.3