@gluestack-style/babel-plugin-styled-resolver
Advanced tools
Comparing version 1.0.2-alpha.0 to 1.0.2-alpha.1
@@ -1,1 +0,1 @@ | ||
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var fs=require('fs');var path=require('path');var babel=require('@babel/parser');var generate=require('@babel/generator').default;var babelPresetTypeScript=require('@babel/preset-typescript');var traverse=require('@babel/traverse').default;var types=require('@babel/types');var _require=require("./buildConfig"),buildAndGetConfig=_require.getConfig;var _require2=require('@gluestack-style/react/lib/commonjs/convertSxToSxVerbosed'),convertStyledToStyledVerbosed=_require2.convertStyledToStyledVerbosed,convertSxToSxVerbosed=_require2.convertSxToSxVerbosed;var _require3=require('@gluestack-style/react/lib/commonjs/propertyTokenMap'),propertyTokenMap=_require3.propertyTokenMap;var _require4=require('@gluestack-style/react/lib/commonjs/stableHash'),stableHash=_require4.stableHash;var _require5=require('@gluestack-style/react/lib/commonjs/core/styled-system'),CSSPropertiesMap=_require5.CSSPropertiesMap,reservedKeys=_require5.reservedKeys;var _require6=require('@gluestack-style/react/lib/commonjs/style-sheet/index'),StyleInjector=_require6.StyleInjector;var _require7=require('@gluestack-style/react/lib/commonjs/updateOrderUnResolvedMap'),updateOrderUnResolvedMap=_require7.updateOrderUnResolvedMap;var _require8=require('@gluestack-style/react/lib/commonjs/utils'),deepMerge=_require8.deepMerge;var _require9=require('@gluestack-style/react/lib/commonjs/core/utils'),setObjectKeyValue=_require9.setObjectKeyValue;var _require10=require('@gluestack-style/react/lib/commonjs/core/convert-utility-to-sx'),checkAndReturnUtilityProp=_require10.checkAndReturnUtilityProp;var IMPORT_NAME='@gluestack-style/react';var configThemePath=[];var BUILD_TIME_GLUESTACK_STYLESHEET=new StyleInjector();var convertExpressionContainerToStaticObject=function convertExpressionContainerToStaticObject(properties){var result=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var keyPath=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var propsToBePersist=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};properties==null?void 0:properties.forEach(function(property,index){var _property$key$name;var nodeName=(_property$key$name=property.key.name)!=null?_property$key$name:property.key.value;if(property.value.type==='ObjectExpression'){keyPath.push(nodeName);convertExpressionContainerToStaticObject(property.value.properties,result,keyPath,propsToBePersist);keyPath.pop();}else if(property.value.type==='Identifier'){if(property.key.value){setObjectKeyValue(propsToBePersist,[].concat((0,_toConsumableArray2.default)(keyPath),[nodeName]),property.value.name);}if(property.key.name){setObjectKeyValue(propsToBePersist,[].concat((0,_toConsumableArray2.default)(keyPath),[nodeName]),property.value.name);}}else{if(property.key.value){setObjectKeyValue(result,[].concat((0,_toConsumableArray2.default)(keyPath),[property.key.value]),property.value.value);}if(property.key.name){setObjectKeyValue(result,[].concat((0,_toConsumableArray2.default)(keyPath),[property.key.name]),property.value.value);}}});return{result:result,propsToBePersist:propsToBePersist};};function findThemeAndComponentConfig(node){var themeNode=null;var componentConfigNode=null;node.forEach(function(prop){var propKey=prop.key.name?prop.key.name:prop.key.value;if(propKey==='theme'){themeNode=prop;}else if(propKey==='componentConfig'){componentConfigNode=prop;}});return{themeNode:themeNode,componentConfigNode:componentConfigNode};}function addQuotesToObjectKeys(code){var ast=babel.parse("var a = "+code,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module'});traverse(ast,{ObjectProperty:function ObjectProperty(objectPropertyPath){if(types.isTemplateLiteral(objectPropertyPath.node.value)){objectPropertyPath.node.value=types.stringLiteral(objectPropertyPath.node.value.quasis[0].value.raw);}if(types.isIdentifier(objectPropertyPath.node.key)){objectPropertyPath.node.key=types.stringLiteral(objectPropertyPath.node.key.name);}if(types.isNumericLiteral(objectPropertyPath.node.key)){objectPropertyPath.node.key=types.stringLiteral(objectPropertyPath.node.key.extra.raw);}if(types.isStringLiteral(objectPropertyPath.node.value)){objectPropertyPath.node.value=types.stringLiteral(objectPropertyPath.node.value.value);}}});var initAst;traverse(ast,{ObjectProperty:function ObjectProperty(objectPropertyPath){var _objectPropertyPath$n,_objectPropertyPath$n2,_objectPropertyPath$n3,_objectPropertyPath$n4;if(types.isArrayExpression(objectPropertyPath==null?void 0:(_objectPropertyPath$n=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n.value)){var arrayElements=objectPropertyPath.node.value.elements;var dynamicElementsIndex=[];arrayElements.forEach(function(element,index){if(types.isNewExpression(element)||types.isIdentifier(element)||types.isTemplateLiteral(element)){dynamicElementsIndex.push(index);}});arrayElements=arrayElements.filter(function(element,index){return!dynamicElementsIndex.includes(index);});objectPropertyPath.node.value.elements=arrayElements;}else if(types.isIdentifier(objectPropertyPath==null?void 0:(_objectPropertyPath$n2=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n2.value)||types.isTemplateLiteral(objectPropertyPath==null?void 0:(_objectPropertyPath$n3=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n3.value)||types.isConditionalExpression(objectPropertyPath==null?void 0:(_objectPropertyPath$n4=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n4.value)){objectPropertyPath.remove();}}});traverse(ast,{VariableDeclarator:function VariableDeclarator(variableDeclaratorPath){initAst=variableDeclaratorPath.node.init;}});var _generate=generate(initAst,{sourceType:'module',presets:[babelPresetTypeScript],plugins:['typescript']}),output=_generate.code;return output;}var merge=require('lodash.merge');var _require11=require('process'),exit=_require11.exit;var checkIfPathIsAbsolute=function checkIfPathIsAbsolute(path){return path.startsWith('/');};function getConfig(configPath){if(configPath){return fs.readFileSync(path.join(!checkIfPathIsAbsolute(configPath)?process.cwd():'',configPath),'utf8');}var isConfigJSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-style.config.js'));var isGlueStackUIConfigJSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-ui.config.js'));var isConfigTSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-style.config.ts'));var isGlueStackUIConfigTSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-ui.config.ts'));if(isConfigTSExist){return fs.readFileSync(path.join(process.cwd(),'./gluestack-style.config.ts'),'utf8');}if(isConfigJSExist){return fs.readFileSync(path.join(process.cwd(),'./gluestack-style.config.js'),'utf8');}if(isGlueStackUIConfigJSExist){configThemePath=['theme'];return fs.readFileSync(path.join(process.cwd(),'./gluestack-ui.config.js'),'utf8');}if(isGlueStackUIConfigTSExist){configThemePath=['theme'];return fs.readFileSync(path.join(process.cwd(),'./gluestack-ui.config.ts'),'utf8');}}function getBuildTimeParams(theme,componentConfig,extendedConfig,outputLibrary,platform,type){var _ConfigDefault;var mergedPropertyConfig=Object.assign({},(_ConfigDefault=ConfigDefault)==null?void 0:_ConfigDefault.propertyTokenMap,propertyTokenMap);var componentExtendedConfig=merge({},Object.assign({},ConfigDefault,{propertyTokenMap:Object.assign({},mergedPropertyConfig)}));if(theme&&Object.keys(theme).length>0){var verbosedTheme=convertStyledToStyledVerbosed(theme);var componentHash=stableHash(Object.assign({},theme,componentConfig));if(outputLibrary){componentHash=outputLibrary+'-'+componentHash;}var _updateOrderUnResolve=updateOrderUnResolvedMap(verbosedTheme,componentHash,type,componentConfig,BUILD_TIME_GLUESTACK_STYLESHEET,platform),styledIds=_updateOrderUnResolve.styledIds,verbosedStyleIds=_updateOrderUnResolve.verbosedStyleIds;var toBeInjected=BUILD_TIME_GLUESTACK_STYLESHEET.resolve(styledIds,componentExtendedConfig,{});var current_global_map=BUILD_TIME_GLUESTACK_STYLESHEET.getStyleMap();var orderedResolvedTheme=[];current_global_map==null?void 0:current_global_map.forEach(function(styledResolved){var _styledResolved$meta;if(styledIds.includes(styledResolved==null?void 0:(_styledResolved$meta=styledResolved.meta)==null?void 0:_styledResolved$meta.cssId)){orderedResolvedTheme.push(styledResolved);}});var styleIdsAst=generateObjectAst(verbosedStyleIds);var toBeInjectedAst=generateObjectAst(toBeInjected);var orderedResolvedAst=generateArrayAst(orderedResolvedTheme);var orderedStyleIdsArrayAst=types.arrayExpression(styledIds==null?void 0:styledIds.map(function(cssId){return types.stringLiteral(cssId);}));var resultParamsNode=types.objectExpression([types.objectProperty(types.stringLiteral('orderedResolved'),orderedResolvedAst),types.objectProperty(types.stringLiteral('toBeInjected'),toBeInjectedAst),types.objectProperty(types.stringLiteral('styledIds'),orderedStyleIdsArrayAst),types.objectProperty(types.stringLiteral('verbosedStyleIds'),styleIdsAst)]);return resultParamsNode;}return null;}function getExportedConfigFromFileString(fileData){var _fileData,_objectCode,_addQuotesToObjectKey;if(!fileData){return{};}fileData=(_fileData=fileData)==null?void 0:_fileData.replace(/as const/g,'');var ast=babel.parse(fileData,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module',comments:false});var config={};traverse(ast,{CallExpression:function CallExpression(path){var _path$node=path.node,callee=_path$node.callee,args=_path$node.arguments;if(types.isIdentifier(callee,{name:'createConfig'})&&args.length===1&&types.isObjectExpression(args[0])){path.replaceWith(args[0]);}}});traverse(ast,{ExportNamedDeclaration:function ExportNamedDeclaration(path){path.traverse({VariableDeclarator:function VariableDeclarator(variableDeclaratorPath){config=variableDeclaratorPath.node.init;}});},Identifier:function Identifier(path){if(path.node.name==='undefined'){path.node.name='null';}}});var objectCode=generate(config).code;objectCode=(_objectCode=objectCode)==null?void 0:_objectCode.replace(/\/\/.*|\/\*[\s\S]*?\*\//g,'');objectCode=(_addQuotesToObjectKey=addQuotesToObjectKeys(objectCode))==null?void 0:_addQuotesToObjectKey.replace(/'/g,'"');return JSON.parse(objectCode);}function replaceSingleQuotes(str){var inDoubleQuotes=false;var newStr='';for(var i=0;i<str.length;i++){if(str[i]==='"'){inDoubleQuotes=!inDoubleQuotes;}if(str[i]==="'"&&!inDoubleQuotes){newStr+='"';}else{newStr+=str[i];}}return newStr;}function getObjectFromAstNode(node){var _objectCode2;var objectCode=generate(node).code;objectCode=(_objectCode2=objectCode)==null?void 0:_objectCode2.replace(/as const/g,'');objectCode=addQuotesToObjectKeys(objectCode.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,function(m,g){return g?'':m;}));objectCode=replaceSingleQuotes(objectCode);return JSON.parse(objectCode);}function removeLiteralPropertiesFromObjectProperties(code){var ast=babel.parse("var a = "+code,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module'});traverse(ast,{ObjectExpression:function ObjectExpression(path){path.traverse({ObjectProperty:function ObjectProperty(path){var value=path.node.value;path.traverse({StringLiteral:function StringLiteral(stringPath){stringPath;}});if(value.type==='StringLiteral'||value.type==='NumericLiteral'){path.remove();}}});}});var initAst;traverse(ast,{VariableDeclarator:function VariableDeclarator(path){initAst=path.node.init;}});return initAst;}function getIdentifiersObjectFromAstNode(node){var objectCode=generate(node).code;return removeLiteralPropertiesFromObjectProperties(objectCode.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,function(m,g){return g?'':m;}));}function generateObjectAst(obj){var properties=Object.entries(obj).map(function(_ref){var _ref2=(0,_slicedToArray2.default)(_ref,2),key=_ref2[0],value=_ref2[1];if(typeof value==='undefined'){return;}else if(typeof value==='object'&&!Array.isArray(value)){return types.objectProperty(types.stringLiteral(key),generateObjectAst(value));}else if(typeof value==='object'&&Array.isArray(value)){var elements=value.map(function(obj){if(typeof obj==='string'){return types.stringLiteral(obj);}else{return generateObjectAst(obj);}});return types.objectProperty(types.stringLiteral(key),types.arrayExpression(elements));}else if(typeof value==='boolean'){return types.objectProperty(types.stringLiteral(key),types.booleanLiteral(value));}else{return types.objectProperty(types.stringLiteral(key),typeof value==='number'?types.numericLiteral(value):types.stringLiteral(value));}});return types.objectExpression(properties.filter(function(property){return property;}));}function generateArrayAst(arr){return types.arrayExpression(arr.map(function(obj){return generateObjectAst(obj);}));}function isImportedFromLibrary(libraries,importName){if(libraries.includes(importName)){return true;}return false;}function isImportFromAbsolutePath(absolutePaths,filePath,importedAbsolutePath){filePath.pop();var finalAbsolutePath=path.resolve(filePath.join('/'),importedAbsolutePath);if(absolutePaths.includes(finalAbsolutePath)){return true;}return false;}var CONFIG=getExportedConfigFromFileString(getConfig());var isConfigExist=fs.existsSync(process.cwd()+"/.gluestack/config"+process.ppid+".js");console.log(isConfigExist,'>>>>');if(!isConfigExist){console.log(isConfigExist,'>>>>>>>');buildAndGetConfig();}var ConfigDefault=CONFIG;module.exports=function(b){var t=b.types;function checkWebFileExists(filePath){if(filePath.includes('node_modules')){return false;}var ext=path.extname(filePath);var dirname=path.dirname(filePath);var basename=path.basename(filePath,ext);var webFilePath=path.join(dirname,basename+".web"+ext);return fs.existsSync(webFilePath);}var styledImportName='';var styledAlias='';var styledAliasImportedName='';var tempPropertyResolverNode;var isValidConfig=true;var platform='all';var currentFileName='file not found!';var configPath;var outputLibrary;var componentSXProp;var componentUtilityProps;var guessingStyledComponents=[];var styled=['@gluestack-style/react','@gluestack-ui/themed'];var components=['@gluestack-ui/themed'];var isStyledPathConfigured=false;var isComponentsPathConfigured=false;var targetPlatform=process.env.GLUESTACK_STYLE_TARGET;var createStyleImportedName='';var createComponentsImportedName='';var CREATE_STYLE='createStyle';var CREATE_COMPONENTS='createComponents';return{name:'ast-transform',visitor:{ImportDeclaration:function ImportDeclaration(importPath,state){var _state$opts,_state$opts2,_state$opts3,_state$opts5,_state$opts7,_state$opts9,_state$opts10,_state$opts12,_state$opts13;currentFileName=state.file.opts.filename;styledAlias=state==null?void 0:(_state$opts=state.opts)==null?void 0:_state$opts.styledAlias;outputLibrary=(state==null?void 0:(_state$opts2=state.opts)==null?void 0:_state$opts2.outputLibrary)||outputLibrary;if(state!=null&&(_state$opts3=state.opts)!=null&&_state$opts3.configPath){var _state$opts4;configPath=state==null?void 0:(_state$opts4=state.opts)==null?void 0:_state$opts4.configPath;}if(state!=null&&(_state$opts5=state.opts)!=null&&_state$opts5.configThemePath){var _state$opts6;configThemePath=state==null?void 0:(_state$opts6=state.opts)==null?void 0:_state$opts6.configThemePath;}if(state!=null&&(_state$opts7=state.opts)!=null&&_state$opts7.platform){var _state$opts8;platform=state==null?void 0:(_state$opts8=state.opts)==null?void 0:_state$opts8.platform;}else{platform='all';}if(configPath){ConfigDefault=getExportedConfigFromFileString(getConfig(configPath));}configThemePath.forEach(function(path){var _ConfigDefault2;ConfigDefault=(_ConfigDefault2=ConfigDefault)==null?void 0:_ConfigDefault2[path];});configThemePath=[];if(!currentFileName.includes('node_modules')){if(currentFileName.includes('.web.')){platform='web';}else if(checkWebFileExists(currentFileName)){platform='native';}}if(state!=null&&(_state$opts9=state.opts)!=null&&_state$opts9.styled&&Array.isArray(state==null?void 0:(_state$opts10=state.opts)==null?void 0:_state$opts10.styled)&&!isStyledPathConfigured){var _state$opts11;styled.push.apply(styled,(0,_toConsumableArray2.default)(state==null?void 0:(_state$opts11=state.opts)==null?void 0:_state$opts11.styled));isStyledPathConfigured=true;}if(state!=null&&(_state$opts12=state.opts)!=null&&_state$opts12.components&&Array.isArray(state==null?void 0:(_state$opts13=state.opts)==null?void 0:_state$opts13.components)&&!isComponentsPathConfigured){var _state$opts14;components.push.apply(components,(0,_toConsumableArray2.default)(state==null?void 0:(_state$opts14=state.opts)==null?void 0:_state$opts14.components));isComponentsPathConfigured=true;}var importName=importPath.node.source.value;var filePath=state.file.opts.filename.split('/');if(isImportFromAbsolutePath(components,filePath,importName)||isImportedFromLibrary(components,importName)){importPath.traverse({ImportSpecifier:function ImportSpecifier(importSpecifierPath){guessingStyledComponents.push(importSpecifierPath.node.local.name);}});}if(isImportFromAbsolutePath(styled,filePath,importName)||isImportedFromLibrary(styled,importName)){importPath.traverse({ImportSpecifier:function ImportSpecifier(importSpecifierPath){if(importSpecifierPath.node.imported.name==='styled'){styledImportName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===CREATE_STYLE){createStyleImportedName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===CREATE_COMPONENTS){createComponentsImportedName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===styledAlias){styledAliasImportedName=importSpecifierPath.node.local.name;}}});}},AssignmentExpression:function AssignmentExpression(expressionPath,state){var _expressionPath$node,_expressionPath$node$,_expressionPath$node$2,_expressionPath$node2,_expressionPath$node3,_expressionPath$node4;if((expressionPath==null?void 0:(_expressionPath$node=expressionPath.node)==null?void 0:(_expressionPath$node$=_expressionPath$node.right)==null?void 0:(_expressionPath$node$2=_expressionPath$node$.callee)==null?void 0:_expressionPath$node$2.name)===styledAliasImportedName||(expressionPath==null?void 0:(_expressionPath$node2=expressionPath.node)==null?void 0:(_expressionPath$node3=_expressionPath$node2.right)==null?void 0:(_expressionPath$node4=_expressionPath$node3.callee)==null?void 0:_expressionPath$node4.name)===styledImportName){var _expressionPath$paren,_expressionPath$paren2;var componentName=expressionPath==null?void 0:(_expressionPath$paren=expressionPath.parent)==null?void 0:(_expressionPath$paren2=_expressionPath$paren.id)==null?void 0:_expressionPath$paren2.name;if(componentName){guessingStyledComponents.push(componentName);}}},CallExpression:function CallExpression(callExpressionPath){if(isValidConfig){var calleeName=callExpressionPath.node.callee.name;if(calleeName===styledAliasImportedName||calleeName===styledImportName||calleeName===createComponentsImportedName||calleeName===createStyleImportedName){callExpressionPath.traverse({ObjectProperty:function ObjectProperty(ObjectPath){if(t.isIdentifier(ObjectPath.node.value)){if(ObjectPath.node.value.name==='undefined'){ObjectPath.remove();}}}});}if(calleeName===styledAliasImportedName||calleeName===styledImportName){var _callExpressionPath$p,_callExpressionPath$p2,_args$,_args$2;var componentName=callExpressionPath==null?void 0:(_callExpressionPath$p=callExpressionPath.parent)==null?void 0:(_callExpressionPath$p2=_callExpressionPath$p.id)==null?void 0:_callExpressionPath$p2.name;if(componentName){guessingStyledComponents.push(componentName);}var args=callExpressionPath.node.arguments;var componentThemeNode=args[1];var componentConfigNode=(_args$=args[2])!=null?_args$:t.objectExpression([]);var extendedThemeNode=(_args$2=args[3])!=null?_args$2:t.objectExpression([]);if(!(t.isIdentifier(componentThemeNode)||t.isIdentifier(componentConfigNode)||t.isIdentifier(extendedThemeNode))){var extendedThemeNodeProps=[];if(extendedThemeNode&&extendedThemeNode!=null&&extendedThemeNode.properties){extendedThemeNode==null?void 0:extendedThemeNode.properties.forEach(function(prop){if(prop.key.name==='propertyResolver'){tempPropertyResolverNode=prop;}else{extendedThemeNodeProps.push(prop);}});extendedThemeNode.properties=extendedThemeNodeProps;}var theme=getObjectFromAstNode(componentThemeNode);var ExtendedConfig=getObjectFromAstNode(extendedThemeNode);var componentConfig=getObjectFromAstNode(componentConfigNode);if(extendedThemeNode&&tempPropertyResolverNode){extendedThemeNode.properties.push(tempPropertyResolverNode);}var resultParamsNode=getBuildTimeParams(theme,componentConfig,ExtendedConfig,outputLibrary,platform,'boot');if(resultParamsNode){while(args.length<4){args.push(t.objectExpression([]));}if(!args[4]){args.push(resultParamsNode);}else{args[4]=resultParamsNode;}}}}if(calleeName===createStyleImportedName){var _args$3;var _args=callExpressionPath.node.arguments;var _componentThemeNode=_args[0];var _componentConfigNode=(_args$3=_args[1])!=null?_args$3:t.objectExpression([]);if(!(t.isIdentifier(_componentThemeNode)||t.isIdentifier(_componentConfigNode))){var _theme=getObjectFromAstNode(_componentThemeNode);var _componentConfig=getObjectFromAstNode(_componentConfigNode);var _resultParamsNode=getBuildTimeParams(_theme,_componentConfig,{},outputLibrary,platform,'extended');if(_resultParamsNode){while(_args.length<3){_args.push(t.objectExpression([]));}if(!_args[2]){_args.push(_resultParamsNode);}else{_args[2]=_resultParamsNode;}}}}if(calleeName===createComponentsImportedName){var extendedThemeComponents=callExpressionPath.node.arguments[0].properties;extendedThemeComponents.forEach(function(property){if(!t.isIdentifier(property.value)&&!t.isTemplateLiteral(property.value)&&!t.isConditionalExpression(property.value)){var _findThemeAndComponen=findThemeAndComponentConfig(property.value.properties),themeNode=_findThemeAndComponen.themeNode,_componentConfigNode2=_findThemeAndComponen.componentConfigNode;var _theme2=themeNode?getObjectFromAstNode(themeNode==null?void 0:themeNode.value):{};var _componentConfig2=_componentConfigNode2?getObjectFromAstNode(_componentConfigNode2==null?void 0:_componentConfigNode2.value):{};var _resultParamsNode2=getBuildTimeParams(_theme2,_componentConfig2,{},outputLibrary,platform,'extended');if(_resultParamsNode2){property.value.properties.push(t.objectProperty(t.stringLiteral('BUILD_TIME_PARAMS'),_resultParamsNode2));}}});}}},JSXOpeningElement:function JSXOpeningElement(jsxOpeningElementPath){if(jsxOpeningElementPath.node.name&&jsxOpeningElementPath.node.name.name&&guessingStyledComponents.includes(jsxOpeningElementPath.node.name.name)){var _ConfigDefault3,_ConfigDefault4,_componentExtendedCon;var propsToBePersist=[];var sxPropsWithIdentifier={};var mergedPropertyConfig=Object.assign({},(_ConfigDefault3=ConfigDefault)==null?void 0:_ConfigDefault3.propertyTokenMap,propertyTokenMap);var styledSystemProps=Object.assign({},CSSPropertiesMap,(_ConfigDefault4=ConfigDefault)==null?void 0:_ConfigDefault4.aliases);var componentExtendedConfig=merge({},Object.assign({},ConfigDefault,{propertyTokenMap:Object.assign({},mergedPropertyConfig)}));var sxPropsConvertedUtilityProps={};var prefixedMediaQueries={};Object.keys(componentExtendedConfig==null?void 0:(_componentExtendedCon=componentExtendedConfig.tokens)==null?void 0:_componentExtendedCon.mediaQueries).forEach(function(key){prefixedMediaQueries[key]={key:"@"+key,isMediaQuery:true};});Object.assign(reservedKeys,Object.assign({},prefixedMediaQueries));var attr=jsxOpeningElementPath.node.attributes;attr.forEach(function(attribute,index){if(t.isJSXAttribute(attribute)){var propName=attribute.name.name;var propValue=attribute.value;if(t.isJSXExpressionContainer(propValue)){if(t.isIdentifier(propValue.expression)||t.isConditionalExpression(propValue.expression)){propsToBePersist.push(attribute);}else if(t.isObjectExpression(propValue.expression)&&propName!=='sx'){var utilityPropsWithIdentifier=getIdentifiersObjectFromAstNode(propValue.expression);var objectProperties=propValue.expression.properties;var _convertExpressionCon=convertExpressionContainerToStaticObject(objectProperties),objectValue=_convertExpressionCon.result;var _checkAndReturnUtilit=checkAndReturnUtilityProp(propName,objectValue,styledSystemProps,[],reservedKeys),propString=_checkAndReturnUtilit.prop,propPath=_checkAndReturnUtilit.propPath,utilityPropValue=_checkAndReturnUtilit.value;if(propString){propsToBePersist.push(attribute);}else{if(propPath&&propPath.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,propPath,utilityPropValue);if(utilityPropsWithIdentifier&&utilityPropsWithIdentifier.properties&&utilityPropsWithIdentifier.properties.length>0){propsToBePersist.push(t.jsxAttribute(t.jsxIdentifier(propName),t.jsxExpressionContainer(utilityPropsWithIdentifier)));}}}}else{if(propName==='sx'){var _objectProperties=propValue.expression.properties;sxPropsWithIdentifier=getIdentifiersObjectFromAstNode(propValue.expression);var _convertExpressionCon2=convertExpressionContainerToStaticObject(_objectProperties),sxPropsObject=_convertExpressionCon2.result;componentSXProp=sxPropsObject;}else if(t.isStringLiteral(propValue.expression)||t.isNumericLiteral(propValue.expression)){var _checkAndReturnUtilit2=checkAndReturnUtilityProp(propName,propValue.expression.value,styledSystemProps,[],reservedKeys),_propString=_checkAndReturnUtilit2.prop,_propPath=_checkAndReturnUtilit2.propPath,_utilityPropValue=_checkAndReturnUtilit2.value;if(_propString){propsToBePersist.push(attribute);}else{if(_propPath&&_propPath.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,_propPath,_utilityPropValue);}}}else{propsToBePersist.push(attribute);}}}else{var _checkAndReturnUtilit3=checkAndReturnUtilityProp(propName,propValue.value,styledSystemProps,[],reservedKeys),_propString2=_checkAndReturnUtilit3.prop,_propPath2=_checkAndReturnUtilit3.propPath,_utilityPropValue2=_checkAndReturnUtilit3.value;if(_propString2){propsToBePersist.push(attribute);}else{if(_propPath2&&_propPath2.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,_propPath2,_utilityPropValue2);}}}}});jsxOpeningElementPath.node.attributes.splice(0,jsxOpeningElementPath.node.attributes.length);jsxOpeningElementPath.node.attributes=propsToBePersist;var sx=deepMerge(Object.assign({},sxPropsConvertedUtilityProps),Object.assign({},componentSXProp));if(Object.keys(sx).length>0){var verbosedSx=convertSxToSxVerbosed(sx);var inlineSxTheme={baseStyle:verbosedSx};var sxHash=stableHash(sx);if(outputLibrary){sxHash=outputLibrary+'-'+sxHash;}var _updateOrderUnResolve2=updateOrderUnResolvedMap(inlineSxTheme,sxHash,'inline',{},BUILD_TIME_GLUESTACK_STYLESHEET,platform),styledIds=_updateOrderUnResolve2.styledIds,verbosedStyleIds=_updateOrderUnResolve2.verbosedStyleIds;var toBeInjected=BUILD_TIME_GLUESTACK_STYLESHEET.resolve(styledIds,componentExtendedConfig,{},true,'inline');var current_global_map=BUILD_TIME_GLUESTACK_STYLESHEET.getStyleMap();var orderedResolvedTheme=[];current_global_map==null?void 0:current_global_map.forEach(function(styledResolved){var _styledResolved$meta2;if(styledIds.includes(styledResolved==null?void 0:(_styledResolved$meta2=styledResolved.meta)==null?void 0:_styledResolved$meta2.cssId)){orderedResolvedTheme.push(styledResolved);}});var styleIdsAst=generateObjectAst(verbosedStyleIds);var toBeInjectedAst=generateObjectAst(toBeInjected);var orderResolvedArrayExpression=[];orderedResolvedTheme.forEach(function(styledResolved){if(targetPlatform==='native'){delete styledResolved.original;delete styledResolved.value;delete styledResolved.meta.cssRulesSet;delete styledResolved.meta.weight;delete styledResolved.meta.weight;delete styledResolved.type;delete styledResolved.componentHash;delete styledResolved.extendedConfig;delete styledResolved.value;}var orderedResolvedAst=generateObjectAst(styledResolved);orderResolvedArrayExpression.push(orderedResolvedAst);});var orderedStyleIdsArrayAst=t.arrayExpression(styledIds==null?void 0:styledIds.map(function(cssId){return t.stringLiteral(cssId);}));jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('verbosedStyleIds'),t.jsxExpressionContainer(styleIdsAst)));jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('orderedResolved'),t.jsxExpressionContainer(t.arrayExpression(orderResolvedArrayExpression))));}if(sxPropsWithIdentifier&&sxPropsWithIdentifier.properties&&sxPropsWithIdentifier.properties.length>0){jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('sx'),t.jsxExpressionContainer(sxPropsWithIdentifier)));}componentSXProp=undefined;componentUtilityProps=undefined;}}}};}; | ||
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var fs=require('fs');var path=require('path');var babel=require('@babel/parser');var generate=require('@babel/generator').default;var babelPresetTypeScript=require('@babel/preset-typescript');var traverse=require('@babel/traverse').default;var types=require('@babel/types');var _require=require("./buildConfig"),buildAndGetConfig=_require.getConfig;var _require2=require('@gluestack-style/react/lib/commonjs/convertSxToSxVerbosed'),convertStyledToStyledVerbosed=_require2.convertStyledToStyledVerbosed,convertSxToSxVerbosed=_require2.convertSxToSxVerbosed;var _require3=require('@gluestack-style/react/lib/commonjs/propertyTokenMap'),propertyTokenMap=_require3.propertyTokenMap;var _require4=require('@gluestack-style/react/lib/commonjs/stableHash'),stableHash=_require4.stableHash;var _require5=require('@gluestack-style/react/lib/commonjs/core/styled-system'),CSSPropertiesMap=_require5.CSSPropertiesMap,reservedKeys=_require5.reservedKeys;var _require6=require('@gluestack-style/react/lib/commonjs/style-sheet/index'),StyleInjector=_require6.StyleInjector;var _require7=require('@gluestack-style/react/lib/commonjs/updateOrderUnResolvedMap'),updateOrderUnResolvedMap=_require7.updateOrderUnResolvedMap;var _require8=require('@gluestack-style/react/lib/commonjs/utils'),deepMerge=_require8.deepMerge;var _require9=require('@gluestack-style/react/lib/commonjs/core/utils'),setObjectKeyValue=_require9.setObjectKeyValue;var _require10=require('@gluestack-style/react/lib/commonjs/core/convert-utility-to-sx'),checkAndReturnUtilityProp=_require10.checkAndReturnUtilityProp;var IMPORT_NAME='@gluestack-style/react';var configThemePath=[];var BUILD_TIME_GLUESTACK_STYLESHEET=new StyleInjector();var convertExpressionContainerToStaticObject=function convertExpressionContainerToStaticObject(properties){var result=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var keyPath=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var propsToBePersist=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};properties==null?void 0:properties.forEach(function(property,index){var _property$key$name;var nodeName=(_property$key$name=property.key.name)!=null?_property$key$name:property.key.value;if(property.value.type==='ObjectExpression'){keyPath.push(nodeName);convertExpressionContainerToStaticObject(property.value.properties,result,keyPath,propsToBePersist);keyPath.pop();}else if(property.value.type==='Identifier'){if(property.key.value){setObjectKeyValue(propsToBePersist,[].concat((0,_toConsumableArray2.default)(keyPath),[nodeName]),property.value.name);}if(property.key.name){setObjectKeyValue(propsToBePersist,[].concat((0,_toConsumableArray2.default)(keyPath),[nodeName]),property.value.name);}}else{if(property.key.value){setObjectKeyValue(result,[].concat((0,_toConsumableArray2.default)(keyPath),[property.key.value]),property.value.value);}if(property.key.name){setObjectKeyValue(result,[].concat((0,_toConsumableArray2.default)(keyPath),[property.key.name]),property.value.value);}}});return{result:result,propsToBePersist:propsToBePersist};};function findThemeAndComponentConfig(node){var themeNode=null;var componentConfigNode=null;node.forEach(function(prop){var propKey=prop.key.name?prop.key.name:prop.key.value;if(propKey==='theme'){themeNode=prop;}else if(propKey==='componentConfig'){componentConfigNode=prop;}});return{themeNode:themeNode,componentConfigNode:componentConfigNode};}function addQuotesToObjectKeys(code){var ast=babel.parse("var a = "+code,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module'});traverse(ast,{ObjectProperty:function ObjectProperty(objectPropertyPath){if(types.isTemplateLiteral(objectPropertyPath.node.value)){objectPropertyPath.node.value=types.stringLiteral(objectPropertyPath.node.value.quasis[0].value.raw);}if(types.isIdentifier(objectPropertyPath.node.key)){objectPropertyPath.node.key=types.stringLiteral(objectPropertyPath.node.key.name);}if(types.isNumericLiteral(objectPropertyPath.node.key)){objectPropertyPath.node.key=types.stringLiteral(objectPropertyPath.node.key.extra.raw);}if(types.isStringLiteral(objectPropertyPath.node.value)){objectPropertyPath.node.value=types.stringLiteral(objectPropertyPath.node.value.value);}}});var initAst;traverse(ast,{ObjectProperty:function ObjectProperty(objectPropertyPath){var _objectPropertyPath$n,_objectPropertyPath$n2,_objectPropertyPath$n3,_objectPropertyPath$n4;if(types.isArrayExpression(objectPropertyPath==null?void 0:(_objectPropertyPath$n=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n.value)){var arrayElements=objectPropertyPath.node.value.elements;var dynamicElementsIndex=[];arrayElements.forEach(function(element,index){if(types.isNewExpression(element)||types.isIdentifier(element)||types.isTemplateLiteral(element)){dynamicElementsIndex.push(index);}});arrayElements=arrayElements.filter(function(element,index){return!dynamicElementsIndex.includes(index);});objectPropertyPath.node.value.elements=arrayElements;}else if(types.isIdentifier(objectPropertyPath==null?void 0:(_objectPropertyPath$n2=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n2.value)||types.isTemplateLiteral(objectPropertyPath==null?void 0:(_objectPropertyPath$n3=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n3.value)||types.isConditionalExpression(objectPropertyPath==null?void 0:(_objectPropertyPath$n4=objectPropertyPath.node)==null?void 0:_objectPropertyPath$n4.value)){objectPropertyPath.remove();}}});traverse(ast,{VariableDeclarator:function VariableDeclarator(variableDeclaratorPath){initAst=variableDeclaratorPath.node.init;}});var _generate=generate(initAst,{sourceType:'module',presets:[babelPresetTypeScript],plugins:['typescript']}),output=_generate.code;return output;}var merge=require('lodash.merge');var _require11=require('process'),exit=_require11.exit;var checkIfPathIsAbsolute=function checkIfPathIsAbsolute(path){return path.startsWith('/');};function getConfig(configPath){if(configPath){return fs.readFileSync(path.join(!checkIfPathIsAbsolute(configPath)?process.cwd():'',configPath),'utf8');}var isConfigJSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-style.config.js'));var isGlueStackUIConfigJSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-ui.config.js'));var isConfigTSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-style.config.ts'));var isGlueStackUIConfigTSExist=fs.existsSync(path.join(process.cwd(),'./gluestack-ui.config.ts'));if(isConfigTSExist){return fs.readFileSync(path.join(process.cwd(),'./gluestack-style.config.ts'),'utf8');}if(isConfigJSExist){return fs.readFileSync(path.join(process.cwd(),'./gluestack-style.config.js'),'utf8');}if(isGlueStackUIConfigJSExist){configThemePath=['theme'];return fs.readFileSync(path.join(process.cwd(),'./gluestack-ui.config.js'),'utf8');}if(isGlueStackUIConfigTSExist){configThemePath=['theme'];return fs.readFileSync(path.join(process.cwd(),'./gluestack-ui.config.ts'),'utf8');}}function getBuildTimeParams(theme,componentConfig,extendedConfig,outputLibrary,platform,type){var _ConfigDefault;var mergedPropertyConfig=Object.assign({},(_ConfigDefault=ConfigDefault)==null?void 0:_ConfigDefault.propertyTokenMap,propertyTokenMap);var componentExtendedConfig=merge({},Object.assign({},ConfigDefault,{propertyTokenMap:Object.assign({},mergedPropertyConfig)}));if(theme&&Object.keys(theme).length>0){var verbosedTheme=convertStyledToStyledVerbosed(theme);var componentHash=stableHash(Object.assign({},theme,componentConfig));if(outputLibrary){componentHash=outputLibrary+'-'+componentHash;}var _updateOrderUnResolve=updateOrderUnResolvedMap(verbosedTheme,componentHash,type,componentConfig,BUILD_TIME_GLUESTACK_STYLESHEET,platform),styledIds=_updateOrderUnResolve.styledIds,verbosedStyleIds=_updateOrderUnResolve.verbosedStyleIds;var toBeInjected=BUILD_TIME_GLUESTACK_STYLESHEET.resolve(styledIds,componentExtendedConfig,{});var current_global_map=BUILD_TIME_GLUESTACK_STYLESHEET.getStyleMap();var orderedResolvedTheme=[];current_global_map==null?void 0:current_global_map.forEach(function(styledResolved){var _styledResolved$meta;if(styledIds.includes(styledResolved==null?void 0:(_styledResolved$meta=styledResolved.meta)==null?void 0:_styledResolved$meta.cssId)){orderedResolvedTheme.push(styledResolved);}});var styleIdsAst=generateObjectAst(verbosedStyleIds);var toBeInjectedAst=generateObjectAst(toBeInjected);var orderedResolvedAst=generateArrayAst(orderedResolvedTheme);var orderedStyleIdsArrayAst=types.arrayExpression(styledIds==null?void 0:styledIds.map(function(cssId){return types.stringLiteral(cssId);}));var resultParamsNode=types.objectExpression([types.objectProperty(types.stringLiteral('orderedResolved'),orderedResolvedAst),types.objectProperty(types.stringLiteral('toBeInjected'),toBeInjectedAst),types.objectProperty(types.stringLiteral('styledIds'),orderedStyleIdsArrayAst),types.objectProperty(types.stringLiteral('verbosedStyleIds'),styleIdsAst)]);return resultParamsNode;}return null;}function getExportedConfigFromFileString(fileData){var _fileData,_objectCode,_addQuotesToObjectKey;if(!fileData){return{};}fileData=(_fileData=fileData)==null?void 0:_fileData.replace(/as const/g,'');var ast=babel.parse(fileData,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module',comments:false});var config={};traverse(ast,{CallExpression:function CallExpression(path){var _path$node=path.node,callee=_path$node.callee,args=_path$node.arguments;if(types.isIdentifier(callee,{name:'createConfig'})&&args.length===1&&types.isObjectExpression(args[0])){path.replaceWith(args[0]);}}});traverse(ast,{ExportNamedDeclaration:function ExportNamedDeclaration(path){path.traverse({VariableDeclarator:function VariableDeclarator(variableDeclaratorPath){config=variableDeclaratorPath.node.init;}});},Identifier:function Identifier(path){if(path.node.name==='undefined'){path.node.name='null';}}});var objectCode=generate(config).code;objectCode=(_objectCode=objectCode)==null?void 0:_objectCode.replace(/\/\/.*|\/\*[\s\S]*?\*\//g,'');objectCode=(_addQuotesToObjectKey=addQuotesToObjectKeys(objectCode))==null?void 0:_addQuotesToObjectKey.replace(/'/g,'"');return JSON.parse(objectCode);}function replaceSingleQuotes(str){var inDoubleQuotes=false;var newStr='';for(var i=0;i<str.length;i++){if(str[i]==='"'){inDoubleQuotes=!inDoubleQuotes;}if(str[i]==="'"&&!inDoubleQuotes){newStr+='"';}else{newStr+=str[i];}}return newStr;}function getObjectFromAstNode(node){var _objectCode2;var objectCode=generate(node).code;objectCode=(_objectCode2=objectCode)==null?void 0:_objectCode2.replace(/as const/g,'');objectCode=addQuotesToObjectKeys(objectCode.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,function(m,g){return g?'':m;}));objectCode=replaceSingleQuotes(objectCode);return JSON.parse(objectCode);}function removeLiteralPropertiesFromObjectProperties(code){var ast=babel.parse("var a = "+code,{presets:[babelPresetTypeScript],plugins:['typescript'],sourceType:'module'});traverse(ast,{ObjectExpression:function ObjectExpression(path){path.traverse({ObjectProperty:function ObjectProperty(path){var value=path.node.value;path.traverse({StringLiteral:function StringLiteral(stringPath){stringPath;}});if(value.type==='StringLiteral'||value.type==='NumericLiteral'){path.remove();}}});}});var initAst;traverse(ast,{VariableDeclarator:function VariableDeclarator(path){initAst=path.node.init;}});return initAst;}function getIdentifiersObjectFromAstNode(node){var objectCode=generate(node).code;return removeLiteralPropertiesFromObjectProperties(objectCode.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,function(m,g){return g?'':m;}));}function generateObjectAst(obj){var properties=Object.entries(obj).map(function(_ref){var _ref2=(0,_slicedToArray2.default)(_ref,2),key=_ref2[0],value=_ref2[1];if(typeof value==='undefined'){return;}else if(typeof value==='object'&&!Array.isArray(value)){return types.objectProperty(types.stringLiteral(key),generateObjectAst(value));}else if(typeof value==='object'&&Array.isArray(value)){var elements=value.map(function(obj){if(typeof obj==='string'){return types.stringLiteral(obj);}else{return generateObjectAst(obj);}});return types.objectProperty(types.stringLiteral(key),types.arrayExpression(elements));}else if(typeof value==='boolean'){return types.objectProperty(types.stringLiteral(key),types.booleanLiteral(value));}else{return types.objectProperty(types.stringLiteral(key),typeof value==='number'?types.numericLiteral(value):types.stringLiteral(value));}});return types.objectExpression(properties.filter(function(property){return property;}));}function generateArrayAst(arr){return types.arrayExpression(arr.map(function(obj){return generateObjectAst(obj);}));}function isImportedFromLibrary(libraries,importName){if(libraries.includes(importName)){return true;}return false;}function isImportFromAbsolutePath(absolutePaths,filePath,importedAbsolutePath){filePath.pop();var finalAbsolutePath=path.resolve(filePath.join('/'),importedAbsolutePath);if(absolutePaths.includes(finalAbsolutePath)){return true;}return false;}var CONFIG=getExportedConfigFromFileString(getConfig());var isConfigExist=fs.existsSync(process.cwd()+"/.gluestack/config"+process.ppid+".js");if(!isConfigExist){buildAndGetConfig();}var ConfigDefault=CONFIG;module.exports=function(b){var t=b.types;function checkWebFileExists(filePath){if(filePath.includes('node_modules')){return false;}var ext=path.extname(filePath);var dirname=path.dirname(filePath);var basename=path.basename(filePath,ext);var webFilePath=path.join(dirname,basename+".web"+ext);return fs.existsSync(webFilePath);}var styledImportName='';var styledAlias='';var styledAliasImportedName='';var tempPropertyResolverNode;var isValidConfig=true;var platform='all';var currentFileName='file not found!';var configPath;var outputLibrary;var componentSXProp;var componentUtilityProps;var guessingStyledComponents=[];var styled=['@gluestack-style/react','@gluestack-ui/themed'];var components=['@gluestack-ui/themed'];var isStyledPathConfigured=false;var isComponentsPathConfigured=false;var targetPlatform=process.env.GLUESTACK_STYLE_TARGET;var createStyleImportedName='';var createComponentsImportedName='';var CREATE_STYLE='createStyle';var CREATE_COMPONENTS='createComponents';return{name:'ast-transform',visitor:{ImportDeclaration:function ImportDeclaration(importPath,state){var _state$opts,_state$opts2,_state$opts3,_state$opts5,_state$opts7,_state$opts9,_state$opts10,_state$opts12,_state$opts13;currentFileName=state.file.opts.filename;styledAlias=state==null?void 0:(_state$opts=state.opts)==null?void 0:_state$opts.styledAlias;outputLibrary=(state==null?void 0:(_state$opts2=state.opts)==null?void 0:_state$opts2.outputLibrary)||outputLibrary;if(state!=null&&(_state$opts3=state.opts)!=null&&_state$opts3.configPath){var _state$opts4;configPath=state==null?void 0:(_state$opts4=state.opts)==null?void 0:_state$opts4.configPath;}if(state!=null&&(_state$opts5=state.opts)!=null&&_state$opts5.configThemePath){var _state$opts6;configThemePath=state==null?void 0:(_state$opts6=state.opts)==null?void 0:_state$opts6.configThemePath;}if(state!=null&&(_state$opts7=state.opts)!=null&&_state$opts7.platform){var _state$opts8;platform=state==null?void 0:(_state$opts8=state.opts)==null?void 0:_state$opts8.platform;}else{platform='all';}if(configPath){ConfigDefault=getExportedConfigFromFileString(getConfig(configPath));}configThemePath.forEach(function(path){var _ConfigDefault2;ConfigDefault=(_ConfigDefault2=ConfigDefault)==null?void 0:_ConfigDefault2[path];});configThemePath=[];if(!currentFileName.includes('node_modules')){if(currentFileName.includes('.web.')){platform='web';}else if(checkWebFileExists(currentFileName)){platform='native';}}if(state!=null&&(_state$opts9=state.opts)!=null&&_state$opts9.styled&&Array.isArray(state==null?void 0:(_state$opts10=state.opts)==null?void 0:_state$opts10.styled)&&!isStyledPathConfigured){var _state$opts11;styled.push.apply(styled,(0,_toConsumableArray2.default)(state==null?void 0:(_state$opts11=state.opts)==null?void 0:_state$opts11.styled));isStyledPathConfigured=true;}if(state!=null&&(_state$opts12=state.opts)!=null&&_state$opts12.components&&Array.isArray(state==null?void 0:(_state$opts13=state.opts)==null?void 0:_state$opts13.components)&&!isComponentsPathConfigured){var _state$opts14;components.push.apply(components,(0,_toConsumableArray2.default)(state==null?void 0:(_state$opts14=state.opts)==null?void 0:_state$opts14.components));isComponentsPathConfigured=true;}var importName=importPath.node.source.value;var filePath=state.file.opts.filename.split('/');if(isImportFromAbsolutePath(components,filePath,importName)||isImportedFromLibrary(components,importName)){importPath.traverse({ImportSpecifier:function ImportSpecifier(importSpecifierPath){guessingStyledComponents.push(importSpecifierPath.node.local.name);}});}if(isImportFromAbsolutePath(styled,filePath,importName)||isImportedFromLibrary(styled,importName)){importPath.traverse({ImportSpecifier:function ImportSpecifier(importSpecifierPath){if(importSpecifierPath.node.imported.name==='styled'){styledImportName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===CREATE_STYLE){createStyleImportedName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===CREATE_COMPONENTS){createComponentsImportedName=importSpecifierPath.node.local.name;}if(importSpecifierPath.node.imported.name===styledAlias){styledAliasImportedName=importSpecifierPath.node.local.name;}}});}},AssignmentExpression:function AssignmentExpression(expressionPath,state){var _expressionPath$node,_expressionPath$node$,_expressionPath$node$2,_expressionPath$node2,_expressionPath$node3,_expressionPath$node4;if((expressionPath==null?void 0:(_expressionPath$node=expressionPath.node)==null?void 0:(_expressionPath$node$=_expressionPath$node.right)==null?void 0:(_expressionPath$node$2=_expressionPath$node$.callee)==null?void 0:_expressionPath$node$2.name)===styledAliasImportedName||(expressionPath==null?void 0:(_expressionPath$node2=expressionPath.node)==null?void 0:(_expressionPath$node3=_expressionPath$node2.right)==null?void 0:(_expressionPath$node4=_expressionPath$node3.callee)==null?void 0:_expressionPath$node4.name)===styledImportName){var _expressionPath$paren,_expressionPath$paren2;var componentName=expressionPath==null?void 0:(_expressionPath$paren=expressionPath.parent)==null?void 0:(_expressionPath$paren2=_expressionPath$paren.id)==null?void 0:_expressionPath$paren2.name;if(componentName){guessingStyledComponents.push(componentName);}}},CallExpression:function CallExpression(callExpressionPath){if(isValidConfig){var calleeName=callExpressionPath.node.callee.name;if(calleeName===styledAliasImportedName||calleeName===styledImportName||calleeName===createComponentsImportedName||calleeName===createStyleImportedName){callExpressionPath.traverse({ObjectProperty:function ObjectProperty(ObjectPath){if(t.isIdentifier(ObjectPath.node.value)){if(ObjectPath.node.value.name==='undefined'){ObjectPath.remove();}}}});}if(calleeName===styledAliasImportedName||calleeName===styledImportName){var _callExpressionPath$p,_callExpressionPath$p2,_args$,_args$2;var componentName=callExpressionPath==null?void 0:(_callExpressionPath$p=callExpressionPath.parent)==null?void 0:(_callExpressionPath$p2=_callExpressionPath$p.id)==null?void 0:_callExpressionPath$p2.name;if(componentName){guessingStyledComponents.push(componentName);}var args=callExpressionPath.node.arguments;var componentThemeNode=args[1];var componentConfigNode=(_args$=args[2])!=null?_args$:t.objectExpression([]);var extendedThemeNode=(_args$2=args[3])!=null?_args$2:t.objectExpression([]);if(!(t.isIdentifier(componentThemeNode)||t.isIdentifier(componentConfigNode)||t.isIdentifier(extendedThemeNode))){var extendedThemeNodeProps=[];if(extendedThemeNode&&extendedThemeNode!=null&&extendedThemeNode.properties){extendedThemeNode==null?void 0:extendedThemeNode.properties.forEach(function(prop){if(prop.key.name==='propertyResolver'){tempPropertyResolverNode=prop;}else{extendedThemeNodeProps.push(prop);}});extendedThemeNode.properties=extendedThemeNodeProps;}var theme=getObjectFromAstNode(componentThemeNode);var ExtendedConfig=getObjectFromAstNode(extendedThemeNode);var componentConfig=getObjectFromAstNode(componentConfigNode);if(extendedThemeNode&&tempPropertyResolverNode){extendedThemeNode.properties.push(tempPropertyResolverNode);}var resultParamsNode=getBuildTimeParams(theme,componentConfig,ExtendedConfig,outputLibrary,platform,'boot');if(resultParamsNode){while(args.length<4){args.push(t.objectExpression([]));}if(!args[4]){args.push(resultParamsNode);}else{args[4]=resultParamsNode;}}}}if(calleeName===createStyleImportedName){var _args$3;var _args=callExpressionPath.node.arguments;var _componentThemeNode=_args[0];var _componentConfigNode=(_args$3=_args[1])!=null?_args$3:t.objectExpression([]);if(!(t.isIdentifier(_componentThemeNode)||t.isIdentifier(_componentConfigNode))){var _theme=getObjectFromAstNode(_componentThemeNode);var _componentConfig=getObjectFromAstNode(_componentConfigNode);var _resultParamsNode=getBuildTimeParams(_theme,_componentConfig,{},outputLibrary,platform,'extended');if(_resultParamsNode){while(_args.length<3){_args.push(t.objectExpression([]));}if(!_args[2]){_args.push(_resultParamsNode);}else{_args[2]=_resultParamsNode;}}}}if(calleeName===createComponentsImportedName){var extendedThemeComponents=callExpressionPath.node.arguments[0].properties;extendedThemeComponents.forEach(function(property){if(!t.isIdentifier(property.value)&&!t.isTemplateLiteral(property.value)&&!t.isConditionalExpression(property.value)){var _findThemeAndComponen=findThemeAndComponentConfig(property.value.properties),themeNode=_findThemeAndComponen.themeNode,_componentConfigNode2=_findThemeAndComponen.componentConfigNode;var _theme2=themeNode?getObjectFromAstNode(themeNode==null?void 0:themeNode.value):{};var _componentConfig2=_componentConfigNode2?getObjectFromAstNode(_componentConfigNode2==null?void 0:_componentConfigNode2.value):{};var _resultParamsNode2=getBuildTimeParams(_theme2,_componentConfig2,{},outputLibrary,platform,'extended');if(_resultParamsNode2){property.value.properties.push(t.objectProperty(t.stringLiteral('BUILD_TIME_PARAMS'),_resultParamsNode2));}}});}}},JSXOpeningElement:function JSXOpeningElement(jsxOpeningElementPath){if(jsxOpeningElementPath.node.name&&jsxOpeningElementPath.node.name.name&&guessingStyledComponents.includes(jsxOpeningElementPath.node.name.name)){var _ConfigDefault3,_ConfigDefault4,_componentExtendedCon;var propsToBePersist=[];var sxPropsWithIdentifier={};var mergedPropertyConfig=Object.assign({},(_ConfigDefault3=ConfigDefault)==null?void 0:_ConfigDefault3.propertyTokenMap,propertyTokenMap);var styledSystemProps=Object.assign({},CSSPropertiesMap,(_ConfigDefault4=ConfigDefault)==null?void 0:_ConfigDefault4.aliases);var componentExtendedConfig=merge({},Object.assign({},ConfigDefault,{propertyTokenMap:Object.assign({},mergedPropertyConfig)}));var sxPropsConvertedUtilityProps={};var prefixedMediaQueries={};Object.keys(componentExtendedConfig==null?void 0:(_componentExtendedCon=componentExtendedConfig.tokens)==null?void 0:_componentExtendedCon.mediaQueries).forEach(function(key){prefixedMediaQueries[key]={key:"@"+key,isMediaQuery:true};});Object.assign(reservedKeys,Object.assign({},prefixedMediaQueries));var attr=jsxOpeningElementPath.node.attributes;attr.forEach(function(attribute,index){if(t.isJSXAttribute(attribute)){var propName=attribute.name.name;var propValue=attribute.value;if(t.isJSXExpressionContainer(propValue)){if(t.isIdentifier(propValue.expression)||t.isConditionalExpression(propValue.expression)){propsToBePersist.push(attribute);}else if(t.isObjectExpression(propValue.expression)&&propName!=='sx'){var utilityPropsWithIdentifier=getIdentifiersObjectFromAstNode(propValue.expression);var objectProperties=propValue.expression.properties;var _convertExpressionCon=convertExpressionContainerToStaticObject(objectProperties),objectValue=_convertExpressionCon.result;var _checkAndReturnUtilit=checkAndReturnUtilityProp(propName,objectValue,styledSystemProps,[],reservedKeys),propString=_checkAndReturnUtilit.prop,propPath=_checkAndReturnUtilit.propPath,utilityPropValue=_checkAndReturnUtilit.value;if(propString){propsToBePersist.push(attribute);}else{if(propPath&&propPath.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,propPath,utilityPropValue);if(utilityPropsWithIdentifier&&utilityPropsWithIdentifier.properties&&utilityPropsWithIdentifier.properties.length>0){propsToBePersist.push(t.jsxAttribute(t.jsxIdentifier(propName),t.jsxExpressionContainer(utilityPropsWithIdentifier)));}}}}else{if(propName==='sx'){var _objectProperties=propValue.expression.properties;sxPropsWithIdentifier=getIdentifiersObjectFromAstNode(propValue.expression);var _convertExpressionCon2=convertExpressionContainerToStaticObject(_objectProperties),sxPropsObject=_convertExpressionCon2.result;componentSXProp=sxPropsObject;}else if(t.isStringLiteral(propValue.expression)||t.isNumericLiteral(propValue.expression)){var _checkAndReturnUtilit2=checkAndReturnUtilityProp(propName,propValue.expression.value,styledSystemProps,[],reservedKeys),_propString=_checkAndReturnUtilit2.prop,_propPath=_checkAndReturnUtilit2.propPath,_utilityPropValue=_checkAndReturnUtilit2.value;if(_propString){propsToBePersist.push(attribute);}else{if(_propPath&&_propPath.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,_propPath,_utilityPropValue);}}}else{propsToBePersist.push(attribute);}}}else{var _checkAndReturnUtilit3=checkAndReturnUtilityProp(propName,propValue.value,styledSystemProps,[],reservedKeys),_propString2=_checkAndReturnUtilit3.prop,_propPath2=_checkAndReturnUtilit3.propPath,_utilityPropValue2=_checkAndReturnUtilit3.value;if(_propString2){propsToBePersist.push(attribute);}else{if(_propPath2&&_propPath2.length>0){setObjectKeyValue(sxPropsConvertedUtilityProps,_propPath2,_utilityPropValue2);}}}}});jsxOpeningElementPath.node.attributes.splice(0,jsxOpeningElementPath.node.attributes.length);jsxOpeningElementPath.node.attributes=propsToBePersist;var sx=deepMerge(Object.assign({},sxPropsConvertedUtilityProps),Object.assign({},componentSXProp));if(Object.keys(sx).length>0){var verbosedSx=convertSxToSxVerbosed(sx);var inlineSxTheme={baseStyle:verbosedSx};var sxHash=stableHash(sx);if(outputLibrary){sxHash=outputLibrary+'-'+sxHash;}var _updateOrderUnResolve2=updateOrderUnResolvedMap(inlineSxTheme,sxHash,'inline',{},BUILD_TIME_GLUESTACK_STYLESHEET,platform),styledIds=_updateOrderUnResolve2.styledIds,verbosedStyleIds=_updateOrderUnResolve2.verbosedStyleIds;var toBeInjected=BUILD_TIME_GLUESTACK_STYLESHEET.resolve(styledIds,componentExtendedConfig,{},true,'inline');var current_global_map=BUILD_TIME_GLUESTACK_STYLESHEET.getStyleMap();var orderedResolvedTheme=[];current_global_map==null?void 0:current_global_map.forEach(function(styledResolved){var _styledResolved$meta2;if(styledIds.includes(styledResolved==null?void 0:(_styledResolved$meta2=styledResolved.meta)==null?void 0:_styledResolved$meta2.cssId)){orderedResolvedTheme.push(styledResolved);}});var styleIdsAst=generateObjectAst(verbosedStyleIds);var toBeInjectedAst=generateObjectAst(toBeInjected);var orderResolvedArrayExpression=[];orderedResolvedTheme.forEach(function(styledResolved){if(targetPlatform==='native'){delete styledResolved.original;delete styledResolved.value;delete styledResolved.meta.cssRulesSet;delete styledResolved.meta.weight;delete styledResolved.meta.weight;delete styledResolved.type;delete styledResolved.componentHash;delete styledResolved.extendedConfig;delete styledResolved.value;}var orderedResolvedAst=generateObjectAst(styledResolved);orderResolvedArrayExpression.push(orderedResolvedAst);});var orderedStyleIdsArrayAst=t.arrayExpression(styledIds==null?void 0:styledIds.map(function(cssId){return t.stringLiteral(cssId);}));jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('verbosedStyleIds'),t.jsxExpressionContainer(styleIdsAst)));jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('orderedResolved'),t.jsxExpressionContainer(t.arrayExpression(orderResolvedArrayExpression))));}if(sxPropsWithIdentifier&&sxPropsWithIdentifier.properties&&sxPropsWithIdentifier.properties.length>0){jsxOpeningElementPath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('sx'),t.jsxExpressionContainer(sxPropsWithIdentifier)));}componentSXProp=undefined;componentUtilityProps=undefined;}}}};}; |
{ | ||
"name": "@gluestack-style/babel-plugin-styled-resolver", | ||
"version": "1.0.2-alpha.0", | ||
"version": "1.0.2-alpha.1", | ||
"description": "A gluestack-style babel plugin that transpiles your styled function calls and resolves the component styling in build time.", | ||
@@ -17,4 +17,4 @@ "keywords": [ | ||
"prepare": "yarn build", | ||
"build": "babel src/index.js -d lib", | ||
"dev": "babel src/index.js -d lib", | ||
"build": "babel src/* -d lib", | ||
"dev": "babel src/* -d lib", | ||
"clean": "rm -rf lib", | ||
@@ -21,0 +21,0 @@ "dev:web": "cd example/native && yarn web --clear" |
@@ -558,5 +558,4 @@ const fs = require('fs'); | ||
); | ||
console.log(isConfigExist, '>>>>'); | ||
if (!isConfigExist) { | ||
console.log(isConfigExist, '>>>>>>>'); | ||
buildAndGetConfig(); | ||
@@ -563,0 +562,0 @@ } |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
103971
9
1850
4
7