@@ -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