Skip to content

Commit c45cb6c

Browse files
authored
[babel-plugin] remove problematic externals from browser bundle (#1382)
1 parent 0e437c6 commit c45cb6c

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

packages/@stylexjs/babel-plugin/rollup.config.mjs

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,24 +64,21 @@ const browserConfig = {
6464
file: './lib/index.browser.js',
6565
format: 'cjs',
6666
},
67-
external: [
68-
'@babel/traverse',
69-
'@babel/types',
70-
'@babel/core',
71-
'@babel/helper-module-imports',
72-
'@stylexjs/stylex',
73-
'postcss-value-parser',
74-
],
67+
external: ['@babel/standalone', '@stylexjs/stylex', 'postcss-value-parser'],
7568
plugins: [
7669
{
77-
name: 'stub-node-dependent-modules',
70+
name: 'stub-modules',
7871
resolveId(source, importer) {
7972
switch (source) {
8073
case 'node:path':
8174
return this.resolve('path-browserify', importer);
8275
case 'node:fs':
8376
case 'node:url':
77+
case 'assert':
8478
case '@dual-bundle/import-meta-resolve':
79+
case '@babel/core':
80+
case '@babel/traverse':
81+
case '@babel/types':
8582
return source;
8683
default:
8784
return null;
@@ -92,8 +89,29 @@ const browserConfig = {
9289
case 'node:fs':
9390
case 'node:url':
9491
return 'export default {};';
92+
case 'assert':
93+
return 'export default function assert(condition, message) { if (!condition) throw new Error(message || "Assertion failed"); }';
9594
case '@dual-bundle/import-meta-resolve':
9695
return 'export function moduleResolve() {}';
96+
case '@babel/core':
97+
return "import standalone from '@babel/standalone'; export const parseSync = standalone.packages.parser.parse;";
98+
case '@babel/traverse':
99+
return "import standalone from '@babel/standalone'; export default standalone.packages.traverse.default;";
100+
case '@babel/types':
101+
return `import standalone from '@babel/standalone';
102+
export const {
103+
arrayExpression, arrowFunctionExpression, binaryExpression, booleanLiteral,
104+
callExpression, conditionalExpression, expressionStatement, identifier,
105+
importDeclaration, isAssignmentExpression, isBinaryExpression, isBooleanLiteral,
106+
isCallExpression, isClass, isConditionalExpression, isExpression,
107+
isExpressionStatement, isFunction, isIdentifier, isImportDeclaration,
108+
isLogicalExpression, isMemberExpression, isNode, isNullLiteral,
109+
isNumericLiteral, isObjectExpression, isObjectProperty, isPrivateName,
110+
isSpreadElement, isStringLiteral, isTemplateLiteral, isUnaryExpression,
111+
isUpdateExpression, isValidIdentifier, isVariableDeclaration, jsxAttribute,
112+
jsxIdentifier, memberExpression, nullLiteral, numericLiteral, objectExpression,
113+
objectProperty, stringLiteral, unaryExpression, variableDeclaration, variableDeclarator
114+
} = standalone.packages.types;`;
97115
default:
98116
return null;
99117
}

0 commit comments

Comments
 (0)