diff --git a/.changeset/blue-eagles-burn.md b/.changeset/blue-eagles-burn.md new file mode 100644 index 000000000..eaaad1bec --- /dev/null +++ b/.changeset/blue-eagles-burn.md @@ -0,0 +1,5 @@ +--- +'@linaria/babel-preset': patch +--- + +Better support for ES-modules in node_modules (fixes #1242) diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index a3d81f59b..234a3f2b7 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -208,7 +208,7 @@ module.exports = { return false; } - return /(?:^|\n|;)\s*(?:export|import)\s+/.test(code); + return /\b(?:export|import)\b/.test(code); }, action: require.resolve('@linaria/shaker'), } diff --git a/packages/babel/src/transform-stages/helpers/loadLinariaOptions.ts b/packages/babel/src/transform-stages/helpers/loadLinariaOptions.ts index fb07c930a..20cdf3fbb 100644 --- a/packages/babel/src/transform-stages/helpers/loadLinariaOptions.ts +++ b/packages/babel/src/transform-stages/helpers/loadLinariaOptions.ts @@ -49,7 +49,8 @@ export default function loadLinariaOptions( return false; } - return /(?:^|\n|;)\s*(?:export|import)\s+/.test(code); + // If a file contains `export` or `import` keywords, we assume it's an ES-module + return /\b(?:export|import)\b/.test(code); }, action: require.resolve('@linaria/shaker'), },